/* ==========================================================================
   DH Planning — shared stylesheet for the inner pages
   --------------------------------------------------------------------------
   Everything above the "INNER PAGE ADDITIONS" marker is copied verbatim from
   the homepage so the new pages are visually identical. Everything below it
   is new, and only affects the inner pages.

   To restyle every inner page at once, edit this one file.
   ========================================================================== */

:root{
  --navy:#0B2748;          /* lightened navy — readable on screen, still navy */
  --navy-2:#14325A;        /* raised surfaces on navy */
  --navy-3:#1E3F6E;        /* rules and hover states on navy */
  --ivory:#EEEFF2;         /* sampled from the monogram */
  --ivory-70:rgba(238,239,242,.72);
  --paper:#FFFFFF;
  --mist:#F3F4F6;          /* alternate light sections */
  --ink:#0E243F;           /* headings on light */
  --body:#3F4856;
  --muted:#6B7380;
  --rule:#DCE0E6;
  --rule-dark:rgba(238,239,242,.16);
  --site-red:#D9534B;      /* the red-line boundary from planning drawings */
  --max:1120px;
  --gutter:clamp(16px, 5.2vw, 48px);
  --radius:3px;
  --display:Montserrat,"Helvetica Neue",Arial,sans-serif;
  --text:Jost,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;width:100%;max-width:100%;overflow-x:hidden}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--text);font-size:clamp(16px,4.2vw,17px);line-height:1.62;color:var(--body);background:var(--paper);padding-top:calc(76px + env(safe-area-inset-top));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);width:100%;max-width:100%;overflow-x:visible}
h1,h2,h3,h4{color:var(--ink);margin:0}
h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.02em}
h1{font-size:clamp(1.85rem,8vw,4.1rem);line-height:1.08}
h2{font-size:clamp(1.4rem,5.2vw,2.45rem);line-height:1.18}
h3{font-size:1.08rem;font-weight:700;line-height:1.35;letter-spacing:-.005em}
p{margin:0 0 1em}
a{color:var(--ink)}
a:hover{text-decoration:none}
ul{margin:0;padding:0;list-style:none}
img,svg,video,iframe{display:block;max-width:100%;height:auto}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.lede{font-size:1.15rem;max-width:58ch}
.section{padding:96px 0}
.section.mist{background:var(--mist)}
.section-head{max-width:64ch;margin-bottom:48px}
.section-head h2{margin-bottom:14px}
.section-head p{margin-bottom:0}
[id]{scroll-margin-top:92px}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.on-navy :focus-visible{outline-color:var(--ivory)}
.skip{position:absolute;left:-999px;top:8px;background:var(--ivory);color:var(--navy);padding:10px 14px;border-radius:var(--radius);z-index:2000}
.skip:focus{left:8px}

/* Header — logo far left; hamburger + ivory quote pinned far right; narrow panel nav */
.site-header{position:fixed;top:0;left:0;right:0;height:calc(76px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);z-index:1000;background:var(--navy);border-bottom:1px solid var(--rule-dark);overflow:visible}
.site-header .wrap{display:block;height:100%;max-width:none;width:100%;padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right));position:relative;box-sizing:border-box}
.brand{position:relative;z-index:2;display:inline-flex;align-items:center;gap:14px;height:100%;text-decoration:none;color:var(--ivory)}
.brand img{height:58px;width:auto;display:block}
.header-actions{position:absolute;top:50%;right:max(12px, env(safe-area-inset-right));transform:translateY(-50%);z-index:3;display:flex!important;align-items:center;gap:10px;flex-shrink:0;visibility:visible!important;opacity:1!important;pointer-events:auto}
.header-cta{display:inline-flex!important;align-items:center;justify-content:center;background:var(--ivory)!important;color:var(--navy)!important;padding:11px 20px;border-radius:var(--radius);text-decoration:none;font-weight:500;font-size:.98rem;line-height:1.2;white-space:nowrap;min-height:44px;box-sizing:border-box;border:0;visibility:visible!important;opacity:1!important}
.header-cta:hover{background:#fff!important;color:var(--navy)!important}
.nav{position:absolute;top:100%;left:auto;right:0;width:min(320px, calc(100% - 24px));max-width:360px;background:var(--navy);border:1px solid var(--rule-dark);border-top:0;display:none;padding:10px 14px calc(18px + env(safe-area-inset-bottom));z-index:999;max-height:min(100dvh, calc(100vh - 64px));overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:-8px 12px 28px rgba(11,39,72,.28)}
.nav.is-open{display:block}
.nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}
.nav a{display:flex;align-items:center;padding:13px 4px;color:var(--ivory);text-decoration:none;font-weight:500;font-size:.98rem;border-bottom:1px solid var(--rule-dark);min-height:44px;border-radius:0}
.nav a:hover,.nav a.is-current{border-bottom-color:var(--ivory)}
.nav-group{margin-top:0;padding-top:0;border-top:0}
.nav-group-toggle{display:flex;align-items:center;width:100%;margin:0;padding:13px 4px;background:transparent;border:0;border-bottom:1px solid var(--rule-dark);color:var(--ivory);font:inherit;font-weight:500;font-size:.98rem;text-align:left;cursor:pointer;min-height:44px}
.nav-group-toggle::after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid var(--ivory);border-bottom:2px solid var(--ivory);transform:rotate(45deg) translateY(-2px);flex:0 0 auto}
.nav-group.is-open .nav-group-toggle::after{transform:rotate(225deg) translateY(-2px)}
.nav-group-links{padding-left:16px}
.nav-group-links[hidden]{display:none!important}
.nav-group-links a{font-size:.9rem;padding-top:11px;padding-bottom:11px;font-weight:400}
.nav-primary-after{margin-top:4px}
.menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:transparent;border:1px solid var(--ivory-70);border-radius:var(--radius);padding:10px 12px;font:inherit;font-weight:500;color:var(--ivory);cursor:pointer;margin-left:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;visibility:visible!important;opacity:1!important}
.menu-toggle-bars{display:block;position:relative;width:20px;height:2px;background:var(--ivory);border-radius:1px}
.menu-toggle-bars::before,.menu-toggle-bars::after{display:block;position:absolute;left:0;width:20px;height:2px;background:var(--ivory);border-radius:1px;content:"";transition:transform .2s,opacity .2s}
.menu-toggle-bars::before{top:-6px}
.menu-toggle-bars::after{top:6px}
.menu-toggle.is-open .menu-toggle-bars{background:transparent}
.menu-toggle.is-open .menu-toggle-bars::before{top:0;transform:rotate(45deg)}
.menu-toggle.is-open .menu-toggle-bars::after{top:0;transform:rotate(-45deg)}

/* Buttons */
.btn{display:inline-block;padding:15px 26px;border-radius:var(--radius);font-weight:500;font-size:1rem;letter-spacing:.01em;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:inherit;line-height:1.2}
.btn-primary{background:var(--navy);color:var(--ivory);border-color:var(--navy)}
.btn-primary:hover{background:var(--navy-3);border-color:var(--navy-3)}
.btn-secondary{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-secondary:hover{background:var(--ink);color:var(--ivory)}
.on-navy .btn-primary{background:var(--ivory);color:var(--navy);border-color:var(--ivory)}
.on-navy .btn-primary:hover{background:#fff;border-color:#fff}
.on-navy .btn-secondary{color:var(--ivory);border-color:var(--ivory-70)}
.on-navy .btn-secondary:hover{background:var(--ivory);color:var(--navy);border-color:var(--ivory)}

/* Fees table (reused on inner pages) */
.fees{border-top:1px solid var(--ink)}
.fee{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;align-items:start;padding:26px 0;border-bottom:1px solid var(--rule)}
.fee h3{margin-bottom:4px}
.fee .desc{margin:0;color:var(--muted)}
.fee .label{display:block;font-size:.82rem;color:var(--muted);letter-spacing:.03em;margin-bottom:2px}
.fee .now{color:var(--ink);font-weight:800;font-size:1.5rem;font-family:var(--display);line-height:1.1;letter-spacing:-.02em}
.fees-note{margin-top:26px;max-width:70ch;color:var(--muted);font-size:.95rem}

/* FAQ */
.faq{max-width:78ch}
.faq details{border-top:1px solid var(--rule)}
.faq details:last-child{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;padding:18px 44px 18px 0;font-weight:500;color:var(--ink);position:relative;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:11px;height:11px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{margin:0 0 18px;max-width:70ch}

/* Footer */
.site-footer{background:var(--navy);color:var(--ivory-70);padding:64px 0 40px;font-size:.95rem}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:32px;margin-bottom:44px}
.site-footer h3{color:var(--ivory);font-size:1rem;margin-bottom:12px}
.site-footer a{color:var(--ivory);text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer li{margin-bottom:6px}
.site-footer address{font-style:normal;margin-top:10px;line-height:1.55}
.site-footer .brand{margin-bottom:16px}
.site-footer .brand img{height:72px}
.small-print{border-top:1px solid var(--rule-dark);padding-top:24px;color:rgba(238,239,242,.55);font-size:.85rem;max-width:90ch}
.small-print p{margin-bottom:6px}

/* ==========================================================================
   INNER PAGE ADDITIONS — new styles, homepage unaffected
   ========================================================================== */

/* Page head: a compact version of the hero, navy type on white */
.page-head{padding:64px 0 48px;border-bottom:1px solid var(--rule)}
.page-head .eyebrow{display:block;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;font-weight:500}
.page-head h1{color:var(--navy);font-size:clamp(2.1rem,3.9vw,3.2rem);margin-bottom:22px;max-width:19ch}
.page-head .lede{margin-bottom:28px}
.page-head .hero-actions{display:flex;flex-wrap:wrap;gap:12px}

/* Breadcrumbs */
.crumbs{padding:18px 0 0;font-size:.9rem;color:var(--muted)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li::after{content:"/";margin-left:6px;color:var(--rule)}
.crumbs li:last-child::after{content:""}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--ink);text-decoration:underline}

/* Two-column body: prose plus a sticky aside */
.page-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:72px;align-items:start;padding:72px 0}
.prose{max-width:70ch}
.prose h2{margin:48px 0 16px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.2rem;margin:32px 0 10px}
.prose ul.ticks{margin:0 0 1.4em}
.prose ul.ticks li{position:relative;padding:0 0 10px 26px}
.prose ul.ticks li::before{content:"";position:absolute;left:2px;top:.62em;width:9px;height:9px;border-right:1.5px solid var(--navy);border-bottom:1.5px solid var(--navy);transform:rotate(45deg) translateY(-50%);transform-origin:center}
.prose ol{margin:0 0 1.4em;padding-left:1.3em}
.prose ol li{margin-bottom:10px}
.prose strong{color:var(--ink);font-weight:600}
.prose a{color:var(--navy);text-decoration:underline;text-underline-offset:2px}

/* Key facts panel — the at-a-glance box near the top of each page */
.keyfacts{border-top:1px solid var(--ink);margin:0 0 40px}
.keyfacts dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:0}
.keyfacts dt{padding:13px 24px 13px 0;border-bottom:1px solid var(--rule);font-weight:500;color:var(--ink);font-size:.95rem;white-space:nowrap}
.keyfacts dd{padding:13px 0;border-bottom:1px solid var(--rule);margin:0}

/* Callout — a single point worth pulling out of the flow */
.callout{border-left:2px solid var(--site-red);padding:4px 0 4px 22px;margin:32px 0;color:var(--ink)}
.callout p{margin-bottom:0}
.callout .callout-label{display:block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--site-red);font-weight:600;margin-bottom:6px}

/* Aside: quote box and related-page list */
.aside{position:sticky;top:104px;display:grid;gap:32px}
.aside-card{border:1px solid var(--rule);padding:28px}
.aside-card.navy{background:var(--navy);border-color:var(--navy);color:var(--ivory-70)}
.aside-card.navy h3,.aside-card.navy p{color:var(--ivory)}
.aside-card.navy p{color:var(--ivory-70)}
.aside-card h3{font-size:1.15rem;margin-bottom:10px}
.aside-card p{font-size:.95rem;margin-bottom:18px}
.aside-card .btn{width:100%;text-align:center;padding:13px 18px}
.aside-links li{padding:11px 0;border-top:1px solid var(--rule)}
.aside-links li:last-child{border-bottom:1px solid var(--rule)}
.aside-links a{text-decoration:none;font-weight:500;color:var(--ink);font-size:.98rem}
.aside-links a:hover{text-decoration:underline}
.aside-contact{font-size:.95rem}
.aside-contact a{display:block;font-weight:500;color:var(--ink);text-decoration:none;font-size:1.05rem;margin-bottom:4px}
.aside-contact a:hover{text-decoration:underline}

/* Related pages grid at the foot of the article */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.related-item{border-top:1px solid var(--ink);padding-top:20px}
.related-item h3{margin-bottom:8px}
.related-item h3 a{text-decoration:none}
.related-item h3 a:hover{text-decoration:underline}
.related-item p{font-size:.95rem;color:var(--muted);margin-bottom:0}

/* Closing call to action band */
.cta-band{background:var(--navy);color:var(--ivory-70);padding:72px 0}
.cta-band h2{color:var(--ivory);margin-bottom:14px;max-width:20ch}
.cta-band p{max-width:52ch;margin-bottom:28px}
.cta-band .hero-actions{display:flex;flex-wrap:wrap;gap:12px}


/* Fluid / phone fit — avoid body overflow clipping fixed header (Safari) */
html{overflow-x:hidden}
body{overflow-x:visible}
.site-header{z-index:1000;overflow:visible}
.menu-toggle{min-width:44px;min-height:44px;display:inline-flex!important;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.btn,.nav a,.faq summary{touch-action:manipulation}
.field input,.field select,.field textarea{font-size:16px;max-width:100%;box-sizing:border-box}

@media (max-width:980px){
  .page-body{grid-template-columns:1fr;gap:56px;padding:52px 0}
  .aside{position:static}
  .related{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .fee{grid-template-columns:1fr;gap:8px}
}
@media (max-width:800px){
  body{padding-top:calc(64px + env(safe-area-inset-top))}
  .site-header{height:calc(64px + env(safe-area-inset-top))}
  .brand img{height:clamp(40px,12vw,48px)}
  .header-cta{padding:10px 16px;font-size:.92rem}
  .section{padding:clamp(40px,12vw,60px) 0}
  .page-head{padding:clamp(28px,8vw,44px) 0 clamp(24px,6vw,36px)}
  .page-head h1{max-width:none;font-size:clamp(1.7rem,8.5vw,2.6rem)}
  .keyfacts dl{grid-template-columns:1fr}
  .keyfacts dt{padding-bottom:0;border-bottom:0;white-space:normal}
  .footer-grid{grid-template-columns:1fr}
  .hero-actions,.cta-band .hero-actions,.page-head .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn,.cta-band .hero-actions .btn,.page-head .hero-actions .btn{width:100%;text-align:center;box-sizing:border-box}
  .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
  .aside-card{padding:clamp(16px,5vw,22px)}
  .callout{padding:clamp(12px,4vw,20px)}
  .crumbs{overflow-wrap:anywhere}
  .lede{font-size:clamp(1rem,4.1vw,1.15rem)}
  .wrap{overflow-wrap:anywhere}
  .page-body{grid-template-columns:1fr;min-width:0}
  .prose,.aside{min-width:0}
}

/* Social links in the footer (added 16 September 2026) */
.social{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.social a{display:inline-flex;align-items:baseline;gap:8px;padding:9px 14px;border:1px solid rgba(238,239,242,.35);border-radius:var(--radius);text-decoration:none;font-weight:500}
.social a:hover{border-color:var(--ivory);text-decoration:none}
.social a span:not(.sr-only){color:var(--ivory-70);font-weight:400;font-size:.9rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* The quote button in navy sidebar cards was navy on navy; show it in ivory (added 16 September 2026) */
.aside-card.navy .btn-primary{background:var(--ivory);color:var(--navy);border-color:var(--ivory)}
.aside-card.navy .btn-primary:hover{background:#fff;border-color:#fff}
.aside-card.navy :focus-visible{outline-color:var(--ivory)}

/* Accessibility contrast: small grey text on light grey sections, and the red callout label (added 16 September 2026) */
:root{--muted:#676F7C}
.callout .callout-label{color:#BD4841}


/* MODULAR HEADER LOCK — actions pinned; closed panel never paints in the bar */
.site-header{background:var(--navy)!important;overflow:visible!important}
.site-header .wrap{position:relative!important;display:block!important;max-width:none!important;width:100%!important;box-sizing:border-box!important}
.header-actions{position:absolute!important;top:50%!important;right:max(12px, env(safe-area-inset-right))!important;left:auto!important;transform:translateY(-50%)!important;z-index:3!important;display:flex!important;align-items:center!important;gap:10px!important;visibility:visible!important;opacity:1!important;width:auto!important;height:auto!important;overflow:visible!important;pointer-events:auto!important}
.header-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:var(--ivory)!important;color:var(--navy)!important;padding:11px 20px!important;border-radius:var(--radius)!important;text-decoration:none!important;font-weight:500!important;font-size:.98rem!important;line-height:1.2!important;white-space:nowrap!important;min-height:44px!important;box-sizing:border-box!important;border:0!important;visibility:visible!important;opacity:1!important}
.header-cta:hover{background:#fff!important;color:var(--navy)!important}
.menu-toggle{display:inline-flex!important;visibility:visible!important;opacity:1!important;border:1px solid var(--ivory-70)!important;color:var(--ivory)!important;background:transparent!important}
.menu-toggle-bars,.menu-toggle-bars::before,.menu-toggle-bars::after{background:var(--ivory)!important}
.nav{display:none!important;position:absolute!important;top:100%!important;left:auto!important;right:0!important;flex-direction:column;width:min(320px, calc(100% - 24px))!important;max-width:360px!important;background:var(--navy);z-index:999;max-height:min(100dvh, calc(100vh - 64px));overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--rule-dark);border-top:0;box-shadow:-8px 12px 28px rgba(11,39,72,.28)}
.nav[hidden]{display:none!important}
.nav.is-open{display:block!important}
.nav.is-open[hidden]{display:block!important}
.nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}
.nav-group{margin-top:0;padding-top:0;border-top:0!important}
.nav-group-toggle{display:flex!important;width:100%;color:var(--ivory)!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--rule-dark)!important}
.nav-group-links{padding-left:16px!important}
.nav-group-links[hidden]{display:none!important}
.nav-group-links a{font-size:.9rem!important;font-weight:400!important}
.nav-primary-after{margin-top:4px}
html.nav-open{overflow:hidden}

/* Areas directory + scrollable hamburger (19 Sep 2026). Header buttons stay outside the panel. */
.nav,.nav.is-open{max-height:calc(100dvh - 76px - env(safe-area-inset-top))!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
@media (max-width:800px){
  .nav,.nav.is-open{max-height:calc(100dvh - 64px - env(safe-area-inset-top))!important}
}
.area-region{border-top:1px solid var(--rule)}
.area-region>summary{cursor:pointer;list-style:none;padding:16px 32px 16px 0;font-family:var(--display);font-weight:800;font-size:1.2rem;color:var(--ink);position:relative;line-height:1.3}
.area-region>summary::-webkit-details-marker{display:none}
.area-region>summary::after{content:"";position:absolute;right:6px;top:22px;width:10px;height:10px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg)}
.area-region[open]>summary::after{transform:rotate(-135deg);top:26px}
.area-region-body{padding:0 0 8px}
.county-group{margin:0;border-top:1px solid var(--rule)}
.county-group>summary{cursor:pointer;list-style:none;padding:14px 28px 14px 0;font-weight:700;font-size:1.05rem;position:relative;color:var(--ink)}
.county-group>summary::-webkit-details-marker{display:none}
.county-group>summary::after{content:"";position:absolute;right:6px;top:18px;width:8px;height:8px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg)}
.county-group[open]>summary::after{transform:rotate(-135deg);top:22px}
.county-group h3{margin:0 0 6px;font-size:1.05rem}
.county-note{color:var(--muted);font-size:.95rem;margin:0 0 8px}
.authority-list{margin:0 0 4px}
.authority-list li{padding:10px 0;border-top:1px solid var(--rule)}
.prose .authority-list a{font-weight:600;text-decoration:none;color:var(--navy)}
.prose .authority-list a:hover{text-decoration:underline}
.authority-list .towns{display:block;color:var(--muted);font-weight:400;font-size:.92rem;margin-top:2px}
.authority-meta{color:var(--muted);font-size:.95rem;margin:-6px 0 12px}

html{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,select,[contenteditable="true"]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
img{-webkit-user-drag:none;user-drag:none}

/* Quote form on every page that does not already have one (11 Oct 2026) */
.page-quote{background:var(--mist);padding:clamp(48px,8vw,80px) 0;border-top:1px solid var(--rule)}
.page-quote h2{margin-bottom:10px;max-width:18ch}
.page-quote .lede{margin-bottom:28px}
.page-quote .field{margin-bottom:16px}
.page-quote .field label{display:block;font-weight:500;color:var(--ink);margin-bottom:6px;font-size:.95rem}
.page-quote .field input,.page-quote .field select,.page-quote .field textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid #C5CAD3;border-radius:var(--radius);background:#fff;color:var(--ink)}
.page-quote .field textarea{min-height:120px;resize:vertical}
.page-quote .field input:focus,.page-quote .field select:focus,.page-quote .field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(11,39,72,.12)}
.page-quote .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.page-quote .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.page-quote .form-note{color:var(--muted);font-size:.92rem;margin:12px 0 0}
.page-quote .form-success{display:none}
.page-quote .form-success h3{margin-bottom:8px}
@media (max-width:800px){
  .page-quote .field-row{grid-template-columns:1fr}
}

/* PageSpeed 12 Oct 2026: footer links underlined, tap targets 48px, reserved hero height */
.small-print{color:rgba(238,239,242,.82)}
.small-print a{color:var(--ivory);text-decoration:underline;text-underline-offset:3px}
.site-footer li a,.site-footer .social a{display:inline-flex;align-items:center;min-height:48px;padding-top:8px;padding-bottom:8px}
.hero-actions{min-height:52px}

.table-wrap{margin:8px 0 18px}
.data{width:100%;border-collapse:collapse;font-size:.98rem;line-height:1.5}
.data caption{text-align:left;font-size:.88rem;color:var(--muted);padding:0 0 10px}
.data th,.data td{text-align:left;vertical-align:top;padding:13px 18px 13px 0;border-bottom:1px solid var(--rule)}
.data thead th{font-family:var(--display);font-weight:700;color:var(--ink);font-size:.92rem;border-bottom:1px solid var(--ink)}
.data tbody th{font-weight:500;color:var(--ink)}
.data b{color:var(--ink);font-weight:600}
.source{font-size:.88rem;color:var(--muted);margin:8px 0 22px}
.source a{color:var(--navy)}
@media (max-width:640px){
  .stack .data,.stack .data thead,.stack .data tbody,.stack .data tr,.stack .data th,.stack .data td,.stack .data caption{display:block;width:auto}
  .stack .data thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .stack .data tbody tr{padding:14px 0;border-bottom:1px solid var(--rule)}
  .stack .data tbody th,.stack .data tbody td{border:0;padding:3px 0}
  .stack .data td::before{content:attr(data-label);display:block;font-size:.82rem;color:var(--muted)}
}

/* Planning Video Blog & YouTube embeds (21 Oct 2026) */
.video-embed{position:relative;width:100%;aspect-ratio:16/9;background:#0B2748;border-radius:var(--radius);overflow:hidden;margin:20px 0;box-shadow:0 12px 32px rgba(11,39,72,.18)}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-chapters{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:16px 0 24px;padding:0;list-style:none}
.video-chapters li{margin:0;padding:10px 14px;background:var(--mist);border:1px solid var(--rule);border-radius:var(--radius);font-size:.92rem}
.video-chapters a{font-weight:700;color:var(--navy);text-decoration:none;margin-right:6px}
.video-chapters a:hover{text-decoration:underline}
.video-filter-bar{background:var(--mist);border:1px solid var(--rule);border-radius:var(--radius);padding:20px;margin:0 0 28px}
.video-search-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.video-search-input{flex:1 1 260px;font:inherit;font-size:16px;padding:11px 14px;border:1px solid #C5CAD3;border-radius:var(--radius);background:#fff;color:var(--ink)}
.video-filter-pills{display:flex;flex-wrap:wrap;gap:8px}
.video-pill{font:inherit;font-size:.88rem;font-weight:500;padding:7px 14px;border:1px solid #C5CAD3;border-radius:999px;background:#fff;color:var(--ink);cursor:pointer;min-height:38px}
.video-pill.is-active,.video-pill:hover{background:var(--navy);color:var(--ivory);border-color:var(--navy)}
.video-card{border:1px solid var(--rule);border-radius:var(--radius);padding:clamp(18px,3.5vw,28px);margin-bottom:24px;background:#fff}
.video-card.featured{border-top:4px solid var(--navy)}
.video-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.88rem;color:var(--muted);margin-bottom:10px}
.video-badge{display:inline-block;padding:2px 9px;background:var(--navy);color:var(--ivory);border-radius:3px;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.video-badge.playlist{background:#1D5C42}
.video-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding:0;list-style:none}
.video-tag{font-size:.82rem;padding:4px 10px;background:var(--mist);border:1px solid var(--rule);border-radius:3px;color:var(--ink)}
.video-empty{display:none;padding:24px;background:var(--mist);border-radius:var(--radius);text-align:center}


