/* ============================================================
   Acres & Square Feet — Frontend brand layer
   Design system: Blueprint Green. Loaded site-wide.
   Tokens mirror the active Novamira DESIGN.md.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,600&family=Figtree:wght@400;500;600;700&display=swap');

:root{
  --asf-bg:#F1F7F3; --asf-surface:#FFFFFF; --asf-ink:#1F2421; --asf-muted:#54655C;
  --asf-line:#D8E6DE; --asf-green:#1F7A4D; --asf-green-dark:#17603C; --asf-green-bright:#2A9D63;
  --asf-on-dark:#35B87C; --asf-gold:#E0A43B; --asf-gold-dark:#C98D28; --asf-dark:#12271D;
  --asf-r-sm:6px; --asf-r-md:12px; --asf-r-btn:8px;
  --asf-container:1160px;
  --asf-shadow-hover:0 10px 30px -12px rgba(18,39,29,.28);
}

/* ---- Site-wide typography ---- */
body{ font-family:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:var(--asf-ink); }
h1,h2,h3,h4,h5,h6,.site-title,.wp-block-heading{ font-family:'Poppins',sans-serif; color:var(--asf-ink); line-height:1.12; letter-spacing:-.01em; }

/* Text selection — fix Astra's same-colour bg+text (made selected text invisible) */
::selection{ background:var(--asf-green)!important; color:#fff!important; }
::-moz-selection{ background:var(--asf-green)!important; color:#fff!important; }

/* ============================================================
   Reusable section scaffolding (used across all pages)
   ============================================================ */
.asf-section{ padding:72px 20px; }
.asf-section .asf-container,.asf-container{ max-width:var(--asf-container); margin-inline:auto; }
.asf-section--tint{ background:var(--asf-bg); }
.asf-section--surface{ background:var(--asf-surface); }
.asf-section--dark{ background:var(--asf-dark); }
.asf-section--dark, .asf-section--dark :is(h1,h2,h3,h4,h5,h6,p,li,ul,ol,dt,dd,td,th,blockquote,figcaption,strong,b,em,i,span,small,label){ color:#EAF3ED; }
.asf-section--green{ background:linear-gradient(135deg,var(--asf-green-dark),var(--asf-green)); }
.asf-section--green, .asf-section--green :is(h1,h2,h3,h4,h5,h6,p,li,ul,ol,dt,dd,td,th,blockquote,figcaption,strong,b,em,i,span,small,label){ color:#fff; }
/* Links inside dark/green grounds stay legible (buttons keep their own styles) */
.asf-section--dark a:not(.wp-block-button__link):not(.asf-btn):not(.asf-footer__cta){ color:var(--asf-on-dark); }
.asf-section--green a:not(.wp-block-button__link):not(.asf-btn){ color:#fff; text-decoration:underline; text-underline-offset:2px; }

.asf-eyebrow{ font:600 12px/1 'Poppins',sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--asf-green); margin:0 0 14px; }
.asf-section--dark .asf-eyebrow,.asf-section--green .asf-eyebrow{ color:var(--asf-on-dark); }
.asf-lede{ font-size:1.12rem; line-height:1.6; color:var(--asf-muted); max-width:60ch; }
.asf-section--dark .asf-lede{ color:#B9CCC1; }

/* ---- Buttons (styled via block className) ---- */
.wp-block-button.asf-cta-gold .wp-block-button__link{
  background:var(--asf-gold); color:var(--asf-ink); font-family:'Poppins',sans-serif; font-weight:600;
  border-radius:var(--asf-r-btn); padding:15px 30px; box-shadow:none; border:0; transition:background .18s ease,transform .18s ease;
}
.wp-block-button.asf-cta-gold .wp-block-button__link:hover{ background:var(--asf-gold-dark); transform:translateY(-1px); }
.wp-block-button.asf-btn-green .wp-block-button__link{
  background:var(--asf-green); color:#fff; font-family:'Poppins',sans-serif; font-weight:600;
  border-radius:var(--asf-r-btn); padding:15px 30px; box-shadow:none; border:0; transition:background .18s ease;
}
.wp-block-button.asf-btn-green .wp-block-button__link:hover{ background:var(--asf-green-dark); }
.wp-block-button.asf-btn-ghost .wp-block-button__link{
  background:transparent; color:var(--asf-green); font-family:'Poppins',sans-serif; font-weight:600;
  border-radius:var(--asf-r-btn); padding:15px 22px; border:1.5px solid var(--asf-line);
}
.asf-section--dark .wp-block-button.asf-btn-ghost .wp-block-button__link,
.asf-section--green .wp-block-button.asf-btn-ghost .wp-block-button__link{ color:#fff; border-color:rgba(255,255,255,.35); }

/* ============================================================
   HERO — split, off-centre (variance 0.5)
   ============================================================ */
.asf-hero{ background:var(--asf-bg); padding:64px 20px 72px; overflow:hidden; }
.asf-hero__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:52px; align-items:center; max-width:var(--asf-container); margin-inline:auto; }
.asf-hero h1{ font-size:clamp(2.1rem,4.6vw,3.5rem); font-weight:700; line-height:1.06; margin:0 0 18px; }
.asf-hero h1 .asf-hl{ color:var(--asf-green); }
.asf-hero .asf-lede{ font-size:1.18rem; margin:0 0 28px; }
.asf-hero .wp-block-buttons{ gap:14px; }
.asf-trustrow{ display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:26px; font:500 .9rem/1.3 'Figtree',sans-serif; color:var(--asf-muted); }
.asf-trustrow span{ display:inline-flex; align-items:center; gap:7px; }
.asf-trustrow span::before{ content:''; width:7px; height:7px; border-radius:50%; background:var(--asf-green-bright); flex:0 0 auto; }
.asf-hero__art{ position:relative; }
.asf-hero__art svg{ width:100%; height:auto; display:block; filter:drop-shadow(0 24px 40px rgba(18,39,29,.14)); }

/* ============================================================
   Intent cards — asymmetric, not 3 identical
   ============================================================ */
.asf-intent{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:34px; }
.asf-intent .asf-card{ grid-column:span 1; }
.asf-card{
  background:var(--asf-surface); border:1px solid var(--asf-line); border-radius:var(--asf-r-md);
  padding:24px 22px; transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease; height:100%;
}
.asf-card:hover{ box-shadow:var(--asf-shadow-hover); border-color:#BFD8CA; transform:translateY(-2px); }
.asf-card h3{ font-size:1.12rem; font-weight:600; margin:14px 0 8px; }
.asf-card p{ font-size:.96rem; line-height:1.55; color:var(--asf-muted); margin:0 0 14px; }
.asf-card a.asf-cardlink{ font-weight:600; color:var(--asf-green); text-decoration:none; font-size:.95rem; }
.asf-card a.asf-cardlink:hover{ text-decoration:underline; }
.asf-ico{ width:42px; height:42px; display:grid; place-items:center; border-radius:var(--asf-r-sm); background:var(--asf-bg); color:var(--asf-green); }
.asf-ico svg{ width:24px; height:24px; }

/* ============================================================
   How it works — 3 numbered steps (connected)
   ============================================================ */
.asf-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:34px; counter-reset:step; }
.asf-step{ position:relative; padding-top:8px; }
.asf-step__n{ font:700 15px/38px 'Poppins',sans-serif; width:38px; height:38px; text-align:center; border-radius:50%; background:var(--asf-green); color:#fff; display:inline-block; margin-bottom:14px; }
.asf-step h3{ font-size:1.1rem; margin:0 0 8px; }
.asf-step p{ color:var(--asf-muted); line-height:1.55; margin:0; font-size:.98rem; }

/* ============================================================
   Tools + Guides lists
   ============================================================ */
.asf-tools{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:30px; }
.asf-guidegrid{ display:grid; grid-template-columns:1.3fr 1fr; gap:16px; margin-top:30px; }
.asf-guidegrid .asf-guide--wide{ grid-column:1; grid-row:1 / span 2; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(160deg,#173d2b,#12271D); color:#fff; }
.asf-guidegrid .asf-guide--wide h3{ color:#fff; font-size:1.5rem; }
.asf-guidegrid .asf-guide--wide p{ color:#B9CCC1; }
.asf-guide{ background:var(--asf-surface); border:1px solid var(--asf-line); border-radius:var(--asf-r-md); padding:22px; transition:box-shadow .2s,transform .2s; }
.asf-guide:hover{ box-shadow:var(--asf-shadow-hover); transform:translateY(-2px); }
.asf-guide h3{ font-size:1.05rem; margin:0 0 6px; }
.asf-guide p{ color:var(--asf-muted); font-size:.92rem; margin:0; line-height:1.5; }
.asf-guide a{ text-decoration:none; color:inherit; display:block; height:100%; }

/* ============================================================
   Trust / transparency band
   ============================================================ */
.asf-trust{ display:grid; grid-template-columns:1.1fr 1fr; gap:44px; align-items:start; max-width:var(--asf-container); margin-inline:auto; }
.asf-trust__list{ display:grid; gap:18px; }
.asf-trust__item{ display:grid; grid-template-columns:26px 1fr; gap:14px; }
.asf-trust__item svg{ width:24px; height:24px; color:var(--asf-on-dark); margin-top:2px; }
.asf-trust__item h4{ margin:0 0 3px; font-size:1.02rem; color:#fff; font-family:'Poppins',sans-serif; }
.asf-trust__item p{ margin:0; color:#B9CCC1; font-size:.94rem; line-height:1.5; }

/* ============================================================
   Final CTA band
   ============================================================ */
.asf-finalcta{ text-align:center; max-width:720px; margin-inline:auto; }
.asf-finalcta h2{ font-size:clamp(1.7rem,3.5vw,2.5rem); font-weight:700; margin:0 0 14px; }
.asf-finalcta .wp-block-buttons{ justify-content:center; margin-top:26px; }
.asf-note{ font-size:.82rem; color:#9FB6AA; margin-top:18px; }

/* ============================================================
   Section heading block
   ============================================================ */
.asf-h2{ font-size:clamp(1.6rem,3vw,2.2rem); font-weight:600; margin:0 0 12px; max-width:22ch; }
.asf-sub{ color:var(--asf-muted); font-size:1.05rem; max-width:62ch; margin:0; line-height:1.6; }

/* ============================================================
   Disclosure / partner note reusable block
   ============================================================ */
.asf-disclose{ background:var(--asf-bg); border:1px solid var(--asf-line); border-left:4px solid var(--asf-green); border-radius:var(--asf-r-sm); padding:16px 20px; font-size:.92rem; color:var(--asf-muted); line-height:1.55; }

/* ---- headline highlight + badges + misc ---- */
.asf-hero h1 strong{ color:var(--asf-green); font-weight:700; }
.asf-badge{ display:inline-block; font:600 11px/1 'Poppins',sans-serif; letter-spacing:.06em; text-transform:uppercase; padding:5px 9px; border-radius:var(--asf-r-sm); }
.asf-badge--live{ background:#E4F3EA; color:var(--asf-green-dark); }
.asf-badge--soon{ background:#EEF1EF; color:var(--asf-muted); }
.asf-cardtop{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.asf-tools .asf-card h3{ margin-top:0; }

/* ---- Tool tiles: make them stand out (flat at rest, lift + glow on hover) ---- */
.asf-tools .asf-card{ position:relative; overflow:hidden; padding-top:28px; display:flex; flex-direction:column; }
.asf-tools .asf-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--asf-green-bright),var(--asf-green));
}
.asf-tools .asf-card p{ flex:1 1 auto; }
.asf-tools .asf-card:hover{ border-color:var(--asf-green); box-shadow:var(--asf-shadow-hover); transform:translateY(-4px); }
.asf-tools .asf-card:hover h3{ color:var(--asf-green-dark); }
.asf-tools .asf-cardlink{ display:inline-flex; align-items:center; margin-top:auto; color:var(--asf-green); font-weight:600; transition:color .2s ease,transform .2s ease; }
.asf-tools .asf-card:hover .asf-cardlink{ color:var(--asf-green-dark); transform:translateX(3px); }

/* ============================================================
   Premium primary navigation (Astra header) — Blueprint Green
   ============================================================ */
/* Sticky glass masthead: flat at rest, soft green-tinted lift on scroll */
#masthead{
  position:sticky; top:0; z-index:999;
  background:rgba(255,255,255,.85);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--asf-line);
  transition:box-shadow .3s ease, background .3s ease;
}
#masthead.asf-scrolled{
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 30px -20px rgba(18,39,29,.45);
}

/* Brand lockup — inline icon + real Poppins wordmark (see get_custom_logo filter) */
.ast-site-title-wrap{ display:none!important; }
.site-branding{ padding-block:13px!important; }
.asf-brand{ display:inline-flex; align-items:center; gap:11px; text-decoration:none; line-height:1; }
.asf-brand:hover{ opacity:.9; }
.asf-brand__icon{ width:42px; height:42px; flex:none; display:block; }
.asf-brand__icon svg{ width:100%; height:100%; display:block; }
.asf-brand{ flex:none; }
.asf-brand__name{
  display:flex; flex-direction:column; flex:none;
  font-family:'Poppins',sans-serif; font-weight:700; font-size:1.16rem;
  line-height:1.06; letter-spacing:-.015em; color:var(--asf-ink);
  white-space:nowrap; word-break:keep-all; overflow-wrap:normal;
}
.asf-brand__name > span{ white-space:nowrap; }
.asf-brand__name .asf-amp{ color:var(--asf-green); }

/* Keep the whole primary nav on ONE compact row */
#ast-hf-menu-1{ flex-wrap:nowrap!important; align-items:center; }
#ast-hf-menu-1 > .menu-item{ margin-inline:3px; }

/* Menu links — Poppins, quiet ink, survey-green on hover/active.
   Override Astra's 80px menu line-height so the bar collapses to ~64px. */
#ast-hf-menu-1 .menu-item,
#ast-hf-menu-1 .menu-item > .menu-link,
#ast-hf-mobile-menu .menu-item > .menu-link{
  line-height:1.5!important;
}
#ast-hf-menu-1 .menu-item > .menu-link,
#ast-hf-mobile-menu .menu-item > .menu-link{
  font-family:'Poppins',sans-serif; font-weight:500; font-size:.86rem;
  color:var(--asf-ink); letter-spacing:.01em; white-space:nowrap;
  padding:9px 10px!important;
  border-radius:9px; position:relative;
  transition:color .2s ease, background-color .2s ease;
}

/* Premium hover — soft survey-green pill behind the link */
#ast-hf-menu-1 .menu-item:not(.asf-menu-cta) > .menu-link:hover{
  color:var(--asf-green); background-color:rgba(31,122,77,.08);
}
/* Current page — confident filled green pill */
#ast-hf-menu-1 .current-menu-item:not(.asf-menu-cta) > .menu-link,
#ast-hf-menu-1 .current_page_item:not(.asf-menu-cta) > .menu-link{
  color:var(--asf-green); background-color:rgba(31,122,77,.11); font-weight:600;
}
#ast-hf-mobile-menu .current-menu-item > .menu-link,
#ast-hf-mobile-menu .current_page_item > .menu-link{ color:var(--asf-green); }

/* Primary money CTA — gold button, charcoal text, 8px, flat (no shadow),
   with an arrow that nudges on hover */
#ast-hf-menu-1 .menu-item.asf-menu-cta > .menu-link,
#ast-hf-mobile-menu .menu-item.asf-menu-cta > .menu-link{
  background:var(--asf-gold); color:var(--asf-ink)!important;
  border-radius:var(--asf-r-btn); padding:9px 16px!important;
  font-family:'Poppins',sans-serif; font-weight:600; font-size:.9rem;
  line-height:1.4!important; white-space:nowrap; margin-left:10px;
  transition:background .18s ease, transform .18s ease;
}
#ast-hf-menu-1 .menu-item.asf-menu-cta > .menu-link::after{
  content:"\2192"; margin-left:7px; display:inline-block; transition:transform .18s ease;
}
#ast-hf-menu-1 .menu-item.asf-menu-cta > .menu-link:hover,
#ast-hf-mobile-menu .menu-item.asf-menu-cta > .menu-link:hover{
  background:var(--asf-gold-dark); transform:translateY(-1px);
}
#ast-hf-menu-1 .menu-item.asf-menu-cta > .menu-link:hover::after{ transform:translateX(3px); }

/* ============================================================
   Build Your Home — form page
   ============================================================ */
.asf-byh-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:40px; align-items:start; max-width:var(--asf-container); margin-inline:auto; }
.asf-byh-info h3{ font-size:1.15rem; margin:0 0 14px; }
.asf-byh-steps{ list-style:none; margin:0 0 26px; padding:0; display:grid; gap:14px; }
.asf-byh-steps li{ display:grid; grid-template-columns:24px 1fr; gap:12px; color:var(--asf-muted); font-size:.96rem; line-height:1.5; }
.asf-byh-steps li b{ color:var(--asf-ink); font-family:'Poppins',sans-serif; font-weight:600; }
.asf-byh-steps li::before{ content:''; width:9px; height:9px; margin-top:7px; border-radius:50%; background:var(--asf-green-bright); }
.asf-formcard{ background:var(--asf-surface); border:1px solid var(--asf-line); border-radius:var(--asf-r-md); padding:30px; box-shadow:0 18px 40px -22px rgba(18,39,29,.25); }

/* Fluent Forms brand skin (scoped) */
.asf-formcard .fluentform .ff-el-group{ margin-bottom:16px; }
.asf-formcard .ff-el-input--label label{ font-family:'Poppins',sans-serif; font-weight:600; color:var(--asf-ink); font-size:.92rem; }
.asf-formcard .ff-el-form-control{ border:1px solid var(--asf-line)!important; border-radius:var(--asf-r-sm)!important; padding:12px 14px!important; font-family:'Figtree',sans-serif!important; color:var(--asf-ink)!important; background:#fff!important; box-shadow:none!important; }
.asf-formcard .ff-el-form-control:focus{ border-color:var(--asf-green)!important; outline:none!important; box-shadow:0 0 0 3px rgba(31,122,77,.15)!important; }
.asf-formcard .ff-el-form-check-label,.asf-formcard .ff-el-form-check{ color:var(--asf-muted); font-size:.92rem; line-height:1.5; }
.asf-formcard .ff-btn-submit{ background:var(--asf-gold)!important; color:var(--asf-ink)!important; font-family:'Poppins',sans-serif!important; font-weight:600!important; border:0!important; border-radius:var(--asf-r-btn)!important; padding:15px 30px!important; box-shadow:none!important; transition:background .18s ease; width:100%; }
.asf-formcard .ff-btn-submit:hover{ background:var(--asf-gold-dark)!important; }
.asf-formcard--alt .ff-btn-submit{ background:var(--asf-green)!important; color:#fff!important; }
.asf-formcard--alt .ff-btn-submit:hover{ background:var(--asf-green-dark)!important; }
.asf-formcard .ff-message-success{ background:var(--asf-bg); border:1px solid var(--asf-line); border-left:4px solid var(--asf-green); border-radius:var(--asf-r-sm); padding:18px 20px; }

/* Tool (asf-calc) lead CTA -> gold money action, matches site */
.asf-calc .asf-cta .asf-btn{ background:var(--asf-gold)!important; color:var(--asf-ink)!important; text-decoration:none; }
.asf-calc .asf-cta .asf-btn:hover{ filter:none; background:var(--asf-gold-dark)!important; }
.asf-toolwrap{ max-width:var(--asf-container); margin-inline:auto; }
.asf-toolwrap .asf-prose{ margin-top:36px; }

/* ============================================================
   Simple interior page header + prose (reused across pages)
   ============================================================ */
.asf-pagehead h1{ font-size:clamp(2rem,4vw,3rem); font-weight:700; margin:0 0 14px; }
.asf-prose{ max-width:70ch; }
.asf-prose h2{ font-size:1.5rem; margin:32px 0 10px; }
.asf-prose p,.asf-prose li{ color:var(--asf-ink); line-height:1.7; }
.asf-prose .asf-disclose{ margin:20px 0; }

/* Guide article: quick-answer box + content tables */
.asf-answer{ background:#E9F4EE; border:1px solid #BFE0CD; border-radius:var(--asf-r-md); padding:20px 24px; margin:24px 0; }
.asf-answer p{ margin:0; font-size:1.06rem; line-height:1.6; color:var(--asf-ink); }
.asf-answer strong{ color:var(--asf-green-dark); }
.asf-prose .wp-block-table{ margin:24px 0; overflow-x:auto; }
.asf-prose .wp-block-table table{ width:100%; border-collapse:collapse; font-size:.96rem; }
.asf-prose .wp-block-table th,.asf-prose .wp-block-table td{ border:1px solid var(--asf-line); padding:10px 14px; text-align:left; vertical-align:top; }
.asf-prose .wp-block-table thead th{ background:var(--asf-bg); font-family:'Poppins',sans-serif; font-weight:600; color:var(--asf-ink); }
.asf-prose .wp-block-table tbody tr:nth-child(even){ background:#FAFCFB; }
.asf-prose .asf-related{ background:var(--asf-bg); border:1px solid var(--asf-line); border-radius:var(--asf-r-md); padding:18px 22px; margin:26px 0; }
.asf-prose .asf-related h3{ margin:0 0 10px; font-size:1rem; }
.asf-prose .asf-related ul{ margin:0; }

/* Contact block ([asf_contact] shortcode on the Contact page) */
.asf-contact-list{ list-style:none; margin:14px 0 0; padding:0; display:grid; gap:11px; font-size:1.05rem; }
.asf-contact-list a{ color:var(--asf-green); font-weight:600; text-decoration:none; }
.asf-contact-list a:hover{ text-decoration:underline; }
.asf-contact-list .asf-footer__muted{ color:var(--asf-muted); font-weight:400; }

/* ============================================================
   Footer (custom, injected; Astra default bar hidden)
   ============================================================ */
.site-footer .site-below-footer-wrap{ display:none!important; }
.asf-footer{ background:var(--asf-dark); color:#C7D6CD; font-family:'Figtree',sans-serif; }
.asf-footer a{ color:#C7D6CD; text-decoration:none; transition:color .15s ease; }
.asf-footer a:hover{ color:#fff; }
.asf-footer__inner{ max-width:var(--asf-container); margin-inline:auto; padding:56px 20px 30px; display:grid; grid-template-columns:1.7fr 1fr 1fr 1.2fr; gap:36px; }
.asf-footer__brand strong{ font-family:'Poppins',sans-serif; font-weight:600; font-size:1.3rem; color:#fff; display:block; margin-bottom:10px; }
.asf-footer__brand p{ font-size:.93rem; line-height:1.55; margin:0 0 14px; color:#A9BEB2; max-width:36ch; }
.asf-footer__disc{ font-size:.82rem; color:#8CA398; line-height:1.5; max-width:40ch; }
.asf-footer h4{ font-family:'Poppins',sans-serif; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:#8CA398; margin:0 0 14px; font-weight:600; }
.asf-footer ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; font-size:.94rem; }
.asf-footer__cta{ color:var(--asf-gold)!important; font-weight:600; }
.asf-footer__cta:hover{ color:#F0C97A!important; }
.asf-footer__muted{ color:#8CA398; }
.asf-footer__bar{ border-top:1px solid rgba(255,255,255,.1); }
.asf-footer__barin{ max-width:var(--asf-container); margin-inline:auto; padding:18px 20px 28px; display:flex; flex-wrap:wrap; gap:8px 22px; justify-content:space-between; align-items:center; font-size:.85rem; color:#8CA398; }
.asf-footer__legal{ display:flex; gap:18px; flex-wrap:wrap; }
.asf-footer__note{ flex-basis:100%; font-size:.8rem; color:#6F8579; margin-top:8px; line-height:1.5; }
@media (max-width:900px){ .asf-footer__inner{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .asf-footer__inner{ grid-template-columns:1fr; gap:28px; } }

/* ============================================================
   Responsive — mobile-first collapse (≤900 / ≤782 / ≤560)
   ============================================================ */
@media (max-width:900px){
  .asf-hero__grid,.asf-trust,.asf-guidegrid,.asf-byh-grid{ grid-template-columns:1fr; }
  .asf-hero__art{ order:-1; max-width:440px; }
  .asf-guidegrid .asf-guide--wide{ grid-row:auto; }
  .asf-intent{ grid-template-columns:repeat(2,1fr); }
  .asf-tools,.asf-steps{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .asf-section{ padding:52px 18px; }
  .asf-intent{ grid-template-columns:1fr; }
  .asf-hero .wp-block-buttons{ flex-direction:column; }
  .asf-hero .wp-block-buttons .wp-block-button{ width:100%; }
  .asf-hero .wp-block-button__link{ display:block; text-align:center; }
}

/* ---- GBP-ready NAP block ([asf_nap]) ---- */
.asf-nap{ border:1px solid #e2e8e6; border-radius:14px; background:#fff; padding:22px 24px; max-width:560px; box-shadow:0 1px 2px rgba(16,40,30,.04); }
.asf-nap__title{ margin:0 0 14px; font-family:'Poppins',sans-serif; font-size:1.05rem; font-weight:600; color:#17603C; letter-spacing:-.01em; }
.asf-nap__row{ display:grid; grid-template-columns:104px 1fr; gap:10px 16px; padding:9px 0; border-top:1px solid #f0f4f2; align-items:baseline; }
.asf-nap__row:first-of-type{ border-top:0; }
.asf-nap__k{ font-size:.72rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#5b6b64; }
.asf-nap__v{ font-size:.98rem; color:#1a2420; line-height:1.5; }
.asf-nap__v a{ color:#1F7A4D; font-weight:500; text-decoration:none; }
.asf-nap__v a:hover{ text-decoration:underline; }
.asf-nap__sub{ display:inline; color:#728079; font-weight:400; font-size:.86em; }
.asf-nap--compact{ padding:16px 18px; }
.asf-nap--compact .asf-nap__row{ grid-template-columns:88px 1fr; padding:7px 0; }
@media (max-width:480px){
  .asf-nap__row{ grid-template-columns:1fr; gap:2px; padding:10px 0; }
  .asf-nap__k{ font-size:.68rem; }
}
