/* ============================
   Entrümpelung Fix
   Marinblau Design System
   ============================ */
:root {
  --primary: #0C2340;
  --primary-light: #1a3a5c;
  --accent: #4A9BD9;
  --accent-dark: #3A86C4;
  --accent-light: rgba(74,155,217,0.08);
  --accent-glow: rgba(74,155,217,0.2);
  --navy: #0C2340;
  --navy-light: #163455;
  --blue-bright: #5BB5F0;
  --grey: #808080;
  --grey-50: #f8f9fa;
  --grey-100: #f1f3f5;
  --grey-200: #e9ecef;
  --grey-300: #dee2e6;
  --dark: #060e18;
  --dark-card: #0a1929;
  --white: #ffffff;
  --text: #1B3A5C;
  --text-secondary: #5A7A9A;
  --radius: 16px;
  --radius-sm: 10px;
  --shadow: 0 4px 24px rgba(12,35,64,0.06);
  --shadow-lg: 0 12px 40px rgba(12,35,64,0.1);
  --shadow-accent: 0 8px 32px rgba(74,155,217,0.25);
  --transition: 0.3s cubic-bezier(0.4,0,0.2,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-font-smoothing:antialiased}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;line-height:1.7;color:var(--text);background:var(--white);overflow-x:hidden}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;line-height:1.2}
a{color:inherit;text-decoration:none;transition:var(--transition)}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
.container{max-width:1200px;margin:0 auto;padding:0 2rem}
.text-accent{color:var(--accent)}

/* Header */
.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,0.8);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid rgba(12,35,64,0.04);transition:var(--transition)}
.header.scrolled{background:rgba(255,255,255,0.92);box-shadow:0 4px 30px rgba(12,35,64,0.06);border-bottom-color:rgba(12,35,64,0.06)}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:76px}
.header__logo{z-index:1001}
.header__logo-img{height:48px;width:auto;transition:var(--transition)}
.header__logo-text{font-family:'Poppins',sans-serif;font-weight:800;font-size:1.35rem;color:var(--navy);letter-spacing:-0.02em}
.header__logo-accent{color:var(--accent)}
.nav__list{display:flex;align-items:center;gap:0.15rem}
.nav__link{padding:0.45rem 0.9rem;font-size:0.875rem;font-weight:500;color:var(--text-secondary);border-radius:100px;transition:var(--transition)}
.nav__link:hover,.nav__link.active{color:var(--navy);background:var(--accent-light)}
.nav__link--cta{background:var(--accent)!important;color:var(--white)!important;padding:0.45rem 1.25rem;font-weight:600}
.nav__link--cta:hover{background:var(--accent-dark)!important}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:0.5rem;z-index:1001}
.hamburger__line{width:22px;height:2px;background:var(--text);transition:var(--transition);border-radius:2px}
.hamburger.active .hamburger__line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.active .hamburger__line:nth-child(2){opacity:0}
.hamburger.active .hamburger__line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;background:linear-gradient(160deg,#f0f6fc 0%,#e8f1fa 30%,#f5f9ff 60%,var(--white) 100%);overflow:hidden}
.hero__bg{position:absolute;inset:0;pointer-events:none}
.hero__orb{position:absolute;border-radius:50%;filter:blur(100px)}
.hero__orb--1{width:500px;height:500px;background:rgba(232,168,56,0.06);top:-150px;right:-100px}
.hero__orb--2{width:400px;height:400px;background:rgba(12,35,64,0.04);bottom:-100px;left:-100px}
.hero__split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;position:relative;z-index:1;padding:7rem 0 4rem;min-height:calc(100vh - 76px)}
.hero__left{text-align:left}
.hero__badge{display:inline-flex;align-items:center;gap:0.5rem;padding:0.4rem 1rem 0.4rem 0.6rem;background:var(--accent-light);border:1px solid rgba(232,168,56,0.25);border-radius:100px;font-size:0.8rem;font-weight:500;color:var(--accent-dark);margin-bottom:1.5rem}
.hero__badge-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(1.3)}}
.hero__title{font-size:clamp(2.25rem,5vw,3.5rem);font-weight:800;color:var(--navy);margin-bottom:1.25rem;letter-spacing:-0.03em;line-height:1.1}
.hero__title-accent{color:var(--accent)}
.hero__subtitle{font-size:clamp(0.95rem,1.3vw,1.1rem);color:var(--text-secondary);max-width:480px;margin-bottom:2rem;line-height:1.7}
.hero__actions{display:flex;gap:0.75rem;flex-wrap:wrap;margin-bottom:2rem}
.hero__trust{display:flex;flex-wrap:wrap;gap:1.25rem}
.hero__trust-item{display:flex;align-items:center;gap:0.4rem;font-size:0.8rem;font-weight:500;color:var(--text-secondary)}
.hero__trust-item svg{color:var(--accent);flex-shrink:0}
.hero__right{display:flex;justify-content:center}
.hero__img-wrapper{position:relative;width:100%;max-width:480px}
.hero__img{width:100%;height:auto;border-radius:var(--radius);object-fit:cover;box-shadow:0 20px 60px rgba(12,35,64,0.15)}

/* Reveal */
.reveal-hero{opacity:0;transform:translateY(20px);animation:revealHero 0.8s ease forwards}
.reveal-hero:nth-child(1){animation-delay:0.1s}
.reveal-hero:nth-child(2){animation-delay:0.25s}
.reveal-hero:nth-child(3){animation-delay:0.4s}
.reveal-hero:nth-child(4){animation-delay:0.55s}
.reveal-hero:nth-child(5){animation-delay:0.7s}
.reveal-hero:nth-child(6){animation-delay:0.3s}
@keyframes revealHero{to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease,transform 0.7s ease}
.reveal.active{opacity:1;transform:translateY(0)}
.hero__scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%)}
.hero__scroll-mouse{width:24px;height:38px;border:2px solid var(--grey-300);border-radius:12px;position:relative}
.hero__scroll-wheel{width:3px;height:8px;background:var(--accent);border-radius:2px;position:absolute;top:6px;left:50%;transform:translateX(-50%);animation:scrollWheel 2s infinite}
@keyframes scrollWheel{0%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(14px)}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.75rem 1.75rem;font-size:0.9rem;font-weight:600;font-family:'Inter',sans-serif;border-radius:100px;border:none;cursor:pointer;transition:var(--transition);text-decoration:none}
.btn--lg{padding:0.9rem 2rem;font-size:0.95rem}
.btn--primary{background:linear-gradient(135deg,var(--accent),var(--blue-bright));color:var(--white);position:relative;overflow:hidden}
.btn--primary::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--accent-dark),var(--accent));opacity:0;transition:opacity 0.3s ease}
.btn--primary:hover::before{opacity:1}
.btn--primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent)}
.btn--primary span,.btn--primary svg{position:relative;z-index:1}
.btn--outline{background:transparent;color:var(--navy);border:1.5px solid var(--grey-300)}
.btn--outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}
.btn--outline-dark{background:transparent;color:var(--text);border:1.5px solid var(--grey-300)}
.btn--outline-dark:hover{border-color:var(--accent);color:var(--accent)}
.btn--ghost{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.7);border:1px solid rgba(255,255,255,0.15)}
.btn--ghost:hover{background:rgba(255,255,255,0.14);color:var(--white)}
.btn--full{width:100%}

/* Marquee */
.marquee{background:linear-gradient(90deg,var(--navy),var(--primary-light),var(--navy));padding:0.85rem 0;overflow:hidden;white-space:nowrap}
.marquee__track{display:inline-flex;gap:3rem;animation:marquee 35s linear infinite}
.marquee__track span{font-size:0.85rem;font-weight:600;color:var(--white);text-transform:uppercase;letter-spacing:0.15em}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Sections */
.section{padding:7rem 0}
.section--light{background:var(--grey-50)}
.section--dark{background:var(--navy);color:var(--white)}
.section--accent{background:linear-gradient(135deg,var(--navy),var(--primary-light));color:var(--white);padding:4rem 0}
.section__header{margin-bottom:3.5rem}
.section__header--center{text-align:center}
.section__label{display:inline-block;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.18em;color:var(--accent);margin-bottom:0.75rem}
.section__title{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;color:var(--navy);letter-spacing:-0.02em}
.section__title--light{color:var(--white)}
.section__desc{margin-top:1rem;font-size:1.05rem;color:var(--text-secondary);max-width:520px}
.section__desc--light{color:rgba(255,255,255,0.6)}
.section__header--center .section__desc{margin-left:auto;margin-right:auto}

/* Service cards */
.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.service-card{background:var(--white);border:1px solid var(--grey-200);border-radius:var(--radius);padding:2rem;position:relative;overflow:hidden;transition:all 0.4s cubic-bezier(0.4,0,0.2,1)}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--blue-bright));transform:scaleX(0);transition:var(--transition);transform-origin:left}
.service-card:hover::before{transform:scaleX(1)}
.service-card::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(74,155,217,0.02),rgba(91,181,240,0.04));opacity:0;transition:opacity 0.4s ease;pointer-events:none}
.service-card:hover::after{opacity:1}
.service-card:hover{border-color:var(--accent);box-shadow:0 16px 48px rgba(12,35,64,0.1),0 0 0 1px rgba(74,155,217,0.1);transform:translateY(-6px)}
.service-card__image{width:100%;height:180px;overflow:hidden;border-radius:var(--radius) var(--radius) 0 0}
.service-card--img{padding:0}
.service-card--img .service-card__body{padding:1.5rem}
.service-card__image img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}
.service-card:hover .service-card__image img{transform:scale(1.05)}
.service-card__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent-light);border-radius:var(--radius-sm);color:var(--accent);margin-bottom:1rem}
.service-card h3{font-size:1.05rem;font-weight:600;margin-bottom:0.5rem;color:var(--primary)}
.service-card p{font-size:0.875rem;color:var(--text-secondary);line-height:1.6}
.service-card__link{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.85rem;font-weight:600;color:var(--accent);margin-top:0.75rem;transition:var(--transition)}
.service-card__link:hover{gap:0.6rem;color:var(--accent-dark)}

/* Numbers */
.numbers__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.number-item__value{font-family:'Poppins',sans-serif;font-size:2.75rem;font-weight:800;letter-spacing:-0.02em}
.number-item__suffix{font-family:'Poppins',sans-serif;font-size:2rem;font-weight:700}
.number-item__label{display:block;font-size:0.85rem;opacity:0.85;margin-top:0.25rem;font-weight:500}

/* Timeline */
.timeline{display:flex;justify-content:center;gap:2rem}
.timeline__step{flex:1;max-width:260px;text-align:center}
.timeline__dot{width:56px;height:56px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--blue-bright));color:var(--white);font-family:'Poppins',sans-serif;font-size:1.2rem;font-weight:700;border-radius:50%;box-shadow:var(--shadow-accent);position:relative}
.timeline__dot::after{content:'';position:absolute;inset:-6px;border:2px solid var(--accent);border-radius:50%;opacity:0.2}
.timeline__card{background:var(--white);border:1px solid var(--grey-200);border-radius:var(--radius);padding:1.75rem 1.5rem;transition:var(--transition)}
.timeline__card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.timeline__card h3{font-size:1.05rem;font-weight:600;margin-bottom:0.5rem;color:var(--navy)}
.timeline__card p{font-size:0.875rem;color:var(--text-secondary);line-height:1.6}

/* Split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.split--reverse{direction:rtl}
.split--reverse>*{direction:ltr}
.split__text{color:var(--text-secondary);margin:1.25rem 0 1.75rem;font-size:1rem;line-height:1.7}
.split__img-wrapper{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg)}
.split__img{width:100%;height:auto;display:block;transition:transform 0.5s ease}
.split__img-wrapper:hover .split__img{transform:scale(1.03)}

/* USP */
.usp__grid{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem}
.usp-item{display:flex;gap:1rem;align-items:flex-start}
.usp-item__icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--accent-light);border-radius:var(--radius-sm);color:var(--accent)}
.usp-item h3{font-size:0.95rem;font-weight:600;margin-bottom:0.2rem;color:var(--navy)}
.usp-item p{font-size:0.85rem;color:var(--text-secondary);line-height:1.5}

/* CTA Banner */
.cta-banner{position:relative;padding:6rem 0;overflow:hidden;text-align:center}
.cta-banner__bg{position:absolute;inset:0}
.cta-banner__bg img{width:100%;height:100%;object-fit:cover}
.cta-banner__bg::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(12,35,64,0.88),rgba(26,58,92,0.85))}
.cta-banner__content{position:relative;z-index:1}
.cta-banner__content h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;color:var(--white);margin-bottom:1rem}
.cta-banner__content p{font-size:1.1rem;color:rgba(255,255,255,0.7);max-width:500px;margin:0 auto 2rem}
.cta-banner__actions{display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap}

/* Funnel */
.funnel{max-width:720px;margin:0 auto;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius);padding:2rem}
.funnel__progress{margin-bottom:2rem}
.funnel__progress-bar{height:3px;background:var(--accent);border-radius:2px;transition:width 0.4s ease}
.funnel__steps-indicator{display:flex;justify-content:space-between;margin-top:0.75rem}
.funnel__step-dot{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.4);font-size:0.8rem;font-weight:600;font-family:'Poppins',sans-serif;transition:var(--transition)}
.funnel__step-dot.active{background:var(--accent);color:var(--white);box-shadow:var(--shadow-accent)}
.funnel__step-dot.done{background:var(--accent-dark);color:var(--white)}
.funnel__step{display:none;animation:fadeSlide 0.4s ease}
.funnel__step.active{display:block}
@keyframes fadeSlide{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.funnel__step h3{font-family:'Poppins',sans-serif;font-size:1.15rem;font-weight:600;color:var(--white);margin-bottom:1.5rem;text-align:center}
.funnel__options{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;margin-bottom:1.5rem}
.funnel__options--3{grid-template-columns:repeat(3,1fr)}
.funnel__option input{display:none}
.funnel__option-card{display:flex;flex-direction:column;align-items:center;gap:0.5rem;padding:1.25rem 0.75rem;background:rgba(255,255,255,0.05);border:1.5px solid rgba(255,255,255,0.1);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);font-size:0.8rem;font-weight:500;color:rgba(255,255,255,0.7);text-align:center}
.funnel__option-card strong{font-size:1.5rem;font-weight:800;color:rgba(255,255,255,0.5)}
.funnel__option-card:hover{border-color:var(--accent);background:rgba(232,168,56,0.08)}
.funnel__option input:checked+.funnel__option-card{border-color:var(--accent);background:rgba(232,168,56,0.12);color:var(--white);box-shadow:0 0 0 1px var(--accent)}
.funnel__option input:checked+.funnel__option-card strong{color:var(--accent)}
.funnel__option-card svg{color:rgba(255,255,255,0.5)}
.funnel__option input:checked+.funnel__option-card svg{color:var(--accent)}
.funnel__fields{display:flex;flex-direction:column;gap:0.75rem;margin-bottom:1.5rem}
.funnel__fields .form__group label{display:block;font-size:0.8rem;font-weight:500;color:rgba(255,255,255,0.7);margin-bottom:0.4rem}
.funnel__fields .form__group input,.funnel__fields .form__group select,.funnel__fields .form__group textarea{width:100%;padding:0.8rem 1rem;font-size:0.9rem;font-family:'Inter',sans-serif;color:var(--white);background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:var(--radius-sm);outline:none;transition:var(--transition)}
.funnel__fields .form__group input::placeholder,.funnel__fields .form__group textarea::placeholder{color:rgba(255,255,255,0.3)}
.funnel__fields .form__group input:focus,.funnel__fields .form__group select:focus,.funnel__fields .form__group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(232,168,56,0.15)}
.funnel__fields .form__group select{color:rgba(255,255,255,0.5);-webkit-appearance:none;cursor:pointer}
.funnel__fields .form__group select option{background:var(--dark);color:var(--white)}
.funnel__buttons{display:flex;gap:0.75rem}
.funnel__buttons .btn{flex:1}
.funnel__checkbox{display:flex;align-items:flex-start;gap:0.5rem;font-size:0.8rem;color:rgba(255,255,255,0.6);cursor:pointer}
.funnel__checkbox input{margin-top:3px;accent-color:var(--accent)}
.funnel__checkbox a{color:var(--accent);text-decoration:underline}
.funnel__sub-check{margin-bottom:1rem}
.funnel__multi-check{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem}
.form__group{margin-bottom:0.5rem}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* FAQ */
.faq__list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:0.75rem}
.faq__item{background:var(--white);border:1px solid var(--grey-200);border-radius:var(--radius);overflow:hidden;transition:var(--transition)}
.faq__item[open]{border-color:var(--accent);box-shadow:var(--shadow)}
.faq__question{padding:1.25rem 1.5rem;font-family:'Poppins',sans-serif;font-size:1rem;font-weight:600;color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none;transition:var(--transition)}
.faq__question::-webkit-details-marker{display:none}
.faq__question::after{content:'+';font-size:1.5rem;font-weight:300;color:var(--accent);flex-shrink:0;margin-left:1rem;transition:var(--transition)}
.faq__item[open] .faq__question::after{content:'−'}
.faq__question:hover{color:var(--accent)}
.faq__answer{padding:0 1.5rem 1.25rem}
.faq__answer p{font-size:0.925rem;color:var(--text-secondary);line-height:1.8}

/* Reviews */
.reviews__summary{display:flex;align-items:center;justify-content:center;gap:0.75rem;margin-top:1rem;flex-wrap:wrap}
.reviews__stars{display:flex;gap:2px}
.reviews__rating{font-family:'Poppins',sans-serif;font-weight:700;font-size:1rem;color:var(--navy)}
.reviews__count{font-size:0.85rem;color:var(--text-secondary)}
.reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.review-card{background:var(--white);border:1px solid var(--grey-200);border-radius:var(--radius);padding:1.75rem;transition:var(--transition)}
.review-card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.review-card__header{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem;position:relative}
.review-card__avatar{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--accent-light);color:var(--accent);font-weight:700;font-size:0.85rem;border-radius:50%;flex-shrink:0}
.review-card__name{font-size:0.9rem;font-weight:600}
.review-card__stars{display:flex;gap:1px;margin-top:2px}
.review-card__google{position:absolute;right:0;top:0}
.review-card__text{font-size:0.9rem;color:var(--text-secondary);line-height:1.65;font-style:italic}
.review-card__date{display:block;margin-top:1rem;font-size:0.75rem;color:var(--grey)}
.reviews__cta{text-align:center;margin-top:2.5rem}

/* Contact */
.contact__grid{display:grid;grid-template-columns:1fr 1.3fr;gap:3.5rem;align-items:start}
.contact__info{display:flex;flex-direction:column;gap:1.75rem}
.contact__item{display:flex;gap:1rem;align-items:flex-start}
.contact__icon{flex-shrink:0;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:rgba(232,168,56,0.12);border-radius:var(--radius-sm);color:var(--accent)}
.contact__item h3{font-size:0.9rem;font-weight:600;margin-bottom:0.2rem}
.contact__item p{font-size:0.875rem;color:rgba(255,255,255,0.6);line-height:1.6}
.contact__item a{color:var(--accent)}
.contact__item a:hover{text-decoration:underline}
.contact__form{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius);padding:2rem}
.contact__form input,.contact__form textarea{width:100%;padding:0.85rem 1rem;font-size:0.9rem;font-family:'Inter',sans-serif;color:var(--white);background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-sm);outline:none;transition:var(--transition);margin-bottom:1rem}
.contact__form input::placeholder,.contact__form textarea::placeholder{color:rgba(255,255,255,0.3)}
.contact__form input:focus,.contact__form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(232,168,56,0.15)}
.contact__form textarea{resize:vertical;min-height:110px}
.contact__form .form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* Map */
.map-section{width:100%;line-height:0}
.map-consent{width:100%;height:400px;background:var(--grey-100);display:flex;align-items:center;justify-content:center}
.map-consent__inner{text-align:center;padding:2rem}
.map-consent__inner p{color:var(--text-secondary);font-size:0.9rem;margin:0.5rem 0}
.map-consent__inner p strong{color:var(--text);font-size:1.1rem}
.map-consent__inner a{color:var(--accent)}
.map-consent__inner .btn{margin-top:1rem}
.map-section iframe{width:100%;height:400px;display:block;border:0;filter:grayscale(0.3)}

/* Footer */
.footer{background:var(--dark);color:rgba(255,255,255,0.6);padding:4rem 0 0;border-top:1px solid rgba(255,255,255,0.06)}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,0.06)}
.footer__logo{height:42px;width:auto;margin-bottom:1rem;filter:brightness(0) invert(1)}
.footer__logo-text{font-family:'Poppins',sans-serif;font-weight:800;font-size:1.25rem;color:var(--white);display:block;margin-bottom:1rem}
.footer__logo-accent{color:var(--accent)}
.footer__brand p{font-size:0.85rem;line-height:1.6;max-width:280px}
.footer h4{color:var(--white);font-size:0.85rem;margin-bottom:1.25rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em}
.footer__links ul{display:flex;flex-direction:column;gap:0.5rem}
.footer__links a{font-size:0.85rem;color:rgba(255,255,255,0.5)}
.footer__links a:hover{color:var(--accent)}
.footer__contact p{font-size:0.85rem;margin-bottom:0.4rem;line-height:1.6}
.footer__contact a{color:var(--accent)}
.footer__contact a:hover{text-decoration:underline}
.footer__cities{padding:2rem 0;border-bottom:1px solid rgba(255,255,255,0.06)}
.footer__cities h4{color:var(--white);font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:1.25rem}
.footer__cities-list{columns:2;column-gap:3rem;list-style:none;padding:0}
.footer__cities-list li{break-inside:avoid;margin-bottom:0.4rem}
.footer__cities-list a{font-size:0.82rem;color:rgba(255,255,255,0.45);text-decoration:none;transition:var(--transition);display:block;padding:0.2rem 0}
.footer__cities-list a:hover{color:var(--accent);padding-left:0.3rem}
@media(max-width:480px){.footer__cities-list{columns:1}}

/* ============================
   FUNNEL MODAL / POPUP
   ============================ */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.65);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:2000;display:none;align-items:center;justify-content:center;padding:1.5rem;opacity:0;transition:opacity 0.3s ease}
.modal-overlay.active{opacity:1}
.modal{background:var(--navy);border-radius:var(--radius);width:100%;max-width:740px;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlide 0.35s ease}
@keyframes modalSlide{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.modal__close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.08);border:none;border-radius:50%;color:rgba(255,255,255,0.6);cursor:pointer;transition:var(--transition);z-index:1;font-size:1.2rem}
.modal__close:hover{background:rgba(255,255,255,0.15);color:var(--white)}
.modal__body{padding:2rem}
.modal__body .section__header{margin-bottom:1.5rem}
.modal__body .funnel{background:transparent;border:none;padding:0}
.modal__body .funnel__progress{margin-bottom:1.5rem}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;font-size:0.8rem;color:rgba(255,255,255,0.3)}
.footer__legal{display:flex;gap:1.5rem}
.footer__legal a{color:rgba(255,255,255,0.3)}
.footer__legal a:hover{color:var(--accent)}

/* Legal */
.legal-page{padding:120px 0 5rem}
.legal-page h1{font-size:2rem;font-weight:700;margin-bottom:2rem}
.legal-page h2{font-size:1.25rem;font-weight:600;margin:2rem 0 0.75rem;color:var(--text)}
.legal-page p{color:var(--text-secondary);margin-bottom:1rem;font-size:0.925rem;line-height:1.8}
.legal-page a{color:var(--accent)}
.legal-page a:hover{text-decoration:underline}

/* Gradient sections */
.section--gradient{background:linear-gradient(180deg,var(--white) 0%,#f0f6fc 100%)}
.section--gradient-up{background:linear-gradient(180deg,#f0f6fc 0%,var(--white) 100%)}

/* ============================
   FLOATING ACTION BUTTONS
   ============================ */
.fab{position:fixed;bottom:1.5rem;right:1.5rem;z-index:999;display:flex;flex-direction:column;align-items:flex-end;gap:0.75rem;opacity:0;transform:translateY(30px);transition:all 0.4s cubic-bezier(0.4,0,0.2,1);pointer-events:none}
.fab.visible{opacity:1;transform:translateY(0);pointer-events:all}

.fab__btn{display:flex;align-items:center;justify-content:center;border-radius:50%;text-decoration:none;transition:all 0.3s ease;position:relative}

/* WhatsApp */
.fab__btn--whatsapp{width:52px;height:52px;background:#25D366;color:var(--white);box-shadow:0 4px 20px rgba(37,211,102,0.4)}
.fab__btn--whatsapp:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 8px 30px rgba(37,211,102,0.5)}

/* Phone */
.fab__btn--phone{width:52px;height:52px;background:var(--navy);color:var(--white);box-shadow:0 4px 20px rgba(12,35,64,0.3);animation:fabRing 3s ease-in-out infinite}
.fab__btn--phone:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 8px 30px rgba(12,35,64,0.4)}

@keyframes fabRing{
  0%,100%{box-shadow:0 4px 20px rgba(12,35,64,0.3)}
  50%{box-shadow:0 4px 20px rgba(12,35,64,0.3),0 0 0 8px rgba(12,35,64,0.1)}
}

/* CTA main */
.fab__btn--cta{width:auto;height:auto;padding:0.85rem 1.5rem;border-radius:100px;background:var(--accent);color:var(--white);font-weight:600;font-size:0.9rem;font-family:'Inter',sans-serif;gap:0.5rem;box-shadow:var(--shadow-accent);animation:fabPulse 2.5s ease-in-out infinite}
.fab__btn--cta:hover{background:var(--accent-dark);transform:translateY(-3px);box-shadow:0 12px 40px rgba(74,155,217,0.4)}
.fab__btn--cta span{display:inline}

@keyframes fabPulse{
  0%,100%{box-shadow:var(--shadow-accent)}
  50%{box-shadow:var(--shadow-accent),0 0 0 10px rgba(74,155,217,0.08)}
}

/* Tooltip labels */
.fab__btn--whatsapp::before,.fab__btn--phone::before{
  content:attr(title);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);
  padding:0.4rem 0.75rem;background:var(--navy);color:var(--white);font-size:0.75rem;font-weight:500;
  border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.2s ease
}
.fab__btn--whatsapp:hover::before,.fab__btn--phone:hover::before{opacity:1}

/* Parallax tilt on cards */
[data-tilt]{transition:transform 0.3s ease}

/* Animated gradient border */
.gradient-border{position:relative;border:none!important}
.gradient-border::before{content:'';position:absolute;inset:-1px;border-radius:var(--radius);background:linear-gradient(135deg,var(--accent),var(--navy),var(--accent));z-index:-1;opacity:0;transition:opacity 0.3s ease}
.gradient-border:hover::before{opacity:1}

/* Inline CTA bar */
.inline-cta{background:linear-gradient(135deg,var(--navy) 0%,var(--primary-light) 100%);padding:3rem 0;text-align:center}
.inline-cta .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}
.inline-cta__text{color:var(--white);font-family:'Poppins',sans-serif;font-size:1.25rem;font-weight:600}
.inline-cta__text span{color:var(--accent)}

/* Service page hero */
.service-hero{padding:8rem 0 4rem;background:linear-gradient(135deg,#f0f6fc 0%,#e4eff9 50%,#f0f6fc 100%);position:relative;overflow:hidden}
.service-hero__content{max-width:700px}
.service-hero__breadcrumb{font-size:0.8rem;color:var(--text-secondary);margin-bottom:1.5rem;display:flex;align-items:center;gap:0.4rem}
.service-hero__breadcrumb a{color:var(--accent);text-decoration:none}
.service-hero__breadcrumb a:hover{text-decoration:underline}
.service-hero h1{font-size:clamp(2rem,4vw,2.75rem);font-weight:800;color:var(--navy);margin-bottom:1rem;letter-spacing:-0.02em}
.service-hero p{font-size:1.1rem;color:var(--text-secondary);line-height:1.7;margin-bottom:2rem}
.service-hero__actions{display:flex;gap:0.75rem;flex-wrap:wrap}

/* Service page content */
.service-content{padding:5rem 0}
.service-content h2{font-size:1.5rem;font-weight:700;color:var(--navy);margin:2.5rem 0 1rem}
.service-content h2:first-child{margin-top:0}
.service-content p{color:var(--text-secondary);line-height:1.8;margin-bottom:1rem;font-size:0.95rem}
.service-content ul{padding-left:0;margin-bottom:1.5rem}
.service-content ul li{color:var(--text-secondary);font-size:0.95rem;line-height:1.8;padding:0.3rem 0 0.3rem 1.5rem;position:relative;list-style:none}
.service-content ul li::before{content:'';position:absolute;left:0;top:0.75rem;width:8px;height:8px;background:var(--accent);border-radius:50%}
.service-content__grid{display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:start}
.service-content__sidebar{position:sticky;top:100px}
.sidebar-cta{background:linear-gradient(135deg,var(--navy),var(--primary-light));border-radius:var(--radius);padding:2rem;color:var(--white);text-align:center}
.sidebar-cta h3{font-size:1.15rem;font-weight:700;margin-bottom:0.75rem}
.sidebar-cta p{font-size:0.9rem;color:rgba(255,255,255,0.7);margin-bottom:1.5rem;line-height:1.6}
.sidebar-cta .btn{width:100%;margin-bottom:0.5rem}
.sidebar-cta__phone{display:flex;align-items:center;justify-content:center;gap:0.5rem;color:var(--accent);font-weight:600;font-size:0.9rem;margin-top:1rem}
.sidebar-cta__phone a{color:var(--accent);text-decoration:none}
.sidebar-cta__phone a:hover{text-decoration:underline}

/* Service page image */
.service-content__image{border-radius:var(--radius);overflow:hidden;margin:2rem 0;box-shadow:var(--shadow-lg)}
.service-content__image img{width:100%;height:auto;display:block}

@media(max-width:768px){
  .service-content__grid{grid-template-columns:1fr}
  .service-content__sidebar{position:static;margin-top:2rem}
  .sticky-cta{bottom:1rem;right:1rem}
  .sticky-cta a{padding:0.7rem 1.25rem;font-size:0.85rem}
  .inline-cta .container{flex-direction:column;text-align:center}
}

/* Reduced Motion */
@media(prefers-reduced-motion:reduce){.reveal,.reveal-hero{opacity:1;transform:none;animation:none;transition:none}.hero__orb,.hero__scroll-wheel,.hero__badge-dot,.marquee__track{animation:none}}

/* Responsive */
@media(max-width:1024px){
  .split{grid-template-columns:1fr;gap:3rem}
  .split--reverse{direction:ltr}
  .split__visual{order:-1}
  .services__grid{grid-template-columns:repeat(2,1fr)}
  .reviews__grid{grid-template-columns:repeat(2,1fr)}
  .reviews__grid .review-card:nth-child(3){grid-column:1/-1;max-width:500px;margin:0 auto}
  .contact__grid{grid-template-columns:1fr;gap:2.5rem}
  .footer__grid{grid-template-columns:1fr 1fr;gap:2rem}
  .footer__brand{grid-column:1/-1}
  .numbers__grid{grid-template-columns:repeat(2,1fr);gap:2rem 3rem}
  .funnel__options{grid-template-columns:repeat(2,1fr)}
  .timeline{flex-wrap:wrap;gap:1.5rem}
  .timeline__step{min-width:200px}
}
@media(max-width:768px){
  .container{padding:0 1.25rem}
  .section{padding:5rem 0}
  .hamburger{display:flex}
  .nav{position:fixed;top:0;right:-100%;width:300px;height:100vh;background:var(--white);box-shadow:-8px 0 30px rgba(0,0,0,0.1);transition:right 0.35s cubic-bezier(0.4,0,0.2,1);z-index:1000;padding:100px 1.5rem 2rem}
  .nav.open{right:0}
  .nav__list{flex-direction:column;gap:0.25rem}
  .nav__link{display:block;padding:0.85rem 1rem;color:var(--text)!important;font-size:1rem;border-radius:var(--radius-sm)}
  .nav__link:hover,.nav__link.active{background:var(--accent-light)!important;color:var(--accent)!important}
  .nav__link--cta{text-align:center;margin-top:0.5rem}
  .nav::before{content:'';position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.35);opacity:0;transition:opacity 0.3s ease;pointer-events:none;z-index:-1}
  .nav.open::before{opacity:1;pointer-events:all}
  .hero__split{grid-template-columns:1fr;gap:2rem;padding:7rem 0 3rem;min-height:auto}
  .hero__left{text-align:center}
  .hero__subtitle{margin-left:auto;margin-right:auto}
  .hero__actions{justify-content:center}
  .hero__trust{justify-content:center}
  .hero__right{order:-1}
  .hero__img-wrapper{max-width:300px;margin:0 auto}
  .hero__title{font-size:2rem}
  .services__grid{grid-template-columns:1fr}
  .reviews__grid{grid-template-columns:1fr}
  .reviews__grid .review-card:nth-child(3){max-width:100%}
  .timeline{flex-direction:column;align-items:center}
  .timeline__step{max-width:100%}
  .footer__bottom{flex-direction:column;gap:1rem;text-align:center}
  .footer__grid{grid-template-columns:1fr}
  .funnel__multi-check{grid-template-columns:1fr}
  .form__row{grid-template-columns:1fr}
}
@media(max-width:480px){
  .hero__actions{flex-direction:column;align-items:center}
  .hero__actions .btn{width:100%;max-width:300px}
  .hero__trust{flex-direction:column;align-items:center}
  .numbers__grid{grid-template-columns:repeat(2,1fr)}
  .footer__legal{flex-direction:column;align-items:center;gap:0.5rem}
  .funnel__options{grid-template-columns:1fr 1fr}
}
