
:root{
  --paper:#f3efe8;
  --ink:#181716;
  --wine:#7a2638;
  --sand:#d8c8b2;
  --soft:#ebe3d7;
  --line:#2a2723;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
.wrap{width:min(1220px,calc(100% - 40px));margin:auto}
header{border-bottom:1px solid var(--line)}
.head{display:grid;grid-template-columns:1fr auto;align-items:center;padding:22px 0}
.brand{font-family:Georgia,serif;font-size:1.55rem;letter-spacing:-.03em}
.brand b{color:var(--wine)}
nav{display:flex;gap:24px;font-size:.9rem;font-weight:700}
nav a{padding:6px 0;border-bottom:1px solid transparent}
nav a:hover{border-color:var(--wine)}
.hero{display:grid;grid-template-columns:1.3fr .7fr;border-bottom:1px solid var(--line);min-height:74vh}
.hero-main{padding:70px 5vw 60px 0}
.hero-side{border-left:1px solid var(--line);padding:70px 0 60px 40px;display:flex;flex-direction:column;justify-content:space-between}
.kicker{font-size:.72rem;letter-spacing:.17em;text-transform:uppercase;font-weight:800;color:var(--wine)}
h1,h2,h3{font-family:Georgia,serif;font-weight:500;letter-spacing:-.045em;margin:0}
h1{font-size:clamp(4.2rem,9vw,9rem);line-height:.88;max-width:900px}
h2{font-size:clamp(2.8rem,5vw,5.4rem);line-height:.95}
h3{font-size:1.7rem}
.hero p{font-size:1.15rem;max-width:650px;margin-top:28px}
.side-note{font-size:.9rem;border-top:1px solid var(--line);padding-top:18px}
.edition{font-family:Georgia,serif;font-size:4rem;color:var(--wine)}
.toc{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.toc a{padding:22px;border-right:1px solid var(--line)}
.toc a:last-child{border-right:0}
.toc small{display:block;color:var(--wine);margin-bottom:7px}
.section{padding:82px 0;border-bottom:1px solid var(--line)}
.section-grid{display:grid;grid-template-columns:.58fr 1.42fr;gap:48px}
.section-label{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800}
.articles{border-top:1px solid var(--line)}
.article{display:grid;grid-template-columns:130px 1fr 180px;gap:30px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}
.article .num{color:var(--wine);font-family:Georgia,serif;font-size:2rem}
.article p{margin:5px 0 0}
.article .tag{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}
.pull{background:var(--wine);color:white;padding:70px 0}
.pull blockquote{font-family:Georgia,serif;font-size:clamp(2.3rem,5vw,5rem);line-height:1.03;margin:0;max-width:1050px}
.columns{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.col{border-top:3px solid var(--wine);padding-top:18px}
.form-section{display:grid;grid-template-columns:.8fr 1.2fr}
.form-intro{padding:60px 50px 60px 0}
form{border-left:1px solid var(--line);padding:60px 0 60px 50px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-weight:700;font-size:.9rem}
input,select,textarea{background:transparent;border:1px solid var(--line);padding:13px}
textarea{min-height:150px}
button{background:var(--wine);color:white;border:0;padding:14px 20px;font-weight:800;cursor:pointer}
.success{display:none;background:var(--soft);padding:14px;border-left:4px solid var(--wine);grid-column:1/-1}
footer{padding:38px 0 48px;display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:35px;font-size:.9rem}
.disclaimer{font-size:.82rem;color:#5d5850}
.menu{display:none}
.reveal{opacity:0;transform:translateY(14px);transition:.55s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:820px){
  .head{grid-template-columns:1fr auto}
  .menu{display:block;border:1px solid var(--line);background:transparent;padding:8px 10px}
  nav{display:none;position:absolute;top:70px;left:20px;right:20px;background:var(--paper);border:1px solid var(--line);padding:16px;flex-direction:column;z-index:20}
  nav.open{display:flex}
  .hero,.section-grid,.form-section{grid-template-columns:1fr}
  .hero-main{padding-right:0}.hero-side{border-left:0;border-top:1px solid var(--line);padding:30px 0}
  .toc{grid-template-columns:1fr 1fr}.toc a:nth-child(2){border-right:0}.toc a:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .article{grid-template-columns:60px 1fr}.article .tag{grid-column:2}
  .columns{grid-template-columns:1fr}
  .form-intro{padding:45px 0 30px}form{border-left:0;border-top:1px solid var(--line);padding:35px 0;grid-template-columns:1fr}.field.full{grid-column:auto}
  footer{grid-template-columns:1fr}
}
