:root{--teal:#176B67;--teal-dark:#164E4C;--sage:#E7F0EC;--warm:#FAFAF7;--white:#fff;--text:#252B2B;--muted:#66706F;--amber:#E5A84B;--line:#D9E2DF;--error:#8a2d20;--error-bg:#fff1ef;--max:1120px;--reading:820px;--radius:18px;--shadow:0 12px 30px rgba(22,78,76,.06)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--warm);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;text-rendering:optimizeLegibility}img{max-width:100%;height:auto}a{color:var(--teal-dark);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}.skip{position:absolute;left:-9999px;top:auto}.skip:focus{left:1rem;top:1rem;background:var(--white);padding:.75rem 1rem;border-radius:10px;z-index:100;box-shadow:var(--shadow)}.site-header{display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:auto;padding:1.15rem 1.5rem;border-bottom:1px solid var(--line)}.brand{font-size:1.65rem;font-weight:760;letter-spacing:-.025em;text-decoration:none;color:var(--teal)}.brand span{font-size:.72rem;color:var(--muted);font-weight:600;margin-left:.05rem}.site-header nav,.site-footer nav{display:flex;gap:1rem 1.15rem;flex-wrap:wrap;align-items:center}.site-header nav a,.site-footer nav a{text-decoration:none}.site-header nav a:hover,.site-footer nav a:hover{text-decoration:underline}.shell{max-width:var(--max);margin:auto;padding:3.5rem 1.5rem}.hero{padding-top:5rem;padding-bottom:4rem}.hero h1{max-width:800px;font-size:clamp(2.35rem,5vw,4.9rem);line-height:1.04;margin:.35rem 0 1.25rem;letter-spacing:-.045em}.hero>p:not(.eyebrow){max-width:720px;font-size:1.16rem}.eyebrow{color:var(--teal);font-weight:750;margin-bottom:.4rem}.lede{font-size:1.16rem;max-width:760px;color:#394140}.choice-grid,.cards,.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.choice-grid a,.cards article,.tool-card,.related-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.choice-grid a{display:block;padding:1.2rem 1.25rem;text-decoration:none;font-weight:700;box-shadow:0 0 0 rgba(0,0,0,0);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.choice-grid a:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#b7cbc6}.cards article{padding:1.3rem}.cards h2,.cards h3,.cards h4{margin-top:0;line-height:1.3}.cards p:last-child{margin-bottom:0}.trust{background:var(--sage);border-radius:24px;margin-bottom:3rem}.trust h2{margin-top:0}.tool-page,.content{max-width:var(--reading)}.tool-page h1,.content h1{font-size:clamp(2.1rem,5vw,3.8rem);line-height:1.08;letter-spacing:-.035em;margin-top:.45rem}.content h2,.tool-notes h2{margin-top:2.5rem;line-height:1.25}.content h3,.tool-notes h3{margin-top:1.8rem;line-height:1.3}.content p,.content li{max-width:74ch}.breadcrumbs{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;font-size:.92rem;color:var(--muted);margin-bottom:1.5rem}.breadcrumbs a{color:var(--muted)}.tool-card{margin:2rem 0;padding:1.35rem;box-shadow:var(--shadow)}.tool-card fieldset{border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;margin:1rem 0}.tool-card legend{padding:0 .35rem}.tool-card label{display:block;margin:.9rem 0;font-weight:680}.tool-card textarea,.tool-card select,.tool-card input,.contact-form textarea,.contact-form select,.contact-form input{width:100%;margin-top:.45rem;padding:.82rem .9rem;border:1px solid #9cafaa;border-radius:10px;font:inherit;color:var(--text);background:var(--white)}.tool-card input[type=range]{padding:0;border:0;background:transparent}.tool-card input[type=checkbox],.tool-card input[type=radio]{width:auto;margin-right:.45rem}.tool-card output{display:inline-block;margin-left:.65rem;font-weight:750}.tool-card button,.contact-form button,.button-link{border:0;border-radius:10px;padding:.8rem 1rem;background:var(--teal);color:#fff;font:inherit;font-weight:750;cursor:pointer;margin:.55rem .5rem .55rem 0;text-decoration:none;display:inline-block}.tool-card button:hover,.contact-form button:hover,.button-link:hover{background:var(--teal-dark)}button:focus-visible,textarea:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.hint{color:var(--muted);font-size:.92rem}.classify{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line)}.classify span{overflow-wrap:anywhere}.results{margin-top:1.5rem;padding:1.25rem 1.35rem;background:var(--sage);border-radius:14px}.results h2:first-child{margin-top:0}.results section{padding:.35rem 0}.results ul,.results ol{padding-left:1.35rem}.score{display:inline-block;color:var(--muted);font-size:.88rem;margin-left:.35rem}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.2rem 0}.metrics div{background:rgba(255,255,255,.72);border:1px solid rgba(22,107,103,.14);padding:.85rem;border-radius:12px}.metrics dt{font-size:.84rem;color:var(--muted)}.metrics dd{font-size:1.1rem;font-weight:750;margin:.15rem 0 0}.tool-notes{padding-top:.4rem}.related-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.related-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem;text-decoration:none}.related-card span{font-size:.92rem;color:var(--muted);line-height:1.45}.related-card:hover{border-color:#a9c3bd;box-shadow:var(--shadow)}.tool-category{margin-top:3rem}.tool-category>h2,.tool-category>h3{margin-bottom:.4rem}.content blockquote{border-left:4px solid var(--teal);margin:1.5rem 0;padding:.2rem 0 .2rem 1rem;color:#3e4947}.content table{width:100%;border-collapse:collapse;margin:1.5rem 0}.content th,.content td{border:1px solid var(--line);padding:.7rem;text-align:left;vertical-align:top}.content th{background:var(--sage)}.content code{background:#eef3f1;border-radius:5px;padding:.1em .35em}.content pre{overflow:auto;background:#f0f4f3;padding:1rem;border-radius:12px}.article-meta{color:var(--muted);font-size:.92rem;margin:-.35rem 0 2rem}.article-meta span+span:before{content:" · ";}.ad-slot{margin:2rem 0;padding:1rem;border:1px dashed #b9c8c5;border-radius:12px;min-height:90px}.ad-label{display:block;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.45rem}.contact-form{max-width:680px;margin-top:2rem}.contact-form label{display:block;font-weight:680;margin:1rem 0}.hp{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important}.notice{padding:1rem 1.2rem;border-radius:12px;margin:1.5rem 0}.notice.success{background:var(--sage);border:1px solid #bfd3ce}.notice.error{background:var(--error-bg);border:1px solid #e6b6ae;color:#64251b}.notice h2{font-size:1.15rem;margin-top:0}.site-footer{max-width:var(--max);margin:auto;padding:2.5rem 1.5rem 3.5rem;border-top:1px solid var(--line);display:grid;grid-template-columns:1.5fr 1fr;gap:2rem}.site-footer p{max-width:650px;color:var(--muted);margin-bottom:0}.site-footer nav{align-content:start}.site-footer strong{font-size:1.05rem}.empty-state{padding:1.2rem;background:var(--sage);border-radius:14px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.choice-grid a{transition:none}}@media(max-width:900px){.choice-grid,.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.related-grid{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr 1fr}}@media(max-width:680px){.site-header{align-items:flex-start;gap:.85rem;flex-direction:column;padding:1rem 1.1rem}.site-header nav{gap:.7rem 1rem}.choice-grid,.cards,.related-grid,.metrics{grid-template-columns:1fr}.classify{grid-template-columns:1fr;gap:.2rem}.site-footer{grid-template-columns:1fr;padding:2rem 1.1rem 3rem}.shell{padding:2.5rem 1.1rem}.hero{padding-top:3rem;padding-bottom:2.75rem}.tool-card{padding:1rem}.tool-page h1,.content h1{font-size:clamp(2rem,10vw,3rem)}}