/* Dogshare Landingpage – Stand November 2026. Schriften: Amatic SC, Patua One, Barlow Semi Condensed (SIL Open Font License), lokal eingebunden. */
@font-face{font-family:'Amatic SC';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/amatic-sc-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/barlow-semi-condensed-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/barlow-semi-condensed-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-semi-condensed-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Patua One';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/patua-one-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Layout: a single walk down the page; the Gassi-Route zigzags between two rails and draws itself in red as you scroll. */
:root{
  color-scheme: light;
  --red:#EB4747; --red-dark:#C93434;
  --teal:#61C1BB; --teal-soft:#E2F2F1; --teal-ink:#2E7C77;
  --sun:#F9B218;
  --ink:#24302F; --ink-soft:#56625F; --paper:#FFFFFF; --line:#CFE6E4;
  --f-display:"Amatic SC", "Arial Narrow", sans-serif;
  --f-head:"Patua One", Georgia, serif;
  --f-body:"Barlow Semi Condensed", "Arial Narrow", Arial, sans-serif;
  --wrap:1120px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
[id]{scroll-margin-top:var(--nav-h,82px)}
body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:18px;line-height:1.55;margin:0}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px))}
.band{padding-block:clamp(56px,9vw,112px)}
h1,h2,h3{text-wrap:balance;margin:0}
h2{font-family:var(--f-display);font-weight:700;font-size:clamp(2.6rem,5.4vw,4.2rem);line-height:1;letter-spacing:.01em}
h3{font-family:var(--f-head);font-weight:400;font-size:1.45rem;line-height:1.2}
p{margin:0}
.lead{font-size:1.2rem;color:var(--ink-soft);max-width:60ch}
.eyebrow{font-family:var(--f-head);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-ink)}
.note{font-size:.85rem;color:var(--ink-soft)}


/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--teal)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:21;background:var(--teal)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:10px}
.logo{display:block;line-height:0}
.logo img{width:118px;height:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nav{display:flex;gap:22px;align-items:center}
.nav a{color:#fff;text-decoration:none;font-family:var(--f-head);font-size:.95rem}
.nav a.nav-link{opacity:.9}
.nav a,.nav button,.logo{transition:transform .2s cubic-bezier(.3,1.4,.5,1),opacity .2s}
.nav a:hover,.nav button:hover,.logo:hover{transform:scale(1.08);opacity:1}
.nav a:active,.nav button:active,.logo:active{transform:scale(.97)}
.logo{transform-origin:left center}
/* contrast switch */
.contrast-btn{width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,255,255,.85);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;padding:0}
.contrast-btn svg{width:20px;height:20px}
.contrast-btn[aria-pressed="true"]{background:#fff;color:var(--ink)}
.top :focus-visible{outline-color:#fff}
/* stronger contrast, switched on with the button in the bar (WCAG AA for all text) */
:root[data-contrast="high"]{--red:#C93434;--red-dark:#A82A2A;--teal:#2E7C77;--teal-ink:#1F5E5A;--ink-soft:#36423F}
:root[data-contrast="high"] .hero-stage::after{background:linear-gradient(180deg,rgba(14,30,29,.78) 0%,rgba(14,30,29,.7) 55%,rgba(14,30,29,.85) 100%)}
:root[data-contrast="high"] .nav a.nav-link,:root[data-contrast="high"] .seal{opacity:1}
:root[data-contrast="high"] .lock{background:linear-gradient(165deg,#2E7C77 0%,#1F5E5A 58%,#14302E 100%)}
:root[data-contrast="high"] .lock-date{opacity:1}
:root[data-contrast="high"] .route-svg .paw{fill:#8FB9B5}
@media (max-width:760px){.nav a.nav-link{display:none}.nav{gap:12px}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-head);font-size:1.05rem;text-decoration:none;border-radius:999px;padding:14px 26px;border:2px solid transparent;cursor:pointer;line-height:1.1}
.btn-red{background:var(--red);color:#fff;box-shadow:0 6px 18px -6px rgba(235,71,71,.6)}
.btn-red:hover{background:var(--red-dark)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost-light{background:transparent;color:#fff;border-color:#fff}
.btn-small{padding:9px 18px;font-size:.95rem}
.btns{display:flex;flex-wrap:wrap;gap:12px}

/* hero */
.hero{position:relative;background:#22403E;color:#fff;overflow:hidden;display:grid;min-height:clamp(560px,48vw,780px)}
.hero-stage{position:absolute;inset:0}
.hero-stage img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.hero-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,44,42,.62) 0%,rgba(20,44,42,.5) 55%,rgba(20,44,42,.72) 100%)}
.hero-text{position:relative;z-index:1;align-self:center;padding-block:clamp(48px,7vw,90px) 70px;display:grid;gap:22px;justify-items:center;text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero h1{font-family:var(--f-display);font-weight:700;font-size:clamp(3.2rem,7.4vw,6.2rem);line-height:.95;max-width:26ch}
.hero .sub{margin-top:44px;font-size:1.2rem;max-width:min(100%,960px);opacity:.95;text-wrap:pretty}
.btn svg{width:20px;height:20px;fill:currentColor;flex:none}
.hero .btns{justify-content:center}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;font-size:.95rem;opacity:.95;margin-top:18px}
.trust span{display:inline-flex;align-items:center;gap:6px}
.trust span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sun)}

/* brief (definition sentence for search and AI) */
.brief{background:var(--teal-soft);border-bottom:2px solid var(--line)}
.brief .wrap{display:grid;gap:8px;max-width:860px;padding-block:28px}
.brief h2.eyebrow{font-family:var(--f-head);font-size:.82rem;line-height:1.4}
.brief p{font-size:1.12rem}

/* problem */
.problem{background:var(--paper)}
.problem .wrap{display:grid;gap:48px 72px;align-items:center}
@media (min-width:900px){.problem .wrap{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}
.problem-text{display:grid;gap:18px;min-width:0}
.problem-text .big{font-size:clamp(1.3rem,2.3vw,1.6rem);line-height:1.45}
.problem-text p:not(.big){font-size:1.1rem;color:var(--ink-soft);max-width:52ch}
/* lock screen: the day's notifications pile up, the last one is the dog */
.lock{width:100%;max-width:420px;justify-self:center;border-radius:34px;padding:34px 18px 22px;background:linear-gradient(165deg,#5FBDB7 0%,#2E7C77 58%,#22403E 100%);color:#fff;display:grid;gap:10px;box-shadow:0 34px 60px -30px rgba(36,48,47,.6);transform:rotate(2deg)}
.lock-time{font-family:var(--f-display);font-weight:700;font-size:5.6rem;line-height:.8;text-align:center}
.lock-date{text-align:center;font-size:.95rem;opacity:.85;margin-bottom:14px}
.ping{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;background:rgba(255,255,255,.9);color:var(--ink);border-radius:18px;padding:11px 14px;transition:opacity .5s ease var(--d),transform .7s cubic-bezier(.2,.8,.2,1) var(--d)}
.js .lock:not(.in) .ping{opacity:0;transform:translateY(22px) scale(.96)}
.ping .ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff}
.ping b{display:block;font-family:var(--f-head);font-weight:400;font-size:.92rem;line-height:1.2}
.ping div span{display:block;font-size:.98rem;line-height:1.3}
.ping time{align-self:start;font-size:.78rem;color:var(--ink-soft);white-space:nowrap}
.ping.dog{background:#fff;box-shadow:0 0 0 3px var(--sun),0 12px 24px -12px rgba(0,0,0,.5)}
.turn-box{grid-column:1/-1;background:var(--red);color:#fff;border-radius:24px;padding:clamp(26px,4vw,44px);display:grid;gap:14px 28px;align-items:center}
.turn-paw{width:64px;height:56px;fill:#fff;transform:rotate(-14deg)}
.turn{font-family:var(--f-head);font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:1.35;max-width:46ch}
.turn-next{color:#fff;font-family:var(--f-head);text-decoration:none;justify-self:start;border-bottom:2px solid rgba(255,255,255,.6)}
@media (min-width:760px){.turn-box{grid-template-columns:auto 1fr}.turn-paw{grid-row:span 2}}

/* route */
.route{background:var(--teal-soft)}
.route-head{display:grid;gap:12px;justify-items:center;text-align:center;margin-bottom:24px}
.route-body{position:relative}
.route-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.route-svg .track{fill:none;stroke:var(--line);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.route-svg .prog{fill:none;stroke:var(--red);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.route-svg .pad{fill:var(--teal-soft)}
.route-svg .paw{fill:#B9DAD7;transform-box:fill-box;transform-origin:center;transform:scale(.85);transition:fill .3s,transform .45s cubic-bezier(.3,1.6,.5,1)}
.route-svg .on .paw{fill:var(--red);transform:scale(1)}
.station{position:relative;display:grid;gap:28px;padding-left:44px;padding-block:28px}
.tag{justify-self:start;font-family:var(--f-head);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-ink);background:#fff;border:0;padding:9px 18px;box-shadow:0 4px 14px -8px rgba(36,48,47,.35);border-radius:999px;position:relative;z-index:1;transition:color .3s,border-color .3s}
.tag .tg{background-image:linear-gradient(to right,var(--red) 0%,var(--teal-ink) 0%);-webkit-background-clip:text;background-clip:text;color:transparent}
/* phone: white frame in Galaxy S23 proportions (screen 1080x2340), side keys on the right edge */
.phone{position:relative;width:min(232px,100%);will-change:transform;transform:rotate(0) scale(.95);border-radius:32px;background:#fff;padding:7px;border:1px solid #D5E3E1;box-shadow:0 30px 60px -28px rgba(36,48,47,.45),inset 0 0 0 1px #F2F6F6}
.phone::before,.phone::after{content:"";position:absolute;right:-5px;width:4px;border-radius:0 3px 3px 0;background:#fff;border:1px solid #D5E3E1;border-left:0}
.phone::before{top:21%;height:58px}
.phone::after{top:36%;height:30px}
.phone img{border-radius:25px;width:100%;height:auto;aspect-ratio:540/1189;object-fit:cover}
.phone .cam{position:absolute;top:16px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:#1E2928}
.copy{display:grid;gap:12px;align-content:center;min-width:0}
.copy .step{font-family:var(--f-head);color:var(--ink-soft);font-size:.9rem}
.copy h3{font-family:var(--f-display);font-weight:700;font-size:clamp(2.2rem,3.6vw,3rem);line-height:1}
.copy p{max-width:44ch}
.route-end{position:relative;display:grid;justify-items:center;text-align:center;gap:14px;padding-top:40px}
.route-end .also{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;font-size:.95rem;color:var(--ink-soft);margin-top:10px}
@media (min-width:860px){
  /* four tracks: odd = phone left of centre, text right of it; even = mirrored */
  .station{grid-template-columns:minmax(0,2.4fr) 232px minmax(0,436px) minmax(0,1fr);align-items:center;column-gap:0;padding:120px 60px 20px}
  .station .tag{position:absolute;top:28px;left:50%;transform:translateX(-50%);justify-self:auto}
  .station .phone{grid-column:2;grid-row:1;left:-56px}
  .station:nth-of-type(even) .phone{left:56px}
  .station .copy{grid-column:3;grid-row:1;margin-left:56px}
  .station:nth-of-type(even){grid-template-columns:minmax(0,1fr) minmax(0,436px) 232px minmax(0,2.4fr)}
  .station:nth-of-type(even) .phone{grid-column:3}
  .station:nth-of-type(even) .copy{grid-column:2;margin:0 56px 0 0;justify-items:end;text-align:right}
  .station .copy{position:relative;top:-10%}
  .route-end{padding-top:120px}
}

/* audience */
.who{background:var(--teal-soft)}
.who .wrap{display:grid;gap:36px}
.who-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.who-card{border-radius:20px;padding:30px;display:grid;gap:12px;align-content:start}
.who-card:first-child{background:var(--red);color:#fff}
.who-card:last-child{background:var(--sun);color:var(--ink)}
.who-card h3{font-family:var(--f-display);font-weight:700;font-size:2.6rem;line-height:1}

/* safety */
.safety{background:var(--paper)}
.safety .wrap{display:grid;gap:36px}
.safe-list{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:2px solid var(--line)}
.safe-list li{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding-block:18px;border-bottom:2px solid var(--line)}
@media (min-width:760px){.safe-list li{grid-template-columns:280px 1fr;gap:28px}}
.safe-list b{font-family:var(--f-head);font-weight:400;font-size:1.1rem}
.hint{background:var(--teal-soft);border-radius:14px;padding:16px 20px;font-size:.98rem}

/* proof */
.proof{background:var(--teal);color:#fff}
.proof .wrap{display:grid;gap:40px;justify-items:center;text-align:center}
.proof .stats{width:100%}
.proof .stat{justify-items:center}
.proof .calc{margin-inline:auto;justify-items:center}
.stats{display:grid;gap:22px 18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.stat{position:relative;background:#fff;color:var(--ink);border-radius:12px;padding:22px 20px 24px;display:grid;gap:8px;align-content:start}
.stat::after{content:"";position:absolute;bottom:-17px;left:62%;border-left:0 solid transparent;border-right:18px solid transparent;border-top:18px solid #fff}
.stat b{font-family:var(--f-display);font-size:3.4rem;line-height:.9;color:var(--red);font-variant-numeric:tabular-nums}
.stat span{font-size:1rem}
.stat small{color:var(--ink-soft);font-size:.8rem}
.calc{border:3px solid #fff;border-radius:20px;padding:28px 30px;display:grid;gap:10px;max-width:760px}
.calc h3{font-family:var(--f-display);font-weight:700;font-size:clamp(2.2rem,4vw,3rem);line-height:1}
.seal{font-size:.95rem;opacity:.9}

/* map */
.map .wrap{display:grid;gap:40px;align-items:center}
@media (min-width:860px){.map .wrap{grid-template-columns:1fr minmax(0,520px)}}
.map-text{display:grid;gap:16px;min-width:0}
.map-copy{display:grid;gap:14px;font-size:1.2rem;line-height:1.55;color:var(--ink);max-width:52ch}
.map-img{width:100%;max-width:520px;height:auto;justify-self:center}

/* founder */
.founder .wrap{display:grid;gap:40px;align-items:start}
@media (min-width:860px){.founder .wrap{grid-template-columns:320px 1fr}}
.founder-img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:45% 50%;border-radius:24px}
.photo-ph{aspect-ratio:4/5;border-radius:24px;border:3px dashed var(--line);display:grid;place-items:center;text-align:center;color:var(--ink-soft);font-size:.95rem;padding:20px;background:var(--teal-soft)}
.founder-text{display:grid;gap:16px;min-width:0}
.founder-text p{max-width:62ch}
.sign{font-family:var(--f-display);font-weight:700;font-size:2.2rem;color:var(--red)}

/* tips */
.tips{background:var(--paper)}
.founder{background:var(--teal-soft)}
.tips .wrap{display:grid;gap:32px}
.tip-list{margin:0;padding:0;list-style:none;display:grid;gap:14px;counter-reset:t}
.tip-list li{counter-increment:t;display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start;background:var(--teal-soft);border-radius:14px;padding:18px 20px}
.tip-list li::before{content:counter(t);font-family:var(--f-display);font-weight:700;font-size:2.2rem;line-height:1;color:var(--red);text-align:center}

/* faq */
.faq .wrap{display:grid;gap:28px;max-width:860px}
details{border-bottom:2px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-family:var(--f-head);font-size:1.12rem;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:1.6rem;color:var(--red)}
details[open] summary::after{content:"–"}
details p{padding-bottom:18px;color:var(--ink-soft)}

/* cta */
.cta{background:var(--red);color:#fff}
.cta .wrap{display:grid;gap:40px}
@media (min-width:900px){.cta .wrap{grid-template-columns:1fr 1fr;align-items:start}}
.cta-main{display:grid;gap:18px;min-width:0}
.cta h2{font-size:clamp(2.8rem,5.6vw,4.4rem)}
.wait{background:#fff;color:var(--ink);border-radius:20px;padding:28px;display:grid;gap:14px;min-width:0}
.wait h3{font-family:var(--f-display);font-weight:700;font-size:2.4rem;line-height:1}
.wait label{font-family:var(--f-head);font-size:.95rem;display:grid;gap:6px}
.wait input[type=email],.wait input[type=text]{font:inherit;font-size:1rem;padding:12px 14px;border:2px solid var(--line);border-radius:12px;width:100%}
.wait .check{display:grid;grid-template-columns:22px 1fr;gap:10px;font-family:var(--f-body);font-size:.9rem;align-items:start}
.wait .check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--red)}
.wait .done{background:var(--teal-soft);border-radius:12px;padding:14px 16px}

/* support + footer */
.support .wrap{display:grid;gap:22px;justify-items:center;text-align:center}
.support .lead{margin:0 auto}
.social{margin-top:18px;display:flex;gap:18px;flex-wrap:wrap;justify-content:center;font-family:var(--f-head)}
footer{background:var(--ink);color:#DDE7E6;font-size:.95rem}
footer .wrap{display:grid;gap:16px;padding-block:40px;justify-items:center;text-align:center}
footer nav{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center}
footer a{text-decoration:none}
footer a:hover{text-decoration:underline}

/* back to top: appears once the hero is mostly scrolled past */
.to-top{position:fixed;z-index:30;right:max(18px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));width:54px;height:54px;border-radius:50%;border:0;background:var(--red);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 24px -8px rgba(235,71,71,.7);opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;transition:opacity .3s ease,transform .35s cubic-bezier(.2,.8,.2,1),background .2s}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--red-dark)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* skip link */
.skip{position:absolute;left:12px;top:-60px;z-index:50;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;font-family:var(--f-head);text-decoration:none}
.skip:focus{top:12px}

/* waitlist states */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.wait .err{background:#FDECEC;color:#8A1F1F;border-radius:12px;padding:14px 16px}
.wait button[disabled]{opacity:.6;cursor:wait}

/* footer: button that looks like a link */
.linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
.linkbtn:hover{text-decoration:underline}

/* cookie consent */
.consent{position:fixed;z-index:60;left:50%;bottom:max(16px,env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:#fff;color:var(--ink);border-radius:20px;padding:24px;box-shadow:0 30px 70px -20px rgba(20,44,42,.55),0 0 0 1px var(--line);display:grid;gap:14px}
.consent[hidden]{display:none}
.consent h2{font-family:var(--f-display);font-size:2.3rem;display:flex;align-items:center;gap:10px}
.consent h2 svg{width:30px;height:26px;fill:var(--red);flex:none;transform:rotate(-12deg)}
.consent p{font-size:1rem}
.consent .btns{gap:10px}
.consent .btn{font-size:.98rem;padding:11px 20px}
.consent .btn-ghost{border-color:var(--ink)}
.consent fieldset{border:0;margin:0;padding:0;display:grid;gap:10px}
.consent fieldset[hidden]{display:none}
.consent label{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:.95rem}
.consent label input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--red)}
.consent label b{font-family:var(--f-head);font-weight:400}

/* legal and info pages (privacy policy, waitlist confirmation) */
.page{padding-block:clamp(40px,7vw,80px)}
.page .wrap{max-width:820px;display:grid;gap:16px}
.page h1{font-family:var(--f-display);font-weight:700;font-size:clamp(2.8rem,6vw,4.2rem);line-height:1}
.page h2{font-size:clamp(2rem,4vw,2.8rem);margin-top:28px}
.page h3{margin-top:12px}
.page ul{margin:0;padding-left:1.2em;display:grid;gap:6px}
.page a:not(.btn){color:var(--teal-ink)}
.page .lead{color:var(--ink-soft);max-width:none}

/* Unterseiten: Brotkrumen, Rechtstexte */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--f-head);font-size:.95rem;color:var(--ink-soft)}
.crumbs a{font-weight:600}
.page.legal .wrap{gap:12px}
.page.legal h1{margin-bottom:8px}
.page.legal h2{font-family:var(--f-head);font-weight:400;font-size:clamp(1.3rem,2.4vw,1.55rem);line-height:1.25;margin-top:32px}
.page.legal h3{font-size:1.1rem;margin-top:12px}
.page.legal p,.page.legal li{overflow-wrap:anywhere}
.page.legal .meta{color:var(--ink-soft);font-style:italic}
.page.legal .back{margin-top:32px}
