:root{--ink:#191a18;--paper:#e9e5dc;--cream:#f4f1e9;--lime:#c7d0a4;--line:rgba(25,26,24,.22);--serif:"Newsreader",Georgia,serif;--sans:"Manrope",Arial,sans-serif;--mono:"DM Mono",monospace;--ease:cubic-bezier(.76,0,.24,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;overflow-x:hidden}body.loading{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,textarea{font:inherit}.grain{position:fixed;inset:0;pointer-events:none;z-index:80;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.skip-link{position:fixed;left:1rem;top:-100px;z-index:999;background:#fff;color:#000;padding:.7rem 1rem}.skip-link:focus{top:1rem}.mono{font-family:var(--mono);font-size:.67rem;letter-spacing:.12em;text-transform:uppercase}.loader{position:fixed;inset:0;z-index:200;background:#1b1c1a;color:#eee;display:grid;place-content:center;justify-items:center;gap:2rem;transition:transform 1s var(--ease) .2s}.loader.done{transform:translateY(-100%)}.loader__mark{font:300 clamp(5rem,14vw,11rem)/1 var(--serif)}.loader__line{width:min(280px,60vw);height:1px;background:#484946;overflow:hidden}.loader__line i{display:block;height:100%;background:#eee;animation:loadLine 1.6s var(--ease) forwards}.loader span{font:300 .62rem var(--mono);letter-spacing:.18em;text-transform:uppercase}@keyframes loadLine{from{width:0}to{width:100%}}.site-header{position:absolute;z-index:100;top:0;left:0;width:100%;height:112px;padding:0 3.5vw;display:flex;align-items:center;justify-content:space-between;color:#f5f3ec}.site-header.dark{color:var(--ink)}.brand{display:flex;align-items:flex-end;gap:.55rem;line-height:.8}.brand b{font:400 1.85rem var(--serif);letter-spacing:.08em}.brand span{font:300 .52rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.site-nav{display:flex;gap:2.2rem;align-items:center;font:400 .62rem var(--mono);letter-spacing:.12em;text-transform:uppercase}.site-nav a{position:relative;padding:.4rem 0}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .4s var(--ease)}.site-nav a:hover:after,.site-nav a.active:after{right:0}.menu-toggle{display:none;color:inherit;background:none;border:0}.hero{height:100svh;min-height:680px;position:relative;color:#f5f3ec;overflow:hidden;display:flex;align-items:center;padding:8rem 7vw 5rem}.hero__image{position:absolute;inset:-5%;background:url("assets/interior-1.jpg") center/cover;transform:scale(1.08)}.hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,13,12,.72) 0%,rgba(12,13,12,.24) 55%,rgba(12,13,12,.12)),linear-gradient(0deg,rgba(0,0,0,.28),transparent 45%)}.hero__eyebrow{position:absolute;top:31%;left:7vw;font:300 .65rem var(--mono);letter-spacing:.15em;text-transform:uppercase}.hero__title{position:relative;z-index:2;margin:6rem 0 0;font:300 clamp(4.4rem,8.7vw,9rem)/.83 var(--serif);letter-spacing:-.045em}.hero__title em,.project-panel h2 em,.contact-intro h1 em,.about-hero h1 em{font-weight:300;color:var(--lime)}.circle-link{position:absolute;right:8vw;bottom:10vh;width:155px;height:155px;display:grid;place-items:center;text-align:center;font:400 .62rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.13em}.circle-link svg{position:absolute;inset:0;fill:none;stroke:rgba(255,255,255,.65);stroke-width:.6;transition:transform .8s var(--ease)}.circle-link:hover svg{transform:rotate(135deg) scale(.92)}.hero__side{position:absolute;right:2.4vw;top:36%;writing-mode:vertical-rl;font:300 .58rem var(--mono);text-transform:uppercase;letter-spacing:.15em}.scroll-cue{position:absolute;bottom:2.4rem;left:7vw;display:flex;align-items:center;gap:1rem;font:300 .58rem var(--mono);text-transform:uppercase;letter-spacing:.14em}.scroll-cue i{display:block;width:82px;height:1px;background:rgba(255,255,255,.45);position:relative;overflow:hidden}.scroll-cue i:after{content:"";position:absolute;width:35px;height:1px;background:#fff;animation:scrollLine 2s infinite}@keyframes scrollLine{from{transform:translateX(-40px)}to{transform:translateX(90px)}}.section-pad{padding:clamp(6rem,11vw,10rem) 7vw}.manifest{display:grid;grid-template-columns:18% 57% 25%;min-height:90vh;align-content:center;border-bottom:1px solid var(--line)}.manifest__index{align-self:start}.manifest__copy{padding-right:5vw}.kicker{font:400 .7rem var(--mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 2rem}.manifest h2{font:300 clamp(2.8rem,5.6vw,6.2rem)/.98 var(--serif);letter-spacing:-.035em;margin:0}.manifest__note{font-size:.88rem;line-height:1.8;align-self:end;max-width:30ch}.project-stage{height:400vh;background:#111;color:#fff}.project-stage__sticky{height:100vh;position:sticky;top:0;overflow:hidden}.project-panel{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .75s var(--ease),visibility .75s}.project-panel.active{opacity:1;visibility:visible}.project-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,8,.68),transparent 58%,rgba(0,0,0,.18))}.project-panel img{transform:scale(1.08);transition:transform 1.4s var(--ease)}.project-panel.active img{transform:scale(1)}.project-panel__meta{position:absolute;z-index:2;top:19vh;left:7vw;right:7vw;display:flex;justify-content:space-between;font:300 .63rem var(--mono);letter-spacing:.13em;text-transform:uppercase}.project-panel h2{position:absolute;z-index:2;left:7vw;top:27vh;margin:0;font:300 clamp(5rem,10vw,10rem)/.78 var(--serif);letter-spacing:-.05em}.project-panel a{position:absolute;z-index:2;left:7vw;bottom:10vh;padding-bottom:.7rem;border-bottom:1px solid rgba(255,255,255,.5);font:400 .64rem var(--mono);letter-spacing:.13em;text-transform:uppercase;display:flex;gap:3rem}.project-progress{position:absolute;z-index:5;right:3vw;top:19vh;bottom:10vh;width:1px;background:rgba(255,255,255,.25)}.project-progress i{display:block;width:1px;height:25%;background:#fff;transition:transform .7s var(--ease);transform-origin:top}.services{background:var(--cream)}.services__intro{display:grid;grid-template-columns:25% 75%;align-items:start;margin-bottom:6rem}.services h2{font:300 clamp(3.3rem,7vw,7.8rem)/.9 var(--serif);letter-spacing:-.045em;margin:0}.service-rail{margin-left:25%}.service-line{display:grid;grid-template-columns:9% 40% 1fr;align-items:center;padding:2.4rem 0;border-top:1px solid var(--line)}.service-line:last-child{border-bottom:1px solid var(--line)}.service-line>span{font:300 .7rem var(--mono)}.service-line h3{font:300 clamp(1.5rem,2.4vw,2.8rem) var(--serif);margin:0}.service-line p{font-size:.82rem;line-height:1.6;max-width:42ch}.text-link{margin:4rem 0 0 25%;display:inline-flex;gap:4rem;padding-bottom:.8rem;border-bottom:1px solid var(--ink);font:400 .68rem var(--mono);text-transform:uppercase;letter-spacing:.1em}.quote-band{background:var(--lime);min-height:70vh;padding:8vw 7vw;display:flex;flex-direction:column;justify-content:space-between}.quote-band>p{font:300 clamp(3.4rem,7vw,8rem)/.93 var(--serif);max-width:13ch;letter-spacing:-.04em;margin:0}.quote-band div{display:flex;justify-content:space-between;font:400 .65rem var(--mono);text-transform:uppercase;letter-spacing:.12em}.quote-band a{border-bottom:1px solid}.closing-cta{height:90vh;min-height:660px;position:relative;color:#fff;display:grid;place-items:center;text-align:center;overflow:hidden}.closing-cta:after{content:"";position:absolute;inset:0;background:rgba(14,14,13,.46)}.closing-cta img{position:absolute;inset:0}.closing-cta__content{position:relative;z-index:2}.closing-cta h2{font:300 clamp(4rem,8vw,8rem)/.85 var(--serif);letter-spacing:-.045em;margin:2rem 0 3rem}.pill-link{display:inline-flex;align-items:center;gap:3rem;border:1px solid currentColor;border-radius:50%;padding:1.2rem 1.8rem;font:400 .62rem var(--mono);text-transform:uppercase;letter-spacing:.1em;transition:.35s}.pill-link:hover{background:#fff;color:#111;transform:rotate(-2deg)}.site-footer{background:#171816;color:#eee;display:grid;grid-template-columns:2fr 1fr 1fr;padding:5rem 4vw 2rem;gap:3rem}.site-footer>div{display:flex;flex-direction:column;gap:.65rem;font-size:.72rem}.site-footer small{grid-column:1/-1;border-top:1px solid #3e3f3c;padding-top:1.5rem;font:300 .55rem var(--mono);text-transform:uppercase;letter-spacing:.1em}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .9s var(--ease)}.reveal.visible{opacity:1;transform:none}
/* about */
.subpage{background:var(--cream)}.about-hero{min-height:100vh;padding:12rem 7vw 5rem;display:grid;grid-template-columns:48% 38% 14%;position:relative}.about-hero__title{z-index:2}.about-hero h1{font:300 clamp(5rem,9vw,10rem)/.8 var(--serif);letter-spacing:-.055em;margin:4rem -20vw 0 0}.about-portrait{height:68vh;margin:2rem 0 0}.about-portrait figcaption{font:300 .58rem var(--mono);text-transform:uppercase;letter-spacing:.12em;margin-top:.8rem}.about-lead{align-self:end;font:300 1rem/1.7 var(--sans);padding:0 0 3rem 2rem}.founder{display:grid;grid-template-columns:43% 57%;background:var(--ink);color:#eee}.founder h2{font:300 clamp(5rem,8vw,9rem)/.82 var(--serif);margin:4rem 0 0}.founder__story{font:300 clamp(1.2rem,2vw,2rem)/1.55 var(--serif);max-width:26ch}.founder__story blockquote{margin:5rem 0 0;color:var(--lime);font-style:italic}.principles{padding:10rem 7vw;display:grid;grid-template-columns:40% 20% 20% 20%;gap:0}.principles__head h2{font:300 clamp(3.5rem,6vw,7rem)/.9 var(--serif);margin:2rem 0}.principles article{border-left:1px solid var(--line);padding:0 2rem;display:flex;flex-direction:column;min-height:360px}.principles article>span{font:300 .7rem var(--mono)}.principles article h3{font:300 2rem/1.05 var(--serif);margin-top:auto}.principles article p{font-size:.8rem;line-height:1.7}.process-map{background:var(--lime)}.process-map h2{font:300 clamp(4rem,8vw,9rem)/1 var(--serif);margin:2rem 0 6rem}.process-map ol{list-style:none;margin:0 0 5rem;padding:0;border-top:1px solid var(--ink);display:grid;grid-template-columns:repeat(4,1fr)}.process-map li{padding:2rem 1.2rem;border-right:1px solid var(--ink);display:flex;flex-direction:column;gap:2rem}.process-map li b,.process-map li small{font:300 .62rem var(--mono);text-transform:uppercase}.process-map li span{font:300 2rem var(--serif)}.dark-pill:hover{background:var(--ink);color:#fff}.light-footer{background:var(--paper);color:var(--ink)}.light-footer small{border-color:var(--line)}
/* works */
.works-hero{padding:15rem 7vw 5rem;border-bottom:1px solid var(--line);display:grid;grid-template-columns:20% 55% 25%;align-items:end}.works-hero h1{font:300 clamp(6rem,14vw,15rem)/.7 var(--serif);letter-spacing:-.06em;margin:0}.works-hero p{font:300 1rem/1.65 var(--sans)}.works-filter{grid-column:2/-1;margin-top:7rem;display:flex;gap:2rem}.works-filter button{background:none;border:0;border-bottom:1px solid transparent;padding:.5rem 0;cursor:pointer;font:400 .62rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.works-filter button.active{border-color:var(--ink)}.works-list{padding:8rem 7vw;display:grid;grid-template-columns:repeat(12,1fr);gap:12rem 2vw}.work-item{grid-column:1/7}.work-item.offset{grid-column:7/13}.work-item.wide{grid-column:2/12}.work-item.hidden{display:none}.work-image{height:58vw;max-height:720px;overflow:hidden}.wide .work-image{height:56vw;max-height:760px}.work-image img{transition:transform 1.2s var(--ease);filter:saturate(.76)}.work-item a:hover img{transform:scale(1.045)}.work-copy{display:grid;grid-template-columns:8% 1fr auto;align-items:baseline;padding-top:1.2rem}.work-copy h2{font:300 clamp(2rem,3.5vw,4rem) var(--serif);margin:0}.work-copy p{grid-column:2;font:300 .62rem var(--mono);text-transform:uppercase;letter-spacing:.1em}.work-no,.work-arrow{font:300 .65rem var(--mono)}.works-cta{background:var(--lime);padding:10rem 7vw;text-align:center}.works-cta h2{font:300 clamp(4rem,8vw,9rem)/.85 var(--serif);letter-spacing:-.04em;margin:2rem 0 4rem}
/* contact */
.contact-page{background:#1b1c1a;color:#eee;min-height:100vh}.contact-main{padding:11rem 5vw 3rem}.contact-intro{display:grid;grid-template-columns:1fr auto;position:relative;border-bottom:1px solid #464744;padding-bottom:5rem}.contact-intro h1{font:300 clamp(4.5rem,9vw,10rem)/.82 var(--serif);letter-spacing:-.05em;margin:3rem 0 0}.contact-orbit{width:clamp(180px,24vw,360px);aspect-ratio:1;border:1px solid #60615d;border-radius:50%;display:grid;place-items:center;align-self:center;position:relative;font:300 .6rem var(--mono);text-transform:uppercase;letter-spacing:.13em}.contact-orbit:after{content:"";position:absolute;top:50%;left:-4px;width:8px;height:8px;background:var(--lime);border-radius:50%;animation:orbit 10s linear infinite;transform-origin:calc(clamp(180px,24vw,360px)/2 + 4px) 0}@keyframes orbit{to{transform:rotate(360deg)}}.contact-grid{display:grid;grid-template-columns:42% 58%;padding:5rem 0 6rem}.contact-data{padding-right:12vw}.contact-data>p{font:300 1.25rem/1.7 var(--serif)}.contact-data dl{margin-top:5rem}.contact-data dl div{border-top:1px solid #464744;padding:1rem 0;display:grid;grid-template-columns:35% 1fr}.contact-data dt{font:300 .58rem var(--mono);text-transform:uppercase}.contact-data dd{margin:0;font-size:.78rem;line-height:1.6}.project-form{border-left:1px solid #464744;padding-left:5vw}.form-row{display:grid;grid-template-columns:30% 1fr;align-items:start;padding:1.4rem 0;border-bottom:1px solid #464744}.form-row label,fieldset legend{font:300 .6rem var(--mono);text-transform:uppercase;letter-spacing:.1em}.form-row input,.form-row textarea{background:none;border:0;outline:0;color:#fff;padding:0;font:300 1.05rem var(--sans);resize:none}.form-row input::placeholder,.form-row textarea::placeholder{color:#777872}.project-form fieldset{border:0;border-bottom:1px solid #464744;padding:1.6rem 0;display:flex;gap:1rem;align-items:center}.project-form legend{float:left;width:30%}.choice input{position:absolute;opacity:0}.choice span{display:block;border:1px solid #555651;border-radius:50%;padding:.7rem 1rem;font-size:.65rem;cursor:pointer}.choice input:checked+span{background:var(--lime);color:#111;border-color:var(--lime)}.submit-button{margin-top:2rem;width:100%;padding:1.4rem;background:var(--lime);border:0;color:#111;text-align:left;display:flex;justify-content:space-between;cursor:pointer;font:400 .66rem var(--mono);text-transform:uppercase;letter-spacing:.1em}.form-status{font:.7rem var(--mono);color:var(--lime)}.contact-bottom{border-top:1px solid #464744;padding:2rem 0 0;display:flex;justify-content:space-between;font:300 .58rem var(--mono);text-transform:uppercase;letter-spacing:.1em}.contact-bottom strong{color:var(--lime);font-weight:300}
@media(max-width:850px){.site-header{height:84px;padding:0 1.2rem}.menu-toggle{display:block;z-index:2;font:400 .62rem var(--mono);text-transform:uppercase;letter-spacing:.1em}.menu-toggle i{display:inline-block;width:22px;height:1px;background:currentColor;margin:0 0 .2rem .7rem}.site-nav{position:fixed;inset:0;background:var(--ink);color:#fff;flex-direction:column;justify-content:center;font:300 1.8rem var(--serif);transform:translateY(-100%);transition:transform .7s var(--ease)}.site-nav.open{transform:none}.site-header.dark .site-nav{color:#fff}.hero{padding:7rem 1.3rem 4rem;align-items:flex-end}.hero__image{background-position:58% center}.hero__title{font-size:clamp(3.8rem,16vw,6rem);margin-bottom:8rem}.hero__eyebrow{top:26%;left:1.3rem}.circle-link{width:110px;height:110px;right:1.3rem;bottom:2rem}.hero__side{display:none}.scroll-cue{left:1.3rem;bottom:3rem}.manifest{grid-template-columns:1fr;padding:7rem 1.3rem;gap:3rem}.manifest__copy{padding:0}.manifest h2{font-size:3.1rem}.manifest__note{max-width:42ch}.project-panel__meta{left:1.3rem;right:1.3rem;top:18vh}.project-panel h2{left:1.3rem;top:32vh;font-size:4.3rem}.project-panel a{left:1.3rem;bottom:8vh}.project-panel:after{background:linear-gradient(90deg,rgba(8,8,8,.65),rgba(0,0,0,.1))}.section-pad{padding:7rem 1.3rem}.services__intro{grid-template-columns:1fr;gap:2rem}.services h2{font-size:3.5rem}.service-rail{margin-left:0}.service-line{grid-template-columns:15% 1fr}.service-line p{grid-column:2}.text-link{margin-left:0;gap:1rem}.quote-band{padding:7rem 1.3rem}.quote-band>p{font-size:3.6rem}.quote-band div{gap:2rem}.site-footer{grid-template-columns:1fr;padding:4rem 1.3rem 2rem}.about-hero{padding:10rem 1.3rem 5rem;grid-template-columns:1fr}.about-hero h1{font-size:4.6rem;margin:2rem 0 -2rem}.about-portrait{height:55vh}.about-lead{padding:4rem 0 0;max-width:30ch}.founder{grid-template-columns:1fr;gap:4rem}.founder h2{font-size:4.8rem}.principles{padding:7rem 1.3rem;grid-template-columns:1fr}.principles article{border-left:0;border-top:1px solid var(--line);min-height:260px;padding:2rem 0}.process-map ol{grid-template-columns:1fr 1fr}.works-hero{padding:11rem 1.3rem 4rem;grid-template-columns:1fr}.works-hero h1{font-size:6rem;margin:2rem 0}.works-filter{grid-column:1;overflow:auto;margin-top:3rem}.works-list{padding:5rem 1.3rem;display:block}.work-item,.work-item.offset,.work-item.wide{margin-bottom:7rem}.work-image,.wide .work-image{height:115vw;max-height:680px}.work-copy{grid-template-columns:12% 1fr auto}.contact-main{padding:9rem 1.3rem 2rem}.contact-intro{grid-template-columns:1fr}.contact-intro h1{font-size:4.3rem}.contact-orbit{width:180px;position:absolute;right:-60px;top:0;opacity:.5}.contact-grid{grid-template-columns:1fr}.contact-data{padding:0}.project-form{border-left:0;border-top:1px solid #464744;padding:4rem 0 0;margin-top:4rem}.form-row{grid-template-columns:1fr;gap:1rem}.project-form fieldset{flex-wrap:wrap}.project-form legend{width:100%;margin-bottom:1rem}.contact-bottom{flex-direction:column;gap:1rem}.closing-cta h2{font-size:4.5rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.loader{display:none}.reveal{opacity:1;transform:none}}

/* Cinematic, scroll-controlled project transitions */
.project-stage{height:460vh}
.project-stage__sticky{height:100svh;min-height:620px;isolation:isolate}
.project-panel{--clip:100%;--image-shift:3%;--content-y:55px;--content-opacity:0;position:absolute;inset:0;z-index:var(--layer,0);opacity:1;visibility:visible;overflow:hidden;clip-path:inset(0 var(--clip) 0 0);transition:none;will-change:clip-path}
.project-panel[data-direction="right"]{clip-path:inset(0 0 0 var(--clip))}
.project-panel:first-child{--clip:0%}
.project-panel:before{content:"";position:absolute;z-index:4;top:0;bottom:0;width:1px;background:rgba(255,255,255,.72);box-shadow:0 0 28px rgba(255,255,255,.28);opacity:var(--edge-opacity,0);right:var(--clip)}
.project-panel[data-direction="right"]:before{right:auto;left:var(--clip)}
.project-panel:after{display:none}
.project-panel img,.project-panel.active img{position:absolute;inset:-3%;width:106%;height:106%;transform:scale(var(--image-scale,1.08)) translateX(var(--image-shift));transition:none;will-change:transform}
.project-panel__shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(8,8,8,.72),rgba(8,8,8,.2) 55%,rgba(0,0,0,.24));opacity:var(--shade-opacity,1)}
.project-panel__content{position:absolute;z-index:2;inset:0;opacity:var(--content-opacity);transform:translate3d(0,var(--content-y),0);will-change:transform,opacity}
.project-panel__content .project-panel__meta{z-index:auto}
.project-panel__content h2{z-index:auto}
.project-panel__content a{z-index:auto;pointer-events:var(--pointer,none)}
.project-stage__label{position:absolute;z-index:10;left:3vw;top:50%;transform:translate(-50%,-50%) rotate(-90deg);display:flex;align-items:center;gap:1.5rem;font:300 .58rem var(--mono);letter-spacing:.14em;text-transform:uppercase}
.project-stage__label b{font-weight:300;color:var(--lime)}
.project-progress{z-index:10}
.project-progress i{transition:none;transform:translateY(var(--progress-y,0%));will-change:transform}

@media(max-width:850px){
  .project-stage{height:430vh}
  .project-panel__shade{background:linear-gradient(90deg,rgba(8,8,8,.67),rgba(0,0,0,.08))}
  .project-stage__label{display:none}
  .project-progress{right:1rem}
}

@media(prefers-reduced-motion:reduce){
  .project-stage{height:auto}
  .project-stage__sticky{height:auto;min-height:0;position:relative}
  .project-panel{position:relative;height:100svh;min-height:620px;clip-path:none!important;--content-opacity:1!important;--content-y:0px!important;--image-scale:1!important;--image-shift:0%!important}
  .project-progress,.project-stage__label{display:none}
}

/* Home — eight-scene blur gallery */
.home-cinematic{background:#151614;color:#f3f0e8}
.cinematic-header{position:fixed;height:96px;mix-blend-mode:difference}
.blur-gallery{height:900vh;background:#111}
.blur-gallery__sticky{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;isolation:isolate}
.blur-slide{--slide-opacity:0;--slide-blur:28px;--slide-scale:1.1;--copy-opacity:0;--copy-y:28px;position:absolute;inset:0;opacity:var(--slide-opacity);z-index:var(--slide-layer,1);pointer-events:none;will-change:opacity}
.blur-slide:first-child{--slide-opacity:1;--slide-blur:0px;--slide-scale:1.03;--copy-opacity:1;--copy-y:0px}
.blur-slide img{position:absolute;inset:-4%;width:108%;height:108%;filter:blur(var(--slide-blur));transform:scale(var(--slide-scale));will-change:filter,transform}
.blur-slide__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,11,10,.65),rgba(10,11,10,.1) 60%),linear-gradient(0deg,rgba(0,0,0,.32),transparent 40%)}
.blur-slide__copy{position:absolute;left:7vw;right:7vw;top:50%;text-align:center;transform:translateY(calc(-42% + var(--copy-y)));opacity:var(--copy-opacity);will-change:opacity,transform}
.blur-slide__copy>span{display:block;margin-bottom:2.5rem;font:300 .63rem var(--mono);letter-spacing:.15em;text-transform:uppercase}
.blur-slide__copy h1,.blur-slide__copy h2{margin:0;font:300 clamp(5.2rem,10vw,10.5rem)/.78 var(--serif);letter-spacing:-.055em}
.blur-slide__copy em{color:var(--lime);font-weight:300}
.blur-slide__copy a{display:inline-block;margin-top:3rem;padding-bottom:.65rem;border-bottom:1px solid rgba(255,255,255,.6);font:400 .61rem var(--mono);letter-spacing:.13em;text-transform:uppercase;pointer-events:var(--slide-pointer,none)}
.blur-gallery__counter{--scene-progress:0deg;position:absolute;z-index:30;right:3.5vw;bottom:7vh;width:116px;height:116px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:.45rem;font-family:var(--mono);background:conic-gradient(from -90deg,rgba(255,255,255,.88) var(--scene-progress),rgba(255,255,255,.18) 0);padding:1px}
.blur-gallery__counter:before{content:"";position:absolute;inset:1px;border-radius:50%;background:rgba(18,19,17,.3);backdrop-filter:blur(8px)}
.blur-gallery__counter b,.blur-gallery__counter span{position:relative;z-index:1}
.blur-gallery__counter b{font:300 2.8rem var(--serif)}
.blur-gallery__counter span{font-size:.58rem;letter-spacing:.12em}
.blur-gallery__progress{position:absolute;z-index:30;left:7vw;right:7vw;bottom:4vh;height:1px;background:rgba(255,255,255,.24)}
.blur-gallery__progress i{display:block;width:var(--gallery-progress,0%);height:1px;background:#fff;will-change:width}
.blur-gallery__scroll{position:absolute;z-index:30;right:3.5vw;top:50%;transform:translate(45%,-50%) rotate(90deg);display:flex;align-items:center;gap:1rem;font:300 .56rem var(--mono);letter-spacing:.13em;text-transform:uppercase;opacity:var(--scroll-opacity,1)}
.blur-gallery__scroll i{width:52px;height:1px;background:rgba(255,255,255,.5);overflow:hidden}
.blur-gallery__scroll i:after{content:"";display:block;width:20px;height:1px;background:#fff;animation:scrollLine 2s infinite}
.home-note{min-height:72vh;background:var(--paper);color:var(--ink);padding:10rem 7vw;display:grid;grid-template-columns:20% 56% 24%;align-content:center;gap:2rem}
.home-note h2{font:300 clamp(3.3rem,6.5vw,7rem)/.92 var(--serif);letter-spacing:-.045em;margin:0}
.home-note p{align-self:end;max-width:32ch;font-size:.86rem;line-height:1.75}
.home-note__links{grid-column:2/-1;display:flex;gap:4rem;margin-top:4rem}
.home-note__links a{padding-bottom:.65rem;border-bottom:1px solid;font:400 .62rem var(--mono);letter-spacing:.1em;text-transform:uppercase}
.minimal-footer{background:#151614;color:#eee;padding:4.5rem 4vw 2rem;display:grid;grid-template-columns:2fr 1fr;gap:4rem}
.minimal-footer__contact{display:flex;flex-direction:column;gap:.65rem;font-size:.75rem}
.minimal-footer__legal{grid-column:1/-1;padding-top:1.5rem;border-top:1px solid #3c3d39;display:flex;gap:2rem;flex-wrap:wrap;font:300 .56rem var(--mono);letter-spacing:.09em;text-transform:uppercase}
.minimal-footer__legal span{margin-right:auto}
.legal-page{padding:15rem 7vw 10rem;min-height:100vh}
.legal-page>h1{font:300 clamp(5rem,10vw,11rem)/.8 var(--serif);letter-spacing:-.055em;margin:4rem 0 7rem}
.legal-page__content{margin-left:30%;max-width:760px}
.legal-page__content section{display:grid;grid-template-columns:35% 65%;gap:2rem;padding:2rem 0;border-top:1px solid var(--line)}
.legal-page__content h2{font:300 1.8rem var(--serif);margin:0}
.legal-page__content p{font-size:.84rem;line-height:1.8;margin:0}
.legal-back{margin:6rem 0 0 30%}

/* Collision-safe editorial typography across subpages */
.about-hero>*,
.founder>*,
.principles>*,
.works-hero>*,
.contact-intro>*{min-width:0}
.about-hero{grid-template-columns:minmax(0,46%) minmax(0,40%) minmax(120px,14%)}
.about-hero h1{font-size:clamp(4.5rem,8.2vw,9rem);line-height:.84;margin-right:-8vw;overflow-wrap:normal}
.about-lead{padding-left:1.2rem}
.principles{grid-template-columns:minmax(280px,37%) repeat(3,minmax(0,1fr))}
.principles article{padding-inline:clamp(1rem,1.8vw,2rem)}
.principles article h3{font-size:clamp(1.35rem,1.8vw,2rem);overflow-wrap:break-word}
.works-hero{grid-template-columns:minmax(150px,18%) minmax(0,58%) minmax(190px,24%)}
.works-hero h1{font-size:clamp(5rem,11vw,12rem);line-height:.76;white-space:nowrap}
.works-hero p{padding-left:1rem}
.contact-intro h1{max-width:12ch}

@media(max-width:850px){
  .cinematic-header{height:82px;mix-blend-mode:normal}
  .blur-gallery{height:820vh}
  .blur-slide__copy{left:1.3rem;right:1.3rem;top:52%;text-align:left}
  .blur-slide__copy>span{margin-bottom:1.8rem}
  .blur-slide__copy h1,.blur-slide__copy h2{font-size:clamp(4rem,18vw,6.2rem)}
  .blur-slide__copy a{margin-top:2rem}
  .blur-gallery__counter{right:1.3rem;bottom:6vh}
  .blur-gallery__progress{left:1.3rem;right:1.3rem;bottom:3vh}
  .blur-gallery__scroll{display:none}
  .home-note{min-height:auto;padding:7rem 1.3rem;grid-template-columns:1fr}
  .home-note h2{font-size:3.5rem;margin-top:2rem}
  .home-note p{max-width:38ch}
  .home-note__links{grid-column:1;flex-direction:column;align-items:flex-start;gap:1.5rem;margin-top:2rem}
  .minimal-footer{padding:4rem 1.3rem 2rem;grid-template-columns:1fr;gap:2.5rem}
  .minimal-footer__legal{grid-column:1;flex-direction:column;gap:1rem}
  .minimal-footer__legal span{margin:0}
  .legal-page{padding:11rem 1.3rem 7rem}
  .legal-page>h1{font-size:4.6rem;margin:3rem 0 5rem}
  .legal-page__content{margin-left:0}
  .legal-page__content section{grid-template-columns:1fr}
  .legal-back{margin-left:0}
  .about-hero{grid-template-columns:1fr}
  .about-hero h1{font-size:clamp(3.8rem,15vw,5.2rem);line-height:.86;margin:2rem 0 1rem}
  .about-portrait{margin-top:0}
  .principles{grid-template-columns:1fr}
  .works-hero{grid-template-columns:1fr}
  .works-hero h1{font-size:clamp(3.8rem,20vw,5rem);white-space:normal;overflow-wrap:break-word}
  .works-hero p{padding-left:0}
  .contact-intro h1{font-size:clamp(3.7rem,17vw,4.7rem);max-width:9ch}
  .contact-orbit{position:relative;right:auto;top:auto;width:132px;margin:2rem 0 0 auto;opacity:.72}
}

@media(prefers-reduced-motion:reduce){
  .blur-gallery{height:auto}
  .blur-gallery__sticky{height:auto;position:relative}
  .blur-slide{position:relative;height:100svh;min-height:620px;opacity:1!important;--slide-blur:0px!important;--slide-scale:1!important;--copy-opacity:1!important;--copy-y:0px!important}
  .blur-gallery__counter,.blur-gallery__progress,.blur-gallery__scroll{display:none}
}

/* Vilar-inspired discrete water-flood scene navigation */
.home-cinematic{overscroll-behavior-y:none}
.home-cinematic.gallery-locked{height:100svh;overflow:hidden;touch-action:none}
.blur-gallery{height:100svh;min-height:620px}
.blur-gallery__sticky{position:relative}
.blur-slide,
.blur-slide:first-child{--slide-opacity:1;--slide-blur:0px;--slide-scale:1.025;--copy-opacity:1;--copy-y:0px;opacity:0;visibility:visible;transform:none;clip-path:inset(0);transition:none;will-change:clip-path,filter;pointer-events:none}
.blur-slide.is-current{z-index:2;opacity:1;pointer-events:auto}
.blur-slide.is-leaving{z-index:1;opacity:1}
.blur-slide.is-arriving{z-index:4;opacity:1;pointer-events:auto;animation:waterFlood .94s cubic-bezier(.32,.02,.12,1) both;filter:drop-shadow(0 0 24px rgba(224,239,235,.34))}
.blur-slide img{filter:none;transform:scale(1.025);transition:none}
.blur-slide__veil{z-index:1}
.blur-slide__copy{z-index:5;opacity:1;transform:translateY(-42%)}
.blur-slide__copy a{pointer-events:auto}
.blur-slide.is-arriving:after{content:"";position:absolute;z-index:3;inset:-20%;pointer-events:none;background:radial-gradient(ellipse at 50% 66%,rgba(232,248,244,.42) 0%,rgba(179,218,214,.2) 24%,transparent 58%);mix-blend-mode:screen;animation:waterBloom .94s cubic-bezier(.32,.02,.12,1) both}
.blur-slide.is-leaving img{animation:waterSink .94s cubic-bezier(.4,0,.2,1) both}
.blur-slide.is-arriving img{animation:waterFocus .94s cubic-bezier(.4,0,.2,1) both}
.blur-slide.is-arriving .blur-slide__veil{animation:waterSheen .94s cubic-bezier(.4,0,.2,1) both}
@keyframes waterFlood{
  0%{clip-path:polygon(50% 68%,50% 68%,50% 68%,50% 68%,50% 68%,50% 68%,50% 68%,50% 68%,50% 68%,50% 68%,50% 68%,50% 68%)}
  22%{clip-path:polygon(31% 68%,34% 54%,43% 47%,54% 49%,64% 46%,72% 57%,70% 69%,78% 78%,61% 85%,49% 80%,36% 84%,25% 76%)}
  52%{clip-path:polygon(4% 72%,12% 38%,32% 21%,55% 25%,78% 16%,96% 38%,88% 64%,100% 84%,73% 100%,46% 91%,20% 100%,0 86%)}
  78%{clip-path:polygon(-8% 67%,0 8%,30% -8%,57% 2%,88% -10%,105% 12%,98% 57%,108% 90%,80% 108%,45% 101%,10% 110%,-8% 90%)}
  100%{clip-path:polygon(0 0,25% 0,50% 0,75% 0,100% 0,100% 50%,100% 100%,75% 100%,50% 100%,25% 100%,0 100%,0 50%)}
}
@keyframes waterSink{0%{filter:blur(0);transform:scale(1.025)}55%{filter:blur(5px);transform:scale(1.045)}100%{filter:blur(9px);transform:scale(1.065)}}
@keyframes waterFocus{0%{filter:blur(18px) saturate(.82);transform:scale(1.1)}48%{filter:blur(9px) saturate(.9);transform:scale(1.065)}100%{filter:blur(0) saturate(1);transform:scale(1.025)}}
@keyframes waterSheen{0%{background:linear-gradient(0deg,rgba(184,216,213,.48),rgba(15,20,19,.22) 28%,rgba(10,11,10,.12) 72%)}55%{background:linear-gradient(0deg,rgba(199,224,219,.2),rgba(10,11,10,.1) 36%,rgba(10,11,10,.3))}100%{background:linear-gradient(90deg,rgba(10,11,10,.65),rgba(10,11,10,.1) 60%),linear-gradient(0deg,rgba(0,0,0,.32),transparent 40%)}}
@keyframes waterBloom{0%{opacity:0;transform:scale(.12)}30%{opacity:.9;transform:scale(.62)}72%{opacity:.35;transform:scale(1.15)}100%{opacity:0;transform:scale(1.35)}}
.gallery-arrow{position:absolute;z-index:35;top:50%;width:76px;height:76px;margin-top:-38px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(15,16,14,.08);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(4px);transition:background .25s,border-color .25s,opacity .25s}
.gallery-arrow span{font:300 1.2rem var(--mono)}
.gallery-arrow:hover{background:rgba(15,16,14,.35);border-color:rgba(255,255,255,.7)}
.gallery-arrow:disabled{opacity:.22;cursor:default}
.gallery-arrow--prev{left:3.5vw}
.gallery-arrow--next{right:3.5vw}
.blur-gallery__counter{bottom:5.5vh}
.blur-gallery__progress{bottom:3vh}
.blur-gallery__scroll{display:none}

@media(max-width:850px){
  .blur-gallery{height:100svh}
  .gallery-arrow{width:54px;height:54px;margin-top:-27px;top:auto;bottom:5.5rem}
  .gallery-arrow--prev{left:1.3rem}
  .gallery-arrow--next{right:auto;left:5.5rem}
  .blur-gallery__counter{width:92px;height:92px;right:1.3rem;bottom:4.5rem}
  .blur-gallery__counter b{font-size:2.2rem}
  .blur-gallery__progress{bottom:2rem}
}

@media(prefers-reduced-motion:reduce){
  .blur-gallery{height:auto}
  .blur-gallery__sticky{height:auto}
  .home-cinematic.gallery-locked{height:auto;overflow:auto;touch-action:auto}
  .blur-slide{transform:none!important;opacity:1!important;filter:none!important}
  .gallery-arrow{display:none}
}

/* Smooth GPU liquid cover: water appears, image swaps underneath, water clears */
.blur-slide.is-arriving,
.blur-slide.is-leaving{animation:none;filter:none;clip-path:inset(0)}
.blur-slide.is-arriving img,
.blur-slide.is-leaving img,
.blur-slide.is-arriving .blur-slide__veil{animation:none}
.blur-slide.is-arriving:after{display:none}
.liquid-transition{position:absolute;z-index:45;left:50%;top:60%;width:36vmax;height:29vmax;pointer-events:none;opacity:0;transform:translate3d(-50%,-50%,0) scale(.02) rotate(-7deg);transform-origin:center;border-radius:46% 54% 41% 59% / 57% 39% 61% 43%;background:radial-gradient(ellipse at 38% 28%,rgba(249,255,253,.92) 0%,rgba(209,231,227,.96) 23%,rgba(164,204,202,.98) 68%,rgba(139,184,183,.98) 100%);box-shadow:-10vmax 3vmax 0 -3vmax rgba(181,216,212,.98),9vmax -2vmax 0 -2.5vmax rgba(207,230,226,.98),11vmax 8vmax 0 -4vmax rgba(155,199,198,.98),-7vmax -7vmax 0 -4vmax rgba(225,240,236,.96);will-change:transform,opacity}
.liquid-transition:before,.liquid-transition:after{content:"";position:absolute;border-radius:50%;background:rgba(228,243,239,.86)}
.liquid-transition:before{width:26%;height:31%;left:-11%;top:18%}
.liquid-transition:after{width:18%;height:22%;right:-9%;bottom:9%;background:rgba(139,188,188,.82)}
.liquid-transition i{position:absolute;inset:9%;border-radius:inherit;border:1px solid rgba(255,255,255,.42);background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.34),transparent 44%);opacity:.8}
.liquid-transition.is-flowing{animation:liquidCover 1.08s cubic-bezier(.38,.02,.12,1) both}
@keyframes liquidCover{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.02) rotate(-7deg)}
  8%{opacity:.9}
  43%{opacity:1;transform:translate3d(-50%,-50%,0) scale(4.35) rotate(3deg)}
  55%{opacity:1;transform:translate3d(-50%,-50%,0) scale(4.55) rotate(1deg)}
  76%{opacity:.72;transform:translate3d(-50%,-50%,0) scale(4.7) rotate(-1deg)}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(4.9) rotate(-2deg)}
}

@media(max-width:850px){
  .liquid-transition{width:48vmax;height:39vmax}
}

@media(prefers-reduced-motion:reduce){
  .liquid-transition{display:none}
}
