:root {
  color-scheme: light;
  --ink: #172a28;
  --muted: #657572;
  --subtle: #84928f;
  --primary: #176b5b;
  --primary-dark: #105346;
  --primary-soft: #e8f4ef;
  --accent: #d6f36b;
  --surface: #ffffff;
  --background: #f6f8f5;
  --border: #e3eae5;
  --danger: #b42318;
  --radius: 15px;
  --shadow: 0 16px 42px rgba(25, 55, 46, .07);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; background: var(--background); color: var(--ink); font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 14px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
a { color: var(--primary); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--primary-dark); }
button, input { font: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid rgba(23, 107, 91, .25); outline-offset: 3px; }
.skip-link { position: absolute; top: -60px; left: 16px; z-index: 20; padding: 10px 14px; background: #fff; border-radius: 10px; }
.skip-link:focus { top: 10px; }
.site-header { position: sticky; top: 0; z-index: 10; background: rgba(255,255,255,.92); border-bottom: 1px solid rgba(224,233,227,.9); backdrop-filter: blur(14px); }
.header-inner { width: min(1160px, calc(100% - 40px)); min-height: 72px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; font-weight: 800; letter-spacing: -.035em; }
.brand:hover { color: var(--primary); }
.brand-mark { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; background: var(--primary); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: -.04em; }
.brand-name { font-size: 16px; }
.header-nav { display: flex; align-items: center; gap: 28px; }
.header-nav a { color: #52615d; font-size: 12px; font-weight: 650; text-decoration: none; }
.header-nav a:hover { color: var(--primary); }
.page-shell { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.hero { position: relative; overflow: hidden; min-height: 316px; margin: 28px 0 22px; padding: 52px 54px; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-radius: 24px; background: linear-gradient(115deg, #103e36 0%, #176b5b 62%, #2b8069 100%); color: white; }
.hero-copy-wrap { position: relative; z-index: 1; max-width: 690px; }
.eyebrow { margin: 0 0 12px; color: var(--primary); font-size: 10px; font-weight: 800; letter-spacing: .13em; line-height: 1.5; text-transform: uppercase; }
.hero .eyebrow { color: #d7eea4; }
.eyebrow-dot { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: var(--accent); vertical-align: 1px; }
h1, h2, h3, p { overflow-wrap: anywhere; }
.hero h1 { max-width: 650px; margin: 0; color: #fff; font-size: clamp(32px, 4.4vw, 48px); font-weight: 800; letter-spacing: -.055em; line-height: 1.1; }
.hero-copy { max-width: 630px; margin: 17px 0 0; color: rgba(255,255,255,.78); font-size: 14px; line-height: 1.75; }
.hero-points { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 23px; color: rgba(255,255,255,.9); font-size: 11px; font-weight: 600; }
.hero-points span span { color: var(--accent); font-weight: 900; margin-right: 4px; }
.hero-art { position: relative; flex: 0 0 275px; height: 218px; display: grid; place-items: center; }
.art-orbit { position: absolute; border: 1px solid rgba(230,250,211,.2); border-radius: 50%; }
.orbit-one { width: 250px; height: 190px; transform: rotate(-20deg); }
.orbit-two { width: 210px; height: 230px; transform: rotate(35deg); }
.art-card { position: relative; z-index: 2; width: 222px; padding: 20px; border: 1px solid rgba(255,255,255,.3); border-radius: 16px; background: rgba(255,255,255,.96); color: var(--ink); box-shadow: 0 20px 55px rgba(0,0,0,.18); transform: rotate(2deg); }
.art-card-label { display: block; color: var(--muted); font-size: 10px; font-weight: 650; }
.art-card strong { display: block; margin-top: 5px; color: var(--primary); font-size: 24px; letter-spacing: -.05em; }
.art-line { height: 7px; margin: 14px 0; overflow: hidden; border-radius: 20px; background: #e9efeb; }
.art-line span { display: block; width: 78%; height: 100%; border-radius: inherit; background: #a9d978; }
.art-small { display: flex; justify-content: space-between; gap: 8px; margin-top: 8px; color: #64736e; font-size: 9px; }
.art-small b { color: var(--ink); }
.art-bubble { position: absolute; z-index: 3; display: grid; place-items: center; width: 47px; height: 47px; border: 1px solid rgba(255,255,255,.45); border-radius: 15px; background: #dff3a9; color: #24513c; font-size: 11px; font-weight: 800; box-shadow: 0 12px 30px rgba(0,0,0,.14); }
.bubble-a { top: 8px; right: 3px; transform: rotate(10deg); }.bubble-b { bottom: 5px; left: 5px; background: #f4f7e9; transform: rotate(-12deg); }
.calculator-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(310px, .85fr); align-items: start; gap: 18px; }
.surface { min-width: 0; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.calculator-card { padding: clamp(21px, 3vw, 30px); }
.section-heading { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 23px; }
.step-icon { flex: 0 0 37px; width: 37px; height: 37px; display: grid; place-items: center; border-radius: 12px; background: var(--primary-soft); color: var(--primary); font-size: 11px; font-weight: 800; }
.section-heading h2, .result-card h2 { margin: 0; font-size: 18px; font-weight: 800; letter-spacing: -.035em; line-height: 1.35; }
.section-heading p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
fieldset { min-width: 0; margin: 0; padding: 0 0 22px; border: 0; }
fieldset + fieldset { padding-top: 20px; border-top: 1px solid var(--border); }
legend { width: 100%; margin-bottom: 15px; color: #314540; font-size: 12px; font-weight: 800; }
legend span { display: inline-grid; place-items: center; width: 22px; height: 22px; margin-right: 5px; border-radius: 7px; background: #f0f5f1; color: var(--primary); font-size: 10px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px 13px; }
.field { display: flex; min-width: 0; flex-direction: column; gap: 6px; }
.field.full { grid-column: 1 / -1; }
.field label { color: #354842; font-size: 11px; font-weight: 700; }
.field label em { color: #9b6355; font-size: 10px; font-style: normal; font-weight: 500; }
.field small { color: var(--subtle); font-size: 10px; line-height: 1.5; }
.field input { width: 100%; min-width: 0; height: 44px; padding: 10px 12px; border: 1px solid #dce6df; border-radius: var(--radius); background: #fff; color: var(--ink); outline: none; font-size: 13px; transition: border-color .15s ease, box-shadow .15s ease; }
.field input:hover { border-color: #b9cbc0; }.field input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(23,107,91,.10); }
.money-input { position: relative; }.money-input > span { position: absolute; top: 50%; left: 12px; color: #778680; font-size: 12px; transform: translateY(-50%); pointer-events: none; }.money-input input { padding-left: 38px; }
.toggle-row { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 68px; padding: 12px 14px; border: 1px solid var(--border); border-radius: var(--radius); background: #fbfdfb; cursor: pointer; }
.toggle-text { display: flex; flex-direction: column; gap: 3px; }.toggle-text strong { color: #354842; font-size: 11px; }.toggle-text small { color: var(--subtle); font-size: 10px; font-weight: 450; }
.toggle-row input { position: absolute; width: 1px; height: 1px; opacity: 0; }.toggle-ui { flex: 0 0 40px; width: 40px; height: 23px; padding: 3px; border-radius: 30px; background: #d7e1da; transition: background .2s ease; }.toggle-ui::after { content: ""; display: block; width: 17px; height: 17px; border-radius: 50%; background: white; box-shadow: 0 1px 3px rgba(0,0,0,.18); transition: transform .2s ease; }.toggle-row input:checked + .toggle-ui { background: var(--primary); }.toggle-row input:checked + .toggle-ui::after { transform: translateX(17px); }.toggle-row input:focus-visible + .toggle-ui { outline: 3px solid rgba(23,107,91,.25); outline-offset: 3px; }
.form-error { margin: 0 0 14px; padding: 11px 12px; border: 1px solid #f0b5b0; border-radius: 12px; background: #fff4f2; color: var(--danger); font-size: 11px; }
.form-actions { display: flex; gap: 10px; margin-top: 5px; }
.button { min-height: 45px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 17px; border: 1px solid transparent; border-radius: var(--radius); font-size: 12px; font-weight: 750; text-decoration: none; cursor: pointer; transition: background .15s ease, border-color .15s ease, transform .15s ease; }.button:active { transform: translateY(1px); }
.button-primary { background: var(--primary); color: #fff; }.button-primary:hover { background: var(--primary-dark); color: #fff; }.form-actions .button-primary { flex: 1; }
.button-quiet { border-color: var(--border); background: #fafcfb; color: #53645d; }.button-quiet:hover,.button-outline:hover { background: #edf5ef; }
.button-outline { width: 100%; margin-top: 17px; border-color: #cbdcd1; background: white; color: var(--primary); }
.privacy-note { display: flex; align-items: flex-start; gap: 7px; margin: 15px 0 0; color: var(--subtle); font-size: 10px; line-height: 1.5; }.privacy-note span { color: var(--primary); font-size: 15px; line-height: 1; }
.result-card { position: sticky; top: 92px; overflow: hidden; }
.result-top { padding: 25px 26px 21px; background: linear-gradient(140deg, #edf7f0 0%, #fbfdf9 100%); border-bottom: 1px solid var(--border); }
.result-kicker { color: var(--primary); font-size: 9px; font-weight: 850; letter-spacing: .14em; }.result-card h2 { margin-top: 5px; }.net-value { margin: 12px 0 0; color: var(--primary); font-size: clamp(31px, 4vw, 43px); font-weight: 850; letter-spacing: -.06em; line-height: 1.15; overflow-wrap: anywhere; }.result-summary { min-height: 35px; margin: 8px 0 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.net-bar { height: 8px; margin-top: 21px; overflow: hidden; border-radius: 30px; background: #dfe9e1; }.net-bar span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #176b5b, #a6ce70); transition: width .35s ease; }.bar-labels { display: flex; justify-content: space-between; margin-top: 7px; color: var(--subtle); font-size: 9px; }.bar-labels strong { color: var(--primary); }
.result-content { padding: 21px 25px 24px; }.result-content h3 { margin: 0 0 14px; font-size: 12px; font-weight: 800; }.result-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 10px 0; border-bottom: 1px solid #eef2ee; color: #66746e; font-size: 10px; }.result-row strong { color: #273b34; white-space: nowrap; font-size: 11px; font-weight: 750; }.result-row strong.deduction { color: #a05246; }.result-total-row { margin-top: 3px; border-bottom: 0; color: #344940; font-weight: 800; }.result-total-row strong { color: #344940; font-size: 12px; }
.calculation-note { margin-top: 13px; padding: 12px; border-radius: 12px; background: #f6f9f6; color: #697971; font-size: 9px; line-height: 1.6; }.calculation-note ul { margin: 0; padding-left: 16px; }.calculation-note li + li { margin-top: 5px; }
.result-empty { padding: 27px 24px 24px; text-align: center; }.empty-illustration { position: relative; width: 78px; height: 68px; margin: 0 auto 13px; display: grid; place-items: center; border: 1px solid #dcebe0; border-radius: 18px; background: #f7fbf7; color: var(--primary); font-size: 20px; font-weight: 800; }.empty-illustration i,.empty-illustration b { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: #b6d88c; }.empty-illustration i { top: -5px; right: 12px; }.empty-illustration b { bottom: -4px; left: 12px; width: 7px; height: 7px; }.result-empty h3 { margin: 0; font-size: 12px; }.result-empty p { max-width: 245px; margin: 7px auto 0; color: var(--subtle); font-size: 10px; line-height: 1.6; }.result-disclaimer { margin: 0; padding: 12px 17px; border-top: 1px solid var(--border); background: #fbfcfb; color: #89958f; font-size: 9px; line-height: 1.5; }
.trust-strip { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin: 20px 0 70px; padding: 19px 22px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; }.trust-strip > div { display: flex; align-items: center; gap: 11px; }.trust-icon { flex: 0 0 32px; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: var(--primary-soft); color: var(--primary); font-size: 9px; font-weight: 850; }.trust-strip p { display: flex; flex-direction: column; gap: 2px; margin: 0; }.trust-strip strong { font-size: 10px; }.trust-strip small { color: var(--subtle); font-size: 9px; line-height: 1.4; }
.content-article { max-width: 900px; margin: 0 auto 75px; }.article-intro { max-width: 740px; margin-bottom: 30px; }.article-intro h2,.content-article h2 { margin: 0 0 12px; font-size: clamp(24px,3vw,32px); font-weight: 800; letter-spacing: -.045em; line-height: 1.2; }.article-intro > p:last-child { color: #62716a; font-size: 13px; line-height: 1.8; }.article-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin-bottom: 46px; }.article-grid section { padding: 20px 21px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; }.article-grid h3,.table-section h3,.example-section h3 { margin: 0 0 8px; font-size: 13px; }.article-grid p,.example-section p { margin: 0; color: #65736c; font-size: 11px; line-height: 1.8; }
.table-section { margin: 0 0 44px; padding: 26px; border: 1px solid var(--border); border-radius: 18px; background: #fff; }.table-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 25px; }.table-heading .eyebrow { margin-bottom: 6px; }.table-heading h2 { margin: 0; font-size: 23px; }.year-tag { padding: 6px 11px; border-radius: 30px; background: var(--primary-soft); color: var(--primary); font-size: 10px; font-weight: 800; }.table-section h3 { margin-top: 22px; }.table-caption { margin: -2px 0 11px; color: var(--muted); font-size: 10px; }.table-scroll { overflow-x: auto; border: 1px solid var(--border); border-radius: 12px; }table { width: 100%; border-collapse: collapse; text-align: left; font-size: 10px; }th,td { padding: 11px 13px; border-bottom: 1px solid #edf1ed; }th { background: #f5f8f5; color: #485a51; font-size: 9px; font-weight: 800; }td { color: #617169; }tbody tr:last-child td { border-bottom: 0; }.info-callout { margin-top: 20px; padding: 14px 16px; border-left: 3px solid #9fc96d; border-radius: 0 12px 12px 0; background: #f6faef; color: #56684f; font-size: 10px; line-height: 1.7; }.source-line { margin: 15px 0 0; color: var(--subtle); font-size: 9px; line-height: 1.7; }
.example-section { margin: 0 0 44px; padding: 23px 25px; border-radius: 17px; background: #edf5ef; }.example-section h2 { font-size: 19px; }.example-section p + p { margin-top: 9px; }
.faq-section { max-width: 800px; margin: 0 auto; }.faq-section h2 { margin-bottom: 18px; }.faq-section details { padding: 15px 0; border-bottom: 1px solid var(--border); }.faq-section summary { position: relative; padding-right: 25px; color: #32463e; font-size: 11px; font-weight: 750; cursor: pointer; list-style: none; }.faq-section summary::-webkit-details-marker { display: none; }.faq-section summary::after { content: "+"; position: absolute; top: -3px; right: 2px; color: var(--primary); font-size: 19px; font-weight: 500; }.faq-section details[open] summary::after { content: "−"; }.faq-section details p { max-width: 740px; margin: 10px 0 0; color: #697871; font-size: 10px; line-height: 1.8; }
.bottom-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0 0 65px; padding: 27px 30px; border-radius: 18px; background: #163f36; color: #fff; }.bottom-cta .eyebrow { margin-bottom: 5px; color: #c9e78e; }.bottom-cta h2 { margin: 0; font-size: 20px; letter-spacing: -.035em; }.bottom-cta p:not(.eyebrow) { margin: 6px 0 0; color: rgba(255,255,255,.7); font-size: 11px; }.bottom-cta .button { flex: 0 0 auto; background: var(--accent); color: #24452e; }.bottom-cta .button:hover { background: #e4f8ad; color: #24452e; }
.site-footer { background: #fff; border-top: 1px solid var(--border); }.footer-inner { width: min(1160px,calc(100% - 40px)); margin: 0 auto; padding: 38px 0 30px; display: grid; grid-template-columns: minmax(240px,1.5fr) repeat(2,minmax(140px,.7fr)); gap: 35px; }.footer-brand p { max-width: 310px; margin: 12px 0 0; color: var(--subtle); font-size: 10px; line-height: 1.7; }.footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }.footer-links strong { margin-bottom: 3px; font-size: 10px; }.footer-links a { color: #718078; font-size: 10px; text-decoration: none; }.footer-links a:hover { color: var(--primary); }.footer-bottom { width: min(1160px,calc(100% - 40px)); margin: 0 auto; padding: 14px 0 18px; display: flex; justify-content: space-between; gap: 18px; border-top: 1px solid #edf1ed; color: #95a099; font-size: 9px; }
/* Institutional pages */
.page-hero { margin: 28px 0 20px; padding: 37px 40px; border-radius: 20px; background: #eaf4ed; }.page-hero h1 { margin: 0; font-size: clamp(28px,4vw,38px); letter-spacing: -.05em; line-height: 1.2; }.page-hero p { max-width: 700px; margin: 10px 0 0; color: #61736a; font-size: 12px; }.page-content { max-width: 850px; min-height: 380px; margin: 0 auto 65px; padding: clamp(22px,4vw,38px); border: 1px solid var(--border); border-radius: 18px; background: #fff; }.page-content h2 { margin: 25px 0 8px; font-size: 17px; letter-spacing: -.025em; }.page-content h2:first-child { margin-top: 0; }.page-content p,.page-content li { color: #617169; font-size: 12px; line-height: 1.85; }.page-content ul { padding-left: 22px; }.page-content .updated { color: var(--subtle); font-size: 10px; }
[hidden] { display: none !important; }
@media (max-width: 900px) { .hero { padding: 42px 36px; }.hero-art { flex-basis: 230px; transform: scale(.9); }.calculator-layout { grid-template-columns: minmax(0,1.05fr) minmax(290px,.95fr); }.result-top { padding: 22px; }.result-content { padding: 19px 21px; } }
@media (max-width: 720px) { .header-inner,.page-shell,.footer-inner,.footer-bottom { width: min(100% - 28px,560px); }.header-inner { min-height: 64px; }.header-nav { gap: 14px; }.header-nav a { font-size: 10px; }.header-nav a:nth-child(3) { display: none; }.brand-name { font-size: 14px; }.hero { min-height: auto; margin-top: 16px; padding: 34px 25px; border-radius: 19px; }.hero-art { display: none; }.hero h1 { font-size: clamp(30px,8vw,39px); }.hero-copy { font-size: 12px; }.hero-points { gap: 8px 14px; font-size: 9px; }.calculator-layout { grid-template-columns: 1fr; }.result-card { position: static; }.trust-strip { grid-template-columns: 1fr; gap: 14px; margin-bottom: 50px; padding: 17px; }.content-article { margin-bottom: 52px; }.article-grid { grid-template-columns: 1fr; }.table-section { padding: 20px 16px; }.table-heading h2 { font-size: 19px; }.bottom-cta { align-items: flex-start; flex-direction: column; margin-bottom: 48px; padding: 23px; }.footer-inner { grid-template-columns: 1fr 1fr; gap: 25px 18px; }.footer-brand { grid-column: 1 / -1; }.footer-bottom { flex-direction: column; gap: 5px; }.page-hero { padding: 29px 23px; } }
@media (max-width: 420px) { .form-grid { grid-template-columns: 1fr; }.field.full { grid-column: auto; }.form-actions { flex-direction: column; }.button-quiet { min-height: 40px; }.header-nav a:first-child { display: none; }.footer-inner { grid-template-columns: 1fr 1fr; } }
@media print { .site-header,.hero,.calculator-card,.trust-strip,.content-article,.bottom-cta,.site-footer,.result-disclaimer,.result-empty,.button { display: none !important; }.page-shell { width: 100%; }.calculator-layout { display: block; }.result-card { position: static; border: 0; box-shadow: none; }.result-top { padding: 0 0 14px; }.result-content { display: block !important; padding: 10px 0; }.net-value { font-size: 32px; }body { background: #fff; } }


/* Blog editorial layout */
.blog-shell { padding-bottom: 58px; }
.breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:22px 0 20px; color:#91a097; font-size:10px; }
.breadcrumbs a { color:#668075; text-decoration:none; }.breadcrumbs a:hover { color:var(--primary); }
.blog-index-hero { display:flex; align-items:center; justify-content:space-between; gap:28px; margin:24px 0 36px; padding:clamp(28px,5vw,52px); min-height:245px; border-radius:22px; background:linear-gradient(120deg,#eaf4ed 0%,#f3f7e9 100%); overflow:hidden; }
.blog-index-hero > div:first-child { max-width:690px; }.blog-index-hero h1 { margin:0; color:#173b32; font-size:clamp(30px,4.8vw,46px); letter-spacing:-.055em; line-height:1.1; }.blog-index-hero p:not(.eyebrow) { max-width:670px; margin:13px 0 20px; color:#60736a; font-size:13px; line-height:1.8; }
.blog-index-art { position:relative; flex:0 0 210px; width:210px; height:175px; border:1px solid rgba(34,85,63,.12); border-radius:22px; background:#fff; box-shadow:0 18px 45px rgba(33,73,49,.09); transform:rotate(4deg); }.blog-index-art span { position:absolute; left:24px; top:22px; color:#1c5946; font-size:37px; font-weight:800; }.blog-index-art b,.blog-index-art i,.blog-index-art small { position:absolute; right:20px; padding:7px 12px; border-radius:9px; font-style:normal; font-size:10px; font-weight:800; }.blog-index-art b { top:24px; background:#edf5e9; color:#355e41; }.blog-index-art i { top:67px; background:#eff3f0; color:#31594e; }.blog-index-art small { top:112px; left:22px; right:auto; background:#dff0c2; color:#375834; font-size:12px; }
.blog-listing { margin:0 0 55px; }.blog-section-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:17px; }.blog-section-heading .eyebrow { margin-bottom:5px; }.blog-section-heading h2 { margin:0; color:#203c31; font-size:24px; letter-spacing:-.04em; }.blog-section-heading > span { color:#809087; font-size:10px; }
.blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }.blog-card { display:flex; flex-direction:column; min-height:235px; padding:21px; border:1px solid var(--border); border-radius:16px; background:#fff; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }.blog-card:hover { transform:translateY(-2px); border-color:#cfddd2; box-shadow:0 12px 30px rgba(30,65,46,.06); }.blog-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }.blog-category { display:inline-flex; width:max-content; padding:6px 9px; border-radius:30px; background:#edf5e9; color:#42634a; font-size:9px; font-weight:750; }.blog-card-read { color:#8a9990; font-size:9px; }.blog-card h2 { margin:16px 0 9px; color:#263e32; font-size:16px; letter-spacing:-.025em; line-height:1.4; }.blog-card h2 a { color:inherit; text-decoration:none; }.blog-card h2 a:hover { color:var(--primary); }.blog-card p { margin:0 0 17px; color:#718078; font-size:10px; line-height:1.75; }.blog-read-more { display:inline-flex; gap:8px; align-items:center; margin-top:auto; color:#225e48; font-size:10px; font-weight:800; text-decoration:none; }
.blog-article-hero { margin:18px 0 28px; padding:clamp(25px,4vw,43px); border:1px solid #e5ece6; border-radius:20px; background:linear-gradient(125deg,#f2f7f1,#f8f8f0); }.blog-article-hero h1 { max-width:900px; margin:12px 0 12px; color:#183b31; font-size:clamp(29px,4.7vw,43px); line-height:1.13; letter-spacing:-.055em; }.blog-lead { max-width:850px; margin:0; color:#5f7468; font-size:14px; line-height:1.8; }.blog-meta { display:flex; flex-wrap:wrap; gap:9px 17px; margin-top:22px; color:#7c8d82; font-size:9px; }.blog-meta span + span::before { content:'•'; margin-right:17px; color:#adc0b1; }
.blog-article-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:28px; align-items:start; }.blog-article-body { min-width:0; padding:clamp(22px,4vw,38px); border:1px solid var(--border); border-radius:18px; background:#fff; }.blog-opening { margin-top:0; color:#40594c !important; font-size:14px !important; font-weight:600; line-height:1.85 !important; }.blog-article-body h2 { margin:28px 0 9px; color:#244437; font-size:19px; line-height:1.35; letter-spacing:-.03em; }.blog-article-body h2:first-of-type { margin-top:20px; }.blog-article-body p,.blog-article-body li { color:#63746b; font-size:12px; line-height:1.9; }.blog-article-body p { margin:8px 0 13px; }.blog-article-body ul,.blog-article-body ol { padding-left:22px; margin:9px 0 17px; }.blog-article-body li { padding-left:3px; margin:5px 0; }.blog-article-body a { color:#24694d; text-decoration:underline; text-decoration-color:#b8d2bd; text-underline-offset:3px; }.blog-article-body a:hover { color:#153d30; }.blog-callout { margin:20px 0; padding:16px 18px; border-left:3px solid #85a77a; border-radius:0 12px 12px 0; background:#f3f7f0; color:#536b5b; font-size:11px; line-height:1.8; }.blog-callout strong { color:#284936; }.blog-table-wrap { width:100%; margin:15px 0 20px; overflow-x:auto; border:1px solid var(--border); border-radius:12px; }.blog-table-wrap table { width:100%; border-collapse:collapse; min-width:430px; }.blog-table-wrap th,.blog-table-wrap td { padding:12px 14px; border-bottom:1px solid #e9efea; text-align:left; color:#56695d; font-size:11px; }.blog-table-wrap th { background:#f3f7f3; color:#304b3b; font-weight:750; }.blog-table-wrap tr:last-child td { border-bottom:0; }.blog-sources { margin-top:36px; padding-top:20px; border-top:1px solid var(--border); }.blog-sources h2 { margin-top:0; font-size:16px; }.blog-sources p,.blog-sources li { font-size:10px; }.blog-disclaimer { margin-top:15px !important; color:#859289 !important; font-size:9px !important; }
.blog-sidebar { position:sticky; top:18px; display:grid; gap:13px; }.blog-side-card { padding:20px; border:1px solid var(--border); border-radius:16px; background:#fff; }.blog-side-card h2 { margin:6px 0 8px; color:#274536; font-size:17px; letter-spacing:-.03em; }.blog-side-card p:not(.eyebrow) { margin:0 0 15px; color:#718078; font-size:10px; line-height:1.75; }.blog-side-card .button { width:100%; padding:11px 12px; font-size:10px; }.side-links { display:flex; flex-direction:column; gap:11px; }.side-links strong { margin-bottom:1px; color:#3d5548; font-size:11px; }.side-links a { color:#687b70; font-size:10px; text-decoration:none; }.side-links a:hover { color:var(--primary); }
.blog-bottom-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 10px; padding:25px 29px; border-radius:18px; background:#163f36; color:#fff; }.blog-bottom-cta .eyebrow { margin-bottom:5px; color:#c9e78e; }.blog-bottom-cta h2 { margin:0; font-size:20px; letter-spacing:-.035em; }.blog-bottom-cta p:not(.eyebrow) { margin:6px 0 0; color:rgba(255,255,255,.72); font-size:11px; }.blog-bottom-cta .button { flex:0 0 auto; background:var(--accent); color:#24452e; }
@media (max-width:900px) { .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.blog-article-layout { grid-template-columns:minmax(0,1fr) 230px; gap:18px; } }
@media (max-width:720px) { .blog-index-hero { min-height:auto; padding:30px 24px; }.blog-index-art { display:none; }.blog-grid { grid-template-columns:1fr; }.blog-card { min-height:0; }.blog-article-layout { grid-template-columns:1fr; }.blog-sidebar { position:static; grid-template-columns:1fr 1fr; }.blog-bottom-cta { align-items:flex-start; flex-direction:column; padding:23px; }.blog-meta { gap:8px 12px; }.blog-article-hero { padding:25px 22px; } }
@media (max-width:480px) { .blog-sidebar { grid-template-columns:1fr; }.blog-table-wrap table { min-width:370px; }.blog-article-body { padding:21px 18px; } }


.home-blog-preview { margin:0 0 58px; }.home-blog-preview .blog-section-heading { margin-bottom:16px; }.home-blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.home-blog-card { padding:18px 19px; border:1px solid var(--border); border-radius:15px; background:#fff; }.home-blog-card h3 { margin:12px 0 7px; color:#294638; font-size:14px; line-height:1.4; }.home-blog-card h3 a { color:inherit; text-decoration:none; }.home-blog-card h3 a:hover { color:var(--primary); }.home-blog-card p { margin:0; color:#718078; font-size:10px; line-height:1.7; }
@media (max-width:720px) { .home-blog-grid { grid-template-columns:1fr; }.home-blog-preview { margin-bottom:45px; } }

/* Calculator benchmark upgrade: accessible advanced deductions and calculation memory */
.field select { width:100%; min-width:0; height:44px; padding:10px 38px 10px 12px; border:1px solid #dce6df; border-radius:var(--radius); background:#fff; color:var(--ink); outline:none; font:inherit; font-size:13px; }
.field select:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(23,107,91,.10); }
.field label.check-row { color:#68776f; font-size:10px; font-weight:450; }
.check-row { display:flex; align-items:flex-start; gap:9px; margin-top:6px; color:#68776f; font-size:10px; line-height:1.55; cursor:pointer; }
.check-row input { flex:0 0 16px; width:16px; height:16px; margin-top:1px; padding:0; border:0; border-radius:3px; background:transparent; box-shadow:none; accent-color:var(--primary); }
.fgts-info { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-top:13px; padding:12px 13px; border:1px dashed #b8cdbd; border-radius:12px; background:#f8fbf7; color:#5e7165; font-size:10px; line-height:1.45; }
.fgts-info strong { flex:0 0 auto; color:#2d5942; font-size:11px; white-space:nowrap; }
.calculation-details { margin-top:14px; border:1px solid #e5ece6; border-radius:12px; background:#fbfdfb; }
.calculation-details summary { padding:12px 14px; color:#315542; font-size:10px; font-weight:800; cursor:pointer; }
.calculation-details[open] summary { border-bottom:1px solid #e8eee9; }
.calculation-details .calculation-note { margin:0; padding:13px; background:transparent; }
.calculation-note h4 { margin:15px 0 6px; color:#395746; font-size:10px; font-weight:850; }
.calculation-note h4:first-of-type { margin-top:6px; }
.memory-intro,.memory-footnote { color:#748279; font-size:9px; line-height:1.65; }
.memory-footnote { margin-top:8px; }
.memory-row { display:flex; justify-content:space-between; gap:12px; padding:6px 0; border-bottom:1px solid #edf1ed; color:#6a7970; font-size:9px; line-height:1.45; }
.memory-row strong { flex:0 0 auto; color:#3b4d42; font-size:9px; text-align:right; }
.memory-row.memory-total { color:#304f3e; font-weight:800; }
.result-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:15px; }
.result-actions .button { width:100%; min-width:0; margin-top:0; padding:10px 9px; font-size:10px; }
.result-actions #print-result { grid-column:1 / -1; }
.action-status { min-height:14px; margin:7px 0 0; color:#55735f; font-size:9px; line-height:1.5; }
@media (max-width:420px) { .result-actions { grid-template-columns:1fr; }.result-actions #print-result { grid-column:auto; }.fgts-info { flex-direction:column; gap:5px; } }
@media print { .calculation-details { border:0; }.calculation-details summary { display:none; }.calculation-details:not([open]) .calculation-note { display:block !important; }.result-actions,.action-status { display:none !important; }.fgts-info { border:1px solid #ddd; background:#fff; } }
