:root {
  --ink: #1c0f20;
  --plum: #4a1f5c;
  --violet: #8b4fa8;
  --mauve: #c490d1;
  --blush: #edb5c5;
  --rose: #e07090;
  --dusk: #d4607a;
  --cream: #fdf7f2;
  --parchment: #f5ede4;
  --fog: rgba(253, 247, 242, 0.06);
  --border: rgba(253, 247, 242, 0.14);
  --shadow: 0 20px 60px rgba(0, 0, 0, 0.28);
  --radius: 22px;
  --radius-sm: 14px;
  --max: 1200px;
}
*,:before,:after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Jost",sans-serif;background:var(--ink);color:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
.container{width:min(100% - 2rem,var(--max));margin-inline:auto}.narrow{width:min(100% - 2rem,760px);margin-inline:auto}
.section{padding:6rem 0}.section-soft{background:linear-gradient(180deg,rgba(244,237,228,.04),rgba(244,237,228,.02))}.section-contrast{background:linear-gradient(180deg,rgba(139,79,168,.08),rgba(74,31,92,.08))}.section-cta{padding-top:2rem;padding-bottom:6rem}.page-main{padding-top:88px}.page-hero{padding:6.5rem 0 3rem;background:linear-gradient(180deg,rgba(253,247,242,.04),transparent)}
.section-kicker,.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.76rem;color:rgba(253,247,242,.72);margin-bottom:1rem}
h1,h2,h3{font-family:"Playfair Display",serif;line-height:1.08;margin:0 0 1rem}h1{font-size:clamp(2.5rem,7vw,5.2rem)}h2{font-size:clamp(2rem,4vw,3.25rem)}h3{font-size:1.4rem}
p{margin:0 0 1rem;color:rgba(253,247,242,.88)}.lead{font-size:1.1rem;max-width:62ch}.rounded-image{border-radius:26px;border:1px solid var(--border);box-shadow:var(--shadow)}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:1rem;top:1rem;z-index:99999;background:var(--cream);color:var(--ink);padding:.75rem 1rem;border-radius:10px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media (max-width:900px){.section{padding:4.5rem 0}.page-hero{padding:5rem 0 2.5rem}}
@media (max-width:720px){
  h1{font-size:clamp(2.1rem,10vw,3.2rem)}
  h2{font-size:clamp(1.75rem,7vw,2.6rem)}
  h3{font-size:1.2rem}
  .lead{font-size:1rem}
  .section{padding:3.5rem 0}
  .page-hero{padding:4rem 0 2rem}
  .section-kicker,.eyebrow{letter-spacing:.18em}
}
@media (max-width:560px){
  .container,.narrow{width:min(100% - 1.4rem,var(--max))}
  .section{padding:3rem 0}
  .page-main{padding-top:76px}
}

