/* ============================================================
   U.S. Tax Education Portal — Main Stylesheet
   Colors: #003087 (blue-dark) | #0056B3 (blue-mid) | #F5F7FA (gray-light)
   Fonts: Merriweather (headings) | Source Sans Pro (body)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700&family=Source+Sans+Pro:wght@400;600;700&display=swap');

:root {
  --blue-dark:  #003087;
  --blue-mid:   #0056B3;
  --blue-light: #1976D2;
  --white:      #FFFFFF;
  --gray-light: #F5F7FA;
  --gray-mid:   #E2E8F0;
  --gray-text:  #4A5568;
  --gray-dark:  #2D3748;
  --green:      #28A745;
  --yellow:     #FFC107;
  --red:        #DC3545;
  --shadow:     0 2px 12px rgba(0,0,0,.12);
  --radius:     6px;
  --t:          .2s ease;
  --font-head:  'Merriweather', Georgia, serif;
  --font-body:  'Source Sans Pro', 'Segoe UI', Arial, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root {
    --white:      #1A202C;
    --gray-light: #2D3748;
    --gray-mid:   #4A5568;
    --gray-text:  #A0AEC0;
    --gray-dark:  #F7FAFC;
    --shadow:     0 2px 12px rgba(0,0,0,.4);
  }
}

/* ---- Reset ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--gray-dark);background:var(--white);line-height:1.7;padding-top:64px}
img{max-width:100%;display:block}
a{color:var(--blue-mid);text-decoration:underline}
a:hover{color:var(--blue-dark)}
ul,ol{padding-left:1.5rem}
li{margin-bottom:.35rem}

/* ---- Typography ---- */
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);color:var(--blue-dark);line-height:1.3;margin-bottom:.6em}
h1{font-size:2rem}
h2{font-size:1.5rem;margin-top:1.8rem}
h3{font-size:1.15rem;margin-top:1.4rem}
p{margin-bottom:1rem}
strong{color:inherit}

/* ---- Skip Link ---- */
.skip-link{position:absolute;top:-100%;left:1rem;background:var(--blue-dark);color:#fff;padding:.5rem 1rem;border-radius:0 0 var(--radius) var(--radius);font-weight:700;z-index:10000;text-decoration:none}
.skip-link:focus{top:0}

/* ---- Header ---- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--blue-dark);box-shadow:0 2px 8px rgba(0,0,0,.3);height:64px;display:flex;align-items:center}
.header-inner{max-width:1280px;margin:0 auto;padding:0 1.25rem;display:flex;align-items:center;gap:1rem;width:100%}
.site-logo{font-family:var(--font-head);font-size:1.05rem;font-weight:700;color:#fff;text-decoration:none;display:flex;align-items:center;gap:.4rem;white-space:nowrap;flex-shrink:0}
.site-logo:hover{color:var(--yellow)}
.logo-icon{font-size:1.3rem}

/* Nav */
.main-nav{flex:1}
.nav-list{display:flex;list-style:none;padding:0;margin:0;gap:.1rem}
.nav-item{position:relative}
.nav-link,.nav-toggle{display:block;padding:.45rem .75rem;color:#fff;text-decoration:none;font-size:.85rem;font-weight:600;border:none;background:none;cursor:pointer;border-radius:var(--radius);transition:background var(--t);font-family:var(--font-body);white-space:nowrap}
.nav-link:hover,.nav-toggle:hover{background:rgba(255,255,255,.18);color:#fff}
.nav-toggle::after{content:' ▾';font-size:.65rem}
.nav-dropdown{display:none;position:absolute;top:100%;left:0;background:var(--white);min-width:240px;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--gray-mid);padding:.4rem 0;z-index:500}
.nav-dropdown a{display:block;padding:.5rem 1.1rem;color:var(--gray-dark);text-decoration:none;font-size:.85rem;transition:background var(--t)}
.nav-dropdown a:hover{background:var(--gray-light);color:var(--blue-dark)}
.nav-item:hover .nav-dropdown,.nav-item:focus-within .nav-dropdown{display:block}

/* Search */
.header-search{margin-left:auto;display:flex}
.search-form{display:flex}
.search-input{padding:.3rem .7rem;border:2px solid rgba(255,255,255,.35);border-radius:var(--radius) 0 0 var(--radius);background:rgba(255,255,255,.1);color:#fff;font-size:.82rem;width:160px;outline:none;font-family:var(--font-body)}
.search-input::placeholder{color:rgba(255,255,255,.6)}
.search-input:focus{border-color:var(--yellow);background:rgba(255,255,255,.18)}
.search-btn{padding:.3rem .65rem;background:var(--yellow);color:#333;border:none;cursor:pointer;border-radius:0 var(--radius) var(--radius) 0;font-weight:700;font-size:.85rem}
.nav-burger{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:#fff;font-size:1.6rem;margin-left:auto}
.mobile-close{display:none;text-align:right;padding:.5rem 1rem;background:none;border:none;color:var(--blue-dark);font-size:1.4rem;cursor:pointer;font-weight:700}

/* ---- Disclaimer Top ---- */
.disclaimer-top{background:var(--yellow);padding:.4rem 1.5rem;text-align:center;font-size:.82rem;color:#333;font-weight:600}
.disclaimer-top a{color:var(--blue-dark)}

/* ---- Breadcrumbs ---- */
.breadcrumbs{background:var(--gray-light);padding:.55rem 1.5rem;font-size:.8rem;color:var(--gray-text);border-bottom:1px solid var(--gray-mid)}
.breadcrumbs a{color:var(--blue-mid);text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.breadcrumbs .sep{margin:0 .4rem}

/* ---- Hero ---- */
.hero{background:linear-gradient(135deg,var(--blue-dark) 0%,var(--blue-mid) 100%);color:#fff;padding:3.5rem 1.5rem 2.5rem;text-align:center}
.hero h1{color:#fff;font-size:2.2rem;margin-bottom:.6rem}
.hero .subtitle{font-size:1.1rem;color:rgba(255,255,255,.88);max-width:660px;margin:0 auto 1.5rem}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ---- Buttons ---- */
.btn{display:inline-block;padding:.6rem 1.4rem;border-radius:var(--radius);font-weight:700;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:all var(--t);font-family:var(--font-body);font-size:.92rem}
.btn-primary{background:var(--blue-mid);color:#fff;border-color:var(--blue-mid)}
.btn-primary:hover{background:var(--blue-dark);color:#fff;border-color:var(--blue-dark)}
.btn-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.8)}
.btn-secondary:hover{background:rgba(255,255,255,.2);color:#fff}
.btn-yellow{background:var(--yellow);color:#333;border-color:var(--yellow)}
.btn-yellow:hover{background:#e6ad00}

/* ---- Notice / Alert Boxes ---- */
.notice-box{border-left:5px solid var(--yellow);background:#FFF8E1;padding:1rem 1.2rem;border-radius:0 var(--radius) var(--radius) 0;margin:1.5rem 0;font-size:.93rem}
.notice-box.red{border-color:var(--red);background:#FFF5F5}
.notice-box.green{border-color:var(--green);background:#F0FFF4}
.notice-box.blue{border-color:var(--blue-mid);background:#EBF4FF}

/* ---- Container / Sections ---- */
.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}
.section{padding:3rem 0}
.section-alt{background:var(--gray-light)}
.section-title{font-size:1.55rem;color:var(--blue-dark);margin-bottom:.3rem}
.section-subtitle{color:var(--gray-text);font-size:.97rem;margin-bottom:1.5rem}
.section-line{width:55px;height:4px;background:var(--yellow);border-radius:2px;margin-bottom:1.5rem}

/* ---- Cards Grid ---- */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.4rem;margin-top:1.4rem}
.card{background:var(--white);border:1px solid var(--gray-mid);border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow);transition:transform var(--t),box-shadow var(--t);display:flex;flex-direction:column}
.card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.15)}
.card-icon{font-size:1.9rem;margin-bottom:.65rem}
.card h3{font-size:1rem;margin-top:0;color:var(--blue-dark)}
.card p{font-size:.87rem;color:var(--gray-text);flex:1}
.card-link{display:inline-block;margin-top:.85rem;color:var(--blue-mid);font-weight:700;text-decoration:none;font-size:.85rem}
.card-link:hover{text-decoration:underline}

/* ---- Stats Bar ---- */
.stats-bar{background:var(--blue-dark);color:#fff;padding:2rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;text-align:center}
.stat-num{font-size:1.8rem;font-weight:700;color:var(--yellow);font-family:var(--font-head)}
.stat-label{font-size:.8rem;color:rgba(255,255,255,.78);margin-top:.2rem}

/* ---- Facts List ---- */
.facts-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:.9rem}
.facts-list li{background:var(--white);border:1px solid var(--gray-mid);border-left:4px solid var(--blue-mid);padding:.8rem 1rem;border-radius:0 var(--radius) var(--radius) 0;font-size:.9rem}
.facts-list li strong{color:var(--blue-dark)}

/* ---- Tables ---- */
.table-wrap{overflow-x:auto;margin:1.2rem 0}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th{background:var(--blue-dark);color:#fff;padding:.7rem 1rem;text-align:left;font-family:var(--font-head);font-weight:700}
td{padding:.6rem 1rem;border-bottom:1px solid var(--gray-mid)}
tr:nth-child(even) td{background:var(--gray-light)}
tr:hover td{background:#EBF4FF}
caption{caption-side:top;text-align:left;font-weight:700;color:var(--blue-dark);padding-bottom:.5rem;font-size:.88rem}

/* ---- Page Layout (with sidebar) ---- */
.page-layout{display:grid;grid-template-columns:1fr 270px;gap:2.5rem;padding:2rem 1.5rem;max-width:1280px;margin:0 auto}
.page-content{min-width:0}
.sidebar-box{background:var(--white);border:1px solid var(--gray-mid);border-radius:var(--radius);padding:1.1rem;margin-bottom:1.4rem;position:sticky;top:80px;box-shadow:var(--shadow)}
.sidebar-box h4{font-size:.9rem;color:var(--blue-dark);margin-bottom:.65rem;border-bottom:2px solid var(--blue-mid);padding-bottom:.35rem}
.toc-list,.related-list{list-style:none;padding:0}
.toc-list li,.related-list li{margin-bottom:.3rem}
.toc-list a,.related-list a{font-size:.83rem;color:var(--blue-mid);text-decoration:none}
.toc-list a:hover,.related-list a:hover{text-decoration:underline}
.related-list li{border-bottom:1px solid var(--gray-mid)}
.related-list a{display:block;padding:.4rem 0}

/* ---- Single-column Page ---- */
.page-single{max-width:880px;margin:0 auto;padding:2.5rem 1.5rem}

/* ---- FAQ ---- */
.faq-search-wrap{margin:1.2rem 0}
.faq-search-wrap input{width:100%;padding:.6rem .9rem;border:2px solid var(--gray-mid);border-radius:var(--radius);font-size:.93rem;font-family:var(--font-body);outline:none;background:var(--white);color:var(--gray-dark)}
.faq-search-wrap input:focus{border-color:var(--blue-mid)}
.faq-category{margin-top:2rem}
.faq-category h2{font-size:1rem;padding:.45rem .85rem;background:var(--blue-dark);color:#fff;border-radius:var(--radius);margin-bottom:.5rem}
.faq-item{border:1px solid var(--gray-mid);border-radius:var(--radius);margin-top:.5rem;overflow:hidden}
.faq-question{width:100%;text-align:left;padding:.9rem 1.1rem;background:var(--white);border:none;cursor:pointer;font-size:.92rem;font-weight:700;color:var(--blue-dark);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-body);transition:background var(--t)}
.faq-question:hover{background:var(--gray-light)}
.faq-icon{font-size:1.1rem;color:var(--blue-mid);flex-shrink:0;transition:transform .25s}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-answer{display:none;padding:.9rem 1.1rem;border-top:1px solid var(--gray-mid);font-size:.9rem;color:var(--gray-dark);background:var(--gray-light)}
.faq-item.open .faq-answer{display:block}
.faq-item.hidden{display:none}

/* ---- Glossary ---- */
.glossary-search-wrap{margin:1.2rem 0}
.glossary-search-wrap input{width:100%;padding:.6rem .9rem;border:2px solid var(--gray-mid);border-radius:var(--radius);font-size:.93rem;font-family:var(--font-body);background:var(--white);color:var(--gray-dark);outline:none}
.glossary-search-wrap input:focus{border-color:var(--blue-mid)}
.alpha-nav{display:flex;flex-wrap:wrap;gap:.3rem;margin:1rem 0}
.alpha-nav a{display:inline-block;width:2rem;height:2rem;line-height:2rem;text-align:center;background:var(--blue-dark);color:#fff;border-radius:4px;font-size:.78rem;font-weight:700;text-decoration:none}
.alpha-nav a:hover{background:var(--blue-mid)}
.glossary-letter{font-size:1.4rem;font-family:var(--font-head);color:var(--blue-dark);padding:.4rem 0 .2rem;border-bottom:3px solid var(--blue-mid);margin:1.5rem 0 .65rem}
.glossary-term{margin-bottom:.75rem;padding:.8rem 1rem;background:var(--white);border:1px solid var(--gray-mid);border-left:4px solid var(--blue-mid);border-radius:0 var(--radius) var(--radius) 0}
.term-name{font-weight:700;color:var(--blue-dark);font-size:.92rem}
.term-def{font-size:.85rem;color:var(--gray-text);margin-top:.2rem}
.glossary-term.hidden{display:none}

/* ---- Contact Form ---- */
.contact-form{max-width:620px}
.form-group{margin-bottom:1.1rem}
.form-group label{display:block;font-weight:700;margin-bottom:.35rem;font-size:.88rem;color:var(--blue-dark)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem .85rem;border:2px solid var(--gray-mid);border-radius:var(--radius);font-size:.92rem;font-family:var(--font-body);background:var(--white);color:var(--gray-dark);outline:none;transition:border-color var(--t)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue-mid)}
.form-group textarea{min-height:120px;resize:vertical}
.form-check{display:flex;align-items:flex-start;gap:.55rem;font-size:.85rem}
.form-check input[type="checkbox"]{margin-top:.2rem;flex-shrink:0}

/* ---- IRS Resources & Special Boxes ---- */
.resources-box{background:var(--gray-light);border:1px solid var(--gray-mid);border-radius:var(--radius);padding:1.1rem 1.4rem;margin:1.4rem 0}
.resources-box h3{color:var(--blue-dark);font-size:.97rem;margin-top:0}
.example-box{background:#EBF4FF;border:2px solid var(--blue-mid);border-radius:var(--radius);padding:1.1rem 1.4rem;margin:1.4rem 0}
.example-box h4{color:var(--blue-dark);margin-top:0}
.penalty-box{background:#FFF5F5;border:2px solid var(--red);border-radius:var(--radius);padding:1rem 1.2rem;margin:1.4rem 0}
.penalty-box h4{color:var(--red);margin-top:0;font-size:.97rem}
.date-badge{display:inline-block;padding:.18rem .55rem;background:var(--blue-dark);color:#fff;border-radius:4px;font-size:.75rem;font-weight:700;font-family:var(--font-head);white-space:nowrap}

/* ---- Mini FAQ (homepage) ---- */
.mini-faq-item{border-bottom:1px solid var(--gray-mid);padding:.8rem 0}
.mini-faq-item h4{font-size:.92rem;color:var(--blue-dark);margin-bottom:.3rem}
.mini-faq-item p{font-size:.85rem;color:var(--gray-text);margin:0}

/* ---- Footer ---- */
.site-footer{background:var(--blue-dark);color:rgba(255,255,255,.85);padding:2.5rem 1.5rem 1.25rem;margin-bottom:48px}
.footer-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem;padding-bottom:1.75rem;border-bottom:1px solid rgba(255,255,255,.18)}
.footer-brand .site-logo{margin-bottom:.65rem;font-size:1rem}
.footer-brand p{font-size:.8rem;color:rgba(255,255,255,.68);line-height:1.6}
.footer-col h4{color:var(--yellow);font-size:.83rem;font-family:var(--font-head);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}
.footer-col ul{list-style:none;padding:0}
.footer-col li{margin-bottom:.35rem}
.footer-col a{color:rgba(255,255,255,.75);text-decoration:none;font-size:.82rem}
.footer-col a:hover{color:#fff;text-decoration:underline}
.footer-bottom{max-width:1280px;margin:1.1rem auto 0;font-size:.76rem;color:rgba(255,255,255,.55);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.footer-bottom a{color:rgba(255,255,255,.65);text-decoration:none}
.footer-bottom a:hover{color:#fff}

/* ---- Legal Disclaimer Sticky Banner ---- */
.legal-banner{position:fixed;bottom:0;left:0;right:0;z-index:900;background:#1A1A2E;color:rgba(255,255,255,.85);padding:.5rem 1.5rem;font-size:.76rem;text-align:center;display:flex;align-items:center;justify-content:center;gap:1rem}
.legal-banner p{margin:0;flex:1}
.legal-banner a{color:var(--yellow)}
.legal-banner-close{background:none;border:none;color:rgba(255,255,255,.55);cursor:pointer;font-size:1.1rem;padding:0 .2rem;flex-shrink:0}
.legal-banner-close:hover{color:#fff}

/* ---- Cookie Banner ---- */
#cookie-banner{position:fixed;bottom:44px;left:0;right:0;z-index:950;background:#2D3748;color:#fff;padding:.9rem 1.5rem;display:flex;align-items:center;gap:1.5rem;justify-content:center;flex-wrap:wrap;box-shadow:0 -4px 16px rgba(0,0,0,.3)}
#cookie-banner.hidden{display:none}
#cookie-banner p{margin:0;font-size:.86rem;flex:1;min-width:180px}
#cookie-banner a{color:var(--yellow)}
.cookie-btns{display:flex;gap:.65rem}
.btn-accept{background:var(--green);color:#fff;border:none;padding:.45rem 1.1rem;border-radius:var(--radius);cursor:pointer;font-weight:700;font-size:.85rem}
.btn-decline{background:transparent;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.4);padding:.45rem .9rem;border-radius:var(--radius);cursor:pointer;font-size:.85rem}

/* ---- Back to Top ---- */
#back-to-top{position:fixed;bottom:62px;right:1.25rem;z-index:800;background:var(--blue-mid);color:#fff;border:none;width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:1.1rem;display:none;box-shadow:var(--shadow);transition:background var(--t)}
#back-to-top:hover{background:var(--blue-dark)}
#back-to-top.visible{display:block}

/* ---- 404 ---- */
.not-found{text-align:center;padding:5rem 1.5rem}
.not-found .big-num{font-size:7rem;color:var(--blue-dark);font-family:var(--font-head);line-height:1}

/* ---- Print ---- */
@media print{
  .site-header,.legal-banner,#cookie-banner,#back-to-top,.disclaimer-top,.nav-burger,.breadcrumbs{display:none!important}
  body{padding-top:0}
  a::after{content:" (" attr(href) ")"}
}

/* ---- Responsive ---- */
/* ---- Ask a Question Section ---- */
.section-ask{background:linear-gradient(135deg,#f0f4ff 0%,var(--gray-light) 100%)}
.ask-box{background:var(--white);border-radius:12px;box-shadow:0 4px 24px rgba(0,48,135,.13);padding:2.5rem 2rem;border-top:5px solid var(--blue-dark)}
.ask-icon{font-size:2.8rem;text-align:center;margin-bottom:.5rem}
.ask-box .section-title{text-align:center;margin-top:0}
.ask-subtitle{text-align:center;color:var(--gray-text);font-size:1.05rem;margin-bottom:1.2rem}
.ask-disclaimer{background:#fffbea;border:1px solid #f0c040;border-radius:var(--radius);padding:.65rem 1rem;font-size:.85rem;margin-bottom:1.5rem;color:#6b5000;line-height:1.5}
.ask-form{display:flex;flex-direction:column;gap:1.1rem}
.ask-field{display:flex;flex-direction:column;gap:.3rem}
.ask-field label{font-weight:600;font-size:.92rem;color:var(--blue-dark)}
.ask-required{color:var(--red)}
.ask-field input[type="text"],
.ask-field input[type="email"],
.ask-field textarea{border:1.5px solid var(--gray-mid);border-radius:var(--radius);padding:.6rem .9rem;font-family:var(--font-body);font-size:.95rem;color:var(--gray-dark);background:var(--gray-light);transition:border-color var(--t),box-shadow var(--t);width:100%}
.ask-field input:focus,.ask-field textarea:focus{outline:none;border-color:var(--blue-mid);box-shadow:0 0 0 3px rgba(0,86,179,.15)}
.ask-field textarea{resize:vertical;min-height:100px}
.ask-check{flex-direction:row;align-items:flex-start;gap:.6rem}
.ask-checkbox-label{display:flex;align-items:flex-start;gap:.55rem;font-size:.88rem;color:var(--gray-text);cursor:pointer;line-height:1.5}
.ask-checkbox-label input[type="checkbox"]{margin-top:.2rem;accent-color:var(--blue-mid);width:16px;height:16px;flex-shrink:0}
.ask-error{background:#fff0f0;border:1px solid var(--red);border-radius:var(--radius);padding:.55rem .9rem;font-size:.88rem;color:var(--red)}
.ask-submit{width:100%;padding:.85rem;font-size:1rem;margin-top:.3rem}
.ask-success{text-align:center;padding:1.5rem 0 .5rem}
.ask-success-icon{font-size:2.5rem;color:var(--green);background:#f0fff4;border-radius:50%;width:64px;height:64px;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-weight:700;font-size:1.8rem}
.ask-success h3{color:var(--green);margin-bottom:.6rem}

@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.page-layout{grid-template-columns:1fr}.sidebar{display:none}}
@media(max-width:768px){
  h1{font-size:1.6rem}
  .hero h1{font-size:1.8rem}
  .main-nav,.header-search{display:none}
  .nav-burger{display:block}
  .main-nav.open{display:flex;flex-direction:column;position:fixed;inset:0;background:var(--white);z-index:2000;padding:1rem;overflow-y:auto}
  .main-nav.open .nav-list{flex-direction:column;gap:0}
  .main-nav.open .nav-toggle,.main-nav.open .nav-link{color:var(--blue-dark);padding:.75rem 1rem;border-bottom:1px solid var(--gray-mid)}
  .main-nav.open .nav-dropdown{display:block;position:static;box-shadow:none;border:none;border-radius:0;padding:0 0 0 1rem;background:var(--gray-light)}
  .mobile-close{display:block}
  .footer-grid{grid-template-columns:1fr}
  .stats-bar{grid-template-columns:1fr 1fr}
  .cards-grid{grid-template-columns:1fr}
  .footer-bottom{justify-content:center;text-align:center}
}
@media(max-width:480px){
  .hero{padding:2.5rem 1rem 2rem}
  .hero h1{font-size:1.45rem}
  .search-input{width:110px}
  .legal-banner{font-size:.7rem}
}
