/* Topguide24 (ehemals iGuiding) – App-Landingpage, Überarbeitung 2026-10-16, Suche statt Karten 2026-10-26
   Markenfarben: Blau #018ED6, Anthrazit #252525. Eine Schrift (Systemschrift, keine externen Fonts). */
:root{
  --blue:#018ed6; --blue-press:#017bb9;
  --anth:#252525;
  --ground:#ffffff; --tone:#eef6fc; --tone2:#f5f7f8;
  --ink:#252525; --ink2:#5b6168;
  --on-blue:#ffffff; --on-anth:#ffffff; --on-anth2:#c9ccd0;
  --gut:clamp(16px,3vw,40px);
  --max:1320px;
  --sec:clamp(96px,11vw,176px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#151617; --tone:#10222e; --tone2:#1d1f21; --ink:#f1f3f4; --ink2:#aab0b6;
    --anth:#252525; color-scheme:dark;
  }
}
:root[data-theme="dark"]{--ground:#151617;--tone:#10222e;--tone2:#1d1f21;--ink:#f1f3f4;--ink2:#aab0b6;color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--ground);line-height:1.55;font-size:18px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.035em;line-height:1}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--ground);padding:8px 12px;z-index:99}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
::selection{background:var(--blue);color:#fff}
.sub{color:var(--ink);font-size:clamp(18px,1.5vw,21px);max-width:34em}
h2{font-size:clamp(36px,4.6vw,68px)}

/* Header: schlichte Leiste */
.hdr{position:sticky;top:0;z-index:50;background:var(--ground)}
.hdr .wrap{display:flex;align-items:center;gap:28px;height:68px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;text-decoration:none;letter-spacing:-.02em}
.brand img{width:34px;height:34px;border-radius:9px}
.nav{display:flex;gap:26px;margin-left:auto}
.nav a{text-decoration:none;font-weight:600;font-size:16px;transition:color .2s}
.nav a:hover{color:var(--blue)}
.lang{position:relative}
.lang summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;font-weight:700;font-size:15px;padding:8px 12px;border-radius:999px;background:var(--tone2);transition:background .2s}
.lang summary:hover{background:var(--tone)}
.lang summary svg{width:18px;height:18px}
.lang summary::-webkit-details-marker{display:none}
.lang ul{position:absolute;right:0;top:46px;padding:6px;background:var(--ground);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.18);min-width:180px}
.lang li a{display:block;padding:9px 12px;border-radius:9px;text-decoration:none;font-size:16px}
.lang li a:hover,.lang li a[aria-current]{background:var(--tone);color:var(--blue)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border-radius:999px;background:var(--blue);color:var(--on-blue);font-weight:700;text-decoration:none;font-size:16px;transition:background .2s,transform .2s var(--ease)}
.btn:hover{background:var(--blue-press)}
.btn:active{transform:scale(.97)}

/* Hero */
.hero{padding-top:clamp(40px,6vw,88px);overflow:hidden}
.hero h1{
  /* zwei Zeilen auf jeder Breite: Größe aus der Länge der längsten Zeile berechnet */
  font-size:min(128px, calc((min(100vw, var(--max)) - 2 * var(--gut)) / (var(--l1) * .53)));
  line-height:.98;letter-spacing:-.04em;font-weight:850;
}
.hero h1 span{display:block}
.hero-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:clamp(36px,4vw,64px);align-items:stretch}
.wrap-l{padding-left:max(var(--gut), calc((100vw - var(--max)) / 2 + var(--gut)));padding-right:clamp(24px,4vw,64px)}
.hero-copy{padding-top:8px;padding-bottom:64px}
.lead{font-size:clamp(20px,1.9vw,26px);line-height:1.4;max-width:24em;margin-bottom:32px}
.note{margin-top:18px;font-size:16px;color:var(--ink2)}
.hero-field{position:relative;background:var(--blue);min-height:clamp(460px,46vw,640px);overflow:hidden}
.phone{position:absolute;width:clamp(220px,21vw,300px);border-radius:46px;padding:11px;background:#111}
.phone img{border-radius:36px;width:100%}
.p1{left:12%;top:56px;z-index:2}
.p2{left:calc(12% + clamp(150px,15vw,214px));top:120px;transform:rotate(5deg)}

/* Kennzahlen auf Anthrazit */
.stats{background:var(--anth);color:var(--on-anth)}
.stats dl{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0;padding:clamp(40px,5vw,72px) 0}
.stats div{display:flex;flex-direction:column-reverse}
.stats dd{margin:0;font-size:clamp(44px,5.4vw,84px);font-weight:850;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.stats dt{margin-top:10px;font-size:17px;color:var(--on-anth2)}

/* Suche: das Suchfeld der App, echt benutzbar */
.search-sec{padding:var(--sec) 0}
.search-sec h2{font-size:clamp(40px,5.6vw,84px);max-width:14em;margin-bottom:24px}
.search-sec .sub{font-size:clamp(20px,1.8vw,24px);line-height:1.4;max-width:30em;margin-bottom:clamp(32px,3.4vw,48px)}
.find{display:flex;gap:10px;max-width:820px;background:var(--tone2);padding:10px;border-radius:999px}
.find input{flex:1;min-width:0;font:inherit;font-size:clamp(19px,1.7vw,23px);border:0;background:transparent;color:var(--ink);padding:12px 18px;outline:none}
.find input::placeholder{color:var(--ink2)}
.find:focus-within{outline:3px solid var(--blue);outline-offset:3px}
.find button{font:inherit;font-weight:700;font-size:18px;border:0;cursor:pointer;background:var(--blue);color:#fff;border-radius:999px;padding:0 30px;min-height:56px;transition:background .2s,transform .2s var(--ease)}
.find button:hover{background:var(--blue-press)}
.find button:active{transform:scale(.97)}
.pop{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px 22px;align-items:baseline;font-size:19px}
.pop span{color:var(--ink2)}
.pop a{font-weight:700;text-underline-offset:5px;text-decoration-thickness:2px;transition:color .2s}
.pop a:hover{color:var(--blue)}
.s-note{margin-top:14px;font-size:15px;color:var(--ink2)}
.prov{margin-top:clamp(72px,8vw,128px)}
.prov p{font-size:18px;font-weight:700;margin-bottom:20px}
.logos{display:grid;grid-template-columns:repeat(8,1fr);gap:clamp(16px,2.4vw,40px);align-items:center}
.logos li{display:grid;place-items:center;aspect-ratio:2/1}
.logos img{width:100%;height:auto;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logos li{background:#fff;padding:8px}:root:not([data-theme="light"]) .logos img{mix-blend-mode:normal}}

/* Screens mit Umschalter (das lebendige Element) */
.screens-sec{background:var(--tone);padding:var(--sec) 0}
.screens-sec .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,110px);align-items:center}
.scr-copy h2{margin-bottom:20px}
.tabs{margin-top:40px;display:grid;gap:6px}
.tab{font:inherit;line-height:1.2;font-size:clamp(20px,1.9vw,26px);font-weight:700;letter-spacing:-.02em;color:var(--ink2);background:none;border:0;padding:10px 0;cursor:pointer;text-align:left;transition:color .2s,transform .25s var(--ease)}
.tab strong{display:block;font-weight:700}
.tab span{display:none;font-size:18px;font-weight:400;letter-spacing:0;line-height:1.45;color:var(--ink);margin-top:6px;max-width:26em}
.tab[aria-pressed="true"] span{display:block}
.tab:hover{color:var(--ink);transform:translateX(6px)}
.tab[aria-pressed="true"]{color:var(--blue)}
.stage{position:relative;display:flex;justify-content:center}
.screen{margin:0;width:min(340px,80%);border-radius:50px;padding:12px;background:#111}
.screen img{border-radius:38px;width:100%}
.screen figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.js .screen{grid-area:1/1;opacity:0;transform:translateY(14px) scale(.985);transition:opacity .45s var(--ease),transform .45s var(--ease);pointer-events:none}
.js .stage{display:grid;justify-items:center}
.js .screen.on{opacity:1;transform:none;pointer-events:auto}
/* ohne Skript: alle Bildschirme als Leiste zum Wischen */
html:not(.js) .stage{gap:20px;overflow-x:auto;justify-content:flex-start;scroll-snap-type:x mandatory}
html:not(.js) .screen{flex:0 0 240px;scroll-snap-align:start}
html:not(.js) .tabs{display:none}

/* FAQ */
.faq-sec{background:var(--ground);padding:var(--sec) 0}
.faq-sec .wrap{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,120px);align-items:start}
.faq{display:grid;gap:4px}
.faq details{background:var(--tone2);padding:0 clamp(20px,2vw,32px);transition:background .2s}
.faq summary{cursor:pointer;list-style:none;font-weight:700;font-size:clamp(19px,1.6vw,22px);letter-spacing:-.01em;padding:24px 40px 24px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:30px;font-weight:400;color:var(--blue);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding:0 0 26px;max-width:36em}

/* Abschluss */
.cta{background:var(--blue);color:var(--on-blue);padding:var(--sec) 0}
.cta h2{font-size:clamp(40px,5.6vw,84px);max-width:18em;margin-bottom:22px}
.cta p{font-size:clamp(22px,2vw,28px);font-weight:600;max-width:26em;margin-bottom:40px;line-height:1.35}
.cta .web{display:inline-block;margin-top:28px;font-weight:700;font-size:19px;text-underline-offset:5px;transition:opacity .2s}
.cta .web:hover{opacity:.8}

/* Store-Badges (offizielle Optik) */
.badges{display:flex;flex-wrap:wrap;gap:12px}
.badge{display:inline-flex;align-items:center;gap:10px;background:#000;color:#fff;text-decoration:none;border-radius:12px;padding:10px 20px 10px 15px;min-width:186px;transition:transform .2s var(--ease),background .2s}
.badge:hover{transform:translateY(-2px);background:#1a1a1a}
.badge:active{transform:scale(.97)}
.badge svg{width:26px;height:26px;flex:0 0 26px}
.badge small{display:block;font-size:11px;line-height:1.1;opacity:.85}
.badge strong{display:block;white-space:nowrap;font-size:20px;line-height:1.15;font-weight:600;letter-spacing:-.2px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero .badge{background:#fff;color:#000}:root:not([data-theme="light"]) .hero .badge svg path[fill="#fff"]{fill:#000}}

/* Footer: schlichte Abschlusszeile */
.ftr{background:var(--anth);color:var(--on-anth);padding:36px 0}
.ftr-row{display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:space-between;font-size:15px;color:var(--on-anth2)}
.ftr nav{display:flex;flex-wrap:wrap;gap:22px}
.ftr a{text-decoration:none;transition:color .2s}.ftr a:hover{color:#fff}

/* Bewegung: Eintritt pro Abschnitt, nur mit Skript */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--d,0) * 75ms)}
.js .rv.in{opacity:1;transform:none}
.js .hero-field .phone{transition:transform 1.1s var(--ease),opacity 1.1s var(--ease)}
.js .hero-field:not(.in) .p1{transform:translateY(60px);opacity:0}
.js .hero-field:not(.in) .p2{transform:translateY(90px) rotate(9deg);opacity:0}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv,.js .hero-field .phone,.js .screen{transition:opacity .2s linear !important;transform:none !important}
  .p2{transform:rotate(5deg) !important}
}

/* Tablet */
@media (max-width:980px){
  .nav{display:none}
  .hero-split,.screens-sec .wrap,.faq-sec .wrap{grid-template-columns:1fr}
  .hero-copy{padding-right:var(--gut)}
  .hero-field{min-height:560px}
  .p1{left:max(var(--gut), calc(50% - 250px))}
  .p2{left:auto;right:max(var(--gut), calc(50% - 250px))}
  .stats dl{grid-template-columns:1fr 1fr 1fr;gap:16px}
  .logos{grid-template-columns:repeat(4,1fr)}
  .scr-copy{order:0}
}
/* Telefon: eigene Komposition */
@media (max-width:640px){
  body{font-size:17px}
  .hdr .btn{display:none}
  .hdr .wrap{height:60px}
  .lead{font-size:19px}
  .hero h1{font-size:min(52px, calc((100vw - 2 * var(--gut)) * 2 / (var(--lt) * .61)))}
  .hero h1 span{display:inline}
  .cta h2{font-size:min(34px,8.4vw)}
  .search-sec h2{font-size:min(40px,9.6vw)}
  .find{flex-direction:column;border-radius:28px}
  .find button{min-height:52px}
  .pop{font-size:18px;gap:6px 18px}
  .stats dl{grid-template-columns:1fr;row-gap:28px}
  .tab span{font-size:17px}
  .hero-field{min-height:480px}
  .phone{width:210px;border-radius:36px;padding:8px}
  .phone img{border-radius:29px}
  .p1{left:var(--gut);top:40px}
  .p2{right:-40px;top:90px}
  .badge{min-width:0;flex:1 1 150px;justify-content:center;padding:10px 12px}
  .badge strong{font-size:18px}
  .logos{grid-template-columns:repeat(4,1fr)}
  .screen{width:min(280px,82%)}
  .tabs{margin-top:24px;gap:0}
  .tab{font-size:19px;padding:8px 0}
}
