:root{--color-teal: #0d7a6e;--color-teal-light: #0f9d8e;--color-blue: #1a5f7a;--color-blue-light: #2d8bb3;--color-slate: #334155;--color-slate-light: #64748b;--color-bg: #f8fafc;--color-bg-alt: #f1f5f9;--color-white: #ffffff;--color-text: #1e293b;--color-text-muted: #475569;--font-sans: "DM Sans", system-ui, -apple-system, sans-serif;--font-serif: "Source Serif 4", Georgia, serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius: 8px;--radius-lg: 12px;--shadow: 0 1px 3px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .06);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;font-family:var(--font-sans);font-size:1.0625rem;line-height:1.6;color:var(--color-text);background-color:var(--color-bg)}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:700;line-height:1.25;color:var(--color-text)}h1{font-size:clamp(1.75rem,4vw,2.5rem)}h2{font-size:clamp(1.5rem,3vw,2rem)}h3{font-size:clamp(1.25rem,2.5vw,1.5rem)}p{margin:0 0 var(--space-md);color:var(--color-text)}p:last-child{margin-bottom:0}a{color:var(--color-teal);font-weight:500;text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-teal-light)}a:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px}button{font-family:var(--font-sans);cursor:pointer}.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}.container{width:100%;max-width:720px;margin:0 auto;padding:0 var(--space-lg)}.container--wide{max-width:960px}.app{display:flex;flex-direction:column;min-height:100vh}.app__body{flex:1}.header{background:var(--color-white);box-shadow:var(--shadow);position:sticky;top:0;z-index:100}.header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);min-height:4rem;padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.header__brand{display:flex;align-items:center;gap:var(--space-md);color:var(--color-text);font-weight:600;font-size:1rem}.header__brand:hover{color:var(--color-teal)}.header__logo{height:2.5rem;width:auto;display:block}.header__title{max-width:12ch;line-height:1.2}@media(min-width:640px){.header__title{max-width:none}}.header__nav{display:none}@media(min-width:768px){.header__nav{display:block}.header__menu-btn{display:none}}.header__list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:var(--space-xl)}.header__link{color:var(--color-text-muted);font-weight:500;font-size:.9375rem}.header__link:hover,.header__link--active{color:var(--color-teal)}.header__menu-btn{padding:var(--space-sm) var(--space-md);background:none;border:none;display:flex;align-items:center;justify-content:center}.header__menu-icon{width:1.5rem;height:2px;background:var(--color-text);box-shadow:0 -6px 0 var(--color-text),0 6px 0 var(--color-text)}@media(min-width:768px){.header__menu-btn{display:none}}.footer{background:var(--color-bg-alt);border-top:1px solid rgba(26,95,122,.12);color:var(--color-text);padding:var(--space-2xl) var(--space-lg);margin-top:auto}.footer__inner{text-align:center}.footer__brand{display:inline-flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);color:var(--color-text);text-decoration:none}.footer__brand:hover{color:var(--color-teal)}.footer__logo{height:2rem;width:auto;display:block}.footer__title{font-family:var(--font-serif);font-weight:700;font-size:1rem}.footer__tagline{color:var(--color-text-muted);font-size:.9375rem;max-width:36ch;margin-left:auto;margin-right:auto;margin-bottom:var(--space-lg)}.footer__nav{margin-bottom:var(--space-md)}.footer__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md) var(--space-xl)}.footer__list a{color:var(--color-text-muted);font-size:.9375rem;font-weight:500}.footer__list a:hover{color:var(--color-teal)}.footer__secondary{margin:0 0 var(--space-lg);font-size:.9375rem}.footer__secondary a{font-weight:500}.footer__copy{font-size:.8125rem;color:var(--color-text-muted);margin:0}.hero{position:relative;padding:var(--space-3xl) var(--space-lg);overflow:hidden}.hero--compact{padding:var(--space-2xl) var(--space-lg)}.hero__bg{position:absolute;inset:0;background:linear-gradient(135deg,#0d7a6e0f,#1a5f7a14,#f8fafc),url(/hero-bg.png) center / cover no-repeat}.hero__content{position:relative;z-index:1;text-align:center}.hero__title{margin:0 0 var(--space-md);color:var(--color-slate);max-width:20ch;margin-left:auto;margin-right:auto}.hero__subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:42ch;margin:0 auto;line-height:1.5}.hero__subtitle--lead{max-width:48ch;margin-bottom:var(--space-sm);font-weight:500;color:var(--color-slate)}@media(min-width:640px){.hero__title{max-width:none}.hero__subtitle,.hero__subtitle--lead{font-size:1.25rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);font-family:var(--font-sans);font-size:1rem;font-weight:600;line-height:1.25;border-radius:var(--radius);border:none;cursor:pointer;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;text-decoration:none}.btn--primary{background:var(--color-teal);color:var(--color-white)}.btn--primary:hover{background:var(--color-teal-light)}.btn--secondary{background:var(--color-bg-alt);color:var(--color-slate)}.btn--secondary:hover{background:var(--color-slate-light);color:var(--color-white)}.btn:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px}.card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow);transition:box-shadow .2s ease}.card--link{display:block;text-decoration:none;color:inherit}.card--link:hover{box-shadow:var(--shadow-lg)}.card--link .card__title{color:var(--color-teal)}.card--link:hover .card__title{color:var(--color-teal-light)}.card__title{margin:0 0 var(--space-sm);font-size:1.25rem}.card__desc{margin:0;color:var(--color-text-muted);font-size:.9375rem;line-height:1.5}.home-main{padding-bottom:var(--space-3xl)}.section{padding:var(--space-2xl) 0}.section--intro{padding-top:var(--space-2xl)}.section__title{margin:0 0 var(--space-md)}.section__title--center{text-align:center;margin-bottom:var(--space-xl)}.section__lead{font-size:1.125rem;color:var(--color-text-muted);max-width:60ch;margin-bottom:var(--space-xl)}.section__lead--tight{margin-bottom:var(--space-lg)}.section__actions{display:flex;flex-wrap:wrap;gap:var(--space-md)}.section--cards{position:relative;overflow:hidden}.section--cards:before,.section--cards:after{content:"";position:absolute;border-radius:50%;filter:blur(72px);opacity:.4;pointer-events:none;z-index:0}.section--cards:before{width:min(320px,90vw);height:min(320px,90vw);background:#0d7a6e38;top:-100px;left:-80px}.section--cards:after{width:min(260px,80vw);height:min(260px,80vw);background:#1a5f7a2e;bottom:-60px;right:-50px}.section--cards .container{position:relative;z-index:1}.card-grid{display:grid;gap:var(--space-lg);grid-template-columns:1fr}@media(min-width:640px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.card-grid{grid-template-columns:repeat(3,1fr)}}.section--additional{position:relative;background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-alt) 100%)}.section--additional:before{content:"";position:absolute;left:50%;top:0;transform:translate(-50%);width:min(420px,70vw);height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,rgba(13,122,110,.35),rgba(26,95,122,.35),transparent);opacity:.9}.additional-resources{list-style:none;margin:0;padding:0;max-width:52ch}.additional-resources li{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid rgba(26,95,122,.12)}.additional-resources li:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.additional-resources a{display:inline-block;font-weight:600;margin-bottom:var(--space-xs)}.additional-resources__note{display:block;font-size:.9375rem;color:var(--color-text-muted);line-height:1.45}.section--why{background:var(--color-bg-alt)}.section--why .section__title{margin-bottom:var(--space-lg)}.section--why p{max-width:65ch}.resources-main{padding-bottom:var(--space-3xl)}.resources-intro{max-width:60ch;margin-bottom:var(--space-2xl);color:var(--color-text-muted)}.resource-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-lg)}.resource-status--live{color:var(--color-blue)}.book-main{padding-bottom:var(--space-3xl)}.book-content{max-width:65ch}.book-content h2{font-size:1.5rem;margin-bottom:var(--space-lg)}.book-content p{margin-bottom:var(--space-lg)}.newsletter-main{padding-bottom:var(--space-3xl)}.newsletter-content{max-width:36rem}.newsletter-intro-row{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl)}@media(min-width:640px){.newsletter-intro-row{flex-direction:row;align-items:flex-start;gap:var(--space-xl)}.newsletter-intro{flex:1;margin-bottom:0}.newsletter-soon{flex-shrink:0;margin:0;padding-top:.15em}}.newsletter-intro{margin-bottom:0;color:var(--color-text-muted)}.newsletter-soon{margin:0;font-family:var(--font-serif);font-weight:700;font-size:1.125rem;color:var(--color-teal)}.newsletter-form{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-md)}.newsletter-label{font-weight:500;font-size:.9375rem}.newsletter-input{font-family:var(--font-sans);font-size:1rem;padding:var(--space-md);border:1px solid var(--color-slate-light);border-radius:var(--radius);max-width:20rem}.newsletter-input:focus{outline:2px solid var(--color-teal);outline-offset:0}.newsletter-input::placeholder{color:var(--color-slate-light)}.newsletter-submit{align-self:flex-start}.newsletter-message{padding:var(--space-lg);border-radius:var(--radius);margin-bottom:var(--space-md)}.newsletter-message--success{background:#0d7a6e1a;color:var(--color-teal)}.newsletter-message p{margin:0;font-weight:500}.newsletter-note{font-size:.875rem;color:var(--color-text-muted);margin:0}.contact-main{padding-bottom:var(--space-3xl)}.contact-content{max-width:55ch}.contact-content p{margin-bottom:var(--space-lg)}.contact-email{font-size:1.125rem;font-weight:600}.guide-main{padding-bottom:var(--space-3xl)}.container--guide{max-width:52rem}.guide-back{margin:0 0 var(--space-lg);font-size:.9375rem}.guide-back a{font-weight:500}.guide-doc-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-3xl);padding-top:var(--space-lg);border-top:1px solid rgba(26,95,122,.12);font-size:.8125rem;color:var(--color-text-muted)}.guide-doc-footer strong{color:var(--color-text);font-weight:600}.guide-banner{background:linear-gradient(135deg,var(--color-blue) 0%,#1a4a63 100%);color:var(--color-white);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);text-align:center;font-size:.9375rem;line-height:1.45;margin:var(--space-2xl) 0}.guide-banner a{color:#fffffff2;font-weight:600;text-decoration:underline;text-underline-offset:2px}.guide-banner a:hover{color:var(--color-white)}.guide-replace .guide-intro{background:#0d7a6e14;border:1px solid rgba(13,122,110,.18);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);margin-bottom:var(--space-2xl)}.guide-replace .guide-intro h2{margin:0 0 var(--space-sm);font-size:.875rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-teal)}.guide-replace .guide-intro p{margin:0;color:var(--color-text)}.guide-legend{display:flex;flex-wrap:wrap;gap:var(--space-md) var(--space-xl);margin-bottom:var(--space-2xl);padding:var(--space-lg);background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.guide-legend__item{display:flex;align-items:center;gap:var(--space-md);font-size:.9375rem;color:var(--color-text-muted)}.guide-legend__swatch{width:2.75rem;height:2.75rem;border-radius:var(--radius);flex-shrink:0;border:1px solid rgba(0,0,0,.06)}.guide-legend__swatch--safe{background:#0d7a6e33;border-color:#0d7a6e59}.guide-legend__swatch--caution{background:#c4965a38;border-color:#b4824666}.guide-legend__swatch--replace{background:#ba6e732e;border-color:#a5555a61}.guide-section-block{margin-bottom:var(--space-3xl)}.guide-section-block h2{margin:0 0 var(--space-lg);padding-left:var(--space-md);border-left:4px solid var(--color-teal);font-size:1.35rem}.status-table{display:flex;flex-direction:column;gap:var(--space-md)}.status-row{display:grid;grid-template-columns:auto 1fr;gap:var(--space-md) var(--space-lg);align-items:start;padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid transparent;background:var(--color-white);box-shadow:var(--shadow)}.status-row__badge{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius);white-space:nowrap;align-self:start}.status-row--safe{border-color:#0d7a6e40;background:#0d7a6e0f}.status-row--safe .status-row__badge{background:#0d7a6e38;color:#0a5c52}.status-row--caution{border-color:#b4824647;background:#c4965a1a}.status-row--caution .status-row__badge{background:#c4965a59;color:#6b4a22}.status-row--replace{border-color:#a5555a47;background:#ba6e7314}.status-row--replace .status-row__badge{background:#ba6e7347;color:#6e3538}.status-row__body p{margin:0 0 var(--space-sm)}.status-row__body p:last-child{margin-bottom:0}.status-row__note{font-size:.9375rem;color:var(--color-text-muted)}.guide-footnote{margin-top:var(--space-lg);font-size:.875rem;color:var(--color-text-muted);max-width:55ch}.guide-divider-title{margin:var(--space-3xl) 0 var(--space-xl);text-align:center;font-size:clamp(1.35rem,3vw,1.65rem);padding-bottom:var(--space-md);border-bottom:2px solid rgba(13,122,110,.2)}.guide-callout{border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);margin-bottom:var(--space-xl);border:1px solid transparent}.guide-callout h3{margin:0 0 var(--space-md);font-size:1.125rem}.guide-callout p,.guide-callout ul{margin:0;color:var(--color-text)}.guide-callout ul{padding-left:1.25rem}.guide-callout li+li{margin-top:var(--space-sm)}.guide-callout--routers{background:#2d8bb314;border-color:#1a5f7a33}.guide-callout--routers h3{color:var(--color-blue)}.guide-callout--devices{background:#c4a56e1f;border-color:#a0825038}.guide-callout--devices h3{color:#6b5530}.guide-callout--surge{background:#64748b14;border-color:#64748b33}.guide-callout--surge h3{color:var(--color-slate)}.model-grid{display:grid;gap:var(--space-md);grid-template-columns:1fr;margin-bottom:var(--space-xl)}@media(min-width:640px){.model-grid{grid-template-columns:repeat(2,1fr)}}.model-card{background:var(--color-bg-alt);border:1px solid rgba(26,95,122,.1);border-radius:var(--radius-lg);padding:var(--space-lg)}.model-card h4{margin:0 0 var(--space-sm);font-size:1rem}.model-card p{margin:0;font-size:.9375rem;color:var(--color-text-muted);line-height:1.5}.model-card--wide{grid-column:1 / -1}@media(min-width:640px){.model-card--wide{grid-column:1 / span 2;max-width:36rem;margin-left:auto;margin-right:auto;width:100%}}.guide-rule{background:linear-gradient(145deg,#1a5f7a1f,#0d7a6e1a);border:1px solid rgba(26,95,122,.22);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-2xl)}.guide-rule h2{margin:0 0 var(--space-md);font-size:1.25rem;color:var(--color-blue)}.guide-rule p{margin:0 0 var(--space-md)}.guide-rule p:last-child{margin-bottom:0}.guide-closing{background:linear-gradient(135deg,#0d7a6ed9,#1a5f7ae6);color:var(--color-white);padding:var(--space-xl);border-radius:var(--radius-lg);text-align:center;font-size:1.0625rem;line-height:1.55}.guide-closing p{margin:0;color:#fffffff5}.guide-sim .guide-kicker{font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-teal);margin-bottom:var(--space-sm)}.guide-sim .guide-panel{border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-2xl);border:1px solid transparent}.guide-sim .guide-panel--teal{background:#0d7a6e17;border-color:#0d7a6e33}.guide-sim .guide-panel--teal h2{margin:0 0 var(--space-md);font-size:.875rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-teal)}.guide-sim .guide-panel--teal p{margin:0 0 var(--space-md)}.guide-sim .guide-panel--teal ul{margin:0;padding-left:1.25rem}.guide-sim .guide-panel--teal li+li{margin-top:var(--space-xs)}.guide-sim .guide-panel--teal .guide-subhead{margin:var(--space-lg) 0 var(--space-sm);font-size:1rem;font-weight:600;color:var(--color-teal)}.guide-sim h2.section-title{margin:var(--space-3xl) 0 var(--space-lg);padding-left:var(--space-md);border-left:4px solid var(--color-teal);font-size:1.35rem}.guide-sim h2.section-title.section-title--accent{border-left-color:#c45c5c}.guide-sim h2.section-title.section-title--amber{border-left-color:#c9a060}.guide-steps{display:grid;gap:var(--space-lg);grid-template-columns:1fr;margin-bottom:var(--space-2xl)}@media(min-width:768px){.guide-steps{grid-template-columns:repeat(3,1fr)}}.guide-step-card{background:var(--color-bg-alt);border:1px solid rgba(26,95,122,.12);border-radius:var(--radius-lg);padding:var(--space-lg);position:relative}.guide-step-num{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:#b84d4d;color:var(--color-white);font-weight:700;font-size:.875rem;margin-bottom:var(--space-md)}.guide-step-card h3{margin:0 0 var(--space-sm);font-size:1rem}.guide-step-card p{margin:0;font-size:.9375rem;color:var(--color-text-muted);line-height:1.55}.guide-sim .guide-panel--risk{background:#c8786e1a;border-color:#b45a5f38}.guide-sim .guide-panel--risk p{margin:0}.guide-stats{display:grid;gap:var(--space-lg);margin-bottom:var(--space-2xl)}@media(min-width:640px){.guide-stats{grid-template-columns:1fr 1fr minmax(0,1.4fr);align-items:stretch}}.guide-stat{border:1px solid rgba(201,160,96,.45);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center;background:#fffcf8e6}.guide-stat strong{display:block;font-size:1.75rem;font-family:var(--font-serif);color:var(--color-blue);margin-bottom:var(--space-sm)}.guide-stat span{font-size:.8125rem;color:var(--color-text-muted);line-height:1.4}.guide-stats-copy{font-size:.9375rem;color:var(--color-text);line-height:1.55}@media(min-width:640px){.guide-stats-copy{padding-top:var(--space-sm)}}.guide-prevent-grid{display:grid;gap:var(--space-lg);grid-template-columns:1fr}@media(min-width:640px){.guide-prevent-grid{grid-template-columns:repeat(2,1fr)}}.guide-prevent-card{background:#2d8bb314;border:1px solid rgba(26,95,122,.15);border-radius:var(--radius-lg);padding:var(--space-lg)}.guide-prevent-card .num{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--color-teal);color:var(--color-white);font-weight:700;font-size:.8125rem;margin-bottom:var(--space-sm)}.guide-prevent-card h3{margin:0 0 var(--space-sm);font-size:1rem}.guide-prevent-card p{margin:0;font-size:.9375rem;color:var(--color-text-muted);line-height:1.55}.guide-sim .guide-panel--warn{background:#dcbe7826;border-color:#be964640}.guide-sim .guide-panel--warn h2{display:flex;align-items:center;gap:var(--space-sm);margin:0 0 var(--space-md);font-size:1.125rem;color:#6b5530}.guide-warn-icon{width:1.75rem;height:1.75rem;border-radius:var(--radius-sm);background:#c8823259;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.875rem;color:#5c3d12}.guide-sim .guide-panel--urgent{background:#ba6e731a;border-color:#a5555a38}.guide-sim .guide-panel--urgent h2{display:flex;align-items:center;gap:var(--space-sm);margin:0 0 var(--space-md);font-size:1.125rem;color:#5c3034}.guide-urgent-icon{width:1.75rem;height:1.75rem;border-radius:50%;background:#a5555a59;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.875rem;color:#5c3034}.guide-sim .guide-panel--habits{background:#0d7a6e14;border-color:#0d7a6e2e}.guide-sim .guide-panel--habits h2{display:flex;align-items:center;gap:var(--space-sm);margin:0 0 var(--space-md);font-size:1.125rem;color:#0a5c52}.guide-check-icon{width:1.75rem;height:1.75rem;border-radius:50%;background:#0d7a6e40;display:flex;align-items:center;justify-content:center;font-weight:700;color:#0a5c52}.guide-sim ul.plain{margin:0;padding-left:1.25rem}.guide-sim ul.plain li+li{margin-top:var(--space-sm)}.guide-sim .guide-panel p.lead{margin-top:0}
