/* Constructor AI – Website (Freigabeliste 8.39). Farben wie Kundenportal/Chat. */
:root {
  --ink:#10262c; --ink-2:#3f5459; --muted:#6c7f84; --page:#ffffff; --soft:#f1f7f8; --soft-2:#e6f2f3; --line:rgba(16,38,44,.10);
  --brand:#19a5af; --brand-strong:#0f7f88; --brand-soft:#dff3f4; --dark:#0d2227; --dark-2:#12343b; --dark-3:#16444c;
  --light-on-dark:#e9f6f7; --muted-on-dark:#a9c4c8; --warn:#8a5300; --warn-soft:#fff4dd;
  --radius:20px; --shadow:0 1px 2px rgba(16,38,44,.05), 0 12px 32px rgba(16,38,44,.08);
  --wrap:1180px; --pad:clamp(16px, 4vw, 32px);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--page); color:var(--ink); font:17px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
img { max-width:100%; height:auto; display:block; }
a { color:var(--brand-strong); }
h1, h2, h3 { line-height:1.15; letter-spacing:-.02em; margin:0 0 .5em; }
h1 { font-size:clamp(34px, 5.4vw, 60px); }
h2 { font-size:clamp(26px, 3.4vw, 40px); }
h3 { font-size:20px; letter-spacing:-.01em; }
p { margin:0 0 1em; }
.wrap { max-width:var(--wrap); margin:0 auto; padding:0 var(--pad); }
.narrow { max-width:820px; }
.skip { position:absolute; left:-999px; } .skip:focus { left:12px; top:12px; z-index:100; background:#fff; padding:8px 12px; border-radius:8px; }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.hidden { display:none !important; }
.small { font-size:14px; color:var(--muted); }
.center { text-align:center; justify-content:center; }
.muted { color:var(--muted); }

/* Kopf */
.site-header { position:sticky; top:0; z-index:50; background:rgba(13,34,39,.92); backdrop-filter:saturate(1.4) blur(10px); color:#fff; border-bottom:1px solid rgba(255,255,255,.08); }
.header-inner { display:flex; align-items:center; gap:16px; min-height:68px; }
.brand { display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none; font-weight:700; font-size:19px; letter-spacing:-.01em; white-space:nowrap; }
.brand img { width:36px; height:36px; border-radius:10px; background:#fff; }
.brand b { color:var(--brand); }
.site-nav { margin-left:auto; display:flex; align-items:center; gap:4px; }
.site-nav a { color:var(--light-on-dark); text-decoration:none; padding:9px 12px; border-radius:10px; font-size:15.5px; font-weight:550; white-space:nowrap; }
.site-nav a:hover, .site-nav a[aria-current="page"] { background:rgba(255,255,255,.10); color:#fff; }
.site-nav .nav-chat { background:var(--brand); color:#062a2e; font-weight:700; margin-left:6px; }
.site-nav .nav-chat:hover { background:#3cc4cd; color:#062a2e; }
.menu-toggle { display:none; margin-left:auto; width:44px; height:44px; border:1px solid rgba(255,255,255,.25); border-radius:12px; background:transparent; cursor:pointer; position:relative; }
.menu-toggle span:first-child, .menu-toggle span:first-child::before, .menu-toggle span:first-child::after { position:absolute; left:11px; right:11px; height:2px; background:#fff; border-radius:2px; content:""; }
.menu-toggle span:first-child { top:21px; } .menu-toggle span:first-child::before { left:0; right:0; top:-7px; } .menu-toggle span:first-child::after { left:0; right:0; top:7px; }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:50px; padding:12px 22px; border-radius:14px; border:0;
  background:var(--brand); color:#05282c; font:inherit; font-weight:700; font-size:16.5px; text-decoration:none; cursor:pointer; text-align:center; }
.btn:hover { background:#3cc4cd; }
.btn:focus-visible, a:focus-visible, button:focus-visible { outline:3px solid #7fd8de; outline-offset:2px; }
.btn-light { background:#fff; color:var(--dark); } .btn-light:hover { background:var(--brand-soft); }
.btn-outline { background:transparent; color:#fff; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5); } .btn-outline:hover { background:rgba(255,255,255,.1); }
.btn-secondary { background:var(--soft); color:var(--ink); box-shadow:inset 0 0 0 1.5px var(--line); } .btn-secondary:hover { background:var(--brand-soft); }
.btn-ghost { background:transparent; color:inherit; box-shadow:inset 0 0 0 1.5px var(--line); }
.btn-disabled, .btn:disabled { background:#d9e4e6; color:#5d7176; cursor:not-allowed; }
.btn-buy { width:100%; font-size:17.5px; min-height:56px; }
.linklike { background:none; border:0; padding:0; font:inherit; color:inherit; cursor:pointer; text-align:left; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }

/* Hero */
.hero { background:radial-gradient(1200px 500px at 85% -10%, rgba(25,165,175,.45), transparent 60%), linear-gradient(160deg, var(--dark) 0%, var(--dark-2) 55%, var(--dark-3) 100%); color:#fff; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(0, .85fr); gap:clamp(28px, 5vw, 64px); align-items:center; padding-top:clamp(48px, 8vw, 104px); padding-bottom:clamp(56px, 8vw, 112px); }
.eyebrow { text-transform:uppercase; letter-spacing:.14em; font-size:13px; font-weight:700; color:#8fe3e9; margin-bottom:14px; }
.hero h1 span { color:#7fdfe6; }
.lead { font-size:clamp(18px, 2vw, 21px); color:var(--light-on-dark); max-width:640px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 22px; }
.hero-points { display:flex; flex-wrap:wrap; gap:10px 22px; list-style:none; padding:0; margin:0; color:var(--muted-on-dark); font-size:15px; }
.hero-points li::before { content:"✓"; color:#7fdfe6; font-weight:800; margin-right:8px; }
.flow-card { list-style:none; margin:0; padding:22px; border-radius:24px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); box-shadow:0 30px 80px rgba(0,0,0,.35); display:grid; gap:10px; }
.flow-card li { display:flex; gap:14px; align-items:flex-start; padding:12px 14px; border-radius:16px; background:rgba(255,255,255,.05); }
.flow-card li > span { flex:none; width:32px; height:32px; border-radius:50%; display:grid; place-items:center; background:var(--brand); color:#05282c; font-weight:800; }
.flow-card b { display:block; } .flow-card small { color:var(--muted-on-dark); font-size:14px; line-height:1.45; display:block; }
.page-hero { background:linear-gradient(160deg, var(--dark) 0%, var(--dark-2) 60%, var(--dark-3) 100%); color:#fff; padding:clamp(48px, 7vw, 92px) 0 clamp(44px, 6vw, 76px); }
.page-hero h1 { font-size:clamp(32px, 4.6vw, 52px); max-width:900px; }

/* Abschnitte */
.section { padding:clamp(56px, 8vw, 104px) 0; }
.section-soft { background:var(--soft); }
.section-dark { background:linear-gradient(160deg, var(--dark-2), var(--dark)); color:#fff; }
.section-dark p { color:var(--light-on-dark); }
.kicker { text-transform:uppercase; letter-spacing:.13em; font-size:13px; font-weight:800; color:var(--brand-strong); margin-bottom:12px; }
.kicker-light { color:#8fe3e9; }
.section > .wrap > h2 { max-width:820px; }
.split { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:clamp(28px, 5vw, 72px); align-items:start; }
.note-line { margin-top:28px; color:var(--ink-2); font-weight:600; }

.steps { list-style:none; padding:0; margin:36px 0 0; display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:16px; counter-reset:none; }
.steps-4 { grid-template-columns:repeat(4, minmax(0, 1fr)); }
.steps li { position:relative; padding:24px 20px; border-radius:var(--radius); background:var(--page); border:1px solid var(--line); box-shadow:var(--shadow); }
.section-soft .steps li { background:#fff; }
.steps h3 { margin:14px 0 8px; font-size:18px; } .steps p { margin:0; color:var(--ink-2); font-size:15.5px; }
.step-no { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:var(--brand-soft); color:var(--brand-strong); font-weight:800; }

.feature-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; margin-top:32px; }
.feature { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow); }
.feature ul { margin:0; padding-left:20px; color:var(--ink-2); } .feature li + li { margin-top:6px; }
.roadmap { margin-top:22px; padding:20px 24px; border-radius:var(--radius); border:1.5px dashed rgba(16,38,44,.2); color:var(--ink-2); }
.roadmap h3 { display:flex; flex-wrap:wrap; gap:10px; align-items:center; } .roadmap p { margin:0; }

.pill { display:inline-flex; align-items:center; border-radius:999px; padding:3px 12px; font-size:13px; font-weight:700; background:var(--brand-soft); color:var(--brand-strong); }
.pill-muted { background:#e9eef0; color:#53666b; }

.check-list { list-style:none; padding:0; margin:0; display:grid; gap:14px; }
.check-list li { position:relative; padding-left:34px; color:var(--ink-2); }
.check-list li::before { content:""; position:absolute; left:0; top:3px; width:22px; height:22px; border-radius:50%; background:var(--brand-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%230f7f88' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat; }
.check-list b { display:block; color:var(--ink); }
.check-light li { color:var(--light-on-dark); } .check-light b { color:#fff; }
.check-light li::before { background-color:rgba(127,223,230,.18); }
.plain-list { padding-left:20px; color:var(--ink-2); } .plain-list li + li { margin-top:6px; }

.tile-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; }
.tile-grid li { padding:14px 14px; border-radius:14px; background:var(--soft); font-weight:600; font-size:15px; display:flex; flex-direction:column; gap:4px; }
.tile-grid li.later { background:transparent; border:1.5px dashed rgba(16,38,44,.18); color:var(--muted); }
.tile-grid li.later span { font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.privacy-card { background:#fff; border-radius:var(--radius); padding:26px; border:1px solid var(--line); box-shadow:var(--shadow); }
.privacy-card p { margin:0; color:var(--ink-2); }

.partner-banner { margin:28px 0 18px; border-radius:22px; overflow:hidden; box-shadow:0 18px 50px rgba(16,38,44,.18); background:#0c1418; }
.partner-banner img { width:100%; height:auto; aspect-ratio:2048 / 768; object-fit:contain; }
.partner-text { font-size:clamp(18px, 2vw, 21px); color:var(--ink-2); max-width:820px; }

.product-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; margin-top:30px; }
.product { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px; box-shadow:var(--shadow); }
.product h3 { font-size:24px; margin-top:12px; } .product p { color:var(--ink-2); }
.price-line { font-weight:700; color:var(--ink) !important; }

/* Vergleich */
.compare { overflow-x:auto; margin-top:28px; border-radius:var(--radius); border:1px solid var(--line); background:#fff; box-shadow:var(--shadow); }
.compare table { width:100%; border-collapse:collapse; min-width:520px; }
.compare th, .compare td { text-align:left; padding:14px 18px; border-bottom:1px solid var(--line); vertical-align:top; }
.compare thead th { background:var(--soft-2); font-size:15px; }
.compare tbody th { color:var(--muted); font-weight:600; width:24%; }
.compare tr:last-child th, .compare tr:last-child td { border-bottom:0; }

.releases { display:grid; gap:12px; }
.release { border-left:4px solid var(--brand); background:var(--soft); border-radius:0 14px 14px 0; padding:12px 16px; }
.release h3 { font-size:17px; margin:0; display:flex; gap:8px; align-items:center; } .release time { font-size:13px; color:var(--muted); }
.release ul { margin:6px 0 0; padding-left:20px; color:var(--ink-2); font-size:15.5px; }

.tariff-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; margin-top:28px; }
.tariff { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:6px; }
.tariff h3 { margin:0; font-size:19px; } .tariff p { margin:0; color:var(--ink-2); }
.tariff .tariff-price { font-weight:800; font-size:22px; color:var(--ink); margin:8px 0 12px; }
.tariff .btn { margin-top:auto; font-size:15px; min-height:44px; }
.info-box { margin-top:22px; background:#fff; border-left:5px solid var(--brand); border-radius:0 16px 16px 0; padding:18px 22px; box-shadow:var(--shadow); }
.info-box h3 { margin:0 0 8px; }

/* Kauf */
.buy-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px; }
.buy-card { background:#fff; border:1px solid var(--line); border-radius:24px; padding:30px; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:18px; }
.buy-card h2 { font-size:28px; margin:0; }
.buy-price { font-size:44px; font-weight:800; letter-spacing:-.03em; margin:0; color:var(--ink); }
.buy-action { margin-top:auto; }
.waiver { background:var(--soft); border-radius:16px; padding:16px; }
.waiver .check { display:flex; gap:12px; align-items:flex-start; font-size:15.5px; color:var(--ink); }
.waiver input { width:22px; height:22px; flex:none; margin-top:2px; accent-color:var(--brand-strong); }
.waiver .small { margin:10px 0 0; }
.waiver-wide { margin-top:22px; max-width:900px; }
.notice { background:var(--warn-soft); color:var(--warn); border-radius:12px; padding:12px 14px; margin:0; }
.message { border-radius:12px; padding:12px 14px; background:#fde8e6; margin:0; }
.message.ok { background:#e3f5ea; }
.draft-box { margin-top:28px; border:1.5px dashed #c99a3e; background:var(--warn-soft); border-radius:16px; padding:16px 20px; }
.draft-box p:last-child { margin-bottom:0; }
.draft-tag { display:inline-block; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:var(--warn); margin:0 0 8px; }
.draft-inline { background:var(--warn-soft); color:var(--warn); padding:1px 4px; border-radius:4px; }
.product-wide { max-width:820px; margin:0 auto; }

/* Rechtliches */
.legal-page h1 { font-size:clamp(30px, 4vw, 44px); }
.legal-page h2 { font-size:22px; margin-top:1.6em; }
.legal-page h3 { font-size:18px; margin-top:1.2em; }
.legal-page p, .legal-page li { color:var(--ink-2); }
.legal-card { background:var(--soft); border-radius:14px; padding:16px 18px; margin:10px 0 18px; }
.license-text { white-space:pre-wrap; font:15px/1.6 ui-monospace, Consolas, monospace; background:var(--soft); border-radius:14px; padding:20px; overflow-x:auto; }
.source-note { margin-top:32px; font-size:13px; color:var(--muted); }

/* Fuß */
.site-footer { background:var(--dark); color:var(--muted-on-dark); padding:56px 0 28px; font-size:15px; }
.footer-grid { display:grid; grid-template-columns:1.4fr repeat(3, minmax(0, 1fr)); gap:28px; }
.site-footer h2 { font-size:13px; text-transform:uppercase; letter-spacing:.12em; color:#fff; margin:0 0 12px; }
.site-footer a, .site-footer .linklike { display:block; color:var(--muted-on-dark); text-decoration:none; padding:3px 0; }
.site-footer a:hover, .site-footer .linklike:hover { color:#fff; }
.brand-footer { color:#fff !important; margin-bottom:12px; font-size:18px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); margin-top:36px; padding-top:20px; font-size:13px; }

/* Hilfe-Knopf */
.chat-fab { position:fixed; right:20px; bottom:20px; z-index:60; display:flex; gap:8px; align-items:center; border:0; border-radius:999px; padding:13px 18px;
  background:var(--brand); color:#05282c; font:inherit; font-weight:800; font-size:15.5px; cursor:pointer; box-shadow:0 10px 30px rgba(13,34,39,.3); }
.chat-fab svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linejoin:round; }
.chat-fab:hover { background:#3cc4cd; }
body.chat-loaded .chat-fab { display:none; }

/* Consent */
.consent { position:fixed; left:16px; right:16px; bottom:16px; z-index:90; display:flex; justify-content:center; }
.consent[hidden] { display:none; }
.consent-inner { max-width:880px; background:#fff; color:var(--ink); border-radius:20px; padding:22px 24px; box-shadow:0 24px 70px rgba(0,0,0,.35); border:1px solid var(--line); }
.consent h2 { font-size:20px; margin:0 0 8px; } .consent p { font-size:15px; color:var(--ink-2); margin:0 0 14px; }
.consent-actions { display:flex; flex-wrap:wrap; gap:10px; }
.btn-consent { flex:1 1 200px; background:var(--dark-2); color:#fff; } .btn-consent:hover { background:var(--dark-3); }
.consent-actions .btn-ghost { flex:0 1 auto; }
.consent-dialog { border:0; border-radius:20px; padding:0; max-width:560px; width:calc(100% - 32px); box-shadow:0 24px 70px rgba(0,0,0,.35); }
.consent-dialog::backdrop { background:rgba(8,20,24,.6); }
.consent-dialog form { padding:24px; display:grid; gap:16px; }
.consent-dialog h2 { font-size:22px; margin:0; }
.consent-row { display:flex; gap:16px; align-items:flex-start; justify-content:space-between; padding:14px 16px; border-radius:14px; background:var(--soft); cursor:pointer; }
.consent-row p { margin:4px 0 0; font-size:14.5px; color:var(--ink-2); }
.consent-row input { width:24px; height:24px; flex:none; accent-color:var(--brand-strong); }

/* Responsiv */
@media (max-width:1080px) {
  .tariff-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .steps { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .feature-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .tile-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:920px) {
  .menu-toggle { display:block; }
  .site-nav { display:none; position:absolute; left:0; right:0; top:68px; flex-direction:column; align-items:stretch; gap:2px; padding:10px var(--pad) 18px; background:var(--dark); border-bottom:1px solid rgba(255,255,255,.1); }
  .site-nav.open { display:flex; }
  .site-nav a { padding:13px 12px; font-size:17px; }
  .site-nav .nav-chat { margin:8px 0 0; text-align:center; }
  .hero-grid, .split { grid-template-columns:1fr; }
  .hero-visual { max-width:560px; }
  .product-grid, .buy-grid { grid-template-columns:1fr; }
  .steps-4 { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:600px) {
  body { font-size:16.5px; }
  .steps, .steps-4, .feature-grid, .tile-grid, .footer-grid, .tariff-grid { grid-template-columns:1fr; }
  .hero-actions .btn, .actions .btn { width:100%; }
  .buy-card { padding:22px; } .buy-price { font-size:38px; }
  .chat-fab span { display:none; } .chat-fab { padding:15px; }
  .consent { left:8px; right:8px; bottom:8px; } .consent-inner { padding:18px; }
  .btn-consent { flex-basis:100%; }
  .partner-banner { border-radius:14px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }

/* Recht & Bestellablauf (8.41) */
.stand { color:var(--muted); font-size:14px; margin-top:-6px; }
.legal-page ul { padding-left:22px; color:var(--ink-2); } .legal-page li + li { margin-top:6px; }
.toc { margin:18px 0 8px; font-size:15px; }
.table-scroll { overflow-x:auto; margin:12px 0 16px; border:1px solid var(--line); border-radius:14px; }
.data-table { width:100%; border-collapse:collapse; min-width:640px; font-size:14.5px; }
.data-table th, .data-table td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top; }
.data-table thead th { background:var(--soft-2); }
.data-table td:first-child { font-family:ui-monospace, Consolas, monospace; font-size:13.5px; }
.withdraw-callout { display:flex; flex-wrap:wrap; gap:14px 20px; align-items:center; justify-content:space-between; margin:22px 0;
  padding:16px 20px; border-radius:16px; background:#fff4e5; border:2px solid #c25e00; }
.withdraw-callout p { margin:0; color:var(--ink); }
.btn-withdraw { background:#b34700; color:#fff; } .btn-withdraw:hover { background:#8f3900; color:#fff; }
.site-footer a.footer-withdraw { display:inline-block; margin-top:10px; padding:8px 14px; border-radius:10px; background:#b34700;
  color:#fff; font-weight:800; }
.site-footer a.footer-withdraw:hover { background:#8f3900; color:#fff; }
a.footer-withdraw.inline { display:inline-block; padding:8px 14px; border-radius:10px; background:#b34700; color:#fff; font-weight:800; text-decoration:none; }
.price-note { margin:-12px 0 0; color:var(--ink-2); font-weight:600; }
.clarify { font-size:15px; color:var(--muted-on-dark) !important; border-left:3px solid rgba(127,223,230,.5); padding-left:12px; }
.checkout { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:clamp(24px, 4vw, 48px); align-items:start; }
.checkout-info h2, .checkout-form h2 { font-size:22px; }
.order-table { width:100%; border-collapse:collapse; margin:16px 0; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.order-table th, .order-table td { text-align:left; padding:11px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
.order-table th { color:var(--muted); font-weight:600; width:34%; }
.order-table tr.total th, .order-table tr.total td { font-size:19px; font-weight:800; color:var(--ink); background:var(--soft); }
.checkout-form, .withdraw-form { background:#fff; border:1px solid var(--line); border-radius:22px; padding:clamp(18px, 3vw, 28px); box-shadow:var(--shadow); }
.checkout-form > div, .withdraw-form > div { display:grid; gap:14px; }
label.field { display:grid; gap:6px; font-weight:650; font-size:15.5px; color:var(--ink); }
label.field .hint { font-weight:400; color:var(--muted); font-size:13.5px; }
label.field input, label.field textarea { width:100%; border:1.5px solid rgba(16,38,44,.18); border-radius:12px; padding:12px 14px; font:inherit; font-weight:400; min-height:48px; background:#fff; color:var(--ink); }
label.field input:focus, label.field textarea:focus { outline:3px solid var(--brand-soft); border-color:var(--brand); }
.field-row { display:grid; grid-template-columns:140px minmax(0, 1fr); gap:12px; }
.consent-check { display:flex; gap:12px; align-items:flex-start; background:var(--soft); border-radius:14px; padding:14px; font-size:15.5px; color:var(--ink); }
.consent-check input { width:22px; height:22px; flex:none; margin-top:2px; accent-color:var(--brand-strong); }
.summary-list { display:grid; grid-template-columns:minmax(0, 34%) minmax(0, 1fr); gap:8px 14px; margin:0; padding:14px; background:var(--soft); border-radius:14px; font-size:15px; }
.summary-list dt { color:var(--muted); } .summary-list dd { margin:0; font-weight:600; overflow-wrap:anywhere; }
.btn-order { background:#0d2227; color:#fff; font-size:17.5px; min-height:54px; } .btn-order:hover { background:#16444c; }
.receipt { white-space:pre-wrap; font:14px/1.55 ui-monospace, Consolas, monospace; background:var(--soft); border-radius:14px; padding:16px; margin:0; overflow-x:auto; }
.form-sheet p { margin:10px 0; }
@media (max-width:920px) { .checkout { grid-template-columns:1fr; } }
@media (max-width:600px) { .field-row, .summary-list { grid-template-columns:1fr; } .withdraw-callout .btn { width:100%; } }
@media print {
  .site-header, .site-footer, .chat-fab, .consent, .actions, .page-hero, button { display:none !important; }
  .legal-card, .receipt { border:1px solid #999; }
}
.legal-page, .checkout, .withdraw-form { overflow-wrap:break-word; hyphens:auto; }
.legal-page li, .legal-page p { overflow-wrap:anywhere; }
