/* mansiontaxes -- assets/site.css
   Purpose: Whole look of www.mansiontaxes.com. Palette taken from the logo: logo black, the brand
            purple, a deep aubergine for dark bands and a brass accent for dates and numbers. Type:
            League Spartan (close to the logo's geometric caps) for headings, Source Serif 4 for text.
   Version: 1.8  (2026-10-31 06:47:36)
   Changelog (newest first):
     1.8 2026-10-31 06:47:36  Nav spacing steps down at 1180px and 1080px so nine items, including Empty homes premium,
                              stay on one line down to the 900px menu button.
     1.7 2026-10-30 20:06:44  Image slot label (file name and size) now shows only when the photo fails to load, not over
                              every photo on the live site.
     1.6 2026-10-30 18:31:24  News log rules apply to top-level entries only, so a bullet list inside an entry (the Budget
                              entry) reads as an ordinary list.
     1.5 2026-10-18 11:46:44  Cookie bar styles removed with the pop-up; footer link style kept.
     1.4 2026-10-17 18:55:10  Small muted note style in checker results (res-note) for the 10% rule of thumb.
     1.3 2026-09-28 17:07:07  Cookie bar (fixed to the foot of the screen, equal Allow and No thanks buttons) and the footer Cookie settings button.
     1.2 2026-09-28 07:40:16  Hero facts in a two by two grid with a note line. Photo above the checker panel on the home page, hidden below 980px so the checker stays high on phones. Free consultation tag on the checker. Tighter nav gap between 900px and 1100px for the added News link.
     1.1 2026-09-28 07:18:13  Bigger logo: 80px logo row with the review button, nav moved to its own row beneath; menu button below 900px.
     1.0 2026-09-27 22:42:53  Initial */

:root{
  --ink:#151216;
  --ink-2:#3b343f;
  --muted:#675f6b;
  --purple:#7f3f97;
  --purple-dk:#61287a;
  --aub:#26102f;
  --aub-2:#371846;
  --brass:#c9a052;
  --rule:#e3dde6;
  --paper:#ffffff;
  --panel:#faf8fb;
  --maxw:1180px;
  --prose:43rem;
  --head:'League Spartan','Arial Narrow',Arial,sans-serif;
  --body:'Source Serif 4',Georgia,'Times New Roman',serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{ margin:0; background:var(--paper); color:var(--ink); font-family:var(--body); font-size:1.125rem; line-height:1.62; }
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--purple); text-decoration-thickness:1px; text-underline-offset:.18em; }
a:hover{ color:var(--purple-dk); }
h1,h2,h3,h4{ font-family:var(--head); color:var(--ink); letter-spacing:-.01em; line-height:1.08; margin:0 0 .6em; }
h1{ font-weight:800; font-size:clamp(2.2rem,4.6vw,3.6rem); }
h2{ font-weight:700; font-size:clamp(1.55rem,2.6vw,2.05rem); }
h3{ font-weight:700; font-size:1.22rem; line-height:1.2; }
p{ margin:0 0 1.05em; }
b,strong{ font-weight:600; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 1.25rem; }
.skip{ position:absolute; left:-999px; top:0; background:var(--ink); color:#fff; padding:.6rem 1rem; z-index:10; }
.skip:focus{ left:.5rem; }
:focus-visible{ outline:3px solid var(--brass); outline-offset:2px; }

/* ---------------------------------------------------------------- buttons */
.btn{ display:inline-block; font-family:var(--head); font-weight:700; font-size:.95rem; letter-spacing:.06em; text-transform:uppercase;
  text-decoration:none; color:#fff; background:var(--purple); border:2px solid var(--purple); border-radius:2px; padding:.95rem 1.4rem .8rem; cursor:pointer; line-height:1.1; }
.btn:hover{ background:var(--purple-dk); border-color:var(--purple-dk); color:#fff; }
.btn-sm{ font-size:.8rem; padding:.7rem 1rem .55rem; }
.btn-block{ display:block; text-align:center; }
.btn-light{ background:#fff; color:var(--aub); border-color:#fff; }
.btn-light:hover{ background:var(--brass); border-color:var(--brass); color:var(--aub); }
.btn-outline-light{ background:transparent; color:#fff; border-color:rgba(255,255,255,.6); }
.btn-outline-light:hover{ background:transparent; border-color:#fff; color:#fff; }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--ink); }
.btn-ghost:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }

/* ---------------------------------------------------------------- header */
.site-head{ border-bottom:1px solid var(--rule); background:#fff; position:relative; z-index:5; }
.head-row{ display:flex; align-items:center; gap:1.5rem; min-height:124px; }
.brand{ flex:none; }
.brand img{ height:80px; width:auto; max-width:none; }
.head-cta{ margin-left:auto; }
.site-nav{ border-top:1px solid var(--rule); }
.nav-row{ display:flex; align-items:center; gap:2.2rem; }
.site-nav a{ font-family:var(--head); font-weight:500; font-size:.88rem; letter-spacing:.05em; text-transform:uppercase; color:var(--ink); text-decoration:none; white-space:nowrap; padding:1rem 0 .85rem; }
.site-nav a:hover{ color:var(--purple); }
.site-nav a[aria-current]{ color:var(--purple); box-shadow:inset 0 -3px 0 var(--purple); }
.site-nav .nav-cta{ display:none; }
.nav-toggle{ display:none; margin-left:auto; font-family:var(--head); font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.8rem;
  background:none; border:2px solid var(--ink); border-radius:2px; padding:.55rem .8rem .45rem; cursor:pointer; }

.crumbs{ font-family:var(--head); font-size:.8rem; letter-spacing:.04em; color:var(--muted); padding-top:1.1rem; }
.crumbs a{ color:var(--muted); text-decoration:none; }
.crumbs a:hover{ color:var(--purple); }
.crumbs span{ margin:0 .25rem; }
.crumbs span[aria-current]{ margin:0; color:var(--ink); }

/* ---------------------------------------------------------------- shared type */
.eyebrow{ font-family:var(--head); font-weight:700; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--purple); display:flex; align-items:center; gap:.7rem; margin-bottom:1rem; }
.eyebrow::before{ content:""; width:34px; height:2px; background:var(--brass); flex:none; }
.lede{ font-size:1.3rem; line-height:1.5; color:var(--ink-2); max-width:40rem; }
.reviewed{ font-family:var(--head); font-size:.8rem; letter-spacing:.03em; color:var(--muted); border-top:1px solid var(--rule); padding-top:.9rem; margin-top:2.2rem; }
.small{ font-size:.92rem; color:var(--muted); }

/* ---------------------------------------------------------------- home hero */
.hero{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:3.5rem; align-items:start; padding-top:4rem; padding-bottom:3.2rem; }
.hero h1{ font-size:clamp(2.5rem,5.4vw,4.5rem); line-height:1.02; }
.hero h1 em{ font-style:normal; color:var(--purple); }
.hero-facts{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.6rem 2.4rem; margin:2rem 0 0; padding:1.3rem 0 0; border-top:1px solid var(--rule); }
.hero-facts dt{ font-family:var(--head); font-weight:800; font-size:clamp(1.3rem,2.1vw,1.8rem); color:var(--ink); line-height:1; white-space:nowrap; }
.hero-facts dd{ margin:.35rem 0 0; font-size:.95rem; color:var(--muted); max-width:17rem; }
.hero-note{ margin:1.4rem 0 0; font-size:.88rem; color:var(--muted); }
.hero-side .ph{ margin:0 0 1.4rem; }

/* ---------------------------------------------------------------- checker */
.checker{ background:var(--aub); color:#efe8f2; padding:1.8rem 1.7rem 1.4rem; border-top:6px solid var(--brass); }
.checker-free{ display:inline-block; margin:0 0 .9rem; padding:.3rem .6rem; background:var(--brass); color:var(--aub); font-family:var(--head); font-weight:800; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; line-height:1.2; }
.checker-h{ font-family:var(--head); font-weight:800; font-size:1.45rem; color:#fff; margin-bottom:1rem; }
.checker label{ display:block; font-family:var(--head); font-weight:500; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; color:#d9cfe0; margin:.9rem 0 .35rem; }
.checker .opt{ text-transform:none; letter-spacing:0; color:#b3a5bc; }
.checker input,.checker select{ width:100%; font:inherit; font-size:1.05rem; padding:.7rem .8rem; border:1px solid #5a3d68; border-radius:2px; background:#fff; color:var(--ink); }
.checker .btn{ width:100%; margin-top:1.3rem; background:var(--brass); border-color:var(--brass); color:var(--aub); }
.checker .btn:hover{ background:#fff; border-color:#fff; }
.checker-small{ font-size:.82rem; color:#b3a5bc; margin:.9rem 0 0; }
.checker-result{ margin-top:1.3rem; padding:1.1rem 1.1rem .4rem; background:var(--aub-2); border-left:4px solid var(--brass); }
.checker-result .res-band{ font-family:var(--head); font-weight:800; font-size:1.7rem; color:#fff; line-height:1.1; margin-bottom:.3rem; }
.checker-result p{ font-size:.98rem; margin-bottom:.8rem; color:#efe8f2; }
.checker-result .res-edge{ color:#f1d9a3; }
.checker-result .res-long{ color:#fff; }
.checker-result .res-note{ font-size:.85rem; color:#cbbfd3; }
.checker-result .res-long b{ font-family:var(--head); font-weight:800; font-size:1.2rem; color:var(--brass); }
.checker-result .btn{ margin-top:.2rem; margin-bottom:.8rem; }
.page-calculator .checker{ max-width:34rem; }

/* ---------------------------------------------------------------- photo strip */
.photo-strip{ margin:0; }
.photo-strip .ph{ aspect-ratio:auto !important; width:100%; height:min(42vw,560px); }

/* ---------------------------------------------------------------- dark band + timeline */
.band-dark{ background:var(--aub); color:#e9e1ee; padding:4.2rem 0; }
.band-dark h2{ color:#fff; }
.band-dark a{ color:#f1d9a3; }
.band-dark .eyebrow{ color:#f1d9a3; }
.timeline{ list-style:none; margin:2.4rem 0 0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; }
.timeline li{ position:relative; padding:1.6rem 1.4rem 0 0; border-top:2px solid rgba(255,255,255,.22); }
.timeline li::before{ content:""; position:absolute; top:-7px; left:0; width:12px; height:12px; background:var(--brass); border-radius:50%; }
.timeline .t-when{ font-family:var(--head); font-weight:800; font-size:1.35rem; color:var(--brass); display:block; margin-bottom:.35rem; }
.timeline .t-what{ font-size:1rem; color:#e9e1ee; }
.timeline li.t-now::before{ background:#fff; box-shadow:0 0 0 4px rgba(255,255,255,.25); }

/* ---------------------------------------------------------------- sections */
.section{ padding-top:4.5rem; padding-bottom:4.5rem; }
.section-tight{ padding-top:3rem; padding-bottom:3rem; }
.split{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:3.5rem; align-items:start; }
.split.flip{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); }
.split-offset{ margin-top:3.5rem; }

/* band staircase */
.stairs{ display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem; align-items:end; height:260px; margin:0 0 1.2rem; }
.stairs div{ background:var(--purple); color:#fff; font-family:var(--head); padding:.7rem .6rem; display:flex; flex-direction:column; justify-content:flex-start; }
.stairs div:nth-child(1){ height:33%; background:#a877bb; }
.stairs div:nth-child(2){ height:47%; background:#94589f; }
.stairs div:nth-child(3){ height:67%; background:var(--purple); }
.stairs div:nth-child(4){ height:100%; background:var(--aub); }
.stairs b{ font-weight:800; font-size:1.25rem; }
.stairs span{ font-size:.78rem; letter-spacing:.04em; opacity:.9; }

/* tables */
.table-wrap{ overflow-x:auto; margin:1.2rem 0 .4rem; }
table.data{ width:100%; border-collapse:collapse; font-size:1rem; }
table.data caption{ text-align:left; font-family:var(--head); font-size:.82rem; letter-spacing:.04em; color:var(--muted); padding-bottom:.6rem; }
table.data th,table.data td{ text-align:left; padding:.7rem .8rem; border-bottom:1px solid var(--rule); vertical-align:top; }
table.data thead th{ font-family:var(--head); font-weight:700; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); border-bottom:2px solid var(--ink); }
table.data tbody th{ font-weight:600; }
table.data .num{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.table-note{ font-size:.92rem; color:var(--muted); }
table.data .total{ font-family:var(--head); font-weight:800; font-size:1.1rem; color:var(--purple); }
.copy-btn{ font-family:var(--head); font-weight:500; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; background:none; border:1px solid var(--rule);
  border-radius:2px; padding:.4rem .7rem .3rem; color:var(--ink-2); cursor:pointer; margin-top:.4rem; }
.copy-btn:hover{ border-color:var(--purple); color:var(--purple); }

/* numbered guide index */
.index-list{ list-style:none; margin:2rem 0 0; padding:0; counter-reset:g; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 3rem; }
.index-list li{ counter-increment:g; display:grid; grid-template-columns:3.2rem 1fr; gap:.8rem; padding:1.2rem 0; border-top:1px solid var(--rule); }
.index-list li::before{ content:counter(g,decimal-leading-zero); font-family:var(--head); font-weight:800; font-size:1.5rem; color:var(--brass); line-height:1.2; }
.index-list a{ font-family:var(--head); font-weight:700; font-size:1.15rem; color:var(--ink); text-decoration:none; line-height:1.25; }
.index-list a:hover{ color:var(--purple); }
.index-list p{ margin:.3rem 0 0; font-size:.98rem; color:var(--muted); }

/* who-pays list on the home page */
.pay-list{ list-style:none; padding:0; margin:1.2rem 0 0; }
.pay-list li{ padding:.85rem 0; border-top:1px solid var(--rule); display:grid; grid-template-columns:11rem 1fr; gap:1rem; }
.pay-list b{ font-family:var(--head); font-weight:700; font-size:1rem; }

/* ---------------------------------------------------------------- inner pages */
.page-head{ padding:1.6rem 0 2.2rem; border-bottom:1px solid var(--rule); margin-bottom:2.6rem; }
.page-head h1{ max-width:52rem; }
.with-rail{ display:grid; grid-template-columns:minmax(0,1fr) 19rem; gap:4rem; align-items:start; padding-bottom:4rem; }
.prose{ max-width:var(--prose); }
.prose h2{ margin-top:2.6rem; }
.prose h2:first-child{ margin-top:0; }
.prose h3{ margin-top:1.8rem; }
.prose ul,.prose ol{ padding-left:1.25rem; margin:0 0 1.2em; }
.prose li{ margin-bottom:.45rem; }
.prose .ph{ margin:2rem 0; }
.callout{ border-left:4px solid var(--purple); background:var(--panel); padding:1.1rem 1.3rem .3rem; margin:1.6rem 0; }
.callout-h{ font-family:var(--head); font-weight:700; font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; color:var(--purple); margin-bottom:.4rem; }
.answer{ font-size:1.25rem; line-height:1.5; border-left:4px solid var(--brass); padding-left:1.2rem; margin:0 0 2rem; color:var(--ink); }
.facts{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 2rem; margin:1.4rem 0 1.8rem; }
.facts div{ border-top:1px solid var(--rule); padding:.9rem 0; }
.facts dt{ font-family:var(--head); font-weight:700; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.facts dd{ margin:.2rem 0 0; font-size:1.05rem; }
.steps{ list-style:none; padding:0 !important; counter-reset:s; }
.steps li{ counter-increment:s; position:relative; padding:0 0 1.2rem 3.2rem; margin:0; }
.steps li::before{ content:counter(s); position:absolute; left:0; top:-.1rem; width:2.2rem; height:2.2rem; border:2px solid var(--purple); color:var(--purple);
  font-family:var(--head); font-weight:800; display:flex; align-items:center; justify-content:center; border-radius:2px; }
.steps b{ font-family:var(--head); font-weight:700; display:block; }

.rail{ position:sticky; top:1.5rem; display:grid; gap:1.2rem; }
.rail-card{ border:1px solid var(--rule); border-top:5px solid var(--purple); padding:1.3rem 1.3rem 1.1rem; background:#fff; }
.rail-card p{ font-size:.98rem; }
.rail-h{ font-family:var(--head); font-weight:800; font-size:1.2rem; line-height:1.2; margin-bottom:.6rem; }
.rail-link{ display:block; margin-top:.9rem; font-family:var(--head); font-size:.85rem; letter-spacing:.03em; }
.rail-plain{ border-top-color:var(--brass); }
.rail-stat{ font-size:.92rem !important; color:var(--muted); border-bottom:1px solid var(--rule); padding-bottom:.9rem; }
.rail-stat b{ display:block; font-family:var(--head); font-weight:800; font-size:1.9rem; color:var(--purple); line-height:1.1; }
.rail-dates{ list-style:none; margin:0; padding:0; font-size:.95rem; }
.rail-dates li{ padding:.45rem 0; border-top:1px solid var(--rule); }
.rail-dates b{ font-family:var(--head); font-weight:700; display:block; color:var(--purple); font-size:.85rem; letter-spacing:.04em; }

.faq{ margin-top:2.6rem; }
.faq h3{ margin-top:1.4rem; }
.sources{ margin-top:2.2rem; font-size:.92rem; }
.sources-h{ font-family:var(--head); font-weight:700; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:.4rem; }
.sources ul{ padding-left:1.1rem; margin:0; }
.related{ margin-top:2.6rem; border-top:2px solid var(--ink); padding-top:1.2rem; }
.related-h{ font-family:var(--head); font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:.8rem; color:var(--muted); }
.related ul{ list-style:none; padding:0; margin:0; columns:2; column-gap:2rem; }
.related li{ padding:.35rem 0; break-inside:avoid; font-size:1rem; }

/* updates list */
.log{ list-style:none; padding:0 !important; margin:1.6rem 0; }
.log > li{ display:grid; grid-template-columns:9rem 1fr; gap:1.4rem; padding:1.2rem 0; border-top:1px solid var(--rule); margin:0; }
.log div > ul{ list-style:disc; padding-left:1.25rem !important; margin:.6rem 0; }
.log time,.log .when{ font-family:var(--head); font-weight:700; color:var(--purple); font-size:.95rem; }
.log .future .when{ color:var(--muted); }
.log h3{ margin:0 0 .35rem; font-size:1.1rem; }
.log p{ margin:0; }

/* ---------------------------------------------------------------- forms */
.form{ max-width:40rem; }
.form fieldset{ border:0; padding:0; margin:0 0 1.8rem; }
.form legend{ font-family:var(--head); font-weight:700; font-size:1.2rem; margin-bottom:.4rem; padding:0; }
.form label{ display:block; font-family:var(--head); font-weight:500; font-size:.85rem; letter-spacing:.04em; margin:1rem 0 .35rem; }
.form .req{ color:var(--purple); }
.form .opt{ font-weight:400; color:var(--muted); }
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{ width:100%; font:inherit; font-size:1.05rem; padding:.7rem .8rem;
  border:1px solid #cbc2cf; border-radius:2px; background:#fff; color:var(--ink); }
.form input:focus,.form select:focus,.form textarea:focus{ border-color:var(--purple); outline:2px solid rgba(127,63,151,.25); outline-offset:0; }
.form textarea{ min-height:8rem; resize:vertical; }
.form .checks label{ font-family:var(--body); font-weight:400; font-size:1rem; letter-spacing:0; display:flex; gap:.6rem; align-items:flex-start; margin:.5rem 0; }
.form .checks input{ margin-top:.35rem; width:1rem; height:1rem; accent-color:var(--purple); flex:none; }
.form .hint{ font-size:.92rem; color:var(--muted); margin:.3rem 0 0; }
.form .two{ display:grid; grid-template-columns:1fr 1fr; gap:0 1rem; }
.form .btn{ margin-top:1.2rem; }
.hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.alert{ padding:1rem 1.2rem; margin:0 0 1.6rem; border-left:4px solid var(--purple); background:var(--panel); }
.alert-error{ border-left-color:#b3261e; background:#fdf1f0; }
.alert-ok{ border-left-color:#2e7d4f; background:#f0f8f3; }

/* ---------------------------------------------------------------- CTA band */
.cta-band{ background:var(--purple); color:#fff; padding:3.2rem 0; }
.cta-row{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2.5rem; align-items:center; }
.cta-band h2{ color:#fff; margin-bottom:.4rem; }
.cta-band p{ margin:0; color:#f1e8f5; max-width:38rem; }
.cta-actions{ display:flex; gap:.8rem; flex-wrap:wrap; }

/* ---------------------------------------------------------------- image slots */
.ph{ position:relative; margin:0; overflow:hidden; background:repeating-linear-gradient(135deg,#f3eef5 0 14px,#ece4ef 14px 28px); }
.ph img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.ph.ph-missing::after{ content:attr(data-slot); position:absolute; left:.8rem; bottom:.6rem; font-family:var(--head); font-size:.72rem; letter-spacing:.06em; color:#8a7a92; }
.ph figcaption{ position:absolute; left:0; right:0; bottom:0; padding:.6rem .9rem; background:rgba(21,18,22,.62); color:#fff; font-size:.85rem; z-index:2; }

/* ---------------------------------------------------------------- footer */
.site-foot{ background:var(--aub); color:#cbbfd2; padding:3.6rem 0 1.8rem; font-size:.98rem; }
.site-foot a{ color:#efe8f2; text-decoration:none; }
.site-foot a:hover{ color:var(--brass); text-decoration:underline; }
.foot-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.5fr; gap:2.4rem; }
.foot-name{ font-family:var(--head); font-weight:800; font-size:1.35rem; color:#fff; margin-bottom:.6rem; }
.foot-h{ font-family:var(--head); font-weight:700; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--brass); margin-bottom:.7rem; }
.foot-h a{ color:var(--brass); }
.site-foot ul{ list-style:none; margin:0; padding:0; }
.site-foot li{ padding:.22rem 0; }
.foot-small{ font-size:.88rem; color:#b3a5bc; }
.foot-legal{ margin-top:2.6rem; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.14); font-size:.86rem; color:#a797b0; }

/* ---------------------------------------------------------------- responsive */
@media (max-width:980px){
  .hero,.split,.split.flip,.with-rail,.cta-row{ grid-template-columns:1fr; gap:2.2rem; }
  .hero-side .ph{ display:none; }
  .rail{ position:static; }
  .timeline{ grid-template-columns:1fr; }
  .timeline li{ border-top:0; border-left:2px solid rgba(255,255,255,.22); padding:0 0 1.6rem 1.6rem; }
  .timeline li::before{ top:.2rem; left:-7px; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
  .index-list{ grid-template-columns:1fr; }
}
@media (max-width:1180px){
  .nav-row{ gap:1.3rem; }
}
@media (max-width:1080px){
  .nav-row{ gap:.95rem; }
  .site-nav a{ font-size:.78rem; letter-spacing:.03em; }
}
@media (max-width:900px){
  .head-row{ min-height:96px; }
  .brand img{ height:60px; }
  .head-cta{ display:none; }
  .nav-toggle{ display:block; }
  .js .site-nav{ display:none; }
  .site-nav{ position:absolute; left:0; right:0; top:100%; background:#fff; border-bottom:1px solid var(--rule); }
  .js .site-nav.open{ display:block; }
  .nav-row{ flex-direction:column; align-items:stretch; gap:0; padding-top:.4rem; padding-bottom:1.2rem; }
  .site-nav a{ padding:.8rem 0; border-top:1px solid var(--rule); }
  .site-nav a[aria-current]{ box-shadow:none; }
  .site-nav .nav-cta{ display:block; margin:.8rem 0 0; text-align:center; border-top:0; color:#fff; }
}
@media (max-width:560px){
  .head-row{ min-height:84px; }
  .brand img{ height:auto; width:calc(100vw - 135px); max-width:330px; }
}
@media (max-width:760px){
  body{ font-size:1.06rem; }
  .hero{ padding-top:2.4rem; }
  .facts,.form .two,.hero-facts{ grid-template-columns:1fr; }
  .pay-list li{ grid-template-columns:1fr; gap:.2rem; }
  .log > li{ grid-template-columns:1fr; gap:.3rem; }
  .related ul{ columns:1; }
  .foot-grid{ grid-template-columns:1fr; }
  .stairs{ height:200px; }
}
/* ---------------------------------------------------------------- footer analytics link */
.link-btn{ background:none; border:0; padding:0; font:inherit; color:inherit; text-decoration:underline; cursor:pointer; }
.link-btn[hidden]{ display:none; }

@media print{
  .site-head,.site-foot,.rail,.cta-band,.checker{ display:none; }
}
