:root{--navy:#071923;--cyan:#007d92;--bright:#00b8cf;--muted:#5c707b;--line:#dce5e9;--soft:#f1f6f8;--font:'Inter',sans-serif;--display:'Exo 2',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--navy);background:#fff;font-family:var(--font);font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);line-height:1.1}h1{font-size:clamp(40px,4.9vw,73px);letter-spacing:-2.4px;font-weight:700;margin-bottom:26px}h2{font-size:clamp(30px,3.2vw,48px);letter-spacing:-1.3px;margin-bottom:24px}h3{font-size:23px;letter-spacing:-.35px}p{margin-bottom:20px}em{font-style:normal;color:var(--cyan)}.shell{width:min(1280px,calc(100% - 96px));margin-inline:auto}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--cyan);margin-bottom:20px}.eyebrow:before{content:'';display:inline-block;width:6px;height:6px;background:currentColor;margin-right:11px;vertical-align:2px}.lead{font-size:17px;line-height:1.75;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid var(--navy);background:var(--navy);color:#fff;font-size:13px;font-weight:600;padding:16px 22px;min-height:52px;transition:background .2s,transform .2s}.button:hover{background:var(--cyan);border-color:var(--cyan);transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--navy);border-color:#b6c7cf}.button.secondary:hover{background:var(--soft)}.actions{display:flex;gap:12px;flex-wrap:wrap}.text-link{font-size:13px;font-weight:600;color:var(--cyan);border-bottom:1px solid transparent;padding-bottom:4px}.text-link:hover{border-bottom-color:var(--cyan)}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:var(--navy);color:#fff;padding:12px}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--bright);outline-offset:4px}.review-banner{background:#e7f5f7;color:#22515a;text-align:center;font-size:10px;letter-spacing:.8px;padding:7px 12px}.review-banner span{margin:0 10px}.contact-strip{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding-block:10px}.contact-strip>div{display:flex;gap:23px}.site-header{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}.header-inner{display:flex;align-items:center;gap:30px;min-height:92px}.brand{display:flex;align-items:center;gap:8px;margin-right:auto}.brand img{width:67px;height:67px;object-fit:contain}.brand strong{font-family:var(--display);font-size:30px;line-height:1.1;display:block;letter-spacing:-1px}.brand small{font-size:8px;letter-spacing:1.8px;display:block;margin-top:4px}.site-header nav{display:flex;gap:25px;font-size:12px;font-weight:600;align-items:center}.site-header nav a{padding:10px 0;border-bottom:2px solid transparent}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--cyan);border-bottom-color:var(--bright)}.header-quote{background:var(--navy);color:#fff;padding:13px 18px;font-size:11px;white-space:nowrap}.header-quote span{margin-left:15px}.menu{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:580px;padding-block:55px 60px;gap:38px;align-items:center;animation:enter .5s ease-out}.hero-copy{padding:15px 0}.hero h1{font-size:clamp(40px,4.2vw,62px)}.hero .lead{font-size:15px;max-width:560px;margin-bottom:28px}.hero-image{position:relative;align-self:stretch;border:1px solid var(--line);padding:10px;display:flex;flex-direction:column;background:var(--navy);overflow:hidden}.hero-image>img{width:100%;height:100%;min-height:400px;object-fit:cover}.image-note{position:absolute;bottom:23px;left:24px;right:20px;color:#c3e8ec;font-size:9px;letter-spacing:1.1px}.square{width:6px;height:6px;background:var(--bright);display:inline-block;flex:0 0 6px}.hero-bottom{margin-top:38px;display:flex;gap:25px;font-size:9px;font-weight:600;letter-spacing:2px;color:var(--muted)}.service-ticker{background:var(--navy);color:#bed0d7}.service-ticker .shell{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-block:23px;font-family:var(--display);font-size:17px}.service-ticker i{color:var(--bright);font-style:normal}.section{padding-block:95px}.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:flex-end;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:380px;color:var(--muted);font-size:15px;margin-bottom:4px}.capability{display:grid;grid-template-columns:55px 1fr 290px;align-items:center;gap:32px;padding:30px 0;border-top:1px solid var(--line)}.capability:last-child{border-bottom:1px solid var(--line)}.number{font-family:var(--display);font-size:16px;color:var(--cyan);align-self:start}.capability .number{padding-top:4px}.capability h3{font-size:28px;margin-bottom:14px}.capability p{color:var(--muted);max-width:610px;font-size:14px}.capability img{height:155px;width:100%;object-fit:cover}.section-end{margin-top:30px;text-align:right}.shop-feature{background:var(--soft);padding-block:65px}.shop-feature-inner{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:90px}.shop-feature p:not(.eyebrow){max-width:550px;color:var(--muted)}.shop-feature-image{background:#fff;position:relative;min-height:315px;display:flex;align-items:center;justify-content:center}.shop-feature-image img{width:280px;height:280px;object-fit:contain}.shop-feature-image>span{font-size:8px;letter-spacing:1.4px;color:var(--muted);position:absolute;bottom:13px;left:20px}.why{display:grid;grid-template-columns:1.2fr .8fr;gap:110px}.benefits{margin-top:38px}.benefits article{display:flex;gap:20px;margin-bottom:25px}.benefits .square{margin-top:7px}.benefits h3{font-size:20px;margin-bottom:8px}.benefits p{font-size:14px;color:var(--muted);margin-bottom:0}.stat-panel{background:var(--navy);color:#d0e1e6;padding:48px;align-self:center}.stat-panel>.eyebrow{color:var(--bright)}.stat-panel>strong{font-family:var(--display);font-size:clamp(65px,7vw,110px);font-weight:600;line-height:1.3;color:#fff;letter-spacing:-5px}.stat-panel>strong>span{font-size:40px;color:var(--bright)}.stat-panel p{font-size:13px}.stat-panel hr{border:0;border-top:1px solid #29404b;margin:30px 0}.stat-panel>span{color:var(--bright);font-size:11px}.closing{background:#e9f6f8;border-top:1px solid #d2e7ed;padding:62px 0}.closing-inner{display:flex;justify-content:space-between;align-items:center;gap:60px}.closing-inner>div{max-width:790px}.closing h2{font-size:36px}.closing p:not(.eyebrow){color:var(--muted);margin-bottom:0;max-width:650px}.closing .button{flex-shrink:0}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1.15fr .75fr;gap:55px;padding-block:65px;color:#afc3cc}footer{background:var(--navy);font-size:12px}footer .eyebrow{color:#dbe7eb;font-size:10px}footer a:not(.footer-wordmark){display:block;margin-bottom:9px}footer a:hover{color:var(--bright)}.footer-wordmark{display:block;font-family:var(--display);font-size:37px;line-height:1.15;color:#fff;margin-bottom:20px;letter-spacing:-1px}.footer-wordmark>span{display:block;font-family:var(--font);font-size:8px;letter-spacing:2px;margin-top:8px}.footer-bottom{border-top:1px solid #293d47;color:#8fa8b4;display:flex;justify-content:space-between;padding-block:20px;font-size:10px}.page-intro{padding-block:75px 55px}.page-intro h1{max-width:920px}.page-intro .lead{max-width:740px}.service-index{display:flex;flex-wrap:wrap;gap:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:20px}.service-index a{font-size:11px;font-weight:600;padding:7px 10px;background:var(--soft)}.service-index a:hover{color:var(--cyan)}.service-details{padding-block:20px 70px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;padding-block:65px;border-bottom:1px solid var(--line)}.service-detail:nth-child(even)>.service-visual{order:2}.service-visual img{width:100%;aspect-ratio:1.3;object-fit:cover}.service-detail .lead{font-size:15px}.feature-label{font-family:var(--font);font-size:12px;font-weight:700;margin-top:30px}.feature-list{list-style:none;padding:0;margin:18px 0 26px;color:var(--muted);font-size:13px}.feature-list li{position:relative;padding-left:19px;margin-bottom:10px}.feature-list li:before{content:'+';position:absolute;left:0;color:var(--cyan);font-weight:700}.service-typography{background:var(--navy);color:#fff;aspect-ratio:1.3;display:flex;flex-direction:column;justify-content:space-between;padding:40px}.service-typography>span{font-size:70px;font-family:var(--display);color:var(--bright);line-height:1}.service-typography>strong{font-family:var(--display);font-size:40px;line-height:1.1}.service-typography>small{font-size:8px;letter-spacing:2px;color:#87a8b8}.projects{padding-bottom:65px}.project{margin-bottom:70px}.project-image{position:relative}.project-image>img{width:100%;height:410px;object-fit:cover}.project-image>span{position:absolute;bottom:20px;left:25px;font-size:10px;letter-spacing:2px;background:var(--navy);color:#fff;padding:11px 16px}.project-content{display:grid;grid-template-columns:1fr 1fr;gap:0 65px;padding-top:35px}.project-content .eyebrow,.project-content h2{grid-column:1}.project-content h2{grid-row:2 / 5;max-width:530px}.project-content .lead{grid-column:2;grid-row:1 / 3;font-size:15px}.project-content .feature-label,.project-content .feature-list{grid-column:2}.project-content .feature-label{margin-top:0}.profile-link{text-align:right}.additional-link{padding-block:23px;text-align:center;font-size:12px;font-weight:600;color:var(--cyan)}.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:15px}.about-intro img{width:100%;height:100%;object-fit:cover;max-height:620px}.about-intro .lead{font-size:16px}.about-intro p:not(.eyebrow){color:var(--muted)}.about-stats{display:flex;gap:65px;border-top:1px solid var(--line);padding-top:22px;margin-top:30px}.about-stats strong{font-family:var(--display);font-size:45px;line-height:1.2;color:var(--cyan);display:block}.about-stats span{font-size:11px;color:var(--muted)}.values{background:var(--soft)}.value-list article{display:grid;grid-template-columns:55px 1fr 1.1fr;gap:25px;align-items:start;padding-block:26px;border-top:1px solid #d1dfe5}.value-list h3{font-size:28px;margin:0}.value-list p{font-size:14px;color:var(--muted);margin:0}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;padding-top:20px}.contact-layout>div>p:not(.eyebrow){color:var(--muted)}.contact-item{padding-block:24px;border-bottom:1px solid var(--line)}.contact-item>span{font-size:9px;letter-spacing:1.4px;color:var(--cyan)}.contact-item h3{font-size:20px;margin:12px 0}.contact-item address{font-style:normal;font-size:14px;color:var(--muted);margin-bottom:10px}.contact-item>a{display:block;font-size:16px;overflow-wrap:anywhere}.contact-item>a.text-link{font-size:12px}.contact-form{background:var(--soft);padding:40px;align-self:start}.contact-form h2{font-size:32px;margin-bottom:12px}.contact-form>p:not(.eyebrow){color:var(--muted);font-size:12px}.contact-form label{font-size:12px;font-weight:600;display:block;margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}input,textarea{width:100%;border:1px solid #cbd9df;background:#fff;color:var(--navy);border-radius:0;padding:13px 14px;margin-top:8px;font-size:13px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#8799a3}.form-note{font-size:11px!important;font-weight:400;color:var(--muted);margin-top:17px}.shop-note{background:var(--soft);display:flex;gap:15px;padding:20px 25px;align-items:flex-start}.shop-note .square{margin-top:8px}.shop-note p{margin:0;font-size:12px;color:var(--muted)}.shop-note strong{color:var(--navy)}.catalog{display:grid;grid-template-columns:240px 1fr;gap:45px;padding-block:50px 85px}.filter-rail>label{font-size:12px;font-weight:600}.search-box{position:relative;margin-bottom:35px}.search-box>span{position:absolute;right:12px;top:15px;font-size:22px}.search-box input{padding-right:38px}.filters{display:flex;flex-direction:column;gap:7px}.filters button{border:0;text-align:left;font-size:12px;color:var(--muted);padding:12px 14px;background:transparent;display:flex;justify-content:space-between}.filters button[aria-pressed=true]{background:var(--navy);color:#fff}.filters button span{font-size:10px}.help-box{margin-top:40px;border:1px solid var(--line);padding:22px}.help-box .eyebrow{font-size:9px;margin-bottom:15px}.help-box h3{font-size:24px}.help-box p:not(.eyebrow){font-size:12px;color:var(--muted)}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:22px;font-size:12px}.catalog-toolbar p{margin:0;color:var(--muted)}.open-enquiry{background:#fff;border:1px solid var(--line);padding:9px 14px;font-size:11px}.open-enquiry span{background:var(--navy);color:#fff;font-size:10px;padding:2px 6px;margin-left:12px}.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.catalog-card{border:1px solid var(--line);overflow:hidden}.catalog-card[hidden]{display:none}.catalog-image{background:#fff;position:relative;padding:25px}.catalog-image>img{width:100%;height:220px;object-fit:contain}.catalog-card[data-category=networking] .catalog-image>img{object-fit:cover}.catalog-image>span{position:absolute;top:12px;left:14px;font-size:8px;background:var(--soft);padding:5px 8px;color:var(--muted);letter-spacing:.5px}.catalog-copy{padding:22px}.catalog-copy>.eyebrow{font-size:9px;margin-bottom:12px}.catalog-copy>h2{font-size:24px;letter-spacing:-.4px;min-height:53px;margin-bottom:14px}.catalog-copy>p{font-size:12px;color:var(--muted);min-height:42px}.catalog-copy details{font-size:10px;color:var(--muted);margin-bottom:15px}.catalog-copy summary{cursor:pointer}.catalog-copy details>p{margin-top:8px}.catalog-bottom{border-top:1px solid var(--line);padding-top:15px;display:flex;flex-direction:column;gap:13px}.catalog-bottom>span{font-size:11px;color:var(--muted)}.select-category{border:1px solid var(--navy);background:#fff;color:var(--navy);display:flex;justify-content:space-between;padding:11px 13px;font-size:11px;font-weight:600}.select-category:hover,.select-category[aria-pressed=true]{background:var(--navy);color:#fff}.empty-state{background:var(--soft);padding:45px;text-align:center}.empty-state h2{font-size:27px}.empty-state p{font-size:13px;color:var(--muted)}dialog{border:0;padding:30px;width:min(550px,calc(100% - 30px));max-height:85vh;color:var(--navy);box-shadow:0 20px 80px #07192344}dialog::backdrop{background:#07192399}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.dialog-heading .eyebrow{font-size:9px}.dialog-heading h2{font-size:30px}.dialog-heading button{border:0;background:var(--soft);width:35px;height:35px;font-size:25px}dialog>p{font-size:12px;color:var(--muted)}.enquiry-row{border-top:1px solid var(--line);padding:15px 0;display:flex;gap:20px;justify-content:space-between;font-size:13px}.enquiry-row>button{background:#fff;border:0;text-decoration:underline;color:var(--cyan);font-size:11px}#enquiry-email[hidden]{display:none}@keyframes enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){.hero h1{font-size:67px}}@media(max-width:1100px){.shell{width:calc(100% - 60px)}.header-inner{gap:20px}.site-header nav{gap:17px}.header-quote{display:none}.hero{gap:25px}.hero h1{font-size:48px}.why{gap:50px}.stat-panel{padding:35px}.footer-grid{gap:30px}.service-detail{gap:45px}.contact-layout{gap:45px}.catalog{grid-template-columns:205px 1fr;gap:25px}.catalog-grid{gap:15px}.catalog-copy{padding:18px}.catalog-image>img{height:190px}}@media(max-width:800px){.shell{width:calc(100% - 40px)}.contact-strip>span{display:none}.contact-strip{justify-content:center}.header-inner{min-height:79px;flex-wrap:wrap}.brand img{height:58px;width:58px}.brand strong{font-size:26px}.menu{display:block;background:transparent;border:1px solid var(--line);padding:9px 13px;font-size:12px}.menu span{margin-left:10px}.site-header nav{display:none;flex-basis:100%;padding:0 0 18px;flex-wrap:wrap;gap:10px 25px}.site-header nav.is-open{display:flex}.hero{grid-template-columns:1fr;padding-block:35px 40px;gap:25px;min-height:0}.hero h1{font-size:clamp(42px,7.4vw,60px)}.hero-copy{padding-top:10px}.hero .lead{max-width:650px}.hero-image{height:330px;min-height:0}.hero-image>img{min-height:0}.hero-bottom{margin-top:25px}.service-ticker .shell{flex-wrap:wrap;justify-content:center;gap:10px 20px;font-size:14px}.section{padding-block:60px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:550px;margin-top:20px}.capability{grid-template-columns:30px 1fr 180px;gap:18px}.capability img{height:145px}.capability h3{font-size:24px}.shop-feature-inner{gap:30px;grid-template-columns:1.2fr .8fr}.shop-feature-image img{width:210px;height:230px}.shop-feature-image{min-height:270px}.shop-feature h2{font-size:33px}.why{grid-template-columns:1fr;gap:35px}.stat-panel{max-width:550px}.stat-panel>strong{font-size:100px}.closing-inner{display:block}.closing .button{margin-top:28px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px;padding-block:50px}.footer-bottom{gap:15px;flex-wrap:wrap}.page-intro{padding-block:50px 30px}.service-detail{gap:35px;grid-template-columns:1fr;max-width:670px;margin:auto;padding-block:45px}.service-detail:nth-child(even)>.service-visual{order:0}.service-visual img{aspect-ratio:1.6}.service-typography{aspect-ratio:1.8}.project-image>img{height:310px}.project-content{display:block}.project-content h2{max-width:none}.project-content .feature-label{margin-top:25px}.about-intro{grid-template-columns:1fr;gap:35px}.about-intro img{max-height:400px}.value-list article{grid-template-columns:35px 1fr;gap:12px 20px}.value-list p{grid-column:2}.contact-layout{grid-template-columns:1fr;gap:40px}.catalog{grid-template-columns:1fr}.filter-rail{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px}.filter-rail>label{grid-column:1}.search-box{grid-column:1;grid-row:2;margin-bottom:0}.filter-rail>.eyebrow{grid-column:2;grid-row:1;margin:0}.filters{grid-column:2;grid-row:2 / 4;gap:0}.help-box{display:none}.catalog-grid{gap:20px}.catalog-copy>h2{min-height:0}}@media(max-width:500px){.shell{width:calc(100% - 32px)}.review-banner{font-size:8px;letter-spacing:.1px}.review-banner span{margin:0 4px}.contact-strip{font-size:9px}.contact-strip>div{gap:12px}.hero h1{font-size:41px;letter-spacing:-1.6px}.hero .eyebrow{font-size:9px;letter-spacing:1.3px}.hero-image{height:250px}.hero .lead{font-size:14px}.hero .button{padding:14px 18px;gap:20px;min-height:48px;font-size:12px}.hero-bottom{gap:18px;font-size:8px}.image-note{font-size:7px;left:18px}.service-ticker .shell{font-size:12px;gap:10px 12px}.service-ticker i:last-of-type{display:none}.service-ticker span:last-child{flex-basis:100%;text-align:center}.section{padding-block:48px}.capability{grid-template-columns:25px 1fr;gap:12px}.capability img{grid-column:2;width:100%;height:160px}.capability h3{font-size:25px}.capability p{font-size:13px}.shop-feature{padding-block:45px}.shop-feature-inner{grid-template-columns:1fr;gap:28px}.shop-feature-image{min-height:260px}.shop-feature-image img{width:240px;height:240px}.stat-panel{padding:30px}.stat-panel>strong{font-size:95px}.closing{padding-block:45px}.closing h2{font-size:31px}.footer-grid{gap:35px 25px;font-size:11px}.footer-grid>div:first-child{grid-column:1 / -1}.footer-grid>div:nth-child(3){grid-column:1 / -1;grid-row:3}.footer-bottom{font-size:9px}.page-intro h1{font-size:40px;letter-spacing:-1.5px}.page-intro .lead{font-size:15px}.service-index{gap:7px}.service-index a{font-size:10px}.service-detail h2{font-size:31px}.service-typography{padding:25px}.service-typography strong{font-size:30px}.service-typography>span{font-size:45px}.project-image>img{height:230px}.project-image>span{font-size:8px;left:15px;padding:8px 10px}.project{margin-bottom:45px}.project-content h2{font-size:31px}.about-stats{gap:50px}.about-stats strong{font-size:39px}.contact-form{padding:25px}.form-row{grid-template-columns:1fr;gap:0}.contact-form h2{font-size:29px}.filter-rail{display:block}.search-box{margin-bottom:22px}.filters{flex-direction:row;flex-wrap:wrap;gap:5px}.filters button{font-size:10px;padding:10px}.filters button span{margin-left:12px}.filter-rail>.eyebrow{margin-bottom:12px}.catalog{padding-top:30px}.catalog-grid{grid-template-columns:1fr;gap:20px}.catalog-image>img{height:240px}.catalog-copy{padding:22px}.catalog-copy>p{min-height:0}.catalog-copy>h2{font-size:26px}.shop-note{padding:17px}.shop-note p{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Modern editorial image integration — preserve real product pixels. */
.immersive-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--navy);
  color: #fff;
}
.immersive-hero .hero-image {
  position: absolute;
  inset: 0;
  z-index: -2;
  border: 0;
  padding: 0;
  height: auto;
  display: block;
  background: var(--navy);
}
.immersive-hero .hero-image > img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: 70% center;
}
.immersive-hero .hero-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #071923 2%, #071923ee 30%, #071923a6 51%, #07192312 80%),
              linear-gradient(0deg, #07192377, transparent 35%);
}
.immersive-hero .hero {
  display: flex;
  position: relative;
  min-height: 625px;
  padding-block: 75px;
  gap: 0;
}
.immersive-hero .hero-copy { max-width: 680px; }
.immersive-hero h1 { font-size: clamp(43px, 4.5vw, 67px); }
.immersive-hero em,
.immersive-hero .eyebrow { color: #4de3ef; }
.immersive-hero .lead { color: #c3d6df; max-width: 565px; }
.immersive-hero .hero-bottom { color: #b2cbd5; }
.immersive-hero .button:not(.secondary) {
  background: #39d3df;
  border-color: #39d3df;
  color: #071923;
}
.immersive-hero .button:not(.secondary):hover { background: #79edf4; }
.immersive-hero .button.secondary {
  border-color: #b9d3dd66;
  color: #fff;
  background: #07192333;
}
.immersive-hero .button.secondary:hover { background: #ffffff14; }
.immersive-hero .image-note {
  left: auto;
  right: 0;
  bottom: 24px;
  font-size: 8px;
  color: #d2e5eb;
}
.service-ticker { border-top: 1px solid #b0e8f121; }
.capability {
  position: relative;
  isolation: isolate;
  grid-template-columns: 48px 1fr;
  min-height: 250px;
  padding-block: 42px;
  gap: 24px;
  overflow: hidden;
}
.capability-copy { position: relative; z-index: 1; max-width: 54%; }
.capability-copy p { max-width: 490px; }
.capability-media {
  position: absolute;
  inset: 0 0 0 auto;
  width: 49%;
  z-index: -1;
}
.capability-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  object-position: center;
}
.capability-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #fff 0%, #ffffffeb 12%, #ffffff33 38%, #ffffff00 68%);
}
.shop-feature { background: #eef5f7; }
.shop-feature-image {
  background: transparent;
  min-height: 340px;
  padding: 22px 20px;
}
.shop-feature-image img {
  width: min(340px, 100%);
  height: 305px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.shop-feature-image > span { bottom: 3px; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.service-detail {
  background: #f2f6f8;
  border: 0;
  border-radius: 20px;
  overflow: hidden;
  padding: 0;
  gap: 38px;
  margin: 45px 0;
  align-items: stretch;
}
.service-detail > div:last-child { padding: 42px 42px 42px 0; align-self: center; }
.service-detail:nth-child(even) > div:last-child { padding: 42px 0 42px 42px; }
.service-visual { position: relative; min-height: 480px; }
.service-visual img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
.service-visual:has(img)::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 60%, #f2f6f8 100%);
  pointer-events: none;
}
.service-detail:nth-child(even) .service-visual:has(img)::after {
  background: linear-gradient(270deg, transparent 60%, #f2f6f8 100%);
}
.service-typography { aspect-ratio: auto; height: 100%; min-height: 480px; }
.project { background: #f2f6f8; border-radius: 20px; overflow: hidden; }
.project-image { overflow: hidden; }
.project-image > img { height: 470px; }
.project-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, #07192394, transparent 48%);
  pointer-events: none;
}
.project-image > span {
  z-index: 1;
  background: transparent;
  font-weight: 600;
  bottom: 28px;
  left: 40px;
  padding: 0;
  text-shadow: 0 1px 6px #071923;
}
.project-content { padding: 42px; gap: 0 50px; }
.about-intro { gap: 45px; align-items: stretch; }
.about-intro > div:first-child { position: relative; overflow: hidden; border-radius: 20px; background: #f2f6f8; }
.about-intro > div:first-child img { min-height: 100%; }
.about-intro > div:first-child::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(0deg, #07192322, transparent 55%);
}
.catalog-card { border: 0; border-radius: 18px; background: #f1f5f7; }
.catalog-image { padding: 30px; background: transparent; }
.catalog-image > img { height: 235px; mix-blend-mode: multiply; }
.catalog-image > span { background: #ffffffb8; border-radius: 20px; padding: 5px 10px; }
.catalog-card[data-category=networking] .catalog-image { padding: 0; }
.catalog-card[data-category=networking] .catalog-image > img {
  height: 295px;
  mix-blend-mode: normal;
  object-fit: cover;
}
.catalog-card[data-category=networking] .catalog-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, #f1f5f7 0%, #f1f5f733 20%, transparent 45%);
  pointer-events: none;
}
.catalog-image > span { z-index: 1; }
.catalog-copy { padding: 25px; }
.catalog-bottom { border-color: #d3e0e6; }
.select-category { border-radius: 7px; background: #ffffff99; }
@media (max-width: 1100px) {
  .immersive-hero .hero { min-height: 570px; }
  .immersive-hero .hero-copy { max-width: 620px; }
  .immersive-hero h1 { font-size: 57px; }
  .capability-copy { max-width: 56%; }
  .service-detail { gap: 20px; }
  .service-detail > div:last-child { padding: 30px 30px 30px 0; }
  .service-detail:nth-child(even) > div:last-child { padding: 30px 0 30px 30px; }
}
@media (max-width: 800px) {
  .immersive-hero .hero { min-height: 600px; padding-block: 55px 80px; }
  .immersive-hero .hero-copy { max-width: 600px; }
  .immersive-hero h1 { font-size: clamp(43px, 7.4vw, 60px); }
  .immersive-hero .hero-image > img { object-position: 75% center; }
  .immersive-hero .hero-image::after {
    background: linear-gradient(90deg, #071923f5 0%, #071923da 45%, #07192375 100%);
  }
  .immersive-hero .image-note { left: 0; right: auto; bottom: 25px; font-size: 8px; }
  .capability { grid-template-columns: 28px 1fr; gap: 18px; min-height: 250px; }
  .capability-copy { max-width: 64%; }
  .capability-media { width: 48%; }
  .capability-media::after { background: linear-gradient(90deg, #fff 0%, #ffffffed 28%, #ffffff11 90%); }
  .service-detail { margin: 35px auto; gap: 0; max-width: 670px; }
  .service-visual { min-height: 0; height: 290px; }
  .service-visual:has(img)::after,
  .service-detail:nth-child(even) .service-visual:has(img)::after {
    background: linear-gradient(0deg, #f2f6f8 0%, #f2f6f800 32%);
  }
  .service-detail > div:last-child,
  .service-detail:nth-child(even) > div:last-child { padding: 26px 32px 32px; }
  .service-typography { min-height: 0; height: 290px; }
  .project-image > img { height: 340px; }
  .project-image > span { left: 28px; }
  .project-content { padding: 30px; }
  .about-intro > div:first-child { max-height: 400px; }
  .catalog-image > img { height: 215px; }
  .catalog-card[data-category=networking] .catalog-image > img { height: 275px; }
}
@media (max-width: 500px) {
  .immersive-hero .hero { min-height: 570px; padding-block: 45px 65px; }
  .immersive-hero h1 { font-size: 41px; }
  .immersive-hero .lead { font-size: 14px; }
  .immersive-hero .hero-image::after {
    background: linear-gradient(90deg, #071923f7, #071923bf), linear-gradient(0deg, #071923, transparent 65%);
  }
  .immersive-hero .image-note { font-size: 7px; letter-spacing: .5px; bottom: 20px; }
  .capability { min-height: 0; grid-template-columns: 24px 1fr; gap: 12px; padding-block: 27px 0; }
  .capability-copy { max-width: none; }
  .capability-media { position: relative; inset: auto; grid-column: 1 / -1; width: 100%; height: 160px; }
  .capability-media img { height: 100%; }
  .capability-media::after { background: linear-gradient(180deg, #fff 0%, #ffffff66 25%, transparent 65%); }
  .shop-feature-image { min-height: 300px; padding-block: 5px 25px; }
  .shop-feature-image img { width: 285px; height: 270px; }
  .service-detail { border-radius: 14px; }
  .service-visual, .service-typography { height: 230px; }
  .service-detail > div:last-child,
  .service-detail:nth-child(even) > div:last-child { padding: 20px 24px 28px; }
  .project { border-radius: 14px; }
  .project-image > img { height: 255px; }
  .project-image > span { left: 24px; bottom: 24px; font-size: 8px; }
  .project-content { padding: 26px 24px; }
  .catalog-image > img { height: 250px; }
  .catalog-card[data-category=networking] .catalog-image > img { height: 310px; }
}

.project-disclaimer {
  position: absolute;
  z-index: 1;
  right: 40px;
  bottom: 28px;
  color: #fff;
  font-size: 9px;
  letter-spacing: .5px;
  text-shadow: 0 1px 6px #071923;
}
@media (max-width: 800px) {
  .project-disclaimer { right: 28px; }
}
@media (max-width: 500px) {
  .project-disclaimer { left: 24px; right: auto; bottom: 12px; font-size: 7px; }
  .project-image > span { bottom: 30px; }
}

/* Industry-specific service and project narratives. */
.sector-context {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  margin-block: 24px 35px;
  padding: 20px 24px;
  background: #f1f6f8;
}
.sector-context .square { margin-top: 7px; }
.sector-context p { margin: 0; font-size: 12px; line-height: 1.75; color: var(--muted); }
.refined-service { row-gap: 0; }
.refined-service > .service-visual { grid-column: 1; grid-row: 1; order: 0; }
.refined-service > .service-summary { grid-column: 2; grid-row: 1; padding: 42px 42px 42px 0; }
.refined-service:nth-child(even) > .service-visual { grid-column: 2; order: 0; }
.refined-service:nth-child(even) > .service-summary { grid-column: 1; padding: 42px 0 42px 42px; }
.refined-service .service-visual { overflow: hidden; }
.refined-service .service-visual img { position: absolute; inset: 0; }
.refined-service > .service-depth,
.refined-service:nth-child(even) > .service-depth {
  grid-column: 1 / -1;
  grid-row: 2;
  padding: 38px 42px 42px;
  align-self: stretch;
  border-top: 1px solid #d9e4e9;
  background: #f7fafb;
}
.service-depth { display: grid; grid-template-columns: .8fr 1.2fr; gap: 30px 55px; }
.service-depth h3 { font-size: 23px; letter-spacing: -.4px; margin-bottom: 18px; }
.service-depth p { color: var(--muted); font-size: 14px; line-height: 1.85; }
.technical-scope > p { max-width: 440px; margin-bottom: 0; }
.industry-row { padding-block: 18px; border-top: 1px solid #dce5e9; }
.industry-row:first-of-type { padding-top: 0; border: 0; }
.industry-row:last-of-type { padding-bottom: 0; }
.industry-row h4 { font-family: var(--font); font-size: 12px; line-height: 1.5; margin: 0 0 9px; color: var(--cyan); font-weight: 700; }
.industry-row p { margin: 0; font-size: 13px; }
.planning-note { grid-column: 1 / -1; border-top: 1px solid #dce5e9; padding-top: 25px; }
.planning-note h3 { font-family: var(--font); font-size: 12px; letter-spacing: 0; margin-bottom: 10px; }
.planning-note p { margin: 0; max-width: 950px; font-size: 12px; }
.refined-project .project-content { gap: 35px 55px; }
.project-heading { grid-column: 1; }
.project-summary { grid-column: 2; }
.refined-project .project-heading h2 { max-width: 500px; }
.refined-project .project-summary .lead { margin-bottom: 24px; }
.refined-project .project-summary .feature-label { margin-top: 0; }
.refined-project .project-summary .feature-list { margin-bottom: 0; }
.project-narrative { grid-column: 1 / -1; border-top: 1px solid #d6e2e8; padding-top: 10px; }
.project-narrative-row { display: grid; grid-template-columns: .65fr 1.35fr; gap: 45px; padding-block: 25px; border-bottom: 1px solid #d6e2e8; }
.project-narrative-row:last-child { border-bottom: 0; padding-bottom: 0; }
.project-narrative-row h3 { font-size: 24px; margin: 0; }
.project-narrative-row p { color: var(--muted); font-size: 14px; line-height: 1.85; margin: 0; }
.related-services { grid-column: 1 / -1; padding-top: 24px; border-top: 1px solid #d6e2e8; }
.related-services h3 { font-family: var(--font); font-size: 12px; letter-spacing: 0; margin-bottom: 18px; }
.related-services > div { display: flex; flex-wrap: wrap; gap: 12px 28px; }
.related-services .text-link { font-size: 12px; }
@media (max-width: 1100px) {
  .refined-service > .service-summary { padding: 32px 30px 32px 0; }
  .refined-service:nth-child(even) > .service-summary { padding: 32px 0 32px 30px; }
  .refined-service > .service-depth,
  .refined-service:nth-child(even) > .service-depth { padding: 32px 30px; }
  .service-depth { gap: 25px 35px; }
}
@media (max-width: 800px) {
  .refined-service > .service-visual,
  .refined-service:nth-child(even) > .service-visual { grid-column: 1; grid-row: 1; }
  .refined-service > .service-summary,
  .refined-service:nth-child(even) > .service-summary { grid-column: 1; grid-row: 2; padding: 26px 32px 32px; }
  .refined-service > .service-depth,
  .refined-service:nth-child(even) > .service-depth { grid-column: 1; grid-row: 3; padding: 30px 32px; }
  .service-depth { display: block; }
  .technical-scope > p { max-width: none; }
  .industry-applications { margin-top: 28px; }
  .planning-note { margin-top: 25px; }
  .refined-project .project-content { display: block; }
  .project-summary { margin-top: 26px; }
  .project-narrative { margin-top: 30px; }
  .project-narrative-row { grid-template-columns: .7fr 1.3fr; gap: 25px; }
  .related-services { margin-top: 30px; }
}
@media (max-width: 500px) {
  .sector-context { padding: 18px; margin-bottom: 24px; gap: 12px; }
  .sector-context p { font-size: 11px; }
  .refined-service > .service-summary,
  .refined-service:nth-child(even) > .service-summary { padding: 20px 24px 28px; }
  .refined-service > .service-depth,
  .refined-service:nth-child(even) > .service-depth { padding: 26px 24px; }
  .service-depth h3 { font-size: 22px; }
  .service-depth p { font-size: 13px; }
  .planning-note h3 { font-size: 12px; }
  .planning-note p { font-size: 11px; }
  .project-narrative-row { display: block; padding-block: 22px; }
  .project-narrative-row h3 { margin-bottom: 13px; font-size: 23px; }
  .project-narrative-row p { font-size: 13px; }
}

/* Supplied Johannesburg TVET project photograph: no crop or image overlay. */
.real-project-image { margin: 0; background: var(--navy); }
.real-project-image > img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain;
}
.real-project-image::after { display: none; }
.real-project-image figcaption {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 20px 40px;
  color: #d6e8ee;
}
.real-project-image figcaption > span { font-size: 10px; letter-spacing: 1.5px; }
.real-project-image figcaption > small { font-size: 11px; color: #aecbd6; }
@media (max-width: 800px) {
  .real-project-image figcaption { padding: 20px 28px; flex-wrap: wrap; }
}
@media (max-width: 500px) {
  .real-project-image figcaption { padding: 17px 24px; gap: 8px; }
  .real-project-image figcaption > span { font-size: 9px; }
  .real-project-image figcaption > small { font-size: 10px; }
}

/* Riverton project gallery: original proportions, no cut-off installation details. */
.riverton-media { background: var(--navy); padding: 35px 32px 25px; }
.gallery-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; color: #aecbd6; margin-bottom: 23px; }
.gallery-heading .eyebrow { margin: 0; color: #4de3ef; }
.gallery-heading > p:last-child { margin: 0; font-size: 11px; }
.riverton-gallery { columns: 3; column-gap: 20px; }
.riverton-gallery figure { margin: 0 0 20px; break-inside: avoid; background: #102936; border-radius: 10px; overflow: hidden; }
.riverton-gallery a { display: block; }
.riverton-gallery img { width: 100%; height: auto; object-fit: contain; }
.riverton-gallery figcaption { color: #d1e3ea; font-size: 11px; line-height: 1.7; padding: 15px 18px; display: flex; justify-content: space-between; gap: 14px; }
.riverton-gallery figcaption span { color: #4de3ef; flex-shrink: 0; }
.gallery-note { color: #9ebbc8; font-size: 10px; line-height: 1.8; margin: 5px 0 0; max-width: 850px; }
@media (max-width: 1000px) {
  .riverton-gallery { columns: 2; }
  .gallery-heading { display: block; }
  .gallery-heading > p:last-child { margin-top: 10px; }
}
@media (max-width: 600px) {
  .riverton-media { padding: 25px 20px 20px; }
  .riverton-gallery { columns: 1; }
  .gallery-heading .eyebrow { font-size: 10px; }
  .riverton-gallery figcaption { padding: 14px 16px; }
}

/* Kimberley fibre installation: full-frame landscape photo pair. */
.fibre-gallery { columns: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
.fibre-gallery figure { margin: 0; }
@media (max-width: 700px) {
  .fibre-gallery { grid-template-columns: 1fr; }
}

/* Structured project case studies. */
.case-study { grid-column: 1 / -1; border-top: 1px solid #d6e2e8; padding-top: 30px; }
.case-study-heading { display: flex; justify-content: space-between; gap: 30px; align-items: flex-end; margin-bottom: 22px; }
.case-study-heading .eyebrow { font-size: 10px; margin-bottom: 12px; }
.case-study-heading h3 { font-size: 29px; line-height: 1.2; max-width: 650px; margin: 0; }
.case-study-heading > a { flex-shrink: 0; font-size: 11px; }
.case-study-row { display: grid; grid-template-columns: .65fr 1.35fr; gap: 45px; padding: 24px 0; border-top: 1px solid #dce6eb; }
.case-study-row h4 { font-family: var(--font); margin: 0; font-size: 13px; line-height: 1.6; font-weight: 700; }
.case-study-row h4 > span { color: var(--cyan); font-size: 10px; margin-right: 13px; }
.case-study-row > p { margin: 0; font-size: 14px; line-height: 1.85; color: var(--muted); }
.case-study-row:last-child { background: #e8f3f5; padding: 24px; margin-inline: -24px; border: 0; border-radius: 6px; }
.case-evidence { color: var(--muted); margin: 19px 0 0; font-size: 11px; line-height: 1.85; }
.case-evidence strong { color: var(--navy); }
.project-context { grid-column: 1 / -1; border-block: 1px solid #d6e2e8; }
.project-context summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 21px 0; font-size: 12px; font-weight: 600; cursor: pointer; list-style: none; }
.project-context summary::-webkit-details-marker { display: none; }
.project-context summary span { color: var(--cyan); font-size: 22px; line-height: 1; transition: transform .2s; }
.project-context[open] summary span { transform: rotate(45deg); }
.project-context summary:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
.project-context .project-narrative { border: 0; margin-top: 0; padding: 0 0 25px; }
@media (max-width: 800px) {
  .case-study { margin-top: 30px; }
  .case-study-heading { display: block; }
  .case-study-heading > a { display: inline-block; margin-top: 18px; }
  .case-study-row { grid-template-columns: .7fr 1.3fr; gap: 25px; }
  .project-context { margin-top: 28px; }
}
@media (max-width: 500px) {
  .case-study-heading h3 { font-size: 25px; }
  .case-study-row { display: block; padding-block: 22px; }
  .case-study-row h4 { margin-bottom: 12px; }
  .case-study-row > p { font-size: 13px; }
  .case-study-row:last-child { padding: 20px 16px; margin-inline: -16px; }
  .case-evidence { font-size: 10px; }
  .project-context summary { font-size: 11px; }
}
