@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,500;0,560;1,500&family=Nunito+Sans:opsz,wght@6..12,400;6..12,500;6..12,650;6..12,700;6..12,750&display=swap');

:root { --cream:#f3ebdd; --cream-light:#faf6ef; --aubergine:#5b3b52; --aubergine-dark:#3e293a; --sage:#aab59c; --sage-light:#d8ddcf; --terracotta:#c66e52; --rose:#ddbbb4; --lilac:#d8ccd9; --charcoal:#302c2b; --muted:#6f675f; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--charcoal); background:var(--cream-light); font-family:'Nunito Sans',sans-serif; font-size:16px; line-height:1.75; }
body::before { content:''; position:fixed; inset:0; pointer-events:none; opacity:.24; z-index:10; background-image:radial-gradient(rgba(62,41,58,.16) .45px,transparent .6px); background-size:5px 5px; mix-blend-mode:multiply; }
a { color:inherit; }
.site-header { height:86px; padding:0 clamp(24px,6vw,96px); display:flex; align-items:center; justify-content:space-between; background:var(--cream-light); position:relative; z-index:2; }
.wordmark { color:var(--aubergine-dark); font-family:Lora,serif; font-size:1.28rem; text-decoration:none; letter-spacing:-.04em; }
.wordmark span { font-style:italic; }
.site-header nav { display:flex; gap:clamp(18px,3vw,38px); }
.site-header nav a { text-decoration:none; color:var(--charcoal); font-size:.75rem; font-weight:750; text-transform:uppercase; letter-spacing:.11em; }
.site-header nav a:hover,.legal-nav a:hover,.site-footer a:hover { color:var(--terracotta); }
.hero { min-height:420px; overflow:hidden; position:relative; background:var(--aubergine); display:grid; place-items:center; color:#fffaf3; }
.hero-inner { position:relative; z-index:1; width:min(1120px,88vw); padding:82px 0 86px; }
.eyebrow,.card-label { margin:0 0 16px; color:var(--rose); font-size:.72rem; line-height:1.25; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
h1,h2,h3 { font-family:Lora,serif; font-weight:500; }
h1 { max-width:740px; margin:0; font-size:clamp(3.8rem,8vw,7.4rem); letter-spacing:-.075em; line-height:.95; }
h1 em { color:var(--sage-light); }
.hero-intro { width:min(520px,90%); margin:27px 0 0; color:#f0e7db; font-size:1.05rem; line-height:1.65; }
.hero-blob { position:absolute; border-radius:50%; filter:blur(.1px); opacity:.92; }
.blob-one { width:420px; height:380px; background:var(--sage); right:-100px; top:-175px; border-radius:50% 40% 61% 39% / 46% 57% 43% 54%; transform:rotate(-23deg); }
.blob-two { width:300px; height:360px; background:var(--terracotta); right:17%; bottom:-210px; border-radius:57% 43% 24% 76% / 45% 50% 50% 55%; transform:rotate(18deg); }
.blob-three { width:170px; height:170px; background:var(--rose); left:8%; bottom:-85px; border-radius:59% 41% 51% 49% / 37% 63% 37% 63%; }
.scroll-cue { position:absolute; right:clamp(24px,6vw,96px); bottom:30px; z-index:1; color:#fffaf3; text-decoration:none; font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.scroll-cue span { margin-left:8px; font-size:1.25rem; vertical-align:-2px; }
.legal-shell { width:min(1200px,88vw); margin:0 auto; padding:84px 0 120px; display:grid; grid-template-columns:250px minmax(0,760px); gap:clamp(48px,10vw,160px); align-items:start; }
.legal-aside { position:sticky; top:28px; }
.identity-card { padding:25px 24px; background:var(--sage-light); border-radius:6px 40px 6px 6px; }
.card-name { margin:0 0 5px; font-family:Lora,serif; font-size:1.28rem; color:var(--aubergine-dark); }
.identity-card a { display:inline-block; font-size:.86rem; color:var(--aubergine-dark); overflow-wrap:anywhere; }
.host { margin:24px 0 0; font-size:.8rem; line-height:1.55; color:#4e524c; }
.legal-nav { margin-top:28px; display:grid; gap:2px; }
.legal-nav a { padding:8px 0; border-bottom:1px solid rgba(91,59,82,.17); text-decoration:none; font-size:.82rem; font-weight:700; color:var(--muted); }
.legal-content { min-width:0; }
.legal-content h2 { margin:0; padding-top:4.7rem; color:var(--aubergine-dark); font-size:clamp(1.65rem,3vw,2.3rem); line-height:1.15; letter-spacing:-.04em; scroll-margin-top:22px; }
.legal-content h2:first-child { padding-top:0; }
.legal-content h3 { margin:2.7rem 0 1rem; color:var(--aubergine); font-size:1.28rem; line-height:1.3; letter-spacing:-.025em; }
.legal-content p { margin:1.1rem 0 0; color:#4e4945; text-align:left !important; overflow-wrap:anywhere; }
.legal-content p + h2 { margin-top:1rem; }
.legal-content strong,.legal-content b { color:var(--aubergine-dark); }
.legal-content a { color:var(--aubergine); font-weight:700; text-decoration-color:var(--terracotta); text-decoration-thickness:1px; text-underline-offset:3px; }
.legal-content ul { margin:1.25rem 0 0; padding:0 0 0 1.2rem; color:#4e4945; }
.legal-content li { margin:.6rem 0; padding-left:.35rem; }
.legal-content li::marker { color:var(--terracotta); }
.legal-content > div[ng-bind-html] { display:none; }
.site-footer { padding:46px clamp(24px,6vw,96px); background:var(--aubergine-dark); color:#f3ebdd; display:grid; grid-template-columns:1fr auto 1fr; gap:24px; align-items:center; font-size:.8rem; }
.footer-mark { color:#fffaf3; }
.site-footer p { margin:0; text-align:center; color:#dacfd0; }
.site-footer > a:last-child { justify-self:end; color:#fffaf3; font-weight:750; text-decoration:none; }
@media (max-width:760px) { .site-header { height:74px; } .site-header nav { gap:15px; } .site-header nav a { font-size:.65rem; letter-spacing:.07em; } .hero { min-height:430px; } .hero-inner { padding:75px 0; } .scroll-cue { display:none; } .blob-one { right:-200px; } .blob-two { right:-60px; } .legal-shell { display:block; width:min(680px,88vw); padding:58px 0 80px; } .legal-aside { position:relative; top:0; margin-bottom:55px; } .legal-nav { display:none; } .legal-content h2 { padding-top:3.65rem; } .site-footer { display:block; } .site-footer p { margin:15px 0; text-align:left; } .site-footer > a:last-child { display:inline-block; } }
@media (max-width:440px) { .site-header nav a:nth-child(2) { display:none; } h1 { font-size:3.55rem; } }
