:root{--red:#e3333d;--red-dark:#b8202a;--ink:#080b12;--navy:#111827;--paper:#f4f2ed;--muted:#69707d;--line:#d8d5ce;--yellow:#f0b429}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.55;overflow-x:hidden}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Barlow Condensed",Arial,sans-serif;line-height:.94;text-transform:uppercase}h1{font-size:clamp(4rem,8vw,8.5rem);letter-spacing:-.045em;margin-bottom:1.3rem}h2{font-size:clamp(3.2rem,6vw,6rem);letter-spacing:-.035em;margin-bottom:1.5rem}h3{font-size:2rem;letter-spacing:-.02em}h1 em,h2 em{font-style:normal;color:var(--red)}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;background:white;color:black;padding:.75rem 1rem;z-index:1000}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-header{height:92px;position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4.5rem);border-bottom:1px solid rgba(255,255,255,.16);color:white}.brand{width:240px;height:76px;display:block;overflow:hidden}.brand-mark{display:block;width:100%;height:100%;background:url('public/images/electracincy-logo.png') center -25px/100% auto no-repeat}.site-header nav{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.8rem)}.site-header nav a{text-decoration:none;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em}.site-header nav a:not(.nav-call):hover{color:#ff777f}.nav-call{border:1px solid rgba(255,255,255,.5);padding:.8rem 1rem}.menu-button{display:none;background:none;border:0;padding:.5rem}.menu-button span{display:block;width:26px;height:2px;background:#fff;margin:5px}.hero{min-height:820px;height:100vh;position:relative;background:#070a10;color:#fff;display:flex;align-items:center}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url('public/images/cincinnati-signal-view.jpg') center 44%/cover no-repeat}.hero-shade{background:linear-gradient(90deg,rgba(4,7,14,.95) 0%,rgba(4,7,14,.77) 40%,rgba(4,7,14,.13) 76%),linear-gradient(0deg,rgba(4,7,14,.64),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(850px,88vw);margin-left:clamp(1.5rem,8vw,9rem);padding-top:5rem}.hero-content h1{max-width:830px}.hero-copy{font-size:clamp(1rem,1.7vw,1.32rem);max-width:690px;color:#d7dce5;margin-bottom:2.2rem}.eyebrow{display:flex;align-items:center;gap:.8rem;text-transform:uppercase;font-size:.73rem;font-weight:800;letter-spacing:.2em;color:#f0f2f5;margin-bottom:1.5rem}.eyebrow span{width:48px;height:3px;background:var(--red)}.eyebrow.dark{color:#343841}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:.9rem 1.55rem;text-decoration:none;text-transform:uppercase;font-size:.76rem;font-weight:800;letter-spacing:.12em;transition:.2s}.button-primary{background:var(--red);color:#fff}.button-primary:hover{background:#ff4650;transform:translateY(-2px)}.button-ghost{border:1px solid rgba(255,255,255,.45);color:white}.button-ghost:hover{border-color:white;background:rgba(255,255,255,.08)}.availability{display:flex;align-items:center;gap:.6rem;margin-top:1.5rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.availability i{width:9px;height:9px;background:#44d17c;border-radius:50%;box-shadow:0 0 0 5px rgba(68,209,124,.15)}.scroll-cue{position:absolute;right:3rem;bottom:2.4rem;z-index:3;color:#fff;text-decoration:none;font-size:.65rem;letter-spacing:.2em;writing-mode:vertical-rl;display:flex;gap:.7rem;align-items:center}.scroll-cue span{font-size:1.2rem}.ticker{height:64px;background:var(--red);color:white;display:flex;align-items:center;overflow:hidden}.ticker-track{display:flex;width:max-content;animation:ticker 38s linear infinite}.ticker:hover .ticker-track{animation-play-state:paused}.ticker-set{display:flex;align-items:center;white-space:nowrap}.ticker-set span{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:1rem}.ticker-set span::after{content:"◆";font-size:.5rem;margin:0 2.1rem;color:#571017}@keyframes ticker{to{transform:translateX(-50%)}}.section{padding:clamp(5rem,9vw,9rem) clamp(1.4rem,6vw,7rem)}.section-heading{display:grid;grid-template-columns:1.4fr .75fr;gap:4rem;align-items:end;margin-bottom:4rem}.section-heading p:last-child{font-size:1.05rem;color:var(--muted);max-width:540px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:2.2rem;min-height:310px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;transition:.25s;background:rgba(255,255,255,.2)}.service-card:hover{background:#fff;transform:translateY(-4px);box-shadow:0 18px 40px rgba(10,15,25,.08)}.service-card>b{color:var(--red);font-family:"Barlow Condensed",sans-serif;font-size:1.1rem}.service-card h3{margin:2.3rem 0 1rem}.service-card p{color:var(--muted);font-size:.92rem}.service-card span{margin-top:auto;text-transform:uppercase;font-size:.66rem;letter-spacing:.15em;font-weight:800}.why{display:grid;grid-template-columns:1.05fr .95fr;min-height:790px;background:var(--ink);color:white}.why-photo{background:linear-gradient(0deg,rgba(4,7,14,.8),transparent 55%),url('public/images/night-cabinet-service.jpg') center/cover no-repeat;position:relative}.why-photo span{position:absolute;left:3rem;bottom:3rem;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.7rem;font-weight:700;line-height:1.05}.why-copy{padding:clamp(4rem,7vw,8rem);display:flex;flex-direction:column;justify-content:center}.why-copy .lead{font-size:1.15rem;color:#c9ced8;max-width:600px}.check-list{list-style:none;padding:0;margin:2rem 0 0}.check-list li{position:relative;padding:1.2rem 0 1.2rem 3rem;border-top:1px solid rgba(255,255,255,.14)}.check-list li::before{content:"✓";position:absolute;left:0;top:1.15rem;width:28px;height:28px;border:1px solid var(--red);color:var(--red);display:grid;place-items:center}.check-list b,.check-list small{display:block}.check-list b{text-transform:uppercase;font-family:"Barlow Condensed",sans-serif;font-size:1.25rem;letter-spacing:.03em}.check-list small{color:#aeb5c1;margin-top:.25rem}.project-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:380px 380px;gap:1rem}.project{margin:0;position:relative;overflow:hidden;background:#111}.project-large{grid-row:span 2}.project img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.04)}.project::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(4,7,14,.88))}.project figcaption{position:absolute;z-index:2;left:1.5rem;bottom:1.5rem;color:white}.project figcaption span,.project figcaption b{display:block}.project figcaption span{text-transform:uppercase;color:#f16a71;font-size:.65rem;letter-spacing:.16em;font-weight:800}.project figcaption b{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.45rem}.storm-callout{min-height:680px;position:relative;background:#07101f;color:white;display:flex;align-items:center;overflow:hidden}.storm-bg,.storm-shade{position:absolute;inset:0}.storm-bg{background:url('public/images/thunderstorm.jpg') center/cover no-repeat;transform:scale(1.04)}.storm-shade{background:linear-gradient(90deg,rgba(2,7,18,.96),rgba(3,8,19,.55) 60%,rgba(3,8,19,.2)),linear-gradient(0deg,rgba(3,8,19,.55),transparent)}.storm-content{position:relative;z-index:2;width:min(700px,88vw);margin-left:clamp(1.5rem,8vw,9rem)}.storm-content p:not(.eyebrow){max-width:600px;color:#d3dae5;margin-bottom:2rem}.storm-number{position:absolute;right:-1rem;bottom:-3rem;font-family:"Barlow Condensed",sans-serif;font-size:clamp(10rem,25vw,25rem);font-weight:800;line-height:.7;color:rgba(255,255,255,.07)}.area{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem);align-items:center}.area-copy p:not(.eyebrow){color:var(--muted);font-size:1.05rem}.text-link{display:inline-flex;gap:1.2rem;text-decoration:none;border-bottom:2px solid var(--red);padding:.7rem 0;font-weight:700}.text-link span{color:var(--red)}.map-card{height:540px;position:relative;overflow:hidden;background-color:#141b25;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;border:1px solid #273140}.map-river{position:absolute;height:58px;background:#273f59;border-radius:55%;filter:blur(1px)}.river-one{width:800px;left:-140px;top:280px;transform:rotate(-8deg)}.river-two{width:460px;right:-150px;top:350px;transform:rotate(34deg)}.map-road{position:absolute;background:rgba(255,255,255,.14);height:2px;transform-origin:left}.road-one{width:700px;left:20px;top:130px;transform:rotate(32deg)}.road-two{width:740px;left:100px;top:460px;transform:rotate(-42deg)}.road-three{width:620px;left:0;top:215px;transform:rotate(8deg)}.map-pin{position:absolute;z-index:3;left:46%;top:42%;color:white}.map-pin i{display:block;width:17px;height:17px;background:var(--red);border:4px solid white;border-radius:50%;box-shadow:0 0 0 10px rgba(227,51,61,.2);margin-bottom:1rem}.map-pin b,.map-pin small{display:block}.map-pin b{font-family:"Barlow Condensed",sans-serif;font-size:1.8rem}.map-pin small{color:#9ca8b8;letter-spacing:.2em}.map-radius{position:absolute;width:380px;height:380px;left:calc(46% - 180px);top:calc(42% - 170px);border:1px dashed rgba(239,78,87,.75);border-radius:50%;background:rgba(227,51,61,.07)}.kentucky,.ohio{position:absolute;color:rgba(255,255,255,.18);font-family:"Barlow Condensed",sans-serif;font-size:1.3rem;letter-spacing:.3em}.ohio{right:12%;top:17%}.kentucky{left:10%;bottom:15%}.contact{padding:clamp(5rem,10vw,10rem) 1.5rem;background:var(--red);color:white;text-align:center}.contact-inner{max-width:1000px;margin:auto}.contact .eyebrow{justify-content:center}.contact .eyebrow span{background:white}.contact h2 em{color:#2a0a0d}.contact-inner>p:not(.eyebrow){font-size:1.15rem}.contact-actions{margin-top:3rem;display:flex;justify-content:center;border:1px solid rgba(255,255,255,.4)}.contact-actions a{flex:1;text-decoration:none;padding:1.7rem 2rem;transition:.2s}.contact-actions a+a{border-left:1px solid rgba(255,255,255,.4)}.contact-actions a:hover{background:#fff;color:var(--red)}.contact-actions small,.contact-actions b{display:block}.contact-actions small{text-transform:uppercase;letter-spacing:.15em;font-size:.62rem;margin-bottom:.35rem}.contact-actions b{font-family:"Barlow Condensed",sans-serif;font-size:clamp(1.5rem,3vw,2.5rem)}footer{background:#05070b;color:#8f97a4;padding:3rem clamp(1.5rem,6vw,6rem);display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:center}.footer-logo{width:230px;height:78px;overflow:hidden}.footer-logo .brand-mark{background-position:center -24px}footer p{font-size:.8rem;text-transform:uppercase;letter-spacing:.13em}footer>div:nth-of-type(2){display:flex;justify-content:flex-end;gap:2rem}footer a{color:white;text-decoration:none;font-size:.85rem}footer small{grid-column:1/-1;padding-top:1.5rem;border-top:1px solid #232832;font-size:.7rem}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.site-header nav{position:absolute;top:92px;left:0;right:0;background:#090d14;display:none;flex-direction:column;align-items:stretch;padding:1.5rem}.site-header nav.open{display:flex}.site-header nav a{padding:.8rem}.menu-button{display:block}.section-heading,.why,.area{grid-template-columns:1fr}.section-heading{gap:1.5rem}.service-grid{grid-template-columns:repeat(2,1fr)}.why-photo{min-height:600px}.project-grid{grid-template-columns:1fr 1fr;grid-template-rows:500px 330px 330px}.project-large{grid-column:span 2;grid-row:auto}.map-card{height:480px}footer{grid-template-columns:1fr}footer>div:nth-of-type(2){justify-content:flex-start}footer small{grid-column:auto}}
@media(max-width:640px){.site-header{height:76px;padding:0 1rem}.brand{width:190px;height:66px}.brand-mark{background-position:center -21px}.hero{min-height:760px}.hero-content{margin-left:1.3rem;padding-top:4rem}.hero-shade{background:linear-gradient(90deg,rgba(4,7,14,.93),rgba(4,7,14,.55)),linear-gradient(0deg,rgba(4,7,14,.7),transparent)}h1{font-size:4rem}.hero-actions{flex-direction:column;align-items:stretch}.scroll-cue{display:none}.section{padding:5rem 1.3rem}.section-heading{margin-bottom:2.5rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:270px}.why-photo{min-height:470px}.why-photo span{left:1.4rem;bottom:1.4rem}.why-copy{padding:4rem 1.3rem}.project-grid{display:block}.project{height:340px;margin-bottom:1rem}.project-large{height:520px}.storm-callout{min-height:650px}.storm-content{margin-left:1.3rem}.map-card{height:420px}.map-radius{width:280px;height:280px;left:calc(46% - 130px);top:calc(42% - 120px)}.contact-actions{display:block}.contact-actions a{display:block}.contact-actions a+a{border-left:0;border-top:1px solid rgba(255,255,255,.4)}footer>div:nth-of-type(2){flex-direction:column;gap:.5rem}.ticker-set span::after{margin:0 1.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}.reveal{opacity:1;transform:none;transition:none}.project img,.button{transition:none}}
footer p{text-align:right}
@media(max-width:980px){footer p{text-align:left}}
.brand,.footer-logo{display:flex;align-items:center;overflow:visible}
.brand-mark,.footer-logo .brand-mark{background-image:url('public/images/electracincy-logo-dark.png');background-position:center;background-size:contain;background-repeat:no-repeat}
@media(max-width:980px){.footer-logo{width:260px;max-width:100%}}
.hero-image{transform:scale(1.055) rotate(-1.7deg)}
.hero{overflow:hidden}
.ticker{position:relative;z-index:5}
.mobile-call{display:none}
@media(max-width:640px){.mobile-call{display:inline-flex}}
.ticker:hover .ticker-track{animation-play-state:running!important}
.check-list .imsa-credential{display:flex;align-items:center;gap:1.5rem;padding-left:0}.check-list .imsa-credential::before{display:none}.imsa-credential img{width:190px;height:auto;flex:0 0 auto;background:#fff;border-radius:3px;padding:.65rem}.imsa-credential div{min-width:0}
@media(max-width:520px){.check-list .imsa-credential{align-items:flex-start;flex-direction:column}.imsa-credential img{width:155px}}
.footer-copy{display:flex;align-items:center;justify-content:flex-end;gap:1.5rem}.footer-copy p{margin:0}.footer-imsa{display:block;width:150px;height:auto;background:#fff;border-radius:3px;padding:.45rem}
.footer-imsa-link{display:block;border-radius:3px;transition:transform .2s,box-shadow .2s}.footer-imsa-link:hover,.footer-imsa-link:focus-visible{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.35);outline:2px solid #fff;outline-offset:3px}
.hero-image{background-image:url('public/images/cincinnati-signal-view.webp')}
.why-photo{background-image:linear-gradient(0deg,rgba(4,7,14,.8),transparent 55%),url('public/images/night-cabinet-service.webp')}
.storm-bg{background-image:url('public/images/thunderstorm.webp')}

/* Dedicated phone layout */
@media(max-width:720px){
  body{width:100%;overflow-x:hidden}
  .site-header{height:76px;padding:0 1rem;background:linear-gradient(180deg,rgba(4,7,14,.72),transparent)}
  .site-header nav{top:76px;max-height:calc(100vh - 76px);overflow-y:auto}
  .brand{width:176px;height:54px}
  .menu-button{display:block;flex:0 0 auto}
  .hero{height:auto;min-height:720px;align-items:flex-end;padding:7rem 0 3rem}
  .hero-image{transform:scale(1.1) rotate(-1.7deg);background-position:54% center}
  .hero-content{width:auto;margin:0;padding:0 1.25rem}
  .hero-content h1{font-size:clamp(3.65rem,17vw,5.2rem);max-width:100%;margin-bottom:1rem}
  .hero-copy{font-size:1rem;line-height:1.55;margin-bottom:1.5rem}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:.7rem}
  .hero-actions .button{width:100%;min-height:52px}
  .availability{margin-bottom:0}
  .ticker{height:58px}
  .ticker-track{animation:ticker 30s linear infinite!important;animation-play-state:running!important;will-change:transform}
  .ticker-set span{font-size:.95rem}
  .section{padding:4.5rem 1.2rem}
  .section-heading{display:block;margin-bottom:2.25rem}
  .section-heading h2,.area h2{font-size:clamp(3rem,14vw,4.5rem)}
  .section-heading p:last-child{font-size:.96rem;margin-top:1.5rem}
  .service-grid{display:block;border-left:1px solid var(--line)}
  .service-card{min-height:0;padding:1.7rem;margin:0}
  .service-card h3{font-size:1.9rem;margin:1.5rem 0 .75rem}
  .service-card span{margin-top:1.25rem}
  .why{display:block;min-height:0}
  .why-photo{min-height:430px;background-position:47% center}
  .why-copy{padding:4.5rem 1.2rem}
  .why-copy h2{font-size:clamp(3.3rem,15vw,4.7rem)}
  .check-list .imsa-credential{display:block;padding:1.3rem 0}
  .imsa-credential img{display:block;width:170px;margin-bottom:1.15rem}
  .project-grid{display:block}
  .project,.project-large{height:340px;margin:0 0 .9rem}
  .project-large{height:470px}
  .storm-callout{min-height:620px;padding:5rem 0}
  .storm-content{width:auto;margin:0;padding:0 1.2rem}
  .storm-content h2{font-size:clamp(3.5rem,16vw,5rem)}
  .mobile-call{display:inline-flex;width:100%}
  .storm-number{font-size:12rem;right:-.5rem;bottom:-1rem}
  .area{display:block}
  .map-card{height:380px;margin-top:2.5rem}
  .map-radius{width:250px;height:250px;left:calc(46% - 115px);top:calc(42% - 110px)}
  .map-pin b{font-size:1.5rem}
  .kentucky{left:5%;font-size:.95rem}.ohio{right:4%;font-size:1rem}
  .contact{padding:4.5rem 1.2rem}
  .contact h2{font-size:clamp(3.25rem,15vw,4.6rem)}
  .contact-actions{display:block;margin-top:2rem}
  .contact-actions a{display:block;padding:1.4rem .75rem;overflow-wrap:anywhere}
  .contact-actions a+a{border-left:0;border-top:1px solid rgba(255,255,255,.4)}
  .contact-actions b{font-size:1.55rem}
  footer{display:block;padding:2.5rem 1.2rem}
  .footer-logo{width:220px;height:72px;margin-bottom:1rem}
  .footer-logo{margin-left:auto;margin-right:auto}
  footer p{text-align:center;margin-bottom:1.5rem}
  .footer-copy{align-items:center;flex-direction:column;gap:.8rem;margin-bottom:1.5rem}
  .footer-copy p{margin:0}
  .footer-imsa{width:160px;margin-left:auto;margin-right:auto}
  footer small{text-align:center}
  footer small{display:block}
}

/* Focus the storm crop on the strongest lightning activity. */
.storm-bg{background-position:58% 96%;transform:scale(1.22);transform-origin:72% 92%}

/* Slightly tighter desktop rhythm while preserving the full site content. */
@media(min-width:721px){
  .hero{height:clamp(720px,84vh,800px);min-height:720px}
  .section{padding-top:clamp(4rem,6.5vw,6.8rem);padding-bottom:clamp(4rem,6.5vw,6.8rem)}
  .section-heading{margin-bottom:2.75rem}
  .project-grid{grid-template-rows:325px 325px}
  .why{min-height:690px}
  .why-copy{padding-top:clamp(3.75rem,4.5vw,4.75rem);padding-bottom:clamp(3.75rem,4.5vw,4.75rem)}
  .service-card{min-height:270px;padding:1.9rem}
  .service-card h3{margin-top:1.65rem}
  .storm-callout{min-height:570px}
  .map-card{height:450px}
  .contact{padding-top:clamp(4.25rem,7.5vw,7.5rem);padding-bottom:clamp(4.25rem,7.5vw,7.5rem)}
}

/* Slightly quicker service ticker. */
.ticker-track{animation-duration:34s}
@media(max-width:720px){.ticker-track{animation-duration:27s!important}}

/* Compact mobile work gallery: one feature image plus four square tiles. */
@media(max-width:720px){
  .hero{align-items:flex-start;padding-top:6.5rem}
  .project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:.7rem}
  .project,.project-large{height:auto;aspect-ratio:1;margin:0}
  .project-large{grid-column:1/-1;aspect-ratio:2/1}
  .project figcaption{left:.85rem;right:.7rem;bottom:.8rem}
  .project figcaption span{font-size:.52rem;letter-spacing:.12em}
  .project figcaption b{font-size:clamp(.92rem,4vw,1.08rem);line-height:1.02}
}
