:root{--black:#0b0b0b;--charcoal:#171717;--paper:#edeae4;--soft:#bcb8b0;--gold:#c58b55;--orange:#ee5a3a;--line:rgba(237,234,228,.2);--darkline:rgba(11,11,11,.16);--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--paper);font-family:Barlow,Arial,sans-serif;font-weight:300}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.site-shell{overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:absolute;top:0;left:0;right:0;z-index:20;max-width:var(--max);margin:auto;padding:31px 50px;display:flex;align-items:center;gap:48px;color:var(--paper)}.wordmark{display:inline-flex;align-items:baseline;gap:8px;font-family:Barlow Condensed,sans-serif;font-weight:600;letter-spacing:.04em;line-height:1}.wordmark span{font-size:29px;letter-spacing:-.07em}.wordmark i{display:block;width:8px;height:8px;border-radius:50%;background:var(--orange);margin-bottom:2px}.wordmark small{font:500 10px Barlow,sans-serif;letter-spacing:.18em;margin-left:1px}.main-nav{display:flex;align-items:center;gap:33px;margin-left:auto;font:400 11px Barlow,sans-serif;letter-spacing:.11em;text-transform:uppercase}.main-nav a{position:relative;padding:7px 0}.main-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--gold);transition:right .3s ease}.main-nav a:hover:after{right:0}.header-action{border:1px solid rgba(237,234,228,.45);padding:11px 15px 10px;font:400 10px Barlow,sans-serif;letter-spacing:.14em;text-transform:uppercase}.header-action span{color:var(--gold);font-size:14px;margin-left:8px}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span:not(.sr-only){display:block;background:var(--paper);width:25px;height:1px;margin:6px 0}
.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;padding:0 7.2vw 90px;isolation:isolate}.hero-media,.hero-shade,.hero-grid{position:absolute;inset:0}.hero-media img{filter:grayscale(.45) contrast(1.06);object-position:center 36%}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.28) 55%,rgba(0,0,0,.35) 100%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 50%)}.hero-grid{opacity:.18;background-image:linear-gradient(rgba(237,234,228,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(237,234,228,.3) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,black,transparent 76%)}.hero-frame{position:absolute;width:48px;height:48px;opacity:.8}.frame-tl{top:17%;left:7.2%;border-top:1px solid var(--paper);border-left:1px solid var(--paper)}.frame-br{right:7.2%;bottom:15%;border-bottom:1px solid var(--paper);border-right:1px solid var(--paper)}.hero-content{position:relative;z-index:2;max-width:760px}.kicker,.eyebrow,.section-rail,.hero-index,.portfolio-label,.experience-info span,.coming-soon,.service-row>span,.service-row>p,.footer{font:400 10px Barlow,sans-serif;letter-spacing:.16em;text-transform:uppercase}.kicker{display:flex;gap:12px;align-items:center;margin:0 0 29px;color:#d6d1c6}.kicker span{width:34px;height:1px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Barlow Condensed,sans-serif;font-weight:500;letter-spacing:-.035em}h1{font-size:clamp(74px,10.8vw,168px);line-height:.78;margin:0 0 32px;text-transform:uppercase}h1 em,h2 em{font-family:Cormorant Garamond,serif;font-weight:400;font-style:italic;text-transform:none;letter-spacing:-.05em;color:var(--gold)}.hero-copy{max-width:390px;font-size:18px;line-height:1.35;margin-bottom:34px;color:#d9d4ca}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-width:206px;padding:15px 17px 14px;font:500 10px Barlow,sans-serif;letter-spacing:.13em;text-transform:uppercase;transition:all .25s ease}.button b{font-size:16px;font-weight:400;color:var(--gold)}.button-gold{background:var(--gold);color:var(--black)}.button-gold b{color:var(--black)}.button-gold:hover{background:var(--paper);transform:translateY(-3px)}.button-ghost{border:1px solid rgba(237,234,228,.46)}.button-ghost:hover{background:var(--paper);color:var(--black)}.hero-index{position:absolute;z-index:3;right:7.2%;bottom:43px;display:flex;gap:31px;color:rgba(237,234,228,.72)}.hero-index span:first-child{color:var(--gold)}
.section-dark{background:var(--black);position:relative}.section-light{background:var(--paper);color:var(--black);position:relative}.section-rail{max-width:var(--max);margin:auto;padding:24px 50px 0;display:flex;gap:27px;border-top:1px solid var(--line);color:var(--soft)}.section-light .section-rail{border-color:var(--darkline);color:#7e7a73}.section-rail span:first-child{color:var(--gold)}.section-light .section-rail span:first-child{color:var(--orange)}.intro{padding:125px 0 155px}.intro-layout{max-width:var(--max);margin:85px auto 0;padding:0 50px;display:grid;grid-template-columns:1.15fr .85fr;gap:12vw}.eyebrow{color:var(--gold);margin-bottom:30px}.section-light .eyebrow{color:var(--orange)}h2{font-size:clamp(64px,8.2vw,126px);line-height:.78;text-transform:uppercase;margin:0}.intro h2 em,.work h2 em,.services h2 em{color:var(--gold)}.intro-copy{align-self:end;max-width:400px;font-size:18px;line-height:1.45;color:#d2cdc3}.intro-copy p{margin-bottom:21px}.intro-copy strong{color:var(--paper);font-weight:500}.line-link{display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid var(--gold);padding:0 0 9px;margin-top:18px;font:500 10px Barlow,sans-serif;letter-spacing:.13em;text-transform:uppercase}.line-link span{color:var(--gold);font-size:17px}.intro-note{max-width:var(--max);margin:110px auto 0;padding:0 50px;color:#6f6c66;font:400 10px/1.6 Barlow,sans-serif;letter-spacing:.15em}.intro-note span{color:#9a958d;letter-spacing:.05em}
.experiences{padding:112px 0 142px}.section-heading{max-width:var(--max);padding:0 50px;margin:72px auto 65px}.section-heading h2{font-size:clamp(60px,8vw,118px)}.section-heading h2 em{color:var(--orange)}.experience-grid{max-width:var(--max);padding:0 50px;margin:auto;display:grid;grid-template-columns:1.2fr .78fr .78fr;align-items:start;gap:24px}.experience-card{display:block}.experience-image{overflow:hidden;background:#d2cbc0}.experience-image img{aspect-ratio:4/5;filter:grayscale(.48);transition:transform .8s cubic-bezier(.22,.61,.36,1),filter .5s ease}.experience-main .experience-image img{aspect-ratio:3/4}.experience-card:hover img{transform:scale(1.05);filter:grayscale(0)}.experience-info{position:relative;padding:19px 1px 0}.experience-info span{color:#7b776e}.experience-info h3{font-size:31px;line-height:.92;font-weight:400;margin:18px 0 0}.experience-info b{position:absolute;right:0;top:28px;color:var(--orange);font-size:22px;font-weight:400}
.work{padding:112px 0 138px}.work-top{max-width:var(--max);padding:0 50px;margin:76px auto 0;display:flex;align-items:end;justify-content:space-between;gap:40px}.work-top h2{font-size:clamp(65px,8.2vw,120px)}.work-description{max-width:275px;color:#bcb7ad;line-height:1.45;font-size:16px;margin-bottom:4px}.filters{max-width:var(--max);padding:0 50px;margin:66px auto 34px;display:flex;gap:27px;border-bottom:1px solid var(--line);overflow:auto}.filter{background:none;border:0;color:#8f8b84;padding:0 0 13px;white-space:nowrap;font:400 10px Barlow,sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;position:relative}.filter:after{content:'';position:absolute;bottom:-1px;left:0;right:100%;height:1px;background:var(--gold);transition:right .25s}.filter:hover,.filter.is-active{color:var(--paper)}.filter.is-active:after{right:0}.portfolio-grid{max-width:var(--max);padding:0 50px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:245px;gap:18px}.portfolio-item{position:relative;overflow:hidden;background:var(--charcoal);min-height:0}.portfolio-item img{filter:grayscale(.65);transition:transform .8s cubic-bezier(.22,.61,.36,1),filter .5s ease}.portfolio-item:hover img{transform:scale(1.06);filter:grayscale(0)}.portfolio-item:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.64),transparent 55%)}.item-wide{grid-column:span 2}.item-tall{grid-row:span 2}.portfolio-label{position:absolute;z-index:1;bottom:17px;left:19px;right:19px;display:flex;justify-content:space-between;color:var(--paper)}.portfolio-label b{color:var(--gold);font:400 20px Barlow,sans-serif}
.services{padding:112px 0 135px}.services-layout{max-width:var(--max);padding:0 50px;margin:81px auto 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:11vw}.services-copy{max-width:320px;margin:39px 0 0;font-size:17px;line-height:1.48;color:#595750}.service-list{border-top:1px solid var(--darkline)}.service-row{min-height:91px;border-bottom:1px solid var(--darkline);display:grid;grid-template-columns:35px 1fr auto 22px;gap:18px;align-items:center;transition:padding .3s ease}.service-row:hover{padding-left:12px}.service-row>span{color:var(--orange)}.service-row h3{font-size:31px;font-weight:400;line-height:1;margin:0}.service-row>p{color:#77736d;letter-spacing:.07em;margin:0}.service-row>b{color:var(--orange);font:400 23px Barlow,sans-serif}
.philosophy{min-height:640px;padding:120px 7.2vw;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;overflow:hidden}.philosophy-mark{position:absolute;left:4%;top:77px;font:240px/.6 Cormorant Garamond,serif;color:var(--gold);opacity:.24}.philosophy-content{position:relative;z-index:1}.philosophy-content blockquote{font:400 clamp(45px,5.4vw,80px)/.86 Barlow Condensed,sans-serif;letter-spacing:-.03em;text-transform:uppercase;margin:0}.philosophy-content blockquote em{color:var(--gold);font-family:Cormorant Garamond,serif;text-transform:none;letter-spacing:-.05em}.philosophy-content cite{display:block;font:italic 18px Cormorant Garamond,serif;color:#b6afa4;margin-top:38px}.philosophy-image{height:410px;overflow:hidden;position:relative}.philosophy-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--black),transparent 55%)}.philosophy-image img{filter:grayscale(.8);object-position:center 24%}
.resources{padding:112px 0 124px}.resources-layout{max-width:var(--max);padding:0 50px;margin:80px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.resources h2{font-size:clamp(60px,7vw,105px)}.resources h2 em{color:var(--orange)}.resource-copy{align-self:end;max-width:360px;font-size:18px;line-height:1.45;color:#5b5852}.coming-soon{display:inline-flex;align-items:center;gap:10px;margin-top:28px;color:var(--black)}.coming-soon i{width:6px;height:6px;border-radius:50%;background:var(--orange)}
.contact{min-height:680px;padding:115px 50px 112px;overflow:hidden}.contact .section-rail{padding-left:0;padding-right:0}.contact-orb{position:absolute;width:560px;height:560px;border:1px solid rgba(197,139,85,.36);border-radius:50%;right:-165px;bottom:-230px}.contact-orb:after{content:'';position:absolute;inset:52px;border:1px solid rgba(197,139,85,.2);border-radius:50%}.contact-content{max-width:var(--max);margin:90px auto 0;position:relative;z-index:1}.contact h2{font-size:clamp(71px,9vw,145px)}.contact h2 em{color:var(--gold)}.contact-content>p:not(.eyebrow){max-width:360px;color:#b8b2a9;font-size:17px;line-height:1.45;margin:34px 0 0}.contact-actions{display:flex;gap:15px;margin-top:39px}.site-footer{max-width:var(--max);margin:auto;padding:27px 50px 35px;border-top:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;color:#98938a;font:400 10px Barlow,sans-serif;letter-spacing:.1em;text-transform:uppercase}.site-footer .wordmark{color:var(--paper)}.site-footer>div{display:flex;gap:28px}.site-footer a:hover{color:var(--gold)}.site-footer p{margin:0;text-align:right;line-height:1.7}.site-footer p small{color:#5e5a54;letter-spacing:.06em}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}.reveal-delay{transition-delay:.13s}.portfolio-item.is-hidden{display:none}@media(max-width:850px){.site-header{padding:23px 22px;gap:15px}.main-nav{display:none;position:fixed;inset:0;background:var(--black);padding:130px 28px 30px;flex-direction:column;align-items:flex-start;gap:24px;font:500 42px Barlow Condensed,sans-serif;letter-spacing:.01em;text-transform:uppercase}.main-nav.is-open{display:flex}.main-nav a:after{display:none}.header-action{margin-left:auto;padding:10px 11px;font-size:9px}.menu-toggle{display:block;position:relative;z-index:22}.hero{min-height:650px;padding:0 22px 78px}.hero-grid{background-size:48px 48px}.frame-tl{top:20%;left:22px}.frame-br{right:22px;bottom:17%}.hero-media img{object-position:57% center}.hero-content{max-width:100%}.kicker{font-size:9px;margin-bottom:23px}.kicker span{width:22px}.hero-copy{font-size:16px;max-width:310px}.hero-index{left:22px;right:22px;bottom:27px;justify-content:space-between;font-size:9px}.section-rail{padding:17px 22px 0;font-size:9px}.intro{padding:86px 0 100px}.intro-layout,.work-top,.services-layout,.resources-layout{display:block;margin-top:58px;padding:0 22px}.intro-copy{margin-top:50px;font-size:16px}.intro-note{padding:0 22px;margin-top:75px}.experiences{padding:84px 0 100px}.section-heading{padding:0 22px;margin:55px 0 47px}.experience-grid{display:block;padding:0 22px}.experience-card{margin-bottom:45px}.experience-image img,.experience-main .experience-image img{aspect-ratio:4/5}.experience-info h3{font-size:27px}.work{padding:85px 0 100px}.work-top{margin-top:57px}.work-description{margin-top:34px;font-size:15px}.filters{padding:0 22px;margin:53px 0 28px;gap:22px}.portfolio-grid{padding:0 22px;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:190px;gap:9px}.item-wide{grid-column:span 2}.item-tall{grid-row:span 2}.portfolio-label{left:11px;right:11px;bottom:11px;font-size:8px}.portfolio-label b{font-size:16px}.services{padding:84px 0 100px}.services-layout{margin-top:58px}.services-copy{font-size:16px;margin:32px 0 52px}.service-row{min-height:84px;grid-template-columns:27px 1fr 19px;gap:10px}.service-row h3{font-size:25px}.service-row>p{display:none}.philosophy{min-height:650px;padding:85px 22px 82px;display:block}.philosophy-mark{left:8px;top:52px;font-size:170px}.philosophy-content blockquote{font-size:55px;max-width:330px}.philosophy-image{height:245px;margin-top:62px}.resources{padding:85px 0 92px}.resources-layout{margin-top:59px}.resource-copy{margin-top:42px;font-size:16px}.contact{min-height:670px;padding:84px 22px 90px}.contact-content{margin-top:73px}.contact-content>p:not(.eyebrow){font-size:16px}.contact-actions{display:flex;flex-direction:column;gap:10px}.contact-actions .button{width:100%}.contact-orb{width:330px;height:330px;right:-170px;bottom:-110px}.site-footer{padding:25px 22px 32px;display:grid;grid-template-columns:1fr auto;gap:28px}.site-footer>div{grid-column:span 2;order:3;gap:22px}.site-footer p{font-size:8px}.site-footer .wordmark span{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.experience-image img,.portfolio-item img{transition:none}}
.logo-plaque{width:116px;height:68px;background:var(--paper);padding:8px 10px;margin-bottom:34px}.logo-plaque img{object-fit:contain}
@media(max-width:850px){.logo-plaque{width:104px;height:62px;margin-bottom:28px}}
.brand-logo-link{width:92px;display:block}.brand-logo{width:100%;height:36px;object-fit:contain;object-position:left center}.site-footer .brand-logo{height:31px}.intro-note strong{color:var(--gold);font-weight:500;letter-spacing:.14em}.intro-note em{font-family:Cormorant Garamond,serif;color:#b8b0a4;font-size:18px;letter-spacing:.02em;margin-left:6px}.intro-note span{display:inline-block;margin-top:10px}
.event-intake{padding:112px 0 138px}.event-layout{max-width:var(--max);padding:0 50px;margin:81px auto 0;display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:start}.event-intro h2{font-size:clamp(64px,7.2vw,108px);color:var(--paper)}.event-intro h2 em{color:var(--gold)}.event-intro>p:not(.eyebrow){max-width:330px;color:#b9b2a7;font-size:17px;line-height:1.48;margin:34px 0 42px}.event-image{height:330px;position:relative;overflow:hidden}.event-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,11,11,.55),transparent 60%)}.event-image img{filter:grayscale(.75);object-position:center 45%;transition:transform .8s ease}.event-image:hover img{transform:scale(1.05)}.event-form{background:#11100f;border:1px solid rgba(237,234,228,.18);padding:31px 31px 34px}.form-intro>span{font:500 9px Barlow,sans-serif;letter-spacing:.19em;color:var(--gold);text-transform:uppercase}.form-intro h3{font-size:34px;font-weight:400;line-height:.95;color:var(--paper);margin:14px 0 12px}.form-intro p{font-size:14px;line-height:1.5;color:#9a9389;max-width:500px}.event-form fieldset{border:0;border-top:1px solid rgba(237,234,228,.16);padding:25px 0 0;margin:27px 0 0}.event-form legend{font:500 10px Barlow,sans-serif;letter-spacing:.19em;color:var(--gold);text-transform:uppercase;padding:0 15px 0 0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 19px;margin-top:20px}.event-form label{display:block;color:#9f988e;font:400 10px Barlow,sans-serif;letter-spacing:.06em;line-height:1.4}.event-form input,.event-form select,.event-form textarea{display:block;width:100%;margin-top:8px;background:#0b0b0b;border:1px solid rgba(237,234,228,.16);color:var(--paper);font:300 14px Barlow,sans-serif;padding:12px 13px;outline:none;transition:border-color .25s}.event-form input::placeholder,.event-form textarea::placeholder{color:#4e4943}.event-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 16px) 17px,calc(100% - 11px) 17px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.event-form textarea{resize:vertical;min-height:78px;line-height:1.45}.event-form input:focus,.event-form select:focus,.event-form textarea:focus{border-color:var(--gold)}.event-form fieldset>label+label{margin-top:17px}.choice-title{font:400 10px Barlow,sans-serif;letter-spacing:.09em;color:#9f988e;margin:20px 0 11px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 15px}.choice{display:flex!important;align-items:center;gap:8px;color:#777169!important;cursor:pointer;transition:color .2s}.choice:hover{color:var(--paper)!important}.choice input{appearance:none;width:14px;height:14px;padding:0;margin:0;background:#0b0b0b;border:1px solid #5a5047;position:relative;flex:0 0 auto}.choice input:checked{border-color:var(--gold);background:var(--gold)}.choice input:checked:after{content:'✓';position:absolute;color:var(--black);font-size:11px;font-weight:600;left:2px;top:-1px}.form-submit{border:0;margin-top:30px;width:100%;cursor:pointer}.form-status{min-height:18px;color:var(--gold);font:400 11px Barlow,sans-serif;letter-spacing:.04em;line-height:1.4;margin:12px 0 0}.site-footer .brand-logo-link{display:flex;align-items:center}
@media(max-width:850px){.brand-logo-link{width:78px}.brand-logo{height:31px}.event-intake{padding:85px 0 100px}.event-layout{display:block;margin-top:58px;padding:0 22px}.event-intro>p:not(.eyebrow){font-size:16px;margin:30px 0 34px}.event-image{height:260px;margin-bottom:48px}.event-form{padding:25px 19px 25px}.form-intro h3{font-size:30px}.field-grid{grid-template-columns:1fr;gap:17px}.choice-grid{grid-template-columns:1fr 1fr;gap:10px 9px}.event-form label{font-size:9px}}
@media(max-width:430px){.choice-grid{grid-template-columns:1fr}.event-form{padding-left:16px;padding-right:16px}}
.site-header{position:fixed;transition:background .35s ease,border-color .35s ease,padding .35s ease,backdrop-filter .35s ease}.site-header.is-scrolled{background:rgba(11,11,11,.86);border-bottom:1px solid rgba(237,234,228,.12);backdrop-filter:blur(14px);padding-top:18px;padding-bottom:18px}.main-nav a.is-active{color:var(--paper)}.main-nav a.is-active:after{right:0}.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:2px}.hero-actions .button-ghost{color:#d0cac0}.hero-actions .button-ghost b{color:var(--gold)}.filter[aria-selected="true"]{color:var(--paper)}:focus-visible{outline:1px solid var(--gold);outline-offset:4px}#work,#services,#events,#about,#contact{scroll-margin-top:88px}.portfolio-item img,.experience-image img,.event-image img{will-change:transform}
@media(max-width:850px){.site-header.is-scrolled{padding-top:16px;padding-bottom:16px}.hero-actions{flex-direction:column;align-items:stretch;max-width:255px}.hero-actions .button{width:100%}}

/* Cinematic depth layer */
.scroll-progress{position:fixed;top:0;left:0;z-index:100;width:3px;height:100vh;background:rgba(237,234,228,.08);pointer-events:none}
.scroll-progress span{display:block;width:100%;height:0;background:linear-gradient(180deg,var(--gold),var(--orange));box-shadow:0 0 18px rgba(238,90,58,.55);transition:height .12s linear}
.cursor-orb{position:fixed;z-index:120;top:0;left:0;width:10px;height:10px;border:1px solid rgba(237,234,228,.9);border-radius:50%;opacity:0;pointer-events:none;transform:translate3d(calc(var(--cursor-x, -20px) - 5px),calc(var(--cursor-y, -20px) - 5px),0);transition:width .25s ease,height .25s ease,opacity .25s ease,border-color .25s ease}
body.has-pointer .cursor-orb{opacity:1}
body.cursor-over-link .cursor-orb{width:32px;height:32px;border-color:var(--gold);transform:translate3d(calc(var(--cursor-x, -20px) - 16px),calc(var(--cursor-y, -20px) - 16px),0)}
.hero-media{overflow:hidden}
.hero-media img{transform:scale(1.08) translate3d(var(--hero-x,0px),calc(var(--hero-scroll-y,0px) * -1 + var(--hero-y,0px)),0);transition:transform 1.2s cubic-bezier(.22,.61,.36,1),filter .8s ease}
.hero-atmosphere{position:absolute;z-index:1;inset:-12%;pointer-events:none;opacity:.42;background:radial-gradient(circle at var(--hero-glow-x,62%) var(--hero-glow-y,38%),rgba(197,139,85,.23),transparent 24%),radial-gradient(circle at 16% 76%,rgba(238,90,58,.13),transparent 22%);mix-blend-mode:screen;transition:background 1.1s ease}
.hero-depth-meta{position:absolute;z-index:3;right:7.2%;bottom:96px;display:grid;gap:6px;text-align:right;color:rgba(237,234,228,.45);font:400 9px Barlow,sans-serif;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}
.portfolio-item,.experience-card{transform-style:preserve-3d;will-change:transform}
.portfolio-item{transition:transform .55s cubic-bezier(.22,.61,.36,1),box-shadow .55s ease}
.portfolio-item::before{content:'';position:absolute;z-index:2;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--spot-x,50%) var(--spot-y,50%),rgba(255,255,255,.2),transparent 30%);transition:opacity .45s ease}
.portfolio-item:hover{z-index:2;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-7px);box-shadow:0 22px 35px rgba(0,0,0,.28)}
.portfolio-item:hover::before{opacity:1}
.portfolio-item:after{z-index:1}
.portfolio-item img{transform:scale(1.04) translate3d(var(--image-x,0px),var(--image-y,0px),0);transition:transform .8s cubic-bezier(.22,.61,.36,1),filter .5s ease}
.portfolio-item:hover img{transform:scale(1.09) translate3d(var(--image-x,0px),var(--image-y,0px),0)}
.portfolio-label{z-index:3}
.experience-card{transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.experience-card:hover{transform:perspective(950px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-8px)}
.experience-image{position:relative;transform:translateZ(12px);box-shadow:0 18px 28px rgba(11,11,11,.08)}
.experience-image::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.55;background:radial-gradient(circle at var(--spot-x,50%) var(--spot-y,50%),rgba(255,255,255,.18),transparent 30%);mix-blend-mode:screen}
.experience-card:hover .experience-image img{transform:scale(1.08) translate3d(var(--image-x,0px),var(--image-y,0px),0);filter:grayscale(0)}
.event-image img{transform:scale(1.04) translate3d(var(--image-x,0px),var(--image-y,0px),0)}
.event-image:hover img{transform:scale(1.08) translate3d(var(--image-x,0px),var(--image-y,0px),0)}
.event-image{box-shadow:0 22px 40px rgba(0,0,0,.22)}
@media(max-width:850px){.hero-depth-meta{right:22px;bottom:91px;font-size:8px}.hero-media img{transform:scale(1.06) translate3d(var(--hero-x,0px),calc(var(--hero-scroll-y,0px) * -1 + var(--hero-y,0px)),0)}.scroll-progress{width:2px}.cursor-orb{display:none}.portfolio-item:hover{transform:none}.experience-card:hover{transform:none}.portfolio-item:hover img,.experience-card:hover .experience-image img{transform:scale(1.06)} }
@media(prefers-reduced-motion:reduce){.scroll-progress span{transition:none}.cursor-orb{display:none}.hero-media img,.portfolio-item,.portfolio-item img,.experience-card,.experience-image img,.event-image img{transition:none}.portfolio-item:hover,.experience-card:hover{transform:none}}

/* Fullscreen experience slideshow */
.experiences{position:relative;min-height:100svh;padding:0;background:var(--black);color:var(--paper);overflow:hidden}
.experiences .section-rail{position:absolute;z-index:6;top:0;left:0;right:0;border-color:rgba(237,234,228,.24);color:rgba(237,234,228,.62)}
.experience-slider{position:relative;min-height:100svh;isolation:isolate}
.experience-slide{position:absolute;inset:0;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s ease}
.experience-slide.is-active{opacity:1;visibility:visible}
.experience-slide-media,.experience-slide-shade{position:absolute;inset:0}
.experience-slide-media{overflow:hidden;background:var(--charcoal)}
.experience-slide-media img{filter:grayscale(.52);object-position:center 42%;transform:scale(1.12);transition:filter .9s ease}
.experience-slide.is-active .experience-slide-media img{animation:experiencePan 8s cubic-bezier(.22,.61,.36,1) both;filter:grayscale(.08)}
.experience-slide-shade{z-index:1;background:linear-gradient(90deg,rgba(11,11,11,.84) 0%,rgba(11,11,11,.35) 47%,rgba(11,11,11,.13) 100%),linear-gradient(0deg,rgba(11,11,11,.78),transparent 55%)}
.experience-slide-content{position:absolute;z-index:2;left:7.2vw;bottom:16%;max-width:720px}
.experience-slide-content .eyebrow{margin-bottom:28px;color:var(--gold)}
.experience-slide-content h2{font-size:clamp(66px,9vw,148px);line-height:.78;color:var(--paper);text-transform:uppercase}
.experience-slide-content h2 em{color:var(--gold)}
.experience-slide-content>p:not(.eyebrow){max-width:350px;margin:30px 0 27px;color:#d1cbc0;font-size:17px;line-height:1.42}
.experience-slide-content .line-link{color:var(--paper);border-color:var(--gold);margin-top:0}
.experience-controls{position:absolute;z-index:7;right:7.2%;bottom:34px;display:flex;align-items:center;gap:15px}
.experience-arrow{width:34px;height:34px;padding:0;border:1px solid rgba(237,234,228,.45);background:transparent;color:var(--paper);font:300 18px Barlow,sans-serif;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease}
.experience-arrow:hover{background:var(--paper);border-color:var(--paper);color:var(--black)}
.experience-dots{display:flex;gap:7px;align-items:center}
.experience-dot{width:24px;height:2px;border:0;padding:0;background:rgba(237,234,228,.38);cursor:pointer;transition:width .3s ease,background .3s ease}
.experience-dot.is-active{width:42px;background:var(--gold)}
.experience-count{margin-left:8px;color:rgba(237,234,228,.58);font:400 10px Barlow,sans-serif;letter-spacing:.15em}
.experience-count strong{color:var(--gold);font-weight:500}
@keyframes experiencePan{from{transform:scale(1.12) translate3d(0,0,0)}to{transform:scale(1.02) translate3d(-1.2%,0,0)}}
@media(max-width:850px){.experiences,.experience-slider{min-height:88svh}.experience-slide-media img{object-position:center 38%}.experience-slide-content{left:22px;right:22px;bottom:18%}.experience-slide-content .eyebrow{margin-bottom:22px}.experience-slide-content h2{font-size:clamp(55px,15vw,82px)}.experience-slide-content>p:not(.eyebrow){font-size:15px;max-width:295px;margin:24px 0 22px}.experience-controls{right:22px;bottom:24px;gap:10px}.experience-count{margin-left:2px}.experience-dot{width:18px}.experience-dot.is-active{width:32px}}
@media(prefers-reduced-motion:reduce){.experience-slide,.experience-slide-media img{transition:none}.experience-slide.is-active .experience-slide-media img{animation:none;transform:none}}

/* Fullscreen philosophy image and contact details */
.philosophy{min-height:100svh;padding:0 7.2vw;display:flex;align-items:center;position:relative;overflow:hidden}
.philosophy-image{position:absolute;inset:0;height:auto;margin:0;z-index:0}
.philosophy-image:after{background:linear-gradient(90deg,rgba(11,11,11,.88) 0%,rgba(11,11,11,.52) 42%,rgba(11,11,11,.14) 100%),linear-gradient(0deg,rgba(11,11,11,.45),transparent 60%)}
.philosophy-image img{object-position:center center;filter:grayscale(.12) saturate(.82) contrast(1.06)}
.philosophy-content{position:relative;z-index:2;max-width:720px;padding-top:7vh}
.philosophy-mark{z-index:1}
.contact-details{display:flex;gap:35px;flex-wrap:wrap;margin-top:32px}
.contact-detail{display:grid;gap:7px;padding-right:30px;border-right:1px solid rgba(237,234,228,.18)}
.contact-detail:last-child{border-right:0}
.contact-detail span{color:var(--gold);font:500 9px Barlow,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.contact-detail strong{font:400 18px Barlow,sans-serif;color:var(--paper);font-weight:400}
.contact-detail:hover strong{color:var(--gold)}
@media(max-width:850px){
  .philosophy{min-height:100svh;padding:0 22px;display:flex;align-items:flex-end}
  .philosophy-image{position:absolute;inset:0;height:auto;margin:0}
  .philosophy-image img{object-position:58% center}
  .philosophy-image:after{background:linear-gradient(0deg,rgba(11,11,11,.95) 0%,rgba(11,11,11,.55) 52%,rgba(11,11,11,.1) 100%)}
  .philosophy-content{padding:0 0 104px;max-width:100%}
  .contact-details{gap:22px;margin-top:28px}
  .contact-detail{padding-right:20px}
  .contact-detail strong{font-size:16px}
}

/* Mobile polish, gallery protection and touch-friendly motion */
.portfolio-item{display:block;width:100%;padding:0;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.portfolio-item img,.gallery-lightbox img{-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
.portfolio-label b,.button b,.line-link span,.header-action span{display:none}
.gallery-lightbox[hidden]{display:none}
.gallery-lightbox{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}
.gallery-lightbox.is-open{opacity:1;visibility:visible}
.gallery-lightbox-backdrop{position:absolute;inset:0;background:rgba(5,5,5,.94);backdrop-filter:blur(16px)}
.gallery-lightbox-dialog{position:relative;z-index:1;width:min(92vw,1100px);display:grid;justify-items:center;gap:14px}
.gallery-lightbox-frame{width:100%;height:min(78vh,780px);display:grid;place-items:center;overflow:hidden}
.gallery-lightbox-frame img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;filter:none;box-shadow:0 22px 65px rgba(0,0,0,.5)}
.gallery-lightbox-close{position:absolute;z-index:2;top:-42px;right:0;border:0;border-bottom:1px solid var(--gold);padding:0 0 7px;background:none;color:var(--paper);font:500 10px Barlow,sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.gallery-lightbox-caption{margin:0;color:rgba(237,234,228,.7);font:400 10px Barlow,sans-serif;letter-spacing:.16em;text-transform:uppercase}
body.lightbox-open{overflow:hidden}

@media (hover:none), (pointer:coarse){
  .hero-media img{animation:heroTouchDrift 14s ease-in-out infinite alternate}
  .portfolio-item:hover,.experience-card:hover{transform:none;box-shadow:none}
  .portfolio-item.touch-in-view img{animation:portfolioTouchDrift 8s ease-in-out both;filter:grayscale(.12)}
  .experience-card.touch-in-view .experience-image img{animation:portfolioTouchDrift 8s ease-in-out both;filter:grayscale(.08)}
  .event-image.touch-in-view img{animation:portfolioTouchDrift 8s ease-in-out both}
  .filters{scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .filters::-webkit-scrollbar{display:none}
  .portfolio-item:active{transform:scale(.995)!important}
}

@keyframes heroTouchDrift{from{transform:scale(1.07) translate3d(-.7%,0,0)}to{transform:scale(1.1) translate3d(1.1%,-.5%,0)}}
@keyframes portfolioTouchDrift{from{transform:scale(1.04) translate3d(-.6%,0,0)}to{transform:scale(1.09) translate3d(.8%,-.7%,0)}}

@media(max-width:520px){
  .gallery-lightbox{padding:18px}
  .gallery-lightbox-frame{height:74vh}
  .gallery-lightbox-close{top:-36px}
  .gallery-lightbox-caption{font-size:9px;text-align:center}
}

@media(prefers-reduced-motion:reduce){
  .hero-media img,.portfolio-item.touch-in-view img,.experience-card.touch-in-view .experience-image img,.event-image.touch-in-view img{animation:none}
}
