@import url('https://fonts.googleapis.com/css2?family=Creepster&display=swap');
/* Halloween 3.1: a cohesive campaign, with readable content at every size. */
/* Ornaments stay inside illustration space or their own reserved row. */
.halloween-motion { pointer-events: none; user-select: none; overflow: hidden; }
.hero-motion { position: absolute; inset: 0; z-index: 1; }
.halloween-ghost { position: absolute; left: 9%; top: 9%; width: 66px; opacity: .78; animation: nc-ghost-float 7s ease-in-out infinite; }
.halloween-ghost svg { width: 100%; display: block; }
.motion-rail { position: relative; height: 62px; margin: -22px 0 16px; display: flex; align-items: center; gap: 22px; }
.halloween-pumpkin { flex: none; width: 58px; display: block; }
.halloween-pumpkin svg { display: block; width: 100%; }
.pumpkin-light { opacity: .3; filter: drop-shadow(0 0 3px #ffd36b); animation: nc-pumpkin-glow 6s ease-in-out infinite; }
.rail-line { height: 1px; width: 160px; background: linear-gradient(90deg, #ffb78050, transparent); }
.halloween-spark { position: absolute; width: 3px; height: 3px; background: #ffc17c; border-radius: 50%; opacity: .35; left: calc(22% + var(--spark-index) * 16%); top: calc(25% + var(--spark-index) * 11%); animation: nc-spark-drift 11s ease-in-out infinite; animation-delay: calc(var(--spark-index) * -2s); }
.halloween-spark:nth-of-type(even) { background: #ba9adf; }
.halloween-motion .halloween-ghost, .halloween-motion .pumpkin-light, .halloween-motion .halloween-spark { animation-play-state: paused; }
.motion-active .halloween-motion[data-in-view="true"] .halloween-ghost,
.motion-active .halloween-motion[data-in-view="true"] .pumpkin-light,
.motion-active .halloween-motion[data-in-view="true"] .halloween-spark { animation-play-state: running; }
.motion-toggle { display: block; margin-top: 12px; min-height: 44px; padding: 8px 12px; border: 1px solid #52617b; border-radius: 7px; background: #15243c; color: #d3daea; font-size: 12px; line-height: 1.5; }
.motion-toggle:hover:not(:disabled) { background: #25334c; }
.motion-toggle:disabled { opacity: 1; cursor: default; }
@keyframes nc-ghost-float { 0%,100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-9px) rotate(3deg); } }
@keyframes nc-pumpkin-glow { 0%,100% { opacity: .2; } 50% { opacity: .65; } }
@keyframes nc-spark-drift { 0%,100% { transform: translate(0,0); opacity: .2; } 50% { transform: translate(6px,-10px); opacity: .55; } }
@media (max-width:640px) {
  .halloween-ghost { width: 43px; top: 12%; left: 8%; }
  .halloween-motion .spark-2, .halloween-motion .spark-3, .halloween-motion .spark-4 { display: none; }
  .motion-rail { height: 48px; margin-top: -12px; margin-bottom: 12px; }
  .halloween-pumpkin { width: 44px; }
  .rail-line { width: 100px; }
}
@media (prefers-reduced-motion:reduce) {
  .halloween-motion .halloween-ghost, .halloween-motion .pumpkin-light, .halloween-motion .halloween-spark { animation: none !important; }
  .halloween-spark { display: none; }
}
@media print { .halloween-motion, .motion-toggle { display: none !important; } }
body { background: #101221; }
#contenido { --ink: #fff8ef; --muted: #c5bfd4; --line: #49415b; --pale: #191627; color: var(--ink); }
.section { padding: 64px 0; }
.section-heading { gap: 32px; margin-bottom: 30px; }
.section-heading h2, .split h2, .referral h2, .faq-grid h2 { font-size: clamp(32px, 3.1vw, 44px); letter-spacing: -.035em; }
.section-heading h2 em { color: #ffb780; }
.section-heading > p, .split-copy > p:not(.eyebrow):not(.fineprint), .referral-grid > div > p:not(.eyebrow):not(.fineprint) { font-size: 16px; line-height: 1.75; }
.eyebrow { color: #ffb780; font-size: 12px; letter-spacing: .12em; }
.fineprint, .coverage-form .fineprint { font-size: 12px; line-height: 1.75; }
.btn, .plan > .btn, .promo-card > .btn, .coverage-form > .btn { font-size: 15px; min-height: 48px; }
#contenido .btn-orange { color: #192039; }
#contenido .btn-outline { color: #fff4e8; border-color: #97788d; }
#contenido .btn-outline:hover { background: #3d2d46; }
#contenido .btn-light { color: #251f37; background: #fff3e5; }
#contenido .btn-navy { background: #ff802c; color: #192039; }
#contenido .btn-navy:hover { background: #ffab6a; }
.desktop-nav a { font-size: 14px; }
.header-contact { font-size: 13px; }
.hero-description { font-size: 16px; }
.hero-offer > div > span, .hero-offer > p { font-size: 13px; }
.hero-link { font-size: 14px; }
.hero-terms { font-size: 11px; }
.hero-bottom { background: #1b172b; border-color: #49415b; }
.hero-bottom span { font-size: 13px; }
.hero-bottom span + span { border-color: #49415b; }
.promotions { background: radial-gradient(ellipse at 10% 0%, #382131, transparent 70%), #1b1728; }
.promo-card { background: #282035; border-color: #79516a; border-radius: 18px; padding: 25px; }
.promo-duo { background: #30203d; border-color: #896087; }
.promo-icon, .promo-duo .promo-icon { background: #4a2b3b; color: #ffb780; }
.promo-copy .eyebrow { font-size: 12px; }
.promo-copy h3 { font-size: 48px; }
.promo-copy h3 span { font-size: 15px; }
.promo-copy > p, .promo-price > p, .promo-price > small { font-size: 12px; }
.promo-price > strong { font-size: 50px; }
.plans { position: relative; background: radial-gradient(ellipse at 50% 20%, #2a203c, transparent 75%), #111322; }
.plans .section-heading h2 { font-size: clamp(30px, 2.8vw, 40px); }
.plans .centered > p:last-child { margin-top: 14px; }
.plan-tabs { background: #211c32; border-color: #66516c; margin: 25px auto 28px; border-radius: 12px; }
.plan-tabs button { color: #e3dce9; font-size: 15px; padding: 12px 22px; }
.plan-tabs [aria-selected=true] { background: #ff9b50; color: #201a30; }
.plan-grid { gap: 18px; }
.plan { padding: 24px 20px; background: linear-gradient(145deg, #30233c, #1f1d31); border: 1px solid #65506d; border-top: 3px solid #9c6fa4; border-radius: 16px; }
.plan-featured { padding: 24px 20px; background: linear-gradient(145deg, #4a2937, #281e32); border: 1px solid #ff9a54; border-top: 3px solid #ff9a54; box-shadow: 0 8px 35px #ff802c0d; }
.plan-top { flex-wrap: wrap; gap: 7px; min-height: 29px; }
.plan-top > span:first-child { font-size: 19px; }
.plan-label { font-size: 10px; padding: 5px 7px; background: #ffbd85; color: #2c1b21; }
.plan-speed { margin-top: 18px; }
.plan-speed strong { font-size: 64px; }
.plan-speed span { font-size: 15px; }
.plan-description { font-size: 14px; line-height: 1.65; min-height: 47px; margin-top: 12px; }
.plan-price { padding-top: 16px; margin-top: 18px; border-color: #605064; }
.plan-price strong { font-size: 43px; color: #ffb780; }
.plan-price span { font-size: 14px; }
.plan-billing { font-size: 12px; }
.plan ul { gap: 10px; margin: 22px 0; }
.plan li { font-size: 14px; gap: 8px; }
.plan li .icon { color: #7ee2d2; width: 17px; height: 17px; }
.plan-help { font-size: 14px; margin-top: 20px; }
.plan-help a { color: #ffb780; }
.wifi-section { background: #191627; }
.split { grid-template-columns: 1fr 1fr; gap: 56px; }
.campaign-art { margin: 0; min-width: 0; position: relative; }
.campaign-art img { width: 100%; height: auto; border-radius: 28px; }
.campaign-art figcaption { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 12px 0; color: #e4d9eb; font-size: 13px; text-align: center; }
.campaign-art figcaption .icon { color: #ffb780; width: 20px; }
.split-copy > p:not(.eyebrow):not(.fineprint) { margin-top: 18px; }
.feature-list { gap: 20px; margin: 25px 0; }
.feature-list li > .icon { background: #3c2843; color: #ffb780; }
.feature-list h3 { font-size: 17px; }
.feature-list p { font-size: 14px; line-height: 1.65; }
.services { background: #111322; }
.service-card { padding: 28px; border-radius: 16px; background: #211c30; border-color: #55405f; }
.service-icon { background: #3d2840; color: #ffb780; margin-bottom: 22px; }
.service-card h3 { font-size: 23px; }
.service-card p { font-size: 15px; }
.service-card > strong { color: #ffc093; font-size: 19px; }
.service-card a { color: #ffb780; font-size: 14px; }
.referral { background: radial-gradient(ellipse at 0% 70%, #3b2036, transparent 65%), #181627; border-block: 1px solid #473047; }
.referral-grid { grid-template-columns: 1fr 1fr; gap: 54px; padding-block: 58px; }
.referral h2 em { color: #ffaf70; }
.referral-steps li { font-size: 15px; }
.referral-steps span { width: 36px; height: 36px; font-size: 12px; border-color: #886078; color: #ffc18c; background: #3c283d; }
.referral .fineprint { color: #c5bfd4; }
.coverage { background: #131523; }
.coverage-grid { grid-template-columns: 1.05fr 1fr; }
.map-card, .coverage-form { background: #232033; border-color: #5e4b68; border-radius: 16px; }
.map-heading > div { font-size: 14px; }
.map-heading > span { font-size: 11px; }
.map-heading .icon { color: #ffb780; }
#ncMapStatus { font-size: 12px; }
.coverage-result { background: #302a41; border-color: #655471; }
.coverage-result strong { font-size: 14px; }
.coverage-result span { font-size: 12px; }
.coverage-result.is-available { background: #193a34; border-color: #4b8f79; }
.coverage-result.is-available strong { color: #a7f2cf; }
.coverage-form .eyebrow { font-size: 11px; }
.coverage-form h3 { font-size: 28px; }
.coverage-form > p:not(.eyebrow):not(.fineprint) { font-size: 14px; }
.form-fields label { font-size: 14px; }
.form-fields input, .form-fields select { font-size: 16px; background: #171523; border-color: #88718e; color: #fff8ef; min-height: 48px; }
.form-fields input::placeholder { color: #c7bed1; }
.coverage-form legend, .coverage-form fieldset label { font-size: 13px; }
.gps-button { color: #a9e8ff; font-size: 14px; }
.nc-zone-list button { background: #302a41; color: #e5dce9; border-color: #796383; font-size: 11px; }
.faq-section { background: #1b1728; }
.faq-grid > div:first-child > p:not(.eyebrow), .faqs details > p { font-size: 15px; }
.faq-grid > div:first-child > a { font-size: 15px; color: #ffb780; }
.faqs summary { font-size: 16px; }
.faqs summary > span { color: #ffb780; }
.payments { background: #111322; }
.payment { background: #252034; border-color: #615069; border-radius: 12px; }
.payment > span { font-size: 15px; color: #ffbf8b; }
.payment strong { font-size: 17px; }
.copy-button { background: #3c2d48; color: #fff0e2; border-color: #8e7095; font-size: 12px; }
.payment-actions > a:not(.btn) { font-size: 14px; }
.closing { background: linear-gradient(110deg, #352037, #172039); border-top: 1px solid #654358; }
.closing .eyebrow { font-size: 12px; }
.closing h2 { font-size: 46px; }
.site-footer { background: #0e1020; }
.footer-grid p, .footer-grid > div > a:not(.brand) { font-size: 13px; }
.footer-grid h2 { font-size: 14px; }
.footer-bottom { font-size: 11px; }
/* The administrative header and generic WP pages retain their neutral theme. */
.site-header { color: #102c52; }
.generic-page { background: #fff; }
.leaflet-control-attribution { color: #333; }
@media (max-width: 1150px) {
  .desktop-nav { gap: 14px; }
  .desktop-nav a { font-size: 12px; }
  .plan-grid { gap: 12px; }
  .plan, .plan-featured { padding: 22px 16px; }
  .plan-top { min-height: 58px; align-content: start; }
  .plan li { font-size: 13px; }
  .promo-icon { display: none; }
}
@media (max-width: 950px) {
  .hero-description { font-size: 15px; }
  .hero-bottom span { font-size: 11px; }
  .hero-actions { flex-wrap: wrap; }
  .plan, .plan-featured { padding: 26px; }
  .plan-top { min-height: 29px; }
  .plan-description { min-height: 0; }
  .plan li { font-size: 14px; }
  .split, .referral-grid { gap: 30px; }
  .section-heading { align-items: start; }
  .section-heading > p { max-width: 280px; }
  .centered > p { max-width: none; }
  .coverage-grid { grid-template-columns: 1fr; }
  .form-fields { grid-template-columns: 1fr 1fr; }
  .form-fields .full { grid-column: 1 / -1; }
  .map-heading { flex-wrap: wrap; }
}
@media (max-width: 640px) {
  .section { padding: 46px 0; }
  .section-heading > p { max-width: none; font-size: 15px; }
  .section-heading h2, .split h2, .faq-grid h2, .referral h2, .plans .section-heading h2 { font-size: 32px; }
  .plans .section-heading h2 em { display: inline-block; margin-top: 5px; font-size: 26px; }
  .eyebrow { font-size: 11px; }
  .hero-description { font-size: 15px; }
  .hero-offer { gap: 16px; }
  .hero-offer > p { padding-left: 16px; font-size: 11px; }
  .hero-offer > div > span { font-size: 12px; }
  .hero-actions { gap: 16px; }
  .hero-actions .btn, .hero-link { font-size: 13px; }
  .hero-terms { font-size: 11px; }
  .hero-bottom span { font-size: 11px; }
  .promo-card { padding: 22px 18px; gap: 14px; }
  .promo-copy .eyebrow { font-size: 11px; }
  .promo-copy h3 { font-size: 43px; }
  .promo-price > strong { font-size: 44px; }
  .promotions > .wrap > .fineprint { font-size: 12px; }
  .plan-tabs { gap: 3px; padding: 4px; }
  .plan-tabs button { font-size: 12px; padding: 12px 7px; gap: 5px; }
  .plan-tabs button .icon { width: 16px; }
  .plan-top > span:first-child { font-size: 20px; }
  .plan-label { font-size: 11px; }
  .plan-speed strong { font-size: 64px; }
  .plan-help { gap: 8px; }
  .split, .referral-grid { grid-template-columns: 1fr; gap: 30px; }
  .wifi-illustration { order: 2; }
  .campaign-art { width: 100%; max-width: 480px; justify-self: center; }
  .campaign-art img { border-radius: 20px; }
  .split-copy > p:not(.eyebrow):not(.fineprint), .referral-grid > div > p:not(.eyebrow):not(.fineprint) { font-size: 15px; }
  .feature-list p { font-size: 14px; }
  .referral-grid { padding-block: 46px; }
  .map-heading > div { font-size: 13px; }
  .map-heading > span { font-size: 10px; }
  .form-fields { grid-template-columns: 1fr; }
  .coverage-form { padding: 25px 20px; }
  .coverage-form > p:not(.eyebrow):not(.fineprint) { font-size: 14px; }
  .coverage-form .fineprint { font-size: 12px; }
  .payment strong { font-size: 16px; }
  .closing .btn { font-size: 14px; }
  .closing h2 { font-size: 38px; }
  .footer-grid > div:first-child { flex-wrap: wrap; }
}
@media (max-width: 360px) {
  .plan-tabs button { font-size: 11px; }
  .plan-tabs button .icon { width: 14px; }
  .promo-copy h3 { font-size: 38px; }
  .promo-copy h3 span { font-size: 12px; }
  .promo-price > strong { font-size: 38px; }
  .promo-copy > p, .promo-price > p { font-size: 11px; }
  .promo-price > small { font-size: 10px; }
  .hero-offer { gap: 10px; }
  .hero-offer > p { padding-left: 10px; font-size: 10px; }
  .hero-bottom span { font-size: 10px; }
}
@media print {
  #contenido { --ink: #000; --muted: #333; --line: #aaa; color: #000; }
  .section, .plan, .promo-card, .referral, .service-card, .payment, .coverage-form, .map-card { background: #fff; color: #000; box-shadow: none; }
  .campaign-art { display: none; }
}

/* Halloween display lettering is reserved for campaign headings, never prices. */
.hero h1, #contenido .section-heading h2, #contenido .split h2,
#contenido .referral h2, #contenido .faq-grid h2, #contenido .closing h2 {
  font-family: 'Creepster', 'Barlow Condensed', sans-serif;
  font-weight: 400; letter-spacing: .015em; line-height: 1.12;
}
.hero h1 { font-size: clamp(48px, 5.7vw, 80px); }
#contenido .section-heading h2, #contenido .split h2, #contenido .referral h2,
#contenido .faq-grid h2, #contenido .closing h2 { font-size: clamp(34px, 3.5vw, 48px); }
.ambience-controls { margin-top: 14px; padding: 12px 14px; border: 1px solid #52617b; border-radius: 10px; background: #15243c; max-width: 440px; color: #edf1fa; }
.ambience-toggle { min-height: 44px; padding: 8px 12px; border: 1px solid #ffb780; border-radius: 7px; background: #283049; color: #fff1db; font: 600 13px/1.5 Manrope, sans-serif; }
.ambience-toggle:hover { background: #3a354e; }
.ambience-volume { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 8px; font-size: 12px; }
.ambience-volume input { flex: 1; min-width: 80px; max-width: 170px; min-height: 44px; accent-color: #ffab6a; }
.ambience-status { display: block; font-size: 11px; line-height: 1.6; margin-top: 4px; color: #cbd5e7; }
.ambience-footer { margin: 12px 0; }
@media (max-width:640px) { .hero h1 { font-size: clamp(44px, 12.8vw, 70px); } }
@media (hover:hover) and (pointer:fine) and (min-width:641px) and (forced-colors:none) {
  body { --pumpkin-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M2 2v18l5-5 4 8 4-2-4-8h7Z' fill='%23fff6df' stroke='%2310182b' stroke-width='1.5'/%3E%3Cpath d='M22 14q-2-5 3-6' fill='none' stroke='%2379884d' stroke-width='3'/%3E%3Cellipse cx='22' cy='23' rx='9' ry='8' fill='%23ff8a29' stroke='%238e3d13'/%3E%3Cpath d='m16 22 4-3v4Zm11 0-4-3v4ZM17 25q5 7 10 0l-5 2Z' fill='%23432928'/%3E%3C/svg%3E") 2 2; cursor: var(--pumpkin-cursor), auto; }
  a, button:not(:disabled), summary, [role="tab"] { cursor: var(--pumpkin-cursor), pointer; }
  input, textarea, [contenteditable="true"] { cursor: text; }
  input[type="range"], select { cursor: pointer; }
}
@media print { .ambience-controls, .ambience-footer { display: none !important; } }
