:root{
  --bg:#f4f1ea;
  --surface:#faf8f3;
  --ink:#171714;
  --muted:#6f6d66;
  --line:#cac6ba;
  --soft:#e7e2d7;
  --brand:#147a43;
  --brand-soft:rgba(20,122,67,.16);
  --brand-pale:#e3eee7;
  --cream:#f3f1ea;
  --s1:8px;
  --s2:13px;
  --s3:21px;
  --s4:34px;
  --s5:55px;
  --s6:89px;
}
*{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;line-height:1.5;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
main{max-width:1180px;margin:auto;padding:0 34px 42px}

.tool-nav{display:flex;justify-content:space-between;gap:var(--s3);align-items:center;min-height:72px;padding:0;margin-bottom:var(--s4);background:var(--brand);color:var(--cream);box-shadow:0 0 0 100vmax var(--brand);clip-path:inset(0 -100vmax);font-size:12px}
.tool-brand{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.tool-brand span{font-weight:500;color:rgba(243,241,234,.76)}
.tool-brand b{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border:1px solid rgba(243,241,234,.44);border-radius:999px;font-size:9px;letter-spacing:.12em;font-weight:700}
.tool-nav>div{display:flex;align-items:center;gap:var(--s4);color:rgba(243,241,234,.78)}
.tool-nav a{min-height:40px;display:inline-flex;align-items:center}
.tool-nav a:hover,.tool-nav a:focus-visible{color:#fff}
.tool-nav :focus-visible{outline-color:#fff}

.tool-context{display:flex;align-items:center;gap:var(--s2);margin:0 0 var(--s3);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap}
.tool-context a{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:var(--brand);font-weight:700;letter-spacing:.02em;text-transform:none}
.tool-context a:hover{border-color:var(--brand)}

.hero{display:grid;grid-template-columns:minmax(0,.618fr) minmax(0,1fr);column-gap:var(--s5);align-items:start;border-bottom:1px solid var(--line);padding:var(--s3) 0 var(--s5)}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;margin:5px 0 0;color:var(--brand);text-transform:uppercase}
.hero .eyebrow{grid-column:1;grid-row:1}
.hero h1{grid-column:2;margin:0;max-width:820px;font-size:clamp(50px,6vw,80px);line-height:.98;letter-spacing:-.023em;font-weight:600;text-wrap:balance}
.intro{grid-column:2;max-width:640px;margin:var(--s3) 0 0;font-size:17px;line-height:1.58;color:var(--muted)}
.hub-hero{padding-top:var(--s3)}

.suite-intro,.tool-steps{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.suite-intro>div,.tool-steps>div{min-height:94px;padding:18px var(--s3) 18px 0;display:flex;flex-direction:column;justify-content:space-between}
.suite-intro>div+div,.tool-steps>div+div{border-left:1px solid var(--line);padding-left:var(--s3)}
.suite-intro span,.tool-steps span{font-size:11px;color:var(--brand);font-weight:700}
.suite-intro strong,.tool-steps strong{font-size:16px;line-height:1.28;font-weight:650;letter-spacing:-.01em}
.suite-intro p{margin:6px 0 0;font-size:12px;line-height:1.45;color:var(--muted)}

.directory-heading{display:grid;grid-template-columns:minmax(0,.618fr) minmax(0,1fr);gap:var(--s5);align-items:start;padding:var(--s4) 0 var(--s3)}
.directory-heading .eyebrow{margin:4px 0 0}
.directory-heading>p:last-child{margin:0;max-width:680px;font-size:15px;line-height:1.55;color:var(--muted)}
.tool-directory{border-top:1px solid var(--line)}
.directory-row{display:grid;grid-template-columns:55px minmax(0,1fr) minmax(170px,auto);gap:var(--s3);align-items:center;padding:26px 0;border-bottom:1px solid var(--line);transition:background .16s ease}
.directory-row:hover{background:rgba(20,122,67,.035)}
.directory-index{font-size:12px;color:var(--brand);font-weight:700;align-self:start;padding-top:6px}
.directory-meta{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;margin-bottom:10px}
.directory-row .eyebrow{margin:0}
.status-chip{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:var(--brand);color:#fff;font-size:10px;font-weight:800;letter-spacing:.06em;white-space:nowrap}
.status-chip-muted{background:transparent;color:var(--muted);border:1px solid var(--line)}
.directory-row h2{margin:0;font-size:clamp(28px,3.5vw,44px);line-height:1.04;letter-spacing:-.022em;font-weight:650}
.directory-row p:not(.eyebrow){max-width:700px;margin:10px 0 0;font-size:14px;line-height:1.55;color:var(--muted)}
.directory-row .directory-question{font-size:16px!important;line-height:1.3!important;font-weight:650;color:var(--ink)!important}
.directory-action{justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 17px;border-radius:999px;background:var(--brand);color:#fff;font-size:13px;line-height:1.2;font-weight:700;white-space:nowrap}

.hub-method{display:grid;grid-template-columns:minmax(0,.618fr) minmax(0,1fr);gap:var(--s4)}
.hub-method>div+div{border-left:1px solid var(--line);padding-left:var(--s4)}

.calculator{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.618fr);gap:var(--s3);margin-top:var(--s3);align-items:start}
.inputs,.output,.method{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px}
.inputs h2,.method h2{font-size:19px;line-height:1.22;letter-spacing:-.012em;margin:0 0 var(--s3);font-weight:650}
.inputs label{display:grid;grid-template-columns:1fr auto;gap:5px;margin:0 0 18px;font-size:12px;color:var(--muted)}
.inputs input,.inputs select{grid-column:1/-1;background:transparent;border:0;border-bottom:1px solid var(--line);font:600 18px/1 inherit;padding:9px 0 10px;color:var(--ink);outline:none;border-radius:0}
.inputs select{font-size:15px;cursor:pointer}
.inputs input:focus,.inputs select:focus{border-color:var(--brand)}
.field-group-label{margin:var(--s3) 0 var(--s1);padding-top:18px;border-top:1px solid var(--line);font-size:11px;line-height:1.2;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.choice-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important;grid-column:1/-1;margin-top:13px}
.field-group-label+.choice-grid{margin-top:8px}
.choice-grid+.choice-grid{margin-top:21px}
.choice{width:100%!important;min-height:50px;border:1px solid var(--line)!important;border-radius:10px!important;padding:12px 14px!important;background:var(--surface)!important;color:var(--ink)!important;text-align:left!important;font-size:12px!important;font-weight:650!important;line-height:1.3!important;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}
.choice:hover,.choice:focus-visible{border-color:var(--brand)!important;outline:none}
.choice:active{transform:translateY(1px)}
.choice.active{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important}

.headline{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);border-bottom:1px solid var(--line);padding-bottom:18px}
.headline span{font-size:19px;letter-spacing:-.018em}
.headline strong{font-size:36px;letter-spacing:-.02em;color:var(--brand)}
.bars{padding:18px 0;border-bottom:1px solid var(--line)}
.bars>div{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:18px}
.bars span{font-size:12px;color:var(--muted)}
.bars strong{font-size:15px}
.bars i{grid-column:1/-1;background:var(--soft);height:7px;border-radius:999px;overflow:hidden}
.bars b{display:block;height:100%;background:var(--brand);width:50%;transition:width .25s ease}
dl{margin:0}
dl div{display:flex;justify-content:space-between;gap:var(--s3);padding:12px 0;border-bottom:1px solid var(--line)}
dt{font-size:12px;color:var(--muted)}
dd{font-size:13px;font-weight:600;margin:0;text-align:right}
.explain{font-size:13px;line-height:1.58;color:var(--muted);margin:18px 0}
.risk{margin-top:18px!important;padding:18px!important;border:1px solid var(--line)!important;border-radius:12px!important}
.risk strong{display:block;font-size:22px;line-height:1.18;letter-spacing:-.02em;margin-top:7px;color:var(--brand)}
.checklist{padding:0!important;margin:18px 0 0!important;list-style:none}
.checklist li{padding:12px 0!important;border-bottom:1px solid var(--line);font-size:13px;line-height:1.5}
.checklist li:last-child{border-bottom:0!important}
.next-step{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.next-step .eyebrow{margin:0 0 10px}
.next-step strong{display:block;font-size:18px;line-height:1.23;letter-spacing:-.012em}
.next-step p{margin:10px 0 0;font-size:13px;line-height:1.55;color:var(--muted)}

button{width:100%;border:1px solid var(--ink);border-radius:999px;padding:12px 16px;background:var(--ink);color:#fff;font-weight:700}
.output>button{margin-top:18px;border:0;box-shadow:none;min-height:48px;font-size:14px}
.output>button:disabled{opacity:1;background:var(--brand-pale);color:#486956;cursor:not-allowed}
.disabled-note,.cta-note{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:10px}
.output .warning{font-size:12px;line-height:1.55;color:var(--muted);border-top:1px solid var(--line)!important;padding-top:18px!important;margin-top:18px!important}

.method{margin-top:28px}
.method p{max-width:840px;font-size:13px;color:var(--muted);line-height:1.65}
.method-grid{display:grid;grid-template-columns:minmax(0,.618fr) minmax(0,1fr);gap:28px}
.method-grid>div+div{border-left:1px solid var(--line);padding-left:28px}
.faq details{border-top:1px solid var(--line);padding:16px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-size:14px;font-weight:700;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';float:right;font-weight:500;color:var(--brand)}
.faq details[open] summary::after{content:'–'}
.faq details p{margin:10px 0 0}
.related{display:flex;gap:var(--s3);flex-wrap:wrap}
.related a{display:inline-flex;align-items:center;min-height:42px;font-size:13px;color:var(--brand);font-weight:650;border-bottom:1px solid var(--line)}
.related a:hover{border-bottom-color:var(--brand)}
.related-tools{padding-top:21px;padding-bottom:21px}

.info-page{max-width:900px;margin-left:auto;margin-right:auto;padding:42px}
.info-page h1{margin:0 0 var(--s4);font-size:clamp(40px,5.6vw,64px);line-height:1;letter-spacing:-.023em;font-weight:650}
.info-page p{font-size:15px;line-height:1.68;margin:0 0 18px}
.info-page a{color:var(--brand);font-weight:700}
.error-page{min-height:58vh;display:flex;flex-direction:column;justify-content:center;max-width:760px;padding:42px 0 55px}
.error-page h1{margin:0 0 var(--s4);font-size:clamp(50px,7vw,82px);line-height:.98;letter-spacing:-.028em}
.error-page>p:not(.eyebrow){max-width:560px;margin:0 0 var(--s4);font-size:17px;line-height:1.58;color:var(--muted)}
.error-action{display:inline-flex;align-items:center;min-height:48px;width:max-content;padding:0 18px;border-radius:999px;background:var(--brand);color:#fff;font-size:14px;font-weight:800}

footer{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;border-top:1px solid var(--line);margin-top:42px;padding-top:18px;font-size:11px;color:var(--muted)}
footer a{display:inline-flex;align-items:center;min-height:40px}

@media(max-width:900px){
  main{padding-left:24px;padding-right:24px}
  .tool-nav>div{gap:var(--s3)}
  .directory-row{grid-template-columns:44px minmax(0,1fr)}
  .directory-action{grid-column:2;justify-self:start;margin-top:var(--s2)}
}
@media(max-width:760px){
  main{padding:0 17px 30px}
  .tool-nav{min-height:64px;margin-bottom:var(--s3)}
  .tool-brand{font-size:12px}.tool-brand b{font-size:8px;min-height:24px;padding:0 8px}
  .tool-nav>div{display:flex;gap:0;font-size:11px}
  .tool-nav>div a:not(:first-child){display:none}
  .tool-context{margin-bottom:var(--s2);font-size:10px}
  .tool-context a{min-height:32px}
  .hero,.calculator,.method-grid,.hub-method,.directory-heading{display:block}
  .hero{padding:var(--s2) 0 var(--s4)}
  .hero .eyebrow{margin:0 0 18px}
  .hero h1{font-size:clamp(44px,13vw,62px);line-height:1;letter-spacing:-.016em;text-wrap:wrap}
  .intro{margin-top:var(--s3);font-size:16px;line-height:1.55}
  .suite-intro,.tool-steps{grid-template-columns:1fr}
  .suite-intro>div,.tool-steps>div{min-height:auto;padding:15px 0}
  .suite-intro>div+div,.tool-steps>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .directory-heading{padding:var(--s4) 0 18px}
  .directory-heading>p:last-child{margin-top:var(--s2);font-size:14px}
  .directory-row{grid-template-columns:1fr;gap:10px;padding:26px 0}
  .directory-index{font-size:11px;padding:0}
  .directory-action{grid-column:1;justify-self:stretch;width:100%;margin-top:10px;min-height:50px}
  .directory-row h2{font-size:32px}
  .directory-row p:not(.eyebrow){font-size:14px}
  .hub-method>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:21px;margin-top:21px}
  .calculator{grid-template-columns:1fr;gap:18px;margin-top:18px}
  .inputs,.output,.method{padding:20px}
  .headline{align-items:flex-start;flex-direction:column;gap:8px}.headline strong{font-size:30px}
  .method-grid>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:21px;margin-top:21px}
  .method{margin-top:18px}
  .field-group-label{margin-top:18px;padding-top:16px}
  .info-page{padding:28px 20px}.info-page h1{font-size:42px;margin-bottom:28px}
  .error-page{min-height:54vh;padding:28px 0 42px}
  footer{align-items:flex-start;flex-direction:column;margin-top:30px}
}
@media(max-width:520px){
  .tool-brand span{font-size:11px}
  .choice-grid{grid-template-columns:1fr!important;gap:8px!important}
  .choice-grid+.choice-grid{margin-top:18px}
  .choice{min-height:48px!important;font-size:13px!important}
}
