:root{
    --noir:#14080f;--plum-deep:#2a1424;--burgundy:#8a3556;
    --rose-gold:#d8a37c;--blush:#f4dcd4;--pearl:#f9f2eb;--ivory:#fdfaf6;
    --line:rgba(20,8,15,.12);--line-dark:rgba(249,242,235,.14);
    --font-display:'Cormorant Garamond',serif;
    --font-body:'Inter',sans-serif;
    --font-mono:'DM Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:var(--ivory);color:var(--noir);line-height:1.75;-webkit-font-smoothing:antialiased;}
a{color:var(--burgundy);text-decoration:none;transition:color .2s;}
a:hover{color:var(--noir);text-decoration:underline;}

.topbar{
    background:var(--noir);color:var(--pearl);
    padding:18px 42px;
    display:flex;justify-content:space-between;align-items:center;
    border-bottom:1px solid var(--line-dark);
}
.topbar .brand{
    display:flex;align-items:center;gap:12px;
    font-family:var(--font-display);font-size:1.25rem;color:var(--pearl);
}
.topbar .brand img{width:38px;height:38px;object-fit:contain;}
.topbar .brand em{color:var(--rose-gold);font-style:italic;}
.topbar a.back{
    font-family:var(--font-mono);font-size:.72rem;
    text-transform:uppercase;letter-spacing:.22em;
    color:var(--blush);
    border:1px solid rgba(249,242,235,.4);
    padding:10px 18px;border-radius:100px;
    transition:all .35s;
}
.topbar a.back:hover{background:var(--blush);color:var(--noir);text-decoration:none;}

.hero{
    background:linear-gradient(180deg,var(--noir),var(--plum-deep));
    color:var(--pearl);
    padding:90px 42px 70px;
    border-bottom:1px solid var(--line-dark);
    position:relative;overflow:hidden;
}
.hero::before{
    content:"";position:absolute;top:-100px;right:-100px;
    width:400px;height:400px;border-radius:50%;
    background:radial-gradient(circle,rgba(216,163,124,.35),transparent 70%);
    filter:blur(30px);
}
.hero .container{max-width:980px;margin:0 auto;position:relative;z-index:1;}
.hero .crumbs{
    font-family:var(--font-mono);font-size:.7rem;
    letter-spacing:.28em;text-transform:uppercase;
    color:var(--rose-gold);
    margin-bottom:24px;
}
.hero h1{
    font-family:var(--font-display);
    font-weight:400;
    font-size:clamp(2.4rem,5vw,4rem);
    line-height:1.05;
    letter-spacing:-.01em;
}
.hero h1 em{color:var(--rose-gold);font-style:italic;}
.hero .meta{
    margin-top:22px;
    font-family:var(--font-mono);font-size:.74rem;
    color:rgba(249,242,235,.6);
    letter-spacing:.16em;text-transform:uppercase;
}

main{
    max-width:820px;
    margin:0 auto;
    padding:80px 42px 100px;
}
main h2{
    font-family:var(--font-display);
    font-size:1.9rem;font-weight:500;
    margin:54px 0 18px;
    color:var(--burgundy);
}
main h2:first-child{margin-top:0;}
main h3{
    font-family:var(--font-body);
    font-size:1.05rem;font-weight:600;
    margin:30px 0 12px;
    color:var(--noir);
}
main p, main li{
    color:#3d2a35;font-size:1.02rem;margin-bottom:16px;
}
main ul, main ol{padding-left:22px;margin-bottom:22px;}
main li{margin-bottom:8px;}
.callout{
    background:var(--blush);
    border-left:4px solid var(--burgundy);
    padding:22px 28px;margin:30px 0;border-radius:4px;
    font-size:.96rem;
}
.callout strong{color:var(--burgundy);}

footer{
    background:var(--noir);color:rgba(249,242,235,.6);
    padding:50px 42px;
    text-align:center;
    font-family:var(--font-mono);font-size:.72rem;
    letter-spacing:.18em;text-transform:uppercase;
    border-top:1px solid var(--line-dark);
}
footer a{color:var(--rose-gold);}
.policy-nav{
    display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;
    margin-bottom:24px;font-size:.66rem;
}

@media (max-width:700px){
    .topbar,.hero,main,footer{padding-left:22px;padding-right:22px;}
    .hero{padding-top:60px;padding-bottom:50px;}
    main{padding-top:50px;padding-bottom:70px;}
}
