/* Homepage art direction. Assets are local; content remains readable without motion. */
/* The coastal scene sits under the home hero (not at the top), so the normal header stays. */
.home .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.scene-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 560px; padding-block: 90px 56px; background: #04202b; color: #fff; }
.scene-photo { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.scene-hero::before { content: ""; position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(1,28,42,.93) 0%, rgba(1,28,42,.83) 28%, rgba(1,28,42,.52) 46%, transparent 66%); }
.scene-content { position: relative; }
.scene-copy { width: 56%; max-width: 670px; }
.scene-copy .eyebrow { color: #65e8f6; letter-spacing: .22em; font-size: .72rem; margin-bottom: 15px; }
.scene-copy .scene-title { font-size: clamp(2.4rem, 3.7vw, 3.55rem); line-height: 1.07; letter-spacing: -.045em; font-weight: 780; margin-bottom: 20px; text-wrap: balance; }
.scene-copy .scene-title em { color: #49def1; font-style: normal; }
.scene-lead { max-width: 56ch; color: #d2e1e9; font-size: 1.08rem; line-height: 1.65; margin-bottom: 25px; }
.scene-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.home .scene-primary { background: #ffbf08; border-color: #ffca38; color: #04202b; box-shadow: 0 4px 20px #ffb7030b; }
.home .scene-primary:hover { background: #ffd24a; color: #04202b; }
.scene-actions .btn { min-height: 50px; border-radius: 8px; padding: 13px 24px; font-size: .94rem; }
.scene-actions .btn-ghost { border-color: #37bdd3; background: #022232a3; }
.scene-actions svg, .scene-primary svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.scene-actions .call-icon { color: #4de4f5; }
.scene-benefits { display: flex; gap: 30px; margin-top: 32px; list-style: none; padding: 0; margin-bottom: 0; }
.scene-benefits li { display: flex; align-items: center; gap: 12px; color: #d1e4ed; font-size: .78rem; line-height: 1.6; }
.scene-benefits .benefit-icon { display: grid; place-items: center; width: 43px; height: 43px; border: 1px solid #40d6eb; border-radius: 50%; flex-shrink: 0; color: #57e1f4; box-shadow: inset 0 0 18px #27cfe318; }
.scene-benefits svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; stroke-linecap: round; }
.scene-network { position: absolute; inset: 88px 0 0 auto; width: 53%; pointer-events: none; }
.scene-wires { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.network-wire { fill: none; stroke: #5ddff4; stroke-width: 1.3; opacity: .65; }
.network-glow { fill: none; stroke: #9cf4ff; stroke-width: 4; opacity: .2; filter: blur(3px); }
.network-flow { fill: none; stroke: #efffff; stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 14 86; animation: network-travel 5s linear infinite; filter: drop-shadow(0 0 5px #34dfff); }
.network-flow:nth-child(2n) { animation-delay: -2.3s; animation-duration: 6.5s; }
.network-pin { fill: #e8fdff; stroke: #57dff8; stroke-width: 1.5; filter: drop-shadow(0 0 7px #47ddff); }
.network-pin circle { fill: #21bedc; stroke: none; }
.scene-glass { position: absolute; display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid #8cd5e17d; border-radius: 11px; background: linear-gradient(135deg, #104d63c9, #052736d9); box-shadow: inset 0 1px 0 #c3f5ff24, 0 12px 36px #00192345; backdrop-filter: blur(8px); color: #fff; font-size: .82rem; line-height: 1.35; }
.scene-glass > svg { width: 29px; height: 35px; flex-shrink: 0; fill: none; stroke: #61e3f7; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 6px #13d3e637); }
.scene-glass strong { display: block; margin-bottom: 4px; font-size: .85rem; }
.scene-glass small { font-size: .78rem; color: #e1edf3; display: block; max-width: 15ch; }
.scene-glass-coverage { top: 9%; right: 12%; }
.scene-glass-business { top: 42%; right: 11%; }
.scene-glass-home { top: 64%; left: 8%; }
.scene-motion { position: absolute; bottom: 14px; right: 24px; z-index: 3; display: flex; align-items: center; gap: 7px; min-height: 36px; border: 1px solid #88d5e44d; border-radius: 24px; padding: 6px 12px; color: #daeff5; background: #04202bbd; font: inherit; font-size: .65rem; cursor: pointer; }
.scene-motion svg { width: 12px; height: 12px; fill: currentColor; }
.scene-motion:hover { border-color: #8ce9f5; }
.scene-hero::after { content: ""; pointer-events: none; position: absolute; width: 600px; height: 350px; border: 1px solid #27c4dd20; border-radius: 50%; bottom: -280px; left: -160px; transform: rotate(20deg); box-shadow: 0 -24px 0 -23px #27c4dd33, 0 -70px 0 -69px #27c4dd30; }
.home-services { padding-block: 24px; }
.home-services .paths { gap: 20px; }
.home-services .path { position: relative; isolation: isolate; overflow: hidden; border: 1px solid #fff; padding: 25px 24px 23px; border-radius: 13px; min-height: 260px; background: #fff; box-shadow: 0 10px 35px #113c4c04; }
.service-photo { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 75% center; transition: transform .5s ease; }
.home-services .path::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(var(--service-angle, 90deg), rgb(var(--service-surface, 255 255 255)) 40%, rgb(var(--service-surface, 255 255 255) / .97) 63%, rgb(var(--service-surface, 255 255 255) / .82) 76%, rgb(var(--service-surface, 255 255 255) / 0) 100%); }
[dir="rtl"] .home-services .path { --service-angle: 270deg; }
.home-services .path:hover { border-color: #83cada; box-shadow: 0 12px 28px #00354b15; }
.home-services .path:hover .service-photo { transform: scale(1.025); }
.home-services .path-icon { width: 46px; height: 46px; border-radius: 11px; background: #cdf5fc; margin-bottom: 16px; }
.home-services .path h3 { font-size: 1.06rem; margin-bottom: 9px; color: #071e2c; }
.home-services .path p { font-size: .84rem; line-height: 1.55; color: #405465; max-width: 68%; margin-bottom: 19px; }
.home-services .path-icon svg { fill: none; stroke: #036e8a; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.home-services .path-link { font-size: .8rem; color: #036e8a; }
.coast-coverage { position: relative; isolation: isolate; overflow: hidden; padding-block: 42px; min-height: 315px; }
.coverage-photo { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.coast-coverage::before { content: ""; position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, #eff7fa 8%, #eff7faf5 30%, #eff7fa99 49%, #eff7fa00 73%); }
.coast-copy { position: relative; width: 47%; max-width: 520px; }
.coast-copy .eyebrow { font-size: .69rem; margin-bottom: 10px; }
.coast-copy h2 { color: #082332; max-width: 21ch; font-size: clamp(1.8rem, 2.7vw, 2.45rem); line-height: 1.12; margin-bottom: 12px; }
.coast-copy h2 em { color: #0686a0; font-style: normal; }
.coast-copy p:not(.eyebrow) { color: #405e70; font-size: .86rem; line-height: 1.6; max-width: 49ch; margin-bottom: 17px; }
.coast-copy .btn { font-size: .83rem; padding: 10px 20px; border-radius: 7px; }
.coverage-art { position: absolute; left: 52%; right: 5%; top: 0; bottom: 0; pointer-events: none; }
.coverage-sculpture { height: 100%; width: 76%; overflow: visible; filter: drop-shadow(10px 18px 16px #001e3552); }
.sculpture-mesh { fill: none; stroke: #44d4ec; stroke-width: .9; opacity: .65; }
.sculpture-flow { fill: none; stroke: #c7fcff; stroke-width: 1.7; stroke-dasharray: 7 93; animation: network-travel 6s linear infinite; filter: drop-shadow(0 0 4px #2ff1ff); }
.sculpture-node { fill: #c7fcff; stroke: #39cce4; stroke-width: 1.5; filter: drop-shadow(0 0 5px #3bdef8); }
.coverage-glass { left: 57%; right: auto; top: 41%; width: 214px; padding: 16px; }
.coverage-glass > svg { width: 30px; }
.coverage-glass small { max-width: none; font-size: .69rem; }
.coverage-details { padding-block: 54px 70px; }
.coverage-details > .container > .coverage { margin-top: 30px; }
.home .coverage-map { margin-top: 0; }
.home .ftth-band { margin-top: 0; }
.home .ftth-band-inner { padding-block: 8px; }
.home .section:not(.coverage-details) { padding-block: 70px; }
.home .scene-hero.is-paused .network-flow, .home .coast-coverage.is-paused .sculpture-flow { animation-play-state: paused; }
.home .scene-hero.is-offscreen .network-flow, .home .coast-coverage.is-offscreen .sculpture-flow { animation-play-state: paused; }
[dir="rtl"] .scene-photo, [dir="rtl"] .coverage-photo, [dir="rtl"] .service-photo { transform: scaleX(-1); }
[dir="rtl"] .scene-hero::before { background: linear-gradient(270deg, rgba(1,28,42,.95) 0%, rgba(1,28,42,.84) 28%, rgba(1,28,42,.52) 46%, transparent 66%); }
[dir="rtl"] .scene-network { inset-inline-end: 0; right: auto; left: 0; }
[dir="rtl"] .scene-wires { transform: scaleX(-1); }
[dir="rtl"] .scene-glass-coverage { right: auto; left: 12%; }
[dir="rtl"] .scene-glass-business { right: auto; left: 11%; }
[dir="rtl"] .scene-glass-home { left: auto; right: 8%; }
[dir="rtl"] .scene-copy .scene-title { letter-spacing: 0; line-height: 1.3; max-width: 16ch; }
[dir="rtl"] .scene-copy .eyebrow { letter-spacing: 0; }
[dir="rtl"] .scene-motion { right: auto; left: 24px; }
[dir="rtl"] .home-services .path:hover .service-photo { transform: scaleX(-1) scale(1.025); }
[dir="rtl"] .coast-coverage::before { background: linear-gradient(270deg, #eff7fa 8%, #eff7faf5 30%, #eff7fa99 49%, #eff7fa00 73%); }
[dir="rtl"] .coverage-art { left: 5%; right: 52%; direction: ltr; }
[dir="rtl"] .coverage-glass { direction: rtl; }
[dir="rtl"] .scene-primary svg { transform: scaleX(-1); }
@keyframes network-travel { to { stroke-dashoffset: -100; } }
@media (min-width: 1700px) { .scene-hero { min-height: 620px; padding-block: 110px 65px; } }
@media (max-width: 1100px) {
  .scene-copy { width: 57%; }
  .scene-benefits { gap: 17px; }
  .scene-benefits li { gap: 8px; font-size: .71rem; }
  .scene-glass { padding: 13px; gap: 10px; }
  .scene-glass-coverage { right: 6%; }
  .scene-glass-business { right: 5%; }
  .scene-glass-home { left: 12%; }
  .home-services .path { padding: 23px 19px; }
  .home-services .path p { max-width: 68%; }
  .coverage-art { left: 50%; right: 1%; }
  .coverage-glass { left: 53%; width: 190px; }
}
@media (max-width: 900px) {
  .scene-hero { padding-block: 123px 45px; min-height: 570px; }
  .scene-copy { width: 63%; }
  .scene-copy .scene-title { font-size: 2.7rem; }
  .scene-lead { font-size: .98rem; }
  .scene-glass-home { display: none; }
  .scene-glass-coverage { top: 14%; }
  .scene-glass-business { top: 64%; }
  .scene-benefits { gap: 12px; flex-wrap: wrap; }
  .scene-benefits .benefit-icon { width: 35px; height: 35px; }
  .home-services .paths { grid-template-columns: 1fr; gap: 16px; }
  .home-services .path { min-height: 210px; padding: 22px; }
  .home-services .path p { max-width: 60%; font-size: .88rem; }
  .home-services .path h3 { font-size: 1.12rem; }
  .home-services .path-icon { margin-bottom: 12px; }
  .home-services .path-link { font-size: .88rem; }
  .home-services .service-photo { inset-inline-start: 20%; width: 80%; object-position: right 55%; }
  .coast-copy { width: 55%; }
  .coverage-art { left: 51%; right: -14%; }
  .coverage-glass { display: none; }
  [dir="rtl"] .coverage-art { right: 51%; left: -14%; }
}
@media (max-width: 600px) {
  .home .container { padding-inline: 22px; }
  .scene-hero { padding-block: 112px 300px; min-height: 0; }
  .scene-photo { top: auto; height: 390px; object-fit: cover; object-position: 78% center; }
  .scene-hero::before, [dir="rtl"] .scene-hero::before { background: linear-gradient(180deg, #04202b 0%, #04202b 51%, #04202be8 58%, #04202b44 72%, transparent 85%); }
  .scene-copy { width: 100%; max-width: none; }
  .scene-copy .scene-title { font-size: clamp(2.15rem, 8.5vw, 3rem); line-height: 1.1; letter-spacing: -.035em; max-width: 15ch; margin-bottom: 18px; }
  .scene-copy .eyebrow { font-size: .65rem; margin-bottom: 13px; }
  .scene-heading-break { display: none; }
  .scene-lead { font-size: .95rem; line-height: 1.65; margin-bottom: 22px; }
  .scene-actions { flex-wrap: nowrap; gap: 10px; }
  .scene-actions .btn { padding: 12px 13px; font-size: .78rem; min-height: 47px; gap: 7px; }
  .scene-actions .btn svg { width: 16px; height: 16px; }
  .scene-benefits { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 24px; gap: 12px; }
  .scene-benefits li { flex-direction: column; align-items: flex-start; font-size: .68rem; gap: 8px; }
  .scene-benefits .benefit-icon { width: 34px; height: 34px; }
  .scene-network { top: auto; bottom: 0; width: 100%; height: 300px; }
  .scene-glass { font-size: .66rem; padding: 10px 12px; gap: 8px; border-radius: 8px; }
  .scene-glass > svg { width: 23px; height: 28px; }
  .scene-glass strong { font-size: .7rem; margin-bottom: 2px; }
  .scene-glass small { font-size: .65rem; }
  .scene-glass-coverage, [dir="rtl"] .scene-glass-coverage { top: 5%; right: 6%; left: auto; }
  .scene-glass-business, [dir="rtl"] .scene-glass-business { top: 47%; right: 5%; left: auto; }
  .scene-glass-home, [dir="rtl"] .scene-glass-home { display: flex; top: 65%; left: 5%; right: auto; }
  .scene-motion, [dir="rtl"] .scene-motion { bottom: 9px; right: 12px; left: auto; font-size: .58rem; min-height: 30px; }
  .home-services { padding-block: 20px; }
  .home-services .path { min-height: 245px; padding: 22px 20px; }
  .home-services .path p { max-width: 68%; font-size: .83rem; }
  .home-services .service-photo { inset-inline-start: 0; width: 100%; object-position: 75% center; }
  .coast-coverage { padding-block: 32px 245px; }
  .coast-copy { width: 100%; max-width: none; }
  .coast-copy h2 { font-size: 2rem; max-width: 20ch; }
  .coast-copy p:not(.eyebrow) { font-size: .88rem; }
  .coverage-photo { top: auto; height: 320px; object-position: 70% center; }
  .coast-coverage::before, [dir="rtl"] .coast-coverage::before { background: linear-gradient(180deg, #eff7fa 20%, #eff7fa 42%, #eff7fad9 53%, #eff7fa00 82%); }
  .coverage-art, [dir="rtl"] .coverage-art { top: auto; bottom: -15px; height: 270px; left: 0; right: 0; }
  .coverage-sculpture { width: 75%; }
  .coverage-glass { display: flex; top: 47%; left: 52%; width: 158px; padding: 12px; }
  .coverage-glass > svg { width: 24px; }
  .coverage-glass strong { font-size: .68rem; }
  .coverage-glass small { font-size: .6rem; }
  .coverage-details { padding-block: 30px 40px; }
  .home .section:not(.coverage-details) { padding-block: 50px; }
  [dir="rtl"] .scene-copy .scene-title { max-width: 15ch; font-size: 2.3rem; }
  [dir="rtl"] .scene-actions .btn { font-size: .8rem; }
}
@media (prefers-color-scheme: dark) {
  .home-services .path { --service-surface: 11 41 54; border-color: #234451; background: #0b2936; }
  .home-services .path h3 { color: #f3fbff; }
  .home-services .path p { color: #d0dfe8; }
  .home-services .path-link { color: #70e6f8; }
  .home-services .path-icon { background: #124357; }
  .home-services .path-icon svg { stroke: #62e0f3; }
  .coast-coverage { background: #082532; }
  .coast-coverage::before { background: linear-gradient(90deg, #082532 8%, #082532f5 30%, #08253299 49%, #08253230 73%); }
  [dir="rtl"] .coast-coverage::before { background: linear-gradient(270deg, #082532 8%, #082532f5 30%, #08253299 49%, #08253230 73%); }
  .coast-copy h2 { color: #f4fcff; }
  .coast-copy h2 em, .coast-copy .eyebrow { color: #58dced; }
  .coast-copy p:not(.eyebrow) { color: #c8dce6; }
  @media (max-width: 600px) { .coast-coverage::before, [dir="rtl"] .coast-coverage::before { background: linear-gradient(180deg, #082532 20%, #082532 42%, #082532d9 53%, #08253210 82%); } }
}
@media (prefers-reduced-motion: reduce) {
  .home .network-flow, .home .sculpture-flow { animation: none; }
  .home .scene-motion { display: none; }
  .home .service-photo { transition: none; }
}
