/* GLANZZ Akademie — geteiltes Stylesheet für Hub + Verkaufsseiten.
   Brand-Tokens identisch zur Startseite (glanzz.de). */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
img,video{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
:root{
  --bg:oklch(0.972 0.008 70);--bg-2:oklch(0.945 0.012 60);--ink:oklch(0.205 0.014 45);
  --ink-deep:oklch(0.165 0.012 40);--muted:oklch(0.505 0.020 48);--line:oklch(0.86 0.012 60);
  --accent:oklch(0.665 0.075 52);--accent-deep:oklch(0.575 0.072 48);--accent-soft:oklch(0.815 0.060 66);
  --blush:oklch(0.935 0.022 18);--champ:oklch(0.948 0.030 76);--on-dark:oklch(0.93 0.010 70);--on-dark-mute:oklch(0.70 0.014 60);
  --display:'Playfair Display',Georgia,serif;--serif:'Cormorant Garamond','Playfair Display',serif;--sans:'Inter',system-ui,sans-serif;
  --shadow:0 20px 50px -20px oklch(0.20 0.02 45 / .28);--maxw:1120px;
}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:400;color:var(--ink);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::after{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit}
.eyebrow{font-size:.7rem;letter-spacing:.34em;text-transform:uppercase;color:var(--accent-deep);font-weight:500;display:inline-flex;align-items:center;gap:.7rem}
.eyebrow::before{content:'';width:1.6rem;height:1px;background:var(--accent)}
.eyebrow.center{justify-content:center}.eyebrow.center::after{content:'';width:1.6rem;height:1px;background:var(--accent)}
.h-sec{font-family:var(--display);font-weight:600;line-height:1.12;letter-spacing:-.01em;font-size:clamp(1.9rem,4.2vw,3rem)}
.lead{color:var(--muted);font-size:1.02rem;max-width:40rem}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;white-space:nowrap;font-weight:500;font-size:.92rem;
  padding:.92rem 1.7rem;border-radius:999px;text-decoration:none;cursor:pointer;border:1px solid transparent;
  transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,background .3s,color .3s}
.btn svg{width:1.05rem;height:1.05rem}
.btn-gold{background:linear-gradient(115deg,var(--accent-deep),var(--accent) 55%,var(--accent-soft));color:oklch(0.99 0.005 70);box-shadow:0 14px 30px -12px oklch(0.66 0.075 52 / .7)}
.btn-gold:hover{transform:translateY(-2px)}
.btn-gold[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-deep);transform:translateY(-2px)}
.btn-ghost.on-dark{color:var(--on-dark);border-color:oklch(0.93 0.01 70 / .28)}
.btn-ghost.on-dark:hover{border-color:var(--accent-soft);color:var(--accent-soft)}
.btn-block{width:100%}
/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:80;padding:1.1rem 0;transition:background .5s,box-shadow .5s,padding .5s,border-color .5s;border-bottom:1px solid transparent}
.nav.scrolled{background:oklch(0.972 0.008 70 / .82);backdrop-filter:blur(16px) saturate(1.4);border-bottom-color:var(--line);box-shadow:0 8px 30px -18px oklch(0.2 0.02 45 / .4);padding:.6rem 0}
.nav__in{max-width:var(--maxw);margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.brand img{width:42px;height:42px;object-fit:contain}
.brand__word{font-family:var(--display);font-size:1.25rem;font-weight:700;letter-spacing:.04em;color:var(--on-dark);text-shadow:0 1px 12px oklch(0.165 0.012 40 / .5);transition:color .4s,text-shadow .4s}
.brand__word b{font-weight:700}
.brand__sub{font-weight:400;font-size:.82em;letter-spacing:.06em;opacity:.85}
.nav.scrolled .brand__word{color:var(--ink);text-shadow:none}.nav.scrolled .brand__word b{color:var(--accent-deep)}
.nav.solid .brand__word{color:var(--ink);text-shadow:none}.nav.solid .brand__word b{color:var(--accent-deep)}
.nav__links{display:flex;align-items:center;gap:2rem}
.nav__links a{position:relative;text-decoration:none;color:var(--on-dark);font-size:.86rem;font-weight:500;opacity:.92;transition:opacity .25s,color .4s;text-shadow:0 1px 10px oklch(0.165 0.012 40 / .45)}
.nav.scrolled .nav__links a,.nav.solid .nav__links a{color:var(--ink);opacity:.78;text-shadow:none}
.nav__links a:hover{opacity:1}
@media(max-width:860px){.nav__links{display:none}}
/* hero */
.hero{position:relative;min-height:90svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink-deep)}
.hero__media{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero__media video{width:100%;height:100%;object-fit:cover;transform:scale(1.1);filter:saturate(1.02) brightness(.9)}
.hero__media::before{content:'';position:absolute;inset:0;z-index:1;background:radial-gradient(120% 90% at 18% 88%,oklch(0.165 0.012 40 / .92),transparent 60%),linear-gradient(180deg,oklch(0.165 0.012 40 / .6) 0%,transparent 30%,transparent 50%,oklch(0.165 0.012 40 / .88) 100%)}
.hero__in{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;padding:8rem 1.5rem 4.5rem}
.hero__tag{display:inline-flex;align-items:center;gap:.6rem;padding:.45rem 1rem;border-radius:999px;border:1px solid oklch(0.815 0.06 66 / .35);background:oklch(0.165 0.012 40 / .35);backdrop-filter:blur(6px);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-soft);font-weight:500;margin-bottom:1.5rem}
.hero__tag i{width:6px;height:6px;border-radius:50%;background:var(--accent-soft);animation:pulse 2.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 oklch(0.815 0.06 66 /.6)}70%{box-shadow:0 0 0 10px oklch(0.815 0.06 66 /0)}100%{box-shadow:0 0 0 0 oklch(0.815 0.06 66 /0)}}
.hero__title{font-family:var(--display);font-weight:600;color:var(--on-dark);font-size:clamp(2.4rem,7vw,4.8rem);line-height:1.03;letter-spacing:-.015em;text-wrap:balance;text-shadow:0 2px 30px oklch(0.165 0.012 40 / .55)}
.hero__title em{font-style:italic;font-weight:500;color:var(--accent-soft)}
.hero__lede{margin-top:1.5rem;max-width:38rem;color:oklch(0.9 0.012 70 / .9);font-size:clamp(1rem,1.6vw,1.16rem);font-weight:300;text-shadow:0 1px 16px oklch(0.165 0.012 40 / .5)}
.hero__actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.2rem}
/* section shell */
.sec{max-width:var(--maxw);margin:0 auto;padding:6rem 1.5rem}
.sec-head{max-width:44rem}.sec-head.center{margin:0 auto;text-align:center}.sec-head .h-sec{margin-top:1rem}.sec-head p{margin-top:1rem}
.page-top{height:74px}
/* explainer video */
.lp-video{max-width:var(--maxw);margin:0 auto;padding:1rem 1.5rem 2rem}
.lp-video__frame{position:relative;border-radius:6px;overflow:hidden;box-shadow:var(--shadow);background:var(--ink-deep);aspect-ratio:16/9}
.lp-video__frame video{width:100%;height:100%;object-fit:cover}
.lp-video__note{margin-top:.9rem;color:var(--muted);font-size:.8rem;text-align:center}
/* seminar cards grid (hub) */
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem}
@media(max-width:900px){.sgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.sgrid{grid-template-columns:1fr}}
.scard{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:1.7rem 1.6rem;transition:transform .35s,box-shadow .35s,border-color .35s}
.scard:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--accent-soft)}
.scard__img{margin:-1.7rem -1.6rem 1.1rem;border-radius:6px 6px 0 0;overflow:hidden;aspect-ratio:16/10;background:var(--champ)}
.scard__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.scard:hover .scard__img img{transform:scale(1.04)}
.scard__n{font-family:var(--display);font-size:.85rem;color:var(--accent);font-weight:600;letter-spacing:.05em}
.scard__title{font-family:var(--display);font-size:1.4rem;font-weight:600;margin:.5rem 0 .5rem;line-height:1.15}
.scard__desc{font-size:.9rem;color:var(--muted);line-height:1.6;flex:1}
.scard__meta{display:flex;align-items:center;gap:.6rem;margin:1rem 0 .2rem;flex-wrap:wrap}
.badge{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:.25rem .6rem;border-radius:999px;background:var(--champ);color:var(--accent-deep);border:1px solid var(--accent-soft)}
.badge--soon{background:var(--blush);color:var(--ink);border-color:var(--line)}
.scard__price{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--ink)}
.scard__act{margin-top:1.1rem}
/* WHY / curriculum rows */
.why-rows{margin-top:2rem;border-top:1px solid var(--line)}
.why-row{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.2rem,4vw,3rem);padding:1.8rem 0;border-bottom:1px solid var(--line);align-items:start}
.why-row .n{font-family:var(--display);font-size:clamp(2rem,4vw,2.8rem);font-weight:500;color:var(--accent);line-height:.9;font-style:italic}
.why-row h3{font-family:var(--display);font-size:1.25rem;font-weight:600;margin-bottom:.4rem}
.why-row p{color:var(--muted);font-size:.93rem;max-width:42rem}
/* sales page layout */
.sale{max-width:var(--maxw);margin:0 auto;padding:2rem 1.5rem 5rem;display:grid;grid-template-columns:1.5fr .9fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
@media(max-width:880px){.sale{grid-template-columns:1fr}}
.sale__list{list-style:none;display:flex;flex-direction:column;gap:.7rem;margin-top:1.2rem}
.sale__list li{display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem;color:var(--ink)}
.sale__list li::before{content:'✓';color:var(--accent-deep);font-weight:700;flex-shrink:0}
.buybox{position:sticky;top:90px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:1.8rem;box-shadow:var(--shadow)}
.buybox .price{font-family:var(--serif);font-size:2.1rem;font-weight:600;color:var(--ink);line-height:1}
.buybox .price small{display:block;font-family:var(--sans);font-size:.78rem;color:var(--muted);font-weight:400;margin-top:.3rem}
.buybox ul{list-style:none;margin:1.2rem 0;display:flex;flex-direction:column;gap:.5rem;font-size:.86rem;color:var(--muted)}
.buybox ul li{display:flex;gap:.5rem}.buybox ul li b{color:var(--ink);font-weight:600}
.buybox .note{font-size:.74rem;color:var(--muted);margin-top:.9rem;line-height:1.5}
.steps{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem;font-size:.72rem;color:var(--muted)}
.steps span{display:inline-flex;align-items:center;gap:.35rem;background:var(--champ);padding:.3rem .55rem;border-radius:999px}
/* lead / waitlist form */
.lead-band{background:var(--blush)}
.lead-band .wrap{max-width:var(--maxw);margin:0 auto;padding:5.5rem 1.5rem;display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,4rem);align-items:center}
@media(max-width:820px){.lead-band .wrap{grid-template-columns:1fr}}
.lead-card{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:clamp(1.6rem,4vw,2.4rem);box-shadow:var(--shadow)}
.lead-card h3{font-family:var(--display);font-size:1.4rem;font-weight:600;margin-bottom:.4rem}
.lead-card p.sub{color:var(--muted);font-size:.9rem;margin-bottom:1.3rem}
.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.95rem}
.field label{font-size:.78rem;letter-spacing:.04em;color:var(--muted);font-weight:500}
.field input,.field textarea{font-family:inherit;font-size:.95rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:.75rem .9rem;outline:none;transition:border-color .25s,box-shadow .25s}
.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px oklch(0.665 0.075 52/.16)}
/* Warteliste-E-Mail-Feld (In Vorbereitung): elegant gruen pulsierender Rahmen (Marken-Gruen) */
@keyframes wlpulse{
  0%{box-shadow:0 0 0 0 rgba(31,175,84,.40);border-color:#1faf54}
  50%{border-color:#41cf78}
  70%{box-shadow:0 0 0 11px rgba(31,175,84,0)}
  100%{box-shadow:0 0 0 0 rgba(31,175,84,0);border-color:#1faf54}
}
#wl-form #wl-email{border:2px solid #1faf54;border-radius:10px;background:linear-gradient(0deg,rgba(31,175,84,.06),rgba(31,175,84,.06)),var(--bg);animation:wlpulse 2.4s ease-in-out infinite;will-change:box-shadow}
#wl-form #wl-email::placeholder{color:#6f8c79}
#wl-form #wl-email:focus{animation:none;border-color:#1faf54;box-shadow:0 0 0 3px rgba(31,175,84,.22);background:var(--bg)}
@media(prefers-reduced-motion:reduce){#wl-form #wl-email{animation:none;border-color:#1faf54}}
.lead-msg{display:none;margin-top:1rem;padding:.85rem 1rem;border-radius:10px;font-size:.88rem;line-height:1.5}
.lead-msg.ok{display:block;background:var(--champ);color:var(--ink);border:1px solid var(--accent-soft)}
.lead-msg.err{display:block;background:var(--blush);color:var(--ink);border:1px solid var(--line)}
.lead-note{font-size:.74rem;color:var(--muted);margin-top:.9rem;line-height:1.5}
/* confirmation pages */
.confirm{max-width:42rem;margin:0 auto;padding:9rem 1.5rem 6rem;text-align:center}
.confirm .ic{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin:0 auto 1.6rem;background:var(--champ);color:var(--accent-deep)}
.confirm .ic svg{width:2.2rem;height:2.2rem}
.confirm h1{font-family:var(--display);font-size:clamp(2rem,5vw,3rem);font-weight:600;line-height:1.1}
.confirm p{color:var(--muted);margin-top:1rem}
.confirm .acts{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}
/* footer */
.footer{background:oklch(0.135 0.01 38);color:var(--on-dark-mute);padding:4rem 1.5rem 2rem}
.footer .grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}
@media(max-width:680px){.footer .grid{grid-template-columns:1fr 1fr}.footer .grid>div:first-child{grid-column:1/-1}}
.footer img{width:54px;height:54px;object-fit:contain;margin-bottom:1rem}
.footer .nm{font-family:var(--display);color:var(--on-dark);font-size:1.05rem;letter-spacing:.04em}
.footer p{font-size:.85rem;line-height:1.7;margin-top:.5rem}
.footer h5{color:var(--on-dark);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1rem;font-weight:500}
.footer ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.footer ul a{color:var(--on-dark-mute);text-decoration:none;font-size:.88rem;transition:color .25s}
.footer ul a:hover{color:var(--accent-soft)}
.footer .bar{max-width:var(--maxw);margin:3rem auto 0;padding-top:1.6rem;border-top:1px solid oklch(0.93 0.01 70/.08);font-size:.76rem;text-align:center;color:oklch(0.7 0.014 60/.7)}
.btn-sm{padding:.55rem 1.1rem;font-size:.8rem;gap:.4rem}
/* social row (footer, alle Seiten) */
.social-row{display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem;max-width:var(--maxw);margin:2.4rem auto 0}
.social-row a{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:oklch(0.93 0.01 70/.06);color:var(--on-dark-mute);border:1px solid oklch(0.93 0.01 70/.12);transition:color .25s,background .25s,transform .25s,border-color .25s}
.social-row a:hover{color:var(--accent-soft);background:oklch(0.93 0.01 70/.12);border-color:var(--accent-soft);transform:translateY(-2px)}
.social-row svg{width:1.2rem;height:1.2rem}
/* ===== Zertifikat ===== */
.cert-umfasst{font-size:.82rem;color:var(--accent-deep);margin-top:.6rem;font-weight:500}
.cert-wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:1.5rem;margin-top:1.4rem;align-items:center}
@media(max-width:760px){.cert-wrap{grid-template-columns:1fr}}
.cert-img{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.cert-img img{width:100%;display:block}
.cert-img figcaption{font-size:.72rem;color:var(--muted);text-align:center;padding:.5rem}
.cert-tiers{display:flex;flex-direction:column;gap:.7rem}
.cert-tier{background:var(--champ);border:1px solid var(--accent-soft);border-radius:10px;padding:.8rem 1rem}
.cert-tier b{display:block;font-family:var(--display);font-size:1.05rem;color:var(--accent-deep)}
.cert-tier span{font-size:.85rem;color:var(--muted)}
.cert-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:1.6rem}
@media(max-width:680px){.cert-steps{grid-template-columns:repeat(2,1fr)}}
.cert-step{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:1rem}
.cert-step__n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-weight:600;font-size:.85rem;margin-bottom:.5rem}
.cert-step b{display:block;font-family:var(--display);font-size:1rem}
.cert-step p{font-size:.82rem;color:var(--muted);margin-top:.2rem}
.cert-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem}
@media(max-width:680px){.cert-benefits{grid-template-columns:1fr}}
.cert-benefit{border-left:2px solid var(--accent-soft);padding:.3rem 0 .3rem .8rem}
.cert-benefit b{display:block;font-size:.92rem}
.cert-benefit span{font-size:.82rem;color:var(--muted)}
.cert-note{font-size:.74rem;color:var(--muted);margin-top:1rem}
.lvl-head{font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep);font-weight:600;margin-top:1.7rem}
.cert-pillars{margin-top:1.4rem;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.3rem}
.cert-pillars h4{font-family:var(--display);font-size:1.05rem;margin:0 0 .6rem}
.cert-pillars ol{margin:0;padding-left:1.3rem;display:flex;flex-direction:column;gap:.4rem;font-size:.88rem;color:var(--muted)}
.cert-pillars ol li b{color:var(--ink)}
.cert-pillars__note{font-size:.74rem;color:var(--muted);margin:.8rem 0 0}
/* Hub-Variante (dunkler Abschnitt) */
.cert-hub{background:var(--ink-deep);color:var(--on-dark)}
.cert-hub .wrap{max-width:var(--maxw);margin:0 auto;padding:5.5rem 1.5rem}
.cert-hub .h-sec,.cert-hub .eyebrow{color:var(--on-dark)}
.cert-hub .eyebrow::before,.cert-hub .eyebrow.center::after{background:var(--accent-soft)}
.cert-hub .lead{color:var(--on-dark-mute)}
.cert-hub .cert-step,.cert-hub .cert-tier{background:oklch(0.93 0.01 70/.06);border-color:oklch(0.93 0.01 70/.14)}
.cert-hub .cert-step p,.cert-hub .cert-tier span,.cert-hub .cert-benefit span,.cert-hub .cert-note{color:var(--on-dark-mute)}
.cert-hub .cert-step b,.cert-hub .cert-tier b,.cert-hub .cert-benefit b{color:var(--accent-soft)}

/* ===== Nav-Menü (Home + Seminar-Unterseiten) ===== */
.navmenu{position:relative}
.navmenu__btn{display:inline-flex;align-items:center;gap:.45rem}
.navmenu__panel{position:absolute;top:calc(100% + .6rem);right:0;min-width:230px;max-width:calc(100vw - 2rem);
  display:none;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:.5rem;
  box-shadow:0 26px 60px -20px oklch(0.2 0.02 45/.55);z-index:95}
.navmenu.open .navmenu__panel{display:flex}
.navmenu__panel a{display:block;text-decoration:none;color:var(--ink);font-size:.9rem;font-weight:500;
  padding:.58rem .8rem;border-radius:8px;transition:background .2s,color .2s;white-space:nowrap}
.navmenu__panel a:hover{background:var(--champ);color:var(--accent-deep)}
.navmenu__home{font-weight:700;color:var(--accent-deep)}
.navmenu__sep{height:1px;background:var(--line);margin:.35rem .45rem}

/* ===== Lilly-Chat (FAB + Overlay) ===== */
.fab{position:fixed;right:1rem;bottom:5rem;z-index:65;display:inline-flex;align-items:center;gap:.55rem;padding:.8rem 1.2rem;border-radius:999px;border:none;cursor:pointer;font-weight:500;font-size:.85rem;color:oklch(0.99 0.005 70);background:linear-gradient(115deg,var(--accent-deep),var(--accent));box-shadow:0 16px 36px -12px oklch(0.66 0.075 52/.7)}
.fab i{width:7px;height:7px;border-radius:50%;background:var(--accent-soft);animation:pulse 2.6s infinite}@media(min-width:768px){.fab{bottom:1.4rem}}
#chat-overlay{position:fixed;inset:0;z-index:90;display:none;align-items:flex-end;justify-content:flex-end;background:oklch(0.165 0.012 40/.5);backdrop-filter:blur(5px)}
#chat-overlay.open{display:flex}
.chat-box{width:100%;max-width:410px;height:min(640px,86vh);margin:1rem;display:flex;flex-direction:column;background:var(--bg);border-radius:14px;overflow:hidden;box-shadow:0 30px 70px -20px oklch(0.16 0.02 40/.6);border:1px solid var(--line)}
@media(max-width:520px){.chat-box{margin:0;height:100svh;max-width:100%;border-radius:0}}
.chat-head{background:var(--ink-deep);color:var(--on-dark);padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between}
.chat-head img{width:38px;height:38px;border-radius:50%;object-fit:contain;background:oklch(0.93 0.01 70/.08);padding:3px}
.chat-head .nm{font-size:.92rem;font-weight:600}
.chat-head .st{font-size:.7rem;color:var(--accent-soft);display:flex;align-items:center;gap:.4rem;margin-top:.15rem}
.chat-head .st i{width:6px;height:6px;border-radius:50%;background:var(--accent-soft);animation:pulse 2.6s infinite}
.chat-head button{background:none;border:none;color:var(--on-dark);cursor:pointer;padding:.4rem;border-radius:50%}
.chat-head button:hover{background:oklch(0.93 0.01 70/.1)}.chat-head svg{width:1.15rem;height:1.15rem}
.chat-msgs{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem}
.bubble{max-width:82%;padding:.6rem .85rem;border-radius:14px;font-size:.9rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.bubble.bot{align-self:flex-start;background:var(--blush);color:var(--ink);border-bottom-left-radius:4px}
.bubble.user{align-self:flex-end;background:var(--champ);color:var(--ink);border-bottom-right-radius:4px}
.bubble a{color:var(--accent-deep);text-decoration:underline}
.chat-cta{display:flex;gap:.4rem;padding:.5rem .6rem;background:var(--champ)}
.chat-cta a{flex:1;text-align:center;font-size:.72rem;font-weight:600;padding:.5rem;border-radius:8px;text-decoration:none;white-space:normal;line-height:1.2}
.chat-foot{border-top:1px solid var(--line);padding:.6rem;display:flex;gap:.5rem;align-items:flex-end}
.chat-input{flex:1;resize:none;border:1px solid var(--line);border-radius:11px;padding:.6rem .8rem;font-size:.9rem;max-height:120px;outline:none;font-family:inherit;background:var(--bg);color:var(--ink)}
.chat-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px oklch(0.665 0.075 52/.16)}
.chat-send{background:linear-gradient(115deg,var(--accent-deep),var(--accent));border:none;border-radius:11px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;flex-shrink:0}
.chat-send svg{width:1.2rem;height:1.2rem}
.typing{display:inline-flex;gap:4px;padding:.5rem .85rem}
.typing span{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:blink 1.2s infinite both}
.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.3}40%{opacity:1}}
.hidden{display:none!important}
.btn-wa{background:#25d366;color:#fff}
