:root {
  --calc-primary: #2563eb;
  --calc-primary-dark: #1d4ed8;
  --calc-secondary: #0f766e;
  --calc-highlight: #f59e0b;
  --calc-heading: #172033;
  --calc-text: #475569;
  --calc-muted: #64748b;
  --calc-border: #dbe4ef;
  --calc-panel: #f8fafc;
  --calc-surface: #fff;
  --calc-danger: #b91c1c;
  --calc-success: #15803d;
  --calc-container: 1240px;
  --calc-reading: 800px;
  --calc-base-size: 16px;
  --calc-line-height: 1.7;
  --calc-space: 8px;
  --calc-card-radius: 18px;
  --calc-button-radius: 10px;
  --calc-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --calc-shadow: 0 16px 45px rgba(23, 32, 51, .09);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--calc-surface); color: var(--calc-text); font-family: var(--calc-font); font-size: var(--calc-base-size); line-height: var(--calc-line-height); text-rendering: optimizeLegibility; }
body[data-theme="dark"] { --calc-heading:#f1f5f9; --calc-text:#cbd5e1; --calc-muted:#94a3b8; --calc-border:#334155; --calc-panel:#111c2d; --calc-surface:#0b1220; --calc-shadow:0 18px 48px rgba(0,0,0,.3); color-scheme:dark; }
@media (prefers-color-scheme: dark) { body.calculator-color-scheme-system:not([data-theme="light"]) { --calc-heading:#f1f5f9; --calc-text:#cbd5e1; --calc-muted:#94a3b8; --calc-border:#334155; --calc-panel:#111c2d; --calc-surface:#0b1220; --calc-shadow:0 18px 48px rgba(0,0,0,.3); color-scheme:dark; } }
body.calculator-color-scheme-dark:not([data-theme="light"]) { --calc-heading:#f1f5f9; --calc-text:#cbd5e1; --calc-muted:#94a3b8; --calc-border:#334155; --calc-panel:#111c2d; --calc-surface:#0b1220; --calc-shadow:0 18px 48px rgba(0,0,0,.3); color-scheme:dark; }
img { max-width: 100%; height: auto; }
a { color: var(--calc-primary); text-decoration-thickness: .08em; text-underline-offset: .2em; }
a:hover { color: var(--calc-primary-dark); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--calc-highlight); outline-offset: 3px; }
h1, h2, h3, h4, h5, h6 { color: var(--calc-heading); line-height: 1.15; letter-spacing: -.028em; }
h1 { font-size: clamp(2.15rem, 6vw, 4.75rem); margin: 0 0 22px; }
h2 { font-size: clamp(1.8rem, 4vw, 3rem); margin: 0 0 18px; }
h3 { font-size: clamp(1.15rem, 2vw, 1.4rem); }
p { margin: 0 0 1.2em; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { clip: auto !important; clip-path: none; display: block; height: auto; left: 12px; padding: 12px 18px; top: 12px; width: auto; z-index: 100000; background:var(--calc-surface); }
.site-container { width: min(calc(100% - 40px), var(--calc-container)); margin-inline: auto; }
.reading-container { max-width: var(--calc-reading); }
.site-main { padding: 42px 0 96px; min-height: 60vh; }
.eyebrow { color: var(--calc-secondary); font-size: .76rem; font-weight: 800; letter-spacing: .13em; margin: 0 0 12px; text-transform: uppercase; }
.button, button.button, input[type="submit"] { align-items:center; background:var(--calc-primary); border:1px solid var(--calc-primary); border-radius:var(--calc-button-radius); color:#fff; cursor:pointer; display:inline-flex; font-weight:750; gap:8px; justify-content:center; min-height:48px; padding:10px 20px; text-decoration:none; transition:background .2s ease,transform .2s ease; }
.button:hover { background:var(--calc-primary-dark); color:#fff; transform:translateY(-1px); }
.button--small { min-height:40px; padding:7px 14px; }
.button--light { background:#fff; border-color:#fff; color:#12306b; }
.button--light:hover { background:#eaf2ff; color:#12306b; }
.text-link { font-weight:750; }

.announcement { background:var(--calc-heading); color:var(--calc-surface); font-size:.86rem; padding:7px 0; text-align:center; }
.site-header { background:color-mix(in srgb,var(--calc-surface) 93%,transparent); border-bottom:1px solid var(--calc-border); position:relative; z-index:100; backdrop-filter:blur(14px); }
.has-sticky-header .site-header { position:sticky; top:0; }
.site-header__inner { align-items:center; display:flex; gap:24px; min-height:74px; }
.site-brand { align-items:center; color:var(--calc-heading); display:inline-flex; flex:0 0 auto; gap:10px; font-size:1.12rem; font-weight:850; text-decoration:none; }
.site-brand:hover { color:var(--calc-heading); }
.site-brand__logo { max-height:44px; width:auto; }
.site-brand__mark { background:var(--calc-primary); border-radius:8px; display:grid; gap:3px; grid-template-columns:repeat(2,7px); padding:7px; }
.site-brand__mark span { background:#fff; border-radius:2px; height:7px; width:7px; }
.site-header__search { flex:1; max-width:560px; }
.site-navigation { align-items:center; display:flex; gap:12px; margin-left:auto; }
.site-navigation ul { align-items:center; display:flex; gap:4px; list-style:none; margin:0; padding:0; }
.site-navigation li { position:relative; }
.site-navigation a { color:var(--calc-heading); display:block; font-size:.92rem; font-weight:650; padding:10px; text-decoration:none; }
.site-navigation .sub-menu { background:var(--calc-surface); border:1px solid var(--calc-border); border-radius:12px; box-shadow:var(--calc-shadow); display:none; left:0; min-width:220px; padding:8px; position:absolute; top:100%; }
.site-navigation li:focus-within > .sub-menu,.site-navigation li:hover > .sub-menu { display:block; }
.site-header__menu-button { background:transparent; border:1px solid var(--calc-border); border-radius:9px; color:var(--calc-heading); display:none; height:44px; width:44px; }
.theme-toggle,.category-menu > button { background:transparent; border:1px solid var(--calc-border); border-radius:9px; color:var(--calc-heading); cursor:pointer; font-weight:700; min-height:42px; padding:8px 12px; }
.theme-toggle { font-size:1.25rem; width:44px; }
.category-menu { position:relative; }
.category-mega-menu { background:var(--calc-surface); border:1px solid var(--calc-border); border-radius:16px; box-shadow:var(--calc-shadow); display:grid; gap:6px; grid-template-columns:repeat(2,minmax(190px,1fr)); padding:18px; position:absolute; right:0; top:calc(100% + 12px); width:min(520px,calc(100vw - 32px)); }
.category-mega-menu[hidden] { display:none; }
.category-mega-menu__title { color:var(--calc-muted); font-size:.75rem; font-weight:800; grid-column:1/-1; letter-spacing:.12em; margin:0 0 5px; text-transform:uppercase; }
.category-mega-menu a { align-items:center; border-radius:10px; display:flex; gap:11px; padding:10px; }
.category-mega-menu a:hover { background:var(--calc-panel); }
.category-mega-menu a > span:first-child { align-items:center; background:color-mix(in srgb,var(--calc-primary) 12%,var(--calc-surface)); border-radius:8px; color:var(--calc-primary); display:flex; font-weight:800; height:36px; justify-content:center; width:36px; }
.category-mega-menu a strong,.category-mega-menu a small { display:block; }
.category-mega-menu a small { color:var(--calc-muted); font-size:.72rem; font-weight:500; }

.calculator-search { position:relative; width:100%; }
.calculator-search > svg { fill:none; height:20px; left:16px; position:absolute; stroke:var(--calc-muted); stroke-linecap:round; stroke-width:2; top:50%; transform:translateY(-50%); width:20px; z-index:2; }
.calculator-search input[type="search"] { background:var(--calc-surface); border:1px solid var(--calc-border); border-radius:13px; color:var(--calc-heading); min-height:48px; padding:10px 18px 10px 47px; width:100%; }
.calculator-search--hero input[type="search"] { border:2px solid color-mix(in srgb,var(--calc-primary) 35%,var(--calc-border)); box-shadow:0 14px 30px rgba(37,99,235,.1); min-height:62px; padding-left:52px; }
.calculator-search--hero > svg { left:19px; }
.calculator-search__results { background:var(--calc-surface); border:1px solid var(--calc-border); border-radius:13px; box-shadow:var(--calc-shadow); left:0; margin-top:7px; max-height:360px; overflow-y:auto; padding:7px; position:absolute; right:0; z-index:120; }
.calculator-search__results[hidden] { display:none; }
.calculator-search__result { align-items:center; border-radius:9px; color:var(--calc-heading); display:flex; gap:12px; padding:10px 12px; text-decoration:none; }
.calculator-search__result:hover,.calculator-search__result[aria-selected="true"] { background:var(--calc-panel); }
.calculator-search__result span:first-child { align-items:center; background:color-mix(in srgb,var(--calc-primary) 12%,var(--calc-surface)); border-radius:8px; color:var(--calc-primary); display:flex; height:34px; justify-content:center; width:34px; }
.calculator-search__result strong,.calculator-search__result small { display:block; }
.calculator-search__result small { color:var(--calc-muted); }
.calculator-search__status { color:var(--calc-muted); margin:0; padding:12px; }

.hero { background:radial-gradient(circle at 80% 15%,rgba(15,118,110,.12),transparent 28%),radial-gradient(circle at 12% 82%,rgba(37,99,235,.12),transparent 35%),var(--calc-panel); border-bottom:1px solid var(--calc-border); overflow:hidden; position:relative; }
.hero::after { border:1px solid color-mix(in srgb,var(--calc-primary) 16%,transparent); border-radius:50%; content:""; height:420px; position:absolute; right:-170px; top:-220px; width:420px; }
.hero__inner { max-width:900px; padding-bottom:94px; padding-top:96px; position:relative; text-align:center; z-index:1; }
.hero h1 { font-size:clamp(3rem,7vw,5.9rem); }
.hero__intro { font-size:clamp(1rem,2vw,1.25rem); margin:0 auto 32px; max-width:720px; }
.hero__pills { display:flex; flex-wrap:wrap; gap:9px; justify-content:center; margin-top:20px; }
.hero__pills span { background:color-mix(in srgb,var(--calc-surface) 80%,transparent); border:1px solid var(--calc-border); border-radius:999px; color:var(--calc-muted); font-size:.78rem; font-weight:700; padding:5px 11px; }
.home-section { padding:96px 0; }
.home-section--panel { background:var(--calc-panel); border-block:1px solid var(--calc-border); }
.section-heading { align-items:end; display:flex; gap:40px; justify-content:space-between; margin-bottom:36px; }
.section-heading > p { max-width:450px; }
.section-heading h2 { margin:0; }
.category-grid { display:grid; gap:16px; grid-template-columns:repeat(3,1fr); }
.category-card { align-items:center; background:var(--calc-surface); border:1px solid var(--calc-border); border-radius:var(--calc-card-radius); color:var(--calc-heading); display:grid; gap:15px; grid-template-columns:auto 1fr auto; min-height:116px; padding:22px; text-decoration:none; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.category-card:hover { border-color:var(--calc-primary); box-shadow:var(--calc-shadow); color:var(--calc-heading); transform:translateY(-3px); }
.category-card__icon { align-items:center; background:color-mix(in srgb,var(--calc-primary) 12%,var(--calc-surface)); border-radius:14px; color:var(--calc-primary); display:flex; font-size:1.5rem; font-weight:900; height:52px; justify-content:center; width:52px; }
.category-card strong,.category-card small { display:block; }
.category-card small { color:var(--calc-muted); margin-top:3px; }
.calculator-link-grid { display:grid; gap:14px; grid-template-columns:repeat(3,1fr); }
.calculator-link-card { align-items:center; background:var(--calc-surface); border:1px solid var(--calc-border); border-radius:14px; color:var(--calc-heading); display:flex; gap:16px; justify-content:space-between; min-height:92px; padding:18px; text-decoration:none; }
.calculator-link-card:hover { border-color:var(--calc-primary); color:var(--calc-heading); }
.calculator-link-card strong,.calculator-link-card small { display:block; }
.calculator-link-card small { color:var(--calc-muted); font-size:.83rem; margin-top:5px; }
.featured-panel { align-items:center; background:linear-gradient(135deg,#10295c,#0d6c66); border-radius:28px; color:#dbeafe; display:grid; gap:64px; grid-template-columns:.8fr 1.2fr; overflow:hidden; padding:52px; }
.featured-panel h2 { color:#fff; }
.featured-panel .eyebrow { color:#a7f3d0; }
.featured-panel .calculator-core { color:var(--calc-text); }
.directory-grid { display:grid; gap:16px; grid-template-columns:repeat(3,1fr); }
.directory-card { border:1px solid var(--calc-border); border-radius:var(--calc-card-radius); padding:22px; }
.directory-card h3 { border-bottom:1px solid var(--calc-border); margin:0 0 10px; padding-bottom:14px; }
.directory-card h3 a { color:var(--calc-heading); text-decoration:none; }
.directory-card ul { list-style:none; margin:0 0 14px; padding:0; }
.directory-card li a { align-items:center; color:var(--calc-text); display:flex; justify-content:space-between; padding:7px 0; text-decoration:none; }
.directory-card li a:hover { color:var(--calc-primary); }
.trust-section { background:var(--calc-heading); color:#cbd5e1; }
.trust-section h2,.trust-section h3 { color:#fff; }
.trust-section .eyebrow { color:#5eead4; }
.trust-grid { display:grid; gap:72px; grid-template-columns:.8fr 1.2fr; }
.trust-points { display:grid; gap:24px; grid-template-columns:repeat(3,1fr); }
.trust-points strong { color:#5eead4; font-size:.78rem; }
.trust-points h3 { margin:10px 0; }
.post-grid { display:grid; gap:22px; grid-template-columns:repeat(3,1fr); }
.post-card { background:var(--calc-surface); border:1px solid var(--calc-border); border-radius:var(--calc-card-radius); overflow:hidden; }
.post-card__image { display:block; height:210px; overflow:hidden; }
.post-card__image img { height:100%; object-fit:cover; width:100%; }
.post-card > div { padding:22px; }
.post-card h3 { margin:0 0 10px; }
.post-card h3 a { color:var(--calc-heading); text-decoration:none; }
.feedback-section { padding-top:48px; }
.feedback-panel { align-items:center; background:var(--calc-primary); border-radius:28px; color:#dbeafe; display:flex; justify-content:space-between; padding:46px 52px; }
.feedback-panel h2 { color:#fff; }
.feedback-panel .eyebrow { color:#bfdbfe; }

.breadcrumbs { background:var(--calc-panel); border:1px solid var(--calc-border); border-radius:999px; display:inline-flex; font-size:.8rem; margin-bottom:34px; padding:7px 14px; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; }
.breadcrumbs li:not(:last-child)::after { color:var(--calc-muted); content:"/"; margin-left:8px; }
.breadcrumbs a { color:var(--calc-muted); text-decoration:none; }
.content-layout { display:grid; gap:38px; }
.content-layout--right { grid-template-columns:minmax(0,1fr) 300px; }
.content-layout--left { grid-template-columns:300px minmax(0,1fr); }
.content-layout--left > .sidebar { grid-column:1; grid-row:1; }
.content-layout--left > :not(.sidebar) { grid-column:2; }
.content-layout--none { display:block; }
.entry-header,.archive-header { margin-bottom:34px; }
.entry-header h1,.archive-header h1 { font-size:clamp(2.3rem,5vw,4.2rem); }
.entry-summary,.archive-description { font-size:1.14rem; max-width:780px; }
.archive-header .calculator-search { margin:30px 0; max-width:680px; }
.sidebar { align-self:start; position:sticky; top:100px; }
.sidebar .widget { border:1px solid var(--calc-border); border-radius:var(--calc-card-radius); margin-bottom:18px; padding:20px; }
.widget-title { font-size:1.1rem; }
.entry-content { color:var(--calc-text); margin-top:48px; }
.entry-content > * { max-width:var(--calc-reading); }
.entry-content > .alignwide { max-width:var(--calc-container); }
.entry-content h2 { font-size:clamp(1.6rem,3vw,2.2rem); margin-top:1.8em; }
.entry-content h3 { margin-top:1.6em; }
.entry-content table { border-collapse:collapse; width:100%; }
.entry-content td,.entry-content th { border:1px solid var(--calc-border); padding:10px; text-align:left; }
.entry-image { border-radius:var(--calc-card-radius); margin-bottom:36px; }
.author-profile { align-items:center; display:flex; gap:24px; }
.author-profile img { border-radius:50%; }
.calculator-editorial { background:var(--calc-panel); border:1px solid var(--calc-border); border-radius:var(--calc-card-radius); display:grid; gap:22px; margin-top:54px; padding:26px; }
.calculator-editorial h2,.calculator-editorial h3 { margin:0 0 8px; }
.calculator-editorial ul { margin:0; padding-left:20px; }
.calculator-page-disclaimer { border-left:4px solid var(--calc-highlight); padding-left:16px; }
.calculator-page-disclaimer p { margin:4px 0 0; }
.archive-list { margin-top:50px; }
.accordion-directory details { border:1px solid var(--calc-border); border-radius:var(--calc-card-radius); margin-bottom:14px; overflow:hidden; }
.accordion-directory summary { align-items:center; color:var(--calc-heading); cursor:pointer; display:flex; font-size:1.12rem; font-weight:800; justify-content:space-between; list-style:none; padding:20px 22px; }
.accordion-directory summary::-webkit-details-marker { display:none; }
.accordion-directory__links { border-top:1px solid var(--calc-border); display:grid; grid-template-columns:repeat(2,1fr); padding:10px 20px 18px; }
.accordion-directory__links a { align-items:center; border-bottom:1px solid var(--calc-border); color:var(--calc-text); display:flex; justify-content:space-between; padding:13px 8px; text-decoration:none; }
.empty-state { max-width:760px; padding:80px 0; text-align:center; }
.empty-state .calculator-search { margin:28px auto; }
.notice { background:#fff8e6; border:1px solid #f5ce72; border-radius:12px; color:#704e00; padding:18px; }
.pagination,.nav-links { display:flex; gap:8px; justify-content:center; margin-top:40px; }
.page-numbers { border:1px solid var(--calc-border); border-radius:8px; padding:7px 12px; text-decoration:none; }
.page-numbers.current { background:var(--calc-primary); color:#fff; }

.site-footer { background:var(--calc-panel); border-top:1px solid var(--calc-border); padding:70px 0 0; }
.site-footer__top { display:grid; gap:60px; grid-template-columns:280px 1fr; padding-bottom:50px; }
.site-footer__brand p { margin-top:16px; }
.site-footer__widgets { display:grid; gap:28px; grid-template-columns:repeat(var(--footer-columns),minmax(0,1fr)); }
.site-footer .widget { margin:0; }
.site-footer .widget-title { margin-top:0; }
.site-footer ul { list-style:none; margin:0; padding:0; }
.site-footer li { margin:7px 0; }
.site-footer li a { color:var(--calc-text); text-decoration:none; }
.subfooter { align-items:center; border-top:1px solid var(--calc-border); display:flex; font-size:.8rem; justify-content:space-between; padding:20px 0; }
.subfooter p { margin:0; }
.subfooter ul { display:flex; gap:16px; }

@media (max-width: 1050px) {
  .site-header__search { display:none; }
  .category-grid,.calculator-link-grid,.directory-grid { grid-template-columns:repeat(2,1fr); }
  .content-layout--right,.content-layout--left { grid-template-columns:minmax(0,1fr) 260px; }
  .featured-panel { gap:36px; padding:38px; }
  .trust-grid { gap:40px; grid-template-columns:1fr; }
}
@media (max-width: 820px) {
  .site-header__inner { min-height:66px; }
  .site-header__menu-button { display:block; margin-left:auto; }
  .site-navigation { align-items:stretch; background:var(--calc-surface); border-bottom:1px solid var(--calc-border); box-shadow:var(--calc-shadow); display:none; flex-direction:column; left:0; padding:16px 20px 22px; position:absolute; right:0; top:100%; }
  .site-navigation.is-open { display:flex; }
  .site-navigation ul { align-items:stretch; flex-direction:column; }
  .site-navigation .sub-menu { box-shadow:none; display:block; margin-left:12px; position:static; }
  .category-mega-menu { grid-template-columns:1fr; left:0; position:static; width:100%; }
  .hero__inner { padding-bottom:70px; padding-top:70px; }
  .home-section { padding:70px 0; }
  .section-heading { align-items:start; flex-direction:column; gap:8px; }
  .featured-panel { grid-template-columns:1fr; }
  .content-layout--right,.content-layout--left { display:block; }
  .content-layout--left > * { display:block; }
  .sidebar { margin-top:40px; position:static; }
  .post-grid { grid-template-columns:1fr; }
  .trust-points { grid-template-columns:1fr; }
  .feedback-panel { align-items:flex-start; flex-direction:column; gap:20px; }
  .site-footer__top { grid-template-columns:1fr; }
  .site-footer__widgets { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 560px) {
  .site-container { width:min(calc(100% - 28px),var(--calc-container)); }
  h1 { font-size:2.6rem; }
  .hero__inner { padding-bottom:54px; padding-top:54px; }
  .category-grid,.calculator-link-grid,.directory-grid { grid-template-columns:1fr; }
  .featured-panel,.feedback-panel { border-radius:18px; padding:26px 20px; }
  .accordion-directory__links { grid-template-columns:1fr; }
  .site-footer__widgets { grid-template-columns:1fr; }
  .subfooter { align-items:flex-start; flex-direction:column; gap:12px; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }
