/*
Theme Name: MMM Developments
Theme URI: https://mmmdevelopments.com
Author: MMM Developments
Description: Brand theme for MMM Developments (Brand Guidelines V6): Rubrum, Sand, Midnight Navy and Cloud White; Editor's Note headlines with Inter body text. Homepage content is edited in Appearance → Customize.
Version: 1.9.0
Requires at least: 6.3
Requires PHP: 7.4
License: Proprietary
Text Domain: mmm
*/

/* ===== Brand tokens ===== */
:root{
  --rubrum:#630A17; --sand:#D2C2A1; --navy:#192127; --cloud:#E7E8E9;
  --ink:#192127; --muted:#4A5258; --line:rgba(99,10,23,.35);
  --serif:"MMM Editors Note","Editor's Note","Instrument Serif",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gut:clamp(20px,5vw,96px); --pad:var(--gut); --ease:cubic-bezier(.2,.7,.15,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:var(--cloud)}
img{display:block;max-width:100%;height:auto} a{color:inherit}
.sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--rubrum);color:#fff;padding:12px 18px;text-decoration:none}
.skip-link:focus{top:12px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ===== Grounds ===== */
.light{background:var(--cloud);position:relative;isolation:isolate}
.light::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.6;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .1  0 0 0 0 .13  0 0 0 0 .16  0 0 0 .07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),
  radial-gradient(110% 60% at 12% 25%,rgba(255,255,255,.7),transparent 60%),radial-gradient(90% 55% at 88% 80%,rgba(210,194,162,.25),transparent 65%)}
.rubrum-dark{background:#0E0204;color:var(--sand);position:relative;isolation:isolate}
.rubrum-dark::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .55  0 0 0 0 .05  0 0 0 0 .08  0 0 0 .22 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),
  radial-gradient(70% 60% at 50% 45%,rgba(99,10,23,.55),transparent 75%),
  repeating-linear-gradient(90deg,rgba(0,0,0,.18) 0 1px,transparent 1px 4px)}
.navy{background:var(--navy);color:var(--cloud)}
.rubrum-dark p.body,.navy p.body{color:#D9D4CB}
.rubrum-dark p.body b,.navy p.body b{color:var(--sand)}
.rubrum-dark .label,.navy .label{color:var(--sand)}

/* ===== Type (Guidelines: Editor's Note Light headlines, Inter Bold subheads, Inter Regular body) ===== */
.rule{border-top:1px solid var(--rubrum)}
.label{font:700 13px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--rubrum);margin:0 0 30px}
.h{text-wrap:balance;font-family:var(--serif);font-weight:300;font-size:clamp(34px,3.4vw,66px);line-height:1.02;letter-spacing:-.015em;margin:0;text-transform:uppercase;color:var(--rubrum)}
.h em,.h i{font-style:italic}
.rubrum-dark .h,.navy .h{color:var(--sand)}
.h--sm{font-size:clamp(30px,2.8vw,52px)}
.caps{font:500 clamp(14px,1vw,17px)/1.9 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin:0 auto;max-width:62em;text-wrap:balance}
.serif-caps{font:300 clamp(22px,2vw,38px)/1.25 var(--serif);letter-spacing:.06em;text-transform:uppercase;margin:0;color:#fff}
.serif-caps em{font-style:italic}
p.body{font:400 clamp(16px,1.15vw,19px)/1.65 var(--sans);color:var(--muted);margin:0}
p.body b,p.body strong{font-weight:700;color:var(--ink)}

/* ===== Buttons ===== */
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 42px;border:1px solid currentColor;border-radius:999px;
  font:500 15px var(--sans);letter-spacing:.06em;text-decoration:none;color:var(--rubrum);background:transparent;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;
  transition:color .5s var(--ease)}
.pill::before{content:"";position:absolute;inset:0;background:var(--rubrum);transform:translateY(101%);transition:transform .55s var(--ease);z-index:-1}
.pill:hover{color:var(--cloud)}
.pill:hover::before{transform:none}
.pill--sand{color:var(--sand)}.pill--sand::before{background:var(--sand)}.pill--sand:hover{color:var(--navy)}
.pill:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--sand);outline-offset:3px}
.light a:focus-visible,.light button:focus-visible,.light input:focus-visible{outline-color:var(--rubrum)}

/* ===== Header (logo left, menu right) ===== */
.hdr{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:40px;
  padding:calc(28px + env(safe-area-inset-top,0px)) var(--gut) 28px;
  transition:background .7s var(--ease),padding .7s var(--ease),box-shadow .7s var(--ease)}
.hdr::after{content:"";position:absolute;left:var(--gut);right:var(--gut);bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(210,194,162,.45) 15%,rgba(210,194,162,.45) 85%,transparent);transition:opacity .6s}
.admin-bar .hdr{top:32px}
.hdr__logo{display:block;position:relative;flex:none}
.lockup{display:block;height:44px;width:auto;transition:opacity .5s,height .7s var(--ease)}
.lockup--on-light{position:absolute;left:0;top:0;opacity:0}
.hdr__right{display:flex;align-items:center;gap:clamp(28px,3vw,52px)}
.hdr__nav .menu{display:flex;align-items:center;gap:clamp(24px,2.6vw,48px);list-style:none;margin:0;padding:0}
.hdr__nav .menu>li{position:relative}
.hdr__nav .menu>li>a{position:relative;display:flex;align-items:center;gap:9px;padding:12px 0;font:400 12px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;text-decoration:none;color:rgba(255,255,255,.92);transition:color .5s var(--ease)}
.hdr__nav .menu>li>a::before{content:"";position:absolute;left:0;right:.32em;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease)}
.hdr__nav .menu>li:hover>a::before,.hdr__nav .menu>li:focus-within>a::before,.hdr__nav .current-menu-item>a::before{transform:scaleX(1);transform-origin:left}
.hdr__nav .menu-item-has-children>a::after{content:"";width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .5s var(--ease)}
.hdr__nav .menu>li:hover>a,.hdr__nav .menu>li:focus-within>a{color:var(--sand)}
.hdr__nav .menu-item-has-children:hover>a::after,.hdr__nav .menu-item-has-children:focus-within>a::after{transform:translateY(1px) rotate(-135deg)}
.hdr__nav .sub-menu{position:absolute;left:-30px;top:100%;min-width:260px;list-style:none;margin:18px 0 0;padding:22px 0;background:rgba(25,33,39,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-top:1px solid var(--sand);box-shadow:0 24px 60px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .45s var(--ease),transform .45s var(--ease),visibility .45s}
.hdr__nav .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.hdr__nav li:hover>.sub-menu,.hdr__nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.hdr__nav .sub-menu a{display:block;padding:10px 30px;font:300 21px/1.25 var(--serif);letter-spacing:.01em;color:var(--cloud);text-decoration:none;transition:color .35s,padding .45s var(--ease)}
.hdr__nav .sub-menu a:hover{color:var(--sand);padding-left:38px}
.hdr__cta{display:inline-flex;align-items:center;height:40px;padding:0 24px;border:1px solid rgba(210,194,162,.7);border-radius:999px;font:400 11px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--sand);text-decoration:none;transition:background .5s var(--ease),color .5s var(--ease),border-color .5s}
.hdr__cta:hover{background:var(--sand);color:var(--navy);border-color:var(--sand)}
.hdr.solid,.mmm-solid .hdr{background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding-top:calc(14px + env(safe-area-inset-top,0px));padding-bottom:14px;box-shadow:0 1px 0 rgba(99,10,23,.12)}
.hdr.solid::after,.mmm-solid .hdr::after{opacity:0}
.hdr.solid .lockup,.mmm-solid .lockup{height:36px}
.hdr.solid .lockup--on-dark,.mmm-solid .lockup--on-dark{opacity:0}
.hdr.solid .lockup--on-light,.mmm-solid .lockup--on-light{opacity:1}
.hdr.solid .hdr__nav .menu>li>a,.mmm-solid .hdr__nav .menu>li>a{color:var(--ink)}
.hdr.solid .hdr__nav .menu>li:hover>a,.mmm-solid .hdr__nav .menu>li:hover>a{color:var(--rubrum)}
.hdr.solid .hdr__cta,.mmm-solid .hdr__cta{color:var(--rubrum);border-color:rgba(99,10,23,.5)}
.hdr.solid .hdr__cta:hover,.mmm-solid .hdr__cta:hover{background:var(--rubrum);color:#fff;border-color:var(--rubrum)}
.hdr__menu{display:none;align-items:center;gap:12px;background:none;border:0;color:#fff;font:400 11px var(--sans);letter-spacing:.3em;cursor:pointer;padding:12px 0;text-transform:uppercase}
.hdr__menu::after{content:"";width:26px;height:7px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
.hdr.solid .hdr__menu,.mmm-solid .hdr__menu{color:var(--ink)}
.mnav{display:none}
@media (max-width:1180px){
  .hdr{padding-top:calc(18px + env(safe-area-inset-top,0px));padding-bottom:18px}
  .hdr__nav,.hdr__cta{display:none}.hdr__menu{display:flex}
  .lockup,.hdr.solid .lockup,.mmm-solid .lockup{height:32px}
  .mnav{display:block;position:fixed;inset:0;z-index:49;background:var(--navy);overflow-y:auto;padding:130px var(--gut) 60px;opacity:0;pointer-events:none;transition:opacity .6s var(--ease)}
  .mnav .menu{list-style:none;margin:0 auto;padding:0;max-width:520px}
  .mnav .menu>li{border-bottom:1px solid rgba(210,194,162,.2)}
  .mnav .menu>li>a{display:block;padding:20px 0;font:300 32px var(--serif);text-transform:uppercase;letter-spacing:.02em;color:var(--sand);text-decoration:none}
  .mnav .sub-menu{list-style:none;margin:-6px 0 18px;padding:0}
  .mnav .sub-menu a{display:block;padding:8px 0;font:300 14px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(231,232,233,.75);text-decoration:none}
  body.menu-open{overflow:hidden}
  body.menu-open .mnav{opacity:1;pointer-events:auto}
  body.menu-open .hdr{background:transparent;box-shadow:none}
  body.menu-open .hdr__menu{color:var(--cloud)}
  body.menu-open .lockup--on-dark{opacity:1}body.menu-open .lockup--on-light{opacity:0}
  body.menu-open .dock,body.menu-open .buddy{display:none}
}
@media (max-width:782px){.admin-bar .hdr{top:46px}}
/* keep content clear of the side contact dock on desktop */
@media (min-width:1024px){:root{--pad:clamp(110px,8.5vw,170px)}}

/* ===== Hero ===== */
.hero{position:relative;height:100vh;height:100svh;min-height:620px;overflow:hidden;color:#fff;display:grid;place-items:end center;padding-bottom:18vh;text-align:center;background:#0E0204}
.hero video,.hero__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(14,2,4,.55),rgba(14,2,4,.1) 38%,rgba(14,2,4,.55))}
.hero__in{position:relative;z-index:2;padding:0 var(--gut)}
.hero .h{color:#fff;font-size:clamp(30px,3.6vw,66px);letter-spacing:.01em;margin:0 auto 40px;max-width:none;white-space:nowrap}
@media (max-width:600px){.hero .h{white-space:normal;font-size:clamp(30px,9vw,40px)}}
.ask{position:absolute;z-index:3;left:50%;top:clamp(140px,24vh,240px);transform:translateX(-50%);width:min(640px,86vw);display:flex;align-items:center;gap:12px;
  background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 6px 6px 8px;box-shadow:0 10px 40px rgba(0,0,0,.15);transition:background .5s,border-color .5s}
.ask:focus-within{background:rgba(255,255,255,.22);border-color:rgba(210,194,162,.8)}
.ask.fade{transform:translate(-50%,20px)}.ask.fade.in{transform:translate(-50%,0)}
.ask__dot{width:34px;height:34px;border-radius:50%;background:rgba(99,10,23,.85);flex:none;display:grid;place-items:center}
.ask__dot img{width:18px;height:auto}
.ask input{flex:1;border:0;background:transparent;font:300 15px var(--sans);letter-spacing:.02em;color:#fff;padding:10px 0;min-width:0;outline:none}
.ask input::placeholder{color:rgba(255,255,255,.8)}
.ask button{border:0;border-radius:999px;background:var(--sand);color:var(--navy);font:500 10px var(--sans);letter-spacing:.3em;text-transform:uppercase;padding:13px 22px;cursor:pointer;transition:background .4s}
.ask button:hover{background:#fff}
.mute{position:absolute;z-index:3;left:var(--gut);bottom:36px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(210,194,162,.45);background:rgba(25,33,39,.35);color:var(--sand);
  display:grid;place-items:center;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.mute svg{width:16px;height:16px}.mute .wave{display:none}
.mute[aria-pressed="true"] .wave{display:block}.mute[aria-pressed="true"] .x{display:none}
@media (max-width:600px){.ask{padding:7px 7px 7px 10px}.ask__dot{display:none}.ask button{padding:12px 16px}.mute{width:38px;height:38px;bottom:84px}}

/* ===== Layout ===== */
.section{padding:clamp(90px,11vw,180px) var(--pad)}
.center{text-align:center;max-width:1180px;margin:0 auto}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,6vw,120px)}
.split__text{text-align:center;max-width:560px;margin:0 auto}
.split__text p.body{text-wrap:pretty}
.split__text .h{margin-bottom:40px}.split__text p.body{margin-bottom:24px}.split__text p.body:last-of-type{margin-bottom:48px}
.bleed-r{margin-right:calc(var(--pad)*-1)}
.inset{margin:0 var(--pad)}
.frame{position:relative;overflow:hidden;background:#2b1c1e}
.frame img{width:100%;height:100%;object-fit:cover}
.overlay-text{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:52px;padding:0 8%;text-align:center;background:rgba(14,2,4,.38)}
.cta{height:clamp(520px,66vw,1040px)}
.two-col{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(40px,6vw,120px);max-width:1480px;margin:0 auto;align-items:start}
.two-col__aside{padding-top:clamp(0px,4.5vw,56px);max-width:60ch}
.titlebar{max-width:1480px;margin:0 auto;padding-top:28px}
.promise__logo{height:150px;width:auto;margin:0 auto 64px}
@media (max-width:900px){.split,.two-col{grid-template-columns:1fr}.bleed-r{margin-right:0}.split--rev .split__media{order:2}.two-col__aside{padding-top:0}}

/* ===== Statement, about, promise, feature ===== */
.statement{padding-top:clamp(80px,8vw,130px);padding-bottom:clamp(60px,7vw,110px)}
.statement__mark{height:22px;width:auto;margin:0 auto 34px;opacity:.9}
.statement .caps{font:400 clamp(12px,.86vw,14px)/2.15 var(--sans);letter-spacing:.3em;color:#3d454b;max-width:58em}
.statement__line{display:block;width:1px;height:clamp(70px,8vw,120px);margin:clamp(50px,6vw,80px) auto 0;background:linear-gradient(var(--rubrum),rgba(99,10,23,0));transform-origin:top;animation:mmmLine 2.8s var(--ease) infinite}
@keyframes mmmLine{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.about{background:#fff;position:relative;box-shadow:0 -1px 0 rgba(99,10,23,.12)}
.about::before{content:"";position:absolute;left:50%;top:0;width:1px;height:46px;background:rgba(99,10,23,.25)}
.promise__mark{height:48px;width:auto;margin:0 auto 40px}
.promise__text{margin:0 auto;max-width:54ch;font:300 clamp(15px,1.05vw,17px)/1.9 var(--sans);letter-spacing:.02em;color:rgba(231,232,233,.82);text-wrap:balance}
.promise__text b,.promise__text strong{font-weight:400;color:var(--sand)}
.feature{position:relative;height:min(58vw,92vh);min-height:460px;overflow:hidden;background:#2b1c1e}
.feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feature::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,33,39,.05) 30%,rgba(25,33,39,.55));pointer-events:none}
.feature__in{position:absolute;z-index:1;left:0;right:0;bottom:clamp(50px,7vw,110px);text-align:center;padding:0 var(--pad)}
.feature__rule{display:block;width:60px;height:1px;background:var(--sand);margin:0 auto 28px}
.feature .serif-caps{font-size:clamp(20px,1.9vw,34px);letter-spacing:.08em;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.js .feature.reveal{clip-path:inset(6% 4% 0 4%);transition:clip-path 1.8s var(--ease)}
.js .feature.reveal.in{clip-path:inset(0)}
@media (prefers-reduced-motion:reduce){.statement__line{animation:none}.js .feature.reveal{clip-path:none}}

/* ===== Location (deep sea ground + full-width map) ===== */
.location{position:relative;isolation:isolate;color:var(--cloud);background:linear-gradient(180deg,#0E3346 0%,#0B2B3D 45%,#08202F 100%);overflow:hidden}
.location::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 50% at 80% 10%,rgba(64,140,160,.25),transparent 70%),radial-gradient(50% 40% at 10% 0%,rgba(210,194,162,.08),transparent 70%),
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .8  0 0 0 0 .9  0 0 0 0 1  0 0 0 .05 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.location__head{padding:clamp(100px,11vw,180px) var(--pad) clamp(50px,6vw,90px)}
.location .label{color:var(--sand)}
.location .h{color:var(--sand)}
.location p.body{color:rgba(231,232,233,.82)}
.location p.body b{color:#fff;font-weight:500}
.location__map{position:relative;height:min(42vw,820px);min-height:320px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 72%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 72%,transparent 100%)}
.location__map img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.js .location__map.reveal{clip-path:inset(0 6%);transition:clip-path 2s var(--ease)}
.js .location__map.reveal.in{clip-path:inset(0 0)}
.location+.section{padding-top:clamp(90px,10vw,160px)}
@media (max-width:767px){.location__map{height:62vw}}
@media (prefers-reduced-motion:reduce){.js .location__map.reveal{clip-path:none}}

/* ===== "Outcomes" scroll scene (feels like its own page) ===== */
.scene{position:relative;height:230vh;background:#0E0204}
.scene__sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center}
.scene{--p:0}
.scene__media{position:absolute;inset:0;
  clip-path:inset(calc((1 - var(--p)) * 16%) calc((1 - var(--p)) * 24%) round calc((1 - var(--p)) * 220px));will-change:clip-path}
.scene__media img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.32 - var(--p) * .32));will-change:transform}
.scene__veil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 70% at 50% 55%,rgba(14,2,4,.25),rgba(14,2,4,.7));opacity:calc(.25 + var(--p) * .75)}
.scene__in{position:relative;z-index:1;text-align:center;padding:0 var(--pad)}
.scene__rule{display:block;height:1px;width:calc(var(--p) * 90px);background:var(--sand);margin:0 auto 34px}
.scene__text{margin:0 0 46px;font:300 clamp(28px,3.4vw,62px)/1.12 var(--serif);letter-spacing:.04em;text-transform:uppercase;color:#fff}
.scene__text em{font-style:italic;color:var(--sand)}
.scene__line{display:block;overflow:hidden;padding-bottom:.06em}
.scene__line>span{display:inline-block;transform:translateY(110%);opacity:0;letter-spacing:.2em;transition:transform 1.2s var(--ease),opacity 1.2s var(--ease),letter-spacing 1.6s var(--ease)}
.scene__line.on>span{transform:none;opacity:1;letter-spacing:.04em}
.scene__btn{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease),transform .9s var(--ease),color .5s var(--ease)}
.scene__btn.on{opacity:1;transform:none}
.scene:not(.is-live) .scene__line>span,.scene:not(.is-live) .scene__btn{transform:none;opacity:1;letter-spacing:.04em}
@media (prefers-reduced-motion:reduce){.scene{height:auto}.scene__sticky{position:relative}.scene{--p:1}}

/* ===== Project: logo intro, then full-width renders on scroll ===== */
.pscene{position:relative;--n:5;height:calc(100vh + var(--n) * 90vh);height:calc(100svh + var(--n) * 90svh);background:var(--cloud)}
.pscene__sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.pscene__intro{position:absolute;left:0;right:0;top:0;height:46%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:90px var(--pad) 0;
  opacity:calc(1 - var(--q0,0) * 1.4);transform:translateY(calc(var(--q0,0) * -60px));will-change:opacity,transform}
.pscene__intro .label{margin-bottom:26px}
.pscene__logo{width:min(420px,70vw);height:auto;margin-bottom:22px}
.pscene__title{margin:0;font:300 clamp(18px,1.6vw,26px)/1.2 var(--serif);letter-spacing:.14em;text-transform:uppercase;color:var(--rubrum)}
.pscene__title em{font-style:italic}
.pscene__frame{position:absolute;inset:0}
.pslide{position:absolute;inset:0;margin:0;--q:0;--out:0;clip-path:inset(calc((1 - var(--q)) * 100%) 0 0 0);will-change:clip-path}
.pslide img{width:100%;height:100%;object-fit:cover;user-select:none;transform:scale(calc(1.18 - var(--q) * .18 + var(--out) * .06));filter:brightness(calc(1 - var(--out) * .45));will-change:transform}
.pslide--first{--side:36%;clip-path:inset(calc((1 - var(--q0,0)) * 52%) calc((1 - var(--q0,0)) * var(--side)) calc((1 - var(--q0,0)) * 10%) calc((1 - var(--q0,0)) * var(--side)) round calc((1 - var(--q0,0)) * 6px))}
@media (max-width:1023px){.pslide--first{--side:16%}}
@media (max-width:600px){.pslide--first{--side:7%}}
.pslide--first img{transform:scale(calc(1.25 - var(--q0,0) * .25 + var(--out) * .06))}
.pslide:not(.pslide--first)::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--sand);opacity:calc(var(--q) * (1 - var(--q)) * 4);pointer-events:none}
.pscene__frame::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(rgba(14,2,4,0),rgba(14,2,4,.55));opacity:var(--q0,0);pointer-events:none}
.pscene__meta{position:absolute;left:var(--pad);bottom:clamp(36px,6vh,64px);z-index:2;color:#fff;opacity:calc((var(--q0,0) - .7) * 3.3);min-width:300px}
.pscene__meta p{margin:0;display:flex;align-items:baseline;gap:10px}
.pscene__num{font:300 46px/1 var(--serif);color:var(--sand);min-width:1.4em}
.pscene__of{font:400 13px var(--sans);letter-spacing:.1em;color:rgba(255,255,255,.75)}
.pscene__cap{margin-left:18px;font:500 11px var(--sans);letter-spacing:.28em;text-transform:uppercase;color:#fff;transition:opacity .45s var(--ease),transform .45s var(--ease)}
.pscene__cap.swap{opacity:0;transform:translateY(6px)}
.pscene__track{height:1px;background:rgba(255,255,255,.3);margin-top:18px;max-width:320px;overflow:hidden}
.pscene__track span{display:block;height:100%;background:var(--sand);transform-origin:left;transform:scaleX(var(--p,0))}
.pcta{padding:clamp(100px,11vw,170px) var(--pad)}
.pcta__rule{display:block;width:1px;height:70px;margin:0 auto 46px;background:linear-gradient(rgba(99,10,23,0),var(--rubrum))}
.pcta__text{margin:0 auto 46px;max-width:40ch;font:300 clamp(20px,1.7vw,28px)/1.55 var(--serif);color:var(--ink);text-wrap:balance}
.pcta__text b,.pcta__text strong{font-weight:400;font-style:italic;color:var(--rubrum)}
@media (max-width:767px){.pscene__intro{height:48%}.pscene__meta{min-width:0;right:var(--pad)}}
@media (prefers-reduced-motion:reduce){
  .pscene{height:auto}.pscene__sticky{position:relative;height:auto}
  .pscene__intro{position:relative;height:auto;padding:120px var(--pad) 50px;opacity:1;transform:none}
  .pscene__frame{position:relative;display:grid;gap:10px}.pslide,.pslide--first{position:relative;clip-path:none;aspect-ratio:16/9}.pslide img{transform:none;filter:none}
  .pscene__meta,.pscene__frame::after{display:none}
}

/* ===== Project slider ===== */
.slider{position:relative}
.slider__stage{position:relative;aspect-ratio:16/10;overflow:hidden;background:#2b1c1e;touch-action:pan-y;cursor:grab}
.slider__stage:active{cursor:grabbing}
.slide{position:absolute;inset:0;margin:0;clip-path:inset(0 0 0 100%);z-index:1;transition:clip-path 1.4s cubic-bezier(.77,0,.18,1)}
.slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.14);transition:transform 1.4s cubic-bezier(.77,0,.18,1);user-select:none}
.slide.from-left{clip-path:inset(0 100% 0 0)}
.slide.is-active{clip-path:inset(0 0 0 0);z-index:3}
.slide.is-active img{transform:scale(1);transition:transform 7.5s cubic-bezier(.2,.6,.2,1)}
.slide.is-leaving{clip-path:inset(0 0 0 0);z-index:2}
.slide.is-leaving img{transform:scale(1.06);transition:transform 1.4s cubic-bezier(.77,0,.18,1)}
.slider__bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:24px var(--pad) 0 0}
.slider__cap{margin:0;display:flex;align-items:baseline;gap:10px;font:400 14px var(--sans);color:var(--muted);min-width:220px}
.slider__num{font:300 34px/1 var(--serif);color:var(--rubrum)}
.slider__of{letter-spacing:.08em}
.slider__txt{margin-left:14px;font:700 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);transition:opacity .5s}
.slider__txt.swap{opacity:0}
.slider__progress{height:1px;background:rgba(99,10,23,.2);position:relative;overflow:hidden}
.slider__progress span{position:absolute;inset:0;background:var(--rubrum);transform:scaleX(0);transform-origin:left}
.slider__progress span.run{animation:mmmProg var(--dur,6000ms) linear forwards}
.slider.paused .slider__progress span.run{animation-play-state:paused}
@keyframes mmmProg{to{transform:scaleX(1)}}
.slider__nav{display:flex;gap:12px}
.slider__btn{width:54px;height:54px;border-radius:50%;border:1px solid var(--rubrum);background:transparent;color:var(--rubrum);display:grid;place-items:center;cursor:pointer;transition:background .4s,color .4s}
.slider__btn:hover{background:var(--rubrum);color:#fff}
.slider__btn svg{width:20px;height:20px}
@media (max-width:900px){.slider__bar{padding-right:0;grid-template-columns:1fr auto}.slider__progress{grid-column:1/-1;grid-row:2}.slider__cap{min-width:0}}
@media (prefers-reduced-motion:reduce){.slide,.slide img,.slide.is-active img{transition:none!important;transform:none!important}}

/* ===== Cards ===== */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,36px);margin-top:clamp(64px,7vw,120px)}
.card{position:relative;display:flex;flex-direction:column;background:#160407;overflow:hidden}
.card__img{position:relative;aspect-ratio:3/4;overflow:hidden;background:#2b1c1e}
.card__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,2,4,.25),rgba(14,2,4,.6));transition:background .8s var(--ease)}
.card__t{position:absolute;left:0;right:0;top:0;aspect-ratio:3/4;z-index:1;display:grid;place-items:center;align-content:center;gap:26px;text-align:center;padding:0 6%;color:var(--sand)}
.card__t h3{margin:0;font:300 clamp(18px,1.4vw,26px)/1.15 var(--serif);letter-spacing:.03em;overflow-wrap:normal;word-break:normal;hyphens:none;text-transform:uppercase}
.card__t h3 em{font-style:italic}
.plus{width:60px;height:60px;border-radius:50%;border:1px solid var(--sand);display:grid;place-items:center;transition:transform .7s var(--ease),background .5s}
.plus svg{width:18px;height:18px}
.card__d{padding:26px 28px 30px;text-align:center;font:400 15px/1.6 var(--sans);color:#CFC6B6;margin:0}
.card:hover .card__img::after{background:linear-gradient(180deg,rgba(99,10,23,.35),rgba(14,2,4,.75))}
.card:hover .plus{transform:rotate(90deg);background:rgba(210,194,162,.15)}
@media (max-width:1399px){.cards{grid-template-columns:repeat(2,1fr)}.card__img,.card__t{aspect-ratio:4/3.4}.card__t h3{font-size:clamp(17px,2.6vw,30px)}}
@media (max-width:600px){.cards{grid-template-columns:1fr}.card__t h3{font-size:clamp(22px,7vw,28px)}}

/* ===== Mosaic ===== */
.mosaic{display:grid;grid-template-columns:1fr 1fr 1.65fr 1.33fr;height:clamp(320px,38vw,700px);margin:clamp(64px,7vw,120px) auto 0;max-width:1800px}
.mosaic .frame{height:100%}
@media (max-width:760px){.mosaic{grid-template-columns:1fr 1fr;height:auto}.mosaic .frame{aspect-ratio:3/4}}

/* ===== Contact form ===== */
.form{display:grid;grid-template-columns:1fr 1fr;gap:52px 64px;position:relative}
.field{position:relative}
.field input{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:20px 22px 24px;
  font:300 italic clamp(22px,1.8vw,30px) var(--serif);color:var(--ink);border-radius:0;outline:none;box-shadow:none}
.field input::placeholder{color:var(--muted);opacity:1}
.field::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rubrum);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.field:focus-within::after{transform:scaleX(1)}
.form .pill{justify-self:start;margin-top:16px}
.form__msg{grid-column:1/-1;margin:0;padding:16px 20px;font:400 15px/1.5 var(--sans);border-left:2px solid var(--rubrum);background:rgba(255,255,255,.55)}
.form__msg:empty{display:none}
.form__msg--err{color:var(--rubrum)}
.form__msg--ok{border-color:#2E6B4E}
@media (max-width:640px){.form{grid-template-columns:1fr;gap:26px}}

/* ===== Inner pages ===== */
.page-hero{padding:clamp(170px,18vw,260px) var(--pad) clamp(80px,9vw,140px)}
.page-hero--full{min-height:100vh;display:grid;place-items:center}
.prose{max-width:760px;margin:0 auto;font:400 18px/1.75 var(--sans);color:var(--muted)}
.prose h2,.prose h3{font-family:var(--serif);font-weight:300;color:var(--rubrum);text-transform:uppercase;line-height:1.1;margin:1.8em 0 .6em}
.prose h2{font-size:clamp(30px,2.6vw,44px)}.prose h3{font-size:clamp(24px,2vw,32px)}
.prose a{color:var(--rubrum)}
.prose img,.prose__img{margin:2em 0;width:100%;height:auto}
.prose blockquote{margin:2em 0;padding-left:24px;border-left:1px solid var(--rubrum);font:300 italic 26px/1.4 var(--serif);color:var(--ink)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:64px 40px;max-width:1480px;margin:0 auto}
.post-card__img{display:block;aspect-ratio:4/3;margin-bottom:26px}
.post-card .label{margin-bottom:14px}
.post-card__t{font:300 clamp(24px,1.8vw,32px)/1.15 var(--serif);text-transform:uppercase;color:var(--rubrum);margin:0 0 14px}
.post-card__t a{text-decoration:none}
.pager{text-align:center;margin-top:80px}.pager .page-numbers{margin:0 8px;color:var(--rubrum)}
@media (max-width:900px){.posts{grid-template-columns:1fr}}

/* ===== Footer ===== */
.ftr{position:relative;isolation:isolate;background:var(--navy);color:var(--cloud);padding:0 var(--pad);overflow:hidden}
.ftr::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background:radial-gradient(60% 80% at 85% 0%,rgba(99,10,23,.35),transparent 70%),
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .8  0 0 0 0 .75  0 0 0 0 .65  0 0 0 .05 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.ftr__top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:36px;padding:clamp(80px,9vw,140px) 0 clamp(56px,6vw,90px);border-bottom:1px solid rgba(210,194,162,.22)}
.ftr__tag{margin:0;font:300 clamp(40px,5vw,92px)/.98 var(--serif);letter-spacing:-.015em;text-transform:uppercase;color:var(--sand)}
.ftr__tag em{font-style:italic}
.ftr__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr);gap:clamp(30px,4vw,72px);padding:clamp(56px,6vw,90px) 0}
.ftr__brand{display:flex;flex-direction:column;justify-content:space-between;gap:44px}
.ftr__logo{width:110px;height:auto}
.ftr__social{display:flex;gap:10px;align-items:center}
.ftr__social a{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(210,194,162,.3);border-radius:50%;transition:background .45s var(--ease),border-color .45s}
.ftr__social svg{width:15px;height:15px;fill:var(--sand);fill-rule:evenodd;transition:fill .45s}
.ftr__social a:hover{background:var(--sand);border-color:var(--sand)}
.ftr__social a:hover svg{fill:var(--navy)}
.ftr__h{font:500 11px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;margin:6px 0 30px;color:var(--sand)}
.ftr__h--right{text-align:left}
.ftr__list{list-style:none;margin:0 0 26px;padding:0}
.ftr__list li{margin:0 0 14px}
.ftr__list a{font:300 20px/1.25 var(--serif);color:var(--cloud);text-decoration:none;transition:color .4s,padding .5s var(--ease);display:inline-block}
.ftr__list a:hover{color:var(--sand);padding-left:6px}
.ftr__list--caps{margin-top:30px}
.ftr__list--caps a{font:400 11px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:rgba(231,232,233,.7)}
.sub{display:flex;align-items:center;border-bottom:1px solid rgba(210,194,162,.45);transition:border-color .4s}
.sub:focus-within{border-color:var(--sand)}
.sub input{flex:1;min-width:0;border:0;padding:14px 0;font:300 italic 20px var(--serif);color:var(--cloud);background:transparent;outline:none}
.sub input::placeholder{color:rgba(231,232,233,.55)}
.sub button{border:0;background:none;color:var(--sand);font:400 11px var(--sans);letter-spacing:.3em;text-transform:uppercase;padding:14px 0 14px 18px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:gap .4s var(--ease)}
.sub button::after{content:"";width:22px;height:1px;background:currentColor}
.sub button:hover{gap:16px}
.sub__msg{margin:14px 0 0;font:300 14px var(--sans);color:rgba(231,232,233,.75)}
.ftr__contact{margin-top:44px;display:grid;gap:6px}
.ftr__phone{font:300 30px/1 var(--serif);letter-spacing:.04em;color:var(--sand);text-decoration:none;margin-bottom:12px}
.ftr__addr{margin:0;font:300 14px/1.7 var(--sans);color:rgba(231,232,233,.75);max-width:34ch}
.ftr__hours{margin:14px 0 6px;font:300 14px/1.7 var(--sans);color:rgba(231,232,233,.75)}
.ftr__hours span{display:block;font:500 10px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--sand);margin-bottom:10px}
.ftr__mail{font:300 14px var(--sans);color:var(--cloud);text-decoration:none;border-bottom:1px solid rgba(210,194,162,.4);justify-self:start;padding-bottom:2px}
.ftr__mail:hover{color:var(--sand)}
.ftr__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 40px;border-top:1px solid rgba(210,194,162,.22);padding:28px 0 96px;font:400 10px var(--sans);letter-spacing:.28em;text-transform:uppercase}
.ftr__bottom nav{display:flex;flex-wrap:wrap;gap:12px 36px}
.ftr__bottom a{color:rgba(231,232,233,.7);text-decoration:none;transition:color .3s}.ftr__bottom a:hover{color:var(--sand)}
.ftr__bottom span{color:rgba(231,232,233,.5)}
@media (max-width:1023px){.ftr__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:56px}.ftr__grid>div:last-child{grid-column:1/-1}}
@media (max-width:600px){.ftr__grid{grid-template-columns:minmax(0,1fr)}.ftr{padding-bottom:84px}.ftr__bottom{justify-content:flex-start}}

/* ===== Side contact dock (pill, compact) ===== */
.dock{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:16px 5px 5px;background:rgba(25,33,39,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(210,194,162,.3);border-radius:60px;box-shadow:0 12px 32px rgba(0,0,0,.22)}
.dock a{color:var(--cloud);text-decoration:none;display:flex;flex-direction:column;align-items:center;text-align:center;transition:color .4s,background .4s}
.dock__item{gap:6px;padding:2px 4px 12px;font:400 8px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.dock__item:hover{color:var(--sand)}
.dock svg{width:18px;height:18px}
.dock__wa{fill:#4FCE5D}
.dock__book{width:62px;height:62px;border-radius:50%;background:var(--sand);color:var(--navy)!important;justify-content:center;gap:4px;font:500 9px/1.15 var(--sans);letter-spacing:.04em}
.dock__book svg{width:16px;height:16px}
.dock__book:hover{background:#fff}
.dock a:focus-visible{outline:2px solid var(--sand);outline-offset:3px}

/* ===== Help panel (bottom right) ===== */
.buddy{position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:61;display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.buddy__btn{display:flex;align-items:center;gap:12px;height:44px;padding:0 18px 0 6px;border-radius:60px;border:1px solid rgba(210,194,162,.4);
  background:rgba(25,33,39,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--cloud);cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:transform .45s var(--ease),border-color .45s}
.buddy__btn:hover{transform:translateY(-2px);border-color:var(--sand)}
.buddy__ic{width:32px;height:32px;border-radius:50%;background:var(--sand);color:var(--navy);display:grid;place-items:center}
.buddy__ic svg{width:14px;height:14px}
.buddy__label{font:400 11px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase}
.buddy__dot{width:6px;height:6px;border-radius:50%;background:var(--sand);animation:mmmPulse 2.4s ease-in-out infinite}
@keyframes mmmPulse{0%,100%{opacity:1}50%{opacity:.3}}
.buddy__panel{width:min(380px,calc(100vw - 32px));background:rgba(25,33,39,.97);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--cloud);
  border:1px solid rgba(210,194,162,.3);border-radius:18px;padding:24px 24px 20px;box-shadow:0 30px 80px rgba(0,0,0,.35);transform-origin:bottom right;animation:mmmPop .5s var(--ease)}
@keyframes mmmPop{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.buddy__top{display:flex;justify-content:space-between;align-items:flex-start}
.buddy__mark{height:26px;width:auto}
.buddy__close{border:0;background:none;color:rgba(231,232,233,.7);width:32px;height:32px;display:grid;place-items:center;cursor:pointer;margin:-6px -6px 0 0;transition:color .3s}
.buddy__close:hover{color:var(--sand)}
.buddy__close svg{width:18px;height:18px}
.buddy__title{margin:20px 0 6px;font:300 28px/1.1 var(--serif);color:var(--sand)}
.buddy__sub{margin:0 0 18px;font:300 14px/1.5 var(--sans);color:rgba(231,232,233,.75)}
.buddy__box{border-top:1px solid rgba(210,194,162,.22);padding-top:18px}
.buddy__step{display:flex;flex-direction:column;gap:10px}
.buddy__step[hidden]{display:none}
.buddy__count{margin:0 0 6px;font:400 10px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:rgba(231,232,233,.55)}
.buddy__opt{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 20px;border-radius:40px;border:1px solid rgba(210,194,162,.45);background:transparent;color:var(--cloud);
  font:400 11px var(--sans);letter-spacing:.24em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .4s var(--ease),color .4s,border-color .4s}
.buddy__opt::after{content:"";width:18px;height:1px;background:currentColor;transition:width .4s var(--ease)}
.buddy__opt:hover{background:var(--sand);color:var(--navy);border-color:var(--sand)}
.buddy__opt:hover::after{width:28px}
.buddy__opt--line{border-color:rgba(231,232,233,.25)}
.buddy__back{align-self:flex-start;border:0;background:none;padding:6px 0;font:400 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(231,232,233,.6);cursor:pointer}
.buddy__back:hover{color:var(--sand)}
.buddy__btn:focus-visible,.buddy__opt:focus-visible,.buddy__close:focus-visible,.buddy__back:focus-visible{outline:2px solid var(--sand);outline-offset:3px}

@media (max-width:1023px){
  .dock{top:auto;transform:none;right:auto;left:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));flex-direction:row;gap:4px;padding:4px 4px 4px 12px;border-radius:50px}
  .dock__item{width:44px;height:44px;padding:0;justify-content:center}.dock__item span{display:none}
  .dock a.dock__book{width:auto;height:44px;border-radius:40px;flex-direction:row;gap:6px;padding:0 16px;font-size:11px}
  .dock__book br{display:none}
  .buddy{right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}
  .buddy__btn{padding:0 6px;width:44px;justify-content:center}.buddy__label,.buddy__dot{display:none}
}
@media (prefers-reduced-motion:reduce){.buddy__dot,.buddy__panel{animation:none}}

/* ===== Motion ===== */
.js .split-words .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.js .split-words .wi{display:inline-block;transform:translateY(108%);transition:transform 1.25s var(--ease);transition-delay:calc(var(--i)*60ms)}
.js .split-words.in .wi{transform:none}
.js .fade{opacity:0;transform:translateY(26px);transition:opacity 1.4s var(--ease),transform 1.4s var(--ease);transition-delay:var(--d,0ms)}
.js .fade.in{opacity:1;transform:none}
.js .ask.fade{transform:translate(-50%,20px)}
.js .ask.fade.in{transform:translate(-50%,0)}
.js .reveal{clip-path:inset(14% 0 0 0);transition:clip-path 1.6s var(--ease)}
.js .reveal img{transform:scale(1.18);transition:transform 2.2s var(--ease)}
.js .reveal.in{clip-path:inset(0)}
.js .reveal.in img{transform:scale(1)}
.card .reveal img{transition:transform 1.4s var(--ease)!important}
.card:hover .reveal.in img{transform:scale(1.09)}
.hero .split-words .wi{transition-duration:1.6s}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  .js .split-words .wi,.js .fade,.js .reveal,.js .reveal img{transition:none!important;transform:none!important;opacity:1!important;clip-path:none!important}
  .js .ask.fade{transform:translateX(-50%)!important}}


#project .split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
@media (max-width:900px){#project .split{grid-template-columns:1fr}}

@media (max-width:1180px){#contact .two-col{grid-template-columns:1fr;gap:48px}}
@media (max-width:600px){.feature .serif-caps br,.scene__text br{display:none}.feature .serif-caps{text-wrap:balance;padding:0 6px}}
@media (max-width:1023px){
  .hdr__logo{display:flex;align-items:center;min-height:44px}
  .hdr__menu{min-height:44px}
  .ask input{min-height:44px}.ask button{min-height:44px}
  .ftr__social a{width:44px;height:44px}
  .ftr__list a{padding:8px 0}.ftr__list li{margin:0 0 4px}
  .ftr__bottom a{display:inline-block;padding:17px 0}
  .ftr__list--caps a{padding:16px 0}
  .ftr__phone{display:inline-block;padding:7px 0}
  .ftr__mail{border-bottom:0;text-decoration:underline;text-decoration-color:rgba(210,194,162,.5);text-underline-offset:4px;padding:13px 0}
  .mute{width:44px;height:44px}
  .pill{min-height:48px}
}
.post-card__t a{display:inline-block;padding:8px 0}
.mmm-builder .builder-content{padding-top:90px}
@media (max-width:1180px){.mmm-builder .builder-content{padding-top:76px}}

/* ===== Our Story page ===== */
.shero{position:relative;height:100vh;height:100svh;min-height:600px;overflow:hidden;background:#0E0204;color:#fff;display:grid;place-items:center;text-align:center}
.shero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% 40%}
.shero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,2,4,.45),rgba(14,2,4,.05) 35%,rgba(14,2,4,.15) 60%,rgba(14,2,4,.85));pointer-events:none}
.shero__in{position:relative;z-index:1;padding:0 var(--pad)}
.shero .h{color:#fff;font-size:clamp(40px,4.6vw,84px);text-shadow:0 2px 30px rgba(0,0,0,.25)}
.shero .h em{color:var(--sand)}
.shero__cue{position:absolute;left:50%;bottom:44px;z-index:1;width:1px;height:80px;background:linear-gradient(rgba(210,194,162,0),var(--sand));transform-origin:top;animation:mmmLine 2.8s var(--ease) infinite}
.glance{padding-top:clamp(120px,13vw,200px);padding-bottom:clamp(120px,13vw,200px)}
.glance__mark{height:30px;width:auto;margin:0 auto 36px}
.glance .h{margin-bottom:clamp(36px,4vw,56px)}
.glance__text{margin:0 auto 26px;max-width:44ch;font:300 clamp(19px,1.6vw,27px)/1.6 var(--serif);color:rgba(231,232,233,.88);text-wrap:balance}
.trio{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(0,.9fr);align-items:center;gap:clamp(30px,4vw,80px);max-width:1680px;margin:0 auto}
.trio__title{text-align:center}
.trio__media{aspect-ratio:770/1100;max-height:84vh;width:100%;justify-self:center}
.trio__text{margin:0 auto;max-width:34ch;font:300 clamp(16px,1.15vw,19px)/1.85 var(--sans);color:var(--muted);text-align:center;text-wrap:pretty}
.trio+.trio--alt{padding-top:0}
.approach{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--cloud);position:relative}
.approach__media{position:relative}
.approach__sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.approach__sticky img{width:100%;height:100%;object-fit:cover}
.approach__sticky::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,2,4,.1),rgba(14,2,4,.45))}
.approach__title{position:absolute;z-index:1;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;color:#fff!important;font-size:clamp(34px,3.4vw,60px)}
.approach__title em{color:var(--sand)}
.approach__list{padding:0 var(--pad) 0 clamp(40px,6vw,110px)}
.approach__item{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:80px 0;border-bottom:1px solid var(--line)}
.approach__item:last-child{border-bottom:0}
.approach__sketch{width:min(380px,80%);height:auto;margin-bottom:46px;mix-blend-mode:multiply;opacity:.88}
.approach__item h3{margin:0 0 20px;font:300 clamp(26px,2.2vw,40px)/1.1 var(--serif);text-transform:uppercase;letter-spacing:.02em;color:var(--rubrum)}
.approach__item p{margin:0;max-width:36ch;font:300 17px/1.8 var(--sans);color:var(--muted)}
.ceo{background:#fff}
.ceo__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1.2fr);gap:clamp(40px,5vw,96px);align-items:center;max-width:1580px;margin:0 auto}
.ceo--text .ceo__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}
.ceo__head{text-align:center}
.ceo__photo{aspect-ratio:4/5;max-height:80vh}
.ceo__photo img{object-position:50% 20%}
.ceo__name{margin:0;font:300 clamp(24px,2vw,34px)/1.15 var(--serif);text-transform:uppercase;letter-spacing:.03em;color:var(--rubrum)}
.ceo__role{margin:12px 0 0;font:400 12px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.ceo__kicker{margin:clamp(36px,4vw,56px) 0 18px;font:700 11px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--rubrum)}
.ceo__quote{position:relative;margin:0;padding:46px 0 0 clamp(26px,3vw,44px);border-left:1px solid var(--line)}
.ceo__mark{position:absolute;left:clamp(22px,2.6vw,38px);top:-6px;font:300 120px/1 var(--serif);color:rgba(99,10,23,.14);pointer-events:none}
.ceo__quote p{position:relative;margin:0 0 22px;font:300 clamp(21px,1.8vw,30px)/1.45 var(--serif);color:var(--ink);text-wrap:pretty}
.ceo__quote p em{color:var(--rubrum)}
.ceo__quote .ceo__more{font:300 16px/1.8 var(--sans);color:var(--muted);margin:0}
.ceo+.pcta{padding-top:0;background:#fff}
.ceo+.pcta::before{display:none}
.pcta__btns{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
@media (max-width:1023px){
  .trio{grid-template-columns:1fr;gap:34px;max-width:620px}
  .trio__media{max-height:none}
  .approach{grid-template-columns:1fr}
  .approach__sticky{position:relative;height:70svh}
  .approach__list{padding:0 var(--pad)}
  .approach__item{min-height:auto;padding:80px 0}
  .ceo__grid,.ceo--text .ceo__grid{grid-template-columns:1fr;max-width:640px}
  .ceo__head{text-align:left}
}
@media (prefers-reduced-motion:reduce){.shero__cue{animation:none}}
.section.light+.pcta{padding-top:0}

/* ===== Our Story: signature motion ===== */
.shero__curtain{position:absolute;inset:0;z-index:3;background:#120306;transform-origin:top;pointer-events:none;transition:transform 1.6s cubic-bezier(.77,0,.18,1) .15s}
.story-ready .shero__curtain{transform:scaleY(0)}
.shero__img{transform:scale(calc(1.16 - var(--hs-in,0) * .16 + var(--hs,0) * .12)) translateY(calc(var(--hs,0) * 6%));transition:transform 2.6s cubic-bezier(.2,.7,.15,1)}
.story-ready .shero__img{--hs-in:1}
.shero.scrolling .shero__img{transition:none}
.shero__in{opacity:calc(1 - var(--hs,0) * 1.6);transform:translateY(calc(var(--hs,0) * -70px))}
.shero__rule{display:block;height:1px;width:0;margin:26px auto 0;background:var(--sand);transition:width 1.6s var(--ease) 1.5s}
.story-ready .shero__rule{width:90px}
.fill-words .fw{opacity:.16;transition:opacity .5s ease}
.fill-words .fw.on{opacity:1}
.draw-line{display:block;height:1px;width:56px;margin:0 auto 26px;background:var(--rubrum);transform:scaleX(0);transition:transform 1.4s var(--ease)}
.draw-line.in{transform:scaleX(1)}
.js .wipe{clip-path:inset(0 50% 0 50%);transition:clip-path 1.8s cubic-bezier(.77,0,.18,1)}
.js .wipe img{transform:scale(1.25);transition:transform 2.6s var(--ease)}
.js .wipe.in{clip-path:inset(0 0 0 0)}
.js .wipe.in img{transform:scale(1)}
.js .draw{clip-path:inset(0 100% 0 0);transition:clip-path 2.4s cubic-bezier(.6,.05,.2,1)}
.js .draw.in{clip-path:inset(0 0 0 0)}
.approach__steps{position:absolute;z-index:1;left:clamp(24px,3vw,48px);bottom:clamp(30px,5vh,56px);list-style:none;margin:0;padding:0;display:grid;gap:12px}
.approach__steps li{display:flex;align-items:center;gap:14px;font:400 10px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.45);transition:color .6s var(--ease)}
.approach__steps li span{display:inline-block;width:22px;height:1px;background:currentColor;font-size:0;transition:width .6s var(--ease)}
.approach__steps li.on{color:#fff}
.approach__steps li.on span{width:46px;background:var(--sand)}
.ceo__quote{border-left:0}
.ceo__quote::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--rubrum);transform-origin:top;transform:scaleY(0);transition:transform 1.8s var(--ease)}
.draw-quote.in::before{transform:scaleY(1)}
.ceo__mark{transform:scale(.6);opacity:0;transition:transform 1.4s var(--ease) .3s,opacity 1.4s var(--ease) .3s}
.draw-quote.in .ceo__mark{transform:none;opacity:1}
.draw-quote p{opacity:0;transform:translateY(16px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
.draw-quote.in p{opacity:1;transform:none}
.draw-quote.in p+p{transition-delay:.35s}
@media (max-width:1023px){.approach__steps{display:none}}
@media (prefers-reduced-motion:reduce){
  .shero__curtain{display:none}.shero__img,.shero__in{transform:none!important;opacity:1!important;transition:none}
  .shero__rule{width:90px;transition:none}.fill-words .fw{opacity:1}
  .draw-line,.js .wipe,.js .wipe img,.js .draw,.ceo__quote::before,.ceo__mark,.draw-quote p{transform:none!important;clip-path:none!important;opacity:1!important;transition:none!important}
}

/* ===== Forms: extra fields, consent, sending state ===== */
.field--full{grid-column:1/-1}
.field select,.field textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:20px 22px 24px;font:300 italic 20px var(--serif);color:var(--ink);outline:none;border-radius:0;-webkit-appearance:none;appearance:none}
.field textarea{resize:vertical;min-height:72px;line-height:1.5}
.field textarea::placeholder{color:var(--muted);opacity:1}
.field select{cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--rubrum) 50%),linear-gradient(135deg,var(--rubrum) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.consent{display:flex;align-items:flex-start;gap:14px;font:300 13px/1.6 var(--sans);color:var(--muted);cursor:pointer}
.consent input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--rubrum);cursor:pointer}
.consent a{color:var(--rubrum)}
.consent--dark{margin-top:16px;color:rgba(231,232,233,.65);font-size:12px}
.consent--dark input{accent-color:var(--sand)}
.is-invalid{border-bottom-color:var(--rubrum)!important}
.consent.is-invalid span{color:var(--rubrum)}
.consent--dark.is-invalid span{color:var(--sand)}
.js-ajax-form.is-sending button[type=submit]{opacity:.55;pointer-events:none}
.sub__msg:empty{display:none}
@media (max-width:600px){.form{grid-template-columns:1fr;gap:34px}}

/* ===== Contact dock: hidden over the hero, shown after it, popup from "Ask us anything" ===== */
.dock{transition:opacity .6s var(--ease),transform .6s var(--ease),visibility .6s}
.js .dock.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(calc(-50% + 24px))}
.dock__close{display:none;position:absolute;top:-14px;right:-10px;width:30px;height:30px;border-radius:50%;border:1px solid rgba(210,194,162,.5);background:var(--navy);color:var(--cloud);place-items:center;cursor:pointer;padding:0;transition:background .4s,color .4s}
.dock__close svg{width:14px;height:14px}
.dock__close:hover{background:var(--sand);color:var(--navy)}
.dock.is-popup .dock__close{display:grid}
.dock.is-popup{z-index:72;box-shadow:0 0 0 1px rgba(210,194,162,.45),0 24px 60px rgba(0,0,0,.4);animation:mmmDockPop .55s var(--ease)}
@keyframes mmmDockPop{from{opacity:0;transform:translateY(calc(-50% + 18px)) scale(.94)}to{opacity:1;transform:translateY(-50%) scale(1)}}
.dock-veil{position:fixed;inset:0;z-index:71;background:rgba(14,2,4,.35);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .5s var(--ease)}
.dock-veil.on{opacity:1}
@media (max-width:1023px){
  .js .dock.is-hidden{transform:translateY(24px)}
  .dock__close{top:-12px;right:-12px}
  .dock.is-popup{left:50%;right:auto;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);animation:mmmDockPopM .55s var(--ease)}
  @keyframes mmmDockPopM{from{opacity:0;transform:translate(-50%,18px) scale(.94)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
  .dock.is-popup .dock__item span{display:block;font-size:8px}
  .dock.is-popup .dock__item{width:auto;height:auto;padding:8px 10px;gap:5px}
}
@media (prefers-reduced-motion:reduce){.dock,.dock-veil{transition:none}.dock.is-popup{animation:none}}
@media (max-width:1023px){.consent{min-height:44px;align-items:center}.consent input{width:22px;height:22px;margin:0}}

/* ===== Exclusive services carousel ===== */
.svc{--ivory:#EFE9DE;background:var(--ivory);padding:clamp(100px,11vw,180px) 0 clamp(90px,10vw,150px);overflow:hidden;position:relative}
.svc::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .4  0 0 0 0 .3  0 0 0 0 .2  0 0 0 .05 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.svc__head{position:relative;padding:0 var(--pad);margin-bottom:clamp(54px,6vw,90px)}
.svc__text{margin:26px auto 0;max-width:46ch;font:300 clamp(16px,1.15vw,18px)/1.8 var(--sans);color:var(--muted);text-wrap:balance}
.svc{--vis:4.35;--gap:clamp(14px,1.4vw,24px)}
.svc__viewport{position:relative;padding-left:var(--pad);outline:none;clip-path:inset(-12px -12px -12px calc(var(--pad) - 1px));cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.svc__viewport:focus-visible{outline:2px solid var(--rubrum);outline-offset:6px}
.svc__viewport.dragging{cursor:grabbing}
.svc__track{list-style:none;margin:0;padding:0;display:flex;gap:var(--gap);will-change:transform;transition:transform 1.1s cubic-bezier(.65,0,.2,1)}
.svc__track.no-anim{transition:none}
.svc__card{position:relative;flex:0 0 calc((100vw - var(--pad) - var(--gap) * 4) / var(--vis));aspect-ratio:3/4;overflow:hidden;background:#2b2321;color:#fff}
.svc__media{position:absolute;inset:0}
.svc__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.6s var(--ease)}
.svc__card:hover .svc__media img{transform:scale(1.1)}
.svc__card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,12,0) 45%,rgba(20,14,12,.72));pointer-events:none}
.svc__card--empty .svc__media{display:grid;place-items:center;background:
  radial-gradient(120% 80% at calc(20% + var(--i) * 9%) 10%,rgba(210,194,162,.32),transparent 60%),
  linear-gradient(160deg,hsl(calc(20 + var(--i) * 4) 14% calc(30% - var(--i) * 1.4%)),hsl(calc(10 + var(--i) * 3) 18% 12%))}
.svc__mark{width:34%;max-width:120px;opacity:.16}
.svc__hint{position:absolute;left:16px;right:16px;top:16px;font:400 11px/1.4 var(--sans);color:rgba(255,255,255,.7);letter-spacing:.04em}
.svc__t{position:absolute;z-index:1;left:0;right:0;bottom:0;margin:0;padding:0 clamp(18px,1.8vw,30px) clamp(24px,2.4vw,38px);font:300 clamp(18px,1.45vw,26px)/1.15 var(--serif);letter-spacing:.06em;text-transform:uppercase;color:#fff;text-align:center}
.svc__t span{position:relative;display:inline-block;padding-bottom:12px}
.svc__t span::after{content:"";position:absolute;left:50%;bottom:0;width:26px;height:1px;background:var(--sand);transform:translateX(-50%);transition:width .8s var(--ease)}
.svc__card:hover .svc__t span::after{width:100%}
.svc__bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:clamp(30px,3vw,46px);padding:0 var(--pad)}
.svc__progress{flex:1;max-width:340px;height:1px;background:rgba(99,10,23,.18);overflow:hidden}
.svc__progress span{display:block;height:100%;background:var(--rubrum);transform-origin:left;transform:scaleX(var(--sp,.125));transition:transform 1.1s cubic-bezier(.65,0,.2,1)}
.svc__nav{display:flex;gap:12px}
.svc__btn{width:52px;height:52px;border-radius:50%;border:1px solid rgba(99,10,23,.5);background:transparent;color:var(--rubrum);display:grid;place-items:center;cursor:pointer;transition:background .45s var(--ease),color .45s,border-color .45s}
.svc__btn:hover{background:var(--rubrum);color:#fff;border-color:var(--rubrum)}
.svc__btn:focus-visible{outline:2px solid var(--rubrum);outline-offset:3px}
.svc__btn svg{width:18px;height:18px}
@media (max-width:1180px){.svc{--vis:3.3}}
@media (max-width:1023px){.svc{--vis:2.35}}
@media (max-width:600px){.svc{--vis:1.2}.svc__t{font-size:22px}}
@media (prefers-reduced-motion:reduce){.svc__track,.svc__progress span,.svc__media img{transition:none}}

/* ===== Contact Us page ===== */
.chero .shero__img{object-position:60% 50%}
.cforms{padding-top:clamp(90px,10vw,160px)}
.cforms__intro{margin-bottom:clamp(50px,6vw,80px)}
.cforms__lead{margin:0 auto;max-width:52ch;font:300 clamp(18px,1.45vw,24px)/1.6 var(--serif);color:var(--ink);text-wrap:balance}
.ctabs{position:relative;display:flex;justify-content:center;gap:clamp(20px,4vw,64px);max-width:760px;margin:0 auto;border-bottom:1px solid var(--line)}
.ctabs__tab{position:relative;background:none;border:0;padding:18px 4px 20px;min-height:48px;font:500 11px/1.3 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:color .5s var(--ease)}
.ctabs__tab:hover{color:var(--ink)}
.ctabs__tab.is-on{color:var(--rubrum)}
.ctabs__tab:focus-visible{outline:2px solid var(--rubrum);outline-offset:4px}
.ctabs__ink{position:absolute;bottom:-1px;left:0;height:2px;width:0;background:var(--rubrum);transition:transform .7s cubic-bezier(.65,0,.2,1),width .7s cubic-bezier(.65,0,.2,1)}
.cpanels{position:relative;max-width:820px;margin:clamp(50px,6vw,80px) auto 0}
.cpanel[hidden]{display:none}
.cpanel__title{margin:0 0 clamp(36px,4vw,56px);text-align:center;font:300 clamp(30px,3vw,52px)/1.05 var(--serif);text-transform:uppercase;letter-spacing:.01em;color:var(--rubrum)}
.cpanel__title em{font-style:italic}
.cpanel.entering .cpanel__title,.cpanel.entering .cfield,.cpanel.entering .consent,.cpanel.entering .cform__foot{opacity:0;transform:translateY(18px)}
.cpanel .cpanel__title,.cpanel .cfield,.cpanel .consent,.cpanel .cform__foot{transition:opacity .8s var(--ease),transform .8s var(--ease)}
.cform{display:grid;grid-template-columns:1fr 1fr;gap:34px 48px}
.cfield{position:relative;padding-top:22px}
.cfield:nth-of-type(n+5),.cform .consent,.cform__foot,.cform .form__msg{grid-column:1/-1}
.cfield label{position:absolute;left:0;top:36px;font:300 italic clamp(19px,1.5vw,24px)/1 var(--serif);color:var(--muted);pointer-events:none;transform-origin:left top;transition:transform .5s var(--ease),color .5s var(--ease),top .5s var(--ease)}
.cfield.filled label,.cfield:focus-within label,.cfield--fixed label{top:0;transform:scale(.62);font-style:normal;letter-spacing:.24em;text-transform:uppercase;color:var(--rubrum);font-family:var(--sans);font-weight:500}
.cfield input,.cfield select,.cfield textarea{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:12px 0 14px;font:300 clamp(18px,1.4vw,22px)/1.4 var(--serif);color:var(--ink);outline:none;-webkit-appearance:none;appearance:none}
.cfield textarea{resize:vertical;min-height:110px}
.cfield select{cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--rubrum) 50%),linear-gradient(135deg,var(--rubrum) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:30px}
.cfield select:invalid{color:transparent}
.cfield__line{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rubrum);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.cfield:focus-within .cfield__line{transform:scaleX(1)}
.cfield .is-invalid~.cfield__line,.cfield.is-invalid .cfield__line{transform:scaleX(1);background:#B3261E}
.cphone{display:flex;align-items:flex-end;gap:16px}
.cphone__code{flex:0 0 auto;width:auto!important;min-width:120px;font-family:var(--sans)!important;font-style:normal!important;font-size:14px!important;letter-spacing:.04em;color:var(--ink)!important}
.cphone input::placeholder{color:transparent}
.cfield:focus-within .cphone input::placeholder{color:rgba(25,33,39,.3)}
.cform__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:6px}
.pill--fill{background:var(--rubrum);color:#fff;border-color:var(--rubrum)}
.pill--fill:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.cform__alt{font:400 12px/1.4 var(--sans);letter-spacing:.06em;color:var(--rubrum);text-decoration:underline;text-underline-offset:4px;padding:12px 0}
.visit{text-align:center}
.visit .h{color:var(--sand)}
.visit__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(30px,4vw,70px);max-width:1280px;margin:clamp(50px,6vw,90px) auto 0}
.visit__rule{width:40px;margin:0 auto 26px;background:var(--sand)}
.visit__col h3{margin:0 0 18px;font:300 clamp(20px,1.6vw,26px)/1.2 var(--serif);text-transform:uppercase;letter-spacing:.04em;color:var(--sand)}
.visit__col p{margin:0 0 14px;font:300 15px/1.8 var(--sans);color:rgba(231,232,233,.82)}
.visit__big{font:300 clamp(24px,2vw,32px)/1.2 var(--serif);color:var(--cloud);text-decoration:none;background:linear-gradient(var(--sand),var(--sand)) left bottom/0 1px no-repeat;padding-bottom:4px;transition:background-size .7s var(--ease),color .5s}
.visit__big--sm{font-size:clamp(18px,1.5vw,24px);word-break:break-word}
.visit__big:hover{background-size:100% 1px;color:var(--sand)}
.visit__small{font-size:13px!important;color:rgba(231,232,233,.6)!important}
.visit__link{display:inline-block;padding:12px 0;font:500 11px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--sand);text-decoration:none;border-bottom:1px solid rgba(210,194,162,.45)}
.visit__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px!important}
@media (max-width:800px){.cform{grid-template-columns:1fr;gap:26px}.visit__grid{grid-template-columns:1fr;gap:56px}.ctabs{gap:18px}.ctabs__tab{letter-spacing:.16em;font-size:10px}}
@media (prefers-reduced-motion:reduce){.ctabs__ink,.cpanel .cpanel__title,.cpanel .cfield,.cpanel .consent,.cpanel .cform__foot,.cfield label,.cfield__line{transition:none}}
@media (max-width:1023px){.visit__link{padding:15px 0}.visit__big{display:inline-block;padding:12px 0 8px}}
@media (max-width:767px){.chero .shero__img{object-position:74% 55%}.shero__img{object-position:32% 40%}.chero .shero__img{object-position:74% 55%}}
.hdr-space{height:96px}
@media (max-width:1180px){.hdr-space{height:80px}}
