/* Godrej Properties template v1 — matches the design of Godrej Florenne Soukya
   Road (sites/godrej-soukya-road, the developer's top site): Inter throughout
   (heavy 800 headings), white surfaces with hairline rules, square cyan
   (#1F9BD3) buttons with dark uppercase labels, the lockup in capitals, and a
   split hero — copy left, the photograph running to the right edge. Layout is
   the Prestige template's split hero (templates/base.mjs class vocabulary),
   recoloured. Cyan is 3.1:1 on white, so it is a surface only: its labels are
   ink (#171717, 6.3:1) and text accents use #187AA6 (4.8:1). */
@font-face{font-family:"Inter";font-style:normal;font-weight:300 800;font-display:optional;src:url(../assets/fonts/inter-latin-300-700.woff2) format("woff2")}
:root{--brand:#1F9BD3;--brand-2:#C83C76;--brand-deep:#78B842;--ink:#171717;--ink-2:#4a4a4a;--line:#d8d8d8;--bg:#f8f8f8;--card:#fff;--tint:#eeeeee;
  --gold-text:#187AA6;--gold-light:#1F9BD3;--serif:"Inter",ui-sans-serif,system-ui,sans-serif;
  --radius:0;--wrap:1280px;--gap:clamp(16px,3vw,28px);--shadow:none}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:17px;line-height:1.6;color:var(--ink);background:var(--card)}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink)}
a:hover{color:var(--gold-text)}
h1,h2,h3{line-height:1.15;margin:0 0 .5em}
h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,5.4vw,3.8rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}
h3{font-size:1.2rem;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gap)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:100;background:var(--card);padding:8px 12px}
:focus-visible{outline:3px solid var(--gold-text);outline-offset:2px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;padding:.85em 1.4em;border-radius:var(--radius);border:2px solid var(--brand);background:var(--brand);color:#fff;font:inherit;font-weight:700;letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}
.btn:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--brand);color:#fff}
.btn-sm{padding:.55em 1.1em;font-size:.92rem}
.btn-block{width:100%}
.link-btn{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--ink);cursor:pointer;text-decoration:underline}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}
.header-row{display:flex;align-items:center;gap:16px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto;min-width:0}
.brand img{width:40px;height:40px}
.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.brand-prefix{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text)}
.brand-name{font-family:var(--serif);font-weight:600;font-size:1.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.site-nav a{display:block;padding:.5em .7em;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--ink);background:none;box-shadow:inset 0 -2px 0 var(--brand-2)}
.menu-btn{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);cursor:pointer}
.menu-bars,.menu-bars::before,.menu-bars::after{display:block;width:20px;height:2px;background:var(--ink);margin:0 auto;position:relative;content:""}
.menu-bars::before{position:absolute;top:-6px}.menu-bars::after{position:absolute;top:6px}
@media (max-width:1024px){
  .menu-btn{display:block}
  .header-cta{display:none}
  .site-nav{position:fixed;inset:68px 0 auto 0;height:calc(100vh - 68px);overflow-y:auto;background:var(--card);padding:16px var(--gap);display:none}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column}
  .site-nav a{padding:.9em .5em;font-size:1.1rem;border-bottom:1px solid var(--tint);border-radius:0}
  .site-nav a:hover,.site-nav a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--brand-2)}
}

/* hero: copy on a black panel aligned to the page grid, the photograph
   bleeding to the right edge, cropped from its right side. Copy never sits on
   the photo, and the crop keeps right, because many
   supplied renders carry their own lettering. Below 700px the photo stacks
   above the copy. */
.hero{background:#000;color:#fff;padding:0 0 clamp(24px,4vw,40px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);max-width:none;padding:0;min-height:min(78vh,680px)}
.hero-media{margin:0;position:relative;overflow:hidden;min-height:0}
.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,0) 22%)}
.hero-copy{min-width:0;align-self:center;padding:clamp(48px,7vw,96px) clamp(24px,3vw,48px) clamp(48px,7vw,96px) max(var(--gap),calc((100vw - var(--wrap))/2 + var(--gap)))}
.hero h1{color:#fff}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--gold-text)}
.hero .eyebrow{color:var(--gold-light)}
.hero-lead{font-size:1.08rem;color:var(--ink-2);max-width:60ch}
.hero .hero-lead,.hero .hero-lead p{color:#e9e9e9}
.hero a:not(.btn){color:#fff}
.hero .page-updated{color:#cfcfcf}
.badges{display:flex;flex-wrap:wrap;gap:8px}
.badge{display:inline-block;padding:.3em .8em;border:1px solid var(--brand-2);color:var(--gold-light);font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.hero .btn{background:var(--brand-2);border-color:var(--brand-2);color:#000}
.hero .btn:hover{background:var(--gold-light);border-color:var(--gold-light);color:#000}
.hero .btn-ghost{background:transparent;border-color:#fff;color:#fff}
.hero .btn-ghost:hover{background:#fff;border-color:#fff;color:#000}
.fact-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:0;background:#2a2a2a;border:1px solid #2a2a2a}
.fact-strip div{background:#0b0b0b;padding:16px 18px}
.fact-strip dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-light);font-weight:700}
.fact-strip dd{margin:4px 0 0;font-weight:700;font-size:1rem;color:#fff;overflow-wrap:anywhere}
@media (max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:700px){
  .hero-grid{grid-template-columns:minmax(0,1fr);min-height:0}
  .hero-media{order:-1;aspect-ratio:16/9}
  .hero-media::after{background:linear-gradient(0deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 45%)}
  .hero-copy{padding:24px var(--gap) 28px}
  .fact-strip{grid-template-columns:repeat(2,1fr)}
}

/* sections */
.section{padding:clamp(48px,7vw,88px) 0}
.section-tint{background:var(--bg)}
.section-head{max-width:760px;margin-bottom:28px}
.lead{color:var(--ink-2);font-size:1.05rem}
.more{margin-top:20px}
.more a:not(.btn){font-weight:700;text-decoration:none}
.note{font-size:.88rem;color:var(--ink-2);margin-top:16px}
.highlight-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.highlight-grid li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 20px 20px 52px;position:relative;font-weight:600;overflow-wrap:anywhere}
.highlight-grid li::before{content:"";position:absolute;left:22px;top:27px;width:12px;height:12px;transform:rotate(45deg);background:var(--brand-2)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
table{border-collapse:collapse;width:100%;font-size:.98rem}
th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:top}
thead th{background:#000;color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}
tbody tr:last-child td{border-bottom:0}
.config-table td:first-child{font-weight:800}
.price-note{margin-top:18px;font-size:1.05rem}
.card-grid,.gallery-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.card a{display:block;text-decoration:none;color:var(--ink)}
.card img{width:100%;aspect-ratio:1/1;object-fit:contain;background:var(--card)}
.card img.cover{aspect-ratio:3/2;object-fit:cover}
.card-title{display:block;font-weight:800;padding:14px 16px 0;margin:0}
.card-meta{display:block;padding:0 16px 14px;color:var(--ink-2);font-size:.9rem}
.card>.card-title{padding-bottom:14px}
.split{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(20px,4vw,48px);align-items:center}
.split figure{margin:0}.split img{border-radius:var(--radius);border:1px solid var(--line)}
@media (max-width:900px){.split{grid-template-columns:minmax(0,1fr)}.highlight-grid{grid-template-columns:minmax(0,1fr)}}
.ticks{list-style:none;margin:0 0 8px;padding:0}
.ticks li{padding:10px 0 10px 30px;border-bottom:1px solid var(--line);position:relative;font-weight:600}
.ticks li::before{content:"✓";position:absolute;left:4px;color:var(--gold-text);font-weight:800}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{padding:.55em 1em;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);font-weight:600;font-size:.95rem}
.gallery-grid figure{margin:0;background:var(--card);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.gallery-grid img{aspect-ratio:4/3;object-fit:cover;width:100%}
.gallery-grid figcaption{padding:12px 14px;font-size:.88rem;color:var(--ink-2)}
.address{font-size:1.15rem;font-weight:700}
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:0}
.stat-grid div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.stat-grid dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);font-weight:700}
.stat-grid dd{margin:4px 0 0;font-family:var(--serif);font-weight:600;font-size:1.3rem;color:var(--ink)}
.faq{max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:18px 36px 18px 0;font-weight:700;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:14px;font-size:1.5rem;color:var(--gold-text)}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--ink-2);padding-bottom:12px}

/* enquiry */
.section-brand{background:#000;color:#fff;border-top:3px solid var(--brand-2)}
.section-brand h2{color:#fff}
.section-brand p{color:#dcdcdc}
.enquire-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:900px){.enquire-grid{grid-template-columns:minmax(0,1fr)}}
.enquiry{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:var(--card);color:var(--ink);padding:24px;border-radius:var(--radius);box-shadow:var(--shadow)}
.enquiry .btn{background:var(--brand-2);border-color:var(--brand-2);color:#000}
.enquiry .btn:hover{background:#000;border-color:#000;color:#fff}
.field{display:flex;flex-direction:column;gap:6px}
.field-wide,.enquiry .btn,.form-status{grid-column:1/-1}
.field label{font-weight:700;font-size:.9rem}
.opt{font-weight:500;color:var(--ink-2)}
.field input,.field textarea{font:inherit;padding:.75em .9em;border:1px solid #9a9a9a;border-radius:var(--radius);background:#fff;color:var(--ink);min-width:0}
.field input:focus,.field textarea:focus{border-color:var(--brand);outline:2px solid var(--gold-text);outline-offset:0}
.form-status{margin:0;font-weight:700;min-height:1.4em}
.form-status.ok{color:#16683f}.form-status.err{color:#a62424}
@media (max-width:560px){.enquiry{grid-template-columns:minmax(0,1fr)}}

/* subpages */
.page-hero{background:var(--bg);padding:clamp(28px,5vw,56px) 0;border-bottom:3px solid var(--brand-2)}
.crumbs{font-size:.9rem;color:var(--ink-2);margin-bottom:10px}
.crumbs a{color:var(--ink-2)}
.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(24px,4vw,56px);padding-top:clamp(28px,5vw,56px);padding-bottom:clamp(40px,6vw,72px)}
.prose{max-width:75ch;min-width:0}
.prose h2{font-size:1.6rem;margin-top:1.6em}
.prose h3{margin-top:1.4em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-bottom:.4em}
.prose blockquote{margin:1.4em 0;padding:16px 20px;border-left:4px solid var(--brand-2);background:var(--bg);border-radius:0 10px 10px 0}
.prose .table-wrap{margin:1.2em 0}
.page-aside{position:relative}
.aside-card{position:sticky;top:90px;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--brand-2);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.aside-title{font-family:var(--serif);font-weight:600;font-size:1.2rem}
.aside-facts{margin:0 0 16px}
.aside-facts div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--tint);font-size:.93rem}
.aside-facts dt{color:var(--ink-2)}.aside-facts dd{margin:0;font-weight:700;text-align:right}
@media (max-width:960px){.page-grid{grid-template-columns:minmax(0,1fr)}.aside-card{position:static}}

/* footer */
.site-footer{background:#000;color:#bdbdbd;padding:48px 0 96px;font-size:.93rem}
.site-footer a{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:32px}
.footer-title{color:#fff;font-family:var(--serif);font-weight:600;font-size:1.25rem}
.footer-heading{color:var(--gold-light);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}
.footer-links{list-style:none;margin:0;padding:0;columns:2}
.footer-links li{margin-bottom:6px}
.footer-legal{border-top:1px solid #2a2a2a;margin-top:28px;padding-top:20px;font-size:.84rem;color:#a8a8a8}
.rera{overflow-wrap:anywhere}
@media (max-width:700px){.footer-grid{grid-template-columns:minmax(0,1fr)}}
.sticky-cta{display:none}
@media (max-width:700px){.sticky-cta{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:40;text-align:center;padding:14px;border-radius:var(--radius);background:var(--brand-2);color:#000;font-weight:800;text-decoration:none;box-shadow:var(--shadow)}}
.page-updated{font-size:.85rem;color:var(--ink-2);margin:-.2em 0 1em}
.on-dark{color:#fff;font-weight:700}
.on-dark:hover{color:var(--gold-light)}
.page-faq{margin-top:2.5em}
.page-faq h2{font-size:1.5rem}
.prose figure{margin:0 0 1.5em}
.prose figure img{border-radius:var(--radius);border:1px solid var(--line)}
.prose .card-grid,.prose .gallery-grid{margin-bottom:1.5em}

/* migrated live copy (tooling/render/migrate.mjs) — text keeps a reading
   measure; grids, tables and figures use the full container width. */
.prose.mig{max-width:none}
.mig > * + *{margin-top:1em}
.mig > p,.mig > ul,.mig > ol,.mig > h2,.mig > h3,.mig > h4,.mig > blockquote,.mig > dl,.mig > .mig-eyebrow,.mig-block > p,.mig-block > ul,.mig-block > ol,.mig-block > h2,.mig-block > h3,.mig-block > blockquote{max-width:780px}
.mig h2{font-size:1.55rem;margin:1.6em 0 .5em}
.mig h3{font-size:1.15rem;margin:1.3em 0 .4em}
.mig-block + .mig-block{margin-top:2.2em;padding-top:1.6em;border-top:1px solid var(--line)}
.mig-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:1.4em 0}
.mig-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;min-width:0}
.mig-card > :first-child{margin-top:0}.mig-card > :last-child{margin-bottom:0}
.mig-card h3,.mig-card h4{margin:.2em 0 .4em;font-size:1.05rem}
.mig-card .mig-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:.6em 0 0}
.mig-card .mig-card{padding:12px 14px;box-shadow:none}
.mig-stats{display:flex;flex-wrap:wrap;gap:12px;margin:1.4em 0}
.mig-stats > *{flex:1 1 140px;min-width:0}
.mig-stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}
.mig-num{display:block;font-family:var(--serif);font-size:1.55rem;font-weight:600;line-height:1.2;color:var(--ink)}
.mig-label{display:block;color:var(--ink-2);font-size:.92rem}
.mig-note{background:var(--tint);border-left:4px solid var(--brand-2);border-radius:0 10px 10px 0;padding:14px 18px;max-width:780px}
.mig-details{border-bottom:1px solid var(--line);padding:6px 0;max-width:780px}
.mig figure{margin:1.2em 0}
.mig figure img,.mig > img{border-radius:var(--radius);border:1px solid var(--line)}
.mig figcaption,.mig-caption{font-size:.88rem;color:var(--ink-2);margin-top:6px}
.mig img{height:auto;max-width:100%}
.mig > img,.mig > figure{max-width:720px}
.mig-grid figure{margin:0}
.mig ul,.mig ol{padding-left:1.3em}
.mig .table-wrap{margin:1.2em 0}
.mig-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:700;color:var(--gold-text);margin-bottom:.4em}
.section-head .eyebrow{margin:0 0 .5em}
.hero-lead p{margin:0 0 .8em}
.page-hero .hero-lead{max-width:75ch;color:var(--ink-2)}
.section-figure{margin:0 0 24px;max-width:720px}
.section-figure img{border-radius:var(--radius);border:1px solid var(--line);width:100%}
.section-extra{padding-top:0}
/* one quiet row of links per section, instead of buttons */
.section-links{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.section-links a{font-weight:700;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--brand-2)}
.section-links a:hover{color:var(--gold-text)}
.section-tint .section-links{border-top-color:var(--line)}
.dev-split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(20px,4vw,48px);align-items:start}
.dev-figure{margin:0;position:sticky;top:90px}
.dev-figure img{border-radius:var(--radius);border:1px solid var(--line);aspect-ratio:4/3;object-fit:cover;width:100%}
@media (max-width:900px){.dev-split{grid-template-columns:minmax(0,1fr)}.dev-figure{position:static;max-width:520px}}
.address{font-weight:700}
/* long tokens (RERA ids, URLs) wrap instead of overflowing cards and cells */
.mig-card,.mig-stat,.mig-note,.mig td,.mig th,.aside-facts dd,.fact-strip dd{overflow-wrap:anywhere}
/* an image anywhere in the copy is capped like a figure; inside cards and grids it fills its cell */
.mig img{max-width:min(100%,720px)}
.mig-grid img,.mig-card img,.mig-stat img{max-width:100%}
/* long unbroken tokens in copy (RERA ids, URLs) wrap instead of widening the page on phones */
main{overflow-wrap:break-word}

/* ---- Godrej (Florenne Soukya Road design) ---- */
html:root{--ink:#171717;--ink-2:#4a4a4a;--line:#d8d8d8;--bg:#f8f8f8;--radius:0}
h1,h2{font-family:"Inter",ui-sans-serif,system-ui,sans-serif;font-weight:800;letter-spacing:-.02em}
h1{font-size:clamp(2.25rem,5vw,4.25rem);line-height:.98}
h2{line-height:1.05}
a:hover{color:#187AA6}
.btn,.btn:hover{border-radius:0;font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.btn{background:#1F9BD3;border-color:#1F9BD3;color:#171717}
.btn:hover{background:#171717;border-color:#171717;color:#fff}
.btn-ghost{background:transparent;border-color:#171717;color:#171717}
.btn-ghost:hover{background:#171717;color:#fff}
/* header: capitals lockup, small uppercase links, square CTA */
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.brand{gap:4px}
.brand img{width:36px;height:36px;object-fit:contain}
.brand-text{line-height:1.05}
.brand-prefix{font-size:1rem;font-weight:800;letter-spacing:.04em;color:#171717}
.brand-name{font-family:"Inter",sans-serif;font-size:.78rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:#4a4a4a}
.site-nav a{font-size:.82rem;font-weight:500;color:#171717}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:#171717;box-shadow:inset 0 -2px 0 #1F9BD3}
/* hero: white split, the photo bleeding right */
.hero{background:#fff;color:#171717;padding:0 0 clamp(24px,4vw,40px)}
.hero-grid{min-height:min(80vh,700px)}
.hero-media::after{display:none}
.hero-media img{object-position:center}
.hero-copy{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(48px,6vw,80px)}
.hero h1{color:#171717}
.hero .eyebrow{color:#4a4a4a}
.hero .hero-lead,.hero .hero-lead p{color:#4a4a4a}
.hero a:not(.btn){color:#171717}
.hero .page-updated{color:#4a4a4a}
.hero .btn{background:#1F9BD3;border-color:#1F9BD3;color:#171717}
.hero .btn:hover{background:#171717;border-color:#171717;color:#fff}
.hero .btn-ghost{background:transparent;border-color:#171717;color:#171717}
.hero .btn-ghost:hover{background:#171717;color:#fff}
.badge{border-color:#d8d8d8;color:#4a4a4a}
.fact-strip{background:#fff;border:0;border-top:1px solid #d8d8d8;border-left:1px solid #d8d8d8;gap:0}
.fact-strip div{background:#fff;border-right:1px solid #d8d8d8;border-bottom:1px solid #d8d8d8;padding:22px 20px}
.fact-strip dt{color:#4a4a4a;font-size:.7rem;font-weight:600;letter-spacing:.16em}
.fact-strip dd{color:#171717;font-size:1.4rem;font-weight:700;letter-spacing:-.01em}
@media (max-width:700px){.hero-media::after{display:none}}
/* sections */
.section-tint{background:#f8f8f8}
.eyebrow{color:#4a4a4a;letter-spacing:.16em;font-weight:600}
thead th{background:#171717;color:#fff}
.highlight-grid li::before{background:#1F9BD3;transform:none}
.ticks li::before{color:#187AA6}
.faq summary::after{color:#171717}
.page-hero{background:#fff;border-bottom:1px solid #d8d8d8}
.aside-card{border-top:3px solid #1F9BD3}
.stat-grid dd,.mig-num{font-family:"Inter",sans-serif;font-weight:700}
/* enquiry band: off-white with a cyan rule; footer off-white, as live */
.section-brand{background:#f8f8f8;color:#171717;border-top:3px solid #1F9BD3}
.section-brand h2{color:#171717}
.section-brand p{color:#4a4a4a}
.on-dark{color:#171717}
.on-dark:hover{color:#187AA6}
.enquiry{border:1px solid #d8d8d8}
.enquiry .btn{background:#1F9BD3;border-color:#1F9BD3;color:#171717}
.enquiry .btn:hover{background:#171717;border-color:#171717;color:#fff}
.site-footer{background:#f8f8f8;color:#4a4a4a;border-top:1px solid #d8d8d8}
.site-footer a{color:#171717}
.site-footer a:hover{color:#187AA6}
.footer-title{color:#171717;font-family:"Inter",sans-serif;font-weight:800}
.footer-heading{color:#171717}
.footer-legal{border-top-color:#eeeeee;color:#4a4a4a}
.sticky-cta{background:#1F9BD3;color:#171717}
.hero-copy{min-width:0}

/* ==== contact-modal (templated sites — tooling/render/templates/shared/contact-modal.css) ==== */
/* A white panel on every template, so text contrast never depends on the theme;
   the submit is the template's own .btn. margin:auto is explicit because a
   universal margin reset strips the <dialog> centring the browser gives it. */
.cm-modal{margin:auto;width:min(100% - 24px,30rem);max-width:none;max-height:min(92vh,760px);overflow-y:auto;padding:0;border:0;border-radius:12px;background:#fff;color:#171717;box-shadow:0 20px 50px rgba(0,0,0,.28);overscroll-behavior:contain}
.cm-modal:not([open]){display:none}
.cm-modal::backdrop{background:rgba(10,12,16,.66)}
.cm-modal__panel{position:relative;padding:1.5rem}
.cm-modal__title{margin:0 2.5rem .4rem 0;font-size:1.3rem;line-height:1.25;color:#171717}
.cm-modal__lede{margin:0 0 1rem;font-size:.92rem;line-height:1.5;color:#4a4a4a}
.cm-modal__close{position:absolute;top:.6rem;right:.6rem;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:0;border-radius:8px;background:transparent;color:#171717;font:inherit;font-size:1.6rem;line-height:1;cursor:pointer}
.cm-modal__close:hover{background:#f0f0f0}
.cm-form{display:grid;gap:.8rem}
.cm-form__field{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.cm-form__field label{font-size:.88rem;font-weight:600;color:#171717}
.cm-form input,.cm-form textarea{width:100%;min-width:0;padding:.65rem .8rem;border:1px solid #8a8a8a;border-radius:8px;background:#fff;color:#171717;font:inherit;font-size:16px}
.cm-form textarea{min-height:5rem;resize:vertical}
.cm-form__submit{margin-top:.2rem}
.cm-form__submit:disabled{opacity:.6;cursor:wait}
.cm-form__status{margin:0;padding:.65rem .8rem;border-radius:8px;font-size:.9rem;background:#f3f4f6;color:#171717}
.cm-form__status.ok{background:#dcfce7;color:#14532d}
.cm-form__status.err{background:#fef2f2;color:#991b1b}
.cm-modal :focus-visible{outline:2px solid #171717;outline-offset:2px}
html.cm-modal-open,html.cm-modal-open body{overflow:hidden}
