:root{--ink:#102a38;--blue:#174d62;--teal:#0b817c;--paper:#f7f7f3;--white:#fff;--sun:#f3c969;--muted:#5b6d73;--line:#d9e1df}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit}.wrap{width:min(1120px,calc(100% - 36px));margin:auto}.top{background:var(--ink);color:#fff;padding:9px 0;font-size:.9rem}.top .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.top a{color:#fff;text-decoration:none}.header{background:#fff;border-bottom:1px solid var(--line)}.header .wrap{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:19px 0}.brand{font-size:1.38rem;font-weight:800;line-height:1.05;text-decoration:none;letter-spacing:.01em}.brand span{display:block;color:var(--teal);font-size:.77rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-top:5px}.nav{display:flex;gap:20px;flex-wrap:wrap}.nav a{text-decoration:none;font-weight:700;font-size:.94rem}.nav a:hover,.nav a[aria-current=page]{color:var(--teal)}.notice{background:#fff3d8;border-bottom:1px solid #edce83;padding:10px 0;color:#57400b;font-size:.91rem}.hero{background:linear-gradient(130deg,#102a38 0%,#174d62 58%,#0b817c 100%);color:#fff;padding:82px 0 74px;overflow:hidden}.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:52px;align-items:center}.eyebrow{color:var(--sun);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;margin:0 0 12px}.hero h1,.page-head h1{font-size:clamp(2.3rem,5vw,4.6rem);line-height:1.05;letter-spacing:-.04em;margin:0 0 19px}.hero p{font-size:1.16rem;max-width:630px;margin:0 0 27px;color:#e6f0ee}.buttons{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-block;border-radius:5px;background:var(--sun);color:#202b2a;text-decoration:none;padding:13px 19px;font-weight:800}.button.ghost{background:transparent;color:#fff;border:1px solid #9fc0bf}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.service-tile{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);padding:20px;border-radius:7px}.service-tile strong{display:block;font-size:1.03rem}.service-tile span{font-size:.92rem;color:#d9ecea}.section{padding:73px 0}.section.alt{background:#fff}.section h2{font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.03em;line-height:1.1;margin:0 0 15px}.lead{font-size:1.12rem;color:var(--muted);max-width:780px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}.card{background:#fff;border:1px solid var(--line);padding:25px;border-radius:7px}.card h3{font-size:1.25rem;margin:0 0 7px}.card p{margin:0;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.ticklist{list-style:none;padding:0;margin:22px 0}.ticklist li{border-bottom:1px solid var(--line);padding:12px 0}.ticklist li:before{content:"✓";color:var(--teal);font-weight:800;margin-right:10px}.callout{background:var(--teal);color:#fff;padding:33px;border-radius:7px}.callout h2{margin-top:0}.callout p{color:#e3f4f1}.page-head{background:var(--ink);color:#fff;padding:58px 0}.page-head h1{font-size:clamp(2.25rem,4vw,3.5rem);margin:0}.page-head p{color:#d7e7e6;max-width:700px;font-size:1.06rem}.placeholder{border:2px dashed #b6c5c1;background:#fff;padding:25px;border-radius:7px;color:#52636a}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery figure{min-height:210px;background:linear-gradient(135deg,#d5e5e0,#a9c7c3);margin:0;border-radius:7px;padding:20px;display:flex;align-items:end;color:#17313b;font-weight:800}.footer{background:#102a38;color:#d7e7e6;padding:48px 0 25px}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:40px}.footer h3{color:#fff;margin-top:0}.footer a{display:block;color:#d7e7e6;margin:5px 0}.small{font-size:.9rem;color:#b7ceca}.legal{border-top:1px solid #39535d;margin-top:32px;padding-top:18px;font-size:.85rem;color:#a9bfbc}@media(max-width:760px){.hero .wrap,.split{grid-template-columns:1fr;gap:32px}.cards,.footer-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.header .wrap{align-items:flex-start;flex-direction:column}.nav{gap:13px}.hero{padding:57px 0}.section{padding:55px 0}}@media(max-width:460px){.gallery,.service-grid{grid-template-columns:1fr}.wrap{width:min(100% - 28px,1120px)}}

/* Home-page design agreed with Pete: a refined version of the existing dark, photo-led header. */
.site-hero{color:#fff;background:#092536 url("assets/circuit-background.jpg") center/cover no-repeat;position:relative;isolation:isolate;overflow:hidden}.site-hero:before{content:"";position:absolute;inset:0;background:rgba(2,20,32,.72);z-index:-1}.site-hero__top{min-height:158px;display:grid;grid-template-columns:260px 1fr;gap:38px;align-items:start;border-bottom:1px solid rgba(255,255,255,.3)}.site-logo{display:block;padding:25px 0 20px}.site-logo img{display:block;width:min(100%,255px);height:auto}.site-navigation{display:grid;align-content:start;justify-self:end;gap:17px;padding-top:34px;text-transform:uppercase;font-size:.78rem;letter-spacing:.09em}.site-navigation__primary,.site-navigation__services{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:2px}.site-navigation a{display:block;position:relative;padding:10px 14px;color:#eef6f9;text-decoration:none;white-space:nowrap}.site-navigation a:focus-visible{outline:2px solid #fff;outline-offset:2px}.site-navigation a:hover{background:rgba(0,0,0,.28)}.site-navigation a[aria-current=page]:after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:#fff}.site-navigation__services a{display:flex;flex-direction:column;gap:1px;font-size:.76rem;line-height:1.3}.menu-toggle{display:none}.site-hero__content{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);gap:60px;align-items:center;padding:72px 0 82px}.site-hero__copy h1{max-width:690px;margin:0;font-family:Arial,Helvetica,sans-serif;font-weight:400;line-height:1.16;letter-spacing:-.025em}.hero-heading__name,.hero-heading__quality,.hero-heading__coverage{display:block}.hero-heading__name{white-space:nowrap;font-size:clamp(1.65rem,2.35vw,2.12rem);font-weight:800;letter-spacing:-.05em}.hero-heading__quality{margin-top:8px;font-size:clamp(1.65rem,2.65vw,2.3rem);font-weight:400}.hero-heading__coverage{margin-top:11px;font-size:clamp(1.25rem,2vw,1.7rem);font-weight:400;line-height:1.27}.site-hero__rule{width:200px;height:3px;margin:28px 0;background:#fff}.site-hero__copy p{max-width:660px;margin:0;color:rgba(255,255,255,.8);font-size:1.08rem}.site-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.site-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:999px;background:#97bdd8;color:#102a38;text-decoration:none;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.site-button--plain{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.65)}.site-button:hover{filter:brightness(1.08)}.photo-placeholder{min-height:315px;display:grid;place-items:center;border:12px solid rgba(255,255,255,.76);background:rgba(2,13,20,.2);box-shadow:0 15px 36px rgba(0,0,0,.24);text-align:center}.photo-placeholder>div{width:calc(100% - 46px);padding:30px 20px;border:1px dashed rgba(255,255,255,.72);background:rgba(255,255,255,.05)}.photo-placeholder span{font-size:.78rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.photo-placeholder p{margin:8px 0 0;color:rgba(255,255,255,.8)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.site-hero__top{grid-template-columns:210px 1fr;gap:20px}.site-navigation{font-size:.69rem}.site-navigation a{padding:9px 10px}.site-navigation a[aria-current=page]:after{left:10px;right:10px}.site-hero__content{gap:38px}}
@media(max-width:760px){.site-hero__top{min-height:105px;display:flex;align-items:center;justify-content:space-between;border-bottom:0}.site-logo{padding:18px 0}.site-logo img{width:180px}.menu-toggle{z-index:3;display:grid;gap:5px;width:44px;height:42px;padding:10px;border:1px solid rgba(255,255,255,.65);background:rgba(0,0,0,.15);cursor:pointer}.menu-toggle span:not(.sr-only){display:block;width:100%;height:2px;background:#fff}.site-navigation{position:fixed;z-index:2;inset:0 0 0 auto;width:min(330px,88vw);min-height:100vh;padding:95px 25px 30px;background:#0b2a3b;box-shadow:-14px 0 42px rgba(0,0,0,.4);transform:translateX(101%);transition:transform .24s ease;overflow:auto}.site-navigation.is-open{transform:translateX(0)}.site-navigation__primary,.site-navigation__services{display:block;width:auto;margin-left:0;padding:0;border-top:1px solid rgba(255,255,255,.22)}.site-navigation__services{margin-top:15px}.site-navigation__services a{flex-direction:row;gap:4px}.site-navigation a{padding:14px 8px;border-bottom:1px solid rgba(255,255,255,.16);font-size:.83rem}.site-navigation a[aria-current=page]:after{left:8px;right:auto;bottom:0;width:54px}.site-hero__content{grid-template-columns:1fr;gap:0;padding:0}.photo-placeholder{order:-1;min-height:225px;border-width:0}.photo-placeholder>div{display:none}.site-hero__copy{padding:32px 0 55px}.hero-heading__name{font-size:1.55rem;white-space:normal}.hero-heading__quality{font-size:1.56rem}.hero-heading__coverage{font-size:1.2rem}.site-hero__rule{width:128px;margin:20px 0}.site-hero__copy p{font-size:1rem}.site-button{min-height:45px;padding:0 18px;font-size:.7rem}}
@media(min-width:901px){.site-navigation__primary{gap:16px}.site-navigation__primary a{padding-left:6px;padding-right:6px}.site-navigation__primary a[aria-current=page]:after{left:6px;right:6px}.site-navigation__services{gap:22px}}

/* Sticky mobile call bar: shown site-wide on phones/tablets only */
.call-bar{display:none}
@media(max-width:760px){
  .call-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;align-items:center;gap:12px;padding:11px 16px;background:var(--sun);color:#20221a;text-decoration:none;box-shadow:0 -4px 14px rgba(0,0,0,.2)}
  .call-bar__icon{flex:none;width:34px;height:34px;border-radius:50%;background:rgba(16,42,56,.14);display:grid;place-items:center}
  .call-bar__icon svg{width:17px;height:17px}
  .call-bar__label{display:block;font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
  .call-bar__number{display:block;font-size:1rem;font-weight:800}
  body{padding-bottom:68px}
  body.nav-open .call-bar{display:none}
}

/* Callback form */
.callback-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:28px;scroll-margin-top:20px}
.form-row{margin:0 0 15px}
.form-row label{display:block;font-weight:700;font-size:.86rem;margin-bottom:5px}
.form-row input,.form-row select,.form-row textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:6px;font:inherit;color:inherit;background:#fff}
.form-row textarea{resize:vertical}
.form-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.form-note{min-height:1.4em;margin:12px 0 0;font-size:.88rem;font-weight:700}
.form-note--ok{color:var(--teal)}
.form-note--error{color:#a3312c}
.callback-card .button{border:0;cursor:pointer}

/* Textured dark band, reusable on any page (first used on About) */
.textured-band{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#092536 url("assets/circuit-background.jpg") center/cover no-repeat}
.textured-band:before{content:"";position:absolute;inset:0;background:rgba(2,20,32,.8);z-index:-1}
.textured-band__decor{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.textured-band__decor svg{position:absolute;color:#fff}
.textured-band__cog{width:280px;height:280px;top:-60px;right:-40px;opacity:.14;animation:hpe-spin 100s linear infinite}
.textured-band__bulb{width:130px;height:130px;bottom:0;left:4%;opacity:.16;animation:hpe-pulse 3.6s ease-in-out infinite}
@keyframes hpe-spin{to{transform:rotate(360deg)}}
@keyframes hpe-pulse{0%,100%{opacity:.12}50%{opacity:.3}}
.textured-band__tap{width:110px;height:110px;opacity:.16}
.textured-band__drop{width:14px;height:14px;fill:currentColor;stroke:none;opacity:0;animation:hpe-drip 2.6s cubic-bezier(.55,0,1,.45) infinite}
.textured-band__wire{width:180px;height:60px;opacity:.16}
.textured-band__spark{width:16px;height:20px;fill:currentColor;stroke:none;opacity:0;animation:hpe-spark 3.4s ease-in-out infinite}
@keyframes hpe-drip{0%{transform:translateY(0);opacity:0}12%{opacity:.9}75%{transform:translateY(16px);opacity:0}100%{transform:translateY(16px);opacity:0}}
@keyframes hpe-spark{0%,84%{opacity:0;transform:scale(.7)}87%{opacity:1;transform:scale(1.15)}90%{opacity:.25;transform:scale(.85)}93%{opacity:1;transform:scale(1.05)}96%,100%{opacity:0;transform:scale(.7)}}
@media(prefers-reduced-motion:reduce){.textured-band__cog,.textured-band__bulb,.textured-band__drop,.textured-band__spark{animation:none}}
.about-intro{padding:56px 0 64px}
.about-intro__content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:48px;align-items:center}
.about-intro h1{font-size:clamp(2rem,4vw,2.9rem);font-weight:400;letter-spacing:-.02em;margin:0 0 18px;line-height:1.15}
.about-intro p{color:rgba(255,255,255,.85);margin:0 0 16px;max-width:60ch}
.about-intro p:last-of-type{margin-bottom:0}
.about-intro a:not(.button){color:#fff;text-decoration:underline;text-underline-offset:3px}
.about-intro .photo-placeholder{min-height:260px}
@media(max-width:760px){.about-intro__content{grid-template-columns:1fr;gap:28px}.about-intro .photo-placeholder{order:-1;min-height:190px}}

/* Certification body logos — generous size and clear space per each body's brand rules */
.cert-logos{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start;margin:24px 0 6px}
.cert-logos img{display:block;height:110px;width:auto}

/* Range-of-work tag grid */
.work-list,.area-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;list-style:none;margin:24px 0 0;padding:0}
.work-list li,.area-list li{background:#fff;border:1px solid var(--line);border-radius:6px;padding:12px 16px;font-weight:700;font-size:.92rem;color:var(--ink)}

/* About: carry the services-page palette through the service-area section. */
.about-areas{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#102f40}
.about-areas:before,.about-areas:after{content:"";position:absolute;z-index:-1;pointer-events:none}
.about-areas:before{inset:0;opacity:.32;background-image:radial-gradient(circle at 15% 18%,transparent 0 42px,rgba(151,189,216,.2) 43px 44px,transparent 45px),linear-gradient(90deg,transparent 0 15%,rgba(151,189,216,.13) 15% 15.18%,transparent 15.18% 67%,rgba(151,189,216,.1) 67% 67.18%,transparent 67.18% 100%),linear-gradient(0deg,transparent 0 30%,rgba(151,189,216,.1) 30% 30.18%,transparent 30.18% 76%,rgba(151,189,216,.09) 76% 76.18%,transparent 76.18% 100%);background-size:410px 240px,320px 170px,320px 170px}
.about-areas:after{width:50vw;height:50vw;right:-23vw;bottom:-32vw;border:1px solid rgba(151,189,216,.14);border-radius:50%;box-shadow:0 0 0 24px rgba(151,189,216,.04),0 0 0 70px rgba(151,189,216,.025)}
.about-areas .wrap{position:relative;z-index:1}
.about-areas .eyebrow{color:#97bdd8}
.about-areas h2{color:#fff}
.about-areas .lead{color:rgba(242,249,252,.82)}
.about-areas .area-list{gap:14px}
.about-areas .area-list li{position:relative;min-height:59px;display:flex;align-items:center;padding:13px 18px;border:1px solid rgba(217,239,247,.34);border-radius:24px;background:linear-gradient(126deg,rgba(231,248,255,.21) 0%,rgba(167,211,231,.11) 43%,rgba(255,255,255,.045) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(6,29,41,.15),0 12px 25px rgba(2,18,29,.13);backdrop-filter:blur(14px) saturate(122%);-webkit-backdrop-filter:blur(14px) saturate(122%);color:#fff;font-size:.92rem;overflow:hidden}
.about-areas .area-list li:before{content:"";position:absolute;inset:1px 1px auto;height:47%;border-radius:23px 23px 52% 45%;background:linear-gradient(135deg,rgba(255,255,255,.17),transparent 68%);pointer-events:none}
.work-list{gap:14px}
.work-list li{min-height:67px;display:flex;align-items:center;padding:14px 17px;border:1px solid #c6d9e1;border-radius:22px;background:linear-gradient(126deg,rgba(245,251,253,.98) 0%,rgba(213,233,241,.68) 48%,rgba(255,255,255,.92) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(54,100,121,.08),0 9px 19px rgba(16,42,56,.08);color:#183747;font-size:.9rem}
.about-cta{border:1px solid rgba(151,189,216,.5);border-radius:28px;background:linear-gradient(135deg,#174d62 0%,#102a38 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 18px 34px rgba(16,42,56,.18)}
.about-cta p{color:rgba(236,246,249,.86)}

/* Services: a darker, full-width service map rather than a grid of white cards. */
.services-header{background-position:center top}
.services-header .site-hero__top{min-height:158px}
.services-intro{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#0b2a3b;padding:66px 0 76px}
.services-intro:before{content:"";position:absolute;inset:0;opacity:.42;background-image:linear-gradient(90deg,transparent 0 8%,rgba(151,189,216,.25) 8% 8.15%,transparent 8.15% 24%,rgba(151,189,216,.16) 24% 24.15%,transparent 24.15% 100%),linear-gradient(0deg,transparent 0 34%,rgba(151,189,216,.14) 34% 34.25%,transparent 34.25% 68%,rgba(151,189,216,.12) 68% 68.25%,transparent 68.25% 100%);background-size:320px 170px;mask-image:linear-gradient(90deg,transparent,black 18%,black 82%,transparent)}
.services-intro .wrap{position:relative;z-index:1;max-width:850px;margin:0 auto}
.services-intro h1{max-width:780px;margin:0 0 20px;font-size:clamp(2.2rem,4.6vw,4rem);font-weight:400;line-height:1.1;letter-spacing:-.035em}
.services-intro p:not(.eyebrow){max-width:650px;margin:0;color:rgba(255,255,255,.84);font-size:1.1rem}
.services-intro .site-button{margin-top:30px}
.services-intro__decor{position:absolute;z-index:0;bottom:24px;right:4%;width:205px;height:205px;color:#c4e7f4;opacity:.2;pointer-events:none}
.services-intro__tap{display:block;width:100%;height:100%;filter:drop-shadow(0 0 12px rgba(185,222,237,.2))}
.services-intro__tap-main{stroke-width:6.5}
.services-intro__tap-detail{stroke-width:4.5}
.services-intro__tap-fix{fill:currentColor;stroke:none}
.services-intro__drop{opacity:0;transform-origin:155px 176px;animation:services-drip 5.2s cubic-bezier(.5,0,.9,.5) infinite}
@keyframes services-drip{0%,30%{opacity:0;transform:translateY(-6px) scale(.3)}38%{opacity:.85;transform:translateY(-6px) scale(.7)}46%{opacity:1;transform:translateY(-4px) scale(1)}54%{opacity:1;transform:translateY(0) scale(1)}74%{opacity:1;transform:translateY(14px) scale(.96)}82%{opacity:0;transform:translateY(20px) scale(.9)}100%{opacity:0;transform:translateY(20px) scale(.9)}}
.services-intro__ripple{stroke-width:3;opacity:0;transform-origin:155px 209px;animation:services-ripple 5.2s ease-out infinite}
@keyframes services-ripple{0%,76%{opacity:0;transform:scale(.3)}81%{opacity:.55;transform:scale(.7)}100%{opacity:0;transform:scale(1.35)}}
.services-showcase{position:relative;isolation:isolate;overflow:hidden;padding:80px 0 88px;color:#eaf3f5;background:#102f40}
.services-showcase:before,.services-showcase:after{content:"";position:absolute;z-index:-1;pointer-events:none}
.services-showcase:before{inset:0;opacity:.37;background-image:radial-gradient(circle at 18% 20%,transparent 0 42px,rgba(151,189,216,.18) 43px 44px,transparent 45px),linear-gradient(90deg,transparent 0 14%,rgba(151,189,216,.13) 14% 14.18%,transparent 14.18% 66%,rgba(151,189,216,.11) 66% 66.18%,transparent 66.18% 100%),linear-gradient(0deg,transparent 0 30%,rgba(151,189,216,.11) 30% 30.18%,transparent 30.18% 77%,rgba(151,189,216,.1) 77% 77.18%,transparent 77.18% 100%);background-size:410px 240px,320px 170px,320px 170px}
.services-showcase:after{width:52vw;height:52vw;right:-24vw;top:8%;border:1px solid rgba(151,189,216,.13);border-radius:50%;box-shadow:0 0 0 24px rgba(151,189,216,.04),0 0 0 70px rgba(151,189,216,.025)}
.services-showcase__decor{position:absolute;z-index:-1;top:48px;right:1%;width:300px;height:130px;color:#c4e7f4;opacity:.38;pointer-events:none}
.services-showcase__wires{display:block;width:100%;height:100%;filter:drop-shadow(0 0 7px rgba(185,222,237,.16))}
.services-showcase__cable-shadow{stroke:#071f2c;stroke-width:25;opacity:.45}
.services-showcase__cable-sheath{stroke:#77aabe;stroke-width:19}
.services-showcase__cable-highlight{stroke:#c9ecf7;stroke-width:2;opacity:.7}
.services-showcase__cable-collar{stroke:#c9ecf7;stroke-width:4;opacity:.9}
.services-showcase__core{stroke-width:5}
.services-showcase__core--live{stroke:#d0a077}
.services-showcase__core--neutral{stroke:#9fc8ea}
.services-showcase__core--earth{stroke:#a7d8a0}
.services-showcase__block{stroke:#c4e7f4;stroke-width:3;fill:rgba(16,47,64,.94)}
.services-showcase__block-rule{stroke:#c4e7f4;stroke-width:1.6;opacity:.4}
.services-showcase__screws{stroke:#c4e7f4;stroke-width:2}
.services-showcase__pulse{stroke:#ffe9a3;stroke-width:5.5;opacity:0;stroke-dasharray:14 260;animation:services-pulse 4.6s cubic-bezier(.4,0,.5,1) infinite}
.services-showcase__pulse--b{animation-delay:.45s}
.services-showcase__pulse--c{animation-delay:.9s}
@keyframes services-pulse{0%{stroke-dashoffset:274;opacity:0}6%{opacity:.95}46%{stroke-dashoffset:0;opacity:.95}54%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:0;opacity:0}}
.services-showcase__block-glow{stroke:#ffe9a3;stroke-width:3;fill:none;opacity:0;animation:services-block-glow 4.6s ease-in-out infinite}
@keyframes services-block-glow{0%,20%{opacity:0}30%{opacity:.5}44%{opacity:.14}54%{opacity:0}100%{opacity:0}}
.services-showcase__heading{max-width:700px;margin-bottom:45px}
.services-showcase .eyebrow{color:#97bdd8}
.services-showcase h2{margin:0 0 14px;font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.1;letter-spacing:-.035em}
.services-showcase__heading>p:last-child{margin:0;color:rgba(234,243,245,.75);font-size:1.07rem}
.service-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.service-category{position:relative;min-height:270px;padding:31px 32px 29px;border:1px solid rgba(217,239,247,.34);border-radius:34px;background:linear-gradient(126deg,rgba(231,248,255,.21) 0%,rgba(167,211,231,.11) 43%,rgba(255,255,255,.045) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(6,29,41,.15),0 17px 34px rgba(2,18,29,.16);backdrop-filter:blur(14px) saturate(122%);-webkit-backdrop-filter:blur(14px) saturate(122%);overflow:hidden;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.service-category:before{content:"";position:absolute;z-index:0;inset:1px 1px auto;height:44%;border-radius:33px 33px 52% 45%;background:linear-gradient(135deg,rgba(255,255,255,.17),transparent 68%);pointer-events:none}
.service-category:after{content:"";position:absolute;right:-39px;bottom:-56px;width:157px;height:157px;border:1px solid rgba(224,246,255,.23);border-radius:50%;box-shadow:0 0 0 15px rgba(197,232,245,.04);pointer-events:none}
.service-category:hover{transform:translateY(-3px);background:linear-gradient(126deg,rgba(231,248,255,.27) 0%,rgba(167,211,231,.15) 43%,rgba(255,255,255,.07) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(6,29,41,.12),0 22px 42px rgba(2,18,29,.22)}
.service-category__label{position:relative;z-index:1;margin:0 0 8px;color:#c6e9f6;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.service-category h3{position:relative;z-index:1;margin:0 0 10px;color:#fff;font-size:clamp(1.42rem,2.1vw,1.9rem);line-height:1.13;letter-spacing:-.025em}
.service-category>div>p:not(.service-category__label){position:relative;z-index:1;margin:0;color:rgba(242,249,252,.84)}
.service-category__list{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 0;padding:0;list-style:none}
.service-category__list li{padding:5px 10px;border:1px solid rgba(226,245,252,.27);border-radius:999px;background:rgba(5,31,45,.1);color:rgba(255,255,255,.9);font-size:.72rem;font-weight:700;line-height:1.3}
.services-contact{padding:43px 0;background:#092536;color:#fff}
.services-contact .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}
.services-contact .eyebrow{margin-bottom:5px;color:#97bdd8}
.services-contact h2{margin:0;font-size:clamp(1.55rem,2.8vw,2.35rem);line-height:1.15;letter-spacing:-.025em}
@media(prefers-reduced-motion:reduce){.services-intro__drop{animation:none;opacity:.55}.services-intro__ripple,.services-showcase__pulse,.services-showcase__block-glow{animation:none;opacity:0}}
@media(max-width:760px){.services-header .site-hero__top{min-height:105px}.services-intro{padding:42px 0 52px}.services-intro__decor{top:5px;right:-32px;width:150px;height:150px;opacity:.18}.services-showcase{padding:56px 0 62px}.services-showcase__decor{top:18px;right:-116px;opacity:.22}.services-showcase__heading{margin-bottom:30px}.service-categories{grid-template-columns:1fr;gap:14px}.service-category{min-height:0;padding:26px 23px 27px;border-radius:29px}.service-category:before{border-radius:28px 28px 52% 45%}.service-category h3{font-size:1.52rem}.service-category__list{margin-top:17px}.services-contact .wrap{align-items:flex-start;flex-direction:column;gap:20px}.services-contact{padding:39px 0 43px}}
/* ===== Gallery page ===== */
.gallery-intro h1{max-width:820px}
.project{padding:62px 0;background:#102f40;color:#eaf3f5;position:relative;isolation:isolate}
.project:nth-of-type(even){background:#0b2a3b}
.project .wrap{max-width:1180px}
.project .eyebrow{color:#97bdd8}
.project h2{margin:0 0 6px;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.12;letter-spacing:-.03em;color:#fff}
.project__where{margin:0 0 16px;font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#97bdd8}
.project__intro{max-width:720px;margin:0 0 34px;color:rgba(234,243,245,.8);font-size:1.05rem}
.job-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}
.job{margin:0;background:rgba(255,255,255,.05);border:1px solid rgba(226,245,252,.2);border-radius:16px;
 overflow:hidden;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.job:hover,.job:focus-visible{transform:translateY(-3px);border-color:rgba(226,245,252,.5);
 box-shadow:0 20px 38px rgba(2,18,29,.34);outline:none}
.job img{width:100%;height:215px;object-fit:cover;display:block;background:#061b26}
.job figcaption{padding:16px 18px 19px}
.job figcaption b{display:block;color:#fff;font-size:1.02rem;line-height:1.25;margin-bottom:6px}
.job__where{display:block;font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
 color:#c6e9f6;margin-bottom:8px}
.job figcaption span:not(.job__where){display:block;font-size:.9rem;color:rgba(242,249,252,.8)}
/* Feature pair: one uncropped portrait beside one landscape that carries the writing */
.job-pair{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 gap:22px;align-items:start}
.job.job--portrait img{height:auto;width:100%;aspect-ratio:3/4;object-fit:cover;background:#061b26}
.job.job--portrait figcaption{display:none}
@media(max-width:1020px){.job-pair{grid-column:span 1;grid-template-columns:1fr}}
.lightbox{position:fixed;inset:0;z-index:60;background:rgba(4,16,24,.94);display:none;
 align-items:center;justify-content:center;padding:40px 24px}
.lightbox.is-open{display:flex}
.lightbox__inner{max-width:1100px;width:100%;text-align:center}
.lightbox img{max-width:100%;max-height:70vh;object-fit:contain;border-radius:8px;display:block;margin:0 auto}
.lightbox__cap{margin:18px auto 0;max-width:760px;text-align:left;color:#eaf3f5}
.lightbox__cap b{display:block;font-size:1.15rem;margin-bottom:6px}
.lightbox__cap span{color:rgba(234,243,245,.8);font-size:.95rem}
.lightbox button{position:absolute;width:48px;height:48px;border-radius:50%;cursor:pointer;
 border:1px solid rgba(255,255,255,.42);background:rgba(0,0,0,.4);color:#fff;font-size:1.3rem;line-height:1}
.lightbox__close{top:22px;right:22px}
.lightbox__prev{left:20px;top:50%;transform:translateY(-50%)}
.lightbox__next{right:20px;top:50%;transform:translateY(-50%)}
.lightbox button:hover{background:rgba(255,255,255,.2)}
@media(max-width:760px){.project{padding:44px 0}.job img{height:190px}
 .lightbox{padding:16px}.lightbox__prev{left:8px}.lightbox__next{right:8px}
 .lightbox button{width:42px;height:42px}}

/* ===== Home hero slideshow ===== */
.site-hero__content{grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr);gap:48px}
.hero-slideshow{border:12px solid rgba(255,255,255,.76);background:rgba(2,13,20,.2);box-shadow:0 15px 36px rgba(0,0,0,.24)}
.hero-slideshow__stage{position:relative;overflow:hidden;background:#061b26;aspect-ratio:3/2}
.hero-slideshow__slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease}
.hero-slideshow__slide.is-on{opacity:1}
.hero-slideshow__slide img{width:100%;height:100%;object-fit:cover;display:block}
.hero-slideshow__band{position:relative;height:52px;display:flex;align-items:center;overflow:hidden;background:#092536}
.hero-slideshow__band:before,.hero-slideshow__band:after{content:"";position:absolute;top:0;bottom:0;width:34px;z-index:2;pointer-events:none}
.hero-slideshow__band:before{left:0;background:linear-gradient(90deg,#092536,transparent)}
.hero-slideshow__band:after{right:0;background:linear-gradient(270deg,#092536,transparent)}
.hero-slideshow__caption{position:absolute;left:0;right:0;white-space:nowrap;display:none}
.hero-slideshow__caption.is-on{display:block}
.hero-slideshow__text{display:inline-block;font-size:.92rem;color:rgba(255,255,255,.92);will-change:transform}
.hero-slideshow__text b{font-weight:700}
.hero-slideshow__sep{margin:0 9px;color:#9fd4ec}
.hero-slideshow__progress{height:3px;background:rgba(255,255,255,.18)}
.hero-slideshow__progress span{display:block;height:100%;background:#fff;width:0}
.hero-slideshow__controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px;padding:11px;background:#0b2a3b}
.hero-slideshow__controls button{appearance:none;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font:inherit;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:9px 16px;border-radius:99px;cursor:pointer;min-width:84px}
.hero-slideshow__controls button:hover{background:rgba(255,255,255,.14)}
.hero-slideshow__dots{display:flex;align-items:center;gap:7px;margin-left:6px}
.hero-slideshow__controls .hero-slideshow__dots button{width:9px;height:9px;min-width:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.34)}
.hero-slideshow__controls .hero-slideshow__dots button:hover{background:rgba(255,255,255,.7)}
.hero-slideshow__controls .hero-slideshow__dots button[aria-current=true]{background:#fff}
@keyframes hero-caption-across{from{transform:translateX(var(--from))}to{transform:translateX(var(--to))}}
@media(max-width:900px){.site-hero__content{grid-template-columns:1fr;gap:32px}}
@media(max-width:760px){.hero-slideshow{border-width:8px}.hero-slideshow__band{height:48px}.hero-slideshow__text{font-size:.85rem}
 .hero-slideshow__controls button{min-width:0;padding:9px 13px;font-size:.67rem}}
@media(prefers-reduced-motion:reduce){.hero-slideshow__slide{transition:none}
 .hero-slideshow__text{animation:none!important;transform:none!important;padding-left:24px;white-space:normal}
 .hero-slideshow__band{height:auto;min-height:52px;padding:10px 0}}

/* ===== Services: two-trades argument ===== */
.services-argument{padding:70px 0;background:#0b2a3b;color:#eaf3f5}
.services-argument .eyebrow{color:#97bdd8}
.services-argument h2{margin:0 0 30px;max-width:760px;font-size:clamp(1.6rem,2.8vw,2.4rem);
 line-height:1.14;letter-spacing:-.03em;color:#fff}
.services-argument__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
 gap:28px;margin-bottom:32px}
.services-argument__grid p{margin:0;color:rgba(234,243,245,.84);font-size:1rem;line-height:1.62;
 padding-top:18px;border-top:2px solid rgba(226,245,252,.28)}
@media(max-width:760px){.services-argument{padding:48px 0}}

/* ===== About: real photograph in place of the placeholder ===== */
.about-photo{margin:0;background:rgba(255,255,255,.06);border:1px solid rgba(226,245,252,.24);
 border-radius:18px;overflow:hidden}
.about-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#061b26}
.about-photo figcaption{padding:15px 18px 18px;font-size:.88rem;line-height:1.5;
 color:rgba(234,243,245,.8)}

/* ===== Home: recent work band ===== */
.recent-work__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
 gap:24px;margin-bottom:30px}
.recent-work__head>div{max-width:660px}
.recent-work__head h2{margin:0 0 10px}
.recent-work__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}
.recent-work__item{display:block;text-decoration:none;border-radius:14px;overflow:hidden;
 background:#0e2c3d;border:1px solid rgba(11,42,59,.16);transition:transform .18s ease,box-shadow .18s ease}
.recent-work__item:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(11,42,59,.2)}
.recent-work__item img{display:block;width:100%;height:170px;object-fit:cover}
.recent-work__item span{display:block;padding:12px 14px 14px;font-size:.88rem;font-weight:600;
 color:#eaf3f5;line-height:1.35}
@media(max-width:760px){.recent-work__item img{height:150px}}
