:root { color-scheme:dark; --home-bg:#101410; --home-panel:#191e19; --home-border:#353e35; --home-text:#f3f6ef; --home-muted:#b7c0b6; --home-accent:#b6e65c; }
* { box-sizing:border-box; }
html { scroll-padding-top:100px; scroll-behavior:smooth; }
body { margin:0; background:var(--home-bg); color:var(--home-text); font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { line-height:1.18; letter-spacing:-.035em; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
img { max-width:100%; display:block; }
[hidden] { display:none !important; }
:is(a,button,summary,input):focus-visible { outline:3px solid var(--home-accent); outline-offset:5px; }
.home-wrap { width:min(1120px,calc(100% - 64px)); margin-inline:auto; }
.home-section { padding-block:76px; }
.home-eyebrow { color:var(--home-accent); font-size:.73rem; letter-spacing:.13em; font-weight:700; margin-bottom:14px; }
h2 { font-size:clamp(1.8rem,3vw,2.5rem); font-weight:650; }
.home-muted { color:var(--home-muted); }
.home-text-link { color:var(--home-accent); font-size:.92rem; font-weight:650; border:0; padding:0; background:none; text-align:left; }
.home-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.home-button { display:inline-flex; justify-content:center; align-items:center; gap:18px; min-height:50px; border:1px solid var(--home-accent); border-radius:9px; padding:13px 21px; color:#17220c; background:var(--home-accent); font-weight:700; font-size:.94rem; line-height:1.35; text-align:center; }
.home-button:hover { background:#c6ef80; }
.home-button.secondary { background:transparent; border-color:#697368; color:var(--home-text); }
.home-button.secondary:hover { background:#222a22; }
.home-button.small { min-height:42px; padding:10px 15px; font-size:.85rem; }
.skip-link { position:fixed; left:16px; top:-100px; background:var(--home-accent); color:#14200c; padding:12px 18px; z-index:100; }
.skip-link:focus { top:10px; }
.home-header { position:sticky; top:0; background:#101410; border-bottom:1px solid #2b342b; z-index:30; }
.header-row { min-height:80px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.home-logo { display:flex; align-items:center; gap:11px; font-size:1.05rem; font-weight:650; white-space:nowrap; }
.home-logo img { object-fit:contain; }
.home-logo strong { color:var(--home-accent); }
#home-menu { display:flex; align-items:center; gap:25px; font-size:.88rem; }
#home-menu a:not(.home-button):hover { color:var(--home-accent); }
.home-menu-toggle { display:none; }
.home-hero { display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:58px; padding-block:64px 55px; }
.home-hero h1 { font-size:clamp(2.3rem,4.1vw,3.6rem); font-weight:650; line-height:1.12; }
.home-hero h1 span { color:var(--home-accent); }
.home-lead { color:#c5cec3; font-size:1.06rem; line-height:1.75; max-width:540px; margin-top:23px; }
.home-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:29px; }
.hero-help { margin-top:17px; color:var(--home-muted); font-size:.85rem; }
.hero-help button { border:0; border-bottom:1px solid #7b8b71; padding:0; color:#e5f1d7; background:none; font:inherit; }
.hero-reassurance { display:flex; flex-wrap:wrap; gap:8px 19px; list-style:none; padding:0; margin:29px 0 0; color:#d4ddce; font-size:.76rem; }
.hero-reassurance li::before { content:'✓'; color:var(--home-accent); margin-right:7px; }
.hero-feature { min-width:0; }
.home-promo { border:1px solid #3b4435; border-radius:15px; overflow:hidden; background:#080b08; }
.home-promo-slide img { width:100%; height:auto; aspect-ratio:1.25; object-fit:contain; }
.home-promo-controls { display:flex; align-items:center; justify-content:space-between; padding:8px 12px; border-top:1px solid #2d352a; color:#c9d0c3; font-size:.78rem; }
.home-promo-controls button { color:var(--home-accent); border:1px solid #414d37; border-radius:7px; background:transparent; min-width:44px; min-height:36px; }
.hero-time { display:grid; gap:3px; border-left:2px solid var(--home-accent); padding-left:14px; margin-top:19px; }
.hero-time strong { font-size:.91rem; font-weight:600; }
.hero-time span { color:var(--home-muted); font-size:.75rem; }
.home-brands { border-block:1px solid #30382e; background:#151a14; }
.home-brands .home-wrap { display:flex; flex-wrap:wrap; gap:8px 25px; padding-block:17px; font-size:.82rem; }
.home-brands span { color:var(--home-muted); }
.home-brands p { word-spacing:.16em; color:#d0d8ca; }
.home-section-heading { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:30px; }
.home-section-heading > p { color:var(--home-muted); font-size:.9rem; max-width:310px; }
.home-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.home-service { display:flex; flex-direction:column; align-items:start; background:var(--home-panel); border:1px solid var(--home-border); border-radius:12px; padding:25px; }
.service-number { font-size:.75rem; font-variant-numeric:tabular-nums; color:#8d9c84; margin-bottom:22px; }
.home-service h3 { font-size:1.25rem; margin-bottom:12px; font-weight:650; }
.home-service p { color:var(--home-muted); font-size:.88rem; line-height:1.7; margin-bottom:24px; }
.home-service a { margin-top:auto; color:var(--home-accent); font-weight:600; font-size:.86rem; padding-block:8px; min-height:40px; }
.home-service a:hover { text-decoration:underline; text-underline-offset:4px; }
.home-process-band { background:#1b2219; border-block:1px solid #30392e; }
.home-steps { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px; }
.home-steps li { display:grid; grid-template-columns:30px 1fr; gap:12px; align-content:start; }
.home-steps li > span { width:28px; height:28px; border:1px solid #667957; border-radius:50%; display:grid; place-items:center; font-size:.8rem; color:var(--home-accent); }
.home-steps h3 { font-size:1rem; letter-spacing:-.01em; padding-top:4px; }
.home-steps p { grid-column:2; font-size:.85rem; color:var(--home-muted); }
.home-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; }
.home-faq .home-muted { font-size:.9rem; margin-block:20px; }
.home-faq-items details { border-bottom:1px solid #394236; padding:20px 0; }
.home-faq-items details:first-child { padding-top:0; }
.home-faq-items summary { cursor:pointer; font-size:.95rem; font-weight:600; padding-right:12px; }
.home-faq-items details p { color:var(--home-muted); font-size:.88rem; margin-top:15px; line-height:1.8; }
.home-faq-items details a { color:var(--home-accent); text-decoration:underline; }
.home-shop-band { border-block:1px solid #30382e; }
.home-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.home-product { padding:22px; border:1px solid var(--home-border); border-radius:12px; }
.home-product img { width:100%; height:130px; object-fit:contain; margin-bottom:20px; }
.home-product .home-eyebrow { font-size:.65rem; margin-bottom:10px; }
.home-product h3 { font-size:1.02rem; font-weight:600; min-height:40px; }
.product-price { font-size:1.3rem; margin-block:15px; font-weight:600; }
.product-price span { color:var(--home-muted); font-size:.75rem; font-weight:400; }
.home-product a { color:var(--home-accent); font-size:.78rem; display:inline-block; padding-block:8px; }
.home-contact { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.contact-address { margin-block:24px 17px; color:#ccd5c5; max-width:360px; font-size:.95rem; }
.contact-panel { border:1px solid #44503c; border-radius:14px; padding:28px; background:#1a2118; }
.contact-panel h3 { font-size:1.1rem; }
.contact-panel dl { margin-block:23px; font-size:.9rem; }
.contact-panel dl div { display:flex; justify-content:space-between; gap:20px; padding:7px 0; }
.contact-panel dt { color:var(--home-muted); }
.contact-panel dd { margin:0; }
.contact-panel .home-button { width:100%; }
.contact-phone { display:block; text-align:center; font-size:.9rem; padding-top:16px; }
.home-footer { border-top:1px solid #343d30; padding-block:30px; color:var(--home-muted); font-size:.8rem; }
.home-footer .home-wrap { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:26px; }
.home-footer strong { color:#e0e8d9; font-size:.9rem; }
.home-footer nav { display:flex; flex-wrap:wrap; gap:12px 20px; max-width:420px; }
.home-footer a:hover { color:var(--home-accent); }
@media(max-width:950px) { .home-hero { gap:30px; } #home-menu { gap:16px; } .home-wrap { width:calc(100% - 40px); } .home-contact { gap:40px; } }
@media(max-width:760px) {
  .header-row { min-height:72px; flex-wrap:wrap; gap:0; }
  .home-logo { font-size:.98rem; } .home-logo img { height:40px; width:34px; }
  .home-menu-toggle { display:flex; align-items:center; gap:12px; min-height:44px; padding:8px 12px; border:1px solid #53604a; color:#e2ebd9; background:none; border-radius:7px; font-size:.85rem; }
  #home-menu { width:100%; flex-direction:column; align-items:stretch; padding-block:14px 20px; gap:0; }
  #home-menu a { padding:12px; min-height:46px; border-radius:6px; }
  #home-menu .home-button { margin-top:9px; }
  .home-header.menu-ready #home-menu:not(.is-open) { display:none; }
  .home-hero { grid-template-columns:1fr; gap:30px; padding-block:40px; }
  .home-hero h1 { font-size:clamp(2rem,7vw,2.8rem); line-height:1.15; }
  .home-lead { font-size:1rem; margin-top:20px; }
  .hero-reassurance { font-size:.72rem; gap:7px 14px; margin-top:23px; }
  .home-actions { margin-top:24px; }
  .home-promo-slide img { max-height:275px; }
  .hero-time { margin-top:16px; }
  .home-section { padding-block:48px; }
  .home-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .home-service { padding:20px; }
  .home-section-heading { flex-direction:column; align-items:start; gap:18px; }
  .home-steps { grid-template-columns:1fr; gap:26px; }
  .home-faq { grid-template-columns:1fr; gap:28px; }
  .home-products { grid-template-columns:1fr; gap:12px; }
  .home-product { padding:20px; }
  .home-product h3 { min-height:0; }
  .home-product img { width:100px; height:100px; }
  .home-contact { grid-template-columns:1fr; gap:30px; }
  .contact-panel { padding:23px; }
  .home-footer { padding-bottom:100px; }
}
@media(max-width:450px) { .home-service-grid { grid-template-columns:1fr; } .service-number { margin-bottom:12px; } .home-service p { margin-bottom:15px; } .home-actions { flex-direction:column; } .home-button { min-height:49px; } .home-eyebrow { font-size:.66rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Interfaz visual: accesos directos y movimiento suave. */
:root { --home-bg:#080d10; --home-panel:#101a1c; --home-border:#243938; --home-muted:#aababc; --home-accent:#b2ef51; }
.home-header { background:rgba(8,13,16,.96); border-color:#263d36; backdrop-filter:blur(14px); }
.home-logo strong { text-shadow:0 0 22px #a6e34040; }
.home-hero { position:relative; isolation:isolate; grid-template-columns:1fr 1fr; min-height:610px; padding-block:55px; gap:35px; }
.home-hero::before { content:''; position:absolute; z-index:-1; pointer-events:none; inset:0 -30px; background:radial-gradient(ellipse at 77% 48%,#19d8b410,transparent 62%),linear-gradient(#74dca305 1px,transparent 1px),linear-gradient(90deg,#74dca305 1px,transparent 1px); background-size:auto,55px 55px,55px 55px; mask-image:linear-gradient(transparent,black 20%,black 80%,transparent); }
.home-hero h1 { font-size:clamp(2.9rem,5.3vw,4.8rem); letter-spacing:-.055em; line-height:1.04; }
.home-hero h1 span { color:var(--home-accent); text-shadow:0 0 40px #b2ef5120; }
.home-hero .home-lead { font-size:1rem; max-width:400px; color:#c3d0cf; }
.home-eyebrow { display:flex; align-items:center; gap:9px; }
.tech-live { display:inline-block; width:6px; height:6px; border-radius:50%; background:#6ee5ba; box-shadow:0 0 12px #65e9c0; }
.home-button { border-radius:11px; box-shadow:0 4px 28px #b2ef5112; transition:transform .2s,box-shadow .2s; }
.home-button:hover { transform:translateY(-2px); box-shadow:0 8px 28px #b2ef5126; }
.home-button.secondary { box-shadow:none; border-color:#405553; }
#home-motion-toggle { font:inherit; font-size:.68rem; color:#a7bbba; padding:7px; border:0; background:none; }
.hero-reassurance { gap:12px; color:#8ea8a2; font-size:.68rem; }
.tech-visual { height:475px; position:relative; display:grid; place-items:center; min-width:0; }
.tech-orbit { position:absolute; border:1px solid #8cebb329; width:375px; height:375px; border-radius:50%; transform:rotateX(57deg) rotateZ(-30deg); box-shadow:0 0 40px #67ecc909,inset 0 0 40px #67ecc909; }
.orbit-two { width:465px; height:465px; border-style:dashed; border-color:#b2ef5118; transform:rotateX(55deg) rotateZ(22deg); }
.tech-phone { width:207px; height:358px; border-radius:34px; border:2px solid #73968d; padding:10px; position:relative; transform:rotate(-9deg); background:linear-gradient(135deg,#3b5351,#111b20 23%,#192522 75%,#75b0a1); box-shadow:10px 22px 55px #0009,0 0 65px #6bd7b41f,inset 0 0 0 3px #060b0f; animation:phone-hover 7s ease-in-out infinite; }
.phone-screen { height:100%; border:1px solid #8cebb350; border-radius:25px; display:flex; align-items:center; justify-content:center; flex-direction:column; background:radial-gradient(ellipse at 50% 40%,#40664460,transparent 70%),linear-gradient(160deg,#152a28,#080f12); overflow:hidden; position:relative; }
.phone-screen img { width:95px; height:110px; object-fit:contain; filter:drop-shadow(0 0 19px #b2ef5144); }
.phone-camera { position:absolute; z-index:2; top:18px; left:50%; transform:translateX(-50%); width:62px; height:16px; background:#060d0d; border:1px solid #38514a; border-radius:12px; }
.phone-home { position:absolute; bottom:22px; left:50%; transform:translateX(-50%); width:59px; height:3px; border-radius:5px; background:#7aa69a; }
.phone-scan { position:absolute; width:100%; height:70px; top:-80px; background:linear-gradient(transparent,#c0ff6017); border-bottom:1px solid #c0ff6080; animation:scan-device 6s ease-in-out infinite; pointer-events:none; }
.phone-signal { display:flex; align-items:center; gap:5px; height:32px; margin-top:23px; }
.phone-signal i { width:4px; height:12px; border-radius:3px; background:#8be0b2; animation:signal-wave 2s ease-in-out infinite alternate; }
.phone-signal i:nth-child(2),.phone-signal i:nth-child(4) { height:22px; animation-delay:.4s; }
.phone-signal i:nth-child(3) { height:31px; animation-delay:.8s; }
.tech-shortcut { position:absolute; z-index:3; display:flex; gap:12px; align-items:center; padding:13px 18px; border:1px solid #75c6a94d; border-radius:14px; background:linear-gradient(130deg,#1d332eee,#0e191dee); backdrop-filter:blur(12px); box-shadow:0 10px 24px #0005; font-size:.92rem; font-weight:600; transition:border-color .2s,transform .2s,box-shadow .2s; }
.tech-shortcut:hover { border-color:#b2ef51; box-shadow:0 0 25px #b2ef5120; transform:translateY(-4px); }
.tech-shortcut small { display:block; margin-top:3px; font-size:.66rem; color:#a6bfb8; font-weight:400; }
.tech-glyph { color:#b2ef51; font-size:1.9rem; line-height:1; text-shadow:0 0 15px #b2ef5140; }
.tech-icon { width:28px; height:28px; color:#b2ef51; flex-shrink:0; filter:drop-shadow(0 0 6px #b2ef5133); }
.shortcut-screen { top:65px; left:0; }
.shortcut-battery { top:205px; right:0; }
.shortcut-charge { bottom:55px; left:0; }
.tech-time { position:absolute; bottom:0; right:0; display:grid; gap:2px; font-size:.74rem; color:#9dbab0; }
.tech-time strong { color:#b2ef51; font-size:1.1rem; letter-spacing:.06em; }
.home-brands { background:#101a1b; border-color:#2c4038; }
.home-brands .home-wrap { justify-content:space-between; align-items:center; font-size:.78rem; }
.home-brands small { color:#8ca3a0; font-size:.67rem; }
.home-service-grid { gap:20px; }
.home-service { display:block; padding:0; border-color:#2c4440; overflow:hidden; background:linear-gradient(150deg,#152222,#0d1518); transition:transform .3s,border-color .3s,box-shadow .3s; }
.home-service:hover { transform:translateY(-6px); border-color:#a3db65; box-shadow:0 10px 35px #59d5a214; }
.service-visual-link { display:block; color:inherit !important; font-weight:400 !important; padding:0 !important; min-height:0 !important; }
.service-visual-link:hover { text-decoration:none !important; }
.service-art { height:176px; overflow:hidden; background:radial-gradient(ellipse,#2d6652,#11211f 70%); position:relative; border-bottom:1px solid #4d835055; }
.service-art::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 50%,#0b17195c); pointer-events:none; }
.service-art img { width:100%; height:100%; object-fit:cover; object-position:center 49%; transition:transform .6s; }
.home-service:hover .service-art img { transform:scale(1.06); }
.service-card-copy { padding:20px 23px; }
.home-service h3 { margin-bottom:7px; font-size:1.2rem; color:#eef6eb; }
.home-service p { font-size:.76rem; color:#a6bcb2; margin-bottom:17px; line-height:1.5; }
.service-link-label { display:block; font-size:.78rem; font-weight:650; color:var(--home-accent); }
.port-art { display:grid; place-items:center; height:100%; position:relative; background:linear-gradient(35deg,#1b3f3e,#0d181e); }
.port-art span { display:grid; place-items:center; width:86px; height:86px; border:1px solid #85ddba; border-radius:25px; box-shadow:0 0 45px #4bffc236,inset 0 0 30px #52f4b915; color:#b2ef51; font-size:4rem; transform:rotate(-10deg); }
.port-art::before,.port-art::after { content:''; width:200px; height:1px; background:linear-gradient(90deg,transparent,#72d9b5,transparent); position:absolute; transform:rotate(-23deg); }
.port-art::before { top:35px; }.port-art::after { bottom:25px; }
.promo-compact { padding-bottom:45px; }
.promo-compact details { border:1px solid #2e4940; border-radius:12px; overflow:hidden; }
.promo-compact summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 23px; cursor:pointer; font-size:.92rem; }
.promo-compact summary span { color:#b2ef51; font-size:.75rem; }
.promo-compact details[open] summary span { font-size:0; }
.promo-compact details[open] summary span::after { content:'Cerrar −'; font-size:.75rem; }
.promo-compact .home-promo { max-width:520px; margin:0 auto 25px; }
.home-process-band { background:#101c1b; border-color:#293f37; }
.home-steps p { font-size:.8rem; }
.home-section-heading { margin-bottom:26px; }
.home-faq .home-muted { margin-block:15px; max-width:280px; }
.home-product { background:#111e1d; border-color:#2c453d; }
.contact-panel { background:linear-gradient(130deg,#192b23,#101b1c); border-color:#425e40; }
.home-footer { border-color:#2b4037; }
.motion-ready [data-reveal] { opacity:0; transform:translateY(25px); transition:opacity .65s,transform .65s; }
.motion-ready [data-reveal].is-visible { opacity:1; transform:translateY(0); }
.motion-paused *,.motion-paused *::before,.motion-paused *::after { animation:none !important; transition:none !important; }
.motion-paused [data-reveal] { opacity:1; transform:none; }
@keyframes phone-hover { 0%,100% { transform:translateY(0) rotate(-9deg); } 50% { transform:translateY(-14px) rotate(-5deg); } }
@keyframes scan-device { 0%,15% { transform:translateY(0); opacity:0; } 25% { opacity:1; } 80%,100% { transform:translateY(460px); opacity:0; } }
@keyframes signal-wave { from { transform:scaleY(.65); opacity:.5; } to { transform:scaleY(1); opacity:1; } }
@media(max-width:950px) { .tech-shortcut { padding:11px 13px; } .tech-visual { height:430px; } .tech-phone { width:185px; height:330px; } .tech-orbit { width:300px; height:300px; } .orbit-two { width:360px; height:360px; } }
@media(max-width:760px) {
  .home-hero { grid-template-columns:1fr; min-height:0; gap:15px; padding-block:35px 20px; }
  .home-hero h1 { font-size:clamp(2.7rem,8.8vw,4rem); }
  .home-hero .home-lead { font-size:.9rem; margin-top:17px; }
  .home-actions { margin-top:21px; }
  .hero-reassurance { margin-top:18px; font-size:.62rem; }
  .hero-help { margin-top:14px; font-size:.77rem; }
  .tech-visual { height:340px; width:min(440px,100%); margin:auto; }
  .tech-phone { width:150px; height:262px; border-radius:28px; }
  .phone-screen { border-radius:20px; }.phone-camera { width:48px; height:12px; }.phone-screen img { width:72px; height:80px; }
  .tech-orbit { width:270px; height:270px; }.orbit-two { width:330px; height:330px; }
  .shortcut-screen { top:30px; left:0; }.shortcut-battery { top:136px; right:0; }.shortcut-charge { bottom:24px; left:0; }
  .tech-shortcut { font-size:.77rem; padding:10px 12px; gap:9px; border-radius:11px; }.tech-shortcut small { font-size:.59rem; }.tech-glyph { font-size:1.45rem; }
  .tech-time { bottom:3px; right:0; font-size:.58rem; }.tech-time strong { font-size:.85rem; }
  .home-brands .home-wrap { padding-block:13px; font-size:.68rem; gap:4px; }
  .home-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .service-art { height:140px; }.service-card-copy { padding:15px; }.home-service h3 { font-size:1.02rem; }.home-service p { font-size:.69rem; }.service-link-label { font-size:.7rem; }
  .home-service:hover { transform:none; }
  .home-steps { gap:22px; }
  .promo-compact { padding-bottom:32px; }
}
@media(max-width:390px) { .home-service-grid { gap:10px; }.service-art { height:118px; }.service-card-copy { padding:13px; }.home-service h3 { font-size:.94rem; }.home-service p { font-size:.65rem; }.service-link-label { font-size:.65rem; }.home-service { border-radius:12px; }.hero-reassurance { gap:8px; }.tech-shortcut { padding:9px; } }
@media(max-width:450px) { .home-service p { display:none; }.home-service h3 { min-height:2.2em; margin-bottom:10px; }.service-link-label { font-size:.73rem; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; } .motion-ready [data-reveal] { opacity:1; transform:none; } }

.repair-promotions { padding-bottom:65px; }
.repair-promotions .home-promo { border:1px solid #2f3e39; border-radius:22px; background:#0a0f0e; overflow:hidden; }
.repair-promotions .repair-promo-slide { display:grid; grid-template-columns:43% 57%; align-items:center; min-height:390px; background:radial-gradient(ellipse at 75% 60%,#28412a25,transparent 70%),#0a0f0e; animation:promo-arrive .65s ease both; }
.repair-promotions .repair-promo-slide[hidden] { display:none !important; }
.repair-promotions .repair-promo-copy { position:relative; z-index:1; padding:46px 12px 46px 48px; }
.repair-promo-kicker { color:#b2ef51; font-size:.76rem; font-weight:600; letter-spacing:.05em; margin-bottom:17px; }
.repair-promo-copy h3 { color:#f2f5ef; font-size:clamp(1.8rem,3.3vw,2.9rem); letter-spacing:-.045em; font-weight:600; line-height:1.08; max-width:380px; }
.repair-promo-detail { color:#aabbb1; font-size:.9rem; line-height:1.65; max-width:290px; margin-top:19px; }
.repair-promo-link { display:inline-flex; align-items:center; gap:20px; margin-top:25px; padding-block:12px; min-height:46px; color:#c3ef86; font-size:.86rem; font-weight:650; }
.repair-promo-link:hover { text-decoration:underline; text-underline-offset:5px; }
.repair-promotions .repair-promo-slide > img { width:100%; height:auto; aspect-ratio:1.5; object-fit:contain; max-height:none; }
.repair-promotions .home-promo-controls { justify-content:space-between; padding:12px 20px; min-height:62px; background:#111916; border-color:#29382f; }
.repair-promo-navigation { display:flex; align-items:center; gap:20px; }
.repair-promotions .home-promo-controls button { min-height:38px; font-size:.85rem; }
.repair-promotions #home-promo-pause { padding:7px 13px; color:#c9d5c6; border-color:#44533c; font-size:.73rem; }
.repair-promotions #home-promo-status { min-width:42px; text-align:center; font-variant-numeric:tabular-nums; }
@keyframes promo-arrive { from { opacity:.45; transform:translateX(10px); } to { opacity:1; transform:translateX(0); } }
@media(max-width:760px) {
  .repair-promotions { padding-bottom:40px; }
  .repair-promotions .repair-promo-slide { grid-template-columns:1fr; min-height:0; }
  .repair-promotions .repair-promo-slide > img { grid-row:1; aspect-ratio:1.5; max-height:320px; }
  .repair-promotions .repair-promo-copy { grid-row:2; padding:22px 26px 27px; }
  .repair-promo-copy h3 { font-size:2rem; max-width:none; }
  .repair-promo-kicker { margin-bottom:10px; font-size:.7rem; }
  .repair-promo-detail { font-size:.8rem; margin-top:13px; max-width:none; }
  .repair-promo-link { margin-top:15px; font-size:.8rem; }
  .repair-promotions .home-promo-controls { padding:10px 14px; }
  .repair-promo-navigation { gap:12px; }
}

/* Ubicación: mapa adaptable junto a los datos de contacto. */
.home-contact { row-gap:32px; }
.home-map { grid-column:1 / -1; border:1px solid rgba(255,255,255,.13); border-radius:22px; overflow:hidden; background:#161a22; }
.home-map iframe { display:block; width:100%; height:340px; }
@media(max-width:650px) { .home-map iframe { height:280px; } }
