:root{--ink:#152b3e;--muted:#566b7a;--line:#d9e1e7;--paper:#fff;--bg:#f1f4f6;--blue:#345bd8;--acid:#dbf275}
.skip-link{position:absolute;left:16px;top:-80px;background:var(--ink);color:white;padding:12px 18px;z-index:20;border-radius:5px}.skip-link:focus{top:12px}.brand-link{color:var(--ink);text-decoration:none}.brand-name{font-size:1.25rem;letter-spacing:-.035em;font-weight:750}.site-nav{display:flex;align-items:center;gap:26px;align-self:stretch}.site-nav a{display:flex;align-items:center;color:var(--muted);font-size:.9375rem;font-weight:600;text-decoration:none;border-bottom:3px solid transparent;padding:3px 0 0}.site-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--blue)}.site-nav a:hover{color:var(--blue)}.guide-help-link{display:inline-block;font-size:.8125rem;font-weight:600;color:var(--blue);text-decoration:none;margin-bottom:4px}.guide-help-link:hover{text-decoration:underline}.site-footer{max-width:1280px;margin:auto;padding:28px 32px 38px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:.8125rem;color:var(--muted);line-height:1.6}.site-footer a{font-weight:600;text-decoration:none;margin-left:18px}.planner-guide-banner{margin-top:24px;padding:20px;background:white;border:1px solid var(--line);border-radius:7px;display:flex;justify-content:space-between;align-items:center;gap:20px}.planner-guide-banner h3{margin:0 0 6px}.planner-guide-banner p{margin:0;color:var(--muted);font-size:.875rem;line-height:1.6}.planner-guide-banner a{white-space:nowrap;text-decoration:none}.tab-state-note{font-size:.75rem;color:var(--muted);line-height:1.6;margin:18px 0 0}
.guide-page{background:#f5f7f8}.guide-shell{max-width:1250px;margin:auto;padding:44px 32px 60px}.guide-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;margin-bottom:40px}.guide-intro h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(2rem,4vw,3.25rem);line-height:1.12;letter-spacing:-.045em;margin:14px 0 20px;max-width:550px}.guide-intro p{font-size:1.0625rem;line-height:1.8;color:var(--muted);max-width:540px}.guide-intro .button{display:inline-block;text-decoration:none;margin-top:12px}.guide-photo{margin:0}.guide-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:8px}.guide-photo figcaption{font-size:.75rem;line-height:1.6;color:var(--muted);margin-top:8px}.guide-stage-label{font-size:.8125rem;font-weight:600;color:var(--muted);margin:0 0 18px}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.guide-card{display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:8px;padding:26px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}.guide-card:hover{border-color:var(--blue);transform:translateY(-2px)}.guide-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.guide-number{display:grid;place-items:center;background:var(--ink);color:var(--acid);width:44px;height:44px;border-radius:5px;font-size:1.125rem;font-variant-numeric:tabular-nums}.guide-time{color:var(--muted);font-size:.8125rem}.guide-card h2{font-size:1.35rem;margin:0 0 12px;letter-spacing:-.025em}.guide-card p{font-size:1rem;line-height:1.75;color:var(--muted);margin:0 0 24px}.guide-card .topics{font-size:.8125rem;border-top:1px solid var(--line);padding-top:14px;margin-top:auto;color:var(--muted);line-height:1.65}.parts-explainer{margin-top:36px;background:white;border:1px solid var(--line);border-radius:8px;padding:28px;display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center}.parts-explainer h2{margin:0 0 15px}.parts-explainer p{font-size:1rem;line-height:1.8;color:var(--muted)}.diagram-wrap{background:var(--ink);border-radius:7px;padding:20px;overflow:auto}.diagram-wrap svg{display:block;width:100%;height:auto;min-width:400px;color:#d9e7ee}.diagram-caption{font-size:.8125rem;color:var(--muted);margin:10px 0 0;line-height:1.6}.source-note{font-size:.8125rem;color:var(--muted);line-height:1.7;margin-top:25px}.source-note a{color:var(--blue)}
.article-shell{max-width:1250px;margin:auto;padding:30px 32px 60px}.breadcrumbs{display:flex;gap:10px;align-items:center;font-size:.8125rem;color:var(--muted);margin-bottom:30px;flex-wrap:wrap}.breadcrumbs a{text-decoration:none}.article-grid{display:grid;grid-template-columns:215px minmax(0,760px);gap:60px;justify-content:center}.article-toc{position:sticky;top:24px;align-self:start}.article-toc .eyebrow{display:block;margin-bottom:17px}.article-toc ol{list-style:none;padding:0;margin:0;border-left:1px solid var(--line)}.article-toc li{margin-bottom:5px}.article-toc a{display:block;padding:9px 15px;text-decoration:none;color:var(--muted);font-size:.875rem;line-height:1.5;border-left:2px solid transparent;margin-left:-1px}.article-toc a:hover,.article-toc a:focus{color:var(--blue);border-left-color:var(--blue)}.article-toc .button{display:block;text-align:center;margin-top:22px;text-decoration:none}.article{min-width:0}.article-header{border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:30px}.article-header h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.8vw,2.9rem);font-weight:400;letter-spacing:-.045em;line-height:1.15;margin:15px 0 20px}.article-deck{font-size:1.125rem;color:var(--muted);line-height:1.8;margin:0 0 24px}.article-meta{display:flex;gap:20px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.8125rem}.article-meta button{margin-left:auto}.article p,.article li{font-size:1rem;line-height:1.85}.article p{margin:0 0 18px}.article section{margin-bottom:38px;scroll-margin-top:25px}.article h2{font-size:1.5rem;letter-spacing:-.025em;line-height:1.35;margin:0 0 18px}.article h3{font-size:1.125rem;line-height:1.5;margin:22px 0 12px}.article ul,.article ol{padding-left:22px;margin:0 0 20px}.article li+li{margin-top:9px}.article table{background:white;border:1px solid var(--line);font-size:.9375rem;line-height:1.65}.article th{font-size:.8125rem;white-space:normal;text-transform:none;letter-spacing:0}.article td,.article th{padding:12px 14px}.article .table-scroll{margin:20px 0}.article .table-scroll table{min-width:460px}.article .callout{background:#eaf0fb;border-left:3px solid var(--blue);padding:18px 22px;margin:22px 0;border-radius:0 5px 5px 0}.article .callout p{margin-bottom:0;font-size:.9375rem;line-height:1.8}.article .callout strong{display:block;margin-bottom:8px}.article .callout.craft-note{background:#edf2e9;border-color:#668257}.article .equation{background:var(--ink);color:var(--acid);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9375rem;line-height:1.8;padding:20px 24px;border-radius:6px;margin:22px 0;overflow:auto}.article .checklist{background:white;border:1px solid var(--line);border-radius:7px;padding:18px 22px}.article .checklist label{font-size:1rem;font-weight:400;padding:12px 0;display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid #e8edf1;line-height:1.7}.article .checklist label:last-child{border-bottom:0}.article .checklist input{width:18px;height:18px;accent-color:var(--blue);flex-shrink:0;margin:4px 0 0}.article .source-links{font-size:.875rem;line-height:1.8;list-style:none;padding:0}.article .source-links li{font-size:.875rem}.article .source-links span{display:block;color:var(--muted);font-size:.8125rem}.next-guide{border-top:1px solid var(--line);padding-top:28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.next-guide h3{margin:7px 0 0}.next-guide a{text-decoration:none}.article .diagram-wrap{margin:24px 0 10px}.article .diagram-caption{font-size:.8125rem;line-height:1.65}.article details.faq{border:1px solid var(--line);padding:0 18px;background:white;border-radius:6px;margin-top:12px}.article details.faq summary{font-size:1rem;font-weight:550}.article details.faq p{font-size:.9375rem;line-height:1.8}.method-scope{font-size:.875rem!important;line-height:1.7!important;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:26px!important}
@media(max-width:1020px){.article-grid{grid-template-columns:180px minmax(0,1fr);gap:35px}.guide-intro{gap:30px}.site-nav{gap:20px}.header .private-label{display:none}}
@media(max-width:780px){.header{flex-wrap:wrap;gap:14px}.site-nav{order:3;width:100%;gap:26px;align-self:auto;height:36px}.site-nav a{padding:0 0 10px}.guide-shell{padding:30px 20px 40px}.guide-intro{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.guide-intro p{font-size:1rem}.guide-photo img{max-height:290px;object-position:center 64%}.guide-grid{gap:14px}.guide-card{padding:20px}.guide-card h2{font-size:1.2rem}.guide-card p{font-size:.9375rem}.guide-card-top{margin-bottom:20px}.parts-explainer{grid-template-columns:1fr;gap:20px;padding:22px}.article-shell{padding:24px 20px 40px}.article-grid{display:block}.article-toc{position:static;margin-bottom:28px}.article-toc ol{display:flex;gap:8px;flex-wrap:wrap;border-left:0}.article-toc a{border:1px solid var(--line);background:white;padding:8px 12px;margin:0;border-radius:4px}.article-toc .button{display:none}.article-toc .eyebrow{margin-bottom:12px}.article-toc li{margin:0}.article-header{margin-bottom:25px;padding-bottom:24px}.article-deck{font-size:1rem}.site-footer{padding:24px 20px 35px;flex-direction:column;gap:10px}.site-footer a{margin:0 20px 0 0}.planner-guide-banner{align-items:flex-start;flex-direction:column}.guide-page .plan-footer{padding-bottom:0}.next-guide{align-items:flex-start}.next-guide h3{font-size:1rem}}
@media(max-width:480px){.guide-grid{grid-template-columns:1fr}.guide-card p{margin-bottom:18px}.guide-card-top{margin-bottom:18px}.guide-intro h1{font-size:2.4rem}.article-header h1{font-size:2.2rem}.article-meta{gap:10px}.article-meta button{width:100%;margin:8px 0 0}.next-guide{flex-direction:column}.article .callout,.article .checklist{padding:16px 18px}.guide-number{width:36px;height:36px;font-size:1rem}}
.feedback-band{max-width:1210px;margin:0 auto 24px;padding:24px 32px;background:#fff;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:24px}.feedback-band strong{font-size:1rem;font-weight:600;line-height:1.6}.feedback-band p{font-size:.875rem;line-height:1.6;color:var(--muted);margin:6px 0 0}.feedback-band .button{font-size:.875rem;flex-shrink:0;white-space:normal;text-align:center;max-width:100%}.feedback-dialog{color:var(--ink);background:white;border:0;border-radius:10px;padding:28px;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 20px 80px #152b3e55}.feedback-dialog::backdrop{background:#102633a6}.feedback-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.feedback-dialog-heading h2{font-size:1.375rem;margin:0}.feedback-close{background:transparent;color:var(--ink);border:0;padding:0 5px;font-size:1.8rem;line-height:1;cursor:pointer}.feedback-description{font-size:1rem;line-height:1.7;color:var(--muted);margin:15px 0 20px}.feedback-dialog label{font-size:.875rem}.feedback-dialog select{width:100%;margin:7px 0 20px}.feedback-dialog textarea{font-family:inherit;font-size:1rem;line-height:1.6;border:1px solid #cbd5dd;border-radius:5px;padding:11px 12px;width:100%;resize:vertical;margin-top:7px;min-height:140px}.feedback-count{display:block;text-align:right;font-size:.75rem;color:var(--muted);margin-top:5px}.feedback-privacy{font-size:.8125rem;line-height:1.7;color:var(--muted);margin:17px 0 0}.feedback-privacy-details{margin-top:12px}.feedback-privacy-details summary{font-size:.8125rem;padding:12px 0}.feedback-privacy-details p{font-size:.8125rem;line-height:1.7;color:var(--muted);margin:0 0 16px}.feedback-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.feedback-form-actions{display:flex;align-items:center;gap:24px;margin-top:22px}.feedback-status{font-size:.9375rem;line-height:1.7;margin:18px 0 0}.feedback-status:empty{display:none}.feedback-status.error{color:#a83423;background:#fff0ed;padding:14px;border-radius:5px}.feedback-status.success{color:#254e35;background:#edf5ef;padding:18px;border-radius:5px}.feedback-dialog [hidden]{display:none!important}
@media(max-width:780px){.feedback-band{margin:0 20px 24px;padding:22px;flex-direction:column;align-items:flex-start;gap:16px}.feedback-dialog{padding:22px}.feedback-band .button{width:100%;font-size:.875rem}}
@media print{.feedback-band,.feedback-dialog{display:none!important}}
@media print{.site-nav,.site-footer,.planner-guide-banner,.tab-state-note,.skip-link,.article-toc,.breadcrumbs,.article-meta button,.next-guide{display:none!important}.guide-page{background:white}.article-shell{padding:15px 0}.article-grid{display:block}.article-header h1{font-size:28px}.article-deck{font-size:14px}.article p,.article li,.article td,.article th{font-size:12px;line-height:1.65}.article h2{font-size:20px;break-after:avoid}.article h3{font-size:16px;break-after:avoid}.article section{margin-bottom:24px}.article .callout,.article .diagram-wrap,.article .checklist{break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}.article .diagram-wrap svg{min-width:0}.article .equation{print-color-adjust:exact;-webkit-print-color-adjust:exact;font-size:12px}.article .table-scroll{overflow:visible}.article .table-scroll table{min-width:0}.article .source-links a{font-size:12px}.article details.faq>p{display:block}.article .method-scope{font-size:11px!important}.guide-photo{max-width:400px}.guide-card{break-inside:avoid}}
.info-shell{max-width:860px;margin:auto;padding:48px 32px 64px}.info-shell .article-header{margin-bottom:28px}.info-shell .article section{margin-top:32px}.policy-date{font-size:.8125rem;color:var(--muted)}.page-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.page-actions a,.info-shell a.button{text-decoration:none}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 18px;max-width:560px}.site-footer nav a{margin:0}.feedback-dialog input[type=email]{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);font:inherit}.optional-label{font-weight:400;color:var(--muted)}.feedback-status{overflow-wrap:anywhere}.feedback-dialog input[type=email]:focus{outline:2px solid var(--blue);outline-offset:2px}.private-label{white-space:nowrap}
@media(max-width:780px){.info-shell{padding:32px 20px 42px}.site-footer nav{justify-content:flex-start}.info-shell .article-header h1{font-size:2rem}}
@media print{.info-shell{max-width:none;padding:0}.info-shell button{display:none}}
@media(max-width:780px){.planner-page .site-footer{padding-bottom:96px}}
