/* GRAND SOIRÉE — directed project experience | AR Portfolio */
.s12-body{background:#092f26;color:#f4f1e5}
.s12-body button,.s12-body input{font:inherit}
.s12-body .header{height:82px}
.s12-body [hidden]{display:none!important}
.s12-label,.s12-kicker,.s12-tiny,.s12-topline,.s12-hero-bottom,.s12-hero-side,.s12-facts span,.s12-facts b,.s12-chapter-head,.s12-media-notice,.s12-sequence-index,.s12-sequence-copy>span,.s12-compare-left-label,.s12-compare-right-label,.s12-compare-footer>span,.s12-compare-footer>button,.s12-filter-bar,.s12-still>span,.s12-gallery-hint,.s12-next-card>span,.s12-next-card>strong,.s12-lb-head,.s12-lb-foot,.s12-video-controls,.s12-round-cta{font-family:var(--sans);letter-spacing:.15em;font-size:10px;font-weight:750;text-transform:uppercase}
.s12-label{display:inline-block;color:#e9be35}
.s12-display{font-family:var(--sans);font-size:clamp(46px,7.6vw,127px);letter-spacing:-.085em;line-height:.92;margin:0;font-weight:800}
.s12-display em{font-family:var(--serif);font-weight:400;letter-spacing:-.065em}
.s12-cover{min-height:900px;height:100svh;max-height:1180px;position:relative;background:#07291f;overflow:hidden;isolation:isolate}
.s12-cover-image{position:absolute;inset:0;z-index:-3;will-change:transform;transform:scale(1.04)}
.s12-cover-image>img{width:100%;height:100%;object-fit:cover;object-position:55% 47%;filter:saturate(.7) contrast(1.06)}
.s12-cover-wash{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,28,23,.96) 0%,rgba(3,28,23,.83) 33%,rgba(3,28,23,.24) 75%),linear-gradient(0deg,#061c18 0%,transparent 31%,rgba(3,24,19,.22) 75%)}
.s12-cover-content{height:100%;padding-top:130px;padding-bottom:34px;display:flex;flex-direction:column;justify-content:space-between}
.s12-topline,.s12-hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;color:#d1d7c7}
.s12-back{display:inline-flex;align-items:center;gap:11px;border-bottom:1px solid #f4c426;padding-bottom:10px;color:#fff;transition:color .25s}
.s12-back:hover{color:#f4c426}.s12-back .arrow{color:#f4c426;font-size:17px}
.s12-hero-core{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-top:auto;margin-bottom:auto;padding-top:5vh}
.s12-hero-type{max-width:1000px}.s12-kicker{color:#f4c426;margin:0 0 24px}
.s12-hero-type h1{font-size:clamp(78px,12.7vw,212px);line-height:.8;letter-spacing:-.095em;font-weight:850;margin:0;text-transform:uppercase}
.s12-hero-type h1 em{font-weight:400;font-family:var(--serif);color:#f3c426;letter-spacing:-.084em}
.s12-deck{font-family:var(--serif);font-style:italic;font-size:clamp(17px,1.65vw,25px);line-height:1.4;max-width:460px;color:#e4e5d8;margin:34px 0 28px}
.s12-round-cta{display:inline-flex;align-items:center;gap:22px;color:#fff;text-decoration:none}
.s12-round-icon{width:55px;height:55px;display:grid;place-items:center;border:1px solid #f4c426;border-radius:50%;transition:background .25s,transform .25s}
.s12-round-icon svg,.s12-outro svg,.s12-next-card svg{width:25px;height:25px;stroke:#f4c426;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.s12-round-cta:hover .s12-round-icon{background:#f4c426;transform:rotate(-45deg)}.s12-round-cta:hover .s12-round-icon svg{stroke:#0b3528}
.s12-hero-side{display:flex;flex-direction:column;align-items:flex-end;gap:5px;color:#e4e5d8;line-height:2;white-space:nowrap;text-align:right;padding-bottom:6px}
.s12-outline-number{font-size:clamp(100px,12vw,185px);font-weight:800;line-height:.88;color:transparent;-webkit-text-stroke:1px #d2dbd455;letter-spacing:-.12em}
.s12-hero-bottom{border-top:1px solid #ffffff4a;padding-top:19px}.s12-hero-bottom .arrow{color:#f4c426;margin-left:12px}
.s12-intro{background:#edece4;color:#19372b;padding:125px 0 138px}.s12-intro-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:11vw;align-items:end}
.s12-intro .s12-label{color:#776d24}.s12-intro h2{font-size:clamp(55px,6.3vw,108px);margin-top:26px}.s12-intro em{color:#466352}
.s12-intro-aside>p{font-family:var(--serif);font-size:clamp(20px,2.0vw,30px);line-height:1.44;margin:0 0 50px;color:#365446}
.s12-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #a8b7a6}
.s12-facts>div{padding:22px 12px 0 0}.s12-facts span{color:#6d8172;display:block;margin-bottom:12px}.s12-facts b{font-size:12px;letter-spacing:.06em;white-space:nowrap;color:#173d30}
.s12-watch{padding:112px 0 122px;background:#092f26}.s12-section-top,.s12-player-title-row,.s12-chapter-head,.s12-compare-footer,.s12-gallery-top,.s12-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:30px}.s12-section-top{border-top:1px solid #476250;padding-top:15px}.s12-tiny{color:#9ab0a2}
.s12-player-title-row{margin:44px 0}.s12-player-title-row .s12-display{font-size:clamp(55px,8vw,127px)}.s12-player-title-row .s12-display em{color:#f4c426}.s12-player-title-row>p{font-family:var(--serif);font-size:21px;font-style:italic;color:#c5d2c5;max-width:210px}
.s12-video-frame{aspect-ratio:16/9;width:100%;position:relative;overflow:hidden;background:#000;border:1px solid #557263;box-shadow:0 40px 80px #03191054}
.s12-video-frame video{width:100%;height:100%;display:block;object-fit:contain;background:#000}.s12-video-frame[data-playing=true] video{object-fit:contain}
.s12-video-start{position:absolute;inset:0;width:100%;height:100%;background:linear-gradient(0deg,#071e1bd4,transparent 72%);color:#fff;border:0;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:20px;z-index:3;transition:opacity .25s}
.s12-video-start:hover .s12-play-disc{transform:scale(1.1);background:#f4c426}.s12-video-start:hover .s12-play-disc svg{fill:#0a3326}
.s12-play-disc{height:85px;width:85px;border-radius:50%;border:1px solid #f4c426;display:grid;place-items:center;transition:transform .3s,background .3s}
.s12-play-disc svg{width:32px;height:32px;fill:#f4c426;stroke:none;transition:fill .3s}
.s12-video-start>span:last-child{font-size:11px;letter-spacing:.17em;font-weight:800;text-align:center}.s12-video-start small{font-size:9px;letter-spacing:.13em;font-weight:400;color:#d9e4d9;display:block;margin-top:10px}
.s12-video-frame[data-playing=true] .s12-video-start{opacity:0;pointer-events:none}
.s12-video-controls{position:absolute;bottom:4px;left:0;right:0;z-index:2;padding:20px 22px 25px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(0deg,#061b19f2,transparent);color:#dfe9da;opacity:0;transition:opacity .2s}
.s12-video-frame[data-playing=true] .s12-video-controls,.s12-video-frame:focus-within .s12-video-controls,.s12-video-frame:hover .s12-video-controls{opacity:1}
.s12-control{border:0;background:transparent;color:#f6c72d;display:inline-flex;align-items:center;gap:10px;letter-spacing:.14em;font-size:10px;padding:10px;cursor:pointer}.s12-control:hover{text-decoration:underline}.s12-control svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5}
.s12-film-progress{position:absolute;z-index:2;bottom:0;left:0;right:0;height:3px;background:#ffffff4f}.s12-film-progress>div{height:100%;background:#f4c426;width:0%}
.s12-chapter-head{margin:35px 0 16px;color:#aebcac}.s12-chapter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.s12-chapter{display:block;text-align:left;border:1px solid #3d584d;padding:8px;background:#12392d;color:#f5f2e5;transition:background .25s,border-color .25s,transform .25s;min-width:0}
.s12-chapter:hover{transform:translateY(-5px);border-color:#e8bd35}.s12-chapter.active{background:#265643;border-color:#f4c426}
.s12-chapter-img{display:block;overflow:hidden;aspect-ratio:16/9;background:#071c16}.s12-chapter-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.s12-chapter:hover img{transform:scale(1.08)}
.s12-chapter>span:last-child{padding:12px 6px 8px;display:flex;align-items:center;gap:9px}.s12-chapter b{color:#f4c426;font-size:10px;font-weight:500}.s12-chapter strong{font-size:11px;letter-spacing:.1em;font-weight:750}.s12-chapter small{margin-left:auto;color:#a7bfae;font-size:9px}
.s12-media-notice{display:flex;align-items:start;gap:9px;font-weight:450;letter-spacing:.045em;text-transform:none;color:#b8c8bb;margin:34px 0 0;line-height:1.7;font-size:12px}
.s12-media-notice svg{width:17px;height:17px;stroke:#f4c426;fill:none;stroke-width:1.5;flex:0 0 17px}.s12-media-notice strong{font-weight:800;color:#e9d39a}
/* sticky scroll sequence */
.s12-sequence{position:relative;height:300svh;background:#092f26}.s12-sequence-sticky{height:100svh;position:sticky;top:0;overflow:hidden}.s12-sequence-visual{position:relative;height:100%;width:100%;overflow:hidden;isolation:isolate;background:#071a17}
.s12-sequence-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.07);will-change:transform,opacity;z-index:-3}
.s12-sequence-tint{position:absolute;inset:0;background:linear-gradient(90deg,#061d19d9,transparent 90%),linear-gradient(0deg,#061d19e5,transparent 70%);z-index:-2}
.s12-sequence-index{position:absolute;top:9%;left:4.6%;right:4.6%;display:flex;justify-content:space-between;border-top:1px solid #ffffff75;padding-top:14px;color:#f2f3e7}
.s12-sequence-index span{color:#f4c426}.s12-sequence-copy{position:absolute;bottom:10%;left:4.6%;right:4.6%;max-width:900px}
.s12-sequence-copy>span{color:#f4c426}.s12-sequence-copy h2{font-size:clamp(64px,9vw,152px);line-height:.86;letter-spacing:-.085em;margin:20px 0 25px;font-weight:850}
.s12-sequence-copy em{font-family:var(--serif);font-weight:400;color:#f4c426}.s12-sequence-copy p{font-family:var(--serif);font-style:italic;color:#f6f1e0;font-size:clamp(19px,2vw,27px);line-height:1.4}
.s12-sequence-dots{position:absolute;right:4.6%;bottom:9%;display:flex;gap:8px}.s12-sequence-dots span{width:33px;height:2px;background:#e8e3d46f}.s12-sequence-dots span.on{background:#f4c426}
.s12-sequence-scroll{position:absolute;inset:0;pointer-events:none}.s12-sequence-scroll>div{height:100svh}
.s12-comparison{padding:128px 0 118px;color:#112e24;background:#eaeae1}.s12-comparison .s12-label{color:#857b29}
.s12-comparison-head{display:flex;align-items:end;justify-content:space-between;gap:8vw;margin-bottom:45px}.s12-comparison-head h2{font-size:clamp(46px,6.8vw,103px);margin-top:24px}.s12-comparison-head h2 em{color:#557365}.s12-comparison-head>p{font-family:var(--serif);font-style:italic;color:#4a6052;font-size:clamp(18px,1.8vw,25px);line-height:1.4;max-width:340px}
.s12-compare{position:relative;aspect-ratio:2.3/1;overflow:hidden;background:#1a302a;touch-action:pan-y;cursor:ew-resize}
.s12-compare img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.s12-base-img{position:absolute;inset:0;filter:saturate(.78)}.s12-compare-top{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--split)) 0 0);will-change:clip-path}
.s12-compare-top img{filter:saturate(.62) contrast(1.09)}
.s12-compare::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px #031e19a0}
.s12-compare-left-label,.s12-compare-right-label{position:absolute;top:23px;z-index:3;background:#072c24cf;padding:12px 14px;color:#f4efdc}.s12-compare-left-label{left:22px}.s12-compare-right-label{right:22px}
.s12-compare-rule{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:#f4c426;z-index:4;pointer-events:none;transform:translateX(-50%)}
.s12-compare-rule>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;border:2px solid #f4c426;display:grid;place-items:center;background:#05271f}
.s12-compare-rule svg{width:25px;height:25px;stroke:#f4c426;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}
.s12-compare input{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;opacity:0;z-index:5;cursor:ew-resize}
.s12-compare-footer{margin-top:29px;align-items:start}.s12-compare-footer>span{color:#84772d;margin-top:7px}.s12-compare-footer>p{font-family:var(--serif);font-size:clamp(19px,2vw,28px);line-height:1.4;max-width:650px;margin:0}
.s12-compare-footer>button{display:flex;align-items:center;gap:8px;color:#123b2d;background:transparent;border:0;border-bottom:1px solid #385847;padding:8px 0;white-space:nowrap}.s12-compare-footer button svg{height:16px;width:16px;stroke:currentColor;stroke-width:1.5;fill:none}
.s12-gallery{padding:130px 0 110px;background:#102d24;color:#f2f2e7}.s12-gallery-top{align-items:end;margin-bottom:43px}.s12-gallery-top .s12-display em{color:#f4c426}.s12-gallery-top>p{font-family:var(--serif);font-size:clamp(18px,1.8vw,24px);font-style:italic;color:#c5d1c5;max-width:310px;line-height:1.35}
.s12-filter-bar{border-top:1px solid #526b59;border-bottom:1px solid #526b59;justify-content:start;gap:33px;padding:15px 0;margin-bottom:25px;color:#bbccbd}
.s12-filter-bar button{background:transparent;border:0;color:#a9baae;padding:5px 0;letter-spacing:.13em;white-space:nowrap;font-size:11px;font-weight:750;border-bottom:2px solid transparent}.s12-filter-bar button span{font-size:9px;color:#f4c426;margin-left:5px}
.s12-filter-bar button.on{color:#fff;border-color:#f4c426}.s12-gallery-hint{margin-left:auto;color:#839d8b}
.s12-stills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(185px,17vw);gap:13px}.s12-still{border:0;padding:0;position:relative;text-align:left;overflow:hidden;background:#000;min-width:0;min-height:0;cursor:zoom-in}.s12-still.wide{grid-column:span 2}
.s12-still img{width:100%;height:100%;object-fit:cover;filter:saturate(.75);transition:filter .5s,transform .7s cubic-bezier(.21,.66,.31,1)}
.s12-still:hover img,.s12-still:focus-visible img{transform:scale(1.07);filter:saturate(1)}
.s12-still::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(0deg,#061b18be,transparent);pointer-events:none}
.s12-still>span{position:absolute;bottom:20px;left:23px;color:#fff;z-index:1}.s12-still>svg{position:absolute;right:19px;bottom:18px;width:20px;height:20px;stroke:#f4c426;stroke-width:1.8;fill:none;z-index:1}
.s12-gallery-note{font-family:var(--serif);font-style:italic;font-size:14px;line-height:1.5;color:#a8c1ad;margin:28px 0 0}
.s12-next{background:#eaeae1;color:#16392b;padding:110px 0}.s12-next .s12-label{color:#968027}.s12-next-inner{display:grid;grid-template-columns:1fr 0.8fr;gap:10vw;align-items:center}.s12-next h2{margin:20px 0;font-size:clamp(55px,6.7vw,110px)}.s12-next h2 em{color:#567061}.s12-next p{font-family:var(--serif);font-size:22px;color:#526957;font-style:italic}
.s12-next-card{border:1px solid #668273;overflow:hidden;background:#082e24;color:#f7efdd;position:relative;display:flex;flex-direction:column;transition:transform .35s}
.s12-next-card:hover{transform:translateY(-10px)}.s12-next-card img{aspect-ratio:16/9;object-fit:cover;width:100%;filter:saturate(.68)}
.s12-next-card>span{position:absolute;top:14px;left:15px;color:#f4c426;background:#092f26e8;padding:10px 12px}
.s12-next-card>strong{display:flex;align-items:center;justify-content:space-between;padding:25px;font-size:12px;letter-spacing:.12em}.s12-next-card svg{width:20px;height:20px}
.s12-outro{background:#f3c426;color:#0d3427;padding:100px 0 120px}.s12-outro .s12-label{color:#244b31}
.s12-outro a{display:block;position:relative;font-size:clamp(64px,10vw,155px);line-height:.85;letter-spacing:-.09em;font-weight:850;margin-top:34px;transition:transform .3s}
.s12-outro a em{font-family:var(--serif);font-weight:400;letter-spacing:-.06em}.s12-outro a svg{position:absolute;right:0;bottom:8px;width:65px;height:65px;stroke:#173c2c;transition:transform .3s}.s12-outro a:hover svg{transform:translate(10px,-10px)}
.s12-body .footer{background:#071d18;color:#e8eddf}
/* enlarged gallery */
.s12-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:0;background:#041b16ed;color:#f7f3e8;overflow:auto}.s12-lightbox::backdrop{background:#021910e8}
.s12-lightbox-ui{width:min(94%,1500px);min-height:100%;margin:auto;display:flex;flex-direction:column;justify-content:center;padding:26px 0;gap:12px}
.s12-lb-head,.s12-lb-foot{display:flex;align-items:center;justify-content:space-between;gap:14px}
.s12-lb-head{color:#e7bf3f}.s12-lb-head button,.s12-lb-foot button{background:transparent;border:1px solid #9aa99b75;padding:12px 17px;color:#fff;font-size:10px;letter-spacing:.14em}
.s12-lb-head button:hover,.s12-lb-foot button:hover{border-color:#f4c426;color:#f4c426}
.s12-lb-head button span{font-size:18px;line-height:0;margin-left:10px}.s12-lightbox-ui>img{width:100%;max-height:calc(100dvh - 155px);object-fit:contain;min-height:0;align-self:center}
.s12-lb-foot{color:#e4e7da}.s12-lb-foot [data-s12-lb-index]{color:#b7c8b9}.s12-lb-foot>div{display:flex;gap:5px}
@media(max-width:1000px){.s12-hero-side{display:none}.s12-cover{min-height:760px}.s12-hero-type h1{font-size:clamp(76px,13vw,140px)}.s12-intro-grid{gap:55px}.s12-stills{grid-auto-rows:18vw}.s12-next-inner{gap:45px}}
@media(max-width:720px){.s12-body .header{height:72px}.s12-cover{min-height:690px;max-height:none;height:100svh}.s12-cover-wash{background:linear-gradient(0deg,#061b18f2 0%,#05251bd9 47%,#04211890 85%)}.s12-cover-image>img{object-position:57% center}
.s12-cover-content{padding-top:106px;padding-bottom:25px}.s12-topline,.s12-hero-bottom{font-size:8px;letter-spacing:.08em;gap:12px}.s12-topline>span{white-space:nowrap}.s12-hero-core{padding:0;margin-top:auto;margin-bottom:12vh}.s12-hero-type h1{font-size:clamp(64px,15.7vw,110px)}.s12-kicker{font-size:9px;margin-bottom:22px}.s12-deck{font-size:17px;max-width:340px;margin:22px 0}.s12-round-icon{width:46px;height:46px}
.s12-hero-bottom span:last-child{display:none}.s12-intro,.s12-comparison,.s12-gallery,.s12-next{padding:80px 0}.s12-intro-grid,.s12-next-inner{grid-template-columns:1fr;gap:31px}.s12-intro h2{font-size:clamp(55px,12vw,86px);margin-top:15px}.s12-intro-aside>p{font-size:21px;margin-bottom:25px}
.s12-watch{padding:78px 0}.s12-player-title-row,.s12-comparison-head,.s12-gallery-top{display:block}.s12-player-title-row{margin:30px 0}.s12-player-title-row .s12-display{font-size:clamp(55px,13vw,90px)}.s12-player-title-row>p{font-size:18px;max-width:none;margin:16px 0 0}.s12-chapter-head span:last-child{display:none}.s12-chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.s12-chapter strong{font-size:9px}.s12-chapter>span:last-child{gap:6px}
.s12-sequence{height:240svh}.s12-sequence-index{top:8%}.s12-sequence-copy{bottom:15%;right:6%;left:6%}.s12-sequence-copy h2{font-size:clamp(60px,12.5vw,90px)}.s12-sequence-copy p{font-size:20px}
.s12-comparison-head h2,.s12-gallery-top h2{font-size:clamp(50px,12vw,90px)}.s12-comparison-head>p,.s12-gallery-top>p{font-size:20px;max-width:440px;margin:22px 0 0}.s12-compare{aspect-ratio:4/5}.s12-compare img{object-position:center}.s12-compare-left-label,.s12-compare-right-label{font-size:8px;top:13px;padding:10px}.s12-compare-left-label{left:12px}.s12-compare-right-label{right:12px}.s12-compare-rule>span{height:48px;width:48px}
.s12-compare-footer{display:grid;grid-template-columns:1fr;gap:15px}.s12-compare-footer>p{font-size:21px}.s12-compare-footer>button{justify-self:start}
.s12-filter-bar{gap:14px}.s12-gallery-hint{display:none}.s12-stills{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:34vw;gap:8px}.s12-still.wide{grid-column:span 2}.s12-still>span{bottom:12px;left:12px;font-size:8px}.s12-still>svg{bottom:11px;right:11px;width:14px;height:14px}
.s12-next h2{font-size:clamp(56px,12vw,100px)}.s12-outro{padding:75px 0 85px}.s12-outro a{font-size:clamp(52px,12vw,92px)}.s12-outro a svg{height:32px;width:32px}.s12-lb-foot{flex-wrap:wrap;font-size:9px}.s12-lb-foot>div{width:100%;justify-content:space-between}
}
@media(max-width:390px){.s12-hero-type h1{font-size:clamp(60px,14.5vw,72px)}.s12-deck{font-size:16px}.s12-facts{grid-template-columns:1fr 1fr;row-gap:12px}.s12-video-controls{font-size:8px;padding:9px 9px 14px}.s12-control{font-size:8px;padding:5px}.s12-chapter small{display:none}.s12-chapter-grid{gap:7px}.s12-topline>span{font-size:7px}.s12-chapter-img{aspect-ratio:1.9/1}}
@media(prefers-reduced-motion:reduce){.s12-cover-image,.s12-sequence-visual>img,.s12-still img,.s12-chapter img{transform:none!important;transition:none!important}}

/* narrow-screen safety and readable excerpt disclaimer */
html{overflow-x:clip}.s12-body{overflow-x:clip}.s12-media-notice{display:block;max-width:950px;line-height:1.6}.s12-media-notice svg{display:inline-block;vertical-align:-.32em;margin-right:8px;}.s12-media-notice strong{display:inline;font-size:inherit}
