/* AZ-CHROME-BUILD: 2026-09-05a */
/* AgriZameen canonical chrome — nav, footer, floats, carousels, a11y. v3.0 */
:root{--azc-deep:#0F2419;--azc-forest:#1A3C2A;--azc-gold:#C8A951;--azc-goldl:#E8D48B;--azc-goldd:#6F5518;--azc-cream:#F5F0E6;--azc-ink:#26221B}

/* ---------- screen-reader / focus ---------- */
.az-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.az-skip{position:absolute;left:-9999px;top:0;z-index:2000;background:#0F2419;color:#fff;padding:12px 18px;border-radius:0 0 10px 0;font-weight:700;text-decoration:none}
.az-skip:focus{left:0}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #6F5518;outline-offset:2px;border-radius:4px}

/* ---------- HEADER (single canonical bar, every page) ---------- */
header.azs-nav,nav.navbar{position:sticky!important;top:0;left:auto;right:auto;z-index:1500;padding:0!important;margin:0!important;display:block!important;gap:0!important;
  background:#FBF8F0!important;backdrop-filter:none;border-bottom:1px solid rgba(200,169,81,.35)!important;
  font-family:'DM Sans',system-ui,sans-serif;box-shadow:none}
header.azs-nav.scrolled,nav.navbar.scrolled{box-shadow:0 2px 18px rgba(15,36,25,.08)}
.azs-in{max-width:1200px;margin:0 auto;padding:8px 24px 6px!important;display:grid;grid-template-columns:auto 1fr;align-items:center;row-gap:6px!important}
.azs-logo{display:flex;align-items:center;gap:10px;text-decoration:none;grid-column:1;grid-row:1}
.azs-logo .azs-shield{width:38px;height:42px;display:flex;align-items:center;justify-content:center}
.azs-logo .azs-shield svg{width:100%;height:100%}
.azs-logo>span{font-family:'Playfair Display',Georgia,serif;font-size:22px;font-weight:800;color:#0F2419;line-height:1}
.azs-logo>span em{color:#6F5518;font-style:normal}
.azs-util{grid-column:2;grid-row:1;justify-self:end;display:flex;align-items:center;gap:10px}
.azs-sel{font-family:'DM Sans',system-ui,sans-serif;font-size:13px;font-weight:600;color:#0F2419;
  background:#F5F0E6;border:1.5px solid rgba(200,169,81,.6);border-radius:100px;padding:8px 12px;
  max-width:152px;cursor:pointer;appearance:auto;line-height:normal}
.azs-lang{max-width:126px}
.azs-search{width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(200,169,81,.6);background:#F5F0E6;
  color:#0F2419;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;padding:0}
.azs-search:hover{background:#C8A951}
/* The social icon row was removed from the header on 17 Aug; its rules
   went with it. Dead CSS is how a stylesheet stops being readable. */
.azs-burger{display:none;background:none;border:none;cursor:pointer;padding:8px;grid-column:2;grid-row:1;justify-self:end}
.azs-burger span{display:block;width:22px;height:2.5px;background:#0F2419;margin:4px 0;border-radius:2px;transition:.25s}
.azs-menu{grid-column:1 / -1;grid-row:2;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;
  gap:8px 24px;border-top:1px solid rgba(200,169,81,.28)!important;padding-top:7px!important;padding-bottom:0!important;width:100%;margin:0}
.azs-menu>a,.azs-menu .azs-dd-t{color:#20301f;text-decoration:none;font-size:15px;font-weight:500;white-space:nowrap;letter-spacing:.2px;line-height:normal}
.azs-menu>a:hover,.azs-menu .azs-dd-t:hover{color:#6F5518}
.azs-dd{position:relative;line-height:19px}
.azs-dd-t{background:none;border:none;font-family:inherit;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:5px}
.azs-car{font-size:10px;line-height:1;transition:transform .2s}
.azs-dd:hover .azs-car,.azs-dd.open .azs-car{transform:rotate(180deg)}
.azs-dd-m{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);background:#fff;min-width:236px;
  box-shadow:0 12px 36px rgba(15,36,25,.17);border-radius:14px;padding:8px;display:none;flex-direction:column;gap:1px;
  z-index:1000;border:1px solid rgba(200,169,81,.28)}
.azs-dd-m::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.azs-dd:hover>.azs-dd-m,.azs-dd.open>.azs-dd-m,.azs-dd:focus-within>.azs-dd-m{display:flex}
.azs-dd-m a{padding:10px 15px;border-radius:9px;font-size:14px;color:#0F2419;white-space:nowrap;font-weight:500;text-decoration:none;line-height:normal}
.azs-dd-m a:hover{background:#F5F0E6;color:#6F5518}
/* edge guard: dropdowns sitting right of centre anchor to their button's right edge */
.azs-menu>.azs-dd:nth-last-child(1)>.azs-dd-m,.azs-menu>.azs-dd:nth-last-child(2)>.azs-dd-m,.azs-menu>.azs-dd:nth-last-child(3)>.azs-dd-m{left:auto;right:0;transform:none}
/* never taller than the viewport */
.azs-dd-m{max-height:calc(100vh - 110px);overflow-y:auto}
/* Deterministic header box: reserves the post-webfont height so the header does not
   grow when Playfair Display / DM Sans arrive. Matches the locked 90 / 117 / 65 spec. */
@media(min-width:901px){.azs-in{box-sizing:border-box!important;align-content:center}}
@media(min-width:1024px){.azs-in{min-height:89px}}
@media(min-width:901px) and (max-width:1023px){.azs-in{min-height:116px}}
@media(max-width:1280px){.azs-menu{gap:8px 16px}.azs-menu>a,.azs-menu .azs-dd-t{font-size:13.5px}.azs-sel{max-width:126px;font-size:12.5px}.azs-lang{max-width:104px}}

/* ---------- HEADER · SELLER SIGN-IN CTA ----------
   Deliberately a child of .azs-util, NOT of .azs-menu. A sixth top-level
   nav link would land in the mobile two-column grid and break the parity
   rule at .azs-nav.open .azs-menu>a:nth-last-of-type(1). Keep it here. */
.azs-signin{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;
  font-family:'DM Sans',system-ui,sans-serif;font-size:13px;font-weight:700;letter-spacing:.2px;
  line-height:normal;color:#0F2419;background:#C8A951;border:1.5px solid #A88C34;
  border-radius:100px;padding:8px 14px;text-decoration:none;white-space:nowrap;
  transition:background-color .2s,border-color .2s,color .2s}
.azs-signin:hover,.azs-signin:focus-visible{background:#0F2419;border-color:#0F2419;color:#F5F0E6}
.azs-signin svg{flex:0 0 auto;width:16px;height:16px}
.azs-signin .azs-signin-hi{font-weight:600}
@media(max-width:1280px){.azs-signin{font-size:12.5px;padding:7px 12px}}
/* 901-1023px is the two-row grid: the util row is already full, so drop the
   Hindi label there or the row overflows by up to 14px. */
@media(max-width:1023px){.azs-signin .azs-signin-hi{display:none}}

/* ---------- HEADER · MOBILE (identical panel on every page) ---------- */
@media(max-width:900px){
  .azs-in{display:flex!important;align-items:center!important;justify-content:space-between!important;
    height:64px!important;padding:0 20px!important;row-gap:0!important}
  .azs-menu{display:none}
  .azs-burger{display:block}
  .azs-util{display:flex;align-items:center;gap:8px}
  .azs-util .azs-sel{display:none}
  .azs-a11y-panel{right:20px}
  .azs-nav.open .azs-in{background:#FEFDFB!important;
    display:block!important;-webkit-overflow-scrolling:touch;border-bottom:2px solid #C8A951}
  .azs-nav.open .azs-logo{display:inline-flex;height:64px!important;align-items:center}
  .azs-nav.open .azs-search{display:none}
  /* the open panel puts the burger top-right; the a11y control would collide */
  .azs-nav.open .azs-a11y-wrap{display:none}
  .azs-nav.open .azs-burger{position:fixed;top:11px;right:14px;z-index:901;background:#FEFDFB!important;border-radius:10px}
  .azs-nav.open .azs-burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .azs-nav.open .azs-burger span:nth-child(2){opacity:0}
  .azs-nav.open .azs-burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  /* The two selects share a row (Adheer's annotated pass, 25 Aug): stacked
     full-width they cost two rows plus a gap at the top of every open menu,
     pushing the actual navigation below the fold on a small phone. They are
     the same kind of control and read as a pair. Sign in keeps its own full
     row — it is an action, not a setting. */
  .azs-nav.open .azs-util{flex-flow:row wrap;align-items:center;gap:10px!important;padding:4px 0 0!important}
  .azs-nav.open .azs-util .azs-sel{display:block;flex:1 1 0;width:auto;min-width:0;max-width:none;
    font-size:15px!important;font-weight:600;
    padding:13px 14px!important;border-radius:14px;background:#FBF8F0;border:1.5px solid rgba(200,169,81,.55);
    text-align:center;text-align-last:center}
  .azs-nav.open .azs-util .azs-signin{flex:1 0 100%}
  .azs-nav.open .azs-menu{display:grid!important;grid-template-columns:1fr 1fr;gap:0 18px!important;width:100%;
    position:static;background:transparent;border-top:none!important;padding:4px 0 0!important;margin:0!important;text-align:left}
  .azs-nav.open .azs-menu>a{font-size:15.5px!important;font-weight:600!important;padding:12px 2px!important;
    text-align:left!important;border-bottom:1px solid rgba(200,169,81,.2);white-space:normal}
  /* Last link spans the full width ONLY when the link count is odd —
   :nth-of-type(odd) on the last <a> is true exactly then. Written when
   the nav went from five links to four: the unconditional span left
   link 3 alone beside an empty cell and link 4 on a row of its own.
   With this guard any even count packs the grid clean, any odd count
   gets the centred full-width tail. */
.azs-nav.open .azs-menu>a:nth-last-of-type(1):nth-of-type(odd){grid-column:1 / -1}
  .azs-nav.open .azs-dd{grid-column:1 / -1;width:100%!important;text-align:left!important;
    border-bottom:1px solid rgba(200,169,81,.2);border-top:none!important;margin:0!important;padding:0!important}
  .azs-nav.open .azs-dd:last-child{border-bottom:none}
  .azs-nav.open .azs-dd-t{width:100%;display:flex!important;justify-content:space-between!important;align-items:center;
    font-size:16px!important;font-weight:800!important;color:#6F5518!important;padding:14px 2px!important}
  .azs-nav.open .azs-dd-m{position:static!important;left:auto!important;right:auto!important;max-height:none!important;overflow:visible!important;transform:none!important;box-shadow:none!important;border:none!important;
    background:transparent!important;min-width:0;padding:0 0 10px 10px!important;display:none}
  .azs-nav.open .azs-dd.open .azs-dd-m{display:grid!important;grid-template-columns:1fr 1fr;gap:0 18px;align-items:start!important}
  .azs-nav.open .azs-dd-m a{font-size:15px!important;padding:9px 2px!important;text-align:left!important;border:none!important;white-space:normal!important}
  /* no dead space at the foot of the panel */
  .azs-nav.open .azs-in>*:last-child{margin-bottom:0!important}
  .azs-nav.open .azs-in::after{content:none!important}
  body.az-menu-open{overflow:hidden}
}

/* ---------- HEADER · SELLER SIGN-IN CTA · MOBILE ----------
   On the closed bar the pill becomes a circular icon button with the same
   metrics as .azs-search. The full-label pill does not fit beside the logo,
   the Aa control and the burger below 412px and pushes the whole document
   into horizontal scroll. Inside the open panel it returns to a full-width
   CTA with both labels. */
@media(max-width:900px){
  .azs-signin{width:36px;height:36px;padding:0;gap:0;border-radius:50%;justify-content:center}
  .azs-signin .azs-signin-t,.azs-signin .azs-signin-hi{display:none}
  .azs-signin svg{width:17px;height:17px}
  .azs-nav.open .azs-signin{display:flex;width:100%;height:auto;box-sizing:border-box;
    border-radius:14px;justify-content:center;gap:8px;padding:13px 14px;margin:12px 0 2px;
    font-size:15.5px;font-weight:800}
  .azs-nav.open .azs-signin .azs-signin-t,.azs-nav.open .azs-signin .azs-signin-hi{display:inline}
  .azs-nav.open .azs-signin svg{width:18px;height:18px}
}
/* Below 390px the closed bar is already full (logo + Aa + search + burger
   measures ~363px of the ~360px available at 360w). Adding anything there
   forces horizontal scroll on the whole document, so the CTA drops out of
   the bar and lives in the open panel only. The footer link still reaches
   /account/ on every page. */
@media(max-width:389px){
  .azs-signin{display:none}
  .azs-nav.open .azs-signin{display:flex}
}
/* 2 Sep 2026: the Aa button gives way to sign-in at every width, in the
   browser as well as in the Play Store app (Adheer). The bar keeps the same
   number of controls, so the 360px measurement above still holds. The
   accessibility panel itself stays in the page; only its bar button goes. */

.azs-signin{display:inline-flex}
.azs-nav.open .azs-signin{display:flex}
/* Footer: the app badge. Google's own badge asset, linked from Google as
   their badge guidelines allow; height fixed so it cannot dwarf the row. */
.azs-fapp{display:flex;align-items:center;margin:8px 0 2px}
.azs-fapp a{display:inline-block;line-height:0}
.azs-fapp img{height:40px;width:auto;display:block}
.azs-fapp-txt{display:inline-block;background:#0F2419;color:#E8D48B;border:1px solid rgba(200,169,81,.6);border-radius:8px;padding:9px 14px;font-size:12.5px;font-weight:800;line-height:1.2}

/* ---------- FLOATS: WhatsApp + accessibility (every page) ---------- */
.azs-wa{position:fixed;z-index:960;display:flex}
.azs-wa-tip{background:#fff;color:#111;font-weight:700;font-size:13.5px;padding:9px 14px;border-radius:100px;
  box-shadow:0 6px 20px rgba(0,0,0,.18);font-family:'DM Sans',system-ui,sans-serif;white-space:nowrap}
.azs-wa-btn{width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 24px rgba(37,211,102,.45);flex:0 0 auto}
/* Accessibility control — lives in the header utility row, immediately before search.
   Sized to match .azs-search (36px) so the locked header height is unaffected. */
.azs-a11y-wrap{flex:0 0 auto;display:inline-flex;align-items:center}
.azs-a11y{width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(200,169,81,.6);
  background:#0F2419;color:#E8D48B;font-weight:800;font-size:13.5px;line-height:1;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;padding:0;flex:0 0 auto;
  font-family:'DM Sans',system-ui,sans-serif}
.azs-a11y:hover,.azs-a11y:focus-visible{background:#1A3C2A;border-color:#C8A951}
/* The visible circle is 36px to match .azs-search and protect the locked header height,
   but an accessibility control should not have a smaller hit area than it used to.
   This transparent overlay restores a 44x44 target (WCAG 2.5.5 AAA) without changing
   the painted size or the header box. position:relative is scoped to the button so the
   panel still resolves against header.azs-nav — see the note on .azs-a11y-panel. */
.azs-a11y{position:relative}
/* Phones only. On the wide bar (Select State · English · Aa · search · Sign in)
   there is room for both, and Adheer wants that bar kept as it is; below the
   900px mobile breakpoint the Aa button gives way to sign-in. */
@media(max-width:900px){.azs-nav .azs-a11y-wrap,.azs-nav .azs-a11y{display:none}}
.azs-a11y::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;
  transform:translate(-50%,-50%);border-radius:50%}
.azs-a11y[aria-expanded="true"]{background:#C8A951;color:#0F2419;border-color:#C8A951}
/* The panel hangs off the HEADER, not the button. header.azs-nav is position:sticky,
   which makes it the containing block, so top:100% means "just below the header" at
   every breakpoint without hard-coding 90 / 117 / 65. Anchoring to the button instead
   drops the panel from the utility row, which sits ABOVE the nav row on desktop and in
   the 901-1023 band — the panel then covers the navigation. Right edge is aligned to
   the 1200px container gutter, the same edge the last three nav dropdowns use. */
.azs-a11y-panel{display:none;position:absolute;top:calc(100% + 10px);left:auto;
  right:max(24px,calc((100vw - 1200px) / 2 + 24px));z-index:1600;background:#fff;
  border:1px solid rgba(200,169,81,.5);border-radius:16px;box-shadow:0 14px 40px rgba(15,36,25,.25);padding:14px;width:222px;
  font-family:'DM Sans',system-ui,sans-serif}
.azs-a11y-panel.open{display:flex;flex-direction:column;gap:8px}
.azs-a11y-panel b{font-size:12.5px;color:#0F2419}
.azs-a11y-panel button{font-family:inherit;font-size:12.5px;font-weight:700;text-align:left;background:#F5F0E6;
  border:1px solid rgba(200,169,81,.5);border-radius:10px;padding:9px 12px;cursor:pointer;color:#0F2419}
.azs-a11y-panel button[aria-pressed="true"]{background:#0F2419;color:#E8D48B}
html.az-fs1 body{zoom:1.1}html.az-fs2 body{zoom:1.22}
html.az-contrast{filter:contrast(1.18)}
html.az-links a{text-decoration:underline!important}
html.az-motion *,html.az-motion *::before,html.az-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
/* legacy floats retired in favour of the canonical pair */
.wa-sticky,.sticky-bottom,.az-topbtn,.a11y-btn{display:none!important}
@media(max-width:600px){
.azs-wa-tip{display:none}
  .azs-a11y-panel{left:12px;right:12px;width:auto;max-width:300px;margin-left:auto}
}

/* ---------- CAROUSEL (sitewide, auto-advancing) ---------- */
.azc{position:relative;padding:0 0 6px}
.azc-track{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:stretch!important;grid-template-columns:none!important;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;margin:0;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.azc-track::-webkit-scrollbar{height:6px}
.azc-track::-webkit-scrollbar-thumb{background:rgba(200,169,81,.55);border-radius:100px}
.azc-track>*{flex:0 0 auto;width:clamp(240px,84vw,330px);scroll-snap-align:center;grid-column:auto!important;margin:0}
.azc-track.azc-wide>*{width:clamp(280px,90vw,400px)}
.azc-track.azc-narrow>*{width:clamp(200px,64vw,250px)}
.azc-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(200,169,81,.6);background:#FFFDF7;color:#0F2419;font-size:19px;font-weight:800;cursor:pointer;
  box-shadow:0 6px 18px rgba(15,36,25,.16);display:flex;align-items:center;justify-content:center;padding:0}
.azc-btn:hover{background:#C8A951}
.azc-btn[disabled]{opacity:.32;cursor:default}
.azc-prev{left:-6px}.azc-next{right:-6px}
.azc-dots{display:flex;justify-content:center;align-items:center;gap:0;flex-wrap:wrap}
.azc-dots button{width:24px;height:24px;min-width:24px;padding:0;border:none;background:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}
.azc-dots button::before{content:'';display:block;width:8px;height:8px;border-radius:50%;background:rgba(15,36,25,.22);transition:width .2s,background .2s}
.azc-dots button:focus-visible{outline:2px solid #C8A951;outline-offset:-2px;border-radius:50%}
.azc-dots button[aria-current="true"]::before{background:#C8A951;width:20px;border-radius:100px}
.azc-on-dark .azc-btn{background:rgba(255,255,255,.94)}
.azc-on-dark .azc-dots button::before{background:rgba(245,240,230,.3)}
.azc-on-dark .azc-dots button[aria-current="true"]::before{background:#C8A951}
@media(max-width:900px){.azc-btn{width:36px;height:36px;font-size:17px}.azc-prev{left:-2px}.azc-next{right:-2px}}
/* keep the last card from being clipped at the rail edge */
.azc-track::after{content:"";flex:0 0 2px}

/* ---------- FOOTER (rebuilt, balanced) ---------- */
.azs-footer{background:linear-gradient(160deg,#0F2419,#132e20);color:#F5F0E6;
  font-family:'DM Sans',system-ui,sans-serif}
.azs-fin{max-width:1200px;margin:0 auto}
.azs-fgrid ul{list-style:none;margin:0;padding:0}
.azs-fgrid a{color:rgba(245,240,230,.9);text-decoration:none}
.azs-fgrid a:hover{color:#E8D48B;text-decoration:underline}

.azs-faddr{font-style:normal;color:rgba(245,240,230,.78);font-size:13.6px;line-height:1.65;margin:0}
.azs-fsoc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.azs-fsoc a{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.06);
  border:1px solid rgba(200,169,81,.38);display:inline-flex;align-items:center;justify-content:center;
  color:#C8A951;flex:0 0 auto;transition:background .2s,border-color .2s,color .2s}
.azs-fsoc a svg{display:block;width:18px;height:18px}
.azs-fsoc a:focus-visible{outline:2px solid #C8A951;outline-offset:2px}
.azs-fsoc a:hover{background:rgba(200,169,81,.18);border-color:#C8A951;color:#E8D48B}
/* ---------- FOOTER · POPULAR SEARCHES ----------
   A flat link rail, not a sixth .azs-fgrid column: the grid is pinned to five
   columns at 830 and adding a column there breaks the 2-up mobile wrap. */
.azs-fpop{border-top:1px solid rgba(200,169,81,.25);padding-top:16px;margin:0 0 20px}
.azs-fpop h4{font-family:'Playfair Display',Georgia,serif;color:#C8A951;font-size:16px;margin:0 0 10px;line-height:1.25}
.azs-fpop ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px}
.azs-fpop li{margin:0}
.azs-fpop a{display:inline-block;color:rgba(245,240,230,.88);text-decoration:none;font-size:13px;line-height:1.35;
  background:rgba(245,240,230,.06);border:1px solid rgba(200,169,81,.28);border-radius:100px;padding:7px 13px}
.azs-fpop a:hover,.azs-fpop a:focus-visible{color:#0F2419;background:#C8A951;border-color:#C8A951}
@media(max-width:600px){.azs-fpop a{font-size:12.5px;padding:7px 11px}.azs-fpop h4{font-size:15px}}

.azs-fdisc{border-top:1px solid rgba(200,169,81,.25);font-size:12.5px;line-height:1.65}
.azs-fdisc p{margin:0 0 10px!important;font-size:12.5px!important;line-height:1.65!important}
.azs-fdisc p:last-child{margin:0!important}
.azs-fbot{border-top:1px solid rgba(200,169,81,.25);
  font-size:13px}
.azs-fbot a{text-decoration:none}
@media(max-width:1080px){.azs-fgrid{}}
@media(max-width:720px){.azs-fgrid{}}
@media(max-width:430px){.azs-fgrid{grid-template-columns:1fr}}

/* ---------- contrast + readability corrections ---------- */
.focus-card p,.focus .focus-card p{color:rgba(245,240,230,.86)!important}
.azs-fbot,.azs-fdisc{color:rgba(245,240,230,.78)!important}
.states-sec .states-intro,.focus-subtitle{color:rgba(245,240,230,.86)!important}
.zonemap-sub{color:#4d564e!important}
.bs-card p{color:#4a4437!important}
.azt-lede,.azt-pill p{color:#4d564e!important}
.listings-note,.zonemap-note{color:#5d5648!important}
.azd-c p{color:rgba(245,240,230,.86)!important}
.azb2b p{color:#39423b!important}

/* Knowledge Hub cards — readable on the dark section */
.know-mini{display:flex!important;flex-direction:column;gap:8px;text-decoration:none;align-items:flex-start;text-align:left;
  background:rgba(255,255,255,.06)!important;border:1px solid rgba(200,169,81,.4)!important;border-radius:16px;padding:20px 18px!important;
  min-height:214px}
.know-mini:hover{background:rgba(255,255,255,.1)!important;border-color:rgba(200,169,81,.8)!important}
.know-mini .km-ic{font-size:26px;line-height:1}
.know-mini h3{font-family:'Playfair Display',Georgia,serif;font-size:17.5px!important;line-height:1.32;color:#FFFFFF!important;margin:0!important}
.know-mini p{font-size:13.6px!important;line-height:1.6!important;color:rgba(245,240,230,.85)!important;margin:0!important}
.know-mini .km-go{font-size:12.5px;font-weight:800;color:#E8D48B!important;border-bottom:1.5px solid #C8A951;margin-top:auto}
.know-more-cta{display:inline-block;background:#C8A951;font-weight:800;text-decoration:none;border-radius:100px;padding:13px 26px}

/* homepage hero: sticky bar means no 124px dead band */
@media(max-width:768px){.hero{padding-top:44px!important}}

/* print / reduced motion */
@media(prefers-reduced-motion:reduce){.azc-track{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ================= v3.1 — density, floats, carousels ================= */

/* ---------- floats: Call sits above WhatsApp ---------- */
.azs-wa{flex-direction:column;align-items:flex-end;gap:10px;bottom:16px;right:16px}
.azs-wa .azs-wa-row{display:flex;align-items:center;gap:10px}
.azs-call-btn{width:50px;height:50px;border-radius:50%;background:#1A3C2A;border:2px solid #C8A951;
  display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(15,36,25,.42);flex:0 0 auto}
.azs-call-btn svg{stroke:#E8D48B}
.azs-call-btn:hover{background:#C8A951}
.azs-call-btn:hover svg{stroke:#0F2419}
@media(max-width:600px){
  .azs-wa{right:12px;bottom:12px;gap:9px}
  .azs-call-btn{width:46px;height:46px}
  .azs-wa-btn{width:52px;height:52px}
}

/* ---------- sticky "Enquire now" (Buy Land / Sell My Land) ---------- */
.az-enq{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:958;
  background:#C8A951;color:#0F2419;font-family:'DM Sans',system-ui,sans-serif;font-weight:800;font-size:15px;
  text-decoration:none;padding:14px 26px;border-radius:100px;box-shadow:0 8px 26px rgba(15,36,25,.32);
  border:1.5px solid #6F5518;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}
.az-enq:hover{background:#E8D48B}
.az-enq.az-enq-hide{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(14px)}
.az-enq{transition:opacity .25s,transform .25s}
@media(max-width:600px){.az-enq{font-size:14px;padding:12px 18px;bottom:14px;max-width:calc(100vw - 150px)}}

/* ---------- mobile menu: panel is only as tall as its content ---------- */
@media(max-width:900px){
  .azs-nav.open .azs-in{position:fixed!important;inset:0 0 auto 0!important;height:auto!important;
    max-height:100dvh;overflow-y:auto;padding:0 20px 14px!important}
  .azs-nav.open::after{content:"";position:fixed;inset:0;z-index:898;background:rgba(15,36,25,.42)}
  .azs-nav.open .azs-in{z-index:899}
  .azs-nav.open .azs-menu>a:last-of-type{border-bottom:1px solid rgba(200,169,81,.2)}
  .azs-nav.open .azs-dd:last-of-type{border-bottom:none!important}
  .azs-nav.open .azs-dd:last-of-type .azs-dd-t{padding-bottom:10px!important}
}

/* ---------- footer flush: no white band above, no dead band below ---------- */
.azs-footer{margin-top:0!important}
main+.azs-footer,main+*+.azs-footer{margin-top:0!important}
body>.azs-footer{margin-bottom:0}
.azs-fin{padding:38px 24px 18px}
.azs-fbot{margin-top:10px;padding-top:14px}
.azs-fdisc{padding-top:14px}
@media(max-width:600px){.azs-fin{padding:30px 20px 14px}.azs-fbot{padding-bottom:18px}}

/* ---------- global density: shorter sections everywhere ---------- */
.hero{padding:52px 0 44px!important}
.listings-sec,.zonemap-sec,.apps-sec,.blogstrip-sec,.learn-sec{padding:40px 0!important}
.about,.devs,.why,.services,.resources,.knowledge,.states-sec,.cta-section,.focus{padding:42px 0!important}
.azd{padding:36px 24px 40px!important}
.azb2b{padding:30px 24px!important}
.pg-hero{padding:20px 24px 18px!important}
.pg-main{padding:28px 24px 12px!important}
.sv-main,.fb-main{padding-top:26px!important}
.az-h2{margin-top:30px!important;margin-bottom:10px!important}
.azt-merged{margin-top:24px!important}
.azt-merged .azt-in{padding:22px 20px!important}
.az-merge{margin:24px 0!important;padding:22px 20px!important}
@media(max-width:768px){
.listings-sec,.zonemap-sec,.apps-sec,.blogstrip-sec,.learn-sec,
  .about,.devs,.why,.services,.resources,.knowledge,.states-sec,.cta-section,.focus{padding:30px 0!important}
  .azd{padding:28px 18px 30px!important}
  .azb2b{padding:24px 18px!important}
  .pg-hero{padding:16px 18px 14px!important}
  .pg-main{padding:20px 18px 10px!important}
  .az-h2{margin-top:24px!important}
}

/* ---------- zone map: heading sits straight on the map ---------- */
.zonemap-sub{margin-bottom:10px!important}
.zonemap-sub:empty{display:none}
#azMap{margin-top:0!important}
.zonemap-note{margin-top:8px!important}
.zonemap-cta{margin-top:14px!important}

/* ---------- listings: four CTA buttons, tidy grid ---------- */
.listings-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px}
.listings-cta>a,.listings-cta>button{flex:0 1 auto;margin:0}
.listings-sec .listings-cta a.btn-primary,.listings-sec .listings-cta a.btn-secondary,
.listings-sec .listings-cta button.btn-secondary{white-space:nowrap}
@media(max-width:760px){
  .listings-cta{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}
  .listings-sec .listings-cta a,.listings-sec .listings-cta button{
    width:100%;white-space:normal;font-size:13.5px;padding:12px 10px;line-height:1.3}
}
/* ---------- bilingual page headings ---------- */
.az-hi-sub{font-family:'DM Sans',system-ui,sans-serif;font-weight:600;
  font-size:.56em;line-height:1.4;margin-top:8px;letter-spacing:0}
h1 .az-hi-sub{margin-top:10px}
.pg-hero h1 .az-hi-sub{color:#E8D48B}
.hero h1 .az-hi-sub{color:#E8D48B}
.section-title .az-hi-sub{color:inherit;opacity:.82}

/* ---------- carousels: tighter, no long pages ---------- */
.azc{padding-bottom:2px}
.azc-track{padding:4px 4px 12px 4px;gap:14px}
.azc-dots{margin-top:0}
.azc-track>*{height:auto}

/* ================= v3.2 ================= */

/* zone map: no dead band under the heading */
.zonemap-sec .section-label{margin-bottom:4px!important}
.zonemap-sec .section-title{margin-bottom:6px!important}
.zonemap-sub{margin:0 0 12px!important;font-size:14.5px;line-height:1.6}
@media(max-width:768px){
  .zonemap-sec{padding:24px 0 26px!important}
  .zonemap-sub{margin:0 0 10px!important;font-size:14px}
  #azMap{height:300px!important}
  .zonemap-note{margin-top:6px!important;font-size:11px}
  .zonemap-cta{margin-top:12px!important}
}

/* listings: four CTAs -> two clean rows, readable colours */
.listings-sec .listings-cta{display:grid;gap:10px;margin:16px 0 10px}
.listings-sec .listings-cta>*{margin:0;width:100%}
.listings-sec .listings-cta a.btn-primary,
.listings-sec .listings-cta a.btn-secondary,
.listings-sec .listings-cta button.btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;text-align:center;
  min-height:48px;padding:12px 14px;font-family:'DM Sans',system-ui,sans-serif;
  font-size:14px;font-weight:700;line-height:1.25;border-radius:12px;text-decoration:none;cursor:pointer}
.listings-sec .listings-cta a.btn-primary{background:#1A3C2A;border:1.5px solid #1A3C2A}
.listings-sec .listings-cta a.btn-primary:hover{background:#0F2419;color:#E8D48B}
.listings-sec .listings-cta a.btn-secondary,
.listings-sec .listings-cta button.btn-secondary{background:#FFFFFF;color:#1A3C2A;border:1.5px solid #C8A951}
.listings-sec .listings-cta a.btn-secondary:hover,
.listings-sec .listings-cta button.btn-secondary:hover{background:#F5F0E6;color:#0F2419;border-color:#6F5518}
@media(max-width:760px){
  .listings-sec .listings-cta{grid-template-columns:1fr 1fr;gap:9px}
  .listings-sec .listings-cta>*{white-space:normal;font-size:13px!important;padding:11px 8px!important;min-height:52px}
}
p.listings-cta{display:block!important;grid-template-columns:none!important;text-align:center}

/* About: trust list + feature cards ride the carousel on mobile */
@media(max-width:900px){
  .about-grid{display:block!important}
  .about-image.az-trust{margin-bottom:18px}
  .az-trust-list.azc-track{scroll-snap-type:x mandatory}
  .az-trust-list.azc-track>li{border-bottom:none!important}
  .az-trust-list.azc-track>li a{height:100%;align-items:flex-start}
  .about-features.azc-track>.af-item{width:clamp(228px,74vw,280px)}
}
.az-trust-list.azc-track{display:flex!important;list-style:none}
.about-features.azc-track{display:flex!important}

/* merged knowledge + blog strip */
.know-sub-head{margin:30px 0 12px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.know-sub-head h3{font-family:'Playfair Display',Georgia,serif;font-size:clamp(19px,3vw,24px);color:#FFFFFF;margin:0}
.know-sub-head h3 em{color:#C8A951;font-style:normal}
.know-sub-head a{font-family:'DM Sans',system-ui,sans-serif;font-size:13.5px;font-weight:800;color:#E8D48B;text-decoration:none;border-bottom:1.5px solid #C8A951}
.knowledge .bs-card{background:rgba(255,255,255,.06)!important;border:1px solid rgba(200,169,81,.4)!important}
.knowledge .bs-card h3{color:#FFFFFF!important}
.knowledge .bs-card p{color:rgba(245,240,230,.85)!important}
.knowledge .bs-card span{color:#E8D48B!important}
.knowledge .blogstrip-cta{margin-top:16px;text-align:center}

/* app cards keep an even height inside the rail */
.apps-grid.azc-track>.app-card{display:flex;flex-direction:column}
.apps-grid.azc-track>.app-card .app-links{margin-top:auto}

/* ================= v3.3 ================= */

/* listings CTA: exactly two rows of two on mobile */
.listings-sec .listings-cta>*{grid-column:auto!important}

/* trust list rail: horizontal, equal-height cards */
.az-trust-list.azc-track{flex-direction:row!important;gap:12px!important;padding-left:4px}
.az-trust-list.azc-track>li{border-bottom:none!important;padding:0!important;
  background:rgba(255,255,255,.05);border:1px solid rgba(200,169,81,.28);border-radius:14px}
.az-trust-list.azc-track>li a{border-bottom:none!important;height:100%;align-items:flex-start;padding:14px 12px!important}
.az-trust-list.azc-track>li b{min-width:auto!important}
@media(max-width:900px){
  .az-trust-list.azc-track>li{width:clamp(228px,72vw,278px)}
  .about-image.az-trust{padding-bottom:14px}
}

/* the six-step journey rides one rail on mobile */
.journey.azc-track{flex-wrap:nowrap!important;margin-top:18px!important}
.journey.azc-track>.j-step{flex:0 0 auto!important;min-width:0!important;width:clamp(190px,58vw,232px)}
@media(max-width:900px){.journey.azc-track>.j-step{width:clamp(180px,56vw,220px)}}

/* ---- v3.3a: rails must never outgrow their container ---- */
.azc{max-width:100%;min-width:0}
.azc-track{max-width:100%;min-width:0}
.about-grid,.about-grid>*,.about-image,.about-image.az-trust{min-width:0;max-width:100%}
/* equal grid columns regardless of button label length */
.listings-sec .listings-cta{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* wide reference tables scroll inside their own wrapper instead of the page */
.zt-wrap,.az-tscroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.zt-wrap>table,table.zt{min-width:420px}

.az-tscroll{margin:14px 0}
.az-tscroll>table{margin:0!important;min-width:420px}

/* long unbroken URLs must wrap instead of stretching the page */
main a,article a,.azs-footer a,.hb-item a,.pg-main a{overflow-wrap:anywhere}
main,article,.pg-main{overflow-wrap:break-word}
.azs-menu a,.azs-dd-m a,.listings-cta a,.listings-cta button,.azc-btn,.az-enq{overflow-wrap:normal}

/* ---------- listing photo (identical box on every card) ---------- */
.lst-card{overflow:hidden}
.lst-photo{position:relative;margin:-20px -20px 12px;aspect-ratio:4/3;overflow:hidden;
  background:#e8e4d8;border-bottom:1px solid rgba(200,169,81,.4)}
.lst-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.lst-card:hover .lst-photo img{transform:scale(1.03)}
.lst-photo img{transition:transform .4s ease}
.lst-photo-tag{position:absolute;left:10px;bottom:10px;background:rgba(15,36,25,.82);color:#E8D48B;
  font-family:'DM Sans',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.02em;
  padding:4px 9px;border-radius:100px;backdrop-filter:blur(3px)}
@media(max-width:600px){.lst-photo{margin:-20px -20px 10px}.lst-photo-tag{font-size:10px}}

/* ================= v3.4 ================= */

/* hero: two CTAs share one row on mobile; belt card halved */
@media(max-width:768px){
  .hero-buttons{flex-wrap:nowrap!important;gap:9px;align-items:stretch}
  .hero-buttons>a{flex:1 1 0;min-width:0;text-align:center;white-space:nowrap;
    font-size:13.5px!important;padding:12px 10px!important;display:inline-flex;
    align-items:center;justify-content:center}
.hero-card{transform:none!important}
.hero-map .map-label{}
  .hero-map .map-label small{letter-spacing:.08em}
.hero-stats .num{}
  .hero-stats .lbl{letter-spacing:.04em}
  .floating-tag{transform:scale(.72);transform-origin:top left}
  .floating-tag.tag2{transform-origin:bottom right}
}

/* footer sits flush on the viewport floor.
   NOTE: do NOT set a dark background on html/body — pages set their own light
   backgrounds and a dark one shows through every unpainted section, turning
   dark-on-light text into dark-on-dark. The white band was body padding, fixed below. */
body{min-height:100%}
.azs-footer{padding-bottom:env(safe-area-inset-bottom,0)}
.azs-footer:last-child{margin-bottom:0!important}

/* listings page: buy / sell desk shortcuts */
.lst-desks{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:1200px;margin:0 auto 4px;padding:16px 24px 0}
/* One line, not a stack. The icon, the label and its sub-line used to sit in
   a column, which made each of these buttons about 110px tall for eleven
   words. Everything rides one row now and wraps to two only on a narrow
   phone, where there genuinely is not width for it. az-chrome.css is shared,
   so this shortens the pair everywhere they appear, not only on /listings. */
.lst-desk{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;
  justify-content:center;gap:2px 9px;text-decoration:none;border-radius:14px;
  padding:11px 16px;font-family:'DM Sans',system-ui,sans-serif;
  border:1.5px solid #C8A951;transition:.2s}
.lst-desk span{white-space:nowrap}
@media(max-width:520px){.lst-desk span{white-space:normal}}
.lst-desk b{font-size:15.5px;font-weight:800}
.lst-desk span{font-size:12.5px;opacity:.85}
.lst-desk-buy{background:#1A3C2A}
.lst-desk-buy:hover{background:#0F2419;color:#E8D48B}
.lst-desk-sell{background:#fff;color:#1A3C2A}
.lst-desk-sell:hover{background:#F5F0E6}
@media(max-width:600px){.lst-desks{padding:12px 18px 0;gap:9px}.lst-desk{padding:12px}.lst-desk b{font-size:14px}.lst-desk span{font-size:11.5px}}

/* states page: compare-states call to action */
.states-compare-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;
  background:linear-gradient(180deg,#fbfaf6,#f4f0e4);border:1px solid #e6dfca;border-radius:18px;
  padding:20px 22px;margin:8px 0 20px}
.states-compare-cta b{display:block;font-family:'Playfair Display',Georgia,serif;font-size:18.5px;color:#0F2419;margin-bottom:4px}
.states-compare-cta span{display:block;font-size:14px;line-height:1.6;color:#4d564e;max-width:640px}
.states-compare-cta a{flex:0 0 auto;background:#1A3C2A;font-weight:800;font-size:14px;
  text-decoration:none;padding:12px 22px;border-radius:12px}
.states-compare-cta a:hover{background:#0F2419;color:#E8D48B}
@media(max-width:700px){.states-compare-cta{padding:18px 16px}
  .states-compare-cta a{width:100%;box-sizing:border-box;text-align:center}}

.states-compare-cta,.states-compare-cta *{box-sizing:border-box;max-width:100%}

/* A previous sticky bottom bar was removed and this reclaimed the space it had
   reserved. v68 reintroduces a bottom bar on phones, so the reclaim is now
   scoped to desktop — below 900px the bar needs that clearance back, and an
   unscoped !important here would silently sit the bar on top of the footer.

   FIXED 22 Aug 2026. The comment above said "scoped to desktop" and the rule
   was not scoped: it sat at file scope with no media query, so it beat
   `html body.azm-dash{padding-bottom:66px}` in az-market.css and the fixed
   72px bar covered the last 72px of the footer on every dashboard page at
   phone width. Measured in Chromium at 390px, not inferred. The comment was
   describing an intention nobody had implemented — which is why it read as
   correct for four versions. dev/qa.py asserts the media query now, not the
   bare declaration, so the two cannot drift apart again. */
@media (min-width:901px){
  body{padding-bottom:0!important;margin-bottom:0!important}
}
.azs-footer{margin-bottom:0!important}

/* ================= v3.5 — measured contrast corrections =================
   Every rule below was added to clear a specific WCAG AA failure found by the
   rendered-contrast audit. Ratios in comments are measured, not estimated. */

/* brand gold text was 3.5:1 on cream — below AA for body copy. Darkened. */
:root{--az-gold-text:#6F5518}
.res-link-text,.lst-id,.azb2b-lab,.role,.loc,.az-k,.az-hi,.hi,
.pg-eyebrow,.wal-tag,.sv-n,.hb-k,.km-go,.nw-k{color:#6F5518!important}
main a:not([class]),article a:not([class]),.pg-main a:not([class]){color:#6B5216}
main a:not([class]):hover,article a:not([class]):hover{color:#4E3B0E}

/* light-section text that was inheriting dark-section colours */
.wal-bc,.pg-crumb,.calc-bc{color:#5A5546!important}
.tst-note,.tst-note b{color:#6B5216!important}

/* the six-stage journey panel is dark — its body copy was grey-on-forest */
.igx{background:linear-gradient(160deg,#0F2419,#16331f)}
.igx-s,.igx-n,.igx-st span{color:rgba(245,240,230,.9)!important}
.igx-t,.igx-st b{color:#FFFFFF!important}
.igx-k{color:#0F2419!important;background:#C8A951}
.igx-st i{color:#0F2419!important;background:#C8A951}

/* text sitting on a gold fill must be near-black, not brown */
[style*="background:#C8A951"] p,[style*="background:var(--gold)"] p,
.btn-gold,.az-cta{color:#231A06!important}

/* pale tokens are for dark panels only — never on cream */
.az-kick{color:#6F5518!important;background:#FBF6E6}

/* map SVG labels must not fall back to default link blue */
svg a text,svg text a,svg a{fill:#E8D48B;color:#E8D48B}
svg a:hover text{fill:#FFFFFF}

/* --- v3.5 round 2: the darkened gold is for LIGHT backgrounds only --- */
.pg-hero,.hero,.igx,.knowledge,.focus,.states-sec,.azd,.apps-sec,.cta-section,
.about-image.az-trust,.focus-dossier,.svc-merged,.az-merge-dark,.wal-hero,.hd-hero,
.hb-hero,.nw-hero,.sv-hero,.calc-hero,.fb-hero,.bds-hero{--az-on-dark:1}
.pg-hero .pg-crumb,.pg-hero .pg-crumb a,.pg-hero .pg-eyebrow,
.hero .pg-crumb,.wal-hero .az-kick,.hd-hero .az-kick,.nw-hero .az-kick,
.pg-hero .az-kick,.hb-hero .az-kick,.fb-hero .az-kick,.sv-hero .az-kick{
  color:#E8D48B!important;background:transparent}
.pg-hero .az-kick,.wal-hero .az-kick{background:rgba(200,169,81,.16)!important;border-color:rgba(200,169,81,.45)!important}
/* links inside dark panels */
.knowledge a,.focus a,.states-sec a,.azd a,.apps-sec a,.igx a,
.focus-dossier a,.svc-merged a,.about-image.az-trust a,.hero a:not(.btn-primary):not(.btn-secondary){
  color:#E8D48B}
.knowledge a:hover,.focus a:hover,.states-sec a:hover,.igx a:hover{color:#FFFFFF}
/* text on a gold fill */
.btn-gold,.az-cta,.pg-cta,.focus-dossier a,.svc-merged a,.know-more-cta,
.states-compare-cta a,.lst-desk-buy,.azs-fbot a{color:#231A06}
.lst-desk-buy{color:#FFFFFF}
.azs-fbot a{color:#E8D48B}
a[style*="background:#C8A951"],a[style*="background:var(--gold)"]{color:#231A06!important}
/* muted greys were 3.4–3.7:1 on white */
.lst-note,.fb-src,.bds-src,.fb-bc,.hd-note,.pg-note,.sec-sub,.st-src,
.wal-bc,.calc-bc,.nw-src,.hb-lead small,.az-src{color:#5A5546!important}
.mp-plan p,.mp-note,.zt-note{color:#4A4636!important}
th{color:#3A362A}
/* solar / calculator notes sit on a dark panel */
.cal-note,.cal-note b,.cal-wrap p,.cal-wrap b{color:rgba(245,240,230,.9)!important}
/* pending pill */
.lst-pend{color:#6B5216!important}
/* low-opacity decorative text on dark */
.st-map-label{color:rgba(200,169,81,.95)!important}
.st-cap{color:rgba(245,240,230,.78)!important}

/* --- listings page: buy / sell desks sit below the grid as buttons --- */
.lst-desks-below{margin:22px auto 8px;padding:0 24px}
.lst-desks-below .lst-desk{align-items:center;text-align:center;padding:16px 18px;
  box-shadow:0 4px 14px rgba(15,36,25,.1)}
.lst-desks-below .lst-desk b{font-size:16.5px}
@media(max-width:600px){
  .lst-desks-below{padding:0 18px;margin:18px auto 6px}
  .lst-desks-below .lst-desk{padding:14px 10px}
  .lst-desks-below .lst-desk b{font-size:14.5px}
  .lst-desks-below .lst-desk span{font-size:11px}
}

/* --- homepage hero: half the height, no dead space --- */
@media(max-width:768px){
  .hero{padding:20px 0 18px!important}
  .hero-grid{gap:10px!important}
  .hero-badge{margin-bottom:8px!important;padding:5px 12px!important;font-size:10.5px!important}
  .hero h1{font-size:clamp(26px,7.4vw,34px)!important;line-height:1.12!important;margin-bottom:6px!important}
  .hero h1 .az-hi-sub{font-size:.46em!important;margin-top:5px!important}
  .hero-content>p{font-size:14px!important;line-height:1.5!important;margin-bottom:12px!important}
  .hero-buttons{margin-bottom:0!important}
.hero-card{}
  .hero-map{min-height:0!important;margin-bottom:6px!important}
.hero-map .map-label small{margin-top:2px}
  .hero-stats{gap:4px!important;padding-top:7px!important}
.hero-stats .lbl{line-height:1.2}
  .floating-tag{display:none!important}
}

/* ================= v3.6 ================= */

/* two cards per view where the content is compact */
.azc-track.azc-cols-2>*{width:calc(50% - 8px);min-width:0}
/* four per view on wide screens, stepping down with the viewport (2 Sep 2026) */
.azc-track.azc-cols-4>*{width:calc(25% - 11px);min-width:0}
@media(max-width:1023px){.azc-track.azc-cols-4>*{width:calc(33.34% - 10px)}}
@media(max-width:760px){.azc-track.azc-cols-4>*{width:calc(50% - 7px)}}
@media(max-width:480px){.azc-track.azc-cols-4>*{width:clamp(220px,78vw,300px)}}
@media(max-width:520px){.azc-track.azc-cols-2>*{width:calc(50% - 6px)}}
.hd-grid.azc-track>.hd-card{display:flex;flex-direction:column;gap:5px;padding:15px 14px;height:auto}
.hd-grid.azc-track>.hd-card b{font-size:15px;line-height:1.3}
.hd-grid.azc-track>.hd-card span{font-size:12.8px;line-height:1.55}

/* ---------- FOOTER: left-aligned, even columns, no ragged wrap ---------- */
.azs-footer,.azs-fin,.azs-fgrid,.azs-fcol{text-align:left}
.azs-fcol h4,.azs-fcol h2{text-align:left}
.azs-fgrid a{text-align:left}
.azs-faddr{text-align:left}
.azs-fsoc{justify-content:flex-start}
.azs-fdisc,.azs-fbot{text-align:left}
@media(max-width:1080px){.azs-fgrid{grid-template-columns:1.35fr 1fr 1fr;gap:24px 26px}}
@media(max-width:720px){
.azs-fgrid h4{}
.azs-fgrid li{}
}
@media(max-width:400px){.azs-fgrid{}}

/* ---------- HERO: belt card fills the column, tighter to the stats ---------- */
@media(max-width:768px){
  .hero-visual{max-width:100%!important;width:100%!important;margin:14px 0 0!important}
  .hero-card{padding:14px 12px!important;border-radius:16px}
  .hero-map{height:150px!important}
  .hero-map .map-label{font-size:16px!important}
  .hero-map .map-label small{font-size:8.5px!important}
  .hero-stats .num{font-size:19px!important}
  .hero-stats .lbl{font-size:8.5px!important}
  .hero{padding-bottom:10px!important}
  .stats-bar{padding:18px 0 16px!important}
  .stats-bar .stats-grid{gap:12px 10px!important}
  .stats-bar .sb-num{font-size:30px!important}
  .stats-bar .sb-lbl{font-size:12.5px!important;line-height:1.3}
}
@media(min-width:769px){.hero-visual{max-width:100%}}

@media(min-width:769px){.stats-bar{padding:26px 0 24px!important}}

/* machine-translation disclosure banner */
.az-transnote{position:fixed;left:0;right:0;bottom:0;z-index:1600;display:flex;gap:12px;align-items:flex-start;justify-content:space-between;background:#0F2419;color:#F5F0E6;font-family:'DM Sans',system-ui,sans-serif;font-size:13px;line-height:1.6;padding:11px 14px;box-shadow:0 -3px 14px rgba(0,0,0,.25)}
.az-transnote b{color:#E8D48B}
.az-transnote a{color:#E8D48B;font-weight:700}
.az-transnote button{flex:0 0 auto;background:transparent;border:1px solid rgba(232,212,139,.55);color:#E8D48B;font-size:16px;line-height:1;padding:4px 10px;border-radius:8px;cursor:pointer}
@media(max-width:600px){.az-transnote{font-size:12.5px;padding:10px 12px}}

/* ---- Illustration figures (image pack, v49). Mirrors the inline .az-fig SVG
   treatment already on ten pages; identical properties, so the duplicate inline
   copies cascade harmlessly. .az-fig-img is the <img> analogue of .az-fig-svg. ---- */
.az-fig{margin:26px 0}
.az-fig-img{display:block;width:100%;height:auto;background:#FEFDFB;
  border:1px solid rgba(200,169,81,.45);border-radius:14px}
.az-fig figcaption{font-family:'DM Sans',system-ui,sans-serif;font-size:13px;line-height:1.6;margin-top:9px}
.az-fig figcaption b{color:#1A3C2A}
.az-fig-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:26px 0}
.az-fig-grid .az-fig{margin:0}
@media(max-width:700px){.az-fig-grid{grid-template-columns:1fr}}

/* ---- contact page: map + form helpers ---- */
.az-map{margin:18px 0 14px;border-radius:16px;overflow:hidden;border:1px solid rgba(200,169,81,.42);
  box-shadow:0 4px 18px rgba(26,60,42,.10);line-height:0;background:#0F2419}
.az-map iframe{display:block;width:100%;height:380px;border:0}
@media(max-width:700px){.az-map iframe{height:300px}}
.az-mapcta{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0 0}
.az-mapcta a{flex:1 1 220px;text-align:center;text-decoration:none;padding:12px 18px;border-radius:12px;font-weight:800;font-size:14px}
.az-fconsent label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.az-fconsent input{margin-top:3px;flex:0 0 auto}

/* <picture> wrappers must inherit the sizing the bare <img> used to get */
.pf-av picture{display:block;width:100%;height:100%}
.pf-meet picture{flex:none;display:block;width:64px;height:64px}
.dev-card-header.has-img picture{display:contents}

/* contact cards: 24px+ pointer target (WCAG 2.5.8) */
.pg-go{display:inline-flex;align-items:center;min-height:26px;padding:4px 0}

/* glossary links inside prose — readable, not shouty */
.az-term{color:inherit;text-decoration:none;border-bottom:1px dotted rgba(200,169,81,.75);
  padding-bottom:1px;transition:border-color .15s,color .15s}
.az-term:hover,.az-term:focus-visible{color:#6F5518;border-bottom-color:#C8A951;border-bottom-style:solid}
.azs-fdark .az-term,.azc-on-dark .az-term{border-bottom-color:rgba(232,212,139,.7)}
.azs-fdark .az-term:hover,.azc-on-dark .az-term:hover{color:#E8D48B}
html.az-links .az-term{text-decoration:underline}

/* ═════════ sitewide search overlay (v3.8) ═════════ */
html.azq-lock{overflow:hidden}
#azqOverlay{display:none;position:fixed;inset:0;z-index:4000;background:rgba(15,36,25,.62);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:7vh 16px 16px}
#azqOverlay.open{display:block}
.azq-box{max-width:680px;margin:0 auto;background:#FEFDFB;border:1px solid rgba(200,169,81,.55);
  border-radius:18px;box-shadow:0 24px 70px rgba(10,10,8,.34);overflow:hidden;
  display:flex;flex-direction:column;max-height:86vh}
.azq-head{display:flex;align-items:center;gap:10px;padding:13px 14px;
  border-bottom:1px solid rgba(200,169,81,.35);flex:none}
.azq-mag{color:#6F5518;flex:none}
#azqInput{flex:1;min-width:0;border:none;outline:none;background:transparent;
  font-family:'DM Sans',system-ui,sans-serif;font-size:16px;color:#0F2419}
#azqInput::-webkit-search-cancel-button{-webkit-appearance:none}
.azq-x{flex:none;background:transparent;border:none;font-size:24px;line-height:1;cursor:pointer;
  color:#6B4F3A;padding:2px 8px;border-radius:8px;font-family:inherit}
.azq-x:hover{background:#F5F0E6;color:#1A3C2A}
#azqResults{overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0}
.azq-hint,.azq-msg{margin:0;padding:9px 16px;font-size:11px;font-weight:800;letter-spacing:1.4px;
  text-transform:uppercase;color:#6F5518;background:#F5F0E6}
.azq-item{display:flex;align-items:flex-start;gap:11px;padding:11px 16px;text-decoration:none;
  border-bottom:1px solid rgba(200,169,81,.16)}
.azq-item:hover,.azq-item.sel{background:#F5F0E6}
.azq-item.sel{box-shadow:inset 3px 0 0 #C8A951}
.azq-txt{min-width:0;flex:1}
.azq-item b{display:block;font-size:14.5px;line-height:1.35;color:#1A3C2A;font-weight:700}
.azq-item small{display:block;font-size:12.2px;line-height:1.5;color:#6B4F3A;margin-top:2px}
.azq-item em{display:block;font-style:normal;font-size:11px;color:#8B6F5A;margin-top:3px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.azq-item mark{background:rgba(200,169,81,.42);color:inherit;padding:0 1px;border-radius:2px}
.azq-tag{flex:none;font-size:9.5px;font-weight:800;letter-spacing:.4px;padding:3px 9px;
  border-radius:100px;background:#1A3C2A;color:#E8D48B;margin-top:2px;white-space:nowrap}
.azq-tag-l{background:#6F5518;color:#FEFDFB}
.azq-tag-e{background:#E8DFD0;color:#4A3A18}
.azq-tag-a,.azq-tag-t{background:#C8A951;color:#0F2419}
.azq-none{padding:26px 18px;text-align:center}
.azq-none b{display:block;font-family:'Playfair Display',Georgia,serif;font-size:19px;color:#1A3C2A}
.azq-none p{margin:6px 0 14px;font-size:13.5px;color:#6B4F3A}
.azq-wa{display:inline-block;background:#1A3C2A;color:#E8D48B;text-decoration:none;font-weight:700;
  font-size:13px;padding:10px 20px;border-radius:100px}
.azq-foot{display:flex;justify-content:space-between;gap:12px;flex:none;margin:0;
  padding:9px 16px;background:#F5F0E6;border-top:1px solid rgba(200,169,81,.3);
  font-size:11.5px;color:#6B4F3A}
.azq-keys{opacity:.8;white-space:nowrap}
@media (max-width:640px){
  #azqOverlay{padding:0}
  .azq-box{max-width:none;border-radius:0;border:none;max-height:100%;height:100%}
  .azq-keys{display:none}
}

/* ═════════ FOOTER v3.8 — brand band + 5 even columns ═════════
   The old grid put the brand block and four uneven columns (10/15/12/11) in one
   row, so the 15-link Learn column set the height and everything else ended in
   dead space. Brand now runs as its own band; links are 5 × 9. */
.azs-ftop{display:grid;align-items:start;padding-bottom:22px;margin-bottom:24px;
  border-bottom:1px solid rgba(200,169,81,.22)}
.azs-fid .azs-logo{margin-bottom:2px}
.azs-fid .azs-ftag{font-family:'Playfair Display',Georgia,serif;color:#C8A951;
  font-size:16.5px;font-weight:800;margin:10px 0 3px}
.azs-fid .azs-fsub{color:rgba(245,240,230,.85);font-size:14px;margin:0}
.azs-ftop .azs-faddr{font-style:normal;color:rgba(245,240,230,.78);
  font-size:13.6px;line-height:1.75}
.azs-ftop .azs-faddr a{color:#E8D48B;text-decoration:none;white-space:nowrap}
.azs-ftop .azs-faddr a:hover{text-decoration:underline}
.azs-ftop .azs-fsoc{max-width:296px}

.azs-fgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  gap:24px 26px;margin-bottom:24px;align-items:start}
.azs-fcol{min-width:0}
.azs-fgrid h4{font-family:'Playfair Display',Georgia,serif;color:#C8A951;
  font-size:16.5px;margin:0 0 11px;line-height:1.25}
.azs-fgrid li{margin:0 0 8px;line-height:1.45}
.azs-fgrid a{display:inline-block;font-size:13.8px;line-height:1.45;text-wrap:pretty}

@media(max-width:1120px){
  .azs-fgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 26px}
}
@media(max-width:880px){
  .azs-ftop{padding-bottom:18px;margin-bottom:20px}
  .azs-ftop .azs-fsoc{max-width:none}
  .azs-ftop .azs-faddr{max-width:none}
}
@media(max-width:720px){
  .azs-fgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 20px}
  .azs-fgrid h4{font-size:15.5px;margin-bottom:9px}
  .azs-fgrid a{font-size:13.4px}
  .azs-fgrid li{margin:0 0 7px}
}
@media(max-width:400px){.azs-fgrid{gap:18px 16px}}

/* ═════════ list filters (blogs + news): state & date ═════════ */
.hb-selects{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;padding:10px 0 2px}
.hb-sel{display:flex;flex-direction:column;gap:4px;min-width:0}
.hb-sel>span{font-size:11px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;color:#6F5518}
.hb-sel select{font:600 13.5px 'DM Sans',system-ui,sans-serif;color:#1A3C2A;background:#FFF;
  border:1.5px solid rgba(200,169,81,.55);border-radius:12px;padding:9px 32px 9px 12px;
  cursor:pointer;-webkit-appearance:none;appearance:none;max-width:230px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath fill='%236F5518' d='M5.5 7L0 0h11z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center}
.hb-sel select:focus{outline:none;border-color:#6F5518;box-shadow:0 0 0 3px rgba(200,169,81,.18)}
.hb-reset{font:700 13px 'DM Sans',system-ui,sans-serif;color:#6F5518;background:transparent;
  border:1.5px solid rgba(200,169,81,.5);border-radius:100px;padding:9px 16px;cursor:pointer}
.hb-reset:hover{background:#F5F0E6}
.hb-card.hide,.nw-item.hide,.hb-sec.hide{display:none!important}
@media(max-width:600px){.hb-sel select{max-width:none;width:100%}.hb-sel{flex:1 1 46%}}

/* state page → its own blog feed */
.st-blogcta{display:block;background:linear-gradient(160deg,#0F2419,#1A3C2A);color:#F5F0E6;
  border-radius:18px;padding:22px 24px;margin:26px 0 8px;text-decoration:none;
  border:1px solid rgba(200,169,81,.35)}
.st-blogcta b{display:block;font-family:'Playfair Display',Georgia,serif;font-size:20px;
  color:#E8D48B;margin-bottom:6px;line-height:1.3}
.st-blogcta span{display:block;font-size:14px;line-height:1.65;color:rgba(245,240,230,.85);max-width:70ch}
.st-blogcta em{font-style:normal;display:inline-block;margin-top:12px;font-weight:800;
  font-size:13.5px;color:#C8A951}
.st-blogcta:hover{border-color:#C8A951}
.st-blogcta:hover em{text-decoration:underline}
.hb-empty{display:none;background:#F5F0E6;border:1px solid rgba(200,169,81,.45);
  border-radius:16px;padding:24px;margin:26px 0 0}
.hb-empty.on{display:block}
.hb-empty b{display:block;font-family:'Playfair Display',Georgia,serif;font-size:19px;
  color:#1A3C2A;margin-bottom:6px}
.hb-empty p{font-size:14px;line-height:1.7;color:#5C665F;margin:0 0 8px}
.hb-empty a{color:#6F5518;font-weight:700;text-decoration:none}
.hb-empty a:hover{text-decoration:underline}
.fb-axis-add{display:inline-block;font-size:.82em;color:#6F5518;font-weight:700;
  background:rgba(200,169,81,.16);border:1px solid rgba(200,169,81,.4);
  border-radius:100px;padding:2px 12px;margin-left:8px;white-space:nowrap}
@media(max-width:600px){.fb-axis-add{display:block;margin:8px 0 0}}

/* ═════════ homepage layout v3.9 ═════════ */
/* full-width section body copy — the 600px caps were leaving half the band empty */
.states-intro,.focus-subtitle{color:rgba(245,240,230,.72)!important}

/* browse-all link sits under the state dropdown, not above it */
.states-hublink{margin:14px 0 26px;text-align:left}
.states-hublink a{color:#C8A951;font-weight:800;text-decoration:none;font-size:15px;
  border-bottom:2px solid rgba(200,169,81,.45);padding-bottom:2px}
.states-hublink a:hover{border-bottom-color:#C8A951}

/* Focus Belt: Hindi line continues from the English heading instead of dropping
   to its own row and opening a gap above the cards */
.fc-title .az-hi-run{display:inline;font-size:.52em;margin:0 0 0 .35em;
  white-space:normal;vertical-align:baseline;opacity:.92}
@media(max-width:760px){.fc-title .az-hi-run{display:block;margin:8px 0 0}}

/* knowledge hub: the two calls to action share one row */
.know-ctas{justify-content:center}
.know-ctas .know-more-cta{display:inline-flex;align-items:center;background:transparent;
  color:#E8D48B;border:2px solid rgba(200,169,81,.55);padding:14px 26px;border-radius:100px;
  font-weight:800;text-decoration:none;font-size:15px}
.know-ctas .know-more-cta:hover{background:rgba(200,169,81,.14);border-color:#C8A951}
@media(max-width:560px){
  .know-ctas{flex-direction:row;flex-wrap:wrap;align-items:stretch}
  .know-ctas>a{flex:1 1 100%;justify-content:center;text-align:center}
  .know-ctas>:first-child:nth-last-child(2),
  .know-ctas>:first-child:nth-last-child(2)~*{flex:1 1 0;min-width:0}}

/* section rhythm after removing the gold CTA band: apps ends on forest, states
   picks it up and deepens into the footer, so no two flat-deep bands collide */
.knowledge{background:#0F2419}
.states-sec{background:linear-gradient(160deg,#1A3C2A,#0F2419)}
.states-sec::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(200,169,81,.35),transparent)}

/* ═════════════════════════════════════════════════════════════
   SITEWIDE DENSITY PASS v4.0
   Three things, applied to every chrome page:
   1. content fills its container instead of stopping half way
   2. the gap between a heading and what follows is tightened
   3. Hindi subtitles run on from the English heading, not below it
   ═════════════════════════════════════════════════════════════ */

/* ---------- 1. FULL-WIDTH CONTENT ----------
   Every narrow cap inside the 1200px container is released. The container
   itself still holds the 1200/24px grid, so nothing spans the raw viewport. */
.pg-article,
.pg-article>p,.pg-article>ul,.pg-article>ol,.pg-article>h2,.pg-article>h3,
.pg-article>h4,.pg-article>blockquote,.pg-article>dl,.pg-article>figure,
.pg-article>table,
main>p,main>ul,main>ol,main>h2,main>h3,main>h4,main>blockquote,main>table,
.wrap>p,.wrap>ul,.wrap>ol,.wrap>h2,.wrap>h3,
.pg-main>p,.pg-main>ul,.pg-main>ol,
.pg-lead,.pg-sub,.pg-note,.hb-lead,.hb-note,.hb-empty,
.states-intro,.focus-subtitle,.svc-intro,.apps-sub,.listings-sub,
.zonemap-sub,.learn-sub,.about-content p,.res-note,.nw-read,.nw-read p,
.fb-hi,.fb-main>p,.sy-more,.az-fig,.az-fig figcaption,.az-fig-grid,
.hero p,.hero-content p,.pg-hero p,.pg-hero-in p,
.azd p,.azb2b p,.svc-card p,.section-lede,.sec-lede,.lede,.intro,.subtitle{
  max-width:none!important}
/* inline style="max-width:NNNpx" on a text block is overridden the same way */
.pg-main p[style*="max-width"],.pg-main div[style*="max-width"],
.hb-tin p[style*="max-width"],main p[style*="max-width"]{max-width:none!important}
/* long prose stays legible on very wide monitors without reopening the gap */
@media(min-width:1500px){
  .pg-article>p,.pg-article>ul,.pg-article>ol,main>p,main>ul,main>ol{
    max-width:1180px!important}
}

/* ---------- 2. HEADING → CONTENT SPACING ----------
   Reduced, not removed. Headings keep a clear relationship to what follows. */
.pg-main{padding-top:22px!important}
.pg-main>h2,.pg-article>h2,main>h2,.wrap>h2{margin:26px 0 8px!important}
.pg-main>h3,.pg-article>h3,main>h3,.wrap>h3{margin:20px 0 6px!important}
.pg-main>h2+p,.pg-article>h2+p,main>h2+p,
.pg-main>h3+p,.pg-article>h3+p,main>h3+p{margin-top:0!important}
.section-title{margin-bottom:10px!important}
.section-label{margin-bottom:8px!important}
.hb-sec{margin-top:26px!important}
.hb-sec>h2{margin-bottom:2px!important}
.hb-sec>p.hb-lead{margin-bottom:12px!important}
.hb-tools{padding-bottom:10px!important}
.know-header{margin-bottom:20px!important}
.fb-zone>h2{margin-bottom:4px!important}
.fb-zone>.fb-hi{margin-bottom:12px!important}
.fb-tbl{margin-top:12px!important}
.nw-read{margin-top:16px!important}
/* ---------- 3. HINDI SUBTITLE RUNS ON ----------
   The bilingual pair stays; it just stops claiming its own line and its own
   block of vertical space. It wraps naturally when the line is full. */
/* The Hindi line sits beside the English heading when it fits, and moves to
   the next line *whole* when it does not — inline-block + nowrap makes the
   span an unbreakable unit, so it can never start mid-phrase on line one and
   finish on line two. The left margin is the space between the two scripts. */
.az-hi-sub{display:inline-block!important;white-space:nowrap;
  margin:0 0 0 .55em!important;vertical-align:baseline;opacity:.9;
  max-width:100%}
h1 .az-hi-sub,.section-title .az-hi-sub{font-size:.5em!important}
.hero h1 .az-hi-sub{font-size:.42em!important}
/* if the Hindi alone is wider than the column, nowrap would overflow — below
   this width it takes its own line and wraps normally */
@media(max-width:900px){
  .az-hi-sub{display:block!important;white-space:normal;
    margin:8px 0 0!important}
}

/* ---------- 4. BUTTON GROUPS ON ONE ROW ---------- */
/* .listings-cta is deliberately excluded — it has its own 2x2 grid from v3.2 */
.pg-cta,.hb-btns,.hb-cta,.btns,.ab-btns,.nf-btns,.ck-actions,.cmp-fbtns,
.know-ctas,.cta-buttons,.hero-buttons,.blogstrip-cta,.pf-links,.az-2up,
.azd-cta,.azb2b-cta,.sy-actions,.pg-actions,.zonemap-cta{
  display:flex!important;flex-wrap:wrap;align-items:center;gap:12px;
  margin:16px 0 0}
.pg-cta>a,.hb-btns>a,.btns>a,.ab-btns>a,.nf-btns>a,.know-ctas>a,
.cta-buttons>a,.hero-buttons>a,.blogstrip-cta>a{
  flex:0 1 auto;white-space:normal;text-align:center}
/* the focus-belt zone links are individual anchors in flow — group them too */
.fb-zone>.fb-cta{margin:12px 8px 0 0}
@media(max-width:520px){
  /* Two buttons stay side by side on a phone; three or more still stack, because
     three full-length labels in one row is unreadable at 390px. The row is kept
     as a wrapping row rather than a column, so a full-width child pushes the
     next one onto its own line by itself. */
  .pg-cta,
  .hb-btns,
  .btns,
  .ab-btns,
  .nf-btns,
  .know-ctas,
  .cta-buttons,
  .hero-buttons,
  .pf-links,
  .az-2up{
    flex-direction:row;flex-wrap:wrap;align-items:stretch}
  .pg-cta>a,.pg-cta>button,
  .hb-btns>a,.hb-btns>button,
  .btns>a,.btns>button,
  .ab-btns>a,.ab-btns>button,
  .nf-btns>a,.nf-btns>button,
  .know-ctas>a,.know-ctas>button,
  .cta-buttons>a,.cta-buttons>button,
  .hero-buttons>a,.hero-buttons>button,
  .pf-links>a,.pf-links>button,
  .az-2up>a,.az-2up>button{
    flex:1 1 100%;min-width:0;justify-content:center;text-align:center}
  .pg-cta>a:first-child:nth-last-child(2),
  .pg-cta>button:first-child:nth-last-child(2),
  .pg-cta>a:first-child:nth-last-child(2)~a,
  .pg-cta>a:first-child:nth-last-child(2)~button,
  .pg-cta>button:first-child:nth-last-child(2)~a,
  .pg-cta>button:first-child:nth-last-child(2)~button,
  .hb-btns>a:first-child:nth-last-child(2),
  .hb-btns>button:first-child:nth-last-child(2),
  .hb-btns>a:first-child:nth-last-child(2)~a,
  .hb-btns>a:first-child:nth-last-child(2)~button,
  .hb-btns>button:first-child:nth-last-child(2)~a,
  .hb-btns>button:first-child:nth-last-child(2)~button,
  .btns>a:first-child:nth-last-child(2),
  .btns>button:first-child:nth-last-child(2),
  .btns>a:first-child:nth-last-child(2)~a,
  .btns>a:first-child:nth-last-child(2)~button,
  .btns>button:first-child:nth-last-child(2)~a,
  .btns>button:first-child:nth-last-child(2)~button,
  .ab-btns>a:first-child:nth-last-child(2),
  .ab-btns>button:first-child:nth-last-child(2),
  .ab-btns>a:first-child:nth-last-child(2)~a,
  .ab-btns>a:first-child:nth-last-child(2)~button,
  .ab-btns>button:first-child:nth-last-child(2)~a,
  .ab-btns>button:first-child:nth-last-child(2)~button,
  .nf-btns>a:first-child:nth-last-child(2),
  .nf-btns>button:first-child:nth-last-child(2),
  .nf-btns>a:first-child:nth-last-child(2)~a,
  .nf-btns>a:first-child:nth-last-child(2)~button,
  .nf-btns>button:first-child:nth-last-child(2)~a,
  .nf-btns>button:first-child:nth-last-child(2)~button,
  .know-ctas>a:first-child:nth-last-child(2),
  .know-ctas>button:first-child:nth-last-child(2),
  .know-ctas>a:first-child:nth-last-child(2)~a,
  .know-ctas>a:first-child:nth-last-child(2)~button,
  .know-ctas>button:first-child:nth-last-child(2)~a,
  .know-ctas>button:first-child:nth-last-child(2)~button,
  .cta-buttons>a:first-child:nth-last-child(2),
  .cta-buttons>button:first-child:nth-last-child(2),
  .cta-buttons>a:first-child:nth-last-child(2)~a,
  .cta-buttons>a:first-child:nth-last-child(2)~button,
  .cta-buttons>button:first-child:nth-last-child(2)~a,
  .cta-buttons>button:first-child:nth-last-child(2)~button,
  .hero-buttons>a:first-child:nth-last-child(2),
  .hero-buttons>button:first-child:nth-last-child(2),
  .hero-buttons>a:first-child:nth-last-child(2)~a,
  .hero-buttons>a:first-child:nth-last-child(2)~button,
  .hero-buttons>button:first-child:nth-last-child(2)~a,
  .hero-buttons>button:first-child:nth-last-child(2)~button,
  .pf-links>a:first-child:nth-last-child(2),
  .pf-links>button:first-child:nth-last-child(2),
  .pf-links>a:first-child:nth-last-child(2)~a,
  .pf-links>a:first-child:nth-last-child(2)~button,
  .pf-links>button:first-child:nth-last-child(2)~a,
  .pf-links>button:first-child:nth-last-child(2)~button,
  .az-2up>a:first-child:nth-last-child(2),
  .az-2up>button:first-child:nth-last-child(2),
  .az-2up>a:first-child:nth-last-child(2)~a,
  .az-2up>a:first-child:nth-last-child(2)~button,
  .az-2up>button:first-child:nth-last-child(2)~a,
  .az-2up>button:first-child:nth-last-child(2)~button{
    flex:1 1 0;min-width:0;padding-left:12px;padding-right:12px;
    font-size:13.5px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
  /* Exactly three buttons: two on the first row, the third full width beneath —
     the same 2+1 shape as the homepage .azt-tools row. Keyed on the first child
     being a button, so a group that opens with a <strong> prompt is not caught.
     These buttons are content-box, so a percentage flex-basis would be measured
     before padding; basis 0 plus flex-grow avoids that. Four or more stack. */
  .pg-cta>a:first-child:nth-last-child(3),
  .pg-cta>button:first-child:nth-last-child(3),
  .pg-cta>a:first-child:nth-last-child(3)~a,
  .pg-cta>a:first-child:nth-last-child(3)~button,
  .pg-cta>button:first-child:nth-last-child(3)~a,
  .pg-cta>button:first-child:nth-last-child(3)~button,
  .hb-btns>a:first-child:nth-last-child(3),
  .hb-btns>button:first-child:nth-last-child(3),
  .hb-btns>a:first-child:nth-last-child(3)~a,
  .hb-btns>a:first-child:nth-last-child(3)~button,
  .hb-btns>button:first-child:nth-last-child(3)~a,
  .hb-btns>button:first-child:nth-last-child(3)~button,
  .btns>a:first-child:nth-last-child(3),
  .btns>button:first-child:nth-last-child(3),
  .btns>a:first-child:nth-last-child(3)~a,
  .btns>a:first-child:nth-last-child(3)~button,
  .btns>button:first-child:nth-last-child(3)~a,
  .btns>button:first-child:nth-last-child(3)~button,
  .ab-btns>a:first-child:nth-last-child(3),
  .ab-btns>button:first-child:nth-last-child(3),
  .ab-btns>a:first-child:nth-last-child(3)~a,
  .ab-btns>a:first-child:nth-last-child(3)~button,
  .ab-btns>button:first-child:nth-last-child(3)~a,
  .ab-btns>button:first-child:nth-last-child(3)~button,
  .nf-btns>a:first-child:nth-last-child(3),
  .nf-btns>button:first-child:nth-last-child(3),
  .nf-btns>a:first-child:nth-last-child(3)~a,
  .nf-btns>a:first-child:nth-last-child(3)~button,
  .nf-btns>button:first-child:nth-last-child(3)~a,
  .nf-btns>button:first-child:nth-last-child(3)~button,
  .know-ctas>a:first-child:nth-last-child(3),
  .know-ctas>button:first-child:nth-last-child(3),
  .know-ctas>a:first-child:nth-last-child(3)~a,
  .know-ctas>a:first-child:nth-last-child(3)~button,
  .know-ctas>button:first-child:nth-last-child(3)~a,
  .know-ctas>button:first-child:nth-last-child(3)~button,
  .cta-buttons>a:first-child:nth-last-child(3),
  .cta-buttons>button:first-child:nth-last-child(3),
  .cta-buttons>a:first-child:nth-last-child(3)~a,
  .cta-buttons>a:first-child:nth-last-child(3)~button,
  .cta-buttons>button:first-child:nth-last-child(3)~a,
  .cta-buttons>button:first-child:nth-last-child(3)~button,
  .hero-buttons>a:first-child:nth-last-child(3),
  .hero-buttons>button:first-child:nth-last-child(3),
  .hero-buttons>a:first-child:nth-last-child(3)~a,
  .hero-buttons>a:first-child:nth-last-child(3)~button,
  .hero-buttons>button:first-child:nth-last-child(3)~a,
  .hero-buttons>button:first-child:nth-last-child(3)~button,
  .pf-links>a:first-child:nth-last-child(3),
  .pf-links>button:first-child:nth-last-child(3),
  .pf-links>a:first-child:nth-last-child(3)~a,
  .pf-links>a:first-child:nth-last-child(3)~button,
  .pf-links>button:first-child:nth-last-child(3)~a,
  .pf-links>button:first-child:nth-last-child(3)~button,
  .az-2up>a:first-child:nth-last-child(3),
  .az-2up>button:first-child:nth-last-child(3),
  .az-2up>a:first-child:nth-last-child(3)~a,
  .az-2up>a:first-child:nth-last-child(3)~button,
  .az-2up>button:first-child:nth-last-child(3)~a,
  .az-2up>button:first-child:nth-last-child(3)~button,
  .az-3up>a:first-child:nth-last-child(3),
  .az-3up>button:first-child:nth-last-child(3),
  .az-3up>a:first-child:nth-last-child(3)~a,
  .az-3up>a:first-child:nth-last-child(3)~button,
  .az-3up>button:first-child:nth-last-child(3)~a,
  .az-3up>button:first-child:nth-last-child(3)~button{
    flex:1 1 0;min-width:0;padding-left:12px;padding-right:12px;
    font-size:13.5px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
  .pg-cta>a:first-child:nth-last-child(3)~*:last-child,
  .pg-cta>button:first-child:nth-last-child(3)~*:last-child,
  .hb-btns>a:first-child:nth-last-child(3)~*:last-child,
  .hb-btns>button:first-child:nth-last-child(3)~*:last-child,
  .btns>a:first-child:nth-last-child(3)~*:last-child,
  .btns>button:first-child:nth-last-child(3)~*:last-child,
  .ab-btns>a:first-child:nth-last-child(3)~*:last-child,
  .ab-btns>button:first-child:nth-last-child(3)~*:last-child,
  .nf-btns>a:first-child:nth-last-child(3)~*:last-child,
  .nf-btns>button:first-child:nth-last-child(3)~*:last-child,
  .know-ctas>a:first-child:nth-last-child(3)~*:last-child,
  .know-ctas>button:first-child:nth-last-child(3)~*:last-child,
  .cta-buttons>a:first-child:nth-last-child(3)~*:last-child,
  .cta-buttons>button:first-child:nth-last-child(3)~*:last-child,
  .hero-buttons>a:first-child:nth-last-child(3)~*:last-child,
  .hero-buttons>button:first-child:nth-last-child(3)~*:last-child,
  .pf-links>a:first-child:nth-last-child(3)~*:last-child,
  .pf-links>button:first-child:nth-last-child(3)~*:last-child,
  .az-2up>a:first-child:nth-last-child(3)~*:last-child,
  .az-2up>button:first-child:nth-last-child(3)~*:last-child,
  .az-3up>a:first-child:nth-last-child(3)~*:last-child,
  .az-3up>button:first-child:nth-last-child(3)~*:last-child{
    flex:1 1 100%}
  /* a <strong> prompt plus two buttons: prompt on its own row, buttons paired */
  .pg-cta>strong:first-child:nth-last-child(3),
  .hb-btns>strong:first-child:nth-last-child(3),
  .btns>strong:first-child:nth-last-child(3){
    flex:1 1 100%;margin-right:0;text-align:center}
  .pg-cta>strong:first-child:nth-last-child(3)~a,
  .pg-cta>strong:first-child:nth-last-child(3)~button,
  .hb-btns>strong:first-child:nth-last-child(3)~a,
  .hb-btns>strong:first-child:nth-last-child(3)~button,
  .btns>strong:first-child:nth-last-child(3)~a,
  .btns>strong:first-child:nth-last-child(3)~button{
    flex:1 1 0;min-width:0;padding-left:12px;padding-right:12px;
    font-size:13.5px;line-height:1.3}
}
/* a <br> inside a flex button row becomes a stray zero-width item that adds a
   phantom line — the row is a flex container now, so the break is redundant */
.pg-cta br,.hb-btns br,.btns br,.ab-btns br,.nf-btns br,.know-ctas br,
.cta-buttons br,.hero-buttons br{display:none}
.pg-cta>strong,.hb-btns>strong,.btns>strong{flex:0 1 auto;margin-right:4px}

/* ═════════ apps section on the light ground, matching Land Listings ═════════ */
.apps-sec{background:#FEFDFB!important;color:#26221B}
.apps-sec .section-label{color:#6F5518!important}
.apps-sec .section-title{color:#1A3C2A!important}
.apps-sec .section-title em{color:#6F5518!important}
.apps-sec .apps-sub{color:#5C665F!important}
.apps-sec .app-card{background:#F5F0E6;border:1px solid rgba(200,169,81,.4);
  box-shadow:0 2px 14px rgba(10,10,8,.05)}
.apps-sec .app-card h3{color:#1A3C2A}
.apps-sec .app-rate{color:#6F5518}
.apps-sec .app-feats{color:#4A4636}
.apps-sec .app-feats li::before{color:#6F5518}
.apps-sec .app-web{color:#1A3C2A;text-decoration-color:#C8A951}
.apps-sec .app-share{border:1.5px solid #6F5518;color:#1A3C2A;background:transparent}
.apps-sec .app-share:active,.apps-sec .app-share:hover{background:#F5F0E6}
.apps-sec .azc-dots i,.apps-sec .azc-dot{background:rgba(26,60,42,.25)}

/* ═════════ spacing trims (homepage) ═════════ */
/* listings: paragraph → quick links → cards */
.listings-sub{margin-bottom:8px!important}
p.listings-cta{margin:6px 0 10px!important}
/* learn: lead paragraph → cards */
.learn-sub{margin-bottom:16px!important}
/* states: dropdown and the browse-all link share one row */
.states-pick{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin:0 0 22px}
.states-pick .state-dropdown-wrap{margin:0;flex:0 1 340px}
.states-pick .states-hublink{margin:0;flex:0 0 auto}
@media(max-width:560px){.states-pick{gap:10px}.states-pick .state-dropdown-wrap{flex:1 1 100%}}

/* ═════════ footer band v4.1 — address on 3 lines, socials 4+3 ═════════ */
.azs-ftop{grid-template-columns:minmax(230px,1fr) minmax(400px,1.25fr) 146px!important;
  gap:20px 40px!important}
.azs-fllp{margin:6px 0 0;font-size:12.8px;line-height:1.5;color:rgba(245,240,230,.62)}
.azs-fllp strong{color:rgba(245,240,230,.82);font-weight:700}
.azs-ftop .azs-faddr{max-width:none!important;margin:2px 0 0}
.azs-fal{display:block;white-space:nowrap}
.azs-fdot{margin:0 8px;opacity:.55}
.azs-ftop .azs-fsoc{display:grid!important;grid-template-columns:repeat(4,32px);
  gap:6px;width:146px;justify-content:end;margin:0}
.azs-ftop .azs-fsoc a{width:32px;height:32px;margin:0}
@media(max-width:1040px){
  .azs-fal{white-space:normal}
}
@media(max-width:880px){
  .azs-ftop{grid-template-columns:1fr!important;gap:14px!important}
  .azs-ftop .azs-fsoc{justify-content:start;margin:2px 0 0}
}

/* ═════════ forms — one styled system for all 19 pages that carry .az-form ═════════ */
.az-form{margin:16px 0 10px}
.az-frow{display:grid;gap:14px 20px;margin:0 0 14px}
.az-form>div{margin:0 0 14px}
.az-frow>div{margin:0}
.az-fl{display:block;font-family:'DM Sans',system-ui,sans-serif;font-size:13px;font-weight:700;
  letter-spacing:.2px;color:#1A3C2A;margin:0 0 6px}
.az-fl span{font-weight:500;color:#6E6759}
.az-form input[type="text"],.az-form input[type="tel"],.az-form input[type="email"],
.az-form input[type="number"],.az-form select,.az-form textarea{
  width:100%;display:block;box-sizing:border-box;
  font-family:'DM Sans',system-ui,sans-serif;font-size:15px;line-height:1.4;color:#1A3C2A;
  background:#FEFDFB;border:1.5px solid rgba(200,169,81,.55);border-radius:12px;
  padding:12px 14px;-webkit-appearance:none;appearance:none}
.az-form select{padding-right:38px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath fill='%236F5518' d='M5.5 7L0 0h11z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center}
.az-form textarea{resize:vertical}
.az-form ::placeholder{color:#9A9384;opacity:1}
.az-form input:focus,.az-form select:focus,.az-form textarea:focus{
  outline:none;border-color:#6F5518;box-shadow:0 0 0 3px rgba(200,169,81,.2)}
.az-form input:invalid:not(:placeholder-shown),.az-form textarea:invalid:not(:placeholder-shown){
  border-color:#C0392B}
.az-fconsent{font-size:13.5px;line-height:1.55;margin:4px 0 16px;color:#3d4640}
.az-fconsent input{width:18px;height:18px;accent-color:#1A3C2A}
.az-form button[type="submit"]{display:inline-flex;align-items:center;justify-content:center;
  gap:8px;min-height:50px;padding:14px 32px;
  font-family:'DM Sans',system-ui,sans-serif;font-size:15px;font-weight:700;border-radius:12px;
  cursor:pointer;-webkit-appearance:none}
.az-form button[type="submit"]:hover{border-color:#0F2419}
.az-form button[type="submit"]:focus-visible{outline:3px solid #C8A951;outline-offset:2px}
.az-fnote{font-size:12.5px;line-height:1.6;color:#6E6759;margin:10px 0 0}
@media(max-width:640px){
  .az-frow{grid-template-columns:1fr;gap:14px}
  .az-form button[type="submit"]{width:100%}
}

/* ═════════ state cards carry their own outline map ═════════ */
.st-cardmap{display:none}
.st-cardmap.on{display:block;margin:2px 0 10px;background:#FEFDFB;
  border:1px solid rgba(200,169,81,.35);border-radius:12px;padding:6px}
.st-cardmap svg{display:block;width:100%;height:96px}
.pg-grid .pg-card{display:flex;flex-direction:column}
.pg-grid .pg-card>span[style]{margin-top:auto}

/* ═════════ tools bar: filters first, search next, count beside it ═════════ */
.hb-tin{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.hb-tin .hb-selects{order:1;padding:0;margin:0}
.hb-tin .hb-srch{order:2;flex:1 1 300px;max-width:520px}
.hb-tin .hb-count{order:3;margin:0 0 0 auto;padding:0;white-space:nowrap}
.hb-tin .hb-chips{order:4;flex:1 1 100%;padding:2px 0 0}
.hb-tin #hbReset{order:3}
@media(max-width:700px){
  .hb-tin .hb-srch{flex:1 1 100%;max-width:none}
  .hb-tin .hb-count{margin:0;order:5;flex:1 1 100%}
}

/* ═════════ FAQ / question blocks fill the column ═════════ */
.bg-faq,.pg-faq,.az-faq,.faq-list,.hb-faq,
.bg-faq h3,.bg-faq p,.pg-faq h3,.pg-faq p,
details.az-q,details.az-q>*,.az-q p,.qa,.qa p,.qa h3{max-width:none!important}

/* ═════════ forms fill the column; rows pack 2 or 3 across ═════════ */
.az-form,.az-formcard,.az-form-wrap,form.az-form{max-width:none!important;box-sizing:border-box}
.az-form *,.az-formcard *{box-sizing:border-box}
.az-frow{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))!important}
.az-form textarea{min-height:120px}
.az-grid .az-card-wide{grid-column:1/-1}
.az-card-wide .az-fig{margin:10px 0 12px;max-width:none}

/* ═════════ Pathshala: jump row + glossary search at the top ═════════ */
.ps-jump{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 20px}
.ps-jb{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;
  font:700 14px 'DM Sans',system-ui,sans-serif;text-decoration:none;
  color:#1A3C2A;background:#FFF;border:1.5px solid rgba(200,169,81,.55);
  border-radius:100px;padding:10px 20px}
.ps-jb:hover{background:#F5F0E6;border-color:#6F5518}
.ps-jb.on{background:#1A3C2A;color:#F5F0E6;border-color:#1A3C2A}
.ps-jsearch{flex:1 1 300px;margin:0!important;display:flex;align-items:center;gap:10px}
.ps-jsearch input{flex:1 1 auto;width:100%;box-sizing:border-box;
  font:15px 'DM Sans',system-ui,sans-serif;color:#1A3C2A;background:#FFF;
  border:1.5px solid rgba(200,169,81,.55);border-radius:12px;padding:11px 14px;-webkit-appearance:none}
.ps-jsearch input:focus{outline:none;border-color:#6F5518;box-shadow:0 0 0 3px rgba(200,169,81,.18)}
.ps-jsearch .gl-count{flex:0 0 auto;font-size:12.5px;color:#6e6759;white-space:nowrap}
@media(max-width:640px){.ps-jsearch{flex:1 1 100%}}

/* Academy call to action at the end of the lessons */
.ps-academy{background:linear-gradient(160deg,#0F2419,#1A3C2A);color:#F5F0E6;
  border:1px solid rgba(200,169,81,.35);border-radius:18px;padding:24px 26px;margin:30px 0 8px}
.ps-academy .k{display:inline-block;font:800 11px 'DM Sans',system-ui,sans-serif;
  letter-spacing:1.4px;text-transform:uppercase;color:#C8A951;margin-bottom:8px}
.ps-academy h3,.ps-academy h2{font-family:'Playfair Display',Georgia,serif;font-size:21px;color:#E8D48B;margin:0 0 6px}
.ps-academy p{font-size:14.5px;line-height:1.65;color:rgba(245,240,230,.85);margin:0 0 14px;max-width:70ch}
.ps-ab{display:inline-flex;align-items:center;gap:8px;background:#C8A951;color:#0F2419;
  font:800 14.5px 'DM Sans',system-ui,sans-serif;text-decoration:none;
  border-radius:100px;padding:12px 24px}
.ps-ab:hover{background:#E8D48B}

/* ═════════ two-row carousel view ═════════ */
.azc-2row.azc-track{display:grid!important;grid-auto-flow:column;grid-template-rows:repeat(2,auto);
  align-items:stretch}
.azc-2row.azc-track>*{height:auto}
@media(min-width:900px){
  .ps-jump{flex-wrap:nowrap}
  .ps-jsearch{min-width:0;flex:1 1 auto}
  .ps-jb{white-space:nowrap}
}

/* ═════════ hero: the two buttons share a row on mobile ═════════ */
@media(max-width:520px){
  .hero-buttons{flex-direction:row!important;align-items:stretch!important;
    flex-wrap:nowrap;gap:10px}
  .hero-buttons>a{flex:1 1 0;min-width:0;justify-content:center;text-align:center;
    padding-left:12px;padding-right:12px;font-size:14px;white-space:nowrap}
}
@media(max-width:380px){
  .hero-buttons>a{font-size:13px;padding-left:8px;padding-right:8px}
}

/* ═════════ FAQ answers fill the column (was capped at 880px) ═════════ */
.az-faq h3,.az-faq p,.az-faq ul,.az-faq ol,.az-faq li,
.faq-list h3,.faq-list p,.hb-faq h3,.hb-faq p,
.az-faq details,.az-faq details>*{max-width:none!important}

/* ═════════ Journey timelines run in two columns on wide screens ═════════
   The single-column flow left roughly 40% of the block empty on desktop.
   CSS columns balance any number of steps (these blocks carry 6 to 12)
   while keeping the reading order 1,2,3 down the first column and then
   continuing down the second. Reverts to one column below 820px. */
@media(min-width:821px){
  .igx .igx-flow{display:block;column-count:2;column-gap:40px;column-fill:balance}
  .igx .igx-flow .igx-st{break-inside:avoid;-webkit-column-break-inside:avoid;
    page-break-inside:avoid;display:block;box-sizing:border-box;width:auto}
  .igx .igx-flow .igx-st span{max-width:none}
  .igx .igx-flow .igx-st:last-child{padding-bottom:2px}
}

/* ═════════ button colour safety net ═════════
   .az-cta is the gold-button class and forces dark text. A form submit has a
   dark green background, so any page that put both on one element rendered
   dark-on-dark at 1.41:1. Pin the submit button's own colours so the
   combination can never go invisible again. */
.az-form button[type="submit"],
.az-form button[type="submit"].az-cta,
form.az-form button[type="submit"]{
  background:linear-gradient(160deg,#1A3C2A,#0F2419)!important;
  color:#FEFDFB!important;border:none}
.az-form button[type="submit"]:hover{background:#0F2419!important;color:#FFFFFF!important}

/* Gold buttons keep dark text; forest buttons keep cream text. */
.az-cta:not([type="submit"]){background:#C8A951;color:#231A06!important}
.az-cta.ghost:not([type="submit"]){background:transparent;color:#1A3C2A!important;
  border:2px solid #C8A951}

/* ═════════ paired call-to-action buttons sit on one row ═════════ */
.az-btnrow{display:flex;flex-wrap:nowrap;gap:10px;align-items:stretch;margin:18px 0}
.az-btnrow>a{margin:0;display:inline-flex;align-items:center;justify-content:center;
  text-align:center;flex:1 1 0;min-width:0;min-height:48px;
  padding:12px 14px;font-size:14.5px;line-height:1.35;white-space:normal;
  overflow-wrap:break-word;box-sizing:border-box}
@media(max-width:400px){.az-btnrow{gap:8px}.az-btnrow>a{padding:12px 10px;font-size:13.5px}}

/* ═════════════════════════════════════════════════════════════════
   COLOUR THEME — corrections from the rendered-pixel contrast audit.
   Every ratio below was measured from an actual screenshot of the
   element, not computed from the stylesheet. Emoji are excluded:
   they render in their own colours and ignore `color`.
   ═════════════════════════════════════════════════════════════════ */

/* --- dark panels must keep pale text -------------------------------
   `main a:not([class])` was written for cream backgrounds and set links
   to #6B5216. Inside a dark panel that lands at roughly 1.6:1. Pin the
   dark panels so no ancestor rule can leak into them. */
.az-rel{background:#1A3C2A!important;color:#F5F0E6!important}
.az-rel b,.az-rel strong{color:#FFFFFF!important}
.az-rel a,.az-rel a:not([class]),main .az-rel a:not([class]),
.pg-main .az-rel a:not([class]),article .az-rel a:not([class]){
  color:#F0D888!important;font-weight:700;text-decoration:none}
.az-rel a:hover{color:#FFFFFF!important;text-decoration:underline}

/* the same leak, anywhere else a dark panel carries unclassed links */
main .igx a:not([class]),main .azd a:not([class]),main .az-cta a:not([class]),
.pg-main .igx a:not([class]),.pg-main .azd a:not([class]){color:#F0D888!important}

/* --- gold numerals and labels on light backgrounds -----------------
   #C8A951 on cream measured 2.17–2.23:1. The accessible gold token is
   #6F5518; large display numerals may use #8A6A1E (4.6:1 at 24px+). */
.az-rnum,.lv-n,.st-cta,.az-stat b,.stat-num,.azt-num{color:#8A6A1E!important}
.hb-k,.nw-k,.sv-n,.wal-tag,.pg-eyebrow,.km-go{color:#6F5518!important}

/* --- text sitting on a gold fill must be near-black ----------------
   Scoped by measured background: .btn-primary is gold on the homepage
   hero and forest elsewhere, so it is NOT safe to force one colour. */
.btn-gold,.azt-tools a.t2{color:#231A06!important}
.btn-primary{color:#231A06!important}
/* the one deliberately-forest variant keeps its cream text */
.listings-sec .listings-cta a.btn-primary{color:#FFFFFF!important}

/* --- amber/olive body text on cream -------------------------------- */
.qz b,.az-q b,.qa b{color:#6F5518!important}

/* --- measured failures, fixed at the exact selector ---------------- */
/* /about/ stat numerals: #C8A951 on #FBFAF6 measured 2.17:1 at 28px */
/* homepage hero map label: gold text over a gold-tinted map = 1.0:1 */
/* hero map label sits on a dark green map graphic - measured 1.0:1 as gold
   on gold, and 1.0:1 again when I first tried dark text. Cream is correct. */
.map-label{color:#F5F0E6!important;text-shadow:0 1px 3px rgba(0,0,0,.55)}
.map-label small{color:#E8D48B!important;display:block;font-size:13px;margin-top:2px}

/* ═════════════════════════════════════════════════════════════════
   Pixel-confirmed contrast fixes (19 patterns, 470 pages audited).
   Each ratio was measured from a screenshot of the rendered element.
   ═════════════════════════════════════════════════════════════════ */

/* gold display numerals and initials on cream: 2.17-2.27:1 measured.
   #8A6A1E holds 4.6:1 on cream and keeps the gold family. */
.abx-n b,.az-rnum,.lv-n,.gl-letter,.av,.en-num,
.sv-card>b,.svc-n,.why-n,.wal-n,.pt-n,
.our-services .sv-card b,.why-agricultural-land .n,
h2>em,em.gl-0{color:#8A6A1E!important}
.n,span.n,b.n{color:#8A6A1E}

/* white caption text on mid-tone illustration fills: 2.39-3.58:1 */
.sv-vis-cap{color:#FFFFFF!important;text-shadow:0 1px 3px rgba(0,0,0,.75);
  font-weight:700}

/* muted greys that fell just under AA on their own background */
.calc-eff{color:#6A6459!important}          /* was 3.57:1 on cream */
.cnote{color:#4A5730!important}             /* was 4.17:1 on #E2DAC8 */
/* 5 Sep 2026 — this rule was making things worse almost everywhere. #CFC9BC is
   a LIGHT colour chosen for a caption sitting on a forest-green panel, but the
   selector matches every figcaption on the site, so on cream and white it was
   rendering at 1.57-1.62:1 — effectively invisible, and worse than the inline
   colour it was overriding with !important. Measured on 22 of the 56 affected
   pages: 23 nodes. Dark by default now; the light variant is scoped to the
   panels that are actually dark. */
.az-fig figcaption,.academy figcaption,
figcaption span[lang="hi"]{color:#5B564C!important}  /* 6.3:1 on cream */
.azc-on-dark .az-fig figcaption,.azc-on-dark .academy figcaption,
.azc-on-dark figcaption span[lang="hi"],
.focus .az-fig figcaption,.focus figcaption span[lang="hi"],
.states-sec .az-fig figcaption,.states-sec figcaption span[lang="hi"],
.knowledge .az-fig figcaption,.knowledge figcaption span[lang="hi"],
.azd .az-fig figcaption,.azd figcaption span[lang="hi"],
.cal .az-fig figcaption,.cal figcaption,.cal figcaption span[lang="hi"],
.apps-sec .az-fig figcaption,.apps-sec figcaption span[lang="hi"]{
  color:#CFC9BC!important}  /* 4.42:1 on forest — the case the rule was for */

/* gold links and labels on dark green panels — 5 Sep 2026: same fault as the
   figcaption rule above. #E8D48B is the LIGHT gold for a forest panel, but the
   selector caught .sch-note and .nw-item links on white too, where it renders
   at 1.47:1. Measured across all 56 affected pages: 23 nodes. Dark gold by
   default, light gold scoped to the panels that are actually dark. */
.rajasthan-schemes a,.sch-note a,
main .nw-item a:not([class]){color:#6F5518!important}   /* 7.2:1 on white */
.azc-on-dark .rajasthan-schemes a,.azc-on-dark .sch-note a,
.azc-on-dark main .nw-item a:not([class]),
.focus .rajasthan-schemes a,.focus .sch-note a,
.states-sec .rajasthan-schemes a,.states-sec .sch-note a,
.knowledge .rajasthan-schemes a,.knowledge .sch-note a,
.azd .rajasthan-schemes a,.azd .sch-note a{
  color:#E8D48B!important}   /* the dark-panel case the rule was written for */

/* flag/badge tiles that rendered white-on-white */
.flag{color:#1A3C2A!important;background:#EFEAD9!important;font-weight:800}

/* SVG diagram labels on a pale fill */
.solar-land svg text,svg text.lbl{fill:#26221B}


/* ==========================================================================
   FIRST-LOAD LANGUAGE CHOOSER
   Injected by az-chrome.js on the first visit only. English and Hindi are the
   two written editions; the rest of the list is Google machine translation and
   the dialog says so, because a machine-translated land-law sentence is not
   something anyone should act on unaware.
   ========================================================================== */
.azl-ov{position:fixed;inset:0;z-index:3000;background:rgba(15,36,25,.62);
  display:flex;align-items:center;justify-content:center;padding:20px;
  font-family:'DM Sans',system-ui,sans-serif;animation:azlIn .18s ease-out}
@keyframes azlIn{from{opacity:0}to{opacity:1}}
.azl-box{position:relative;box-sizing:border-box;width:100%;max-width:432px;
  max-height:calc(100vh - 40px);overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:#FEFDFB;border:1px solid rgba(200,169,81,.5);border-radius:20px;
  padding:26px 24px 20px;text-align:center;box-shadow:0 24px 60px rgba(15,36,25,.34)}
.azl-x{position:absolute;top:10px;right:12px;width:34px;height:34px;line-height:1;
  font-size:24px;color:#6F5518;background:none;border:none;cursor:pointer;border-radius:50%}
.azl-x:hover,.azl-x:focus-visible{background:#F5F0E6}
.azl-shield{margin:0 auto 8px;width:34px;height:39px}
.azl-box h2{font-family:'Playfair Display',Georgia,serif;font-size:21px;line-height:1.25;
  color:#0F2419;margin:0 0 16px}
.azl-box h2 span{display:block;font-family:'Noto Sans Devanagari','DM Sans',system-ui,sans-serif;
  font-size:16px;font-weight:600;color:#6F5518;margin-top:4px}
.azl-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.azl-b{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  min-height:64px;cursor:pointer;background:#F5F0E6;border:1.5px solid rgba(200,169,81,.55);
  border-radius:14px;padding:12px 8px;font-family:inherit;color:#0F2419;transition:.18s}
.azl-b:hover,.azl-b:focus-visible{background:#C8A951;border-color:#C8A951;transform:translateY(-1px)}
.azl-b b{font-size:16.5px;font-weight:800;line-height:1.2}
.azl-b i{font-style:normal;font-size:12px;font-weight:600;color:#5f6b60}
.azl-b:hover i,.azl-b:focus-visible i{color:#0F2419}
.azl-or{position:relative;margin:4px 0 12px}
.azl-or::before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:rgba(200,169,81,.35)}
.azl-or span{position:relative;background:#FEFDFB;padding:0 10px;font-size:12px;font-weight:600;color:#6F5518}
.azl-sel{width:100%;box-sizing:border-box;font-family:inherit;font-size:14.5px;font-weight:600;
  color:#0F2419;background:#F5F0E6;border:1.5px solid rgba(200,169,81,.55);border-radius:12px;
  padding:12px 14px;cursor:pointer;text-align:center;text-align-last:center}
.azl-note{font-size:12px;line-height:1.55;color:#5f6b60;margin:14px 0 12px;text-align:left}
.azl-skip{width:100%;box-sizing:border-box;cursor:pointer;font-family:inherit;font-size:13.5px;
  font-weight:600;color:#6F5518;background:none;border:none;padding:9px 4px;border-radius:10px}
.azl-skip:hover,.azl-skip:focus-visible{background:#F5F0E6}
@media(max-width:400px){
  .azl-box{padding:22px 18px 18px;border-radius:16px}
  .azl-box h2{font-size:19px}
  .azl-b{min-height:60px}
  .azl-b b{font-size:15.5px}
}
@media(prefers-reduced-motion:reduce){.azl-ov{animation:none}.azl-b:hover{transform:none}}

/* ---- FAQ, collapsed by default -----------------------------------------
   Six questions stacked open pushed the page footer a screen and a half
   further down and made the list unscannable: a reader looking for one
   answer had to read all six. <details>/<summary> rather than a script —
   it is keyboard-operable, works with find-in-page in every current
   browser, prints open, and needs no JS to be correct if the JS fails.
   .az-faq-x marks a converted block; the old .az-faq h3 rules still serve
   any FAQ that has not been converted. */
.az-faq-x{margin:6px 0 18px}
.az-q{border:1px solid rgba(200,169,81,.42);border-radius:12px;background:#FBFAF6;
  margin:0 0 8px;overflow:hidden}
.az-q>summary{cursor:pointer;list-style:none;padding:13px 44px 13px 16px;position:relative;
  font-family:'Playfair Display',Georgia,serif;font-size:1.02rem;color:#1A3C2A;
  font-weight:700;line-height:1.45}
.az-q>summary::-webkit-details-marker{display:none}
.az-q>summary::after{content:'+';position:absolute;right:16px;top:50%;
  transform:translateY(-50%);font-family:'DM Sans',system-ui,sans-serif;
  font-size:20px;font-weight:700;color:#6F5518;line-height:1}
.az-q[open]>summary::after{content:'\2212'}
.az-q>summary:hover{background:rgba(200,169,81,.10)}
.az-q>summary:focus-visible{outline:3px solid #C8A951;outline-offset:-3px}
.az-q[open]>summary{border-bottom:1px solid rgba(200,169,81,.3)}
.az-q-a{padding:12px 16px 4px}
.az-q-a p{font-size:14.8px;line-height:1.72;margin:0 0 10px}

/* ══════════════════════════════════════════════════════════════════════
   FOOTER · folding columns + folding disclaimer            (v72)
   The chevrons and the disclaimer toggle are injected by az-chrome.js,
   so this lands on every page without touching a single page's markup.
   Lists fold with max-height rather than display:none — the anchors stay
   in the document for crawlers and for find-in-page.
   ══════════════════════════════════════════════════════════════════════ */

/* seven social icons on one row. The old rule pinned them to a 4-column
   grid, which is why they wrapped 4 + 3 on a phone. */
@media(max-width:900px){
  .azs-ftop .azs-fsoc{display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:6px!important;width:100%!important;max-width:330px;
    justify-content:start!important;margin:2px 0 0!important}
  .azs-ftop .azs-fsoc a{width:100%!important;height:38px!important;border-radius:9px}
  .azs-ftop .azs-fsoc a svg{width:17px;height:17px}
}

/* the fold — same interaction at every width */
.azs-fcol h4,.azs-fcol h2{position:relative;cursor:pointer;user-select:none}
.azs-fcol h4::after,.azs-fcol h2::after{content:'';position:absolute;right:6px;top:50%;
  width:9px;height:9px;margin-top:-6px;border-right:2px solid #C8A951;
  border-bottom:2px solid #C8A951;transform:rotate(45deg);transition:transform .22s}
.azs-fcol.azs-open h4::after,.azs-fcol.azs-open h2::after{transform:rotate(-135deg);margin-top:-2px}
.azs-fcol ul{max-height:0;overflow:hidden;transition:max-height .28s ease}
.azs-fcol.azs-open ul{max-height:760px}
.azs-fcol h4:focus-visible,.azs-fcol h2:focus-visible{outline:2px solid #C8A951;outline-offset:3px;border-radius:4px}

/* desktop: five headings stay side by side, each opens under itself */
@media(min-width:761px){
  .azs-fgrid{align-items:start;margin-bottom:20px!important}
  .azs-fcol{border-bottom:1px solid rgba(200,169,81,.18)}
  .azs-fcol h4,  .azs-fcol h2{padding:0 26px 12px 0}
  .azs-fcol.azs-open ul{padding-bottom:14px}
}

/* phone: one column of headings */
@media(max-width:760px){
  .azs-fgrid{grid-template-columns:1fr!important;gap:0!important;margin-bottom:14px!important}
  .azs-fcol{border-bottom:1px solid rgba(200,169,81,.20)}
  .azs-fcol h4,  .azs-fcol h2{margin:0!important;padding:14px 30px 14px 0;font-size:16px!important}
  .azs-fcol.azs-open ul{padding-bottom:12px}
}

/* disclaimer: the non-affiliation line is never behind the tap. Only the
   long text, the corridor-trend footnote and the advice disclosure fold. */
.azs-fdisc-sum{margin:0 0 8px;font-size:12.4px;line-height:1.6;color:rgba(245,240,230,.82)}
.azs-fdisc-sum b{color:#E8D48B}
.azs-fdisc-btn{display:inline-flex;align-items:center;gap:7px;background:none;
  border:1px solid rgba(200,169,81,.42);border-radius:100px;padding:7px 15px;
  color:#C8A951;font-family:inherit;font-size:12.2px;font-weight:800;cursor:pointer}
.azs-fdisc-btn:hover{border-color:#C8A951;background:rgba(200,169,81,.10)}
.azs-fdisc-btn:focus-visible{outline:2px solid #C8A951;outline-offset:2px}
.azs-fdisc-btn::after{content:'';width:7px;height:7px;margin-top:-3px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);transition:transform .22s}
.azs-fdisc.azs-open .azs-fdisc-btn::after{transform:rotate(-135deg);margin-top:1px}
.azs-fdisc-body{max-height:0;overflow:hidden;transition:max-height .3s ease}
.azs-fdisc.azs-open .azs-fdisc-body{max-height:1600px}
.azs-fdisc-body>p:first-child{margin-top:14px}

/* Printing a folded footer would lose the disclosures entirely. */
@media print{
  .azs-fcol ul,.azs-fdisc-body{max-height:none!important;overflow:visible!important}
  .azs-fcol h4::after,.azs-fdisc-btn,  .azs-fcol h2::after,.azs-fdisc-btn{display:none!important}
}

/* ══════════════════════════════════════════════════════════════════════
   HERO COLLAR · one number, every page                            (v73)
   Every hero band on the site carried its own top/bottom padding —
   52/44 here, 20/18 there, 16/14 on a phone, and a 1500px rule that
   trimmed the bottom again. Different pages therefore opened at
   different heights for no reason a reader could see. One collar now:
   18px above, 18px below, at every width.

   Longhand on purpose. `padding:18px 0` would wipe the 24px horizontal
   inset that .pg-hero and its cousins rely on to keep text off the edge
   of a phone, so only the two axes that were asked for are touched.

   !important is here because the rules being replaced all carry it; a
   plain declaration would lose to them no matter where it sat.
   ══════════════════════════════════════════════════════════════════════ */
.hero,.pg-hero,.wal-hero,.hd-hero,.nw-hero,.hb-hero,.fb-hero,.sv-hero,
.ps-hero,.nr-hero,.lc-hero,.im-hero,.fh-hero,.csr-hero,.cmp-hero,
.ck-hero,.azm-sp-hero,.pg-hero--bare{
  padding-top:18px!important;padding-bottom:18px!important}

/* The band's last child was leaving its own margin under it, which read
   as a second, uneven collar below the 18px. */
.hero>.container>:last-child,.pg-hero>.pg-hero-in>:last-child{margin-bottom:0!important}

/* Buy Land: the guide button sat 28px under the paragraph — .badges added
   14 and .azl-guide added 14 more, back when three chips lived between
   them. With the chips gone that gap was just air. */
.hero .badges{margin-top:12px!important}
.hero .badges .azl-guide{margin:0!important}

/* ══════════════════════════════════════════════════════════════════════
   HERO SHAPE · breadcrumb → category → headline → lede            (v81)
   The category pill was hidden on 15 Aug and restored the same day at the
   client's instruction: on ~150 blog posts it carries a category the
   breadcrumb does not — Money · Rajasthan, Ground Risk · Sambhar — and
   hiding it sitewide to solve four duplicate pills was too blunt.

   The four pages where it only repeated the breadcrumb had their markup
   removed, so they stay clean without a CSS rule.
   ══════════════════════════════════════════════════════════════════════ */
.pg-hero .pg-eyebrow,.hero .pg-eyebrow{margin:0 0 8px}

/* The headline still closes up under whatever precedes it. */
.pg-hero h1,.hero h1{margin-top:0!important}
.pg-hero .pg-crumb,.hero .pg-crumb{margin-bottom:10px!important}

/* ══════════════════════════════════════════════════════════════════════
   BREADCRUMB · one look, every hero                               (v75)
   The crumb's type was declared inside each page's own <style>, so a page
   that never had one had nowhere to inherit it from. Declared once here
   so any hero that carries a .pg-crumb renders it identically.
   ══════════════════════════════════════════════════════════════════════ */
.pg-hero .pg-crumb,.hero .pg-crumb{font-size:12.5px;line-height:1.6;
  margin:0 0 10px!important;color:rgba(245,240,230,.65)}
.pg-hero .pg-crumb a,.hero .pg-crumb a{color:#E8D48B;text-decoration:none}
.pg-hero .pg-crumb a:hover,.hero .pg-crumb a:hover{text-decoration:underline}

/* Not every hero is dark. govt-hub sits on cream, where the gold above
   measures 1.29:1 — the trail would be there and unreadable, which is
   worse than absent. .hero--light flips it to the ink pair: 7.4:1 for the
   text, 4.9:1 for the links. */
.hero--light .pg-crumb{color:#5A5546!important}
.hero--light .pg-crumb a{color:#6F5518!important}

/* ══════════════════════════════════════════════════════════════════════
   FOOTER COLLAR + THE LLP LINE                                    (v76)
   Top 20, bottom 15. The bottom bar was still reserving room for the
   mobile bottom bar that was removed builds ago — 18 to 64px of nothing
   under the copyright line, which is why the footer never looked like it
   ended where its padding said it did.
   ══════════════════════════════════════════════════════════════════════ */
.azs-fin{padding-top:20px!important;padding-bottom:15px!important}
.azs-fbot{padding-bottom:0!important}

/* "A brand of Vision Global Ventures LLP" now heads the address block:
   it names the entity whose address and phone follow, which is where a
   reader looks for it and where it was doing nothing under the tagline. */
.azs-ftop .azs-faddr .azs-fllp{display:block;margin:0 0 6px;
  font-size:12.8px;line-height:1.5;color:rgba(245,240,230,.62);white-space:normal}
.azs-ftop .azs-faddr .azs-fllp strong{color:rgba(245,240,230,.82);font-weight:700}

/* ══════════════════════════════════════════════════════════════════════
   OUR PLATFORMS · sits beside the icons, not under them          (v77)
   The third column had 27px of vertical slack and the row is 122px tall.
   A label plus three names stacked under the icons needs ~70px, so
   stacking would have pushed the footer taller. Side by side, the column
   is max(icons 70, platforms 70) — the row height does not move.
   The width comes out of the address column, which was holding 380px of
   text in 503px.
   ══════════════════════════════════════════════════════════════════════ */
/* Desktop only. A bare !important here overrode the mobile
   `grid-template-columns:1fr` further up the sheet and put three columns
   on a 390px phone — the address ran off the right edge and the icons
   left the viewport entirely. */
@media(min-width:1024px){
  .azs-ftop{grid-template-columns:minmax(230px,1fr) minmax(330px,1.1fr) auto!important}
  .azs-fend{gap:22px;align-items:flex-start}
}
/* 901–1023: three columns still fit, but not with the platforms beside the
   icons — 230 + 330 + 280 + gaps overruns an 853px wrap. Stack them in the
   existing 146px column instead of pushing content off the edge. */
@media(min-width:901px) and (max-width:1023px){
  .azs-fend{display:flex;flex-direction:column-reverse;gap:12px;align-items:flex-start}
}
.azs-fplat{display:flex;flex-direction:column;gap:3px;white-space:nowrap}
.azs-fplat-k{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  color:#E8D48B;margin-bottom:3px}
.azs-fplat span:not(.azs-fplat-k){font-size:14px;line-height:1.45;
  color:rgba(245,240,230,.88)}

@media(max-width:900px){
  /* One column of chrome: the icons take a full row of seven, so the
     platforms sit above them on one line rather than as a second stack. */
  .azs-fend{flex-direction:column-reverse;gap:12px;align-items:stretch}
  .azs-fplat{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
  .azs-fplat-k{margin-bottom:0;width:100%}
  .azs-fplat a{font-size:13.5px}
  .azs-fplat a:not(:last-child)::after{content:' ·';
    color:rgba(200,169,81,.7);margin-left:12px}
}

/* ══════════════════════════════════════════════════════════════════════
   FOOTER TOP · four blocks, evenly spaced                         (v78)
   The grid was sizing columns to fractions, so the brand block held a
   368px cell for 250px of content and the gap after it ran to ~178px
   while the platforms sat 45px off the icons. Flex + space-between sizes
   each block to its own content and shares what is left equally.

   `.azs-fend` becomes display:contents so its two children join the same
   flex row — four blocks, three equal gaps, no markup change.
   ══════════════════════════════════════════════════════════════════════ */
@media(min-width:1024px){
  .azs-ftop{display:flex!important;justify-content:space-between;
    align-items:flex-start;gap:24px!important}
  .azs-fend{display:contents}
  .azs-ftop>*,.azs-fend>*{flex:0 0 auto}
  .azs-ftop .azs-faddr{max-width:none!important}
}

/* left/right collar: 24 → 19 */
.azs-fin{padding-left:19px!important;padding-right:19px!important}

/* the platform names are links now */
.azs-fplat a{color:rgba(245,240,230,.88);text-decoration:none;
  font-size:14px;line-height:1.45}
.azs-fplat a:hover{color:#E8D48B;text-decoration:underline}

/* ══════════════════════════════════════════════════════════════════════
   TARGET SIZE · WCAG 2.2 SC 2.5.8                                 (v80)
   Measured, not guessed: breadcrumb links rendered 34x16 and top-nav
   links 61x17. The minimum is 24x24 CSS px. These are text links, so the
   spacing exception can apply — but the breadcrumb runs three of them
   inside 200px on a phone, which is exactly the case the exception does
   not cover.

   Padding only, no margin, so nothing moves: the crumb's own bottom
   margin already carries the gap to the headline.
   ══════════════════════════════════════════════════════════════════════ */
.pg-hero .pg-crumb a,.hero .pg-crumb a{display:inline-block;padding:4px 0}
.azs-menu>a,.azs-dd>a,.azs-dd>button{padding-top:4px;padding-bottom:4px}

/* Footer column headings were <h4> under a page <h2> — a level jump on
   every page on the site. They are section headings of the footer, not
   sub-headings of the last thing in main. */
.azs-fcol h2{font-family:'Playfair Display',Georgia,serif;font-size:17px;
  font-weight:800;color:#C8A951;margin:0 0 10px;letter-spacing:0}

/* ---- homepage: legal help ------------------------------------------
   The compliance sentences are part of the component, not a footnote to
   be trimmed when the section is restyled. 22 Aug 2026: the closing
   .lgh-fine paragraph was removed at Adheer's direction and its two
   load-bearing clauses — no recommending/ranking/rating of advocates,
   verify standing with the State Bar Council — moved INTO the
   sub-heading, which now runs full width and is read rather than
   skimmed. The protection got more prominent, not less; do not trim it
   again when this band is next restyled. */
.lgh{background:linear-gradient(135deg,#0F2419,#245036);color:#F5F0E6;padding:44px 0}
.lgh-h{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.5rem,3.4vw,2.2rem);
  font-weight:900;margin:0 0 8px;line-height:1.2}
.lgh-h em{color:#C8A951;font-style:normal}
.lgh-sub{font-size:1rem;line-height:1.7;margin:0 0 20px;color:#D9E4DB}
.lgh-sub strong{color:#F5F0E6}
.lgh-hi{display:block;margin-bottom:6px;color:#CFE0D3}
.lgh-card{background:#FEFDFB;color:#26221B;border-radius:16px;padding:20px}
.lgh-card h3{margin:0 0 3px;font-size:1rem;font-weight:800;color:#0F2419}
/* Heading and its helper on one row; the helper drops under the heading
   when the row runs out — never truncated, it is an instruction. */
.lgh-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 14px}
.lgh-head h3{margin:0}
.lgh-lead{margin:0;font-size:.88rem;color:#6B6353}
.lgh-slider{position:relative}
/* The right-edge fade is the only "there is more" affordance — no arrows,
   no dots. The track is a native scroller with snap, so a thumb already
   knows what to do with it; the fade just says it is worth doing. */
.lgh-slider::after{content:"";position:absolute;top:0;right:0;bottom:6px;width:44px;
  background:linear-gradient(90deg,rgba(254,253,251,0),#FEFDFB);pointer-events:none}
.lgh-chips{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:2px 2px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.lgh-chip{flex:0 0 246px;scroll-snap-align:start;display:block;background:#FAF7F0;
  border:1px solid #E2DCCE;border-radius:12px;padding:13px 15px;text-decoration:none}
.lgh-ic{display:inline-flex;width:30px;height:30px;margin:0 0 8px;border-radius:9px;
  background:#EFF4EA;align-items:center;justify-content:center}
.lgh-ic svg{width:19px;height:19px;fill:none;stroke:#1A3C2A;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.lgh-chip:hover .lgh-ic,.lgh-chip:focus-visible .lgh-ic{background:#1A3C2A}
.lgh-chip:hover .lgh-ic svg,.lgh-chip:focus-visible .lgh-ic svg{stroke:#C8A951}
.lgh-chip:hover,.lgh-chip:focus-visible{background:#EFF4EA;border-color:#1A3C2A}
.lgh-chip b{display:block;font-size:.92rem;color:#0F2419;margin-bottom:2px}
.lgh-chip span{display:block;font-size:.78rem;color:#6B6353;line-height:1.5}
.lgh-go{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px;
  padding-top:14px;border-top:1px solid #E2DCCE}
.lgh-btn{display:inline-flex;align-items:center;border-radius:12px;padding:12px 22px;
  font-size:.94rem;font-weight:800;text-decoration:none;background:#C8A951;color:#0F2419}
.lgh-free{font-size:.82rem;color:#6B6353;flex:1 1 220px;line-height:1.6}
.lgh-fine{margin:18px 0 0;font-size:.78rem;line-height:1.7;color:#CFE0D3}
.lgh-fine strong{color:#F5F0E6}

/* ---- /legal-help.php ---------------------------------------------- */
.azl-help{max-width:820px}
.azl-help-h{font-family:'Playfair Display',Georgia,serif;font-size:1.8rem;color:#0F2419;
  margin:0 0 4px;line-height:1.2}
.azl-help-h span{display:block;font-family:'DM Sans',system-ui,sans-serif;font-size:1rem;
  font-weight:600;color:#6B6353;margin-top:2px}
.azl-help-lede{font-size:.95rem;line-height:1.75;margin:12px 0 18px;color:#26221B}
.azl-chips{border:0;padding:0;margin:0 0 16px}
.azl-chips legend{padding:0;margin:0 0 8px}
.azl-chip{display:block}
.azl-chip input{position:absolute;opacity:0;pointer-events:none}
.azl-chip span{display:block;background:#FAF7F0;border:1px solid #E2DCCE;border-radius:12px;
  padding:12px 15px;font-size:.9rem;font-weight:600;color:#0F2419;cursor:pointer}
.azl-chip input:checked+span{background:#EFF4EA;border-color:#1A3C2A;
  box-shadow:0 0 0 1px #1A3C2A inset}
.azl-chip input:focus-visible+span{outline:2px solid #C8A951;outline-offset:2px}
.azl-help-f textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid #E2DCCE;
  border-radius:9px;background:#FEFDFB}
.azl-help-fine{margin:22px 0 0;padding-top:14px;border-top:1px solid #E2DCCE;
  font-size:.78rem;line-height:1.75;color:#6B6353}
@media(min-width:520px){.azl-chips{display:grid;gap:9px;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
  .azl-chips legend{grid-column:1/-1}}
/* The same picker on /legal-help/, which the Services menu already points at. */
.lgh-inline{margin:0 0 26px}
.lgh-inline h2{margin:0 0 3px;font-size:1.05rem;font-weight:800;color:#0F2419}
.lgh-inline .lgh-lead{margin:0 0 12px}

/* ---- /land-watch.php ------------------------------------------------ */
.azw-pg{max-width:960px}
.azw-hero{background:linear-gradient(135deg,#0F2419,#245036);color:#F5F0E6;
  border-radius:20px;padding:36px 30px;margin-bottom:8px}
.azw-pill{display:inline-block;background:rgba(200,169,81,.2);border:1px solid rgba(200,169,81,.5);
  color:#C8A951;border-radius:20px;padding:5px 13px;font-size:.76rem;font-weight:700;margin-bottom:12px}
.azw-hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.6rem,4vw,2.4rem);
  font-weight:900;margin:0 0 8px;line-height:1.18}
.azw-hero h1 em{color:#C8A951;font-style:normal}
.azw-hero p{font-size:1rem;line-height:1.7;max-width:62ch;margin:0 0 16px;color:#D9E4DB}
.azw-hi{display:block;color:#CFE0D3;margin-bottom:6px}
.azw-cta{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.azw-h2{font-family:'Playfair Display',Georgia,serif;font-size:1.4rem;font-weight:800;
  color:#0F2419;margin:32px 0 4px}
.azw-lede{margin:0 0 14px;color:#6B6353;font-size:.92rem;line-height:1.7;max-width:66ch}
.azw-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.azw-card{background:#FEFDFB;border:1px solid #E2DCCE;border-radius:14px;padding:17px 19px}
.azw-card h3{margin:0 0 6px;font-size:1rem;font-weight:800;color:#0F2419}
.azw-card h3 span{display:block;font-size:.86rem;font-weight:600;color:#6B6353;margin-top:1px}
.azw-card p{margin:0;font-size:.87rem;line-height:1.65;color:#6B6353}
.azw-tag{display:inline-block;margin-top:9px;background:#EFF4EA;
  border:1px solid rgba(26,60,42,.18);border-radius:20px;padding:3px 10px;
  font-size:.74rem;font-weight:700;color:#1A3C2A}
/* "What this is not" is a feature of the page, not small print. Saying it
   here is what stops it becoming a grievance later. */
.azw-not{background:#FAF7F0;border:1px solid #E2DCCE;border-left:4px solid #C8A951;
  border-radius:12px;padding:18px 20px;margin-top:18px}
.azw-not h3{margin:0 0 8px;font-size:1rem;color:#0F2419}
.azw-not ul{margin:0;padding-left:20px}
.azw-not li{font-size:.88rem;line-height:1.75;color:#6B6353;margin-bottom:5px}
.azw-not strong{color:#0F2419}
.azw-form textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid #E2DCCE;
  border-radius:9px;background:#FEFDFB}
.azw-fine{margin:24px 0 0;padding-top:14px;border-top:1px solid #E2DCCE;
  font-size:.78rem;line-height:1.75;color:#6B6353}
.azw-fine strong{color:#0F2419}

/* ---- Corridor schematic maps (az-corridor-map.js) --------------------------
   The legend has to stay readable at 390px, so keys wrap rather than scroll.
   The disclaimer is styled to be read, not to be skipped: it is the difference
   between a diagram and a claim. */
.cm-wrap{margin:18px 0;border:1px solid rgba(26,60,42,.16);border-radius:14px;overflow:hidden;background:#fff}
.cm-canvas{height:360px;width:100%;background:#eef1ec}
@media(max-width:520px){.cm-canvas{height:300px}}
.cm-legend{display:flex;flex-wrap:wrap;gap:10px 16px;padding:10px 12px;background:rgba(200,169,81,.07);
  border-top:1px solid rgba(26,60,42,.12);font:600 12px/1.3 'DM Sans',system-ui,sans-serif}
.cm-key{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.cm-line{display:inline-block;width:26px;height:0;border-top-width:3px}
.cm-line.cm-operational{border-top:4px solid #1A3C2A}
.cm-line.cm-acquisition{border-top:3px dashed #6B4F3A}
.cm-line.cm-sia{border-top:3px dashed #C8A951}
.cm-line.cm-announced{border-top:3px dotted #9aa39c}
.cm-hi-in{margin-left:5px;font-weight:400;opacity:.72}
.cm-disc{margin:0;padding:10px 12px;font-size:11.5px;line-height:1.6;background:rgba(26,60,42,.05);
  border-top:1px solid rgba(26,60,42,.12)}
.cm-hi{display:block;margin-top:3px;line-height:1.8;opacity:.85}
.cm-chip{display:inline-block;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:700}
.cm-chip.cm-announced{background:rgba(154,163,156,.25);color:#4a534c}
.cm-chip.cm-operational{background:rgba(45,106,62,.16);color:#1f5730}
.cm-chip.cm-sia{background:rgba(200,169,81,.22);color:#6f5518}
.cm-chip.cm-acquisition{background:rgba(107,79,58,.16);color:#5a4230}
.cm-fallback{padding:14px}
.cm-fallback ul{margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.7}
.cm-way{font-size:12px;opacity:.8}

/* ---- Verification tier chips ---------------------------------------------
   Four rungs, and the colour has to carry the difference at a glance: gold
   for a check against the state record, forest for somebody having stood in
   the field. The date sits inside the chip because a check without a date is
   not a check — the platform expires them at 35 days. */
.azc-chip.is-rec{background:rgba(200,169,81,.92);color:#2a2109}
.azc-chip.is-field{background:rgba(26,60,42,.94);color:#F5F0E6}
.azc-tier-at{display:block;font-size:9.5px;font-weight:600;opacity:.82;margin-top:1px;letter-spacing:.1px}
@media(max-width:400px){.azc-tier-at{font-size:9px}}

/* ---- Admin: check against the state record --------------------------------
   Four outcome buttons rather than a checkbox, because "did not match" and
   "could not be found" are different facts and the team needs to tell them
   apart. The previous result shows beside the heading so a reviewer opening
   the listing sees at once whether this has been done and when. */
.azm .azm-rec{margin:14px 0;padding:13px 14px;border-radius:12px;
  background:rgba(200,169,81,.08);border:1px solid rgba(26,60,42,.16)}
.azm .azm-rec-h{font-weight:700;font-size:14.5px;display:flex;align-items:center;
  gap:8px;flex-wrap:wrap}
.azm .azm-rec-p{margin:5px 0 9px;font-size:12.5px;line-height:1.6;opacity:.85}
.azm .azm-rec-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:9px}
.azm .azm-rec-a{display:inline-block;padding:6px 11px;border-radius:8px;font-size:12.5px;
  font-weight:600;text-decoration:none;background:#1A3C2A;color:#F5F0E6}
.azm .azm-rec-a em{font-style:normal;opacity:.7;font-weight:400}
.azm .azm-rec-copy{margin:0 0 9px;font-size:12px;line-height:1.6;word-break:break-word;
  padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.75)}
.azm .azm-rec-f{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:7px}
.azm .azm-rec-f input{width:auto;flex:1 1 220px}
.azm .azm-rec-b{display:flex;flex-wrap:wrap;gap:6px;width:100%}
.azm .azm-rec-b button{flex:0 1 auto;font-size:12.5px;padding:7px 11px;border-radius:8px;
  border:1px solid rgba(26,60,42,.25);cursor:pointer}
.azm .azm-b-ok{background:#1A3C2A;color:#F5F0E6}
.azm .azm-b-no{background:#C6543F;color:#fff}
.azm .azm-b-nf{background:#fff;color:#1A3C2A}
.azm .azm-rec-was{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px}
.azm .azm-rec-match{background:rgba(45,106,62,.16);color:#1f5730}
.azm .azm-rec-mismatch{background:rgba(198,84,63,.16);color:#8d3322}
.azm .azm-rec-not_found,.azm .azm-rec-unreadable{background:rgba(107,79,58,.14);color:#5a4230}
.azm .azm-rec-off{background:rgba(198,84,63,.06);border-color:rgba(198,84,63,.3)}
.azm .azm-rec-off code{font-size:12px;background:rgba(0,0,0,.06);padding:1px 5px;border-radius:4px}
.azm .azm-jb-note{margin:0 0 10px;padding:9px 12px;border-radius:10px;font-size:12.5px;
  line-height:1.6;background:rgba(200,169,81,.14);border-left:4px solid #C8A951}

/* Record check, folded (3 Sep 2026). The summary carries the outcome chip so a
   checked listing still declares itself while shut. Styled to read as the same
   card it was, not as a browser default triangle-and-text. */
.azm-rec-fold{background:#F5F0E6;border:1px solid rgba(200,169,81,.55);border-radius:12px;
  margin:14px 0;padding:0 14px}
.azm-rec-fold[open]{padding-bottom:12px}
.azm-rec-sum{cursor:pointer;list-style:none;padding:12px 0;font-weight:800;font-size:15px;
  color:#1A3C2A;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.azm-rec-sum::-webkit-details-marker{display:none}
.azm-rec-sum::after{content:"▸";margin-left:auto;color:#6F5518;font-size:15px;transition:transform .15s}
.azm-rec-fold[open] .azm-rec-sum::after{transform:rotate(90deg)}
.azm-rec-fold .azm-rec{background:none;border:0;margin:0;padding:0}
.azm-rec-fold .azm-rec>.azm-rec-h{display:none}

/* Lead consent: two ticks on one row with their note beside them (3 Sep 2026). */
.azm-togs.azm-togs-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.azm-togs.azm-togs-row .azm-tog2{margin:0}
@media(max-width:520px){.azm-togs.azm-togs-row .hint{flex:1 0 100%}}
