:root{--bg:#edecea;--ink:#1a1718;--muted:#67606a;--card:#fafaf8;--line:#d8d2cc;--burgundy:#6b2d3e;--on-burgundy:#ffffff;--slate:#3d4f5f;--rose:#c2616e;--steel:#8fa8be;--gold:#a8894f;--shadow:0 18px 52px rgba(26,23,24,0.12);--attention:#8a5410;--attention-wash:rgba(138,84,16,0.08)}@media (prefers-color-scheme:dark){:root{--bg:#18141e;--ink:#f4efe9;--muted:#b9b0ba;--card:#242129;--line:#38333f;--burgundy:#c8717d;--on-burgundy:#18141e;--slate:#8fa8be;--shadow:0 18px 52px rgba(0,0,0,0.32);--attention:#e4ab5c;--attention-wash:rgba(228,171,92,0.12)}}:root[data-theme=light]{--bg:#edecea;--ink:#1a1718;--muted:#67606a;--card:#fafaf8;--line:#d8d2cc;--burgundy:#6b2d3e;--on-burgundy:#ffffff;--slate:#3d4f5f;--shadow:0 18px 52px rgba(26,23,24,0.12);--attention:#8a5410;--attention-wash:rgba(138,84,16,0.08)}:root[data-theme=dark]{--bg:#18141e;--ink:#f4efe9;--muted:#b9b0ba;--card:#242129;--line:#38333f;--burgundy:#c8717d;--on-burgundy:#18141e;--slate:#8fa8be;--shadow:0 18px 52px rgba(0,0,0,0.32);--attention:#e4ab5c;--attention-wash:rgba(228,171,92,0.12)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Source Sans\ 3,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input,select{font:inherit}a{color:inherit}h1,h2,h3{font-family:Cormorant Garamond,Georgia,serif;line-height:1}h1,h2,h3,p{overflow-wrap:anywhere}.site-shell{min-height:100vh}.masthead{justify-content:space-between;gap:20px;padding:18px clamp(16px,4vw,42px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,var(--card));position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand,.masthead{display:flex;align-items:center}.brand{gap:12px;text-decoration:none}.brand img{width:42px;height:42px;border-radius:8px}.brand strong{display:block;font-family:Cormorant Garamond,Georgia,serif;font-size:1.45rem}.brand span{display:block;color:var(--muted);font-size:.86rem}.nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.nav a,.nav button,.text-button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:8px;padding:9px 12px;text-decoration:none;font-weight:800;cursor:pointer}.nav button[aria-current=page],.text-button.primary{background:var(--burgundy);color:var(--on-burgundy);border-color:var(--burgundy)}.content{width:min(1240px,100%);margin:0 auto;padding:clamp(22px,4vw,46px) clamp(16px,4vw,42px) 64px}.intro{display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-gap:24px;gap:24px;align-items:stretch;margin-bottom:24px}.intro h1{font-size:clamp(3rem,8vw,6.6rem);margin:0;max-width:860px}.intro p{color:var(--muted);line-height:1.65;font-size:1.05rem;max-width:780px}.folio-mark{border:1px solid var(--line);border-radius:8px;background:var(--card);display:grid;place-items:center;min-height:260px;box-shadow:var(--shadow)}.folio-mark img{width:min(210px,64%);border-radius:8px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin:18px 0}.article-card,.card,.stat{background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.stat{padding:15px}.stat strong{font-family:Cormorant Garamond,Georgia,serif;font-size:2.2rem;display:block}.stat span{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.article-card,.card{padding:18px}.article-card h2,.article-card h3,.card h2,.card h3{margin:0 0 9px;font-size:1.75rem}.article-card p,.card p{color:var(--muted);line-height:1.58}.meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.pill{border:1px solid var(--line);border-radius:999px;padding:5px 9px;color:var(--muted);font-size:.84rem}.era-strip{height:6px;border-radius:8px;margin-bottom:13px;background:var(--burgundy)}.search-row{display:grid;grid-template-columns:1fr 220px;grid-gap:10px;gap:10px;margin:18px 0}input,select{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px 13px;color:var(--ink);background:var(--card)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0}.article{width:min(920px,100%);margin:0 auto;padding:clamp(24px,4vw,48px) clamp(16px,4vw,36px);line-height:1.75}.article h1{font-size:clamp(3rem,8vw,6rem);margin-bottom:8px}.article .lede{color:var(--muted);font-size:1.15rem}.article section{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}blockquote{border-left:4px solid var(--burgundy);margin:18px 0;padding:8px 0 8px 18px;color:var(--ink);background:color-mix(in srgb,var(--card) 70%,transparent)}.legal-page{max-width:760px;margin:0 auto;padding:48px 20px;line-height:1.65}.back-link{color:var(--burgundy);font-weight:800}.more-tools-list{padding-left:1.2rem}.more-tools-list li{margin-bottom:.9rem}.more-tools-list a{color:var(--burgundy);font-weight:800}.more-tools-blurb{display:block;color:var(--muted);overflow-wrap:anywhere}.muted-lead{color:var(--muted);line-height:1.6}.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin:8px 0 18px}.section-head h2{font-size:2rem;margin:0 0 4px}.section-head select{width:auto;min-width:180px}.segmented{display:inline-flex;gap:4px;padding:4px;background:color-mix(in srgb,var(--card) 80%,var(--bg));border:1px solid var(--line);border-radius:10px;margin:4px 0 20px}.segmented button{border:none;background:transparent;color:var(--muted);padding:8px 16px;border-radius:7px;font-weight:800;cursor:pointer}.segmented button.active{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.progress-card{margin-top:16px}.progress-track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--line) 70%,transparent);overflow:hidden;margin:12px 0}.progress-fill{height:100%;background:var(--burgundy);border-radius:999px;transition:width .4s ease}.library-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.library-row .text-button{padding:4px 8px;font-size:.82rem}.data-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.data-import{position:relative;overflow:hidden;cursor:pointer}.data-import input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.city-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 28px;gap:8px 28px}.city-group{page-break-inside:avoid;break-inside:avoid}.city-letter{font-size:1.5rem;margin:14px 0 4px;color:var(--burgundy)}.city-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 4px;border-bottom:1px solid var(--line);text-decoration:none}.city-row strong{display:block}.city-row em{color:var(--muted);font-style:normal;font-size:.86rem}.timeline{list-style:none;margin:0;padding:0;position:relative}.timeline:before{content:"";position:absolute;left:118px;top:6px;bottom:6px;width:2px;background:var(--line)}.timeline li{display:grid;grid-template-columns:104px 1fr;grid-gap:20px;gap:20px;align-items:center;position:relative;padding:8px 0}.timeline-year{text-align:right;color:var(--muted);font-weight:800;font-size:.9rem}.timeline li:before{content:"";position:absolute;left:111px;width:14px;height:14px;border-radius:50%;background:var(--dot,var(--burgundy));border:3px solid var(--bg)}.timeline-entry{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;padding:12px 16px;background:var(--card);border:1px solid var(--line);border-radius:8px;text-decoration:none}.timeline-entry strong{font-size:1.15rem;font-family:Cormorant Garamond,Georgia,serif}.timeline-title{color:var(--muted);flex:1 1;min-width:120px}.quiz-scores{display:flex;flex-wrap:wrap;gap:6px}.quiz-clue{margin-bottom:18px}.quiz-clue p{font-size:1.1rem;line-height:1.7}.quiz-meta{color:var(--muted);font-size:.86rem;text-transform:uppercase;letter-spacing:.06em}.quiz-choices{margin:0}.quiz-choice{display:flex;flex-direction:column;gap:3px;text-align:left;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);cursor:pointer}.quiz-choice:disabled{cursor:default}.quiz-choice strong{font-size:1.2rem;font-family:Cormorant Garamond,Georgia,serif}.quiz-choice span{color:var(--muted);font-size:.9rem}.quiz-choice.correct{border-color:#2f855a;background:color-mix(in srgb,#2f855a 16%,var(--card))}.quiz-choice.wrong{border-color:var(--burgundy);background:color-mix(in srgb,var(--burgundy) 16%,var(--card))}.quiz-result{margin-top:18px}@media (max-width:900px){.intro{grid-template-columns:1fr}.folio-mark{min-height:180px}.city-index,.grid,.grid.two,.search-row{grid-template-columns:1fr}.timeline li:before,.timeline:before{display:none}.timeline li{grid-template-columns:74px 1fr;gap:12px}}@media (min-width:601px) and (max-width:900px){.city-index,.grid,.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}}.site-footer{border-top:1px solid var(--line);margin-top:48px;padding:28px clamp(16px,4vw,42px) calc(28px + env(safe-area-inset-bottom, 0px) + var(--upsell-banner-height, 0px));color:var(--muted);font-size:.92rem;line-height:1.6}.site-footer-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:12px}.site-footer-links a{color:var(--ink);font-weight:800;text-decoration:none}.site-footer-links a:hover{color:var(--burgundy)}.site-footer-note{margin:6px 0;max-width:720px}.kicker,.site-footer-note a{color:var(--burgundy)}.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;margin:0 0 6px}.kicker.warning{color:var(--gold)}.premium-stack{display:grid;grid-gap:18px;gap:18px;margin-top:20px}.premium-summary{padding-bottom:0}.premium-faq h3{margin:18px 0 4px;font-size:1.3rem}.premium-faq p{color:var(--muted);line-height:1.6}.plan-panel h2{margin-top:0}.plan-perks{margin:12px 0;padding-left:20px;line-height:1.7}.plan-badge{display:inline-block;background:var(--burgundy);color:var(--on-burgundy);border-radius:999px;padding:3px 10px;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.plan-active{display:grid;grid-gap:8px;gap:8px;justify-items:start}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin:14px 0}.plan-card{border:1px solid var(--line);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px;justify-content:space-between;background:var(--card)}.plan-card.featured{border-color:var(--burgundy);box-shadow:var(--shadow)}.plan-card-title{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.05rem}.plan-card-price{margin-top:6px;font-family:Cormorant Garamond,Georgia,serif;font-size:1.4rem}.plan-card-anchor{color:var(--muted);font-size:.86rem;margin-top:2px}.plan-skeleton{height:130px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--card) 70%,var(--bg));animation:plan-pulse 1.2s ease-in-out infinite}@keyframes plan-pulse{0%,to{opacity:.55}50%{opacity:1}}.day-skeleton{height:128px;border-radius:8px;background:color-mix(in srgb,var(--card) 70%,var(--bg));animation:plan-pulse 1.2s ease-in-out infinite}.plan-error,.plan-outcome-error,.restore-error{color:var(--burgundy);font-weight:700}.restore-warn{color:var(--gold);font-weight:700}.plan-fineprint{color:var(--muted);font-size:.88rem;line-height:1.6}.plan-cta{display:flex;flex-direction:column;align-items:center;gap:2px}.plan-cta-price{font-weight:500;font-size:.85rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.plan-fineprint a{color:var(--burgundy)}.locked-card h2{margin-top:10px}.locked-note{color:var(--muted);font-size:.9rem}.access-code-block,.access-code-interstitial{display:grid;grid-gap:10px;gap:10px;justify-items:start;margin-top:18px}.access-code-value{display:block;width:100%;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92rem;background:color-mix(in srgb,var(--line) 35%,transparent);border:1px solid var(--line);border-radius:8px;padding:12px}.access-code-saved-note{color:var(--muted);font-size:.9rem}.access-code-reminder{border:1px solid var(--gold);background:color-mix(in srgb,var(--gold) 12%,var(--card));border-radius:8px;padding:12px 14px;margin-top:16px;font-size:.94rem}.restore-form{display:grid;grid-gap:12px;gap:12px;justify-items:start}.restore-input{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.restore-label{font-weight:800}.restore-result{display:grid;grid-gap:8px;gap:8px;justify-items:start}.restore-safety-net{color:var(--muted);font-size:.9rem}.restore-panel{margin-top:20px}.limit-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--burgundy);background:color-mix(in srgb,var(--burgundy) 8%,var(--card));border-radius:8px;padding:12px 16px;margin-bottom:18px}.limit-notice-actions{display:flex;gap:8px}.limit-notice-inline{color:var(--muted);font-size:.9rem}.limit-notice-inline a{color:var(--burgundy);font-weight:800}.upsell-banner{bottom:0;z-index:40;flex-wrap:wrap;gap:10px;padding:10px clamp(16px,4vw,42px) calc(10px + env(safe-area-inset-bottom, 0px));background:color-mix(in srgb,var(--card) 96%,var(--burgundy));border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(0,0,0,.12)}.upsell-copy{font-size:.94rem}.upsell-copy span{color:var(--muted)}.upsell-actions{gap:8px}.upsell-dismiss{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:8px;width:34px;height:34px;font-size:1.1rem;cursor:pointer}@media (max-width:900px){.plan-grid{grid-template-columns:1fr}}.plan-verifying{margin:.6rem 0 0;color:var(--ink);font-size:.9rem}.plan-pending{display:grid;grid-gap:.6rem;gap:.6rem;min-width:0;margin-top:.8rem;padding:.85rem;border:1px solid var(--attention);border-radius:8px;background:var(--attention-wash)}.plan-pending-head{color:var(--ink)}.plan-pending-body{margin:0;color:var(--ink)}.plan-outcome-error,.plan-pending .access-code-value,.plan-pending-body,.premium-verify-note{overflow-wrap:anywhere}.premium-verify-note{margin:0 0 .6rem;font-size:.85rem;color:var(--muted)}.premium-verify-lapsed{color:var(--attention)}.stats{display:flex;flex-wrap:wrap;gap:4px 0;color:var(--muted)}.stats .stat{display:inline-flex;align-items:baseline;gap:.35em;padding:0;background:none;border:0;box-shadow:none}.stats .stat:not(:last-child):after{content:"\00b7";margin:0 .6em}.stats .stat strong{font-family:inherit;font-size:inherit;display:inline;color:var(--ink)}.nav-toggle{display:none}@media (max-width:1180px){.masthead{position:-webkit-sticky;position:sticky;flex-direction:row;align-items:center;padding-top:10px;padding-bottom:10px}.brand{min-height:44px}.brand img{width:38px;height:38px}.nav-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:inherit;font-weight:800;cursor:pointer}.nav-toggle[aria-expanded=true]{background:var(--burgundy);border-color:var(--burgundy);color:var(--on-burgundy)}.nav-toggle-bars,.nav-toggle-bars:after,.nav-toggle-bars:before{display:block;width:16px;height:2px;border-radius:2px;background:currentColor}.nav-toggle-bars{position:relative}.nav-toggle-bars:after,.nav-toggle-bars:before{content:"";position:absolute;left:0}.nav-toggle-bars:before{top:-5px}.nav-toggle-bars:after{top:5px}.nav{display:none}.nav.open{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:6px;position:absolute;top:100%;left:0;right:0;padding:10px clamp(16px,4vw,42px) 16px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 18px 40px -20px rgba(0,0,0,.4);max-height:calc(100vh - 70px);overflow-y:auto}.nav.open a,.nav.open button{display:flex;align-items:center;gap:8px;min-height:48px;text-align:left}}.nav a:focus-visible,.nav button:focus-visible,.nav-toggle:focus-visible{outline:3px solid var(--burgundy);outline-offset:2px}.upsell-banner{position:fixed;left:0;right:0;bottom:calc(8px + env(safe-area-inset-bottom));z-index:45;width:min(720px,calc(100% - 16px));max-height:64px;margin:0 auto;box-sizing:border-box;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:.6rem;padding:6px 6px 6px 14px;transform:none}.upsell-copy{flex:1 1 auto;min-width:0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.upsell-actions{flex:none;display:flex;flex-wrap:nowrap;align-items:center;gap:6px}.upsell-actions .text-button{min-height:44px;white-space:nowrap}.upsell-dismiss{width:44px;height:44px;min-height:44px;flex:none}@media (max-width:520px){.upsell-copy span{display:none}}body:has(.upsell-banner){padding-bottom:calc(80px + env(safe-area-inset-bottom))}html:has(.upsell-banner){scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom))}body:has(.nav.open) .upsell-banner,body:has([aria-modal=true]) .upsell-banner,body:has(dialog[open]) .upsell-banner{display:none}.upsell-banner{border:1px solid var(--line);border-radius:8px}body:has(.upsell-banner){--upsell-banner-height:0px}.article.guide h1{font-size:clamp(1.9rem,4.4vw,3.1rem);line-height:1.12;margin-bottom:10px}.article.guide h2{font-size:clamp(1.5rem,3vw,2rem)}.article.guide h3{font-size:1.2rem;margin:20px 0 2px}.guide-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.9rem;color:var(--muted);margin-bottom:14px}.guide-crumbs a{color:var(--burgundy);font-weight:700}.guide-byline{color:var(--muted);font-size:.92rem;margin:0 0 18px}.guide-byline a{color:var(--burgundy);font-weight:700}.guide-card-meta{color:var(--muted);font-size:.86rem;margin-top:8px}.guide-qa h3{margin-top:22px}.guide-table-wrap{overflow-x:auto;margin:20px 0}.guide-table{border-collapse:collapse;width:100%;min-width:420px;font-size:.95rem;background:var(--card);border:1px solid var(--line);border-radius:8px}.guide-table caption{caption-side:bottom;color:var(--muted);font-size:.86rem;padding-top:8px;text-align:left}.guide-table td,.guide-table th{border-bottom:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}.guide-table thead th{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.guide-table tbody tr:last-child td,.guide-table tbody tr:last-child th{border-bottom:0}.guide-table-wrap{container-type:inline-size}.guide-table-wrap caption:not(.sr-only):not(.visually-hidden){position:-webkit-sticky;position:sticky;inset-inline-start:0;max-width:100cqi;box-sizing:border-box}