:root{--bg:#edecea;--ink:#1a1718;--muted:#67606a;--card:#fafaf8;--line:#d8d2cc;--burgundy:#6b2d3e;--slate:#3d4f5f;--rose:#c2616e;--steel:#8fa8be;--gold:#a8894f;--shadow:0 18px 52px rgba(26,23,24,0.12)}@media (prefers-color-scheme:dark){:root{--bg:#18141e;--ink:#f4efe9;--muted:#b9b0ba;--card:#242129;--line:#38333f;--burgundy:#c2616e;--slate:#8fa8be;--shadow:0 18px 52px rgba(0,0,0,0.32)}}:root[data-theme=light]{--bg:#edecea;--ink:#1a1718;--muted:#67606a;--card:#fafaf8;--line:#d8d2cc;--burgundy:#6b2d3e;--slate:#3d4f5f;--shadow:0 18px 52px rgba(26,23,24,0.12)}:root[data-theme=dark]{--bg:#18141e;--ink:#f4efe9;--muted:#b9b0ba;--card:#242129;--line:#38333f;--burgundy:#c2616e;--slate:#8fa8be;--shadow:0 18px 52px rgba(0,0,0,0.32)}*{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:white;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}.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}.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){.masthead{position:static;align-items:flex-start;flex-direction:column}.nav{justify-content:flex-start}.intro{grid-template-columns:1fr}.folio-mark{min-height:180px}.city-index,.grid,.grid.two,.search-row,.stats{grid-template-columns:1fr}.timeline li:before,.timeline:before{display:none}.timeline li{grid-template-columns:74px 1fr;gap:12px}}.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:white;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}}.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-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{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;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{margin:0;font-size:.94rem}.upsell-copy span{color:var(--muted)}.upsell-actions{display:flex;align-items:center;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}}