/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-2.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;
}
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-2.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;
}
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-2.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;
}
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-2.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;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-3.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-4.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;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-3.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-4.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;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-3.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-4.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;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-3.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/v7/font-4.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;
}


:root{
  --paper:#f6f5f1;
  --paper-2:#efeee8;
  --surface:#ffffff;
  --ink:#14171b;
  --ink-soft:#3c434b;
  --muted:#6c7178;
  --line:#e8e6df;
  --line-2:#f0efe9;
  --navy:#132a25;
  --green:#12874e;
  --green-2:#1a9a5a;
  --green-dark:#0f6e40;
  --green-tint:#e7f4ec;
  --green-ink:#0b5230;
  --accent:#f2b705;
  --red:#c9402f;
  --maxw:1180px;
  --font-head:"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --font-body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --r-lg:26px;
  --r-md:18px;
  --r-sm:12px;
  --s-1:0 1px 2px rgba(20,23,27,.05),0 2px 6px rgba(20,23,27,.05);
  --s-2:0 6px 18px rgba(20,23,27,.07),0 2px 6px rgba(20,23,27,.05);
  --s-3:0 24px 60px -18px rgba(20,23,27,.22),0 8px 24px -12px rgba(20,23,27,.12);
  --bar-h:0px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;font-family:var(--font-body);font-size:17px;line-height:1.62;
  color:var(--ink);background:var(--paper);overflow-x:hidden;
  -webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv01";
}
img{max-width:100%;height:auto;display:block}
a{color:var(--green-dark);text-decoration:none}
a:hover{color:var(--ink)}
h1,h2,h3{font-family:var(--font-head);color:var(--ink);line-height:1.05;letter-spacing:-.025em;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2.3rem,7.5vw,4rem);font-weight:800}
h2{font-size:clamp(1.7rem,4.2vw,2.6rem);margin-top:0}
h3{font-size:clamp(1.18rem,2.4vw,1.5rem);font-weight:700}
p{margin:0 0 1rem;text-wrap:pretty}
ul{margin:0 0 1rem}
hr{display:none}
::selection{background:var(--green);color:#fff}
:focus-visible{outline:3px solid var(--green-2);outline-offset:2px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.section{padding:clamp(48px,7vw,96px) 0}
.section--tight{padding:clamp(32px,4.5vw,56px) 0}
.section--soft{background:var(--paper-2)}

/* kicker */
.eyebrow{font-family:var(--font-body);font-weight:600;font-size:.82rem;letter-spacing:.02em;color:var(--green-dark);margin:0 0 1rem;display:inline-flex;align-items:center;gap:9px;background:var(--green-tint);padding:7px 14px;border-radius:999px}
.eyebrow::before{content:"";width:7px;height:7px;background:var(--green);border-radius:50%;display:inline-block}
.lede{font-size:1.08rem;color:var(--muted);max-width:62ch}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--font-head);font-weight:700;font-size:1.02rem;line-height:1.05;
  padding:16px 28px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;
  transition:transform .16s cubic-bezier(.2,.7,.3,1),box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
  text-align:center;text-decoration:none;letter-spacing:-.01em;
}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--call{background:var(--green);color:#fff;box-shadow:0 10px 24px -6px rgba(18,135,78,.5)}
.btn--call:hover{background:var(--green-dark);color:#fff;box-shadow:0 16px 30px -8px rgba(18,135,78,.55)}
.btn--ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--ink);color:var(--ink);background:var(--surface)}
.btn--navy{background:var(--navy);color:#fff}
.btn--navy:hover{background:#1c3a33;color:#fff}
.btn--wide{width:100%}
.btn svg{width:1.2em;height:1.2em;flex:0 0 auto}
.btn--whatsapp{background:#25d366;color:#0a3d1e}
.btn--whatsapp:hover{background:#1fbe5a;color:#08351a}
.btn--whatsapp svg{width:1.35em;height:1.35em}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(246,245,241,.82);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.header-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:78px}
.brand img{height:42px;width:auto}
.nav-desktop{display:flex;align-items:center;gap:34px}
.nav-desktop ul{display:flex;gap:30px;list-style:none;margin:0;padding:0}
.nav-desktop a{font-family:var(--font-body);font-weight:600;color:var(--ink-soft);font-size:.98rem}
.nav-desktop a:hover{color:var(--green-dark)}
.header-phone{display:inline-flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);padding:8px 16px 8px 8px;border-radius:999px;box-shadow:var(--s-1)}
.header-phone .hp-icon{width:40px;height:40px;border-radius:50%;background:var(--green);display:grid;place-items:center;flex:0 0 auto}
.header-phone .hp-icon svg{width:19px;height:19px;color:#fff}
.header-phone .hp-text small{display:block;font-family:var(--font-body);font-size:.68rem;letter-spacing:.02em;color:var(--muted);line-height:1.3;font-weight:600}
.header-phone .hp-text strong{font-family:var(--font-head);font-size:1.14rem;color:var(--ink);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.header-phone:hover{text-decoration:none;color:var(--ink)}
.burger{display:none}
.mobile-menu{display:none}
.mobnav__checkbox{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none}

/* ---------- Hero ---------- */
.hero{background:radial-gradient(120% 90% at 88% -10%,var(--green-tint) 0%,rgba(231,244,236,0) 55%),var(--paper);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:clamp(40px,6vw,88px) 0}
.hero-slogan{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-body);font-weight:700;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);background:none;padding:0;border-radius:0;margin-bottom:22px}
.hero-slogan .dot{position:relative;width:9px;height:9px;border-radius:50%;background:var(--green);flex:0 0 auto}
.hero-slogan .dot::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--green);animation:livedot 2.2s ease-out infinite}
.hero-slogan .div{width:1.5px;height:12px;background:rgba(20,23,27,.18);flex:0 0 auto}
.hero-slogan .lo{color:var(--muted);font-weight:600}
@keyframes livedot{0%{transform:scale(.7);opacity:.9}70%{transform:scale(1.9);opacity:0}100%{transform:scale(1.9);opacity:0}}
.hero h1{margin-bottom:.28em}
.hero h1 em{font-style:normal;color:var(--green-dark)}
.hero .headerH2{font-family:var(--font-body);font-size:clamp(1.12rem,2vw,1.32rem);font-weight:600;color:var(--ink-soft);margin:0 0 .8rem}
.priceNotice{color:var(--muted);font-size:1.04rem;max-width:52ch;margin-bottom:24px}
.hero-rating{display:inline-flex;align-items:flex-start;gap:10px;margin-bottom:26px;font-size:.94rem;color:var(--ink-soft);line-height:1.4}
.hero-rating .stars{color:var(--accent);letter-spacing:1px;font-size:1.05rem;flex:0 0 auto;line-height:1.4}
.hero-rating b{color:var(--ink);font-weight:700}
.trust-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 30px}
.tb{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;box-shadow:var(--s-1);display:flex;align-items:center;gap:13px}
.tb-ico{width:44px;height:44px;flex:0 0 auto;border-radius:12px;background:var(--green-tint);color:var(--green-dark);display:grid;place-items:center}
.tb-ico svg{width:23px;height:23px}
.tb-txt{min-width:0;display:flex;flex-direction:column;justify-content:center}
.tb-txt b{display:block;font-family:var(--font-head);font-size:1.42rem;color:var(--ink);font-weight:800;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tb-txt > span{font-size:.8rem;color:var(--muted);font-weight:600;margin-top:4px;display:block;line-height:1.25}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.hero-cta .btn--call{font-size:1.14rem;padding:18px 32px}
.hero-subnote{font-size:.9rem;color:var(--muted);display:flex;align-items:flex-start;gap:8px}
.hero-subnote svg{width:16px;height:16px;color:var(--green);flex:0 0 auto;margin-top:3px}

/* hero image + floating badge */
.hero-card{position:relative}
.seal{position:absolute;top:16px;left:-16px;z-index:4;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:11px 18px 11px 12px;display:flex;align-items:center;gap:12px;box-shadow:var(--s-3)}
.seal-badge{width:44px;height:44px;border-radius:12px;background:var(--green-tint);color:var(--green-dark);display:grid;place-items:center;flex:0 0 auto}
.seal-badge svg{width:24px;height:24px}
.seal .st{display:block;font-family:var(--font-body);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
.seal .sp{display:block;font-family:var(--font-head);font-size:1.3rem;font-weight:800;color:var(--ink);line-height:1.1;letter-spacing:-.02em}
.hero-card .photo{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--s-3);background:var(--surface)}
.hero-card .photo img{width:100%;height:auto;display:block}
.hero-plate{background:var(--navy);color:#fff;border-radius:var(--r-md);padding:18px 22px;margin-top:20px;box-shadow:var(--s-2)}
.hero-plate .hp-strong{font-family:var(--font-head);font-weight:700;font-size:1.04rem;color:#fff;margin-bottom:8px}
.hero-plate a{color:#7fe0a6;font-weight:700;font-variant-numeric:tabular-nums}
.hero-plate a:hover{color:#fff}
.hero-plate .lines{font-size:.96rem;color:#b7c6bf;line-height:1.9}
.hero-badges{display:flex;gap:12px;margin-top:12px}
.hero-badges .hb{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:15px 16px;box-shadow:var(--s-1)}
.hero-badges .hb b{display:block;font-family:var(--font-head);font-size:1.75rem;color:var(--green-dark);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.hero-badges .hb span{font-size:.76rem;color:var(--muted);font-weight:600;display:block;margin-top:5px}

/* ---------- content ---------- */
.prose p{color:var(--ink-soft)}
.prose ul{padding-left:1.2em;color:var(--ink-soft)}
.prose li{margin-bottom:.4em}

/* advantages: soft cards */
.adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.adv{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:28px 26px;box-shadow:var(--s-1);transition:transform .18s ease,box-shadow .18s ease}
.adv:hover{transform:translateY(-4px);box-shadow:var(--s-2)}
.adv .ico{width:52px;height:52px;border-radius:14px;background:var(--green-tint);color:var(--green-dark);display:grid;place-items:center;margin-bottom:18px}
.adv .ico svg{width:26px;height:26px}
.adv h3{font-size:1.14rem;margin:0 0 .35em}
.adv p{margin:0;color:var(--muted);font-size:.96rem}

/* near / whatsapp */
.near-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(26px,3.4vw,42px);box-shadow:var(--s-2)}
.near-card h2{display:flex;align-items:flex-start;gap:14px}
.near-card h2 img,.near-card h2 svg{width:30px;height:30px;flex:0 0 auto;margin-top:6px}
.messengerWrapper{margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-top:24px;border-top:1px solid var(--line)}
.messengerTitle{margin:0;color:var(--muted);font-size:.98rem;flex:1 1 240px}

/* ---------- Online order form ---------- */
.t24-order{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(28px,3.6vw,48px);box-shadow:var(--s-2);max-width:800px;margin:0 auto}
.t24-order__title{margin-bottom:.3em}
.t24-order__subtitle{color:var(--muted);margin-bottom:24px;font-size:1rem}
.t24-order__toggle{width:100%;font-size:1.08rem}
.t24-order__form{margin-top:28px}
.t24-order__form--hidden{display:none}
.t24-order__field{margin-bottom:18px}
.t24-order__field label{display:block;font-family:var(--font-body);font-weight:600;font-size:.9rem;color:var(--ink);margin-bottom:8px}
.t24-order__field input,.t24-order__field select,.t24-order__field textarea{
  width:100%;font-family:var(--font-body);font-size:1.02rem;color:var(--ink);
  padding:15px 16px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--paper);
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.t24-order__field input:focus,.t24-order__field select:focus,.t24-order__field textarea:focus{outline:none;border-color:var(--green);background:var(--surface);box-shadow:0 0 0 4px rgba(18,135,78,.14)}
.t24-order__field textarea{resize:vertical;min-height:88px}
.t24-order__field--inline{display:grid;grid-template-columns:1fr 1.4fr;gap:14px}
.t24-order__field--inline .t24-order__col{margin:0}
.t24-order__error{color:var(--red);font-size:.85rem;margin-top:6px}
.t24-order__field--check{display:block}
.t24-order__checkbox-label{display:flex;align-items:flex-start;gap:11px;font-family:var(--font-body);font-size:.95rem;color:var(--muted);font-weight:400}
.t24-order__checkbox-label input{width:auto;flex:0 0 auto;margin-top:3px;width:18px;height:18px;accent-color:var(--green)}
.t24-order__submit{width:100%;font-size:1.1rem;margin-top:6px}
.t24-order__form p{font-size:.86rem;color:var(--muted);text-align:center;margin:1rem 0 0}
.t24-order__status{margin-top:16px;font-weight:600;text-align:center}
.t24-order__status.is-ok{color:var(--green-dark)}
.t24-order__status.is-err{color:var(--red)}
.t24-order__hint{margin:22px 0 0;font-size:.92rem;color:var(--green-ink);background:var(--green-tint);border-radius:var(--r-sm);padding:14px 18px;display:flex;align-items:flex-start;gap:11px}
.t24-order__hint svg{width:19px;height:19px;flex:0 0 auto;color:var(--green-dark);margin-top:2px}

/* ---------- Prices ---------- */
.t24-prices__note{color:var(--muted);max-width:70ch;margin-bottom:30px}
.t24-prices__list{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.t24-prices__item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:26px;box-shadow:var(--s-1);position:relative;display:flex;flex-direction:column}
.t24-prices__item:first-child{border:1.5px solid var(--green);box-shadow:0 14px 34px -14px rgba(18,135,78,.4)}
.t24-prices__item:first-child::after{content:"Beliebt";position:absolute;top:-11px;right:20px;background:var(--green);color:#fff;font-family:var(--font-body);font-weight:700;font-size:.72rem;letter-spacing:.02em;padding:5px 13px;border-radius:999px}
.t24-prices__case{font-family:var(--font-head);font-weight:700;color:var(--ink);font-size:1.1rem;letter-spacing:-.01em;margin-bottom:10px;padding-right:8px}
.t24-prices__price{font-family:var(--font-head);font-weight:800;font-size:1.75rem;color:var(--green-dark);margin-bottom:12px;line-height:1;font-variant-numeric:tabular-nums}
.t24-prices__desc{margin:0;color:var(--muted);font-size:.95rem}
.t24-prices__footnote{font-size:.94rem;line-height:1.7;color:var(--ink-soft);background:var(--paper-2);border-radius:var(--r-sm);padding:16px 20px;margin:0}

/* insurance banner */
.schutzLabel{display:flex;align-items:center;gap:24px;flex-wrap:wrap;background:var(--navy);color:#fff;border-radius:var(--r-lg);padding:32px 36px;box-shadow:var(--s-2)}
.schutzLabel__icon img{width:58px;height:auto;filter:brightness(0) invert(1)}
.schutzLabel__title{font-family:var(--font-head);font-weight:700;font-size:1.32rem;color:#fff}
.schutzLabel__subtitle{color:#a9bcb3;flex:1 1 auto}
.schutzLabel__link .btn{background:#fff;color:var(--navy)}
.schutzLabel__link .btn:hover{background:var(--green-tint);color:var(--navy)}

/* ---------- FAQ ---------- */
.faq h2{margin-bottom:26px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:12px;overflow:hidden;transition:box-shadow .18s ease,border-color .18s ease}
.faq details[open]{box-shadow:var(--s-2);border-color:transparent}
.faq summary{list-style:none;cursor:pointer;font-family:var(--font-head);font-weight:700;color:var(--ink);font-size:1.08rem;letter-spacing:-.01em;padding:20px 58px 20px 24px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:22px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--green-tint);transition:background .18s ease}
.faq summary::before{content:"";position:absolute;right:29px;top:50%;width:12px;height:12px;transform:translateY(-50%);z-index:1;background:var(--green-dark);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'><path d='M12 5v14M5 12h14'/></svg>") center/contain no-repeat;transition:transform .22s ease}
.faq details[open] summary::before{-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'><path d='M5 12h14'/></svg>") center/contain no-repeat}
.faq details[open] summary::after{background:var(--green);}
.faq details[open] summary::before{background:#fff}
.faq summary:hover{color:var(--green-dark)}
.faq details > div{padding:0 24px 22px}
.faq details p{margin:0;color:var(--ink-soft)}

/* ---------- Notfälle ---------- */
.notfalle{background:var(--navy);color:#c3d2cb;border-radius:var(--r-lg);padding:clamp(30px,4vw,48px);box-shadow:var(--s-2)}
.notfalle h2{color:#fff}
.notfalle > p{color:#a9bcb3;max-width:66ch}
.notfalle ul{list-style:none;padding:0;margin:26px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.notfalle li{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);padding:15px 18px;font-weight:600;color:#e9f1ed;display:flex;align-items:center;gap:10px}
.notfalle li::before{content:"";width:20px;height:20px;flex:0 0 auto;background:#5fd18e;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") center/contain no-repeat}
.notfalle .a-c{font-family:var(--font-head);font-weight:700;font-size:1.2rem;color:#fff;margin:0}

/* ---------- 24h beratung CTA ---------- */
.beratung{text-align:center}
.beratung .headline{font-family:var(--font-head);font-weight:800;font-size:clamp(1.6rem,3.4vw,2.4rem);color:var(--ink);margin-bottom:16px;letter-spacing:-.02em}
.beratung p{max-width:62ch;margin:0 auto 26px;color:var(--muted)}
.beratung .phoneInlineBtn{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--green);margin-bottom:18px;box-shadow:0 12px 26px -8px rgba(18,135,78,.55)}
.beratung .phoneInlineBtn img,.beratung .phoneInlineBtn svg{width:28px;height:28px}
.beratung .bigText a{font-family:var(--font-head);font-weight:800;font-size:clamp(2rem,5vw,3rem);color:var(--ink);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.beratung .bigText a:hover{color:var(--green-dark);text-decoration:none}

/* ---------- Districts (modern pills) ---------- */
.districts p.a-c{font-family:var(--font-body);font-weight:600;color:var(--ink);font-size:1.02rem;margin-bottom:24px;text-align:center}
.districts .columns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:960px;margin:0 auto}
.districts ul{display:contents;list-style:none;padding:0;margin:0}
.districts li{margin:0}
.districts li a{display:inline-flex;gap:.35em;align-items:center;padding:11px 18px;border:1px solid var(--line);background:var(--surface);border-radius:999px;color:var(--ink-soft);font-size:.95rem;box-shadow:var(--s-1);transition:all .16s ease}
.districts li a:hover{background:var(--green);border-color:var(--green);color:#fff;text-decoration:none;transform:translateY(-2px)}
.districts li a .strong{font-weight:700;font-family:var(--font-head)}
.nachbar{margin-top:26px;text-align:center}

/* ---------- long SEO ---------- */
.seo-text{max-width:760px;margin:0 auto}
.seo-text p,.seo-text li{color:var(--ink-soft)}
.seo-text ul{padding-left:1.2em}
.seo-text li{margin-bottom:.45em}
.seo-text .img{margin:30px 0}
.seo-text .subHeroImage{border-radius:var(--r-lg);box-shadow:var(--s-2);width:100%;height:auto}
.seo-text h3{margin-top:1.7em}

/* ---------- map + standort ---------- */
.standort{text-align:center}
.standort .addr{color:var(--muted)}
.iframeWrapper{margin:26px auto 0;max-width:920px;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--s-2);border:1px solid var(--line)}
.iframeWrapper iframe{display:block;width:100%;height:420px;border:0}
.einsatzorte{margin-top:18px}

/* ---------- Footer ---------- */
.promoFooter{background:var(--paper-2);border-top:1px solid var(--line)}
.promoFooter .inner{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;padding:34px 0}
.promo__header{font-family:var(--font-body);font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.promoFooter .promo__phone{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:800;font-size:1.45rem;color:var(--ink);font-variant-numeric:tabular-nums}
.promoFooter .promo__phone:hover{color:var(--green-dark);text-decoration:none}
.promoFooter .promo__phone img,.promoFooter .promo__phone svg{width:24px;height:24px}
.reviewBox{display:block;text-align:center;font-size:.92rem;color:var(--muted)}
.reviewBox .rev-stars{color:var(--accent);font-size:1.2rem;letter-spacing:2px;display:block}
.reviewBox b{color:var(--ink);font-weight:800}
.footer-mail{text-align:right}
.footer-mail a{font-weight:600}
.impressumWrapper{text-align:center;padding-top:24px}

.site-footer{background:var(--navy);color:#93a89f;padding:40px 0 calc(46px + var(--bar-h))}
.site-footer a{color:#c2d0c9}
.site-footer a:hover{color:#fff;text-decoration:underline}
.j-meta-links{text-align:center;line-height:2.2;font-size:.94rem}
.j-meta-links .separator{color:#3c5249;padding:0 4px}
.copyright{margin-top:20px;color:#6d837a;font-size:.84rem}


/* ---------- Floating owner-video teaser ---------- */
.VidTeaser{position:fixed;left:max(20px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom));z-index:85;width:120px;aspect-ratio:9/16;border-radius:18px;overflow:hidden;cursor:pointer;background:var(--navy);border:2.5px solid var(--surface);box-shadow:var(--s-3);transition:transform .18s ease,box-shadow .18s ease}
.VidTeaser:hover{transform:translateY(-3px) scale(1.02)}
.VidTeaser:focus-visible{outline:3px solid var(--green-2);outline-offset:3px}
.VidTeaser__vid{width:100%;height:100%;object-fit:cover;display:block}
.VidTeaser__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.94);color:var(--green-dark);display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.3);pointer-events:none}
.VidTeaser__play svg{width:18px;height:18px;margin-left:2px}
.VidTeaser__tag{position:absolute;left:0;right:0;bottom:0;padding:16px 8px 7px;font-family:var(--font-head);font-weight:700;font-size:.72rem;color:#fff;text-align:center;letter-spacing:.01em;background:linear-gradient(transparent,rgba(11,20,17,.82));pointer-events:none}
.VidTeaser__tag::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#ff4d4d;margin-right:6px;vertical-align:middle;box-shadow:0 0 0 3px rgba(255,77,77,.3)}
.VidTeaser__hide{position:absolute;top:5px;right:5px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(11,20,17,.55);color:#fff;display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .16s ease;padding:0}
.VidTeaser:hover .VidTeaser__hide,.VidTeaser:focus-within .VidTeaser__hide{opacity:1}
.VidTeaser__hide svg{width:13px;height:13px}
.VidTeaser.is-hidden{display:none}

.VidOverlay{position:fixed;inset:0;z-index:120;background:rgba(11,20,17,.82);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}
.VidOverlay.is-open{opacity:1;visibility:visible}
.VidModal{position:relative;width:min(420px,92vw);max-height:88vh;border-radius:20px;overflow:hidden;box-shadow:var(--s-3);background:#000;transform:translateY(12px) scale(.98);transition:transform .26s cubic-bezier(.2,.7,.3,1)}
.VidOverlay.is-open .VidModal{transform:none}
.VidModal video{display:block;width:100%;max-height:88vh;background:#000}
.VidClose{position:absolute;top:12px;right:12px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.VidClose:hover{background:#fff}
.VidClose svg{width:18px;height:18px}

/* ---------- Floating call button (desktop) ---------- */
.callBtn{
  position:fixed;z-index:90;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));
  display:inline-flex;align-items:center;gap:10px;background:var(--green);color:#fff;
  font-family:var(--font-head);font-weight:700;font-size:1rem;padding:16px 24px;border-radius:999px;
  box-shadow:0 16px 34px -10px rgba(18,135,78,.6);text-decoration:none;animation:callpulse 2.8s ease-out infinite;
}
.callBtn::before{content:"";width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.2 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.5.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C11.3 21 3 12.7 3 2.9c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.5.1.4 0 .8-.2 1L6.6 10.8z'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.2 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.5.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C11.3 21 3 12.7 3 2.9c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.5.1.4 0 .8-.2 1L6.6 10.8z'/></svg>") center/contain no-repeat;flex:0 0 auto}
.callBtn:hover{background:var(--green-dark);color:#fff;text-decoration:none}
@keyframes callpulse{0%{box-shadow:0 16px 34px -10px rgba(18,135,78,.6),0 0 0 0 rgba(18,135,78,.45)}70%{box-shadow:0 16px 34px -10px rgba(18,135,78,.6),0 0 0 18px rgba(18,135,78,0)}100%{box-shadow:0 16px 34px -10px rgba(18,135,78,.6),0 0 0 0 rgba(18,135,78,0)}}
@media (prefers-reduced-motion:reduce){.callBtn{animation:none}}

/* ---------- Mobile bottom action bar ---------- */
.mobar{display:none}

/* scroll top */
.scrolltop{position:fixed;left:20px;bottom:24px;z-index:80;width:46px;height:46px;border-radius:50%;background:var(--surface);border:1px solid var(--line);box-shadow:var(--s-2);display:none;place-items:center;color:var(--ink)}
.scrolltop.show{display:grid}
.scrolltop svg{width:20px;height:20px}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero-card{max-width:560px}
  .adv-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .nav-desktop ul,.header-phone .hp-text{display:none}
  .nav-desktop{gap:14px}
  .burger{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--line);border-radius:14px;background:var(--surface);cursor:pointer;color:var(--ink);box-shadow:var(--s-1)}
  .burger svg{width:24px;height:24px}
  .header-phone{gap:0;padding:0;border:0;background:transparent;box-shadow:none}
  .header-phone .hp-icon{width:48px;height:48px}
  .mobile-menu{display:block;position:fixed;inset:78px 0 auto 0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--s-2);transform:translateY(-130%);transition:transform .3s cubic-bezier(.2,.7,.3,1);z-index:55}
  .mobnav__checkbox:checked ~ .site-header .mobile-menu,.mobnav__checkbox:checked + .site-header .mobile-menu{transform:translateY(0)}
  .mobile-menu ul{list-style:none;margin:0;padding:10px 24px 20px}
  .mobile-menu li a{display:block;padding:15px 4px;font-family:var(--font-head);font-weight:700;font-size:1.14rem;color:var(--ink);border-bottom:1px solid var(--line)}
  .mobile-menu li a.btn{margin-top:14px;border-bottom:0}
  .mobile-menu li a.btn--call{color:#fff}
}
@media (max-width:680px){
  body{font-size:16px}
  .section{padding:clamp(40px,9vw,60px) 0}
  .header-bar{height:66px}
  .brand img{height:34px}
  .header-phone{display:none}
  .mobile-menu{inset:66px 0 auto 0}
  /* ---- Dense mobile hero: flatten columns + reorder ---- */
  .hero-grid{display:flex;flex-direction:column;gap:14px}
  .hero .hero-grid{padding-top:26px;padding-bottom:26px}
  .hero-col,.hero-col2{display:contents}
  .hero-slogan{order:1;font-size:.68rem;letter-spacing:.06em;gap:8px;margin-bottom:2px;flex-wrap:nowrap;white-space:nowrap}
  .hero-slogan .div{height:10px}
  .hero h1{order:2;font-size:clamp(1.95rem,8.4vw,2.5rem);margin-bottom:0}
  .hero .headerH2{order:3;font-size:1.06rem;margin:0}
  .hero-card{order:4;margin:0;max-width:none}
  .hero-rating{order:5;margin:0;font-size:.9rem}
  .trust-badges{order:6;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}
  .priceNotice{order:7;font-size:.95rem;margin:0;max-width:none}
  .hero-subnote{order:8;margin:0}
  /* image visible immediately, compact */
  .hero-card .photo{border-radius:16px}
  .hero-card .photo img{aspect-ratio:16/10;object-fit:cover}
  .hero-plate{display:none}
  .hero-badges{margin-top:10px;gap:8px}
  .hero-badges .hb{padding:11px 13px}
  .hero-badges .hb b{font-size:1.4rem}
  /* compact stat chips (icon over text) */
  .tb{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 12px;border-radius:14px}
  .tb-ico{width:34px;height:34px;border-radius:10px}
  .tb-ico svg{width:19px;height:19px}
  .tb-txt b{font-size:1.06rem}
  .tb-txt > span{font-size:.68rem;margin-top:2px}
  .adv-grid{grid-template-columns:1fr}
  .t24-prices__list{grid-template-columns:1fr}
  .t24-order__field--inline{grid-template-columns:1fr}
  .notfalle ul{grid-template-columns:1fr}
  .schutzLabel{flex-direction:column;text-align:center;align-items:center}
  .schutzLabel__subtitle{flex:0 0 auto}
  .promoFooter .inner{grid-template-columns:1fr;text-align:center;gap:22px}
  .footer-mail{text-align:center}
  .hero-cta{display:none}
  .seal{display:none}
  .callBtn{display:none}
  /* mobile sticky action bar */
  :root{--bar-h:76px}
  .mobar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:95;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:rgba(246,245,241,.92);backdrop-filter:blur(14px);border-top:1px solid var(--line)}
  .mobar a{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-head);font-weight:700;font-size:1.04rem;padding:15px 16px;border-radius:14px;text-decoration:none}
  .mobar .mobar-call{background:var(--green);color:#fff;box-shadow:0 8px 20px -8px rgba(18,135,78,.6)}
  .mobar .mobar-wa{background:#25d366;color:#08351a}
  .mobar svg{width:20px;height:20px;flex:0 0 auto}
  .scrolltop{bottom:calc(24px + var(--bar-h))}
  .VidTeaser{display:none}
  .scrolltop{right:16px;left:auto}
}
@media (max-width:400px){
  .wrap{padding:0 16px}
  .hero-slogan{font-size:.63rem;letter-spacing:.04em}
  .trust-badges{gap:7px}
  .tb{padding:11px 9px}
  .tb-txt b{font-size:.98rem}
  .tb-txt > span{font-size:.64rem}
}

/* Approval-only behaviour; all visual design rules remain in design.css. */
[hidden] { display: none !important; }
[data-preview-fields] { display: contents; border: 0; padding: 0; margin: 0; min-width: 0; }
button.burger { padding: 0; color: inherit; cursor: pointer; }
.preview-map { min-height: 320px; display: grid; place-content: center; gap: 12px; padding: 24px; text-align: center; background: var(--green-tint); color: var(--navy); }
.preview-toast { position: fixed; z-index: 3000; left: 50%; bottom: 90px; transform: translateX(-50%); width: min(90vw, 560px); padding: 16px 20px; border-radius: 14px; background: var(--navy); color: white; box-shadow: 0 6px 24px #0003; }
[aria-invalid="true"] { outline: 2px solid var(--red, #b42318); outline-offset: 2px; }

/* Responsive refinements for the isolated Augsburg design. */
body { overflow-x: visible; }
html { scroll-padding-top: 96px; scroll-padding-bottom: 24px; }
.hero-col, .hero-card, .tb, .t24-order__col { min-width: 0; }
.hero-plate a { white-space: nowrap; }
.scrolltop { left: auto; right: 24px; bottom: 104px; }

/* Keep the reference desktop composition where its full width is available. */
@media (max-width: 1479px) {
	.VidTeaser { display: none; }
}
@media (max-width: 1239px) {
	.hero .hero-grid {
		padding-inline: 24px;
		grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
		gap: 32px;
	}
	.hero h1 { font-size: clamp(2.5rem, 4.5vw, 3.5rem); }
	.tb { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; }
	.tb-txt b { font-size: 1.18rem; }
	.seal { left: 12px; padding: 10px 12px; gap: 10px; }
	.seal .sp { font-size: 1.1rem; }
	.hero-plate { padding: 16px 18px; }
	.promoFooter .inner { grid-template-columns: 1fr 1fr; }
	.footer-mail { grid-column: 1 / -1; text-align: center; }
}
@media (max-width: 980px) {
	.callBtn { display: none; }
	.scrolltop { bottom: 24px; }
}
@media (min-width: 681px) and (max-width: 980px) {
	.hero .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-block: 40px; }
	.hero h1 { font-size: clamp(2.5rem, 6.5vw, 3.3rem); max-width: 22ch; }
	.hero-slogan { margin-bottom: 18px; }
	.hero-rating { margin-bottom: 20px; }
	.trust-badges { margin-bottom: 24px; }
	.tb { flex-direction: row; align-items: center; }
	.tb-ico { width: 38px; height: 38px; }
	.hero-card { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 16px 24px; max-width: none; }
	.hero-card .photo { grid-column: 1; grid-row: 1 / 3; align-self: stretch; }
	.hero-card picture { display: block; height: 100%; }
	.hero-card .photo img { height: 100%; object-fit: cover; }
	.hero-plate { grid-column: 2; grid-row: 1; margin: 0; }
	.hero-badges { grid-column: 2; grid-row: 2; margin: 0; gap: 8px; }
	.hero-badges .hb { padding: 14px 12px; }
	.hero-badges .hb b { font-size: 1.5rem; }
}
@media (max-width: 860px) {
	.mobile-menu { max-height: calc(100dvh - 78px); overflow-y: auto; overscroll-behavior: contain; }
}
@media (max-width: 680px) {
	:root { --bar-h: calc(82px + env(safe-area-inset-bottom, 0px)); }
	html { scroll-padding-top: 82px; scroll-padding-bottom: calc(var(--bar-h) + 20px); }
	.hero .hero-grid { padding: 24px 20px 32px; gap: 16px; }
	.hero-slogan { align-self: flex-start; white-space: normal; flex-wrap: wrap; row-gap: 6px; line-height: 1.5; }
	.hero h1 { font-size: clamp(1.9rem, 8.4vw, 2.5rem); }
	.hero .headerH2 { line-height: 1.3; }
	.hero-card { width: 100%; }
	.hero-card .photo img { aspect-ratio: 16 / 9; }
	.hero-rating { align-self: flex-start; }
	.trust-badges { width: 100%; }
	.tb { gap: 8px; padding: 12px 10px; }
	.tb-txt b { font-size: clamp(.86rem, 3.8vw, 1.06rem); }
	.tb-txt > span { font-size: .72rem; line-height: 1.35; }
	.hero-subnote { line-height: 1.5; }
	.t24-order { padding: 24px 20px; }
	.t24-order__toggle, .t24-order__submit { padding-inline: 18px; line-height: 1.3; }
	.t24-order__field input, .t24-order__field select, .t24-order__field textarea { min-width: 0; }
	.t24-order__field label.t24-order__checkbox-label { display: flex; align-items: flex-start; min-height: 44px; font-size: .9rem; }
	.near-card, .adv, .t24-prices__item { padding: 24px 20px; }
	.near-card h2 { gap: 10px; }
	.messengerWrapper .btn { width: 100%; }
	.faq summary { min-height: 48px; }
	.promoFooter .inner { grid-template-columns: minmax(0, 1fr); padding-block: 28px; }
	.footer-mail { grid-column: auto; }
	.footer-mail a, .site-footer a { overflow-wrap: anywhere; }
	.mobar { padding-left: max(14px, env(safe-area-inset-left)); padding-right: max(14px, env(safe-area-inset-right)); }
	.mobar a { min-height: 54px; padding: 12px 10px; }
	.scrolltop { right: 16px; bottom: calc(var(--bar-h) + 16px); }
	.preview-toast { bottom: calc(var(--bar-h) + 16px); }
}
@media (max-width: 400px) {
	.hero .hero-grid { padding-inline: 16px; }
	.hero-slogan { font-size: .63rem; letter-spacing: .04em; }
	.tb { padding-inline: 9px; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.hero-slogan .dot::after { animation: none; }
}
