/* =========================================================
   Prime Estimation — core pages layer
   Loads after style.css and service.css and reuses their
   tokens, cards, timeline, tables, FAQ and CTA. Only blocks
   the about, contact, estimate, hub and resource pages add
   live here.

   1. Compact hero + hero panel
   2. Lead forms
   3. Side cards
   4. Hub cards (services, trades)
   5. Location cards
   6. Contact + map
   7. Pricing extras
   8. Blog + sitemap
   9. Responsive
   ========================================================= */

/* ---------- 1. Compact hero ---------- */
.page-hero.is-compact{padding-bottom:64px}
.page-hero.is-compact .page-hero-grid{align-items:center}
.page-hero.is-plain .page-hero-copy{position:relative;z-index:2;max-width:760px}
.page-hero-copy p a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.page-hero-copy p a:hover{color:var(--teal-bright)}

/* ---------- service-page extras ---------- */
.feature-card p + p{margin-top:12px}
.stay-card.is-cta{background:var(--tint);border-color:rgba(20,116,106,.22)}
.stay-card.is-cta .side-link{margin-top:auto;padding-top:14px}
.missed-item.is-note{background:rgba(67,175,150,.12);border-color:rgba(67,175,150,.35)}
.tick-list.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 28px;margin-top:22px}
.tick-list.two-col li{font-size:var(--fs-sm)}
.tick-list strong{color:var(--heading);font-weight:600}
.areas-foot a{color:var(--teal-bright)}
.loc-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sector-grid.related-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.callout.reveal{margin-top:var(--gap)}
/* trade rows with no page of their own yet: same look, no link affordance */
.hub-link.is-static{cursor:default}
.hub-link.is-static:hover{color:var(--heading)}
.hub-link.is-static:hover .mi{background:var(--tint);color:var(--teal)}
.process-extra{margin-top:var(--gap)}
.data-card .tick-list li{font-size:var(--fs-sm)}
.data-note{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--heading)}
.data-card.is-dark{
  background:linear-gradient(165deg,var(--navy),var(--navy-deep));border:none;color:rgba(255,255,255,.72);
  justify-content:center;
}
.data-card.is-dark h3{color:#fff}
.data-card.is-dark .btn{align-self:flex-start;margin-top:8px}
.areas-card .side-contact a{color:#fff}
.areas-card .side-contact a:hover{color:var(--teal-bright)}
.price-cta .incl-grid{margin:10px 0 14px}
.price-cta .incl-grid li{font-size:var(--fs-sm);margin-bottom:6px}
table.sample-calc td:last-child,table.sample-calc th:last-child{text-align:right;white-space:nowrap}
table.sample-calc td:nth-child(3){font-variant-numeric:tabular-nums;color:var(--heading)}
/* service & trade pages built from content docs */
.stay-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.stay-card .card-list{margin-top:6px}
.stay-card .card-list li{font-size:var(--fs-sm);margin-bottom:6px}
.stay-card p + p{margin-top:10px}
.stay-card .table-wrap{margin-top:12px}
.prose-block{max-width:840px;margin:0 auto 22px;text-align:center}
.prose-block p{font-size:var(--fs-lead);margin:0}
.stay-grid + .prose-block,.table-wrap + .prose-block,.steps + .prose-block,.list-box + .prose-block,.chip-list + .prose-block{margin-top:30px}
.prose-block + .stay-grid,.prose-block + .table-wrap,.prose-block + .list-box,.prose-block + .steps,.prose-block + .chip-list{margin-top:8px}
.chip-list.centered{justify-content:center;max-width:980px;margin:0 auto}
.chip-list.centered li{padding:9px 18px}
.list-box{max-width:980px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 30px}
.section-soft .list-box{background:#fff}
.list-box .tick-list li{font-size:var(--fs-sm)}
.inline-link{font-weight:600;white-space:nowrap}
.btn-row{text-align:center;margin-top:32px}
.page-hero .hero-list li{color:rgba(255,255,255,.78);font-size:var(--fs-sm)}
.page-hero .hero-list{margin:6px 0 4px}
.why-btn{margin-top:30px}
.deliver-copy .callout{margin-top:18px}
.table-wrap + .table-wrap{margin-top:20px}
@media (max-width:860px){.stay-grid.cols-2{grid-template-columns:minmax(0,1fr)}}

/* location pages */
.loc-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.loc-chips a{
  display:inline-flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border-radius:999px;
  background:#fff;border:1px solid var(--line);font-family:var(--ff-head);font-size:var(--fs-sm);
  font-weight:500;color:var(--heading);transition:all .25s ease;
}
.loc-chips a:hover{border-color:var(--teal);color:var(--teal-dark);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.loc-chips .mi{width:30px;height:30px;padding:6px}
.loc-chips a:hover .mi{background:var(--teal);color:#fff}
.metro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.metro-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 24px 22px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.metro-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:rgba(20,116,106,.28)}
.metro-card h3{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.metro-card h3 .mi{width:34px;height:34px;padding:7px}
.metro-card p{margin:0;font-size:var(--fs-sm)}
table.rules td:first-child{width:24%}
table.rules td:nth-child(3){color:var(--heading)}
.market-intro{max-width:860px;margin:0 auto 34px;text-align:center;font-size:var(--fs-lead)}
@media (max-width:1180px){.metro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.metro-grid{grid-template-columns:minmax(0,1fr)}}

/* construction takeoff page */
.hero-small{margin:14px 0 0;font-size:var(--fs-sm);color:rgba(255,255,255,.55)}
.data-card .fc-ico,.data-card .areas-ico{margin-bottom:16px}
.data-card p:last-child{margin-bottom:0}
.covers-row .data-card.is-dark{justify-content:flex-start}
.covers-intro{margin:34px auto 18px}
.covers-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
.sample-head{margin:56px auto 24px}
.sample-head h3{font-size:1.2rem;margin-bottom:6px}
table.sample-lines td:nth-child(n+3):nth-child(-n+6),table.sample-lines th:nth-child(n+3):nth-child(-n+6){text-align:right}
table.sample-lines td{font-variant-numeric:tabular-nums}
table.sample-lines small{display:block;font-size:var(--fs-xs);color:var(--muted);font-weight:400}
.fb-card.fb-cta{background:rgba(67,175,150,.14);border-color:rgba(67,175,150,.4)}
.fb-card.fb-cta .btn{margin-top:auto;align-self:flex-start}
.fb-card.fb-cta p{margin-bottom:18px}
.fb-card p a{color:var(--teal-bright)}
.check-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;counter-reset:none}
.check-card{
  position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:26px 22px 22px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.check-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:rgba(20,116,106,.28)}
/* dashed connector between consecutive steps on wide screens */
.check-card:not(:last-child)::after{
  content:"";position:absolute;top:44px;right:-17px;width:18px;height:2px;
  background:repeating-linear-gradient(90deg,rgba(20,116,106,.5) 0 4px,transparent 4px 8px);
}
.check-num{
  display:grid;place-items:center;width:40px;height:40px;border-radius:12px;margin-bottom:16px;
  background:var(--navy);color:#fff;font-family:var(--ff-head);font-weight:700;font-size:1rem;
}
.check-card:hover .check-num{background:var(--teal)}
.check-card h3{font-size:.95rem;margin-bottom:8px}
.check-card p{margin:0;font-size:var(--fs-sm)}
@media (max-width:1180px){
  .check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .check-card::after{display:none}
}
@media (max-width:860px){.covers-list{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.check-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:1180px){.loc-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.sector-grid.related-3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.tick-list.two-col,.loc-grid-4{grid-template-columns:minmax(0,1fr)}}

/* cards that are whole links keep body-text colour */
a.stay-card,a.stay-card:hover{color:var(--text)}
.pf-body > p:not([class]){font-size:var(--fs-sm)}

.hero-panel{
  position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius-lg);padding:28px 28px 30px;backdrop-filter:blur(6px);
}
.hero-panel h2{color:#fff;font-size:1.12rem;margin-bottom:18px}
.hero-panel-list{display:grid;gap:16px}
.hero-panel-list li{display:flex;gap:14px;align-items:flex-start;font-size:var(--fs-sm);color:rgba(255,255,255,.7);line-height:1.55}
.hero-panel-list li > span{display:block}
.hero-panel-list svg{
  width:38px;height:38px;padding:9px;border-radius:10px;flex-shrink:0;
  background:rgba(67,175,150,.18);color:var(--teal-bright);
}
.hero-panel-list strong{display:block;color:#fff;font-family:var(--ff-head);font-weight:600;font-size:.9rem}
.hero-panel-list a{color:#fff}
.hero-panel-list a:hover{color:var(--teal-bright)}

/* ---------- 2. Lead forms ---------- */
.form-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:40px;align-items:start}
.lead-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);padding:36px 36px 32px;
}
.lead-card > h2{font-size:1.4rem;margin-bottom:6px}
.lead-card > p{font-size:var(--fs-sm);color:var(--muted);margin:0}

.lead-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin-top:26px}
.lead-form .span-2{grid-column:1 / -1}
.form-group-title{
  grid-column:1 / -1;margin:8px 0 -2px;padding-top:20px;border-top:1px solid var(--line);
  font-family:var(--ff-head);font-size:var(--fs-xs);font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--teal);
}
.lead-form > .form-group-title:first-of-type{margin-top:0;padding-top:0;border-top:none}

fieldset.field{border:0;padding:0;margin:0;min-width:0}
.field-label{
  padding:0;margin-bottom:2px;font-family:var(--ff-head);font-size:var(--fs-xs);
  font-weight:500;color:var(--heading);
}
.field textarea{
  font-family:var(--ff-body);font-size:.86rem;color:var(--heading);line-height:1.6;
  padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;
  width:100%;min-height:130px;resize:vertical;transition:border-color .25s ease,box-shadow .25s ease;
}
.field textarea::placeholder{color:#A9B9C4}
.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(20,116,106,.13)}
.field.has-error textarea{border-color:#D95C5C;box-shadow:0 0 0 3px rgba(217,92,92,.10)}
.field .hint{font-size:var(--fs-xs);color:var(--muted);margin:0;line-height:1.5}

/* bots fill it, people never see it */
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* checkbox and radio pills */
.choice-list{display:flex;flex-wrap:wrap;gap:8px}
.field .choice{position:relative;display:inline-flex;font:inherit;color:inherit}
.choice input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.choice span{
  display:inline-flex;align-items:center;gap:7px;padding:8px 15px;cursor:pointer;
  border:1px solid var(--line);border-radius:999px;background:var(--bg-soft);
  font-family:var(--ff-body);font-size:var(--fs-sm);font-weight:400;color:var(--heading);line-height:1.4;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.choice span::before{
  content:"";width:8px;height:8px;border-radius:50%;background:transparent;
  box-shadow:inset 0 0 0 1.5px #B9C9D3;transition:all .2s ease;
}
/* outranks style.css's red required-asterisk rule (.field label span) */
.field .choice span{color:var(--heading)}
.choice:hover span{border-color:rgba(20,116,106,.4)}
.field .choice input:checked + span{background:var(--tint);border-color:var(--teal);color:var(--teal-dark);font-weight:500}
.choice input:checked + span::before{background:var(--teal);box-shadow:none}
.choice input:focus-visible + span{box-shadow:0 0 0 3px rgba(20,116,106,.2)}

/* file picker */
.file-drop{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;text-align:center;padding:30px 20px;border:1.5px dashed #BFD3DB;border-radius:12px;
  background:var(--bg-soft);transition:background .25s ease,border-color .25s ease;
}
.file-drop:hover,.file-drop.is-drag{border-color:var(--teal);background:var(--tint)}
.file-drop:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(20,116,106,.13)}
.file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.file-drop svg{width:34px;height:34px;color:var(--teal);margin-bottom:4px}
.file-drop strong{font-family:var(--ff-head);font-size:.92rem;font-weight:600;color:var(--heading)}
.file-drop small{font-size:var(--fs-xs);color:var(--muted)}
.file-list{margin:6px 0 0;font-size:var(--fs-xs);font-weight:500;color:var(--teal-dark);word-break:break-word}
.file-drop.has-error{border-color:#D95C5C}

.form-foot{
  grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:18px;
  flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--line);
}
.form-assure{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--fs-xs);color:var(--muted);max-width:420px;line-height:1.5}
.form-assure svg{width:15px;height:15px;color:var(--teal);flex-shrink:0}
.btn[disabled]{opacity:.65;cursor:wait;transform:none}

/* ---------- 3. Side cards ---------- */
.side-stack{display:grid;gap:20px;position:sticky;top:122px}
.side-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 26px 24px}
.side-card h3{margin-bottom:14px}
.side-card p{font-size:var(--fs-sm)}
.side-card p:last-child,.side-card .tick-list li:last-child{margin-bottom:0}
.side-card .tick-list li{font-size:var(--fs-sm)}
.side-card.is-dark{
  position:relative;overflow:hidden;border:none;color:rgba(255,255,255,.72);
  background:linear-gradient(165deg,var(--navy),var(--navy-deep));
}
.side-card.is-dark::before{
  content:"";position:absolute;right:-50px;top:-60px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(67,175,150,.35),rgba(67,175,150,0) 70%);
}
.side-card.is-dark > *{position:relative}
.side-card.is-dark h3{color:#fff}
.side-card.is-dark a:not(.btn){color:var(--teal-bright)}
.side-card.is-dark a:not(.btn):hover{color:#fff}
.side-contact{display:grid;gap:10px;margin-top:16px}
.side-contact li{display:flex;align-items:center;gap:10px;font-size:var(--fs-sm)}
.side-contact svg{width:16px;height:16px;color:var(--teal);flex-shrink:0}
.side-card:not(.is-dark) .side-contact li{color:var(--heading)}
.side-card.is-dark .side-contact svg{color:var(--teal-bright)}
.side-card .btn{margin-top:4px}
.fee-list{display:grid;margin-bottom:16px}
.fee-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}
.fee-list li:last-child{border-bottom:none}
.fee-list b{font-family:var(--ff-head);font-weight:600;color:var(--heading);white-space:nowrap}
.side-link{font-family:var(--ff-head);font-size:var(--fs-sm);font-weight:600}

/* ---------- 4. Hub cards ---------- */
.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.hub-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 30px 18px;
  transition:box-shadow .3s ease,border-color .3s ease;
}
.hub-card:hover{box-shadow:var(--shadow-md);border-color:rgba(20,116,106,.28)}
.hub-head{display:flex;gap:16px;align-items:flex-start;padding-bottom:20px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.hub-head h2,.hub-head h3{font-size:1.15rem;margin:0 0 4px}
.hub-head p{margin:0;font-size:var(--fs-sm)}
.hub-card:hover .scope-ico{background:var(--teal);color:#fff}
.hub-links li{border-bottom:1px solid var(--line)}
.hub-links li:last-child{border-bottom:none}
.hub-link{display:flex;align-items:center;gap:14px;padding:14px 2px;color:var(--heading)}
.hub-link:hover{color:var(--teal-dark)}
.hub-text{flex:1;display:flex;flex-direction:column;line-height:1.45;min-width:0}
.hub-text strong{font-family:var(--ff-head);font-size:.9rem;font-weight:600}
.hub-text small{font-size:var(--fs-xs);color:var(--muted)}
.hub-link .mi{transition:background .25s ease,color .25s ease}
.hub-link:hover .mi{background:var(--teal);color:#fff}
.hub-link .arr{color:var(--teal);opacity:0;transform:translateX(-6px);transition:opacity .25s ease,transform .25s ease}
.hub-link:hover .arr{opacity:1;transform:none}
.hub-card .callout{margin:18px 0 12px;font-size:var(--fs-sm)}
.div-tag{
  flex-shrink:0;padding:3px 10px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line);
  font-family:var(--ff-head);font-size:var(--fs-xs);font-weight:600;color:var(--teal-dark);white-space:nowrap;
}

/* ---------- 5. Location cards ---------- */
.region{margin-bottom:44px}
.region:last-child{margin-bottom:0}
.region-title{
  display:flex;align-items:center;gap:14px;margin:0 0 20px;
  font-size:var(--fs-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);
}
.region-title::after{content:"";flex:1;height:1px;background:var(--line)}
.loc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.loc-card{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:24px 24px 20px;color:var(--text);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.loc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:rgba(20,116,106,.28);color:var(--text)}
.loc-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.loc-head h3{margin:0}
.loc-head .mi{width:36px;height:36px;padding:8px}
.loc-card:hover .mi{background:var(--teal);color:#fff}
.loc-badge{
  margin-left:auto;padding:3px 10px;border-radius:999px;background:var(--navy);color:#fff;
  font-family:var(--ff-head);font-size:var(--fs-xs);font-weight:600;line-height:1.5;
}
.loc-card p{font-size:var(--fs-sm);margin:0 0 16px}
.loc-more{
  margin-top:auto;padding-top:14px;border-top:1px solid var(--line);
  font-family:var(--ff-head);font-size:var(--fs-sm);font-weight:600;color:var(--teal);
}
.loc-card.is-cta{background:var(--tint);border-color:rgba(20,116,106,.22)}

/* ---------- 6. Contact + map ---------- */
a.aud-card{color:var(--text)}
a.aud-card:hover{color:var(--text)}
.aud-card .aud-link{margin-top:auto;padding-top:14px;font-family:var(--ff-head);font-size:var(--fs-sm);font-weight:600;color:var(--teal);word-break:break-word}
.map-frame{
  position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);
  background:var(--bg-soft);aspect-ratio:4 / 3;
}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- 7. Pricing extras ---------- */
.price-card .price-incl{width:100%;text-align:left;margin:0 0 20px}
.price-card .price-incl li{font-size:var(--fs-sm);margin-bottom:7px}
.price-card.is-featured .price-incl li{color:rgba(255,255,255,.75)}
.price-card .btn{margin-top:20px;width:100%}
.price-card.is-featured .btn-outline{color:#fff;border-color:rgba(255,255,255,.3)}
.price-card.is-featured .btn-outline:hover{border-color:var(--teal-bright);color:var(--teal-bright)}
.incl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 40px}
table.data tfoot td{
  padding:16px 22px;border-top:2px solid var(--navy);background:#fff;
  font-family:var(--ff-head);font-weight:700;color:var(--heading);font-size:var(--fs-sm);
}
table.data.numeric tfoot td:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}
table.data .yes{color:var(--teal-dark);font-weight:600}

/* ---------- 8. Blog + sitemap ---------- */
.topic-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:-16px 0 40px}
.topic-row span{
  padding:7px 15px;border-radius:999px;background:#fff;border:1px solid var(--line);
  font-family:var(--ff-head);font-size:var(--fs-sm);font-weight:500;color:var(--heading);
}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.post-card{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:26px 26px 22px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.post-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:rgba(20,116,106,.28)}
.post-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.post-cat{font-family:var(--ff-head);font-size:var(--fs-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.soon-tag{
  padding:3px 10px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line);
  font-family:var(--ff-head);font-size:var(--fs-xs);font-weight:500;color:var(--muted);white-space:nowrap;
}
.post-card h3{font-size:1.02rem;margin-bottom:10px}
.post-card p{font-size:var(--fs-sm);margin:0 0 18px}
.post-link{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-family:var(--ff-head);font-size:var(--fs-sm);font-weight:600}

.news-band{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:32px;align-items:center;
  background:linear-gradient(115deg,var(--navy) 0%,var(--navy-deep) 60%,#0B3E39 100%);
  border-radius:var(--radius-lg);padding:40px 44px;color:rgba(255,255,255,.72);
}
.news-band h2{color:#fff;margin-bottom:8px}
.news-band p{margin:0}
.news-band .lead-form{grid-template-columns:minmax(0,1fr) auto;margin:0;gap:10px;align-items:start}
.news-band .field input{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
.news-band .field input::placeholder{color:rgba(255,255,255,.5)}
.news-band .form-status{color:var(--teal-bright)}
.news-band .form-status.is-error{color:#FF8E8E}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

.sitemap-grid{columns:4 250px;column-gap:44px}
.sitemap-group{break-inside:avoid;margin-bottom:38px}
.sitemap-group h2{
  font-size:var(--fs-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);
  padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid var(--line);
}
.sitemap-group li{margin:0}
.sitemap-group a{display:block;padding:6px 0;font-size:var(--fs-body);color:var(--heading)}
.sitemap-group a:hover{color:var(--teal)}

/* ---------- 9. Responsive ---------- */
@media (max-width:1180px){
  .loc-grid,.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1024px){
  .form-layout{grid-template-columns:minmax(0,1fr)}
  .side-stack{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-band{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  .hub-grid,.incl-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .lead-card{padding:26px 20px 24px}
  .lead-form{grid-template-columns:minmax(0,1fr)}
  .side-stack,.loc-grid,.post-grid{grid-template-columns:minmax(0,1fr)}
  .hub-card{padding:24px 20px 12px}
  .hub-link .div-tag{display:none}
  .form-foot .btn{width:100%}
  .news-band{padding:30px 22px}
  .news-band .lead-form{grid-template-columns:minmax(0,1fr)}
  .hero-panel{padding:24px 20px}
}
