:root{
  --bg:#f7f8fa;
  --surface:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --line:rgba(15,23,42,.10);
  --accent:#4da3ff;
  --accent2:#2d5fb8;
  --wa:#25D366;
  --wa-dark:#128C7E;
  --shadow:0 22px 60px rgba(2,6,23,.10);
  --shadow2:0 14px 35px rgba(2,6,23,.08);
  --radius:16px;
  --radius-lg:22px;
}
*{box-sizing:border-box}
html,body{overflow-x:hidden}
img{max-width:100%;height:auto}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  color:var(--text);
  background:
    radial-gradient(1200px 700px at 10% 0%, rgba(77,163,255,.10), transparent 62%),
    radial-gradient(1000px 500px at 92% 10%, rgba(45,95,184,.10), transparent 60%),
    linear-gradient(180deg,#f9fbff, var(--bg));
}
.container{max-width:1160px;margin:0 auto;padding:20px}
a{color:inherit}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hide-sm{display:inline-flex}
.show-sm{display:none}

/* Header */
.topbar{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--line);
}
.topbar__inner{display:flex;align-items:center;gap:14px;justify-content:space-between}
.brand{
  text-decoration:none;color:var(--text);
  padding:8px 10px;border-radius:14px;display:flex;align-items:center;
  flex:0 0 auto;
}
.brand::before{display:none!important;content:none!important}
.brand__logo{display:block;height:58px;width:auto;object-fit:contain}
.nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-width:0}
.nav a{
  color:rgba(15,23,42,.86);text-decoration:none;font-weight:650;font-size:14px;
  padding:10px 10px;border-radius:12px;white-space:nowrap;
}
.nav a:hover{background:rgba(15,23,42,.06)}
.topbar__actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 16px;border-radius:999px;
  background:linear-gradient(135deg,var(--accent2), var(--accent));
  color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.12);
  font-weight:850;box-shadow:0 14px 34px rgba(11,18,32,.16);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 18px 44px rgba(11,18,32,.20);filter:saturate(112%)}
.btn--ghost{background:rgba(255,255,255,.92);color:var(--text);border:1px solid var(--line);box-shadow:none}
.btn--wa{background:linear-gradient(135deg,var(--wa-dark),var(--wa));border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 34px rgba(18,140,126,.18);color:#fff}
.btn--wa::before,.btn--wa::after{content:none!important}
.wa-icon{display:inline-block;vertical-align:middle;flex:0 0 auto}
.iconbtn{
  width:46px;height:46px;border-radius:16px;border:1px solid var(--line);
  background:rgba(255,255,255,.92);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;
}
.iconbtn__lines{width:18px;height:12px;position:relative;display:block}
.iconbtn__lines::before,.iconbtn__lines::after{content:"";position:absolute;left:0;right:0;height:2px;border-radius:2px;background:rgba(15,23,42,.85)}
.iconbtn__lines::before{top:0}.iconbtn__lines::after{bottom:0}
.iconbtn__x{width:16px;height:16px;position:relative;display:block}
.iconbtn__x::before,.iconbtn__x::after{content:"";position:absolute;left:0;right:0;top:7px;height:2px;border-radius:2px;background:rgba(15,23,42,.85)}
.iconbtn__x::before{transform:rotate(45deg)}.iconbtn__x::after{transform:rotate(-45deg)}

.drawer{position:fixed;inset:0;z-index:90;display:none}
.drawer.is-open{display:block}
.drawer__overlay{position:absolute;inset:0;background:rgba(2,6,23,.44)}
.drawer__panel{position:absolute;top:0;right:0;height:100%;width:min(92vw,360px);background:#fff;border-left:1px solid var(--line);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:12px}
.drawer__top{display:flex;align-items:center;justify-content:space-between}.drawer__brand{font-weight:950}
.drawer__links{display:flex;flex-direction:column;gap:6px;overflow:auto;padding-right:4px}.drawer__link{padding:12px 10px;border-radius:14px;text-decoration:none;font-weight:750;border:1px solid transparent}.drawer__link:hover{background:rgba(15,23,42,.04);border-color:rgba(15,23,42,.06)}
.drawer__ctas{display:grid;gap:10px;margin-top:auto}

/* Content */
.content{padding-top:12px;padding-bottom:86px}
.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(15,23,42,.65);padding:8px 6px 0}.crumbs a{text-decoration:none;color:rgba(37,99,235,.92);font-weight:700}.crumbs__sep{opacity:.7}
.hero{
  border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;
  background:
    radial-gradient(900px 420px at 12% 0%, rgba(77,163,255,.10), transparent 60%),
    radial-gradient(760px 380px at 88% 8%, rgba(45,95,184,.10), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.90), rgba(246,247,251,.90)),
    url('/assets/img/hero.webp');
  box-shadow:var(--shadow);background-size:cover;background-position:center;background-repeat:no-repeat;
  position:relative;overflow:hidden;margin-bottom:18px;
}
.hero--small{padding:22px}.hero__content{max-width:920px}
h1{font-size:44px;line-height:1.05;margin:0 0 10px;letter-spacing:-.04em}
.lead{font-size:18px;color:var(--muted);margin:0 0 14px}.hero__btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.badge{font-size:12px;font-weight:800;padding:8px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.78)}
.trustbar{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.trust{border:1px solid var(--line);border-radius:18px;padding:12px;background:rgba(255,255,255,.88);box-shadow:var(--shadow2);display:flex;gap:10px;min-width:0}
.trust__icon{width:32px;height:32px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(77,163,255,.12);font-weight:950}
.trust__title{font-weight:900}.trust__desc{font-size:13px;color:var(--muted);margin-top:2px}
.section{margin-top:16px;border:1px solid var(--line);background:rgba(255,255,255,.92);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow2);overflow:hidden}
h2{margin:0 0 10px;font-size:20px;letter-spacing:-.02em}p{margin:0 0 10px}.ul{margin:0;padding-left:18px}.ul li{margin:8px 0}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.card{border:1px solid var(--line);border-radius:20px;padding:14px;background:linear-gradient(180deg,rgba(246,247,251,.92),rgba(255,255,255,.96));display:flex;gap:12px;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;min-width:0}
.card:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(2,6,23,.12);border-color:rgba(77,163,255,.22)}
.card__icon{width:34px;height:34px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(77,163,255,.12);font-weight:950;flex:0 0 auto;color:rgba(45,95,184,.95)}
.card__icon svg{width:18px;height:18px}.card__text{font-weight:720;min-width:0}.card--link{color:inherit;text-decoration:none}.card--link .card__title{font-weight:900;margin-bottom:4px}.card--link .card__sub{font-size:13px;color:var(--muted)}
.reviews__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review{border:1px solid var(--line);border-radius:20px;padding:14px;background:rgba(255,255,255,.96);min-width:0}.review__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.review__name{font-weight:950}.review__stars{letter-spacing:1px;font-weight:900}.review__text{color:rgba(15,23,42,.80)}.review__src a{font-size:12px;color:rgba(37,99,235,.92);text-decoration:none;font-weight:750}
.faq details{border:1px solid var(--line);background:rgba(255,255,255,.96);border-radius:18px;padding:12px;margin:10px 0}.faq summary{cursor:pointer;font-weight:900}.faq__a{margin-top:8px;color:var(--muted)}
.form label{display:block;font-size:13px;color:rgba(15,23,42,.70);font-weight:800;margin:0 0 6px}.form input,.form textarea,.form select{width:100%;padding:12px;border-radius:14px;border:1px solid rgba(15,23,42,.14);background:rgba(255,255,255,.98);font:inherit;outline:none}.form input:focus,.form textarea:focus,.form select:focus{border-color:rgba(77,163,255,.45);box-shadow:0 0 0 4px rgba(77,163,255,.12)}.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.small{font-size:12px}.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.muted{color:var(--muted)}
.notice{margin-top:14px;padding:12px 14px;border-radius:18px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow2)}.notice--ok{border-color:rgba(22,163,74,.25)}.notice--err{border-color:rgba(220,38,38,.25)}
.footer{border-top:1px solid var(--line);background:rgba(255,255,255,.78);backdrop-filter:saturate(160%) blur(10px)}.footer__inner{display:grid;grid-template-columns:1.2fr .8fr .8fr 1.2fr;gap:18px;padding:18px 0}.footer__brand{font-weight:950}.footer__title{font-weight:950;margin-bottom:8px}.footer__col a{display:block;color:rgba(15,23,42,.78);text-decoration:none;margin:8px 0;font-weight:700;font-size:13px}.footer__col a:hover{color:rgba(37,99,235,.95)}.footer__mini{font-size:13px;color:rgba(15,23,42,.70)}

/* Gallery / Projects */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}
.gallery__item{margin:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.96);transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;min-width:0}
.gallery__item:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(2,6,23,.12);border-color:rgba(77,163,255,.22)}
.gallery__media{position:relative}.gallery__media img{display:block;width:100%;height:220px;object-fit:cover}.gallery__tag{position:absolute;left:12px;top:12px;font-size:12px;font-weight:900;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid var(--line)}.gallery__cap{padding:12px 14px;color:rgba(15,23,42,.78);font-weight:750;font-size:13px}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}.step{border:1px solid var(--line);border-radius:20px;padding:14px;background:rgba(255,255,255,.96);display:flex;gap:12px;min-width:0}.step__n{width:38px;height:38px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(77,163,255,.12);font-weight:950;flex:0 0 auto}.step__t{font-weight:950;margin-bottom:4px}.step__d{color:var(--muted);font-size:13px;line-height:1.45}

/* Sticky CTA */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(247,248,250,.92);border-top:1px solid var(--line);backdrop-filter:blur(10px);padding:6px 0}
.sticky-cta__wrap{padding-top:0!important;padding-bottom:0!important}
.sticky-cta__inner{display:flex;gap:10px;width:100%}
.sticky-cta__btn{flex:1;text-align:center;padding:10px 12px;border-radius:18px;min-height:44px;background:linear-gradient(135deg,var(--accent2), var(--accent));color:#fff;text-decoration:none;font-weight:950;box-shadow:0 14px 34px rgba(11,18,32,.16);display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
.sticky-cta__btn--wa{background:linear-gradient(135deg,var(--wa-dark),var(--wa));border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 34px rgba(18,140,126,.18)}

/* remove whatsapp from hero trust strip only */
.hero .trust-strip__wa,
.hero .trust-strip a[href*="wa.me"],
.hero .trust-strip a[href*="whatsapp"]{display:none!important}

/* Responsive */
@media (max-width:1060px){.nav{display:none}.hide-sm{display:none}.show-sm{display:inline-flex}}
@media (max-width:980px){h1{font-size:36px}.cards{grid-template-columns:1fr}.reviews__grid{grid-template-columns:1fr}.trustbar{grid-template-columns:1fr}.form__grid{grid-template-columns:1fr}.footer__inner{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr}.gallery__media img{height:200px}.steps{grid-template-columns:1fr}}
@media (max-width:560px){.footer__inner{grid-template-columns:1fr}}

/* Mobile header: logo + WhatsApp on first row, menu right; Call on second row */
@media (max-width:720px){
  .container{padding:14px}
  .topbar{overflow:hidden}
  .topbar__inner{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    gap:10px 10px;
    align-items:center;
  }

  .brand{
    grid-column:1;
    grid-row:1;
    padding:0;
    margin:0;
    justify-self:start;
    min-width:0;
  }
  .brand__logo{
    height:44px;
    width:auto;
    max-width:122px;
    display:block;
  }

  .nav{display:none!important}

  .topbar__actions{display:contents}

  .topbar__actions .btn--wa{
    grid-column:2;
    grid-row:1;
    width:100%;
    min-width:0;
    max-width:none;
    justify-content:center;
    padding:11px 14px;
    font-size:15px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    margin:0;
  }

  .topbar__actions .iconbtn{
    grid-column:3;
    grid-row:1;
    justify-self:end;
    align-self:center;
    width:48px;
    height:48px;
    margin:0;
    position:static;
    border-color:rgba(45,95,184,.18);
    box-shadow:0 8px 22px rgba(15,23,42,.08);
    background:rgba(255,255,255,.98);
  }
  .topbar__actions .iconbtn__lines::before,
  .topbar__actions .iconbtn__lines::after{
    background:rgba(45,95,184,.88);
    height:2.5px;
  }

  .topbar__actions .btn:not(.btn--wa){
    grid-column:1 / -1;
    grid-row:2;
    width:100%;
    max-width:none;
    justify-content:center;
    padding:12px 16px;
    font-size:16px;
    white-space:nowrap;
    margin:0;
  }

  .topbar__actions .btn--wa::before,
  .topbar__actions .btn--wa::after{
    content:none!important;
  }
  .topbar__actions .btn--wa span{display:inline!important;font-size:inherit!important}

  .content{padding-top:10px;padding-bottom:84px}
  .sticky-cta{padding:8px 0}
  .sticky-cta__btn{min-height:46px}
  .sticky-cta .wa-icon{display:none!important}
}

/* ===== HERO CLEANUP: keep only Chiama subito in hero ===== */
.hero .hero__btns .btn--wa,
.hero .hero__btns .btn--ghost,
.hero .hero__btns a[href*="wa.me"],
.hero .hero__btns a[href*="whatsapp"]{
  display:none !important;
}
.hero .trust-strip__wa,
.hero .trust-strip a[href*="wa.me"],
.hero .trust-strip a[href*="whatsapp"],
.hero .notice a[href*="wa.me"],
.hero .notice a[href*="whatsapp"]{
  display:none !important;
}

/* smaller badges / cleaner mobile hero */
@media (max-width:720px){
  .badges{gap:8px !important}
  .badge{font-size:11px !important;padding:8px 10px !important}
  .hero{padding:22px 18px 18px !important}
  h1{font-size:34px !important;line-height:1.04 !important}
  .lead{font-size:16px !important;line-height:1.5 !important}
}

@media (max-width: 720px){
  .hero{
    padding-bottom: 18px !important;
  }

  .hero .hero__btns{
    margin-bottom: 8px !important;
  }

  .hero .badges{
    gap: 6px !important;
    margin-top: 10px !important;
  }

  .hero .badge{
    font-size: 11px !important;
    padding: 7px 10px !important;
  }

  .hero .notice,
  .hero .trust-strip{
    margin-top: 10px !important;
  }
}

/* ===== Premium blue refresh ===== */
:root{
  --accent:#3b82f6;
  --accent2:#1d4ed8;
  --shadow:0 22px 60px rgba(30,64,175,.12);
  --shadow2:0 14px 35px rgba(30,64,175,.08);
}

.btn:not(.btn--wa),
.sticky-cta__btn:not(.sticky-cta__btn--wa){
  background:linear-gradient(135deg,#2563eb,#60a5fa) !important;
  box-shadow:0 14px 34px rgba(37,99,235,.18) !important;
}

.btn:not(.btn--wa):hover,
.sticky-cta__btn:not(.sticky-cta__btn--wa):hover{
  box-shadow:0 18px 40px rgba(37,99,235,.24) !important;
}

.brand img{
  filter: drop-shadow(0 6px 18px rgba(37,99,235,.10));
}

/* ===== Servizi principali - premium polish ===== */
.section h2{
  letter-spacing:-.03em;
}

.cards{
  gap:14px !important;
}

.card{
  border-radius:22px !important;
  padding:16px 16px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,248,252,.96)) !important;
  border:1px solid rgba(37,99,235,.10) !important;
  box-shadow:0 10px 24px rgba(15,23,42,.05) !important;
  align-items:center !important;
}

.card:hover{
  transform:translateY(-3px) !important;
  border-color:rgba(59,130,246,.22) !important;
  box-shadow:0 18px 34px rgba(37,99,235,.10) !important;
}

.card__icon{
  width:42px !important;
  height:42px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg, rgba(219,234,254,.95), rgba(239,246,255,.98)) !important;
  color:#2563eb !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8) !important;
  flex:0 0 42px !important;
}

.card__icon svg{
  width:20px !important;
  height:20px !important;
}

.card__text{
  font-weight:800 !important;
  line-height:1.25 !important;
}

.card__title{
  font-size:16px !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
  margin-bottom:2px !important;
}

.card__sub{
  font-size:13px !important;
  color:var(--muted) !important;
  line-height:1.45 !important;
}

.card--link{
  text-decoration:none !important;
  color:inherit !important;
}

/* mobil */
@media (max-width: 720px){
  .section{
    border-radius:20px !important;
    padding:16px !important;
  }

  .cards{
    gap:12px !important;
  }

  .card{
    padding:15px 14px !important;
    border-radius:20px !important;
  }

  .card__icon{
    width:40px !important;
    height:40px !important;
    flex:0 0 40px !important;
  }

  .card__title,
  .card__text{
    font-size:15px !important;
  }
}

/* ===== Come funziona - premium polish ===== */
.steps{
  gap:14px !important;
}

.step{
  border:1px solid rgba(37,99,235,.10) !important;
  border-radius:22px !important;
  padding:16px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,248,252,.96)) !important;
  box-shadow:0 10px 24px rgba(15,23,42,.05) !important;
  align-items:flex-start !important;
}

.step:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 34px rgba(37,99,235,.10);
  border-color:rgba(59,130,246,.22) !important;
}

.step__n{
  width:42px !important;
  height:42px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg, rgba(219,234,254,.95), rgba(239,246,255,.98)) !important;
  color:#2563eb !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85) !important;
  flex:0 0 42px !important;
  font-size:15px !important;
}

.step__t{
  font-size:16px !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
  margin-bottom:4px !important;
}

.step__d{
  font-size:13px !important;
  line-height:1.5 !important;
  color:var(--muted) !important;
}

/* ===== Lavori recenti - premium polish ===== */
.gallery{
  gap:14px !important;
}

.gallery__item{
  border-radius:22px !important;
  border:1px solid rgba(37,99,235,.10) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,248,252,.96)) !important;
  box-shadow:0 10px 24px rgba(15,23,42,.05) !important;
  overflow:hidden !important;
}

.gallery__item:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 18px 34px rgba(37,99,235,.10) !important;
  border-color:rgba(59,130,246,.22) !important;
}

.gallery__media{
  position:relative;
  overflow:hidden;
}

.gallery__media img{
  width:100% !important;
  height:220px !important;
  object-fit:cover !important;
  display:block !important;
  transition:transform .35s ease !important;
}

.gallery__item:hover .gallery__media img{
  transform:scale(1.03);
}

.gallery__tag{
  top:12px !important;
  left:12px !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(37,99,235,.10) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
  font-size:12px !important;
  font-weight:900 !important;
  color:var(--text) !important;
}

.gallery__cap{
  padding:13px 14px 14px !important;
  font-size:13px !important;
  line-height:1.45 !important;
  color:var(--muted) !important;
  font-weight:700 !important;
}

/* ===== mobile polish ===== */
@media (max-width: 720px){
  .steps,
  .gallery{
    gap:12px !important;
  }

  .step,
  .gallery__item{
    border-radius:20px !important;
  }

  .step{
    padding:15px !important;
  }

  .step__n{
    width:40px !important;
    height:40px !important;
    flex:0 0 40px !important;
  }

  .gallery__media img{
    height:190px !important;
  }

  .gallery__cap{
    padding:12px 13px 13px !important;
  }
}

/* ===== Gallery cleanup ===== */
.gallery__media::after{
  display:none !important;
}
.gallery__media .placeholder,
.gallery__media .project-photo-label,
.gallery__media .gallery__placeholder,
.gallery__media span,
.gallery__media p{
  display:none !important;
}
.gallery__cap{
  font-size:14px !important;
  font-weight:800 !important;
  color:#5b677d !important;
}
.gallery__tag{
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 10px 24px rgba(15,23,42,.10) !important;
}

/* ===== Desktop polish final ===== */
@media (min-width: 981px){
  .topbar{
    background: rgba(255,255,255,.82) !important;
    border-bottom: 1px solid rgba(15,23,42,.08) !important;
  }

  .topbar__inner{
    min-height: 76px;
    gap: 18px !important;
  }

  .brand img{
    height: 50px !important;
    max-width: none !important;
  }

  .nav{
    gap: 8px !important;
  }

  .nav a{
    font-size: 14px !important;
    padding: 9px 10px !important;
    border-radius: 12px !important;
  }

  .topbar__cta{
    gap: 10px !important;
    align-items: center !important;
  }

  .topbar__cta .btn{
    padding: 10px 16px !important;
    font-size: 14px !important;
  }

  .hero{
    padding: 32px 32px 28px !important;
    border-radius: 24px !important;
  }

  .hero__content{
    max-width: 860px !important;
  }

  h1{
    font-size: 54px !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
  }

  .lead{
    font-size: 20px !important;
    line-height: 1.55 !important;
    max-width: 900px !important;
  }

  .badges{
    gap: 10px !important;
  }

  .badge{
    font-size: 12px !important;
    padding: 9px 12px !important;
    border-radius: 999px !important;
  }

  .section{
    margin-top: 20px !important;
    border-radius: 24px !important;
    padding: 22px !important;
  }

  .sticky-cta{
    padding: 6px 0 !important;
  }

  .sticky-cta__inner{
    gap: 12px !important;
  }

  .sticky-cta__btn{
    min-height: 44px !important;
    padding: 10px 14px !important;
    border-radius: 16px !important;
    font-size: 15px !important;
  }

  .footer__inner{
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
}

/* ===== Desktop polish: reviews + faq + final cta + footer ===== */
@media (min-width: 981px){
  .review{
    border-radius: 22px !important;
    border: 1px solid rgba(37,99,235,.08) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,255,.96)) !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.04) !important;
    padding: 16px 16px 14px !important;
  }

  .review:hover{
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(37,99,235,.08) !important;
    border-color: rgba(59,130,246,.18) !important;
  }

  .review__name{
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: -.01em !important;
  }

  .review__stars{
    font-size: 14px !important;
    letter-spacing: 1.5px !important;
  }

  .review__text{
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: #475569 !important;
  }

  .review__src a{
    font-size: 12px !important;
    font-weight: 800 !important;
  }

  .faq details{
    border-radius: 18px !important;
    border: 1px solid rgba(37,99,235,.08) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,255,.96)) !important;
    box-shadow: 0 8px 20px rgba(15,23,42,.03) !important;
    padding: 14px 16px !important;
  }

  .faq summary{
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: -.01em !important;
  }

  .faq__a{
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: #55657d !important;
    margin-top: 10px !important;
  }

  .cta-box,
  .cta-box__inner{
    border-radius: 24px !important;
  }

  .cta-box__inner{
    padding: 22px !important;
    align-items: center !important;
  }

  .cta-box__inner h2,
  .cta-box h2{
    font-size: 32px !important;
    letter-spacing: -.03em !important;
    margin-bottom: 8px !important;
  }

  .cta-box__inner p,
  .cta-box p{
    font-size: 17px !important;
    color: var(--muted) !important;
  }

  .cta-box__btns .btn,
  .cta-box .btn{
    padding: 12px 18px !important;
    font-size: 15px !important;
    border-radius: 16px !important;
  }

  .footer{
    margin-top: 26px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,248,252,.98)) !important;
  }

  .footer__inner{
    gap: 28px !important;
  }

  .footer__brand{
    font-size: 30px !important;
    letter-spacing: -.03em !important;
  }

  .footer__title{
    font-size: 20px !important;
    letter-spacing: -.02em !important;
    margin-bottom: 10px !important;
  }

  .footer__col a,
  .footer__mini{
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .footer__col p{
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: #55657d !important;
  }
}

.cta-box a[href*="wa.me"],
.cta-box a[href*="whatsapp"],
.cta-box__inner a[href*="wa.me"],
.cta-box__inner a[href*="whatsapp"]{
  background: linear-gradient(135deg,#128C7E,#25D366) !important;
  color:#fff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 14px 34px rgba(18,140,126,.18) !important;
}

/* ===== PREMIUM INTERNAL PAGES LOOK ===== */
body{
  background:
    radial-gradient(1200px 700px at 10% 0%, rgba(59,130,246,.10), transparent 62%),
    radial-gradient(900px 500px at 92% 10%, rgba(37,99,235,.08), transparent 60%),
    linear-gradient(180deg,#f8fbff 0%, #f3f6fb 100%) !important;
}

.section{
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,255,.94)) !important;
  border:1px solid rgba(59,130,246,.08) !important;
  box-shadow:
    0 10px 30px rgba(15,23,42,.04),
    0 1px 0 rgba(255,255,255,.7) inset !important;
  border-radius:24px !important;
}

.section h2{
  font-size: 18px !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
  position: relative;
  padding-left: 14px;
}

.section h2::before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  bottom:4px;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg,#60a5fa,#2563eb);
  box-shadow:0 6px 16px rgba(37,99,235,.18);
}

.card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,255,.96)) !important;
  border:1px solid rgba(59,130,246,.10) !important;
  box-shadow:
    0 8px 18px rgba(15,23,42,.04),
    0 1px 0 rgba(255,255,255,.8) inset !important;
  border-radius:20px !important;
}

.card:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(59,130,246,.18) !important;
  box-shadow:
    0 16px 30px rgba(37,99,235,.08),
    0 1px 0 rgba(255,255,255,.85) inset !important;
}

.card__icon{
  background:linear-gradient(180deg,#eef5ff,#dbeafe) !important;
  color:#2563eb !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85),
    0 6px 14px rgba(37,99,235,.08) !important;
}

.hero{
  background:
    radial-gradient(900px 420px at 12% 0%, rgba(96,165,250,.14), transparent 60%),
    radial-gradient(760px 380px at 88% 8%, rgba(37,99,235,.10), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(245,248,253,.92)),
    url('/assets/img/hero.webp') !important;
  border:1px solid rgba(59,130,246,.10) !important;
  box-shadow:
    0 18px 42px rgba(15,23,42,.06),
    0 1px 0 rgba(255,255,255,.75) inset !important;
}

.badge{
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(59,130,246,.10) !important;
  box-shadow:0 6px 14px rgba(15,23,42,.04) !important;
}

.faq details{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,255,.96)) !important;
  border:1px solid rgba(59,130,246,.08) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.03) !important;
  border-radius:18px !important;
}

.review{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,255,.96)) !important;
  border:1px solid rgba(59,130,246,.08) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.03) !important;
  border-radius:20px !important;
}

.cta-box,
.cta-box__inner{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,255,.96)) !important;
  border-radius:24px !important;
}

@media (max-width: 720px){
  .section{
    border-radius:20px !important;
  }

  .section h2{
    font-size:17px !important;
    padding-left:12px;
  }

  .card,
  .review,
  .faq details{
    border-radius:18px !important;
  }
}

/* ===== Footer contact polish ===== */
.footer__hours{
  margin:6px 0 0 !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

.footer__mini a{
  white-space:nowrap;
}

/* ===== Contact page quick buttons ===== */
.cta-box__btns{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:8px;
}

.cta-box__btns .btn{
  min-width:180px;
}

@media (max-width: 720px){
  .cta-box__btns{
    display:grid;
    grid-template-columns:1fr;
  }

  .cta-box__btns .btn{
    width:100%;
    min-width:0;
  }
}

/* ===== Final consistency polish ===== */
.card--link{
  text-decoration:none !important;
  color:inherit !important;
}

.card--link .card__title{
  transition:color .18s ease;
}

.card--link:hover .card__title{
  color:#2563eb;
}

.section p,
.section .faq__a,
.section .review__text{
  max-width: 78ch;
}

.cta-box__inner{
  gap:18px !important;
}

.cta-box__btns{
  align-items:center;
}

@media (max-width: 720px){
  .footer__brand{
    font-size:24px !important;
  }

  .footer__title{
    font-size:17px !important;
  }

  .footer__col a,
  .footer__mini,
  .footer__hours,
  .footer__col p{
    font-size:13px !important;
  }
}

body{
  padding-bottom: 50px !important;
}

@media (max-width: 720px){
  body{
    padding-bottom: 50px !important;
  }
}

/* ===== Cookie banner ===== */
.cookiebar{
  position:fixed;
  left:16px;
  right:16px;
  bottom:60px;
  z-index:120;
  display:flex;
  justify-content:center;
  pointer-events:none;
}

.cookiebar__inner{
  width:min(980px, 100%);
  pointer-events:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border-radius:20px;
  border:1px solid rgba(59,130,246,.12);
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  box-shadow:0 18px 40px rgba(15,23,42,.12);
}

.cookiebar__text{
  font-size:13px;
  line-height:1.55;
  color:#475569;
}

.cookiebar__text a{
  color:#2563eb;
  font-weight:800;
  text-decoration:none;
  margin-left:8px;
}

.cookiebar__text a:hover{
  text-decoration:underline;
}

.cookiebar__actions{
  display:flex;
  gap:10px;
  flex:0 0 auto;
}

.cookiebar__btn{
  border:0;
  cursor:pointer;
  padding:10px 14px;
  border-radius:999px;
  font:inherit;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#60a5fa);
  box-shadow:0 12px 26px rgba(37,99,235,.18);
}

.cookiebar__btn--ghost{
  background:#fff;
  color:#0f172a;
  border:1px solid rgba(15,23,42,.10);
  box-shadow:none;
}

.cookiebar.is-hidden{
  opacity:0;
  transform:translateY(10px);
  transition:all .22s ease;
}

@media (max-width: 720px){
  .cookiebar{
    left:10px;
    right:10px;
    bottom:65px;
  }

  .cookiebar__inner{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    padding:13px 14px;
    border-radius:18px;
  }

  .cookiebar__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .cookiebar__btn{
    width:100%;
    justify-content:center;
  }
}

/* ===== SAFE premium effects ===== */
.card,
.step,
.gallery__item,
.review,
.faq details{
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease;
}

.card:hover,
.step:hover,
.gallery__item:hover,
.review:hover,
.faq details:hover{
  transform:translateY(-2px);
}

.card:active,
.step:active,
.gallery__item:active,
.review:active{
  transform:translateY(-1px) scale(.995);
}

@media (max-width: 720px){
  .drawer__overlay{
    background:rgba(7,12,22,.52);
    backdrop-filter:blur(4px);
  }

  .drawer__panel{
    background:
      linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,255,.98));
    border-left:1px solid rgba(59,130,246,.10);
    box-shadow:
      -10px 0 40px rgba(15,23,42,.12),
      0 1px 0 rgba(255,255,255,.85) inset;
  }

  .drawer__top{
    padding-bottom:8px;
    border-bottom:1px solid rgba(59,130,246,.08);
  }

  .drawer__brand{
    font-size:18px;
    font-weight:950;
    letter-spacing:-.03em;
    color:#0f172a;
  }

  .drawer__links{
    gap:8px;
    margin-top:6px;
  }

  .drawer__link{
    position:relative;
    padding:14px 14px 14px 16px;
    border-radius:16px;
    border:1px solid rgba(59,130,246,.08);
    background:
      linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,255,.94));
    box-shadow:
      0 6px 16px rgba(15,23,42,.03),
      0 1px 0 rgba(255,255,255,.85) inset;
    font-weight:850;
    color:#0f172a;
    transition:
      transform .18s ease,
      box-shadow .18s ease,
      border-color .18s ease,
      background .18s ease;
  }

  .drawer__link::before{
    content:"";
    position:absolute;
    left:0;
    top:10px;
    bottom:10px;
    width:4px;
    border-radius:999px;
    background:linear-gradient(180deg,#60a5fa,#2563eb);
    box-shadow:0 6px 14px rgba(37,99,235,.18);
    opacity:.92;
  }

  .drawer__link:hover,
  .drawer__link:active{
    transform:translateY(-1px);
    border-color:rgba(59,130,246,.16);
    box-shadow:
      0 14px 24px rgba(37,99,235,.08),
      0 1px 0 rgba(255,255,255,.9) inset;
  }

  .drawer__ctas{
    gap:10px;
    padding-top:10px;
    border-top:1px solid rgba(59,130,246,.08);
  }

  .drawer__ctas .btn{
    min-height:48px;
    border-radius:16px;
  }

  .topbar__actions .iconbtn{
    transition:
      transform .18s ease,
      box-shadow .18s ease,
      border-color .18s ease,
      background .18s ease;
  }

  .topbar__actions .iconbtn:hover,
  .topbar__actions .iconbtn:active{
    transform:translateY(-1px);
    border-color:rgba(59,130,246,.24);
    box-shadow:0 12px 24px rgba(37,99,235,.10);
    background:rgba(255,255,255,.995);
  }
}

/* respect pentru utilizatori cu reduced motion */
@media (prefers-reduced-motion: reduce){
  .card,
  .step,
  .gallery__item,
  .review,
  .faq details,
  .drawer__link,
  .topbar__actions .iconbtn{
    transition:none !important;
    transform:none !important;
  }
}

/* ===== Premium staggered menu ===== */
.drawer{
  opacity:0;
  transition:opacity .22s ease;
}

.drawer.is-open{
  opacity:1;
}

.drawer__panel{
  transform:translateX(26px) scale(.985);
  opacity:0;
  transition:
    transform .28s cubic-bezier(.22,.61,.36,1),
    opacity .28s ease;
}

.drawer.is-open .drawer__panel{
  transform:translateX(0) scale(1);
  opacity:1;
}

.drawer__link{
  opacity:0;
  transform:translateY(12px) scale(.97);
}

.drawer.is-open .drawer__link{
  animation:drawerItemIn .42s cubic-bezier(.22,.61,.36,1) forwards;
}

.drawer.is-open .drawer__link:nth-child(1){animation-delay:.04s}
.drawer.is-open .drawer__link:nth-child(2){animation-delay:.08s}
.drawer.is-open .drawer__link:nth-child(3){animation-delay:.12s}
.drawer.is-open .drawer__link:nth-child(4){animation-delay:.16s}
.drawer.is-open .drawer__link:nth-child(5){animation-delay:.20s}
.drawer.is-open .drawer__link:nth-child(6){animation-delay:.24s}
.drawer.is-open .drawer__link:nth-child(7){animation-delay:.28s}
.drawer.is-open .drawer__link:nth-child(8){animation-delay:.32s}
.drawer.is-open .drawer__link:nth-child(9){animation-delay:.36s}
.drawer.is-open .drawer__link:nth-child(10){animation-delay:.40s}
.drawer.is-open .drawer__link:nth-child(11){animation-delay:.44s}
.drawer.is-open .drawer__link:nth-child(12){animation-delay:.48s}

.drawer__ctas .btn{
  opacity:0;
  transform:translateY(14px) scale(.97);
}

.drawer.is-open .drawer__ctas .btn{
  animation:drawerItemIn .42s cubic-bezier(.22,.61,.36,1) forwards;
}

.drawer.is-open .drawer__ctas .btn:nth-child(1){animation-delay:.20s}
.drawer.is-open .drawer__ctas .btn:nth-child(2){animation-delay:.28s}
.drawer.is-open .drawer__ctas .btn:nth-child(3){animation-delay:.36s}

@keyframes drawerItemIn{
  from{
    opacity:0;
    transform:translateY(12px) scale(.97);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce){
  .drawer,
  .drawer__panel,
  .drawer__link,
  .drawer__ctas .btn{
    transition:none !important;
    animation:none !important;
    transform:none !important;
    opacity:1 !important;
  }
}

/* ===== Desktop menu premium ===== */
@media (min-width: 1061px){
  .nav{
    gap:10px !important;
  }

  .nav a{
    position:relative;
    padding:10px 12px !important;
    border-radius:14px !important;
    font-weight:800 !important;
    letter-spacing:-.01em;
    transition:
      transform .18s ease,
      background .18s ease,
      color .18s ease,
      box-shadow .18s ease;
  }

  .nav a::after{
    content:"";
    position:absolute;
    left:12px;
    right:12px;
    bottom:6px;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,#60a5fa,#2563eb);
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .18s ease;
    opacity:.95;
  }

  .nav a:hover{
    transform:translateY(-1px);
    background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(243,247,255,.96));
    color:#1d4ed8 !important;
    box-shadow:
      0 10px 20px rgba(37,99,235,.08),
      0 1px 0 rgba(255,255,255,.85) inset;
  }

  .nav a:hover::after{
    transform:scaleX(1);
  }

  .topbar__actions .btn{
    transition:
      transform .18s ease,
      box-shadow .18s ease,
      filter .18s ease;
  }

  .topbar__actions .btn:hover{
    transform:translateY(-1px);
  }
}

/* ===== Desktop nav like premium boxed mobile menu ===== */
@media (min-width: 1061px){
  .topbar__inner{
    align-items:center !important;
  }

  .nav{
    display:flex !important;
    gap:8px !important;
    align-items:center !important;
    flex-wrap:wrap !important;
  }

  .nav a{
    position:relative;
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:10px 14px 10px 16px !important;
    border-radius:14px !important;
    border:1px solid rgba(59,130,246,.08) !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,255,.94)) !important;
    box-shadow:
      0 6px 16px rgba(15,23,42,.03),
      0 1px 0 rgba(255,255,255,.85) inset !important;
    font-weight:850 !important;
    color:#0f172a !important;
    text-decoration:none !important;
    letter-spacing:-.01em;
    transition:
      transform .18s ease,
      box-shadow .18s ease,
      border-color .18s ease,
      background .18s ease,
      color .18s ease;
  }

  .nav a::before{
    content:"";
    position:absolute;
    left:0;
    top:9px;
    bottom:9px;
    width:4px;
    border-radius:999px;
    background:linear-gradient(180deg,#60a5fa,#2563eb);
    box-shadow:0 6px 14px rgba(37,99,235,.18);
    opacity:.92;
  }

  .nav a::after{
    display:none !important;
    content:none !important;
  }

  .nav a:hover{
    transform:translateY(-1px);
    border-color:rgba(59,130,246,.16) !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.99), rgba(243,247,255,.96)) !important;
    color:#1d4ed8 !important;
    box-shadow:
      0 14px 24px rgba(37,99,235,.08),
      0 1px 0 rgba(255,255,255,.9) inset !important;
  }

  .nav a:active{
    transform:translateY(0) scale(.995);
  }
}

/* ===== Drawer menu premium (right side menu) ===== */
.drawer__overlay{
  background:rgba(7,12,22,.52) !important;
  backdrop-filter:blur(4px);
}

.drawer__panel{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,255,.98)) !important;
  border-left:1px solid rgba(59,130,246,.10) !important;
  box-shadow:
    -10px 0 40px rgba(15,23,42,.12),
    0 1px 0 rgba(255,255,255,.85) inset !important;
}

.drawer__top{
  padding-bottom:8px;
  border-bottom:1px solid rgba(59,130,246,.08);
}

.drawer__brand{
  font-size:18px;
  font-weight:950;
  letter-spacing:-.03em;
  color:#0f172a;
}

.drawer__links{
  gap:8px !important;
  margin-top:8px;
}

.drawer__link{
  position:relative;
  display:block;
  padding:14px 14px 14px 16px !important;
  border-radius:16px !important;
  border:1px solid rgba(59,130,246,.08) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,255,.94)) !important;
  box-shadow:
    0 6px 16px rgba(15,23,42,.03),
    0 1px 0 rgba(255,255,255,.85) inset !important;
  font-weight:850 !important;
  color:#0f172a !important;
  text-decoration:none !important;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease,
    color .18s ease;
}

.drawer__link::before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg,#60a5fa,#2563eb);
  box-shadow:0 6px 14px rgba(37,99,235,.18);
  opacity:.92;
}

.drawer__link:hover,
.drawer__link:active{
  transform:translateY(-1px);
  border-color:rgba(59,130,246,.16) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(243,247,255,.96)) !important;
  color:#1d4ed8 !important;
  box-shadow:
    0 14px 24px rgba(37,99,235,.08),
    0 1px 0 rgba(255,255,255,.9) inset !important;
}

.drawer__ctas{
  gap:10px !important;
  padding-top:10px;
  border-top:1px solid rgba(59,130,246,.08);
}

.drawer__ctas .btn{
  min-height:48px;
  border-radius:16px !important;
}

/* ===== FAQ premium feel ===== */
.faq summary{
  transition:color .18s ease;
}

.faq details[open] summary{
  color:#1d4ed8 !important;
}

.faq details[open]{
  box-shadow:
    0 14px 28px rgba(37,99,235,.07),
    0 1px 0 rgba(255,255,255,.82) inset !important;
}

/* ===== No scroll reveal ===== */
.reveal,
.reveal.is-in{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
}