:root{--paper:#f3efe8;--ink:#121212;--blue:#1747d1;--blue2:#0d2c8c;--line:rgba(18,18,18,.17);--serif:"Cormorant Garamond",serif;--sans:"Sora",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}img,video{display:block;width:100%}.header{position:fixed;z-index:50;top:0;left:0;width:100%;height:84px;padding:0 3.2vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;mix-blend-mode:difference}.brand{display:flex;flex-direction:column;width:max-content;line-height:1}.brand strong{font-size:15px;letter-spacing:.08em}.brand span{font-size:9px;letter-spacing:.32em;margin-top:6px}.nav{display:flex;gap:34px;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s}.nav a:hover:after{transform:scaleX(1);transform-origin:left}.header-cta{justify-self:end;border:1px solid currentColor;border-radius:99px;padding:12px 17px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.header-cta span{margin-left:10px}.menu-toggle{display:none}.film-shell{height:280vh;background:#0b0b0b}.film-stage{position:sticky;top:0;height:100vh;overflow:hidden;color:#fff}.hero-video{position:absolute;inset:0;height:100%;object-fit:cover}.film-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.08) 62%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 55%)}.film-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);background-size:25vw 100%,25vw 100%;opacity:.3}.hero-copy{position:absolute;inset:0;padding:19vh 5vw 7vh;display:flex;flex-direction:column;justify-content:space-between}.kicker,.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.24em;font-weight:600}.hero-copy h1{margin:0;font:500 clamp(5rem,13vw,12rem)/.68 var(--serif);letter-spacing:-.06em}.hero-copy h1 span,.hero-copy h1 em{display:block}.hero-copy h1 em{margin-left:16vw;color:#bdcfff;font-weight:500}.hero-bottom{display:flex;justify-content:space-between;align-items:end}.hero-bottom p{max-width:460px;margin:0;font-size:14px;line-height:1.7}.hero-bottom a{font-size:11px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid;padding-bottom:7px}.hero-bottom a span{margin-left:28px}.film-meter{position:absolute;right:24px;top:18%;height:64%;width:2px;background:rgba(255,255,255,.25)}.film-meter span{display:block;width:100%;height:100%;background:#fff;transform:scaleY(0);transform-origin:top}.manifesto{padding:13vw 5vw 11vw;display:grid;grid-template-columns:1fr 2fr 1fr;gap:4vw;border-bottom:1px solid var(--line)}.section-no{font-size:10px;letter-spacing:.18em}.manifesto-small{align-self:end;max-width:230px;font-size:13px;line-height:1.7}.manifesto h2{grid-column:2/4;margin:0;font:500 clamp(4rem,9vw,9rem)/.82 var(--serif);letter-spacing:-.06em}.manifesto h2 em{color:var(--blue);font-weight:500}.manifesto-meta{grid-column:2/4;margin-top:5vw;display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.13em}.looks{padding:10vw 3.2vw;background:#111;color:#fff}.looks-heading{display:grid;grid-template-columns:1.5fr .5fr;align-items:end;gap:6vw;margin-bottom:7vw}.looks-heading h2{font:500 clamp(4rem,8vw,8rem)/.83 var(--serif);letter-spacing:-.05em;margin:20px 0 0}.looks-heading>p{font-size:13px;line-height:1.8;color:#bdbdbd}.look-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:24vw;gap:12px}.look-card{position:relative;overflow:hidden;margin:0;grid-column:span 4}.look-card.tall{grid-row:span 2}.look-card.wide{grid-column:span 8}.look-card img{height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1);filter:saturate(.88)}.look-card:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.78))}.look-card:hover img{transform:scale(1.055)}.look-card figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:17px;display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:15px}.look-card figcaption span,.look-card figcaption small{font-size:9px;letter-spacing:.15em;text-transform:uppercase}.look-card figcaption strong{font:500 28px var(--serif)}.services{padding:11vw 5vw;display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.service-intro{position:sticky;top:120px;align-self:start}.service-intro h2{font:500 clamp(4rem,7vw,7rem)/.82 var(--serif);letter-spacing:-.05em;margin:24px 0}.service-intro h2 em{color:var(--blue);font-weight:500}.service-intro>p:last-child{max-width:320px;font-size:13px;line-height:1.8}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:48px 1fr 180px 24px;align-items:center;min-height:105px;border-bottom:1px solid var(--line);transition:padding .45s,background .45s}.service-row:hover{padding:0 18px;background:#fff}.service-row span,.service-row small{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.service-row strong{font:500 34px var(--serif)}.service-row b{font-weight:400}.portrait-break{height:86vh;position:relative;overflow:hidden}.portrait-break img{height:115%;object-fit:cover;object-position:center 28%}.portrait-break:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),transparent)}.portrait-copy{position:absolute;z-index:2;left:5vw;bottom:7vw;color:#fff}.portrait-copy p{font:500 clamp(3.2rem,7vw,7rem)/.9 var(--serif);max-width:800px;margin:0 0 30px}.portrait-copy a{font-size:12px;letter-spacing:.12em;border-bottom:1px solid;padding-bottom:8px}.visit{padding:11vw 5vw;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;background:var(--blue);color:#fff}.visit h2{font:500 clamp(4rem,8vw,8rem)/.82 var(--serif);letter-spacing:-.05em;margin:25px 0}.visit h2 em{font-weight:500;color:#cfdbff}.visit-details{align-self:end}.visit-details address{font:500 30px/1.35 var(--serif);font-style:normal}.visit-details>a{display:block;margin:28px 0 12px;font-size:15px}.visit-details>p{font-size:11px;color:#c9d5ff}.visit-actions{display:flex;gap:12px;margin-top:35px}.visit-actions a{padding:15px 20px;border-radius:99px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.visit-actions .primary{background:#fff;color:var(--blue)}.visit-actions .secondary{border:1px solid rgba(255,255,255,.5)}footer{padding:35px 3.2vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;background:#111;color:#fff}.footer-brand{font:500 40px var(--serif)}.footer-brand span{display:block;font:9px var(--sans);letter-spacing:.25em;text-transform:uppercase}footer p{font-size:10px;letter-spacing:.13em;text-transform:uppercase}footer>a{justify-self:end;font-size:10px;text-transform:uppercase}.floating-call{position:fixed;z-index:45;right:22px;bottom:22px;background:var(--blue);color:#fff;border-radius:99px;padding:15px 18px;display:flex;gap:22px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;box-shadow:0 12px 40px rgba(23,71,209,.35)}.cursor{position:fixed;z-index:100;top:0;left:0;width:14px;height:14px;border-radius:50%;background:var(--blue);pointer-events:none;mix-blend-mode:difference;transform:translate(-50%,-50%)}.reveal{will-change:transform,opacity}@media(max-width:850px){.cursor{display:none}.header{height:72px;padding:0 18px;grid-template-columns:1fr auto;mix-blend-mode:normal;background:rgba(17,17,17,.92);backdrop-filter:blur(12px)}.nav,.header-cta{display:none}.menu-toggle{display:block;border:0;background:none;color:#fff;font:600 10px var(--sans);letter-spacing:.13em}.nav.open{position:fixed;display:flex;top:72px;left:0;right:0;height:calc(100vh - 72px);background:#111;flex-direction:column;justify-content:center;align-items:center;font:500 42px var(--serif)}.film-shell{height:210vh}.hero-copy{padding:20vh 20px 6vh}.hero-copy h1{font-size:21vw;line-height:.78}.hero-copy h1 em{margin-left:7vw}.hero-bottom{display:block}.hero-bottom p{margin-bottom:22px;max-width:310px}.manifesto{padding:90px 20px;display:block}.manifesto h2{font-size:18vw;margin:45px 0}.manifesto-meta{display:grid;gap:12px}.looks{padding:85px 12px}.looks-heading{display:block;padding:0 8px}.looks-heading>p{margin-top:28px}.look-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:68vw}.look-card,.look-card.wide{grid-column:span 1}.look-card.tall{grid-row:span 1}.look-card:nth-child(1),.look-card:nth-child(4),.look-card:nth-child(7){grid-column:span 2}.look-card figcaption{grid-template-columns:auto 1fr}.look-card figcaption small{display:none}.services{display:block;padding:90px 20px}.service-intro{position:static;margin-bottom:60px}.service-row{grid-template-columns:35px 1fr 22px;min-height:88px}.service-row small{display:none}.service-row strong{font-size:28px}.portrait-break{height:72vh}.portrait-copy{left:20px;right:20px;bottom:60px}.visit{display:block;padding:90px 20px}.visit-details{margin-top:50px}.visit-details address{font-size:25px}footer{grid-template-columns:1fr auto}footer p{display:none}.floating-call span{display:none}.floating-call{padding:15px 18px}.film-grid{background-size:50vw 100%,50vw 100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor{display:none}*{animation:none!important;transition:none!important}}

/* Mobile performance and touch interaction */
@media (max-width:850px){
  html,body{max-width:100%;overflow-x:clip}
  .header{width:100%;backdrop-filter:none;padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  .film-shell{height:180svh}
  .film-stage{height:100svh;contain:paint}
  .hero-video{height:100%;object-position:center;will-change:auto}
  .manifesto,.looks,.services,.portrait-break,.visit{content-visibility:auto;contain-intrinsic-size:900px}
  .look-card img{pointer-events:none;-webkit-user-drag:none}
  .floating-call{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}
  button,a{touch-action:manipulation}
}

/* Stable floating CTA sizing */
.floating-call{min-width:118px;height:50px;border-radius:999px;padding:0 17px;display:flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;line-height:1}
.floating-call span{position:static;display:inline-block;line-height:1;transform:none}
@media(max-width:850px){.floating-call{min-width:108px;height:48px;padding:0 15px}.floating-call span{display:inline-block}}
