/*
Theme Name: Cabling NY Modern
Theme URI: https://www.cablingny.com/
Author: Cabling NY
Description: A fast, accessible commercial cabling theme built for Cabling NY.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: cablingny-modern
*/

:root{--ink:#0b1821;--navy:#0d2531;--blue:#0f5266;--cyan:#47c7d7;--acid:#d7f35a;--paper:#f5f3ed;--white:#fff;--line:#d8d9d3;--muted:#637078}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:1000;background:#fff;color:var(--ink);padding:.8rem 1rem;font-weight:700}.skip-link:focus{top:1rem}.shell{width:min(1180px,calc(100% - 3rem));margin-inline:auto}.section{padding-block:7rem}.eyebrow{margin:0 0 1rem;color:var(--acid);font-size:.72rem;font-weight:800;letter-spacing:.18em}.eyebrow.dark{color:var(--blue)}

.utility-bar{background:#071219;color:#aab6bb;font-size:.75rem;letter-spacing:.06em}.utility-inner{height:34px;display:flex;justify-content:space-between;align-items:center}.utility-inner a{color:#fff}.site-header{position:relative;z-index:20;background:var(--navy);color:#fff}.nav-wrap{min-height:82px;display:flex;align-items:center;gap:2.25rem}.brand{display:inline-flex;align-items:center;gap:.7rem;font-size:.98rem;font-weight:500;letter-spacing:.1em;white-space:nowrap}.brand b{color:var(--cyan)}.brand-mark{width:40px;height:40px;display:grid;place-items:center;background:var(--acid);color:var(--ink);font-size:.72rem;font-weight:900;letter-spacing:-.02em;clip-path:polygon(0 0,82% 0,100% 18%,100% 100%,18% 100%,0 82%)}.main-nav{margin-left:auto}.main-menu{display:flex;align-items:center;gap:1.7rem;margin:0;padding:0;list-style:none;font-size:.85rem;font-weight:700}.main-menu a{color:#c8d2d5}.main-menu a:hover,.main-menu .current-menu-item>a{color:#fff}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:.8rem 1.25rem;border:0;background:var(--acid);color:var(--ink);font-weight:800;cursor:pointer;transition:transform .2s ease,background .2s ease}.button:hover{background:#e4fb7a;transform:translateY(-2px)}.button-small{min-height:44px;padding-inline:1rem;font-size:.82rem}.mobile-menu{display:none;margin-left:auto}.mobile-menu summary{cursor:pointer;font-weight:800;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] nav{position:absolute;top:100%;left:0;width:100%;padding:1rem 1.5rem;background:#071219}.mobile-menu .main-menu{align-items:flex-start;flex-direction:column;gap:0}.mobile-menu .main-menu a{display:block;padding:.7rem 0}

.hero{overflow:hidden;background:var(--navy);color:#fff;border-top:1px solid rgba(255,255,255,.08)}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;min-height:650px}.hero-copy{padding:7.5rem 5rem 7rem 0;align-self:center}.hero h1{max-width:680px;margin:0;font-size:clamp(3.2rem,6vw,6.4rem);line-height:.93;letter-spacing:-.065em;text-wrap:balance}.hero-lede{max-width:670px;margin:2rem 0 2.3rem;color:#c8d6d9;font-size:1.15rem;line-height:1.7}.button-row{display:flex;align-items:center;gap:2rem}.text-link{color:#fff;font-size:.9rem;font-weight:800}.text-link span{display:inline-block;margin-left:.4rem;transition:transform .2s}.text-link:hover span{transform:translateX(4px)}.trust-list{display:flex;gap:1.4rem;flex-wrap:wrap;margin:3rem 0 0;padding:0;list-style:none;color:#b9c7cb;font-size:.78rem}.trust-list li:before{content:"";display:inline-block;width:6px;height:6px;margin:0 .55rem .1rem 0;background:var(--cyan);border-radius:50%}.hero-panel{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:5rem;background:radial-gradient(circle at 72% 18%,rgba(71,199,215,.17),transparent 31%),linear-gradient(145deg,#123845,#102b37 66%,#0b232e);border-inline:1px solid rgba(255,255,255,.08);overflow:hidden}.hero-panel:before{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px);background-size:34px 34px}.hero-panel:after{content:"";position:absolute;right:-13%;bottom:-17%;width:270px;height:270px;background:var(--cyan);border-radius:50%;filter:blur(90px);opacity:.09}.signal-orbit{position:absolute;border:1px solid rgba(71,199,215,.22);border-radius:50%;pointer-events:none}.orbit-one{top:-90px;right:-90px;width:310px;height:310px;animation:orbitDrift 8s ease-in-out infinite}.orbit-two{right:48px;bottom:-150px;width:270px;height:270px;border-color:rgba(215,243,90,.14);animation:orbitDrift 10s ease-in-out -3s infinite reverse}.panel-topline,.rack,.panel-footer{position:relative;z-index:2}.panel-topline{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1.25rem}.panel-kicker{color:#d9e6e9;font-size:.68rem;font-weight:900;letter-spacing:.2em}.panel-status{display:inline-flex;align-items:center;gap:.45rem;color:#b8c9ce;font-size:.58rem;font-weight:800;letter-spacing:.12em;white-space:nowrap}.panel-status i{width:7px;height:7px;background:var(--acid);border-radius:50%;box-shadow:0 0 0 0 rgba(215,243,90,.6);animation:statusBeat 2s ease-out infinite}.rack{position:relative;padding:.55rem;background:rgba(4,16,22,.88);border:1px solid #40717f;box-shadow:0 35px 60px rgba(0,0,0,.3);overflow:hidden}.rack:after{content:"";position:absolute;z-index:3;top:-30%;left:0;width:100%;height:22%;background:linear-gradient(transparent,rgba(71,199,215,.1),transparent);pointer-events:none;animation:rackScan 4.8s linear infinite}.rack-row{position:relative;display:grid;grid-template-columns:82px minmax(70px,1fr) 48px 30px;align-items:center;gap:.75rem;height:54px;padding:0 1rem;background:linear-gradient(90deg,#102b37,#0d2530);border-bottom:1px solid #2d4c57;color:#a5bbc2;font-size:.62rem;letter-spacing:.12em}.rack-row:last-child{border:0}.rack-row>span{color:#d3e2e5;font-weight:800}.rack-row small{color:#829ba3;font-size:.52rem;letter-spacing:.12em}.rack-row b{color:#fff;font-weight:400;text-align:right}.signal-track{position:relative;height:3px;background:rgba(71,199,215,.13);overflow:hidden}.signal-track:before{content:"";position:absolute;inset:1px 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(71,199,215,.55),transparent)}.signal-track:after{content:"";position:absolute;left:0;top:-2px;width:40%;height:7px;background:linear-gradient(90deg,transparent,var(--cyan),var(--acid),transparent);filter:drop-shadow(0 0 5px rgba(71,199,215,.8));transform:translateX(-105%);animation:dataFlow 2.7s ease-in-out infinite}.rack-row:nth-child(2) .signal-track:after{animation-delay:-.55s}.rack-row:nth-child(3) .signal-track:after{animation-delay:-1.1s}.rack-row:nth-child(4) .signal-track:after{animation-delay:-1.65s}.rack-row:nth-child(5) .signal-track:after{animation-delay:-2.2s}.panel-footer{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem;color:#9db1b8;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}.panel-footer span{padding:1rem;background:rgba(5,19,26,.65);border-left:2px solid rgba(71,199,215,.35)}.panel-footer b{display:block;color:var(--acid);font-size:1.35rem;letter-spacing:-.02em}.panel-footer span:last-child b{color:#fff;font-size:1.02rem;letter-spacing:.04em}

@keyframes dataFlow{0%{transform:translateX(-105%);opacity:0}18%{opacity:1}75%{opacity:1}100%{transform:translateX(255%);opacity:0}}@keyframes rackScan{0%{transform:translateY(-20%);opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translateY(650%);opacity:0}}@keyframes statusBeat{0%{box-shadow:0 0 0 0 rgba(215,243,90,.6)}70%{box-shadow:0 0 0 8px rgba(215,243,90,0)}100%{box-shadow:0 0 0 0 rgba(215,243,90,0)}}@keyframes orbitDrift{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-12px,10px,0) scale(1.04)}}

.proof-strip{background:var(--acid)}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);min-height:82px;align-items:center}.proof-grid span{display:flex;gap:.75rem;align-items:center;padding:1rem;border-right:1px solid rgba(11,24,33,.18);font-size:.7rem}.proof-grid span:last-child{border:0}.proof-grid b{font-size:.8rem;letter-spacing:.02em}.section-heading{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:4rem;margin-bottom:3rem}.section-heading h2,.area-copy h2,.faq-layout h2,.quote-intro h2,.subhero h1{margin:0;font-size:clamp(2.35rem,4vw,4.5rem);line-height:1.02;letter-spacing:-.055em;text-wrap:balance}.section-heading>p{margin:0 0 .4rem;color:var(--muted);font-size:.98rem;line-height:1.75}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid.three-col{grid-template-columns:repeat(3,1fr)}.service-card{min-height:295px;display:flex;flex-direction:column;padding:1.8rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.32);transition:background .2s,transform .2s}.service-card:hover{background:#fff;transform:translateY(-3px)}.service-number{color:var(--blue);font-size:.68rem;font-weight:800;letter-spacing:.12em}.service-card h2,.service-card h3{margin:3rem 0 .8rem;font-size:1.2rem;line-height:1.2}.service-card p{margin:0 0 1.6rem;color:var(--muted);font-size:.86rem}.service-card a{margin-top:auto;color:var(--blue);font-size:.78rem;font-weight:800}

.project-preview{background:var(--blue);color:#fff}.project-preview .section-heading>div:last-child>p{margin:0 0 1rem;color:#bed2d7;font-size:.95rem;line-height:1.7}.project-preview-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:220px;gap:.8rem}.project-preview-card{position:relative;grid-column:span 4;display:flex;flex-direction:column;justify-content:flex-end;min-height:220px;padding:1.2rem;overflow:hidden;background:#071219}.project-preview-card.preview-0,.project-preview-card.preview-3{grid-column:span 8}.project-preview-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.project-preview-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(4,14,19,.92))}.project-preview-card:hover img{transform:scale(1.025)}.project-preview-card span,.project-preview-card b{position:relative;z-index:2}.project-preview-card span{margin-bottom:.3rem;color:var(--acid);font-size:.62rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.project-preview-card b{color:#fff;font-size:.95rem}.project-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:1rem}.project-tile{position:relative;grid-column:span 4;min-height:330px;margin:0;overflow:hidden;background:var(--ink)}.project-tile.tile-0,.project-tile.tile-4{grid-column:span 8}.project-tile.tile-1,.project-tile.tile-3{min-height:430px}.project-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.project-tile:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(4,14,19,.94))}.project-tile:hover img{transform:scale(1.02)}.project-tile figcaption{position:absolute;z-index:2;inset:auto 0 0;display:flex;flex-direction:column;padding:1.35rem;color:#fff}.project-tile figcaption span{margin-bottom:.25rem;color:var(--acid);font-size:.62rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.project-tile figcaption b{font-size:1rem}

.dark-section{background:var(--ink);color:#fff}.section-heading.light>p{color:#a8b7bc}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:0;padding:0;list-style:none;background:#35505a}.process-grid li{min-height:260px;padding:2rem;background:#10242e}.process-grid li b{color:var(--acid);font-size:.7rem;letter-spacing:.12em}.process-grid h3{margin:4rem 0 .65rem;font-size:1.35rem}.process-grid p{margin:0;color:#aebdc1;font-size:.88rem}.area-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:8rem;align-items:center}.area-copy>p:not(.eyebrow){color:var(--muted);line-height:1.8}.dark-link{display:inline-block;margin-top:1rem;color:var(--blue)}.area-list{border-top:1px solid var(--line)}.area-list div{display:flex;gap:1.3rem;align-items:center;padding:1rem .4rem;border-bottom:1px solid var(--line);font-size:1rem;font-weight:700}.area-list span{color:var(--blue);font-size:.67rem;letter-spacing:.1em}.faq-section{background:#fff}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:8rem}.faq-layout>div:first-child>p:not(.eyebrow){color:var(--muted)}.faq-layout a{color:var(--blue);text-decoration:underline}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;gap:1rem;padding:1.35rem 0;list-style:none;cursor:pointer;font-weight:800}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--blue);font-size:1.4rem;font-weight:400;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:750px;margin:-.2rem 0 1.5rem;color:var(--muted);font-size:.9rem;line-height:1.8}

.quote-section{background:var(--blue);color:#fff}.quote-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:7rem}.quote-intro>p:not(.eyebrow){color:#c1d3d8;font-size:1rem;line-height:1.8}.contact-card{margin-top:3rem;padding:1.3rem;background:rgba(5,20,27,.3)}.contact-card span{display:block;color:#afc7cc;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.contact-card a{font-weight:800}.quote-form{padding:2.2rem;background:#fff;color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.quote-form label{display:block;margin-bottom:1rem;font-size:.74rem;font-weight:800}.quote-form input,.quote-form select,.quote-form textarea{width:100%;margin-top:.4rem;padding:.8rem .9rem;border:1px solid #c9ced0;border-radius:0;background:#fbfbf9;color:var(--ink);font-size:.9rem}.quote-form textarea{resize:vertical}.quote-form .consent{display:flex;gap:.7rem;align-items:flex-start;color:var(--muted);font-weight:400}.quote-form .consent input{width:auto;margin:.25rem 0 0}.form-button{width:100%;gap:1rem}.form-note{margin:.8rem 0 0;color:var(--muted);font-size:.68rem;line-height:1.5}.form-success{margin-bottom:1rem;padding:1rem;background:var(--acid);color:var(--ink);font-weight:800}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.subhero{padding:6.5rem 0 5.5rem;background:var(--navy);color:#fff}.subhero.compact{padding:4.5rem 0}.subhero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:6rem;align-items:end}.subhero-grid>p{margin:0;color:#c8d6d9;font-size:1.08rem;line-height:1.75}.crumb{margin:0 0 2rem;color:#94a7ae;font-size:.72rem}.crumb a{color:#fff}.service-body{display:grid;grid-template-columns:1.25fr .75fr;gap:7rem}.service-body h2{margin:0 0 1.3rem;font-size:clamp(2rem,3.2vw,3.4rem);line-height:1.05;letter-spacing:-.045em}.service-body>div>p{color:var(--muted);font-size:1rem;line-height:1.8}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:2.5rem;background:var(--line);border:1px solid var(--line)}.feature-list div{min-height:112px;padding:1.4rem;background:#fff;font-weight:700}.feature-list span{display:block;margin-bottom:1rem;color:var(--blue);font-size:.68rem}.outcome-card{padding:2rem;background:var(--ink);color:#fff}.outcome-card h2{font-size:1.7rem}.outcome-card ul{margin:0;padding:0;list-style:none}.outcome-card li{padding:.9rem 0;border-bottom:1px solid #31434c;color:#c0cdd1;font-size:.88rem}.outcome-card li:before{content:"\2192";margin-right:.7rem;color:var(--acid)}.service-cta{padding:4rem 0;background:var(--acid)}.service-cta .shell{display:flex;justify-content:space-between;gap:2rem;align-items:center}.service-cta h2{margin:0;font-size:clamp(2rem,3vw,3.2rem);line-height:1;letter-spacing:-.04em}.service-cta .button,.dark-button{background:var(--ink);color:#fff}.prose{max-width:820px}.prose a{color:var(--blue);text-decoration:underline}

.site-footer{padding:5rem 0 1.5rem;background:#071219;color:#a9b5b9}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr .8fr 1.2fr;gap:3rem}.footer-grid>div{display:flex;flex-direction:column;gap:.7rem;font-size:.8rem}.footer-grid>div:first-child{padding-right:4rem}.footer-grid h2{margin:.5rem 0;color:#fff;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.footer-grid a:hover{color:#fff}.footer-brand{margin-bottom:1rem;color:#fff}.footer-grid p{line-height:1.7}.footer-bottom{display:flex;justify-content:space-between;margin-top:4rem;padding-top:1.5rem;border-top:1px solid #24323a;color:#76858b;font-size:.67rem}

@media(max-width:980px){.main-nav{display:none}.mobile-menu{display:block}.nav-wrap{gap:1rem}.nav-wrap>.button{margin-left:auto}.hero-grid,.subhero-grid{grid-template-columns:1fr}.hero-copy{padding:6rem 0 4rem}.hero-panel{min-height:520px;padding:4rem}.proof-grid{grid-template-columns:1fr 1fr}.proof-grid span:nth-child(2){border-right:0}.service-grid,.service-grid.three-col{grid-template-columns:1fr 1fr}.project-preview-card,.project-preview-card.preview-0,.project-preview-card.preview-3,.project-tile,.project-tile.tile-0,.project-tile.tile-4{grid-column:span 6}.section-heading,.area-section,.faq-layout,.quote-layout,.service-body{grid-template-columns:1fr;gap:3rem}.process-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.subhero-grid{gap:2rem}}
@media(max-width:620px){.shell{width:min(100% - 2rem,1180px)}.section{padding-block:4.5rem}.utility-inner span{display:none}.utility-inner{justify-content:flex-end}.nav-wrap{min-height:70px}.nav-wrap>.button-small{display:none}.brand-mark{width:36px;height:36px}.hero-copy{padding:4.5rem 0 3.5rem}.hero h1{font-size:clamp(3rem,15vw,4.7rem)}.hero-lede{font-size:1rem}.button-row{align-items:flex-start;flex-direction:column}.trust-list{gap:.7rem;flex-direction:column;margin-top:2.3rem}.hero-panel{min-height:430px;padding:2rem 1.2rem}.panel-footer{grid-template-columns:1fr}.proof-grid{grid-template-columns:1fr;padding-block:.5rem}.proof-grid span{border:0;border-bottom:1px solid rgba(11,24,33,.18)}.service-grid,.service-grid.three-col,.process-grid,.form-grid,.feature-list{grid-template-columns:1fr}.project-preview-grid,.project-gallery{grid-template-columns:1fr;grid-auto-rows:auto}.project-preview-card,.project-preview-card.preview-0,.project-preview-card.preview-3,.project-tile,.project-tile.tile-0,.project-tile.tile-4{grid-column:1;min-height:260px}.service-card{min-height:250px}.section-heading{margin-bottom:2rem}.area-list div{padding-inline:0}.quote-form{padding:1.25rem}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{padding-right:0}.footer-bottom,.service-cta .shell{align-items:flex-start;flex-direction:column}.subhero{padding:4.5rem 0 4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
