/* Off-Plan investment landing — page-specific. Header/footer/tokens are global theme CSS. */
:root{
 --te-accent:#0B74F0;--te-accent-hover:#0959bd;--te-accent-tint:#EAF3FE;--te-accent-tint-border:#9DC9FA;--te-accent-light:#5AA3F5;
 --te-ink:#17181A;--te-ink-strong:#101114;--te-ink-deepest:#0B0C0E;--te-body:#4C5054;--te-muted:#6B7076;--te-label:#9CA0A6;
 --te-border:#E7E9EC;--te-divider:#ECEEF0;--te-divider-light:#F1F2F4;--te-fill:#F3F4F6;--te-surface:#F7F8F9;--te-white:#fff;--te-photo:#1B2430;
 --te-warning:#F5B301;--te-good:#1c9d57;
 --on-92:rgba(255,255,255,.92);--on-78:rgba(255,255,255,.78);--on-62:rgba(255,255,255,.62);--on-42:rgba(255,255,255,.42);--on-b24:rgba(255,255,255,.24);--on-b12:rgba(255,255,255,.12);--on-f08:rgba(255,255,255,.06);
 --fd:"Archivo",system-ui,sans-serif;--fb:"Hanken Grotesk",system-ui,sans-serif;
 --max:1240px;--te-content-max:1240px;--gut:clamp(16px,4vw,56px);
 --r8:8px;--r10:10px;--r12:12px;--r14:14px;--r16:16px;--r18:18px;--rp:999px;
 --sh:0 18px 44px rgba(8,14,24,.14);--sh-lg:0 24px 60px rgba(8,14,24,.20);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--fb);color:var(--te-ink);background:var(--te-white);font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--fd);font-weight:800;letter-spacing:-.02em;line-height:1.08;margin:0}
p{margin:0}
[hidden]{display:none!important}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.eyebrow{font-family:var(--fd);font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--te-accent)}
.eyebrow--d{color:var(--te-accent-light)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--fb);font-weight:700;border:1px solid transparent;border-radius:var(--r12);cursor:pointer;transition:.15s;white-space:nowrap;font-size:16px;padding:16px 26px}
.btn--pri{background:var(--te-accent);color:#fff}.btn--pri:hover{background:var(--te-accent-hover)}
.btn--ghost{background:transparent;color:#fff;border-color:var(--on-b24)}.btn--ghost:hover{border-color:#fff}
.btn--dark{background:var(--te-ink-strong);color:#fff}.btn--dark:hover{background:#2a2c31}
.btn--out{background:#fff;color:var(--te-ink);border-color:var(--te-border)}.btn--out:hover{border-color:var(--te-accent);color:var(--te-accent)}
.btn--sm{padding:11px 18px;font-size:14.5px}
.sec{padding-block:clamp(56px,8vw,104px)}
.sec--surface{background:var(--te-surface)}
.sec--ink{background:var(--te-ink-strong);color:#fff}
.sec--ink h2,.sec--ink h3{color:#fff}
/* On-dark containers set color on the wrapper but the theme base forces
   h1..h6 to --te-ink; re-assert white on their headings. */
.hero h1,.hero h2,.hero h3,.mkt h1,.mkt h2,.mkt h3{color:#fff}
.sec__head{max-width:720px;margin-bottom:44px}
.sec__head--c{margin-inline:auto;text-align:center}
.sec__title{font-size:clamp(28px,4vw,44px);margin:14px 0 0}
.sec__sub{font-size:clamp(17px,1.6vw,20px);color:var(--te-muted);margin-top:16px;line-height:1.55}
.sec--ink .sec__sub{color:var(--on-78)}

/* ===== hero ===== */
.hero{position:relative;background:var(--te-photo);color:#fff;overflow:hidden}
.hero__bg{position:absolute;inset:0;background:center/cover no-repeat;background-image:url('https://totalityestates.com/wp-content/themes/totality-estates/assets/img/hero-dubai.jpg')}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,20,.78)0%,rgba(8,12,20,.55)45%,rgba(8,12,20,.82)100%)}
.hero__in{position:relative;z-index:2;max-width:var(--max);margin-inline:auto;padding:clamp(140px,17vh,190px) var(--gut) clamp(40px,6vw,64px)}
.hero__eyebrow{color:var(--te-accent-light);font-family:var(--fd);font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.hero h1{font-size:clamp(38px,6.4vw,76px);font-weight:900;letter-spacing:-.03em;margin:16px 0 0;max-width:16ch}
.hero__sub{font-size:clamp(17px,1.7vw,21px);color:var(--on-92);max-width:60ch;margin:20px 0 0;line-height:1.5}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.hero__stats{display:flex;flex-wrap:wrap;gap:14px 34px;margin-top:34px;padding-top:26px;border-top:1px solid var(--on-b12)}
.hero__stat b{display:block;font-family:var(--fd);font-weight:800;font-size:clamp(22px,2.6vw,30px)}
.hero__stat span{font-size:13.5px;color:var(--on-62);letter-spacing:.02em}

/* ===== investor filter bar ===== */
.finder{position:relative;z-index:3;max-width:var(--max);margin:0 auto;padding:0 var(--gut);transform:translateY(50%);margin-top:calc(-1 * clamp(20px,4vw,44px))}
.finder__card{background:#fff;border-radius:var(--r18);box-shadow:var(--sh-lg);padding:18px}
.finder__lab{font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:.04em;color:var(--te-muted);text-transform:uppercase;padding:4px 6px 12px}
.finder__row{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:10px}
.finder__f label{display:block;font-size:12px;font-weight:600;color:var(--te-muted);margin:0 0 5px 2px}
.finder__f select{width:100%;border:1px solid var(--te-border);border-radius:var(--r10);padding:12px 12px;font:inherit;font-size:14.5px;background:#fff;color:var(--te-ink)}
.finder__f select:focus{outline:none;border-color:var(--te-accent);box-shadow:0 0 0 3px var(--te-accent-tint)}
.finder__btn{align-self:end}
.finder__btn .btn{width:100%;height:44px;padding:0 22px}
@media(max-width:900px){.finder__row{grid-template-columns:1fr 1fr}.finder__btn{grid-column:1/-1}}
@media(max-width:560px){.finder__row{grid-template-columns:1fr}}
.finder-spacer{height:clamp(60px,9vw,120px)}

/* ===== DealScore thesis ===== */
.ds{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:center}
@media(max-width:900px){.ds{grid-template-columns:1fr}}
.ds__badge{display:inline-flex;align-items:center;gap:10px;background:var(--on-f08);border:1px solid var(--on-b12);border-radius:var(--rp);padding:8px 16px;font-size:14px;color:var(--on-92);margin-bottom:22px}
.ds__badge b{font-family:var(--fd);color:#fff}
.ds__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ds__crit{background:var(--on-f08);border:1px solid var(--on-b12);border-radius:var(--r12);padding:16px 16px}
.ds__crit .k{font-size:13.5px;color:var(--on-78);display:flex;align-items:center;justify-content:space-between;gap:8px}
.ds__bar{height:6px;border-radius:4px;background:var(--on-b12);margin-top:10px;overflow:hidden}
.ds__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--te-accent),var(--te-accent-light));border-radius:4px}
.ds__score{text-align:center;background:linear-gradient(160deg,#12213a,#0c1420);border:1px solid var(--on-b12);border-radius:var(--r18);padding:26px}
.ds__score .g{font-family:var(--fd);font-weight:900;font-size:64px;line-height:1;color:#fff}
.ds__score .g span{color:var(--te-accent-light)}
.ds__score .l{font-size:13px;color:var(--on-62);letter-spacing:.1em;text-transform:uppercase;margin-top:8px}

/* ===== opportunity cards ===== */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.chip{border:1px solid var(--te-border);background:#fff;border-radius:var(--rp);padding:9px 16px;font-size:14px;font-weight:600;color:var(--te-ink);cursor:pointer;transition:.15s}
.chip:hover{border-color:var(--te-border)}
.chip.on{background:var(--te-ink-strong);color:#fff;border-color:var(--te-ink-strong)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:24px}
.ocard{border:1px solid var(--te-divider);border-radius:var(--r16);overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:.18s}
.ocard:hover{border-color:var(--te-accent-tint-border);box-shadow:var(--sh);transform:translateY(-2px)}
.ocard__ph{position:relative;height:194px;background:var(--te-photo) center/cover no-repeat}
.ocard__ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,20,.05),rgba(10,14,20,.45))}
.ocard__tags{position:absolute;top:14px;left:14px;z-index:2;display:flex;gap:7px;flex-wrap:wrap}
.ocard__tag{background:rgba(16,17,20,.72);color:#fff;font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:var(--r8);backdrop-filter:blur(4px)}
.ocard__ds{position:absolute;top:13px;right:13px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:var(--rp);background:rgba(14,18,26,.66);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18)}
.ocard__ds b{flex:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:900;font-size:13.5px;line-height:1;color:#fff;letter-spacing:-.02em}
.ocard__ds span{font-size:9.5px;font-weight:700;letter-spacing:.1em;color:#fff;text-transform:uppercase;padding-right:2px}
.ocard__body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.ocard__name{font-family:var(--fd);font-weight:800;font-size:20px}
.ocard__loc{font-size:13.5px;color:var(--te-muted);margin-top:3px;display:flex;align-items:center;gap:6px}
.ocard__price{margin-top:14px;font-family:var(--fd);font-weight:800;font-size:20px}
.ocard__price small{display:block;font-family:var(--fb);font-weight:500;font-size:12px;color:var(--te-muted);letter-spacing:.02em}
.ocard__metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--te-divider-light)}
.ocard__m .mk{font-size:11px;color:var(--te-muted);text-transform:uppercase;letter-spacing:.04em}
.ocard__m .mv{font-family:var(--fd);font-weight:700;font-size:15px;margin-top:2px}
.ocard__thesis{font-size:13.5px;color:var(--te-body);line-height:1.5;margin-top:14px}
.ocard__foot{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.ocard__link{font-weight:700;color:var(--te-accent);font-size:14.5px;display:inline-flex;align-items:center;gap:6px}
.grid__empty{grid-column:1/-1;text-align:center;padding:50px 20px;border:1px dashed var(--te-border);border-radius:var(--r16);color:var(--te-muted)}
.grid__empty b{display:block;font-family:var(--fd);color:var(--te-ink);font-size:19px;margin-bottom:8px}
.note{font-size:12.5px;color:var(--te-label);margin-top:20px;font-style:italic}

/* ===== why this deal ===== */
.deal{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,4vw,56px);align-items:center;background:#fff;border:1px solid var(--te-divider);border-radius:var(--r18);overflow:hidden}
@media(max-width:860px){.deal{grid-template-columns:1fr}}
.deal__ph{min-height:100%;background:center/cover no-repeat;min-height:320px}
.deal__body{padding:clamp(26px,3vw,44px)}
.deal__reasons{display:flex;flex-direction:column;gap:16px;margin-top:22px}
.deal__r{display:flex;gap:14px}
.deal__ri{flex:none;width:38px;height:38px;border-radius:10px;background:var(--te-accent-tint);color:var(--te-accent);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:800}
.deal__r b{font-family:var(--fd);font-size:16px}
.deal__r p{font-size:14px;color:var(--te-muted);margin-top:2px}

/* ===== verify grid ===== */
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:12px;margin-top:12px}
.vcell{border:1px solid var(--on-b12);border-radius:var(--r10);padding:14px;background:var(--on-f08)}
.vcell b{font-family:var(--fd);font-size:14px;color:#fff;display:block}
.vcell span{font-size:11.5px;color:var(--on-62)}
.vbig{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}
.vbig .n{font-family:var(--fd);font-weight:900;font-size:clamp(44px,7vw,72px);color:#fff;line-height:1}
.vbig .n span{color:var(--te-accent-light)}

/* ===== cashflow ===== */
.flow{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin-top:8px}
.flow__step{flex:1;min-width:150px;background:#fff;border:1px solid var(--te-divider);border-radius:var(--r12);padding:16px 16px;position:relative}
.flow__step .n{font-size:11px;color:var(--te-muted);text-transform:uppercase;letter-spacing:.05em}
.flow__step b{font-family:var(--fd);font-size:16px;display:block;margin-top:3px}
.flow__step.pos b{color:var(--te-good)}
.blueprint{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.bp__step{display:inline-flex;align-items:center;gap:9px;background:var(--te-accent-tint);color:var(--te-accent);border-radius:var(--rp);padding:9px 16px;font-weight:700;font-size:14px}
.bp__arrow{align-self:center;color:var(--te-label)}

/* ===== strategies ===== */
.scards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:20px}
.scard{border:1px solid var(--te-divider);border-radius:var(--r16);padding:26px 24px 28px;background:#fff;display:flex;flex-direction:column;transition:.15s}
.scard:hover{border-color:var(--te-accent-tint-border);box-shadow:var(--sh)}
.scard__ic{width:46px;height:46px;border-radius:12px;background:var(--te-accent-tint);color:var(--te-accent);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.scard h3{font-size:19px}
.scard p{font-size:14.5px;color:var(--te-muted);margin-top:8px;flex:1}
.scard a{margin-top:16px;font-weight:700;color:var(--te-accent);font-size:14px}

/* ===== markets ===== */
.mkts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:860px){.mkts{grid-template-columns:1fr}}
.mkt{position:relative;border-radius:var(--r16);overflow:hidden;min-height:320px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:var(--te-photo) center/cover no-repeat}
.mkt::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,20,.15),rgba(10,14,20,.86))}
.mkt__b{position:relative;z-index:2;padding:24px}
.mkt__b h3{font-size:24px}
.mkt__areas{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.mkt__areas span{background:rgba(255,255,255,.14);border:1px solid var(--on-b24);border-radius:var(--rp);padding:5px 12px;font-size:12.5px}
.mkt{cursor:pointer;transition:transform .18s,box-shadow .18s}
.mkt:hover{transform:translateY(-3px);box-shadow:var(--sh-lg)}
.mkt__go{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-weight:700;font-size:14px;color:#fff}
.mkt:hover .mkt__go{color:var(--te-accent-light)}

/* ===== why totality ===== */
.why{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1px;background:var(--te-divider);border:1px solid var(--te-divider);border-radius:var(--r16);overflow:hidden}
.why__c{background:#fff;padding:30px 28px}
.why__c .ic{color:var(--te-accent);margin-bottom:14px}
.why__c h3{font-size:19px}
.why__c p{font-size:14.5px;color:var(--te-muted);margin-top:8px}

/* research */
.rcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}
.rcard{border:1px solid var(--te-divider);border-radius:var(--r14);padding:22px 22px;display:flex;flex-direction:column;gap:8px;transition:.15s;background:#fff}
.rcard:hover{border-color:var(--te-accent-tint-border);box-shadow:var(--sh)}
.rcard .k{font-size:12px;font-weight:700;color:var(--te-accent);letter-spacing:.08em;text-transform:uppercase}
.rcard h3{font-size:18px}
.rcard span{font-size:13.5px;color:var(--te-muted)}

/* trust */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
@media(max-width:760px){.trust{grid-template-columns:1fr 1fr}}
.trust__i b{font-family:var(--fd);font-weight:900;font-size:clamp(26px,3.4vw,40px);display:block;color:#fff}
.trust__i span{font-size:13.5px;color:var(--on-62)}
.trust__creds{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px;margin-top:40px;padding-top:26px;border-top:1px solid var(--on-b12);font-size:13.5px;color:var(--on-62)}

/* final cta form */
.final{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,64px);align-items:center}
@media(max-width:900px){.final{grid-template-columns:1fr}}
.qform{background:#fff;border-radius:var(--r18);box-shadow:var(--sh-lg);padding:clamp(22px,3vw,34px)}
.qform__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.qform__row{grid-template-columns:1fr}}
.qf{margin-bottom:12px}
.qf label{display:block;font-size:12.5px;font-weight:600;color:var(--te-muted);margin:0 0 5px 2px}
.qf input,.qf select{width:100%;border:1px solid var(--te-border);border-radius:var(--r10);padding:12px 13px;font:inherit;font-size:14.5px;background:#fff}
.qf input:focus,.qf select:focus{outline:none;border-color:var(--te-accent);box-shadow:0 0 0 3px var(--te-accent-tint)}
.qform .btn{width:100%;margin-top:6px}

/* footer (theme) */
.ft{background:var(--te-ink-deepest);color:#fff;padding:clamp(52px,8vw,80px) var(--gut) 44px}
.ft__in{max-width:var(--max);margin-inline:auto}
.ft__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:32px 24px;padding:40px 0;border-top:1px solid var(--on-b12);border-bottom:1px solid var(--on-b12);margin-top:34px}
.ft h4{font-family:var(--fb);font-size:17px;margin:0 0 16px}
.ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.ft a{color:var(--on-78);font-size:15px}.ft a:hover{color:#fff}
.ft__lead{color:var(--on-78);max-width:60ch;margin:16px 0 0;line-height:1.6}
.ft__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding-top:26px;color:var(--on-62);font-size:14px}

/* reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}
