:root{
  --color-primary:#1963be;
  --color-accent:#f59e0b;
  --color-whatsapp:#25D366;
  --color-bg:#ffffff;
  --color-text:#0f172a;
  --color-muted:#475569;
  --color-border:#e2e8f0;
  --color-surface:#f8fafc;

  --radius-sm:10px;
  --radius-md:14px;
  --shadow-sm:0 10px 28px rgba(15,23,42,.10);
  --shadow-xs:0 4px 14px rgba(15,23,42,.08);

  --space-1:8px;
  --space-2:12px;
  --space-3:16px;
  --space-4:24px;
  --space-5:32px;
  --space-6:48px;
  --space-7:72px;

  --container:1120px;
  --header-h:72px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--color-text);
  background:var(--color-bg);
  line-height:1.55;
}

body.is-modal-open{overflow:hidden}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(900px 320px at 20% 10%, rgba(245,158,11,.26), transparent 60%),
    radial-gradient(900px 320px at 80% 0%, rgba(25,99,190,.18), transparent 55%),
    radial-gradient(900px 360px at 70% 90%, rgba(26,115,232,.12), transparent 60%),
    linear-gradient(180deg, rgba(248,250,252,.0), rgba(248,250,252,.85));
  filter:saturate(115%) blur(0px);
  animation:bgFloat 14s ease-in-out infinite alternate;
}

@keyframes bgFloat{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(-14px,10px,0) scale(1.02)}
}

body::after{
  content:"";
  position:fixed;
  inset:-40px;
  z-index:-1;
  pointer-events:none;
  opacity:.22;
  background-repeat:repeat;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Crect width='260' height='260' fill='none'/%3E%3Cg fill='none' stroke='%231963be' stroke-opacity='.18' stroke-width='2'%3E%3Ccircle cx='52' cy='64' r='18'/%3E%3Ccircle cx='198' cy='208' r='14'/%3E%3Ccircle cx='210' cy='78' r='10'/%3E%3C/g%3E%3Cg fill='%23fdd10b' fill-opacity='.18'%3E%3Ccircle cx='52' cy='64' r='10'/%3E%3Ccircle cx='198' cy='208' r='8'/%3E%3Ccircle cx='210' cy='78' r='6'/%3E%3C/g%3E%3Cg font-family='Inter,Arial,sans-serif' font-weight='800' font-size='36' fill='%230f172a' fill-opacity='.12'%3E%3Ctext x='96' y='96'%3E%E2%82%AC%3C/text%3E%3Ctext x='168' y='140'%3E%24%3C/text%3E%3Ctext x='78' y='188'%3E%E2%82%AC%3C/text%3E%3Ctext x='28' y='214'%3E%24%3C/text%3E%3C/g%3E%3C/svg%3E");
  background-size:260px 260px;
  animation:money-drift 22s linear infinite;
}

@keyframes money-drift{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-260px,260px,0)}
}

@media (prefers-reduced-motion: reduce){
  body::before{animation:none}
  body::after{animation:none}
}
img{max-width:100%;display:block}

a{color:inherit}

a:hover{text-decoration:none}

:focus-visible{
  outline:3px solid rgba(25,99,190,.35);
  outline-offset:3px;
}

.skip-link{
  position:absolute;
  left:-999px;
  top:10px;
  background:var(--color-text);
  color:#fff;
  padding:10px 12px;
  border-radius:10px;
  z-index:9999;
}

.skip-link:focus{left:10px}

.container{
  width:100%;
  max-width:var(--container);
  padding:0 var(--space-4);
  margin:0 auto;
}

.section{padding:var(--space-7) 0}
.section-muted{background:var(--color-surface)}

.section-head{
  margin-bottom:var(--space-5);
  max-width:760px;
}

.section-head--centered{margin-left:auto;margin-right:auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.section-head--centered p{max-width:640px;margin-left:auto;margin-right:auto}
.section-head--centered h2{text-align:center}
.section-head--centered p{text-align:center;width:100%}

.services-preview{margin-top:var(--space-4)}
.services-preview__grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}

@media (min-width:900px){
  .services-preview__grid{grid-template-columns:repeat(2,1fr)}
}

.section-head h2{margin:0 0 8px}
.section-head p{margin:0;color:var(--color-muted)}

h1,h2,h3{
  font-family:Poppins,Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  letter-spacing:-.02em;
}

h1{font-size:clamp(28px,4.5vw,44px);line-height:1.15;margin:0 0 12px;color:var(--color-accent)}
h2{font-size:clamp(22px,3.2vw,32px);line-height:1.2;margin:0;color:var(--color-accent)}
h3{font-size:18px;line-height:1.25;margin:0 0 8px}

.card h3,
.services-preview h3,
.service-detail__content h3,
.contact-card__title{
  color:var(--color-accent);
}

.form--contact .field label{color:var(--color-accent)}

.lead{font-size:clamp(16px,2.2vw,18px);color:var(--color-muted);margin:0 0 var(--space-4)}
.muted{color:var(--color-muted)}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 16px;
  border-radius:999px;
  font-weight:700;
  border:1px solid transparent;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease;
  cursor:pointer;
  white-space:nowrap;
}

.btn:active{transform:translateY(1px)}

.btn-primary{
  background:var(--color-primary);
  color:#fff;
  box-shadow:var(--shadow-xs);
}

.btn-primary:hover{box-shadow:var(--shadow-sm)}

.btn-whatsapp{
  background:#25D366;
  color:#fff;
  box-shadow:var(--shadow-xs);
}

.btn-whatsapp:hover{box-shadow:var(--shadow-sm);color:#fff}

.btn-maps{
  background:#1A73E8;
  color:#ffffff;
  box-shadow:var(--shadow-xs);
}

.btn-maps:hover{box-shadow:var(--shadow-sm)}

.btn-ghost{
  background:#fff;
  border-color:var(--color-border);
}

.btn-ghost:hover{border-color:rgba(25,99,190,.35)}

.badge{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--color-border);
  color:var(--color-muted);
  font-weight:700;
  font-size:14px;
}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.86);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid rgba(226,232,240,.8);
}

.site-header.is-shrink{--header-h:62px}

.header-inner{
  min-height:var(--header-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-3);
}

.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-logo{width:40px;height:40px}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-weight:900;letter-spacing:-.02em}
.brand-sub{font-size:13px;color:var(--color-muted);font-weight:700}

.nav-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid var(--color-border);
  background:#fff;
  color:var(--color-text);
}

.nav-toggle-lines{
  width:18px;
  height:2px;
  position:relative;
  display:block;
  background:currentColor;
  border-radius:2px;
  transition:background-color .2s ease;
}

.nav-toggle-lines::before,
.nav-toggle-lines::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:2px;
  background:currentColor;
  border-radius:2px;
  transition:transform .2s ease, top .2s ease;
}

.nav-toggle-lines::before{top:-6px}
.nav-toggle-lines::after{top:6px}

.nav-toggle[aria-expanded="true"] .nav-toggle-lines{background-color:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle-lines::before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-lines::after{top:0;transform:rotate(-45deg)}

.site-nav{
  position:absolute;
  left:0;
  right:0;
  top:100%;
  background:#fff;
  border-bottom:1px solid var(--color-border);
  display:none;
}

.site-nav.is-open{display:block}

.nav-list{
  list-style:none;
  padding:var(--space-3) var(--space-4);
  margin:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.nav-link{
  display:flex;
  padding:12px 12px;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
}

.nav-link:hover{background:rgba(25,99,190,.08)}
.nav-link.is-active{background:rgba(25,99,190,.12);color:var(--color-primary)}

.nav-ctas{
  padding:0 var(--space-4) var(--space-4);
  display:flex;
  flex-direction:column;
  gap:12px;
}

.social-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.social-link{width:42px;height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(15,23,42,.12);background:#fff;color:var(--color-text);text-decoration:none;box-shadow:var(--shadow-xs)}
.social-link svg{width:20px;height:20px;display:block;fill:currentColor}
.social-link:hover{transform:translateY(-1px)}
.social-link--facebook{background:#1877F2;border-color:rgba(0,0,0,.08);color:#fff}
.social-link--instagram{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af,#515bd4);border-color:rgba(0,0,0,.08);color:#fff}

.hero{
  padding:var(--space-7) 0;
  background:
    radial-gradient(700px 250px at 20% 10%, rgba(245,158,11,.35), transparent 60%),
    radial-gradient(700px 250px at 80% 0%, rgba(25,99,190,.20), transparent 55%);
}

.hero-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-6);
  align-items:center;
}

.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--space-3)}
.hero-meta{margin-top:var(--space-4);color:var(--color-muted)}

.hero-visual{
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  border:1px solid rgba(226,232,240,.8);
  background:#fff;
}

.hero-image{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}

.trustbar{padding:var(--space-4) 0;background:#fff;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.trustbar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.trust-item{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;background:rgba(248,250,252,.8);border:1px solid rgba(226,232,240,.8);font-weight:800;color:var(--color-muted)}

.cards-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}

.services-detail{display:grid;gap:var(--space-4)}

.service-detail{
  background:#fff;
  border:1px solid rgba(226,232,240,.9);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-xs);
  overflow:hidden;
}

.service-detail__grid{display:grid;grid-template-columns:1fr}

.service-detail__media{background:rgba(248,250,252,.9)}
.service-detail__image{width:100%;height:240px;object-fit:cover;display:block}

.service-detail__gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:12px}
.service-detail__gallery img{width:100%;height:auto;display:block;border-radius:14px;border:1px solid rgba(226,232,240,.9);box-shadow:var(--shadow-xs)}

.service-detail__content{padding:var(--space-4)}
.service-detail__content h3{margin:0 0 10px}
.service-detail__content p{margin:0 0 10px;color:var(--color-muted)}
.service-detail__content p:last-child{margin-bottom:0}

.service-detail__link{color:var(--color-primary);font-weight:900;text-decoration:none}
.service-detail__link:hover{text-decoration:underline}

@media (min-width:960px){
  .services-detail{gap:var(--space-5)}
  .service-detail__grid{grid-template-columns:1fr 1.2fr;align-items:stretch}
  .service-detail__image{height:100%}
  .services-detail .service-detail:nth-child(even) .service-detail__grid{grid-template-columns:1.2fr 1fr}
  .services-detail .service-detail:nth-child(even) .service-detail__media{order:2}
  .services-detail .service-detail:nth-child(even) .service-detail__content{order:1}
}

.taaminate{display:grid;gap:var(--space-4)}
.taaminate__content{max-width:820px;margin:0 auto}
.taaminate__content p{margin:0 0 10px;color:var(--color-muted)}
.taaminate__content p:last-child{margin-bottom:0}

.taaminate__gallery{display:grid;grid-template-columns:1fr;gap:12px}
.taaminate__gallery img{width:100%;height:auto;display:block;border-radius:14px;border:1px solid rgba(226,232,240,.9);box-shadow:var(--shadow-xs)}

@media (min-width:720px){
  .taaminate__gallery{grid-template-columns:repeat(2,1fr)}
}

@media (min-width:1100px){
  .taaminate{grid-template-columns:1fr 1.1fr;align-items:start}
  .taaminate__content{max-width:none}
}

.card{
  background:#fff;
  border:1px solid rgba(226,232,240,.9);
  border-radius:var(--radius-md);
  padding:var(--space-4);
  box-shadow:0 0 0 rgba(0,0,0,0);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:rgba(25,99,190,.25)}

.card-link{text-decoration:none;display:block}

.card-icon{
  width:44px;
  height:44px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(25,99,190,.08);
  border:1px solid rgba(25,99,190,.18);
  margin-bottom:var(--space-2);
}

.card p{margin:0;color:var(--color-muted)}
.card-cta{display:inline-block;margin-top:12px;color:var(--color-primary);font-weight:900}

.home-services .cards-grid{gap:16px}
.home-services .card{padding:18px}
.home-services .card h3{margin-bottom:6px}
.home-services .card-cta{margin-top:14px}
.home-services .card-icon{width:46px;height:46px;border-radius:14px}

@media (min-width:720px){
  .home-services .cards-grid{grid-template-columns:repeat(2,1fr)}
}

@media (min-width:1100px){
  .home-services .cards-grid{gap:18px}
  .home-services .card{padding:20px}
}

.why-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);align-items:start}

.checklist{margin:var(--space-3) 0 0;padding-left:18px;color:var(--color-muted)}
.checklist li{margin:10px 0}

.why-card{
  background:linear-gradient(180deg, rgba(25,99,190,.10), rgba(255,255,255,1));
  border:1px solid rgba(25,99,190,.18);
  border-radius:var(--radius-md);
  padding:var(--space-5);
  box-shadow:var(--shadow-xs);
}

.stack-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--space-3)}

.location-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);align-items:start}

.map-preview{
  border-radius:var(--radius-md);
  overflow:hidden;
  border:1px solid rgba(226,232,240,.9);
  box-shadow:var(--shadow-xs);
  background:#fff;
}

.map-preview iframe{width:100%;height:340px;border:0}

.testimonial blockquote{margin:0 0 10px;color:var(--color-text);font-weight:700}
.testimonial figcaption{color:var(--color-muted);font-weight:800}

.cta{
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
  padding:var(--space-6);
  border-radius:var(--radius-md);
  border:1px solid rgba(226,232,240,.9);
  background:linear-gradient(90deg, rgba(25,99,190,.10), rgba(245,158,11,.20));
}

.cta-actions{display:flex;flex-wrap:wrap;gap:10px}

.page-hero{padding:var(--space-6) 0 var(--space-4);background:var(--color-surface);border-bottom:1px solid rgba(226,232,240,.9)}
.page-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--space-3)}

.page-hero--contact{
  background:
    linear-gradient(180deg, rgba(15,23,42,.60), rgba(15,23,42,.35)),
    var(--contact-hero-bg, var(--color-surface));
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.page-hero--contact h1,
.page-hero--contact .lead{color:#fff}

.page-hero--services{
  background:
    linear-gradient(180deg, rgba(15,23,42,.60), rgba(15,23,42,.35)),
    var(--services-hero-bg, var(--color-surface));
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.page-hero--services h1,
.page-hero--services .lead{color:#fff}

.badge{transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}
.badge:hover,
.badge:focus-visible{background:rgba(245,158,11,.18);border-color:rgba(245,158,11,.55);color:#0f172a;transform:translateY(-1px)}

.trust-item{transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}
.trust-item:hover,
.trust-item:focus-visible{background:rgba(245,158,11,.18);border-color:rgba(245,158,11,.55);color:#0f172a;transform:translateY(-1px)}

.faq{display:grid;gap:12px}

.faq-item{
  background:#fff;
  border:1px solid rgba(226,232,240,.9);
  border-radius:var(--radius-md);
  padding:0;
  box-shadow:var(--shadow-xs);
}

.faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:16px 18px;
  font-weight:900;
}

.faq-item summary::-webkit-details-marker{display:none}

.faq-item summary:focus-visible{
  outline:3px solid rgba(25,99,190,.35);
  outline-offset:3px;
}

.faq-item[open] summary{border-bottom:1px solid rgba(226,232,240,.9)}

.faq-content{padding:0 18px 16px}
.faq-content p{margin:12px 0 0;color:var(--color-muted)}

.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);align-items:start}

.info-card{background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-xs)}
.info-line{margin:0 0 10px}

.contact-card{background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-xs)}
.contact-card__title{margin:0 0 var(--space-4);font-size:clamp(20px,3vw,28px)}

.contact-info{display:grid;gap:18px}
.contact-info__row{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start}
.contact-info__icon{width:40px;height:40px;border-radius:10px;background:#f59e0b;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-xs)}
.contact-info__icon svg{width:20px;height:20px;fill:#fff}
.contact-info__label{font-weight:900;color:#0b3aa6;margin:0 0 6px}
.contact-info__value{font-weight:800;color:var(--color-text)}
.contact-info__value a{text-decoration:none}
.contact-info__value a:hover{text-decoration:underline}
.contact-info__link a{color:#16a34a;font-weight:900;text-decoration:none}
.contact-info__link a:hover{text-decoration:underline}

.hours{display:grid;gap:8px;margin-top:8px}
.hours__row{display:flex;justify-content:space-between;gap:12px;color:var(--color-text);font-weight:700}
.open-status{margin-top:10px;font-weight:900}
.open-status.is-open{color:#16a34a}
.open-status.is-closed{color:#dc2626}
.open-status__meta{margin-left:6px;font-weight:800;font-size:14px;opacity:.95}
.open-status__meta--open{color:#16a34a}
.open-status__meta--close{color:#dc2626}

.site-footer .hours__row{color:rgba(255,255,255,.92)}

.contact-note{margin-top:22px;border:1px solid rgba(245,158,11,.55);background:rgba(245,158,11,.12);padding:14px 16px;border-radius:12px;font-weight:700;color:var(--color-text)}

.contact-form-head{text-align:center;margin:0 auto var(--space-5);max-width:760px}
.contact-form-head h2{margin:0 0 8px;color:#0b3aa6}
.contact-form-head p{margin:0;color:var(--color-muted)}

.form--contact{max-width:860px;margin:0 auto;background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-sm)}
.form--contact .form-grid{grid-template-columns:1fr}
.form--contact .field-span{grid-column:auto}
.form--contact .field label{color:#0b3aa6}
.form--contact .field input,
.form--contact .field textarea{border-radius:10px}

.btn-send{width:100%;justify-content:center;background:#f59e0b;color:#fff;border-radius:12px;box-shadow:var(--shadow-sm)}
.btn-send:hover{box-shadow:0 14px 34px rgba(15,23,42,.16)}

.form-required{margin:0 auto;color:var(--color-muted);font-weight:700}

@media (max-width:720px){
  .contact-card{padding:var(--space-4)}
  .contact-info__row{grid-template-columns:40px 1fr}
  .contact-info__icon{width:36px;height:36px}
  .contact-info__icon svg{width:18px;height:18px}
  .form--contact{padding:var(--space-4)}
}

@media (min-width:960px){
  .contact-grid{align-items:stretch}
  .contact-grid .contact-card{height:100%}
  .contact-grid .map-preview{height:100%}
  .contact-grid .map-preview iframe{height:100%;min-height:340px}
}

.form{max-width:860px}
.form-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}

.field label{display:block;font-weight:900;margin-bottom:8px}

.field input,
.field select,
.field textarea{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--color-border);
  background:#fff;
  font:inherit;
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:rgba(25,99,190,.35);
  box-shadow:0 0 0 4px rgba(25,99,190,.12);
  outline:none;
}

.field-hint{margin:8px 0 0;color:var(--color-muted);font-size:13px}
.field-error{margin:8px 0 0;color:#b91c1c;font-weight:800;font-size:13px;min-height:18px}

.field.is-invalid input,
.field.is-invalid select,
.field.is-invalid textarea{border-color:rgba(185,28,28,.55)}

.form-actions{margin-top:var(--space-4);display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.form-success{margin:0;color:#166534;font-weight:900}

.site-footer{padding:var(--space-6) 0;background:#1E3A8A;color:#e5e7eb}

.footer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-5);
}

.brand-footer .brand-name{color:#fff}
.brand-footer .brand-sub{color:rgba(229,231,235,.75)}

.footer-title{margin:0 0 10px;font-size:16px;color:#f59e0b}

.footer-muted{margin:12px 0 0;color:rgba(229,231,235,.75)}

.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.footer-links a{color:rgba(229,231,235,.85);text-decoration:none}
.footer-links a:hover{color:#fff}

.footer-link{color:#f59e0b}
.footer-link:hover{color:#fff}

.footer-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.footer-social{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}

.footer-disclaimer{margin-top:12px;display:grid;gap:10px}

.footer-disclaimer__box{
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(15,23,42,.22);
}

.footer-disclaimer__box p{margin:8px 0 0}
.footer-disclaimer__box p:first-child{margin-top:0}
.footer-disclaimer__box strong{color:#fff}

.footer-bottom{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid rgba(148,163,184,.25);text-align:center}
.footer-bottom p{margin:0;color:rgba(229,231,235,.75)}

 .footer-legal{margin-top:10px}
 .footer-legal a{color:rgba(229,231,235,.85);text-decoration:none}
 .footer-legal a:hover{color:#fff}

.fab{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:60;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.fab-btn{
  width:46px;
  height:46px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border:1px solid rgba(15,23,42,.12);
  box-shadow:var(--shadow-sm);
  background:#fff;
  color:var(--color-text);
  font-weight:900;
  line-height:1;
}

.fab-btn svg{width:22px;height:22px;display:block;fill:currentColor}

.fab-btn:hover{transform:translateY(-1px)}

.fab-btn--whatsapp{background:var(--color-whatsapp);border-color:rgba(0,0,0,.08);color:#fff}
.fab-btn--call{background:var(--color-primary);border-color:rgba(0,0,0,.08);color:#fff}
.fab-btn--maps{background:#1A73E8;border-color:rgba(0,0,0,.08);color:#fff}
.fab-btn--top{background:#f59e0b;border-color:rgba(0,0,0,.08);color:#fff}

.fab-btn--top.is-hidden{display:none}

.cookie-banner{
  position:fixed;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:70;
}

.cookie-banner__inner{
  max-width:var(--container);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px 14px;
  border-radius:var(--radius-md);
  background:rgba(11,18,32,.96);
  color:#e5e7eb;
  border:1px solid rgba(148,163,184,.25);
  box-shadow:var(--shadow-sm);
}

.cookie-banner__text{margin:0;color:rgba(229,231,235,.9)}
.cookie-banner__text a{color:#f59e0b}
.cookie-banner__text a:hover{color:#fff}

.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:10px}

@media (min-width:720px){
  .cookie-banner__inner{flex-direction:row;align-items:center;justify-content:space-between}
  .cookie-banner__actions{flex-wrap:nowrap}
}

.disclaimer{
  position:fixed;
  inset:0;
  z-index:80;
  background:rgba(2,6,23,.68);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}

.disclaimer__panel{
  width:min(560px,100%);
  background:#fff;
  border-radius:var(--radius-md);
  border:1px solid rgba(226,232,240,.9);
  box-shadow:var(--shadow-sm);
  padding:20px;
}

.disclaimer__title{margin:0 0 10px;font-size:18px;letter-spacing:-.01em}
.disclaimer__text{margin:0 0 10px;color:var(--color-muted);line-height:1.6}
.disclaimer__text a{color:var(--color-primary);font-weight:800}
.disclaimer__text a:hover{text-decoration:underline}

.disclaimer__actions{display:flex;justify-content:flex-end;margin-top:14px}

@media (min-width:720px){
  .disclaimer__panel{padding:22px}
  .disclaimer__title{font-size:20px}
}

[data-reveal]{opacity:0;transform:translateY(10px);transition:opacity .6s ease, transform .6s ease}
[data-reveal].is-visible{opacity:1;transform:none}

@media (min-width:720px){
  .trustbar-grid{grid-template-columns:repeat(4,1fr)}
  .cards-grid{grid-template-columns:repeat(3,1fr)}
  .why-grid{grid-template-columns:1.2fr .8fr}
  .location-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr 1fr}
  .form-grid{grid-template-columns:1fr 1fr}
  .field-span{grid-column:1/-1}
  .cta{flex-direction:row;align-items:center;justify-content:space-between}
  .footer-grid{grid-template-columns:1.2fr 1fr 1fr}
}

@media (min-width:960px){
  .nav-toggle{display:none}
  .site-nav{
    position:static;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:0;
    background:transparent;
    gap:var(--space-4);
  }
  .nav-list{flex-direction:row;padding:0;gap:6px}
  .nav-link{padding:10px 12px}
  .nav-ctas{padding:0;flex-direction:row;align-items:center}
  .hero-grid{grid-template-columns:1.05fr .95fr}
}
