
:root{--bg:#fff;--surface:#f2f2f3;--ink:#1d1d20;--muted:#62626a;--line:#dcdadb;--accent:#7b1e32;--on-accent:#fff;--gold:#c9a24a;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#151518;--surface:#202025;--ink:#ecebea;--muted:#a6a6ae;--line:#34343b;--accent:#d0627a;--on-accent:#151518;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#151518;--surface:#202025;--ink:#ecebea;--muted:#a6a6ae;--line:#34343b;--accent:#d0627a;--on-accent:#151518;color-scheme:dark}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.6 "DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3{font-family:Fraunces,Georgia,"Times New Roman",serif;font-weight:600;line-height:1.2;margin:0}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
svg.i{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* header */
.top{display:flex;align-items:center;gap:14px;padding:18px 0;flex-wrap:wrap}
.logo{font-family:Fraunces,Georgia,serif;font-size:1.75rem;font-weight:600;text-decoration:none;letter-spacing:-.01em;margin-right:auto}
.search{display:flex;border:1px solid var(--line);flex:0 1 260px}
.search input{flex:1;min-width:0;border:0;background:none;color:inherit;font:inherit;padding:8px 12px}
.search button,.burger{border:0;background:none;color:inherit;cursor:pointer;padding:0 10px}
.social{display:flex;gap:6px}
.social a{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line)}
.social a:hover{border-color:var(--accent);color:var(--accent)}
.burger{display:none;width:38px;height:38px;border:1px solid var(--line)}
nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
nav a{display:block;padding:12px 14px;text-decoration:none;font-weight:500}
nav a:hover,nav a[aria-current]{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
@media (max-width:759px){
 .burger{display:block}.search{order:5;flex:1 1 100%}
 nav ul{display:none;flex-direction:column;gap:0}nav.open ul{display:flex}
}
/* hero: the curtain */
.hero{position:relative;overflow:hidden;margin:28px 0 40px;min-height:360px;display:flex;align-items:flex-end;color:#fff;background:linear-gradient(180deg,#3d0c19,#7b1e32);border-bottom:5px solid var(--gold)}
.hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(0,0,0,.36) 0,rgba(255,255,255,.08) 24px,rgba(0,0,0,.36) 48px)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,3,7,.8),rgba(15,3,7,0) 70%)}
.hero-body{position:relative;z-index:1;padding:32px;max-width:660px}
.hero h1{font-size:clamp(2rem,5.5vw,3.4rem);margin:8px 0 12px}
.hero p{margin:0 0 20px;font-size:1.05rem;color:#f1e6e8}
.hero .meta{color:#e3c98a}
.btn{display:inline-block;padding:11px 22px;background:var(--accent);color:var(--on-accent);text-decoration:none;font:600 1rem "DM Sans",system-ui,sans-serif;border:0;cursor:pointer}
.hero .btn{background:#fff;color:#4a0f1e}
/* layout */
.layout{display:grid;gap:44px;padding-bottom:56px}
@media (min-width:900px){.layout{grid-template-columns:minmax(0,1fr) 300px}}
.main>h2{font-size:1.6rem;margin-bottom:14px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.chip{border:1px solid var(--line);background:none;color:var(--ink);padding:6px 15px;font:inherit;font-size:.92rem;cursor:pointer;border-radius:999px}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.grid{display:grid;gap:32px 24px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.thumb{aspect-ratio:3/2;position:relative;margin-bottom:12px;background:hsl(var(--h) 45% 22%)}
.thumb::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(0,0,0,.3) 0,rgba(255,255,255,.07) 14px,rgba(0,0,0,.3) 28px)}
.meta{display:flex;justify-content:space-between;gap:10px;font-size:.86rem;color:var(--muted)}
.meta b{color:var(--accent);font-weight:600}
.card h3{font-size:1.2rem;margin:6px 0}
.card h3 a{text-decoration:none}.card h3 a:hover{text-decoration:underline}
.card p{margin:0;color:var(--muted);font-size:.95rem}
[hidden]{display:none!important}
#empty{color:var(--muted);padding:24px 0}
/* sidebar */
.side section{margin-bottom:34px}
.side h2{font-size:1.1rem;padding-top:10px;border-top:2px solid var(--ink);margin-bottom:14px}
.about{display:flex;gap:14px;align-items:flex-start}
.avatar{flex:none;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#7b1e32;color:#fff;font:600 2rem Fraunces,Georgia,serif;border:2px solid var(--gold)}
.about p{margin:0;font-size:.95rem}
.pop{list-style:none;margin:0;padding:0;counter-reset:p}
.pop li{counter-increment:p;display:flex;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.pop li::before{content:counter(p);font:600 1.5rem/1.1 Fraunces,Georgia,serif;color:var(--accent);min-width:1.2ch}
.pop a{text-decoration:none;font-weight:500}.pop a:hover{text-decoration:underline}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags a{font-size:.88rem;padding:4px 12px;background:var(--surface);text-decoration:none}
.tags a:hover{background:var(--accent);color:var(--on-accent)}
.news{background:var(--surface);padding:18px}
.news p{margin:0 0 12px;font-size:.95rem}
.news input{width:100%;padding:10px 12px;border:1px solid var(--line);background:var(--bg);color:inherit;font:inherit;margin-bottom:10px}
.news .btn{width:100%}
#nmsg{margin:10px 0 0;color:var(--accent);font-weight:500}
.page{max-width:720px;padding:4px 0 56px}
.page h1{font-size:clamp(1.9rem,5vw,2.8rem);margin:14px 0}
.page p{margin:0 0 1.1em;font-size:1.08rem}
.page .thumb{aspect-ratio:16/7;margin:12px 0 18px}
.page .meta{justify-content:flex-start;gap:14px}
.back{display:inline-block;margin-top:24px;color:var(--accent);font-weight:500}
/* footer */
footer{background:#1b1b1f;color:#e9e8e6;border-top:5px solid var(--gold);padding:36px 0 28px}
.fcols{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
footer h2{font-size:1.1rem;margin-bottom:10px}
footer ul{list-style:none;margin:0;padding:0}footer li{margin:4px 0}
footer a{text-decoration:none}footer a:hover{text-decoration:underline}
footer .social a{border-color:#4a4a52}
.copy{margin:28px 0 0;font-size:.88rem;color:#a6a6ae}

.wrap>.layout:first-child{padding-top:32px}.wrap>.page{padding-top:28px}
.hero h1 a,.card h3 a{color:inherit;text-decoration:none}.card h3 a:hover{text-decoration:underline}
.thumb.img::after{display:none}.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.lh{font-size:1.5rem;margin-bottom:16px}
.pager{display:flex;justify-content:space-between;gap:12px;margin:36px 0 8px}.pager a{padding:9px 18px;background:var(--accent);color:var(--on-accent);text-decoration:none;font-weight:600}
.cnt{color:var(--muted);font-size:.9rem;margin:0}
.side ul{list-style:none;margin:0;padding:0}.side li{padding:7px 0;border-bottom:1px solid var(--line)}.side li a{text-decoration:none}.side li a:hover{color:var(--accent)}.side li span{color:var(--muted);font-size:.9rem}
.post h1{font-size:clamp(1.8rem,4.5vw,2.7rem);margin:10px 0 18px}
.post .meta{justify-content:flex-start;gap:14px}.post .meta a{color:var(--accent);font-weight:600;text-decoration:none}
.feat img{width:100%;max-height:480px;object-fit:cover;display:block;margin-bottom:22px}
.body{font-size:1.08rem;max-width:740px}.body p{margin:0 0 1.15em}.body a{color:var(--accent)}
.body img{max-width:100%;height:auto;display:block;margin:1em 0}.body figure{margin:1.4em 0}.body figcaption{font-size:.88rem;color:var(--muted);margin-top:6px}
.body h2,.body h3{margin:1.6em 0 .6em}
.body blockquote{margin:1.4em 0;padding-left:1.1em;border-left:3px solid var(--accent);font-family:Fraunces,Georgia,serif;font-size:1.15rem}
.body iframe{width:100%;aspect-ratio:16/9;border:0;margin:1em 0;display:block}.body iframe.sp{aspect-ratio:auto;height:232px}
.gal,.wp-block-gallery,.blocks-gallery-grid{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:1.2em 0;padding:0}
.gal a,.wp-block-gallery figure,.blocks-gallery-item{flex:1 1 200px;margin:0}
.gal img,.wp-block-gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;margin:0}
.tg{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.tg a{padding:4px 12px;background:var(--surface);text-decoration:none;font-size:.9rem}
.comments{margin-top:36px}.comments ul{list-style:none;margin:0;padding:0}.comments li{padding:14px 0;border-bottom:1px solid var(--line)}.comments time{color:var(--muted);font-size:.85rem;margin-left:8px}
