:root{--bg:#FAF8F3;--ink:#1A1613;--muted:#6B6259;--accent:#C2410C;--accentbg:#FEF3EC;--border:#E8E2D5;--borderS:#D4CDB9;--warmpaper:#F5F1E6;--font-heading:"Bona Nova SC",Georgia,serif}html[lang=en]{--font-heading:"Instrument Serif",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@media(min-width:768px){body{font-size:18px}}h1,h2,h3,h4,h5{font-family:var(--font-heading);line-height:1.15;letter-spacing:-.01em;font-weight:400;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit;cursor:pointer;border:none;background:transparent;color:inherit}input,textarea,select{font:inherit;color:inherit}.max-page{max-width:1280px;margin:0 auto;padding:0 24px}@media(min-width:480px){.max-page{padding:0 40px}}@media(min-width:768px){.max-page{padding:0 48px}}@media(min-width:1024px){.max-page{padding:0 64px}}.max-prose{max-width:680px;margin:0 auto}.rule{height:1px;background:var(--border)}.hairline-t{border-top:1px solid var(--border)}.hairline-b{border-bottom:1px solid var(--border)}.eyebrow{font-family:Inter,sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted)}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.08em}.acc{color:var(--accent)}.muted{color:var(--muted)}.hdr{position:sticky;top:0;z-index:50;background:#faf8f3eb;backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border)}.hdr-inner{height:68px;display:flex;align-items:center;justify-content:space-between}.logo{font-family:var(--font-heading);font-size:28px;line-height:1;letter-spacing:-.01em}.logo .dot{color:var(--accent)}.nav{display:none;gap:32px;font-size:14px}@media(min-width:768px){.nav{display:flex}}.nav a{position:relative;padding:4px 0}.nav a:hover,.nav a.is-active{color:var(--accent)}.nav a.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent)}.hdr-right{display:flex;align-items:center;gap:20px}.ic-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink)}.ic-btn:hover{color:var(--accent)}.lang{display:flex;align-items:center;font-size:14px}.lang button{padding:4px 8px}.lang .on{font-weight:500;color:var(--ink)}.lang .off{color:var(--muted)}.lang .sep{color:var(--borderS)}.hero-h1{font-family:var(--font-heading);font-size:clamp(44px,6.2vw,88px);line-height:1.02;letter-spacing:-.02em}.hero-h1 em{font-style:italic;color:var(--muted)}.display-h2{font-family:var(--font-heading);font-size:clamp(36px,5vw,56px);line-height:1.05;letter-spacing:-.015em}.city-display{font-family:var(--font-heading);font-size:clamp(80px,14vw,200px);line-height:.88;letter-spacing:-.03em}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--borderS);border-radius:999px;font-size:14px;color:var(--ink);background:transparent;transition:background .15s,border-color .15s;cursor:pointer}.chip:hover{background:var(--accentbg);border-color:var(--accent)}.chip.is-active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.tab{padding:10px 16px;border-radius:999px;font-size:14px;color:var(--muted);border:1px solid transparent;cursor:pointer;white-space:nowrap}.tab:hover{color:var(--ink)}.tab.is-active{background:var(--ink);color:var(--bg)}.search-wrap{display:flex;align-items:center;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:16px}.search-input{font-family:var(--font-heading);font-size:24px;font-style:italic;color:var(--ink);flex:1;background:transparent;border:none;outline:none;min-width:0}.search-input::placeholder{color:var(--muted)}.ulink{color:var(--ink);text-decoration:underline;text-decoration-color:var(--borderS);text-underline-offset:4px;text-decoration-thickness:1px;transition:text-decoration-color .15s}.ulink:hover{text-decoration-color:var(--accent)}.ulink-acc{color:var(--accent);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.q-card{border-top:1px solid var(--border);padding:28px 0;display:block}.q-card h3{transition:color .15s}.q-card:hover h3{color:var(--accent)}.q-card .meta{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.ph-stripes{background-image:repeating-linear-gradient(135deg,#efe8d8 0 8px,#e8e2d5 8px 16px);color:var(--muted);font-family:ui-monospace,Menlo,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;justify-content:center}.ph-solid-1{background:#e8d9c3}.ph-solid-2{background:#d9c7ac}.ph-solid-3{background:#cbb594}.ph-solid-4{background:#e0cfb5}.cat-tag{font-family:Inter,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:500}.answer-box{background:var(--accentbg);border-left:4px solid var(--accent);padding:28px 32px}.answer-box .lbl{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--accent);margin-bottom:12px}.answer-box p{font-family:var(--font-heading);font-size:24px;line-height:1.35;margin:0}.answer-box strong{font-weight:600}.callout{border:1px solid var(--border);background:var(--bg);padding:24px 28px;margin:32px 0}.prose-ed{font-size:18px;line-height:1.75}.prose-ed p{margin:0 0 1.2em}.prose-ed h2{font-size:40px;line-height:1.15;margin:2.2em 0 .5em;letter-spacing:-.015em}.prose-ed h3{font-size:28px;line-height:1.2;margin:1.8em 0 .4em}.prose-ed ul{margin:0 0 1.2em 1.2em;list-style:disc}.prose-ed ul li{margin-bottom:.4em;padding-left:.2em}.prose-ed a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.prose-ed strong{font-weight:600}.drop-cap:first-letter{font-family:var(--font-heading);float:left;font-size:76px;line-height:.9;padding:6px 12px 0 0}details{border-top:1px solid var(--border);padding:20px 0}details:last-of-type{border-bottom:1px solid var(--border)}details>summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;font-family:var(--font-heading);font-size:22px;line-height:1.3}details>summary::-webkit-details-marker{display:none}details>summary .plus{flex:0 0 auto;width:22px;height:22px;border:1px solid var(--borderS);border-radius:999px;position:relative;margin-top:6px}details>summary .plus:before,details>summary .plus:after{content:"";position:absolute;background:var(--ink)}details>summary .plus:before{left:5px;right:5px;top:50%;height:1px;transform:translateY(-50%)}details>summary .plus:after{top:5px;bottom:5px;left:50%;width:1px;transform:translate(-50%);transition:transform .15s}details[open]>summary .plus:after{opacity:0}details>.answer{padding-top:14px;font-size:16px;line-height:1.7}.toc a{display:block;padding:6px 0 6px 14px;border-left:1px solid var(--border);color:var(--muted);font-size:14px;line-height:1.45}.toc a:hover,.toc a.is-active{color:var(--ink);border-left-color:var(--accent)}.store-badge{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);border-radius:10px;font-size:13px}.store-badge.alt{background:transparent;color:var(--ink)}.store-badge .sub{font-size:10px;opacity:.7;letter-spacing:.08em;text-transform:uppercase}.store-badge.alt .sub{color:var(--muted);opacity:1}.store-badge .main{font-family:var(--font-heading);font-size:18px;line-height:1}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);font-size:15px;border-radius:2px;transition:background .15s,color .15s;cursor:pointer}.btn:hover,.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--bg)}.btn-acc{background:var(--accent);border-color:var(--accent);color:#fff}.btn-acc:hover{background:transparent;color:var(--accent)}.footer{background:var(--ink);color:var(--bg);margin-top:96px}.footer-inner{padding:96px 24px 48px}@media(min-width:480px){.footer-inner{padding:96px 40px 48px}}@media(min-width:768px){.footer-inner{padding:96px 48px 48px}}@media(min-width:1024px){.footer-inner{padding:96px 64px 48px}}.footer-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:48px;margin-bottom:80px}@media(max-width:767px){.footer-grid{grid-template-columns:1fr;gap:40px;margin-bottom:48px}}.footer h5{font-family:Inter,sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#faf8f399;margin-bottom:14px;font-weight:500}.footer a{display:block;padding:4px 0;font-size:15px;color:var(--bg)}.footer a:hover{color:var(--accent)}.footer .brand{grid-column:span 5}.footer .col{grid-column:span 2}.footer .col-wide{grid-column:span 3}@media(max-width:767px){.footer .brand,.footer .col,.footer .col-wide{grid-column:span 1}}.footer-base{display:flex;flex-direction:column;gap:16px;padding-top:32px;border-top:1px solid rgba(250,248,243,.15);font-size:12px}@media(min-width:768px){.footer-base{flex-direction:row;justify-content:space-between;align-items:center}}.footer-base .mono{color:#faf8f380}.city-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border)}@media(min-width:768px){.city-grid{grid-template-columns:repeat(4,1fr)}}.city-card{background:var(--bg);padding:32px;aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:space-between;transition:background .15s}.city-card:hover{background:#fff}.city-card:hover .city-name{font-style:italic}.city-card.feat{background:var(--accentbg)}.city-name{font-family:var(--font-heading);font-size:40px;line-height:1;margin-bottom:8px}.sec{padding-top:96px;padding-bottom:96px}@media(max-width:767px){.sec{padding-top:64px;padding-bottom:64px}}.sec-head{margin-bottom:64px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.profile-card{border:1px solid var(--border);padding:24px;display:flex;gap:16px;align-items:flex-start;transition:border-color .15s}.profile-card:hover{border-color:var(--ink)}.avatar{width:56px;height:56px;border-radius:999px;flex-shrink:0}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.field label{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500}.field input,.field textarea,.field select{border:none;border-bottom:1px solid var(--borderS);background:transparent;padding:10px 0;font-size:16px;outline:none;transition:border-color .15s}.field input:focus,.field textarea:focus{border-color:var(--ink)}.field textarea{min-height:120px;resize:vertical}.hub-card{border:1px solid var(--border);padding:28px;background:var(--bg);transition:border-color .15s,background .15s;display:block}.hub-card:hover{border-color:var(--ink);background:#fff}.hub-card .hub-route{font-family:ui-monospace,Menlo,monospace;font-size:11px;letter-spacing:.1em;color:var(--muted);margin-bottom:8px;text-transform:uppercase}.hub-card h3{font-size:28px;line-height:1.1;margin-bottom:8px}.hub-card p{color:var(--muted);font-size:14px;margin:0}.four04-num{font-family:var(--font-heading);font-size:clamp(180px,26vw,360px);line-height:.85;letter-spacing:-.04em;color:var(--ink)}.crumb{font-family:ui-monospace,Menlo,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.crumb a:hover{color:var(--accent)}.crumb .sep{margin:0 8px;opacity:.5}.crumb .cur{color:var(--ink)}.ptitle{padding-top:80px;padding-bottom:48px}.ptitle .eyebrow{margin-bottom:16px}
