:root {
  --blue: #0655d9;
  --navy: #06244d;
  --green: #1ca83a;
  --ink: #071a3a;
  --muted: #5b6b83;
  --line: #dfe7f0;
  --soft: #f3f8f5;
  --white: #fff;
  --shadow: 0 14px 36px rgba(6, 36, 77, .12);
  --radius: 8px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; color: var(--ink); background: #fff; line-height: 1.55; }
img { display: block; max-width: 100%; height: fit-content; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.container { width: min(100% - 40px, 1180px); margin: 0 auto; }
.narrow { max-width: 780px; }
.skip-link { position: absolute; left: 12px; top: -80px; z-index: 20; background: var(--blue); color: #fff; padding: 10px 14px; border-radius: var(--radius); }
.skip-link:focus { top: 12px; }
.site-header { position: sticky; top: 0; z-index: 10; background: #ffffff; backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.nav-shell { height: 108px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 20px; }
.brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.brand img { width:fit-content; height: 96px; object-fit: contain; flex: 0 0 auto; }
.brand span { min-width: 0; }
.brand strong { display: block; font-size: 1 rem; color: var(--navy); line-height: 1; }
.brand small { display: block; color: var(--muted); font-size: .78rem; }
.desktop-nav { display: flex; align-items: center; justify-content: center; gap: clamp(14px, 2vw, 26px); min-width: 0; font-weight: 700; font-size: .96rem; }
.desktop-nav a { position: relative; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; bottom: -8px; width: 0; height: 3px; background: var(--green); transition: width .25s ease; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { width: 100%; }
.nav-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 0; }
.language-switch { display: inline-flex; align-items: center; gap: 6px; padding: 4px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 8px 22px rgba(6, 36, 77, .06); }
.lang-btn, .whatsapp-btn, .call-btn, .menu-btn, .primary-btn, .secondary-btn { border-radius: var(--radius); border: 1px solid var(--line); min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 18px; font-weight: 800; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.lang-btn { min-height: 38px; padding: 8px 12px; background: #fff; color: var(--navy); }
.lang-btn.is-active { background: #f2f7ff; border-color: #c6d8ff; color: var(--blue); }
.whatsapp-btn, .call-btn,.primary-btn { background: #06a332; color: #fff; border-color: var(--green); box-shadow: 0 10px 24px rgba(6, 163, 50, 0.22); }
.secondary-btn { background: #fff; color: var(--blue); border-color: var(--blue); }
.whatsapp-btn {display: inline-flex;}
.call-btn {display: none;}
.lang-btn:hover, .call-btn:hover, .menu-btn:hover, .primary-btn:hover, .anruf-btn:hover, .secondary-btn:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.menu-btn { background: #fff; color: var(--navy); display: none; flex-direction: column; gap: 1px; min-width: 48px; min-height: 48px; padding: 7px 9px; font-size: .78rem; line-height: 1.05; }
.menu-btn .iconify { width: 28px; height: 28px; color: var(--navy); }
.mobile-menu { display: none; border-top: 1px solid var(--line); padding: 12px 20px 18px; background: #fff; }
.mobile-menu a { display: block; padding: 13px 0; font-weight: 800; border-bottom: 1px solid var(--line); }
.mobile-menu.open { display: block; }
.section { padding: 74px 0; }
.hero { position: relative; padding: 150px 0 130px; overflow: hidden; background: url("assets/hero-cleaning.jpeg") right center / auto 70% no-repeat; margin-top:-90px }
.hero-grid { display: block; }
.about-grid, .contact-grid { display: flex; flex-direction: column; gap: 48px; align-items: center; }
.eyebrow { color: #001eff; font-weight: 900; margin: 0 0 10px; }
h1, h2, h3, p { overflow-wrap: anywhere; }
h1 { margin: 0; font-size: clamp(2.25rem, 4.6vw, 4.15rem); line-height: 1.08; color: #062b5e; letter-spacing: 0; }
h1 span{
  color: #09b732;
}
h2 { margin: 0; font-size: clamp(1.6rem, 3vw, 3rem); line-height: 1.12; color: #062b5e; letter-spacing: 0; }
h2 span{
  color: #0655d9;
}
h3 { margin: 0 0 8px; color: #044193; }
h1 span {color:#09b732;}
.hero-copy { max-width: 560px; }
.hero-copy > p:not(.eyebrow), .section-heading p, .about-copy > p, .contact-info > p, .page-hero p { color: var(--muted); font-size: 1.04rem; max-width: 650px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 28px 0; }
.primary-btn, .secondary-btn { min-width: 210px; min-height: 58px; font-size: 1rem; }
.primary-btn .iconify, .secondary-btn .iconify, .anruf-btn .iconify { width: 26px; height: 26px; flex: 0 0 auto; }
.hero-media { display: none; }
.hero + section { padding: 0 20px; }
.trust-row { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; max-width: 1120px; margin: -74px auto 0; background: #dbeadc; border: 1px solid #cde4cf; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.trust-row div { display: grid; grid-template-columns: auto 1fr; column-gap: 16px; row-gap: 4px; align-items: center; background: #a7eba7; padding: 24px 32px; }
.trust-row b, .trust-row span { display: block; }
.trust-row b { color: var(--navy); }
.trust-row span { color: var(--muted); font-size: .92rem; }
.trust-row .trust-icon { grid-row: span 2; width: 42px; height: 42px; color: var(--green); }
.hero-media img, .about-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); box-shadow: var(--shadow); }
.section-heading { text-align: center; max-width: 760px; margin: 0 auto 34px; }
.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.service-card { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: #c5c5c8; box-shadow: 0 10px 24px rgba(6, 36, 77, .08); transition: transform .25s ease, box-shadow .25s ease; }
.service-card .icon{ position: absolute;}
.service-card h3 { margin-top: 25px;}
.service-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.service-card img { width: 100%; height: 190px; object-fit: cover; }
.service-card div { padding: 22px; }
.icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; color: #fff; font-weight: 900; margin-top: -52px; margin-bottom: 16px; border: 4px solid #fff; box-shadow: var(--shadow); padding: 12px; }
.green { background: var(--green); }
.blue { background: var(--blue); }
.purple { background: #7225d8; }
.orange { background: #f08a17; }
.process, .accessibility { background: var(--soft); }
.process-grid, .stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: #a1bde2; border: 1px solid #cfe4d3; border-radius: var(--radius); overflow: hidden; }
.process-grid { position: relative; grid-template-columns: repeat(3, 1fr); overflow: visible; }
.process-step, .stats div { background:#e3ffe8; padding: 30px; text-align: center; }
.process-step { position: relative; z-index: 2; }
.process-step span { position: relative; z-index: 3; display: inline-grid; place-items: center; width: 48px; height: 48px; background: var(--green); color: #fff; border: 5px solid var(--green); border-radius: 50%; font-weight: 900; margin-bottom: 14px; box-shadow: 0 8px 18px rgba(28, 168, 58, .22); }
.process-step .icon2 {position: relative; z-index: 3; display: inline-grid; place-items: center; width: 55px; height: 55px; background: #fff; color: #fff; border: 5px solid #fff; border-radius: 50%;  margin-bottom: 10px; box-shadow: 0 8px 18px rgba(28, 168, 58, .22); }
.about-copy .ceo-box { margin-top: 24px; border-left: 5px solid var(--blue); background: #f4f8ff; padding: 20px; border-radius: var(--radius); }
.ceo-box span { display: block; color: var(--green); font-weight: 800; }
.stats { margin-top: 32px; }
.stats b { display: block; color: var(--blue); font-size: 1.55rem; }
.accessibility-band { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.contact-grid { align-items: start; }
.contact-list { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 18px; }
.contact-list li { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.contact-list b, .contact-list span, .contact-list a { display: block; }
.contact-list a { color: var(--blue); font-weight: 900; }
.contact-form { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); background: #fff; display: grid; gap: 16px; }
.contact-form label span { display: block; font-weight: 800; margin-bottom: 7px; }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; border: 1px solid #ccd8e6; border-radius: var(--radius); padding: 13px 14px; color: var(--ink); background: #fff; }
.contact-form textarea { min-height: 140px; resize: vertical; }
.check { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; }
.check input { width: auto; margin-top: 4px; }
.page-hero { background: linear-gradient(135deg, #f5fbff 0%, #fff 58%, #eff8f0 100%); }
.settings-grid { display: grid; gap: 18px; max-width: 900px; }
.settings-card { border: 1px solid var(--line); background: #fff; border-radius: var(--radius); padding: 24px; box-shadow: 0 10px 24px rgba(6, 36, 77, .08); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.switch input { position: absolute; opacity: 0; }
.switch span { display: block; width: 64px; height: 34px; background: #b6c2d0; border-radius: 99px; position: relative; cursor: pointer; }
.switch span::after { content: ""; position: absolute; top: 4px; left: 4px; width: 26px; height: 26px; background: #fff; border-radius: 50%; transition: transform .2s ease; }
.switch input:checked + span { background: var(--green); }
.switch input:checked + span::after { transform: translateX(30px); }
.save-prefs { width: fit-content; }
.site-footer { background: #06244d; color: #fff; padding: 42px 0 20px; }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 10px; }
.footer-brand img { width: 72px; height: 72px; object-fit: contain; margin-bottom: 10px;border-radius: 50%;}
.footer-brand strong { font-size: 1.8rem; }
.site-footer h2 { font-size: 1rem; color: #fff; margin: 0 0 12px; }
.site-footer a { display: block; color: #dfeaff; margin: 8px 0; }
.site-footer p, .footer-bottom { color: #c7d6ea; }
.footer-bottom { padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); margin-top: 26px; font-size: .92rem; display: flex; gap: 12px; flex-wrap: wrap; }
.whatsapp { position: fixed; right: 22px; bottom: 22px; width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: #25d366; color: #fff; font-size: 2rem; font-weight: 900; border: 4px solid #fff; box-shadow: 0 14px 30px rgba(6, 36, 77, .24); z-index: 12; }
.whatsapp svg { width: 34px; height: 34px; }
.whatsapp path[fill="#24b912"] { fill: #fff; }
.page-shell { background: linear-gradient(180deg, #f7fbff 0%, #fff 30%, #f6fcf5 100%); }
.designed-hero { min-height: 440px; display: grid; align-items: center; background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.95) 38%, rgba(255,255,255,.42) 60%, rgba(255,255,255,.08) 100%), var(--page-hero-image) right center / auto 100% no-repeat; border-bottom: 1px solid var(--line); }
.breadcrumb { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; color: var(--muted); font-weight: 800; }
.breadcrumb a { color: #0c0066; }
.breadcrumb span { color: var(--green); }
.lead-green { color: var(--green); font-weight: 900; font-size: 1.2rem; max-width: 520px; }
.page-intro { max-width: 520px; color: var(--ink); font-size: 1.08rem; }
.section-title-line::after { content: ""; display: block; width: 56px; height: 3px; margin-top: 10px; background: var(--green); border-radius: 99px; margin-left: 40%; margin-right: auto; }
.about-story { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; align-items: center; }
.story-photo img, .map-card img { width: 100%; border-radius: var(--radius); box-shadow: var(--shadow); object-fit: cover; }
.story-photo img { aspect-ratio: 4 / 3; }
.feature-strip, .trust-cards, .contact-benefits { display: grid; gap: 1px; overflow: hidden; border: 1px solid #1e5e1b; border-radius: var(--radius); background: #1e5e1b; box-shadow: 0 12px 28px #1e5e1b; }
.feature-strip { grid-template-columns: repeat(4, 1fr); margin-top: 28px; }
.feature-strip div, .contact-benefits div { background: #f6fff6; padding: 24px; text-align: center; }
.feature-strip .iconify, .contact-benefits .iconify, .trust-card .iconify { width: 38px; height: 38px; color: var(--green); margin-bottom: 10px; }
.feature-strip b { display: block; color: var(--blue); font-size: 1.5rem; }
.trust-cards { grid-template-columns: repeat(5, 1fr); background: #e4eaf3; border-color: #e4eaf3; box-shadow: none; }
.trust-card { background: #98c6a3; padding: 24px; border-radius: var(--radius); min-height: 170px; }
.quote-band, .cta-band, .call-band { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-radius: var(--radius); padding: 24px 32px; }
.quote-band { background: #edf6ff; margin-top: 24px; }
.quote-band .iconify, .call-band .iconify { width: 58px; height: 58px; color: var(--blue); flex: 0 0 auto; }
.cta-band { margin-top: 24px; background: #25d366; color: #fff; }
.cta-band .primary-btn { background: #fff; color: #25d366; border-color: #fff; box-shadow: none; }
.contact-hero { --page-hero-image: url("assets/WhatsApp Image 2026-06-23 at 17.43.21 (1).jpeg"); }
.about-hero { --page-hero-image: url("assets/ceo.jpeg"); }
.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 36px; align-items: start; }
.contact-list.rich li { display: grid; grid-template-columns: 58px 1fr; gap: 18px; align-items: center; border: 0; background: transparent; padding: 12px 0; }
.contact-list.rich .contact-icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: var(--blue); color: #fff; }
.contact-list.rich .iconify { width: 30px; height: 30px; }
.map-card { margin-top: 24px; padding: 22px; border-radius: var(--radius); background: #a9d6a9; box-shadow: 0 10px 24px #10a73813; }
.map-card h3 { color: #20bc14; }
.contact-form.designed-form { border: 1px solid #e5edf6; padding: 34px; }
.contact-form.designed-form h2 { font-size: 1.8rem; }
.contact-form.designed-form input, .contact-form.designed-form textarea, .contact-form.designed-form select { background: #fbfdff; min-height: 52px; }
.contact-form.designed-form button { background: var(--green); border-color: var(--green); width: 100%; }
.call-band { margin-top: 28px; background: #eef6ff; }
.call-band .primary-btn { min-width: 240px; }
.contact-benefits { grid-template-columns: repeat(4, 1fr); margin-top: 28px; }
.map-card iframe{
    width:100%;
    border:none;
    border-radius:14px;
    margin-top:15px;
}
.cookie-banner { position: fixed; left: 20px; right: 20px; bottom: 20px; z-index: 11; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); border-radius: var(--radius); padding: 14px; display: none; align-items: center; gap: 14px; max-width: 900px; margin: 0 auto; }
.cookie-banner.show { display: flex; }
.cookie-banner p { margin: 0; flex: 1; }
.cookie-banner a { color: var(--blue); font-weight: 900; }
.cookie-banner button { border: 0; border-radius: var(--radius); background: var(--green); color: #fff; padding: 10px 14px; font-weight: 900; cursor: pointer; }
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .55s ease, transform .55s ease; }
.reveal.visible { opacity: 1; transform: none; }
:focus-visible { outline: 3px solid #15a03a; outline-offset: 3px; }
@media (max-width: 920px) {
  .desktop-nav { display: none; }
  .call-btn { display: inline-flex;}
  .menu-btn { display: inline-flex; }
  .nav-shell { width: min(100% - 28px, 1180px); height: 78px; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .brand img { height: 58px; }
  .hero-grid, .about-grid, .contact-grid { grid-template-columns: 1fr; }
  .hero { min-height: 500px; padding: 44px 0 112px; background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.98) 42%, rgba(255,255,255,.7) 68%, rgba(255,255,255,.2) 100%), url("assets/hero-cleaning.jpeg") right center / auto 100% no-repeat; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 2fr 2fr; }
  .designed-hero { min-height: 400px; background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.92) 54%, rgba(255,255,255,.18) 100%), var(--page-hero-image) right center / auto 100% no-repeat; }
  .about-story, .contact-layout { grid-template-columns: 1fr; }
  .feature-strip, .trust-cards, .contact-benefits { grid-template-columns: repeat(2, 1fr); }
  .hero-acc{grid-template-columns:1fr;}
  .cards-acc{grid-template-columns:repeat(2,1fr);}
  .contact-box,
  .promise{flex-direction:column;gap:30px;}
  .goal-box{display:block; margin-top:100px;}
}
@media (max-width: 640px) {
  .call-btn { display: inline-flex;}
  .section { padding: 48px 0; }
  .brand small, .brand strong { display: none; }
  .brand img { height: 48px; }
  .language-switch { gap: 2px; padding: 3px; }
  .lang-btn { padding: 7px 9px; min-height: 34px; font-size: .82rem; }
  .menu-btn { min-width: 42px; min-height: 42px; padding: 5px 7px; }
  .menu-btn .iconify{ width: 24px; height: 24px;}
  .nav-actions { gap: 8px; }
  .mobile-menu { padding-left: 14px; padding-right: 14px; }
  .hero { min-height: 620px; display: flex; align-items: flex-end; padding: 180px 0 104px; background: linear-gradient(180deg, rgba(6, 36, 77, .08) 0%, rgba(6, 36, 77, .38) 48%, rgba(6, 36, 77, .9) 100%), url("assets/hero-cleaning1.jpeg") center top / cover no-repeat; }
  .hero-copy { max-width: 100%; padding-top: 0; }
  .hero h1 { color: #fff; text-shadow: 0 3px 18px rgba(0,0,0,.34); }
  .hero h1 span { color: #7ee38b; }
  .hero-copy > p:not(.eyebrow) { color: #edf7ff; }
  h1 { font-size: clamp(2rem, 10vw, 3rem); }
  .hero-copy > p:not(.eyebrow) { font-size: 1rem; }
  .hero-actions, .accessibility-band, .cookie-banner { align-items: stretch; flex-direction: column; }
  .primary-btn, .secondary-btn { width: 100%; }
  .hero + section { padding: 0 14px; }
  .trust-row, .process-grid, .stats, .service-grid, .footer-grid { grid-template-columns: 1fr; }
  .process-grid::before { left: 50%; right: auto; top: 44px; bottom: 44px; width: 4px; height: auto; transform: translateX(-50%); }
  .trust-row { margin-top: -52px; }
  .trust-row div { padding: 20px; }
  .settings-card { align-items: flex-start; flex-direction: column; }
  .footer-bottom { display: block; }
  .whatsapp { width: 56px; height: 56px; right: 14px; bottom: 14px; }
  .whatsapp svg { width: 30px; height: 30px; }
  .designed-hero { min-height: 620px; align-items: end; padding: 240px 0 54px; background: linear-gradient(180deg, rgba(255,255,255,.38) 0%, rgba(255,255,255,.92) 52%, #fff 100%), var(--page-hero-image) center top / auto 56% no-repeat; }
  .designed-hero h1 { font-size: clamp(2.4rem, 14vw, 3.4rem); }
  .feature-strip, .trust-cards, .contact-benefits { grid-template-columns: 1fr; }
  .quote-band, .cta-band, .call-band { align-items: stretch; flex-direction: column; padding: 22px; }
  .contact-form.designed-form { padding: 22px; }
  .cards-acc{grid-template-columns:1fr;}
  .contact-buttons{ width:100%;flex-direction:column;}
  .btn-primary,
  .btn-secondary{justify-content:center;}
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Prices page */
.price-page { background: #f7fbff; }
.price-top-call {
  min-height: 58px;
  min-width: 164px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: var(--radius);
  background: var(--blue);
  color: #fff;
  font-weight: 900;
  box-shadow: 0 12px 26px rgba(6, 85, 217, .24);
}
.price-top-call .iconify { width: 25px; height: 25px; }
.prices-hero {
  min-height: 340px;
  display: grid;
  align-items: center;
  background:
    linear-gradient(90deg, #fff 0%, rgba(255,255,255,.98) 42%, rgba(255,255,255,.5) 67%, rgba(255,255,255,.18) 100%),
    url("assets/van.jpeg") right center / auto 100% no-repeat;
  border-bottom: 1px solid var(--line);
}
.prices-hero-copy { max-width: 650px; padding: 64px 0; }
.price-eyebrow { margin: 0 0 8px; color: var(--blue); font-weight: 900; font-size: 1.08rem; }
.prices-hero h1 { max-width: 620px; font-size: clamp(2.45rem, 4.6vw, 4rem); }
.prices-hero h1 span { color: var(--green); }
.prices-hero p:last-child { max-width: 650px; margin: 18px 0 0; color: var(--ink); font-size: 1.08rem; }
.prices-section { padding: 36px 0 64px; }
.price-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: center;
  padding: 18px 26px;
  margin-bottom: 24px;
  border: 1px solid #dfe9f6;
  border-radius: var(--radius);
  background: #f3f7ff;
  box-shadow: 0 8px 22px rgba(6, 36, 77, .08);
}
.price-note .iconify { width: 38px; height: 38px; color: var(--blue); }
.price-note p { margin: 0; color: var(--ink); }
.price-list { display: grid; gap: 14px; }
.price-card {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) 190px 38px;
  gap: 22px;
  align-items: center;
  min-height: 126px;
  padding: 22px 24px;
  border: 1px solid #e6edf5;
  border-radius: var(--radius);
  background: #a9bfdd;
  box-shadow: 0 10px 24px rgba(6, 36, 77, .08);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.price-card:hover {
  transform: translateY(-3px);
  border-color: #cfe0f5;
  box-shadow: 0 16px 32px rgba(6, 36, 77, .12);
}
.price-icon {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  padding: 16px;
  color: var(--blue);
  background: #f7f9fd;
  border: 1px solid #edf1f6;
  box-shadow: 0 8px 18px rgba(6, 36, 77, .08);
}
.price-content h2 {
  margin: 0 0 6px;
  color: var(--navy);
  font-size: 1.35rem;
  line-height: 1.25;
}
.price-content h2 small {
  font-size: .82em;
  font-weight: 500;
  color: var(--ink);
}
.price-content p { margin: 0 0 8px; }
.price-subline { color: var(--ink); font-weight: 700; }
.price-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 6px;
  color: var(--ink);
}
.price-content .two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
.price-content li {
  display: grid;
  /*grid-template-columns: 18px 1fr;*/
  gap: 8px;
  align-items: start;
}
.price-content li .iconify { color: var(--green); width: 18px; height: 18px; margin-top: 2px; }
.price-value {
  min-height: 86px;
  display: grid;
  align-content: center;
  justify-items: center;
  padding-left: 22px;
  border-left: 1px solid #e3eaf2;
  text-align: center;
}
.price-value strong { color: var(--green); font-size: 1.75rem; line-height: 1; }
.price-value span { color: var(--ink); font-size: .98rem; margin-top: 6px; }
.price-arrow {
  display: grid;
  place-items: center;
  color: var(--ink);
  min-width: 34px;
  min-height: 64px;
}
.price-arrow .iconify { width: 28px; height: 28px; }
.price-benefits,
.price-mini-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 24px;
  border: 1px solid #e8eff6;
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 10px 24px rgba(6, 36, 77, .06);
  overflow: hidden;
}
.price-benefits div,
.price-mini-benefits div {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 14px;
  row-gap: 3px;
  align-items: center;
  padding: 18px 22px;
  border-right: 1px solid #e8eff6;
}
.price-benefits div:last-child,
.price-mini-benefits div:last-child { border-right: 0; }
.price-benefits .iconify,
.price-mini-benefits .iconify {
  grid-row: span 2;
  width: 44px;
  height: 44px;
  padding: 8px;
  border-radius: 50%;
  color: var(--green);
  background: #f7fbf8;
  box-shadow: 0 6px 16px rgba(6, 36, 77, .07);
}
.price-benefits b,
.price-mini-benefits b { color: var(--navy); line-height: 1.25; }
.price-benefits span,
.price-mini-benefits span { color: var(--ink); font-size: .9rem; }
.price-offer {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 26px;
  align-items: center;
  margin-top: 24px;
  padding: 22px 32px;
  border-radius: var(--radius);
  background: #eef5ff;
}
.price-offer .offer-icon {
  width: 82px;
  height: 82px;
  padding: 22px;
  border-radius: 50%;
  background: #fff;
  color: var(--blue);
  box-shadow: 0 10px 24px rgba(6, 36, 77, .08);
}
.price-offer h2 { font-size: 1.45rem; margin-bottom: 6px; }
.price-offer p { margin: 0; font-size: 1.04rem; }
.price-offer .primary-btn {
  min-width: 300px;
  background: var(--blue);
  border-color: var(--blue);
  box-shadow: 0 12px 26px rgba(6, 85, 217, .2);
}
.price-offer .primary-btn small { font-weight: 700; }
.price-mini-benefits { background: #f8fbff; box-shadow: none; }
.price-mini-benefits div { padding: 16px 22px; }
.price-mini-benefits .iconify {
  width: 36px;
  height: 36px;
  color: #52647c;
  background: transparent;
  box-shadow: none;
  padding: 0;
}
.form-status {
  display: none;
  padding: 13px 15px;
  border-radius: var(--radius);
  background: #fff4e5;
  border: 1px solid #f2c879;
  color: #5a3a00;
  font-weight: 800;
}
.form-status.show { display: block; }
.thanks-card {
  text-align: center;
  padding: 52px 34px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}
.thanks-icon {
  width: 76px;
  height: 76px;
  color: var(--green);
  margin-bottom: 18px;
}
.thanks-card .hero-actions { justify-content: center; }

@media (max-width: 1100px) {
  .price-card { grid-template-columns: 82px minmax(0, 1fr) 160px 30px; }
  .price-content .two-col { grid-template-columns: 1fr; }
}

@media (max-width: 920px) {
  .price-top-call { display: none; }
  .prices-hero { background-position: right center; }
  .price-card {
    grid-template-columns: 80px minmax(0, 1fr) 140px;
    gap: 18px;
  }
  .price-arrow { display: none; }
  .price-benefits,
  .price-mini-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .price-benefits div:nth-child(2),
  .price-mini-benefits div:nth-child(2) { border-right: 0; }
  .price-offer { grid-template-columns: auto minmax(0, 1fr); }
  .price-offer .primary-btn { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 640px) {
  .prices-hero {

    background-position: right center;
    align-items: end;
  }
  .prices-section { padding-top: 24px; }
  .price-note { grid-template-columns: 1fr; padding: 18px; }
  .price-card {
    grid-template-columns: 1fr;
    padding: 20px;
    gap: 14px;
  }
  .price-icon { width: 64px; height: 64px; }
  .price-value {
    justify-items: start;
    text-align: left;
    min-height: auto;
    border-left: 0;
    border-top: 1px solid #e3eaf2;
    padding: 14px 0 0;
  }
  .price-benefits,
  .price-mini-benefits { grid-template-columns: 1fr; }
  .price-benefits div,
  .price-mini-benefits div {
    border-right: 0;
    border-bottom: 1px solid #e8eff6;
  }
  .price-benefits div:last-child,
  .price-mini-benefits div:last-child { border-bottom: 0; }
  .price-offer {
    grid-template-columns: 1fr;
    padding: 22px;
  }
  .price-offer .offer-icon { width: 66px; height: 66px; padding: 18px; }
}

/* Legal pages */
.legal-page { background: #f7fbff; }
.legal-call { min-width: 142px; }
.legal-hero {
  min-height: 320px;
  display: grid;
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.legal-hero-privacy {
  background:
    linear-gradient(90deg, #fff 0%, rgba(255,255,255,.98) 43%, rgba(255,255,255,.45) 68%, rgba(255,255,255,.1) 100%),
    url("assets/legal-privacy-3d.svg") right center / auto 100% no-repeat;
}
.legal-hero-agb {
  background:
    linear-gradient(90deg, #fff 0%, rgba(255,255,255,.98) 43%, rgba(255,255,255,.45) 68%, rgba(255,255,255,.1) 100%),
    url("assets/legal-agb-3d.svg") right center / auto 100% no-repeat;
}
.legal-hero-copy { max-width: 560px; padding: 54px 0; }
.legal-hero-copy h1 { font-size: clamp(2.25rem, 4.1vw, 3.45rem); }
.legal-hero-copy p { max-width: 430px; color: var(--ink); font-size: 1.08rem; }
.legal-hero-button {
  margin-top: 12px;
  min-width: 220px;
  background: var(--green);
  border-color: var(--green);
}
.legal-section { padding: 32px 0 64px; }
.legal-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: center;
  padding: 18px 24px;
  margin-bottom: 26px;
  border: 1px solid #dfe9f6;
  border-radius: var(--radius);
  background: #f3f7ff;
  box-shadow: 0 8px 22px rgba(6, 36, 77, .08);
}
.legal-note .iconify { width: 38px; height: 38px; color: var(--blue); }
.legal-note p { margin: 0; }
.legal-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.legal-card {
  min-height: 260px;
  padding: 28px;
  border: 1px solid #e6edf5;
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 10px 24px rgba(6, 36, 77, .06);
}
.legal-card-icon {
  width: 54px;
  height: 54px;
  padding: 11px;
  border-radius: 50%;
  color: var(--green);
  background: #f1fbf4;
  margin-bottom: 18px;
}
.legal-card h2,
.agb-item h2,
.legal-toc h2 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 1.08rem;
  line-height: 1.25;
}
.legal-card p,
.legal-card li,
.agb-item p,
.legal-toc a { color: var(--ink); font-size: .95rem; }
.legal-card a { color: var(--blue); font-weight: 800; }
.legal-card ul { padding-left: 18px; margin: 10px 0 0; }
.legal-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
}
.legal-link .iconify { width: 18px; height: 18px; }
.legal-question {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 24px;
  align-items: center;
  margin-top: 28px;
  padding: 22px 32px;
  border-radius: var(--radius);
  background: #eef5ff;
}
.legal-question .offer-icon {
  width: 74px;
  height: 74px;
  padding: 20px;
  border-radius: 50%;
  color: var(--blue);
  background: #fff;
  box-shadow: 0 10px 24px rgba(6, 36, 77, .08);
}
.legal-question h2 { font-size: 1.3rem; margin-bottom: 6px; }
.legal-question p { margin: 0; }
.legal-question .primary-btn {
  min-width: 280px;
  background: var(--blue);
  border-color: var(--blue);
}
.legal-question .secondary-btn { min-width: 210px; }
.legal-agb-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}
.legal-toc {
  position: sticky;
  top: 128px;
  padding: 24px;
  border: 1px solid #e6edf5;
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 10px 24px rgba(6, 36, 77, .06);
}
.legal-toc a {
  display: block;
  padding: 9px 0;
  color: var(--blue);
  font-weight: 700;
}
.agb-list { display: grid; gap: 14px; }
.agb-item {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) 30px;
  gap: 18px;
  align-items: center;
  padding: 20px 24px;
  border: 1px solid #e6edf5;
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 10px 24px rgba(6, 36, 77, .06);
}
.agb-item .legal-card-icon { margin: 0; color: var(--blue); background: #f2f7ff; }
.agb-item p { margin: 0; }




/* barrierefreiheit */

.hero-acc{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    min-height:650px;
    position: relative; min-height: 560px; padding: 150px 0 130px; overflow: hidden; background: url("assets/accessibility.jpeg") right center / auto 70% no-repeat; margin-top:-90px;

}

.hero-content{
    padding:80px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.small-title{
    color:#3cae42;
    font-weight:600;
}

.hero-acc h1{
    font-size:72px;
    color:#086f14;
    margin:20px 0;
}

.line{
    width:70px;
    height:4px;
    background:#3cae42;
    border-radius:20px;
}

.center{
    margin:15px auto 0;
}

.hero-acc p{
    margin-top:30px;
    color:#08b926;
    line-height:1.6;
    font-size:18px;
}

.hero-pic img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.goal{
    max-width:1300px;
    margin:-40px auto 80px;
    padding:0 20px;
}

.goal-box{
    display:flex;
    gap:20px;
    align-items:center;
    background:#daf6da;
    border:1px solid #d8f0d8;
    padding:30px;
    border-radius:20px;
}

.goal-icon{
    font-size:50px;
    color:#29a745;
}

.goal h2{
    font-size: 20px;
    color:#22c633;
    margin-bottom:10px;
}

.features{
    max-width:1300px;
    margin:auto;
    padding:0 20px 100px;
}

.section-title{
    text-align:center;
    color:#2257c2;
    font-size:42px;
}

.cards-acc{
    margin-top:60px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.card-acc{
    border:1px solid #eee;
    border-radius:20px;
    padding:30px;
    background:#cad4e5;
}

.icon{
    width:70px;
    height:70px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:34px;
    margin-bottom:20px;
}

.green{
    background:#7ef986;
}

.blue{
    background:#0069ab;
}

.purple{
    background:#7938eb;
}

.orange{
    background:#f4af60;
}

.cyan{
    background:#6ee5f8;
}

.card-acc h3{
    margin-bottom:15px;
}

.card-acc p{
    color:#000000;
    margin-bottom:20px;
    line-height:1.7;
}

.card-acc ul{
    list-style:none;
}

.card-acc li{
    margin-bottom:10px;
    color:#000000;
}

.contact{
    max-width:1300px;
    margin:auto;
    padding:0 20px 80px;
}

.contact-box{
    border:1px solid #d9e6ff;
    border-radius:20px;
    padding:30px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.contact-left{
    display:flex;
    gap:20px;
    align-items:center;
}

.contact-main-icon{
    font-size:60px;
    color:#2563eb;
}

.contact-buttons{
    display:flex;
    gap:15px;
}

.btn-primary{
    background:#2563eb;
    color:white;
}

.btn-secondary{
    border:1px solid #2563eb;
    color:#2563eb;
}

.btn-primary,
.btn-secondary{
    text-decoration:none;
    padding:14px 25px;
    border-radius:12px;
    display:flex;
    align-items:center;
    gap:8px;
}

.promise{
    max-width:1300px;
    margin:auto;
    padding:0 20px 100px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.promise h2{
    color:#082b6f;
    margin-bottom:15px;
}

.badge{
    display:flex;
    align-items:center;
    gap:15px;
    border:1px solid #ddd;
    padding:20px 25px;
    border-radius:16px;
}

.aa{
    background:#28a745;
    color:white;
    padding:8px 15px;
    border-radius:8px;
    font-weight:bold;
}

.badge iconify-icon{
    color:#28a745;
    font-size:32px;
}

@media(max-width:992px){

    .hero{
        grid-template-columns:1fr;
    }

    .cards-acc{
        grid-template-columns:repeat(2,1fr);
    }

    .contact-box,
    .promise{
        flex-direction:column;
        gap:30px;
    }
}



@media (max-width: 920px) {
  .cards-acc{grid-template-columns:1fr;}
  .legal-call { display: none; }
  .legal-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .legal-agb-layout { grid-template-columns: 1fr; }
  .legal-toc { position: static; }
  .legal-question { grid-template-columns: auto minmax(0, 1fr); }
  .legal-question .primary-btn,
  .legal-question .secondary-btn { grid-column: 1 / -1; width: 100%; }
  .goal-box{display:grid; margin-top:100px;}
}

@media (max-width: 640px) {
  .cards-acc{grid-template-columns:1fr;}
  .legal-hero {
    min-height: 560px;
    align-items: end;
  }
  .legal-hero-privacy {
    background:
      linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.92) 50%, #fff 100%),
      url("assets/legal-privacy-3d.svg") center top / auto 58% no-repeat;
  }
  .legal-hero-agb {
    background:
      linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.92) 50%, #fff 100%),
      url("assets/legal-agb-3d.svg") center top / auto 58% no-repeat;
  }
  .legal-hero-copy { padding: 250px 0 38px; }
  .legal-card-grid { grid-template-columns: 1fr; }
  .legal-card { min-height: auto; padding: 22px; }
  .legal-note { grid-template-columns: 1fr; }
  .agb-item { grid-template-columns: 1fr; padding: 20px; }
  .agb-chevron { display: none; }
  .legal-question { grid-template-columns: 1fr; padding: 22px; }
  .goal-box{display:grid; margin-top:100px;}
}
