:root{
  --cream:#FFFFFF;--warm:#FFF8F0;--ink:#1C1917;--mid:#6B6460;
  --soft:#F0E8DE;--rust:#E8622A;--sage:#4A7C59;--gold:#C9A84C;
  --blush:#F08070;--border:rgba(28,25,23,.1);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:hidden}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--ink);line-height:1.6;position:relative}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
nav,section,footer{position:relative;z-index:2}
h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:600;line-height:1.05;letter-spacing:-0.022em;font-variation-settings:"opsz" 144,"SOFT" 50}
h1{font-weight:500;font-variation-settings:"opsz" 144,"SOFT" 30}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* NAV */
nav{background:var(--cream);border-bottom:1px solid var(--border);padding:0 6vw;position:sticky;top:0;z-index:100}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;height:64px}
.site-name{font-family:'Fraunces',serif;font-size:1.45rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.site-name span{color:var(--rust)}
.nav-links{display:flex;gap:1.4rem;font-size:.86rem;font-weight:500;color:var(--mid)}
@media(max-width:1100px){.nav-links{gap:1.1rem;font-size:.82rem}}
@media(max-width:900px){.nav-links{gap:.85rem;font-size:.78rem}}
.nav-links a:hover{color:var(--rust)}
.menu-btn{display:none;width:38px;height:38px;background:transparent;border:1px solid var(--border);border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;padding:0}
.menu-btn span{display:block;width:17px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .2s}
.menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn.open span:nth-child(2){opacity:0}
.menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-panel{position:fixed;top:0;right:0;width:min(86vw,320px);height:100dvh;background:var(--cream);border-left:1px solid var(--border);z-index:200;transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:.5rem}
.mobile-panel.open{transform:translateX(0)}
.mp-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--border);margin-bottom:.5rem}
.mp-close{background:transparent;border:none;font-size:1.4rem;cursor:pointer;color:var(--mid)}
.mobile-panel h4{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mid);font-weight:700;margin:.8rem 0 .3rem;padding-bottom:.4rem;border-bottom:1px solid var(--border)}
.mobile-panel a{display:block;padding:.5rem 0;font-size:.95rem;color:var(--ink);font-weight:500;border-bottom:1px solid var(--border)}
.mobile-overlay{position:fixed;inset:0;background:rgba(28,25,23,.4);backdrop-filter:blur(2px);z-index:195;opacity:0;pointer-events:none;transition:opacity .25s}
.mobile-overlay.open{opacity:1;pointer-events:auto}
@media(max-width:700px){.nav-links{display:none}.menu-btn{display:flex}}

/* HERO */
.hero{padding:72px 6vw 56px;text-align:center;background:var(--cream);position:relative;overflow:hidden}
.hero-collage{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.55;filter:saturate(.85);mask-image:radial-gradient(ellipse 55% 65% at 50% 50%, transparent 35%, rgba(0,0,0,.6) 70%, #000 100%);-webkit-mask-image:radial-gradient(ellipse 55% 65% at 50% 50%, transparent 35%, rgba(0,0,0,.6) 70%, #000 100%)}
.hero-collage img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-text{position:relative;z-index:2}
.hero-text::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:120%;height:130%;background:radial-gradient(ellipse, var(--cream) 0%, var(--cream) 35%, rgba(255,252,248,.85) 55%, transparent 80%);z-index:-1;pointer-events:none}
@media(max-width:700px){.hero-collage{opacity:.3}}
.hero-tag{display:inline-block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--rust);margin-bottom:1.2rem}
.hero h1{font-size:clamp(2.8rem,6vw,5rem);max-width:800px;margin:0 auto 1.2rem;font-weight:700}
.hero h1 em{font-style:italic;color:var(--rust)}
.hero p{font-size:1.08rem;color:var(--mid);max-width:540px;margin:0 auto 2rem;font-weight:400;line-height:1.75}
.hero-cats{display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem}
.hero-cats a{font-size:.82rem;font-weight:500;padding:.45rem 1.1rem;border-radius:999px;border:1px solid var(--border);color:var(--mid);background:var(--cream);transition:all .15s}
.hero-cats a:hover{border-color:var(--rust);color:var(--rust);background:var(--warm)}

/* DIVIDER */
.divider{max-width:1200px;margin:0 auto;border:none;border-top:1px solid var(--border)}

/* FEATURED */
.featured{padding:56px 6vw}
.featured-inner{max-width:1200px;margin:0 auto}
.section-label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--mid);margin-bottom:1.4rem;display:flex;align-items:center;gap:.8rem}
.section-label::after{content:"";flex:1;height:1px;background:var(--border)}
.feat-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2px;background:var(--border);border:1px solid var(--border);border-radius:20px;overflow:hidden}
@media(max-width:900px){.feat-grid{grid-template-columns:1fr}}
.feat-card{background:var(--cream);padding:32px;display:flex;flex-direction:column;gap:.8rem;transition:background .15s;cursor:pointer;color:inherit;text-decoration:none}
.feat-card:hover{background:var(--warm)}
.feat-card.big{padding:40px}
.feat-tag{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--rust)}
.feat-card h2{font-size:1.6rem;line-height:1.2}
.feat-card.big h2{font-size:2.2rem}
.feat-card p{font-size:.9rem;color:var(--mid);line-height:1.7;flex:1}
.feat-meta{display:flex;align-items:center;gap:.6rem;font-size:.8rem;color:var(--mid);font-weight:500;margin-top:.4rem}
.feat-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--soft)}
.feat-arrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--rust);margin-top:.4rem;transition:gap .15s}
.feat-card:hover .feat-arrow{gap:.7rem}

/* CATEGORY STRIP */
.cat-strip{padding:40px 6vw;background:var(--warm);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.cat-strip-inner{max-width:1200px;margin:0 auto}
.cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:20px}
@media(max-width:900px){.cat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:500px){.cat-grid{grid-template-columns:repeat(2,1fr)}}
.cat-tile{background:var(--cream);border:1px solid var(--border);border-radius:14px;padding:20px 16px;text-align:center;cursor:pointer;transition:all .15s;display:block;color:inherit;text-decoration:none}
.cat-tile:hover{border-color:var(--rust);transform:translateY(-2px)}
.cat-icon{font-size:1.8rem;margin-bottom:.5rem}
.cat-name{font-size:.8rem;font-weight:600;color:var(--ink)}
.cat-count{font-size:.72rem;color:var(--mid);margin-top:2px}

/* ARTICLE GRID */
.articles{padding:56px 6vw}
.articles-inner{max-width:1200px;margin:0 auto}
.art-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:32px;margin-top:24px}
.art-grid > .art-card{grid-column:span 2}
.art-grid > .art-card:first-child{grid-column:span 4;grid-row:span 2}
.art-grid > .art-card:first-child .art-cover{aspect-ratio:16/10}
@media(max-width:900px){.art-grid{grid-template-columns:repeat(2,1fr);gap:24px}.art-grid > .art-card,.art-grid > .art-card:first-child{grid-column:span 1;grid-row:auto}.art-grid > .art-card:first-child .art-cover{aspect-ratio:3/2}}
@media(max-width:600px){.art-grid{grid-template-columns:1fr}.art-grid > .art-card{grid-column:span 1}}
.art-card{cursor:pointer;display:block;color:inherit;text-decoration:none}
.art-cover{aspect-ratio:3/2;border-radius:16px;overflow:hidden;background:var(--soft);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,rotate .25s;box-shadow:0 1px 3px rgba(28,25,23,.04)}
.art-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.art-card:hover .art-cover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(28,25,23,.12);rotate:-.4deg}
.art-card:hover .art-cover img{transform:scale(1.03)}
.art-card:hover h3{color:var(--rust)}
.art-desc{font-size:.88rem;color:var(--mid);line-height:1.65}
.art-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.8rem;font-size:.78rem;color:var(--mid);font-weight:500}
.art-footer .read{color:var(--rust);font-weight:600}

/* NEWSLETTER */
.newsletter{padding:72px 6vw;background:var(--rust);color:#fff;text-align:center}
.newsletter-inner{max-width:560px;margin:0 auto}
.newsletter .tag{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.75);margin-bottom:1rem}
.newsletter h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:.8rem;color:#fff}
.newsletter p{color:rgba(255,255,255,.8);font-size:.98rem;margin-bottom:2rem;line-height:1.7}
.nl-form{display:flex;gap:.6rem;max-width:400px;margin:0 auto;flex-wrap:wrap}
.nl-form input{flex:1;padding:.85rem 1.1rem;border:1px solid rgba(255,255,255,.3);border-radius:10px;background:rgba(255,255,255,.15);color:#fff;font-family:inherit;font-size:.9rem;min-width:0}
.nl-form input::placeholder{color:rgba(255,255,255,.55)}
.nl-form input:focus{outline:none;border-color:#fff}
.nl-form button{padding:.85rem 1.5rem;border-radius:10px;background:#fff;color:var(--rust);font-weight:700;font-size:.9rem;border:none;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}
.nl-form button:hover{background:var(--warm);color:var(--rust)}

/* FOOTER */
footer{padding:48px 6vw 28px;background:var(--warm);border-top:1px solid var(--border)}
.foot-inner{max-width:1200px;margin:0 auto}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
@media(max-width:800px){.foot-grid{grid-template-columns:1fr;gap:0}}
.foot-brand{font-family:'Fraunces',serif;font-size:1.3rem;font-weight:700;color:var(--ink);margin-bottom:.6rem}
.foot-brand span{color:var(--rust)}
.foot-desc{font-size:.85rem;color:var(--mid);line-height:1.7;max-width:240px;margin-bottom:1.2rem}
.foot-col h5{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:center;padding:.9rem 0;border-top:1px solid var(--border);cursor:pointer;user-select:none}
.foot-col h5 .chev{font-size:.8rem;transition:transform .25s;color:var(--mid)}
.foot-col h5.open .chev{transform:rotate(180deg)}
.foot-col ul{list-style:none;overflow:hidden;max-height:400px;transition:max-height .3s ease,opacity .3s ease;opacity:1;margin-bottom:.6rem}
.foot-col ul.collapsed{max-height:0;opacity:0;margin-bottom:0}
.foot-col ul li{padding:4px 0}
.foot-col ul li a{font-size:.86rem;color:var(--mid);transition:color .12s}
.foot-col ul li a:hover{color:var(--rust)}
@media(min-width:801px){.foot-col h5{cursor:default;padding-bottom:.9rem;border-top:none}.foot-col h5 .chev{display:none}.foot-col ul.collapsed{max-height:400px;opacity:1}}
.foot-bot{border-top:1px solid var(--border);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;font-size:.78rem;color:var(--mid)}
.foot-bot a{color:var(--mid)}
.foot-bot a:hover{color:var(--rust)}
.affiliate-note{font-size:.74rem;color:var(--mid);text-align:center;padding:12px 6vw;background:var(--cream);border-top:1px solid var(--border);line-height:1.6}

/* REVEAL */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.d1{transition-delay:.05s}.d2{transition-delay:.1s}.d3{transition-delay:.15s}.d4{transition-delay:.2s}.d5{transition-delay:.25s}.d6{transition-delay:.3s}