/* ===== Coastal site rev Nov 10 2026 (preview) =====
   Loaded after site.css on every page except /emc/ and /led-message-signs.html (left untouched by request). */

/* 3. Section eyebrows: a little more prominent, site-wide */
.lbl{font-family:Poppins,system-ui,sans-serif!important;font-size:13.5px;font-weight:600;letter-spacing:.15em;line-height:1.25;display:flex;align-items:center;gap:12px}
.lbl:before{content:""!important;display:block!important;width:30px;height:3px;border-radius:2px;background:#EC0000;flex:0 0 30px}
@media(min-width:900px){.lbl{font-size:14.5px}}
.chx .lbl,.elx .lbl,.phero .lbl{color:#FDD300!important}
.cta .lbl{justify-content:center}
.v6hero .lbl{letter-spacing:.12em}
@media(min-width:1024px){.v6hero .lbl{font-size:13.5px}}

/* 1. Why Coastal: icon + title by default, explainer on hover / focus / tap */
.wc-tg{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;font:inherit;color:inherit;line-height:inherit;border-radius:6px}
.wc-tg:focus-visible{outline:3px solid #FDD300;outline-offset:4px}
.wc-pm{display:none}
@media (hover:hover) and (pointer:fine){
 html.wc-js .wc-grid li{display:flex;flex-direction:column;justify-content:flex-start;transition:box-shadow .3s ease,transform .3s ease}
 html.wc-js .wc-grid .wc-ic{transition:height .35s ease,margin .35s ease,opacity .25s ease,transform .35s ease;overflow:hidden}
 html.wc-js .wc-grid p{max-height:0;opacity:0;overflow:hidden;transform:translateY(8px);transition:max-height .4s ease,opacity .3s ease .05s,transform .4s ease}
 html.wc-js .wc-grid h3{margin-top:auto;margin-bottom:0;transition:margin .35s ease}
 html.wc-js .wc-grid li:hover,html.wc-js .wc-grid li:focus-within,html.wc-js .wc-grid li.open{transform:translateY(-3px);box-shadow:0 18px 40px rgba(14,26,43,.18)}
 html.wc-js .wc-grid li:hover .wc-ic,html.wc-js .wc-grid li:focus-within .wc-ic,html.wc-js .wc-grid li.open .wc-ic{height:0;margin-bottom:0;opacity:0;transform:scale(.6)}
 html.wc-js .wc-grid li:hover h3,html.wc-js .wc-grid li:focus-within h3,html.wc-js .wc-grid li.open h3{margin-top:0;margin-bottom:8px}
 html.wc-js .wc-grid li:hover p,html.wc-js .wc-grid li:focus-within p,html.wc-js .wc-grid li.open p{max-height:12em;opacity:1;transform:none}
 html.wc-js .wc-grid li:after{content:"";position:absolute;right:20px;bottom:20px;width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(74,81,91,.35);background:linear-gradient(currentColor,currentColor) center/9px 1.6px no-repeat,linear-gradient(currentColor,currentColor) center/1.6px 9px no-repeat;color:#B23A2F;transition:opacity .25s,transform .3s}
 html.wc-js .wc-grid li.key:after{border-color:rgba(255,255,255,.35);color:#FDD300}
 html.wc-js .wc-grid li:hover:after,html.wc-js .wc-grid li:focus-within:after,html.wc-js .wc-grid li.open:after{opacity:0;transform:rotate(90deg)}
 html.wc-js .wc-grid h3{padding-right:26px}
 html.wc-js .wc-grid .wc-tag{transition:opacity .2s ease}
 html.wc-js .wc-grid li:hover .wc-tag,html.wc-js .wc-grid li:focus-within .wc-tag,html.wc-js .wc-grid li.open .wc-tag{opacity:0}
 @media(min-width:1200px){html.wc-js .wc-grid li{min-height:214px}}
 @media(min-width:1024px) and (max-width:1199px){html.wc-js .wc-grid li{min-height:238px}}
 @media(min-width:700px) and (max-width:1023px){html.wc-js .wc-grid li{min-height:184px}}
}
@media (hover:none),(pointer:coarse){
 html.wc-js .wc-grid{gap:10px}
 html.wc-js .wc-grid li{display:grid;grid-template-columns:42px 1fr;column-gap:14px;align-items:center;padding:12px 14px 12px 14px;border-radius:14px}
 html.wc-js .wc-grid .wc-ic{grid-column:1;grid-row:1;width:42px;height:42px;margin:0;border-radius:11px}
 html.wc-js .wc-grid .wc-ic svg{width:23px;height:23px}
 html.wc-js .wc-grid h3{grid-column:2;grid-row:1;margin:0;font-size:17px}
 html.wc-js .wc-tg{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
 html.wc-js .wc-pm{display:block;flex:0 0 28px;width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(74,81,91,.35);color:#B23A2F;background:linear-gradient(currentColor,currentColor) center/11px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 11px no-repeat;transition:transform .25s ease}
 html.wc-js .wc-grid li.key .wc-pm{border-color:rgba(255,255,255,.4);color:#FDD300}
 html.wc-js .wc-grid li.open .wc-pm{transform:rotate(45deg)}
 html.wc-js .wc-tag{display:none}
 html.wc-js .wc-grid p{display:none;grid-column:1/-1;grid-row:2;margin:10px 0 4px;font-size:15.5px}
 html.wc-js .wc-grid li.open p{display:block}
 html.wc-js .wc-grid li.open .wc-tag{display:inline-block;position:static;grid-column:1/-1;grid-row:3;justify-self:start;margin:6px 0 4px}
 @media(min-width:700px){html.wc-js .wc-grid{align-items:start}}
}

/* 4. Service area: higher in the stack + static map */
.sa-grid{display:grid;gap:28px}
.sa-tx h2{margin:0 0 14px}
.sa-fig{margin:0;background:#FBF9F5;border-radius:22px;padding:14px;box-shadow:var(--sh1)}
.sa-fig figcaption{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;padding:12px 6px 2px;font-size:13.5px;color:#4A515B}
.sa-fig figcaption i{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-right:6px;font-style:normal}
.sa-fig .k-served{background:#0E1A2B;outline:2px solid #FDD300;outline-offset:-2px}
.sa-fig .k-hq{background:#EC0000;border-radius:50%;box-shadow:0 0 0 2px #FDD300 inset}
.sa-fig .k-ring{border:1.5px dashed #B8A15A;border-radius:50%;background:transparent}
.sa-ports .ports{margin-top:0}
.sa-ports .ports th,.sa-ports .ports td{padding-top:9px;padding-bottom:9px}
.sa-map{display:block;width:100%;height:auto}
.sa-map text{font-family:Manrope,system-ui,sans-serif}
.sa-city{font-size:12.5px;font-weight:600;fill:#F2EFEA;paint-order:stroke;stroke:#0E1A2B;stroke-width:3px;stroke-linejoin:round}
.sa-state{font-family:Poppins,system-ui,sans-serif!important;font-size:13px;font-weight:600;letter-spacing:.2em;fill:#FDD300;opacity:.92}
.sa-state-dk{fill:#0E1A2B;opacity:.85}
.sa-water{font-size:13px;font-style:italic;font-weight:500;fill:#5E7383;letter-spacing:.06em}
.sa-nb{font-family:Poppins,system-ui,sans-serif!important;font-size:12px;font-weight:600;letter-spacing:.16em;fill:#9C9384}
.sa-ring{font-size:11px;font-weight:700;fill:#FDD300;opacity:.85}
.sa-hq1{font-family:Poppins,system-ui,sans-serif!important;font-size:12px;font-weight:600;letter-spacing:.06em;fill:#0E1A2B}
.sa-hq2{font-size:10.5px;font-weight:600;fill:#4A515B}
.sa-pulse{transform-box:fill-box;transform-origin:center;animation:sa-pulse 2.8s ease-out infinite}
@media(max-width:600px){.sa-city{font-size:20px;stroke-width:4px}.sa-state{font-size:19px;letter-spacing:.14em}.sa-ring,.sa-water,.sa-nb{display:none}.sa-hqb{transform:scale(1.5);transform-origin:96px 38px}}
@keyframes sa-pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.1);opacity:0}}
@media(min-width:960px){
 .sa-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px 56px;align-items:center}
 .sa-tx{grid-column:1;grid-row:1}.sa-fig{grid-column:2;grid-row:1}
 .sa-ports{grid-column:1/-1;grid-row:2}
 .sa-ports .ports table{display:block}
 .sa-ports .ports tbody{display:grid;grid-template-columns:repeat(3,1fr)}
 .sa-ports .ports tr{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--hair)}
 .sa-ports .ports tr:nth-child(3n+2),.sa-ports .ports tr:nth-child(3n){border-left:1px solid var(--hair)}
 .sa-ports .ports th,.sa-ports .ports td{border-top:0!important}
 .sa-ports .ports tr:nth-child(-n+3){border-top:0}
 .sa-ports .ports tr.hq{background:rgba(178,58,47,.08)}
 .sa-ports .ports tr.hq th,.sa-ports .ports tr.hq td{background:transparent}
}

/* 5. "The right sign together": full-bleed navy closing CTA */
.cta-band{position:relative;border-top:6px solid #EC0000;background:#0E1A2B!important}
.cta-band .cta h2{color:#F6F2EA}
.cta-band .cta h2 .hl{color:#FDD300}
.cta-band .cta .lead{color:#C9D0DA}
.cta-band .quick a{background:#13233A;color:#F6F2EA;border:1px solid rgba(255,255,255,.22);box-shadow:none}
.cta-band .quick a:hover{border-color:#FDD300;color:#fff;background:#172a45}
.cta-band .btn-ghost{color:#F6F2EA;border-color:rgba(255,255,255,.55)}
.cta-band .btn-ghost:hover{background:#FDD300;border-color:#FDD300;color:#0E1A2B}
@media(min-width:900px){.cta-band{padding:104px 0}}

/* 7. Electric signs: cinematic hero (photo crossfade with a slow pan) */
.elx{position:relative;overflow:hidden;background:#08111E;color:#F6F2EA;min-height:600px;display:flex;align-items:flex-end;margin:40px 0 0}
.elx-stage{position:absolute;inset:0}
.elx-slide{position:absolute;inset:0;margin:0;opacity:0;animation:elx-fade 35s linear infinite}
.elx-slide picture,.elx-slide img{display:block;width:100%;height:100%}
.elx-slide img{object-fit:cover;transform-origin:center;animation:elx-kb 35s linear infinite;will-change:transform}
.elx-slide:nth-child(1),.elx-slide:nth-child(1) img{animation-delay:-1.4s}
.elx-slide:nth-child(2),.elx-slide:nth-child(2) img{animation-delay:5.6s}
.elx-slide:nth-child(3),.elx-slide:nth-child(3) img{animation-delay:12.6s}
.elx-slide:nth-child(4),.elx-slide:nth-child(4) img{animation-delay:19.6s}
.elx-slide:nth-child(5),.elx-slide:nth-child(5) img{animation-delay:26.6s}
.elx-slide:nth-child(1){--kx:-2.5%;--ky:-1.5%;opacity:1}
.elx-slide:nth-child(2){--kx:2.5%;--ky:-1%}
.elx-slide:nth-child(3){--kx:-2%;--ky:1.5%}
.elx-slide:nth-child(4){--kx:2%;--ky:1%}
.elx-slide:nth-child(5){--kx:-1.5%;--ky:-2%}
@keyframes elx-fade{0%{opacity:0}4%{opacity:1}20%{opacity:1}24%{opacity:0}100%{opacity:0}}
@keyframes elx-kb{0%{transform:scale(1.04) translate3d(0,0,0)}24%{transform:scale(1.15) translate3d(var(--kx),var(--ky),0)}100%{transform:scale(1.15) translate3d(var(--kx),var(--ky),0)}}
.elx-slide figcaption{position:absolute;right:max(20px,calc((100vw - 1240px)/2 + 20px));bottom:22px;font:600 12px/1.3 Poppins,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:rgba(246,242,234,.82);background:rgba(8,17,30,.55);padding:7px 12px;border-radius:999px;backdrop-filter:blur(4px)}
.elx-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,17,30,.96) 0%,rgba(8,17,30,.72) 38%,rgba(8,17,30,.25) 70%,rgba(8,17,30,.35) 100%)}
.elx-in{position:relative;z-index:1;padding-top:120px;padding-bottom:72px;width:100%}
.elx h2{font-family:var(--display)!important;font-weight:400!important;letter-spacing:.01em!important;line-height:.92!important;font-size:clamp(58px,12vw,128px)!important;color:#F6F2EA;margin:4px 0 18px;max-width:900px;text-shadow:0 4px 30px rgba(0,0,0,.45)}
.elx h2 .hl{color:#FDD300;font-style:normal}
.elx-sub{font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:#D9DEE6;max-width:640px;margin:0 0 26px}
.elx .btns{display:flex;flex-wrap:wrap;gap:12px}
.elx .btn-ghost{color:#F6F2EA;border-color:rgba(255,255,255,.6)}
.elx .btn-ghost:hover{background:#FDD300;border-color:#FDD300;color:#0E1A2B}
.elx-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0}
.elx-chips li{border:1px solid rgba(253,211,0,.55);border-radius:999px;padding:6px 12px;font:600 13px/1.2 Poppins,sans-serif;color:#fff;background:rgba(8,17,30,.35)}
@media(min-width:900px){
 .elx{min-height:min(84vh,720px);align-items:center}
 .elx-shade{background:linear-gradient(90deg,rgba(8,17,30,.95) 0%,rgba(8,17,30,.86) 34%,rgba(8,17,30,.45) 58%,rgba(8,17,30,.12) 100%),linear-gradient(0deg,rgba(8,17,30,.6),transparent 30%)}
 .elx-in{padding-top:96px;padding-bottom:96px}
}
@media(max-width:899px){.elx-slide figcaption{top:18px;bottom:auto;right:16px}}
@media (prefers-reduced-motion:reduce){
 .elx-slide,.elx-slide img{animation:none!important}
 .elx-slide{opacity:0}.elx-slide:nth-child(1){opacity:1}
 .elx-slide img{transform:scale(1.04)}
 .sa-pulse{animation:none;opacity:0}
}

/* 8. Channel letter Q and A: distinct navy panel + lit channel letter */
.chfaq.chx{background:#0E1A2B;border:0;border-radius:28px;color:#F6F2EA;padding:30px 20px 18px;margin:16px auto 56px;box-shadow:0 24px 60px rgba(14,26,43,.28);border-top:6px solid #EC0000;display:grid;gap:26px}
.chx h3{color:#F6F2EA!important;margin:0 0 6px!important}
.chx-intro p.chx-cap{color:#BCC5D1;font-size:15px;line-height:1.55;margin:14px 0 0}
.chx-art{margin:18px 0 0;border-radius:20px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.chx-svg{display:block;width:100%;height:auto}
.chx-lab text{font-family:Poppins,system-ui,sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.04em;fill:#F2EFEA}
.chx-lit{animation:chx-cycle 7s linear infinite}
@keyframes chx-cycle{0%,40%{opacity:1}41.5%{opacity:.2}43%{opacity:.85}44.5%{opacity:0}70%{opacity:0}71.5%{opacity:.7}72.5%{opacity:.15}74%{opacity:1}100%{opacity:1}}
.chx .faq details{border-top:1px solid rgba(255,255,255,.14)}
.chx .faq details:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.chx .faq summary{color:#F6F2EA}
.chx .faq summary:hover{color:#FDD300}
.chx .faq summary:after{color:#FDD300}
.chx .faq .a{color:#C9D0DA}
.chx .faq summary:focus-visible{outline:3px solid #FDD300;outline-offset:2px}
@media(min-width:960px){
 .chfaq.chx{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:56px;padding:48px 48px 36px;align-items:start}
 .chx-intro{position:sticky;top:110px}
}
@media (prefers-reduced-motion:reduce){.chx-lit{animation:none;opacity:1}}
