/* TestStrip Buyback USA — design system
   Tokens first; legacy variable names are aliased so page-level styles keep working. */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root{
  --paper:#FAF8F3;
  --surface:#FFFFFF;
  --ink:#201F1A;
  --muted:#5D5B51;
  --faint:#8D8B80;
  --line:#E6E2D6;
  --line-soft:#F0EDE4;
  --green:#22633A;
  --green-deep:#143D23;
  --green-wash:#EEF4EF;
  --green-line:#CFE0D4;
  --sage:#9DBFA6;
  --amber:#9A6A1B;
  --amber-wash:#FBF3E1;
  --amber-line:#EBD9AC;
  --red:#A33B32;
  --serif:'DM Serif Display',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --radius:10px;
  --shadow:0 1px 2px rgba(32,31,26,.05),0 4px 16px rgba(32,31,26,.05);

  /* legacy aliases used by page-level styles */
  --green-d:var(--green-deep);
  --green-l:var(--green-wash);
  --mint:var(--sage);
  --bg:var(--paper);
  --border:var(--line);
  --light:var(--faint);
}

html{scroll-behavior:smooth;}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;}
}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
::selection{background:var(--green-deep);color:#fff;}
a{color:var(--green);}
:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:2px;}

/* ── NAV ─────────────────────────────────────────────── */
nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,5vw,3rem);height:64px;}
.nav-brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;}
.nav-logo-mark{width:36px;height:36px;background:var(--green-deep);border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.nav-logo-mark svg{width:18px;height:18px;stroke:var(--sage);stroke-width:2;fill:none;stroke-linecap:round;}
.nav-brand-text{font-family:var(--serif);font-size:1rem;font-weight:400;color:var(--ink);line-height:1.15;letter-spacing:.01em;}
.nav-brand-text span{display:block;font-family:var(--sans);font-size:.62rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);}
.nav-links{display:flex;align-items:center;gap:1.6rem;}
.nav-links a{font-size:.88rem;color:var(--muted);text-decoration:none;transition:color .15s;}
.nav-links a:hover{color:var(--green-deep);}
.nav-cta{background:var(--green)!important;color:#fff!important;padding:.5rem 1.15rem;border-radius:8px;font-weight:600!important;font-size:.84rem!important;transition:background .15s;}
.nav-cta:hover{background:var(--green-deep)!important;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;}
.mobile-menu{display:none;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--line);padding:1rem clamp(1rem,5vw,3rem) 1.25rem;gap:.7rem;z-index:99;box-shadow:var(--shadow);}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:.95rem;color:var(--muted);text-decoration:none;padding:.4rem 0;border-bottom:1px solid var(--line-soft);}
.mobile-menu a:last-child{border:none;background:var(--green);color:#fff;padding:.65rem 1rem;border-radius:8px;font-weight:600;text-align:center;}
@media(max-width:760px){.nav-links{display:none;}.hamburger{display:flex;}}

/* ── SECTION SYSTEM ──────────────────────────────────── */
.section{padding:3.75rem clamp(1rem,5vw,3rem);}
.section-inner{max-width:940px;margin:0 auto;}
.section-label{display:flex;align-items:center;gap:.55rem;font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--green);margin-bottom:.65rem;}
.section-label::before{content:"";width:22px;height:1px;background:var(--green);}
.section-title{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,3vw,2rem);line-height:1.22;color:var(--ink);margin-bottom:.6rem;letter-spacing:.005em;}
.section-sub{font-size:.94rem;color:var(--muted);max-width:580px;line-height:1.7;margin-bottom:.5rem;}
.bg-gray{background:var(--paper);}
.bg-white{background:var(--surface);}

/* ── ARTICLE SYSTEM ──────────────────────────────────── */
.art-hero{background:var(--green-deep);background-image:radial-gradient(ellipse 900px 420px at 85% -10%,rgba(157,191,166,.16),transparent);padding:3.25rem clamp(1rem,5vw,3rem) 2.75rem;color:#fff;}
.art-hero-inner{max-width:1060px;margin:0 auto;}
.art-breadcrumb{font-size:.76rem;color:rgba(255,255,255,.55);margin-bottom:1.35rem;}
.art-breadcrumb a{color:rgba(255,255,255,.72);text-decoration:none;}
.art-breadcrumb a:hover{color:#fff;text-decoration:underline;}
.art-label{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--sage);border:1px solid rgba(157,191,166,.4);border-radius:999px;padding:.28rem .8rem;margin-bottom:1rem;}
.art-title{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.18;max-width:21ch;margin-bottom:.85rem;}
.art-sub{font-size:1rem;color:rgba(255,255,255,.78);max-width:60ch;line-height:1.7;}
.art-meta{margin-top:1.35rem;font-size:.76rem;color:rgba(255,255,255,.55);display:flex;flex-wrap:wrap;gap:.35rem 1.35rem;}
.art-meta strong{color:rgba(255,255,255,.8);font-weight:600;}

.art-body{max-width:1060px;margin:0 auto;padding:2.75rem clamp(1rem,5vw,2rem) 4rem;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:3rem;align-items:start;}
@media(max-width:820px){.art-body{grid-template-columns:1fr;}}

.art-content{font-size:1rem;line-height:1.78;color:var(--ink);max-width:70ch;min-width:0;}
.art-sidebar{min-width:0;}
.art-content>table{display:block;overflow-x:auto;}
.art-content p{margin-bottom:1.15rem;}
.art-content h2{font-family:var(--serif);font-weight:400;font-size:1.55rem;line-height:1.28;margin:2.4rem 0 .9rem;padding-top:1.4rem;border-top:1px solid var(--line);}
.art-content h2:first-child{margin-top:0;padding-top:0;border-top:none;}
.art-content h3{font-size:1.02rem;font-weight:650;margin:1.7rem 0 .6rem;}
.art-content ul,.art-content ol{margin:0 0 1.15rem 1.35rem;}
.art-content li{margin-bottom:.45rem;}
.art-content li::marker{color:var(--green);}
.art-content a{color:var(--green);text-decoration:underline;text-decoration-color:var(--sage);text-underline-offset:3px;transition:text-decoration-color .15s;}
.art-content a:hover{text-decoration-color:var(--green);}
.art-content strong{font-weight:650;}

.callout{background:var(--green-wash);border-left:3px solid var(--green);border-radius:0 8px 8px 0;padding:.95rem 1.15rem;font-size:.92rem;line-height:1.65;margin:0 0 1.15rem;color:#25402F;}
.callout-warn{background:var(--amber-wash);border-left:3px solid var(--amber);border-radius:0 8px 8px 0;padding:.95rem 1.15rem;font-size:.92rem;line-height:1.65;margin:0 0 1.15rem;color:#5B4212;}

.table-wrap{overflow-x:auto;margin:0 0 1.15rem;border:1px solid var(--line);border-radius:8px;}
.art-content table{width:100%;border-collapse:collapse;min-width:600px;font-size:.86rem;}
.art-content th,.art-content td{text-align:left;vertical-align:top;padding:.7rem .85rem;border-bottom:1px solid var(--line-soft);line-height:1.55;}
.art-content th{background:var(--paper);color:var(--green-deep);font-weight:650;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid var(--green-line);}
.art-content tr:last-child td{border-bottom:none;}

.art-cta{display:inline-block;background:var(--green);color:#fff!important;font-weight:650;font-size:.9rem;padding:.7rem 1.5rem;border-radius:8px;text-decoration:none!important;transition:background .15s;}
.art-cta:hover{background:var(--green-deep);}
.art-cta-box{background:var(--green-deep);border-radius:var(--radius);padding:1.6rem 1.5rem;margin-top:2.2rem;color:#fff;}
.art-cta-box h3{font-family:var(--serif);font-weight:400;font-size:1.25rem;margin:0 0 .35rem;}
.art-cta-box p{font-size:.88rem;color:rgba(255,255,255,.75);margin-bottom:1rem;}
.art-cta-box a{display:inline-block;background:#fff;color:var(--green-deep);font-weight:650;font-size:.88rem;padding:.65rem 1.4rem;border-radius:8px;text-decoration:none;transition:background .15s;}
.art-cta-box a:hover{background:var(--green-wash);}

/* ── SIDEBAR ─────────────────────────────────────────── */
.art-sidebar{position:sticky;top:84px;}
@media(max-width:820px){.art-sidebar{position:static;}}
.sbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem 1.2rem;margin-bottom:1rem;}
.sbox h4{font-size:.7rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);margin-bottom:.7rem;padding-bottom:.55rem;border-bottom:1px solid var(--line-soft);}
.sbox ul{list-style:none;font-size:.84rem;}
.sbox ul li{padding:.36rem 0;border-bottom:1px solid var(--line-soft);color:var(--muted);display:flex;align-items:flex-start;gap:.5rem;line-height:1.5;}
.sbox ul li:last-child{border-bottom:none;}
.sbox ul li a{color:var(--green);text-decoration:none;}
.sbox ul li a:hover{text-decoration:underline;text-underline-offset:3px;}
.sbox .ck,.sbox ul li .ck{color:var(--green);font-weight:700;flex-shrink:0;}
.sbox .cx,.sbox ul li .cx{color:var(--red);font-weight:700;flex-shrink:0;}
.scta{background:var(--green-wash);border:1px solid var(--green-line);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem;text-align:center;}
.scta h4{font-family:var(--serif);font-weight:400;font-size:1.1rem;color:var(--green-deep);margin-bottom:.35rem;}
.scta p{font-size:.8rem;color:#3B5A45;margin-bottom:.85rem;line-height:1.55;}
.scta a{display:block;background:var(--green);color:#fff;padding:.6rem 1rem;border-radius:8px;font-weight:650;font-size:.84rem;text-decoration:none;transition:background .15s;}
.scta a:hover{background:var(--green-deep);}

/* ── FAQ ─────────────────────────────────────────────── */
.faq-list{margin-top:1.75rem;display:flex;flex-direction:column;gap:.6rem;}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.faq-q{width:100%;text-align:left;padding:.95rem 1.15rem;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.92rem;font-weight:600;color:var(--ink);font-family:inherit;}
.faq-q:hover{background:var(--paper);}
.faq-plus{font-size:1.25rem;color:var(--green);flex-shrink:0;transition:transform .2s;line-height:1;font-weight:400;}
.faq-a{display:none;padding:0 1.15rem 1rem;font-size:.88rem;color:var(--muted);line-height:1.7;}
.faq-item.open .faq-a{display:block;}
.faq-item.open .faq-plus{transform:rotate(45deg);}

/* ── FORMS ───────────────────────────────────────────── */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
@media(max-width:520px){.form-grid{grid-template-columns:1fr;}}
.fg{display:flex;flex-direction:column;gap:.32rem;}
.fg.full{grid-column:1/-1;}
.fg label{font-size:.78rem;font-weight:600;color:var(--ink);}
.fg input,.fg select,.fg textarea{border:1px solid var(--line);border-radius:8px;padding:.66rem .85rem;font-size:.9rem;color:var(--ink);font-family:inherit;background:var(--surface);transition:border-color .15s,box-shadow .15s;}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(34,99,58,.1);}
.fg textarea{min-height:90px;resize:vertical;}
.field-help{font-size:.7rem;color:var(--faint);line-height:1.45;}
.check-row{display:flex;align-items:flex-start;gap:.55rem;font-size:.8rem;color:var(--muted);line-height:1.5;}
.check-row input{margin-top:2px;accent-color:var(--green);flex-shrink:0;}
.confirm-row{display:flex;align-items:flex-start;gap:.55rem;margin-top:.85rem;font-size:.76rem;color:var(--muted);line-height:1.5;}
.confirm-row input{margin-top:.2rem;accent-color:var(--green);}
.form-btn,.submit-btn{width:100%;background:var(--green);color:#fff;border:none;border-radius:8px;padding:.9rem;font-size:.97rem;font-weight:650;cursor:pointer;font-family:inherit;transition:background .15s;margin-top:.5rem;}
.form-btn:hover,.submit-btn:hover{background:var(--green-deep);}
.submit-btn:disabled{background:var(--line);color:var(--muted);cursor:not-allowed;}
.form-note{font-size:.74rem;color:var(--muted);text-align:center;margin-top:.6rem;line-height:1.55;}

/* ── STEPS ───────────────────────────────────────────── */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-top:2.4rem;}
@media(max-width:720px){.steps{grid-template-columns:1fr 1fr;}}
@media(max-width:420px){.steps{grid-template-columns:1fr;}}
.step-card{padding:1.4rem 0 0;border-top:2px solid var(--green-line);}
.step-num{font-family:var(--serif);font-size:1.9rem;color:var(--green);line-height:1;margin-bottom:.6rem;}
.step-card h3{font-size:.94rem;font-weight:650;color:var(--ink);margin-bottom:.4rem;}
.step-card p{font-size:.84rem;color:var(--muted);line-height:1.65;}

/* ── CARD GRIDS ──────────────────────────────────────── */
.buy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;}
@media(max-width:660px){.buy-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:400px){.buy-grid{grid-template-columns:1fr;}}
.buy-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;}
.buy-icon{width:36px;height:36px;background:var(--green-wash);border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:.8rem;}
.buy-icon svg{width:18px;height:18px;stroke:var(--green);stroke-width:2;fill:none;stroke-linecap:round;}
.buy-card h3{font-size:.92rem;font-weight:650;color:var(--ink);margin-bottom:.3rem;}
.buy-card p{font-size:.8rem;color:var(--muted);line-height:1.6;}

.guides-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.75rem;}
@media(max-width:660px){.guides-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:420px){.guides-grid{grid-template-columns:1fr;}}
.guide-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;}
.guide-card:hover{border-color:var(--green);box-shadow:var(--shadow);}
.guide-tag{font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);margin-bottom:.45rem;}
.guide-card h3{font-size:.9rem;font-weight:650;color:var(--ink);line-height:1.42;margin-bottom:.35rem;}
.guide-card p{font-size:.79rem;color:var(--muted);line-height:1.55;}
.guide-arrow{font-size:.76rem;color:var(--green);margin-top:.6rem;font-weight:650;}

.pay-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem;}
@media(max-width:600px){.pay-grid{grid-template-columns:1fr 1fr;}}
.pay-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem 1.1rem;text-align:center;}
.pay-card-name{font-family:var(--serif);font-size:1.15rem;color:var(--ink);margin-bottom:.25rem;}
.pay-card-speed{font-size:.68rem;font-weight:700;color:var(--amber);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem;}
.pay-card-desc{font-size:.76rem;color:var(--muted);line-height:1.55;}

.req-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1.75rem;}
@media(max-width:540px){.req-grid{grid-template-columns:1fr;}}
.req-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.35rem;}
.req-box h3{font-size:.86rem;font-weight:700;margin-bottom:.7rem;}
.req-box ul{list-style:none;}
.req-box ul li{font-size:.85rem;color:var(--muted);padding:.34rem 0;border-bottom:1px solid var(--line-soft);display:flex;align-items:flex-start;gap:.5rem;line-height:1.55;}
.req-box ul li:last-child{border-bottom:none;}
.ck{color:var(--green);font-weight:700;flex-shrink:0;}
.cx{color:var(--red);font-weight:700;flex-shrink:0;}

.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
@media(max-width:660px){.proof-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:380px){.proof-grid{grid-template-columns:1fr;}}
.proof-card{border-left:2px solid var(--green-line);padding:.25rem 0 .25rem 1.1rem;}
.proof-value{font-family:var(--serif);font-size:1.6rem;line-height:1.1;color:var(--green-deep);margin-bottom:.3rem;}
.proof-label{font-size:.78rem;color:var(--muted);line-height:1.5;}

/* ── PRICE TABLE (homepage/product pages) ───────────── */
.price-wrap{overflow-x:auto;margin-top:1.75rem;border:1px solid var(--line);border-radius:8px;}
table.price-table{width:100%;border-collapse:collapse;font-size:.86rem;min-width:520px;}
.price-table thead,.price-table th{background:var(--paper);color:var(--green-deep);}
.price-table th{padding:.7rem 1rem;text-align:left;font-weight:650;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;border-bottom:2px solid var(--green-line);}
.price-table td{padding:.68rem 1rem;border-bottom:1px solid var(--line-soft);color:var(--ink);vertical-align:top;}
.price-table tr:last-child td{border-bottom:none;}
.price-range{font-weight:700;color:var(--amber);}
.price-note{font-size:.78rem;color:var(--muted);margin-top:.85rem;line-height:1.6;}

/* ── TRUST STRIP ─────────────────────────────────────── */
.trust-bar{background:var(--surface);border-bottom:1px solid var(--line);padding:.7rem clamp(1rem,5vw,3rem);}
.trust-bar-inner{max-width:920px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem 1.6rem;}
.trust-item{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted);font-weight:500;}
.trust-item svg{width:13px;height:13px;stroke:var(--green);stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round;}

/* ── HOME HERO ───────────────────────────────────────── */
.hero{background:var(--green-deep);background-image:radial-gradient(ellipse 1000px 480px at 90% -15%,rgba(157,191,166,.18),transparent);padding:4.25rem clamp(1rem,5vw,3rem) 4rem;color:#fff;}
.hero-grid{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,1fr);gap:3rem;align-items:center;}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr;gap:2.25rem;}}
.hero-kicker{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin-bottom:1.1rem;display:flex;align-items:center;gap:.55rem;}
.hero-kicker::before{content:"";width:22px;height:1px;background:var(--sage);}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,4.8vw,3.05rem);line-height:1.14;margin-bottom:1.05rem;letter-spacing:.003em;}
.hero h1 em{font-style:italic;color:var(--sage);}
.hero-sub{font-size:1.02rem;color:rgba(255,255,255,.78);max-width:54ch;margin-bottom:1.75rem;line-height:1.7;}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;}
.hero-cta{display:inline-block;background:#fff;color:var(--green-deep);font-weight:700;font-size:.98rem;padding:.85rem 1.9rem;border-radius:8px;text-decoration:none;transition:background .15s;}
.hero-cta:hover{background:var(--green-wash);}
.hero-alt{color:rgba(255,255,255,.75);font-size:.88rem;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:.45rem;}
.hero-alt:hover{color:#fff;}
.hero-alt svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;}
.hero-pay{margin-top:1.35rem;font-size:.75rem;color:rgba(255,255,255,.45);}
.hero-pay span{color:rgba(255,255,255,.68);margin:0 3px;}
.hero-panel{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:1.4rem 1.5rem;}
.hero-panel-title{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sage);margin-bottom:.9rem;}
.hero-panel ul{list-style:none;}
.hero-panel li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.09);font-size:.86rem;color:rgba(255,255,255,.85);}
.hero-panel li:last-child{border-bottom:none;}
.hero-panel li b{font-family:var(--serif);font-weight:400;font-size:1.05rem;color:#fff;white-space:nowrap;}
.hero-panel-note{margin-top:.8rem;font-size:.7rem;color:rgba(255,255,255,.45);line-height:1.5;}

/* ── FORM SECTION (home) ─────────────────────────────── */
.form-section{background:var(--green-deep);padding:4rem clamp(1rem,5vw,3rem);}
.form-inner{max-width:660px;margin:0 auto;}
.form-hed{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,3.5vw,2.2rem);color:#fff;margin-bottom:.5rem;}
.form-sub{font-size:.93rem;color:rgba(255,255,255,.72);margin-bottom:2rem;line-height:1.65;}
.form-card{background:var(--surface);border-radius:14px;padding:2rem;box-shadow:0 12px 40px rgba(0,0,0,.18);}

/* ── FOOTER ──────────────────────────────────────────── */
footer{background:#14130E;color:rgba(255,255,255,.42);padding:2.75rem clamp(1rem,5vw,3rem) 2.25rem;}
.footer-inner{max-width:940px;margin:0 auto;}
.footer-top{display:flex;flex-wrap:wrap;gap:2rem 3rem;justify-content:space-between;margin-bottom:2.25rem;}
.footer-brand-name{font-family:var(--serif);font-size:1.05rem;font-weight:400;color:#fff;margin-bottom:.5rem;}
.footer-brand-desc{font-size:.78rem;line-height:1.65;color:rgba(255,255,255,.38);max-width:250px;}
.footer-col h4{font-size:.66rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:.75rem;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.42rem;}
.footer-col ul li a{font-size:.79rem;color:rgba(255,255,255,.44);text-decoration:none;transition:color .15s;}
.footer-col ul li a:hover{color:rgba(255,255,255,.85);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:1.2rem;font-size:.72rem;color:rgba(255,255,255,.26);line-height:1.7;}
.footer-bottom a{color:rgba(255,255,255,.36);text-decoration:none;}
.footer-bottom a:hover{color:rgba(255,255,255,.7);}

/* ── MISC SHARED ─────────────────────────────────────── */
.related-resources{border-top:1px solid var(--line);}
.related-resources a{transition:border-color .15s,box-shadow .15s;background:var(--surface);}
.related-resources a:hover{border-color:var(--green)!important;box-shadow:var(--shadow);}
.estimate-note{background:var(--amber-wash);border:1px solid var(--amber-line);border-radius:8px;padding:.8rem .9rem;font-size:.79rem;color:#5B4212;line-height:1.55;margin:.9rem 0;}
.conversion-note{background:var(--green-wash);border:1px solid var(--green-line);border-radius:var(--radius);padding:.9rem 1rem;margin:1rem 0;color:#25402F;font-size:.84rem;line-height:1.6;}
.conversion-note strong{color:var(--green-deep);}
.updated-note{font-size:.76rem;color:var(--faint);}
