
/* ===================== v5: per-page visual systems ===================== */
:root{--sand:#f3eee6;--sand-deep:#e7dfd2;--sky:#e9f2f8;--sky-deep:#cfe2ef;--ink-soft:#1b2a36}
.v5 .crumbs{margin-bottom:18px;font-size:12.5px;font-weight:600;letter-spacing:.01em}
.v5 .crumbs,.v5 .crumbs a{color:var(--muted)}
.v5 .crumbs a:hover{color:var(--navy)}
.v5 .crumbs li+li::before{color:#b9c3cc}
.v5 .sec{padding:64px 0}
.v5 .sec-head{margin-bottom:28px}
.v5 .sec-head h2{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;letter-spacing:-.015em;line-height:1.15;text-transform:none}
.v5 .sec-head p{font-size:16px;color:var(--ink-2);max-width:48ch}
.v5 .eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--navy)}
.v5 .answer{padding:0}
.v5 .abox{margin:0 auto;padding:18px 22px;border-left:3px solid var(--navy);background:var(--bg);border-radius:0 12px 12px 0}
.v5 .abox h2{font-size:17px;font-weight:700;margin:4px 0 6px;text-transform:none;letter-spacing:0}
.v5 .abox p{font-size:15.5px;line-height:1.55;color:var(--ink-2)}
.v5 .answer .wrap{padding:28px 0 0}
.v5 .faq details p{font-size:15px}
.v5 .faq summary{font-size:16px}
.v5 .faq-wrap h2{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:700;text-transform:none;letter-spacing:-.01em}
.v5 .faq-wrap .side p{font-size:15px}
.v5 .quote h2{text-transform:none;letter-spacing:-.01em}
.v5 .quote.compact .alt{margin-top:10px}

/* buttons that differ per page */
.btn-sq{border-radius:10px}
.btn-ink{background:var(--ink);color:#fff;border-radius:10px}
.btn-ink:hover{background:#000}
.btn-pill-out{background:transparent;color:var(--navy);border:1.5px solid var(--navy);border-radius:999px}
.btn-pill-out:hover{background:var(--navy);color:#fff}
.btn-white{background:#fff;color:var(--navy);border-radius:10px}
.btn-white:hover{background:var(--sky)}
.btn-glass{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.45);border-radius:10px;backdrop-filter:blur(8px)}
.btn-glass:hover{background:rgba(255,255,255,.24)}
.lnk-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--navy);padding:12px 4px}
.lnk-arrow::after{content:"\2192";transition:transform .2s}
.lnk-arrow:hover::after{transform:translateX(4px)}

/* ---------- 1. Remodeling: white split hero, photo right with floating caption card ---------- */
.hero-split{background:#fff;padding:40px 0 56px}
.hero-split .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.hero-split h1{font-size:clamp(2rem,3.9vw,3.1rem);font-weight:700;letter-spacing:-.025em;line-height:1.08;text-transform:none;color:var(--ink)}
.hero-split h1 span{color:var(--navy)}
.hero-split p.lead{margin-top:16px;font-size:18px;color:var(--ink-2);max-width:42ch;line-height:1.5}
.hero-split .ctas{display:flex;gap:18px;align-items:center;margin-top:26px;flex-wrap:wrap}
.hero-split .pic{position:relative}
.hero-split .pic img{border-radius:20px;aspect-ratio:4/3.3;object-fit:cover;width:100%}
.hero-split .capcard{position:absolute;left:-28px;bottom:-24px;background:#fff;border-radius:14px;padding:14px 18px;box-shadow:var(--shadow);display:flex;gap:14px;align-items:center;border:1px solid var(--line)}
.hero-split .capcard i{width:40px;height:40px;border-radius:10px;background:var(--sky);display:grid;place-items:center;color:var(--navy);font-style:normal;font-weight:800;font-size:13px}
.hero-split .capcard b{display:block;font-size:14.5px}
.hero-split .capcard span{font-size:13px;color:var(--muted)}
.icorow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.icorow a{display:flex;flex-direction:column;gap:10px;padding:18px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-weight:600;font-size:14.5px;transition:transform .2s,box-shadow .2s}
.icorow a:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#c9d6e0}
.icorow a:active{transform:scale(.98)}
.icorow svg{width:28px;height:28px;color:var(--navy)}
.icorow small{display:block;font-weight:500;color:var(--muted);font-size:13px}
.story5{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.story5 figure img{border-radius:18px;aspect-ratio:4/3;object-fit:cover}
.story5 ol{list-style:none;display:grid;gap:14px;counter-reset:s}
.story5 li{display:grid;grid-template-columns:38px 1fr;column-gap:14px;row-gap:2px;align-items:start}
.story5 li::before{grid-row:1/3;counter-increment:s;content:counter(s);width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px}
.story5 b{display:block;font-size:16px}
.story5 span{color:var(--ink-2);font-size:15px;grid-column:2}
.wk{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.wk div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.wk b{display:block;color:var(--navy);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.wk strong{display:block;font-size:16px;margin:6px 0 4px}
.wk span{font-size:14px;color:var(--ink-2)}
.cta-strip{background:var(--ink);color:#fff;padding:56px 0}
.cta-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.cta-strip h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;letter-spacing:-.02em;line-height:1.1}
.cta-strip p{margin-top:12px;color:rgba(255,255,255,.78);font-size:16px}
.cta-strip .callrow{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}
.cta-strip .quote{background:#fff;color:var(--ink);border-radius:18px;padding:26px}

/* ---------- 2. Flooring: sand band, light headline, swatch strip ---------- */
.hero-sand{background:var(--sand);padding:44px 0 0;overflow:hidden}
.hero-sand h1{font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:300;letter-spacing:-.03em;line-height:1.02;text-transform:none;max-width:16ch}
.hero-sand h1 b{font-weight:800}
.hero-sand p.lead{margin-top:14px;font-size:17px;color:var(--ink-2);max-width:40ch}
.hero-sand .ctas{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.hero-sand .top{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:end}
.hero-sand .top p.tip{font-size:14px;color:var(--muted);border-left:2px solid var(--sand-deep);padding-left:12px}
.swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px;transform:translateY(34px)}
.swatches a{display:block;color:var(--ink);border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--sand-deep);box-shadow:0 12px 30px -18px rgba(0,0,0,.35);transition:transform .2s}
.swatches a:hover{transform:translateY(-4px)}
.swatches a:active{transform:scale(.98)}
.swatches img{aspect-ratio:1/.72;object-fit:cover;width:100%}
.swatches div{padding:12px 14px;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.swatches b{font-size:15px}
.swatches small{font-size:12px;color:var(--muted)}
.after-swatch{padding-top:70px}
.cmp5{width:100%;border-collapse:collapse;font-size:15px}
.cmp5 th,.cmp5 td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.cmp5 th{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700}
.cmp5 td:first-child{font-weight:700}
.cmp5 .y{color:#1c7c4e;font-weight:700}.cmp5 .n{color:#b3471e;font-weight:700}.cmp5 .m{color:#9a7b1c;font-weight:700}
.roomrow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.roomrow div{background:var(--sand);border-radius:14px;padding:16px}
.roomrow b{display:block;font-size:14px}
.roomrow span{display:block;font-size:20px;font-weight:800;color:var(--navy);margin-top:4px;letter-spacing:-.02em}
.roomrow small{font-size:13px;color:var(--ink-2)}
.cta-sand{background:var(--sand);padding:56px 0}
.cta-sand .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.cta-sand h2{font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:300;letter-spacing:-.025em;line-height:1.08}
.cta-sand h2 b{font-weight:800}
.cta-sand p{margin-top:12px;color:var(--ink-2)}
.cta-sand .quote{background:#fff;border-radius:18px;padding:26px;border:1px solid var(--sand-deep)}

/* ---------- 3. Bathrooms: full-width photo, no overlay; caption card below ---------- */
.hero-photo{background:var(--sky);padding:0 0 48px}
.hero-photo .crumbs{padding:18px 0 0}
.hero-photo figure{margin-top:12px}
.hero-photo figure img{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:22px}
.hero-photo .cap{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-top:22px;background:#fff;border-radius:18px;padding:24px 26px;box-shadow:0 14px 40px -24px rgba(6,58,88,.3)}
.hero-photo h1{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:600;letter-spacing:-.015em;line-height:1.2;text-transform:none}
.hero-photo .cap p{margin-top:6px;color:var(--ink-2);font-size:15.5px}
.seg{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:4px;gap:4px}
.seg a{padding:10px 16px;border-radius:9px;font-weight:600;font-size:14px;color:var(--ink-2);white-space:nowrap}
.seg a.on,.seg a:hover{background:var(--navy);color:#fff}
.tiers5{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tier5{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff}
.tier5.mid{background:var(--navy);color:#fff;border-color:var(--navy)}
.tier5 .lvl{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--navy)}
.tier5.mid .lvl{color:#bfe0f5}
.tier5 h3{font-size:22px;font-weight:700;margin:6px 0 2px;letter-spacing:-.01em}
.tier5 .for{font-size:14px;opacity:.75}
.tier5 ul{list-style:none;margin:14px 0 0;display:grid;gap:7px}
.tier5 li{font-size:14.5px;padding-left:20px;position:relative}
.tier5 li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;background:var(--navy)}
.tier5.mid li::before{background:#8fd0f5}
.tier5 .time{margin-top:14px;font-size:13px;font-weight:700;color:var(--muted)}
.tier5.mid .time{color:#bfe0f5}
.opts5{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.opts5 a,.opts5 div{display:block;color:var(--ink);background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.opts5 img{aspect-ratio:4/3;object-fit:cover;width:100%}
.opts5 b{display:block;padding:12px 14px 2px;font-size:15px}
.opts5 span{display:block;padding:0 14px 14px;font-size:13.5px;color:var(--ink-2)}
.cta-sky{background:var(--sky);padding:56px 0}
.cta-sky .wrap{max-width:720px;text-align:center}
.cta-sky h2{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:600;letter-spacing:-.015em}
.cta-sky p{margin:10px auto 22px;color:var(--ink-2);max-width:44ch}
.cta-sky .quote{text-align:left;background:#fff;border-radius:18px;padding:26px;margin-top:8px}

/* ---------- 4. Built-ins: horizontal gallery on top, light italic headline ---------- */
.hero-gallery{background:#fff;padding:18px 0 48px}
.strip{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;padding-top:8px}
.strip figure{position:relative}
.strip img{height:340px;width:100%;object-fit:cover;border-radius:16px}
.strip figcaption{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);padding:6px 10px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--ink)}
.hero-gallery .text{margin-top:26px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;border-top:1px solid var(--line);padding-top:26px}
.hero-gallery h1{font-size:clamp(2rem,4vw,3.2rem);font-weight:500;letter-spacing:-.025em;line-height:1.06;text-transform:none;max-width:18ch}
.hero-gallery h1 b{font-weight:800}
.hero-gallery p.lead{margin-top:10px;font-size:16.5px;color:var(--ink-2);max-width:44ch}
.hero-gallery .ctas{display:flex;gap:12px;flex-wrap:wrap}
.rooms5{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rooms5 article{position:relative;border-radius:18px;overflow:hidden;background:var(--ink);color:#fff;min-height:240px;display:flex;align-items:flex-end;isolation:isolate}
.rooms5 article img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;opacity:.92}
.rooms5 article div{padding:18px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.72));width:100%}
.rooms5 h3{font-size:18px;font-weight:700}
.rooms5 p{font-size:13.5px;opacity:.85;margin-top:4px}
.rooms5 article.plain{background:var(--sand);color:var(--ink);align-items:center}
.rooms5 article.plain div{background:none;padding:22px}
.rooms5 article.plain p{opacity:1;color:var(--ink-2)}
.matrow{display:flex;gap:10px;flex-wrap:wrap}
.matrow span{border:1px solid var(--line);border-radius:999px;padding:9px 14px;font-size:14px;font-weight:600;background:#fff}
.cta-rail{padding:56px 0}
.cta-rail .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.cta-rail h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:500;letter-spacing:-.02em;line-height:1.06}
.cta-rail h2 b{font-weight:800}
.cta-rail p{margin-top:12px;color:var(--ink-2)}
.cta-rail .quote{border:1px solid var(--line);border-radius:18px;padding:26px}

/* ---------- 5. Exterior: solid navy band, icon tiles overlapping ---------- */
.hero-band{background:var(--navy);color:#fff;padding:44px 0 0;position:relative}
.hero-band .crumbs,.hero-band .crumbs a{color:rgba(255,255,255,.7)}
.hero-band .crumbs a:hover{color:#fff}
.hero-band .crumbs li+li::before{color:rgba(255,255,255,.45)}
.hero-band h1{font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:600;letter-spacing:-.02em;line-height:1.1;text-transform:none;max-width:22ch}
.hero-band p.lead{margin-top:12px;font-size:17px;color:rgba(255,255,255,.82);max-width:44ch}
.hero-band .ctas{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.hero-band .eyebrow{color:#9fd3f3}
.tiles{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-top:36px;transform:translateY(40px)}
.tiles figure{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 18px 40px -22px rgba(0,0,0,.45)}
.tiles img{width:100%;height:300px;object-fit:cover}
.tiles figcaption{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);padding:6px 10px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--ink)}
.tiles a:hover{transform:translateY(-4px)}
.tiles a:active{transform:scale(.98)}
.tiles svg{width:30px;height:30px;color:var(--navy)}
.tiles b{font-size:15.5px}
.tiles span{font-size:13.5px;color:var(--ink-2)}
.after-tiles{padding-top:76px}
.calendar{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.calendar div{border-radius:14px;padding:18px;background:var(--bg);border-top:4px solid var(--navy)}
.calendar div:nth-child(2){border-top-color:#d6a74a}.calendar div:nth-child(3){border-top-color:#4a9bd6}.calendar div:nth-child(4){border-top-color:#5f9c6a}
.calendar b{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.calendar strong{display:block;font-size:17px;margin:6px 0 4px}
.calendar span{font-size:14px;color:var(--ink-2)}
.mats5{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mats5 div{border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.mats5 b{font-size:16px}
.mats5 p{font-size:14px;color:var(--ink-2);margin-top:4px}
.mats5 p i{font-style:normal;color:#b3471e;font-weight:600}
.pairpic{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pairpic img{aspect-ratio:4/3;object-fit:cover;border-radius:16px;width:100%}
.pairpic figcaption{font-size:13.5px;color:var(--muted);margin-top:8px}
.cta-navy{background:var(--navy);color:#fff;padding:56px 0}
.cta-navy .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.cta-navy h2{font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:600;letter-spacing:-.02em;line-height:1.1}
.cta-navy p{margin-top:12px;color:rgba(255,255,255,.82)}
.cta-navy .quote{background:#fff;color:var(--ink);border-radius:18px;padding:26px}

/* ---------- 6. Service areas hub: map board of city tiles ---------- */
.hero-map{background:#fff;padding:40px 0 56px;text-align:center}
.hero-map .crumbs{justify-content:center}
.hero-map h1{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:600;letter-spacing:-.02em;text-transform:none;line-height:1.1}
.hero-map p.lead{margin:10px auto 0;font-size:16.5px;color:var(--ink-2);max-width:46ch}
.board{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:30px;text-align:left}
.board a{display:grid;gap:4px;padding:40px 16px 16px;border-radius:16px;color:var(--ink);background:var(--tint,var(--bg));border:1px solid rgba(0,0,0,.04);min-height:112px;align-content:end;position:relative;transition:transform .2s,box-shadow .2s}
.board a:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.board a:active{transform:scale(.98)}
.board a::before{content:"";position:absolute;left:16px;top:16px;width:12px;height:12px;border-radius:50%;background:var(--acc,var(--navy));box-shadow:0 0 0 4px rgba(255,255,255,.7)}
.board b{font-size:16px;letter-spacing:-.01em}
.board span{font-size:12.5px;color:var(--ink-2)}
.board a.wide{grid-column:span 2}
.counties{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.counties div{border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.counties b{font-size:15px;display:block}
.counties span{font-size:14px;color:var(--ink-2)}
.hublist{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.hublist a{display:grid;gap:4px;padding:14px;border-radius:12px;background:var(--bg);color:var(--ink)}
.hublist b{font-size:14.5px}.hublist span{font-size:12.5px;color:var(--muted)}

/* ---------- City layouts ---------- */
/* A: chip-led */
.city-a{padding:40px 0 48px;background:#fff;border-top:6px solid var(--acc)}
.city-a .tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);background:var(--tint);padding:6px 10px;border-radius:8px}
.city-a h1{font-size:clamp(2rem,4vw,3.2rem);font-weight:700;letter-spacing:-.025em;line-height:1.05;text-transform:none;margin-top:12px}
.city-a p.lead{margin-top:10px;font-size:16.5px;color:var(--ink-2);max-width:46ch}
.city-a .cloud{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;max-width:640px}
.city-a .cloud span{border:1px solid var(--line);border-radius:999px;padding:8px 13px;font-size:13.5px;font-weight:600;background:#fff}
.city-a .cloud span:nth-child(3n+1){background:var(--tint);border-color:transparent}
.city-a .ctas{display:flex;gap:14px;align-items:center;margin-top:24px;flex-wrap:wrap}
/* B: photo left, text right on tint */
.city-b{background:var(--tint);padding:0}
.city-b .wrap{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;max-width:none;width:100%}
.city-b figure img{width:100%;height:100%;min-height:420px;object-fit:cover}
.city-b .txt{padding:48px clamp(20px,5vw,72px);display:flex;flex-direction:column;justify-content:center}
.city-b .k{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
.city-b h1{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:600;letter-spacing:-.02em;line-height:1.1;text-transform:none;margin-top:10px}
.city-b p.lead{margin-top:10px;font-size:16px;color:var(--ink-2);max-width:40ch}
.city-b .ctas{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
/* C: compact question-led */
.city-c{background:var(--sand);padding:40px 0 48px}
.city-c .qcard{background:#fff;border-radius:20px;padding:28px;max-width:860px;border:1px solid var(--sand-deep);display:block;box-shadow:none}
.city-c .k{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
.city-c h1{font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:600;letter-spacing:-.015em;line-height:1.2;text-transform:none;margin-top:8px}
.city-c .a{margin-top:10px;font-size:16px;color:var(--ink-2);max-width:60ch}
.city-c .mini{margin-top:18px;border-top:1px solid var(--line)}
.city-c .mini details{border-bottom:1px solid var(--line)}
.city-c .mini summary{list-style:none;cursor:pointer;padding:12px 0;font-weight:600;font-size:15px;display:flex;justify-content:space-between;gap:12px}
.city-c .mini summary::-webkit-details-marker{display:none}
.city-c .mini summary::after{content:"+";color:var(--acc);font-weight:700}
.city-c .mini details[open] summary::after{content:"\2212"}
.city-c .mini p{padding:0 0 12px;font-size:14.5px;color:var(--ink-2)}
.city-c .ctas{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
/* D: accent band with project cards overlapping */
.city-d{background:var(--acc);color:#fff;padding:40px 0 0}
.city-d .crumbs,.city-d .crumbs a{color:rgba(255,255,255,.75)}
.city-d .crumbs li+li::before{color:rgba(255,255,255,.45)}
.city-d h1{font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:500;letter-spacing:-.02em;line-height:1.1;text-transform:none;max-width:22ch}
.city-d h1 b{font-weight:800}
.city-d p.lead{margin-top:10px;font-size:16.5px;color:rgba(255,255,255,.85);max-width:44ch}
.city-d .ctas{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
.city-d .pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px;transform:translateY(36px)}
.city-d .pcards a{background:#fff;color:var(--ink);border-radius:14px;padding:16px;display:grid;gap:4px;box-shadow:0 18px 40px -22px rgba(0,0,0,.45)}
.city-d .pcards b{font-size:15px}
.city-d .pcards span{font-size:13.5px;color:var(--ink-2)}
.city-d .pcards i{font-style:normal;font-size:12.5px;font-weight:700;color:var(--acc);margin-top:4px}
.after-pcards{padding-top:64px}
/* shared city sections */
.proj3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.proj3 a{border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:4px;color:var(--ink);background:#fff}
.proj3 b{font-size:15px}.proj3 span{font-size:13.5px;color:var(--ink-2)}.proj3 i{font-style:normal;font-size:12.5px;font-weight:700;color:var(--navy);margin-top:4px}
.notes3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.notes3 div{border-radius:14px;padding:16px;background:var(--tint,var(--bg))}
.notes3 b{font-size:15px;display:block}.notes3 span{font-size:13.5px;color:var(--ink-2)}
.stock2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stock2 div{border-left:3px solid var(--acc,var(--navy));padding:4px 0 4px 14px}
.stock2 b{display:block;font-size:15px}.stock2 span{font-size:14px;color:var(--ink-2)}
.hoodline{display:flex;flex-wrap:wrap;gap:8px}
.hoodline span{font-size:13.5px;font-weight:600;background:var(--bg);border-radius:8px;padding:7px 11px}
.citypic{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.citypic img{border-radius:18px;aspect-ratio:4/3;object-fit:cover;width:100%}
.near{display:flex;gap:8px;flex-wrap:wrap}
.near a{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:600;font-size:14px;color:var(--navy)}
.near a:hover{border-color:var(--navy)}
.cta-city{padding:56px 0;background:var(--bg)}
.cta-city .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.cta-city h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;letter-spacing:-.02em;line-height:1.1}
.cta-city p{margin-top:10px;color:var(--ink-2)}
.cta-city .quote{background:#fff;border-radius:18px;padding:26px;border:1px solid var(--line)}
.cta-city.tint{background:var(--tint)}
.cta-city.dark{background:var(--acc);color:#fff}
.cta-city.dark p{color:rgba(255,255,255,.85)}
.cta-city.dark .quote{color:var(--ink)}
.gen5{font-size:13px;color:var(--muted);margin-top:18px}

@media (max-width:1024px){
  .swatches,.tiles,.calendar,.opts5{grid-template-columns:repeat(2,1fr)}
  .roomrow{grid-template-columns:repeat(3,1fr)}
  .board,.hublist{grid-template-columns:repeat(3,1fr)}
  .board a.wide{grid-column:span 1}
}
@media (max-width:640px){
  .v5 .sec{padding:44px 0}
  .hero-split{padding:24px 0 44px}
  .hero-split .wrap{grid-template-columns:1fr;gap:34px}
  .hero-split .pic{order:-1;margin-bottom:12px}
  .hero-split .pic img{aspect-ratio:4/3;border-radius:16px}
  .hero-split .capcard{left:12px;bottom:-18px;padding:10px 14px}
  .hero-split h1{font-size:2rem}
  .hero-split p.lead{font-size:16px}
  .icorow{grid-template-columns:1fr 1fr;gap:10px}
  .story5{grid-template-columns:1fr;gap:22px}
  .cta-strip .wrap,.cta-sand .wrap,.cta-navy .wrap,.cta-rail .wrap,.cta-city .wrap{grid-template-columns:1fr;gap:26px}
  .hero-sand{padding:26px 0 0}
  .hero-sand .top{grid-template-columns:1fr;gap:16px}
  .hero-sand h1{font-size:2.3rem}
  .swatches{grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;transform:translateY(26px)}
  .swatches img{aspect-ratio:1/.8}
  .after-swatch{padding-top:52px}
  .cmp5{font-size:13.5px}
  .cmp5 th,.cmp5 td{padding:10px 6px}
  .cmp5 th:nth-child(4),.cmp5 td:nth-child(4){display:none}
  .roomrow{grid-template-columns:1fr 1fr}
  .hero-photo figure img{aspect-ratio:4/3;border-radius:16px}
  .hero-photo .cap{grid-template-columns:1fr;gap:14px;padding:18px}
  .seg{display:flex;width:100%}
  .seg a{flex:1;text-align:center;padding:10px 6px;font-size:13px}
  .tiers5{grid-template-columns:1fr}
  .opts5{grid-template-columns:1fr 1fr;gap:10px}
  .strip{grid-template-columns:1fr 1fr}
  .strip figure:first-child{grid-column:span 2}
  .strip img{height:200px}
  .strip figure:first-child img{height:240px}
  .hero-gallery .text{grid-template-columns:1fr;gap:16px}
  .hero-gallery h1{font-size:2rem}
  .rooms5{grid-template-columns:1fr}
  .rooms5 article{min-height:190px}
  .hero-band{padding:26px 0 0}
  .tiles{grid-template-columns:1fr;gap:10px;margin-top:24px;transform:translateY(28px)}
  .tiles img{height:200px}
  .tiles figure:nth-child(2){display:none}
  .after-tiles{padding-top:60px}
  .calendar,.mats5,.pairpic{grid-template-columns:1fr}
  .hero-map{padding:26px 0 40px}
  .board{grid-template-columns:1fr 1fr;gap:10px}
  .board a{min-height:92px;padding:36px 14px 14px}
  .counties,.hublist{grid-template-columns:1fr}
  .city-a{padding:26px 0 40px}
  .city-a h1{font-size:2.1rem}
  .city-b .wrap{grid-template-columns:1fr}
  .city-b figure img{min-height:0;height:240px}
  .city-b .txt{padding:26px 20px 34px}
  .city-c{padding:22px 0 40px}
  .city-c .qcard{padding:20px}
  .city-d .pcards{grid-template-columns:1fr;gap:10px;margin-top:24px;transform:translateY(28px)}
  .after-pcards{padding-top:54px}
  .proj3,.notes3,.stock2,.citypic{grid-template-columns:1fr}
  .wk{grid-template-columns:1fr 1fr;gap:10px}
}
