
:root{--ivory:#F7F5F1;--warm:#FCFAF7;--charcoal:#242322;--black:#111111;--champagne:#C7B18A;--beige:#DDD4C7;--line:rgba(17,17,17,.14);--serif:Didot,"Bodoni MT","Cormorant Garamond","Times New Roman",serif;--sans:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--warm);color:var(--charcoal);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}picture{display:contents}a{color:inherit;text-decoration:none}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--black);color:var(--warm);padding:.6rem 1rem;z-index:99}
.site-header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:1.1rem clamp(1rem,4vw,4rem);color:var(--warm);transition:background .35s var(--ease),color .35s var(--ease),box-shadow .35s}.site-header.is-scrolled{background:rgba(252,250,247,.82);backdrop-filter:blur(14px);color:var(--charcoal);box-shadow:0 1px 0 var(--line)}.brand img{width:min(210px,40vw);color:currentColor;transition:filter .35s var(--ease)}.site-header.is-scrolled .brand img{filter:invert(1)}.desktop-nav{display:flex;gap:2rem;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-.35rem;width:0;height:1px;background:currentColor;transition:width .3s var(--ease)}.desktop-nav a:hover:after{width:100%}.header-actions{display:flex;align-items:center;gap:1rem}.btn{display:inline-flex;align-items:center;gap:.6rem;border:1px solid currentColor;padding:.9rem 1.35rem;border-radius:999px;text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;transition:transform .3s var(--ease),background .3s,color .3s}.btn:hover{transform:translateY(-2px);background:var(--black);color:var(--warm);border-color:var(--black)}.btn-light{background:var(--warm);color:var(--black);border-color:var(--warm)}.btn-small{padding:.65rem 1rem}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;color:inherit}.menu-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:7px auto;transition:transform .3s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;background:var(--black);color:var(--warm);z-index:40;display:grid;place-content:center;gap:3rem;opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}.mobile-menu.is-open{opacity:1;pointer-events:auto}.mobile-menu nav{display:grid;gap:1rem;text-align:center;font-family:var(--serif);font-size:clamp(2rem,7vw,4rem)}.mobile-socials{display:flex;justify-content:center;gap:1.4rem}
.hero{min-height:100svh;position:relative;display:grid;align-items:end;color:var(--warm);overflow:hidden;background:var(--black)}.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:kenburns 18s var(--ease) infinite alternate;opacity:.82}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.72))}.hero-content{position:relative;z-index:2;padding:0 clamp(1rem,5vw,5rem) clamp(4rem,9vw,7rem);max-width:1200px}.kicker{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--champagne)}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.98;margin:0}.wrap>h2{text-align:center;max-width:22ch;margin-inline:auto;margin-bottom:clamp(3rem,7vw,5.5rem)}h1{font-size:clamp(2.8rem,7.5vw,7rem);letter-spacing:-.04em;max-width:11ch}h2{font-size:clamp(1.7rem,3.6vw,3.4rem);letter-spacing:-.035em}h3{font-size:clamp(1.6rem,3vw,2.6rem)}.lead{font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:62ch}.section{padding:clamp(5rem,12vw,11rem) clamp(1rem,5vw,5rem)}.wrap{max-width:1280px;margin:0 auto}.narrow{max-width:840px}.statement{font-family:var(--serif);font-size:clamp(1.8rem,4.4vw,4.2rem);line-height:1.1;letter-spacing:-.03em;text-align:center}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,7rem);align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.tile{background:var(--warm);padding:clamp(1.5rem,3vw,3rem);min-height:260px;display:flex;flex-direction:column;justify-content:space-between}.tile b{font-family:var(--serif);font-size:1.7rem;font-weight:400}.num{font-family:var(--serif);font-size:clamp(4rem,10vw,9rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(17,17,17,.25)}.dark{background:var(--black);color:var(--warm)}.ivory{background:var(--ivory)}.champagne{background:var(--champagne);color:var(--black)}.figure{position:relative;overflow:hidden}.figure img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.figure:hover img{transform:scale(1.045)}.tall{aspect-ratio:4/5}.wide{aspect-ratio:16/10}.overlap{margin-top:-18vh;position:relative;z-index:2}.editorial{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;align-items:end}.editorial .big{grid-column:1/8}.editorial .small{grid-column:8/13;transform:translateY(12%)}.sticky-experience{display:grid;grid-template-columns:1fr 1fr;min-height:170vh}.sticky-copy{position:sticky;top:0;height:100svh;display:grid;place-content:center;padding:2rem}.experience-list{display:grid;gap:8rem;padding:18vh 2rem}.experience-item{min-height:55svh;display:grid;align-content:center;gap:1rem}.experience-item img{aspect-ratio:4/3;object-fit:cover}.hr-scroll{display:flex;gap:1rem;overflow-x:auto;padding:0 5vw 3rem;scroll-snap-type:x mandatory}.hr-card{min-width:min(78vw,760px);scroll-snap-align:center}.hr-card img{aspect-ratio:16/10;width:100%;object-fit:cover}.quote{font-family:var(--serif);font-size:clamp(1.8rem,4vw,3.6rem);line-height:1.15}.meta{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(36,35,34,.6)}.dark .meta{color:rgba(252,250,247,.62)}.list-columns{columns:2;column-gap:4rem}.form{display:grid;gap:1rem}.form label{display:grid;gap:.45rem;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase}.form input,.form select,.form textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:.8rem 0;font:inherit;color:inherit}.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--champagne)}.field-error{color:#8a3b2e;font-size:.85rem;min-height:1.2em}.form-status{padding:1rem;border:1px solid var(--line)}.form-status.ok{background:#eef5ec}.form-status.err{background:#f9ecec}.split{display:grid;grid-template-columns:1fr 1fr;min-height:100svh}.split .visual{position:sticky;top:0;height:100svh}.split .visual img{width:100%;height:100%;object-fit:cover}.split .pane{display:grid;align-content:center;padding:clamp(2rem,6vw,7rem)}
.masonry{columns:3 280px;column-gap:1rem}.masonry figure{break-inside:avoid;margin:0 0 1rem;overflow:hidden}.masonry img{width:100%;height:auto;transition:transform .8s var(--ease)}.masonry figure:hover img{transform:scale(1.03)}.process{counter-reset:step;display:grid;gap:0}.process div{padding:2rem 0;border-top:1px solid var(--line);display:grid;grid-template-columns:120px 1fr;gap:2rem}.process div:before{counter-increment:step;content:"0" counter(step);font-family:var(--serif);font-size:3rem;color:var(--champagne)}.site-footer{background:var(--black);color:var(--warm);padding:clamp(4rem,8vw,7rem) clamp(1rem,5vw,5rem) 2rem}.footer-brand img{width:230px;color:var(--warm)}.footer-grid{display:grid;grid-template-columns:2fr 1fr;gap:3rem;margin:3rem 0}.footer-grid nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.footer-contact{display:grid;gap:.8rem}.social-link{display:inline-flex;align-items:center;gap:.6rem}.social-link svg{width:20px;height:20px}.social-missing{opacity:.55;font-size:.85rem}.legal{display:flex;gap:1.4rem;flex-wrap:wrap;border-top:1px solid rgba(252,250,247,.2);padding-top:1.5rem;font-size:.82rem}.wa-fab{position:fixed;right:1.2rem;bottom:1.2rem;z-index:35;background:var(--black);color:var(--ivory);border-radius:999px;padding:.8rem 1rem;display:flex;gap:.55rem;align-items:center;box-shadow:0 12px 40px rgba(0,0,0,.18)}.wa-fab svg{width:20px;height:20px}.wa-fab:hover{background:var(--champagne);color:var(--black)}.mobile-contact{position:fixed;left:0;right:0;bottom:0;z-index:34;display:none;grid-template-columns:1fr 1fr;background:var(--black);color:var(--warm);text-align:center;transform:translateY(110%);transition:transform .35s var(--ease)}.mobile-contact.is-visible{transform:none}.mobile-contact a,.mobile-contact span{padding:1rem;border-right:1px solid rgba(252,250,247,.2);text-transform:uppercase;letter-spacing:.18em;font-size:.75rem}.cookie-banner{position:fixed;left:1rem;bottom:1rem;z-index:60;max-width:420px;background:var(--warm);border:1px solid var(--line);padding:1rem;box-shadow:0 20px 70px rgba(0,0,0,.14)}.cookie-banner div{display:flex;gap:.6rem;flex-wrap:wrap}.cookie-banner button{border:1px solid var(--black);background:var(--black);color:var(--warm);padding:.55rem .8rem}.cookie-banner button[data-cookie="essential"]{background:transparent;color:var(--black)}
.reveal{transition:opacity .8s var(--ease),transform .8s var(--ease)}.js .reveal{opacity:0;transform:translateY(24px)}.js .reveal.in{opacity:1;transform:none}.mask{transition:clip-path 1s var(--ease)}.js .mask{clip-path:inset(0 100% 0 0)}.js .mask.in{clip-path:inset(0 0 0 0)}.parallax img{transform:scale(1.12)}.page-transition{position:fixed;inset:0;background:var(--ivory);z-index:90;transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease)}.page-transition.on{transform:scaleY(1)}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-media img{transform:none}}
@media (max-width:900px){.desktop-nav{display:none}.menu-toggle{display:block}.grid-2,.sticky-experience,.split,.footer-grid{grid-template-columns:1fr}.sticky-copy{position:relative;height:auto}.experience-list{padding:4rem 0}.grid-3{grid-template-columns:1fr}.editorial .big,.editorial .small{grid-column:1/-1;transform:none}.list-columns{columns:1}.split .visual{position:relative;height:62svh}.masonry{columns:2}.mobile-contact{display:grid}.wa-fab{display:none}.footer-grid nav{grid-template-columns:1fr 1fr}.site-header{padding:.9rem 1rem}.section{padding:5rem 1.25rem}h1{font-size:clamp(2.6rem,12vw,4.6rem)}}
@media (max-width:560px){.masonry{columns:1}.process div{grid-template-columns:1fr}.btn{width:100%;justify-content:center}}
