/* Build with Raj — base styles. The current look (charcoal, warm white, bronze) is set in the Phase 2 block at the end. */
:root{
  --bg:#F5F6F3; --surface:#FFFFFF; --ink:#1C2120; --muted:#5E6763; --line:#DCE0DB;
  --accent:#3F5E45; --accent-ink:#FFFFFF; --accent-soft:#E4EBE3; --bronze:#8C6A46;
  --photo:#E6E9E4; --photo-line:#C9CFC8;
  --f-display:"Newsreader", "Noto Serif Devanagari", "Noto Serif Gurmukhi", Georgia, "Times New Roman", serif;
  --f-body:"Manrope", "Noto Sans Devanagari", "Noto Sans Gurmukhi", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono:"IBM Plex Mono", "Noto Sans Devanagari", "Noto Sans Gurmukhi", ui-monospace, Menlo, monospace;
  --wrap:1440px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#121615; --surface:#1A1F1D; --ink:#ECEFEA; --muted:#A3ACA6; --line:#2C3330;
  --accent:#8DB394; --accent-ink:#0F1512; --accent-soft:#1F2B23; --bronze:#C9A57E;
  --photo:#1E2422; --photo-line:#323A37; color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#121615; --surface:#1A1F1D; --ink:#ECEFEA; --muted:#A3ACA6; --line:#2C3330;
  --accent:#8DB394; --accent-ink:#0F1512; --accent-soft:#1F2B23; --bronze:#C9A57E;
  --photo:#1E2422; --photo-line:#323A37; color-scheme:dark }

*{box-sizing:border-box}
html{scroll-behavior:smooth;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.65}
img{max-width:100%;display:block}
[hidden]{display:none!important}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--surface);padding:10px 14px;z-index:50}
.skip:focus{left:16px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media (min-width:720px){.wrap{padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.1;text-wrap:balance;margin:0;letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,6.2vw,4.75rem)}
h2{font-size:clamp(2rem,4vw,3rem)}
h3{font-size:1.5rem}
p{margin:0}
.eyebrow{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.lead{font-size:1.125rem;color:var(--muted);max-width:60ch}
section{padding-block:clamp(64px,9vw,120px)}
.tight{padding-top:0}
.sec-head{display:grid;gap:16px;margin-bottom:48px;max-width:720px}
.prose{max-width:70ch;display:grid;gap:16px}
.prose h2{font-size:1.8rem;margin-top:24px}
.prose ul{margin:0;padding-left:20px;display:grid;gap:6px}
.prose p,.prose li{color:var(--muted)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font:600 .95rem/1 var(--f-body);padding:16px 26px;border-radius:999px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .2s}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{transform:translateY(-1px)}
.btn-ghost{border-color:var(--line);color:var(--ink);background:transparent}
.btn-ghost:hover{border-color:var(--ink)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}

/* Header */
header.site{position:sticky;top:0;z-index:9;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.1}
.brand b{font-family:var(--f-display);font-weight:500;font-size:1.5rem;letter-spacing:-.01em}
.brand span{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nav ul{display:none;list-style:none;margin:0;padding:0;gap:28px;font-size:.92rem;font-weight:500}
.nav ul a{text-decoration:none;color:var(--muted)}
.nav ul a:hover,.nav ul a[aria-current="page"]{color:var(--ink)}
@media (min-width:900px){.nav ul{display:flex}}
.nav-actions{display:flex;gap:8px}
.nav .btn{padding:12px 18px}
.call-mobile{display:inline-flex}
@media (min-width:900px){.call-mobile{display:none}}
.mobile-nav{display:flex;gap:20px;overflow-x:auto;padding-bottom:12px;font-size:.88rem;font-weight:500;scrollbar-width:none}
.mobile-nav a{text-decoration:none;color:var(--muted);white-space:nowrap}
.mobile-nav a[aria-current="page"]{color:var(--ink)}
@media (min-width:900px){.mobile-nav{display:none}}

/* Photo placeholders (replace with <img> once photos are taken) */
.photo{position:relative;background:var(--photo);border:1px dashed var(--photo-line);border-radius:4px;display:flex;align-items:flex-end;overflow:hidden;max-width:100%;margin:0;
  background-image:linear-gradient(var(--photo-line) 1px,transparent 1px),linear-gradient(90deg,var(--photo-line) 1px,transparent 1px);background-size:48px 48px}
.photo figcaption{margin:14px;background:var(--surface);border:1px solid var(--line);padding:10px 14px;border-radius:3px;font-size:.82rem;line-height:1.4;max-width:300px}
.photo figcaption b{display:block;font-family:var(--f-mono);font-weight:500;font-size:.7rem;letter-spacing:.12em;color:var(--bronze);margin-bottom:2px}
.photo-img{width:100%;height:100%;object-fit:cover;border-radius:4px}

/* Hero */
.hero{padding-block:clamp(24px,3vw,44px) clamp(48px,6vw,80px)}
.hero-grid{display:grid;gap:48px;align-items:end}
@media (min-width:960px){.hero-grid{grid-template-columns:1.1fr .9fr}}
.hero-copy{display:grid;gap:28px;min-width:0}
.hero-copy .lead{font-size:1.2rem}
.hero .photo{aspect-ratio:4/5}
.hero h1 em{font-style:italic;color:var(--accent)}
.page-hero{padding-block:clamp(48px,7vw,88px) 0}
.page-hero .sec-head{margin-bottom:0}

/* Facts */
.facts{border-block:1px solid var(--line);background:var(--surface)}
.facts dl{display:grid;grid-template-columns:repeat(2,1fr);margin:0}
@media (min-width:860px){.facts dl{grid-template-columns:repeat(4,1fr)}}
.facts div{padding:28px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:4px;align-content:start}
@media (min-width:860px){.facts div{border-bottom:0}.facts div:last-child{border-right:0}}
@media (max-width:859px){.facts div:nth-child(2n){border-right:0}.facts div:nth-child(n+3){border-bottom:0}}
.facts dt{font-family:var(--f-display);font-size:2rem;line-height:1.1}
.facts dd{margin:0;color:var(--muted);font-size:.9rem}

/* Tile grid */
.tiles{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.tile{background:var(--surface);padding:28px;display:grid;gap:12px;align-content:start}
.tile h3{font-size:1.4rem}
.tile p{color:var(--muted);font-size:.95rem}
.tile .pin{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.tile .more{font-weight:600;color:var(--accent);font-size:.9rem;text-decoration:none}

/* Journey */
.journey ol{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--line)}
.journey li{display:grid;grid-template-columns:56px 1fr;gap:16px 24px;padding:28px 0;border-bottom:1px solid var(--line)}
@media (min-width:860px){.journey li{grid-template-columns:96px 280px 1fr;align-items:baseline}}
.journey .n{font-family:var(--f-mono);font-size:.85rem;color:var(--bronze)}
.journey h3{font-size:1.6rem}
.journey p{color:var(--muted);max-width:58ch;grid-column:2}
@media (min-width:860px){.journey p{grid-column:auto}}
.tag{display:inline-block;margin-top:10px;font-size:.78rem;font-weight:600;color:var(--accent);background:var(--accent-soft);padding:4px 10px;border-radius:999px}

/* Split band */
.band{background:var(--surface);border-block:1px solid var(--line)}
.split{display:grid;gap:48px;align-items:center}
@media (min-width:960px){.split{grid-template-columns:.95fr 1.05fr}}
.split > div{display:grid;gap:24px;min-width:0}
.split .photo{aspect-ratio:5/4}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.checks li{display:grid;grid-template-columns:22px 1fr;gap:12px}
.checks li::before{content:"";width:18px;height:10px;margin-top:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg) translate(2px,-2px)}

/* Video */
.video{background:var(--ink);color:var(--bg)}
.video .eyebrow{color:color-mix(in srgb,var(--bg) 65%,transparent)}
.video .lead{color:color-mix(in srgb,var(--bg) 75%,transparent)}
.video-grid{display:grid;gap:40px;align-items:center}
@media (min-width:900px){.video-grid{grid-template-columns:1fr 1fr}}
.video-grid > div{display:grid;gap:20px;min-width:0}
.reel{position:relative;aspect-ratio:9/16;max-width:320px;width:100%;justify-self:center;border-radius:14px;border:1px solid color-mix(in srgb,var(--bg) 25%,transparent);display:grid;place-items:center;text-decoration:none;color:var(--bg);
  background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--accent) 55%,transparent),transparent 70%),color-mix(in srgb,var(--bg) 6%,var(--ink))}
.reel .play{width:76px;height:76px;border-radius:50%;background:var(--bg);display:grid;place-items:center;transition:transform .2s}
.reel .play::after{content:"";border-left:20px solid var(--ink);border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:6px}
.reel:hover .play{transform:scale(1.06)}
.reel small{position:absolute;bottom:20px;left:0;right:0;text-align:center;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.btn-light{background:var(--bg);color:var(--ink)}
.btn-outline-light{color:var(--bg);border-color:color-mix(in srgb,var(--bg) 35%,transparent)}

/* Exclusive */
.exclusive{border:1px solid var(--bronze);border-radius:6px;padding:clamp(24px,4vw,44px);display:grid;gap:24px;background:var(--surface)}
@media (min-width:900px){.exclusive{grid-template-columns:1fr 1fr;align-items:center}}
.exclusive > div{display:grid;gap:14px;min-width:0}
.exclusive .eyebrow{color:var(--bronze)}

/* Packages */
.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}
.filters select{width:auto;min-width:170px;background:var(--surface)}
.pk-grid{display:grid;gap:20px}
@media (min-width:720px){.pk-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1040px){.pk-grid{grid-template-columns:repeat(3,1fr)}}
.pk{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.pk .photo,.pk img{aspect-ratio:16/10;width:100%;object-fit:cover;border:0;border-radius:0}
.pk-body{padding:22px;display:grid;gap:12px;align-content:start}
.pk-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.pk-top .k{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.badge{font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}
.badge.excl{background:var(--bronze);color:var(--surface)}
.pk h3{font-size:1.35rem}
.pk .design{color:var(--muted);font-size:.95rem}
.specs{display:flex;flex-wrap:wrap;gap:6px 16px;font-family:var(--f-mono);font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}
.pk-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:14px;margin-top:4px}
.pk-foot b{font-family:var(--f-display);font-weight:500;font-size:1.15rem}
.pk-foot a{font-size:.88rem;font-weight:600;color:var(--accent)}
.empty{grid-column:1/-1;padding:40px 28px;border:1px dashed var(--line);border-radius:6px;display:grid;gap:12px;justify-items:center;text-align:center;background:var(--surface)}
.empty p{color:var(--muted);max-width:50ch}
.disclaimer{font-size:.8rem;color:var(--muted);margin-top:24px;max-width:90ch}

/* FAQ */
.faq{max-width:820px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:22px 0}
.faq summary{cursor:pointer;font-family:var(--f-display);font-size:1.3rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-body);color:var(--accent);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq p{color:var(--muted);margin-top:12px;max-width:65ch}

/* Forms */
.form-wrap{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:clamp(20px,4vw,40px)}
form{display:grid;gap:18px;min-width:0}
.row2{display:grid;gap:18px}
@media (min-width:600px){.row2{grid-template-columns:1fr 1fr}}
.row3{display:grid;gap:18px}
@media (min-width:600px){.row3{grid-template-columns:repeat(3,1fr)}}
label{display:grid;gap:8px;font-size:.88rem;font-weight:600}
label .opt{font-weight:400;color:var(--muted)}
input,select,textarea{font:inherit;font-weight:400;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:14px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}
fieldset{border:0;padding:0;margin:0;display:grid;gap:10px;min-width:0}
legend{font-size:.88rem;font-weight:600;margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{display:block;font-weight:500;position:relative}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips span{display:inline-block;padding:10px 16px;border:1px solid var(--line);border-radius:999px;cursor:pointer;font-size:.9rem}
.chips input:checked + span{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.chips input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.tick{display:grid;grid-template-columns:22px 1fr;gap:12px;font-weight:400;font-size:.88rem;color:var(--muted);align-items:start}
.tick input{width:18px;height:18px;margin-top:3px;padding:0;accent-color:var(--accent)}
.tick a{color:var(--accent)}
.hp{position:absolute;left:-9999px}
.fine{font-size:.8rem;color:var(--muted)}
.err{font-size:.85rem;color:var(--bronze);font-weight:600}
.notice{border-left:3px solid var(--bronze);background:var(--surface);padding:16px 20px;font-size:.92rem;color:var(--muted);border-radius:0 4px 4px 0}
.notice strong{color:var(--ink)}
.done{border:1px solid var(--accent);background:var(--accent-soft);border-radius:6px;padding:28px;display:grid;gap:8px}

/* Contact */
.contact-grid{display:grid;gap:48px}
@media (min-width:960px){.contact-grid{grid-template-columns:.8fr 1.2fr}}
.contact-grid > div{display:grid;gap:28px;align-content:start;min-width:0}
address{font-style:normal;font-family:var(--f-display);font-size:1.5rem;line-height:1.3}
.contact{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:24px;margin:0}
.contact div{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.contact dt{color:var(--muted);font-size:.9rem}
.contact dd{margin:0;font-weight:600}
.contact a{text-decoration:none}

/* CTA band */
.cta-band{background:var(--accent);color:var(--accent-ink)}
.cta-band .wrap{display:grid;gap:24px}
@media (min-width:860px){.cta-band .wrap{grid-template-columns:1fr auto;align-items:center}}
.cta-band p{opacity:.9;max-width:55ch}
.cta-band .btn-light{background:var(--accent-ink);color:var(--accent)}

/* Chat */
.chat-btn{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:20;display:flex;align-items:center;gap:10px;background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:14px 20px;font:600 .95rem var(--f-body);cursor:pointer;box-shadow:0 10px 30px color-mix(in srgb,var(--ink) 25%,transparent)}
.chat-btn .dot{width:8px;height:8px;border-radius:50%;background:#5FD07A}
.chat-panel{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:20;width:min(360px,calc(100vw - 40px));background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 50px color-mix(in srgb,var(--ink) 25%,transparent);overflow:hidden}
.chat-head{background:var(--accent);color:var(--accent-ink);padding:18px 20px;display:flex;gap:12px;align-items:center}
.chat-head .av{width:42px;height:42px;border-radius:50%;background:color-mix(in srgb,var(--accent-ink) 25%,transparent);flex:none;display:grid;place-items:center;font-family:var(--f-display);font-size:1.2rem}
.chat-head b{display:block}
.chat-head small{opacity:.85}
.chat-head button{margin-left:auto;background:none;border:0;color:inherit;font-size:1.4rem;cursor:pointer;line-height:1}
.chat-body{padding:18px 20px;display:grid;gap:12px}
.bubble{background:var(--accent-soft);border-radius:12px 12px 12px 4px;padding:12px 14px;font-size:.92rem}
.chat-opt{display:block;width:100%;text-align:left;font:500 .92rem var(--f-body);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:11px 16px;text-decoration:none}
.chat-opt:hover{border-color:var(--accent)}

/* Footer */
footer.site{padding-block:48px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.foot{display:grid;gap:28px}
@media (min-width:860px){.foot{grid-template-columns:1fr 1.4fr}}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.foot nav a{color:var(--ink);text-decoration:none;font-weight:500}
.foot p{max-width:75ch}
.foot .legal{display:grid;gap:10px}

/* ===== Icons ===== */
.ico{width:40px;height:40px;color:var(--accent);flex:none}
.ico path,.ico rect,.ico circle{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tile .ico{width:44px;height:44px;padding:9px;border-radius:10px;background:var(--accent-soft)}
.journey .n{display:grid;gap:8px;align-content:start}
.journey .n .ico{width:34px;height:34px}

/* ===== Logo ===== */
.brand{flex-direction:row;align-items:center;gap:12px}
.brand .mark{width:42px;height:42px;flex:none}
.brand .mark rect{fill:var(--accent)}
.brand .mark path{fill:none;stroke:var(--accent-ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.brand .words{display:flex;flex-direction:column;line-height:1.1;text-transform:none;letter-spacing:0;font-family:var(--f-body);font-size:1rem;color:var(--ink)}
.brand .words b{font-family:var(--f-display);font-weight:400;font-size:1.5rem;letter-spacing:-.01em}
.brand .words b i{color:var(--accent);font-weight:500}
.brand .words span{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}


/* Header on phones: keep the wordmark on one line */
.brand .words b{white-space:nowrap}
@media (max-width:600px){
  .nav{gap:10px}
  .brand{gap:10px}
  .brand .mark{width:36px;height:36px}
  .brand .words b{font-size:1.3rem}
  .nav-actions .btn-primary{display:none}
  .nav .btn{padding:10px 16px;font-size:.88rem}
}

/* ===== Calculator ===== */
.calc{display:grid;gap:20px}
.calc-inputs{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}
.calc-rate{margin-top:-6px}
.calc-cap{border-left:3px solid var(--bronze);background:var(--surface);padding:14px 18px;font-size:.92rem;color:var(--muted);border-radius:0 4px 4px 0}
.calc-cap strong{color:var(--ink)}
.calc-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.calc-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:22px;display:grid;gap:10px;align-content:start}
.calc-card.is-lead{border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}
.calc-card.is-off{opacity:.55}
.calc-card h3{font-size:1.25rem}
.calc-big{font-family:var(--f-display);font-size:1rem;color:var(--muted)}
.calc-big span{font-size:2.3rem;color:var(--ink);font-variant-numeric:tabular-nums}
.calc-card dl{margin:4px 0 0;display:grid;gap:6px;border-top:1px solid var(--line);padding-top:12px}
.calc-card dl div{display:flex;justify-content:space-between;gap:12px;font-size:.92rem}
.calc-card dt{color:var(--muted)} .calc-card dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.calc-card ul{margin:4px 0 0;padding-left:18px;display:grid;gap:6px;font-size:.85rem;color:var(--muted)}
.calc-flag{font-size:.85rem;font-weight:600;color:var(--bronze)}
.calc-legal{display:grid;gap:8px;font-size:.85rem;color:var(--muted);max-width:90ch}
.calc-legal a{color:var(--accent)}

/* ===== Package detail ===== */
.crumbs{font-size:.88rem;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--muted)}
.pd{display:grid;gap:40px;align-items:start}
@media (min-width:980px){.pd{grid-template-columns:1.25fr .75fr}}
.gallery{display:grid;gap:10px;min-width:0}
.gallery-main{position:relative;aspect-ratio:3/2;background:var(--photo);border-radius:6px;overflow:hidden}
.gallery-main img{width:100%;height:100%;object-fit:cover}
.gallery-main .up{position:absolute;left:12px;bottom:12px;background:var(--surface);color:var(--ink);font-size:.78rem;padding:6px 10px;border-radius:4px;border:1px solid var(--line)}
.thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.thumbs button{flex:none;width:96px;aspect-ratio:3/2;padding:0;border:2px solid transparent;border-radius:4px;overflow:hidden;cursor:pointer;background:var(--photo)}
.thumbs button[aria-pressed="true"]{border-color:var(--accent)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.pd-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:28px;display:grid;gap:18px}
@media (min-width:980px){.pd-card{position:sticky;top:96px}}
.pd-card h1{font-size:clamp(2rem,4vw,2.6rem)}
.pd-addr{color:var(--muted)}
.facts-row{display:flex;flex-wrap:wrap;gap:8px 18px;font-family:var(--f-mono);font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums}
.facts-row span{display:inline-flex;gap:6px;align-items:center}
.price-box{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;display:grid;gap:4px}
.price-box .label{font-size:.82rem;color:var(--muted)}
.price-box .total{font-family:var(--f-display);font-size:2.4rem;line-height:1.1;font-variant-numeric:tabular-nums}
.price-box .split{font-size:.85rem;color:var(--muted)}
.pd-actions{display:grid;gap:10px}
.pd-actions .btn{justify-content:center}
.pd-sec{display:grid;gap:18px;padding-top:56px}
.pd-sec h2{font-size:clamp(1.6rem,3vw,2.1rem)}
.inc{list-style:none;margin:0;padding:0;display:grid;gap:10px 28px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.inc li{display:grid;grid-template-columns:18px 1fr;gap:10px}
.inc li::before{content:"";width:12px;height:7px;margin-top:7px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.exc{margin:0;padding-left:20px;color:var(--muted);display:grid;gap:6px}
.land-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin:0}
.land-dl div{background:var(--surface);padding:16px;display:grid;gap:2px}
.land-dl dt{font-size:.8rem;color:var(--muted)} .land-dl dd{margin:0;font-weight:600}
.plan-img{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:16px}
.plan-img img{width:100%;height:auto;margin:0 auto;max-height:900px;object-fit:contain}
.sample-flag{display:inline-block;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;background:var(--bronze);color:var(--surface);padding:4px 8px;border-radius:3px}

/* Dialog */
dialog{border:1px solid var(--line);border-radius:8px;padding:0;max-width:min(460px,calc(100vw - 32px));width:100%;background:var(--surface);color:var(--ink)}
dialog::backdrop{background:color-mix(in srgb,var(--ink) 45%,transparent)}
.dlg{padding:28px;display:grid;gap:16px}
.dlg h2{font-size:1.6rem}
.dlg-x{position:absolute;right:12px;top:10px;background:none;border:0;font-size:1.5rem;cursor:pointer;color:var(--muted)}

/* Where I meet */
.meet{display:grid;gap:40px;align-items:center}
@media (min-width:960px){.meet{grid-template-columns:1fr 1fr}}
.meet > div{display:grid;gap:22px;min-width:0}
.meet-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.meet-list li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.meet-list .ico{width:44px;height:44px;padding:9px;border-radius:10px;background:var(--accent-soft)}
.meet-list b{display:block;font-size:1.05rem}
.meet-list span{color:var(--muted);font-size:.95rem}
.map-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:16px}
.map-card svg{width:100%;height:auto;display:block}
.map-card .m-land{fill:var(--bg);stroke:var(--line)}
.map-card .m-bay{fill:var(--accent-soft)}
.map-card .m-corr{fill:var(--accent);opacity:.16}
.map-card .m-road{stroke:var(--photo-line);stroke-width:2;fill:none}
.map-card .m-dot{fill:var(--accent)}
.map-card .m-cbd{fill:var(--ink)}
.map-card .m-ring{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-dasharray:4 4}
.map-card text{font-family:var(--f-mono);font-size:11px;fill:var(--muted);letter-spacing:.06em}
.map-card text.m-big{font-size:12px;fill:var(--ink);font-weight:500}
.map-card figcaption{font-size:.8rem;color:var(--muted);padding:8px 4px 0}

/* ===== Admin ===== */
.adm{padding-block:32px 96px}
.adm-top{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:24px}
.adm-top h1{font-size:2rem}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tabs button{font:600 .88rem var(--f-body);padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.tabs button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.demo-note{border:1px dashed var(--bronze);border-radius:6px;padding:14px 18px;font-size:.9rem;color:var(--muted);margin-bottom:20px}
.pk-rows{display:grid;gap:12px}
.pk-row{display:grid;grid-template-columns:84px 1fr;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:12px;align-items:center}
@media (min-width:760px){.pk-row{grid-template-columns:96px 1fr auto}}
.pk-row img,.pk-row .noimg{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px;background:var(--photo)}
.pk-row h3{font-size:1.1rem;font-family:var(--f-body);font-weight:700}
.pk-row p{font-size:.88rem;color:var(--muted)}
.row-actions{display:flex;flex-wrap:wrap;gap:6px;grid-column:1/-1}
@media (min-width:760px){.row-actions{grid-column:auto;justify-content:flex-end}}
.btn-sm{font:600 .82rem var(--f-body);padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;text-decoration:none}
.btn-sm:hover{border-color:var(--ink)}
.btn-sm.danger{color:var(--bronze)}
.chip{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px;margin-left:6px;vertical-align:middle}
.chip.live{background:var(--accent-soft);color:var(--accent)}
.chip.off{background:var(--photo);color:var(--muted)}
.chip.warn{background:color-mix(in srgb,var(--bronze) 18%,transparent);color:var(--bronze)}
.ed{display:grid;gap:28px;align-items:start}
@media (min-width:1040px){.ed{grid-template-columns:1fr 340px}}
.ed-form{display:grid;gap:22px;min-width:0}
.ed-sec{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:22px;display:grid;gap:16px}
.ed-sec h2{font-size:1.35rem}
.ed-sec .hint{font-size:.85rem;color:var(--muted);margin-top:-8px}
.ed-side{display:grid;gap:14px}
@media (min-width:1040px){.ed-side{position:sticky;top:96px}}
.gate{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:20px;display:grid;gap:12px}
.gate h2{font-size:1.25rem}
.gate ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:46vh;overflow:auto}
.gate li{font-size:.85rem;color:var(--muted);display:grid;grid-template-columns:16px 1fr;gap:8px}
.gate li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--bronze);margin-top:6px}
.gate .ready{color:var(--accent);font-weight:600}
.gate .btn{justify-content:center}
.gate .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.imgs{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.imgs figure{margin:0;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:8px;display:grid;gap:6px}
.imgs img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px}
.imgs select,.imgs input{padding:8px;font-size:.82rem}
.imgs .mini{display:flex;gap:4px;justify-content:space-between}
.imgs .mini button{font-size:.78rem;padding:4px 8px;border:1px solid var(--line);background:var(--surface);border-radius:4px;cursor:pointer;color:var(--ink)}
.drop{border:2px dashed var(--line);border-radius:6px;padding:20px;text-align:center;color:var(--muted);font-size:.9rem;cursor:pointer;display:block}
.drop input{position:absolute;opacity:0;width:1px;height:1px}
.radio-row{display:flex;flex-wrap:wrap;gap:16px;font-weight:400;font-size:.92rem}
.radio-row label{display:flex;gap:8px;align-items:center;font-weight:400}
.radio-row input{width:auto}
[aria-invalid="true"]{border-color:var(--bronze)!important}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:12px 20px;border-radius:999px;font-size:.9rem;z-index:40;max-width:calc(100vw - 32px)}
.audit{width:100%;border-collapse:collapse;font-size:.85rem}
.audit th,.audit td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:6px}

/* Repayment estimate beside prices */
.repay{display:grid;gap:2px;margin-top:10px;padding:12px 14px;border-radius:6px;background:var(--accent-soft);text-decoration:none;color:var(--ink)}
.repay-amt{font-size:1.05rem}
.repay-amt b{font-family:var(--f-display);font-weight:500;font-size:1.5rem;font-variant-numeric:tabular-nums}
.repay-link{font-size:.85rem;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.repay:hover .repay-link{color:var(--ink)}
.repay-basis{font-size:.72rem;line-height:1.45;color:var(--muted);margin-top:6px}
.pk-repay{display:block;font-size:.88rem;color:var(--ink);text-decoration:none;background:var(--accent-soft);padding:8px 10px;border-radius:4px}
.pk-repay b{font-variant-numeric:tabular-nums}
.pk-repay:hover{text-decoration:underline}
.repay-strip{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.repay-strip > div{background:var(--surface);padding:18px;display:grid;gap:4px}
.repay-strip > div.is-lead{box-shadow:inset 0 3px 0 var(--accent)}
.repay-strip > div.is-off{opacity:.55}
.repay-strip .k{font-size:.85rem;color:var(--muted)}
.repay-strip b{font-family:var(--f-display);font-weight:500;font-size:1.9rem;font-variant-numeric:tabular-nums}
.calc-for{font-size:1rem;background:var(--accent-soft);padding:12px 16px;border-radius:6px}
.calc-fhb{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:14px 16px;color:var(--ink)}
.calc-notes{margin:0;padding-left:20px;display:grid;gap:8px;font-size:.9rem;color:var(--muted);max-width:90ch}
.calc-notes strong{color:var(--ink)}

/* ===== Navigation with more character ===== */
.nav ul{gap:4px;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:999px;box-shadow:0 1px 2px color-mix(in srgb,var(--ink) 6%,transparent)}
.nav ul a{position:relative;display:inline-flex;align-items:center;padding:9px 16px;border-radius:999px;color:var(--muted);font-weight:600;font-size:.9rem;letter-spacing:.005em;transition:background .2s,color .2s}
.nav ul a::after{content:"";position:absolute;left:16px;right:16px;bottom:5px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav ul a:hover{color:var(--ink);background:var(--bg)}
.nav ul a:hover::after{transform:scaleX(1)}
.nav ul a[aria-current="page"]{color:var(--accent-ink);background:var(--accent)}
.nav ul a[aria-current="page"]::after{display:none}
.mobile-nav{gap:8px;padding-bottom:12px}
.mobile-nav a{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-weight:600;font-size:.85rem}
.mobile-nav a[aria-current="page"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
@media (min-width:900px) and (max-width:1100px){.nav ul a{padding:8px 11px;font-size:.85rem}.nav ul a::after{left:11px;right:11px}}
@media (prefers-reduced-motion:reduce){.nav ul a::after{transition:none}}


img{height:auto}
.photo-img{height:auto;object-fit:cover;width:100%}

/* Hero: "Where are you starting from?" panel */
.hero-grid{align-items:start}
.start{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:clamp(20px,3vw,28px);display:grid;gap:18px;box-shadow:0 1px 0 rgba(28,33,32,.03),0 18px 40px -24px rgba(28,33,32,.18);min-width:0}
.start-h{font-family:var(--f-display);font-weight:400;font-size:clamp(1.35rem,2.2vw,1.6rem);line-height:1.2;margin:0}
.paths{display:grid;gap:10px}
.path{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);text-decoration:none;transition:border-color .15s,background .15s,transform .15s;position:relative}
.path::after{content:"";width:8px;height:8px;border-top:1.8px solid var(--accent);border-right:1.8px solid var(--accent);transform:rotate(45deg);margin-left:auto;flex:none;margin-right:4px;transition:transform .15s}
.path:hover,.path:focus-visible{border-color:var(--accent);background:var(--accent-soft)}
.path:hover::after{transform:translateX(3px) rotate(45deg)}
.path .ico{width:40px;height:40px;padding:8px;border-radius:9px;background:var(--surface);border:1px solid var(--line)}
.path span{display:grid;gap:2px;min-width:0}
.path b{font-size:.98rem;font-weight:700}
.path small{color:var(--muted);font-size:.84rem;line-height:1.35}
.mini-est{gap:8px;border-top:1px dashed var(--line);padding-top:16px}
.mini-est label{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}
.me-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.me-in{position:relative;flex:1 1 150px;min-width:0}
.me-in span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:600}
.me-in input{padding-left:28px;font-weight:600;font-variant-numeric:tabular-nums}
.mini-est output{display:grid;line-height:1.1}
.mini-est output b{font-family:var(--f-display);font-weight:400;font-size:1.9rem;color:var(--accent);font-variant-numeric:tabular-nums}
.mini-est output small{font-size:.78rem;color:var(--muted)}
.mini-est .fine a{color:var(--accent);font-weight:600}
@media (max-width:959px){.hero{padding-top:20px}}

/* Promises strip */
.promises dt{font-size:1.55rem}
@media (max-width:859px){.promises div{padding:20px 16px}.promises dt{font-size:1.2rem;line-height:1.2}.promises dd{font-size:.85rem;line-height:1.45}}
@media (min-width:860px){.promises dt{font-size:1.7rem}}

/* About Raj */
.about-photo{max-width:420px;width:100%;justify-self:center;border-radius:6px}
@media (min-width:860px){.about{grid-template-columns:.8fr 1.2fr}}
@media (max-width:859px){.about-photo{aspect-ratio:1/1!important;object-position:50% 12%;max-width:360px}}
.about h2{font-size:clamp(2rem,4vw,2.8rem)}
.about p:not(.eyebrow):not(.lead){color:var(--muted)}

/* Buyer reviews */
.reviews{display:grid;gap:16px}
.reviews.has-reviews{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.rev figcaption strong{font-weight:400}
.rev-empty{display:grid;gap:18px;align-items:center;padding:clamp(24px,4vw,36px);border:1px dashed var(--photo-line);border-radius:8px;background:var(--surface)}
@media (min-width:760px){.rev-empty{grid-template-columns:auto 1fr auto}}
.rev-empty h3{font-size:1.35rem;margin-bottom:6px}
.rev-empty p{color:var(--muted);margin:0}
.rev-mark{font-family:var(--f-display);font-size:4.5rem;line-height:.6;color:var(--accent);height:34px;display:block}
.rev{margin:0;padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;gap:14px;align-content:start}
.rev blockquote{margin:0;font-family:var(--f-display);font-size:1.15rem;line-height:1.5}
.rev blockquote::before{content:"“";color:var(--accent)}
.rev blockquote::after{content:"”";color:var(--accent)}
.rev figcaption{display:grid;gap:2px;font-size:.92rem}
.rev figcaption span{color:var(--muted);font-size:.84rem}
.rev-inc{font-style:normal;font-size:.8rem;color:var(--muted);margin-top:6px}
.stars{margin:0;color:var(--bronze);letter-spacing:2px}
.stars span{color:var(--line)}
.rev-foot{margin-top:16px}
.rev-foot a{color:var(--accent)}

/* Review form page */
.wrap.narrow{max-width:760px}
.card-form{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:clamp(20px,4vw,36px)}

/* Admin: reviews */
.rev-intro{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}
.rev-intro .fine{max-width:620px;margin:0}
.rv-q{display:grid;place-items:center;font-family:var(--f-display);font-size:2.6rem;color:var(--accent)}
.hero h1{font-size:clamp(2.3rem,4.4vw,3.9rem);line-height:1.08}
#reviews{padding-top:clamp(64px,9vw,112px)}
.rev-empty .btn{justify-self:start}
#homegroup{background:var(--bg)}
.hg-tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.hg-src{margin-top:16px}
.hg-src a{color:var(--accent)}
.price-note{display:block;font-size:.8rem;font-weight:600;color:var(--ink);background:var(--accent-soft);border-radius:4px;padding:8px 10px;margin-top:8px;line-height:1.4}
.pd-sec .disclaimer{margin-top:10px}
.pd-sec .disclaimer:first-child{margin-top:0}
.reel-btn{all:unset;cursor:pointer;display:grid;place-items:center;width:100%;height:100%;position:absolute;inset:0;border-radius:inherit}
.reel-btn:focus-visible{outline:3px solid var(--bg);outline-offset:-6px}
.reel-btn:hover .play{transform:scale(1.06)}
.reel-note{position:absolute;top:16px;left:0;right:0;text-align:center;margin:0;font-size:.72rem;opacity:.7}
.reel.is-playing{background:#fff;aspect-ratio:auto;height:min(640px,80vh);overflow:hidden;border-color:transparent}
.reel.is-playing iframe{width:100%;height:100%;border:0;display:block}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hg-logo{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.hg-logo img{height:48px;width:auto}
.hg-logo span{font-size:.85rem;color:var(--muted)}
.steps-list{list-style:none;counter-reset:s;padding:0;margin:16px 0 0;display:grid;gap:18px}
.steps-list li{counter-increment:s;display:grid;grid-template-columns:36px 1fr;gap:4px 14px;color:var(--muted)}
.steps-list li::before{content:counter(s);grid-row:span 2;width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:.9rem}
.steps-list b{color:var(--ink)}
#dev-form .disclaimer{margin-top:20px}
.path span{display:block}
.path b,.path small{display:block}
.path small{margin-top:2px}
.path .sep{display:inline-block;width:0;overflow:hidden;opacity:0}

/* Estates on the packages page */
.est-strip{margin-top:20px;display:grid;gap:12px}
.est-h{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
.est-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.est-card{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:4px;align-content:start;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:8px;transition:border-color .15s,background .15s}
.est-card:hover,.est-card:focus-visible{border-color:var(--accent)}
.est-card[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
.est-card b{font-family:var(--f-display);font-weight:400;font-size:1.25rem;line-height:1.2}
.est-sub{font-size:.82rem;color:var(--muted)}
.est-sum{font-size:.88rem;color:var(--ink);margin-top:4px;line-height:1.4}
.est-mkt{font-size:.78rem;color:var(--muted);line-height:1.4}
.est-n{font-size:.82rem;font-weight:700;color:var(--accent);margin-top:6px}
.est-strip .btn-sm{justify-self:start}

/* About the estate (package page) */
.est-box{display:grid;gap:12px}
.est-box h2{margin:0}
.est-box .lead{margin:0}
.est-hl{margin-top:4px}
.est-upd,.est-snap{border-left:3px solid var(--accent);padding:10px 14px;background:var(--surface);border-radius:0 6px 6px 0}
.est-upd .k,.est-snap .k{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.est-upd p,.est-snap p{margin:4px 0 0}
.est-snap{border-left-color:var(--bronze)}
.est-snap .k{color:var(--bronze)}

/* Monthly market update box */
.mu{display:grid;gap:24px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:clamp(22px,4vw,36px)}
@media (min-width:900px){.mu{grid-template-columns:1fr 1.1fr;align-items:start}}
.mu-copy{display:grid;gap:10px}
.mu-copy h3,.mu-copy h2{font-size:clamp(1.4rem,2.6vw,1.8rem);margin:0}
.mu-fields{display:grid;gap:14px}
.mu .done{grid-column:1/-1}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
@media (max-width:640px){
  .est-row{grid-auto-flow:column;grid-auto-columns:82%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;-webkit-overflow-scrolling:touch}
  .est-card{scroll-snap-align:start}
}
#pkGrid{scroll-margin-top:140px}
/* Package page: description fills the space under the photos on wide screens */
.pd-desc{display:grid;gap:14px;min-width:0}
.pd-desc h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:0}
@media (min-width:980px){
  .pd{grid-template-areas:"gal card" "desc card";grid-template-rows:auto 1fr;row-gap:32px}
  .pd > .gallery{grid-area:gal}
  .pd > .pd-card{grid-area:card;align-self:start}
  .pd > .pd-desc{grid-area:desc;align-self:start}
}
/* Land facts: boxes share each row evenly, no empty cells */
.land-dl{display:flex;flex-wrap:wrap}
.land-dl div{flex:1 1 150px}
.web-row{display:flex;gap:10px;flex-wrap:wrap}
.web-row input{flex:1 1 240px}
.web-row .btn{white-space:nowrap}
.sugg{border:1px dashed var(--accent);background:var(--accent-soft);border-radius:8px;padding:14px 16px;display:grid;gap:8px}
.sugg p{margin:0}
.sugg-h{font-size:.85rem}
.sugg-k{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:6px!important}
.sugg ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sugg li{display:flex;gap:10px;align-items:center;justify-content:space-between;background:var(--surface);border-radius:6px;padding:8px 10px;font-size:.9rem}
.sugg li .btn-sm{flex:none}

/* ===== Estate logos ===== */
.est-logo{flex:none;width:44px;height:44px;border-radius:8px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.est-logo img{width:100%;height:100%;object-fit:contain;padding:4px}
.est-mono{background:var(--accent-soft);border-color:transparent;color:var(--accent);font-family:var(--f-display);font-size:1.05rem;letter-spacing:.02em}
.est-logo.sm{width:28px;height:28px;border-radius:6px}.est-mono.sm{font-size:.72rem}
.est-logo.lg{width:64px;height:64px;border-radius:10px}.est-mono.lg{font-size:1.4rem}
.est-logo.xl{width:clamp(88px,14vw,128px);height:clamp(88px,14vw,128px);border-radius:14px}.est-mono.xl{font-size:clamp(1.8rem,4vw,2.6rem)}
.est-logo.xl img{padding:10px}
.est-txt{display:grid;gap:1px;min-width:0;text-align:left}
.est-txt b{font-weight:700;font-size:.95rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.est-txt span,.est-txt small{font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.est-txt small{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}

/* Packages page: one tidy scrolling row of estate logos */
.est-row{display:flex!important;gap:10px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;grid-template-columns:none}
.est-chip{all:unset;box-sizing:border-box;cursor:pointer;flex:none;display:flex;align-items:center;gap:10px;width:220px;padding:8px 12px 8px 8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;scroll-snap-align:start;transition:border-color .15s,background .15s}
.est-chip:hover,.est-chip:focus-visible{border-color:var(--accent)}
.est-chip[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
.est-sel{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding:10px 14px;background:var(--accent-soft);border-radius:8px;font-size:.92rem}
.est-sel .more{color:var(--accent);font-weight:700}
.est-sel .btn-sm{margin-left:auto}

/* Package cards: small estate logo beside the estate name */
.pk-est{display:flex;align-items:center;gap:10px}

/* Package page: estate box at the top of the price card */
.pd-estate{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:-6px -6px 0;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);text-decoration:none;transition:border-color .15s}
.pd-estate:hover,.pd-estate:focus-visible{border-color:var(--accent)}
.pd-estate .est-txt{flex:1}
.pd-estate-go{font-size:.82rem;font-weight:700;color:var(--accent);white-space:nowrap}
.pd-estate-go::after{content:" →"}
.est-head{display:flex;align-items:center;gap:14px}

/* Estate page */
.est-hero{display:grid;gap:24px;align-items:center;margin-top:20px;padding:clamp(20px,4vw,36px);background:var(--surface);border:1px solid var(--line);border-radius:12px}
@media (min-width:760px){.est-hero{grid-template-columns:auto 1fr;gap:36px}}
.est-hero-txt{display:grid;gap:12px;min-width:0}
.est-hero h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:0}
.est-hero .lead{margin:0}
.est-info{display:grid;gap:16px;margin-top:24px}
@media (min-width:860px){.est-info{grid-template-columns:1.3fr 1fr;align-items:start}}
.est-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:22px 24px;display:grid;gap:12px}
.est-panel h2{font-size:1.4rem;margin:0}
.est-panel.est-upd{border-left:3px solid var(--accent);border-radius:0 10px 10px 0}
.est-pk{margin-top:clamp(40px,6vw,64px)}
.logo-field{display:flex;gap:16px;align-items:flex-start}
.logo-field > div{display:grid;gap:8px;flex:1}
.logo-prev{flex:none;width:96px;height:96px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;place-items:center;overflow:hidden;font-size:.75rem;color:var(--muted)}
.logo-prev img{width:100%;height:100%;object-fit:contain;padding:8px}
/* Logos are usually wide, so the tiles are landscape */
.est-logo{width:72px;height:48px}
.est-logo.sm{width:48px;height:30px}
.est-logo.lg{width:108px;height:68px}
.est-logo.xl{width:clamp(150px,22vw,220px);height:clamp(96px,14vw,136px)}
.est-logo img{padding:5px}
.est-logo.sm img{padding:3px}
.est-chip{width:236px}
.est-txt .est-n{color:var(--accent);font-weight:700;font-size:.78rem;margin-top:1px}
/* Admin: templates */
.quick{border-color:var(--accent);background:linear-gradient(0deg,var(--surface),var(--surface)),var(--accent-soft)}
.q-row{display:flex;gap:8px}
.q-row select{flex:1;min-width:0}
.tpl-cols{display:grid;gap:28px;margin-top:20px}
@media (min-width:1000px){.tpl-cols{grid-template-columns:1fr 1fr}}
.tpl-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.tpl-head h2{font-size:1.5rem;margin:0}
.logo-ideas{display:flex;gap:12px;flex-wrap:wrap}
.logo-ideas figure{margin:0;display:grid;gap:6px;justify-items:center}
.logo-prev.sm{width:110px;height:66px}

/* ===== Estate page: one clean card, then packages ===== */
.eh{margin-top:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.eh-top{display:grid;gap:20px;padding:clamp(22px,4vw,40px);align-items:center}
@media (min-width:760px){.eh-top{grid-template-columns:auto 1fr;gap:clamp(28px,4vw,48px)}}
.eh-txt{display:grid;gap:12px;min-width:0}
.eh-txt h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:0;line-height:1.05}
.eh-txt .lead{margin:0;max-width:60ch}
.eh-txt .cta-row{margin-top:4px}
.eh-info{display:grid;border-top:1px solid var(--line);background:var(--bg)}
@media (min-width:860px){.eh-info.two{grid-template-columns:1.5fr 1fr}}
.eh-col{padding:clamp(20px,3vw,28px) clamp(22px,4vw,40px);display:grid;gap:12px;align-content:start}
.eh-col .k{margin:0;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.eh-col p{margin:0}
.eh-col .checks{gap:10px}
@media (min-width:640px){.eh-info:not(.two) .checks{grid-template-columns:1fr 1fr;column-gap:32px}}
.eh-upd{border-top:1px solid var(--line)}
@media (min-width:860px){.eh-info.two .eh-upd{border-top:0;border-left:1px solid var(--line)}}
.est-pk{margin-top:clamp(36px,5vw,56px)}
.est-pk-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.est-pk-head h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:0}
.est-pk-head .more{color:var(--accent);font-weight:700;font-size:.92rem}
.est-note{margin-top:16px;max-width:90ch}
.est-mu{margin-top:clamp(36px,5vw,56px)}
/* the estate page blocks sit inside one section: no extra section padding */
#ed section.eh,#ed section.est-pk,#ed section.est-mu{padding:0}
#ed .est-mu .mu{margin:0}
/* Admin: enquiries */
.leads{display:grid;gap:12px}
.leads .lead{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px 20px;display:grid;gap:8px;max-width:none;font-size:1rem;color:var(--ink)}
.leads .lead.is-new{border-left:4px solid var(--accent)}
.lead-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}
.lead-type{font-weight:700;color:var(--ink)}
.lead-when{margin-left:auto}
.lead h3{font-size:1.25rem;margin:0}
.lead-contact{margin:0;font-weight:600}
.lead-contact a{color:var(--accent)}
.lead-msg{margin:0;padding:10px 12px;background:var(--bg);border-radius:6px;white-space:pre-line}
.lead-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 18px;margin:0;font-size:.88rem}
.lead-dl dt{color:var(--muted);font-size:.78rem}.lead-dl dd{margin:0}
.lead .row-actions{justify-content:flex-start}
.rev-intro .cta-row select{width:auto;min-width:200px}
.fill-prog{margin:0 0 14px;padding:12px 16px;border-radius:8px;background:var(--accent-soft);font-size:.92rem}
.tpl-head .q-row{display:flex;gap:8px;flex-wrap:wrap}
.warn-note{background:#FFF4D6;border-radius:8px;padding:10px 12px;color:#5a4500}
.tpl-cols>section{padding-block:0}
/* design type-ahead + fit cards (admin) */
.ac-wrap{position:relative}
.ac-list{position:absolute;left:0;right:0;top:100%;z-index:30;margin-top:4px;background:#fff;border:1px solid var(--line,#ddd);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.14);max-height:420px;overflow:auto;padding:6px;font-weight:400}
.ac-head,.ac-empty{margin:4px 8px 6px;font-size:.8rem;color:var(--muted,#666)}
.ac-item{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:6px 8px;cursor:pointer;font:inherit;color:inherit}
.ac-item:hover,.ac-item.on{background:var(--accent-soft)}
.ac-item img,.ac-noimg{width:64px;height:48px;object-fit:contain;background:#fff;border:1px solid var(--line,#e3e3e3);border-radius:6px;display:grid;place-items:center;color:var(--accent)}
.ac-item b{display:block;font-size:.95rem}.ac-item small{display:block;font-size:.8rem;color:var(--muted,#666)}
.ac-fit,.ac-nofit{font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:999px;white-space:nowrap}
.ac-fit{background:var(--accent-soft);color:var(--accent)}.ac-nofit{background:color-mix(in srgb,var(--bronze) 18%,transparent);color:var(--bronze)}
.fit{margin-bottom:18px;padding:14px;border-radius:10px;background:var(--accent-soft)}
.fit-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:10px}.fit-head h3{margin:0;font-size:1.05rem}
.fit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:8px}
.fit-card{display:flex;flex-direction:column;gap:3px;text-align:left;background:#fff;border:1px solid var(--line,#e3e3e3);border-radius:8px;padding:8px;cursor:pointer;font:inherit;color:inherit}
.fit-card:hover,.fit-card.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.fit-card img,.fit-card .ac-noimg{width:100%;height:96px;object-fit:contain;border:0}
.fit-card b{font-size:.9rem}.fit-card small{font-size:.75rem;color:var(--muted,#666);line-height:1.35}
.tick.is-missing{outline:2px solid var(--bronze);outline-offset:4px;border-radius:6px}
.lead-mail{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px}
.lead-mail.ok{background:var(--accent-soft);color:var(--accent)}
.lead-mail.bad{background:color-mix(in srgb,var(--bronze) 18%,transparent);color:var(--bronze)}
.pk-more{grid-column:1/-1;display:flex;justify-content:center;padding:8px 0}
/* phone header: Call matches the page pills below it */
.call-mobile{align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 .85rem/1.2 var(--f-body);text-decoration:none;white-space:nowrap}
.call-mobile svg{width:14px;height:14px;fill:var(--accent)}
.call-mobile:active{background:var(--accent-soft)}
/* display home tour: brand green instead of black */
.video{background:var(--accent);color:#fff}
.video h2{color:#fff}
.video .eyebrow{color:rgba(255,255,255,.72)}
.video .lead{color:rgba(255,255,255,.85)}
.video .reel{background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.16),transparent 70%),color-mix(in srgb,var(--accent) 78%,#000);border-color:rgba(255,255,255,.25)}
/* display homes map */
.map-card .m-pin{cursor:pointer;outline:none}
.map-card .m-hit{fill:transparent}
.map-card .m-pin .m-dot{transition:r .15s}
.map-card .m-pin:hover .m-dot,.map-card .m-pin:focus-visible .m-dot,.map-card .m-pin.on .m-dot{r:10}
.map-card .m-pin.on text,.map-card .m-pin:focus-visible text{fill:var(--accent);font-weight:600}
.map-card .m-pin:focus-visible .m-hit{stroke:var(--accent);stroke-width:2}
.disp-panel{margin-top:12px;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:14px}
.disp-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.disp-head h3{margin:0;font-size:1.15rem}
.disp-head .dlg-x{position:static}
.disp-item{display:grid;gap:4px;padding:12px;border-radius:8px;background:var(--bg)}
.disp-item p{margin:0}
.disp-estate{font-weight:700}
.disp-homes{font-size:.9rem}
.disp-addr{font-size:.95rem}
.disp-hours{font-size:.82rem;color:var(--muted)}
.disp-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.btn-sm-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.disp-map{width:100%;height:220px;border:0;border-radius:8px;margin-top:8px;display:block}
.map-card svg > :not(.m-pin){pointer-events:none}
.est-link .warn{color:var(--bronze);font-weight:600}
.ac-wrap .opt{font-weight:400}
/* inclusion highlights: even spacing, long items wrap neatly under their own tick */
.inc{display:block;columns:2 300px;column-gap:40px}
.inc li{break-inside:avoid;margin:0 0 12px;line-height:1.45;grid-template-columns:20px 1fr;gap:8px;align-items:start}
.inc li::before{margin-top:6px}
/* "(optional)" sits on the same line as its label instead of a row of its own */
label:not(.tick):not(.drop):has(> .opt){display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;row-gap:8px}
label:not(.tick):not(.drop):has(> .opt) > :not(.opt){flex:1 0 100%;min-width:0}
.pd-inc{display:grid;gap:16px;margin-top:22px;padding-top:26px;border-top:1px solid var(--line)}
.pd-inc h2{font-size:clamp(1.35rem,2.2vw,1.7rem);margin:0}
.pd-inc .inc{columns:2 240px}
/* the closing call-to-action band: less empty space above and below */
.cta-band{padding-block:clamp(56px,7vw,88px)}
.chat-ico{display:none;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
@media (max-width:640px){
  .chat-btn{padding:0;width:54px;height:54px;justify-content:center}
  .chat-btn .chat-txt{display:none}
  .chat-btn .chat-ico{display:block}
  .chat-btn .dot{position:absolute;top:10px;right:11px;border:2px solid var(--accent)}
}
a.plan-img{display:block;position:relative;text-decoration:none}
.plan-zoom{position:absolute;right:10px;bottom:10px;font-size:.75rem;font-weight:600;background:rgba(255,255,255,.92);color:var(--ink);padding:5px 10px;border-radius:999px;border:1px solid var(--line)}
@media (hover:hover){.plan-zoom{opacity:0;transition:opacity .2s}a.plan-img:hover .plan-zoom{opacity:1}}

/* ===== Motion: small and purposeful. Everything is off for people who turn motion off on their device. ===== */
/* 1. package cards: whole card opens the package; lifts and the photo eases in on hover */
.pk{position:relative;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.pk img{transition:transform .5s ease}
.pk .pk-foot a::after{content:"";position:absolute;inset:0;z-index:1}
.pk .pk-repay{position:relative;z-index:2}
@media (hover:hover){
  .pk:hover{transform:translateY(-4px);box-shadow:0 14px 34px color-mix(in srgb,var(--ink) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
  .pk:hover img{transform:scale(1.04)}
}
.pk:focus-within{border-color:var(--accent)}
/* 5. homepage sections fade up as they scroll in (only once the script has started, so nothing stays hidden) */
.motion .rv{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.motion .rv.in{opacity:1;transform:none}
/* 4. how-it-works steps arrive one after another */
.motion .journey li{opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease}
.motion .journey.in li{opacity:1;transform:none}
.motion .journey.in li:nth-child(2){transition-delay:.12s}.motion .journey.in li:nth-child(3){transition-delay:.24s}
.motion .journey.in li:nth-child(4){transition-delay:.36s}.motion .journey.in li:nth-child(5){transition-delay:.48s}.motion .journey.in li:nth-child(6){transition-delay:.6s}
/* 3. display-home dots pulse twice when the map comes into view, so people know they can tap them */
.map-card .m-dot{transform-box:fill-box;transform-origin:center}
.map-card.pulse .m-pin .m-dot{animation:dotPulse 1.1s ease-in-out 2}
.map-card.pulse .m-pin:nth-of-type(2n) .m-dot{animation-delay:.15s}
.map-card.pulse .m-pin:nth-of-type(3n) .m-dot{animation-delay:.3s}
@keyframes dotPulse{0%,100%{transform:scale(1)}45%{transform:scale(1.7)}}
@media (prefers-reduced-motion:reduce){
  .motion .rv,.motion .journey li{opacity:1;transform:none;transition:none}
  .map-card.pulse .m-pin .m-dot{animation:none}
  .pk,.pk img{transition:none}.pk:hover{transform:none}.pk:hover img{transform:none}
}
/* repayment frequency switch */
.calc-freq{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.calc-freq-l{font-size:.88rem;font-weight:600;margin-right:4px}
.calc-freq label{position:relative}
.calc-freq input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.calc-freq label span{display:inline-block;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-weight:600;font-size:.88rem}
.calc-freq label input:checked + span{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.calc-freq input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}

/* ===== Guide pages (calculator, upgrading, knockdown rebuild, build on your land) ===== */
.keyfacts{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));margin-top:32px}
.fact{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px 20px;display:grid;gap:6px;align-content:start}
.fact b{font-family:var(--f-display);font-weight:400;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.05;color:var(--accent)}
.fact span{font-size:.9rem;color:var(--muted);line-height:1.45}
.keyfacts-note{font-size:.8rem;color:var(--muted);margin-top:10px}
.guide{display:grid;gap:40px;align-items:start}
@media (min-width:1080px){.guide{grid-template-columns:minmax(0,1fr) 430px;gap:56px}.guide-aside{position:sticky;top:92px}}
.guide-main{display:grid;gap:0;min-width:0}
.g-sec{display:grid;gap:16px;padding:0 0 40px;margin:0 0 40px;border-bottom:1px solid var(--line)}
.g-sec:last-child{border-bottom:0;margin-bottom:0}
.g-sec > h2{font-size:clamp(1.55rem,2.6vw,2.1rem);margin:0}
.g-sec > p{margin:0;color:var(--muted);max-width:72ch}
.g-sec .eyebrow{margin:0}
.g-cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.g-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px 22px;display:grid;gap:10px;align-content:start}
.g-card h3{font-size:1.15rem;margin:0}
.g-card p{margin:0;font-size:.93rem;color:var(--muted)}
.g-card ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:.92rem;color:var(--muted)}
.g-card .tag{justify-self:start;margin:0}
.g-card.is-lead{border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}
.pc{display:grid;gap:12px;grid-template-columns:1fr 1fr}
@media (max-width:560px){.pc{grid-template-columns:1fr}}
.pc h4{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-family:var(--f-mono);font-weight:500}
.pc .good h4{color:var(--accent)} .pc .watch h4{color:var(--bronze)}
.g-steps{list-style:none;margin:0;padding:0;counter-reset:gs;display:grid;gap:0;border-top:1px solid var(--line)}
.g-steps li{counter-increment:gs;display:grid;grid-template-columns:44px 1fr;gap:4px 14px;padding:16px 0;border-bottom:1px solid var(--line)}
.g-steps li::before{content:counter(gs);grid-row:span 2;width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:.9rem}
.g-steps b{font-size:1rem}
.g-steps span{color:var(--muted);font-size:.93rem}
.g-table{width:100%;border-collapse:collapse;font-size:.93rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.g-table th,.g-table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.g-table th{font-size:.8rem;letter-spacing:.04em;color:var(--muted);font-weight:600;background:var(--bg)}
.g-table td:first-child{font-weight:600;white-space:nowrap}
.g-table td.n{font-variant-numeric:tabular-nums;font-weight:700;color:var(--accent);white-space:nowrap}
.g-callout{border-left:3px solid var(--accent);background:var(--accent-soft);padding:14px 18px;border-radius:0 6px 6px 0;font-size:.93rem}
.g-callout.warn{border-color:var(--bronze);background:color-mix(in srgb,var(--bronze) 10%,var(--surface))}
.g-src{font-size:.8rem;color:var(--muted)} .g-src a{color:var(--accent)}
.guide-aside .form-wrap h2{font-size:1.4rem;margin:0 0 4px}
.guide-aside .form-wrap > p{margin:0 0 14px;color:var(--muted);font-size:.92rem}
.faq-split{display:grid;gap:28px}
@media (min-width:1000px){.faq-split{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px}.faq-split .faq{max-width:none}}

/* homepage hero: three stand-out facts */
.hero-points{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hero-points li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:baseline;font-size:1rem;color:var(--muted)}
.hero-points b{font-family:var(--f-display);font-weight:400;font-size:1.45rem;color:var(--accent);min-width:5.2ch;line-height:1.1}
.hero-points small{display:block;font-size:.78rem;margin-top:2px}

.faq-split > .sec-head{align-content:start;gap:16px}
@media (min-width:1000px){.faq-split > .sec-head{position:sticky;top:92px;align-self:start}}
@media (max-width:640px){
  .keyfacts{grid-template-columns:1fr 1fr;gap:10px}
  .fact{padding:14px}
  .fact b{font-size:1.3rem}
  .fact span{font-size:.82rem}
}
.jump-form{margin-top:20px}
@media (min-width:1080px){.jump-form{display:none}}
.guide-aside .form-wrap{scroll-margin-top:90px}
/* homepage: cheapest weekly estimate */
.from-pill{display:inline-grid;grid-template-columns:auto auto auto;align-items:baseline;column-gap:6px;justify-self:start;padding:12px 18px;border-radius:12px;background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));text-decoration:none;color:var(--ink);box-shadow:0 6px 18px color-mix(in srgb,var(--ink) 6%,transparent);transition:border-color .2s,transform .2s}
.from-pill b{font-family:var(--f-display);font-weight:400;font-size:2rem;line-height:1;color:var(--accent)}
.from-pill .fp-k{font-size:.95rem;color:var(--muted)}
.from-pill .fp-sub{grid-column:1/-1;font-size:.82rem;color:var(--accent);font-weight:600;margin-top:4px}
.from-pill:hover{border-color:var(--accent)}
.from-pill[hidden]{display:none}
/* homepage: packages strip */
.feat{padding-block:clamp(48px,6vw,80px) 8px;overflow:hidden}
.feat-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.feat-head h2{margin:6px 0 0;font-size:clamp(1.7rem,3vw,2.4rem)}
.feat-viewport{overflow-x:auto;scrollbar-width:none;padding:8px 0 18px}
.feat-viewport::-webkit-scrollbar{display:none}
.feat-track{display:flex;gap:18px;width:max-content;padding-inline:max(16px,calc((100vw - var(--wrap)) / 2 + 32px))}
.feat-track .fc{width:300px;flex:none}
.feat-dup{display:contents}
.feat.is-moving .feat-viewport{overflow:hidden}
.feat.is-moving .feat-track{animation:featMove var(--feat-dur,60s) linear infinite}
.feat.is-moving .feat-viewport:hover .feat-track,.feat.is-moving .feat-viewport:focus-within .feat-track,.feat.is-moving.paused .feat-track{animation-play-state:paused}
@keyframes featMove{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--feat-shift,0px)))}}
.feat-note{margin-top:4px}
@media (max-width:640px){.feat-track .fc{width:260px}.from-pill b{font-size:1.7rem}}
@media (prefers-reduced-motion:reduce){.feat.is-moving .feat-track{animation:none}}
.pk-repay small{display:block;font-size:.78rem;color:var(--muted);margin-top:2px}
.repay-mo{font-size:.82rem;color:var(--muted)}

/* "New homes from $X a week" card with the facade photo */
.from-pill.has-img{display:grid;grid-template-columns:150px 1fr;column-gap:16px;align-items:center;padding:10px 18px 10px 10px;max-width:560px;width:100%}
.from-pill .fp-img{display:block;border-radius:8px;overflow:hidden;aspect-ratio:4/3;background:var(--accent-soft)}
.from-pill .fp-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.from-pill:hover .fp-img img{transform:scale(1.05)}
.from-pill .fp-txt{display:grid;gap:2px}
.from-pill .fp-price{font-size:.95rem;color:var(--muted)}
.from-pill:not(.has-img) .fp-txt{grid-column:1/-1}
@media (max-width:420px){.from-pill.has-img{grid-template-columns:110px 1fr;column-gap:12px}}
/* home page strip cards: photo + weekly sticker, no price */
.fc{display:grid;grid-template-rows:auto 1fr;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.fc-img{position:relative;display:block;aspect-ratio:16/10;background:var(--accent-soft);overflow:hidden}
.fc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.fc-noimg{display:grid;place-items:center;height:100%;color:var(--muted);font-size:.85rem}
.fc-wk{position:absolute;left:12px;bottom:12px;background:var(--accent);color:var(--accent-ink);padding:7px 12px;border-radius:999px;font-size:.85rem;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.fc-wk b{font-size:1.1rem}
.fc-body{display:grid;gap:6px;padding:16px 18px 18px;align-content:start}
.fc-k{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.fc-est{display:flex;align-items:center;gap:10px}
.fc-est b{font-family:var(--f-display);font-weight:400;font-size:1.25rem}
.fc-d{font-size:.9rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fc-specs{font-family:var(--f-mono);font-size:.78rem;color:var(--muted)}
.fc-go{margin-top:6px;font-size:.88rem;font-weight:600;color:var(--accent)}
@media (hover:hover){.fc:hover{transform:translateY(-4px);box-shadow:0 14px 34px color-mix(in srgb,var(--ink) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.fc:hover .fc-img img{transform:scale(1.04)}}
@media (prefers-reduced-motion:reduce){.fc,.fc-img img,.from-pill .fp-img img{transition:none}.fc:hover{transform:none}}

/* ---------- Language switcher + Hindi / Punjabi ---------- */
html.i18n-wait body{visibility:hidden}
.i18n-only{display:none}
.lang-hi .i18n-only,.lang-pa .i18n-only{display:block}
.lang{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:6px;height:100%;min-height:38px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 .85rem/1.2 var(--f-body);cursor:pointer;white-space:nowrap}
.lang-btn svg{width:15px;height:15px;fill:none;stroke:var(--accent);stroke-width:1.7}
.lang-btn:hover,.lang-btn[aria-expanded="true"]{background:var(--accent-soft)}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:180px;display:grid;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(20,30,22,.14)}
.lang-menu[hidden]{display:none}
.lang-menu button{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 12px;border:0;border-radius:9px;background:none;color:var(--ink);font:500 1rem/1.3 var(--f-body);text-align:left;cursor:pointer}
.lang-menu button small{color:var(--muted);font-size:.78rem}
.lang-menu button:hover{background:var(--bg)}
.lang-menu button[aria-current]{background:var(--accent-soft);color:var(--accent);font-weight:700}
@media (max-width:420px){.lang-btn{padding:8px 10px}.nav-actions{gap:6px}}
/* Indic scripts: no letter-spacing (it breaks joined letters), a bit more line height, no forced capitals */
.lang-hi *,.lang-pa *{letter-spacing:0!important}
.lang-hi .eyebrow,.lang-pa .eyebrow,.lang-hi [class*="-k"],.lang-pa [class*="-k"]{text-transform:none}
.lang-hi h1,.lang-pa h1,.lang-hi h2,.lang-pa h2,.lang-hi h3,.lang-pa h3{line-height:1.3}
.lang-hi body,.lang-pa body{line-height:1.75}

/* Repeat enquiries from the same person */
.lead-count{display:inline-flex;align-items:center;justify-content:center;min-width:2.1em;height:1.7em;padding:0 .45em;margin-left:6px;border-radius:999px;background:var(--accent);color:#fff;font:700 .8rem/1 var(--f-body);vertical-align:middle}
.lead-hist{font-size:.88rem;border-top:1px dashed var(--line);padding-top:8px}
.lead-hist summary{cursor:pointer;font-weight:600;color:var(--accent)}
.lead-hist ol{margin:8px 0 0;padding-left:20px;display:grid;gap:6px}
.lead-hist li span{color:var(--muted);white-space:pre-line}

/* Admin: faster package making */
.restore{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px;border-radius:8px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);font-size:.92rem;margin-bottom:12px}
.restore.warn{background:color-mix(in srgb,var(--bronze) 12%,var(--surface));border-color:color-mix(in srgb,var(--bronze) 35%,transparent)}
.restore span{flex:1 1 260px}
.ed-sec.qf{border:2px solid var(--accent)}
.ed-sec.qf textarea{min-height:76px}
.ed-sec .q-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pk-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.pk-tools input[type=search]{flex:1 1 220px;min-width:180px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font:inherit}
.pk-tools-r{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font:600 .82rem/1 var(--f-body);color:var(--ink);cursor:pointer}
.seg button span{color:var(--muted);font-weight:500;margin-left:3px}
.seg button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.seg button[aria-pressed="true"] span{color:#ddd}
.warn-t{color:var(--bronze);font-weight:600}
.gate li[data-f]{cursor:pointer;border-radius:4px}
.gate li[data-f]:hover,.gate li[data-f]:focus{color:var(--ink);background:var(--bg);outline:none}
.kbd{font:500 .7rem var(--f-mono);color:var(--muted);margin-left:6px}
.imp-prev .tbl-wrap{max-height:260px;overflow:auto}

/* "Are you human?" check (Cloudflare Turnstile): invisible unless Cloudflare asks for a tick */
.ts-box:not(:empty){margin:12px 0}
.ts-float{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:1000}
.lead-diff{color:var(--bronze);font-weight:600}
.backup-box{margin-bottom:16px;gap:12px;flex-wrap:wrap}

/* =====================================================================
   Phase 2 look (chosen Nov 2026): charcoal, warm white and bronze.
   Everything for this look is in this block. The old green look is
   on the phase-1 branch if ever needed.
   ===================================================================== */
:root{
  --bg:#F8F6F1; --surface:#FFFEFB; --ink:#24282B; --muted:#5E5A54; --line:#E2DDD3;
  --accent:#24282B; --accent-ink:#F8F6F1; --accent-soft:#EFEAE1; --bronze:#8A6A42; --bronze-line:#A07A4E;
  --photo:#ECE8E0; --photo-line:#D8D1C4; --hero:#24282B; --r:3px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#1B1E20; --surface:#23272A; --ink:#EFEBE4; --muted:#ABA498; --line:#353A3D;
  --accent:#EFEBE4; --accent-ink:#1B1E20; --accent-soft:#2B2F32; --bronze:#C9A472; --bronze-line:#B8925F;
  --photo:#23272A; --photo-line:#3A3F43; --hero:#131517 }}
:root[data-theme="dark"]{
  --bg:#1B1E20; --surface:#23272A; --ink:#EFEBE4; --muted:#ABA498; --line:#353A3D;
  --accent:#EFEBE4; --accent-ink:#1B1E20; --accent-soft:#2B2F32; --bronze:#C9A472; --bronze-line:#B8925F;
  --photo:#23272A; --photo-line:#3A3F43; --hero:#131517 }
/* page colours kept aside, so a light panel can sit inside the charcoal hero */
:root{--p-bg:var(--bg);--p-surface:var(--surface);--p-ink:var(--ink);--p-muted:var(--muted);--p-line:var(--line);
  --p-accent:var(--accent);--p-accent-ink:var(--accent-ink);--p-accent-soft:var(--accent-soft);--p-bronze:var(--bronze)}

/* Type: sentence-case labels in bronze, no italic accent word in headlines */
.eyebrow{font-family:var(--f-body);font-size:.9rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--bronze)}
.hero h1 em,h1 em,h2 em{font-style:normal;color:inherit}
.brand .words span,.mini-est label,.tile .pin,.fc-k,.pc h4,.photo figcaption b{font-family:var(--f-body);letter-spacing:.01em;text-transform:none;font-weight:600}
.brand .words span{font-size:.78rem;color:var(--muted)}
.brand .words b i{color:var(--bronze)}
.brand .mark rect{fill:var(--ink)}
.brand .mark path{stroke:var(--bg)}

/* Corners: square and quiet; only truly round things stay round */
.btn,.btn-sm,.tag,.badge,.chips span,.chat-opt,.bubble,.chat-panel,.tiles,.reel,.exclusive,.pk,.empty,.form-wrap,.done,.tile .ico,.calc-card,
.gallery-main,.pd-card,.land-dl,.plan-img,dialog,.meet-list .ico,.map-card,.start,.path,.path .ico,.about-photo,.rev-empty,.rev,.card-form,
.est-card,.mu,.est-logo,.est-chip,.est-sel,.pd-estate,.est-hero,.est-panel,.eh,.disp-item,.disp-map,.plan-zoom,.calc-freq label span,.fact,
.g-card,.g-table,.from-pill,.from-pill .fp-img,.fc,.fc-wk,.lang-btn,.lang-menu,.lang-menu button,.call-mobile,.repay,.repay-strip,.calc-for,
.calc-fhb,.notice,.g-callout,.price-note,input,select,textarea,.photo,.photo-img{border-radius:var(--r)}
.btn{padding:16px 24px;letter-spacing:.01em}
.btn-primary:hover{transform:none;background:color-mix(in srgb,var(--accent) 86%,var(--bronze))}
.btn-ghost:hover{border-color:var(--bronze)}

/* Header: warm white with a thin bronze rule; plain text links */
header.site{background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid var(--line);box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--bronze-line) 35%,transparent)}
.nav ul{background:none;border:0;box-shadow:none;padding:0;gap:6px;border-radius:0}
.nav ul a{border-radius:0;padding:10px 12px;color:var(--muted)}
.nav ul a::after{left:12px;right:12px;bottom:4px;height:1px;background:var(--bronze)}
.nav ul a:hover{background:none;color:var(--ink)}
.nav ul a[aria-current="page"]{background:none;color:var(--ink)}
.nav ul a[aria-current="page"]::after{display:block;transform:scaleX(1)}
.mobile-nav{gap:4px;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:24px}
.mobile-nav a{border:0;background:none;border-radius:0;padding:10px 10px;color:var(--muted)}
.mobile-nav a:first-child{padding-left:0}
.mobile-nav a[aria-current="page"]{background:none;color:var(--ink);box-shadow:inset 0 -1px 0 var(--bronze)}

/* Hero: a charcoal band with a bronze floor plan drawn once */
.hero{position:relative;overflow:hidden;isolation:isolate;background:var(--hero);
  --bg:#2C3134; --surface:#2C3134; --ink:#F3EFE7; --muted:#BDB5A8; --line:#41474B;
  --accent:#F3EFE7; --accent-ink:#24282B; --accent-soft:#353A3E; --bronze:#D2AE7C;
  color:var(--ink);padding-block:clamp(40px,6vw,88px) clamp(48px,7vw,104px)}
.hero .start{--bg:var(--p-bg);--surface:var(--p-surface);--ink:var(--p-ink);--muted:var(--p-muted);--line:var(--p-line);
  --accent:var(--p-accent);--accent-ink:var(--p-accent-ink);--accent-soft:var(--p-accent-soft);--bronze:var(--p-bronze);
  color:var(--ink);box-shadow:none;border-color:transparent;border-top:2px solid var(--bronze-line)}
.hero-plan{position:absolute;z-index:-1;right:-3%;bottom:-6%;width:min(860px,62%);height:auto;fill:none;stroke:var(--bronze-line);opacity:.28}
.hero-plan .hp-wall{stroke-width:3}
.hero-plan .hp-door,.hero-plan .hp-win{stroke-width:1.2}
.hero-plan .hp-dim{stroke-width:1;opacity:.7}
.hero-plan path{stroke-dasharray:1;stroke-dashoffset:0}
@media (prefers-reduced-motion:no-preference){
  .hero-plan path{stroke-dashoffset:1;animation:planDraw 2.4s cubic-bezier(.55,.1,.25,1) .2s forwards}
  .hero-plan .hp-door{animation-delay:1.2s}.hero-plan .hp-win{animation-delay:1.5s}.hero-plan .hp-dim{animation-delay:1.8s}
}
@keyframes planDraw{to{stroke-dashoffset:0}}
@media (max-width:959px){.hero-plan{width:120%;right:-35%;bottom:-2%;opacity:.14}}
.hero h1{color:var(--ink);font-weight:400}
.hero .lead{color:var(--muted)}
.hero .fine,.hero .fine a{color:var(--muted)}
.hero .btn-ghost{border-color:#5A6064;color:var(--ink)}
.hero .btn-ghost:hover{border-color:var(--bronze)}
.hero .btn-primary:hover{background:#FFFFFF}

/* the three facts under the headline: a quiet ledger, not big coloured numbers */
.hero-points{gap:0;border-top:1px solid var(--line)}
.hero-points li{padding:12px 0;border-bottom:1px solid var(--line);font-size:.95rem;gap:18px}
.hero-points b{color:var(--bronze);font-size:1.35rem;min-width:2.4em}
/* keep room for the "from $X a week" card so the page doesn't jump when it loads */
.hero .from-pill{min-height:136px;background:color-mix(in srgb,var(--ink) 6%,transparent);border-color:var(--line)}
.hero .from-pill[hidden]{display:block!important;visibility:hidden}
.hero .from-pill b,.hero .from-pill .fp-sub{color:var(--bronze)}
@media (max-width:420px){.hero .from-pill{min-height:106px}}

/* Bronze for figures and small markers */
.mini-est output b,.fact b,.from-pill b,.g-table td.n,.rv-q,.journey .n{color:var(--bronze)}
.path::after{border-color:var(--bronze)}
.path:hover,.path:focus-visible{border-color:var(--bronze);background:var(--accent-soft)}
.path .ico{border:0;background:var(--accent-soft)}
.mini-est{border-top-style:solid}
.g-card.is-lead{border-color:var(--bronze);box-shadow:inset 0 2px 0 var(--bronze)}
.g-callout{border-left-color:var(--bronze)}
.checks li::before{border-color:var(--bronze)}
.fc-wk{background:var(--ink);color:var(--bg);box-shadow:none}
.cta-band{background:var(--hero);color:#F3EFE7}
.cta-band .btn-light{background:#F3EFE7;color:#24282B}
.cta-band .btn-ghost{color:#F3EFE7!important;border-color:#5A6064!important}
.tiles{gap:1px}
.tile .ico,.meet-list .ico{background:none;padding:0;width:36px;height:36px;color:var(--bronze)}
.ico{color:var(--bronze)}
.steps-list li::before,.g-steps li::before{border-radius:50%;background:none;border:1px solid var(--bronze);color:var(--bronze)}

.chat-btn{background:var(--hero);color:#F3EFE7;box-shadow:0 0 0 1px color-mix(in srgb,var(--bronze-line) 55%,transparent),0 10px 24px rgba(0,0,0,.18)}
.chat-head{background:var(--hero);color:#F3EFE7}

.tile .pin{font-size:.82rem;color:var(--bronze)}

/* Footer: bigger tap targets */
.foot nav{gap:0 4px}
.foot nav a{display:inline-block;padding:8px 8px 8px 0;min-height:24px}
.foot a{padding-block:4px}

/* Phones: a fixed Call / WhatsApp / Book bar replaces the round chat button */
.m-bar{display:none}
@media (max-width:640px){
  .m-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:1fr 1fr 1.3fr;
    background:var(--hero);border-top:1px solid color-mix(in srgb,var(--bronze-line) 45%,transparent);
    padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
  .m-bar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;color:#F3EFE7;text-decoration:none;font-weight:600;font-size:.92rem}
  .m-bar a + a{border-left:1px solid #3B4044}
  .m-bar svg{width:18px;height:18px;fill:none;stroke:#D2AE7C;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
  .m-bar .m-book{background:#F3EFE7;color:#24282B;border-left:0}
  .m-bar a:focus-visible{outline:2px solid #D2AE7C;outline-offset:-4px}
  body:has(.m-bar){padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}
  html:has(.m-bar){scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  .chat-btn,.chat-panel,.call-mobile{display:none!important}
  .ts-float{bottom:calc(72px + env(safe-area-inset-bottom,0px))}
}

/* Contact page on phones: the form comes first */
@media (max-width:959px){.contact-grid > div:last-child{order:-1}}

/* Display homes map: larger tap area around each pin */
.map-card .m-pin{cursor:pointer}

/* ===== Phase 3: Home Building Assessment and consent ticks ===== */
.as-grid{display:grid;gap:40px;align-items:start}
@media (min-width:1000px){.as-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:56px}.as-aside{position:sticky;top:96px}}
.as-wrap{position:relative;scroll-margin-top:90px;padding-top:clamp(28px,4vw,44px)}
.as-prog{position:absolute;left:0;right:0;top:0;height:3px;background:var(--line)}
.as-prog span{display:block;height:100%;width:0;background:var(--bronze-line);transition:width .35s ease}
.as-step{gap:22px}
.as-step + .as-step{margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}
.as-js .as-step + .as-step{margin-top:0;padding-top:0;border-top:0}
.as-h{font-weight:400;font-family:var(--f-display);font-size:clamp(1.5rem,2.6vw,1.9rem);line-height:1.2;margin-bottom:6px;padding:0}
.as-h:focus{outline:none}
.as-n{display:block;font-family:var(--f-body);font-size:.85rem;font-weight:600;color:var(--bronze);margin-bottom:6px}
.as-why{color:var(--muted);font-size:.95rem;margin:-8px 0 0;max-width:60ch}
.as-step .chips span{min-height:44px;display:inline-flex;align-items:center}
.as-nav{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:6px}
.as-nav [data-as-next],.as-nav [data-as-send]{margin-left:auto}
.as-done h2{font-size:clamp(1.6rem,3vw,2.1rem)}
.as-sum{display:grid;gap:0;margin:8px 0 12px;border-top:1px solid var(--line)}
.as-sum div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.as-sum dt{color:var(--muted)}
.as-sum dd{margin:0;font-weight:600}
.as-aside{display:grid;gap:12px;align-content:start}
.as-aside h2{font-size:1.3rem}
.as-aside h2:not(:first-child){margin-top:12px}
.as-aside p{color:var(--muted);font-size:.95rem}
.as-aside a{color:var(--ink)}
fieldset.mkt{gap:10px;border-top:1px solid var(--line);padding-top:14px}
fieldset.mkt legend{font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:8px;padding:0;float:left;width:100%}
.lead-mkt{margin-top:6px}
@media (prefers-reduced-motion:reduce){.as-prog span{transition:none}}
.start-more{font-size:.92rem;color:var(--muted);margin:-4px 0 0}
.start-more a{color:var(--ink);font-weight:600}
.cta-band .cta-row{flex-wrap:wrap}

/* ===== Phase 4: enquiries, priority, follow-ups, overview (admin) ===== */
:root{--chart:#A86F2E}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--chart:#B47E36}}
:root[data-theme="dark"]{--chart:#B47E36}
.lead-count{color:var(--accent-ink)}
.btn-sm.primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.lead-tools select{width:auto;padding:10px 12px;font-size:.9rem}
.lead-tools .lead-due{grid-template-columns:20px auto;align-items:center;color:var(--ink);font-weight:600;font-size:.9rem}
.lead-tools .lead-due input{margin-top:0}
.leads .lead{border-radius:var(--r)}
.leads .lead.is-new{border-left:3px solid var(--chart)}
.leads .lead.st-won,.leads .lead.st-closed{opacity:.8}
.chip.stage{margin-left:0;background:var(--accent-soft);color:var(--ink);border-radius:var(--r)}
.pri{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:700;padding:3px 9px;border-radius:var(--r);border:1px solid var(--line);color:var(--ink);cursor:help}
.pri::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid var(--chart)}
.pri-hot::before{background:var(--chart)}
.pri-warm::before{background:linear-gradient(90deg,var(--chart) 50%,transparent 50%)}
.badge-new{font-size:.75rem;font-weight:700;color:var(--bronze)}
.badge-new::before{content:"● ";color:var(--chart)}
.lead-next{margin:0;font-size:.92rem}
.lead-next b{font-weight:700}
.lead-next.now b,.lead-next.late b{color:var(--bronze)}
.lead-next.late b::before{content:"⚠ "}
.pri-why{margin:0}
.lead-more summary{cursor:pointer;font-size:.88rem;font-weight:600}
.lead-more .lead-dl{margin-top:8px}
dialog.lead-dlg{max-width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
.ld{gap:4px}
.ld-head{display:flex;justify-content:space-between;align-items:start;gap:12px}
.ld-head h2{font-size:1.5rem}
.ld-sec{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:16px 0;border-top:1px solid var(--line)}
.ld-sec h3{font-family:var(--f-body);font-size:.92rem;font-weight:700;width:100%;margin:0}
.ld-row{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.ld-row > *{flex:1 1 160px;min-width:0;width:auto}
.ld-row select{flex:0 1 auto}
.ld-sec .btn{padding:11px 16px}
.ld-tl{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.88rem;width:100%;max-height:280px;overflow:auto}
.ld-tl li{color:var(--muted)}
.ld-tl b{color:var(--ink);font-weight:600;margin-right:4px}
.tl-k{display:inline-block;font-size:.72rem;font-weight:700;padding:1px 7px;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);margin-right:4px}
/* Overview */
.ov{display:grid;gap:28px}
.ov-today{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.ov-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;display:grid;gap:10px;align-content:start;min-width:0}
.ov-card h2{font-family:var(--f-body);font-size:1rem;font-weight:600;display:flex;align-items:baseline;gap:10px}
.ov-card h3{font-family:var(--f-body);font-size:.95rem;font-weight:700}
.ov-big{font-family:var(--f-display);font-size:2.4rem;font-weight:400;line-height:1;font-variant-numeric:tabular-nums}
.ov-list{list-style:none;margin:0;padding:0;display:grid}
.ov-person{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:2px;width:100%;padding:9px 0;border-top:1px solid var(--line);font-size:.9rem}
.ov-person span{color:var(--muted);font-size:.84rem}
.ov-person:hover b,.ov-person:focus-visible b{text-decoration:underline}
.ov-person:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ov-period{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap}
.ov-period h2{font-size:1.7rem}
.ov-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:1px;margin:0;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.ov-stats div{background:var(--surface);padding:16px 18px;display:grid;gap:2px;align-content:start}
.ov-stats dt{font-size:.85rem;color:var(--muted)}
.ov-stats dd{margin:0;font-family:var(--f-display);font-size:2rem;line-height:1.1;font-variant-numeric:tabular-nums}
.ov-stats dd.fine{font-family:var(--f-body);font-size:.8rem;color:var(--muted)}
.ov-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.ov-bars{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ov-bars li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 3.5em;gap:10px;align-items:center;font-size:.86rem}
.ov-k{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ov-bar{height:10px;display:block}
.ov-bar i{display:block;height:100%;background:var(--chart);border-radius:0 4px 4px 0}
.ov-n{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.ov-n small{display:block;font-weight:400;color:var(--muted);font-size:.72rem}
.ov-bars li.fine{display:block}
@media (max-width:560px){.ov-bars li{grid-template-columns:minmax(0,1fr) 3.5em;grid-template-areas:"k n" "b b";row-gap:4px}.ov-k{grid-area:k}.ov-bar{grid-area:b}.ov-n{grid-area:n}}
.seg button[aria-pressed="true"]{color:var(--bg)}
.seg button[aria-pressed="true"] span{color:color-mix(in srgb,var(--bg) 75%,transparent)}

/* ===== Phase 5: AI assistant in the chat panel ===== */
.chat-ai{padding:14px 18px 16px;display:grid;gap:10px;max-height:min(560px,calc(100vh - 220px));overflow:auto}
.ai-note{font-size:.78rem;color:var(--muted);margin:0;padding:8px 10px;border-left:2px solid var(--bronze-line);background:var(--bg)}
.ai-note a{color:var(--ink)}
.ai-log{display:grid;gap:8px;max-height:280px;overflow:auto;padding-right:2px}
.ai-log .bubble{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.ai-log .ai-q{justify-self:end;max-width:85%;background:var(--hero);color:#F3EFE7;border-radius:var(--r)}
.ai-log .ai-a{justify-self:start;max-width:92%}
.ai-log .ai-wait{color:var(--muted);font-style:italic}
.ai-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.ai-form textarea{width:100%;resize:vertical;min-height:44px;font:400 .92rem var(--f-body);padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink)}
.ai-form .btn-sm{min-height:44px}
.ai-err{margin:0;font-size:.82rem;color:#A3361F}
.ai-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ai-actions .chat-opt{width:auto;flex:1}
.ai-wa{font-size:.85rem;color:var(--ink)}
.ai-hand{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:10px}
.ai-hand label{font-size:.85rem;font-weight:600}
.ai-hand input:not([type=checkbox]){font:400 .92rem var(--f-body);padding:9px 11px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink)}
.ai-hand .tick{font-size:.78rem;font-weight:400}
.ai-hand .mkt{border:0;padding:0;margin:0;display:grid;gap:6px}
.ai-hand .mkt legend{font-size:.78rem;color:var(--muted);padding:0;margin-bottom:4px}
.ai-hand .btn-sm{justify-self:start;margin-top:4px}
.ai-h,.ai-done{margin:0;font-size:.88rem}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ai-err{color:#F08A6E}}
:root[data-theme="dark"] .ai-err{color:#F08A6E}
.mk-sec{margin-top:18px}
.ai-know{white-space:pre-wrap;max-height:420px;overflow:auto;font-size:.8rem;background:var(--bg);border:1px solid var(--line);padding:12px;border-radius:var(--r)}
.ai-tr{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ai-tr li{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r)}
.ai-tr li.u{background:var(--accent-soft)}
.ai-tr p{margin:4px 0 0;white-space:pre-wrap}
.ld-sec textarea{width:100%;font:400 .92rem var(--f-body);padding:10px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);margin-top:8px}
.chat-head .av-ai{font:600 .85rem var(--f-body);letter-spacing:.02em}
.ld-sec > .fine,.ld-sec > .tbl-wrap,.ld-sec [data-draft]{width:100%}
.ld-sec [data-draft] .ld-row > *{flex:0 1 auto}
.mk-sec .tbl-wrap{margin-top:6px}
#mkAdd{max-width:560px}
#mkAdd > button{flex:0 0 auto}
.ai-form .btn-sm{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}

/* ===== Phase 6: guide author line ===== */
.byline{font-size:.82rem;color:var(--muted);margin-top:14px}
picture.pic-pass{display:contents} /* the photo keeps its own layout rules inside a <picture> */
picture.pic-pass>source{display:none}

/* ===== Phase 7: launch fixes ===== */
/* The two main fonts are served from this website (free SIL Open Font Licence, see assets/fonts/OFL-*.txt) and preloaded
   in the page head, so text appears in the right font straight away instead of jumping when Google's copy arrives.
   Hindi and Punjabi fonts still come from Google Fonts, only when that language is shown. */
@font-face{font-family:"Manrope";font-style:normal;font-weight:400 700;font-display:swap;src:url("fonts/manrope-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:400 500;font-display:swap;src:url("fonts/newsreader-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* The hero drawing is stretched from the top of the hero, so it no longer moves as the text settles (layout shift).
   preserveAspectRatio keeps the drawing itself in the bottom-right corner, exactly where it was. */
.hero-plan{top:0;height:106%}
@media (max-width:959px){.hero-plan{height:102%}}
.ov-health{display:grid;gap:10px;margin-bottom:18px}
.ov-health ul{flex:1 1 100%;margin:0;padding-left:18px;font-size:.92rem}

/* ---------- Design your home: idea sketch and matching designs (theme tokens only) ---------- */
.dh-matches{display:grid;gap:12px}
.dh-matches h3{font-size:1.15rem;margin:8px 0 0}
.dh-designs{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.dh-design{position:relative;display:grid;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);cursor:pointer;overflow:hidden}
.dh-design img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff;border-bottom:1px solid var(--line)}
.dh-design input{position:absolute;opacity:0;width:1px;height:1px}
.dh-d-body{display:grid;gap:4px;padding:12px 14px;font-size:.92rem}
.dh-d-body b{font-size:1rem}
.dh-tick{margin-top:6px;font-weight:600;color:var(--bronze)}
.dh-tick::before{content:"";display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border:1.5px solid var(--bronze-line);border-radius:2px}
.dh-design:has(input:checked){border-color:var(--bronze-line);box-shadow:inset 0 0 0 1px var(--bronze-line)}
.dh-design:has(input:checked) .dh-tick::before{background:var(--bronze-line);box-shadow:inset 0 0 0 2px var(--surface)}
.dh-design:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.dh-pk{margin:0;padding-left:18px;display:grid;gap:6px}
.dh-draw{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;padding:16px 18px;border:1px dashed var(--bronze-line);border-radius:var(--r)}
.dh-draw p{margin:0;max-width:52ch}

/* ---------- Draw your plan: grid paper editor (theme tokens only) ---------- */
.pl-hero .sec-head{margin-bottom:0}
.pl-app{display:grid;gap:20px;align-items:start}
@media (min-width:1000px){.pl-app{grid-template-columns:minmax(0,1fr) 300px}.pl-side{position:sticky;top:90px;max-height:calc(100vh - 110px);overflow:auto}}
.pl-app:not(.pl-ready){display:none}
.pl-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.pl-bar .btn-sm,.pl-acts .btn-sm{font-size:.92rem;padding:10px 16px;min-height:44px;min-width:44px}
.pl-sp{flex:1 1 8px}
.pl-canvas{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);height:min(80vh,900px);min-height:420px;touch-action:none;user-select:none;-webkit-user-select:none;overflow:hidden;outline:none}
.pl-canvas:focus-visible{box-shadow:0 0 0 2px var(--accent)}
.pl-svg{display:block;width:100%;height:100%;font-family:var(--f-body)}
.pl-paper{stroke:none}
.pl-g1{stroke:color-mix(in srgb,var(--bronze-line) 30%,transparent);stroke-width:.03;fill:none}
.pl-g2{stroke:color-mix(in srgb,var(--bronze-line) 14%,transparent);stroke-width:.02;fill:none}
.pl-lot{fill:none;stroke:var(--muted);stroke-width:.08;stroke-dasharray:.4 .25}
.pl-street{stroke:var(--muted);stroke-width:.12}
.pl-note{fill:var(--muted);font-size:.5px}
.pl-room{fill:var(--surface);stroke:none;cursor:grab}
.pl-garage{fill:var(--photo)}
.pl-live{fill:color-mix(in srgb,var(--bronze-line) 18%,var(--surface))}
.pl-wet{fill:color-mix(in srgb,var(--photo-line) 40%,var(--surface))}
.pl-store,.pl-hall{fill:var(--bg)}
.pl-out{fill:color-mix(in srgb,var(--bronze-line) 8%,transparent);stroke:var(--bronze-line);stroke-width:.06;stroke-dasharray:.25 .15}
.pl-room.is-bad{fill:color-mix(in srgb,#B4532A 22%,var(--surface))}
.pl-room.is-sel{stroke:var(--bronze-line);stroke-width:.12}
.pl-wall-out{stroke:var(--ink);stroke-width:.22;stroke-linecap:square}
.pl-wall-in{stroke:var(--ink);stroke-width:.1;stroke-linecap:square}
.pl-name,.pl-size{fill:var(--ink);pointer-events:none}
.pl-size{fill:var(--muted)}
.pl-handle{fill:var(--bronze-line);stroke:var(--surface);stroke-width:.06;pointer-events:none}
.pl-handle-hit{fill:transparent;cursor:nwse-resize}
.pl-handle-hit[data-side="n"],.pl-handle-hit[data-side="s"]{cursor:ns-resize}.pl-handle-hit[data-side="e"],.pl-handle-hit[data-side="w"]{cursor:ew-resize}
.pl-handle-hit[data-side="ne"],.pl-handle-hit[data-side="sw"]{cursor:nesw-resize}
.pl-warn{margin:8px 0 0;padding:10px 14px 10px 30px;border-left:3px solid #B4532A;background:var(--accent-soft);font-size:.9rem}
.pl-totals{display:flex;flex-wrap:wrap;gap:8px 22px;margin:12px 0 4px}
.pl-totals div{display:grid}
.pl-totals dt{font-size:.8rem;color:var(--muted)}
.pl-totals dd{margin:0;font-weight:600}
.pl-side{display:grid;gap:14px}
.pl-panel{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:14px 16px;display:grid;gap:10px}
.pl-panel h2{font-size:1.05rem;margin:0;font-family:var(--f-body);font-weight:700}
.pl-sel[data-none] .pl-acts,.pl-sel[data-none] .row2{opacity:.5}
.pl-sel select{width:100%}
.pl-acts{display:flex;flex-wrap:wrap;gap:6px}
.pl-tray{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.pl-add{display:grid;text-align:left;gap:1px;padding:10px 12px;min-height:52px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);color:var(--ink);font:inherit;font-size:.88rem;cursor:pointer}
.pl-add:hover{border-color:var(--bronze-line)}
.pl-add:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pl-add{font-size:.95rem}.pl-add small{color:var(--muted);font-size:.8rem}
#plMine .pl-add{border-color:var(--bronze-line)}
.pl-send{padding-top:24px}
.pl-send .form-wrap{max-width:760px}
.pl-like{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.pl-like li{display:grid;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r)}
.pl-lead .pl-svg{max-width:420px;height:auto;margin-top:10px;border:1px solid var(--line)}
@media (max-width:999px){.pl-side{grid-template-columns:1fr}.pl-sel{order:-1}}
@media (max-width:700px){.pl-canvas{height:calc(100svh - 200px);min-height:380px}}
@media (min-width:600px) and (max-width:999px){.pl-tray{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pl-sel .row2{grid-template-columns:1fr 1fr;gap:10px}
.pl-sel input,.pl-sel select{padding-top:8px;padding-bottom:8px}
@media (max-width:700px){.pl-sel h2,.pl-sel .fine{display:none}.pl-panel{padding:12px}}
/* Draw your plan, round 2: tools, doors, walls, north arrow, printing */
.pl-tools [aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.pl-hint{flex:1 1 220px;margin:0 0 0 6px}
.pl-canvas[data-tool="door"],.pl-canvas[data-tool="open"],.pl-canvas[data-tool="wall"]{cursor:crosshair}
.pl-gap{stroke:var(--surface);stroke-width:.3}
.pl-leaf{stroke:var(--ink);stroke-width:.06}
.pl-swing{fill:none;stroke:var(--bronze);stroke-width:.045}
.pl-jamb{stroke:var(--ink);stroke-width:.08}
.pl-door-hit{fill:transparent;cursor:grab}
.pl-door.is-sel .pl-leaf,.pl-door.is-sel .pl-jamb{stroke:var(--bronze-line);stroke-width:.12}
.pl-door.is-bad .pl-leaf,.pl-door.is-bad .pl-jamb{stroke:#B4532A}
.pl-wall-hit{stroke:transparent;stroke-width:.6;cursor:pointer}
.pl-wall-hit.is-sel{stroke:color-mix(in srgb,var(--bronze-line) 45%,transparent)}
.pl-wall-new{stroke:var(--bronze-line);stroke-width:.14;stroke-linecap:square}
.pl-north circle{fill:var(--surface);stroke:var(--bronze-line);stroke-width:.05}
.pl-north path,.pl-north text{fill:var(--ink)}
.pl-north text{font-weight:700}
.pl-north-set{align-items:center}.pl-north-set span{font-weight:600;margin-right:6px}
.pl-keep{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 6px}
@media print{
  body:has(#plApp) .site-header,body:has(#plApp) header,body:has(#plApp) footer,body:has(#plApp) .page-hero p.lead,body:has(#plApp) .pl-side,body:has(#plApp) .pl-bar,
  body:has(#plApp) .pl-keep,body:has(#plApp) .pl-send,body:has(#plApp) .cta-band,body:has(#plApp) .m-bar,body:has(#plApp) .chat-btn,body:has(#plApp) #chatBtn,body:has(#plApp) #chatPanel,body:has(#plApp) .review-strip{display:none!important}
  body:has(#plApp) .pl-app{display:block}
  body:has(#plApp) .pl-canvas{height:18cm;min-height:0;border:0;break-inside:avoid}
  body:has(#plApp) .page-hero{padding:0 0 8px}body:has(#plApp) main > section{padding-top:0}
  body:has(#plApp) .pl-warn{display:none}
}

/* ---------- Line drawings (gen/art.py): bronze, architect-style, decoration only ---------- */
.art{display:block;width:100%;height:auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;color:var(--bronze-line)}
.art .w3{stroke-width:2.6}.art .w2{stroke-width:1.8}.art .w1{stroke-width:1.1}.art .w0{stroke-width:.8;opacity:.6}
/* Hero: a faint home front in the background, standing on the bottom edge. The hero keeps its size. Desktop only. */
.hero-house{display:none}
@media (min-width:960px){
  .hero-house{display:block;position:absolute;z-index:-1;left:max(16px,calc((100% - var(--wrap))/2 + 32px));bottom:0;width:min(440px,34%);opacity:.2}
  .hero-house path{stroke-dasharray:1;stroke-dashoffset:0}
}
@media (min-width:960px) and (prefers-reduced-motion:no-preference){
  .hero-house path{stroke-dashoffset:1;animation:planDraw 2.2s cubic-bezier(.55,.1,.25,1) .5s forwards}
  .hero-house .w1,.hero-house .w0{animation-delay:1.4s}
}
/* Who I help cards */
.tile .card-art{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);aspect-ratio:240/130;margin-bottom:6px}
/* Contact page drawing (in place of a photo until real ones arrive) */
.art-frame{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(16px,3vw,32px) clamp(12px,3vw,28px) clamp(8px,1.5vw,16px)}
/* Six menu tabs need more room: below 1200px wide the tabs move to the scrolling row under the logo (as on tablets) */
.nav ul a,.mobile-nav a{white-space:nowrap}
@media (min-width:900px) and (max-width:1199px){.nav ul{display:none}.mobile-nav{display:flex}}

/* ---------- Editorial pass (Nov 2026): fewer boxes, bigger numbers, one charcoal pause ---------- */
/* How it works: big bronze step numbers like a printed brochure, no icons */
.journey .n .ico{display:none}
.journey .n{font-family:var(--f-display);font-size:clamp(2.6rem,4.2vw,3.8rem);line-height:.9;color:var(--bronze);font-weight:400;letter-spacing:-.02em}
.journey li{grid-template-columns:76px 1fr;padding:34px 0}
@media (min-width:860px){.journey li{grid-template-columns:150px 300px 1fr}}
.journey h3{font-size:clamp(1.5rem,2vw,1.8rem)}
/* A word from Raj: one quiet charcoal band before About */
.voice{background:var(--hero);color:#F3EFE7;--accent:#F3EFE7;--accent-ink:#24282B;padding-block:clamp(72px,10vw,128px)}
.voice .wrap{display:grid;gap:32px;justify-items:start}
.voice blockquote{margin:0;display:grid;gap:22px}
.voice blockquote p{margin:0;font-family:var(--f-display);font-weight:400;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.22;max-width:34ch;text-wrap:balance}
.voice footer{display:flex;align-items:center;gap:14px;color:#BDB5A8;font-size:.95rem}
.voice footer::before{content:"";width:40px;height:1px;background:var(--bronze-line)}
.voice .btn-primary{background:#F3EFE7;color:#24282B}
.voice .btn-primary:hover{background:#fff}
/* Why Homegroup: an editorial two-column list, no boxes or icons */
.hg-tiles{background:none;border:0;border-radius:0;gap:0 56px;border-top:1px solid var(--line);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.hg-tiles .tile{background:none;padding:30px 0;border-bottom:1px solid var(--line)}
.hg-tiles .tile .ico{display:none}
.hg-tiles .tile h3{font-size:clamp(1.4rem,2vw,1.7rem)}
/* Finer hover details */
.tile .more{display:inline-flex;gap:6px;align-items:center;justify-self:start;padding-bottom:3px;
  background:linear-gradient(var(--bronze-line),var(--bronze-line)) 0 100%/0 1px no-repeat;transition:background-size .3s ease}
.tile .more::after{content:"→";transition:transform .2s ease}
.tile .more:hover{background-size:100% 1px}
.tile .more:hover::after{transform:translateX(4px)}
#who .tile{transition:box-shadow .25s ease}
#who .tile:hover{box-shadow:inset 0 0 0 1px var(--bronze-line)}
#who .tile:hover .card-art{border-color:var(--bronze-line)}
.btn{transition:background .2s,border-color .2s,transform .12s}
.btn:active{transform:translateY(1px)}
/* Hero card options: fine bronze outlines instead of beige squares */
.hero .path .ico{background:none;border:1px solid var(--bronze-line);color:var(--bronze);border-radius:var(--r)}
.hero .path{background:transparent;transition:border-color .2s,background .2s}
.hero .path:hover{border-color:var(--bronze-line);background:var(--bg)}
@media (prefers-reduced-motion:reduce){.tile .more,.tile .more::after,#who .tile,.btn,.hero .path{transition:none}}
/* About: small link to the display home tour (replaces the big video section) */
.about-tour{margin:0}
.about-tour a{display:inline-flex;gap:8px;align-items:center;font-weight:600;color:var(--ink);text-decoration:none;padding-bottom:3px;
  background:linear-gradient(var(--bronze-line),var(--bronze-line)) 0 100%/100% 1px no-repeat}
.about-tour a::after{content:"↗";color:var(--bronze);transition:transform .2s ease}
.about-tour a:hover::after{transform:translate(2px,-2px)}
@media (prefers-reduced-motion:reduce){.about-tour a::after{transition:none}}

/* Hero estimate: deposit (2%, 5%, 20%) and how often (weekly first) */
.me-opts{display:flex;flex-wrap:wrap;gap:8px 12px}
.me-seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.me-seg label{position:relative;display:block;cursor:pointer}
.me-seg input{position:absolute;opacity:0;width:1px;height:1px}
.me-seg span{display:block;padding:7px 11px;font-size:.82rem;font-weight:600;color:var(--muted);min-height:34px;line-height:20px}
.me-seg label+label span{border-left:1px solid var(--line)}
.me-seg input:checked+span{background:var(--ink);color:var(--bg)}
.me-seg input:focus-visible+span{outline:2px solid var(--bronze-line);outline-offset:-2px}
.calc-scheme{margin:0;font-size:.82rem;font-weight:600;color:var(--bronze)}
.repay-freq{margin:6px 0 14px}

/* Draw your plan: distances to the boundaries */
.pl-dim line{stroke:var(--bronze);stroke-width:.045}
.pl-dim text{fill:var(--bronze);font-size:.42px;font-weight:700;paint-order:stroke;stroke:var(--surface);stroke-width:.14px;pointer-events:none}
.pl-dim{pointer-events:none}
.pl-set{display:grid;gap:8px;margin-top:4px}
.pl-set h2{font-size:1.05rem;margin:0}
.pl-set [data-set-who]{color:var(--bronze)}
