:root{--cs-green:#139C6C;--cs-green-dark:#0E7A54;--cs-green-light:#E8F5EF;--cs-green-pale:rgba(19,156,108,0.08);--cs-green-10:rgba(19,156,108,0.1);--cs-green-bg:#EDF3F1;--cs-green-border:rgba(19,156,108,0.25);--cs-blue-accent:#6087D8;--cs-orange:#e67e22;--cs-bg:#FFFFFF;--cs-white:#FFFFFF;--cs-text:#2F2F2F;--cs-text-heading:#202020;--cs-text-muted:#414342;--cs-border:#D1DDD8;--cs-border-light:#E2EBE7;--cs-gray-100:#F5F7F6;--cs-gray-200:#E5EBE8;--cs-gray-section:#e2eae7;--cs-gray-900:#1A1F1C;--cs-footer-bg:#1F2C48;--cs-font-heading:'Manrope',-apple-system,BlinkMacSystemFont,sans-serif;--cs-font-body:'Open Sans',-apple-system,BlinkMacSystemFont,sans-serif;--cs-radius:16px;--cs-radius-sm:12px;--cs-radius-pill:50px;--cs-shadow:0 1px 3px rgba(0,0,0,0.04),0 4px 16px rgba(0,0,0,0.03);--cs-shadow-hover:0 8px 24px rgba(19,156,108,0.08)}*,*::before,*::after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--cs-font-body);color:var(--cs-text);background:var(--cs-bg);margin:0;font-size:1.125rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--cs-font-heading);color:var(--cs-text-heading)}.container{max-width:1080px;margin:0 auto;padding:0 1.5rem}.site-header{background:var(--cs-white);color:var(--cs-text);padding:1rem 0;position:sticky;top:0;z-index:100;box-shadow:0 1px 0 rgba(0,0,0,0.06)}.site-header .container{display:flex;align-items:center;justify-content:space-between}.site-header a{color:var(--cs-text);text-decoration:none}.site-logo{display:flex;align-items:center}.site-logo .logo-img{height:28px;width:auto}.site-nav{display:flex;gap:2rem;font-size:1rem;align-items:center}.site-nav a{color:var(--cs-text-heading);transition:color 0.15s;font-weight:400;font-size:1rem}.site-nav a:hover{color:var(--cs-green)}.site-nav .nav-cta{background:#256D59;color:#fff !important;border:1px solid #256D59;border-radius:var(--cs-radius-pill);padding:0.6rem 1.5rem;font-weight:600;font-size:1rem;transition:background 0.2s}.site-nav .nav-cta:hover{background:#18473a;border-color:#18473a}.menu-toggle{display:none;background:none;border:none;color:var(--cs-text);font-size:1.4rem;cursor:pointer;padding:0.3rem;line-height:1;-webkit-tap-highlight-color:transparent}.mobile-menu{display:none;background:var(--cs-white);border-top:1px solid #eee}.mobile-menu a{display:block;color:var(--cs-text-heading);text-decoration:none;padding:1rem 1.5rem;font-size:1rem;border-bottom:1px solid #f0f0f0}.mobile-menu .mobile-cta{color:var(--cs-green);font-weight:600}@media (max-width:768px){.site-nav{display:none}.menu-toggle{display:block}.mobile-menu.open{display:block}}.page-hero{background:var(--cs-white);color:var(--cs-text);padding:1.5rem 0 0;text-align:center}.page-hero h1{font-family:var(--cs-font-heading);font-size:2.75rem;margin:0 0 0.75rem;font-weight:800;color:var(--cs-text-heading);letter-spacing:-0.02em;max-width:860px;margin-left:auto;margin-right:auto}.page-hero .subtitle{font-size:1.15rem;color:var(--cs-text);margin:0 auto 0.5rem;max-width:640px;line-height:1.7}.rate-date-badge{display:inline-flex;align-items:center;gap:0.5rem;background:rgba(19,156,108,0.12);color:var(--cs-green-dark);padding:0.5rem 1.25rem;border-radius:var(--cs-radius-pill);font-family:var(--cs-font-heading);font-size:0.8rem;font-weight:700;margin-bottom:1.5rem;letter-spacing:0.08em;text-transform:uppercase}.rate-date-badge.stale{background:rgba(230,126,34,0.12);color:#d35400}@media (max-width:768px){.page-hero{padding:1.5rem 0 0}.page-hero h1{font-size:2rem}.page-hero .subtitle{font-size:1rem}}.stale-banner{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:0.75rem 1.5rem;text-align:center;font-size:0.9rem}.portraits{display:flex;gap:1.5rem;justify-content:center;margin:1.5rem 0}.portrait-link{display:flex;flex-direction:column;align-items:center;text-decoration:none;-webkit-tap-highlight-color:transparent}.portrait-link img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--cs-border-light);box-shadow:var(--cs-shadow);transition:transform 0.2s ease,box-shadow 0.2s ease,border-color 0.2s ease}.portrait-link:hover img{transform:translateY(-3px);box-shadow:var(--cs-shadow-hover);border-color:var(--cs-green)}.portrait-link:active img{transform:scale(0.96)}.portrait-label{font-size:0.75rem;color:var(--cs-text-muted);text-align:center;margin-top:0.35rem;font-family:var(--cs-font-body);font-weight:600}@media (max-width:768px){.portrait-link img{width:90px;height:90px}}.intro{font-size:1.05rem;color:var(--cs-text);max-width:720px;margin:1.5rem auto 2rem;text-align:left;line-height:1.7;background:var(--cs-white);border:1px solid var(--cs-border-light);border-radius:var(--cs-radius);padding:1.25rem 1.75rem;border-left:3px solid var(--cs-green)}.gender-section{margin:1.5rem 0 2rem}.gender-section h2{font-size:1.65rem;color:var(--cs-text-heading);border-bottom:2px solid var(--cs-green);padding-bottom:0.5rem;margin:0 0 1.25rem;font-weight:800}.health-class-section{margin:1.25rem 0 2rem;background:var(--cs-white);border:1px solid var(--cs-green);border-radius:var(--cs-radius);padding:1rem 0 0;overflow:hidden}.health-class-section h3{font-size:0.95rem;color:var(--cs-text);margin:0 0 0.75rem;padding:0 1rem;font-weight:600}.hc-label{display:inline-block;padding:0.2rem 0.7rem;border-radius:var(--cs-radius-pill);font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em}.hc-preferred{background:#E8F5EF;color:#0E7A54}.hc-standard{background:#E8F0FA;color:#3B6BB5}.hc-standard_tobacco{background:#FDE8E8;color:#B91C1C}.table-wrapper{overflow-x:auto;overflow-y:auto;max-height:70vh;-webkit-overflow-scrolling:touch;position:relative}.table-scroll-hint{position:relative}.table-scroll-hint::after{content:"";position:absolute;top:0;right:0;bottom:0;width:32px;background:linear-gradient(to right,transparent,rgba(255,255,255,0.85));pointer-events:none;z-index:4;transition:opacity 0.2s}.table-scroll-hint.scrolled-end::after{opacity:0}.scroll-indicator{display:none;text-align:center;font-size:0.72rem;color:var(--cs-text-muted);padding:0.35rem 0;font-weight:500}.table-scroll-hint .scroll-indicator{display:block}.table-scroll-hint.scrolled-end .scroll-indicator{display:none}.rate-table{border-collapse:collapse;width:100%;min-width:520px;font-size:0.88rem;white-space:nowrap}.rate-table th,.rate-table td{padding:0.65rem 0.75rem;text-align:right;border-bottom:1px solid #f0f0f0}.rate-table th{background:var(--cs-footer-bg);color:#fff;font-family:var(--cs-font-heading);font-weight:700;font-size:0.8rem;position:sticky;top:0;z-index:2;letter-spacing:0.02em;box-shadow:none}.rate-table th:first-child{text-align:left;position:sticky;left:0;z-index:3;background:var(--cs-footer-bg);border-right:1px solid rgba(255,255,255,0.15)}.rate-table td:first-child{text-align:left;font-weight:600;background:var(--cs-white);position:sticky;left:0;z-index:1;border-right:1px solid var(--cs-border-light);font-size:0.82rem;color:var(--cs-text-heading)}.rate-table tbody tr:nth-child(even) td{background-color:var(--cs-gray-100)}.rate-table tbody tr:nth-child(even) td:first-child{background-color:#F0F5F3}.rate-table tbody tr:hover td{background-color:var(--cs-green-light)}.rate-table tbody tr:hover td:first-child{background-color:#D1EDDF}.rate-monthly{font-weight:600;color:var(--cs-text-heading)}.rate-annual{font-size:0.72rem;color:var(--cs-text-muted);display:block}.rate-na{color:var(--cs-text-muted);font-style:italic}@media (max-width:768px){.rate-table{font-size:0.78rem;min-width:460px}.rate-table th,.rate-table td{padding:0.5rem 0.45rem}.rate-table th{font-size:0.72rem}.rate-table th .term-full{display:none}.rate-table th .term-short{display:inline}}@media (min-width:769px){.rate-table th .term-short{display:none}}.footnotes{font-size:0.75rem;color:var(--cs-text-muted);padding:0.5rem 1rem}.methodology{background:var(--cs-green-10);border:1px solid var(--cs-green);border-radius:var(--cs-radius);padding:1.5rem 1.75rem;margin:2rem 0}.methodology h3{font-family:var(--cs-font-heading);margin:0 0 0.4rem;color:var(--cs-text-heading);font-size:1.1rem;font-weight:700;border-bottom:none;padding-bottom:0}.methodology p{font-size:0.92rem;color:var(--cs-text-muted);margin:0.4rem 0;line-height:1.65}.methodology a{color:var(--cs-green);font-weight:600}.methodology-author{border-top:1px solid var(--cs-green-border);margin-top:0.75rem;padding-top:0.6rem;font-size:0.85rem;color:var(--cs-text-muted)}.methodology ul.hc-definitions{list-style:none;padding:0;margin:0.6rem 0}.methodology ul.hc-definitions li{font-size:0.92rem;color:var(--cs-text-muted);line-height:1.65;padding:0.2rem 0 0.2rem 1rem;position:relative}.methodology ul.hc-definitions li::before{content:'';position:absolute;left:0;top:0.65rem;width:6px;height:6px;border-radius:50%;background:var(--cs-green)}.cta-box{background:linear-gradient(135deg,rgba(31,44,72,0.92),rgba(19,156,108,0.85));color:#fff;padding:2.5rem 2rem;border-radius:var(--cs-radius);text-align:center;margin:2rem 0;position:relative;overflow:hidden}.cta-box::before{content:'';position:absolute;top:-40%;right:-15%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,0.06),transparent 70%);border-radius:50%}.cta-box h3{font-family:var(--cs-font-heading);margin:0 0 0.5rem;font-size:1.5rem;color:#fff;font-weight:800;font-style:italic;position:relative}.cta-box p{margin:0 0 1.25rem;opacity:0.9;font-size:1rem;position:relative}.cta-button{display:inline-block;background:var(--cs-white);color:var(--cs-green);padding:0.85rem 2rem;border-radius:var(--cs-radius-pill);text-decoration:none;font-family:var(--cs-font-body);font-weight:600;font-size:1rem;transition:transform 0.15s,box-shadow 0.15s;-webkit-tap-highlight-color:transparent;position:relative}.cta-button:hover{box-shadow:0 8px 30px rgba(0,0,0,0.25);transform:translateY(-2px)}.cta-button:active{transform:scale(0.97)}.site-footer{background:var(--cs-footer-bg);color:rgba(255,255,255,0.7);padding:3rem 0 2rem;margin-top:2rem;font-size:0.88rem}.site-footer a{color:var(--cs-blue-accent);text-decoration:none}.site-footer a:hover{text-decoration:underline}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}.footer-grid h4{font-family:var(--cs-font-heading);color:#fff;margin:0 0 0.75rem;font-size:0.92rem;font-weight:700}.footer-grid p{margin:0.3rem 0;line-height:1.6}@media (max-width:768px){.footer-grid{grid-template-columns:1fr;gap:1.5rem}}.footer-trust{border-top:1px solid rgba(255,255,255,0.12);margin-top:1.5rem;padding-top:1.25rem}.footer-trust p{margin:0.3rem 0;line-height:1.6}.footer-trust strong{color:#fff}.license-disclosure{font-size:0.8rem;color:rgba(255,255,255,0.5);margin-top:0.75rem}.legal-links{display:flex;gap:1.25rem;margin-top:0.5rem}.legal-links a{color:var(--cs-blue-accent);text-decoration:none;font-size:0.84rem}.legal-links a:hover{text-decoration:underline}.birthday-calc{background:var(--cs-white);border:1px solid var(--cs-green);border-radius:var(--cs-radius);padding:2rem 2rem;max-width:520px;margin:0 auto 2rem;text-align:center;box-shadow:var(--cs-shadow)}.birthday-calc h2{font-size:1.25rem;margin:0 0 0.25rem;font-weight:800;color:var(--cs-text-heading)}.birthday-calc .calc-subtitle{font-size:0.88rem;color:var(--cs-text-muted);margin:0 0 1.25rem;line-height:1.5}.birthday-form{display:flex;gap:0.75rem;align-items:center;justify-content:center;flex-wrap:wrap}.birthday-form label{font-size:0.92rem;font-weight:600;color:var(--cs-text);white-space:nowrap}.birthday-input{font-family:var(--cs-font-body);font-size:1rem;padding:0.75rem 1rem;border:1px solid var(--cs-border);border-radius:var(--cs-radius-sm);color:var(--cs-text);background:var(--cs-white);min-width:160px;transition:border-color 0.15s}.birthday-input:focus{outline:none;border-color:var(--cs-green);box-shadow:0 0 0 3px rgba(19,156,108,0.1)}.birthday-btn{font-family:var(--cs-font-body);font-size:1rem;font-weight:600;padding:0.75rem 1.5rem;border:none;border-radius:var(--cs-radius-pill);background:var(--cs-green);color:#fff;cursor:pointer;transition:background 0.15s,transform 0.1s,box-shadow 0.2s;white-space:nowrap}.birthday-btn:hover{background:var(--cs-green-dark);box-shadow:0px 15px 25px -7px rgba(0,0,0,0.1)}.birthday-btn:active{transform:scale(0.97)}.birthday-btn:disabled{opacity:0.5;cursor:not-allowed}.calc-result{margin-top:1rem;font-size:0.88rem;line-height:1.5;min-height:1.4em}.calc-result a{color:var(--cs-green);font-weight:600}.calc-result .calc-error{color:var(--cs-orange)}.calc-anb-note{font-size:0.75rem;color:var(--cs-text-muted);margin-top:0.5rem}@media (max-width:520px){.birthday-calc{padding:1.5rem 1.25rem}.birthday-form{flex-direction:column}.birthday-input{width:100%;min-width:0}.birthday-btn{width:100%}}.age-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:0.6rem;margin:1.25rem 0 2rem}.age-card{display:block;background:var(--cs-green-10);color:var(--cs-text-heading);padding:0.85rem 0.5rem;border-radius:var(--cs-radius);text-decoration:none;text-align:center;font-weight:600;transition:all 0.2s;border:1px solid var(--cs-green);-webkit-tap-highlight-color:transparent;min-height:44px}.age-card:hover,.age-card:active{background:rgba(19,156,108,0.05);border-color:var(--cs-green);transform:translateY(-2px);box-shadow:var(--cs-shadow-hover);color:var(--cs-text-heading)}.age-card .age-num{font-family:var(--cs-font-heading);font-size:1.5rem;font-weight:800;display:block;line-height:1.2;color:var(--cs-text-heading)}.age-card:hover .age-num{color:var(--cs-green)}.age-card .age-label{font-size:0.6rem;color:var(--cs-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:0.08em}@media (min-width:769px){.age-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:0.75rem}.age-card{padding:1rem 0.5rem}}.age-nav{display:flex;justify-content:space-between;align-items:center;margin:2rem 0 1rem;padding:1rem 0;border-top:1px solid var(--cs-border-light)}.age-nav-link{font-family:var(--cs-font-heading);font-size:0.9rem;font-weight:600;color:var(--cs-green);text-decoration:none;padding:0.5rem 1rem;border-radius:var(--cs-radius-pill);transition:background 0.15s,color 0.15s}.age-nav-link:hover{background:var(--cs-green-pale)}.age-nav-all{color:var(--cs-text-muted);font-weight:500;font-size:0.82rem}.age-nav-all:hover{color:var(--cs-green)}.age-nav-placeholder{min-width:100px}@media (max-width:768px){.age-nav-link{font-size:0.82rem;padding:0.4rem 0.6rem}}.faq-section{margin:2.5rem 0}.faq-section h3{font-family:var(--cs-font-heading);font-size:1.25rem;font-weight:700;color:var(--cs-text-heading);margin-bottom:1rem}.faq-item{border:1px solid var(--cs-green);border-radius:var(--cs-radius);margin-bottom:0.5rem;background:#fff;overflow:hidden}.faq-item summary{font-family:var(--cs-font-heading);font-size:1rem;font-weight:700;color:var(--cs-text-heading);padding:1rem 3rem 1rem 1.25rem;cursor:pointer;list-style:none;position:relative;line-height:1.4;display:flex;justify-content:space-between;align-items:center}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:1.25rem;font-weight:700;color:#fff;width:32px;height:32px;background:var(--cs-green);border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.faq-item[open] summary::after{content:"\2212"}.faq-item summary:hover{background:var(--cs-green-pale)}.faq-answer{padding:0 1.25rem 1.25rem;font-size:0.92rem;line-height:1.7;color:var(--cs-text)}.faq-answer p{margin:0}.faq-item[open]{border-color:var(--cs-green)}@media (max-width:768px){.faq-item summary{font-size:0.92rem;padding:0.85rem 2.5rem 0.85rem 1rem}.faq-answer{font-size:0.88rem;padding:0 1rem 1rem}}.faq-page{max-width:800px;padding-bottom:1rem}.faq-answer p{margin:0 0 0.75rem}.faq-answer p:last-child{margin-bottom:0}.faq-answer ul{margin:0.5rem 0 0.75rem;padding-left:1.25rem}.faq-answer ul li{margin-bottom:0.5rem;line-height:1.65}.faq-answer a{color:var(--cs-green);font-weight:600;text-decoration:underline;text-underline-offset:2px}.faq-answer a:hover{color:var(--cs-green-dark)}.faq-answer strong{color:var(--cs-text-heading)}.faq-answer em{color:var(--cs-text-muted);font-style:italic}.faq-pro-section{margin:3rem 0 2rem;padding-top:2rem;border-top:1px solid var(--cs-border-light)}.faq-pro-section h2{font-size:1.3rem;font-weight:700;margin:0 0 1.25rem}.pro-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.pro-card{background:var(--cs-green-10);border:1px solid var(--cs-green);border-radius:var(--cs-radius);padding:1.25rem;transition:all 0.2s}.pro-card:hover{box-shadow:var(--cs-shadow-hover);transform:translateY(-2px)}.pro-icon{font-size:1.5rem;margin-bottom:0.5rem}.pro-card h3{font-size:0.95rem;margin:0 0 0.4rem;font-weight:700}.pro-card p{font-size:0.84rem;color:var(--cs-text-muted);margin:0 0 0.75rem;line-height:1.55}.pro-link{font-size:0.84rem;color:var(--cs-green);font-weight:600;text-decoration:none}.pro-link:hover{text-decoration:underline}.usage-note{background:var(--cs-gray-100);border:1px solid var(--cs-border-light);border-radius:var(--cs-radius-sm);padding:1rem 1.25rem;margin-top:1rem;font-size:0.84rem;color:var(--cs-text-muted);line-height:1.55}@media (max-width:768px){.pro-cards{grid-template-columns:1fr}}.error-page{padding-top:3rem;padding-bottom:2rem}.error-content{text-align:center;max-width:560px;margin:0 auto 3rem}.error-code{font-family:var(--cs-font-heading);font-size:5rem;font-weight:800;color:var(--cs-green);line-height:1;display:block;margin-bottom:0.5rem;letter-spacing:-0.03em}.error-content h1{font-size:1.5rem;margin:0 0 0.75rem;font-weight:700}.error-content p{color:var(--cs-text-muted);font-size:0.95rem;margin:0 0 1.5rem;line-height:1.65}.error-actions{display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap}.error-actions .cta-button{background:var(--cs-green);color:#fff}.error-actions .cta-button:hover{background:var(--cs-green-dark)}.error-actions .cta-secondary{background:var(--cs-white);color:var(--cs-green);border:1.5px solid var(--cs-green)}.error-actions .cta-secondary:hover{background:var(--cs-green-pale)}@media (max-width:768px){.error-code{font-size:3.5rem}.error-content h1{font-size:1.25rem}.error-actions{flex-direction:column;align-items:center}}.rate-cell{cursor:pointer}.rate-cell:hover{background-color:var(--cs-green-light) !important}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.4);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;opacity:0;visibility:hidden;transition:opacity 0.2s,visibility 0.2s}.modal-overlay.open{opacity:1;visibility:visible}.modal-card{max-width:640px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideUp 0.25s ease-out}@keyframes modalSlideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:0.75rem;right:0.75rem;background:var(--cs-gray-100);border:none;width:32px;height:32px;border-radius:50%;font-size:1.1rem;color:var(--cs-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1;transition:background 0.15s}.modal-close:hover{background:var(--cs-border-light)}.rate-card{background:var(--cs-white);border:1px solid var(--cs-green);border-radius:var(--cs-radius);overflow:hidden}.rate-card-header{padding:1.25rem 1.5rem 0}.rate-card-title{font-family:var(--cs-font-heading);font-size:1.1rem;font-weight:800;color:var(--cs-text-heading);margin:0 0 0.15rem;letter-spacing:-0.01em}.rate-card-subtitle{font-size:0.82rem;color:var(--cs-text-muted);margin:0}.rate-card-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.75rem;padding:1.25rem 1.5rem}.rate-card-col{text-align:center;padding:1rem 0.5rem;border-radius:var(--cs-radius-sm);border:1.5px solid var(--cs-border-light);transition:border-color 0.2s,box-shadow 0.2s}.rate-card-col.active{border-color:var(--cs-green);box-shadow:0 0 0 3px rgba(19,156,108,0.12)}.rate-card-hc{display:inline-block;padding:0.2rem 0.65rem;border-radius:var(--cs-radius-pill);font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:0.75rem}.rate-card-monthly{font-family:var(--cs-font-heading);font-size:1.65rem;font-weight:800;color:var(--cs-text-heading);line-height:1.1}.rate-card-monthly small,.rc-whole + small{font-size:0.7rem;font-weight:600;color:var(--cs-text-muted)}.rate-card-annual{font-size:0.75rem;color:var(--cs-text-muted);margin-top:0.25rem}.rate-card-qualifier{font-size:0.72rem;color:var(--cs-text-muted);margin-top:0.65rem;line-height:1.4;padding-top:0.65rem;border-top:1px solid var(--cs-border-light)}.rate-card-footer{padding:0 1.5rem 1.25rem;text-align:center}.rate-card-note{font-size:0.78rem;color:var(--cs-text-muted);margin:0 0 0.75rem}.rate-card-ctas{display:flex;flex-direction:column;align-items:center;gap:0.5rem;padding:0.25rem 1.5rem 0.75rem}.cta-primary{display:block;width:100%;padding:0.75rem 1.5rem;border-radius:var(--cs-radius-pill);background:var(--cs-green);color:#fff;text-decoration:none;font-family:var(--cs-font-body);font-weight:600;font-size:0.95rem;text-align:center;transition:background 0.15s,transform 0.1s}.cta-primary:hover{background:var(--cs-green-dark);transform:translateY(-1px)}.cta-secondary{display:block;width:100%;padding:0.6rem 1.5rem;border-radius:var(--cs-radius-pill);background:transparent;border:1px solid var(--cs-border);color:var(--cs-text-muted);text-decoration:none;font-family:var(--cs-font-body);font-size:0.82rem;font-weight:600;text-align:center;transition:background 0.15s,color 0.15s}.cta-secondary:hover{background:var(--cs-gray-100);color:var(--cs-text)}.rate-card-disclosure{font-size:0.7rem;color:var(--cs-text-muted);padding:0 1.5rem 1.25rem;line-height:1.5;text-align:center}@media (max-width:520px){.rate-card-grid{grid-template-columns:1fr;gap:0.5rem;padding:1rem}.rate-card-col{display:grid;grid-template-columns:auto 1fr auto;align-items:center;text-align:left;padding:0.75rem 1rem;gap:0 0.75rem}.rate-card-hc{margin-bottom:0;grid-row:1;grid-column:1}.rate-card-monthly{font-size:1.3rem;grid-row:1;grid-column:3;text-align:right}.rate-card-annual{grid-row:2;grid-column:3;text-align:right;margin-top:0}.rate-card-qualifier{grid-row:2;grid-column:1 / 3;border-top:none;padding-top:0;margin-top:0.15rem}.rate-card-header{padding:1rem 1rem 0}.rate-card-footer{padding:0 1rem 1rem}.rate-card-title{font-size:0.95rem}.modal-overlay{align-items:flex-start;padding-top:2rem}.rate-card-ctas{padding:0.25rem 1rem 0.5rem}.rate-card-disclosure{padding:0 1rem 1rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:1rem;z-index:200;background:var(--cs-green);color:#fff;padding:0.5rem 1.25rem;border-radius:var(--cs-radius-sm);font-family:var(--cs-font-heading);font-size:0.88rem;font-weight:700;text-decoration:none;transition:top 0.2s}.skip-link:focus{top:0.75rem}.menu-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.3);z-index:99}.menu-overlay.open{display:block}.gender-section{scroll-margin-top:4.5rem}@media (max-width:768px){.site-footer{padding:1.5rem 0}.footer-grid{gap:1.5rem}.footer-grid > div + div{padding-top:1rem;border-top:1px solid rgba(255,255,255,0.08)}}.birthday-btn.loading{pointer-events:none;opacity:0.7;position:relative;color:transparent}.birthday-btn.loading::after{content:"";position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2.5px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:btnSpin 0.6s linear infinite}@keyframes btnSpin{to{transform:rotate(360deg)}}a[target="_blank"]::after{content:" \2197";font-size:0.7em;vertical-align:super;opacity:0.5}.cta-button[target="_blank"]::after,.cta-primary[target="_blank"]::after,.cta-secondary[target="_blank"]::after,.nav-cta[target="_blank"]::after,.mobile-cta[target="_blank"]::after,.rate-card-cta[target="_blank"]::after{display:none}.phone-callout{text-align:center;background:var(--cs-green-light);border:2px solid var(--cs-green-border);border-radius:var(--cs-radius);padding:2rem 1.5rem;margin:0.75rem auto 2rem;max-width:480px}.phone-callout-label{font-family:var(--cs-font-body);font-size:1rem;color:var(--cs-text-muted);margin:0 0 0.75rem}.phone-callout-number{display:block;font-family:var(--cs-font-heading);font-size:2rem;font-weight:800;color:var(--cs-green-dark);text-decoration:none;letter-spacing:0.02em;margin:0.25rem 0}.phone-callout-number:hover{color:var(--cs-green)}.phone-callout-hours{font-size:0.875rem;color:var(--cs-text-muted);margin:0.5rem 0 0}.form-divider{display:flex;align-items:center;gap:1rem;margin:2rem auto;max-width:480px}.form-divider::before,.form-divider::after{content:'';flex:1;height:1px;background:var(--cs-border)}.form-divider span{font-family:var(--cs-font-body);font-size:0.9rem;color:var(--cs-text-muted);text-transform:uppercase;letter-spacing:0.08em}.lead-form-wrapper{max-width:480px;margin:0 auto 2rem}.lead-form-wrapper h2{font-family:var(--cs-font-heading);font-size:1.5rem;font-weight:700;color:var(--cs-text-heading);margin:0 0 0.5rem;text-align:center}.lead-form-intro{font-size:1rem;color:var(--cs-text-muted);margin:0 0 1.5rem}.lead-form .form-group{margin-bottom:1.25rem}.lead-form .form-group label{display:block;font-family:var(--cs-font-heading);font-size:0.92rem;font-weight:600;color:var(--cs-text-heading);margin-bottom:0.4rem}.lead-form .form-group input,.lead-form .form-group select,.lead-form .form-group textarea{width:100%;padding:0.7rem 0.9rem;font-family:var(--cs-font-body);font-size:1rem;color:var(--cs-text);background:var(--cs-bg);border:2px solid var(--cs-border);border-radius:var(--cs-radius-sm);transition:border-color 0.2s;box-sizing:border-box;-webkit-appearance:none;appearance:none}.lead-form .form-group input:focus,.lead-form .form-group select:focus,.lead-form .form-group textarea:focus{outline:none;border-color:var(--cs-green);box-shadow:0 0 0 3px var(--cs-green-pale)}.lead-form .form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23414342' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.9rem center;padding-right:2.5rem}.lead-form .form-group textarea{resize:vertical;min-height:80px}.consent-group{margin-top:0.75rem;margin-bottom:0.25rem;background:var(--cs-bg);border:1px solid var(--cs-border);border-radius:var(--cs-radius-sm);padding:0.75rem 0.85rem}.lead-form .consent-group .consent-label{display:flex;align-items:flex-start;gap:0.6rem;font-family:var(--cs-font-body);font-size:0.68rem;line-height:1.4;color:var(--cs-text-muted);cursor:pointer;font-weight:400;letter-spacing:0.01em}.consent-label input[type="checkbox"]{width:18px !important;height:18px !important;min-width:18px;flex-shrink:0;margin-top:1px;padding:0 !important;accent-color:var(--cs-green-dark);border:1px solid var(--cs-border) !important;border-radius:3px !important;-webkit-appearance:checkbox !important;appearance:checkbox !important;cursor:pointer}.consent-label a{color:var(--cs-green-dark);font-weight:500}.form-submit-btn{display:block;width:100%;padding:0.85rem 2rem;font-family:var(--cs-font-heading);font-size:1.05rem;font-weight:700;color:#fff;background:var(--cs-green);border:none;border-radius:var(--cs-radius-pill);cursor:pointer;transition:background 0.2s,transform 0.15s;margin-top:0.5rem}.form-submit-btn:hover{background:var(--cs-green-dark);transform:translateY(-1px)}.form-submit-btn:active{transform:scale(0.98)}.form-submit-btn:disabled{opacity:0.6;cursor:not-allowed;transform:none}.form-success{text-align:center;background:var(--cs-green-light);border:2px solid var(--cs-green);border-radius:var(--cs-radius);padding:2rem 1.5rem}.form-success h3{font-family:var(--cs-font-heading);font-size:1.4rem;color:var(--cs-green-dark);margin:0 0 0.75rem}.form-success p{color:var(--cs-text-muted);margin:0 0 1rem}.cs-footer-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:2rem;padding-bottom:1.5rem}.cs-footer-brand img{height:32px;width:auto;filter:brightness(0) invert(1)}.cs-footer-links{display:flex;gap:1.5rem;flex-wrap:wrap}.cs-footer-links a{color:var(--cs-green);font-size:0.9375rem;text-decoration:none}.cs-footer-links a:hover{text-decoration:underline}.cs-footer-links a::after{display:none}.cs-footer-legal{padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.1);font-size:0.875rem;line-height:1.6;color:rgba(255,255,255,0.7)}.cs-footer-legal p{margin:0.25rem 0}.rate-cell .rate-stack{display:inline-block;text-align:center}.rate-cell .rate-monthly{display:inline-flex;align-items:center;gap:0.22em}.rate-cell .rate-monthly::after{content:"";display:inline-block;width:7px;height:7px;border-right:2px solid var(--cs-green,#139C6C);border-top:2px solid var(--cs-green,#139C6C);transform:rotate(45deg);transform-origin:center;margin-left:1px;flex:0 0 auto}.rate-cell:focus-visible{outline:3px solid var(--cs-green,#139C6C);outline-offset:-3px;border-radius:4px}@media (max-width:640px){.rate-cell .rate-monthly::after{width:6px;height:6px}}
/* --- rate-table tap affordance + mobile scroll fix ------------------- */
/* The hint rides the health-class heading row rather than sitting under it as
   its own paragraph: as a standalone line it read as a disclaimer, and it was
   the lowest-contrast text on the page. Right-aligned on the same row it reads
   as a property of the table. Colour and weight follow .hc-label /
   .rate-date-badge -- green-dark on a green tint is this sheet's idiom for a
   small accent, and grey is not. The verb swaps with pointer type, same
   pattern as .term-full/.term-short. */
.health-class-section h3{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}
.tap-hint{margin-left:auto;display:inline-block;background:var(--cs-green-pale);color:var(--cs-green-dark);border-radius:var(--cs-radius-pill);padding:0.3rem 0.85rem;font-family:var(--cs-font-body);font-size:0.75rem;font-weight:600;letter-spacing:0.01em;white-space:nowrap;line-height:1.5}
.tap-hint::before{content:"";display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);margin-right:0.45rem;vertical-align:middle;position:relative;top:-1px}
.tap-hint-touch{display:none}
@media (hover:none){.tap-hint-touch{display:inline}.tap-hint-mouse{display:none}}
/* Below the h3's wrap point the hint drops to its own line; keep it left-aligned
   with the heading instead of stranded against the right edge. */
@media (max-width:560px){.tap-hint{margin-left:0}}
/* max-height turned .table-wrapper into a scroll box inside a scrolling page:
   on a phone a vertical drag starting on the table moved the table, not the
   page. Dropping it below 768px lets the page scroll normally.

   Do NOT pair this with a `top` offset on the sticky <th>. .table-wrapper
   keeps overflow-x:auto, so it remains the sticky containing block -- a top
   value pushes the header row DOWN inside the table rather than offsetting it
   from the viewport, and it lands on top of the first data rows.

   Trade-off accepted: on phones the column headers now scroll away with the
   page instead of staying pinned inside a nested scroll box. */
@media (max-width:768px){.table-wrapper{max-height:none}}
/* Quick Rate Check widget (qrc) — sentence-with-dropdowns under the hero on age and term-length pages. Markup generated by tools/rate-widget/inject.py; behavior in rate-widget.js. */
.qrc-wrap{max-width:860px;margin:36px auto 48px}
.qrc-card{background:var(--cs-white);border:1px solid var(--cs-border);border-radius:var(--cs-radius);box-shadow:0 1px 3px rgba(0,0,0,0.04),0 12px 32px rgba(19,156,108,0.10);padding:32px 36px}
.qrc-eyebrow{font-family:var(--cs-font-heading);font-weight:700;font-size:12px;letter-spacing:0.08em;color:var(--cs-green);margin-bottom:14px}
.qrc-sentence{font-family:var(--cs-font-body);font-weight:400;font-size:21px;color:#33403B;line-height:1.9;margin:0}
.qrc-select{font-family:var(--cs-font-heading);font-weight:700;font-size:20px;color:var(--cs-green-dark);background:var(--cs-white);border:2px solid var(--cs-border);border-radius:var(--cs-radius-sm);padding:5px 8px;margin:5px 2px;vertical-align:middle;display:inline-block;cursor:pointer;transition:border-color 0.2s ease-out,box-shadow 0.2s ease-out}
.qrc-select:hover{border-color:var(--cs-green);background:#F5FBF8}
.qrc-select:focus{border-color:var(--cs-green);box-shadow:0 0 0 3px rgba(19,156,108,0.18);outline:none}
.qrc-chip-locked{display:inline-block;font-family:var(--cs-font-heading);font-weight:700;font-size:20px;color:#33403B;background:var(--cs-green-bg);border:2px solid var(--cs-border-light);border-radius:var(--cs-radius-sm);padding:5px 10px;margin:5px 2px;vertical-align:middle}
.qrc-result{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:18px;padding-top:22px;border-top:1px solid var(--cs-border-light)}
.qrc-price{font-family:var(--cs-font-heading);font-weight:800;font-size:50px;letter-spacing:-0.02em;color:var(--cs-green-dark);line-height:1;font-variant-numeric:tabular-nums}
.qrc-price-suffix{font-size:20px;font-weight:700;color:#6B7280}
.qrc-perday{font-size:15px;color:#6B7280;margin-top:8px}
.qrc-ctas{display:flex;flex-direction:column;gap:8px;margin-left:auto;align-items:flex-end}
.qrc-cta-row{display:flex;gap:10px}
.qrc-cta-table{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:var(--cs-radius-pill);background:var(--cs-white);border:2px solid var(--cs-green);color:var(--cs-green-dark);font-family:var(--cs-font-heading);font-weight:700;font-size:16px;text-decoration:none;transition:all 0.2s ease-out}
.qrc-cta-table:hover{background:var(--cs-green-light);color:var(--cs-green-dark)}
.qrc-cta-table:active{transform:scale(0.97)}
.qrc-cta-table.qrc-disabled{opacity:0.45;pointer-events:none}
.qrc-cta-quote{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 28px;border-radius:var(--cs-radius-pill);background:var(--cs-green);color:var(--cs-white);font-family:var(--cs-font-heading);font-weight:700;font-size:17px;text-decoration:none;transition:all 0.2s ease-out}
.qrc-cta-quote:hover{background:var(--cs-green-dark);color:var(--cs-white);transform:translateY(-2px);box-shadow:0 8px 24px rgba(19,156,108,0.2)}
.qrc-cta-quote:active{transform:scale(0.97)}
.qrc-trust{font-size:13px;color:#6B7280}
.rate-table tbody tr.qrc-hl-row th,.rate-table tbody tr.qrc-hl-row td{background-color:#F2FAF6}
.rate-table tbody tr.qrc-hl-row th{color:var(--cs-green-dark)}
.rate-table tbody tr td.qrc-hl-cell{background-color:#D9F2E6;transition:background-color 0.2s ease-out}
.rate-table tbody tr td.qrc-hl-cell .rate-monthly{color:var(--cs-green-dark);font-weight:800}
@media (max-width:640px){.qrc-card{padding:24px 18px}.qrc-sentence{font-size:18px;line-height:2}.qrc-select{font-size:17px;padding:5px 6px}.qrc-chip-locked{font-size:17px;padding:5px 8px}.qrc-result{flex-direction:column;align-items:center;gap:12px;text-align:center}.qrc-price{font-size:44px}.qrc-price-suffix{font-size:18px}.qrc-perday{font-size:14px}.qrc-ctas{margin-left:0;align-items:stretch;width:100%;gap:12px}.qrc-cta-row{flex-direction:column;gap:12px}.qrc-cta-quote{order:-1;width:100%;min-height:52px}.qrc-cta-table{width:100%;min-height:52px}.qrc-trust{text-align:center}}
@media (prefers-reduced-motion:reduce){.qrc-select,.qrc-cta-table,.qrc-cta-quote,.rate-table tbody tr td.qrc-hl-cell{transition:none}.qrc-cta-quote:hover{transform:none;box-shadow:none}}

/* Six items in the header nav since the Learn link (2026-09-27). At 2rem gaps they need ~626px, which the
   header does not have between the 768px drawer breakpoint and ~800px: the links wrapped onto two lines.
   Tighten the gap across that band instead of moving the breakpoint, so nothing else on the page reflows. */
@media (max-width:900px){.site-nav{gap:1.25rem}}
