/* Dirt Days direction: photographic terrain, paper, and overlapping field notes. */
:root{--terrain-paper:#e9e7df;--terrain-ink:#162323;--terrain-muted:#4d5852;--terrain-red:#cf3028}
body{background:var(--terrain-ink)}
html{scroll-behavior:auto}
main{overflow:clip}
.site-header{position:absolute;inset:0 0 auto;z-index:30;background:linear-gradient(#0b151acc,transparent);border:0;height:100px}
.site-header .brand-name{border-color:#ffffff45}
.hero{height:950px;min-height:850px;max-height:1100px;background:#27332f}
.hero-image{object-position:62% center;filter:saturate(.78) contrast(1.06)}
.hero-shade{background:linear-gradient(90deg,#0c1c21ce 0%,#15242952 43%,transparent 70%),linear-gradient(0deg,#102020a3,transparent 40%)}
.hero-content{padding-top:160px;margin-left:6%;position:relative;z-index:2}
.hero h1{font-size:clamp(110px,10.6vw,169px);letter-spacing:-2px;line-height:.84;transform:rotate(-2deg) skew(-3deg)}
.hero h1 .title-red{color:#ff5141}
.hero-copy{margin-top:30px;font-size:18px;color:#f0eee5;text-shadow:0 2px 18px #091718}
.hero-actions{margin-top:28px}
.hero-bottom{bottom:150px;left:6%;right:6%;z-index:3}
.hero-bottom p span{color:#d0d6ce}
.hero-stamp{position:absolute;right:6%;bottom:240px;z-index:2;width:126px;height:126px;border:2px solid #f2eee1b3;border-radius:50%;display:grid;place-content:center;text-align:center;transform:rotate(12deg);font-family:var(--heading);color:#f2eee1;box-shadow:0 0 0 7px #ffffff0a,inset 0 0 0 5px #ffffff10}
.hero-stamp span{font-size:12px;letter-spacing:2px;font-weight:600}
.hero-stamp strong{font-size:35px;line-height:1.2;font-style:italic;letter-spacing:-1px}
.hero-stamp b{font-size:12px;letter-spacing:3px}
.terrain-break{position:absolute;bottom:-2px;left:0;width:100%;height:170px;z-index:6;pointer-events:none;--edge-color:var(--terrain-paper);--edge-mid:#a19f8b;--edge-back:#43534c}
.terrain-ridge{position:absolute;bottom:0;left:-1%;width:102%;height:100%;background:var(--edge-color);mask:url('/assets/terrain/brush-edge.svg') center bottom/100% 100% no-repeat;-webkit-mask:url('/assets/terrain/brush-edge.svg') center bottom/100% 100% no-repeat}
.terrain-ridge--back{bottom:21px;height:108%;background-color:var(--edge-back);background-image:url('/assets/grit.webp');background-size:760px auto;background-blend-mode:soft-light;transform:scaleX(-1);opacity:.83}
.terrain-ridge--middle{bottom:6px;height:94%;background-color:var(--edge-mid);background-image:url('/assets/grit.webp');background-size:620px auto;background-blend-mode:soft-light;opacity:.8;transform:scaleX(-1.08)}
.terrain-ridge--front{height:85%}
.terrain-break--dark{--edge-color:var(--terrain-ink);--edge-mid:#53615a;--edge-back:#a3a99a}
.terrain-break--top{top:-2px;bottom:auto;transform:rotate(180deg)}
.terrain-break--top .terrain-ridge--back{opacity:.65}
.ride-section,.gallery-section,.sponsors-section{background:var(--terrain-paper);color:var(--terrain-ink)}
.ride-section.textured::before,.gallery-section.textured::before,.sponsors-section.textured::before{background:url('/assets/grit.webp') center/900px auto;mix-blend-mode:multiply;opacity:.075}
.ride-section.textured::after,.gallery-section.textured::after,.sponsors-section.textured::after{background:url('/assets/terrain/contours.svg') right top/850px auto repeat;opacity:.14;mix-blend-mode:multiply}
.ride-section{padding-top:75px;padding-bottom:145px}
.section-heading{position:relative;z-index:1;gap:50px;margin-bottom:65px;align-items:center}
.ride-wordmark{position:absolute;left:12%;top:-45px;font:italic 900 clamp(160px,19vw,290px)/.8 var(--heading);letter-spacing:-9px;color:#172a2312;transform:rotate(-8deg);z-index:-1;pointer-events:none}
.section-heading h2{font-size:clamp(85px,8.1vw,124px);transform:rotate(-3deg);letter-spacing:-2px}
.section-heading h2 em,.gallery-heading h2 em,.sponsors-heading h2 em{color:var(--terrain-red)}
.section-heading>p{max-width:320px;font-size:18px;line-height:1.7;color:var(--terrain-muted);padding-right:15px}
.ride-grid{gap:34px;align-items:start;grid-template-columns:1.05fr 1fr 1fr}
.ride-card{min-height:590px;padding:0 0 0 18px;overflow:visible;background:transparent;color:var(--paper)}
.ride-card:nth-child(2){margin-top:90px}
.ride-card:nth-child(3){margin-top:28px}
.ride-card::after{display:none}
.ride-card .card-image{left:0;top:0;width:calc(100% - 20px);height:390px;z-index:0;object-fit:cover;filter:saturate(.72) contrast(1.08);clip-path:polygon(0 2%,18% 1%,34% 0,68% 1%,100% 0,99% 100%,66% 98%,35% 100%,0 98%)}
.ride-card:nth-child(2) .card-image{transform:rotate(2deg)}
.ride-card:nth-child(3) .card-image{transform:rotate(-2deg)}
.card-content{position:relative;z-index:2;background:#1c3030;padding:31px 27px 25px;box-shadow:12px 18px 25px #23372c25;margin-top:300px;margin-left:18px;width:calc(100% - 18px)}
.card-content::before{content:'';position:absolute;inset:0;z-index:-1;background:url('/assets/grit.webp') center/750px;opacity:.16;mix-blend-mode:screen;pointer-events:none}
.card-content::after{content:'';width:65px;height:5px;background:var(--red);position:absolute;left:27px;top:-2px;transform:rotate(-3deg)}
.ride-card h3{font-size:clamp(32px,3.1vw,49px);letter-spacing:0;line-height:1}
.ride-card p{font-size:16px;color:#d0d8cb;line-height:1.6;min-height:78px}
.card-arrow{z-index:3;top:24px;right:40px;border-radius:0;background:#17292590;width:43px;height:43px}
.card-link{font-size:14px;letter-spacing:1px;border-color:#d7e0cd45}
.air-section{height:800px;background:var(--terrain-ink);overflow:hidden}
/* Keep the full rider below the painted edge, including while the page scrolls. */
.air-image{height:100%;top:0;filter:saturate(.65) contrast(1.1);object-position:62% top}
.air-section::after{background:linear-gradient(90deg,#102223b3,transparent 65%),linear-gradient(0deg,#122323aa,transparent 50%)}
.air-content{padding-top:65px;position:relative;z-index:2}
.air-content h2{font-size:clamp(80px,9vw,145px);transform:rotate(-4deg);text-shadow:0 4px 35px #14242055}
.air-content h2 span{-webkit-text-stroke:1px #f3f1e9;letter-spacing:2px}
.air-section .terrain-break--top{height:60px}
.air-section .terrain-break--top .terrain-ridge--back{bottom:8px}
.air-section .terrain-break--top .terrain-ridge--middle{bottom:3px}
.air-section .terrain-break--dark{height:180px}
.track-section{background:var(--terrain-ink)}
.track-section.textured::before{opacity:.15;mix-blend-mode:screen}
.track-section.textured::after{background:url('/assets/terrain/contours.svg') left top/1000px;filter:invert(1);opacity:.1}
.track-layout{padding-top:100px;padding-bottom:150px;gap:9%;grid-template-columns:1.15fr 1fr;align-items:start}
.track-intro h2{font-size:clamp(74px,7.3vw,115px);rotate:-2deg;margin-bottom:35px}
.track-intro>p{max-width:460px;color:#c7d0c6}
.track-photo{width:112%;margin-top:45px;margin-bottom:33px;rotate:-3deg;z-index:2}
.track-photo img{aspect-ratio:1.55;filter:saturate(.48) contrast(1.1);box-shadow:15px 25px 30px #070e1130;clip-path:polygon(0 1%,26% 0,48% 1%,75% 0,100% 2%,99% 98%,75% 100%,51% 99%,21% 100%,0 98%)}
.track-photo figcaption{padding-left:10px;color:#b7c1b5}
.visit-panel{position:relative;isolation:isolate;margin-top:110px;align-self:start;background:#293c3a;padding:0 38px 32px;border:0;box-shadow:18px 28px 40px #07151a33;rotate:1.5deg}
.visit-panel::before{content:'';position:absolute;inset:0;background:url('/assets/grit.webp') center/900px;opacity:.13;mix-blend-mode:screen;z-index:-1}
.visit-panel::after{content:'';position:absolute;top:-10px;right:28px;width:110px;height:23px;background:#d5cdab99;transform:rotate(5deg);clip-path:polygon(3% 0,100% 2%,97% 100%,0 96%)}
.visit-header{padding-top:40px;padding-bottom:30px}
.visit-header h3{font-size:clamp(42px,4.2vw,65px);letter-spacing:.4px}
.visit-detail,.track-stats{border-color:#cad5c830}
.detail-label{color:#c7cfb9}.conditions-link{color:#d1d5c6}
.visit-detail .text-link,.visit-detail .text-link:hover{color:#f3f1e9}
.track-stats>div>span{color:#c5cdb8}
.track-map-section{position:relative;padding-bottom:190px}
.map-heading{margin-bottom:50px}
.map-heading h3{font-size:clamp(68px,7vw,112px);transform:rotate(-2deg)}
.map-heading>p{color:#c0cbbd}
.map-shell{box-shadow:14px 20px 0 #31423b55,24px 30px 40px #06101744;border-color:#6d7c6e}
.map-sidebar{background:#213431;border-color:#576953}
.map-area-buttons button{color:#e5e8dc;border-color:#d6e0c91a}
.map-area-buttons button[aria-pressed=true]{color:#ff8978}
.map-feature p{color:#ccd4c4}
.map-directions{background:#2b4035;border-color:#576953}
.map-note,.map-caption{color:#b7c5b1}
.gallery-section{overflow:visible;padding-top:80px;padding-bottom:70px;border:0}
.gallery-heading{position:relative;isolation:isolate;align-items:center;gap:40px;margin-bottom:80px}
.gallery-ghost{position:absolute;right:8%;top:-150px;width:550px;height:400px;object-fit:cover;opacity:.055;mask-image:radial-gradient(ellipse,#000,transparent 68%);z-index:-1;pointer-events:none;filter:grayscale(1)}
.gallery-heading h2{font-size:clamp(78px,8.2vw,128px);transform:rotate(-3deg)}
.gallery-heading p{color:var(--terrain-muted);font-size:18px}
.gallery-grid{gap:50px 35px}
.gallery-grid>li:first-child{padding-top:20px}
.gallery-grid>li:nth-child(2){padding-top:50px;padding-left:0}
.gallery-grid>li:nth-child(3){padding-left:35px}
.gallery-frame{padding:9px 9px 0;background:#f5f2e8;border-color:#17262030;box-shadow:10px 20px 30px #1c302125}
.gallery-frame::before,.gallery-grid>li:first-child .gallery-frame::before{content:'';position:absolute;left:35%;top:-12px;height:27px;width:95px;z-index:3;background:#d5c8a6cc;transform:rotate(-5deg);clip-path:polygon(3% 0,97% 2%,100% 94%,0 100%)}
.gallery-grid>li:nth-child(3n) .gallery-frame::before{left:25%;background:#ce3a2bdd;transform:rotate(5deg)}
.gallery-frame-meta{color:#26392e;letter-spacing:1px;font-size:17px;min-height:55px}
.gallery-frame-number{color:#b92f26}.gallery-frame-meta>span:last-child{color:#778375}
.gallery-photo-wrap img{filter:saturate(.68) contrast(1.08)}
.gallery-footer{color:#48564a;border-color:#25362540;margin-top:65px}
.gallery-wordmark{color:#243f310b;-webkit-text-stroke:1px #253f312a;font-size:21vw;margin-top:75px;margin-bottom:-15px}
.sponsors-section{border:0;padding-top:40px;padding-bottom:100px}
.sponsors-heading{padding-top:55px;border-top:1px dashed #334c3b65;margin-bottom:50px;align-items:center}
.sponsors-heading h2{font-size:clamp(68px,6.5vw,98px);transform:rotate(-2deg)}
.sponsors-heading p{color:var(--terrain-muted)}
.sponsors-grid{gap:20px}
.sponsor-tile{height:180px;background:#fffdf6;border:1px solid #59675322;box-shadow:5px 8px 0 #3b4b2a09}
.sponsors-grid>li:nth-child(4n+2) .sponsor-tile{transform:rotate(1deg)}
.sponsors-grid>li:nth-child(4n+3) .sponsor-tile{transform:rotate(-1deg)}
.sponsor-link-icon{color:#56654e}
.club-strip{min-height:850px;background:var(--terrain-ink)}
.club-strip::after{background:linear-gradient(90deg,#152627db,#182e2880 48%,#1425211a),linear-gradient(0deg,#152525,transparent 40%)}
.club-strip .parallax-image{filter:saturate(.6);object-position:62% center}
.club-content{padding-top:140px;padding-bottom:160px;position:relative;z-index:2}
.club-content h2{font-size:clamp(72px,8vw,125px);transform:rotate(-3deg);margin-bottom:38px}
.club-strip .terrain-break--top{height:150px}
.club-strip .terrain-break--dark{height:130px}
.site-footer{background:var(--terrain-ink);padding-top:45px;padding-bottom:32px;overflow:hidden}
.site-footer.textured::before{opacity:.13}
.site-footer.textured::after{background:url('/assets/terrain/contours.svg') center/850px;filter:invert(1);opacity:.1}
.site-footer.textured::before,.site-footer.textured::after{mask-image:linear-gradient(transparent,#000 100px);-webkit-mask-image:linear-gradient(transparent,#000 100px)}
.footer-main{position:relative;z-index:1;padding-bottom:60px}
.footer-bottom{border-color:#c5d2c329;color:#b3c2b4}
@media(hover:hover) and (pointer:fine){
  .map-area-buttons button:hover,.track-intro .text-link:hover,.site-footer nav a:hover,.site-footer .contact-link:hover{color:#ff8978}
  .ride-card:hover .card-image{transform:rotate(0) translateY(-5px) scale(1.02)}
  .gallery-frame:hover{border-color:#5c7153;box-shadow:10px 25px 35px #1c30212e}
  .sponsor-tile:hover img{transform:scale(1.035)}
}
@media(min-width:1700px){.hero{height:1080px}.hero-content{padding-top:180px}.ride-card{min-height:650px}.ride-card .card-image{height:460px}.card-content{margin-top:370px;padding:35px}.air-section{height:900px}}
@media(max-width:1150px){
  .hero{height:900px;min-height:0}.hero-content{padding-top:160px}.hero h1{font-size:115px}.hero-stamp{bottom:220px;width:105px;height:105px}.hero-stamp strong{font-size:30px}
  .ride-grid{gap:18px}.ride-card{padding-left:4px}.card-content{margin-left:12px;width:calc(100% - 12px);padding:27px 21px 23px}.ride-card h3{font-size:36px}.ride-card p{min-height:103px}
  .visit-panel{padding:0 28px 30px;margin-top:80px}.visit-header h3{font-size:51px}.track-layout{gap:7%}.track-intro h2{font-size:78px}.track-stats{gap:12px}.track-stats strong{font-size:43px}
  .gallery-heading h2{font-size:88px}.sponsor-tile{height:160px}
}
@media(max-width:900px){
  .hero{height:860px}.hero h1{font-size:104px}.hero-stamp{display:none}.hero-bottom{bottom:135px}.terrain-break{height:145px}
  .ride-section{padding-top:65px;padding-bottom:90px}.section-heading{gap:30px;margin-bottom:55px}.section-heading h2{font-size:90px}.section-heading>p{font-size:16px;max-width:280px}
  .ride-grid{grid-template-columns:1fr;gap:48px}.ride-card:nth-child(n){min-height:400px;margin-top:0;padding:0;align-items:center}.ride-card .card-image{width:65%;height:100%;max-height:none}.ride-card .card-content{width:50%;margin:35px 0 35px auto;padding:34px}.ride-card:nth-child(2) .card-image{left:auto;right:0}.ride-card:nth-child(2) .card-content{margin-right:auto;margin-left:0}.ride-card h3{font-size:clamp(38px,5.6vw,48px)}.ride-card p{min-height:0}.card-arrow{left:24px;right:auto}.ride-card:nth-child(2) .card-arrow{left:auto;right:24px}
  .air-section{height:720px}.air-image{object-position:75% top}.air-content{align-items:flex-end;padding-top:0;padding-bottom:200px}.air-content h2{font-size:clamp(67px,12vw,78px)}.track-layout{padding-top:75px;padding-bottom:100px;gap:6%}.track-intro h2{font-size:66px}.track-intro>p{font-size:16px}.visit-panel{padding:0 24px 25px;margin-top:65px}.visit-header h3{font-size:45px}.track-stats{gap:8px}.track-stats strong{font-size:36px}.track-stats>div>span{font-size:10px}.hours p{font-size:14px}.track-photo{width:108%}
  .gallery-heading h2{font-size:77px}.gallery-heading{gap:20px}.gallery-grid{gap:35px 24px}.gallery-frame-meta{font-size:14px;letter-spacing:.3px}.gallery-grid>li:nth-child(3){padding-left:0}.gallery-grid>li:nth-child(2){padding-top:25px}.sponsors-heading h2{font-size:72px}
}
@media(max-width:650px){
  .site-header{height:80px;background:linear-gradient(#0b171dde,transparent)}.site-header nav{background:#132323}.menu-button{background:#15292370;border-color:#eef3dc55}
  .hero{height:940px;min-height:0;max-height:none}.hero-image{object-position:65% center}.hero-shade{background:linear-gradient(0deg,#102121ed 8%,#1624217a 37%,#11222105 80%),linear-gradient(90deg,#10222875,transparent)}
  .hero-content{padding-top:132px;margin:0 6%}.hero h1{font-size:clamp(76px,20.2vw,128px);letter-spacing:-1.5px}.hero-copy{font-size:16px;margin-top:176px;margin-bottom:22px;line-height:1.65}.hero-actions{margin-top:0;gap:10px}.hero-actions .button{padding:0 15px;gap:10px;font-size:14px;min-height:52px}.hero-bottom{bottom:115px;left:6%;right:6%}.hero-bottom p{font-size:11px;letter-spacing:.6px}.hero-bottom p span{font-size:11px}
  .terrain-break{height:115px}.terrain-ridge--back{bottom:15px}.terrain-ridge--middle{bottom:4px}
  .ride-section{padding-top:48px;padding-bottom:85px}.section-heading{display:block;margin-bottom:46px}.ride-wordmark{font-size:160px;top:0;left:20%;letter-spacing:-4px}.section-heading h2{font-size:87px}.section-heading>p{font-size:16px;max-width:295px;margin-top:26px;padding:0}
  .ride-grid{gap:48px}.ride-card:nth-child(n){min-height:540px;align-items:flex-end;padding-left:9px}.ride-card:nth-child(n) .card-image{width:calc(100% - 15px);height:340px;left:0;right:auto;transform:rotate(-1deg)}.ride-card:nth-child(2) .card-image{transform:rotate(1.5deg)}.ride-card:nth-child(n) .card-content{width:calc(100% - 14px);margin:270px 0 0 14px;padding:29px 27px 25px}.ride-card h3{font-size:48px}.ride-card p{font-size:16px}.card-arrow,.ride-card:nth-child(2) .card-arrow{left:auto;right:38px;top:25px}
  .air-section{height:660px}.air-section .terrain-break--dark{height:125px}.air-content{align-items:flex-end;padding-top:0;padding-bottom:135px}.air-content h2{line-height:.92}.air-image{object-position:75% top}
  .track-layout{grid-template-columns:1fr;gap:40px;padding-top:50px;padding-bottom:95px}.track-intro h2{font-size:clamp(65px,17vw,95px)}.track-intro>p{font-size:16px}.track-photo{width:100%;margin-top:32px;margin-bottom:30px}.track-photo img{aspect-ratio:1.5}.track-photo figcaption{font-size:11px}.visit-panel{margin:5px 4px 0;padding:0 27px 30px;rotate:1deg}.visit-header h3{font-size:55px}.visit-header{padding-top:36px}.hours p{font-size:16px}.track-stats strong{font-size:48px}.track-stats>div>span{font-size:11px}
  .track-map-section{padding-bottom:150px}.map-heading h3{font-size:73px}.map-heading{margin-bottom:32px}.map-heading>p{font-size:16px}.map-shell{box-shadow:8px 12px 0 #53614940,12px 18px 25px #09121130}
  .gallery-section{padding-top:42px;padding-bottom:35px}.gallery-heading{margin-bottom:50px}.gallery-heading h2{font-size:clamp(55px,14.2vw,82px);line-height:.93;letter-spacing:-1px}.gallery-heading p{font-size:16px;max-width:none;margin-top:28px}.gallery-ghost{width:330px;height:270px;right:-25%;top:-70px}.gallery-grid{gap:36px 18px}.gallery-grid>li:nth-child(n){padding:0}.gallery-frame{padding:6px 6px 0}.gallery-frame-meta{font-size:14px;letter-spacing:0;min-height:49px;padding:10px 2px;gap:7px}.gallery-frame::before,.gallery-grid>li:first-child .gallery-frame::before{height:22px;width:70px;left:27%;top:-11px}.gallery-grid>li:nth-child(3n) .gallery-frame::before{left:20%}.gallery-footer{margin-top:35px;font-size:13px}.gallery-wordmark{margin-top:50px;font-size:21vw;margin-bottom:0}
  .sponsors-section{padding-top:22px;padding-bottom:55px}.sponsors-heading{padding-top:43px;margin-bottom:32px}.sponsors-heading h2{font-size:67px}.sponsors-heading p{font-size:16px}.sponsors-grid{gap:14px}.sponsor-tile{height:133px;padding:19px 15px}
  .club-strip{min-height:790px}.club-strip .terrain-break--top{height:110px}.club-strip .terrain-break--dark{height:95px}.club-content{padding-top:250px;padding-bottom:130px}.club-content h2{font-size:clamp(53px,14.1vw,76px);margin-bottom:29px}.club-content p{font-size:16px}.club-strip::after{background:linear-gradient(0deg,#142727 4%,#142727bb 38%,#14272715 85%)}
  .site-footer{padding-top:24px}.footer-main{padding-bottom:35px}.footer-bottom{font-size:11px}
}
@media(max-width:370px){.hero{height:890px}.hero h1{font-size:72px}.hero-content{padding-top:125px}.hero-copy{margin-top:162px;font-size:15px}.hero-actions .button{font-size:12px;padding:0 12px;gap:8px}.hero-bottom{bottom:109px}.section-heading h2{font-size:76px}.ride-card h3{font-size:43px}.visit-panel{padding:0 22px 28px}.visit-header h3{font-size:49px}.track-stats strong{font-size:43px}.track-stats>div>span{font-size:10px}.gallery-heading h2{font-size:49px}.gallery-frame-meta{font-size:12px}.gallery-frame-number{font-size:11px}.sponsors-heading h2{font-size:59px}.map-heading h3{font-size:66px}}
@media(prefers-reduced-motion:reduce){.ride-card .card-image,.gallery-frame,.gallery-photo-wrap img{transition:none!important}}
/* Let paper and ground texture fade into the painted boundary, without a rectangular seam. */
.ride-section.textured::before,.ride-section.textured::after,.track-section.textured::before,.track-section.textured::after,.gallery-section.textured::before,.gallery-section.textured::after,.sponsors-section.textured::before,.sponsors-section.textured::after{mask-image:linear-gradient(transparent,#000 110px,#000 calc(100% - 110px),transparent);-webkit-mask-image:linear-gradient(transparent,#000 110px,#000 calc(100% - 110px),transparent)}
/* The club's original badge, recolored for the site's red, bone, and charcoal palette. */
.site-header{height:128px}
.brand-logo{display:block;flex:none;width:156px;height:auto;aspect-ratio:468/323;object-fit:contain}
.footer-main .brand-logo{width:180px}
@media(max-width:1150px){.site-header{height:112px}.site-header .brand-logo{width:136px}}
@media(max-width:650px){.site-header{height:96px}.site-header .brand-logo{width:114px}.site-header nav{top:96px}.footer-main .brand-logo{width:160px}}
