:root {
  --sand:    #E0D0BF;
  --cream:   #FEF7E3;
  --tan:     #DCAF86;
  --caramel: #BF825C;
  --cocoa:   #A76C4E;
  --ink:     #2a1f17;
  --ink-2:   #5a473a;
  --ink-3:   #8a7565;
  --ink-4:   #b09a85;
  --line:    rgba(167,108,78,.12);
  --glass:   color-mix(in oklab, white 58%, transparent);
  --glass-b: color-mix(in oklab, white 72%, transparent);
  --gshadow: 0 1px 0 rgba(255,255,255,.75) inset,
             0 -1px 0 rgba(167,108,78,.08) inset,
             0 24px 48px -20px rgba(90,55,30,.18),
             0 6px 20px -8px rgba(90,55,30,.12);
  --ease:    cubic-bezier(0.16,1,0.3,1);
}

*,::before,::after { box-sizing:border-box; margin:0; padding:0 }
html { -webkit-font-smoothing:antialiased; scroll-behavior:smooth }
body {
  font-family:"Geist",ui-sans-serif,system-ui,sans-serif;
  background:linear-gradient(180deg,var(--cream),#fbf1d9 40%,#f5e7c8 80%,#f1dcb4 100%);
  color:var(--ink);
  min-height:100dvh;
  overflow-x:hidden;
  letter-spacing:-0.005em;
}
::selection { background:var(--caramel); color:var(--cream) }
a { color:inherit; text-decoration:none }
input,button { font:inherit; border:none; outline:none; background:none; color:inherit; cursor:pointer }

.blobs { position:fixed; inset:0; pointer-events:none; z-index:0; overflow:hidden }
.blob  { position:absolute; border-radius:50%; filter:blur(90px); mix-blend-mode:multiply }
.b1 { width:600px; height:600px; background:var(--tan);     right:-160px; top:-100px;  opacity:.4  }
.b2 { width:500px; height:500px; background:var(--caramel); left:-100px;  bottom:0;    opacity:.28 }
.b3 { width:420px; height:420px; background:var(--sand);    left:40%;     top:40%;     opacity:.45 }

@keyframes navIn {
  from { transform:translateY(-130%) }
  to   { transform:translateY(0) }
}
@keyframes fadeUp {
  from { opacity:0; transform:translateY(16px) }
  to   { opacity:1; transform:translateY(0) }
}
@keyframes lineIn {
  from { transform:scaleX(0) }
  to   { transform:scaleX(1) }
}
@keyframes dotPulse {
  0%,100% { box-shadow:0 0 0 4px color-mix(in oklab,var(--caramel) 25%,transparent) }
  50%     { box-shadow:0 0 0 9px color-mix(in oklab,var(--caramel) 0%, transparent) }
}

.nav {
  position:fixed; top:0; left:0; right:0; z-index:500;
  display:flex; align-items:center; justify-content:center;
  padding:20px 24px; pointer-events:none;
}
.nav-inner {
  display:flex; align-items:center; gap:6px;
  padding:6px 6px 6px 18px;
  background:var(--glass);
  backdrop-filter:blur(32px) saturate(180%);
  -webkit-backdrop-filter:blur(32px) saturate(180%);
  border:1px solid var(--glass-b);
  box-shadow:0 1px 0 rgba(255,255,255,.75) inset,
             0 -1px 0 rgba(167,108,78,.06) inset,
             0 16px 48px -16px rgba(90,55,30,.22),
             0 4px 16px -6px rgba(90,55,30,.12);
  border-radius:999px; pointer-events:all; white-space:nowrap;
  animation:navIn .9s var(--ease) .1s both;
}
.nav-sep   { width:1px; height:18px; background:var(--line); margin:0 6px; flex-shrink:0 }
.nav-links { display:flex; gap:2px }
.nav-links a {
  font-size:13.5px; color:var(--ink-3); padding:7px 12px; border-radius:999px;
  transition:color .2s, background .2s;
}
.nav-links a:hover,
.nav-links a[aria-current] { color:var(--ink); background:rgba(167,108,78,.07) }
.nav-login {
  font-size:13.5px; color:var(--ink-3); padding:7px 14px; border-radius:999px;
  transition:color .2s, background .2s;
}
.nav-login:hover { color:var(--ink); background:rgba(167,108,78,.07) }
.nav-btn {
  display:inline-flex; align-items:center; gap:7px;
  padding:9px 18px; border-radius:999px; font-size:13.5px; font-weight:500;
  background:linear-gradient(180deg,var(--caramel),var(--cocoa));
  color:var(--cream);
  box-shadow:0 1px 0 rgba(255,255,255,.3) inset, 0 5px 14px -5px rgba(167,108,78,.55);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.nav-btn:hover {
  transform:translateY(-1px);
  box-shadow:0 1px 0 rgba(255,255,255,.4) inset, 0 8px 20px -6px rgba(167,108,78,.65);
}
.nav-badge {
  display:inline-flex; align-items:center; gap:5px;
  font-family:"Geist Mono"; font-size:9.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--cocoa); padding:4px 10px; border-radius:999px; margin-right:2px;
  background:color-mix(in oklab,var(--caramel) 12%,transparent);
  border:1px solid color-mix(in oklab,var(--caramel) 22%,transparent);
}
.nav-badge-dot {
  width:5px; height:5px; border-radius:50%;
  background:var(--caramel); animation:dotPulse 2.4s ease-in-out infinite;
}
.nav-logo img { height:20px; width:auto; display:block }
@media(max-width:1000px) { .nav-links,.nav-sep,.nav-badge { display:none } }
@media(max-width:600px) { .nav-login { display:none } }
@media(max-width:420px) {
  .nav { padding:14px 12px }
  .nav-inner { gap:4px; padding:5px 5px 5px 13px }
  .nav-logo img { height:17px }
  .nav-btn { padding:8px 13px; font-size:12.5px; gap:0 }
  .nav-btn svg { display:none }
}

.nav-burger {
  display:none; width:40px; height:40px; border-radius:999px;
  align-items:center; justify-content:center; color:var(--ink-2);
  transition:background .2s;
}
.nav-burger:hover { background:rgba(167,108,78,.08) }
.nav-burger span {
  display:block; position:relative; width:16px; height:1.6px; border-radius:2px; background:currentColor;
  transition:transform .35s var(--ease), background .2s;
}
.nav-burger span::before,
.nav-burger span::after {
  content:""; position:absolute; left:0; width:16px; height:1.6px; border-radius:2px; background:currentColor;
  transition:transform .35s var(--ease), top .25s var(--ease);
}
.nav-burger span::before { top:-5px } .nav-burger span::after { top:5px }
body.nav-open .nav-burger span { background:transparent }
body.nav-open .nav-burger span::before { top:0; transform:rotate(45deg) }
body.nav-open .nav-burger span::after  { top:0; transform:rotate(-45deg) }

.nav-sheet[hidden] { display:none }
.nav-sheet {
  position:fixed; inset:0; z-index:490; display:flex; flex-direction:column;
  padding:96px 24px 32px; gap:6px;
  background:linear-gradient(180deg,#fffaf0,#f5e7c8);
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .32s var(--ease), transform .32s var(--ease), visibility .32s;
  overflow-y:auto;
}
body.nav-open .nav-sheet { opacity:1; visibility:visible; transform:none }
body.nav-open { overflow:hidden }
.nav-sheet a {
  font-size:26px; font-weight:500; letter-spacing:-.03em; color:var(--ink);
  padding:13px 4px; border-bottom:1px solid var(--line);
}
.nav-sheet a:last-of-type { border-bottom:none }
.nav-sheet .nav-sheet-cta {
  margin-top:22px; border:none; justify-content:center; text-align:center;
  padding:15px 24px; border-radius:999px; font-size:16px;
  background:linear-gradient(180deg,var(--caramel),var(--cocoa)); color:var(--cream);
}
@media(max-width:1000px){ .nav-burger { display:flex } }
@media(max-height:720px){ .nav-sheet { padding-top:84px } .nav-sheet a { font-size:21px; padding:10px 4px } }

.container { max-width:1140px; margin:0 auto; padding:0 40px }
.wrap      { position:relative; z-index:3 }
@media(max-width:768px) { .container { padding:0 24px } }

.btn-primary {
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 24px; border-radius:999px; font-size:14px; font-weight:500;
  background:linear-gradient(180deg,var(--caramel),var(--cocoa));
  color:var(--cream);
  box-shadow:0 1px 0 rgba(255,255,255,.3) inset, 0 10px 28px -10px rgba(167,108,78,.65);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.btn-primary:hover {
  transform:translateY(-2px);
  box-shadow:0 1px 0 rgba(255,255,255,.4) inset, 0 16px 36px -10px rgba(167,108,78,.72);
}
.btn-ghost {
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 22px; border-radius:999px; font-size:14px; font-weight:500;
  background:var(--glass); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid var(--glass-b); box-shadow:var(--gshadow); color:var(--ink-2);
  transition:transform .4s var(--ease), color .2s;
}
.btn-ghost:hover { transform:translateY(-2px); color:var(--ink) }

.footer { padding:64px 0 40px; margin-top:80px; background:linear-gradient(160deg,#100804,#1e120a) }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:48px }
@media(max-width:900px) { .footer-grid { grid-template-columns:1fr 1fr; gap:36px } .footer-brand { grid-column:1/-1 } }
@media(max-width:480px) { .footer { padding-top:52px } .footer-grid { gap:32px 20px; margin-bottom:36px } }
.footer-logo     { margin-bottom:14px }
.footer-tagline  { font-size:14px; color:rgba(254,247,227,.42); line-height:1.6; max-width:28ch; margin-bottom:20px }
.footer-badges { display:flex; align-items:center; gap:10px; flex-wrap:wrap }
.footer-appstore { display:inline-block; line-height:0; transition:transform .3s var(--ease), opacity .2s }
.footer-appstore img { height:40px; width:auto; display:block }
.footer-appstore:hover { transform:translateY(-3px); opacity:.9 }
.footer-playstore { height:40px; width:auto; display:block; opacity:.85 }
.footer-partner { display:flex; flex-direction:column; align-items:flex-start; gap:10px; width:max-content; margin-top:28px; opacity:.55; transition:opacity .2s }
.footer-partner:hover { opacity:.9 }
.footer-partner span { font-family:"Geist Mono"; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:rgba(254,247,227,.8) }
.footer-partner img { height:24px; width:auto; display:block }
.footer-col-h {
  font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(254,247,227,.35); margin-bottom:16px; font-family:"Geist Mono";
}
.footer-col-links { list-style:none; display:flex; flex-direction:column; gap:10px }
.footer-col-links a { font-size:14px; color:rgba(254,247,227,.45); transition:color .2s }
.footer-col-links a:hover { color:var(--cream) }
.footer-bottom {
  border-top:1px solid rgba(255,255,255,.07); padding-top:28px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px;
  font-size:13px; color:rgba(254,247,227,.28);
}
.footer-bottom-links { display:flex; gap:16px 24px; flex-wrap:wrap }
.footer-bottom-links a { color:rgba(254,247,227,.28); transition:color .2s }
.footer-bottom-links a:hover { color:rgba(254,247,227,.7) }

.scene { position:relative; z-index:2; max-width:740px; margin:0 auto; padding:120px 24px 80px }
.page-hd { padding-bottom:40px; position:relative }
.page-hd::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:1px;
  background:var(--line); transform:scaleX(0); transform-origin:left;
  animation:lineIn .75s var(--ease) 1.06s both;
}
.page-hd .eyebrow    { opacity:0; animation:fadeUp .55s var(--ease) .62s both }
.page-hd .page-title { opacity:0; animation:fadeUp .6s  var(--ease) .76s both }
.page-hd .page-meta  { opacity:0; animation:fadeUp .5s  var(--ease) .9s  both }
.eyebrow {
  font-family:"Geist Mono"; font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--cocoa); display:inline-flex; align-items:center; gap:8px; margin-bottom:14px;
}
.eyebrow .dot {
  width:6px; height:6px; border-radius:50%; background:var(--caramel); flex-shrink:0;
  box-shadow:0 0 0 4px color-mix(in oklab,var(--caramel) 25%,transparent);
}
.page-title { font-size:clamp(32px,6vw,52px); font-weight:500; letter-spacing:-.04em; line-height:1.05; margin-bottom:10px }
.page-meta  { font-size:15px; color:var(--ink-3) }
.legal-sec {
  padding:36px 0; border-bottom:1px solid var(--line);
  opacity:0; transform:translateY(18px);
  transition:opacity .55s var(--ease), transform .55s var(--ease);
}
.legal-sec.visible { opacity:1; transform:translateY(0) }
.legal-sec:last-of-type { border-bottom:none }
.legal-sec h2 {
  font-weight:600;
  font-size:26px; line-height:1.15; letter-spacing:-.02em; color:var(--ink); margin-bottom:14px;
}
.legal-sec p,
.legal-sec address { font-size:15px; line-height:1.8; color:var(--ink-2); font-style:normal }
.legal-sec p + p   { margin-top:12px }
.legal-sec ul,
.legal-sec ol      { font-size:15px; line-height:1.8; color:var(--ink-2); padding-left:20px; margin-top:10px }
.legal-sec li      { margin-bottom:6px }
.legal-sec a       { color:var(--caramel); text-decoration:underline; text-underline-offset:3px }
.legal-sec a:hover { color:var(--cocoa) }
.legal-sec strong  { font-weight:500; color:var(--ink) }
.legal-sec .info-row {
  display:grid; grid-template-columns:max-content 1fr; gap:8px 20px;
  margin:18px 0 4px; padding:16px 18px;
  background:rgba(167,108,78,.05); border:1px solid var(--line); border-radius:12px;
}
.legal-sec .info-row dt {
  font-family:"Geist Mono"; font-size:10px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:var(--cocoa);
  padding-top:3px; white-space:nowrap;
}
.legal-sec .info-row dd { margin:0; font-size:14.5px; line-height:1.65; color:var(--ink-2) }
@media(max-width:560px) {
  .legal-sec .info-row { grid-template-columns:1fr; gap:2px 0; padding:14px 16px }
  .legal-sec .info-row dt { margin-top:10px }
  .legal-sec .info-row dt:first-child { margin-top:0 }
}
.back-link {
  display:inline-flex; align-items:center; gap:8px;
  font-size:14px; font-weight:500; color:var(--ink-3); margin-top:44px;
  transition:color .2s var(--ease);
}
.back-link:hover { color:var(--ink) }
@media(max-width:480px) {
  .scene      { padding:100px 20px 60px }
  .page-title { font-size:clamp(28px,8vw,40px) }
  .legal-sec  { padding:28px 0 }
}

.wf-card {
  background:var(--glass); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid var(--glass-b); box-shadow:var(--gshadow); border-radius:20px;
  padding:32px; margin:32px 0;
}
.wf-row { display:grid; grid-template-columns:1fr 1fr; gap:14px }
@media(max-width:560px) { .wf-row { grid-template-columns:1fr } }
.wf-field { display:flex; flex-direction:column; gap:6px; margin-bottom:16px }
.wf-field label { font-size:13px; font-weight:500; color:var(--ink-2) }
.wf-field input {
  padding:12px 16px; border-radius:12px; font-size:15px; color:var(--ink);
  background:rgba(255,255,255,.55); border:1px solid var(--line);
  transition:border-color .2s var(--ease), background .2s var(--ease);
}
.wf-field input:focus { border-color:var(--caramel); background:rgba(255,255,255,.8) }
.wf-submit {
  display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%;
  padding:13px 24px; border-radius:999px; font-size:14.5px; font-weight:500;
  background:linear-gradient(180deg,var(--caramel),var(--cocoa)); color:var(--cream);
  box-shadow:0 1px 0 rgba(255,255,255,.3) inset, 0 10px 28px -10px rgba(167,108,78,.65);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease); margin-top:6px;
}
.wf-submit:hover { transform:translateY(-2px) }
.wf-result { border-radius:16px; padding:22px 24px; margin-top:24px; font-size:14.5px; line-height:1.7 }
.wf-result h3 { font-size:16px; font-weight:600; margin-bottom:8px; color:var(--ink) }
.wf-result p { color:var(--ink-2) }
.wf-result p + p { margin-top:10px }
.wf-result.ok  { background:rgba(191,130,92,.1); border:1px solid rgba(167,108,78,.22) }
.wf-result.err { background:rgba(180,60,50,.08); border:1px solid rgba(180,60,50,.2) }
.wf-result.err h3 { color:#8a3226 }
.wf-result a { color:var(--caramel); text-decoration:underline; text-underline-offset:3px }
.wf-result a:hover { color:var(--cocoa) }
.wf-contact-btn {
  display:inline-flex; align-items:center; gap:8px; margin-top:14px;
  padding:10px 20px; border-radius:999px; font-size:13.5px; font-weight:500;
  background:var(--ink); color:var(--cream);
}

.print-hd { display:none }
@media print {
  * { animation:none !important; transition:none !important }
  .nav, .footer, .blobs { display:none !important }
  body { background:#fff !important; color:#111; -webkit-print-color-adjust:exact; print-color-adjust:exact }
  .scene { padding:0 !important; max-width:none !important }
  .print-hd { display:block; margin-bottom:16pt }
  .print-top { display:flex; justify-content:space-between; align-items:flex-end; padding-bottom:7pt }
  .print-wordmark { height:17pt; display:block }
  .print-addr { font-family:"Geist Mono",monospace; font-size:6.5pt; color:#555; line-height:1.6; text-align:right }
  .print-rule { border:none; border-top:.5pt solid #aaa; margin:0 }
  .page-hd { border-bottom:.5pt solid #ccc !important; padding-bottom:13pt }
  .page-hd::after { display:none !important }
  .eyebrow { font-size:6.5pt !important; letter-spacing:.16em; color:#888; opacity:1 !important; margin-bottom:5pt }
  .eyebrow .dot { box-shadow:none !important; width:4px; height:4px }
  .page-title { font-size:19pt !important; letter-spacing:-.015em !important; opacity:1 !important; transform:none !important; margin-bottom:4pt }
  .page-meta { font-size:8pt; color:#666; opacity:1 !important }
  .legal-sec { opacity:1 !important; transform:none !important; border-bottom:.4pt solid #ddd; page-break-inside:avoid; padding:10pt 0; orphans:3; widows:3 }
  .legal-sec:last-of-type { border-bottom:none; padding-bottom:0 }
  .legal-sec h2 { font-weight:600; color:#111; font-size:15pt; letter-spacing:0; margin-bottom:6pt; page-break-after:avoid }
  .legal-sec p, .legal-sec address { font-size:10pt; color:#111; line-height:1.5; font-style:normal }
  .legal-sec p + p { margin-top:5pt }
  .legal-sec ul, .legal-sec ol { font-size:10pt; color:#111; line-height:1.5; padding-left:13pt; margin-top:4pt }
  .legal-sec li { margin-bottom:2pt }
  .legal-sec a { color:#BF825C; text-decoration:none }
  .legal-sec strong { color:#000 }
  .back-link { display:none !important }
  @page { margin:1.8cm 2cm; size:A4 }
}
