/* 9K Club: community impact, founder stories and partnerships. */
.winner-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.winner{min-width:0;height:100%}.winner-photo{position:relative;aspect-ratio:3/2;overflow:hidden}.photo-wrap .winner-photo>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:fill;transform:none}.winner-watermark-repair{clip-path:polygon(4% 5%,26% 5%,26% 18%,4% 18%)}.winner h3{min-height:1.5em}.winner-info{min-height:115px;align-items:flex-start}.winner-description{min-height:5.5em}.impact-strip.section{padding-top:26px;padding-bottom:26px;background:#e8efea}.impact-strip .impact{margin:0;border:0;padding:18px 0}.impact-strip .impact strong{font-size:clamp(42px,5vw,72px);font-weight:400;letter-spacing:-3px}.impact-strip .impact p{font-size:13px;letter-spacing:1px;line-height:1.6}.impact-strip .impact>div:last-child strong{font-size:clamp(37px,4.7vw,67px)}.final-story{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;align-items:center;margin-top:65px;padding-top:55px;border-top:1px solid var(--line)}.final-video{aspect-ratio:16/9;background:#0c3a44}.final-video iframe{width:100%;height:100%;border:0}.final-story-copy h3{font:400 clamp(30px,3vw,43px)/1.2 Manrope,sans-serif;letter-spacing:-1.5px;margin:22px 0}.final-story-copy>p:not(.eyebrow){font-size:15px;line-height:1.85;color:var(--muted)}.story-note{font-size:12px;color:var(--muted);line-height:1.7}.upcoming-annual:before{background-image:url('/assets/galleria-dallas-overlook-8.jpg');background-position:50% 45%;filter:saturate(.45)}.location-credit{font-size:12px;line-height:1.8;color:var(--muted);margin:0;padding:0 7% 25px 5.5%;background:var(--paper)}.location-credit a{text-decoration:underline;text-underline-offset:3px}.past-album{grid-template-columns:repeat(6,minmax(0,1fr));gap:17px;height:850px;perspective:1200px;overflow:hidden;transform-style:preserve-3d}.album-column{overflow:visible;transform:translateZ(-80px) rotateY(3deg);transform-origin:center}.album-column:nth-child(2n){transform:translateZ(0) rotateY(-3deg)}.album-column:nth-child(3n){transform:translateZ(-40px) rotateY(2deg)}.album-group{gap:22px;padding-bottom:22px}.album-photo{width:80%;margin:0 auto;box-shadow:0 9px 24px #092f3817;transform:rotate(-1.5deg)}.album-photo:nth-child(2n){transform:rotate(1.5deg)}.album-photo img{filter:saturate(.7);aspect-ratio:var(--ratio)}.album-column:hover .album-track{animation-play-state:running}.album-column:focus-within .album-track{animation-play-state:paused}.member-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.member-card-grid>a{display:block;border:1px solid var(--line);overflow:hidden;background:white;transition:border-color .3s,box-shadow .3s}.member-card-grid>a:hover{border-color:#19616e99;box-shadow:0 8px 28px #092f3810}.member-card-grid img{width:100%;height:auto;display:block}.partner-purpose .steps{margin-top:60px}.partner-form{max-width:1000px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px}.partner-form label{display:block;font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:27px}.partner-form input,.partner-form select,.partner-form textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);padding:15px 0;color:var(--dark);background:transparent;font:16px 'DM Sans',sans-serif;border-radius:0}.partner-form select{appearance:auto}.partner-form input:focus,.partner-form select:focus,.partner-form textarea:focus{outline:0;border-color:var(--teal)}.partner-form .form-consent{display:flex;gap:13px;align-items:flex-start;font-size:13px}.partner-form .form-consent input{width:16px;min-width:16px;accent-color:var(--teal);margin-top:4px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-status{font-size:14px;line-height:1.8;min-height:26px}.partner-form button:disabled{opacity:.6;cursor:wait}.scene-partner .scene-wash{background:linear-gradient(90deg,#073842f5,#104c57df 35%,#16546145 80%),linear-gradient(0deg,#062f3af0,transparent 65%)}.scene-partner .scene-copy{max-width:80%}.header nav{gap:25px}
@media(max-width:1050px){.header nav{gap:16px}.header nav a{font-size:13px}.final-story{gap:35px}.winner-info{min-height:130px}.impact-strip .impact p{font-size:12px;letter-spacing:.6px}}
@media(max-width:760px){.winner-grid{grid-template-columns:1fr}.winner-info{min-height:105px}.winner-description{min-height:0}.winner h3{min-height:0}.impact-strip.section{padding:20px 33px 20px 23px}.impact-strip .impact{padding:10px 0;gap:25px 0}.impact-strip .impact strong{font-size:46px}.impact-strip .impact>div:last-child strong{font-size:39px}.impact-strip .impact p{font-size:12px;letter-spacing:.25px}.impact-strip .impact>div:nth-child(2n){padding-left:18px}.final-story{grid-template-columns:1fr;margin-top:40px;padding-top:35px;gap:25px}.final-story-copy h3{font-size:32px}.final-story-copy>p:not(.eyebrow){font-size:14px}.story-note{font-size:11px}.location-credit{font-size:11px;padding:0 33px 23px 23px}.past-album{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;height:620px;min-width:0;margin-left:0}.album-group{gap:17px;padding-bottom:17px}.album-photo{width:80%}.member-card-grid{grid-template-columns:1fr;gap:17px}.form-pair{grid-template-columns:1fr;gap:0}.partner-form label{font-size:13px}.partner-form input,.partner-form select,.partner-form textarea{font-size:16px}.partner-form .form-consent{font-size:12px}.scene-partner .scene-copy{max-width:100%}.scene-partner .page-hero h1{font-size:46px}.header .header-cta{gap:13px}.album-section{overflow:hidden}}
@media(prefers-reduced-motion:reduce){.album-track{animation:none}.album-column{transform:none}.album-photo{transform:none}}
@media(max-width:760px){.past-album{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;width:100%;margin-left:0}}

/* Mobile rhythm and touch interaction refinement. */
.event-carousel{touch-action:pan-y pinch-zoom;-webkit-tap-highlight-color:transparent;isolation:isolate}.archive-photo{backface-visibility:hidden}.archive-photo img{transform:translateZ(0)}
@media(max-width:760px){
.section{padding-left:23px;padding-right:33px;padding-top:58px;padding-bottom:58px}.section-heading{gap:22px;margin-bottom:30px}.section-heading h2{font-size:clamp(33px,9.5vw,42px);line-height:1.12;letter-spacing:-1.6px}.section-heading>p{font-size:15px;line-height:1.75;max-width:100%}.section-label{margin-bottom:30px;gap:18px;line-height:1.65}.section-label>span{max-width:54%}
.event-carousel{margin-left:-23px;margin-right:-33px;padding:24px 0 48px;min-height:0}.archive-slide,.archive-slide.archive-wide{width:78vw;padding:0 6px}.archive-slide-info{height:112px;padding:0 8px 18px}.archive-slide-info>span{font-size:12px}.archive-slide-info a{font-size:16px;line-height:1.35;max-width:100%}.archive-slide-info time{font-size:11px;margin-top:7px}.archive-photo,.archive-wide .archive-photo{height:260px;transform:translateZ(0) scale(calc(.91 + var(--focus)*.15));transform-origin:50% 0}.archive-photo img{filter:saturate(.8)}.carousel-footnote{padding-top:18px;margin-top:0;gap:18px}.archive .section-heading{margin-bottom:18px}
.winner-info{min-height:88px;gap:12px}.winner-description{margin-top:12px;margin-bottom:30px}.winner{padding-bottom:24px}.winner h3{font-size:29px}.winner-info .award{font-size:27px}.final-story{margin-top:32px;padding-top:32px}.final-story-copy h3{font-size:30px}.impact-strip .impact strong{font-size:43px}.impact-strip .impact>div:last-child strong{font-size:35px}.impact-strip .impact p{font-size:11px;line-height:1.5;min-height:3em}.impact-strip .impact{gap:22px 0}
.steps,.inner-page .steps{gap:25px}.step,.inner-page .step{padding:24px 0}.step-illustration{margin-top:12px;margin-bottom:12px}.team-grid{gap:28px 18px}.member-card-grid{gap:15px}.benefit-item summary{padding:23px 0}.benefit-preview{line-height:1.65}.social-rail{right:8px}.social-rail>a{width:29px;height:29px}.social-rail>span{letter-spacing:1px}
}
@media(max-width:370px){.archive-slide,.archive-slide.archive-wide{width:82vw}.archive-photo,.archive-wide .archive-photo{height:235px}.impact-strip .impact strong{font-size:39px}.impact-strip .impact>div:last-child strong{font-size:31px}}
/* October 15: native touch, restrained poster hierarchy, a quiet photo wall. */
.event-carousel{overflow-x:auto;overflow-y:hidden;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:auto;padding-top:24px;padding-bottom:70px}
.event-carousel::-webkit-scrollbar{display:none}
.event-carousel:focus-visible{outline:0}
.carousel-track{transform:none!important;will-change:auto}
.carousel-group{will-change:auto}
.archive-slide{scroll-snap-align:center;scroll-snap-stop:normal}
.event-carousel.is-dragging,.event-carousel.is-resetting{scroll-snap-type:none}
.archive-photo,.archive-wide .archive-photo{transform:translateZ(0) scale(calc(.88 + var(--focus)*.22));transform-origin:50% 0}
.archive-photo img{filter:saturate(.82)}
.hero .competition{display:flex;flex-direction:column;justify-content:space-between;min-height:510px;padding:30px 32px;border-radius:2px;background:linear-gradient(145deg,#1b6470e8,#0c424ecc);box-shadow:none;backdrop-filter:blur(12px);transform:none}
.competition:hover{transform:none;border-color:#d2f1efa6;background:linear-gradient(145deg,#226c77ef,#0c424ee8)}
.final-poster-top{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px;line-height:1.6;letter-spacing:1.2px;color:#cce1dd}
.final-poster-top>span:first-child{display:flex;align-items:center;gap:8px}
.final-poster-top i{width:5px;height:5px;border-radius:50%;background:var(--orange)}
.final-poster-top>span:last-child{font-size:10px;letter-spacing:.6px}
.final-poster-year{position:relative;font:400 clamp(90px,9vw,140px)/1 Manrope,sans-serif;letter-spacing:-.08em;color:#b5d9d4;margin:26px 0}
.final-poster-year>span{display:inline-block;vertical-align:top;font-size:15px;color:var(--orange);margin:14px 0 0 15px;letter-spacing:0}
.final-poster-title{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:30px}
.final-poster-title h2{font:400 clamp(38px,3.9vw,60px)/1.08 Manrope,sans-serif;letter-spacing:-.055em;margin:0;color:#f0f7ef}
.final-poster-title p{font-size:14px;line-height:1.7;margin:0;color:#b7d3d1}
.final-poster-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #d2f1ef45;padding-top:20px}
.final-poster-bottom strong{font-size:17px;font-weight:400;letter-spacing:-.3px;color:#ffa167}
.final-poster-bottom>span{font-size:12px;color:#cce1dd}
.mobile-announcement{display:none!important}
.mechanism .steps{gap:20px}
.mechanism .steps .step{padding:30px;min-width:0;border:1px solid #19616e38;border-radius:2px;background:#f3f7f33b;gap:0}
.mechanism .steps .step h3{font-size:clamp(24px,2.05vw,33px);line-height:1.25;margin:28px 0 18px;min-height:2.5em;letter-spacing:-.04em}
.mechanism .steps .step>p{margin:0;max-width:32em;line-height:1.85;font-size:15px}
.mechanism .step-illustration{margin:22px 0 18px;height:80px;max-width:210px}
.mechanism .step-illustration svg{height:80px}
.mechanism .steps .step-tag{margin:0;padding-top:18px;min-height:38px;font-size:11px;letter-spacing:.8px;line-height:1.6}
/* Repeatable, straight image edges give the moving wall a common visual rhythm. */
.past-album{height:760px;gap:16px;perspective:1400px;mask-image:linear-gradient(transparent,#000 6%,#000 94%,transparent)}
.album-column,.album-column:nth-child(2n),.album-column:nth-child(3n){transform:translateZ(-20px);overflow:visible}
.album-column:nth-child(2n){transform:translateZ(-65px)}
.album-column:nth-child(3n){transform:translateZ(-35px)}
.album-photo,.album-photo:nth-child(2n){width:100%;margin:0;transform:none;border:1px solid #19616e20;box-shadow:0 5px 15px #092f380a;border-radius:2px;isolation:isolate}
.album-group{gap:16px;padding-bottom:16px}
.album-photo img{filter:saturate(.78);aspect-ratio:var(--ratio);transition:filter .3s,transform .7s}
.album-photo:hover img{transform:scale(1.025)}
.album-column:nth-child(2n) .album-track{animation-direction:reverse}
.inner-page .upcoming-card.upcoming-annual{display:flex;flex-direction:column;align-items:flex-start;padding:48px;min-height:460px;gap:0}
.inner-page .upcoming-annual .eyebrow{margin:0 0 30px;font-size:12px;line-height:1.7;letter-spacing:1.2px}
.inner-page .upcoming-annual .annual-mark{position:absolute;right:5%;top:50%;transform:translateY(-50%);font:400 clamp(90px,14vw,200px)/1 Manrope,sans-serif;letter-spacing:-.08em;color:#d2f1ef45;margin:0;pointer-events:none}
.inner-page .upcoming-card.upcoming-annual h2{font-size:clamp(36px,4.3vw,64px);line-height:1.1;margin:0 0 24px;letter-spacing:-.055em;max-width:65%;position:relative}
.inner-page .upcoming-card.upcoming-annual>p:not(.eyebrow){max-width:410px;font-size:15px;margin:0 0 24px;line-height:1.8;position:relative}
.inner-page .upcoming-card.upcoming-annual>.text-link{margin-top:auto;font-size:14px;position:relative}
@media(max-width:1050px) and (min-width:761px){.hero .competition{padding:26px;min-height:480px}.final-poster-top{font-size:10px}.final-poster-top>span:last-child{display:none}.mechanism .steps .step{padding:24px}.mechanism .steps .step h3{font-size:24px}.mechanism .steps .step>p{font-size:14px}.final-poster-bottom{align-items:flex-start;flex-direction:column;gap:6px}}
@media(max-width:760px){
 .event-carousel{padding:18px 0 42px;scroll-padding:0}
 .archive-slide,.archive-slide.archive-wide{width:80vw;min-width:0;padding:0 7px}
 .archive-slide-info{height:112px;padding:0 8px 17px}
 .archive-photo,.archive-wide .archive-photo{height:270px;transform:translateZ(0) scale(calc(.89 + var(--focus)*.15));transform-origin:50% 0}
 .hero-main{gap:30px;padding-bottom:30px}
 .hero .competition{min-height:0;padding:22px;gap:0;display:grid;grid-template-columns:1fr auto;column-gap:12px;row-gap:20px}
 .final-poster-top{grid-column:1/-1;font-size:10px;letter-spacing:1px}
 .final-poster-top>span:last-child{font-size:9px;letter-spacing:.1px}
 .final-poster-year{grid-column:2;grid-row:2;font-size:47px;letter-spacing:-.08em;margin:0;align-self:start;padding-top:3px;color:#94bebb}
 .final-poster-year>span{display:none}
 .final-poster-title{grid-column:1;grid-row:2;display:block;margin:0}
 .final-poster-title h2{font-size:clamp(25px,6.4vw,34px);line-height:1.16;letter-spacing:-.055em}
 .final-poster-title p{display:none}
 .final-poster-bottom{grid-column:1/-1;padding-top:17px;gap:12px}
 .final-poster-bottom strong{font-size:16px}
 .final-poster-bottom>span{font-size:11px}
 .mechanism .steps{gap:16px}
 .mechanism .steps .step{padding:26px 24px}
 .mechanism .steps .step h3{font-size:28px;min-height:0;margin:24px 0 16px;max-width:100%}
 .mechanism .steps .step>p{font-size:15px;line-height:1.8}
 .mechanism .step-illustration{height:70px;margin:18px 0 16px;max-width:190px}
 .mechanism .step-illustration svg{height:70px}
 .mechanism .steps .step-tag{font-size:11px;padding-top:16px;min-height:0}
 .past-album{height:540px;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;perspective:1000px}
 .album-group{gap:10px;padding-bottom:10px}
 .album-column:nth-child(2n){transform:translateZ(-30px)}
 .album-column:nth-child(3n){transform:translateZ(-12px)}
 .album-photo{border-radius:1px}
 .inner-page .upcoming-card.upcoming-annual{padding:28px 24px;min-height:435px;isolation:isolate}
 .inner-page .upcoming-annual .eyebrow{font-size:11px;margin-bottom:24px}
 .inner-page .upcoming-card.upcoming-annual h2{max-width:100%;font-size:35px;margin-bottom:20px}
 .inner-page .upcoming-card.upcoming-annual>p:not(.eyebrow){font-size:14px;max-width:100%;margin-bottom:32px}
 .inner-page .upcoming-annual .annual-mark{right:22px;top:auto;bottom:62px;transform:none;font-size:82px;opacity:.28;z-index:-1}
 .inner-page .upcoming-card.upcoming-annual>.text-link{font-size:13px;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){.album-column,.album-column:nth-child(2n),.album-column:nth-child(3n){transform:none}.event-carousel{scroll-behavior:auto}}

/* Confirmed 2026 Final: keep the date, time and venue readable at every width. */
.final-poster-bottom{align-items:flex-start;flex-direction:column;gap:8px}
.final-poster-bottom>span{font-size:14px;line-height:1.65}
.final-poster-bottom strong{font-size:18px}
@media(max-width:760px){.final-poster-bottom strong{font-size:17px}.final-poster-bottom>span{font-size:13px}}
