
/* ending.ai dark intimate editorial */
:root{--wine:#4A1C28;--wine-mid:#6B2E3C;--cream:#F3EBE3;--gold:#C9A96A;--ink:#1A1214;--soft:#C9B8B0;--card:#2A1820;}
*{box-sizing:border-box}body{margin:0;font-family:"DM Sans",system-ui,sans-serif;background:var(--wine);color:var(--cream);line-height:1.6}
.wrap{width:min(1080px,calc(100% - 2rem));margin:auto}img{max-width:100%;display:block}
.topbar{background:rgba(74,28,40,.95);border-bottom:1px solid var(--gold);position:sticky;top:0;z-index:20}
.nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}
.logo{font-family:"Playfair Display",serif;font-size:1.55rem;color:var(--cream);text-decoration:none}.logo span{color:var(--gold)}
.nav-links a{color:var(--soft);text-decoration:none;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;margin-left:1rem}
.btn{display:inline-flex;padding:.7rem 1.25rem;border-radius:0;text-decoration:none;font-weight:600;border:1px solid var(--gold)}
.btn-solid{background:var(--gold);color:var(--wine)}.btn-alt{background:transparent;color:var(--cream)}.btn-ghost{color:var(--cream);border-color:var(--soft)}
.hero{padding:3.5rem 0}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
.eyebrow{color:var(--gold);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.hero h1{font-family:"Playfair Display",serif;font-size:clamp(2.4rem,4.5vw,3.5rem);line-height:1.08;margin:.5rem 0 1rem;font-weight:500}
.hero-lead{color:var(--soft)}.hero-cta{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.3rem}
.chips .chip{display:inline-block;border:1px solid var(--gold);color:var(--gold);padding:.3rem .7rem;font-size:.72rem;letter-spacing:.06em;margin:.2rem}
.arch{border:1px solid var(--gold);padding:8px}.arch img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.stats{border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:1.2rem 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.stats strong{display:block;font-family:"Playfair Display",serif;font-size:1.6rem;color:var(--gold)}.stats span{font-size:.75rem;color:var(--soft)}
section{padding:3.5rem 0}.section-head h2{font-family:"Playfair Display",serif;font-size:2.1rem;margin:0 0 .4rem;font-weight:500}.section-head p{color:var(--soft)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.card{background:var(--card);padding:1.2rem;border-top:2px solid var(--gold)}
.card img{aspect-ratio:16/10;object-fit:cover;width:100%;margin-bottom:.7rem;opacity:.9}
.card h3{font-family:"Playfair Display",serif;margin:0;font-weight:500}.card p{color:var(--soft)}.card .num{color:var(--gold);font-size:.75rem;letter-spacing:.1em}
.card a{color:var(--gold);font-weight:600}
.problem{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--gold)}.problem>div{background:var(--wine-mid);padding:1.5rem}
.problem h3{font-family:"Playfair Display",serif;margin:0 0 .5rem;font-weight:500}
.how{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.how-step{border:1px solid rgba(201,169,106,.4);padding:1rem}.how-step b{color:var(--gold);display:block;margin-bottom:.35rem;font-size:.75rem;letter-spacing:.1em}
.faq details{border-bottom:1px solid rgba(201,169,106,.3);padding:1rem 0}.faq summary{cursor:pointer;font-weight:600;color:var(--cream)}
.cta-band{border:1px solid var(--gold);padding:2.5rem;display:grid;grid-template-columns:1.2fr 1fr;gap:1.5rem}
.cta-band h2{font-family:"Playfair Display",serif;margin:0;font-weight:500}.cta-band .quote{color:var(--gold);font-family:"Playfair Display",serif;font-style:italic}
footer{padding:2.5rem 0;font-size:.88rem;color:var(--soft);border-top:1px solid rgba(201,169,106,.3)}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1.5rem}.foot-grid a{color:var(--gold)}
.legal{margin-top:1.2rem;font-size:.75rem}
.article-body{max-width:700px;margin:2rem auto;padding:0 1rem 3rem;color:var(--cream)}.article-body h1{font-family:"Playfair Display",serif;font-weight:500}
.article-body p,.article-body li{color:var(--soft)}
.article-hero{width:100%;max-height:340px;object-fit:cover;border-bottom:1px solid var(--gold)}
@media(max-width:900px){.hero-grid,.cards,.problem,.cta-band,.how,.foot-grid,.stats-grid{grid-template-columns:1fr}}

/* Keep narrow-screen content within the available row width. */
@media(max-width:480px){.nav{flex-wrap:wrap;gap:.75rem}}
