/* ==========================================================================
   MEJA HAUS ARCHITECTS — Bespoke Luxury Editorial System
   Charcoal + warm ivory / sand / antique brass. Cormorant + Jost.
   CSS Grid, no boxed cards, cinematic scale.
   ========================================================================== */

/* --------------------------------------------------------------- TOKENS */
:root{
  --char:#17130f;         /* charcoal, warm */
  --char-2:#211a14;
  --char-3:#2b231b;
  --ink:#241d17;          /* text on ivory */
  --paper:#faf6ef;        /* lightest */
  --ivory:#f3ece0;        /* warm ivory base */
  --ivory-2:#ece3d4;
  --sand:#cdb891;
  --sand-deep:#b6996b;
  --stone:#8c847a;
  --brass:#a37a3b;
  --brass-2:#bd9459;
  --wood:#3c2b1e;
  --muted:#776d61;
  --muted-2:#938a7e;

  --line:rgba(36,29,23,.16);
  --line-soft:rgba(36,29,23,.08);
  --line-iv:rgba(243,236,224,.18);
  --muted-iv:rgba(243,236,224,.6);

  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Jost','Helvetica Neue',Arial,sans-serif;

  --maxw:1560px;
  --pad:clamp(24px,6vw,120px);
  --ease:cubic-bezier(.62,.01,.06,.99);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

/* --------------------------------------------------------------- RESET */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
body{
  margin:0;font-family:var(--sans);font-weight:300;color:var(--ink);
  background:var(--ivory);line-height:1.75;font-size:16px;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
button{font-family:inherit;cursor:pointer}
::selection{background:var(--sand);color:var(--ink)}
body.no-scroll{overflow:hidden}
::-webkit-scrollbar{width:9px}
::-webkit-scrollbar-track{background:var(--ivory-2)}
::-webkit-scrollbar-thumb{background:var(--sand-deep)}

/* --------------------------------------------------------------- TYPE */
h1,h2,h3,h4,h5{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.01em;margin:0 0 .35em;color:inherit}
.d1{font-size:clamp(2.9rem,7vw,7.6rem);font-weight:400;letter-spacing:-.015em;line-height:1}
.d2{font-size:clamp(2rem,4.4vw,4.2rem);line-height:1.02}
h2{font-size:clamp(1.9rem,3.6vw,3.3rem)}
h3{font-size:clamp(1.5rem,2.2vw,2.2rem)}
p{margin:0 0 1.3rem}
.lead{font-size:clamp(1.08rem,1.5vw,1.4rem);line-height:1.65;color:var(--muted);font-weight:300}
.serif-it{font-family:var(--serif);font-style:italic}
.tighten{letter-spacing:-.02em}

.kicker{
  font-family:var(--sans);font-size:.72rem;font-weight:400;letter-spacing:.4em;
  text-transform:uppercase;color:var(--brass);display:inline-flex;align-items:center;gap:16px;
}
.kicker::before{content:"";width:40px;height:1px;background:var(--brass);opacity:.6}
.kicker.solo::before{display:none}
.kicker.on-dark{color:var(--sand)}
.kicker.on-dark::before{background:var(--sand)}
.num-tag{font-family:var(--serif);font-style:italic;color:var(--brass);font-size:1.1rem}

/* --------------------------------------------------------------- LAYOUT */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.bleed{width:100%}
.sec{padding-block:clamp(90px,13vw,220px);position:relative}
.sec-sm{padding-block:clamp(60px,8vw,120px)}
.dark{background:var(--char);color:var(--paper)}
.dark h1,.dark h2,.dark h3,.dark h4{color:var(--paper)}
.sand-bg{background:var(--sand)}
.paper-bg{background:var(--paper)}
.center{text-align:center}
.mtop{margin-top:clamp(28px,4vw,60px)}

/* --------------------------------------------------------------- CURSOR */
.cur,.cur-d{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;border-radius:50%;transform:translate(-50%,-50%)}
.cur-d{width:6px;height:6px;background:var(--brass);transition:opacity .3s}
.cur{width:46px;height:46px;border:1px solid rgba(163,122,59,.6);transition:width .4s var(--ease-out),height .4s var(--ease-out),background .4s,border-color .4s,opacity .3s;display:flex;align-items:center;justify-content:center}
.cur.grow{width:88px;height:88px;background:rgba(189,148,89,.14);border-color:transparent}
.cur.grow.label{background:var(--brass);border-color:var(--brass)}
.cur__t{font-family:var(--sans);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--char);opacity:0;transition:opacity .3s;font-weight:500}
.cur.grow.label .cur__t{opacity:1}
@media (hover:none),(max-width:900px){.cur,.cur-d{display:none!important}}

/* --------------------------------------------------------------- LOADER */
.loader{position:fixed;inset:0;z-index:10000;background:var(--char);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px}
.loader__logo{width:120px;height:auto;opacity:0;transform:translateY(14px)}
.loader__line{width:min(60vw,340px);height:1px;background:var(--line-iv);position:relative;overflow:hidden}
.loader__line span{position:absolute;inset:0;background:var(--sand);transform:scaleX(0);transform-origin:left}
.loader__txt{font-family:var(--sans);font-size:.66rem;letter-spacing:.5em;text-transform:uppercase;color:var(--muted-iv)}
.loader__pct{position:absolute;bottom:var(--pad);right:var(--pad);font-family:var(--serif);font-size:clamp(3rem,8vw,6rem);color:var(--paper);line-height:1}

/* --------------------------------------------------------------- NAV */
.nav{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:30px 0;transition:padding .5s var(--ease),background .5s var(--ease)}
.nav::after{content:"";position:absolute;inset:0;background:rgba(23,19,15,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;transition:opacity .5s var(--ease);z-index:-1;border-bottom:1px solid var(--line-iv)}
.nav.stuck{padding:16px 0}
.nav.stuck::after{opacity:1}
.nav__row{display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:14px;z-index:2}
.brand__mk{width:42px;height:42px;flex:0 0 auto;transition:transform .6s var(--ease-out)}
.brand:hover .brand__mk{transform:rotate(-4deg)}
.brand__img{height:56px;width:auto;display:block;transition:height .5s var(--ease)}
.nav.stuck .brand__img{height:46px}
.brand__tx{display:flex;flex-direction:column;line-height:1}
.brand__n{font-family:var(--serif);font-size:1.34rem;letter-spacing:.06em;color:var(--paper)}
.brand__s{font-family:var(--sans);font-size:.52rem;letter-spacing:.42em;text-transform:uppercase;color:var(--sand);margin-top:5px}
.menu{display:flex;gap:clamp(20px,2.4vw,44px);align-items:center}
.menu a{position:relative;font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(243,236,224,.82);padding:6px 0;transition:color .35s}
.menu a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--sand);transition:width .45s var(--ease-out)}
.menu a:hover,.menu a.active{color:var(--paper)}
.menu a:hover::after,.menu a.active::after{width:100%}
.nav__cta{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--paper);border:1px solid var(--line-iv);padding:12px 24px;transition:.45s var(--ease)}
.nav__cta:hover{background:var(--sand);border-color:var(--sand);color:var(--char)}
.burger{display:none;width:44px;height:44px;position:relative;background:none;border:1px solid var(--line-iv);z-index:2;padding:0}
.burger span{position:absolute;left:11px;right:11px;height:1px;background:var(--paper);transition:.4s var(--ease)}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){bottom:16px}
.burger.open span:nth-child(1){top:21px;transform:rotate(45deg)}
.burger.open span:nth-child(2){bottom:21px;transform:rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:999;background:var(--char);display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad);clip-path:circle(0 at 100% 0);transition:clip-path .85s var(--ease);pointer-events:none}
.mnav.open{clip-path:circle(150% at 100% 0);pointer-events:auto}
.mnav a{font-family:var(--serif);font-size:clamp(2.2rem,10vw,4rem);color:var(--paper);padding:8px 0;display:flex;align-items:baseline;gap:18px;opacity:0;transform:translateY(28px)}
.mnav a span{font-family:var(--sans);font-size:.7rem;color:var(--sand);letter-spacing:.1em}
.mnav.open a{animation:mn .6s var(--ease-out) forwards}
.mnav a:hover{color:var(--sand)}
.mnav__meta{margin-top:44px;color:var(--muted-iv);font-size:.9rem}
.mnav__meta a{font-family:var(--sans);font-size:.9rem;color:var(--sand);display:inline}
@keyframes mn{to{opacity:1;transform:none}}

/* --------------------------------------------------------------- BUTTONS / LINKS */
.mlink{display:inline-flex;align-items:center;gap:16px;font-size:.76rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);padding-bottom:8px;position:relative}
.mlink::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--line);transition:.5s var(--ease)}
.mlink i,.mlink .ar{transition:transform .5s var(--ease-out)}
.mlink:hover i,.mlink:hover .ar{transform:translateX(8px)}
.mlink:hover::after{background:var(--brass)}
.mlink.on-dark{color:var(--paper)}
.mlink.on-dark::after{background:var(--line-iv)}
.mlink.on-dark:hover::after{background:var(--sand)}
.ar{display:inline-block;width:34px;height:1px;background:currentColor;position:relative}
.ar::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}

/* --------------------------------------------------------------- HERO */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;background:var(--char);display:flex;align-items:flex-end}
.hero__img{position:absolute;inset:-8% 0 -8% 0;z-index:0;will-change:transform}
.hero__img img{width:100%;height:100%;object-fit:cover;filter:brightness(.66) contrast(1.02) saturate(.98)}
.hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}
.hero__slide.is-active{opacity:1}
.hero__slide img{will-change:transform}
.hero__slide.is-active img{animation:heroKen 7.5s ease-out forwards}
@keyframes heroKen{from{transform:scale(1.03)}to{transform:scale(1.12)}}
.hero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(23,19,15,.5) 0%,rgba(23,19,15,.05) 30%,rgba(23,19,15,.15) 55%,rgba(23,19,15,.85) 100%)}
.hero__in{position:relative;z-index:2;width:100%;padding-bottom:clamp(52px,7vw,110px)}
.hero__k{color:var(--sand);margin-bottom:1.8rem}
.hero__k::before{background:var(--sand)}
.hero h1{color:#fff;max-width:16ch;overflow:hidden}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln>span{display:block}
.hero__sub{margin:1.8rem 0 2.6rem;max-width:44ch}
.hero__sub .row{display:block;font-family:var(--serif);font-style:italic;font-size:clamp(1.25rem,2vw,1.9rem);color:rgba(243,236,224,.9);line-height:1.35}
.hero__foot{position:absolute;left:var(--pad);right:var(--pad);bottom:24px;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;border-top:1px solid var(--line-iv);padding-top:20px}
.scrollcue{display:flex;align-items:center;gap:13px;color:var(--muted-iv);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase}
.scrollcue .m{width:20px;height:33px;border:1px solid rgba(243,236,224,.45);border-radius:11px;position:relative}
.scrollcue .m::after{content:"";position:absolute;left:50%;top:6px;width:3px;height:6px;background:var(--sand);border-radius:2px;transform:translateX(-50%);animation:sc 1.7s infinite}
@keyframes sc{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}80%{opacity:0;transform:translate(-50%,10px)}}
.hero__idx{font-family:var(--serif);font-size:clamp(1rem,1.4vw,1.3rem);color:var(--muted-iv)}
.hero__idx b{color:var(--sand);font-weight:400}

/* --------------------------------------------------------------- STUDIO */
.studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(40px,7vw,120px);align-items:center}
.studio__media{position:relative}
.studio__frame{position:relative;overflow:hidden;aspect-ratio:4/5}
.studio__frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.studio__frame:hover img{transform:scale(1.05)}
.studio__cap{position:absolute;left:clamp(16px,2vw,28px);bottom:clamp(16px,2vw,28px);color:#fff;font-family:var(--serif);font-style:italic;font-size:1.1rem;z-index:2;text-shadow:0 2px 20px rgba(0,0,0,.5)}
.studio__tag{position:absolute;top:-26px;right:-8px;writing-mode:vertical-rl;font-size:.66rem;letter-spacing:.4em;text-transform:uppercase;color:var(--muted-2)}
.studio__body p{color:var(--muted);max-width:52ch}
.studio__body .big{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2.4rem);line-height:1.35;color:var(--ink);font-weight:400;margin-bottom:1.4rem}
.rule{width:100%;height:1px;background:var(--line);margin:clamp(40px,5vw,72px) 0}
.figures{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:34px}
.figure .n{font-family:var(--serif);font-size:clamp(2.4rem,4vw,3.6rem);line-height:1;color:var(--ink)}
.figure .n i{font-style:normal;color:var(--brass);font-size:.6em}
.figure .l{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:10px}

/* section heading block */
.head{display:grid;gap:22px;margin-bottom:clamp(46px,6vw,90px)}
.head.split{grid-template-columns:1fr auto;align-items:end}
.head h2{max-width:15ch}
.head .sub{max-width:52ch;color:var(--muted)}

/* --------------------------------------------------------------- CATEGORIES */
.cats{display:grid;grid-template-columns:1fr}
.cat{position:relative;min-height:clamp(420px,80vh,860px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.cat__img{position:absolute;inset:0;z-index:-2}
.cat__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease-out);filter:brightness(.72)}
.cat:hover .cat__img img{transform:scale(1.06);filter:brightness(.6)}
.cat::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(23,19,15,.35),rgba(23,19,15,.05) 40%,rgba(23,19,15,.75))}
.cat__in{width:100%;padding:clamp(34px,5vw,80px) var(--pad);display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.cat__no{font-family:var(--serif);font-style:italic;color:var(--sand);font-size:clamp(1rem,1.4vw,1.3rem);margin-bottom:1rem;display:block}
.cat h2{color:#fff;font-size:clamp(2.1rem,4.8vw,4.6rem);line-height:.98}
.cat__meta{color:var(--muted-iv);max-width:40ch;margin-top:1rem}
.cat__go{flex:0 0 auto;width:clamp(64px,7vw,104px);height:clamp(64px,7vw,104px);border:1px solid var(--line-iv);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;transition:.55s var(--ease)}
.cat:hover .cat__go{background:var(--sand);border-color:var(--sand);color:var(--char);transform:scale(1.05)}

/* --------------------------------------------------------------- FEATURED (editorial masonry) */
.feat{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(24px,3vw,60px) clamp(20px,2.4vw,44px);align-items:end}
.proj{position:relative;cursor:pointer}
.proj__img{position:relative;overflow:hidden;background:var(--char)}
.proj__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease-out),filter .6s}
.proj:hover .proj__img img{transform:scale(1.05)}
.proj__no{position:absolute;top:18px;left:18px;z-index:2;font-family:var(--serif);font-style:italic;color:#fff;font-size:1.1rem;mix-blend-mode:difference}
.proj__head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:22px;border-top:1px solid var(--line);padding-top:18px}
.proj__name{font-family:var(--serif);font-size:clamp(1.5rem,2.2vw,2.1rem);line-height:1.05;transition:color .4s}
.proj:hover .proj__name{color:var(--brass)}
.proj__yr{font-size:.78rem;letter-spacing:.14em;color:var(--muted);white-space:nowrap}
.proj__spec{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:12px;color:var(--muted);font-size:.76rem;letter-spacing:.06em}
.proj__spec span{position:relative}
.proj__spec span+span::before{content:"·";position:absolute;left:-13px;color:var(--sand-deep)}
.proj__loc{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-top:6px}
/* spans */
.c-7{grid-column:span 7}.c-5{grid-column:span 5}.c-6{grid-column:span 6}
.c-8{grid-column:span 8}.c-4{grid-column:span 4}.c-12{grid-column:span 12}
.push{margin-top:clamp(30px,6vw,120px)}
.a-45{aspect-ratio:4/5}.a-32{aspect-ratio:3/2}.a-11{aspect-ratio:1/1}.a-169{aspect-ratio:16/9}.a-916{aspect-ratio:9/11}

/* --------------------------------------------------------------- INTERIORS (layered) */
.int{position:relative}
.int__grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(0,auto);gap:clamp(16px,2vw,30px);align-items:center}
.int__a{grid-column:1/8;position:relative;overflow:hidden;aspect-ratio:3/2}
.int__b{grid-column:8/13;grid-row:1/3;position:relative;overflow:hidden;aspect-ratio:3/4;align-self:stretch}
.int__c{grid-column:1/5;position:relative;overflow:hidden;aspect-ratio:1/1}
.int__txt{grid-column:5/8;padding:clamp(10px,2vw,30px) 0}
.int img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.int .ov:hover img{transform:scale(1.06)}
.ov{position:relative;overflow:hidden}
.materials{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:24px}
.materials li{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--ink);padding:6px 18px;border:1px solid var(--line)}
.materials li:hover{border-color:var(--brass);color:var(--brass)}

/* --------------------------------------------------------------- PHILOSOPHY */
.philo{text-align:center}
.philo .kicker{margin-bottom:2.4rem}
.philo blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.9rem,4.2vw,3.9rem);line-height:1.14;color:var(--paper);max-width:18ch;margin-inline:auto;letter-spacing:-.01em}
.philo blockquote .q{color:var(--sand)}
.philo cite{display:block;margin-top:2.4rem;font-style:normal;font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted-iv)}

/* --------------------------------------------------------------- WALKTHROUGH */
.walk{position:relative;min-height:clamp(480px,88vh,900px);display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--char)}
.walk__img{position:absolute;inset:-8% 0;z-index:0;will-change:transform}
.walk__img img{width:100%;height:100%;object-fit:cover;filter:brightness(.5)}
.walk::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(23,19,15,.15),rgba(23,19,15,.7))}
.walk__in{position:relative;z-index:2;text-align:center;color:#fff}
.walk__k{color:var(--sand);justify-content:center;margin-bottom:1.6rem}
.walk__k.solo::before{display:none}
.play{width:clamp(88px,10vw,128px);height:clamp(88px,10vw,128px);border-radius:50%;border:1px solid rgba(243,236,224,.5);background:rgba(243,236,224,.06);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;color:#fff;margin:0 auto 2rem;transition:.5s var(--ease);position:relative}
.play::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(243,236,224,.3);animation:pulse 2.6s var(--ease-out) infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.5);opacity:0}}
.play i{font-size:1.5rem;margin-left:5px}
.play:hover{background:var(--sand);border-color:var(--sand);color:var(--char);transform:scale(1.06)}
.walk h2{font-size:clamp(1.9rem,3.8vw,3.4rem)}
.walk p{color:var(--muted-iv);max-width:42ch;margin-inline:auto}

/* --------------------------------------------------------------- CONTACT */
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,110px)}
.cinfo{display:grid;gap:0}
.crow{display:grid;grid-template-columns:auto 1fr;gap:26px;padding:26px 0;border-top:1px solid var(--line);align-items:start}
.crow:first-of-type{border-top:none}
.crow__k{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);padding-top:6px;white-space:nowrap}
.crow__v{font-family:var(--serif);font-size:clamp(1.3rem,1.9vw,1.7rem);color:var(--ink);line-height:1.35}
.crow__v a:hover{color:var(--brass)}
.csocial{display:flex;gap:12px;margin-top:30px}
.csocial a{width:50px;height:50px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:.45s var(--ease)}
.csocial a:hover{background:var(--char);border-color:var(--char);color:var(--sand);transform:translateY(-4px)}
.field{position:relative;margin-bottom:30px}
.field input,.field textarea{width:100%;background:none;border:none;border-bottom:1px solid var(--line);padding:14px 0;font-family:var(--sans);font-weight:300;font-size:1.02rem;color:var(--ink);transition:border-color .4s}
.field textarea{resize:vertical;min-height:100px}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--brass)}
.field label{position:absolute;left:0;top:14px;color:var(--muted);pointer-events:none;transition:.35s var(--ease)}
.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{top:-12px;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass)}
.submit{display:inline-flex;align-items:center;gap:16px;background:var(--char);color:var(--paper);border:1px solid var(--char);padding:18px 40px;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;transition:.5s var(--ease)}
.submit:hover{background:var(--brass);border-color:var(--brass)}
.fstatus{margin-top:16px;font-size:.92rem;color:var(--brass);min-height:1.2em;font-family:var(--serif);font-style:italic;font-size:1.1rem}
.map-wrap{overflow:hidden;border:1px solid var(--line);min-height:340px;height:100%}
.map-embed{width:100%;height:100%;min-height:360px;border:0;filter:grayscale(1) sepia(.12) contrast(1.02);transition:filter .6s}
.map-wrap:hover .map-embed{filter:grayscale(0)}

/* --------------------------------------------------------------- FOOTER */
.foot{background:var(--char);color:var(--paper);padding-top:clamp(70px,9vw,130px);overflow:hidden}
.foot__logo{text-align:center;padding-bottom:.4em}
.foot__logo img{height:clamp(96px,13vw,150px);width:auto;margin-inline:auto;display:block}
.foot__logo span{color:var(--sand)}
.foot__top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:clamp(30px,5vw,70px);padding:clamp(40px,5vw,70px) 0;border-top:1px solid var(--line-iv);border-bottom:1px solid var(--line-iv)}
.foot__lead{max-width:36ch;color:var(--muted-iv);font-family:var(--serif);font-style:italic;font-size:1.3rem;line-height:1.4}
.foot__col h5{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--sand);margin-bottom:22px;font-weight:400}
.foot__col a{display:block;color:var(--muted-iv);padding:8px 0;font-size:.95rem;transition:.35s var(--ease);width:fit-content}
.foot__col a:hover{color:var(--paper);letter-spacing:.04em}
.foot__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 0;flex-wrap:wrap}
.foot__bottom p{margin:0;color:var(--muted-iv);font-size:.8rem;letter-spacing:.04em}
.foot__social{display:flex;gap:14px}
.foot__social a{color:var(--muted-iv);font-size:1.05rem;transition:.35s}
.foot__social a:hover{color:var(--sand)}
.totop{position:fixed;right:24px;bottom:24px;width:52px;height:52px;background:var(--char);color:var(--sand);border:1px solid var(--line-iv);z-index:900;opacity:0;transform:translateY(18px);transition:.45s var(--ease);display:flex;align-items:center;justify-content:center}
.totop.show{opacity:1;transform:none}
.totop:hover{background:var(--sand);color:var(--char);border-color:var(--sand)}

/* --------------------------------------------------------------- VIDEO MODAL */
.vmodal{position:fixed;inset:0;z-index:6000;background:rgba(18,15,12,.94);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s;padding:var(--pad)}
.vmodal.open{opacity:1}
.vmodal__stage{width:min(1100px,92vw);aspect-ratio:16/9;box-shadow:0 40px 100px -30px rgba(0,0,0,.7)}
.vmodal__stage iframe{width:100%;height:100%;border:0}
.vmodal__x{position:absolute;top:26px;right:26px;width:54px;height:54px;background:none;border:1px solid var(--line-iv);color:#fff;font-size:1.5rem;transition:.4s var(--ease)}
.vmodal__x:hover{background:var(--sand);border-color:var(--sand);color:var(--char)}

/* --------------------------------------------------------------- PAGE HERO (inner) */
.phero{position:relative;min-height:70vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--char)}
.phero__img{position:absolute;inset:-6% 0;z-index:0}
.phero__img img{width:100%;height:100%;object-fit:cover;filter:brightness(.55)}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,19,15,.55),rgba(23,19,15,.1) 45%,rgba(23,19,15,.8))}
.phero__in{position:relative;z-index:2;width:100%;padding-block:clamp(60px,8vw,120px) clamp(40px,5vw,72px)}
.phero h1{color:#fff;font-size:clamp(2.4rem,5.8vw,5.4rem)}
.crumb{display:flex;gap:12px;color:var(--muted-iv);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.6rem}
.crumb a:hover{color:var(--sand)}.crumb b{color:var(--sand);font-weight:400}

/* --------------------------------------------------------------- REVEAL */
[data-rise]{opacity:0;transform:translateY(32px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out)}
[data-rise].in{opacity:1;transform:none}
[data-img]{opacity:0;transition:opacity .38s ease-out}
[data-img].in{opacity:1}
.line-rise{display:block;overflow:hidden}
.line-rise>span{display:block;transform:translateY(110%);transition:transform .5s var(--ease-out)}
.line-rise.in>span{transform:none}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  [data-rise],[data-img],.line-rise>span,.hero h1 .ln>span{opacity:1!important;transform:none!important;clip-path:none!important}
}

/* --------------------------------------------------------------- RESPONSIVE */
@media (max-width:1024px){
  .studio,.contact__grid{grid-template-columns:1fr;gap:clamp(34px,6vw,60px)}
  .studio__media{max-width:560px}
  .head.split{grid-template-columns:1fr}
  .int__a{grid-column:1/8}.int__b{grid-column:8/13;grid-row:1/3}
  .foot__top{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .menu,.nav__cta{display:none}
  .burger{display:block}
  .feat>.proj{grid-column:span 12!important;margin-top:0!important}
  .int__grid{grid-template-columns:1fr}
  .int__a,.int__b,.int__c,.int__txt{grid-column:1/-1!important;grid-row:auto!important;aspect-ratio:auto}
  .int__a,.int__c{aspect-ratio:3/2}.int__b{aspect-ratio:4/3}
  .figures{grid-template-columns:1fr 1fr;gap:24px}
  .hero__foot .hero__idx{display:none}
}
@media (max-width:560px){
  .foot__top{grid-template-columns:1fr}
  .figures{grid-template-columns:1fr 1fr}
  .cat__in{flex-direction:column;align-items:flex-start}
  .crow{grid-template-columns:1fr;gap:6px}
  .submit{width:100%;justify-content:center}
}
