/* SeniorShieldTools — senior-first design: big text, huge buttons, high contrast.
   Zero frameworks, zero external requests. Pure speed. */
:root{
  --navy:#16294d; --navy-dark:#0f1d38; --gold:#e8a020; --gold-dark:#c98412;
  --green:#1e7e34; --red:#b3261e; --amber-bg:#fff7e6;
  --text:#20242b; --muted:#5a6270; --line:#dfe4ec; --card:#ffffff; --page:#f6f8fb;
  --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:20px; line-height:1.65; color:var(--text); background:var(--page);
  -webkit-text-size-adjust:100%;
}
h1,h2,h3{line-height:1.25; color:var(--navy); margin:0 0 .6em}
h1{font-size:2.1rem} h2{font-size:1.6rem} h3{font-size:1.25rem}
p{margin:0 0 1em}
a{color:#0b5bd3}
img,svg{max-width:100%}
.wrap{max-width:960px; margin:0 auto; padding:0 20px}

/* Header */
.site-header{background:var(--navy); color:#fff; padding:14px 0; position:sticky; top:0; z-index:50}
.site-header .wrap{display:flex; align-items:center; gap:14px; flex-wrap:wrap}
.brand{display:flex; align-items:center; gap:12px; color:#fff; text-decoration:none; font-weight:800; font-size:1.35rem}
.brand svg{flex:none}
.main-nav{margin-left:auto; display:flex; gap:6px; flex-wrap:wrap}
.main-nav a{color:#fff; text-decoration:none; padding:12px 14px; border-radius:10px; font-size:1.05rem}
.main-nav a:hover,.main-nav a:focus{background:rgba(255,255,255,.15); outline:none}
.main-nav a:focus-visible{outline:3px solid var(--gold)}

/* Hero */
.hero{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-dark) 100%); color:#fff; padding:56px 0 64px; text-align:center}
.hero h1{color:#fff; font-size:2.4rem; margin-bottom:.4em}
.hero p.lead{font-size:1.3rem; max-width:700px; margin:0 auto 1.4em; color:#dbe4f2}
.hero-badges{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:22px; font-size:1rem; color:#cdd8ea}
.hero-badges span{background:rgba(255,255,255,.1); padding:8px 16px; border-radius:999px}

/* Big buttons */
.btn{display:inline-block; border:none; cursor:pointer; text-decoration:none;
  font-size:1.25rem; font-weight:700; padding:18px 34px; border-radius:var(--radius);
  min-height:60px; line-height:1.3; transition:transform .08s ease}
.btn:active{transform:scale(.98)}
.btn:focus-visible{outline:4px solid #0b5bd3; outline-offset:2px}
.btn-gold{background:var(--gold); color:#241a02}
.btn-gold:hover{background:var(--gold-dark)}
.btn-navy{background:var(--navy); color:#fff}
.btn-navy:hover{background:var(--navy-dark)}
.btn-green{background:var(--green); color:#fff}
.btn-outline{background:#fff; color:var(--navy); border:3px solid var(--navy)}
.btn-big{font-size:1.4rem; padding:22px 44px; width:100%; max-width:520px}

/* Tool cards */
.section{padding:52px 0}
.section-title{text-align:center; margin-bottom:8px}
.section-sub{text-align:center; color:var(--muted); max-width:720px; margin:0 auto 34px; font-size:1.1rem}
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:22px}
.card{background:var(--card); border:2px solid var(--line); border-radius:var(--radius); padding:30px 26px; text-align:center; display:flex; flex-direction:column; gap:12px}
.card:hover{border-color:var(--gold)}
.card .icon{font-size:3rem}
.card h3{margin:0}
.card p{color:var(--muted); font-size:1.05rem; flex:1}
.card .btn{margin-top:6px}

/* Tool workspace */
.toolbox{background:#fff; border:2px solid var(--line); border-radius:var(--radius); padding:34px 30px; margin:26px 0}
label.big-label{display:block; font-weight:700; font-size:1.2rem; margin:0 0 10px; color:var(--navy)}
textarea.big-input, input.big-input, select.big-input{
  width:100%; font-size:1.2rem; padding:16px; border:3px solid var(--line); border-radius:12px; font-family:inherit; color:var(--text)}
textarea.big-input{min-height:180px; resize:vertical}
textarea.big-input:focus, input.big-input:focus, select.big-input:focus{border-color:var(--navy); outline:3px solid rgba(22,41,77,.2)}
.hint{color:var(--muted); font-size:1rem; margin-top:8px}
.result{margin-top:26px; border-radius:var(--radius); padding:26px; display:none}
.result.show{display:block}
.result.danger{background:#fdecea; border:3px solid var(--red)}
.result.safe{background:#e6f4ea; border:3px solid var(--green)}
.result.unsure{background:var(--amber-bg); border:3px solid var(--gold-dark)}
.result h3{margin-top:0; font-size:1.5rem}
.verdict{display:inline-block; font-size:1.3rem; font-weight:800; padding:10px 22px; border-radius:999px; margin-bottom:14px}
.verdict.bad{background:var(--red); color:#fff}
.verdict.good{background:var(--green); color:#fff}
.verdict.maybe{background:var(--gold); color:#241a02}
.redflags{background:#fff; border-radius:10px; padding:18px 20px; margin:16px 0}
.redflags li{margin-bottom:8px}
.steps{counter-reset:step; list-style:none; padding:0}
.steps li{counter-increment:step; margin:0 0 14px; padding-left:52px; position:relative}
.steps li::before{content:counter(step); position:absolute; left:0; top:0; width:38px; height:38px;
  background:var(--navy); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800}
.disclaimer{background:#f1f3f7; border-left:6px solid var(--navy); padding:16px 20px; border-radius:0 10px 10px 0; font-size:1rem; color:var(--muted); margin-top:26px}

/* Guides */
.guide-list{display:grid; gap:16px}
.guide-item{background:#fff; border:2px solid var(--line); border-radius:var(--radius); padding:22px 24px; display:flex; gap:18px; align-items:center; text-decoration:none; color:inherit}
.guide-item:hover{border-color:var(--gold)}
.guide-item .gicon{font-size:2.2rem; flex:none}
.guide-item h3{margin:0 0 4px; font-size:1.2rem}
.guide-item p{margin:0; color:var(--muted); font-size:1rem}
.article{background:#fff; border:2px solid var(--line); border-radius:var(--radius); padding:38px 34px; margin:26px 0}
.article ul li,.article ol li{margin-bottom:10px}
.stat-band{background:var(--navy); color:#fff; padding:40px 0; text-align:center}
.stat-band .num{font-size:2.6rem; font-weight:800; color:var(--gold)}
.stat-band p{color:#cdd8ea; max-width:640px; margin:8px auto 0}

/* FAQ */
.faq{margin:20px 0}
.faq details{background:#fff; border:2px solid var(--line); border-radius:12px; padding:18px 22px; margin-bottom:12px; font-size:1.1rem}
.faq summary{font-weight:700; cursor:pointer; color:var(--navy); font-size:1.2rem}

/* Calculators */
.calc-tabs{display:flex; gap:10px; flex-wrap:wrap; margin:20px 0}
.calc-tab{border:3px solid var(--line); background:#fff; border-radius:12px; padding:14px 20px; font-size:1.1rem; font-weight:700; cursor:pointer; color:var(--navy)}
.calc-tab.active{border-color:var(--navy); background:var(--navy); color:#fff}
.calc-panel{display:none}
.calc-panel.active{display:block}
.field{margin:0 0 18px}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.calc-out{background:#eef4ff; border:3px solid var(--navy); border-radius:12px; padding:24px; margin-top:20px; font-size:1.25rem; display:none}
.calc-out.show{display:block}
.calc-out strong{font-size:1.6rem; color:var(--navy)}

/* Footer */
.site-footer{background:var(--navy-dark); color:#cdd8ea; padding:44px 0 30px; margin-top:40px; font-size:1.05rem}
.site-footer .wrap{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:28px}
.site-footer h4{color:#fff; margin:0 0 12px; font-size:1.15rem}
.site-footer a{color:#cdd8ea; text-decoration:none; display:block; padding:6px 0}
.site-footer a:hover{color:#fff; text-decoration:underline}
.copyright{text-align:center; padding-top:26px; margin-top:26px; border-top:1px solid rgba(255,255,255,.15); font-size:.95rem; color:#93a1b8}

.skip-link{position:absolute; left:-9999px}
.skip-link:focus{left:12px; top:12px; background:#fff; color:var(--navy); padding:12px 18px; z-index:100; border-radius:8px; font-weight:700}
@media (max-width:640px){
  body{font-size:19px}
  h1{font-size:1.8rem} .hero h1{font-size:2rem}
  .toolbox{padding:24px 18px}
  .article{padding:26px 20px}
  .field-row{grid-template-columns:1fr}
  .main-nav{margin-left:0}
}
@media print{ .site-header,.site-footer,.btn,.hero-badges{display:none} }
