/* Studio Forma skin (fictional concept, SilverMoose). Monochrome and editorial: Syne display, Manrope body,
   sharp edges, outlined headline words, split hero with a black-and-white film. Light is the house look. */
:root,:root[data-theme=light]{
  --bg:#f3f2ef; --surface:#ffffff; --surface-2:#e9e8e4; --ink:#111111; --muted:#5d5d59; --line:rgba(17,17,17,.13);
  --accent:#111111; --accent-ink:#ffffff; --dark:#111111; --dark-ink:#f3f2ef; --gold:#7d7d78; --ok:#2f7d4f; --closed:#b0413e;
  --glow:rgba(0,0,0,.05); --shadow:rgba(0,0,0,.22);
  color-scheme:light;
}
:root[data-theme=dark]{
  --bg:#0d0d0d; --surface:#171717; --surface-2:#232323; --ink:#f1f1ee; --muted:#a6a6a1; --line:rgba(241,241,238,.13);
  --accent:#f1f1ee; --accent-ink:#0d0d0d; --dark:#f1f1ee; --dark-ink:#0d0d0d; --gold:#bdbdb7; --ok:#86cf9c; --closed:#e58d7c;
  --glow:rgba(255,255,255,.05); --shadow:rgba(0,0,0,.6);
  color-scheme:dark;
}
:root{ --display:"Syne","Arial Black",system-ui,sans-serif; --body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif; }
body{font-family:var(--body)}
h1,h2,h3{font-variation-settings:normal}
h1,h2{font-family:var(--display);font-weight:800;letter-spacing:-.03em;text-transform:uppercase}
h1{font-size:clamp(52px,8.6vw,132px);line-height:.88}
h2{font-size:clamp(36px,5.2vw,74px);line-height:.92}
h1 em,h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1.6px var(--ink)}
@supports not (-webkit-text-stroke:1px black){h1 em,h2 em{color:var(--muted)}}
.eyebrow{color:var(--muted);letter-spacing:.28em}
.btn{border-radius:0;letter-spacing:.08em;text-transform:uppercase;font-size:13.5px;font-weight:700}
.btn-sm{font-size:12.5px}
.btn-accent{box-shadow:none}
.btn-accent:hover{transform:translateY(-2px);box-shadow:6px 6px 0 var(--muted)}
.mark{font:800 26px/1 var(--display);letter-spacing:.22em;text-transform:uppercase}
.mark i{font-style:normal;color:var(--muted);font-weight:500;letter-spacing:.1em;font-size:.55em;margin-left:8px}
.top{background:color-mix(in srgb,var(--bg) 92%,transparent)}
.status::before{border-radius:0}

/* Split hero: text left, film right */
.f-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:min(calc(100vh - 110px),860px);border-bottom:1px solid var(--line)}
.f-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,6vw,90px) clamp(24px,4vw,64px) clamp(40px,6vw,90px) var(--gut)}
.f-hero-copy .lead{max-width:40ch}
.f-hero h1{font-size:clamp(44px,5.4vw,90px)}
.f-hero-copy{min-width:0}
.f-facts{list-style:none;margin:44px 0 0;padding:20px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:560px}
.f-facts b{display:block;font:800 26px/1 var(--display)}
.f-facts span{font-size:13px;color:var(--muted)}
.f-film{position:relative;overflow:hidden;background:#111;min-height:420px}
.f-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.f-film::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.45))}
.f-film-tag{position:absolute;z-index:1;left:22px;right:72px;bottom:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f1f1ee;font-size:11.5px;font-weight:700;letter-spacing:.28em;text-transform:uppercase}
.reel-toggle{position:absolute;z-index:2;right:18px;bottom:16px;width:40px;height:40px;border-radius:0;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.35);color:#fff;font-size:12px;letter-spacing:-1px;cursor:pointer}

/* Word marquee */
.f-marquee{overflow:hidden;border-bottom:1px solid var(--line);padding:22px 0}
.f-marquee-track{display:flex;width:max-content;gap:40px;animation:fmarq 38s linear infinite;font:800 clamp(34px,5vw,68px)/1 var(--display);text-transform:uppercase;letter-spacing:-.02em}
.f-marquee-track span:nth-child(odd){color:transparent;-webkit-text-stroke:1.4px var(--ink)}
.f-marquee-track span::after{content:"—";margin-left:40px;color:var(--muted);-webkit-text-stroke:0}
@keyframes fmarq{to{transform:translateX(-50%)}}

/* Numbered services */
.f-services{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.f-services li{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:18px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line)}
.f-services .no{font:700 14px/1 var(--display);color:var(--muted);letter-spacing:.1em}
.f-services b{font:800 clamp(26px,3.4vw,44px)/1 var(--display);text-transform:uppercase;letter-spacing:-.02em}
.f-services p{margin:8px 0 0;color:var(--muted);max-width:52ch}
.f-services .from{font-weight:700;white-space:nowrap}

/* Lookbook grid (gallery teaser + page) */
.ig-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.ig-grid button{border-radius:0;aspect-ratio:3/4}
.ig-grid img{filter:grayscale(1)}
.ig-grid button:hover img{filter:none}
.ig-grid.lookbook button:nth-child(5n+1){grid-row:span 2;aspect-ratio:auto}

/* Team, reviews, visit */
.f-team{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.f-team li{padding:26px 22px 26px 0;border-bottom:1px solid var(--line)}
.f-team b{display:block;font:800 30px/1 var(--display);text-transform:uppercase}
.f-team span{color:var(--muted);font-size:14px}
.f-team p{margin:12px 0 0;font-size:15px;max-width:30ch}
.reviews{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}
.rev{border-radius:0;background:none;box-shadow:none;border-bottom:1px solid var(--line);padding:28px 24px 28px 0}
.rev::before{color:var(--ink)}
.rev blockquote{font:500 18px/1.5 var(--body)}
.example-tag{display:inline-block;padding:3px 10px;border:1px solid var(--line);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.visit-img{border-radius:0}
.visit-img img{filter:grayscale(1)}
.post,.cat,.trainee,.shop-visit-card{border-radius:0}
.carousel img,.slides img{border-radius:0}
.days button,.times button,.opt,.who,.field input{border-radius:0}
.phone{border-radius:34px}

/* Footer CTA */
.f-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:clamp(44px,6vw,80px) var(--gut-r) clamp(44px,6vw,80px) var(--gut);background:var(--dark);color:var(--dark-ink);margin-top:clamp(80px,10vw,130px)}
.f-cta h2{color:var(--dark-ink)}
.f-cta h2 em{-webkit-text-stroke-color:var(--dark-ink)}
.f-cta p{margin:14px 0 0;opacity:.75;max-width:52ch}
.f-cta .btn-accent{background:var(--dark-ink);color:var(--dark)}
.foot{margin-top:0}
.social-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;font-size:14px;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);cursor:default}
.social-pill svg{width:16px;height:16px;fill:currentColor}

@media (max-width:980px){
  .f-hero{grid-template-columns:minmax(0,1fr)}
  .f-film{min-height:56vw;order:-1}
  .f-team{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reviews{grid-template-columns:minmax(0,1fr)}
  .ig-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:620px){
  .f-hero h1{font-size:clamp(32px,10.4vw,44px)}
  .f-services li{grid-template-columns:44px minmax(0,1fr)}
  .f-services .from{grid-column:2}
  .f-facts{gap:10px}.f-facts b{font-size:21px}
  .ig-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ig-grid.lookbook button:nth-child(5n+1){grid-row:auto;aspect-ratio:3/4}
  .f-team{grid-template-columns:minmax(0,1fr)}
  .f-cta{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){ .f-marquee-track{animation:none} }
