/* ==========================================================
   FMOH design system, v4
   Tokens, layout, components. Shared by every page.
   ========================================================== */
@font-face{font-family:'Gilda Display';src:url('../fonts/gilda-display-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('../fonts/dm-sans-var.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
:root{
  --gold:#EAB115; --gold-bright:#F5C840; --gold-deep:#8A6200;
  --gold-muted:rgba(234,177,21,.12); --gold-border:rgba(234,177,21,.3);
  --ink:#09090B; --ink2:#0F1012; --ink3:#161819; --ink4:#1C1E21; --ink5:#25282B;
  --cream:#F2ECE0; --sand:#ECE4D2; --paper:#FAF7F1;
  --white:#fff; --a85:rgba(255,255,255,.85); --a65:rgba(255,255,255,.65); --a45:rgba(255,255,255,.6);
  --a12:rgba(255,255,255,.12); --a06:rgba(255,255,255,.06); --line:rgba(255,255,255,.09);
  --green:#86EFAC; --red:#F87171; --wa:#25D366;
  --serif:'Gilda Display',Georgia,serif; --sans:'DM Sans',system-ui,-apple-system,sans-serif;
  --nav-h:72px; --max:1240px; --gutter:52px;
  --r-sm:8px; --r-md:12px; --r-lg:18px; --r-xl:24px;
  --ease:cubic-bezier(.25,.46,.45,.94);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--ink2);color:var(--white);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:none}
ul{list-style:none}
::selection{background:rgba(234,177,21,.3)}
[data-lucide]{display:inline-flex;flex-shrink:0;vertical-align:middle}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
section[id],[data-anchor]{scroll-margin-top:calc(var(--nav-h) + 64px)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:999;background:var(--gold-fill);color:var(--ink);padding:10px 16px;border-radius:var(--r-sm);font-weight:700}
.skip:focus{top:12px}
.container{max-width:calc(var(--max) + var(--gutter)*2);margin:0 auto;padding:0 var(--gutter)}
.sec{padding:96px 0}
.sec-sm{padding:64px 0}
.bg-ink{background:var(--ink2)} .bg-ink3{background:var(--ink3)}
.bg-cream{background:var(--cream);color:var(--ink)} .bg-sand{background:var(--sand);color:var(--ink)}

/* ---------- Type ---------- */
.h-display{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4.4vw,58px);line-height:1.07;letter-spacing:-.015em}
.h-display .accent,.h1 .accent,.h2 .accent{color:var(--gold)}
.bg-cream .accent,.bg-sand .accent{color:var(--gold-deep)}
.h1{font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.8vw,50px);line-height:1.1;letter-spacing:-.012em}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(27px,3vw,40px);line-height:1.13;letter-spacing:-.01em;margin-bottom:12px}
.h3{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2}
.lead{font-size:16.5px;color:var(--a85);font-weight:300;line-height:1.7;max-width:560px}
.sub{font-size:15px;color:var(--a65);font-weight:300;line-height:1.7;max-width:560px}
.bg-cream .sub,.bg-sand .sub,.bg-cream .lead,.bg-sand .lead{color:rgba(0,0,0,.64)}
.kicker{font-size:13px;font-weight:600;color:var(--gold);margin-bottom:12px;display:inline-flex;align-items:center;gap:8px}
.bg-cream .kicker,.bg-sand .kicker{color:var(--gold-deep)}
.muted{color:var(--a65)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.text-link{font-size:14px;font-weight:600;color:var(--gold);display:inline-flex;align-items:center;gap:6px}
.text-link:hover{text-decoration:underline;text-underline-offset:4px}
.bg-cream .text-link,.bg-sand .text-link{color:var(--gold-deep)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--r-sm);font-weight:700;font-size:14px;padding:12px 20px;border:1px solid transparent;transition:background .2s,border-color .2s,color .2s,transform .12s;white-space:nowrap;line-height:1.2}
.btn:active{transform:scale(.98)}
.btn-gold{background:var(--gold-fill);color:var(--ink)}
.btn-gold:hover{background:var(--gold-bright)}
.btn-ghost{border-color:var(--a12);color:var(--white)}
.btn-ghost:hover{border-color:var(--a45)}
.btn-dark{background:var(--ink);color:var(--white)}
.btn-dark:hover{background:var(--ink5)}
.btn-wa{background:var(--wa);color:#06290f}
.btn-wa:hover{filter:brightness(1.06)}
.btn-lg{padding:15px 24px;font-size:15px}
.btn-sm{padding:9px 14px;font-size:13px}
.btn-block{width:100%}
.icon-btn{position:relative;width:40px;height:40px;border-radius:50%;border:1px solid var(--a12);display:inline-flex;align-items:center;justify-content:center;color:var(--a85);transition:border-color .2s,color .2s}
.icon-btn:hover{border-color:var(--gold);color:var(--gold)}


/* ---------- Breadcrumb + page hero ---------- */
.crumbs{background:var(--ink3);border-bottom:1px solid var(--line);font-size:12.5px;color:var(--a45)}
.crumbs ol{display:flex;gap:8px;padding:12px 0;list-style:none;flex-wrap:wrap}
.crumbs li+li::before{content:'/';margin-right:8px;opacity:.5}
.crumbs a:hover{color:var(--gold)}
.crumbs [aria-current]{color:var(--a85)}
.page-hero{background:var(--ink3);position:relative;overflow:hidden;padding:64px 0 56px}
.page-hero::before{content:'';position:absolute;width:720px;height:720px;left:-260px;top:-360px;border-radius:50%;background:radial-gradient(circle,rgba(234,177,21,.08),transparent 65%);pointer-events:none}
.page-hero .container{position:relative}
.page-hero .h1{margin-bottom:14px;max-width:760px}

/* ---------- Chips / tabs ---------- */
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--a12);color:var(--a85);padding:8px 16px;border-radius:100px;font-size:13.5px;transition:all .2s;display:inline-flex;align-items:center;gap:6px}
.chip:hover{border-color:var(--a45);color:var(--white)}
.chip[aria-pressed="true"],.chip[aria-selected="true"]{background:var(--gold-muted);border-color:var(--gold-border);color:var(--gold);font-weight:600}
.chip .x{opacity:.7}
.seg{display:inline-flex;gap:4px;padding:4px;background:var(--ink4);border:1px solid var(--line);border-radius:100px;flex-wrap:wrap}
.seg button{color:var(--a65);font-size:13.5px;font-weight:500;padding:9px 16px;border-radius:100px;display:inline-flex;align-items:center;gap:7px;transition:background .2s,color .2s}
.seg button:hover{color:var(--white)}
.seg button[aria-selected="true"]{background:var(--gold-fill);color:var(--ink);font-weight:700}

/* ---------- Search panel ---------- */
.search{background:var(--ink4);border:1px solid var(--a12);border-radius:16px;padding:8px;display:flex;gap:6px}
.search-fields{display:flex;flex:1;min-width:0}
.sfield{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:8px 14px;border-right:1px solid var(--line)}
.sfield:last-child{border-right:none}
.sfield label{font-size:11.5px;color:var(--a45);margin-bottom:2px}
.sfield select,.sfield input{background:transparent;border:none;outline:none;font-size:14.5px;font-weight:500;width:100%;-webkit-appearance:none;appearance:none;cursor:pointer;padding:2px 0}
.sfield input{cursor:text}
.sfield input::placeholder{color:var(--a45);font-weight:400}
.sfield select option{background:var(--ink4)}
.sfield:focus-within label{color:var(--gold)}
.search .btn{border-radius:10px;padding:0 22px}

/* ---------- Cards ---------- */
.card{background:var(--ink4);border:1px solid var(--line);border-radius:var(--r-lg)}
.card-pad{padding:28px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.icon-chip{width:44px;height:44px;border-radius:12px;background:var(--gold-muted);border:1px solid var(--gold-border);color:var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.feature h3{font-size:16px;font-weight:600;margin:16px 0 6px}
.feature p{font-size:14px;color:var(--a65);line-height:1.65}

/* ---------- Property card ---------- */
.prop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.prop-card{background:var(--ink4);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s;position:relative}
.prop-card:hover{border-color:var(--gold-border)}
.prop-card .media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--ink3)}
.prop-card .media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.prop-card:hover .media img{transform:scale(1.04)}
.tag{position:absolute;top:12px;left:12px;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:100px;display:inline-flex;align-items:center;gap:5px;background:rgba(9,9,11,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.tag-verified{color:var(--green);border:1px solid rgba(134,239,172,.25)}
.units{position:absolute;bottom:12px;left:12px;background:var(--gold-fill);color:var(--ink);font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:6px}
.heart{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;border:1px solid var(--a12);background:rgba(9,9,11,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--white);display:flex;align-items:center;justify-content:center;transition:transform .2s,color .2s,border-color .2s;z-index:2}
.heart:hover{border-color:var(--gold)}
.heart[aria-pressed="true"]{color:var(--gold);border-color:var(--gold)}
.heart[aria-pressed="true"] svg{fill:var(--gold-fill)}
.heart.pop{transform:scale(1.18)}
.prop-card .body{padding:20px;display:flex;flex-direction:column;flex:1}
.loc{font-size:13px;color:var(--a65);display:flex;align-items:center;gap:5px;margin-bottom:6px}
.prop-card h3{font-size:17px;font-weight:600;letter-spacing:-.01em;margin-bottom:14px}
.prop-card h3 a::after{content:'';position:absolute;inset:0;z-index:1}
.specs{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--a65);padding-bottom:16px;border-bottom:1px solid var(--line)}
.specs span{display:inline-flex;align-items:center;gap:6px}
.specs [data-lucide]{color:var(--gold);width:15px;height:15px}
.prop-foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:16px;gap:12px}
.price{font-size:19px;font-weight:700;color:var(--gold);line-height:1.1}
.price small{display:block;font-size:12px;font-weight:400;color:var(--a45);margin-top:3px}
.prop-foot .go{font-size:13px;font-weight:600;color:var(--a85);display:inline-flex;align-items:center;gap:4px}
.prop-card:hover .go{color:var(--gold)}
.prop-grid.list{grid-template-columns:1fr}
.prop-grid.list .prop-card{flex-direction:row}
.prop-grid.list .media{aspect-ratio:auto;width:340px;flex-shrink:0}

/* ---------- Empty state ---------- */
.empty{grid-column:1/-1;border:1.5px dashed var(--a12);border-radius:16px;padding:48px 24px;text-align:center}
.empty [data-lucide]{color:var(--gold);width:28px;height:28px}
.empty h3{font-size:17px;font-weight:600;margin:12px 0 6px}
.empty p{font-size:14px;color:var(--a65);margin:0 auto 18px;max-width:420px}
.empty .row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* ---------- Forms ---------- */
.field{margin-bottom:14px}
.field label,.field .label{display:block;font-size:13px;color:var(--a65);margin-bottom:6px}
.fi{width:100%;background:var(--field);border:1px solid var(--a12);border-radius:10px;padding:13px 14px;font-size:14.5px;outline:none;transition:border-color .2s;-webkit-appearance:none;appearance:none}
.fi:focus{border-color:var(--gold)}
.fi::placeholder{color:var(--a45)}
select.fi{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff99' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
select.fi option{background:var(--ink4)}
textarea.fi{min-height:96px;resize:vertical}
.fi.invalid{border-color:var(--red)}
.err{font-size:12.5px;color:var(--err);margin-top:6px;display:none}
.err.show{display:block}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt label{display:flex;align-items:center;gap:10px;border:1px solid var(--a12);border-radius:var(--r-md);padding:13px 14px;font-size:14px;cursor:pointer;transition:border-color .2s,background .2s;height:100%;color:var(--white);margin:0}
.opt label [data-lucide]{color:var(--gold);width:18px;height:18px}
.opt input:checked+label{border-color:var(--gold);background:var(--gold-muted)}
.opt input:focus-visible+label{outline:2px solid var(--gold);outline-offset:2px}
.pill-opts{display:flex;gap:8px;flex-wrap:wrap}
.pill-opts .opt label{padding:9px 14px;border-radius:100px;font-size:13.5px}
.form-card{background:var(--ink4);color:var(--white);border-radius:var(--r-xl);padding:32px;border:1px solid var(--line)}
.steps-bar{display:flex;gap:6px;margin-bottom:8px}
.steps-bar span{flex:1;height:4px;border-radius:2px;background:var(--a12);transition:background .3s}
.steps-bar span.done{background:var(--gold-fill)}
.step-count{font-size:12.5px;color:var(--a45);margin-bottom:18px}
.form-step{display:none;border:none}
.form-step.active{display:block;animation:stepIn .3s var(--ease)}
.form-step legend{font-family:var(--serif);font-size:22px;margin-bottom:18px}
@keyframes stepIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.form-nav{display:flex;gap:10px;margin-top:22px}
.form-nav .btn-gold{flex:1;padding:14px}
.form-note{font-size:12px;color:var(--a45);margin-top:14px;display:flex;gap:6px;align-items:center}
.form-context{display:flex;align-items:center;gap:10px;background:var(--gold-muted);border:1px solid var(--gold-border);border-radius:10px;padding:10px 12px;font-size:13px;margin-bottom:16px;color:var(--a85)}
.form-context [data-lucide]{color:var(--gold)}
.success{text-align:center;padding:24px 0}
.success .ok{width:58px;height:58px;border-radius:50%;background:rgba(134,239,172,.12);color:var(--green);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.success h3{font-family:var(--serif);font-weight:400;font-size:24px;margin-bottom:8px}
.success p{font-size:14.5px;color:var(--a65);line-height:1.6;max-width:360px;margin:0 auto}

/* ---------- EMI planner ---------- */
.emi{display:grid;grid-template-columns:1fr 400px;gap:48px;align-items:start}
.emi-controls{display:flex;flex-direction:column;gap:26px}
.ctrl-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;gap:12px}
.ctrl-top label{font-size:14.5px;font-weight:600}
.ctrl-val{font-size:15px;font-weight:700;background:var(--white);color:var(--ink);border:1px solid rgba(0,0,0,.1);border-radius:var(--r-sm);padding:6px 12px;min-width:124px;text-align:right}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,var(--gold-deep) 0,var(--gold-deep) var(--fill,50%),rgba(0,0,0,.14) var(--fill,50%));outline:none;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--white);border:3px solid var(--gold-deep);box-shadow:0 2px 6px rgba(0,0,0,.2)}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--white);border:3px solid var(--gold-deep)}
input[type=range]:focus-visible{outline:2px solid var(--gold-deep);outline-offset:6px}
.ctrl-range{display:flex;justify-content:space-between;font-size:12px;color:rgba(0,0,0,.5);margin-top:8px}
.emi-result{background:var(--ink4);color:var(--white);border-radius:var(--r-xl);padding:30px}
.emi-result .lbl{font-size:13.5px;color:var(--a65);margin-bottom:6px}
.emi-amount{font-family:var(--serif);font-size:46px;color:var(--gold);line-height:1;margin-bottom:4px}
.emi-amount small{font-family:var(--sans);font-size:14px;color:var(--a65)}
.emi-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;margin:22px 0 14px;background:var(--a06)}
.emi-bar .p{background:var(--gold-fill);transition:width .3s var(--ease)}
.emi-bar .i{background:var(--a45);transition:width .3s var(--ease)}
.emi-rows{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.emi-row{display:flex;justify-content:space-between;font-size:14px}
.emi-row span{display:inline-flex;align-items:center;gap:8px;color:var(--a65)}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.emi-note{font-size:12px;color:var(--a45);margin-top:12px;line-height:1.5}

/* ---------- Horizontal track ---------- */
.track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
.track::-webkit-scrollbar{display:none}
.track>*{scroll-snap-align:start}
.track-nav{display:flex;gap:8px}
.arrow{width:42px;height:42px;border-radius:50%;border:1px solid var(--a12);color:var(--a85);display:flex;align-items:center;justify-content:center;transition:all .2s}
.arrow:hover{border-color:var(--gold);color:var(--gold)}
.arrow:disabled{opacity:.3;cursor:default;border-color:var(--a12);color:var(--a85)}
.loc-card{position:relative;flex:0 0 250px;height:300px;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.loc-card img{width:100%;height:100%;object-fit:cover;filter:brightness(.62);transition:transform .5s var(--ease)}
.loc-card:hover img{transform:scale(1.05)}
.loc-card .txt{position:absolute;left:0;right:0;bottom:0;padding:18px;background:linear-gradient(to top,rgba(9,9,11,.88),transparent)}
.loc-card h3{font-size:17px;font-weight:600;margin-bottom:2px}
.loc-card p{font-size:13px;color:var(--a85)}
.loc-card.request{background:var(--ink4);display:flex;flex-direction:column;justify-content:center;padding:24px;gap:10px}
.loc-card.request [data-lucide]{color:var(--gold)}
.loc-card.request p{color:var(--a65);line-height:1.55}

/* ---------- Reviews ---------- */
.review{background:var(--ink4);border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column}
.review .ctx{align-self:flex-start;font-size:12px;color:var(--gold);border:1px solid var(--gold-border);border-radius:100px;padding:3px 10px}
.review blockquote{font-size:14.5px;color:var(--a85);line-height:1.7;font-weight:300;margin:12px 0 18px;flex:1}
.who{display:flex;align-items:center;gap:12px}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--gold-muted);border:1px solid var(--gold-border);color:var(--gold);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.who b{font-size:14px;display:block}
.who span{font-size:12.5px;color:var(--a45)}
.stars{color:var(--gold);letter-spacing:2px}

/* ---------- FAQ ---------- */
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;text-align:left;padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:16px;font-weight:500}
.faq-q [data-lucide]{color:var(--gold);transition:transform .3s var(--ease)}
.faq-q[aria-expanded="true"] [data-lucide]{transform:rotate(45deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease)}
.faq-a>div{overflow:hidden}
.faq-a p{font-size:14.5px;color:var(--a65);line-height:1.75;font-weight:300;padding-bottom:20px;max-width:640px}
.faq-q[aria-expanded="true"]+.faq-a{grid-template-rows:1fr}

/* ---------- Steps (true sequences only) ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s;list-style:none}
.step{position:relative;padding-top:52px}
.step::before{counter-increment:s;content:counter(s);position:absolute;top:0;left:0;width:38px;height:38px;border-radius:50%;border:1px solid var(--gold-border);color:var(--gold);font-weight:700;display:flex;align-items:center;justify-content:center;background:var(--ink2)}
.step::after{content:'';position:absolute;top:19px;left:48px;right:-12px;height:1px;background:var(--line)}
.step:last-child::after{display:none}
.step h3{font-size:16px;font-weight:600;margin-bottom:6px}
.step p{font-size:14px;color:var(--a65);line-height:1.65}
.bg-cream .step p,.bg-sand .step p{color:rgba(0,0,0,.62)}
.bg-cream .step::before,.bg-sand .step::before{background:var(--cream);color:var(--gold-deep);border-color:rgba(138,98,0,.35)}
.bg-cream .step::after,.bg-sand .step::after{background:rgba(0,0,0,.12)}

/* ---------- CTA band ---------- */
.cta-band{background:var(--ink4);border:1px solid var(--gold-border);border-radius:var(--r-xl);padding:40px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;right:-120px;top:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(234,177,21,.1),transparent 65%)}
.cta-band>*{position:relative}
.cta-band .actions{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- Modal / sheet ---------- */
.overlay{position:fixed;inset:0;z-index:800;background:rgba(0,0,0,.66);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.overlay.open{opacity:1;visibility:visible}
.modal{background:var(--ink4);border:1px solid var(--line);border-radius:var(--r-xl);width:100%;max-width:480px;max-height:calc(100vh - 40px);overflow-y:auto;padding:28px;position:relative;transform:translateY(10px);transition:transform .25s var(--ease)}
.overlay.open .modal{transform:none}
.modal-close{position:absolute;top:14px;right:14px}
.modal h2{font-family:var(--serif);font-weight:400;font-size:24px;margin-bottom:6px;padding-right:40px}
.modal .sub{margin-bottom:18px}
.sheet{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);z-index:801;background:var(--ink3);border-left:1px solid var(--line);transform:translateX(100%);transition:transform .3s var(--ease);display:flex;flex-direction:column}
.sheet.open{transform:none}
.sheet-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}
.sheet-head h2{font-family:var(--serif);font-weight:400;font-size:22px}
.sheet-body{flex:1;overflow-y:auto;padding:16px 24px}
.sheet-foot{padding:16px 24px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:grid;gap:10px}
.sl-item{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.sl-item img{width:72px;height:56px;object-fit:cover;border-radius:8px}
.sl-item b{font-size:14px;display:block}
.sl-item span{font-size:12.5px;color:var(--a65)}
.sl-item button{margin-left:auto;color:var(--a45)}
.sl-item button:hover{color:var(--red)}

/* ---------- Footer ---------- */
.site-footer{background:#050507;border-top:1px solid var(--line);padding:64px 0 28px}
.ft-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:44px;padding-bottom:40px;border-bottom:1px solid var(--line);margin-bottom:24px}
.ft-brand img{width:190px;height:auto;margin-bottom:18px}
.ft-brand p{font-size:13.5px;color:var(--a45);line-height:1.7;max-width:260px;margin-bottom:20px;font-weight:300}
.socials{display:flex;gap:8px}
.soc{width:36px;height:36px;border-radius:9px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--a65);transition:all .2s}
.soc:hover{color:var(--gold);border-color:var(--gold-border)}
.ft-col h2{font-size:13.5px;font-weight:600;color:var(--a85);margin-bottom:16px;font-family:var(--sans)}
.ft-col ul{display:flex;flex-direction:column;gap:10px}
.ft-col a,.ft-col li{font-size:13.5px;color:var(--a65);font-weight:300;line-height:1.6}
.ft-col a:hover{color:var(--gold)}
.ft-bot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--a45)}
.ft-bot nav{display:flex;gap:18px}
.ft-bot a:hover{color:var(--gold)}

/* ---------- Floating contact + toast ---------- */
.wa-float{position:fixed;right:24px;bottom:24px;z-index:600;width:56px;height:56px;border-radius:50%;background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.4);transition:transform .2s}
.wa-float:hover{transform:scale(1.06)}
.mobile-bar{display:none}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;z-index:900;background:var(--ink5);border:1px solid var(--gold-border);color:var(--white);padding:12px 18px;border-radius:10px;font-size:14px;display:flex;align-items:center;gap:10px;pointer-events:none;transition:all .3s var(--ease);max-width:calc(100vw - 32px)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast [data-lucide]{color:var(--gold)}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  :root{--gutter:28px}
  .grid-4,.steps{grid-template-columns:repeat(2,1fr)}
  .step:nth-child(2)::after{display:none}
  .prop-grid{grid-template-columns:repeat(2,1fr)}
  .emi{grid-template-columns:1fr;gap:32px}
  .ft-top{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .grid-3{grid-template-columns:1fr 1fr}
  .prop-grid.list .prop-card{flex-direction:column}
  .prop-grid.list .media{width:auto;aspect-ratio:16/10}
}
@media (max-width:640px){
  :root{--gutter:20px}
  .sec{padding:64px 0}
  .sec-sm{padding:48px 0}
  .page-hero{padding:44px 0 40px}
  .grid-2,.grid-3,.grid-4,.prop-grid,.steps,.row-2,.opt-grid{grid-template-columns:1fr}
  .step::after{display:none}
  .search{flex-direction:column}
  .search-fields{flex-direction:column}
  .sfield{border-right:none;border-bottom:1px solid var(--line);padding:10px 12px}
  .sfield:last-child{border-bottom:none}
  .search .btn{padding:14px}
  .form-card{padding:24px}
  .cta-band{padding:28px}
  .ft-top{grid-template-columns:1fr;gap:32px}
  .wa-float{display:none}
  .mobile-bar{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:600;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--bar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .mobile-bar a,.mobile-bar button{display:flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;padding:12px 6px;font-size:13.5px;font-weight:600;border:1px solid var(--a12)}
  .mobile-bar .wa{color:#4ade80}
  .mobile-bar .primary{background:var(--gold-fill);color:var(--ink);border-color:var(--gold)}
  body{padding-bottom:74px}
  .toast{bottom:90px}
  .modal{padding:24px 20px}
}
@media (max-width:380px){
  .brand img{height:26px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ==========================================================
   Page: Home
   ========================================================== */
.assure{display:flex;gap:22px;margin-top:22px;flex-wrap:wrap}
.assure span{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--a65)}
.assure [data-lucide]{color:var(--gold);width:15px;height:15px}
.proof{background:var(--ink2);border-bottom:1px solid var(--line)}
.proof .container{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:26px;padding-bottom:26px}
.proof-item{display:flex;align-items:center;gap:14px}
.proof-item [data-lucide]{color:var(--gold);width:22px;height:22px}
.proof-item .n{font-size:20px;font-weight:700;line-height:1.1}
.proof-item .l{font-size:13px;color:var(--a65)}
.journey{display:grid;grid-template-columns:340px 1fr;gap:28px}
.stages{display:flex;flex-direction:column;gap:8px}
.stage{width:100%;text-align:left;border:1px solid var(--line);background:var(--ink4);border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:14px;transition:border-color .25s,background .25s}
.stage:hover{border-color:var(--a12)}
.stage[aria-selected="true"]{border-color:var(--gold-border);background:linear-gradient(90deg,rgba(234,177,21,.09),var(--ink4) 70%)}
.stage-num{width:30px;height:30px;border-radius:50%;border:1px solid var(--a12);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--a65);flex-shrink:0;transition:all .25s}
.stage[aria-selected="true"] .stage-num{background:var(--gold-fill);border-color:var(--gold);color:var(--ink)}
.stage .t{font-size:15px;font-weight:600;display:block}
.stage .s{font-size:12.5px;color:var(--a45);display:block;margin-top:1px}
.stage-panel{padding:34px;display:flex;flex-direction:column}
.stage-panel>p{margin-bottom:26px}
.svc-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}
.svc{border:1px solid var(--line);border-radius:var(--r-md);padding:18px;background:var(--ink3)}
.svc [data-lucide]{color:var(--gold);width:20px;height:20px;margin-bottom:12px}
.svc h4{font-size:14.5px;font-weight:600;margin-bottom:4px}
.svc p{font-size:13px;color:var(--a65);line-height:1.55}
.stage-panel .actions{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}
.ess-tiles{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:14px}
.ess-tile{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);display:block}
.ess-tile:first-child{grid-row:1/3}
.ess-tile img{width:100%;height:100%;object-fit:cover;filter:brightness(.55);transition:transform .5s var(--ease),filter .4s}
.ess-tile:hover img{transform:scale(1.05);filter:brightness(.45)}
.ess-tile .txt{position:absolute;left:0;right:0;bottom:0;padding:20px}
.ess-tile h3{font-size:17px;font-weight:600;margin-bottom:4px;display:flex;align-items:center;gap:8px}
.ess-tile h3 [data-lucide]{color:var(--gold)}
.ess-tile p{font-size:13.5px;color:var(--a85);max-width:360px;line-height:1.55}
.partner-pill{display:inline-block;margin-top:10px;font-size:12px;color:var(--gold);border:1px solid var(--gold-border);border-radius:100px;padding:3px 10px}
.split{display:grid;grid-template-columns:1fr 1.3fr;gap:56px;align-items:start}
.enq{display:grid;grid-template-columns:1fr 480px;gap:60px;align-items:center}
.ticks{margin-top:26px;display:flex;flex-direction:column;gap:14px}
.ticks li{display:flex;gap:12px;font-size:15px}
.ticks [data-lucide]{color:var(--gold);width:19px;height:19px;margin-top:2px}
.bg-cream .ticks li,.bg-sand .ticks li{color:rgba(0,0,0,.74)}
.bg-cream .ticks [data-lucide],.bg-sand .ticks [data-lucide]{color:var(--gold-deep)}
.contact-alt{margin-top:28px;display:flex;gap:10px;flex-wrap:wrap}

/* ==========================================================
   Page: Homes (listing)
   ========================================================== */
.list-layout{display:grid;grid-template-columns:280px 1fr;gap:36px;align-items:start}
.filters{position:sticky;top:calc(var(--nav-h) + 20px);background:var(--ink4);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.filters-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.filters-head h2{font-family:var(--serif);font-weight:400;font-size:20px}
.fgroup{padding:18px 0;border-top:1px solid var(--line)}
.fgroup:first-of-type{border-top:none;padding-top:0}
.fgroup legend,.fgroup .label{font-size:13px;font-weight:600;color:var(--a85);margin-bottom:12px;display:block}
.check{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--a85);padding:5px 0;cursor:pointer}
.check input{width:18px;height:18px;accent-color:var(--gold)}
.check .n{margin-left:auto;font-size:12.5px;color:var(--a45)}
.filters-foot{display:none}
.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.toolbar .count{font-size:14.5px;color:var(--a85);margin-right:auto}
.toolbar .count b{color:var(--white)}
.toolbar select.fi{width:auto;padding:10px 36px 10px 14px;font-size:13.5px}
.view-toggle{display:inline-flex;border:1px solid var(--a12);border-radius:var(--r-sm);overflow:hidden}
.view-toggle button{padding:9px 11px;color:var(--a65)}
.view-toggle button[aria-pressed="true"]{background:var(--gold-muted);color:var(--gold)}
.filter-btn{display:none}
.active-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.active-filters:empty{display:none}
.notice{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;font-size:13.5px;color:var(--a65);margin-top:28px}
.notice [data-lucide]{color:var(--gold);margin-top:1px}

/* ==========================================================
   Page: Home detail
   ========================================================== */
.gallery{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:220px 220px;gap:8px;border-radius:var(--r-lg);overflow:hidden;margin-top:28px}
.gallery button{position:relative;overflow:hidden;display:block;padding:0;background:var(--ink4)}
.gallery button:first-child{grid-row:1/3}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}
.gallery button:hover img{transform:scale(1.04)}
.gallery .more{position:absolute;inset:0;background:rgba(9,9,11,.66);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-weight:600;font-size:15px}
.gallery-all{position:absolute;right:14px;bottom:14px}
.title-row{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-top:28px;flex-wrap:wrap}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.pbadge{font-size:12px;font-weight:600;padding:5px 12px;border-radius:100px;display:inline-flex;align-items:center;gap:6px}
.pbadge.ok{background:rgba(134,239,172,.09);color:var(--green);border:1px solid rgba(134,239,172,.22)}
.pbadge.gold{background:var(--gold-muted);color:var(--gold);border:1px solid var(--gold-border)}
.title-row .loc{font-size:14.5px}
.title-actions{display:flex;gap:8px}
.title-actions .heart{position:static}
.facts{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:26px}
.fact{padding:18px 16px;border-right:1px solid var(--line)}
.fact:last-child{border-right:none}
.fact .l{font-size:12.5px;color:var(--a45);margin-bottom:4px}
.fact .v{font-size:15px;font-weight:600}
.subnav{position:sticky;top:var(--nav-h);z-index:50;background:var(--subnav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.subnav ul{display:flex;gap:26px;overflow-x:auto;scrollbar-width:none}
.subnav ul::-webkit-scrollbar{display:none}
.subnav a{display:block;padding:15px 0;font-size:14px;color:var(--a65);white-space:nowrap;border-bottom:2px solid transparent}
.subnav a.active{color:var(--gold);border-color:var(--gold)}
.detail{display:grid;grid-template-columns:1fr 380px;gap:44px;align-items:start;padding-top:40px;padding-bottom:96px}
.dblock{padding:36px 0;border-bottom:1px solid var(--line)}
.dblock:first-child{padding-top:0}
.dblock h2{font-family:var(--serif);font-weight:400;font-size:26px;margin-bottom:16px}
.dblock p{font-size:15px;color:var(--a85);line-height:1.8;font-weight:300;margin-bottom:12px;max-width:680px}
.price-table{width:100%;border-collapse:collapse;font-size:14.5px}
.price-table th{text-align:left;font-weight:500;color:var(--a45);font-size:13px;padding:0 0 10px}
.price-table td{padding:14px 0;border-top:1px solid var(--line)}
.price-table td:last-child,.price-table th:last-child{text-align:right}
.price-table .p{color:var(--gold);font-weight:700}
.amen-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.amen-groups h3{font-size:14.5px;font-weight:600;margin-bottom:12px;display:flex;gap:8px;align-items:center}
.amen-groups h3 [data-lucide]{color:var(--gold)}
.amen-groups li{font-size:14px;color:var(--a85);padding:6px 0;display:flex;gap:9px;line-height:1.45}
.amen-groups li [data-lucide]{color:var(--gold);width:15px;height:15px;margin-top:3px}
.amen-more li:nth-child(n+5){display:none}
.amen-more.all li{display:flex}
.plan-tabs{margin-bottom:16px}
.plan-img{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--ink4);aspect-ratio:16/9}
.plan-img img{width:100%;height:100%;object-fit:cover}
.video{position:relative;display:block;border-radius:var(--r-md);overflow:hidden;aspect-ratio:16/9}
.video img{width:100%;height:100%;object-fit:cover;filter:brightness(.62)}
.video .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.video .play span{width:68px;height:68px;border-radius:50%;background:var(--gold-fill);color:var(--ink);display:flex;align-items:center;justify-content:center;transition:transform .2s}
.video:hover .play span{transform:scale(1.07)}
.map{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/8;background:var(--ink4)}
.map iframe{width:100%;height:100%;border:0}
.docs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.doc{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:var(--r-md);padding:14px}
.doc [data-lucide]{color:var(--gold)}
.doc b{font-size:14px;display:block}
.doc span{font-size:13px;color:var(--a65);word-break:break-word}
.aside{position:sticky;top:calc(var(--nav-h) + 72px)}
.visit-card{padding:26px}
.visit-card .pr{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.visit-card .pr .n{font-family:var(--serif);font-size:30px;color:var(--gold)}
.visit-card h3{font-size:16px;font-weight:600;margin-bottom:12px}
.days{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:12px}
.day{border:1px solid var(--a12);border-radius:10px;padding:8px 4px;text-align:center;font-size:12px;color:var(--a65);line-height:1.3;transition:all .2s}
.day b{display:block;font-size:16px;color:var(--white)}
.day[aria-pressed="true"]{border-color:var(--gold);background:var(--gold-muted);color:var(--gold)}
.day[aria-pressed="true"] b{color:var(--gold)}
.slots{display:flex;gap:6px;margin-bottom:16px}
.slots .chip{flex:1;justify-content:center;padding:8px 6px;font-size:13px}
.dev{display:flex;gap:12px;align-items:center;padding:16px 26px;border-top:1px solid var(--line)}
.dev b{font-size:14px;display:block}
.dev span{font-size:12.5px;color:var(--a45)}
.lightbox{position:fixed;inset:0;z-index:850;background:rgba(5,5,7,.96);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.lightbox.open{opacity:1;visibility:visible}
.lightbox img{max-width:min(1200px,92vw);max-height:80vh;border-radius:var(--r-md);object-fit:contain}
.lb-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;display:flex;align-items:center;justify-content:center}
.lb-btn:hover{background:rgba(255,255,255,.16)}
.lb-prev{left:20px}.lb-next{right:20px}
.lb-close{position:absolute;top:18px;right:18px}
.lb-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:13.5px;color:var(--a65)}

/* ==========================================================
   Page: Designers
   ========================================================== */
.studio{display:flex;flex-direction:column;overflow:hidden}
.studio .strip{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:4px;height:210px}
.studio .strip img{width:100%;height:100%;object-fit:cover}
.studio .strip img:first-child{grid-row:1/3}
.studio .body{padding:22px;display:flex;flex-direction:column;flex:1}
.studio h3{font-size:18px;font-weight:600;margin-bottom:4px}
.studio .meta{font-size:13px;color:var(--a65);margin-bottom:14px;display:flex;gap:12px;flex-wrap:wrap}
.studio .meta span{display:inline-flex;align-items:center;gap:5px}
.studio .meta [data-lucide]{width:14px;height:14px;color:var(--gold)}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.tags span{font-size:12px;color:var(--a85);background:var(--a06);border:1px solid var(--line);border-radius:100px;padding:4px 10px}
.studio .actions{display:flex;gap:8px;margin-top:auto}
.studio .actions .btn{flex:1}

/* ==========================================================
   Page: Essentials
   ========================================================== */
.cat{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);min-height:300px;display:flex;flex-direction:column;justify-content:flex-end}
.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.5);transition:transform .5s var(--ease)}
.cat:hover img{transform:scale(1.04)}
.cat .txt{position:relative;padding:24px;background:linear-gradient(to top,rgba(9,9,11,.92) 30%,transparent)}
.cat h3{font-size:19px;font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:9px}
.cat h3 [data-lucide]{color:var(--gold)}
.cat p{font-size:14px;color:var(--a85);line-height:1.6;margin-bottom:12px;max-width:420px}
.cat .text-link{font-size:13.5px}
.cat.wide{grid-column:span 2}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.bundle{padding:28px;display:flex;flex-direction:column}
.bundle.featured{border-color:var(--gold-border);background:linear-gradient(180deg,rgba(234,177,21,.07),var(--ink4) 40%)}
.bundle h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:8px 0}
.bundle>p{font-size:14px;color:var(--a65);margin-bottom:18px}
.bundle ul{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.bundle li{display:flex;gap:10px;font-size:14px;color:var(--a85)}
.bundle li [data-lucide]{color:var(--gold);width:16px;height:16px;margin-top:3px}
.bundle .btn{margin-top:auto}
.bundle .for{font-size:12.5px;color:var(--gold)}

/* ==========================================================
   Page: About
   ========================================================== */
.story-img{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;position:relative}
.story-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.8)}
.story-img .stat{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(9,9,11,.75);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--gold-border);border-radius:14px;padding:18px 20px}
.story-img .stat .n{font-family:var(--serif);font-size:36px;color:var(--gold);line-height:1}
.story-img .stat .l{font-size:13px;color:var(--a85);margin-top:4px}
.prose p{font-size:15.5px;color:var(--a85);line-height:1.85;font-weight:300;margin-bottom:16px;max-width:620px}
.mv{padding:32px}
.mv h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:16px 0 10px}
.mv p{font-size:14.5px;color:var(--a85);line-height:1.8;font-weight:300}
.numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.numbers .n{font-family:var(--serif);font-size:44px;color:var(--gold-deep);line-height:1;margin-bottom:8px}
.numbers .l{font-size:14px;color:rgba(0,0,0,.64)}
.team{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.person{text-align:left}
.person .ph{aspect-ratio:1;border-radius:var(--r-lg);overflow:hidden;background:var(--ink4);border:1px solid var(--line);margin-bottom:14px}
.person .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2)}
.person b{font-size:15px;display:block}
.person span{font-size:13px;color:var(--gold)}

/* ==========================================================
   Page: Contact
   ========================================================== */
.methods{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.method{padding:22px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s}
.method:hover{border-color:var(--gold-border)}
.method [data-lucide]{color:var(--gold);width:22px;height:22px;margin-bottom:8px}
.method b{font-size:15.5px}
.method span{font-size:13.5px;color:var(--a65)}
.method .v{color:var(--white);font-weight:500;margin-top:auto;padding-top:8px;word-break:break-word}
.office{overflow:hidden}
.office .map{border-radius:0;border:none;border-bottom:1px solid var(--line);aspect-ratio:16/10}
.office .info{padding:24px}
.office .info p{font-size:14.5px;color:var(--a85);line-height:1.7;margin-bottom:14px}

/* ---------- Page responsive ---------- */
@media (max-width:1100px){
  .proof .container{grid-template-columns:1fr 1fr}
  .journey{grid-template-columns:1fr}
  .stages{flex-direction:row;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
  .stages::-webkit-scrollbar{display:none}
  .stage{min-width:240px}
  .ess-tiles{grid-template-columns:1fr 1fr;grid-template-rows:260px 200px 200px}
  .ess-tile:first-child{grid-column:1/3;grid-row:auto}
  .split,.enq{grid-template-columns:1fr;gap:36px}
  .list-layout{grid-template-columns:1fr}
  .filters{position:fixed;inset:0 auto 0 0;top:0;z-index:801;width:min(360px,100%);border-radius:0;overflow-y:auto;transform:translateX(-100%);transition:transform .3s var(--ease);padding-bottom:100px}
  .filters.open{transform:none}
  .filters-foot{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;position:fixed;bottom:0;left:0;width:min(360px,100%);padding:14px 24px calc(14px + env(safe-area-inset-bottom));background:var(--ink4);border-top:1px solid var(--line)}
  .filter-btn{display:inline-flex}
  .facts{grid-template-columns:repeat(3,1fr)}
  .fact:nth-child(3){border-right:none}
  .fact:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .detail{grid-template-columns:1fr}
  .aside{position:static}
  .amen-groups{grid-template-columns:1fr 1fr}
  .cat-grid{grid-template-columns:1fr 1fr}
  .team{grid-template-columns:repeat(3,1fr)}
  .numbers{grid-template-columns:1fr 1fr}
  .methods{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .proof-item .n{font-size:17px}
  .svc-list{grid-template-columns:1fr}
  .stage-panel{padding:24px}
  .ess-tiles{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:210px}
  .ess-tile:first-child{grid-column:auto}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:230px 110px;margin-left:calc(var(--gutter)*-1);margin-right:calc(var(--gutter)*-1);border-radius:0}
  .gallery button:first-child{grid-column:1/3;grid-row:auto}
  .gallery button:nth-child(n+4){display:none}
  .facts{grid-template-columns:1fr 1fr}
  .fact{border-right:none!important;border-bottom:1px solid var(--line)}
  .fact:nth-child(odd){border-right:1px solid var(--line)!important}
  .fact:nth-last-child(-n+2){border-bottom:none}
  .amen-groups,.docs{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:1fr}
  .cat.wide{grid-column:auto}
  .team{grid-template-columns:1fr 1fr}
  .methods{grid-template-columns:1fr}
  .lb-btn{top:auto;bottom:16px;transform:none}
  .toolbar .count{width:100%}
}
.filter-close{display:none}
@media (max-width:1100px){.filter-close{display:inline-flex}}

.detail>*,.list-layout>*,.enq>*,.split>*{min-width:0}
.emi-compact{grid-template-columns:1fr 1fr;gap:28px}
.enq-even{grid-template-columns:1fr 1fr;align-items:start}
.split-story{grid-template-columns:1.2fr 1fr;align-items:center}
.prop-auto{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.prop-auto.list{grid-template-columns:1fr}
@media (max-width:1100px){.emi-compact,.enq-even,.split-story{grid-template-columns:1fr}}
fieldset.fgroup{border:none;border-top:1px solid var(--line);min-width:0}
fieldset.fgroup:first-of-type{border-top:none}
.filters .pill-opts{gap:6px}
.filters .pill-opts .opt label{padding:8px 12px}
.title-price{text-align:right}
.title-price .title-actions{justify-content:flex-end}
@media (max-width:640px){
  .title-price{text-align:left;display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}
  .title-price .muted{margin:2px 0 0!important}
  .view-toggle{display:none}
}

/* ==========================================================
   Card tilt (featured homes)
   ========================================================== */
[data-tilt]>*{transition:transform .5s var(--ease),border-color .25s;transform-origin:center}
[data-tilt]>.tilting{transition:transform .08s linear,border-color .25s}
[data-tilt]>*::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;opacity:0;transition:opacity .3s;background:radial-gradient(circle at var(--gx,50%) var(--gy,30%),rgba(255,255,255,.1),transparent 55%)}
[data-tilt]>.tilting::before{opacity:1}

/* ==========================================================
   Page: Home, cinematic hero (full-bleed photography)
   --p is scroll progress (0 at top), set by the page script.
   ========================================================== */
.cine{position:relative;display:flex;overflow:hidden;background:var(--ink);--p:0;margin-top:calc(-1 * var(--nav-h));min-height:clamp(620px,100vh,1100px);min-height:clamp(620px,100svh,1100px)}
.cine-frame{position:absolute;inset:0;overflow:hidden;background:#0B0C0E}
.cine.framing .cine-frame{clip-path:inset(calc(var(--p) * 22px) calc(var(--p) * var(--gutter)) 0 calc(var(--p) * var(--gutter)) round calc(var(--p) * 28px))}
.cine-par{position:absolute;inset:-3%;will-change:transform}
.cine-slide{position:absolute;inset:0;margin:0;clip-path:inset(0 0 0 100%);z-index:1;background:linear-gradient(135deg,#1C1E21,#0B0C0E)}
.cine-slide.from-left{clip-path:inset(0 100% 0 0)}
.cine-slide.go{transition:clip-path 1.25s cubic-bezier(.77,0,.18,1)}
.cine-slide.is-active{clip-path:inset(0 0 0 0);z-index:3}
.cine-slide.is-prev{clip-path:inset(0 0 0 0);z-index:2}
.cine-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.16);transition:transform 1.7s cubic-bezier(.22,.61,.36,1)}
.cine-slide.is-active img{transform:scale(1.05)}
.cine-slide.is-active.settled img{animation:cineKB 14s linear forwards}
.cine-slide.noimg img{visibility:hidden}
@keyframes cineKB{from{transform:scale(1.05)}to{transform:scale(1)}}
/* lighter shade: the fluted glass now carries most of the readability */
.cine-shade{position:absolute;inset:0;z-index:4;pointer-events:none;background:
  linear-gradient(90deg,rgba(6,7,9,.62) 0%,rgba(6,7,9,.4) 34%,rgba(6,7,9,.08) 62%,rgba(6,7,9,0) 100%),
  linear-gradient(0deg,rgba(6,7,9,.72) 0%,rgba(6,7,9,0) 32%),
  linear-gradient(180deg,rgba(6,7,9,.4) 0%,rgba(6,7,9,0) 18%)}
/* fluted (reeded) glass behind the text: vertical ribs with a highlight and shadow in each,
   a light frost, and a soft mask so the right side of the photo stays untouched */
.cine-glass{position:absolute;inset:0;z-index:4;pointer-events:none;
  -webkit-backdrop-filter:blur(3.5px) saturate(1.08) brightness(.9);backdrop-filter:blur(3.5px) saturate(1.08) brightness(.9);
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.10) 0,rgba(255,255,255,.035) 2px,rgba(255,255,255,0) 7px,rgba(0,0,0,.05) 12px,rgba(0,0,0,.2) 17px,rgba(255,255,255,.10) 18px),
    linear-gradient(90deg,rgba(9,10,12,.42),rgba(9,10,12,.22));
  right:auto;width:min(100%,calc((100vw - min(100vw,var(--max) + var(--gutter) * 2)) / 2 + 1040px));
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 420px),rgba(0,0,0,.55) calc(100% - 220px),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 420px),rgba(0,0,0,.55) calc(100% - 220px),transparent 100%)}
.cine-glass::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,0) 30%,rgba(255,255,255,0) 70%,rgba(255,255,255,.04))}
.cine .hero-h,.cine .lead{text-shadow:0 2px 24px rgba(0,0,0,.35)}
.cine-shade::after{content:'';position:absolute;inset:0;opacity:.5;background:radial-gradient(ellipse at 18% 55%,rgba(234,177,21,.12),transparent 55%)}
.cine-content{position:relative;z-index:5;flex:1;width:100%;display:flex;flex-direction:column;justify-content:center;padding-top:calc(var(--nav-h) + 40px);padding-bottom:196px}
.cine-copy{max-width:960px;transform:translateY(calc(var(--p) * -70px));opacity:calc(1 - var(--p) * 1.4)}
.cine .seg{margin-bottom:30px;background:rgba(15,16,18,.55);border-color:rgba(255,255,255,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.cine .hero-h{font-size:clamp(36px,4.4vw,70px);line-height:1.04;margin-bottom:20px;letter-spacing:-.016em}
.cine .hero-h .ln{display:block;overflow:hidden;padding-bottom:.07em;margin-bottom:-.07em}
.cine .hero-h .ln>span{display:block;transition:transform .95s cubic-bezier(.22,1,.36,1)}
.cine .hero-h .ln:nth-child(2)>span{transition-delay:.09s}
.cine.intro .hero-h .ln>span{transform:translateY(106%);transition:none}
.cine .hero-h.out .ln>span{transform:translateY(-106%);transition:transform .4s cubic-bezier(.55,0,.8,.3);transition-delay:0s}
.cine .hero-h.reset .ln>span{transform:translateY(106%);transition:none}
.cine .lead{margin-bottom:28px;min-height:3.4em;color:var(--a85);max-width:600px}
.cine .search{max-width:640px;background:rgba(15,16,18,.72);border-color:rgba(255,255,255,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.cine .search .sfield{border-color:rgba(255,255,255,.1)}
.cine .assure span{color:var(--a85)}
.cine-feature{position:absolute;z-index:5;right:var(--gutter);bottom:196px;width:340px;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:rgba(12,13,15,.62);border:1px solid var(--gold-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:calc(1 - var(--p) * 1.6)}
.cine-feature .t{font-size:14.5px;font-weight:600;margin-bottom:2px}
.cine-feature .s{font-size:12.5px;color:var(--a65)}
.cine-feature a{margin-left:auto;font-size:13px;font-weight:600;color:var(--gold);white-space:nowrap}
.cine-feature a::after{content:'';position:absolute;inset:0;border-radius:inherit}
.cine-rail{position:absolute;z-index:5;right:var(--gutter);bottom:34px;display:flex;align-items:flex-end;gap:12px;opacity:calc(1 - var(--p) * 1.6)}
.cine-count{font-family:var(--serif);font-size:30px;line-height:1;color:var(--white);margin-right:10px;align-self:center;white-space:nowrap}
.cine-count small{font-size:16px;color:var(--a45)}
.thumb{width:150px;border-radius:14px;overflow:hidden;text-align:left;background:rgba(15,16,18,.62);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:.7;transition:opacity .3s,transform .35s var(--ease),border-color .3s}
.thumb:hover,.thumb:focus-visible{opacity:1}
.thumb[aria-selected="true"]{opacity:1;border-color:var(--gold-border);transform:translateY(-6px)}
.thumb img{width:100%;height:74px;object-fit:cover;background:#1C1E21}
.thumb .tt{padding:9px 11px 8px;font-size:12px;font-weight:600;display:flex;gap:7px;white-space:nowrap}
.thumb .tt b{color:var(--gold)}
.pbar{display:block;height:3px;margin:0 11px 11px;border-radius:2px;background:rgba(255,255,255,.14);overflow:hidden}
.pbar i{display:block;height:100%;background:var(--gold-fill);transform-origin:left;transform:scaleX(0)}
.cine-play{align-self:center;background:rgba(15,16,18,.62);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.cine-cue{position:absolute;z-index:5;left:var(--gutter);bottom:34px;display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--a65);opacity:calc(1 - var(--p) * 2)}
.cine-cue span{position:relative;width:1px;height:44px;background:rgba(255,255,255,.18);overflow:hidden}
.cine-cue span::after{content:'';position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--gold-fill);animation:cue 2.2s cubic-bezier(.65,0,.35,1) infinite}
@keyframes cue{to{top:100%}}
.cine-mbar{display:none}
@media (max-width:1100px){
  .cine-feature{display:none}
  .thumb{width:128px}
  .thumb img{height:62px}
}
@media (max-width:900px){
  .cine{min-height:100vh;min-height:100svh}
  .cine-shade{background:linear-gradient(0deg,rgba(6,7,9,.85) 0%,rgba(6,7,9,.55) 46%,rgba(6,7,9,.12) 74%,rgba(6,7,9,.35) 100%)}
  .cine-glass{width:auto;right:0;-webkit-mask-image:linear-gradient(0deg,#000 0%,#000 52%,rgba(0,0,0,.5) 66%,transparent 78%);mask-image:linear-gradient(0deg,#000 0%,#000 52%,rgba(0,0,0,.5) 66%,transparent 78%)}
  .cine-content{justify-content:flex-end;padding-top:calc(var(--nav-h) + clamp(48px,9vh,120px));padding-top:calc(var(--nav-h) + clamp(48px,9svh,120px));padding-bottom:22px}
  .cine-rail,.cine-cue{display:none}
  .cine-mbar{display:flex;gap:6px;position:absolute;z-index:6;left:var(--gutter);right:var(--gutter);top:calc(var(--nav-h) - 2px)}
  .cine-mbar button{flex:1;height:40px;display:flex;align-items:center}
  .cine-mbar .pbar{flex:1;margin:0}
}
@media (max-width:640px){
  /* the hero fits exactly above the fixed Call / WhatsApp bar */
  .cine{min-height:calc(100vh - 74px);min-height:calc(100svh - 74px - env(safe-area-inset-bottom))}
  .cine .hero-h{font-size:clamp(26px,7.4vw,34px);margin-bottom:12px}
  .cine .lead{min-height:0;font-size:15px;margin-bottom:18px}
  .cine .seg{display:grid;grid-template-columns:1fr 1fr;border-radius:14px;width:100%;margin-bottom:20px}
  .cine .seg button{justify-content:center;border-radius:10px;padding:9px 6px;font-size:12.5px;white-space:nowrap}
  .cine .search-fields{display:grid;grid-template-columns:1fr 1fr}
  .cine .search-fields .sfield{border-right:none;border-bottom:1px solid var(--line)}
  .cine .search-fields .sfield:nth-child(odd):not(:last-child){border-right:1px solid var(--line)}
  .cine .search-fields .sfield:last-child:nth-child(odd){grid-column:1/-1}
  .cine .search-fields .sfield:last-child,.cine .search-fields .sfield:nth-last-child(2):nth-child(odd){border-bottom:none}
  .cine .assure{gap:10px 16px;margin-top:16px}
}
@media (max-width:360px){
  .cine .seg button [data-lucide]{display:none}
  .mobile-bar{grid-template-columns:.8fr 1fr 1.3fr;gap:6px;padding-left:8px;padding-right:8px}
  .mobile-bar a,.mobile-bar button{font-size:12.5px;gap:4px;padding:11px 4px}
}
@media (max-width:339px){
  .cine .search-fields{grid-template-columns:1fr}
  .cine .search-fields .sfield{border-right:none!important;border-bottom:1px solid var(--line)!important}
  .cine .search-fields .sfield:last-child{border-bottom:none!important}
  .mobile-bar [data-lucide]{display:none}
}
/* short landscape phones: less space above the content */
@media (max-width:900px) and (max-height:500px){
  .cine-content{padding-top:calc(var(--nav-h) + 40px)}
  .cine .lead{display:none}
}
@media (prefers-reduced-motion:reduce){
  .cine-slide.is-active.settled img{animation:none}
  .cine-cue span::after{animation:none}
}
.cine.intro .cine-slide.is-active img{transform:scale(1.16);transition:none}

/* ==========================================================
   Illustrations on inner pages (FMOH deck line art)
   ========================================================== */
.ph-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.ph-art{position:relative;border-radius:var(--r-xl);border:1px solid var(--gold-border);background:radial-gradient(ellipse at 50% 115%,rgba(234,177,21,.16),transparent 62%),#15171A;aspect-ratio:5/4;display:flex;align-items:center;justify-content:center;padding:34px;overflow:hidden}
.ph-art::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0,rgba(255,255,255,0) 6px,rgba(0,0,0,.08) 16px,rgba(255,255,255,.025) 18px);pointer-events:none}
.ph-art img{position:relative;width:100%;height:100%;object-fit:contain;animation:artIn 1.1s var(--ease) both .15s}
.ph-art .dots{position:absolute;top:18px;right:20px;display:flex;gap:7px}
.ph-art .dots i{width:9px;height:9px;border-radius:50%;background:var(--gold-fill);opacity:.85}
@keyframes artIn{from{opacity:0;transform:translateY(18px) scale(.97);clip-path:inset(100% 0 0 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}
.cta-band.has-art{padding-left:28px}
.band-art{width:150px;height:110px;flex-shrink:0;object-fit:contain}
.cta-band.has-art>div:first-of-type{flex:1;min-width:240px}
.sec-head-art{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-bottom:44px}
.sec-head-art .sub{margin-bottom:0!important}
.sec-art{height:170px;width:auto;max-width:34%;object-fit:contain;flex-shrink:0;opacity:.92}
@media (max-width:900px){
  .ph-grid{grid-template-columns:1fr;gap:32px}
  .ph-art{aspect-ratio:auto;height:240px;padding:24px}
  .sec-art{height:140px}
}
@media (max-width:640px){
  .ph-art{height:190px}
  .band-art{width:110px;height:80px}
  .sec-head-art{flex-direction:column;align-items:flex-start;gap:20px}
  .sec-art{max-width:70%;height:130px}
}
@media (prefers-reduced-motion:reduce){.ph-art img{animation:none}}
.ph-art-wide{aspect-ratio:16/9}
@media (max-width:900px){.ph-art-wide{aspect-ratio:auto}}

/* ---------- hero hardening across devices ---------- */
/* the featured card only where there is room beside and above the rail */
@media (max-width:1359px),(max-height:759px){.cine-feature{display:none}}
/* WhatsApp button steps aside while the hero (and its rail) is on screen */
.wa-float{transition:opacity .3s,transform .3s,visibility .3s}
body.hero-in-view .wa-float{opacity:0;visibility:hidden;transform:translateY(16px) scale(.9);pointer-events:none}
/* browsers without backdrop-filter: a firmer tint keeps the text readable */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .cine-glass{background:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0,rgba(255,255,255,0) 7px,rgba(0,0,0,.2) 17px,rgba(255,255,255,.08) 18px),linear-gradient(90deg,rgba(9,10,12,.7),rgba(9,10,12,.45))}
  .cine .search,.cine .seg,.thumb,.cine-feature{background:rgba(15,16,18,.9)}
}
.cine .assure{width:fit-content;max-width:100%}
/* short phones: drop the intro sentence so the search button stays in the first screen */
@media (max-width:640px) and (max-height:700px){.cine .lead{display:none}.cine-content{padding-top:calc(var(--nav-h) + 44px)}}
/* short, wide screens (landscape phones and small tablets over 900px): use the compact layout */
@media (min-width:901px) and (max-height:560px){
  .cine{min-height:0}
  .cine-rail,.cine-cue,.cine-feature{display:none}
  .cine-mbar{display:flex;gap:6px;position:absolute;z-index:6;left:var(--gutter);right:var(--gutter);top:calc(var(--nav-h) - 2px)}
  .cine-mbar button{flex:1;height:40px;display:flex;align-items:center}
  .cine-mbar .pbar{flex:1;margin:0}
  .cine-content{padding-top:calc(var(--nav-h) + 48px);padding-bottom:32px}
  .cine .lead{display:none}
  .cine .hero-h{font-size:30px}
}
@media (max-width:640px) and (max-height:760px){.cine .assure{display:none}}

/* ==========================================================
   v5: themes (dark default, light), glass navbar, menus
   ========================================================== */
:root{
  --nav-h:88px; --gold-fill:#EAB115;
  --glass:rgba(16,17,20,.55); --glass-strong:rgba(16,17,20,.8); --glass-border:rgba(255,255,255,.1); --glass-hi:rgba(255,255,255,.09);
  --menu-bg:rgba(18,19,22,.95); --field:rgba(255,255,255,.05); --err:#fca5a5;
  --drawer-bg:rgba(10,11,13,.94); --bar-bg:rgba(9,9,11,.95); --subnav-bg:rgba(15,16,18,.95);
  --shadow:0 14px 44px rgba(0,0,0,.38); color-scheme:dark;
}
[data-theme="light"]{
  --ink2:#FAF7F1; --ink3:#F3EEE5; --ink4:#FFFFFF; --ink5:#EEE7DA; --paper:#FFFFFF;
  --white:#16171B; --a85:rgba(22,23,27,.86); --a65:rgba(22,23,27,.68); --a45:rgba(22,23,27,.64); --a12:rgba(22,23,27,.14); --a06:rgba(22,23,27,.05); --line:rgba(22,23,27,.1);
  --gold:#8A6200; --gold-muted:rgba(234,177,21,.16); --gold-border:rgba(160,114,8,.38);
  --green:#15803D; --red:#B42318; --err:#B42318;
  --cream:#F0E6D2; --sand:#EADFC8;
  --glass:rgba(255,255,255,.66); --glass-strong:rgba(255,255,255,.86); --glass-border:rgba(22,23,27,.08); --glass-hi:rgba(255,255,255,.9);
  --menu-bg:rgba(255,255,255,.97); --field:rgba(22,23,27,.035);
  --drawer-bg:rgba(250,247,241,.96); --bar-bg:rgba(255,255,255,.94); --subnav-bg:rgba(250,247,241,.94);
  --shadow:0 14px 40px rgba(70,50,10,.12); color-scheme:light;
}
/* photo-led components stay dark in both themes */
.cine,.site-footer,.loc-card,.ess-tile,.cat,.prop-card .media,.gallery,.lightbox,.story-img,.studio .strip,.video,.cat-hero-media{
  --ink:#09090B; --ink2:#0F1012; --ink3:#161819; --ink4:#1C1E21; --ink5:#25282B;
  --white:#fff; --a85:rgba(255,255,255,.85); --a65:rgba(255,255,255,.65); --a45:rgba(255,255,255,.6); --a12:rgba(255,255,255,.12); --a06:rgba(255,255,255,.06); --line:rgba(255,255,255,.09);
  --gold:#EAB115; --gold-muted:rgba(234,177,21,.12); --gold-border:rgba(234,177,21,.3); --green:#86EFAC; --field:rgba(255,255,255,.05); color-scheme:dark;
  color:var(--white);
}
.site-footer{background:#050507;color:#fff}
body{transition:background-color .35s ease,color .35s ease}

/* ---------- Glass capsule navbar ---------- */
.site-header{position:sticky;top:0;z-index:500;height:var(--nav-h);padding:12px 16px 0;pointer-events:none}
.nav-shell{pointer-events:auto;position:relative;max-width:calc(var(--max) + var(--gutter) * 2 - 32px);margin:0 auto;height:64px;display:flex;align-items:center;gap:20px;padding:0 10px 0 22px;border-radius:20px;
  background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(1.7);backdrop-filter:blur(22px) saturate(1.7);
  border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow);transition:background .35s,box-shadow .35s,border-color .35s}
.nav-shell::before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(115deg,rgba(234,177,21,.6),rgba(234,177,21,.05) 28%,rgba(234,177,21,0) 60%,rgba(234,177,21,.4));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.site-header.scrolled .nav-shell{background:var(--glass-strong)}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{height:28px;width:auto}
.nav{flex:1;display:flex;justify-content:center}
.nav>ul{display:flex;align-items:center;gap:4px}
.nav>ul>li{position:relative}
.nav-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--a85);padding:9px 14px;border-radius:12px;transition:color .2s,background .2s;white-space:nowrap}
.nav-link:hover,.nav-link[aria-expanded="true"]{color:var(--white);background:var(--a06)}
.nav-link[aria-current="page"]{color:var(--gold);font-weight:600}
.nav-link[aria-current="page"]::after{content:'';position:absolute;left:50%;bottom:3px;width:18px;height:2px;border-radius:2px;margin-left:-9px;background:var(--gold-fill)}
.nav-link .chev{transition:transform .25s var(--ease);opacity:.7}
.nav-link[aria-expanded="true"] .chev{transform:rotate(180deg)}
.header-actions{display:flex;align-items:center;gap:8px}
.header-actions .icon-btn{width:40px;height:40px;border-color:var(--glass-border);background:var(--a06)}
.badge-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--gold-fill);color:var(--ink);font-size:10.5px;font-weight:700;display:none;align-items:center;justify-content:center}
.badge-count.show{display:flex}
.theme-toggle .i-sun,[data-theme="light"] .theme-toggle .i-moon{display:inline-flex}
.theme-toggle .i-moon,[data-theme="light"] .theme-toggle .i-sun{display:none}
.menu-btn{display:none;width:40px;height:40px;border-radius:12px;align-items:center;justify-content:center;color:var(--white);background:var(--a06);border:1px solid var(--glass-border)}

/* dropdown and mega menu */
.menu{position:absolute;top:calc(100% + 18px);left:50%;z-index:10;width:560px;padding:12px;border-radius:20px;
  background:var(--menu-bg);-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);
  border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow);
  opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .22s,transform .22s var(--ease),visibility .22s}
.menu::before{content:'';position:absolute;left:0;right:0;top:-20px;height:20px}
.menu.open{opacity:1;visibility:visible;transform:translate(-50%,0)}
.menu.mega{width:880px}
.menu-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:8px}
.menu.mega .menu-grid{grid-template-columns:repeat(4,1fr)}
.menu-col h3{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--a45);padding:10px 12px 6px}
.menu-item{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:14px;transition:background .2s}
.menu-item:hover,.menu-item:focus-visible{background:var(--a06)}
.menu-item .mi{width:36px;height:36px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--gold-muted);border:1px solid var(--gold-border);color:var(--gold)}
.menu-item b{display:block;font-size:14px;font-weight:600;color:var(--white);line-height:1.3}
.menu-item span{display:block;font-size:12.5px;color:var(--a65);line-height:1.45;margin-top:2px}
.menu.mega .menu-item{padding:9px 10px}
.menu.mega .menu-item .mi{width:32px;height:32px;border-radius:10px}
.menu-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:12px 14px 4px;border-top:1px solid var(--line);font-size:13px;color:var(--a65)}
.menu-foot a{font-weight:600;color:var(--gold);display:inline-flex;align-items:center;gap:6px}
.soon{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-border);border-radius:100px;padding:2px 8px;margin-left:6px;vertical-align:middle}

/* mobile drawer with accordions */
.drawer{position:fixed;left:12px;right:12px;top:calc(var(--nav-h) + 6px);max-height:calc(100dvh - var(--nav-h) - 24px);z-index:499;overflow-y:auto;border-radius:22px;padding:10px 18px 20px;
  background:var(--drawer-bg);-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);border:1px solid var(--glass-border);box-shadow:var(--shadow);
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s,transform .22s,visibility .22s}
.drawer.open{opacity:1;visibility:visible;transform:none}
.drawer>a,.drawer summary{display:flex;justify-content:space-between;align-items:center;padding:15px 4px;font-size:16.5px;color:var(--a85);border-bottom:1px solid var(--line);cursor:pointer;list-style:none}
.drawer summary::-webkit-details-marker{display:none}
.drawer details[open] summary .chev{transform:rotate(180deg)}
.drawer summary .chev{transition:transform .25s}
.drawer [aria-current="page"],.drawer summary.current{color:var(--gold)}
.drawer .sub{padding:6px 0 10px;border-bottom:1px solid var(--line)}
.drawer .sub a{display:flex;align-items:center;gap:12px;padding:10px 6px;font-size:15px;color:var(--a85);border-radius:12px}
.drawer .sub a .mi{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--gold-muted);color:var(--gold);flex-shrink:0}
.drawer .btn{margin-top:18px;width:100%;justify-content:center}

@media (max-width:1180px){
  .nav{display:none}
  .menu-btn{display:inline-flex}
  .nav-shell{justify-content:space-between}
}
@media (max-width:640px){
  :root{--nav-h:74px}
  .site-header{padding:8px 10px 0}
  .nav-shell{height:58px;padding:0 8px 0 16px;border-radius:18px}
  .brand img{height:25px}
  .header-actions .btn-gold{display:none}
  .header-actions .icon-btn{width:38px;height:38px}
}
@media (prefers-reduced-motion:reduce){.menu,.drawer,body{transition:none}}

/* ---------- light-mode refinements ---------- */
[data-theme="light"] select.fi{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2316171B99' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
[data-theme="light"] .page-hero::before{background:radial-gradient(circle,rgba(234,177,21,.16),transparent 65%)}
[data-theme="light"] .card,[data-theme="light"] .prop-card,[data-theme="light"] .review,[data-theme="light"] .form-card,[data-theme="light"] .search,[data-theme="light"] .filters,[data-theme="light"] .cta-band{box-shadow:0 1px 2px rgba(60,40,0,.04),0 8px 24px rgba(60,40,0,.05)}
[data-theme="light"] .btn-ghost:hover{border-color:var(--a45)}
[data-theme="light"] .mobile-bar .wa{color:#15803D}
[data-theme="light"] .proof{background:var(--ink4);border-color:var(--line)}
[data-theme="light"] .tag-verified{color:#86EFAC}
[data-theme="light"] .pbadge.ok{background:rgba(21,128,61,.08);border-color:rgba(21,128,61,.25);color:#166534}
[data-theme="light"] .check .dot,[data-theme="light"] .success .ok{color:var(--green)}
[data-theme="light"] .stage[aria-selected="true"]{background:linear-gradient(90deg,rgba(234,177,21,.14),var(--ink4) 70%)}
[data-theme="light"] .bundle.featured{background:linear-gradient(180deg,rgba(234,177,21,.12),var(--ink4) 45%)}
[data-theme="light"] .emi-result,[data-theme="light"] .toast{box-shadow:var(--shadow)}
/* deck-style illustration panels in light mode */
.ph-art .art-l,.band-art.art-l{display:none}
[data-theme="light"] .ph-art{background:#FFC32E;border-color:transparent}
[data-theme="light"] .ph-art::before{background:repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0,rgba(255,255,255,0) 6px,rgba(0,0,0,.05) 16px,rgba(255,255,255,.16) 18px)}
[data-theme="light"] .ph-art .dots i{background:#09090B}
[data-theme="light"] .ph-art .art-d,[data-theme="light"] .band-art.art-d{display:none}
[data-theme="light"] .ph-art .art-l,[data-theme="light"] .band-art.art-l{display:block}
.nav-link{position:relative}
/* Essentials inner pages */
.cat-hero-media{padding:0;background:#15171A}
.cat-hero-media .cat-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:artIn 1.1s var(--ease) both .1s;z-index:1}
.cat-hero-media::after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.35));pointer-events:none}
.cat-fallback{color:var(--gold);opacity:.7}
[data-theme="light"] .cat-hero-media{background:#15171A}
.kicker .partner-pill{margin:0 0 0 6px}
.suits{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.suits-l{font-size:13px;color:var(--a45);margin-right:4px}
.suits .chip{padding:6px 12px;font-size:13px}
.suits .chip [data-lucide]{color:var(--gold)}
.cat-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:40px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--line)}
.cat-stats div{background:var(--ink4);padding:22px 24px}
.cat-stats b{display:block;font-family:var(--serif);font-weight:400;font-size:34px;color:var(--gold);line-height:1.1}
.cat-stats span{font-size:14px;color:var(--a65)}
.rel-card{display:flex;align-items:center;gap:14px;padding:18px;transition:border-color .2s}
.rel-card:hover{border-color:var(--gold-border)}
.rel-card b{display:block;font-size:15px;font-weight:600}
.rel-card span span{display:block;font-size:13px;color:var(--a65);margin-top:2px}
.rel-card>[data-lucide]{margin-left:auto;color:var(--gold)}
.notice span{flex:1}
@media (max-width:640px){.cat-stats{grid-template-columns:1fr}.cat-stats b{font-size:28px}}
.cat-group{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.cat{background:#15171A}
.btn-dark{background:#09090B;color:#fff}
.btn-dark:hover{background:#25282B}
/* menus become visible instantly on open (so keyboard focus can move in), and hide after the fade on close */
.menu,.drawer{transition:opacity .22s,transform .22s var(--ease),visibility 0s linear .22s}
.menu.open,.drawer.open{transition:opacity .22s,transform .22s var(--ease),visibility 0s}
@media (max-width:360px){
  .site-header{padding:8px 8px 0}
  .nav-shell{gap:8px;padding:0 6px 0 12px}
  .brand img{height:22px}
  .header-actions{gap:4px}
  .header-actions .icon-btn,.menu-btn{width:34px;height:34px}
}

/* ==========================================================
   v5.1: availability (live / coming soon), finance and health
   ========================================================== */
.soon,.live{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:100px;padding:3px 9px;margin-left:6px;vertical-align:middle;white-space:nowrap;line-height:1.4}
.soon{color:var(--gold);border:1px solid var(--gold-border);background:var(--gold-muted)}
.live{color:var(--green);border:1px solid rgba(134,239,172,.35);background:rgba(134,239,172,.08)}
[data-theme="light"] .live{color:#166534;border-color:rgba(21,128,61,.3);background:rgba(21,128,61,.07)}
.kicker .soon,.kicker .live{margin-left:4px}
.ft-col .soon{font-size:9.5px;padding:1px 7px}
/* mega menu: live | coming soon | finance promo */
.menu.mega .menu-grid{grid-template-columns:1.2fr 1fr .95fr}
.menu-col h3+.menu-item{margin-top:0}
.menu-col .menu-item+h3{margin-top:6px}
.menu-item.mini{align-items:center;padding:7px 10px;gap:10px}
.menu-item.mini b{font-size:13.5px;font-weight:500;color:var(--a85)}
.menu-item.mini .mi{width:28px;height:28px;border-radius:9px}
.menu-item.mini .soon{margin-left:auto}
.menu-promo{display:flex;flex-direction:column;align-items:flex-start;gap:8px;height:100%;padding:18px;border-radius:16px;border:1px solid var(--gold-border);background:linear-gradient(160deg,rgba(234,177,21,.16),rgba(234,177,21,.03) 60%);transition:border-color .2s,transform .2s}
.menu-promo:hover{border-color:var(--gold);transform:translateY(-2px)}
.menu-promo .soon{margin:0}
.menu-promo .mi{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--gold-fill);color:#09090B;margin-top:4px}
.menu-promo b{font-size:16px;color:var(--white)}
.menu-promo>span:not(.soon):not(.mi):not(.promo-cta){font-size:13px;color:var(--a65);line-height:1.5}
.promo-cta{margin-top:auto;font-size:13px;font-weight:600;color:var(--gold);display:inline-flex;align-items:center;gap:6px}
.drawer-label{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--a45);padding:14px 6px 4px}
.drawer .sub a .soon{margin-left:auto}
/* EMI calculator */
.ctrl-val{background:#fff;color:#09090B}
.emi-guide{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--a65);line-height:1.5;background:var(--a06);border-radius:10px;padding:10px 12px;margin:0 0 18px}
.emi-guide [data-lucide]{color:var(--gold);margin-top:1px}
.emi-guide b{color:var(--white)}
.emi-row b{color:var(--white)}
.emi-chart-wrap{margin-top:36px;background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.08);border-radius:var(--r-xl);padding:24px 26px}
[data-theme="light"] .emi-chart-wrap{background:rgba(255,255,255,.7)}
.emi-chart-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.emi-chart-head h3{font-size:16px;font-weight:600;color:#16171B}
.legend{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:rgba(0,0,0,.6)}
.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.legend .lp{background:#EAB115}.legend .li{background:rgba(0,0,0,.2);margin-left:8px}
.emi-chart svg{width:100%;height:auto;display:block}
.emi-chart .cp{fill:#EAB115}.emi-chart .ci{fill:rgba(0,0,0,.18)}
.emi-chart text{font-size:11px;fill:rgba(0,0,0,.55);font-family:var(--sans)}
.bg-cream .emi-note{color:rgba(0,0,0,.55)}
.emi-result .emi-note{color:var(--a45)}
/* health plans */
.plan{padding:26px;display:flex;flex-direction:column}
.plan-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.plan-top .soon{margin:0}
.plan h3{font-family:var(--serif);font-weight:400;font-size:24px;margin-bottom:4px}
.plan .plan-sub{font-size:13px;font-weight:600;color:var(--gold);margin-bottom:10px}
.plan p:last-child{font-size:14.5px;color:var(--a65);line-height:1.6}
.feature h3 .live{margin-left:4px}
.rel-card b .soon{margin-left:4px}
/* coming-soon labels on image tiles and cards */
.soon-tag{position:absolute;top:14px;left:14px;z-index:2;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#09090B;background:var(--gold-fill);border-radius:100px;padding:4px 10px}
.ess-tile.icon-tile{background:radial-gradient(circle at 70% 30%,rgba(234,177,21,.28),transparent 60%),linear-gradient(160deg,#1f2126,#0e0f11);display:block}
.ess-tile.icon-tile .big-ic{position:absolute;right:18px;top:18px;color:var(--gold);opacity:.9}
/* essentials hub */
.soon-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:0;overflow:hidden;margin-bottom:22px}
.soon-feature .sf-copy{padding:34px}
.soon-feature .sf-copy h3{font-family:var(--serif);font-weight:400;font-size:30px;margin:12px 0 10px}
.soon-feature .sf-copy>p{font-size:15px;color:var(--a65);line-height:1.7;margin-bottom:18px;max-width:520px}
.soon-feature ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-bottom:24px}
.soon-feature li{display:flex;gap:8px;font-size:14px;color:var(--a85)}
.soon-feature li [data-lucide]{color:var(--gold);margin-top:3px}
.sf-side{position:relative;background:var(--cream);color:#09090B;padding:30px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.sf-side .lbl{font-size:13px;color:rgba(0,0,0,.6)}
.sf-side .num{font-family:var(--serif);font-size:44px;color:#8A6200;line-height:1}
.sf-side .num small{font-family:var(--sans);font-size:14px;color:rgba(0,0,0,.55)}
.sf-side input[type=range]{margin:14px 0 6px}
.sf-side .row{display:flex;justify-content:space-between;font-size:13px;color:rgba(0,0,0,.62)}
.sf-side .ctrl-val{display:inline-block;font-weight:700;font-size:14px;padding:4px 10px;border-radius:8px;border:1px solid rgba(0,0,0,.1)}
.sf-side .text-link{color:#8A6200;margin-top:10px}
.sf-photo{position:relative;min-height:260px;background:#15171A}
.sf-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.plan-chips{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.plan-chips div{display:flex;align-items:center;gap:12px;font-size:14.5px}
.plan-chips b{font-weight:600}
.plan-chips span{color:var(--a65);font-size:13px}
.plan-chips .icon-chip{width:36px;height:36px;border-radius:10px}
.soon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.soon-card{display:flex;flex-direction:column;gap:8px;padding:18px;transition:border-color .2s}
.soon-card:hover{border-color:var(--gold-border)}
.soon-card .soon{margin:0;align-self:flex-start}
.soon-card b{font-size:15px;font-weight:600}
.soon-card span.d{font-size:13px;color:var(--a65);line-height:1.5}
.bundle.dim{opacity:.72}
@media (max-width:1100px){.soon-grid{grid-template-columns:repeat(2,1fr)}.soon-feature{grid-template-columns:1fr}}
@media (max-width:640px){.soon-grid{grid-template-columns:1fr 1fr}.soon-feature ul{grid-template-columns:1fr}.soon-feature .sf-copy{padding:24px}.menu.mega .menu-grid{grid-template-columns:1fr}}
.emi-link{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.emi-link .soon{margin:0}
.emi>*{min-width:0}
@media (max-width:400px){.ctrl-top{flex-wrap:wrap;gap:6px}.ctrl-val{min-width:0}}
.ctrl-range{color:rgba(0,0,0,.64)}
[data-theme="light"] .soon{color:#6B4C00}
[data-theme="light"] .bg-cream .kicker,[data-theme="light"] .bg-cream .text-link,[data-theme="light"] .bg-cream .accent,[data-theme="light"] .sf-side .text-link{color:#6F4E00}
.sf-side .text-link{color:#6F4E00}

/* ==========================================================
   v5.2: Architects & Designers directory, profiles, portfolio
   ========================================================== */
.dir-stats{display:flex;gap:10px;flex-wrap:wrap}
.dir-stats span{font-size:13.5px;color:var(--a65);border:1px solid var(--line);border-radius:100px;padding:6px 14px;background:var(--a06)}
.dir-stats b{color:var(--gold);font-weight:700;margin-right:3px}
.dir-tabs{display:flex;gap:6px;padding:6px;border-radius:16px;background:var(--ink4);border:1px solid var(--line);margin-bottom:22px;overflow-x:auto;scrollbar-width:none;scroll-margin-top:calc(var(--nav-h) + 12px)}
.dir-tabs::-webkit-scrollbar{display:none}
.dir-tabs button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 18px;border-radius:11px;font-size:14.5px;font-weight:500;color:var(--a65);white-space:nowrap;transition:background .2s,color .2s}
.dir-tabs button:hover{color:var(--white)}
.dir-tabs button[aria-selected="true"]{background:var(--gold-fill);color:#09090B;font-weight:700}
.dir-tabs .n{font-size:12px;font-weight:700;border-radius:100px;padding:1px 8px;background:var(--a06)}
.dir-tabs button[aria-selected="true"] .n{background:rgba(0,0,0,.12)}
.dir-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.dir-filters .fi{width:auto;padding:9px 36px 9px 14px;font-size:13.5px}
.dir-filters .count{margin-left:auto;font-size:14px;color:var(--a65)}
.panel-intro{font-size:14.5px;color:var(--a65);margin-bottom:18px;max-width:640px}
/* avatars and logos */
.avatar,.logo-tile{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--serif);color:#09090B;background:linear-gradient(145deg,#F7C21B,#B98410);width:56px;height:56px;font-size:21px;letter-spacing:.02em}
.avatar{border-radius:50%}
.logo-tile{border-radius:14px;background:linear-gradient(145deg,#1F2126,#0C0D0F);color:var(--gold-fill);border:1px solid rgba(234,177,21,.45)}
.avatar.xl,.logo-tile.xl{width:88px;height:88px;font-size:32px}
.logo-tile.xl{border-radius:22px}
.avatar.sm,.logo-tile.sm{width:42px;height:42px;font-size:16px}
.logo-tile.sm{border-radius:11px}
.vetted{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;color:var(--green);border:1px solid rgba(134,239,172,.3);background:rgba(134,239,172,.07);border-radius:100px;padding:3px 9px;white-space:nowrap}
[data-theme="light"] .vetted{color:#166534;border-color:rgba(21,128,61,.3);background:rgba(21,128,61,.06)}
.vetted.on-photo{position:absolute;top:14px;right:14px;background:rgba(9,9,11,.72);color:#86EFAC;border-color:rgba(134,239,172,.35);backdrop-filter:blur(8px)}
/* professional cards */
.pro-grid{align-items:stretch}
.pro-card{display:flex;flex-direction:column;padding:24px;gap:14px}
.pro-head{display:flex;align-items:center;gap:14px}
.pro-head>div{flex:1;min-width:0}
.pro-head h3{font-size:18px;font-weight:600}
.pro-head h3 a:hover,.studio-body h3 a:hover{color:var(--gold)}
.pro-role{font-size:13.5px;color:var(--a65);margin-top:2px}
.pro-approach{font-family:var(--serif);font-size:18px;color:var(--a85);line-height:1.4}
.pro-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--a65)}
.pro-meta span{display:inline-flex;align-items:center;gap:6px}
.pro-meta [data-lucide]{color:var(--gold)}
.pro-card .tags,.pro-hero .tags{margin:0}
.tags .svc{color:var(--gold);border-color:var(--gold-border);background:var(--gold-muted);font-weight:600}
.pro-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pro-thumb{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:#15171A;padding:0}
.pro-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}
.pro-thumb:hover img{transform:scale(1.06)}
.pro-card .actions{display:flex;gap:8px;margin-top:auto;padding-top:4px}
.pro-card .actions .btn{flex:1}
.studio-card{padding:0;overflow:hidden;gap:0}
.studio-cover{position:relative;height:170px;background:#15171A}
.studio-cover img{width:100%;height:100%;object-fit:cover;filter:brightness(.85)}
.studio-cover .logo-tile{position:absolute;left:22px;bottom:-26px;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.studio-body{padding:38px 24px 24px;display:flex;flex-direction:column;gap:12px;flex:1}
.studio-body h3{font-size:18px;font-weight:600}
/* project cards */
.proj-grid{align-items:stretch}
.proj-card{display:flex;flex-direction:column;text-align:left;border-radius:16px;overflow:hidden;background:var(--ink4);border:1px solid var(--line);padding:0;transition:border-color .25s,transform .25s var(--ease)}
.proj-card:hover{border-color:var(--gold-border);transform:translateY(-3px)}
.proj-img{position:relative;display:block;aspect-ratio:16/11;background:#15171A;overflow:hidden}
.proj-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.proj-card:hover .proj-img img{transform:scale(1.04)}
.proj-count{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#fff;background:rgba(9,9,11,.7);backdrop-filter:blur(8px);border-radius:100px;padding:4px 10px}
.proj-info{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px}
.proj-tags{display:flex;gap:6px;flex-wrap:wrap}
.proj-tags span{font-size:11.5px;font-weight:600;color:var(--gold);background:var(--gold-muted);border:1px solid var(--gold-border);border-radius:100px;padding:2px 9px}
.proj-info b{font-size:16px;font-weight:600;color:var(--white)}
.proj-by{font-size:13px;color:var(--a65)}
/* project viewer */
.pv{position:fixed;inset:0;z-index:790;background:rgba(5,5,7,.9);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s linear .2s}
.pv.open{opacity:1;visibility:visible;transition:opacity .2s,visibility 0s}
.pv-dialog{position:relative;width:min(1180px,100%);max-height:calc(100vh - 48px);display:grid;grid-template-columns:1fr 360px;background:var(--ink3);border:1px solid var(--line);border-radius:22px;overflow:hidden}
.pv-close{position:absolute;top:14px;right:14px;z-index:3;background:rgba(9,9,11,.6);color:#fff;border-color:rgba(255,255,255,.2)}
.pv-stage{position:relative;background:#0B0C0E;display:flex;flex-direction:column;min-height:0}
.pv-stage>img{flex:1;min-height:0;width:100%;height:100%;max-height:calc(100vh - 150px);object-fit:contain;background:#0B0C0E}
.pv-stage .lb-btn{top:calc(50% - 40px)}
.pv-prev{left:14px}.pv-next{right:14px}
.pv-count{position:absolute;left:16px;top:16px;font-size:12.5px;font-weight:600;color:#fff;background:rgba(9,9,11,.6);border-radius:100px;padding:4px 10px}
.pv-thumbs{display:flex;gap:8px;padding:12px;overflow-x:auto;background:#0B0C0E}
.pv-thumbs button{width:84px;height:58px;border-radius:8px;overflow:hidden;flex-shrink:0;opacity:.55;border:2px solid transparent;padding:0}
.pv-thumbs button[aria-current="true"]{opacity:1;border-color:var(--gold-fill)}
.pv-thumbs img{width:100%;height:100%;object-fit:cover}
.pv-info{padding:30px 26px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}
.pv-info h2{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.15}
.pv-by{font-size:14px;color:var(--a65)}
.pv-by a{color:var(--gold);font-weight:600}
.pv-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pv-facts dt{font-size:12px;color:var(--a45)}
.pv-facts dd{font-size:14px;font-weight:500;color:var(--white)}
.pv-blurb{font-size:14.5px;color:var(--a85);line-height:1.7}
.pv-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}
/* profile page */
.pro-id{display:flex;align-items:center;gap:20px;margin-bottom:18px}
.pro-id .kicker{margin-bottom:6px;flex-wrap:wrap}
.pro-id .h1{margin:0}
.pro-quote{font-family:var(--serif);font-size:21px;margin-bottom:22px}
.pro-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--line);margin-bottom:18px}
.pro-facts div{background:var(--ink4);padding:14px 16px}
.pro-facts dt{font-size:12.5px;color:var(--a45);margin-bottom:2px}
.pro-facts dd{font-size:15px;font-weight:600}
.pro-mosaic{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:440px;border-radius:var(--r-xl);overflow:hidden}
.pro-mosaic button{position:relative;padding:0;overflow:hidden;background:#15171A}
.pro-mosaic .mo-0{grid-row:1/3}
.pro-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.pro-mosaic button:hover img{transform:scale(1.04)}
.pro-nav{position:sticky;top:var(--nav-h);z-index:40;background:var(--subnav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.pro-nav .container{display:flex;gap:26px}
.pro-nav a{padding:14px 0;font-size:14px;color:var(--a65);border-bottom:2px solid transparent}
.pro-nav a:hover{color:var(--gold);border-color:var(--gold-fill)}
.rel-card .avatar,.rel-card .logo-tile{margin:0}
@media (max-width:1000px){
  .pv-dialog{grid-template-columns:1fr;overflow-y:auto}
  .pv-stage>img{max-height:52vh}
}
@media (max-width:900px){.pro-mosaic{height:300px}}
@media (max-width:640px){
  .dir-tabs button{flex:0 0 auto;padding:11px 14px;font-size:13.5px}
  .dir-filters .count{margin-left:0;width:100%}
  .pv{padding:0}
  .pv-dialog{border-radius:0;max-height:100vh;height:100%}
  .pro-id{gap:14px}
  .avatar.xl,.logo-tile.xl{width:68px;height:68px;font-size:25px}
  .pro-facts{grid-template-columns:1fr 1fr}
  .pro-mosaic{height:240px}
  .pro-card .actions{flex-direction:column}
}
[data-theme="light"] .tags .svc,[data-theme="light"] .proj-tags span{color:#6B4C00}
/* cards inside cream sections are light cards in both themes */
.bg-cream .card{background:#fff;border-color:rgba(0,0,0,.08);color:#16171B}
.bg-cream .card h3{color:#16171B}
.bg-cream .card p{color:rgba(0,0,0,.66)}
.bg-cream .card .icon-chip{color:#7A5700;border-color:rgba(138,98,0,.35);background:rgba(234,177,21,.14)}
[data-theme="light"] .dir-stats b{color:#6B4C00}

/* ==========================================================
   v5.3: legal pages, sitemap, error pages, global mentions
   ========================================================== */
.legal-hero{padding:48px 0 40px}
.legal-hero .lead{max-width:720px}
.legal-date{font-size:13.5px;color:var(--a45);margin-top:10px}
.draft-banner{display:flex;gap:12px;align-items:flex-start;margin-top:22px;max-width:760px;padding:14px 16px;border-radius:12px;border:1px solid var(--gold-border);background:var(--gold-muted);font-size:13.5px;color:var(--a85);line-height:1.55}
.draft-banner [data-lucide]{color:var(--gold);margin-top:1px;flex-shrink:0}
.legal-grid{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:start}
.legal-toc{position:sticky;top:calc(var(--nav-h) + 16px);font-size:13.5px}
.legal-toc>p{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--a45);margin-bottom:10px}
.legal-toc ol{list-style:decimal;padding-left:20px;display:flex;flex-direction:column;gap:7px;color:var(--a45)}
.legal-toc a{color:var(--a65)}
.legal-toc a:hover{color:var(--gold)}
.legal-others{display:flex;flex-direction:column;gap:6px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.legal-others a{color:var(--a65);font-weight:500}
.legal-others a[aria-current]{color:var(--gold)}
.legal-article{max-width:760px}
.legal-article section{padding:6px 0 26px;scroll-margin-top:calc(var(--nav-h) + 20px)}
.legal-article h2{font-family:var(--serif);font-weight:400;font-size:25px;margin-bottom:12px}
.legal-article p,.legal-article li{font-size:15px;color:var(--a85);line-height:1.8}
.legal-article p+p{margin-top:10px}
.legal-article ul{list-style:disc;padding-left:22px;margin:10px 0;display:flex;flex-direction:column;gap:6px}
.legal-article a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.legal-article b{color:var(--white);font-weight:600}
.legal-article code{font-size:13px;background:var(--a06);padding:2px 6px;border-radius:6px}
mark.ph{background:rgba(234,177,21,.28);color:inherit;border-radius:4px;padding:0 4px;box-shadow:inset 0 -2px 0 var(--gold-fill)}
.legal-table{overflow-x:auto;margin:14px 0;border:1px solid var(--line);border-radius:12px}
.legal-table table{width:100%;border-collapse:collapse;font-size:14px}
.legal-table th{text-align:left;font-weight:600;color:var(--a65);background:var(--a06);padding:10px 14px}
.legal-table td{padding:12px 14px;border-top:1px solid var(--line);color:var(--a85);vertical-align:top}
.sitemap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.sm-group h2{font-family:var(--serif);font-weight:400;font-size:22px;margin-bottom:12px}
.sm-group ul{display:flex;flex-direction:column;gap:8px}
.sm-group a{font-size:14.5px;color:var(--a85)}
.sm-group a:hover{color:var(--gold)}
.err-page{padding:64px 0 96px}
.err-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.err-code{font-family:var(--serif);font-size:clamp(72px,11vw,140px);line-height:1;color:var(--gold);opacity:.9;margin-bottom:8px;letter-spacing:-.02em}
.err-solo{min-height:100vh;display:flex;align-items:center;background:radial-gradient(circle at 15% 10%,rgba(234,177,21,.12),transparent 50%),var(--ink2)}
.err-solo-main{width:100%}
.err-brand{display:inline-block;margin-bottom:40px}
.err-brand img{height:30px;width:auto}
.err-contact{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:28px;font-size:14px;color:var(--a65)}
.err-contact [data-lucide]{color:var(--gold)}
.err-contact a:hover{color:var(--gold)}
.ft-region{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.7);margin:-8px 0 20px}
.ft-region [data-lucide]{color:#EAB115}
.ft-region .soon{margin:0;color:#EAB115;border-color:rgba(234,177,21,.35);background:rgba(234,177,21,.1)}
.ft-bot nav{flex-wrap:wrap}
.region-note{display:flex;gap:12px;align-items:flex-start;margin:4px 0 16px;padding:14px;border-radius:12px;background:var(--a06);border:1px solid var(--line)}
.region-note [data-lucide]{color:var(--gold);margin-top:2px;flex-shrink:0}
.region-note b{font-size:14.5px}
.region-note p{font-size:13.5px;color:var(--a65);margin:4px 0 0!important;line-height:1.55}
.form-note a,.modal .form-note a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
@media (max-width:900px){.legal-grid{grid-template-columns:1fr;gap:24px}.legal-toc{position:static}.err-grid{grid-template-columns:1fr;gap:32px}.sitemap-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.sitemap-grid{grid-template-columns:1fr}}
@media print{.site-header,.site-footer,.mobile-bar,.wa-float,.legal-toc,.draft-banner{display:none!important}.legal-grid{grid-template-columns:1fr}body{background:#fff;color:#000}}
.ft-top{grid-template-columns:1.4fr 1fr 1fr 1fr 1.25fr;gap:36px}
@media (max-width:1100px){.ft-top{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.ft-top{grid-template-columns:1fr}}

/* v5.4: brand line above the hero tabs */
@media (max-width:640px){
}
/* keep the search button in the first screen on phones now that the brand line sits above the tabs */
@media (max-width:640px){.cine-content{padding-top:calc(var(--nav-h) + 50px)}}
@media (max-width:640px) and (max-height:860px){.cine .assure{display:none}}
@media (max-width:640px) and (max-height:800px){.cine .lead{display:none}}
@media (max-height:500px){.cine .hero-h{display:none}.cine-content{padding-top:calc(var(--nav-h) + 46px)}}
@media (max-width:640px) and (max-height:700px){
  .cine .seg{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;border-radius:100px;margin-bottom:14px;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .cine .seg::-webkit-scrollbar{display:none}
  .cine .seg button{flex:0 0 auto;border-radius:100px;padding:8px 12px}
  .cine .hero-h{font-size:25px}
}

/* v5.5: simple, readable brand line above the hero tabs */
.cine-brand{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-family:var(--sans);font-size:15px;font-weight:400;line-height:1.4;letter-spacing:.01em;margin-bottom:20px;text-shadow:0 1px 12px rgba(0,0,0,.5);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.cine-brand img{width:26px;height:auto;flex-shrink:0}
.cine-brand .b1{font-weight:600;color:var(--gold)}
.cine-brand .b-sep{width:1px;height:16px;background:rgba(234,177,21,.55)}
.cine-brand .b2{color:rgba(255,255,255,.88)}
.cine.intro .cine-brand{opacity:0;transform:translateY(10px);transition:none}
@media (max-width:640px){
  .cine-brand{font-size:13.5px;gap:2px 10px;margin-bottom:14px}
  .cine-brand img{width:22px}
  .cine-brand .b-sep{display:none}
  .cine-brand .b2{flex-basis:100%;padding-left:32px;font-size:13px}
}

/* ==========================================================
   v6: About page redesign
   ========================================================== */
.ab-hero{position:relative;overflow:hidden;padding:64px 0 96px;background:var(--ink3)}
.ab-hero::before{content:'';position:absolute;width:900px;height:900px;left:-300px;top:-420px;border-radius:50%;background:radial-gradient(circle,rgba(234,177,21,.14),transparent 62%);pointer-events:none}
.ab-hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:center}
.ab-hero .kicker img{width:22px;height:auto}
.ab-hero .h1{font-size:clamp(40px,4.6vw,66px);margin-bottom:20px}
.ab-hero .lead{max-width:600px}
.ab-visual{position:relative}
.ab-visual .ph-art{aspect-ratio:5/4;margin:0}
.float-chip{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border-radius:100px;font-size:14px;font-weight:600;color:var(--white);background:var(--glass-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--glass-border);box-shadow:var(--shadow);white-space:nowrap;animation:abFloat 6s ease-in-out infinite}
.float-chip svg{color:var(--gold)}
.fc1{left:-34px;top:12%}.fc2{right:-26px;top:47%;animation-delay:-2s}.fc3{left:10%;bottom:-20px;animation-delay:-4s}
@keyframes abFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.manifesto{padding:100px 0;text-align:center;background:var(--ink2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.manifesto .mq{display:block;margin:0 auto 22px;color:var(--gold);opacity:.65}
.mf-line{font-family:var(--serif);font-size:clamp(34px,4.6vw,64px);line-height:1.12;letter-spacing:-.01em;max-width:1040px;margin:0 auto}
.mf-sub{margin-top:20px;font-size:18px;color:var(--a65)}
.ab-head{max-width:780px;margin-bottom:44px}
.ab-head.center{margin-left:auto;margin-right:auto;text-align:center}
.ab-head .h2{margin-bottom:12px}
.compare{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:stretch}
.cmp{border-radius:var(--r-xl);padding:30px 32px;border:1px solid var(--line)}
.cmp-before{background:var(--a06)}
.cmp-after{background:linear-gradient(160deg,rgba(234,177,21,.15),rgba(234,177,21,.03) 65%);border-color:var(--gold-border)}
.cmp-t{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;margin-bottom:20px}
.cmp-before .cmp-t{color:var(--a65)}.cmp-before .cmp-t svg{color:var(--a45)}
.cmp-after .cmp-t svg{color:var(--gold)}
.cmp ul{display:flex;flex-direction:column;gap:14px}
.cmp li{position:relative;padding-left:28px;font-size:16px;line-height:1.5}
.cmp-before li{color:var(--a65)}
.cmp-before li::before{content:'';position:absolute;left:4px;top:.68em;width:11px;height:2px;border-radius:2px;background:var(--a45)}
.cmp-after li{color:var(--a85)}
.cmp-after li::before{content:'';position:absolute;left:3px;top:.32em;width:12px;height:7px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.cmp-arrow{display:flex;align-items:center;justify-content:center;color:var(--gold)}
.mv-card{padding:34px;border-radius:var(--r-xl);background:var(--ink4);border:1px solid var(--line);height:100%}
.mv-card .kicker{margin:18px 0 8px}
.mv-text{font-family:var(--serif);font-size:22px;line-height:1.5;color:var(--a85)}
.eco-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:30px;transition:border-color .25s,transform .25s var(--ease)}
.eco-card:hover{border-color:var(--gold-border);transform:translateY(-4px)}
.eco-n{position:absolute;right:24px;top:18px;font-family:var(--serif);font-size:46px;line-height:1;color:var(--a12)}
.eco-card h3{font-size:20px;font-weight:600;margin-top:6px}
.eco-card p{flex:1;font-size:15px;line-height:1.6;color:var(--a65)}
.promises{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.promise{display:flex;gap:16px;align-items:flex-start}
.promise h3{font-size:17px;font-weight:600;color:#16171B;margin-bottom:6px}
.promise p{font-size:15px;line-height:1.6;color:rgba(0,0,0,.66)}
.bg-cream .promise .icon-chip{flex-shrink:0;color:#7A5700;border-color:rgba(138,98,0,.35);background:rgba(234,177,21,.14)}
.team{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.tm{text-align:center;padding:30px 16px;border-radius:var(--r-lg);background:var(--ink4);border:1px solid var(--line);transition:border-color .25s}
.tm:hover{border-color:var(--gold-border)}
.tm-av{width:88px;height:88px;font-size:30px;margin:0 auto 16px}
.tm h3{font-size:16.5px;font-weight:600}
.tm p{font-size:13.5px;color:var(--a65);margin-top:4px}
.quote-card{position:relative;margin:0;padding:34px;border-radius:var(--r-xl);background:var(--ink4);border:1px solid var(--line);display:flex;flex-direction:column}
.qmark{color:var(--gold);opacity:.55;margin-bottom:14px}
.quote-card blockquote{flex:1;font-family:var(--serif);font-size:22px;line-height:1.5;color:var(--a85);margin:0 0 24px}
.quote-card figcaption{display:flex;align-items:center;gap:12px}
.quote-card figcaption b{display:block;font-size:15px}
.quote-card figcaption span span{font-size:13px;color:var(--a65)}
.office-card{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;padding:32px 36px;border-radius:var(--r-xl);background:var(--ink4);border:1px solid var(--line)}
.office-addr{display:flex;align-items:flex-start;gap:10px;margin-top:12px;color:var(--a85)}
.office-addr svg,.office-links svg{color:var(--gold);flex-shrink:0;margin-top:2px}
.office-note{margin-top:6px;font-size:14px;color:var(--a65)}
.office-links{display:flex;flex-direction:column;gap:12px}
.office-links a{display:inline-flex;align-items:center;gap:10px;font-weight:600;transition:color .2s}
.office-links a:hover{color:var(--gold)}
@media (max-width:1100px){.team{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){
  .ab-hero{padding:40px 0 72px}
  .ab-hero-grid{grid-template-columns:1fr;gap:56px}
  .fc1{left:8px;top:-18px}.fc2{right:8px;top:auto;bottom:22%}.fc3{left:8px;bottom:-18px}
  .compare{grid-template-columns:1fr}
  .cmp-arrow{transform:rotate(90deg)}
  .promises{grid-template-columns:1fr}
}
@media (max-width:640px){
  .manifesto{padding:72px 0}
  .team{grid-template-columns:1fr 1fr}
  .tm:last-child{grid-column:1/-1}
  .cmp,.mv-card,.quote-card,.office-card{padding:24px}
  .float-chip{font-size:12.5px;padding:8px 13px}
}
@media (prefers-reduced-motion:reduce){.float-chip{animation:none}}

/* ==========================================================
   v7: About page revamp: scroll-driven parallax story
   ========================================================== */
.kicker.center,.chips.center{justify-content:center}
/* hero */
.ax-hero{position:relative;overflow:hidden;display:flex;align-items:center;min-height:calc(100vh - var(--nav-h));min-height:calc(100svh - var(--nav-h));background:var(--ink3)}
.ax-word{position:absolute;left:4%;top:7%;z-index:0;white-space:nowrap;font-family:var(--serif);font-size:clamp(110px,16vw,270px);line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold-border);opacity:.75;pointer-events:none;will-change:transform}
.ax-glow{position:absolute;right:-320px;bottom:-520px;width:1150px;height:1150px;border-radius:50%;background:radial-gradient(circle,rgba(234,177,21,.17),transparent 62%);pointer-events:none}
.ax-sky{position:absolute;left:0;right:0;bottom:0;height:64%;z-index:1;pointer-events:none}
.ax-layer{position:absolute;inset:0;will-change:transform}
.ax-layer img{position:absolute;height:auto}
.ax-layer.far img{bottom:22%;opacity:.22}
.ax-layer.mid img{bottom:9%;opacity:.45}
.ax-layer.near img{bottom:-1%;opacity:.95}
.ax-layer .art-l,.eco2-media .art-l{display:none}
[data-theme="light"] .ax-layer .art-d,[data-theme="light"] .eco2-media .art-d{display:none}
[data-theme="light"] .ax-layer .art-l,[data-theme="light"] .eco2-media .art-l{display:block}
.ax-ground{position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-border),transparent)}
.ax-hero::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,var(--ink3) 0%,var(--ink3) 30%,transparent 62%)}
.ax-hero-copy{position:relative;z-index:3;padding-top:40px;padding-bottom:120px;will-change:transform}
.ax-hero-copy .kicker img{width:22px;height:auto}
.ax-h1{font-family:var(--serif);font-weight:400;font-size:clamp(44px,6vw,94px);line-height:1.02;letter-spacing:-.02em;margin:12px 0 24px;max-width:880px}
.ax-line{display:block;overflow:hidden;padding-bottom:.07em;margin-bottom:-.07em}
.ax-line>span{display:block}
.ax-on .ax-line>span{transform:translateY(105%);transition:transform 1.15s cubic-bezier(.22,1,.36,1)}
.ax-on .ax-line:nth-child(2)>span{transition-delay:.1s}
.ax-on .ax-line:nth-child(3)>span{transition-delay:.2s}
.ax-on .ax-hero.in .ax-line>span{transform:none}
.ax-hero-copy .lead{max-width:560px}
.ax-on .ax-fade{opacity:0;transform:translateY(16px);transition:opacity .9s .45s,transform .9s .45s var(--ease)}
.ax-on .ax-hero.in .ax-fade{opacity:1;transform:none}
.ax-cue{position:absolute;z-index:3;left:var(--gutter);bottom:30px;display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--a65)}
.ax-cue span{position:relative;width:1px;height:44px;background:var(--a12);overflow:hidden}
.ax-cue span::after{content:'';position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--gold-fill);animation:cue 2.2s cubic-bezier(.65,0,.35,1) infinite}
/* pinned stages */
.ax-sticky{display:flex;align-items:center}
.ax-on .ax-sticky{position:sticky;top:var(--nav-h);height:calc(100vh - var(--nav-h));height:calc(100svh - var(--nav-h));overflow:hidden}
.ax-manifesto{position:relative;background:var(--ink2);padding:80px 0}
.ax-on .ax-manifesto{height:240vh;padding:0}
.ax-words{font-family:var(--serif);font-size:clamp(40px,6.4vw,104px);line-height:1.08;letter-spacing:-.015em;text-align:center;max-width:1180px;margin:16px auto 0}
.wd{color:var(--a12);transition:color .35s ease}
.wd.on{color:var(--white)}
.wd.on:nth-child(n+5){color:var(--gold)}
.ax-msub{text-align:center;margin-top:26px;font-size:18px;color:var(--a65)}
.ax-on .ax-msub{opacity:0;transform:translateY(10px);transition:opacity .6s,transform .6s}
.ax-on .ax-manifesto.done .ax-msub{opacity:1;transform:none}
/* story */
.ax-story{position:relative;background:var(--ink2);padding:80px 0}
.ax-on .ax-story{height:340vh;padding:0}
.story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;width:100%}
.story-visual{position:relative;height:min(64vh,560px);border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);background:radial-gradient(circle at 50% 50%,rgba(234,177,21,.12),transparent 58%),var(--ink4)}
.sc{position:absolute;left:calc(50% + var(--x));top:calc(50% + var(--y));transform:translate(-50%,-50%);z-index:2;padding:10px 16px;border-radius:100px;border:1px solid var(--line);background:var(--ink3);font-size:14px;font-weight:600;color:var(--a85);white-space:nowrap;box-shadow:0 8px 20px rgba(0,0,0,.18);will-change:transform,opacity}
.ax-on .sc{left:50%;top:50%}
.sc>span{display:inline-block;animation:scFloat 4.2s ease-in-out infinite}
.sc:nth-child(odd)>span{animation-delay:-1.6s}.sc:nth-child(3n)>span{animation-delay:-2.8s}
@keyframes scFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.ring{position:absolute;left:50%;top:50%;width:60%;aspect-ratio:1;border-radius:50%;border:1px dashed var(--gold-border);transform:translate(-50%,-50%);opacity:0}
.ring.r2{width:82%}.ring.r3{width:104%}
.hub{position:absolute;left:50%;top:50%;z-index:3;width:156px;height:156px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--ink2);border:2px solid var(--gold-fill);transform:translate(-50%,-50%);transition:box-shadow .6s}
.ax-on .hub{transform:translate(-50%,-50%) scale(.55)}
.hub img{width:64px;height:auto}
.hub span{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--gold)}
.ax-on .hub span{opacity:0;transition:opacity .4s}
.hub.lit{box-shadow:0 0 70px rgba(234,177,21,.35)}
.ax-on .hub.lit span{opacity:1}
.story-steps{position:relative}
.ax-on .story-steps{min-height:360px}
.step-t{margin-bottom:28px}
.ax-on .step-t{position:absolute;left:0;right:0;top:56px;margin:0;opacity:0;transform:translateY(26px);transition:opacity .55s,transform .65s var(--ease)}
.ax-on .step-t.active{opacity:1;transform:none}
.step-t p{font-family:var(--serif);font-size:clamp(28px,3vw,46px);line-height:1.2}
.st-n{display:block;margin-bottom:14px;font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--gold)}
.story-bar{display:none}
.ax-on .story-bar{display:block;position:absolute;left:0;bottom:0;width:200px;height:3px;border-radius:2px;background:var(--a12);overflow:hidden}
.story-bar i,.hs-progress i{display:block;height:100%;background:var(--gold-fill);transform-origin:left;transform:scaleX(0)}
/* mission and vision */
.mv2{position:relative;overflow:hidden;height:100%;min-height:340px;padding:40px;border-radius:var(--r-xl);background:var(--ink4);border:1px solid var(--line)}
.mv2-word{position:absolute;right:-6px;bottom:-34px;font-family:var(--serif);font-size:150px;line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold-border);opacity:.7;pointer-events:none;will-change:transform}
.mv2 .kicker{margin:18px 0 10px}
.mv2-text{position:relative;max-width:520px;font-family:var(--serif);font-size:24px;line-height:1.5;color:var(--a85)}
/* horizontal journey */
.ax-hs{position:relative;background:var(--ink3);padding:80px 0}
.ax-on .ax-hs{padding:0}
.ax-hs .ax-sticky{flex-direction:column;align-items:stretch;justify-content:center;gap:40px}
.hs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;width:100%}
.hs-progress{width:220px;height:3px;flex-shrink:0;border-radius:2px;background:var(--a12);overflow:hidden}
.hs-viewport{overflow:hidden}
.hs-track{display:flex;gap:28px;width:max-content;list-style:none;padding:0 var(--gutter) 0 max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter)));will-change:transform}
.hs-card{position:relative;display:flex;flex-direction:column;gap:12px;width:min(520px,80vw);min-height:400px;padding:38px;border-radius:var(--r-xl);background:var(--ink4);border:1px solid var(--line)}
.hs-n{position:absolute;right:28px;top:18px;font-family:var(--serif);font-size:88px;line-height:1;color:var(--a06)}
.hs-card .j-stage{margin-top:10px}
.hs-card h3{font-family:var(--serif);font-weight:400;font-size:34px;line-height:1.15}
.hs-card ul{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.hs-card li li,.hs-card ul li{position:relative;padding-left:20px;font-size:16px;color:var(--a65)}
.hs-card ul li::before{content:'';position:absolute;left:3px;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--gold-fill)}
.hs-card>p:not(.j-stage){font-size:17px;color:var(--a65);line-height:1.6}
.hs-final{background:linear-gradient(160deg,rgba(234,177,21,.18),rgba(234,177,21,.04) 60%),var(--ink4);border-color:var(--gold-border)}
.hs-final .btn{align-self:flex-start;margin-top:auto}
.hs-native{height:auto!important;padding:72px 0!important}
.hs-native .ax-sticky{position:static!important;height:auto!important;overflow:visible!important}
.hs-native .hs-viewport{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.hs-native .hs-viewport::-webkit-scrollbar{display:none}
.hs-native .hs-card{scroll-snap-align:start}
.hs-native .hs-progress{display:none}
/* ecosystem with image parallax */
.eco2-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.eco2{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r-xl);background:var(--ink4);border:1px solid var(--line);transition:transform .35s var(--ease),border-color .3s}
.eco2:hover{transform:translateY(-6px);border-color:var(--gold-border)}
.eco2-media{position:relative;display:block;height:230px;overflow:hidden;background:radial-gradient(ellipse at 50% 120%,rgba(234,177,21,.2),transparent 60%),#15171A}
[data-theme="light"] .eco2-media{background:#FFC32E}
.eco2-media img{position:absolute;left:12%;top:16%;width:76%;height:auto;will-change:transform}
.eco2-body{position:relative;display:flex;flex-direction:column;gap:10px;flex:1;padding:26px 28px 28px}
.eco2-n{position:absolute;right:24px;top:-40px;font-family:var(--serif);font-size:56px;line-height:1;color:var(--gold-fill);text-shadow:0 2px 14px rgba(0,0,0,.45)}
.eco2 b{font-size:20px;font-weight:600}
.eco2-body>span:not(.eco2-n):not(.text-link){flex:1;font-size:15px;line-height:1.6;color:var(--a65)}
/* promises marquee */
.ax-marquee{overflow:hidden;padding:96px 0 84px;background:var(--ink2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mq-row{display:flex;align-items:center;gap:42px;white-space:nowrap;width:max-content;font-family:var(--serif);font-size:clamp(44px,6vw,92px);line-height:1.2;transform:translateX(-25%);will-change:transform}
.mq-row i{font-style:normal;font-size:.42em;color:var(--gold)}
.mq-row.outline span{color:transparent;-webkit-text-stroke:1px var(--a45)}
.promises2{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:68px}
.promises2>div{padding-top:20px;border-top:1px solid var(--gold-border)}
.promises2 h2{margin-bottom:8px;font-size:19px}
.promises2 p{font-size:15px;line-height:1.6;color:var(--a65)}
/* team, quotes, close */
.team2{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;padding:24px 0}
.tm2{text-align:center;padding:30px 16px;border-radius:var(--r-lg);background:var(--ink4);border:1px solid var(--line);transition:border-color .25s;will-change:transform}
.tm2:hover{border-color:var(--gold-border)}
.tm2 h3{font-size:16.5px;font-weight:600}
.tm2 p{margin-top:4px;font-size:13.5px;color:var(--a65)}
.quote-card{overflow:hidden}
.qbig{position:absolute;right:26px;top:-24px;font-family:var(--serif);font-size:170px;line-height:1;color:var(--gold);opacity:.2;pointer-events:none}
.ax-close{position:relative;overflow:hidden;padding:150px 0 120px;text-align:center;background:var(--ink3)}
.ax-close-word{position:absolute;left:0;right:0;top:50%;margin-top:-.52em;white-space:nowrap;font-family:var(--serif);font-size:clamp(180px,30vw,480px);line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold-border);opacity:.55;pointer-events:none;will-change:transform}
.ax-close-inner{position:relative;z-index:1}
.ax-close-h{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5.6vw,86px);line-height:1.05}
.ax-office{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:52px;font-size:14.5px;color:var(--a65)}
.ax-office span{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px}
.ax-office b{color:var(--white)}
.ax-office svg{color:var(--gold)}
.ax-office a{display:inline-flex;align-items:center;gap:6px;margin:0 10px;font-weight:600;color:var(--a85)}
.ax-office a:hover{color:var(--gold)}
@media (max-width:1100px){.team2{grid-template-columns:repeat(3,1fr)}.promises2{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
  .ax-hero{align-items:flex-start}
  .ax-hero-copy{padding-top:36px;padding-bottom:300px}
  .ax-hero::after{background:linear-gradient(180deg,var(--ink3) 0%,var(--ink3) 52%,transparent 80%)}
  .ax-sky{height:40%}
  .ax-layer.near img{left:22%!important;width:62%!important}
  .ax-layer.mid img:nth-of-type(odd),.ax-layer.mid img:nth-of-type(even){width:34%!important}
  .ax-word{top:auto;bottom:34%;font-size:96px}
  .story-grid{grid-template-columns:1fr;gap:22px;align-content:center}
  .story-visual{height:40vh;height:40svh}
  .ax-on .story-steps{min-height:200px}
  .ax-on .step-t{top:0}
  .step-t p{font-size:24px}
  .eco2-grid{grid-template-columns:1fr}
  .hs-head{flex-direction:column;align-items:flex-start}
  .hs-card{min-height:360px;padding:30px}
}
@media (max-width:640px){
  .team2{grid-template-columns:1fr 1fr}
  .tm2:last-child{grid-column:1/-1}
  .mv2{padding:28px;min-height:0}
  .mv2-word{font-size:96px}
  .mv2-text{font-size:20px}
  .promises2{grid-template-columns:1fr}
  .ax-close{padding:100px 0 90px}
  .sc{font-size:12.5px;padding:8px 12px}
  .hub{width:120px;height:120px}
}
/* reduced motion: static, complete layout */
.ax-rm .ax-manifesto,.ax-rm .ax-story{height:auto!important;padding:80px 0}
.ax-rm .ax-sticky{position:static!important;height:auto!important}
.ax-rm .ax-line>span,.ax-rm .ax-fade{transform:none!important;opacity:1!important;transition:none!important}
.ax-rm .step-t{position:static!important;opacity:1!important;transform:none!important;margin-bottom:28px!important}
.ax-rm .story-steps{min-height:0!important}
.ax-rm .sc>span,.ax-rm .ax-cue span::after{animation:none}
.ax-rm .story-bar{display:none}
.ax-rm .ax-msub{opacity:1!important;transform:none!important}
/* manifesto words: the not-yet-revealed state still meets 3:1 for large text */
:root{--wd-dim:rgba(255,255,255,.36)}
[data-theme="light"]{--wd-dim:rgba(22,23,27,.5)}
.wd{color:var(--wd-dim)}

/* ==========================================================
   v8: About as a chaptered story, in the landing page's language
   ========================================================== */
.about-cine{min-height:clamp(600px,92vh,980px);min-height:clamp(600px,92svh,980px)}
.about-cine .cine-content{padding-bottom:110px}
.about-cine .hero-h{max-width:920px}
.about-cine .lead{max-width:620px}
.cine-ghost{background:rgba(15,16,18,.45);border-color:rgba(255,255,255,.3);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.story-nav a b{margin-right:8px;font-weight:700;color:var(--gold)}
.story-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px}
.story-progress i{display:block;height:100%;background:var(--gold-fill);transform-origin:left;transform:scaleX(0)}
.chapter{scroll-margin-top:calc(var(--nav-h) + 54px)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.story2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.story2 .h2{margin-bottom:14px}
.story2 .sub{margin-bottom:28px}
.compare2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.c2{padding:22px;border-radius:var(--r-lg);border:1px solid var(--line)}
.c2-before{background:var(--a06)}
.c2-after{background:linear-gradient(160deg,rgba(234,177,21,.14),rgba(234,177,21,.03) 65%);border-color:var(--gold-border)}
.c2-t{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:15px;font-weight:700}
.c2-before .c2-t{color:var(--a65)}
.c2-after .c2-t svg{color:var(--gold)}
.c2 ul{display:flex;flex-direction:column;gap:9px}
.c2 li{position:relative;padding-left:18px;font-size:14.5px;line-height:1.5}
.c2-before li{color:var(--a65)}
.c2-after li{color:var(--a85)}
.c2 li::before{content:'';position:absolute;left:2px;top:.62em;width:6px;height:6px;border-radius:50%}
.c2-before li::before{background:var(--a45)}
.c2-after li::before{background:var(--gold-fill)}
.story2-visual .story-visual{height:clamp(380px,48vh,520px)}
.story2-cap{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;font-size:13.5px;color:var(--a65)}
.story2-cap svg{color:var(--gold)}
.belief{padding:8px 0 48px;margin-bottom:48px;border-bottom:1px solid var(--line)}
.belief-words{max-width:1120px;font-family:var(--serif);font-size:clamp(38px,5.4vw,84px);line-height:1.08;letter-spacing:-.015em}
.belief-sub{margin-top:18px;font-size:18px;color:var(--a65)}
.mv3 .h3{margin:16px 0 10px}
.mv3 p{font-size:15.5px;line-height:1.7;color:var(--a65)}
.promises-t{margin:56px 0 20px}
.promises3 h3{font-size:16.5px}
.team3{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
/* gentle reveal, staggered by about.js; content is visible without JavaScript */
.ax-on [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.ax-on [data-reveal].in{opacity:1;transform:none}
.ax-rm [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
@media (max-width:1100px){.grid-4{grid-template-columns:1fr 1fr}.team3{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){
  .story2{grid-template-columns:1fr;gap:40px}
  .about-cine .cine-content{padding-bottom:40px}
}
@media (max-width:640px){
  .compare2,.grid-4{grid-template-columns:1fr}
  .team3{grid-template-columns:1fr 1fr}
  .team3 .tm2:last-child{grid-column:1/-1}
  .story2-visual .story-visual{height:340px}
  .story-nav a{font-size:13px}
}
/* About hero: never use the landing page's framing clip; the copy stays steady */
.about-cine .cine-frame{clip-path:none!important}
.about-cine .cine-copy{opacity:1!important;transform:none!important}
