:root{color-scheme:light;--background:#fff;--surface:#f5f5f7;--text:#1d1d1f;--muted:#606065;--line:#d5d5da;--card:#fff;--header:rgba(255,255,255,.96);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:17px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-block-start:6rem}
body{margin:0;background:var(--background);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
[data-theme="dark"]{color-scheme:dark;--background:#111214;--surface:#1b1c1f;--text:#f5f5f7;--muted:#b6b6bf;--line:#45464f;--card:#242529;--header:rgba(17,18,20,.96)}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
button{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:3px}
main:focus{outline:none}
img{display:block;max-width:100%;height:auto}
picture{display:block}
figure{margin:0}
h1,h2,h3,p{margin-block-start:0}
h1,h2,h3{line-height:1.08;letter-spacing:-.045em;font-weight:650}
h1{font-size:clamp(2.6rem,6vw,4.7rem);margin-block-end:1.4rem}
h2{font-size:clamp(2rem,3.7vw,3.25rem);margin-block-end:1.35rem}
h3{font-size:1.5rem;line-height:1.2;letter-spacing:-.025em}
p{margin-block-end:1.25rem}
button[hidden]{display:none}
.container{width:min(1120px,calc(100% - 64px));margin-inline:auto}
.narrow{max-width:760px}
.section-space{padding-block:5.5rem}
.eyebrow{text-transform:uppercase;font-size:.69rem;font-weight:700;letter-spacing:.13em;line-height:1.5;color:var(--muted);margin-block-end:1.1rem}
.lead{font-size:1.33rem;line-height:1.5;color:var(--muted);letter-spacing:-.025em}
.metadata{font-size:.81rem;line-height:1.6;color:var(--muted)}
.skip-link{position:fixed;inset-block-start:.5rem;inset-inline-start:1rem;z-index:20;transform:translateY(-200%);padding:.75rem 1rem;background:var(--card);color:var(--text);border:2px solid var(--accent)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;inset-block-start:0;z-index:5;background:var(--header);border-block-end:1px solid var(--line)}
.header-inner{width:min(1120px,calc(100% - 48px));min-height:76px;margin-inline:auto;display:flex;gap:2rem;align-items:center;justify-content:space-between}
.wordmark{display:inline-flex;align-items:center;gap:.65rem;min-height:44px;text-decoration:none;color:var(--text);font-weight:650;font-size:1.12rem;letter-spacing:-.03em;overflow-wrap:anywhere}
.wordmark img{flex-shrink:0;max-width:none}
.main-navigation{display:flex;align-items:center;gap:1.7rem;margin-inline-start:auto}
.main-navigation a{display:flex;align-items:center;min-height:44px;color:var(--text);text-decoration:none;font-size:.77rem;font-weight:500}
.main-navigation a[aria-current],.main-navigation a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.4em}
.appearance-control{display:block;min-width:116px;min-height:44px}.theme-toggle{flex-shrink:0;border:1px solid var(--line);border-radius:30px;min-height:44px;padding:.4rem .75rem;background:transparent;cursor:pointer;display:flex;align-items:center;gap:.4rem;font-size:.68rem;font-weight:600}
.theme-symbol{font-size:1.13rem;line-height:1}
.preview-notice{font-size:.71rem;line-height:1.6;text-align:center;background:var(--surface);color:var(--muted);padding-block:.45rem;border-block-end:1px solid var(--line)}
.preview-notice span{padding-inline:.5rem}
.home-hero{text-align:center;padding-block-start:4.8rem}
.home-hero h1{font-size:clamp(3.3rem,7.7vw,6.2rem);letter-spacing:-.06em;line-height:1.02;margin-block-end:1.6rem}
.home-hero h1 span{color:var(--accent)}
.hero-description{font-size:1.16rem;line-height:1.55;max-width:620px;margin-inline:auto;color:var(--muted);letter-spacing:-.018em}
.hero-actions{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:center;margin-block:1.85rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;background:var(--accent);color:var(--background);min-height:48px;border-radius:99px;padding:.7rem 1.5rem;text-decoration:none;font-size:.82rem;font-weight:600}
.button:hover{filter:brightness(.92);text-decoration:none}
.text-link{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;text-decoration:none;font-size:.86rem;font-weight:500}
.text-link:hover{text-decoration:underline}
.hero-illustration{max-width:820px;margin:2.5rem auto 0;border-radius:28px;overflow:hidden}
.hero-illustration img{width:100%}
.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding-block:2.2rem 3rem;max-width:970px}
.feature-strip p{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0;font-size:.73rem;font-weight:600}
.feature-mark{color:var(--accent);font-size:1rem}
.guide-section{background:var(--surface)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-block-end:2.5rem}
.section-heading h2{margin-block-end:0}
.section-heading>p{max-width:330px;color:var(--muted);font-size:.94rem;margin-block-end:.1rem}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.guide-card{position:relative;overflow:hidden;background:var(--card);border-radius:22px;border:1px solid var(--line);transition:transform .2s ease}
.guide-image{display:block;background:var(--accent-soft)}
.guide-image img{width:100%;aspect-ratio:16/9}
.guide-copy{padding:1.7rem 1.5rem 3.8rem}
.guide-copy .eyebrow{font-size:.62rem;margin-block-end:.85rem}
.guide-copy h3{font-size:1.42rem;margin-block-end:.9rem}
.guide-copy h3 a{text-decoration:none;color:var(--text)}
.guide-copy h3 a:hover{text-decoration:underline;text-decoration-thickness:1px}
.guide-copy>p:last-of-type{color:var(--muted);font-size:.86rem;line-height:1.6;margin:0}
.card-arrow{position:absolute;inset-inline-end:1.4rem;inset-block-end:1.25rem;border-radius:50%;background:var(--surface);color:var(--text);width:34px;height:34px;display:grid;place-items:center;font-size:1rem}
.editorial-panel{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:28px;padding:4rem 4.4rem;position:relative}
.editorial-panel>p:not(.eyebrow){max-width:650px;color:var(--muted);font-size:1.06rem}
.editorial-panel h2{font-size:clamp(2.5rem,4.5vw,4rem)}
.breadcrumbs{padding-block:1.35rem}
.breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.2rem .65rem;font-size:.7rem;color:var(--muted)}
.breadcrumbs li{display:flex;gap:.65rem;align-items:center}
.breadcrumbs li+li::before{content:"/";color:var(--muted)}
.breadcrumbs a{min-height:44px;display:inline-flex;align-items:center;color:var(--muted);text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.page-heading{padding-block:3.5rem 3rem}
.prose{font-size:1rem;line-height:1.83}
.prose section{margin-block-end:3rem;scroll-margin-block-start:7rem}
.prose h2{font-size:1.65rem;line-height:1.25;letter-spacing:-.028em;margin-block:2.5rem 1rem}
.prose h3{font-size:1.15rem;line-height:1.35;letter-spacing:-.018em;margin-block:1.8rem .75rem}
.prose li{margin-block-end:.7rem}
.prose ul,.prose ol{padding-inline-start:1.4rem}
.prose strong{font-weight:650}
.prose a{overflow-wrap:anywhere}
.prose .table-scroll{overflow-x:auto;max-width:100%;margin-block:1.8rem;border:1px solid var(--line);border-radius:12px}
.prose table{width:100%;border-collapse:collapse;font-size:.85rem;line-height:1.65;text-align:start}
.prose th,.prose td{padding:1rem;vertical-align:top;border-block-end:1px solid var(--line);min-width:125px}
.prose th{background:var(--surface);font-weight:650}
.prose caption{font-weight:600;text-align:start;padding:1rem;line-height:1.5;background:var(--surface)}
.prose tr:last-child td,.prose tr:last-child th{border-block-end:0}
.prose blockquote{margin-inline:0;border-inline-start:3px solid var(--accent-line);padding-inline:1.5rem;color:var(--muted)}
.prose code{font-family:ui-monospace,monospace;overflow-wrap:anywhere;font-size:.9em}
.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-block:1.5rem}
.feature-list p{background:var(--surface);border-radius:12px;padding:1rem;margin:0;font-size:.87rem;font-weight:600}
.author-profile{display:flex;gap:2rem;padding:2.5rem;background:var(--surface);border-radius:24px;margin-block-end:3rem;align-items:flex-start}
.author-profile h2{font-size:2rem;margin-block-end:.4rem}
.author-profile .eyebrow{margin-block-end:.5rem}
.author-profile p:last-child{margin:0;color:var(--muted);font-size:.96rem}
.author-monogram{flex-shrink:0;width:80px}.author-monogram img{border-radius:18px}
.contact-panel{padding:2.5rem;border-radius:22px;border:1px solid var(--accent-line);background:var(--accent-soft);margin-block-end:4rem}
.contact-email{font-size:clamp(1.2rem,3vw,1.9rem);line-height:1.5;display:inline-block;padding-block:.3rem;overflow-wrap:anywhere;text-decoration:none;font-weight:600;letter-spacing:-.02em;margin-block-end:1.2rem}
.contact-panel p{color:var(--muted)}
.company-section h2{font-size:1.8rem}
.company-details{margin-block:2rem}
.company-details>div{display:grid;grid-template-columns:1fr 1.3fr;gap:1.5rem;border-block-start:1px solid var(--line);padding-block:1.1rem}
.company-details dt{font-size:.82rem;color:var(--muted)}
.company-details dd{margin:0;font-size:.88rem;overflow-wrap:anywhere}
.article-heading{padding-block:1.5rem 2.5rem}
.article-heading h1{font-size:clamp(2.35rem,5vw,3.85rem);line-height:1.075}
.independence-notice{font-size:.86rem;line-height:1.7;border-inline-start:3px solid var(--accent-line);padding:.65rem 1rem;margin-block-end:2rem;background:var(--surface);color:var(--text)}
.article-byline{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;font-size:.82rem;margin-block:1.6rem .75rem}
.article-byline a{min-height:44px;display:flex;align-items:center;font-weight:600}
.article-byline span{color:var(--muted)}
.article-dates{font-size:.71rem;line-height:1.6;color:var(--muted)}
.article-dates p{margin-block-end:.3rem}
.article-figure{max-width:950px;margin-block-end:3.5rem}
.article-figure img{border-radius:22px;width:100%}
.article-layout{display:grid;grid-template-columns:230px minmax(0,740px);justify-content:space-between;gap:3rem;align-items:start}
.article-contents{position:sticky;inset-block-start:6rem;max-height:calc(100vh - 7rem);overflow:auto;padding:.5rem .5rem .5rem 0;font-size:.72rem;line-height:1.5}
.article-contents ol{list-style:none;counter-reset:chapter;margin:0;padding:0}
.article-contents li{margin:0;border-block-start:1px solid var(--line)}
.article-contents a{display:block;min-height:44px;padding-block:.65rem;color:var(--muted);text-decoration:none}
.article-contents a:hover{color:var(--accent);text-decoration:underline}
.article-contents .eyebrow{margin-block-end:1rem}
.article-body>section:first-of-type h2{margin-block-start:0}
.editorial-context{font-size:1.08rem;line-height:1.8;color:var(--muted);padding-block-end:1.5rem;border-block-end:1px solid var(--line);margin-block-end:2rem}
.article-colophon{border-block-start:1px solid var(--line);font-size:.88rem;color:var(--muted)}
.article-colophon h2{color:var(--text)}
.related-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:850px}
.policy-body{padding-block-end:1rem}
.error-page{text-align:center;padding-block:3rem 6rem}
.error-number{font-size:clamp(6rem,20vw,11rem);line-height:1;margin-block-end:2rem;color:var(--accent);font-weight:700;letter-spacing:-.09em}
.error-page h1{font-size:2.5rem}
.sponsor-area{margin-block:3.5rem;max-width:900px;border-block:1px solid var(--line);padding-block:.8rem;min-height:86px}
.sponsor-label{text-transform:uppercase;text-align:center;letter-spacing:.13em;font-size:.59rem;color:var(--muted)}
.sponsor-content{width:100%;min-height:34px;margin-inline:auto;text-align:center;font-size:.85rem}
.sponsor-content img{margin-inline:auto;max-width:100%;height:auto}
.sponsor-content a{display:inline-block;min-height:44px;padding:.5rem}
.site-footer{padding-block:3.5rem 1.5rem;background:var(--surface);color:var(--muted);font-size:.73rem}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;padding-block-end:2.5rem}
.footer-introduction p{margin-block:.85rem 0;font-size:.9rem;line-height:1.6}
.footer-heading{font-weight:650;color:var(--text);margin-block-end:.5rem}
.footer-top nav a{display:flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:none}
.footer-top nav a:hover{text-decoration:underline}
.footer-disclosure{border-block:1px solid var(--line);padding-block:1.5rem;font-size:.69rem;line-height:1.7}
.footer-disclosure p{max-width:950px;margin-block-end:.7rem}
.footer-disclosure p:last-child{margin:0}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block-start:1.25rem;font-size:.65rem}
.footer-bottom p{margin:0}
@media(hover:hover) and (pointer:fine){.guide-card:hover{transform:translateY(-3px)}}
@media(min-width:1800px){:root{font-size:20px}.container,.header-inner{max-width:1400px}.narrow{max-width:900px}.article-layout{grid-template-columns:280px minmax(0,900px)}.article-contents{font-size:.85rem}}
@media(max-width:900px){.header-inner{gap:1rem}.main-navigation{gap:1rem}.appearance-control{min-width:44px}.theme-label{display:none}.theme-toggle{min-width:44px;justify-content:center;padding:.3rem}.guide-grid{gap:16px}.guide-copy{padding-inline:1.1rem}.guide-copy h3{font-size:1.2rem}.article-layout{grid-template-columns:190px minmax(0,1fr);gap:2rem}.section-heading{align-items:start}.section-heading>p{max-width:270px}.feature-strip{gap:.5rem}.feature-strip p{font-size:.68rem}.editorial-panel{padding:3rem}}
@media(max-width:680px){.container{width:calc(100% - 40px)}.header-inner{width:calc(100% - 32px);min-height:106px;flex-wrap:wrap;gap:0;padding-block:.5rem}.wordmark{font-size:1.05rem}.main-navigation{order:3;width:100%;justify-content:space-between;margin:0;gap:.5rem}.main-navigation a{font-size:.74rem}.appearance-control{margin-inline-start:auto}.site-header{position:relative}.home-hero{padding-block-start:3rem}.hero-description{font-size:1rem}.hero-actions{gap:.6rem 1.3rem}.hero-illustration{margin-block-start:1.6rem;border-radius:20px}.home-hero h1{font-size:clamp(2.75rem,10.9vw,4.3rem)}.feature-strip{grid-template-columns:repeat(2,1fr);gap:1.1rem;padding-block:1.8rem 2.5rem}.feature-strip p{justify-content:flex-start;font-size:.72rem}.section-space{padding-block:3.5rem}.section-heading{display:block;margin-block-end:1.8rem}.section-heading>p{max-width:none;margin-block:1.2rem 0}.guide-grid,.related-grid{grid-template-columns:1fr;gap:1.5rem}.guide-copy{padding:1.5rem 1.5rem 3.5rem}.guide-copy h3{font-size:1.6rem}.guide-copy>p:last-of-type{font-size:.92rem}.editorial-panel{padding:2rem 1.5rem;border-radius:20px}.editorial-panel h2{font-size:2.3rem}.editorial-panel>p:not(.eyebrow){font-size:.96rem}.page-heading{padding-block:2rem}.lead{font-size:1.16rem}.breadcrumbs{padding-block:.7rem}.breadcrumbs ol{font-size:.65rem}.author-profile{display:block;padding:1.5rem}.author-monogram{margin-block-end:1.5rem}.contact-panel{padding:1.5rem}.company-details>div{grid-template-columns:1fr;gap:.35rem}.article-heading{padding-block-start:1rem}.article-layout{display:block}.article-contents{position:static;max-height:none;margin-block-end:2.5rem;padding:1.3rem;background:var(--surface);border-radius:16px;font-size:.79rem}.article-contents a{min-height:44px}.article-figure{margin-block-end:2rem}.article-figure img{border-radius:16px}.prose{font-size:.98rem}.prose h2{font-size:1.5rem}.article-heading h1{font-size:2.5rem}.independence-notice{font-size:.81rem}.footer-top{grid-template-columns:1fr 1fr;gap:2rem}.footer-introduction{grid-column:1/-1}.site-footer{padding-block-start:2.5rem}.footer-bottom{display:block}.footer-bottom p{margin-block-end:.5rem}.sponsor-area{margin-block:2.5rem}}
@media(max-height:500px){.site-header,.article-contents{position:static}.article-contents{max-height:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media(prefers-contrast:more){:root{--muted:#333;--line:#555}[data-theme="dark"]{--muted:#ddd;--line:#aaa}}
@media(forced-colors:active){.button,.theme-toggle,.guide-card,.contact-panel,.editorial-panel{border:1px solid ButtonText}.feature-mark{color:CanvasText}}
@media print{.site-header,.preview-notice,.sponsor-area,.site-footer,.article-contents,.hero-actions,.breadcrumbs,.related-grid{display:none}.container{width:100%;max-width:none}.article-layout{display:block}.article-figure{max-width:500px}.prose{font-size:11pt}body{color:#000;background:#fff}a{color:inherit}.page-heading,.article-heading{padding-block:1rem}.article-body section{break-inside:auto}h2,h3{break-after:avoid}}
