:root{
  --paper:#fffdfd;
  --paper-soft:#fbf8ff;
  --lavender:#f4efff;
  --lavender-2:#e9ddff;
  --ink:#191038;
  --muted:#6d6683;
  --purple:#6337c8;
  --purple-dark:#35165f;
  --purple-deep:#29134d;
  --line:#e7def7;
  --shadow:0 22px 65px rgba(66,35,120,.13);
  --radius:34px;
  --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,Arial,Helvetica,sans-serif;
  line-height:1.6;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.wrap{width:min(var(--wrap),calc(100% - 36px));margin-inline:auto}
.skip-link{
  position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;
}
.skip-link:focus{
  left:18px;top:18px;width:auto;height:auto;padding:10px 14px;
  background:white;color:var(--purple-dark);z-index:1000;border-radius:10px;
}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,253,255,.88);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(99,55,200,.08);
}
.nav{
  min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:22px;
}
.brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:800}
.brand img{width:38px;height:38px;border-radius:10px}
.nav-links{display:flex;align-items:center;gap:26px;color:var(--muted);font-size:14px}
.nav-links a:hover,.legal-nav a:hover{color:var(--purple)}
.header-cta{
  padding:11px 16px;border-radius:999px;border:1px solid #d9cdf5;
  color:var(--purple);font-weight:800;font-size:14px;background:white;
}
.menu-btn{display:none;background:none;border:0;color:var(--ink);font-size:24px;cursor:pointer}
.eyebrow{
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--purple);font-weight:900;
}
.hero{
  padding:86px 0 70px;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 18% 12%,rgba(127,87,229,.11),transparent 24%),
    linear-gradient(180deg,#fff 0%,#fbf8ff 100%);
}
.botanical{
  position:absolute;pointer-events:none;width:210px;height:430px;opacity:.5;
  border-left:2px solid #bda8ee;border-radius:50%;transform:rotate(-8deg);
}
.botanical::before,.botanical::after{
  content:"";position:absolute;width:60px;height:105px;border:2px solid #bda8ee;border-radius:70% 10% 70% 10%;
}
.botanical::before{left:30px;top:75px;transform:rotate(-38deg)}
.botanical::after{left:45px;top:220px;transform:rotate(-34deg)}
.botanical.left{left:-60px;top:180px}
.botanical.right{right:-60px;top:150px;transform:scaleX(-1) rotate(-8deg)}
.hero-inner{text-align:center;position:relative;z-index:2}
.hero h1,.display-title,.legal-title{
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:-.04em;
}
.hero h1{
  font-size:clamp(52px,7.8vw,96px);line-height:.94;margin:18px auto 22px;
  max-width:960px;
}
.hero-copy{
  font-size:19px;line-height:1.7;color:var(--muted);max-width:780px;margin:0 auto 28px;
}
.hero-meta{
  display:flex;justify-content:center;gap:10px 22px;flex-wrap:wrap;
  color:#7a728d;font-size:14px;margin-bottom:36px;
}
.hero-poster{
  background:linear-gradient(180deg,#f7f2ff 0%,#fff 100%);
  padding:18px;border-radius:34px;border:1px solid #ece4fb;
  box-shadow:var(--shadow);max-width:1100px;margin:0 auto;
}
.hero-poster img{width:100%;border-radius:24px}
.section{padding:108px 0;position:relative;overflow:hidden}
.section.lav{background:linear-gradient(180deg,#fbf9ff,#f5efff)}
.section-number{
  font-family:Georgia,"Times New Roman",serif;font-size:68px;line-height:1;
  color:#d5c7f6;margin-bottom:12px;
}
.section-head{text-align:center;max-width:850px;margin:0 auto 50px}
.display-title{
  font-size:clamp(44px,5vw,70px);line-height:.98;margin:8px 0 16px;
}
.section-head p,.story-copy p,.legal-lead{
  font-size:17px;line-height:1.72;color:var(--muted);
}
.poster-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;align-items:start}
.poster-card{
  background:#fff;border:1px solid #e9e1f8;border-radius:32px;padding:14px;
  box-shadow:var(--shadow);
}
.poster-card img{width:100%;border-radius:22px}
.poster-meta{padding:20px 12px 6px}
.tag{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--purple);
  font-weight:900;
}
.poster-meta h3{
  font-family:Georgia,"Times New Roman",serif;font-size:32px;line-height:1.04;
  margin:9px 0;letter-spacing:-.02em;
}
.poster-meta p{color:var(--muted);line-height:1.65;margin:0;font-size:15px}
.feature-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}
.mini{
  background:white;border:1px solid #ebe3fa;border-radius:26px;padding:12px;
  box-shadow:0 16px 38px rgba(69,38,120,.09);
}
.mini img{width:100%;border-radius:18px}
.mini-caption{padding:13px 8px 5px}
.mini-caption strong{font-family:Georgia,"Times New Roman",serif;font-size:23px}
.mini-caption p{margin:5px 0 0;color:var(--muted);font-size:14px;line-height:1.55}
.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.story-photo{background:#f3edff;padding:14px;border-radius:34px;box-shadow:var(--shadow)}
.story-photo img{width:100%;height:620px;object-fit:cover;border-radius:24px}
.story-copy .display-title{margin-top:10px}
.story-copy p{font-size:18px}
.signature{
  font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:30px;
  color:var(--purple);margin-top:24px;
}
.trust{
  background:var(--purple-deep);color:white;border-radius:38px;padding:58px;
}
.trust .eyebrow{color:#cdb9ff}
.trust .display-title{max-width:840px;margin:10px 0 18px}
.trust>p{color:#d7cfe5;max-width:760px;line-height:1.72}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:42px}
.principle{border-top:1px solid rgba(255,255,255,.22);padding-top:22px}
.principle .n{
  font-family:Georgia,"Times New Roman",serif;font-size:44px;color:#b99ff0;
}
.principle h3{font-family:Georgia,"Times New Roman",serif;font-size:26px;margin:6px 0 10px}
.principle p{color:#cfc5df;line-height:1.65;margin:0}
.faq{max-width:860px;margin:0 auto}
.faq details{border-top:1px solid var(--line);padding:20px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font-weight:800;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::after{content:"+";color:var(--purple);font-size:22px;font-weight:500}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted);margin:12px 0 0;line-height:1.7}
.contact{padding:92px 0 80px;text-align:center}
.contact .display-title{margin:12px 0 18px}
.contact p{color:var(--muted);font-size:17px}
.email-btn{
  display:inline-block;margin-top:20px;background:var(--purple);color:#fff;
  padding:14px 20px;border-radius:999px;font-weight:800;
}
.site-footer{border-top:1px solid #ece5f7;padding:30px 0 44px;color:#766f88;font-size:14px}
.footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}
.footer-links a:hover{color:var(--purple)}
/* Legal */
.legal-hero{padding:74px 0 48px;background:linear-gradient(180deg,#fff,#faf7ff);border-bottom:1px solid var(--line)}
.legal-shell{max-width:820px;margin:0 auto}
.legal-title{font-size:clamp(48px,6vw,74px);line-height:.98;margin:12px 0 12px}
.legal-updated{color:#817991;font-size:14px;margin-bottom:18px}
.legal-content{padding:64px 0 90px}
.legal-content h2{
  font-family:Georgia,"Times New Roman",serif;font-size:30px;line-height:1.15;
  margin:44px 0 14px;color:var(--ink);
}
.legal-content p,.legal-content li{color:#514a64;font-size:16px;line-height:1.8}
.legal-content ul{padding-left:22px}
.legal-content li+li{margin-top:7px}
.legal-nav{display:flex;gap:20px;align-items:center;color:var(--muted);font-size:14px}
@media(max-width:900px){
  .poster-grid,.story{grid-template-columns:1fr}
  .feature-rail,.principles{grid-template-columns:1fr}
  .story-photo img{height:auto}
  .section{padding:78px 0}
  .trust{padding:36px 28px}
  .nav-links{display:none}
  .menu-btn{display:block}
  .header-cta{display:none}
  .nav-links.open{
    display:flex;position:absolute;left:18px;right:18px;top:72px;background:white;
    border:1px solid var(--line);border-radius:18px;padding:18px;flex-direction:column;
    align-items:flex-start;box-shadow:var(--shadow);
  }
}
@media(max-width:560px){
  .wrap{width:min(var(--wrap),calc(100% - 26px))}
  .hero{padding-top:58px}
  .hero-copy{font-size:17px}
  .hero-poster{padding:10px;border-radius:24px}
  .hero-poster img{border-radius:18px}
  .section-number{font-size:54px}
  .poster-card{border-radius:24px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
