/* Bahrain Golden Residency, v2: Apple-style. Quiet surfaces, hairlines instead of boxes, one restrained gold accent. */
:root{--bg:#FBFBFD;--alt:#F5F5F7;--card:#fff;--ink:#1D1D1F;--ink2:#424245;--muted:#6E6E73;--line:rgba(0,0,0,.08);--line2:rgba(0,0,0,.14);
--navy:#0B1424;--gold:#A8792A;--gold2:#D6AE5B;--gold3:#F3E6C4;--goldtxt:#7E5718;--ok:#1D7A4C;--okbg:#E8F5EE;--no:#9A3B1E;--nobg:#FBEEE8;
--r:22px;--ease:cubic-bezier(.25,.8,.25,1);--wrap:1120px;--hover:0 18px 50px rgba(0,0,0,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.55 -apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,"Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased;letter-spacing:-.011em;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit}button,select,input{font:inherit}button{cursor:pointer}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 14px;border-radius:10px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}@media(max-width:640px){.wrap{padding:0 20px}}
/* ---------- nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;height:60px;display:flex;align-items:center;gap:20px;padding:0 max(20px,calc((100vw - var(--wrap))/2 + 28px));
background:rgba(251,251,253,.78);backdrop-filter:saturate(1.8) blur(20px);-webkit-backdrop-filter:saturate(1.8) blur(20px);border-bottom:1px solid var(--line);transition:transform .35s var(--ease),background .3s}
.nav.hide{transform:translateY(-100%)}
.nav.on-dark{background:rgba(11,20,36,.28);border-color:rgba(255,255,255,.12)}.nav.on-dark .links a,.nav.on-dark .wordmark{color:#fff}.nav.on-dark .wordmark b{color:var(--gold2)}.nav.on-dark .burger span{background:#fff}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}.mark{width:30px;height:30px}
.wordmark{font-weight:700;font-size:11px;letter-spacing:.12em;line-height:1.2;color:var(--ink)}.wordmark b{color:var(--gold);font-weight:700}
.links{display:flex;gap:2px;margin-left:auto}.links a{white-space:nowrap;text-decoration:none;font-size:13.5px;font-weight:500;color:var(--ink2);padding:7px 11px;border-radius:999px;transition:color .2s,background .2s}
.links a:hover{color:var(--ink)}.links a.active{color:var(--ink);background:rgba(0,0,0,.05)}.nav.on-dark .links a.active{background:rgba(255,255,255,.14)}
.nav-cta{flex:none;text-decoration:none;font-weight:600;font-size:13.5px;color:#fff;background:var(--ink);padding:8px 15px;border-radius:999px}
.nav.on-dark .nav-cta{background:#fff;color:var(--ink)}
.burger{display:none;margin-left:auto;background:none;border:0;width:40px;height:40px;position:relative}.burger span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--ink);transition:.3s}
.burger span:first-child{top:16px}.burger span:last-child{top:23px}
.menu-open .burger span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .burger span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
@media(max-width:1160px){.links{position:fixed;top:60px;left:0;right:0;flex-direction:column;background:rgba(251,251,253,.98);backdrop-filter:blur(20px);padding:10px 20px 24px;border-bottom:1px solid var(--line);display:none}
.menu-open .links{display:flex}.links a{font-size:20px;font-weight:600;padding:12px 0;border-radius:0;border-bottom:1px solid var(--line);color:var(--ink)!important}.burger{display:block}.nav-cta{display:none}}
/* ---------- type */
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--goldtxt);margin:0 0 12px}
.h1{font-size:clamp(40px,6.4vw,80px);line-height:1.02;letter-spacing:-.04em;font-weight:700;margin:0}
.h2{font-size:clamp(30px,4.2vw,52px);line-height:1.06;letter-spacing:-.035em;font-weight:700;margin:0 0 16px}
.h3{font-size:21px;letter-spacing:-.02em;font-weight:650;margin:0 0 8px}
.lede{font-size:clamp(18px,1.9vw,22px);line-height:1.45;color:var(--muted);max-width:720px;font-weight:400;letter-spacing:-.015em}
.gold{background:linear-gradient(90deg,#6E4A12,#9A6E22 50%,#7E5718);-webkit-background-clip:text;background-clip:text;color:transparent}
.muted{color:var(--muted)}
section{padding:110px 0}.sec-tight{padding:60px 0}.alt{background:var(--alt)}
.center{text-align:center}.center .lede{margin-left:auto;margin-right:auto}
@media(max-width:700px){section{padding:72px 0}.sec-tight{padding:40px 0}}
/* ---------- buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:600;font-size:16px;padding:12px 22px;border-radius:999px;border:0;transition:transform .2s var(--ease),background .2s,box-shadow .2s;line-height:1.2}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:scale(.98)}
.btn-gold{color:#fff;background:linear-gradient(180deg,#B88A35,#9A6E22);box-shadow:0 6px 16px rgba(168,121,42,.28)}
.btn-dark{color:#fff;background:var(--ink)}.btn-ghost{color:var(--ink);background:transparent;box-shadow:inset 0 0 0 1px var(--line2)}.btn-ghost:hover{background:#fff}
.btn-glass{color:#fff;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.center .btns{justify-content:center}
.link{color:var(--gold);font-weight:600;text-decoration:none}.link:after{content:" ›"}
/* ---------- hero */
.hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;color:#fff;padding:120px 0 56px;overflow:hidden;background:var(--navy)}
.hero-media{position:absolute;inset:0}.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,20,36,.45) 0%,rgba(11,20,36,.15) 28%,rgba(11,20,36,.55) 60%,rgba(11,20,36,.9) 100%),linear-gradient(90deg,rgba(11,20,36,.55),rgba(11,20,36,0) 65%)}
.hero .h1{text-shadow:0 2px 30px rgba(0,0,0,.25)}.hero .gold,.hero .w.gold{background:linear-gradient(90deg,#E9C77E,#F6E3AE 50%,#D6AE5B);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
.hero .wrap{position:relative;z-index:2;width:100%}.hero .lede{color:rgba(255,255,255,.86)}.hero .eyebrow{color:var(--gold2)}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:44px;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.hstat{padding:18px 22px;border-left:1px solid rgba(255,255,255,.14)}.hstat:first-child{border-left:0}
.hstat b{display:block;font-size:26px;font-weight:650;letter-spacing:-.03em;color:#fff;line-height:1.15}.hstat span{display:block;font-size:13px;color:rgba(255,255,255,.72);margin-top:4px;line-height:1.35}
@media(max-width:760px){.hero-stats{grid-template-columns:1fr 1fr}.hstat:nth-child(3){border-left:0}.hstat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14)}.hstat b{font-size:21px}}
.w{display:inline-block;opacity:0;transform:translateY(18px);animation:up .8s var(--ease) forwards}@keyframes up{to{opacity:1;transform:none}}
/* inner page hero */
.phero{padding:128px 0 26px;position:relative}.hero2{padding-top:140px}.hero2 .img-hero{aspect-ratio:2.4/1;margin-top:56px}@media(max-width:700px){.hero2{padding-top:110px}.hero2 .img-hero{aspect-ratio:4/3;margin-top:36px}}
.kpi b{white-space:normal}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--muted);margin-bottom:26px}.crumbs a{text-decoration:none;color:var(--muted)}.crumbs a:hover{color:var(--ink)}.crumbs span:before,.crumbs a+a:before{content:"/";margin-right:6px;color:#C7C7CC}
.phero .h1{font-size:clamp(38px,5.6vw,68px);max-width:980px}
.img-hero{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:2.2/1;margin-top:40px;background:#e9e6df}.img-hero img{width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.img-hero{aspect-ratio:4/3;border-radius:20px}}
/* ---------- grids and cards */
.grid{display:grid;gap:20px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.g3,.g4{grid-template-columns:1fr 1fr}}@media(max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:var(--card);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s;position:relative;box-shadow:0 0 0 1px var(--line)}
a.card:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--line),var(--hover)}
.card .ci{aspect-ratio:3/2;overflow:hidden;background:#ece9e2;position:relative}.card .ci img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}a.card:hover .ci img{transform:scale(1.04)}
.card .cb{padding:18px 20px 20px;display:flex;flex-direction:column;gap:4px;flex:1}.card h3{margin:0;font-size:18px;font-weight:650;letter-spacing:-.02em;line-height:1.28}
.card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.45}.card .meta{margin-top:auto;padding-top:12px;font-size:14px;font-weight:600;color:var(--ink)}
.tag{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--ink);letter-spacing:0}
.tag.ok{background:var(--okbg);color:var(--ok)}.tag.gold{background:var(--gold3);color:#6E4E14}.tag.no{background:var(--nobg);color:var(--no)}
.ci .tag{position:absolute;top:12px;left:12px;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.panel{background:#fff;border-radius:var(--r);padding:26px;box-shadow:0 0 0 1px var(--line)}
.panel-dark{background:var(--navy);color:#fff;border-radius:var(--r);padding:28px;position:relative;overflow:hidden}
.panel-dark:after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(214,174,91,.35),transparent 70%)}
.panel-dark .eyebrow{color:var(--gold2)}.panel-dark .muted{color:rgba(255,255,255,.7)}.panel-dark a:not(.btn){color:var(--gold2)}
.panel-dark .h3{color:#fff;font-size:20px!important}
/* ---------- three ways */
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media(max-width:900px){.ways{grid-template-columns:1fr}}
.way{background:#fff;border-radius:26px;padding:30px 28px;text-decoration:none;color:var(--ink);transition:transform .4s var(--ease),box-shadow .4s;box-shadow:0 0 0 1px var(--line);display:flex;flex-direction:column}
a.way:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--line),var(--hover)}
.way .n{font-size:13px;font-weight:600;color:var(--gold);margin-bottom:18px}.way .n:before{content:"Way "}
.way h3{font-size:22px;font-weight:650;letter-spacing:-.025em;margin:0 0 10px;line-height:1.2}.way p{color:var(--muted);margin:0 0 18px;font-size:15.5px}
.way .eg{font-size:14px;color:var(--ink2);border-top:1px solid var(--line);padding-top:14px;margin-top:auto}
.viz{display:flex;gap:5px;height:44px;align-items:flex-end;margin:0 0 22px}.viz i{flex:1;border-radius:6px;background:linear-gradient(180deg,#E3C27A,#A8792A)}
/* ---------- tables: spec-sheet style, hairlines only */
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0 6px}
.tbl{width:100%;border-collapse:collapse;font-size:15.5px;background:transparent}
.tbl th{font-size:12px;font-weight:600;color:var(--muted);text-align:left;padding:0 14px 10px 0;border-bottom:1px solid var(--line2);white-space:nowrap}
.tbl td{padding:15px 14px 15px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink2)}
.tbl td:first-child{color:var(--ink);font-weight:500}.tbl td b{color:var(--ink);font-weight:600}
.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink);font-weight:600}
.tbl tr:last-child td{border-bottom:0}.tbl a{color:var(--ink);text-decoration:none;font-weight:600}.tbl a:hover{color:var(--gold)}
.tbl.spec td:first-child{color:var(--muted);font-weight:400;width:42%}.tbl.spec td:last-child{color:var(--ink);font-weight:600;text-align:right}
@media(max-width:640px){.tbl{font-size:14.5px}.tbl td{padding:13px 10px 13px 0}}
/* ---------- prose */
.prose{max-width:700px}.prose p{margin:0 0 16px;color:var(--ink2)}.prose h2{font-size:clamp(26px,3vw,34px);font-weight:700;letter-spacing:-.03em;margin:64px 0 16px;color:var(--ink);line-height:1.12}
.prose h2:first-child{margin-top:0}.prose h3{font-size:20px;font-weight:650;margin:30px 0 8px;letter-spacing:-.02em}
.prose ul:not(.ticks),.prose ol{padding-left:22px;color:var(--ink2)}.prose li{margin:8px 0}.prose a{color:var(--gold);text-decoration:none;font-weight:500}.prose a:hover{text-decoration:underline}
.ticks{list-style:none;padding:0;margin:0}.ticks li{position:relative;padding:12px 0 12px 30px;border-bottom:1px solid var(--line);color:var(--ink2);margin:0}.ticks li:last-child{border-bottom:0}
.ticks li:before{content:"";position:absolute;left:0;top:17px;width:16px;height:16px;border-radius:50%;background:var(--gold3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.2 2.2 4.8-4.8' stroke='%238C6420' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:72px;align-items:start}@media(max-width:1000px){.layout{grid-template-columns:minmax(0,1fr);gap:40px}}.layout>*,.split>*{min-width:0}
.aside{position:sticky;top:84px;display:grid;gap:16px}
.facts div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px}.facts div:last-child{border:0;padding-bottom:0}.facts div:first-child{padding-top:0}
.facts span{color:var(--muted)}.facts b{text-align:right;font-weight:600}.facts a{color:var(--ink);text-decoration:none}
.src{font-size:13px;color:var(--muted);margin-top:28px;line-height:1.6}.src a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--line2)}
.note{font-size:14px;color:var(--ink2);background:var(--alt);border-radius:14px;padding:14px 16px;line-height:1.5}
.callout{font-size:clamp(20px,2.2vw,26px);line-height:1.35;letter-spacing:-.02em;font-weight:600;color:var(--ink);margin:0;padding-left:22px;border-left:3px solid var(--gold)}
/* ---------- steps as a timeline */
.steps{counter-reset:s;position:relative;max-width:700px}.steps:before{content:"";position:absolute;left:15px;top:8px;bottom:8px;width:1px;background:var(--line2)}
.step{position:relative;padding:4px 0 26px 56px}.step:last-child{padding-bottom:0}
.step:before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:600;color:var(--gold);background:var(--bg);box-shadow:inset 0 0 0 1px var(--gold2)}
.step h3{margin:0 0 4px;font-size:18px}.step p{margin:0;color:var(--ink2)}
/* ---------- faq */
.faqs{max-width:820px;border-top:1px solid var(--line2)}.faqs details{border-bottom:1px solid var(--line2)}
.faqs summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;font-weight:600;font-size:18px;letter-spacing:-.015em;position:relative}.faqs summary::-webkit-details-marker{display:none}
.faqs summary:after{content:"";position:absolute;right:4px;top:28px;width:10px;height:10px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);transform:rotate(45deg);transition:transform .3s}
.faqs details[open] summary:after{transform:rotate(-135deg);top:32px}.faqs details p{margin:-6px 0 22px;color:var(--ink2);max-width:700px}.faqs a{color:var(--gold);font-weight:600;text-decoration:none}
/* ---------- tools */
.tool{background:#fff;border-radius:28px;padding:32px;box-shadow:0 0 0 1px var(--line),0 20px 60px rgba(0,0,0,.05)}
@media(max-width:640px){.tool{padding:22px;border-radius:22px}}
.tool label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin:0 0 8px}
.seg{display:inline-flex;flex-wrap:wrap;gap:2px;background:var(--alt);padding:3px;border-radius:12px}.seg button{border:0;background:none;padding:8px 14px;border-radius:9px;font-weight:500;font-size:14px;color:var(--ink2)}
.seg button.on{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12);color:var(--ink);font-weight:600}
.row{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;margin-bottom:22px}
input[type=range]{width:100%;accent-color:var(--gold)}
.inp{width:100%;font-size:17px;font-weight:500;padding:12px 14px;border-radius:12px;border:1px solid var(--line2);background:#fff;color:var(--ink);appearance:none;-webkit-appearance:none}
select.inp{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236E6E73' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") right 14px center/12px no-repeat;padding-right:38px}
.verdict{border-radius:18px;padding:20px 22px;margin-top:20px}.verdict.yes{background:var(--okbg);color:#0F4D2F}.verdict.no{background:var(--nobg);color:#6E2A12}.verdict h3{margin:0 0 4px;font-size:19px;font-weight:650}.verdict p{margin:0;font-size:15px;opacity:.9}
.gen-btn{font-size:17px;padding:15px 26px}
.combo{display:grid;gap:18px;margin-top:26px;padding-top:26px;border-top:1px solid var(--line)}.combo-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.combo-sum{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}@media(max-width:700px){.combo-sum{grid-template-columns:1fr 1fr}}
.combo-sum div{padding:16px 16px 16px 0}.combo-sum div+div{padding-left:16px;border-left:1px solid var(--line)}@media(max-width:700px){.combo-sum div:nth-child(3){border-left:0;padding-left:0}.combo-sum div:nth-child(n+3){border-top:1px solid var(--line)}}
.combo-sum b{display:block;font-size:26px;font-weight:650;letter-spacing:-.03em}.combo-sum span{font-size:13px;color:var(--muted)}
.combo-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.ci2{display:flex;gap:14px;background:var(--alt);border-radius:16px;padding:10px;color:var(--ink);animation:pop .45s var(--ease) both}
.ci2 img{width:88px;height:88px;object-fit:cover;border-radius:11px;flex:none;background:#e6e3dc}.ci2 b{display:block;font-size:15px;line-height:1.3;font-weight:600}.ci2 small{color:var(--muted);font-size:13px}
@keyframes pop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.bar{height:6px;border-radius:99px;background:#ECE8DE;overflow:hidden;margin:6px 0 14px}.bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#D6AE5B,#A8792A);transition:width .8s var(--ease)}
.chart{width:100%;height:220px;margin-top:10px}
/* ---------- bento */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:16px;grid-auto-flow:dense}
.bento .t{border-radius:24px;overflow:hidden;position:relative;color:#fff;text-decoration:none;display:flex;align-items:flex-end;padding:24px;background:var(--navy)}
.bento .t img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}.bento .t:hover img{transform:scale(1.04)}
.bento .t:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.62))}
.bento .t div{position:relative;z-index:2}.bento .t h3{margin:0;font-size:21px;font-weight:650;letter-spacing:-.02em;color:#fff;line-height:1.2}.bento .t p{margin:4px 0 0;font-size:14px;color:rgba(255,255,255,.82)}
.bento .big{grid-column:span 2;grid-row:span 2}.bento .big h3{font-size:30px}.bento .wide{grid-column:span 2}.bento .tall{grid-row:span 2}
.bento .t.solid{background:linear-gradient(160deg,#C79A45,#8C6420)}.bento .t.solid:after{display:none}.bento .t.solid h3{font-size:46px;letter-spacing:-.04em}
@media(max-width:900px){.bento{grid-template-columns:1fr 1fr;grid-auto-rows:200px}.bento .big h3{font-size:24px}}@media(max-width:560px){.bento .big,.bento .wide{grid-column:span 2}}
/* ---------- filters */
.filters{display:flex;gap:8px;margin:0 0 18px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}
.filters button{flex:none;border:0;background:#fff;box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink2);font-weight:500;font-size:14px;padding:8px 14px;border-radius:999px}
.filters button.on{background:var(--ink);color:#fff;box-shadow:none}
[hidden]{display:none!important}
/* ---------- property page */
.pgal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pgal img{border-radius:14px;aspect-ratio:4/3;object-fit:cover;width:100%}@media(max-width:700px){.pgal{grid-template-columns:1fr 1fr}}
.vid{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;border:0;padding:0;width:100%}.vid img{width:100%;height:100%;object-fit:cover;opacity:.9}.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:rgba(255,255,255,.92)}.play:after{content:"";position:absolute;left:26px;top:20px;border-left:18px solid var(--ink);border-top:12px solid transparent;border-bottom:12px solid transparent}
/* ---------- cta band */
.cta{background:var(--navy);color:#fff;border-radius:32px;padding:72px 56px;position:relative;overflow:hidden;text-align:center}
.cta:before{content:"";position:absolute;left:50%;top:-40%;width:900px;height:600px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(214,174,91,.30),transparent)}
.cta>*{position:relative}.cta .h2{color:#fff}.cta p{color:rgba(255,255,255,.75);max-width:600px;margin:0 auto;font-size:19px}.cta .eyebrow{color:var(--gold2)}.cta .btns{justify-content:center}
@media(max-width:700px){.cta{padding:48px 24px;border-radius:24px}}
/* ---------- marquee */
.mq{overflow:hidden;white-space:nowrap;border-bottom:1px solid var(--line);padding:18px 0;background:#fff;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-in{display:inline-flex;gap:44px;animation:mq 70s linear infinite}.mq a{text-decoration:none;font-weight:500;color:var(--ink2);font-size:15px}.mq a b{color:var(--gold);font-weight:600}@keyframes mq{to{transform:translateX(-50%)}}
/* ---------- kpis: open numbers, hairline dividers */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line2)}@media(max-width:800px){.kpis{grid-template-columns:1fr 1fr}}
.kpi{padding:22px 20px 6px 0}.kpi+.kpi{padding-left:20px;border-left:1px solid var(--line)}@media(max-width:800px){.kpi:nth-child(3){border-left:0;padding-left:0}}
.kpi b{display:block;font-size:clamp(26px,3vw,38px);font-weight:700;letter-spacing:-.04em;line-height:1.1}.kpi span{display:block;font-size:14px;color:var(--muted);margin-top:6px;line-height:1.4}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span,.chips a{font-size:13.5px;font-weight:500;padding:7px 12px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;color:var(--ink2)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}@media(max-width:900px){.split{grid-template-columns:1fr;gap:32px}}
/* ---------- footer */
.foot{background:var(--alt);color:var(--muted);padding:64px 0 40px;border-top:1px solid var(--line);font-size:13.5px}
.foot a{color:var(--ink2);text-decoration:none;display:block;padding:5px 0}.foot a:hover{color:var(--ink)}
.foot-cols{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:28px}@media(max-width:900px){.foot-cols{grid-template-columns:1fr 1fr}}
.foot b{color:var(--ink)!important}.fh{font-size:13px;font-weight:600;color:var(--ink);margin:0 0 10px}.fine{font-size:12px;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);line-height:1.6}
/* ---------- reveal */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}.w{opacity:1;transform:none}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.map{height:460px;border-radius:24px;overflow:hidden;background:#dfe6ea}
/* ---------- portfolio generator result */
.pf-cards{display:flex;align-items:stretch;gap:10px}
.pf-card{flex:1;min-width:0;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 0 0 1px var(--line),0 10px 30px rgba(0,0,0,.06);animation:pfin .55s var(--ease) both;display:flex;flex-direction:column}
@keyframes pfin{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.pf-img{position:relative;aspect-ratio:16/10;background:#ece9e2}.pf-img img{width:100%;height:100%;object-fit:cover}.pf-img .tag{position:absolute;top:10px;left:10px}.pf-img .pf-kept{left:auto;right:10px;background:var(--ink);color:#fff}
.pf-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:2px;flex:1}.pf-t{font-size:16px;font-weight:650;line-height:1.3;letter-spacing:-.015em}.pf-a{font-size:13.5px;color:var(--muted)}
.pf-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 12px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pf-nums small,.pf-sum small{display:block;font-size:12px;color:var(--muted)}.pf-nums b{font-size:15px;font-weight:650;letter-spacing:-.01em}
.pf-acts{display:flex;justify-content:space-between;gap:10px;margin-top:auto}.pf-acts a{font-size:14px;font-weight:600;color:var(--goldtxt);text-decoration:none}
.pf-acts button{border:0;background:var(--alt);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--ink)}
.pf-plus{flex:none;align-self:center;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:20px;font-weight:500;margin:0 -22px;z-index:2;box-shadow:0 0 0 5px #fff}
.pf-total{margin-top:18px;border-radius:22px;background:var(--navy);color:#fff;padding:22px 24px;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;position:relative;overflow:hidden}
.pf-total:after{content:"";position:absolute;right:-80px;top:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(closest-side,rgba(214,174,91,.35),transparent)}
.pf-check{display:flex;gap:12px;align-items:center;position:relative;z-index:1}.pf-check b{display:block;font-size:16px}.pf-check small{display:block;font-size:13px;color:rgba(255,255,255,.7);max-width:220px}
.pf-tick{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#2FA36B;color:#fff;font-size:20px;font-weight:700}
.pf-sum{display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:1}.pf-sum div{padding:0 0 0 20px;border-left:1px solid rgba(255,255,255,.14)}
.pf-sum small{color:rgba(255,255,255,.65)}.pf-sum b{display:block;font-size:clamp(20px,2.2vw,28px);font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
.pf-hl b{color:var(--gold2)}
.pf-nav{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:22px}.pf-shuffle{font-size:17px;padding:15px 30px}.pf-count{font-size:13.5px;color:var(--muted);min-width:110px}
@media(max-width:900px){.pf-total{grid-template-columns:1fr}.pf-sum{grid-template-columns:1fr 1fr;gap:16px 0}.pf-sum div:nth-child(odd){padding-left:0;border-left:0}}
@media(max-width:760px){.pf-cards{flex-direction:column}.pf-plus{margin:-20px auto}.pf-nav .btn-ghost{order:2}.pf-count{order:3;text-align:center;width:100%}}
.pf-list{display:grid;gap:34px;margin-top:28px}.pf-opt{padding-top:28px;border-top:1px solid var(--line);scroll-margin-top:90px;animation:pfin .5s var(--ease) both}.pf-opt:first-child{border-top:0;padding-top:0}
.pf-opt-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.pf-badge{font-size:13px;font-weight:700;color:#fff;background:linear-gradient(180deg,#B88A35,#9A6E22);padding:6px 12px;border-radius:999px}
.pf-res{margin-left:auto;padding:9px 16px;font-size:14px}.pf-shuffle:disabled{opacity:.5;cursor:default;transform:none}
@media(max-width:760px){.pf-res{margin-left:0;width:100%}}
/* ---------- three ways, visual */
.way{padding:0;overflow:hidden}.way-in{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.wv{position:relative;aspect-ratio:16/10;overflow:hidden;background:#e9e6df}.wv>img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}a.way:hover .wv>img{transform:scale(1.04)}
.wv:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.55))}
.wv-chip{position:absolute;left:14px;bottom:14px;z-index:2;color:#fff}.wv-chip small{display:block;font-size:12.5px;opacity:.85}.wv-chip b{font-size:24px;font-weight:700;letter-spacing:-.03em}
.wv-ok{position:absolute;right:14px;bottom:14px;z-index:2;background:#2FA36B;color:#fff;font-weight:700;font-size:13.5px;padding:7px 12px;border-radius:999px;box-shadow:0 6px 16px rgba(0,0,0,.2)}
.wv-two{display:flex;align-items:center;gap:0;background:#F1EEE7;padding:14px 14px 52px}.wv-two:after{display:none}
.wv-two>div{flex:1;position:relative;height:100%;border-radius:14px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.12)}.wv-two>div img{width:100%;height:100%;object-fit:cover}
.wv-two>div span{position:absolute;left:8px;bottom:8px;background:rgba(255,255,255,.94);color:var(--ink);font-weight:700;font-size:13px;padding:4px 9px;border-radius:999px}
.wv-two i{flex:none;font-style:normal;width:30px;height:30px;margin:0 -10px;z-index:2;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:18px;box-shadow:0 0 0 4px #F1EEE7}
.wv-two .wv-ok{left:14px;right:14px;bottom:12px;text-align:center}
.wv-pay{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;color:#fff}.wv-pay-top{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:8px;opacity:.9}
.wv-track{position:relative;height:10px;border-radius:99px;background:rgba(255,255,255,.28);backdrop-filter:blur(6px)}
.wv-track i{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:linear-gradient(90deg,#E3C27A,#B88A35);width:var(--to)}
.js .way .wv-track i{width:0;transition:width 1.8s var(--ease) .3s}.js .way.in .wv-track i{width:var(--to)}
.wv-track b{position:absolute;top:-6px;width:3px;height:22px;border-radius:2px;background:#2FA36B;box-shadow:0 0 0 2px rgba(255,255,255,.8)}

/* ---------- v2.1 fit and colour */
.way:not(:has(.way-in)){padding:28px 26px}
.way h3{overflow-wrap:anywhere}
.card h3,.pf-t{overflow-wrap:anywhere}.tbl td{overflow-wrap:break-word;hyphens:none}.tbl td:first-child{min-width:120px}
.tbl.cmp{min-width:860px}.tbl.cmp td{font-size:14.5px}.tbl.cmp td:first-child{white-space:nowrap}
/* colour accents to break text up */
.prose h2{color:var(--navy)}.prose h2:before{content:"";display:block;width:28px;height:3px;border-radius:2px;background:linear-gradient(90deg,#C79A45,#8C6420);margin-bottom:14px}
.prose b,.prose strong{color:var(--navy)}
.tbl th{color:var(--goldtxt);background:transparent}.tbl td:first-child{color:var(--navy);font-weight:600}
.tbl.spec td:first-child{color:var(--muted);font-weight:500}.tbl.spec td:last-child{color:var(--navy)}
.kpi b{color:var(--navy)}.kpi:first-child b{color:var(--goldtxt)}
.ticks li b,.ticks li a{color:var(--navy);font-weight:600}
.facts b{color:var(--navy)}
.card .meta{color:var(--goldtxt)}
.cmp-yes{color:var(--ok);font-weight:600}.cmp-na{color:#A1A1A6;font-style:italic}
/* ---------- save options as PDF (print): a clean copy in #printRoot, one option per page */
.pf-pdf{padding:9px 16px;font-size:14px;margin-left:auto}.pf-pdf+.pf-res{margin-left:0}
#printRoot{position:fixed;left:-20000px;top:0;width:794px;z-index:-1}

#printRoot *{animation:none!important;transition:none!important}
.pr-page{box-sizing:border-box;width:794px;min-height:1123px;padding:46px 52px 36px;display:flex;flex-direction:column;font-size:12px;background:#fff;color:#1D1D1F}
.pr-head{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid #e3e3e3;margin-bottom:12px}
.pr-head b{display:block;font-size:13px}.pr-head span{display:block;font-size:10.5px;color:#666}.pr-head .pr-wa{margin-left:auto;font-weight:600;color:#7E5718;font-size:11px}
.pr-title{font-size:22px;letter-spacing:-.02em;margin:2px 0 10px}
#printRoot .pf-opt{border:0!important;padding:0!important;margin:0}
#printRoot .pf-opt-head{margin-bottom:10px}#printRoot .pf-opt-head .muted{font-size:12px}
#printRoot .pf-cards{flex-direction:row;gap:8px}
#printRoot .pf-card{box-shadow:0 0 0 1px #e3e3e3}
#printRoot .pf-img{aspect-ratio:16/10}
#printRoot .pf-body{padding:10px 12px 12px}#printRoot .pf-t{font-size:13px}#printRoot .pf-a{font-size:11px}
#printRoot .pf-nums{margin:8px 0 0;padding:8px 0 0;border-bottom:0;gap:4px}#printRoot .pf-nums small{font-size:9.5px;white-space:nowrap}#printRoot .pf-nums b{font-size:12px;white-space:nowrap}
#printRoot .pf-plus{width:26px;height:26px;font-size:15px;margin:0 -17px}
#printRoot .pf-total{margin-top:12px;padding:14px 16px;gap:14px;grid-template-columns:1fr}
#printRoot .pf-total:after{display:none}
#printRoot .pf-check small{max-width:none;font-size:11px}#printRoot .pf-tick{width:30px;height:30px;font-size:15px}
#printRoot .pf-sum{grid-template-columns:repeat(4,1fr);gap:0}#printRoot .pf-sum div{padding:0 0 0 12px;border-left:1px solid rgba(255,255,255,.18)!important}#printRoot .pf-sum div:first-child{padding-left:0;border-left:0!important}
#printRoot .pf-sum small{font-size:10px}#printRoot .pf-sum b{font-size:17px}
.pr-next{margin-top:18px}.pr-next h2{font-size:15px;margin:0 0 10px;letter-spacing:-.01em}
.pr-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pr-steps>div{background:#F5F5F7;border-radius:12px;padding:12px}
.pr-steps b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#9A6E22;color:#fff;font-size:11px}
.pr-steps h3{font-size:12.5px;margin:8px 0 3px}.pr-steps p{font-size:10.5px;color:#555;margin:0;line-height:1.45}
.pr-cta{margin-top:12px;display:flex;align-items:center;justify-content:space-between;border:1.5px solid #D6AE5B;border-radius:12px;padding:12px 16px}
.pr-cta b{display:block;font-size:13px}.pr-cta span{font-size:10.5px;color:#666}.pr-cta .pr-num{font-size:18px;font-weight:700;color:#7E5718}
.pr-foot{margin-top:auto;font-size:9.5px;color:#777;border-top:1px solid #e3e3e3;padding-top:8px}

/* html2canvas-safe overrides for the PDF copy */
#printRoot,#printRoot *{letter-spacing:0!important}
#printRoot .pf-badge,#printRoot .tag{display:inline-block;height:24px;line-height:24px;padding:0 11px;vertical-align:middle}
#printRoot .pf-opt-head{display:flex;align-items:center}
#printRoot .pf-card{box-shadow:none!important;border:1px solid #e3e3e3}
#printRoot .pf-plus{display:block;width:28px;height:28px;line-height:24px;text-align:center;border:2px solid #fff;box-shadow:none!important;margin:0 -18px;align-self:center;padding:0}
#printRoot .pf-tick{display:block;width:30px;height:30px;line-height:30px;text-align:center}
#printRoot .pr-steps b{display:block;width:22px;height:22px;line-height:22px;text-align:center}
#printRoot .pr-head img{border-radius:9px}
/* buttons always keep their own text colour, even inside articles and dark panels */
.prose a.btn,.panel-dark a.btn,a.btn{text-decoration:none!important}
.btn-gold,.prose .btn-gold,.panel-dark .btn-gold{color:#fff!important}
.btn-dark,.prose .btn-dark{color:#fff!important}
.btn-ghost,.prose .btn-ghost{color:var(--ink)!important}
.btn-glass{color:#fff!important}
/* html2canvas draws text ~6px low inside fixed-height boxes: lift it */
#printRoot .pf-badge,#printRoot .tag{height:24px;line-height:14px;padding:3px 11px 7px}
#printRoot .pf-tick{line-height:20px;padding-bottom:10px;box-sizing:border-box}
#printRoot .pr-steps b{line-height:13px;padding-bottom:9px;box-sizing:border-box}
#printRoot .pf-plus{display:none}#printRoot .pf-cards{gap:12px}
/* ---------- bento v2: photo on top, text on white below (never text on photos) */
.bento{grid-auto-rows:auto;align-items:stretch}
.bento .t{flex-direction:column;align-items:stretch;padding:0;background:#fff;color:var(--ink);box-shadow:0 0 0 1px var(--line);transition:transform .4s var(--ease),box-shadow .4s}
.bento .t:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--line),var(--hover)}
.bento .t:after{display:none}
.bento .t img{position:static;width:100%;height:190px;object-fit:cover;flex:none}
.bento .big img{height:360px}.bento .tall img{height:300px}
.bento .t div{padding:18px 20px 22px;flex:1}
.bento .t h3{color:var(--navy);font-size:20px}.bento .big h3{font-size:26px}
.bento .t p{color:var(--muted);font-size:14.5px;line-height:1.45;margin-top:6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bento .big,.bento .tall{grid-row:auto}
.bento .t.solid{background:linear-gradient(160deg,#C79A45,#8C6420);color:#fff;justify-content:flex-end;min-height:220px;box-shadow:none}
.bento .t.solid div{padding:24px}.bento .t.solid h3{color:#fff}.bento .t.solid p{color:rgba(255,255,255,.88)}
@media(max-width:900px){.bento .big img{height:260px}.bento .tall img{height:190px}}
@media(max-width:560px){.bento{grid-template-columns:1fr}.bento .big,.bento .wide{grid-column:auto}.bento .t img,.bento .big img,.bento .tall img{height:200px}}
#pdfSheet{position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.35);display:flex;align-items:flex-end;justify-content:center;padding:16px;animation:pfin .3s var(--ease)}
#pdfSheet .ps-card{background:#fff;border-radius:22px;padding:24px 22px 18px;width:100%;max-width:420px;display:grid;gap:10px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.25)}
#pdfSheet .ps-ic{justify-self:center;width:52px;height:52px;border-radius:14px;background:#C2412D;color:#fff;font-weight:800;display:grid;place-items:center;font-size:14px}
#pdfSheet b{font-size:18px}#pdfSheet span{font-size:13px;color:var(--muted);margin-bottom:6px}#pdfSheet .btn{width:100%}
@media(min-width:700px){#pdfSheet{align-items:center}}
