:root{--ink:#2c1d18;--muted:#74635a;--wine:#990000;--rose:#c87d55;--cream:#f4ede3;--paper:#fffdf9;--line:#e5d8ca;--night:#2a1b24;--shadow:0 18px 50px rgba(74,45,31,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#f9f6f0;line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.shell{width:min(1160px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(249,246,240,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(153,0,0,.1)}
.nav{height:78px;display:flex;align-items:center;gap:28px}
.brand{font-family:Georgia,serif;font-size:26px;font-weight:700;line-height:.9;white-space:nowrap}
.brand span{color:var(--rose)}
.brand small{display:block;margin-top:8px;font:700 9px/1.1 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
nav{display:flex;align-items:center;gap:20px;margin-left:auto}
nav a{font-size:14px;font-weight:700}
.site-header nav a{position:relative;isolation:isolate;padding:10px 5px;color:var(--ink)}
.site-header nav a:before{content:"";position:absolute;z-index:-1;left:50%;right:50%;bottom:3px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--wine),var(--rose));box-shadow:0 4px 13px rgba(200,125,85,.42);opacity:0;transition:left .3s cubic-bezier(.2,.8,.2,1),right .3s cubic-bezier(.2,.8,.2,1),opacity .2s ease}
.site-header nav a:after{content:"";position:absolute;z-index:-2;inset:50% -8px 3px;border-radius:8px 8px 3px 3px;background:linear-gradient(to top,rgba(200,125,85,.22) 0%,rgba(153,0,0,.1) 45%,rgba(249,246,240,0) 100%);opacity:0;transform:scaleY(0);transform-origin:center bottom;transition:opacity .2s ease,transform .38s cubic-bezier(.18,.8,.22,1)}
.site-header nav a:hover:before,.site-header nav a:focus-visible:before,.site-header nav a.active:before{left:5px;right:5px;opacity:1}
.site-header nav a:hover:after,.site-header nav a:focus-visible:after,.site-header nav a.active:after{opacity:1;transform:scaleY(1)}
.site-header nav a:focus-visible{outline:2px solid rgba(200,125,85,.55);outline-offset:5px}
.search{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--paper)}
.search input{width:120px;border:0;padding:10px 4px 10px 15px;outline:0}
.search button{border:0;background:transparent;padding:0 12px;font-size:19px}
.menu-button{display:none}
.hero{padding:72px 0 58px;background:radial-gradient(circle at 76% 20%,#ead1bd 0,transparent 28%),linear-gradient(135deg,#f4ede3,#f1e6da)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.eyebrow{display:block;color:var(--rose);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px}
h1,h2,h3{font-family:Georgia,serif;line-height:1.12;margin:0 0 16px}
h1{font-size:clamp(44px,6vw,76px);letter-spacing:-.035em}
h2{font-size:clamp(32px,4vw,48px)}
h3{font-size:24px}
.hero p,.page-hero p{font-size:19px;color:var(--muted);max-width:650px}
.button{display:inline-flex;padding:13px 21px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--wine),var(--rose));color:white;font-weight:800;cursor:pointer}
.hero-card{min-height:480px;border-radius:30px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;color:white;background-color:var(--night);background-size:cover;background-position:center;box-shadow:var(--shadow)}
.hero-card span,.thumb span,.pill{align-self:flex-start;padding:7px 12px;border-radius:999px;background:var(--rose);color:white;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.hero-card h2{font-size:38px}
.hero-card p{font-size:15px;color:#f8eaf0}
.section{padding:78px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.category-card{padding:26px;border:1px solid var(--line);border-radius:22px;background:var(--paper);transition:.25s}
.category-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d8a080}
.category-card>span{color:var(--rose);font-weight:800}
.category-card h3{margin-top:32px}
.category-card p{color:var(--muted);font-size:14px}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.article-card{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--paper);transition:.25s}
.article-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.thumb{height:210px;display:flex;align-items:flex-start;padding:18px;background:linear-gradient(135deg,#e7d5c5,#f6eee4);background-size:cover;background-position:center}
.article-card>div{padding:24px}
.article-card small,.article-head>div,.comment small{color:var(--muted)}
.article-card h3{margin:10px 0}
.article-card p{font-size:14px;color:var(--muted)}
.read-more{color:var(--wine);font-weight:800;font-size:14px}
.support{padding:82px 0;text-align:center;background:var(--night);color:white}
.support p{color:#dfcfd4}
.button-light{background:white;color:var(--wine)}
.page-hero,.article-hero{padding:74px 0;background:linear-gradient(135deg,#f9f6f0,#eee1d5)}
.page-hero h1,.article-head h1{font-size:clamp(42px,6vw,70px)}
.article-head{max-width:900px;text-align:center}
.article-head .pill{display:inline-flex;margin-bottom:22px}
.cover{margin-top:-1px}
.cover img{width:100%;max-height:590px;object-fit:cover;border-radius:0 0 28px 28px}
.article-layout{display:grid;grid-template-columns:minmax(0,760px) 300px;gap:70px;padding-top:62px;padding-bottom:74px}
.article-body{font-family:Georgia,serif;font-size:19px}
.article-body h2{font-size:34px;margin-top:45px}
.article-body h3{margin-top:32px}
.article-body a{color:var(--wine);text-decoration:underline}
.article-body blockquote{margin:35px 0;padding:22px 28px;border-left:4px solid var(--rose);background:var(--cream);font-style:italic}
.aside-card{position:sticky;top:104px;border-radius:22px;padding:26px;background:var(--cream);border:1px solid var(--line)}
.discussion{padding:75px 0;background:#f1e9df}
.discussion-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:65px}
.comment{padding:20px 0;border-bottom:1px solid #dfd0c2}
.comment small{display:block}
.comment-form{padding:28px;border-radius:24px;background:var(--paper);box-shadow:var(--shadow)}
label{display:block;font-weight:700;margin-bottom:15px}
input,textarea,select{width:100%;margin-top:6px;border:1px solid #d9c9ba;border-radius:12px;padding:12px;font:inherit;background:white}
textarea{resize:vertical}
.trap{position:absolute!important;left:-9999px!important}
.notice{padding:12px 14px;border-radius:10px;margin-bottom:14px}
.success{background:#e6f7ec;color:#176b39}
.error{background:#fde8eb;color:#9a1d34}
.empty{padding:40px;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}
footer{padding:60px 0 20px;background:#211612;color:#eee1da}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}
.footer-grid>div{display:flex;flex-direction:column;gap:9px}
.footer-grid a{color:#d7bdae}
.copyright{margin-top:40px;padding-top:20px;border-top:1px solid #49342b;color:#ad968b;font-size:13px}

@media(max-width:900px){.nav nav{display:none;position:absolute;top:78px;left:0;right:0;padding:20px;background:white;flex-direction:column;align-items:flex-start}
.nav nav.open{display:flex}
.site-header nav a{width:100%;padding:11px 14px;border-radius:12px}
.site-header nav a:before{left:14px;right:auto;width:0;bottom:5px}
.site-header nav a:hover:before,.site-header nav a:focus-visible:before,.site-header nav a.active:before{left:14px;right:auto;width:42px}
.site-header nav a:after{inset:50% 0 2px}
.menu-button{display:block;margin-left:auto;border:0;background:transparent;font-weight:800}
.search{display:none}
.hero-grid,.discussion-grid,.article-layout{grid-template-columns:1fr}
.category-grid{grid-template-columns:repeat(2,1fr)}
.article-grid{grid-template-columns:repeat(2,1fr)}
.hero-card{min-height:390px}
.aside-card{position:static}
}

@media(max-width:600px){.shell{width:min(100% - 24px,1160px)}
.nav{height:68px}
.hero{padding-top:45px}
.hero-grid{gap:35px}
.category-grid,.article-grid,.footer-grid{grid-template-columns:1fr}
.section{padding:55px 0}
.article-layout{gap:25px}
.comment-form{padding:20px}
.hero-card{min-height:330px}
.hero-card h2{font-size:30px}
}
@media(prefers-reduced-motion:reduce){.site-header nav a,.site-header nav a:before,.site-header nav a:after{transition:none}}

