:root{
  --green:#10251e;
  --green-2:#0b1b16;
  --green-3:#183329;
  --wine:#711f18;
  --wine-2:#8b2b20;
  --gold:#a9823b;
  --gold-2:#d1b06b;
  --paper:#efe1c5;
  --paper-light:#f7ecd7;
  --ink:#30231a;
  --muted:#75634c;
  --line:rgba(139,101,43,.35);
  --wrap:1180px;
  --shadow:0 22px 60px rgba(16,20,14,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:"Cormorant Garamond",Georgia,serif;background:var(--green-2);font-size:18px}
body.lock{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
.wrap{width:min(var(--wrap),calc(100% - 42px));margin:auto}
.skip-link{position:fixed;left:12px;top:-60px;z-index:999;background:#fff;padding:10px 14px}.skip-link:focus{top:12px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{position:fixed;left:0;right:0;top:0;z-index:80;background:linear-gradient(180deg,rgba(7,22,17,.97),rgba(7,22,17,.86));border-bottom:1px solid rgba(210,176,107,.16);backdrop-filter:blur(8px)}
.header-inner{height:83px;display:flex;align-items:center;gap:26px;color:var(--gold-2)}
.brand{display:flex;align-items:center;gap:10px;min-width:228px}
.brand img{width:44px;height:44px;object-fit:contain}
.brand span{display:flex;flex-direction:column;line-height:1}
.brand b{font-size:1.05rem;letter-spacing:.08em;font-weight:500}
.brand small{font-size:.55rem;letter-spacing:.16em;margin-top:5px}
.main-nav{display:flex;align-items:center;justify-content:center;gap:23px;flex:1}
.main-nav a{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;transition:.2s}.main-nav a:hover{color:#fff0c9}
.menu-toggle{display:none;border:0;background:transparent;color:var(--gold-2);font-size:1.35rem;margin-left:auto}
.cart-trigger{position:relative;border:0;background:transparent;color:var(--gold-2);font-size:1.2rem;padding:10px}
.cart-count{position:absolute;right:0;top:3px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:20px;background:var(--wine);color:white;font-size:.62rem}

.hero{position:relative;min-height:770px;display:grid;align-items:center;overflow:hidden;background:var(--green)}
.hero-photo{position:absolute;inset:0 0 0 39%;background:url("assets/hero-anne.jpg") center/cover no-repeat;transform:scale(1.04)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c2119 0%,rgba(12,33,25,.98) 34%,rgba(12,33,25,.78) 50%,rgba(12,33,25,.18) 77%,rgba(12,33,25,.22) 100%)}
.hero-grid{position:relative;z-index:2;padding-top:72px}
.hero-copy{max-width:590px;color:#eeddb7}
.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.74rem;color:var(--gold-2);margin:0 0 18px}
.hero h1{font-size:clamp(3rem,5.8vw,5.4rem);line-height:.88;margin:0;font-weight:400;text-transform:uppercase;color:#e0bd75;letter-spacing:-.02em}
.hero h1 em{font-family:"Parisienne",cursive;text-transform:none;font-weight:400;display:block;font-size:.8em;color:#d6aa59;margin-top:17px}
.hero-text{max-width:520px;font-size:1.22rem;line-height:1.5;color:#d7c5a4;margin:30px 0}
.hero-actions,.current-actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:0 24px;border:1px solid var(--gold-2);background:transparent;color:inherit;text-transform:uppercase;letter-spacing:.05em;font-size:.76rem;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-red{background:var(--wine);color:#f7ead0;border-color:#aa5a4c}.btn-red:hover{background:var(--wine-2)}
.btn-ghost{color:#efdcae;background:rgba(10,27,21,.12)}
.btn-paper{color:#5b4123;background:rgba(255,255,255,.28);border-color:#9c783a}
.hero-note{margin-top:25px;color:#a99165;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}

.paper-section{position:relative;background:
linear-gradient(rgba(248,236,211,.86),rgba(248,236,211,.86)),
url("assets/paper-texture.jpg") center/480px;color:var(--ink)}
.ornament{position:absolute;left:50%;transform:translateX(-50%);z-index:2;color:var(--gold);font-size:2rem}.ornament-top{top:-23px}
.intro{padding:72px 0;border-top:2px solid #a87f39;border-bottom:2px solid #876425}
.intro-grid{display:grid;grid-template-columns:290px 1fr 280px;gap:52px;align-items:center}
.portrait-frame img{width:245px;margin:auto;filter:drop-shadow(0 15px 22px rgba(76,52,22,.18))}
.intro-copy{text-align:center;max-width:600px;margin:auto}
.intro-copy h2,.section-heading h2,.current-copy h2,.about h2{font-size:clamp(2rem,3.2vw,3.25rem);font-weight:500;text-transform:uppercase;margin:0;line-height:.95}
.rule{display:flex;align-items:center;justify-content:center;color:#95702c;margin:18px auto;width:240px}.rule:before,.rule:after{content:"";height:1px;background:#a57b37;flex:1}.rule span{margin:0 12px;font-size:.6rem}.rule.left{margin-left:0}
.intro-copy>p:not(.section-kicker){font-size:1.05rem;line-height:1.45}
.qualities{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px}
.qualities>div{padding:6px 12px;border-left:1px solid var(--line)}.qualities>div:first-child{border-left:0}
.qualities span{display:block;color:#95702c;font-size:1.55rem;margin-bottom:8px}
.qualities b{font-size:.73rem;text-transform:uppercase;letter-spacing:.03em;font-weight:500}
.seal-collage img{max-width:250px;margin-left:auto}

.dark-section,.archive,.about{background:
radial-gradient(circle at 50% -30%,rgba(66,87,64,.27),transparent 45%),
linear-gradient(180deg,var(--green),var(--green-2));color:#eddcb6}
.letter-contents{padding:78px 0}
.section-heading{text-align:center;margin-bottom:42px}
.section-heading h2{font-size:2.3rem}.section-heading p{max-width:670px;margin:12px auto 0;color:#715d42}
.section-heading.light p{color:#bda985}
.section-heading.light h2{color:#d7b56c}
.section-heading.light>span{display:none}
.contents-grid{display:grid;grid-template-columns:repeat(3, 1fr) 0.7fr;}
.content-card{text-align:center}.content-card img{height:170px;width:100%;object-fit:contain;transition:.3s}.content-card:hover img{transform:translateY(-6px) rotate(-1deg)}
.content-card h3,.video-card h3{text-transform:uppercase;font-size:.98rem;color:#d8b66e;margin:15px 0 5px;font-weight:500}.content-card p,.video-card p{font-size:.86rem;color:#ad9b7a;margin:0;font-style:italic}
.video-card{text-align:center}.video-open{position:relative;padding:0;background:none;border:1px solid #9f7b39;width:100%}.video-open img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:saturate(.75) sepia(.08)}
.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(13,33,26,.82);border:1px solid #d1ae67;padding-left:3px}

.current-issue{padding:90px 0}
.current-grid{display:grid;grid-template-columns:minmax(330px,520px) 1fr;gap:76px;align-items:center}
.current-art{position:relative}.current-art img{width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:var(--shadow);border:10px solid #e7d5b1;outline:1px solid #a77d39}
.issue-number{position:absolute;z-index:2;left:-18px;top:26px;background:var(--wine);color:#f7e7c6;padding:11px 20px;text-transform:uppercase;letter-spacing:.07em;font-size:.72rem;box-shadow:0 7px 15px rgba(75,28,19,.2)}
.current-copy h2{color:#3b291a;font-size:3.25rem}
.current-copy>p{font-size:1.12rem;line-height:1.5;max-width:600px}
.current-copy blockquote{border-left:2px solid var(--gold);margin:26px 0;padding:5px 0 5px 22px;font-size:1.35rem;font-style:italic;color:#6c4d28}
.current-meta{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 28px}.current-meta span{border:1px solid rgba(121,87,36,.38);padding:6px 11px;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}

.join{padding:78px 0;border-top:1px solid #9f7838}
.join-layout{display:grid;grid-template-columns:160px 1fr 100px 1fr 160px;align-items:center;gap:20px}
.join-sketch{opacity:.88}.join-monogram{max-width:90px;margin:auto}
.offer{border:1px solid #b18d4d;padding:30px 30px 27px;background:rgba(255,255,255,.18);min-height:430px;position:relative;text-align:center}
.offer:before,.offer:after{content:"";position:absolute;width:28px;height:28px;border-color:#a37a39}.offer:before{left:7px;top:7px;border-left:1px solid;border-top:1px solid}.offer:after{right:7px;bottom:7px;border-right:1px solid;border-bottom:1px solid}
.offer-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#8d672d}.offer h3{text-transform:uppercase;font-size:1.65rem;font-weight:500;margin:7px 0}.price{font-size:2rem;color:#6e251b}.price small{font-size:.7rem;color:#6b5941}.offer p{line-height:1.4}.offer ul{text-align:left;line-height:1.55;font-size:.9rem;margin:20px 0 27px;padding-left:25px}.offer .btn{width:100%}

.archive{padding:80px 0}
.archive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.issue-card{text-align:center;border:1px solid rgba(204,174,111,.25);padding:13px 13px 22px;background:rgba(255,255,255,.025)}
.issue-thumb{overflow:hidden;background:#dfcda7}.issue-thumb img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:.35s;filter:saturate(.76) sepia(.08)}.issue-card:hover img{transform:scale(1.035)}
.issue-card small{display:block;color:#b89a60;text-transform:uppercase;letter-spacing:.09em;margin-top:16px}.issue-card h3{font-weight:500;margin:5px 0;color:#ebd8ad}.issue-card p{margin:0;color:#c8b28a}
.text-buy{border:0;background:none;color:#d2ae67;margin-top:12px;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.archive-cta{text-align:center;margin-top:36px}

.merch{padding:74px 0}
.merch-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:28px}
.merch-card{text-align:center}.merch-card img{height:160px;width:100%;object-fit:contain}.merch-card h3{font-size:1rem;text-transform:uppercase;font-weight:500;margin:10px 0 3px}.merch-card p{margin:0}

.about{padding:65px 0}
.about-grid{display:grid;grid-template-columns:1fr 230px 1fr;gap:55px;align-items:center}
.about-text,.newsletter{color:#dbcaa6}.about-text h2,.newsletter h2{font-size:2rem;color:#d7b56c}
.about-text>p:not(.section-kicker),.newsletter>p:not(.section-kicker){line-height:1.48;color:#c5b18b}
.about-portrait img{width:200px;margin:auto;filter:drop-shadow(0 13px 18px rgba(0,0,0,.22))}
.newsletter-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:18px}.newsletter-form input{min-width:0;background:transparent;border:1px solid #9f844e;color:#f4e5c6;padding:0 14px;outline:none}.newsletter-form input::placeholder{color:#998b70}
.socials{display:flex;gap:10px;margin-top:18px}.socials a{width:31px;height:31px;border:1px solid #9c7d45;border-radius:50%;display:grid;place-items:center;font-size:.68rem;color:#d8b76d}

.site-footer{padding-top:36px;border-top:1px solid #a77d39}
.footer-grid{display:grid;grid-template-columns:230px 150px 160px 1fr 150px;gap:35px;align-items:start}
.footer-brand img{width:170px}.footer-brand p{font-size:.82rem;font-style:italic;color:#725f45}
.site-footer h3{font-size:.77rem;text-transform:uppercase;font-weight:500;margin:0 0 9px}.site-footer a{display:block;font-size:.78rem;margin:4px 0}.site-footer p{font-size:.75rem}
.payment-row{display:flex;flex-wrap:wrap;gap:13px;margin:12px 0}.payment-row b{font-family:Arial,sans-serif;font-size:.78rem}
.footer-monogram{width:130px;justify-self:end}
.footer-bottom{border-top:1px solid rgba(126,93,43,.28);margin-top:30px;padding:13px 0 18px;display:flex;justify-content:space-between;font-size:.64rem;text-transform:uppercase;letter-spacing:.04em}.footer-bottom>span:last-child{display:flex;gap:24px}

.page-overlay{position:fixed;inset:0;z-index:89;background:rgba(5,13,10,.68);backdrop-filter:blur(3px)}
.cart-drawer{position:fixed;z-index:90;top:0;right:0;width:min(440px,94vw);height:100dvh;background:var(--paper-light);transform:translateX(105%);transition:.28s;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.25)}.cart-drawer.open{transform:none}
.cart-header{display:flex;justify-content:space-between;align-items:center;padding:26px;border-bottom:1px solid var(--line)}.cart-header small{text-transform:uppercase;letter-spacing:.1em;color:#8a672f}.cart-header h2{margin:2px 0 0;font-size:1.8rem}.cart-close,.video-close{border:0;background:none;font-size:2rem;color:inherit}
.cart-items{padding:0 26px;overflow:auto;flex:1}.cart-empty{color:#7c684c}
.cart-row{display:grid;grid-template-columns:1fr auto;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.cart-row small{color:#7f684a}.cart-row button{display:block;margin-top:6px;border:0;background:none;color:#8a271d;padding:0;font-size:.75rem}
.cart-footer{border-top:1px solid var(--line);padding:23px 26px}.cart-sum{display:flex;justify-content:space-between;font-size:1.16rem}.cart-footer>p{font-size:.75rem;color:#7b6648}.cart-footer .btn{width:100%}

.video-modal{position:fixed;z-index:95;left:50%;top:50%;transform:translate(-50%,-46%) scale(.98);width:min(960px,94vw);background:#091813;padding:12px;border:1px solid #b88f4b;opacity:0;pointer-events:none;transition:.22s}.video-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.video-modal video{display:block;width:100%}.video-close{position:absolute;right:15px;top:10px;color:white;z-index:2;background:rgba(0,0,0,.35);width:40px;height:40px;border-radius:50%}
.toast{position:fixed;z-index:100;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;background:#10251e;color:#f3e2bd;border:1px solid #b78d49;padding:11px 17px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}

@media(max-width:1080px){
 .main-nav{gap:14px}.main-nav a{font-size:.65rem}
 .intro-grid{grid-template-columns:220px 1fr}.seal-collage{display:none}
 .contents-grid{grid-template-columns:repeat(4,1fr)}.video-card{grid-column:1/-1;max-width:620px;margin:22px auto 0;width:100%}
 .join-layout{grid-template-columns:1fr 90px 1fr}.join-sketch{display:none}
 .footer-grid{grid-template-columns:190px 1fr 1fr}.footer-monogram{display:none}.footer-grid>div:nth-child(4){grid-column:2/4}
}
@media(max-width:820px){
 body{font-size:17px}
 .header-inner{height:64px}.site-header{height:64px}.brand{min-width:0}.brand b{font-size:.92rem}.brand small{font-size:.49rem}.brand img{width:38px;height:38px}
 .menu-toggle{display:block}.cart-trigger{margin-left:0}.main-nav{display:none;position:absolute;left:0;right:0;top:64px;padding:20px 22px;background:#0d211a;flex-direction:column;align-items:flex-start;border-top:1px solid rgba(209,176,107,.2)}.main-nav.open{display:flex}
 .hero{min-height:720px}.hero-photo{inset:0;background-position:60% center}.hero-shade{background:linear-gradient(180deg,rgba(10,28,22,.45) 0%,rgba(10,28,22,.77) 45%,#0c2119 75%)}
 .hero-grid{display:flex;align-items:flex-end;min-height:720px;padding:110px 0 55px}.hero-copy{max-width:none;text-align:center}.hero-text{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}
 .intro-grid{grid-template-columns:1fr;gap:30px}.portrait-frame img{width:210px}.qualities{grid-template-columns:1fr 1fr;gap:18px}.qualities>div:nth-child(3){border-left:0}
 .current-grid{grid-template-columns:1fr;gap:42px}.current-art{max-width:520px;margin:auto}.current-copy{text-align:center}.rule.left{margin-left:auto}.current-meta,.current-actions{justify-content:center}
 .join-layout{grid-template-columns:1fr;max-width:620px;margin:auto}.join-monogram{display:none}
 .archive-grid{grid-template-columns:1fr 1fr}.merch-grid{grid-template-columns:repeat(2,1fr)}
 .about-grid{grid-template-columns:1fr;text-align:center}.about-portrait{order:-1}.about-text .btn{margin:auto}.socials{justify-content:center}
 .newsletter-form{max-width:520px;margin:18px auto 0}
 .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:nth-child(4){grid-column:auto}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}
}
@media(max-width:520px){
 .wrap{width:min(100% - 28px,var(--wrap))}
 .hero h1{font-size:2.8rem}.hero h1 em{font-size:.88em}.hero-text{font-size:1.06rem}
 .hero-actions,.current-actions{flex-direction:column}.hero-actions .btn,.current-actions .btn{width:100%}
 .qualities{grid-template-columns:1fr 1fr}.intro{padding:58px 0}
 .contents-grid{grid-template-columns:1fr 1fr}.content-card img{height:135px}
 .current-issue,.join,.archive,.merch{padding:60px 0}.current-copy h2{font-size:2.35rem}
 .archive-grid{grid-template-columns:1fr}.issue-card{max-width:360px;margin:auto;width:100%}
 .merch-grid{grid-template-columns:1fr 1fr;gap:15px}.merch-card img{height:125px}
 .newsletter-form{grid-template-columns:1fr}.newsletter-form input{height:45px}
 .footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom>span:last-child{flex-wrap:wrap;gap:12px}
}
