:root{--ivory:#fbf8f3;--maroon:#7b1836;--ink:#261c20;--rose:#ebd8d9;--sand:#dcc8a6;--white:#fff;--muted:#6c5d62;--border:#e3d8d1;--shadow:0 18px 48px rgba(62,30,40,.10);--radius:22px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:inherit}.container{width:min(var(--max),calc(100% - 36px));margin:auto}.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px;z-index:999}.skip:focus{left:10px}.announcement{background:var(--ink);color:#fff;text-align:center;padding:7px 16px;font-size:.9rem}.announcement a{color:#fff}.site-header{position:sticky;top:0;z-index:50;background:rgba(251,248,243,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.navrow{min-height:76px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;white-space:nowrap}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--maroon);color:#fff;font-family:Georgia,serif;font-weight:700}.brand b{font-family:Georgia,serif;font-size:1.05rem}.brand small{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.navrow nav{display:flex;align-items:center;gap:14px;margin-left:auto;font-size:.92rem}.navrow nav>a,.navrow summary{text-decoration:none;cursor:pointer;padding:10px 3px}.navrow details{position:relative}.navrow summary{list-style:none}.navrow summary::-webkit-details-marker{display:none}.mega{position:absolute;top:44px;left:-180px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:20px;display:grid;grid-template-columns:repeat(3,210px);gap:14px}.mega.one{grid-template-columns:260px;left:-80px}.mega a{display:block;padding:7px 9px;text-decoration:none;border-radius:8px}.mega a:hover,.mega a:focus{background:var(--ivory)}.nav-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;padding:11px 20px;border:1px solid transparent;text-decoration:none;font-weight:700;cursor:pointer}.btn-primary{background:var(--maroon);color:#fff}.btn-secondary{background:transparent;color:var(--maroon);border-color:var(--maroon)}.hero{padding:56px 0 42px}.breadcrumb{font-size:.84rem;color:var(--muted);display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}.breadcrumb a{text-decoration:none}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.eyebrow{color:var(--maroon);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;margin:0 0 8px}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.16}h1{font-size:clamp(2.55rem,5.3vw,5.6rem);letter-spacing:-.035em;margin:.1em 0 .25em}h2{font-size:clamp(2rem,3.4vw,3.4rem);margin:.15em 0 .45em}h3{font-size:1.35rem;margin:.1em 0 .45em}.lead{font-size:1.18rem;color:#594a4f;max-width:690px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 14px}.hero-note{font-size:.88rem;color:var(--muted)}.hero figure{margin:0}.hero-img{border-radius:32px;box-shadow:var(--shadow);aspect-ratio:16/9;object-fit:cover}.trust-strip{background:#fff;border-block:1px solid var(--border)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid>div{padding:20px;border-right:1px solid var(--border)}.trust-grid>div:last-child{border-right:0}.trust-grid b,.trust-grid span{display:block}.trust-grid span{font-size:.83rem;color:var(--muted)}section.section{padding:78px 0}.section.alt{background:#fff}.section-head{max-width:760px;margin-bottom:30px}.section-head p{color:var(--muted)}.quick-plan{padding:30px 0;background:linear-gradient(120deg,#f7e9e7,#f5efdf)}.quick-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center}.brief-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-items:end;background:#fff;padding:16px;border-radius:18px;box-shadow:var(--shadow)}label{font-size:.88rem;font-weight:700}input,select,textarea{width:100%;margin-top:6px;padding:12px;border:1px solid #cdbfc1;border-radius:11px;background:#fff;color:var(--ink);font:inherit}textarea{resize:vertical}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 30px rgba(62,30,40,.05)}.card img{aspect-ratio:1/1;object-fit:cover;background:#f2e5df}.card-body{padding:22px}.card-body p{color:var(--muted)}.card h3 a{text-decoration:none}.text-link{font-weight:800;color:var(--maroon);text-decoration:none}.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}.panel{background:#fff;padding:30px;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 30px rgba(62,30,40,.05)}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.feature{padding:22px;border:1px solid var(--border);border-radius:18px;background:#fff}.feature p{margin-bottom:0;color:var(--muted)}.checklist{padding-left:20px}.checklist li{margin:9px 0}.steps{counter-reset:step;display:grid;gap:14px}.step{counter-increment:step;background:#fff;border:1px solid var(--border);border-radius:18px;padding:22px 22px 22px 70px;position:relative}.step:before{content:counter(step);position:absolute;left:20px;top:18px;width:34px;height:34px;border-radius:50%;background:var(--maroon);color:#fff;display:grid;place-items:center;font-weight:800}.comparison{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden}.comparison th,.comparison td{border:1px solid var(--border);padding:14px;text-align:left;vertical-align:top}.comparison th{background:#f3e8e6}.faq details{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin:10px 0}.faq summary{font-weight:800;cursor:pointer}.enquiry-section{padding:80px 0;background:var(--ink);color:#fff}.enquiry-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}.enquiry-section .eyebrow{color:#f1c9cf}.form-card{background:#fff;color:var(--ink);border-radius:26px;padding:26px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid .full{grid-column:1/-1}.consent{display:flex;gap:10px;margin:18px 0;font-weight:500}.consent input{width:auto;margin:5px 0 0}.form-status{margin-top:12px;min-height:24px}.cta{padding:72px 0;text-align:center;background:linear-gradient(120deg,#f2dfe1,#f7f0df)}.cta p{max-width:720px;margin:0 auto 22px;color:var(--muted)}footer{background:#1d1518;color:#f9f4f2;padding:60px 0 90px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}.footer-grid h2{font-size:1.1rem}.footer-grid a{display:block;color:#f9f4f2;text-decoration:none;padding:4px 0}.footer-bottom{border-top:1px solid #49393f;margin-top:35px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:.85rem}.float-wa{position:fixed;left:18px;bottom:20px;background:#158542;color:#fff;padding:12px 16px;border-radius:999px;text-decoration:none;font-weight:800;z-index:60;box-shadow:var(--shadow)}.backtop{position:fixed;right:18px;bottom:20px;width:46px;height:46px;border:0;border-radius:50%;background:var(--maroon);color:#fff;font-size:1.2rem;z-index:60}.mobile-actions{display:none}.note{font-size:.9rem;color:var(--muted)}.notice{padding:16px;border-left:4px solid var(--maroon);background:#f7eded;border-radius:8px}.map-wrap iframe{width:100%;min-height:420px;border:0;border-radius:22px}.tag{display:inline-flex;padding:6px 10px;border-radius:999px;background:#f2e2e4;color:var(--maroon);font-size:.8rem;font-weight:800;margin:3px}.two-col-list{columns:2;column-gap:35px}.two-col-list li{break-inside:avoid;margin:7px 0}@media(max-width:1000px){.navrow nav,.nav-cta{display:none}.nav-toggle{display:block;margin-left:auto}.navrow nav.open{display:flex;position:absolute;top:76px;left:0;right:0;background:#fff;padding:18px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--border);max-height:75vh;overflow:auto}.navrow details .mega{position:static;grid-template-columns:1fr;box-shadow:none;margin-top:8px}.hero-grid,.quick-grid,.enquiry-grid,.split{grid-template-columns:1fr}.brief-selector{grid-template-columns:1fr 1fr}.trust-grid{grid-template-columns:1fr 1fr}.card-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.mobile-actions{display:grid;position:fixed;left:0;right:0;bottom:0;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid var(--border);z-index:55}.mobile-actions a{text-align:center;padding:12px 6px;text-decoration:none;font-weight:800;color:var(--maroon)}.float-wa,.backtop{bottom:64px}}@media(max-width:650px){.container{width:min(var(--max),calc(100% - 24px))}.hero{padding-top:30px}h1{font-size:2.55rem}.trust-grid,.card-grid,.feature-grid,.form-grid,.brief-selector,.footer-grid{grid-template-columns:1fr}.trust-grid>div{border-right:0;border-bottom:1px solid var(--border)}.form-grid .full{grid-column:auto}.two-col-list{columns:1}.footer-bottom{flex-direction:column}.float-wa{font-size:.82rem}.announcement{font-size:.78rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:focus-visible{outline:3px solid #d69aae;outline-offset:3px}
/* User-requested navigation, active-state and service-gallery fixes */
.navrow details:not([open])>.mega{display:none}
.navrow details[open]>.mega{display:grid;z-index:120}
.navrow details>summary{display:flex;align-items:center;gap:5px;border-radius:999px;padding:10px 10px}
.navrow details>summary:after{content:"▾";font-size:.72em;transition:transform .18s ease}
.navrow details[open]>summary:after{transform:rotate(180deg)}
.navrow nav>a.nav-active,.navrow details.nav-active>summary{background:var(--ink);color:#fff;padding:10px 12px;border-radius:999px}
.mega a.nav-active{background:var(--maroon);color:#fff;font-weight:800}
.service-photo-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.service-photo-gallery figure{margin:0}
.service-photo-gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:22px;box-shadow:var(--shadow);background:#efe2dd}
.service-photo-gallery figcaption{font-size:.86rem;color:var(--muted);padding:10px 3px 0}
.service-longcopy{max-width:920px;color:var(--muted);font-size:1.02rem;line-height:1.8}
.form-status.is-error{color:#8c1d33;font-weight:700}
@media(max-width:650px){.service-photo-gallery{grid-template-columns:1fr}.navrow nav>a.nav-active,.navrow details.nav-active>summary{border-radius:12px}}

/* === Creative Wedding Planner v3 design system overrides === */
:root{--wine:#64142f;--wine-deep:#35101e;--rose:#ead3d7;--champagne:#e2c78f;--sand:#f2e6d5;--ivory2:#fffaf4;--charcoal:#251a1e}
h1{font-size:clamp(2.35rem,4.2vw,4.35rem);letter-spacing:-.025em;max-width:980px}
.hero{padding:46px 0 52px;overflow:hidden}.hero-grid{gap:54px}.hero-img{border-radius:28px}.hero-service,.hero-solution,.hero-locality{background:radial-gradient(circle at 85% 10%,rgba(226,199,143,.22),transparent 34%),linear-gradient(135deg,#fffaf4 0%,#f8ecea 100%)}
.navrow{min-height:74px}.navrow nav{gap:10px}.navrow nav>a,.navrow summary{padding:10px 9px;border-radius:10px;font-weight:650}.navrow nav>a.nav-active,.navrow details.nav-active>summary,.navrow nav>a[aria-current="page"]{background:var(--wine-deep);color:#fff}.navrow details[open]>summary{background:var(--wine);color:#fff}.mega{top:48px;border-top:4px solid var(--champagne);padding:22px}.mega-services{grid-template-columns:repeat(2,minmax(245px,1fr));left:-230px}.mega-label{display:block;padding:4px 9px 8px;color:var(--wine);font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.mega a{padding:9px 10px}.mega a.nav-active{background:var(--wine-deep)!important;color:#fff!important}
.creative-band{padding:88px 0;position:relative;overflow:hidden}.creative-band:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(var(--champagne),var(--wine));opacity:.85}.band-white{background:#fff}.band-ivory{background:var(--ivory2)}.band-blush{background:linear-gradient(135deg,#f7e5e7,#fff8f4)}.band-sand{background:linear-gradient(120deg,#f2e6d5,#fffaf4)}.band-ink{background:var(--wine-deep);color:#fff}.band-ink p,.band-ink .section-head p,.band-ink .section-kicker{color:#f4e8e9}.band-ink .section-seal{background:var(--champagne);color:var(--wine-deep)}.band-ink a{color:#fff}.band-ink .card,.band-ink .feature{color:var(--ink)}
.section-seal{width:48px;height:48px;border-radius:50%;display:inline-grid;place-items:center;background:var(--wine);color:#fff;font-family:Georgia,serif;font-size:1.25rem;margin-bottom:15px;box-shadow:0 10px 30px rgba(90,20,45,.14)}.section-kicker{margin:0 0 8px;color:var(--wine);font-weight:900;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem}.creative-band h2{max-width:850px}.creative-band .section-head{max-width:900px}
.editorial-split .split,.split-wide{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:56px;align-items:center}.story-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}.story-metric{display:grid;grid-template-columns:1fr;gap:6px;padding:34px;border:1px solid rgba(255,255,255,.22);border-radius:28px;background:rgba(255,255,255,.06);backdrop-filter:blur(10px)}.story-metric strong{font:700 clamp(1.5rem,3vw,2.8rem)/1.05 Georgia,serif;color:#fff}.story-metric span{color:#eadde0;margin-bottom:18px}.art-frame{padding:13px;border:1px solid rgba(100,20,47,.12);background:#fff;border-radius:30px;box-shadow:var(--shadow);transform:rotate(1deg)}.art-frame img{border-radius:22px;aspect-ratio:16/10;object-fit:cover}
.icon-ribbon{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}.icon-ribbon>div{padding:20px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.8);font-weight:800}.icon-ribbon b{display:block;font:700 1.05rem Georgia,serif;margin-top:4px}.gallery-triple{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:16px;margin-top:32px;align-items:stretch}.gallery-triple img{width:100%;height:100%;min-height:300px;object-fit:cover;border-radius:24px;box-shadow:0 12px 30px rgba(62,30,40,.08)}.gallery-triple img:first-child{min-height:420px}.photo-story-pair .split,.photo-story-pair .service-visual-grid{gap:18px}.photo-story-pair img{border-radius:24px;box-shadow:var(--shadow)}
.timeline-stage .steps{position:relative}.timeline-stage .step{border:0;border-left:3px solid var(--champagne);border-radius:0 20px 20px 0;box-shadow:0 10px 25px rgba(62,30,40,.05)}.decision-board{display:grid;gap:0;border:1px solid rgba(100,20,47,.18);border-radius:24px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.decision-board b,.decision-board span{padding:16px 20px}.decision-board b{background:#f2e4e5;color:var(--wine)}.decision-board span{color:var(--muted);border-bottom:1px solid var(--border)}
.related-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.related-pills a{padding:10px 15px;border-radius:999px;background:#fff;border:1px solid var(--border);color:var(--wine);font-weight:800;text-decoration:none}.band-ink .related-pills a{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.22);color:#fff}
.locality-directory{padding-block:96px}.locality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}.locality-card{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;gap:2px 10px;padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);text-decoration:none;transition:transform .18s ease,background .18s ease}.locality-card:hover,.locality-card:focus{transform:translateY(-3px);background:rgba(255,255,255,.12)}.locality-card>span{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--champagne);color:var(--wine-deep);font-weight:900;font-size:.75rem}.locality-card b{color:#fff}.locality-card small{color:#d9c9cd}.city-directory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:34px}.city-directory-col h3{color:#fff}.city-directory-col>a{display:block;padding:6px 0;color:#eadde0;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.08)}.city-directory-col>a:hover{color:#fff}
.footer-localities{margin-top:40px;border-top:1px solid #49393f;padding-top:24px}.footer-localities summary{cursor:pointer;font-weight:800;color:#f2d9bd;padding:8px 0}.footer-locality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:24px 0}.footer-locality-grid h3{font-size:1rem;color:#f2d9bd}.footer-locality-grid a{font-size:.82rem;color:#d8c9cd;padding:3px 0}.footer-locality-grid a:hover{color:#fff}
.enquiry-section{background:radial-gradient(circle at 85% 10%,rgba(226,199,143,.13),transparent 35%),var(--wine-deep)}.form-card{box-shadow:0 28px 70px rgba(0,0,0,.2)}.float-wa{background:#167b44;left:18px;bottom:20px}.float-wa:before{content:"✦";margin-right:7px}.cta{background:linear-gradient(120deg,#f2dfdf,#f6ead3)}
/* Stop the site reading like a centered article column. */
.creative-band p{max-width:880px}.creative-band .card-grid,.creative-band .feature-grid,.creative-band .split,.creative-band .steps,.creative-band table{margin-top:26px}.composition-2{background:linear-gradient(120deg,#fff,#f9edef)}.composition-3{background:#f4eadc}.composition-4{background:var(--wine-deep);color:#fff}.composition-4 p{color:#eadde0}
@media(max-width:1100px){.locality-grid{grid-template-columns:repeat(3,1fr)}.city-directory-grid,.footer-locality-grid{grid-template-columns:repeat(2,1fr)}.gallery-triple{grid-template-columns:1fr 1fr}.gallery-triple img:first-child{grid-column:1/-1}.mega-services{left:-120px}}
@media(max-width:800px){h1{font-size:clamp(2.1rem,10vw,3.15rem)}.creative-band{padding:64px 0}.split-wide,.story-grid,.editorial-split .split{grid-template-columns:1fr}.locality-grid{grid-template-columns:repeat(2,1fr)}.icon-ribbon{grid-template-columns:1fr 1fr}.city-directory-grid,.footer-locality-grid{grid-template-columns:1fr}.gallery-triple{grid-template-columns:1fr}.gallery-triple img:first-child{grid-column:auto}.navrow nav>a,.navrow summary{padding:12px 10px}.mega-services{grid-template-columns:1fr}}
@media(max-width:520px){h1{font-size:2.2rem}.locality-grid{grid-template-columns:1fr}.icon-ribbon{grid-template-columns:1fr}.hero{padding-top:28px}.section-seal{width:42px;height:42px}.creative-band{padding:54px 0}}

/* Service-area page: keep card pictograms compact and directory links readable
   when these components are placed on light creative bands. */
body[data-page-file="service-areas.html"] .scope-card .card-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  margin-bottom:14px;
  background:linear-gradient(145deg,#f6e7e9,#fff8f4);
  color:var(--maroon);
  border:1px solid rgba(123,24,54,.12);
}
body[data-page-file="service-areas.html"] .scope-card .card-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body[data-page-file="service-areas.html"] #all-localities .city-directory-col h3,
body[data-page-file="service-areas.html"] #all-localities .city-directory-col h3 a{
  color:var(--ink);
}
body[data-page-file="service-areas.html"] #all-localities .city-directory-col>a{
  color:#6f263d;
  border-bottom-color:rgba(123,24,54,.14);
}
body[data-page-file="service-areas.html"] #all-localities .city-directory-col>a:hover,
body[data-page-file="service-areas.html"] #all-localities .city-directory-col>a:focus-visible{
  color:var(--maroon);
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Keep the four footer service-area links visually separated on every page. */
.footer-city-links a{
  display:inline-flex;
  margin:3px 18px 3px 0;
  padding:4px 0;
  color:#f9f4f2;
  text-decoration:none;
}
.footer-city-links a:hover,
.footer-city-links a:focus-visible{color:#f2d9bd;text-decoration:underline;text-underline-offset:3px}

/* Balanced reading density: equal card structure without artificial empty panels. */
.card-grid{align-items:stretch}
.card-grid>.card{display:flex;flex-direction:column;height:100%}
.card-grid>.card>img{flex:0 0 auto}
.card-grid>.card>.card-body{display:flex;flex:1;flex-direction:column}
.card-grid>.card>.card-body .text-link{margin-top:auto;padding-top:10px;align-self:flex-start}
.feature-grid{align-items:stretch}
.feature-grid>.feature{height:100%}
.steps>.step{min-height:0}

/* Planning checkpoint: compact, balanced and readable within a normal viewport. */
.service-page .decision-stage{padding-top:64px;padding-bottom:64px}
.service-page .decision-stage .feature-grid{gap:18px;align-items:stretch}
.service-page .decision-stage .feature{display:flex;flex-direction:column;min-height:0;padding:24px 26px}
.service-page .decision-stage .feature h3{font-size:1.28rem;margin-bottom:12px}
.service-page .decision-stage .feature p{margin:0;line-height:1.62}
.service-page .decision-layout-rail .container{gap:44px}
.service-page .decision-layout-rail .section-head h2{font-size:clamp(2.15rem,2.8vw,3rem);line-height:1.06;overflow-wrap:anywhere}
@media(max-width:1180px){
  .service-page .decision-layout-rail .section-head{padding:0}
  .service-page .decision-layout-rail .section-head h2{max-width:900px}
}
@media(max-width:650px){
  .service-page .decision-stage{padding-top:48px;padding-bottom:48px}
  .service-page .decision-stage .feature{padding:20px}
}

/* === v4 readability + balanced navigation correction ===
   Semantic band themes always control background/text. Composition classes
   only describe layout/order and must never create contrast conflicts. */
.creative-band.band-white{background:#fff;color:var(--ink)}
.creative-band.band-ivory{background:var(--ivory2);color:var(--ink)}
.creative-band.band-blush{background:linear-gradient(135deg,#f7e5e7,#fff8f4);color:var(--ink)}
.creative-band.band-sand{background:linear-gradient(120deg,#f2e6d5,#fffaf4);color:var(--ink)}
.creative-band.band-ink{background:var(--wine-deep);color:#fff}
.creative-band.band-white p,.creative-band.band-ivory p,.creative-band.band-blush p,.creative-band.band-sand p{color:#584b50}
.creative-band.band-ink>div>p,.creative-band.band-ink .section-head>p,.creative-band.band-ink .section-kicker{color:#f7edf0}
.creative-band.band-ink h1,.creative-band.band-ink h2{color:#fff}

/* White/light surfaces inside a dark band need their own readable ink palette. */
.creative-band.band-ink :is(.card,.feature,.step,.panel,.faq details,.decision-board,.comparison,.form-card){color:var(--ink)}
.creative-band.band-ink :is(.card,.feature,.step,.panel,.faq details,.decision-board,.comparison,.form-card) :is(h3,h4,summary,strong,b,td,th,label){color:var(--ink)}
.creative-band.band-ink :is(.card,.feature,.step,.panel,.faq details,.decision-board,.comparison,.form-card) p{color:#5f5156}
.creative-band.band-ink :is(.card,.feature,.step,.panel,.faq details,.decision-board,.comparison,.form-card) a{color:var(--wine)}
.creative-band.band-ink .step:before{color:#fff}
.creative-band.band-ink .comparison th{background:#f3e8e6;color:var(--wine-deep)}

/* Card copy should remain readable even inside mixed creative compositions. */
.card-body p,.feature p,.step p,.panel p,.faq details p{color:#5f5156}
.card-body h3,.feature h3,.step h3,.panel h3,.faq summary{color:var(--ink)}

/* Header: wider working canvas, centered nav, compact one-line CTA. */
.site-header>.container.navrow{width:min(1520px,calc(100% - 40px));max-width:none}
.navrow{min-height:78px;gap:18px}
.brand{flex:0 0 auto;min-width:190px}
.brand-mark{width:44px;height:44px}
.brand b{font-size:1.08rem}
.navrow nav{flex:1 1 auto;justify-content:center;margin-left:6px;gap:3px;font-size:.9rem;min-width:0}
.navrow nav>a,.navrow summary{white-space:nowrap;padding:9px 9px}
.navrow details>summary{white-space:nowrap}
.nav-cta{flex:0 0 auto;white-space:nowrap;min-height:44px;padding:10px 18px;font-size:.91rem;margin-left:4px}
.mega{font-size:.92rem}

/* Avoid cramped desktop navigation before the mobile header takes over. */
@media(max-width:1180px){
  .navrow nav,.nav-cta{display:none}
  .nav-toggle{display:block;margin-left:auto;border:1px solid var(--border);background:#fff;color:var(--ink);border-radius:999px;padding:9px 14px;font-weight:800}
  .navrow nav.open{display:flex;position:absolute;top:78px;left:0;right:0;background:#fff;padding:18px 22px 24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--border);max-height:78vh;overflow:auto;box-shadow:0 18px 34px rgba(62,30,40,.12)}
  .navrow nav.open>a,.navrow nav.open summary{white-space:normal;padding:12px 14px}
  .navrow details .mega{position:static;grid-template-columns:1fr;box-shadow:none;margin-top:8px;border-top:1px solid var(--border);border-radius:12px;padding:12px;background:#fff}
  .mega-services{grid-template-columns:1fr;left:auto}
}
@media(max-width:650px){
  .site-header>.container.navrow{width:calc(100% - 24px)}
  .brand{min-width:0}
  .brand b{font-size:1rem}
  .brand small{font-size:.66rem}
  .brand-mark{width:40px;height:40px}
}


/* v5 service-page visual composition — fixes repeated blog-like scope/dependency modules. */
.service-page .creative-band .section-head{max-width:1040px}
.service-page .creative-band .service-longcopy{max-width:1120px;line-height:1.78}
.service-page .icon-stage .section-head{margin-bottom:24px}
.service-page .icon-stage .feature-grid{gap:22px}
.service-page .icon-stage .scope-feature{position:relative;overflow:hidden;padding:28px 28px 30px;border:1px solid rgba(123,24,54,.14);box-shadow:0 16px 42px rgba(61,31,40,.07);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.service-page .icon-stage .scope-feature:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--wine),var(--champagne));opacity:.9}
.service-page .icon-stage .scope-feature:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(61,31,40,.11);border-color:rgba(123,24,54,.25)}
.service-page .icon-stage .scope-feature h3{display:flex;align-items:center;gap:14px;font-size:1.34rem;margin:.3rem 0 .8rem;text-transform:none}
.service-page .scope-icon{width:48px;height:48px;flex:0 0 48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#f6e7e9,#fff8f4);color:var(--wine);border:1px solid rgba(123,24,54,.12)}
.service-page .scope-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.service-page .scope-number{position:absolute;right:18px;top:15px;color:rgba(123,24,54,.24);font-weight:800;letter-spacing:.1em;font-size:.74rem}
.service-page .scope-feature p{line-height:1.72;color:#5d5054}
.service-page .scope-layout-stagger .feature-grid{padding-bottom:30px}.service-page .scope-layout-stagger .scope-feature:nth-child(even){transform:translateY(24px)}.service-page .scope-layout-stagger .scope-feature:nth-child(even):hover{transform:translateY(20px)}
.service-page .scope-layout-mosaic .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-page .scope-layout-mosaic .scope-feature:nth-child(4n+1){grid-column:span 2}.service-page .scope-layout-mosaic .scope-feature:nth-child(4n+1) p{max-width:900px}
.service-page .scope-layout-bands .feature-grid{grid-template-columns:1fr}.service-page .scope-layout-bands .scope-feature{display:grid;grid-template-columns:58px minmax(190px,.45fr) minmax(0,1.55fr);gap:18px;align-items:start;padding:24px 26px}.service-page .scope-layout-bands .scope-feature h3{margin:0}.service-page .scope-layout-bands .scope-icon{grid-column:1}.service-page .scope-layout-bands .scope-title{grid-column:2}.service-page .scope-layout-bands .scope-feature p{grid-column:3;margin:0}.service-page .scope-layout-bands .scope-number{display:none}
.service-page .scope-layout-tiles .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-page .scope-layout-tiles .scope-feature:nth-child(3n+1){background:linear-gradient(145deg,#fff,#f9eeef)}.service-page .scope-layout-tiles .scope-feature:nth-child(3n+2){background:linear-gradient(145deg,#fff,#f8f1e6)}

/* Dependency section: use the full canvas and vary composition across service pages. */
.service-page .decision-stage .container{position:relative}
.service-page .decision-stage .section-head{max-width:none;margin-bottom:22px}
.service-page .decision-stage .service-longcopy{max-width:none;margin-top:0}
.service-page .decision-stage h2{font-size:clamp(2.3rem,4.1vw,4.25rem);line-height:1.04;max-width:1050px;text-wrap:balance}
.service-page .decision-accent{display:inline-flex;align-items:center;gap:9px;margin-bottom:14px;color:var(--wine);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.service-page .decision-accent svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.service-page .decision-stage .comparison{margin-top:28px;box-shadow:0 16px 40px rgba(61,31,40,.08);border-radius:22px;overflow:hidden}
.service-page .decision-stage .comparison th{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--wine);padding:17px 20px}
.service-page .decision-stage .comparison td{padding:18px 20px;line-height:1.55}
.service-page .decision-stage .comparison tbody tr:nth-child(even) td{background:#fffaf7}

.service-page .decision-layout-split .container{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(0,1.38fr);gap:56px;align-items:start}
.service-page .decision-layout-split .section-head{grid-column:1;grid-row:1 / span 2;margin:0;padding-right:10px;align-self:start}
.service-page .decision-layout-split .section-head h2{font-size:clamp(2.45rem,3.6vw,3.7rem)}
.service-page .decision-layout-split .service-longcopy{grid-column:2;margin:6px 0 0;font-size:1.04rem}
.service-page .decision-layout-split .comparison{grid-column:2;margin-top:20px}

.service-page .decision-layout-editorial .container{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:46px;align-items:end}
.service-page .decision-layout-editorial .section-head{grid-column:1;margin:0}
.service-page .decision-layout-editorial .service-longcopy{grid-column:2;margin:0;padding:28px 30px;background:rgba(255,255,255,.62);border:1px solid rgba(123,24,54,.12);border-radius:24px}
.service-page .decision-layout-editorial .comparison{grid-column:1/-1}

.service-page .decision-layout-panel .container{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:34px;align-items:start}
.service-page .decision-layout-panel .section-head{grid-column:1/-1;margin-bottom:4px}
.service-page .decision-layout-panel .service-longcopy{grid-column:1;margin:0;padding:30px;background:linear-gradient(145deg,#fff,#fff8f4);border-radius:26px;border:1px solid rgba(123,24,54,.11)}
.service-page .decision-layout-panel .comparison{grid-column:2;margin-top:0}

.service-page .decision-layout-rail{background:linear-gradient(90deg,var(--wine-deep) 0 34%,#f3e7d6 34% 100%);color:var(--ink)}
.service-page .decision-layout-rail .container{display:grid;grid-template-columns:minmax(300px,.68fr) minmax(0,1.32fr);gap:62px;align-items:start}
.service-page .decision-layout-rail .section-head{grid-column:1;grid-row:1 / span 2;color:#fff;margin:0;padding:16px 18px 20px 0}
.service-page .decision-layout-rail .section-head :is(h2,.eyebrow,.section-kicker,.decision-accent){color:#fff}
.service-page .decision-layout-rail .section-head h2{font-size:clamp(2.3rem,3.35vw,3.55rem)}
.service-page .decision-layout-rail .service-longcopy{grid-column:2;margin:0;color:#51454a}
.service-page .decision-layout-rail .comparison{grid-column:2}

.service-page .decision-layout-wide .section-head{max-width:1180px}.service-page .decision-layout-wide .service-longcopy{max-width:1180px;font-size:1.06rem}.service-page .decision-layout-wide .comparison{max-width:1180px}

@media(max-width:1180px){
 .service-page .scope-layout-mosaic .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-page .scope-layout-mosaic .scope-feature:nth-child(4n+1){grid-column:auto}
 .service-page .decision-layout-split .container,.service-page .decision-layout-editorial .container,.service-page .decision-layout-panel .container,.service-page .decision-layout-rail .container{grid-template-columns:1fr;gap:24px}
 .service-page .decision-layout-split .section-head,.service-page .decision-layout-split .service-longcopy,.service-page .decision-layout-split .comparison,.service-page .decision-layout-editorial .section-head,.service-page .decision-layout-editorial .service-longcopy,.service-page .decision-layout-editorial .comparison,.service-page .decision-layout-panel .section-head,.service-page .decision-layout-panel .service-longcopy,.service-page .decision-layout-panel .comparison,.service-page .decision-layout-rail .section-head,.service-page .decision-layout-rail .service-longcopy,.service-page .decision-layout-rail .comparison{grid-column:1;grid-row:auto}
 .service-page .decision-layout-rail{background:var(--wine-deep)}.service-page .decision-layout-rail .service-longcopy{color:#f7edf0}.service-page .decision-layout-rail .comparison{color:var(--ink)}
}
@media(max-width:760px){
 .service-page .scope-layout-stagger .scope-feature:nth-child(even){transform:none}.service-page .scope-layout-stagger .scope-feature:nth-child(even):hover{transform:translateY(-3px)}
 .service-page .scope-layout-mosaic .feature-grid,.service-page .scope-layout-tiles .feature-grid{grid-template-columns:1fr}
 .service-page .scope-layout-bands .scope-feature{grid-template-columns:52px 1fr;gap:12px}.service-page .scope-layout-bands .scope-feature h3{grid-column:1/-1}.service-page .scope-layout-bands .scope-feature p{grid-column:1/-1}.service-page .decision-stage h2{font-size:clamp(2.05rem,9vw,3rem)}
}
/* v5 correction for horizontal band-style scope rows. */
.service-page .scope-layout-bands .scope-feature h3{grid-column:1/3}
.service-page .scope-layout-bands .scope-feature p{grid-column:3;margin:0}
@media(max-width:900px){.service-page .scope-layout-bands .scope-feature{grid-template-columns:1fr}.service-page .scope-layout-bands .scope-feature h3,.service-page .scope-layout-bands .scope-feature p{grid-column:1}}
/* v5 card-based scope modules: decorative SVG chips and varied compositions. */
.service-page .icon-stage .scope-card{position:relative;border-color:rgba(123,24,54,.13);box-shadow:0 16px 42px rgba(61,31,40,.07)}
.service-page .icon-stage .scope-card .card-body{position:relative;padding:26px}
.service-page .card-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#f6e7e9,#fff8f4);color:var(--wine);border:1px solid rgba(123,24,54,.12);margin-bottom:14px}
.service-page .card-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.service-page .scope-layout-stagger .card-grid{padding-bottom:24px}.service-page .scope-layout-stagger .scope-card:nth-child(even){transform:translateY(22px)}
.service-page .scope-layout-mosaic .card-grid{grid-template-columns:1.25fr .875fr .875fr}.service-page .scope-layout-mosaic .scope-card:first-child{grid-row:span 2}.service-page .scope-layout-mosaic .scope-card:first-child img{aspect-ratio:4/3}
.service-page .scope-layout-bands .card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-page .scope-layout-bands .scope-card:nth-child(2){margin-top:28px}.service-page .scope-layout-bands .scope-card:nth-child(3){margin-top:56px}
.service-page .scope-layout-tiles .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-page .scope-layout-tiles .scope-card:nth-child(odd) .card-body{background:linear-gradient(145deg,#fff,#fff7f6)}
@media(max-width:1000px){.service-page .scope-layout-mosaic .card-grid,.service-page .scope-layout-bands .card-grid,.service-page .scope-layout-tiles .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-page .scope-layout-mosaic .scope-card:first-child{grid-row:auto}.service-page .scope-layout-bands .scope-card:nth-child(2),.service-page .scope-layout-bands .scope-card:nth-child(3){margin-top:0}}
@media(max-width:650px){.service-page .scope-layout-mosaic .card-grid,.service-page .scope-layout-bands .card-grid,.service-page .scope-layout-tiles .card-grid{grid-template-columns:1fr}.service-page .scope-layout-stagger .scope-card:nth-child(even){transform:none}}


/* v6 complete mega-menu architecture */
@media (min-width:1181px){
  .navrow details>.mega{width:auto;max-width:none;gap:16px;padding:22px 22px 18px;align-items:start}
  .mega-services-full{width:min(1050px,calc(100vw - 40px));grid-template-columns:repeat(5,minmax(0,1fr));left:-330px}
  .mega-solutions-full{width:680px;grid-template-columns:repeat(2,minmax(0,1fr));left:-240px}
  .mega-types-full{width:720px;grid-template-columns:repeat(2,minmax(0,1fr));left:-300px}
  .mega-knowledge-full{width:860px;grid-template-columns:repeat(3,minmax(0,1fr));left:-500px}
  .mega-column{min-width:0}
  .mega-column a{font-size:.84rem;line-height:1.28;padding:7px 9px}
  .mega-label{margin-bottom:4px;border-bottom:1px solid var(--border)}
  .mega-overview{grid-column:1/-1!important;display:flex!important;align-items:center;justify-content:space-between;gap:18px;margin-top:2px;padding:12px 14px!important;background:#fbf5ed;border:1px solid var(--border);border-radius:12px!important;color:var(--wine-deep)}
  .mega-overview span{font-size:.78rem;color:var(--muted);font-weight:600}
}
@media(max-width:1180px){
  .mega-column{display:block}
  .mega-overview{display:block!important;margin-top:8px;padding:11px 10px!important;background:#fbf5ed;border-radius:10px!important}
  .mega-overview span{display:block;font-size:.78rem;color:var(--muted);margin-top:2px}
}


/* v7 mega-menu + hero typography correction */
/* Keep the primary hero elegant and readable rather than poster-sized. */
h1{
  font-size:clamp(1.95rem,2.7vw,3.15rem)!important;
  line-height:1.09!important;
  letter-spacing:-.022em!important;
  max-width:900px;
  text-wrap:balance;
}
.hero h1{
  font-size:clamp(2.05rem,2.85vw,3.25rem)!important;
  line-height:1.08!important;
  max-width:820px;
}
.hero .lead{
  font-size:clamp(.96rem,1vw,1.02rem)!important;
  line-height:1.7;
  max-width:680px;
}
.hero{padding-top:46px;padding-bottom:38px}
.hero-grid{gap:42px}

/* Desktop mega menus are positioned from the sticky header, not from the narrow trigger. */
@media (min-width:1181px){
  .site-header{overflow:visible}
  .navrow details{position:static}
  .navrow details>.mega{
    top:100%;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%);
    z-index:220;
    max-height:calc(100vh - 118px);
    overflow:auto;
    overscroll-behavior:contain;
    background:#fffdfb;
    border:1px solid rgba(123,24,54,.14);
    border-top:4px solid var(--champagne);
    box-shadow:0 24px 70px rgba(50,22,31,.16);
  }
  .mega-services-full{
    width:min(1280px,calc(100vw - 48px))!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:0!important;
    padding:24px 24px 18px!important;
  }
  .mega-services-full .mega-column{
    min-width:0;
    padding:0 20px;
  }
  .mega-services-full .mega-column:first-child{padding-left:6px}
  .mega-services-full .mega-column:last-of-type{padding-right:6px}
  .mega-services-full .mega-column + .mega-column{
    border-left:1px solid var(--border);
  }
  .mega-services-full .mega-label{
    display:block;
    min-height:38px;
    margin:0 0 8px;
    padding:0 8px 10px;
    border-bottom:1px solid var(--border);
    color:var(--wine-deep);
    font-size:.72rem;
    line-height:1.32;
    letter-spacing:.105em;
    text-transform:uppercase;
    font-weight:900;
    white-space:normal;
  }
  .mega-services-full .mega-column a{
    display:block;
    padding:7px 8px!important;
    border-radius:9px;
    font-size:.86rem!important;
    line-height:1.34!important;
    font-weight:600;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .mega-services-full .mega-column a:hover,
  .mega-services-full .mega-column a:focus-visible{
    background:#f8efed;
    color:var(--wine-deep);
  }
  .mega-services-full .mega-overview{
    grid-column:1/-1!important;
    margin-top:14px!important;
    padding:12px 16px!important;
  }
  .mega-solutions-full{width:min(760px,calc(100vw - 48px))!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mega-types-full{width:min(800px,calc(100vw - 48px))!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mega-knowledge-full{width:min(1040px,calc(100vw - 48px))!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:1180px){
  h1,.hero h1{font-size:clamp(1.95rem,4.8vw,2.85rem)!important}
  .hero .lead{font-size:1rem!important}
  .navrow details{position:relative}
  .navrow details>.mega{transform:none}
}
@media(max-width:650px){
  h1,.hero h1{font-size:clamp(1.85rem,8.5vw,2.35rem)!important;line-height:1.12!important}
  .hero .lead{font-size:.97rem!important;line-height:1.62}
  .hero{padding-top:28px;padding-bottom:30px}
}

/* v8 locality-directory readability correction
   Locality cards must remain readable whether the parent directory band is
   light sand/ivory or dark wine. Use an explicit card surface and ink palette. */
.locality-grid .locality-card{
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(123,24,54,.13)!important;
  color:var(--ink)!important;
  box-shadow:0 10px 28px rgba(62,30,40,.055);
}
.locality-grid .locality-card b{
  color:var(--wine-deep)!important;
  font-weight:800;
  line-height:1.25;
}
.locality-grid .locality-card small{
  color:#6b5b61!important;
  line-height:1.4;
  margin-top:3px;
}
.locality-grid .locality-card>span{
  background:var(--champagne)!important;
  color:var(--wine-deep)!important;
  box-shadow:inset 0 0 0 1px rgba(123,24,54,.08);
}
.locality-grid .locality-card:hover,
.locality-grid .locality-card:focus-visible{
  background:#fff!important;
  border-color:rgba(123,24,54,.3)!important;
  box-shadow:0 16px 34px rgba(62,30,40,.11);
  transform:translateY(-3px);
}
/* Keep directory copy itself readable on every semantic band. */
.creative-band.band-sand .locality-grid .locality-card,
.creative-band.band-ivory .locality-grid .locality-card,
.creative-band.band-white .locality-grid .locality-card,
.creative-band.band-blush .locality-grid .locality-card{
  color:var(--ink)!important;
}
@media(max-width:650px){
  .locality-grid .locality-card{padding:16px}
  .locality-grid .locality-card b{font-size:1rem}
}

/* Professional policy and compliance pages */
.policy-page .hero{padding:44px 0 38px}
.policy-page .hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:42px;align-items:start}
.policy-page .hero h1{font-size:clamp(2.35rem,4vw,3.8rem)!important;line-height:1.08!important;max-width:760px;letter-spacing:-.025em}
.policy-page .hero .lead{font-size:1.08rem;line-height:1.7;max-width:760px}
.policy-page .hero .panel{padding:26px 28px;box-shadow:none;background:#fffdfb}
.policy-page .hero .panel h2{font-size:1.35rem;line-height:1.25;margin:0 0 10px}
.policy-page .hero .panel p{margin:0;color:var(--muted);font-size:.96rem;line-height:1.7}
.policy-page .creative-band{padding:66px 0 76px}
.policy-page .section-head{max-width:820px;margin-bottom:34px}
.policy-page .section-head h2{font-size:clamp(1.85rem,2.7vw,2.65rem)!important;line-height:1.18}
.policy-page .policy-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.policy-page .policy-card-grid>.card{border-radius:18px;box-shadow:0 10px 28px rgba(62,30,40,.055);height:100%}
.policy-page .policy-card-grid .card-body{padding:28px 30px;display:flex;flex-direction:column;align-items:flex-start}
.policy-page .policy-card-grid .tag{margin:0 0 15px;padding:5px 10px;font-size:.72rem;letter-spacing:.055em;text-transform:uppercase}
.policy-page .policy-card-grid h2{font-size:clamp(1.35rem,1.7vw,1.65rem)!important;line-height:1.25!important;letter-spacing:-.012em;margin:0 0 14px;max-width:none;overflow-wrap:anywhere}
.policy-page .policy-card-grid p{font-size:.98rem;line-height:1.75;color:#5f5055;margin:0;max-width:70ch}
.policy-page .cta h2{font-size:clamp(1.8rem,2.8vw,2.7rem)!important}
@media(max-width:800px){
  .policy-page .hero-grid,.policy-page .policy-card-grid{grid-template-columns:1fr}
  .policy-page .hero h1{font-size:clamp(2rem,8.5vw,2.7rem)!important}
  .policy-page .hero .panel{padding:22px}
  .policy-page .creative-band{padding:54px 0 62px}
  .policy-page .policy-card-grid .card-body{padding:24px}
}

/* V9.1 persistent master budget calculator navigation */
.navrow nav>a.nav-budget-cta{background:var(--maroon)!important;color:#fff!important;border:1px solid var(--maroon)!important;border-radius:999px!important;padding:9px 14px!important;font-weight:800!important;box-shadow:0 8px 20px rgba(123,24,54,.12);display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.navrow nav>a.nav-budget-cta:hover,.navrow nav>a.nav-budget-cta:focus-visible,.navrow nav>a.nav-budget-cta.nav-active,.navrow nav>a.nav-budget-cta[aria-current="page"]{background:var(--wine-deep,#3d0d1d)!important;border-color:var(--wine-deep,#3d0d1d)!important;color:#fff!important}
.budget-nav-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#f1d49a;color:#3d0d1d;font-size:.72rem;font-weight:900;line-height:1}
.budget-nav-count[hidden]{display:none!important}
[data-add-service].budget-added{background:#1c7a48!important;border-color:#1c7a48!important;color:#fff!important}
@media(max-width:1180px){.navrow nav.open>a.nav-budget-cta{display:flex!important;width:100%;justify-content:center;margin-top:4px;padding:11px 16px!important}.mobile-actions{grid-template-columns:repeat(4,1fr)!important}.mobile-actions [data-mobile-budget]{background:#f8ecdf;color:var(--maroon);font-weight:900}}

/* V9.3 live budget nav: count + amount */
.navrow nav>a.nav-budget-cta{gap:9px!important;padding:7px 12px!important}.budget-nav-title{font-weight:900}.budget-nav-live{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.14);font-size:.68rem;line-height:1;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.budget-nav-count{display:none!important}
@media(max-width:1320px) and (min-width:1181px){.budget-nav-live{font-size:.62rem;padding:4px 6px}.navrow nav>a.nav-budget-cta{padding:7px 10px!important}}
/* END V9.3 live budget nav */

/* Approved luxury heritage logo — Option 9 */
.navrow{min-height:128px}
.brand.brand-logo{width:300px;min-width:300px;line-height:0}
.brand-logo picture{display:block;width:100%}
.brand-logo-img{display:block;width:300px;height:auto;max-height:118px;object-fit:contain;object-position:left center}
@media(max-width:1320px) and (min-width:1001px){
  .brand.brand-logo{width:250px;min-width:250px}
  .brand-logo-img{width:250px;max-height:104px}
  .navrow{gap:14px}
}
@media(max-width:1000px){
  .navrow{min-height:104px;gap:12px}
  .brand.brand-logo{width:min(250px,calc(100vw - 132px));min-width:0}
  .brand-logo-img{width:100%;height:auto;max-height:92px;object-fit:contain;object-position:left center}
  .nav-toggle{flex:0 0 auto}
}
