
:root{
  --bg:#edf5fb;
  --bg-soft:#f7fbff;
  --white:#ffffff;
  --text:#11365f;
  --text-soft:#5d7795;
  --line:rgba(17,54,95,.10);
  --blue-900:#0b2f59;
  --blue-800:#0d4d92;
  --blue-700:#1373c7;
  --blue-600:#1b97e4;
  --blue-500:#42baf1;
  --cyan:#6fe1ff;
  --green:#22c55e;
  --shadow:0 20px 60px rgba(13,77,146,.14);
  --shadow-soft:0 12px 35px rgba(11,47,89,.10);
  --radius:30px;
  --radius-md:24px;
  --radius-sm:18px;
  --container:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:linear-gradient(180deg,#f8fbff 0%,var(--bg) 45%,#ffffff 100%);
  color:var(--text);
  overflow-x:hidden;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img,video,iframe{display:block;max-width:100%}
button{font:inherit}
svg{display:block}

.site-shell{position:relative;overflow:clip}
.container{
  width:min(calc(100% - 32px), var(--container));
  margin:0 auto;
}
.section-pad{padding:96px 0}
.section-light{background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(237,245,251,.92))}
.section-dark{
  background:
    radial-gradient(circle at 20% 20%, rgba(111,225,255,.18), transparent 28%),
    radial-gradient(circle at 85% 15%, rgba(66,186,241,.22), transparent 24%),
    linear-gradient(135deg, #0b2f59 0%, #0d4d92 52%, #1373c7 100%);
  color:#f3fbff;
}

.site-header{
  position:relative;
  top:auto;
  z-index:100;
  backdrop-filter:blur(18px);
  background:rgba(248,251,255,.82);
  border-bottom:1px solid rgba(17,54,95,.08);
}
.site-header.scrolled{box-shadow:none}
.nav-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:94px;
  padding:6px 0;
}
.brand{display:inline-flex;align-items:center;padding:10px 0;min-width:0}
.brand-logo{width:208px;max-width:42vw;height:auto}
.site-nav{
  display:flex;
  align-items:center;
  gap:22px;
  min-width:0;
}
.site-nav > a:not(.nav-cta){
  font-size:.96rem;
  color:var(--text);
  font-weight:600;
  transition:color .25s ease, transform .25s ease;
}
.site-nav > a:not(.nav-cta):hover{color:var(--blue-700);transform:translateY(-1px)}
.nav-toggle{
  display:none;
  width:48px;
  height:48px;
  border-radius:16px;
  border:1px solid rgba(13,77,146,.15);
  background:rgba(255,255,255,.9);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  box-shadow:var(--shadow-soft);
  flex:0 0 auto;
}
.nav-toggle span{
  width:20px;
  height:2px;
  background:var(--blue-800);
  border-radius:999px;
  transition:transform .25s ease, opacity .25s ease;
}
body.menu-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .nav-toggle span:nth-child(2){opacity:0}
body.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.hero{
  position:relative;
  padding:54px 0 88px;
  isolation:isolate;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 18%, rgba(111,225,255,.22), transparent 28%),
    radial-gradient(circle at 82% 16%, rgba(66,186,241,.18), transparent 25%),
    linear-gradient(180deg,#fafdff 0%,#edf5fb 66%,rgba(237,245,251,0) 100%);
  z-index:-2;
}
.hero-blur{
  position:absolute;
  border-radius:50%;
  filter:blur(45px);
  opacity:.45;
  z-index:-1;
}
.blur-a{width:340px;height:340px;background:rgba(66,186,241,.4);top:110px;right:-60px}
.blur-b{width:260px;height:260px;background:rgba(111,225,255,.35);left:-70px;bottom:20px}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  align-items:center;
  gap:42px;
}
.eyebrow-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(27,151,228,.12);
  color:var(--blue-800);
  font-weight:800;
  font-size:.9rem;
  letter-spacing:.01em;
}
.eyebrow-pill.light{background:rgba(255,255,255,.12);color:#d8f5ff}
.hero h1{
  margin:18px 0;
  font-size:clamp(2.4rem,4.5vw,4.6rem);
  line-height:.96;
  letter-spacing:-.04em;
  max-width:11ch;
}
.hero h1 span{
  background:linear-gradient(135deg,var(--blue-700),var(--blue-500),var(--cyan));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero-lead{
  margin:0;
  max-width:60ch;
  color:var(--text-soft);
  font-size:1.08rem;
  line-height:1.8;
}
.hero-actions,
.video-tour-actions,
.cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.hero-actions{margin:28px 0 30px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:56px;
  padding:0 24px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:800;
  transition:transform .28s ease, box-shadow .28s ease, background .28s ease, color .28s ease, border-color .28s ease;
  box-shadow:var(--shadow-soft);
}
.btn svg,
.trust-item svg,
.feature-list svg,
.contact-card svg,
.float-btn svg,
.mobile-cta-bar svg{
  width:20px;height:20px;fill:currentColor;flex:0 0 auto;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{
  color:#fff;
  background:linear-gradient(135deg,var(--blue-800),var(--blue-600));
}
.btn-primary:hover{box-shadow:0 18px 40px rgba(19,115,199,.28)}
.btn-secondary{
  color:var(--blue-900);
  background:rgba(255,255,255,.88);
  border-color:rgba(13,77,146,.14);
}
.btn-secondary:hover{background:#fff}
.btn-white{
  color:var(--blue-900);
  background:#fff;
}
.glass-card{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(17,54,95,.08);
  backdrop-filter:blur(14px);
}
.hero-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.metric-card{
  padding:18px;
  border-radius:20px;
  box-shadow:var(--shadow-soft);
}
.metric-card strong{display:block;font-size:1rem;margin-bottom:6px}
.metric-card span{display:block;color:var(--text-soft);font-size:.93rem;line-height:1.45}

.hero-visual{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
.showcase-card,
.story-tile,
.photo-frame,
.video-stage,
.contact-card,
.contact-extra,
.faq-item,
.service-card,
.step-card{
  min-width:0;
}
.showcase-card{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(17,54,95,.08);
}
.shadow-xl{box-shadow:var(--shadow)}
.showcase-fachada{min-height:360px}
.showcase-portrait{min-height:320px}
.showcase-card img,
.story-tile img,
.photo-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.media-tag,
.portrait-badge{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  padding:14px 16px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(11,47,89,.88),rgba(19,115,199,.78));
  color:#fff;
  backdrop-filter:blur(8px);
}
.media-tag{
  right:auto;
  width:max-content;
  max-width:calc(100% - 32px);
  font-weight:800;
}
.portrait-badge strong{display:block}
.portrait-badge span{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.84);
  font-size:.92rem;
  line-height:1.45;
}

.trust-strip{padding:0 0 18px}
.trust-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:-24px;
}
.trust-item{
  display:flex;
  align-items:center;
  gap:12px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(17,54,95,.08);
  border-radius:18px;
  padding:18px;
  box-shadow:var(--shadow-soft);
}
.trust-item svg{color:var(--blue-700)}
.trust-item span{font-weight:700;color:var(--text);line-height:1.4}

.video-tour{padding-top:24px}
.video-tour-grid{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:28px;
  align-items:center;
}
.video-tour-copy h2,
.section-heading h2,
.story-copy h2,
.about-copy h2,
.contact-copy h2,
.cta-wrap h2{
  margin:18px 0 14px;
  font-size:clamp(2rem,3.3vw,3.5rem);
  line-height:1.02;
  letter-spacing:-.035em;
}
.video-tour-copy p,
.section-heading p,
.story-copy p,
.about-copy p,
.contact-copy p,
.cta-wrap p{
  margin:0;
  color:var(--text-soft);
  line-height:1.75;
  font-size:1.03rem;
}
.section-dark .about-copy p{color:rgba(243,251,255,.82)}
.video-tour-actions{margin-top:24px}
.video-stage{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(17,54,95,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(240,247,255,.9));
  padding:14px;
}
.video-stage::before{
  content:"Vídeo institucional";
  position:absolute;
  left:26px;
  top:24px;
  z-index:2;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(11,47,89,.76);
  color:#fff;
  font-size:.86rem;
  font-weight:800;
}
.section-video{
  width:100%;
  aspect-ratio:16/9;
  min-height:340px;
  object-fit:cover;
  object-position:center;
  border-radius:22px;
}

.section-heading{text-align:center;max-width:760px;margin:0 auto 42px}
.services-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.service-card{
  position:relative;
  padding:24px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,251,255,.98));
  border:1px solid rgba(17,54,95,.08);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.service-card::after{
  content:"";
  position:absolute;
  inset:auto -35% -50% auto;
  width:150px;
  height:150px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(111,225,255,.16),transparent 62%);
}
.service-card:hover{
  transform:translateY(-6px);
  border-color:rgba(19,115,199,.2);
  box-shadow:0 24px 48px rgba(11,47,89,.12);
}
.service-icon{
  width:64px;height:64px;
  border-radius:20px;
  display:grid;place-items:center;
  margin-bottom:18px;
  position:relative;
  overflow:hidden;
}
.service-icon::before{
  content:"";
  position:absolute;
  inset:-30% auto auto -30%;
  width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.36);
}
.service-icon svg{width:30px;height:30px;fill:currentColor;position:relative;z-index:1}
.service-icon.c1{background:linear-gradient(135deg,#d8efff,#97d4ff);color:#0f5ca8}
.service-icon.c2{background:linear-gradient(135deg,#d6f6ff,#8feaff);color:#037ab6}
.service-icon.c3{background:linear-gradient(135deg,#d9e7ff,#9ebfff);color:#3459c8}
.service-icon.c4{background:linear-gradient(135deg,#e3efff,#b6ccff);color:#3363a8}
.service-icon.c5{background:linear-gradient(135deg,#d3f1ff,#84d7ff);color:#0c74a9}
.service-icon.c6{background:linear-gradient(135deg,#dff7ff,#a8e4ff);color:#1387be}
.service-icon.c7{background:linear-gradient(135deg,#d7f6ef,#98e8d6);color:#0f8e6c}
.service-icon.c8{background:linear-gradient(135deg,#e4f0ff,#bdd7ff);color:#245cad}
.service-card h3{margin:0 0 10px;font-size:1.16rem;line-height:1.25}
.service-card p{margin:0;color:var(--text-soft);line-height:1.65}

.media-story{padding-top:74px}
.story-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:32px;
  align-items:center;
}
.feature-list{
  list-style:none;
  padding:0;
  margin:26px 0 0;
  display:grid;
  gap:14px;
}
.feature-list li{
  display:flex;
  gap:12px;
  align-items:flex-start;
  color:var(--text);
  font-weight:700;
}
.feature-list svg{color:var(--blue-700);margin-top:2px}
.story-media{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:18px;
}
.story-tile{
  position:relative;
  min-height:250px;
  border-radius:26px;
  overflow:hidden;
  border:1px solid rgba(17,54,95,.08);
}
.tile-large{grid-row:span 2;min-height:100%}
.story-tile::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(11,47,89,.72) 100%);
}
.story-tile figcaption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  color:#fff;
  font-weight:700;
  line-height:1.45;
  z-index:1;
}

.about-grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:40px;
  align-items:center;
}
.photo-frame{
  border-radius:32px;
  overflow:hidden;
  min-height:640px;
  border:1px solid rgba(255,255,255,.12);
}
.about-badges{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:26px 0 30px;
}
.about-badge{
  padding:18px;
  border-radius:22px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(10px);
}
.about-badge strong{display:block;font-size:1rem;margin-bottom:6px}
.about-badge span{color:rgba(243,251,255,.78);font-size:.92rem;line-height:1.5}

.steps-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.step-card{
  padding:26px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(17,54,95,.08);
  box-shadow:var(--shadow-soft);
}
.step-number{
  display:inline-flex;
  min-width:58px;
  height:38px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(19,115,199,.16),rgba(66,186,241,.2));
  color:var(--blue-800);
  font-weight:900;
  margin-bottom:18px;
}
.step-card h3{margin:0 0 10px;font-size:1.15rem}
.step-card p{margin:0;color:var(--text-soft);line-height:1.7}

.cta-banner{padding-top:34px}
.cta-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  padding:38px;
  border-radius:30px;
  background:
    radial-gradient(circle at 20% 0%, rgba(111,225,255,.24), transparent 25%),
    linear-gradient(135deg,#ffffff 0%,#eaf6ff 48%,#f7fbff 100%);
  border:1px solid rgba(17,54,95,.08);
  box-shadow:var(--shadow);
}
.cta-wrap h2{max-width:16ch}

.contact-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:28px;
  align-items:stretch;
}
.contact-cards{display:grid;gap:14px;margin:26px 0}
.contact-card,.contact-extra{
  padding:18px 20px;
  border-radius:24px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(17,54,95,.08);
  box-shadow:var(--shadow-soft);
}
.contact-card{
  display:flex;
  align-items:flex-start;
  gap:14px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.contact-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.contact-card svg{color:var(--blue-700);margin-top:2px}
.contact-card strong{display:block;margin-bottom:5px}
.contact-card span,.contact-extra p{color:var(--text-soft);line-height:1.6}
.contact-extra h3{margin:0 0 8px}
.text-link{color:var(--blue-700);font-weight:800}
.map-frame{
  height:100%;
  min-height:590px;
  overflow:hidden;
  border-radius:32px;
  border:1px solid rgba(17,54,95,.08);
}
.map-frame iframe{width:100%;height:100%;border:0}

.faq-grid{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1fr);
  gap:26px;
  align-items:start;
}
.faq-heading{text-align:left;margin:0}
.faq-list{display:grid;gap:12px}
.faq-item{
  background:#fff;
  border:1px solid rgba(17,54,95,.08);
  border-radius:22px;
  padding:0 20px;
  box-shadow:var(--shadow-soft);
}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:22px 34px 22px 0;
  font-weight:800;
  position:relative;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  color:var(--blue-700);
  font-size:1.4rem;
  font-weight:400;
}
.faq-item[open] summary::after{content:"–"}
.faq-item p{margin:0 0 20px;color:var(--text-soft);line-height:1.7}

.footer{
  background:#0b3157;
  color:#fff;
  padding:56px 0 32px;
}
.footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr) minmax(0,1fr);
  gap:24px;
  padding-bottom:28px;
}
.footer-logo{width:180px;max-width:100%;margin-bottom:12px}
.footer-brand p{max-width:320px}
.footer-col h4{margin:0 0 10px;color:#fff}
.footer p{margin:0 0 8px;line-height:1.7;color:rgba(243,251,255,.86)}
.footer a{color:#d8f5ff}
.footer-line{
  height:1px;
  background:rgba(255,255,255,.12);
  width:100%;
}
.footer-bottom{
  text-align:center;
  padding-top:20px;
}
.footer-bottom p{margin:6px 0}
.footer-credit{font-size:14px}
.footer-credit a{font-weight:700;color:#7fd0ff}

.floating-actions{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:120;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.float-btn{
  min-width:172px;
  min-height:56px;
  padding:0 18px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#fff;
  font-weight:800;
  box-shadow:0 16px 34px rgba(11,47,89,.26);
}
.float-btn.whatsapp{background:linear-gradient(135deg,#22c55e,#15a34a)}
.float-btn.phone{background:linear-gradient(135deg,#1b97e4,#1373c7)}
.float-btn.map{background:linear-gradient(135deg,#0d4d92,#0b3157)}
.pulse{animation:pulseGlow 2s ease-in-out infinite}
@keyframes pulseGlow{
  0%,100%{box-shadow:0 16px 34px rgba(11,47,89,.26)}
  50%{box-shadow:0 20px 42px rgba(34,197,94,.32)}
}

.mobile-cta-bar{display:none}
.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .6s ease, transform .6s ease;
}
.reveal-delay{transition-delay:.12s}
.reveal-delay-1{transition-delay:.08s}
.reveal-delay-2{transition-delay:.16s}
.reveal-delay-3{transition-delay:.24s}
.reveal.is-visible{
  opacity:1;
  transform:none;
}

@media (max-width: 1100px){
  .hero-grid,
  .video-tour-grid,
  .story-grid,
  .about-grid,
  .contact-grid,
  .faq-grid,
  .cta-wrap{
    grid-template-columns:1fr;
  }
  .hero h1,
  .cta-wrap h2{
    max-width:none;
  }
  .services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .steps-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .trust-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .story-media{
    grid-template-columns:1fr 1fr;
  }
  .tile-large{
    grid-row:auto;
    min-height:320px;
  }
  .map-frame{
    min-height:460px;
  }
}

@media (max-width: 900px){
  .container{width:min(calc(100% - 24px), var(--container))}
  .nav-wrap{
    min-height:82px;
    gap:14px;
  }
  .brand-logo{
    width:170px;
    max-width:58vw;
  }
  .nav-toggle{display:flex}
  .site-nav{
    position:absolute;
    top:calc(100% + 10px);
    left:12px;
    right:12px;
    background:#fff;
    border:1px solid rgba(17,54,95,.08);
    border-radius:22px;
    box-shadow:0 18px 40px rgba(11,47,89,.14);
    padding:16px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }
  body.menu-open .site-nav{display:flex}
  .site-nav > a:not(.nav-cta){
    padding:10px 8px;
  }
  .nav-cta{width:100%}
  .section-pad{padding:72px 0}
  .hero{
    padding:32px 0 64px;
  }
  .hero h1{
    font-size:clamp(2.1rem, 10vw, 3.6rem);
    line-height:1.02;
  }
  .hero-lead,
  .video-tour-copy p,
  .section-heading p,
  .story-copy p,
  .about-copy p,
  .contact-copy p,
  .cta-wrap p{
    font-size:1rem;
  }
  .hero-actions,
  .video-tour-actions,
  .cta-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .btn{width:100%}
  .hero-metrics{
    grid-template-columns:1fr;
  }
  .showcase-fachada{min-height:260px}
  .showcase-portrait{min-height:280px}
  .video-stage{padding:10px}
  .video-stage::before{
    left:18px;
    top:18px;
    padding:8px 12px;
    font-size:.8rem;
  }
  .section-video{min-height:220px}
  .services-grid,
  .steps-grid,
  .faq-grid,
  .footer-grid{
    grid-template-columns:1fr;
  }
  .story-media{
    grid-template-columns:1fr;
  }
  .story-tile,
  .tile-large{
    min-height:240px;
  }
  .about-badges{
    grid-template-columns:1fr;
  }
  .photo-frame{
    min-height:auto;
  }
  .map-frame{
    min-height:360px;
    border-radius:24px;
  }
  .faq-heading{text-align:left}
  .footer-grid{
    text-align:center;
    gap:26px;
    padding-bottom:22px;
  }
  .footer-logo{
    margin-left:auto;
    margin-right:auto;
  }
  .footer-brand p{
    max-width:none;
  }
  .floating-actions{display:none}
  .mobile-cta-bar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:130;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:rgba(8,39,68,.97);
    backdrop-filter:blur(10px);
    box-shadow:0 -10px 30px rgba(11,47,89,.24);
  }
  .mobile-cta-bar a{
    min-height:54px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 8px;
    text-align:center;
    font-weight:800;
    color:#fff;
    background:rgba(255,255,255,.12);
    font-size:.95rem;
  }
  .mobile-cta-bar .mobile-whats{
    background:linear-gradient(135deg,#22c55e,#16a34a);
  }
  body{padding-bottom:88px}
}

@media (max-width: 560px){
  .container{width:min(calc(100% - 20px), var(--container))}
  .brand-logo{
    width:156px;
    max-width:56vw;
  }
  .nav-wrap{min-height:78px}
  .nav-toggle{
    width:46px;
    height:46px;
  }
  .eyebrow-pill{
    font-size:.84rem;
    padding:9px 14px;
  }
  .hero h1{
    font-size:clamp(2rem, 12vw, 3rem);
  }
  .hero-actions,
  .video-tour-actions,
  .cta-actions{
    gap:12px;
  }
  .showcase-card,
  .story-tile,
  .video-stage,
  .photo-frame,
  .contact-card,
  .contact-extra,
  .faq-item,
  .service-card,
  .step-card,
  .cta-wrap{
    border-radius:20px;
  }
  .service-card,
  .step-card,
  .contact-card,
  .contact-extra{
    padding:20px;
  }
  .faq-item{padding:0 16px}
  .faq-item summary{padding:18px 28px 18px 0}
  .media-tag,
  .portrait-badge{
    left:12px;
    right:12px;
    bottom:12px;
    border-radius:16px;
    padding:12px 14px;
  }
  .media-tag{
    max-width:calc(100% - 24px);
  }
  .mobile-cta-bar a{
    font-size:.9rem;
  }
}
