/* ===== Vikingoz Intercom page ===== */
.intercom-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#F8FCFF 100%)}
.intercom-hero:before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;right:-270px;top:-170px;background:radial-gradient(circle,rgba(7,155,216,.11),rgba(7,155,216,0) 70%)}
.intercom-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center;min-height:660px}
.intercom-copy h1{max-width:720px}.accent-text{color:var(--blue)}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:28px}.text-link{font-weight:900;color:var(--deep)}
.intercom-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.intercom-chips span{padding:9px 13px;border:1px solid #D9EAF6;border-radius:999px;background:#fff;color:#36546D;font-size:12px;font-weight:900}
.phone-stage{position:relative;min-height:560px;display:flex;align-items:center;justify-content:center}
.phone-shell{position:relative;z-index:3;width:268px;height:548px;border-radius:42px;background:#091523;padding:10px;box-shadow:0 38px 90px rgba(4,45,79,.28);transform:rotate(2deg)}
.phone-top{height:26px;display:flex;align-items:center;justify-content:center}.phone-top span{display:block;width:68px;height:7px;border-radius:999px;background:#243544}
.phone-screen{height:calc(100% - 26px);border-radius:32px;background:linear-gradient(180deg,#F9FCFF,#EDF7FD);padding:54px 24px 26px;text-align:center;display:flex;flex-direction:column;align-items:center}
.app-company{font-size:12px;font-weight:900;letter-spacing:.16em;color:#6C8398}.app-icon{margin-top:54px;width:86px;height:86px;border-radius:28px;background:linear-gradient(145deg,var(--blue),var(--sky));display:flex;align-items:center;justify-content:center;color:#fff;font-size:36px;box-shadow:0 18px 42px rgba(4,110,180,.24)}
.phone-screen h3{font-size:28px;margin:22px 0 5px}.phone-screen p{margin:0;color:var(--muted);font-size:14px}.phone-screen button{margin-top:45px;width:100%;border:0;border-radius:16px;background:var(--blue);color:#fff;padding:16px 14px;font-family:inherit;font-weight:900;font-size:14px}.app-status{margin-top:auto;font-size:11px;color:#73889A}.app-status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#25B66C;margin-right:5px}
.signal-ring{position:absolute;border-radius:50%;border:1px solid rgba(7,155,216,.17)}.ring-one{width:430px;height:430px}.ring-two{width:540px;height:540px;border-color:rgba(7,155,216,.08)}
.floating-card{position:absolute;z-index:4;background:#fff;border:1px solid var(--line);box-shadow:0 18px 42px rgba(14,70,110,.12);border-radius:17px;padding:13px 15px;min-width:145px}.floating-card b{display:block;color:var(--blue);font-size:12px}.floating-card span{font-size:11px;color:var(--muted);font-weight:800}.fc-left{left:2%;bottom:118px}.fc-right{right:1%;top:122px}
.soft-section{background:#F7FBFE}.flow-grid{display:grid;grid-template-columns:1fr 42px 1fr 42px 1fr;gap:10px;align-items:center}.flow-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:26px;padding:27px;min-height:245px;box-shadow:0 12px 34px rgba(10,49,86,.05)}.flow-card.featured{border-color:#B9DFF3;box-shadow:0 20px 50px rgba(4,110,180,.12)}.flow-number{position:absolute;right:20px;top:18px;color:#B4C7D7;font-weight:900;font-size:12px}.flow-icon{width:48px;height:48px;border-radius:15px;background:#EAF7FF;color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:900;margin-bottom:22px}.flow-card h3{margin:0 0 10px}.flow-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.flow-arrow{text-align:center;color:#8EBAD5;font-size:30px}
.split-feature{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}.feature-lead{font-size:18px;line-height:1.75;color:var(--muted)}.benefit-list{display:grid;gap:16px;margin-top:28px}.benefit-list>div{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}.benefit-list span{width:25px;height:25px;border-radius:50%;background:#E7F7EF;color:#16925A;display:flex;align-items:center;justify-content:center;font-weight:900}.benefit-list p{margin:0;color:#566D80;line-height:1.55;font-size:14px}.benefit-list b{color:var(--ink)}
.integration-visual{min-height:510px;display:flex;justify-content:center;align-items:center;position:relative;background:radial-gradient(circle at center,#EAF7FF 0%,rgba(234,247,255,0) 67%)}.mini-phone{width:238px;height:458px;background:#0A1724;padding:9px;border-radius:38px;box-shadow:0 35px 80px rgba(5,39,65,.23)}.mini-notch{height:21px;width:62px;background:#0A1724;border-radius:0 0 12px 12px;position:absolute;left:50%;transform:translateX(-50%)}.mini-screen{height:100%;border-radius:30px;background:#fff;padding:45px 20px 22px;text-align:center;display:flex;flex-direction:column;align-items:center}.mini-brand{font-size:10px;letter-spacing:.15em;font-weight:900;color:#7990A3}.mini-avatar{width:74px;height:74px;border-radius:25px;background:linear-gradient(145deg,var(--blue),var(--sky));color:white;font-size:30px;display:flex;align-items:center;justify-content:center;margin-top:65px}.mini-screen b{font-size:24px;margin-top:20px}.mini-screen small{color:var(--muted);margin-top:5px}.mini-button{margin-top:auto;background:var(--blue);color:#fff;width:100%;padding:14px;border-radius:14px;font-size:13px;font-weight:900}.integration-badge{position:absolute;right:4%;bottom:70px;background:#fff;border:1px solid var(--line);box-shadow:0 15px 35px rgba(10,49,86,.12);border-radius:999px;padding:12px 16px;font-size:12px;font-weight:900;color:var(--deep)}
.dark-band{background:linear-gradient(135deg,#071827,#0C2747 60%,#0D3B60);color:#fff}.section-head.light h2{color:#fff}.section-head.light p{color:#C3D4E4}.dark-band .eyebrow{color:#86D8FF}.advantage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.adv-card{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:23px;padding:24px}.adv-card>span{font-size:12px;font-weight:900;color:#71D4FF}.adv-card h3{color:#fff;font-size:18px;margin:20px 0 10px}.adv-card p{color:#BDD0E0;font-size:13px;line-height:1.65;margin:0}
.device-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:900px;margin:0 auto}.device-card{position:relative;border:1px solid var(--line);border-radius:28px;padding:30px;background:#fff;box-shadow:0 15px 40px rgba(16,53,92,.06);overflow:hidden}.device-card.premium{border-color:#B7DEF4;box-shadow:0 20px 50px rgba(4,110,180,.11)}.device-label{position:absolute;right:20px;top:20px;font-size:10px;font-weight:900;letter-spacing:.12em;color:#60819A;background:#F1F7FB;padding:7px 9px;border-radius:999px}.desk-phone{height:180px;position:relative;margin:5px auto 24px;max-width:270px}.handset{position:absolute;width:210px;height:42px;border-radius:22px 22px 16px 16px;background:#172430;left:27px;top:8px;transform:rotate(-5deg);box-shadow:0 8px 14px rgba(0,0,0,.15)}.phone-body{position:absolute;width:190px;height:135px;border-radius:18px;background:#263746;left:40px;top:38px;padding:20px 18px}.display{background:#A7C8D7;border-radius:6px;padding:8px 10px;font-size:13px;font-weight:900;color:#173044;text-align:center}.premium-phone .display{background:#3D9BD3;color:#fff}.keys{text-align:center;color:#D6DEE4;letter-spacing:12px;line-height:20px;margin-top:10px;font-size:12px}.device-card h3{font-size:24px;margin:0 0 8px}.device-card>p{color:var(--muted);font-size:14px;line-height:1.6}.device-specs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.device-specs span{font-size:11px;font-weight:900;color:#4D687E;background:#F5F9FC;border-radius:999px;padding:8px 10px}.price{display:block;color:var(--blue);font-size:25px;margin-top:20px}.price small{font-size:11px;color:var(--muted);font-weight:800}.device-note{text-align:center;margin:24px 0 0;color:var(--muted);font-size:13px}
.implementation-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.implementation-time{margin-top:28px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;max-width:380px}.implementation-time span,.implementation-time small{display:block;color:var(--muted);font-size:12px;font-weight:800}.implementation-time strong{display:block;color:var(--blue);font-size:24px;margin:7px 0}.implementation-list{display:grid;gap:10px}.implementation-list>div{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px 16px}.implementation-list span{width:38px;height:38px;border-radius:12px;background:#EAF7FF;color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900}.implementation-list p{margin:0;color:#425E75;font-weight:800;font-size:14px}.cta-eyebrow{color:#B8E8FF!important}
@media(max-width:1060px){.intercom-hero-grid,.split-feature,.implementation-grid{grid-template-columns:1fr}.phone-stage{min-height:520px}.flow-grid{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg)}.advantage-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.intercom-hero-grid{gap:28px}.phone-stage{min-height:470px}.phone-shell{width:226px;height:462px}.app-icon{margin-top:28px}.phone-screen button{margin-top:28px}.floating-card{display:none}.signal-ring.ring-two{width:390px;height:390px}.signal-ring.ring-one{width:320px;height:320px}.advantage-grid,.device-grid{grid-template-columns:1fr}.integration-visual{min-height:460px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}}

/* ===== Intercom revision 18-08-2026 ===== */
.app-real-stage{min-height:610px}
.residence-phone-wrap{position:relative;z-index:3;width:min(100%,500px);margin:auto;border-radius:34px;overflow:hidden;box-shadow:0 34px 80px rgba(5,39,65,.22);background:#0b2d4e}
.residence-phone-img{display:block;width:100%;height:auto}
.intercom-app-button{position:absolute;z-index:5;left:35.5%;top:67.5%;width:38.5%;min-height:50px;border-radius:12px;background:linear-gradient(135deg,#0474bd,#079bd8);color:#fff;box-shadow:0 12px 26px rgba(2,91,153,.34);display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;align-items:center;padding:8px 10px;text-align:left;border:1px solid rgba(255,255,255,.55)}
.intercom-app-button>span{grid-row:1/3;font-size:20px;line-height:1}.intercom-app-button b{font-size:12px;line-height:1.1}.intercom-app-button small{font-size:9px;opacity:.92;line-height:1.1}
.app-real-stage .fc-left{left:-1%;bottom:92px}.app-real-stage .fc-right{right:-2%;top:106px}

.visual-flow .flow-card{min-height:285px;padding:30px}
.visual-flow .flow-icon{width:78px;height:78px;border-radius:20px;margin-bottom:24px;background:linear-gradient(145deg,#eaf7ff,#dff2fc)}
.visual-icon svg{width:52px;height:52px;fill:none;stroke:var(--blue);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.visual-flow .flow-card h3{font-size:23px}.visual-flow .flow-card p{font-size:15px;max-width:260px}
.visual-flow .flow-card.featured .flow-icon{background:linear-gradient(145deg,#e1f5ff,#cfefff)}

.residence-integration{min-height:540px}
.compact-phone{width:min(100%,410px);border-radius:30px}
.compact-phone .intercom-app-button,.intercom-app-button.compact{left:35.5%;top:67.5%;width:38.5%;min-height:43px;padding:6px 8px;grid-template-columns:25px 1fr}
.compact-phone .intercom-app-button>span{font-size:17px}.compact-phone .intercom-app-button b{font-size:10px}.compact-phone .intercom-app-button small{font-size:8px}
.residence-integration .integration-badge{right:0;bottom:58px}

.pricing-section{background:linear-gradient(180deg,#fff,#f7fbfe)}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.plan-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:27px;padding:28px;box-shadow:0 14px 38px rgba(16,53,92,.06);overflow:hidden}
.plan-card.featured{border-color:#92d2f2;box-shadow:0 22px 55px rgba(4,110,180,.12);transform:translateY(-5px)}
.recommended{position:absolute;right:18px;top:17px;background:#e6f6ff;color:#0878b8;padding:7px 9px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.08em}
.plan-top{display:flex;flex-direction:column;gap:9px;padding-bottom:22px;border-bottom:1px solid #e6eef4}.plan-number{color:var(--blue);font-weight:900;font-size:12px;letter-spacing:.12em}.plan-range{font-size:20px;line-height:1.2;font-weight:900;color:var(--ink)}
.plan-money{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:22px 0}.plan-money>div{border-radius:17px;background:#f7fafc;padding:15px}.plan-money .monthly{background:#eaf7ff}.plan-money small{display:block;color:var(--muted);font-weight:800;font-size:10px;margin-bottom:5px}.plan-money strong{display:block;color:var(--ink);font-size:21px;white-space:nowrap}.plan-money .monthly strong{color:var(--blue);font-size:25px}.plan-money em{font-style:normal;font-size:10px;color:var(--muted);font-weight:800}
.plan-card ul{list-style:none;padding:0;margin:0;display:grid;gap:11px}.plan-card li{position:relative;padding-left:24px;color:#49647a;font-size:13px;font-weight:750}.plan-card li:before{content:'✓';position:absolute;left:0;top:-1px;width:17px;height:17px;border-radius:50%;background:#e5f7ef;color:#178f5b;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900}
.plan-foot{margin:24px auto 0;padding:15px 20px;max-width:940px;text-align:center;border:1px solid #dcebf4;border-radius:17px;background:#fff;color:#536d81;font-size:12px}.plan-foot b{color:var(--ink)}.plan-foot span{padding:0 8px;color:#a1b5c4}

.real-device-grid{max-width:1050px}
.real-device-card{padding:0;display:grid;grid-template-columns:48% 52%;min-height:360px;align-items:stretch}
.real-device-card .device-label{z-index:5;right:22px;top:22px}
.device-photo{background:#333;min-height:360px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.device-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.real-device-card .device-copy{padding:54px 28px 28px;display:flex;flex-direction:column;justify-content:center}
.real-device-card .device-copy h3{font-size:25px;margin:0 0 8px}.real-device-card .device-copy p{color:var(--muted);font-size:14px;line-height:1.62;margin:0}.real-device-card .price{margin-top:16px}.real-device-card .price small{display:block;margin-top:4px}

@media(max-width:1060px){
  .app-real-stage{min-height:600px}.residence-phone-wrap{width:min(90%,470px)}
  .plan-grid{grid-template-columns:1fr}.plan-card.featured{transform:none}.real-device-card{grid-template-columns:44% 56%}
}
@media(max-width:680px){
  .app-real-stage{min-height:500px}.residence-phone-wrap{width:min(100%,390px);border-radius:24px}.intercom-app-button{min-height:42px;padding:6px 7px;grid-template-columns:24px 1fr}.intercom-app-button>span{font-size:16px}.intercom-app-button b{font-size:10px}.intercom-app-button small{font-size:7px}
  .visual-flow .flow-card{min-height:235px}.visual-flow .flow-icon{width:68px;height:68px}.visual-icon svg{width:44px;height:44px}
  .real-device-card{grid-template-columns:1fr}.device-photo{min-height:260px}.real-device-card .device-copy{padding:36px 24px 26px}.plan-money{grid-template-columns:1fr 1fr}.plan-foot span{display:none}.plan-foot{line-height:1.8}
}


/* ===== Intercom refinement 18-08-2026 · revision 03 ===== */
/* Se eliminan las tres cápsulas del hero; no se reemplazan. */
.intercom-chips{display:none!important}

/* Segundo teléfono: presentación limpia y distinta al encabezado. */
.residence-integration.clean-integration{
  min-height:540px;
  background:none!important;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.residence-integration .clean-phone{
  width:min(100%,360px);
  background:transparent!important;
  border-radius:58px;
  overflow:hidden;
  box-shadow:0 24px 58px rgba(15,48,76,.14);
}
.residence-integration .clean-phone .residence-phone-img{
  width:100%;
  height:auto;
  display:block;
}
/* Sustituye el cuadro azul por una acción nativa y discreta dentro de la interfaz. */
.reception-native-call{
  position:absolute;
  z-index:6;
  left:63.2%;
  top:72.1%;
  transform:translate(-50%,-50%);
  min-width:37%;
  height:34px;
  padding:0 10px;
  border-radius:8px;
  background:#050505;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-size:9px;
  font-weight:800;
  line-height:1;
  box-shadow:none;
  border:0;
  white-space:nowrap;
}
.reception-native-call span{font-size:12px;line-height:1}
.residence-integration .integration-badge{display:none!important}

@media(max-width:680px){
  .residence-integration.clean-integration{min-height:430px}
  .residence-integration .clean-phone{width:min(88%,320px);border-radius:48px}
  .reception-native-call{height:30px;font-size:8px;gap:5px;padding:0 8px}
  .reception-native-call span{font-size:11px}
}


/* ===== Intercom refinement 18-08-2026 · revision 04 ===== */
/* Segundo teléfono: más pequeño, con aire blanco y sin overlays HTML. */
.residence-integration.clean-integration{
  min-height:500px!important;
  padding:56px 24px 42px!important;
  background:#fff!important;
  overflow:visible!important;
}
.residence-integration .clean-phone{
  width:min(76%,300px)!important;
  border-radius:46px!important;
  background:transparent!important;
  box-shadow:0 18px 42px rgba(15,48,76,.10)!important;
  margin:0 auto!important;
}
.reception-native-call{display:none!important;}
@media(max-width:680px){
  .residence-integration.clean-integration{min-height:410px!important;padding:42px 18px 34px!important;}
  .residence-integration .clean-phone{width:min(78%,265px)!important;border-radius:40px!important;}
}


/* ===== Intercom refinement 18-08-2026 · revision 06 =====
   ÚNICO cambio: segundo teléfono en estado de llamada activa.
   El hero y el resto del sitio permanecen sin cambios. */
.residence-integration .active-call-phone{position:relative;}
.active-reception-call{
  position:absolute;
  z-index:8;
  left:22.0%;
  top:70.9%;
  width:54.5%;
  height:6.15%;
  border-radius:12px;
  background:linear-gradient(135deg,#12a465 0%,#07965d 100%);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-shadow:none;
  pointer-events:none;
  overflow:hidden;
}
.active-reception-call .active-call-icon{
  width:24px;
  height:24px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#0a9a60;
  font-size:14px;
  line-height:1;
  margin-bottom:2px;
}
.active-reception-call strong{
  font-size:10px;
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.01em;
}
.active-reception-call small{
  margin-top:2px;
  font-size:7px;
  line-height:1;
  color:rgba(255,255,255,.94);
  font-weight:700;
}
@media(max-width:680px){
  .active-reception-call{border-radius:10px;}
  .active-reception-call .active-call-icon{width:20px;height:20px;font-size:12px;margin-bottom:1px;}
  .active-reception-call strong{font-size:8.5px;}
  .active-reception-call small{font-size:6px;margin-top:1px;}
}

/* Hero phone: +20% proportional and no side cards */
.app-real-stage{min-height:730px!important}
.app-real-stage .residence-phone-wrap{width:min(100%,600px)!important;border-radius:40px!important}
.app-real-stage .floating-card{display:none!important}
.app-real-stage .ring-one{width:510px;height:510px}.app-real-stage .ring-two{width:650px;height:650px}
@media(max-width:1060px){.app-real-stage{min-height:680px!important}.app-real-stage .residence-phone-wrap{width:min(92%,560px)!important}}
@media(max-width:680px){.app-real-stage{min-height:520px!important}.app-real-stage .residence-phone-wrap{width:min(100%,430px)!important;border-radius:27px!important}.app-real-stage .ring-one{width:360px;height:360px}.app-real-stage .ring-two{width:440px;height:440px}}

/* Second phone: correct active-call panel; prevent cropped text */
.residence-integration.clean-integration{min-height:570px!important;padding:34px 18px!important}
.residence-integration .clean-phone{width:min(90%,360px)!important;border-radius:54px!important}
.active-reception-call{left:21.8%!important;top:70.1%!important;width:56.5%!important;height:8.0%!important;min-height:0!important;border-radius:14px!important;padding:4px 6px!important;box-sizing:border-box!important;overflow:visible!important;justify-content:center!important}
.active-reception-call .active-call-icon{width:22px!important;height:22px!important;font-size:13px!important;margin:0 0 2px!important;flex:0 0 auto}
.active-reception-call strong{font-size:10px!important;line-height:1.05!important;white-space:nowrap!important;display:block!important}
.active-reception-call small{font-size:7px!important;line-height:1!important;margin-top:2px!important;display:block!important}
@media(max-width:680px){.residence-integration.clean-integration{min-height:460px!important;padding:26px 12px!important}.residence-integration .clean-phone{width:min(88%,315px)!important}.active-reception-call{border-radius:11px!important}.active-reception-call strong{font-size:8.5px!important}.active-reception-call .active-call-icon{width:19px!important;height:19px!important;font-size:11px!important}.active-reception-call small{font-size:6px!important}}
/* Optional residential terminal */
.residential-terminal-section{background:linear-gradient(180deg,#fff 0%,#f6fbfe 100%)}
.residential-terminal-card{display:grid;grid-template-columns:.78fr 1.22fr;gap:56px;align-items:center;border:1px solid #dbe9f2;border-radius:30px;background:#fff;padding:42px 48px;box-shadow:0 18px 50px rgba(15,61,93,.08)}
.terminal-photo-wrap{position:relative;display:flex;align-items:center;justify-content:center;min-height:340px;border-radius:24px;background:linear-gradient(145deg,#f7fafc,#eaf3f8);overflow:hidden}
.terminal-photo-wrap img{width:min(84%,420px);height:auto;display:block;mix-blend-mode:multiply}
.optional-badge{position:absolute;top:18px;left:18px;padding:8px 12px;border-radius:999px;background:#e6f6ff;color:#0878b8;font-size:10px;font-weight:900;letter-spacing:.12em}
.terminal-copy h2{font-size:clamp(30px,3.1vw,48px);line-height:1.07;margin:6px 0 16px;max-width:760px}
.terminal-specs{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 18px}.terminal-specs span{padding:9px 12px;border-radius:999px;background:#f0f7fb;color:#3c5b71;font-size:11px;font-weight:900;border:1px solid #deebf3}
.terminal-note{font-size:13px;line-height:1.65;color:#60788a;margin:0 0 24px}.terminal-note b{color:#263a50}
.terminal-cta{display:inline-flex}
@media(max-width:900px){.residential-terminal-card{grid-template-columns:1fr;padding:32px;gap:30px}.terminal-photo-wrap{min-height:300px}}
@media(max-width:560px){.residential-terminal-card{padding:22px 18px;border-radius:22px}.terminal-photo-wrap{min-height:240px}.terminal-copy h2{font-size:30px}.terminal-cta{width:100%;justify-content:center}}

/* FINAL: optional badge sits outside the product image; it never overlaps the Fanvil device. */
.terminal-photo-wrap{overflow:visible!important;margin-top:34px!important}
.terminal-photo-wrap>.optional-badge{top:-34px!important;left:0!important;z-index:5!important;padding:8px 13px!important;background:#e6f6ff!important;color:#0878b8!important}
/* Keep the preferred green call panel proportions from REV08. */
.active-reception-call{overflow:visible!important}
/* Intercom page starts immediately after the approved master header. */
.intercom-page .site-header{position:sticky;top:0;z-index:1000}
@media(max-width:560px){.terminal-photo-wrap{margin-top:30px!important}.terminal-photo-wrap>.optional-badge{top:-30px!important}}

/* Integración visual del bloque azul: trazos tecnológicos sutiles */
.dark-band{position:relative;overflow:hidden;isolation:isolate}
.dark-band::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.34;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 520' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%236ed3ff' stroke-opacity='.42' stroke-width='1.2'%3E%3Cpath d='M-40 105 H235 L285 155 H520 L570 105 H780 L830 155 H1120 L1180 95 H1480'/%3E%3Cpath d='M-20 355 H180 L235 300 H465 L520 355 H760 L815 300 H1010 L1070 355 H1460'/%3E%3Cpath d='M130 0 V72 L190 132 V230 L260 300 V520'/%3E%3Cpath d='M1290 0 V100 L1230 160 V250 L1170 310 V520'/%3E%3Cpath d='M500 0 V68 L540 108 M920 520 V445 L880 405'/%3E%3C/g%3E%3Cg fill='%237ad8ff' fill-opacity='.55'%3E%3Ccircle cx='285' cy='155' r='3'/%3E%3Ccircle cx='570' cy='105' r='3'/%3E%3Ccircle cx='830' cy='155' r='3'/%3E%3Ccircle cx='1180' cy='95' r='3'/%3E%3Ccircle cx='235' cy='300' r='3'/%3E%3Ccircle cx='520' cy='355' r='3'/%3E%3Ccircle cx='815' cy='300' r='3'/%3E%3Ccircle cx='1070' cy='355' r='3'/%3E%3C/svg%3E");
  background-size:cover;background-position:center;
}
.dark-band::after{content:"";position:absolute;inset:-20% -10%;z-index:0;pointer-events:none;background:radial-gradient(circle at 72% 48%,rgba(55,181,242,.12),transparent 34%),radial-gradient(circle at 20% 70%,rgba(55,181,242,.08),transparent 28%)}
.dark-band>.container{position:relative;z-index:1}

/* FINAL visual integration: HUP-style diagonal traces around the hero phone */
.app-real-stage .residence-phone-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.42;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 760' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%236ed3ff' stroke-linecap='round' stroke-width='2.2' stroke-opacity='.32'%3E%3Cpath d='M8 520 L420 660'/%3E%3Cpath d='M42 640 L478 392'/%3E%3Cpath d='M640 214 L930 40'/%3E%3C/g%3E%3Cg fill='%237ad8ff' fill-opacity='.38'%3E%3Ccircle cx='420' cy='660' r='5'/%3E%3Ccircle cx='478' cy='392' r='5'/%3E%3Ccircle cx='640' cy='214' r='4.5'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-size:100% 100%;
  filter:drop-shadow(0 0 4px rgba(7,155,216,.10));
}
.app-real-stage .residence-phone-wrap::after{content:none}
.app-real-stage .residence-phone-img{position:relative;z-index:1}
.app-real-stage .intercom-app-button{z-index:5}
@media(max-width:680px){
  .app-real-stage .residence-phone-wrap::before{opacity:.34}
}
