:root {
  --ink:#171513; --muted:#706b68; --paper:#fffdf9; --cream:#fff7f1;
  --blue:#1683ff; --coral:#e85d5d; --line:rgba(23,21,19,.11);
  --white:#fff; --shadow:0 24px 70px rgba(103,57,45,.12); --max:1120px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",sans-serif; -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
:focus-visible { outline:3px solid rgba(22,131,255,.35); outline-offset:3px; }
.shell { width:min(calc(100% - 48px),var(--max)); margin:0 auto; }
.nav { position:relative; z-index:20; height:88px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:inline-flex; align-items:center; gap:9px; font-family:"Manrope",sans-serif; font-size:24px; font-weight:700; letter-spacing:-.055em; }
.brand-mark { position:relative; width:28px; height:24px; }
.brand-mark::before,.brand-mark::after { content:""; position:absolute; top:3px; width:10px; height:18px; border-radius:10px; background:var(--ink); transform:rotate(-27deg); }
.brand-mark::before { left:4px; }
.brand-mark::after { right:4px; transform:rotate(27deg); }
.nav-links { display:flex; align-items:center; gap:31px; font-size:15px; }
.nav-links>a:not(.button):hover,.footer-column a:hover { color:var(--blue); }
.nav-actions { display:inline-flex; align-items:center; gap:10px; }
.menu-toggle { display:none; padding:8px; border:0; background:transparent; cursor:pointer; }
.menu-toggle span { display:block; width:24px; height:2px; margin:5px 0; background:var(--ink); }
.button { min-height:50px; padding:0 23px; border:0; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; gap:9px; color:var(--white); background:var(--ink); font-weight:600; }
.button:hover { background:#2c2926; transform:translateY(-1px); }
.button-blue { background:var(--blue); }
.button-blue:hover { background:#006de9; }
h1,h2,h3 { font-family:"Manrope",sans-serif; }
.hero { padding:104px 0 112px; text-align:center; background:radial-gradient(circle at 14% 50%,rgba(255,190,205,.5),transparent 25%),radial-gradient(circle at 86% 40%,rgba(255,205,180,.65),transparent 27%),linear-gradient(115deg,#fffefa,#fff5ef); }
.eyebrow { display:inline-flex; margin-bottom:20px; color:#645e59; font-size:12px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.hero h1 { max-width:900px; margin:0 auto; font-size:clamp(48px,6.6vw,80px); font-weight:600; line-height:1; letter-spacing:-.06em; }
.hero h1 span { color:var(--coral); }
.hero p { max-width:720px; margin:27px auto 0; color:var(--muted); font-size:19px; line-height:1.65; }
.hero-actions { margin-top:34px; display:flex; justify-content:center; gap:10px; }
.proof { padding:22px 0; border-block:1px solid var(--line); color:#645f5b; background:#fff; }
.proof .shell { display:flex; justify-content:center; gap:38px; flex-wrap:wrap; font-size:13px; font-weight:650; }
.content-section { padding:104px 0; }
.content-section.soft { background:var(--cream); }
.section-heading { max-width:760px; margin:0 auto 55px; text-align:center; }
.section-heading h2 { margin:0; font-size:clamp(38px,4.7vw,60px); font-weight:600; line-height:1.05; letter-spacing:-.05em; }
.section-heading p { margin:20px auto 0; color:var(--muted); font-size:17px; line-height:1.65; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.card { padding:29px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 15px 42px rgba(70,45,36,.055); }
.card .number { display:grid; width:36px; height:36px; place-items:center; border-radius:50%; color:#fff; background:var(--blue); font-weight:700; }
.card h3 { margin:21px 0 10px; font-size:23px; letter-spacing:-.035em; }
.card p { margin:0; color:var(--muted); line-height:1.62; }
.split { display:grid; grid-template-columns:.9fr 1.1fr; gap:74px; align-items:start; }
.split h2 { margin:0; font-size:clamp(38px,4.5vw,58px); font-weight:600; line-height:1.05; letter-spacing:-.05em; }
.split-copy { display:grid; gap:24px; }
.split-copy article { padding-bottom:24px; border-bottom:1px solid var(--line); }
.split-copy h3 { margin:0 0 8px; font-size:20px; }
.split-copy p { margin:0; color:var(--muted); line-height:1.65; }
.faq { max-width:820px; margin:0 auto; }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { padding:22px 34px 22px 0; cursor:pointer; font:600 18px/1.4 "Manrope",sans-serif; }
.faq p { margin:-4px 0 24px; color:var(--muted); line-height:1.65; }
.cta { padding:92px 0; text-align:center; background:#171513; color:#fff; }
.cta h2 { max-width:760px; margin:0 auto; font-size:clamp(39px,5vw,62px); line-height:1.05; letter-spacing:-.05em; }
.cta p { margin:18px auto 30px; color:#c9c4bf; font-size:17px; }
.cta .button { color:var(--ink); background:#fff; }
.legal { padding:72px 0 110px; }
.legal-header { max-width:820px; margin:0 auto 55px; }
.legal-header h1 { margin:0; font-size:clamp(45px,6vw,70px); line-height:1; letter-spacing:-.055em; }
.legal-header p { margin:18px 0 0; color:var(--muted); }
.legal-body { max-width:820px; margin:0 auto; }
.legal-body h2 { margin:44px 0 13px; font-size:25px; letter-spacing:-.03em; }
.legal-body h3 { margin:25px 0 9px; font-size:18px; }
.legal-body p,.legal-body li { color:#514c48; line-height:1.72; }
.legal-body ul { padding-left:22px; }
.legal-body a { color:#096fcf; text-decoration:underline; text-underline-offset:2px; }
.notice { padding:17px 19px; border:1px solid #f0d7a5; border-radius:12px; background:#fff8e9; color:#554b37; line-height:1.6; }
.footer { padding:48px 0 34px; border-top:1px solid var(--line); background:var(--paper); }
.footer-main { display:flex; justify-content:space-between; align-items:flex-start; gap:40px; }
.footer-brand p { max-width:340px; margin:14px 0 0; color:var(--muted); font-size:14px; line-height:1.5; }
.footer-links { display:flex; gap:48px; }
.footer-column { display:grid; align-content:start; gap:12px; font-size:14px; }
.footer-column strong { margin-bottom:5px; }
.footer-column a { color:var(--muted); }
.footer-bottom { margin-top:56px; padding-top:22px; border-top:1px solid var(--line); color:#706b68; font-size:12px; }
@media(max-width:820px) { .cards { grid-template-columns:1fr; } .split { grid-template-columns:1fr; gap:42px; } }
@media(max-width:760px) {
  .shell { width:min(calc(100% - 32px),var(--max)); }
  .nav { height:72px; }
  .menu-toggle { display:block; }
  .nav-links { display:none; position:fixed; inset:72px 16px auto; padding:24px; border:1px solid var(--line); border-radius:18px; background:rgba(255,253,249,.98); box-shadow:var(--shadow); flex-direction:column; align-items:stretch; }
  .nav-links.open { display:flex; }
  .nav-actions { flex-direction:column; align-items:stretch; }
  .hero { padding:76px 0 84px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .content-section { padding:78px 0; }
  .footer-main { flex-direction:column; }
  .footer-links { width:100%; display:grid; grid-template-columns:repeat(2,1fr); gap:32px 20px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
