/* Cabecera nueva únicamente en escritorio. */
.theme-default .dh-landing { display:none; }
@media (min-width:1024px) {
.theme-default .dh-landing { display:block; }
.theme-default .classic-home { display:none; }
/* Cabecera fotográfica; los servicios y el contenido conservan su diseño. */
.theme-default .dh-landing { position:relative; isolation:isolate; overflow:hidden; background:#071722; color:white; padding:0 24px 32px; }
.dh-scene { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 8%; z-index:-2; }
.dh-landing::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#03121ddb,#03121d90 35%,transparent 72%); }
.dh-hero { display:flex; align-items:center; justify-content:space-between; gap:35px; max-width:1225px; min-height:440px; padding:30px 0 24px; margin:auto; }
.dh-hero-copy { max-width:740px; }
.dh-eyebrow { text-transform:uppercase; letter-spacing:3px; font-size:12px; margin:0 0 16px; font-weight:700; color:#fff; }
.theme-default .dh-hero :is(h1,:where(.home-secondary-heading)) { margin:0 0 18px; color:#fff; font-size:clamp(35px,3.35vw,50px); font-weight:900; line-height:1.04; letter-spacing:-1.4px; }
.dh-hero :is(h1,:where(.home-secondary-heading)) span:not(:where(.home-visual-strong,.home-visual-b)) { color:#ff9900; }
.dh-intro { margin:0; color:#fff; font-size:16px; line-height:1.4; }
.dh-desktop-break { display:none; }
.dh-landing svg { width:34px; height:34px; flex:none; }
.dh-trust { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:24px 0 18px; }
.dh-trust > div { display:flex; align-items:center; gap:12px; border-right:1px solid #ffffff30; }
.dh-trust > div:last-child { border:0; }
.dh-trust svg { color:#ff9900; width:40px; height:40px; }
.dh-trust :is(strong,:where(.home-visual-strong)) { display:block; font-size:13px; line-height:1.2; max-width:90px; }
.dh-trust small { display:block; margin-top:5px; font-size:10px; white-space:nowrap; }
.dh-hero-actions { display:flex; gap:17px; }
.dh-hero-actions a { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 22px; min-width:270px; min-height:80px; text-decoration:none; border-radius:15px; }
.dh-call { background:linear-gradient(120deg,#ffbf18,#ff8507); color:#07121c; }
.dh-quote { background:#07131de8; border:1px solid #ffffffb0; color:#fff; }
.dh-hero-actions :is(strong,:where(.home-visual-strong)) { display:block; font-size:21px; line-height:1.15; font-weight:850; }
.dh-hero-actions small { display:block; margin-top:4px; font-size:13px; }
.dh-hero-aside { width:245px; flex:none; }
.dh-hero-aside a { display:flex; align-items:center; gap:13px; border:1px solid #ffffff90; background:#081620ec; color:#fff; text-decoration:none; border-radius:15px; padding:17px 16px; min-height:77px; margin-bottom:7px; }
.dh-hero-aside svg:first-child { color:#ff9900; }
.dh-hero-aside svg:last-child { width:18px; margin-left:auto; }
.dh-hero-aside :is(strong,:where(.home-visual-strong)) { display:block; font-size:14px; line-height:1.2; }
.dh-hero-aside small { display:block; font-size:11px; margin-top:4px; }
.dh-landing a:focus-visible { outline:3px solid #ffb52b; outline-offset:4px; }
@media(max-width:1050px) { .dh-hero { gap:20px; } .dh-hero-copy { max-width:70%; } .dh-hero :is(h1,:where(.home-secondary-heading)) { font-size:39px; } .dh-hero-actions a { min-width:0; padding:16px; } .dh-hero-actions :is(strong,:where(.home-visual-strong)) { font-size:18px; } .dh-trust { gap:8px; } .dh-trust > div { gap:6px; } .dh-trust svg { width:30px; } .dh-trust :is(strong,:where(.home-visual-strong)) { font-size:11px; } .dh-trust small { font-size:8px; } .dh-hero-aside { width:220px; } }
@media(max-width:800px) { .dh-hero-aside { display:none; } .dh-hero-copy { max-width:100%; } .dh-hero { max-width:650px; } .dh-landing::before { background:linear-gradient(90deg,#03121deb,#03121d85); } }
@media(max-width:600px) { .theme-default .dh-landing { padding:0 20px 22px; } .dh-hero { min-height:0; padding:30px 0 20px; } .theme-default .dh-hero :is(h1,:where(.home-secondary-heading)) { font-size:35px; line-height:1.07; } .dh-hero :is(h1,:where(.home-secondary-heading)) br { display:none; } .dh-intro { font-size:14px; } .dh-eyebrow { font-size:10px; letter-spacing:2px; } .dh-trust { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 12px; } .dh-trust > div:nth-child(2) { border:0; } .dh-trust :is(strong,:where(.home-visual-strong)) { font-size:12px; max-width:none; } .dh-trust small { font-size:9px; } .dh-hero-actions { flex-direction:column; gap:10px; } .dh-hero-actions a { min-height:68px; } .dh-scene { object-position:65% center; } }


}
/* Ajuste de escala y acabado, exclusivamente en PC. */
@media (min-width:1024px) {
 .theme-default .dh-landing { padding:0 28px 24px; }
 .dh-hero { max-width:1180px; min-height:375px; padding:32px 0 25px; gap:35px; }
 .dh-hero-copy { max-width:685px; }
 .theme-default .dh-hero :is(h1,:where(.home-secondary-heading)) { font-size:clamp(34px,2.7vw,43px); line-height:1.08; letter-spacing:-1px; margin-bottom:16px; }
 .dh-eyebrow { display:flex; align-items:center; gap:15px; font-size:10px; letter-spacing:3px; margin-bottom:15px; }
 .dh-eyebrow::before { content:''; width:35px; height:3px; background:#ff9900; }
 .dh-intro { font-size:14px; line-height:1.5; max-width:650px; }
 .dh-trust { gap:14px; margin:20px 0; }
 .dh-trust > div { gap:9px; }
 .dh-trust svg { width:32px; height:32px; }
 .dh-trust :is(strong,:where(.home-visual-strong)) { font-size:12px; }
 .dh-trust small { font-size:9px; }
 .dh-hero-actions { gap:14px; }
 .dh-hero-actions a { min-width:235px; min-height:64px; padding:13px 18px; border-radius:12px; gap:13px; }
 .dh-hero-actions svg { width:28px; height:28px; }
 .dh-hero-actions :is(strong,:where(.home-visual-strong)) { font-size:17px; }
 .dh-hero-actions small { font-size:11px; }
 .dh-call { box-shadow:0 6px 20px #ff8a0025; }
 .dh-quote { background:linear-gradient(120deg,#122735df,#08131def); box-shadow:inset 0 1px 0 #ffffff12; }
 .dh-hero-aside { width:222px; }
 .dh-hero-aside a { min-height:67px; padding:14px; border-radius:13px; background:linear-gradient(120deg,#243039e0,#0b151fee); border-color:#ffffff70; box-shadow:inset 0 1px 0 #ffffff18; }
 .dh-hero-aside :is(strong,:where(.home-visual-strong)) { font-size:12px; }
 .dh-hero-aside small { font-size:10px; }
 .dh-hero-aside svg:first-child { width:30px; height:30px; }
 .dh-scene { object-position:center 9%; }
 .theme-default.is-home .site-header { background:linear-gradient(110deg,#031522,#101a23) !important; border-bottom:1px solid #ff970080; }
 .theme-default.is-home .header-wrap { min-height:75px !important; }
 .theme-default.is-home .main-nav > a { color:#fff !important; font-size:13px !important; }
 .theme-default.is-home .main-nav > a.active { color:#ff9900 !important; }
 .theme-default.is-home .desktop-logo-tagline { color:#fff !important; }
 .theme-default.is-home .site-header-service-bar { background:#051522 !important; padding:8px 0 !important; }
 .theme-default.is-home .site-header-service-grid { gap:10px !important; }
 .theme-default.is-home .site-header-service-grid > a { background:linear-gradient(120deg,#0c2433,#071722) !important; border:1px solid #50738b60 !important; border-radius:12px !important; color:#fff !important; padding:12px 14px !important; min-height:60px !important; }
 .theme-default.is-home .site-header-service-grid :is(strong,:where(.home-visual-strong)) { color:#fff !important; font-size:12px !important; }
 .theme-default.is-home .site-header-service-grid small { color:#d4dfe7 !important; font-size:10px !important; }
 .theme-default.is-home .site-header-service-grid svg { width:28px !important; height:28px !important; }
 .theme-default.is-home .home-trust-strip { max-width:1180px; margin-top:-18px; position:relative; z-index:2; border:1px solid #d6a35880; border-radius:24px; background:radial-gradient(ellipse at 0 100%,#d8771730,transparent 35%),radial-gradient(ellipse at 100% 100%,#d8771730,transparent 35%),linear-gradient(120deg,#13232e,#071622 55%,#123746); }
 .theme-default.is-home .home-trust-heading h2:not(:where(.home-secondary-heading)) { font-size:27px !important; }
 .theme-default.is-home .home-trust-item :is(strong,:where(.home-visual-strong)) { font-size:15px !important; }
 .theme-default.is-home .home-trust-item small { font-size:12px !important; }
}
@media (min-width:1024px) and (max-width:1150px) {
 .dh-hero-copy { max-width:68%; } .theme-default .dh-hero :is(h1,:where(.home-secondary-heading)) { font-size:34px; } .dh-hero-aside { width:205px; }
 .dh-trust { gap:8px; } .dh-trust small { font-size:8px; } .dh-hero-actions a { min-width:215px; }
}
@media (min-width:1024px) {
 .theme-default.is-home .main-nav > a,
 .theme-default.is-home .desktop-logo-tagline { font-family:Arial,sans-serif !important; }
}
@media (min-width:1024px) {
 .theme-default .dh-hero { width:min(100%,1180px); }
 .theme-default.is-home .home-trust-strip { width:min(calc(100% - 56px),1180px) !important; max-width:1180px !important; margin:24px auto !important; transform:none !important; box-shadow:0 12px 30px #0002; }
 .theme-default.is-home .home-services-list { width:min(calc(100% - 56px),1180px); margin-left:auto; margin-right:auto; }
}
/* Señal de urgencias suave, solo en la cabecera de PC. */
@media (min-width:1024px) {
 .theme-default.is-home .desktop-emergency { position:relative; animation:desktop-emergency-glow 3s ease-in-out infinite; }
 .theme-default.is-home .desktop-emergency svg { animation:desktop-emergency-clock 3s ease-in-out infinite; }
 @keyframes desktop-emergency-glow {
  0%,100% { border-color:rgba(255,255,255,.12); box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 20px rgba(0,0,0,.14); }
  50% { border-color:rgba(255,153,0,.6); box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 15px rgba(255,145,0,.16); }
 }
 @keyframes desktop-emergency-clock { 0%,100% { stroke:#fff; } 50% { stroke:#ffab38; } }
}
@media (prefers-reduced-motion:reduce) {
 .theme-default.is-home .desktop-emergency,
 .theme-default.is-home .desktop-emergency svg { animation:none; }
}
/* Public mobile pages share the homepage's dark background. Desktop is unchanged. */
@media(max-width:1023px) {
 html:has(body.theme-default), body.theme-default,
 body.theme-default > main { background:#071525!important; color:#e7eef5; }
 body.theme-default { --pro-bg:#071525; }
 body.theme-default > main > .wrap > :is(h1,:where(.home-secondary-heading)),
 body.theme-default > main > .wrap > h2:not(:where(.home-secondary-heading)),
 body.theme-default .blog-feed-head h2:not(:where(.home-secondary-heading)),
 body.theme-default .blog-section-head h2:not(:where(.home-secondary-heading)),
 body.theme-default .blog-story-head h2:not(:where(.home-secondary-heading)) { color:#f3f7fb!important; }
 body.theme-default .legal-page { color:#d8e3ed; }
 body.theme-default .legal-head :is(h1,:where(.home-secondary-heading)) { color:#fff!important; }
 body.theme-default .legal-content { background:#102332!important; color:#d8e3ed!important; border-color:#354b5d!important; }
 body.theme-default .legal-content h2:not(:where(.home-secondary-heading)),body.theme-default .legal-content h3 { color:#fff!important; }
 body.theme-default .legal-content a { color:#ffb447; }
}
@media(max-width:1023px) {
 body.theme-default .blog-feed-heading h2:not(:where(.home-secondary-heading)) { color:#f3f7fb!important; }
}
/* Compact blog header on mobile. */
@media(max-width:760px) {
 body.theme-default .page-hero.blog-hero.wrap { padding:18px!important; margin-top:16px!important; min-height:0!important; gap:12px!important; border-radius:16px!important; }
 body.theme-default .blog-hero-copy { padding:0!important; }
 body.theme-default .blog-hero .eyebrow { margin:0 0 10px!important; font-size:10px!important; }
 body.theme-default .blog-hero :is(h1,:where(.home-secondary-heading)) { font-size:24px!important; line-height:1.16!important; letter-spacing:-.6px; margin:0!important; }
 body.theme-default .blog-hero-accent { display:none!important; }
 body.theme-default .blog-hero-copy > p { font-size:12px!important; line-height:1.55!important; margin:10px 0 0!important; }
 body.theme-default .blog-hero-panel { padding:0!important; margin:0!important; min-height:0!important; background:none!important; border:0!important; box-shadow:none!important; }
 body.theme-default .blog-hero-panel > p { display:none!important; }
 body.theme-default .blog-hero-stat { padding:7px 10px!important; min-height:0!important; width:fit-content; border-radius:9px!important; background:#ffffff08!important; border:1px solid #ffffff18!important; gap:7px!important; }
 body.theme-default .blog-hero-stat-icon { display:none!important; }
 body.theme-default .blog-hero-stat > div { display:flex!important; align-items:baseline; gap:6px!important; }
 body.theme-default .blog-hero-stat :is(strong,:where(.home-visual-strong)) { font-size:18px!important; line-height:1.2!important; }
 body.theme-default .blog-hero-stat span:not(:where(.home-visual-strong,.home-visual-b)) { font-size:11px!important; }
}
/* Editorial heading for the blog feed. */
body.theme-default .blog-feed-heading { margin-top:24px!important; margin-bottom:18px!important; }
body.theme-default .blog-feed-heading > div { position:relative; padding-left:15px; }
body.theme-default .blog-feed-heading > div::before { content:''; position:absolute; left:0; top:3px; bottom:3px; width:3px; border-radius:4px; background:linear-gradient(#ffba36,#ff7a1a); }
body.theme-default .blog-feed-heading > div > span:not(:where(.home-visual-strong,.home-visual-b)) { display:block; margin-bottom:6px; color:#c45a08; font:750 10px/1.4 system-ui; letter-spacing:1.7px; text-transform:uppercase; }
body.theme-default .blog-feed-heading h2:not(:where(.home-secondary-heading)) { margin:0!important; color:#102333; font:800 clamp(25px,2.5vw,34px)/1.15 system-ui!important; letter-spacing:-.7px; }
@media(max-width:1023px) { body.theme-default .blog-feed-heading h2:not(:where(.home-secondary-heading)) { color:#f2f7fb!important; } body.theme-default .blog-feed-heading > div > span:not(:where(.home-visual-strong,.home-visual-b)) { color:#ffab37; } }
@media(max-width:760px) { body.theme-default .blog-feed-heading { margin-top:20px!important; margin-bottom:14px!important; } body.theme-default .blog-feed-heading h2:not(:where(.home-secondary-heading)) { font-size:26px!important; } }
/* Give mobile service cards a little more breathing room. */
@media(max-width:760px) {
 body.theme-default .home-services-list,
 body.theme-default .services-page-list { row-gap:24px!important; }
}
