:root{--bg:#fdfbf7;--surface:#fff;--text:#2c2c2c;--muted:#6b6b66;--accent:#c5a059;--accent-soft:#f5ebda;--accent-deep:#8c6d2f;--border:#eae4d9;--header-bg:#fdfbf7eb;--font-heading:"Playfair Display", Georgia, serif;--font-body:"Source Serif 4", Georgia, serif;--font-ui:"Inter", system-ui, sans-serif;--max-w:1120px;--col:740px;--radius:12px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:19px;line-height:1.75}h1,h2,h3,h4,h5{font-family:var(--font-heading);line-height:1.2}a{color:var(--accent-deep);text-decoration:none;transition:color .2s}a:hover{color:var(--accent)}img{max-width:100%;display:block}.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}.container-narrow{max-width:var(--col);margin:0 auto;padding:0 24px}.topbar{color:#f4ede0;z-index:60;background:linear-gradient(100deg,#23211d 0%,#2e2a23 100%);position:relative}.topbar-inner{max-width:var(--max-w);font-family:var(--font-ui);align-items:center;gap:14px;margin:0 auto;padding:9px 48px 9px 24px;display:flex}.topbar-text{flex:1;align-items:center;gap:8px;min-width:0;margin:0;font-size:13px;line-height:1.4;display:flex}.topbar-emoji{flex-shrink:0;font-size:15px}.topbar-msg{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-cta{color:#e9c25a;white-space:nowrap;border:1px solid #e9c25a73;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:600;transition:background .2s,color .2s}.topbar-cta:hover{color:#23211d;background:#e9c25a}.topbar-arrow{font-size:12px}.topbar-close{color:#f4ede08c;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 8px;font-size:15px;line-height:1;transition:color .2s,background .2s;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.topbar-close:hover{color:#fff;background:#ffffff14}.site-header{z-index:50;background:var(--header-bg);backdrop-filter:blur(8px);box-shadow:0 1px 0 var(--border);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:20px;min-height:56px;padding:10px 24px;display:flex}.header-logo{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--text);white-space:nowrap;flex-shrink:0;font-size:clamp(17px,2.2vw,24px);font-weight:700}.header-logo span{color:var(--accent)}.header-nav{scrollbar-width:none;-ms-overflow-style:none;flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;padding:2px 0;display:flex;overflow-x:auto}.header-nav::-webkit-scrollbar{display:none}.nav-pill{font-family:var(--font-ui);letter-spacing:.02em;color:var(--text);border:1px solid var(--border);white-space:nowrap;background:0 0;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600;transition:background .2s,color .2s,border-color .2s}.nav-pill:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep)}.nav-pill.active{background:var(--text);border-color:var(--text);color:#fff}.subscribe-btn{background:var(--text);color:#fff;font-family:var(--font-ui);letter-spacing:.04em;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;flex-shrink:0;padding:8px 18px;font-size:12px;font-weight:600}.subscribe-btn:hover{background:var(--accent-deep)}@media (width<=1024px){.header-inner{flex-wrap:wrap;gap:4px 14px;min-height:auto;padding:10px 16px 12px}.header-logo{font-size:19px}.header-nav{flex:100%;order:3;justify-content:flex-start;margin:0 -4px;padding:2px 4px}.subscribe-btn{display:none}}body.home .site-header{display:none}.home-masthead{border-bottom:1px solid var(--border);background:radial-gradient(120% 80% at 15% -20%, #c5a0591a, transparent 55%), radial-gradient(120% 90% at 85% 120%, #c5a05914, transparent 55%), var(--bg);position:relative;overflow:hidden}.home-masthead-inner{z-index:1;text-align:center;max-width:900px;margin:0 auto;padding:48px 24px 30px;position:relative}.home-kicker{font-family:var(--font-ui);letter-spacing:.32em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:22px;font-size:12px;font-weight:600}.kicker-sep{color:var(--accent);margin:0 6px;font-weight:400}.home-title{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--text);margin-bottom:8px;font-size:clamp(38px,5.5vw,62px);font-weight:700;line-height:1.05}.home-title-ita{color:#d6a93f;text-shadow:0 0 1px #e9c25a,0 1px 2px #d6a93f73,0 2px 6px #d6a93f40;padding:0 .03em;font-style:italic;font-weight:700;display:inline-block;position:relative}.home-thread-sep{font-family:var(--font-heading);vertical-align:.06em;padding:0 .08em;font-weight:400}.home-title-ita:after{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-deep));opacity:.85;border-radius:2px;height:2px;position:absolute;bottom:-.06em;left:.04em;right:.04em}.home-title-orn{color:var(--accent);vertical-align:.55em;opacity:.8;margin:0 .28em;font-size:.42em}.home-thread{max-width:520px;margin:12px auto 22px}.home-thread svg{width:100%;height:46px;display:block}.thread-line{stroke-dasharray:4 6;animation:14s linear infinite thread-flow}.thread-orb{opacity:.9}@keyframes thread-flow{to{stroke-dashoffset:-1000px}}.home-sections{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;justify-content:center;align-items:center;gap:10px;max-width:100%;margin:0 auto;padding-top:4px;display:flex;overflow-x:auto}.home-sections::-webkit-scrollbar{display:none}.home-sections a{font-family:var(--font-ui);letter-spacing:.03em;color:var(--text);white-space:nowrap;background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:600;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.home-sections a:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep)}.home-sec-emoji{opacity:.85;font-size:14px}@media (width<=640px){.home-masthead-inner{padding:34px 14px 22px}.home-title{font-size:30px}.home-kicker{letter-spacing:.24em;font-size:10px}.home-thread svg{height:34px}.home-sections{justify-content:flex-start;gap:8px;padding:2px 4px 4px}.home-sections a{padding:8px 14px;font-size:12px}.home-sec-emoji{display:none}}.chips{max-width:var(--max-w);flex-wrap:wrap;justify-content:center;gap:10px;margin:44px auto 8px;padding:0 24px;display:flex}.chip{border:1px solid var(--border);font-family:var(--font-ui);color:var(--muted);background:var(--surface);cursor:pointer;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:500}.chip:hover,.chip.active{background:var(--text);color:#fff;border-color:var(--text)}.cat-row{max-width:var(--max-w);margin:56px auto 0;padding:0 24px}.cat-head{justify-content:space-between;align-items:baseline;margin-bottom:18px;display:flex}.cat-head h2{font-size:26px;font-weight:600}.cat-head span{font-size:14px}.cat-links{flex-wrap:wrap;gap:10px;display:flex}.grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:transform .25s,box-shadow .25s;overflow:hidden}.card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #2c2c2c14}.card-img{aspect-ratio:16/9;background:linear-gradient(135deg, var(--accent-soft), #efe4ce);justify-content:center;align-items:center;font-size:38px;display:flex}.card-body{padding:20px 22px 24px}.card-cat{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:8px;font-size:11px;font-weight:600}.card h3{font-family:var(--font-heading);margin-bottom:10px;font-size:19px;font-weight:600;line-height:1.3}.card p{color:var(--muted);font-size:14px;line-height:1.6}.card-meta{font-family:var(--font-ui);color:var(--muted);margin-top:14px;font-size:12px}.layout{grid-template-columns:220px minmax(0, var(--col));justify-content:center;gap:48px;max-width:1180px;margin:0 auto;padding:48px 24px 80px;display:grid}.toc{font-family:var(--font-ui);align-self:start;font-size:14px;position:sticky;top:96px}.toc-title{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:14px;font-size:11px;font-weight:600}.toc a{color:var(--muted);border-left:2px solid #0000;padding:7px 0 7px 14px;display:block}.toc a:hover,.toc a.active{color:var(--text);border-left-color:var(--accent)}.breadcrumbs{font-family:var(--font-ui);color:var(--muted);margin-bottom:26px;font-size:13px}.breadcrumbs a{color:var(--muted)}.breadcrumbs a:hover{color:var(--accent-deep)}.article-cat{font-family:var(--font-ui);letter-spacing:.15em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:16px;font-size:12px;font-weight:600}h1.article-title{margin-bottom:22px;font-size:40px;font-weight:700;line-height:1.18}.deck{color:var(--muted);margin-bottom:28px;font-size:20px;font-style:italic;line-height:1.5}.author-line{font-family:var(--font-ui);color:var(--muted);border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:36px;padding-bottom:28px;font-size:14px;display:flex}.avatar{background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:16px;font-weight:600;display:flex}.author-line b{color:var(--text);display:block}.author-line small{font-size:12px}.article-body h2{font-family:var(--font-heading);margin:44px 0 18px;font-size:27px;font-weight:600;line-height:1.25}.article-body h3{font-family:var(--font-heading);margin:32px 0 14px;font-size:21px;font-weight:600}.article-body p{margin-bottom:22px}.article-body ul,.article-body ol{margin:0 0 22px 24px;padding-left:4px}.article-body li{margin-bottom:10px}.article-body li::marker{color:var(--accent)}.article-body b{font-weight:600}.blockquote{border-left:3px solid var(--accent);color:var(--text);margin:32px 0;padding:6px 0 6px 24px;font-size:22px;font-style:italic;line-height:1.5}.blockquote cite{font-style:normal;font-family:var(--font-ui);color:var(--muted);margin-top:10px;font-size:13px;display:block}.img-embed{margin:36px 0}.img-embed img{aspect-ratio:16/9;object-fit:cover;border-radius:10px;width:100%;height:auto;display:block;box-shadow:0 6px 24px #2c2c2c14}.img-embed .ph{aspect-ratio:16/9;background:linear-gradient(150deg, var(--accent-soft), #e8dcc4);border-radius:10px;justify-content:center;align-items:center;font-size:44px;display:flex}.img-embed figcaption{font-family:var(--font-ui);color:var(--muted);text-align:center;margin-top:10px;font-size:13px}.banner{background:linear-gradient(135deg,#fbf3e4,#f3e7cf);border:1px solid #e4d3af;border-radius:14px;align-items:center;gap:22px;margin:40px 0;padding:30px 32px;display:flex}.banner-icon{flex-shrink:0;font-size:34px}.banner h4{font-family:var(--font-heading);margin-bottom:6px;font-size:20px;font-weight:700}.banner p{font-family:var(--font-ui);color:var(--muted);margin-bottom:14px;font-size:14px;line-height:1.5}.banner-btn{background:var(--accent-deep);color:#fff;font-family:var(--font-ui);border-radius:6px;padding:10px 20px;font-size:13px;font-weight:600;display:inline-block}.banner-btn:hover{background:var(--accent);color:#fff}.faq{border-top:1px solid var(--border);margin-top:52px;padding-top:34px}.faq>h2{margin-top:0;font-size:27px}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{font-family:var(--font-ui);cursor:pointer;justify-content:space-between;align-items:center;padding:18px 0;font-size:16px;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--accent);flex-shrink:0;margin-left:12px;font-size:22px;transition:transform .2s}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item p{color:var(--muted);margin:0;padding:0 0 18px;font-size:17px}.related{margin-top:56px}.related h2{margin-bottom:22px;font-size:24px}.related-row{grid-template-columns:1fr 1fr 1fr;gap:20px;display:grid}.bottom-cta{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);text-align:center;border-radius:12px;margin:48px 0 0;padding:22px 26px}.bottom-cta a{font-family:var(--font-ui);color:var(--accent-deep);font-size:16px;font-weight:600}.bottom-cta a:hover{color:var(--accent)}.rel-card{background:var(--surface);border:1px solid var(--border);color:inherit;border-radius:10px;text-decoration:none;transition:transform .2s,box-shadow .2s;overflow:hidden}.rel-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #2c2c2c12}.rel-img{aspect-ratio:16/9;background:linear-gradient(135deg, var(--accent-soft), #efe4ce);justify-content:center;align-items:center;font-size:28px;display:flex}.rel-body{padding:16px 18px 18px}.rel-cat{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:6px;font-size:10px;font-weight:600}.rel-body h5{font-family:var(--font-heading);font-size:15px;font-weight:600;line-height:1.3}.cat-page-hero{max-width:var(--col);text-align:center;margin:0 auto;padding:56px 24px 20px}.cat-page-hero .eyebrow{margin-bottom:14px}.cat-page-hero h1{margin-bottom:16px;font-size:40px;font-weight:700}.cat-page-hero p{color:var(--muted);font-size:18px}.site-footer{border-top:1px solid var(--border);font-family:var(--font-ui);margin-top:40px;padding:48px 0 40px}.footer-grid{max-width:var(--max-w);grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin:0 auto;padding:0 24px;display:grid}.footer-col h5{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;font-size:12px}.footer-col a{color:var(--text);opacity:.85;margin-bottom:10px;font-size:15px;display:block}.footer-col a:hover{opacity:1;color:var(--accent-deep)}.footer-brand{font-family:var(--font-heading);margin-bottom:10px;font-size:19px;font-weight:700}.footer-brand span{color:var(--accent)}.footer-copy{max-width:var(--max-w);border-top:1px solid var(--border);color:var(--muted);margin:32px auto 0;padding:20px 24px 0;font-size:13px}@media (width<=1000px){.layout{grid-template-columns:1fr}.toc{display:none}.related-row,.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=600px){body{font-size:17px}h1.article-title{font-size:29px}.grid,.related-row{grid-template-columns:1fr}.banner{text-align:center;flex-direction:column}.footer-grid{grid-template-columns:1fr}}
