/* Rediseño público 2026. Capa compatible con las plantillas PHP existentes.
   Las reglas de atributos puentean estilos inline legacy sin tocar formularios. */
.plk-redesign { --ink:#0B1220; --paper:#F6F9FE; --line:#DEE7F4; background:var(--paper); overflow-x:clip; }
.plk-redesign :is(h1,h2,h3) { text-wrap:balance; letter-spacing:-.045em; }
.plk-redesign p { text-wrap:pretty; }
.plk-redesign :is(a,button,input,select,textarea):focus-visible { outline:3px solid var(--c2)!important; outline-offset:5px; }
.plk-redesign :is(button,input,select,textarea) { font-family:inherit; }
.plk-redesign main { scroll-margin-top:120px; }
.plk-redesign main img { max-width:100%; }
.plk-redesign main [style*="display: grid"] > * { min-width:0; }
.plk-skip { position:fixed; left:24px; top:-100px; z-index:200; padding:14px 20px; background:white; color:var(--ink); border-radius:12px; }
.plk-skip:focus { top:12px; }
.plk-header { margin:14px 20px 0; top:12px!important; border:1px solid rgba(220,230,245,.9)!important; border-radius:22px; box-shadow:0 10px 40px -24px #233c6b66; }
.plk-header > div { max-width:1400px!important; min-height:76px!important; padding:12px 22px!important; gap:16px!important; }
.plk-header .plk-brand { margin-right:auto; }
.plk-header .plk-brand > svg { width:34px; height:34px; }
.plk-header nav { flex:0 1 auto!important; }
.plk-header .plk-navlink { position:relative; font-size:13px!important; padding:11px 8px!important; }
.plk-header .plk-navlink[aria-current] { color:var(--c1)!important; background:#EAF2FF; }
.plk-header-actions { gap:8px!important; }
.plk-header-actions a { font-size:13px!important; }
.plk-header-actions a:last-child { padding:14px 20px!important; border-radius:100px!important; }
.plk-menu-toggle { display:none; align-items:center; gap:10px; border:1px solid var(--line); background:white; padding:10px 14px; border-radius:100px; font-weight:700; cursor:pointer; }

/* Un escenario de fondo, tres planos visuales; el texto nunca se desplaza. */
.plk-hero { margin:16px 20px 0; border-radius:30px; background-color:#060C1C!important; background-image:radial-gradient(ellipse at 100% 10%,#173a665e,transparent 65%),linear-gradient(135deg,#060C1C,#0c1930)!important; }
.plk-hero > div[style*="max-width"] { position:relative; z-index:2; max-width:1280px!important; padding:82px 48px 96px!important; }
.plk-hero h1 { font-size:clamp(38px,4.5vw,64px)!important; line-height:1.09!important; font-weight:600!important; }
.plk-hero h1 span { background-image:linear-gradient(110deg,#81B4FF,#55D8ED)!important; }
.plk-hero p { color:#B9CAE2!important; font-size:17px!important; line-height:1.8!important; }
.plk-hero [style*="border-radius: 999px"][style*="inline-flex"] { padding:8px 0!important; background:none!important; border:0!important; border-radius:0!important; color:#B9D2F3!important; font-size:12px!important; letter-spacing:.06em; }
.plk-hero [style*="animation:"] { animation:none!important; }
.plk-scene { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.plk-scene canvas { width:100%; height:100%; display:block; opacity:.95; }
.plk-orbit { position:absolute; width:650px; height:650px; right:-160px; top:-170px; border:1px solid #4AA9E545; border-radius:50%; transform:rotate(-28deg) scaleY(.75); }
.plk-orbit-two { right:-40px; top:0; width:480px; height:480px; border-color:#71ceff20; }
.plk-scene-glow { position:absolute; inset:5% -10% -20% 48%; background:radial-gradient(ellipse,#1F6FEB26,transparent 65%); }
.plk-motion-toggle { position:absolute; right:88px; bottom:18px; z-index:5; background:#12213b; color:#BCD0EE; border:1px solid #344461; padding:7px 12px; border-radius:20px; font-size:11px; cursor:pointer; }
.plk-motion-toggle[hidden] { display:none; }
.plk-redesign [data-depth] { transform:translate3d(0,var(--depth-y,0px),0); }
.plk-home-grid { grid-template-columns:1.03fr 1fr!important; gap:64px!important; }
.plk-home-grid h1 { font-size:clamp(42px,4.3vw,64px)!important; }
.plk-home-grid h1 br { display:none; }
.plk-hero-visual { position:relative; padding:26px 0 28px; isolation:isolate; }
.plk-hero-visual::before,.plk-hero-visual::after { content:""; position:absolute; inset:22px -14px 28px 14px; border:1px solid #7ABDFB55; border-radius:24px; background:#24446a33; transform:rotate(5deg); z-index:-1; }
.plk-hero-visual::after { inset:10px 14px 45px -6px; transform:rotate(-5deg); background:#17385738; border-color:#6DAEF12B; z-index:-2; }
.plk-browser-frame { position:relative; border:1px solid #A0C7EC55; border-radius:20px; padding-top:30px; background:#12243e; box-shadow:0 30px 80px -22px #0009; }
.plk-browser-frame::before { content:""; position:absolute; width:6px; height:6px; border-radius:50%; background:#83A8D2; left:16px; top:12px; box-shadow:12px 0 #557BA4,24px 0 #355A80; }
.plk-browser-frame > img { display:block; width:100%; height:auto; aspect-ratio:1.13; object-fit:cover; border-radius:0 0 19px 19px; }
.plk-visual-note { position:absolute; left:-26px; bottom:-4px; max-width:88%; padding:21px 25px; border-radius:17px; background:#fff; box-shadow:0 20px 48px -20px #0008; color:var(--ink); display:flex; align-items:center; gap:14px; }
.plk-visual-note > svg { width:38px; height:38px; flex:none; padding:9px; border-radius:12px; background:#E9F7FC; color:var(--c1); }
.plk-visual-note strong { display:block; font-size:13px; line-height:1.5; }
.plk-visual-note small { display:block; margin-top:5px; font-size:11px; color:#55637D; }
.plk-visual-label { position:absolute; top:8px; right:-20px; z-index:3; padding:12px 18px; border:1px solid #75CDE95C; border-radius:12px; background:#143650ed; color:#CBEDFF; font-size:12px; box-shadow:0 12px 25px #0003; }
.plk-hero-links { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:22px; font-size:13px; }
.plk-hero-links a { color:#B9CCE5; text-decoration:underline; text-underline-offset:5px; }
.plk-proof { border-top:1px solid #AECFFF21!important; background:#1021386b!important; }
.plk-proof > div { max-width:1280px!important; padding:28px 48px 40px!important; }
.plk-proof > div > div { padding-left:20px; border-left:1px solid #678AB94A; }
.plk-proof > div > div > div:first-child { font-size:25px!important; font-weight:600!important; }
.plk-proof > div > div > div:last-child { font-size:12px!important; color:#9BAFCB!important; }

/* Ritmo editorial compartido por servicios, precios, contacto y cuenta. */
.plk-redesign main > section:not(.plk-hero) { position:relative; background-color:var(--paper)!important; padding-top:100px!important; padding-bottom:100px!important; }
.plk-redesign main > section:not(.plk-hero):nth-of-type(odd) { background-color:#fff!important; }
.plk-redesign main > section:not(.plk-hero) > div[style*="max-width: 1200px"] { max-width:1184px!important; }
.plk-redesign main h2 { font-weight:600!important; line-height:1.18!important; }
.plk-redesign main h3 { line-height:1.35; }
.plk-redesign main [style*="text-transform: uppercase"] { font-size:11px!important; letter-spacing:.16em!important; }
.plk-card { position:relative; border-radius:22px!important; box-shadow:0 12px 34px -24px #263F6E44; transition:box-shadow .25s,border-color .25s,translate .25s; }
.plk-card:not([style*="background: #0"]) { border-color:var(--line)!important; background-color:#fff; }
.plk-card h3 { letter-spacing:-.03em; }
.plk-design-offers { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:26px!important; }
.plk-native-offer { background:#EAF3FF!important; border-color:#C5DAF6!important; }
.plk-illustration-note { margin-top:10px; font-size:11px; line-height:1.5; color:#687D9B; }
.plk-card:focus-within { border-color:var(--c1)!important; }
.plk-redesign main a[style*="padding:"]:not([style*="padding: 0"]),.plk-redesign main button { transition:background .2s,box-shadow .2s,translate .2s; }
.plk-redesign main a[style*="background: linear-gradient"],.plk-redesign main button[style*="background: linear-gradient"] { background:var(--c1)!important; border-radius:100px!important; box-shadow:0 8px 24px -14px var(--c1)!important; }
.plk-redesign main a[style*="border: 1px"][style*="padding:"] { border-radius:100px!important; }
.plk-redesign main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.plk-redesign main select,.plk-redesign main textarea { min-width:0; max-width:100%; border-radius:10px!important; min-height:48px; }
.plk-redesign main details { border-radius:16px!important; border-color:var(--line)!important; background:#fff; }
.plk-redesign main summary { padding:6px 0; cursor:pointer; }
.plk-local-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:72px; align-items:start; }
.plk-local-zones { position:sticky; top:125px; padding:38px; border-radius:24px; margin-top:0!important; background:linear-gradient(135deg,#E6F0FF,#EBF8FB); border:1px solid #C7DDF4; box-shadow:12px 14px 0 -4px #DDEBFA; }
.plk-local-pin { color:var(--c1); margin-bottom:26px; }
.plk-local-city { font-family:'Sora',sans-serif; font-size:34px; letter-spacing:-.04em; font-weight:600; color:var(--ink); margin-bottom:18px; overflow-wrap:anywhere; }
.plk-local-zones h3 { font-size:15px!important; }
.plk-local-zones span { font-size:12px!important; padding:8px 12px!important; }
.plk-redesign main img[style*="object-fit: cover"] { border-radius:24px!important; box-shadow:0 25px 65px -35px #183E7255!important; }
.plk-redesign .plk-browser-frame img { border-radius:0 0 19px 19px!important; }
.plk-services-grid { counter-reset:service; }
.plk-services-grid > .plk-card { padding:32px!important; counter-increment:service; display:flex; flex-direction:column; }
.plk-services-grid > .plk-card::after { content:"0" counter(service); position:absolute; right:26px; top:28px; font-size:12px; color:#8296B8; }
.plk-services-grid > .plk-card > a { margin-top:auto!important; padding-top:22px; }
.plk-services-grid > .plk-card:nth-child(2) { background:#EAF3FF!important; border-color:#CEDFF7!important; }
.plk-redesign[data-page="contacto"] main > section:nth-child(2),.plk-redesign[data-page="dominios"] main > section:nth-child(2) { padding-top:26px!important; }
.plk-redesign[data-page="contacto"] main > section:nth-child(2) > div,.plk-redesign[data-page="dominios"] main > section:nth-child(2) > div { margin-top:0!important; }
.plk-redesign[data-page="contacto"] main > section:nth-child(2) > div { grid-template-columns:1.35fr 1fr!important; gap:36px!important; }
.plk-redesign[data-page="contratar"] .plk-hero > div[style*="max-width"] { padding:54px 48px!important; }
.plk-redesign[data-page="contratar"] .plk-hero h1 { font-size:42px!important; }
.plk-redesign[data-page="contratar"] main > div > section:nth-child(2) { background:var(--paper)!important; }
.plk-redesign footer { position:relative; margin:0 20px 20px; border-radius:30px; background:radial-gradient(ellipse at 100% 0,#143253,#060C1C 65%)!important; padding:76px 48px 30px!important; }
.plk-redesign footer > div { max-width:1184px!important; }
.plk-redesign footer a:hover { color:#fff!important; text-decoration:underline; text-underline-offset:4px; }
.plk-redesign footer p { color:#A3B5D0!important; }
.plk-redesign footer + a { width:52px!important; height:52px!important; right:20px!important; bottom:20px!important; box-shadow:0 8px 24px #05251133!important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .plk-card:hover { translate:0 -5px; box-shadow:0 26px 45px -28px #294E8C66; }
  .plk-redesign main a[style*="background: linear-gradient"]:hover { background:#195BCC!important; translate:0 -2px; }
}
@media (max-width:1250px) {
  .plk-header > div { gap:10px!important; }
  .plk-header-actions a:first-child { display:none!important; }
  .plk-header .plk-brand span { font-size:15px!important; }
  .plk-home-grid { gap:42px!important; }
}
@media (max-width:1000px) {
  .plk-local-grid { grid-template-columns:1fr; gap:36px; }
  .plk-local-zones { position:relative; top:auto; }
  .plk-header { margin:10px 14px 0; top:8px!important; border-radius:18px; }
  .plk-header > div { padding:12px 18px!important; min-height:70px!important; }
  .plk-header nav { width:100%; order:4; justify-content:center; }
  .plk-nav-ready .plk-menu-toggle { display:flex; }
  .plk-nav-ready .plk-header nav:not(.is-open) { display:none!important; }
  .plk-header nav.is-open { display:grid!important; grid-template-columns:1fr 1fr; padding-top:10px; border-top:1px solid var(--line); }
  .plk-header .plk-navlink { padding:13px!important; font-size:14px!important; }
  .plk-hero { margin:14px 14px 0; }
  .plk-hero > div[style*="max-width"] { padding:62px 34px 74px!important; }
  .plk-home-grid { grid-template-columns:1fr!important; }
  .plk-home-grid > div:first-child { max-width:670px; }
  .plk-home-grid h1 { font-size:60px!important; }
  .plk-hero-visual { width:85%; max-width:620px; margin:0 auto; }
  .plk-browser-frame > img { aspect-ratio:1.65; }
  .plk-proof > div { grid-template-columns:repeat(4,1fr)!important; padding:28px 34px 42px!important; gap:12px!important; }
  .plk-proof > div > div { padding-left:12px; }
  .plk-redesign main > section:not(.plk-hero) { padding-top:72px!important; padding-bottom:72px!important; }
}
@media (max-width:640px) {
  .plk-design-offers { grid-template-columns:1fr!important; }
  .plk-header { margin:8px 10px 0; top:6px!important; }
  .plk-header > div { padding:10px 12px!important; gap:8px!important; }
  .plk-header .plk-brand span { font-size:13px!important; white-space:normal!important; overflow-wrap:anywhere; }
  .plk-header .plk-brand { gap:6px!important; flex:1 1 160px!important; }
  .plk-header .plk-brand > svg { width:28px; height:28px; }
  .plk-header-actions { width:100%; justify-content:flex-end; }
  .plk-nav-ready .plk-header-actions { display:none!important; }
  .plk-nav-ready .plk-header:has(nav.is-open) .plk-header-actions { display:flex!important; order:5; }
  .plk-header-actions a:first-child { display:flex!important; margin-right:auto; }
  .plk-menu-toggle { padding:9px 10px; font-size:12px; gap:6px; }
  .plk-hero { margin:10px 10px 0; border-radius:22px; }
  .plk-hero > div[style*="max-width"] { padding:44px 22px 60px!important; }
  .plk-hero h1,.plk-home-grid h1 { font-size:39px!important; line-height:1.12!important; }
  .plk-hero p { font-size:16px!important; line-height:1.7!important; }
  .plk-home-grid { gap:30px!important; }
  .plk-hero-visual { width:calc(100% - 20px); }
  .plk-browser-frame > img { aspect-ratio:1.15; }
  .plk-visual-label { right:-10px; font-size:10px; padding:10px 12px; }
  .plk-visual-note { left:-10px; padding:15px; max-width:100%; gap:10px; }
  .plk-visual-note strong { font-size:12px; }
  .plk-hero-links { font-size:12px; }
  .plk-proof > div { grid-template-columns:1fr 1fr!important; gap:24px!important; padding:25px 22px!important; }
  .plk-proof > div > div > div:first-child { font-size:22px!important; }
  .plk-proof > div > div > div:last-child { line-height:1.6; }
  .plk-redesign main > section:not(.plk-hero) { padding:56px 22px!important; }
  .plk-redesign main h2 { font-size:30px!important; }
  .plk-redesign .plk-card { padding:26px!important; }
  .plk-redesign[data-page="contacto"] main > section:nth-child(2) > div { grid-template-columns:1fr!important; gap:24px!important; }
  .plk-redesign[data-page="contratar"] .plk-hero > div[style*="max-width"] { padding:36px 22px!important; }
  .plk-redesign[data-page="contratar"] .plk-hero h1 { font-size:34px!important; }
  .plk-redesign footer { margin:0 10px 10px; border-radius:22px; padding:48px 24px 76px!important; }
  .plk-redesign footer > div > div:first-child { grid-template-columns:1fr!important; gap:32px!important; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  .plk-redesign *, .plk-redesign *::before, .plk-redesign *::after { animation:none!important; transition:none!important; }
  .plk-redesign [data-depth] { transform:none!important; }
}
