/* apiara — site / Seiten-CSS: landing/index.html.twig
   Nur was diese Seite allein braucht. Alles Gemeinsame liegt in
   assets/styles/site/{core,content,listing,auth}.css. */

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
/* Tailwinds Preflight laeuft hier mit (app.css), setzt aber keine Hintergrundfarbe.
   Ohne die naechste Zeile blitzt beim Ueberscrollen Browser-Weiss durch. */
html{background:var(--bg-stack);background-attachment:fixed}

/* Jede Regel unten ist auf `.site` gescopt. Das ist Pflicht, kein Stil: seit der
   SEO-Footer auf dieser Seite steht, teilt sich die Landing das Dokument mit
   Tailwind. Eine ungescopte `.chip`- oder `.plan`-Regel würde dort lautlos
   zuschlagen. Dieselbe Trennung nutzt Waidwart mit `.lp`. */

/* ============ HERO ============ */
.site .hero{position:relative;padding:150px 0 90px;overflow:hidden}
.site .hero-bg{position:absolute;inset:0;z-index:0;background-image:var(--hero-dark);background-position:center 42%;
  background-size:cover;background-repeat:no-repeat;animation:heroZoom 22s ease-out both}
:root[data-theme="light"] .hero-bg{background-image:var(--hero-light);background-position:center 45%}
@keyframes heroZoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.site .hero-veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--veil)}
.site .hero .wrap{position:relative;z-index:2}
.site .hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:40px;align-items:center}
.site .hero h1{font-size:clamp(2.7rem,6.6vw,5rem);line-height:1.08;letter-spacing:-.035em;margin:22px 0}
.site .hero h1 .l2{display:block}
.site .hero .lead{margin-bottom:32px;max-width:44ch}
.site .hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:26px}
.site .trust-chips{display:flex;flex-wrap:wrap;gap:9px}
.site .chip{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;color:var(--text-dim);font-weight:700;
  padding:7px 13px;border-radius:var(--r-full);border:1px solid var(--border);background:var(--chip-bg)}
.site .chip svg{width:14px;height:14px;color:var(--ok);flex:none}

.site .hero-visual{position:relative;display:flex;justify-content:center;align-items:center;min-height:560px}
.site .phone-glow{position:absolute;width:116%;height:116%;top:-6%;left:-8%;z-index:0;pointer-events:none;filter:blur(10px);
  background:radial-gradient(closest-side,var(--glow-a),transparent 72%),
             radial-gradient(closest-side at 70% 80%,var(--glow-b),transparent 70%)}
.site .float-badge{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--r-lg);
  background:var(--badge-bg);border:1px solid var(--border);backdrop-filter:blur(12px);box-shadow:var(--sh-md);
  font-size:.78rem;font-weight:700;color:var(--text)}
.site .float-badge .ic{width:30px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;flex:none}
.site .float-badge .ic svg{width:16px;height:16px}
.site .float-badge small{display:block;color:var(--text-mute);font-weight:600;font-size:.66rem;margin-top:1px}
.site .fb-1{top:6%;left:-2%;animation:float 8s ease-in-out infinite}
.site .fb-1 .ic{background:var(--ok-wash);color:var(--ok)}
.site .fb-2{bottom:14%;left:-7%;animation:float 7.5s ease-in-out .6s infinite}
.site .fb-2 .ic{background:var(--icon-soft);color:var(--accent)}
.site .fb-3{top:30%;right:-4%;animation:float 8.6s ease-in-out .3s infinite reverse}
.site .fb-3 .ic{background:var(--icon-soft);color:var(--accent)}

/* ============ PHONE ============
   Das Gerät ist in BEIDEN Modi hell — ein leuchtender Screen. Es setzt die
   Tokens deshalb lokal auf feste helle Werte zurück. */
.site .phone-stage{position:relative;display:grid;place-items:center;z-index:2}
/* Die Rotation lebt in --rot, weil `animation:float` sonst das transform der
   Basis-Regel (und den Hover) komplett überschreibt. Das Keyframe liest die Var. */
.site .phone{--rot:2deg;position:relative;width:250px;height:508px;background:linear-gradient(150deg,#2a2018,#3a2c1e);
  border-radius:40px;padding:10px;transition:--rot .5s var(--ease);animation:float 7s ease-in-out infinite;
  box-shadow:var(--sh-lg),var(--phone-rim)}
.site .phone:hover{--rot:0deg}
.site .phone-notch{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:82px;height:20px;background:#20180f;
  border-radius:0 0 15px 15px;z-index:5}
.site .phone-screen{
  --bg:#FFFCF6;--surface:#FFFFFF;--text:#3A2A17;--text-mute:rgba(58,42,23,.46);--border:#F2E4C6;
  --accent:#B45309;--accent-bright:#FBBF24;--accent-deep:#D97706;--ok:#4B6B34;--ok-wash:#EEF3E4;
  --sh-sm:0 1px 2px rgba(120,53,15,.05),0 8px 22px -10px rgba(120,53,15,.16);
  width:100%;height:100%;background:var(--bg);border-radius:31px;overflow:hidden;padding:32px 14px 14px;
  display:flex;flex-direction:column;gap:10px}
.site .ph-head{display:flex;align-items:center;gap:10px;padding:2px 2px 6px}
.site .ph-mark{width:36px;height:36px;border-radius:var(--r-md);background:var(--accent);display:grid;place-items:center;color:#fff;font-weight:800;font-size:1.05rem}
.site .ph-title{font-weight:800;color:var(--text);font-size:.98rem;line-height:1}
.site .ph-sub{font-size:.6rem;color:var(--accent);font-weight:700;margin-top:3px}
.site .ph-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px;box-shadow:var(--sh-sm)}
.site .ph-row{display:flex;justify-content:space-between;align-items:flex-start}
.site .ph-lbl{font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:800}
.site .ph-strong{font-size:.8rem;font-weight:700;color:var(--text);margin-top:2px}
.site .ph-ok{font-size:.55rem;font-weight:800;background:var(--ok-wash);color:var(--ok);padding:3px 8px;border-radius:var(--r-full)}
.site .ph-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:11px;padding-top:10px;border-top:1px solid var(--border)}
.site .ph-stats .n{font-weight:800;font-size:1rem;color:var(--text)}
.site .ph-stats .u{font-size:.48rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mute);margin-top:2px;font-weight:700}
.site .ph-task{display:flex;align-items:center;gap:10px}
.site .ph-task .d{width:9px;height:9px;border-radius:50%;flex:none}
.site .ph-tk{font-size:.66rem;font-weight:700;color:var(--text);line-height:1.2}
.site .ph-td{font-size:.54rem;color:var(--text-mute);font-weight:600}
.site .ph-chart{display:flex;align-items:flex-end;gap:5px;height:74px;margin-top:11px;padding-top:10px;border-top:1px solid var(--border)}
.site .ph-chart i{flex:1;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--accent-bright),var(--accent-deep));display:block}
.site .ph-legend{display:flex;justify-content:space-between;font-size:.46rem;font-weight:700;color:var(--text-mute);margin-top:6px;letter-spacing:.04em}

/* ============ TRUST STRIP ============ */
.site .strip{position:relative;z-index:3;border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  background:var(--strip-bg);backdrop-filter:blur(4px)}
/* Grid statt Flex: `flex-wrap` liess das vierte Item in eine zweite Zeile rutschen,
   sobald der Text laenger wurde. Die drei `auto`-Spalten sind die Trennstriche.
   `padding-block` statt Shorthand: das Element traegt auch `.wrap`. Beide Regeln sind
   gleich spezifisch, diese steht spaeter — ein `padding`-Shorthand wuerde also das
   seitliche Padding von `.wrap` platt machen. */
.site .strip-in{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  align-items:center;gap:26px;padding-block:34px}
@media(max-width:980px){.site .strip-in{grid-template-columns:1fr 1fr;gap:30px}.site .strip-sep{display:none}}
.site .strip-item .big{font-size:1.65rem;font-weight:800;letter-spacing:-.02em;color:var(--heading);line-height:1.25}
.site .strip-item small{display:block;color:var(--text-mute);font-size:.78rem;font-weight:600;line-height:1.45;margin-top:8px}
.site .strip-sep{width:1px;height:40px;background:var(--border);justify-self:center}
.site .stars{color:var(--accent-bright);letter-spacing:2px;font-size:.95rem}

/* ============ SECTIONS ============ */
.site .sec{padding:100px 0;position:relative}
.site .sec-head{max-width:680px;margin:0 auto 60px;text-align:center}
.site .sec-head h2{font-size:clamp(1.9rem,4.4vw,3.1rem);margin:16px 0}
.site .sec-head p{color:var(--text-dim);font-size:clamp(.95rem,1.9vw,1.1rem)}

.site .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.site .step{position:relative;padding:34px 28px 30px;border-radius:var(--r-3xl);background:var(--surface);border:1px solid var(--border);
  backdrop-filter:blur(10px);box-shadow:var(--sh-sm);overflow:hidden;transition:transform .2s ease,box-shadow .28s var(--ease)}
.site .step::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 100% 0%,var(--glow-wash),transparent 55%)}
.site .step:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.site .step .num{position:relative;font-size:.72rem;font-weight:800;letter-spacing:.1em;color:var(--accent);display:inline-block;margin-bottom:18px}
.site .step .s-ic{position:relative;width:52px;height:52px;border-radius:var(--r-lg);display:grid;place-items:center;margin-bottom:18px;
  background:var(--icon-bg);border:1px solid var(--border-strong);color:var(--accent)}
.site .step .s-ic svg{width:26px;height:26px}
.site .step h3{position:relative;font-size:1.18rem;margin-bottom:9px;font-weight:800}
.site .step p{position:relative;color:var(--text-dim);font-size:.92rem}

.site .compli{position:relative;border-radius:var(--r-3xl);overflow:hidden;border:1px solid var(--border);padding:64px 40px;
  background:var(--panel-bg);box-shadow:var(--sh-md)}
.site .compli::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(700px 400px at 50% -10%,var(--glow-wash),transparent 60%)}
.site .compli-inner{position:relative;text-align:center}
.site .compli h2{font-size:clamp(1.9rem,4.4vw,3.1rem);margin:16px 0 12px}
.site .compli p{color:var(--text-dim);max-width:62ch;margin:0 auto 44px;font-size:1rem}
.site .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:860px;margin:0 auto}
.site .pillar{padding:30px 22px;border-radius:var(--r-2xl);background:var(--surface-3);border:1px solid var(--border);transition:transform .2s ease,border-color .2s ease}
.site .pillar:hover{transform:translateY(-4px);border-color:var(--accent)}
.site .pillar .glyph{font-size:2.6rem;font-weight:800;line-height:1;letter-spacing:-.03em;
  background:var(--glyph);-webkit-background-clip:text;background-clip:text;color:transparent}
.site .pillar .label{color:var(--text);font-weight:800;margin-top:12px;font-size:.98rem}
.site .pillar .sub{color:var(--text-mute);font-size:.8rem;margin-top:4px;font-weight:600}
.site .compli-note{margin-top:40px;display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;
  color:var(--text-dim);font-size:.85rem;font-weight:600;padding:10px 18px;border-radius:var(--r-full);border:1px solid var(--border);background:var(--note-bg)}
.site .compli-note b{color:var(--accent)}

.site .features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.site .feat{padding:26px 24px;border-radius:var(--r-2xl);border:1px solid var(--border);background:var(--surface-2);box-shadow:var(--sh-sm);
  transition:transform .2s ease,border-color .2s ease,box-shadow .28s var(--ease)}
.site .feat:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--sh-md)}
.site .feat .f-ic{width:42px;height:42px;border-radius:var(--r-md);display:grid;place-items:center;margin-bottom:15px;
  background:var(--icon-soft);color:var(--accent);border:1px solid var(--border)}
.site .feat .f-ic svg{width:22px;height:22px}
.site .feat h4{font-size:1.02rem;margin-bottom:7px;font-weight:800}
.site .feat p{color:var(--text-dim);font-size:.86rem}

.site .showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.site .badge-row{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap}
.site .mini-badge{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;color:var(--text);padding:9px 15px;
  border-radius:var(--r-full);border:1px solid var(--border);background:var(--chip-bg)}
.site .mini-badge svg{width:15px;height:15px;color:var(--accent)}
.site .showcase-copy h2{font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.06;margin-bottom:18px}
.site .showcase-copy>p{color:var(--text-dim);font-size:1.03rem;margin-bottom:26px;max-width:48ch}
.site .show-list{display:grid;gap:14px;margin-bottom:30px}
.site .show-list li{display:flex;gap:13px;align-items:flex-start;font-size:.95rem}
.site .show-list .tick{width:24px;height:24px;border-radius:var(--r-sm);flex:none;display:grid;place-items:center;background:var(--ok-wash);color:var(--ok);margin-top:1px}
.site .show-list .tick svg{width:14px;height:14px}
.site .show-list b{color:var(--heading);font-weight:800}
.site .show-list small{color:var(--text-mute);display:block;font-size:.82rem;margin-top:2px;font-weight:600}
.site .showcase-visual{position:relative;display:flex;justify-content:center;align-items:center;min-height:560px}
.site .sc-glow{position:absolute;inset:-6% -4%;z-index:0;pointer-events:none;filter:blur(8px);
  background:radial-gradient(closest-side,var(--glow-b),transparent 72%),
             radial-gradient(closest-side at 30% 80%,var(--glow-a),transparent 70%)}
.site .stores{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.site .store{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:var(--text-dim);
  padding:9px 15px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--chip-bg)}
.site .store svg{width:18px;height:18px;color:var(--text)}

.site .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;max-width:1000px;margin:0 auto}
/* Die Karten selbst (.plan-card / .plan-featured-wrap / .plan-check …) kommen aus
   pricing.css — EINE Wahrheit mit /preise. Hier bleibt nur das .plans-Raster. */
.site .pricing-foot{text-align:center;margin-top:30px;color:var(--text-mute);font-size:.85rem;font-weight:600}
.site .pricing-foot a{color:var(--accent);text-decoration:underline}

.site .earlybird{position:relative;border-radius:var(--r-3xl);overflow:hidden;padding:56px 40px;text-align:center;
  background:var(--eb-bg);border:1px solid var(--eb-border);box-shadow:var(--sh-md)}
.site .earlybird::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(700px 340px at 50% -10%,var(--glow-wash),transparent 60%)}
.site .eb-inner{position:relative;z-index:1}
.site .eb-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;
  color:var(--eb-accent);padding:8px 15px;border-radius:var(--r-full);border:1px solid var(--eb-border);background:var(--eyebrow-bg)}
.site .earlybird h2{font-size:clamp(1.9rem,4.6vw,3.2rem);margin:18px 0 12px;line-height:1.04}
.site .eb-lead{color:var(--text-dim);max-width:54ch;margin:0 auto 30px;font-size:1.03rem}
.site .seats{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:0 auto 24px;max-width:600px}
.site .seat{width:32px;height:32px;border-radius:var(--r-sm);display:grid;place-items:center;border:1px solid var(--seat-border);
  background:var(--seat-bg);color:var(--seat-fg)}
.site .seat svg{width:16px;height:16px}
.site .seat.taken{border-color:var(--border);background:var(--seat-taken-bg);color:var(--text-mute);opacity:.45}
.site .eb-count{font-weight:800;color:var(--eb-accent)}
.site .eb-note{margin-bottom:26px;color:var(--text-dim);font-weight:600}

.site .final{position:relative;text-align:center;padding:110px 0 90px;background:var(--final-bg)}
.site .final h2{font-size:clamp(2.1rem,6vw,4.4rem);letter-spacing:-.035em;line-height:1;margin:28px 0 22px}
.site .final .lead{margin:0 auto 34px;text-align:center}
.site .final-cta{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}
.site .final-note{margin-top:20px;color:var(--text-mute);font-size:.8rem;font-weight:600}


/* Der Nav-CTA trägt jetzt den vollen Satz („Bienenstand kostenlos anlegen") und ist
   `nowrap` — neben fünf Menü-Links läuft die Leiste sonst über. Die Anker-Links sind
   verzichtbar, der CTA nicht. */
@media(max-width:1000px){
  .site .hero-grid{grid-template-columns:1fr;gap:24px}
  .site .hero-visual{min-height:480px;margin-top:10px}
  .site .showcase-grid{grid-template-columns:1fr;gap:40px}
  .site .showcase-visual{min-height:500px}
  .site .plans{grid-template-columns:1fr;max-width:460px}
  .site .features{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .site .hero{padding:120px 0 70px}
  .site .sec{padding:76px 0}
  .site .steps, .site .pillars, .site .features{grid-template-columns:1fr}
  .site .strip-sep{display:none}
  .site .strip-in{grid-template-columns:1fr;justify-items:center;text-align:center}
  .site .compli, .site .earlybird{padding:44px 22px}
  .site .final{padding:80px 0 64px}
  .site .fb-2, .site .fb-3{display:none}
}
@media(max-width:520px){
  .site .seats{gap:6px}.site .seat{width:28px;height:28px}
}

/* Kontextueller Link auf den Senioren-Hub in der Feature-Liste. */
.site .show-list .show-link{color:var(--accent);font-weight:600;text-decoration:none;white-space:nowrap}
.site .show-list .show-link:hover{text-decoration:underline}
