/* Shared styles for MyStatePension topic / guide pages */
:root{
  --cream:#FAF6ED;--cream-2:#F2ECDD;--forest:#1C4A38;--forest-deep:#123024;--forest-night:#0C1F18;
  --gold:#C6A14F;--gold-soft:#E7CE93;--clay:#B5482E;--sage:#DDE9DC;
  --ink:#16241F;--ink-soft:#4F615A;--line:#E2D9C4;--white:#FFFFFF;
  --radius:16px;--radius-sm:10px;--shadow:0 18px 40px -22px rgba(18,48,36,.45);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;color-scheme:only light;}
body{margin:0;color:var(--ink);background:var(--cream);
  font-family:'Public Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.14;letter-spacing:-.012em;margin:0;}
a{color:inherit;}
img,svg{max-width:100%;}
.wrap{max-width:840px;margin:0 auto;padding:0 24px;}
a:focus-visible,button:focus-visible,.nav-cta:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px;}

/* nav */
.nav{border-bottom:1px solid var(--line);background:var(--cream);position:relative;z-index:2;}
.nav .row{max-width:1120px;margin:0 auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.wordmark{display:flex;align-items:baseline;text-decoration:none;line-height:1;}
.wordmark .mark{font-family:'Fraunces',serif;font-weight:600;font-size:1.3rem;}
.wordmark .mark .a{color:var(--gold);}
.wordmark .mark .b{color:var(--forest);}
.nav-cta{display:inline-flex;align-items:center;gap:8px;background:var(--forest);color:var(--cream);
  text-decoration:none;font-weight:700;font-size:.9rem;padding:9px 18px;border-radius:100px;white-space:nowrap;transition:background .15s,transform .15s;}
.nav-cta:hover{background:#153b2c;transform:translateY(-1px);}
.cta-short{display:none;}

/* breadcrumb */
.crumb{max-width:840px;margin:0 auto;padding:16px 24px 0;font-size:.82rem;color:var(--ink-soft);}
.crumb a{color:var(--clay);text-decoration:none;}
.crumb a:hover{text-decoration:underline;}

/* hero */
.page-hero{padding:14px 0 26px;border-bottom:1px solid var(--line);}
.eyebrow{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--clay);margin-bottom:12px;}
.page-hero h1{font-size:clamp(2rem,5.2vw,2.9rem);color:var(--forest);max-width:20ch;}
.page-hero .intro{font-size:1.08rem;color:var(--ink-soft);margin:16px 0 0;max-width:64ch;}

/* article body */
.prose{padding:30px 0 6px;}
.prose h2{font-size:1.5rem;color:var(--forest);margin:36px 0 10px;}
.prose h3{font-size:1.18rem;color:var(--forest);margin:24px 0 6px;}
.prose h4{font-family:'Public Sans',sans-serif;font-weight:700;font-size:.95rem;color:var(--forest);margin:22px 0 6px;letter-spacing:.01em;}
.prose p{color:var(--ink);max-width:68ch;margin:0 0 14px;}
.prose ul,.prose ol{max-width:66ch;color:var(--ink);padding-left:22px;}
.prose li{margin-bottom:8px;}
.prose a.inline{color:var(--clay);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.prose strong{font-weight:700;}
.src{font-size:.82rem;color:var(--ink-soft);max-width:68ch;}

dl.terms{margin:14px 0 0;}
dl.terms > div{padding:12px 0;border-bottom:1px solid var(--line);}
dl.terms > div:last-child{border-bottom:none;}
dl.terms dt{font-weight:700;color:var(--forest);margin-bottom:3px;}
dl.terms dd{margin:0;color:var(--ink);max-width:66ch;}

.callout{background:#FBEEDF;border:1px solid #EAD3BC;border-radius:var(--radius-sm);padding:14px 16px;margin:16px 0;font-size:.94rem;color:#7a3d1b;max-width:68ch;}
.callout b{color:#5e2f14;}

.addr{border-left:3px solid var(--gold);background:var(--white);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:12px 16px;margin:10px 0;font-size:.94rem;line-height:1.7;}

ul.check-list{list-style:none;margin:12px 0 0;padding:0;max-width:68ch;}
ul.check-list li{position:relative;padding:9px 0 9px 32px;border-bottom:1px dashed var(--line);color:var(--ink);font-size:.94rem;}
ul.check-list li:last-child{border-bottom:none;}
ul.check-list li::before{content:"";position:absolute;left:2px;top:12px;width:15px;height:15px;border:2px solid var(--forest);border-radius:4px;background:var(--white);}

.rate-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:14px 0;}
.rate-table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;}
.rate-table th,.rate-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);font-size:.92rem;vertical-align:top;}
.rate-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:700;}
.rate-table .r{font-weight:600;color:var(--forest);}
.rate-table .yes{color:var(--forest);font-weight:600;}
.rate-table .no{color:var(--clay);font-weight:600;}
@media(max-width:640px){.rate-table{min-width:560px;}}

/* FAQ accordion */
.faq{margin:18px 0 0;}
.faq details{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);margin:0 0 12px;overflow:hidden;}
.faq summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:700;color:var(--forest);font-size:1rem;display:flex;justify-content:space-between;align-items:center;gap:14px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-size:1.35rem;color:var(--gold);font-weight:400;flex:0 0 auto;line-height:1;}
.faq details[open] summary::after{content:"\2013";}
.faq .ans{padding:0 18px 16px;}
.faq .ans p{margin:0;color:var(--ink);max-width:66ch;}

/* ordered step list */
ol.steps{max-width:66ch;color:var(--ink);padding-left:22px;margin:12px 0 0;}
ol.steps li{margin-bottom:12px;}

/* calculator CTA */
.calc-cta{background:linear-gradient(180deg,var(--forest),var(--forest-deep));color:var(--cream);
  border-radius:var(--radius);padding:30px 28px;margin:38px 0;box-shadow:var(--shadow);}
.calc-cta .k{font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-soft);}
.calc-cta h2{color:var(--cream);font-size:1.5rem;margin:8px 0 0;}
.calc-cta p{color:#C4D4CB;margin:10px 0 20px;max-width:54ch;}
.calc-cta .btn{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:#3a2c07;
  text-decoration:none;font-weight:700;font-size:1rem;padding:14px 26px;border-radius:100px;transition:background .15s,transform .15s;}
.calc-cta .btn:hover{background:#d3b263;transform:translateY(-2px);}

/* related topics */
.related{margin:42px 0 12px;}
.related h2{font-size:1.3rem;color:var(--forest);margin-bottom:16px;}
.related-grid{display:grid;grid-template-columns:1fr;gap:14px;}
@media(min-width:620px){.related-grid{grid-template-columns:1fr 1fr;}}
.related-card{display:block;text-decoration:none;border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:16px 18px;background:var(--white);transition:border-color .15s,transform .15s;}
.related-card:hover{border-color:var(--gold);transform:translateY(-2px);}
.related-card strong{display:block;color:var(--forest);font-family:'Fraunces',serif;font-weight:600;font-size:1.02rem;}
.related-card span{display:block;color:var(--ink-soft);font-size:.86rem;margin-top:3px;}

/* footer */
.foot{background:linear-gradient(180deg,var(--forest-deep),var(--forest-night));color:#CFDDD5;margin-top:44px;}
.foot-inner{max-width:1120px;margin:0 auto;padding:52px 24px 40px;}
.foot .wordmark .mark .b{color:var(--cream);}
.foot-links{display:flex;flex-wrap:wrap;gap:14px 26px;margin:20px 0 0;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.1);}
.foot-links a{font-size:.9rem;text-decoration:none;color:#CFDDD5;border-bottom:1px solid transparent;}
.foot-links a:hover{border-bottom-color:var(--gold);}
.disclaimer{margin-top:18px;font-size:.8rem;color:#8FA79C;max-width:82ch;line-height:1.6;}
.disclaimer b{color:#B7C7BE;}

@media(max-width:560px){.cta-long{display:none;}.cta-short{display:inline;}.page-hero{padding-top:8px;}}
