/* A centered contact group with independent space for each outer group. */
body .topline .topline-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}
body .topline .topline-branding{justify-self:start;white-space:normal}
body .topline .topline-contact{display:flex!important;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px 14px}
.topline .hp-socials{display:flex;justify-self:end;justify-content:flex-end;align-items:center;gap:4px}
.topline .hp-socials>a,.topline .hp-socials>.social-pending{display:inline-grid;place-items:center;width:26px;height:30px}
.topline .hp-socials .social-pending{color:#c7c4b9}.topline .hp-socials a:focus-visible{outline:2px solid #ffdc8a;outline-offset:-2px}
.topline .hp-socials svg{width:17px;height:17px;fill:currentColor}
body .section-banner{background:linear-gradient(115deg,#101b29,#19374c 75%,#21435a);border-bottom:3px solid #ce9c47;color:white;padding:clamp(24px,3.7vw,62px) 0}
.section-banner .banner-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,5vw,78px);align-items:center}
.section-banner .eyebrow{color:#ffd185;letter-spacing:.09em}.section-banner h1{color:#fff;margin:.22em 0;font:clamp(32px,4.4vw,68px)/1.07 Georgia,serif;overflow-wrap:anywhere}.section-banner .banner-copy>p{color:#e1eaf0;font-size:clamp(15px,1.2vw,19px);line-height:1.68;max-width:57ch;margin:0}
.section-banner .banner-image{width:100%;height:auto;aspect-ratio:1.9;object-fit:cover;border-radius:18px 4px 18px 4px;box-shadow:5px 5px 0 #c09046;display:block}
.section-banner .catalog-breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 0;color:#e1eaf0}.section-banner .catalog-breadcrumbs a{color:#ffe0aa}
body .landing-body{background:linear-gradient(#f4f5f3,#fff 450px);padding-block:clamp(26px,4vw,64px)}
.landing-body :is(.catalog-sector,.project-card,.catalog-choice-card,.split>.card){border:1px solid #dce2e5;background:#fff;border-radius:14px;box-shadow:0 6px 20px #1b30430a}
.landing-body .catalog-sector{padding:clamp(15px,2vw,32px);margin-bottom:22px}.landing-body .catalog-sector-heading{border-inline-start:3px solid #c38d39;padding-inline-start:14px;margin-bottom:18px}
.landing-body .catalog-choice-grid,.landing-body .catalog-cards{gap:clamp(12px,1.7vw,24px)}.landing-body .catalog-choice-card,.landing-body .catalog-card{display:flex;flex-direction:column;align-items:start;gap:8px;padding:clamp(15px,1.7vw,26px)}
.landing-body :is(.catalog-card-image,.catalog-choice-image){width:100%;aspect-ratio:16/8;object-fit:contain;background:#f4f6f8;border-radius:6px}.landing-body .catalog-choice-meta,.landing-body .catalog-details-button{margin-top:auto}
.landing-body .project-media{margin:0;background:#f2f4f6}.landing-body .project-card{overflow:hidden}.landing-body .project-card-body{padding:clamp(15px,2vw,28px)}
.landing-body .split>.card{padding:clamp(18px,3vw,38px);border-top:3px solid #d5ab5d}.landing-body .split>.card p+p{padding-top:14px;border-top:1px solid #e7e3dd}
body .footer.hp-foot{background:url('footer-network.svg') center/100% 100% no-repeat,linear-gradient(115deg,#fbf6e9,#f7f8f7 54%,#eff4f5)!important;color:#283b47!important;border-top:2px solid #cba35c!important}
body .footer.hp-foot::before,body .footer.hp-foot::after{content:none!important}
body .footer.hp-foot .footer-group h4,body .footer.hp-foot .footer-company .footer-hotline strong{color:#76541f!important;border-color:#d6c6a6!important}
body .footer.hp-foot .footer-group .footer-links a,body .footer.hp-foot .footer-grid a,body .footer.hp-foot .footer-company .footer-hotline a,body .footer.hp-foot .footer-grid p,body .footer.hp-foot .footer-company-name,body .footer.hp-foot .copyright{color:#2c3c46!important}
body .footer.hp-foot .footer-group{border-color:#d5c8b1!important}
body .footer.hp-foot .copyright{background:transparent!important;border-color:#d6c6a6!important}
body .footer.hp-foot a:focus-visible{outline:2px solid #8d6722;outline-offset:2px}
@media(max-width:850px){body .topline .topline-inner{grid-template-columns:1fr auto;gap:0 8px;padding-block:4px}.topline .hp-socials{grid-column:2;grid-row:1}.topline .topline-contact{grid-column:1/-1;grid-row:2}}
@media(max-width:640px){.section-banner .banner-grid{grid-template-columns:1fr}.section-banner .banner-image{aspect-ratio:2.05}.section-banner h1{line-height:1.18}.topline .hp-socials{gap:0}.topline .hp-socials>a,.topline .hp-socials>.social-pending{width:24px}.topline .hp-socials svg{width:15px;height:15px}body .footer.hp-foot{background-size:auto 100%,cover!important;background-repeat:repeat-x,no-repeat!important}}

/* A pale overlay keeps the existing circuit drawing behind the footer copy. */
body .footer.hp-foot{background:linear-gradient(100deg,#fffdf5d9,#fffefae6 65%,#f5f8fad9),url('footer-network.svg') center/cover no-repeat,#f6f4eb!important}
body .footer.hp-foot .container.footer-grid{padding-block:22px 16px!important}
body .footer.hp-foot .container.copyright{min-height:34px!important;padding-block:8px!important}
body .footer.hp-foot{padding-bottom:0!important}
body .footer.hp-foot .footer-group h4{color:#54390d!important;font-weight:700}
body .footer.hp-foot .footer-grid a{color:#1d303d!important;font-weight:600}
.talk-page{background:linear-gradient(125deg,#fcf1d9,#faf9f4 48%,#edf2f5);padding:clamp(26px,5vw,74px) 0}
.talk-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.22fr);align-items:start;gap:clamp(24px,6vw,96px)}
.talk-intro h1{font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.12;margin:12px 0 20px;color:#1d2931}
.talk-intro>p{max-width:48ch;color:#374955}
.talk-intro address{font-style:normal;border-top:1px solid #cabfa6;margin-top:28px;padding-top:16px}
.talk-intro address div{display:grid;gap:2px;margin:10px 0 18px}
.talk-intro strong{color:#71501c}.talk-intro a{color:#172e40;text-underline-offset:4px;overflow-wrap:anywhere}
.talk-form{scroll-margin-top:110px;border:1px solid #ded6c7;border-top:3px solid #bf8b33;background:#fff;border-radius:16px;padding:clamp(17px,3vw,40px);box-shadow:0 8px 26px #2d292008}
.talk-form h2{margin:0 0 18px;font-size:clamp(1.35rem,2vw,2rem)}
@media(max-width:760px){.talk-layout,.talk-form .form-grid{grid-template-columns:1fr}.talk-intro address{display:flex;flex-wrap:wrap;gap:0 24px}}

.client-identity{display:flex;align-items:center;gap:14px;min-width:0;text-align:start}
.client-identity .client-copy{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}
.client-identity .client-copy small{font-size:.76rem;color:#59646b}
.client-identity .client-copy strong+small{margin-top:5px}
.client-identity .client-copy a{color:#27495e;text-decoration:underline;text-underline-offset:3px}
body .client-identity img.client-mark{width:56px;height:56px;flex:0 0 56px;object-fit:contain;border-radius:8px}

/* Motifs sit on the image side so the introductory copy stays readable. */
body .section-banner[class*=" banner-"]{
  position:relative;isolation:isolate;overflow:hidden;background:var(--paper);color:#23343b;
  border-bottom:1px solid var(--edge)
}
.section-banner[class*=" banner-"]::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:var(--motif) right center/auto 100% no-repeat;
  mask-image:linear-gradient(90deg,transparent 23%,#000 68%)
}
.banner-products{--paper:linear-gradient(112deg,#fffbf1,#f4f0e3 62%,#f5e3c1);--edge:#bf974c;--motif:url('motif-products.svg')}
.banner-solutions{--paper:linear-gradient(115deg,#f8fbfa,#ecf4ef 64%,#dcebe4);--edge:#739688;--motif:url('motif-solutions.svg')}
.banner-services{--paper:linear-gradient(112deg,#fffaf4,#f8eee2 62%,#f5dfcc);--edge:#c28c60;--motif:url('motif-services.svg')}
.banner-our-work{--paper:linear-gradient(112deg,#fffbf7,#f1ebe4 62%,#e4dbd1);--edge:#ad8b6a;--motif:url('motif-our-work.svg')}
.banner-about{--paper:linear-gradient(112deg,#fffdf5,#f0f2ec 62%,#e2e9ea);--edge:#91a4ac;--motif:url('motif-about.svg')}
.section-banner[class*=" banner-"] h1{color:#192b35}.section-banner[class*=" banner-"] .eyebrow{color:#795119}
.section-banner[class*=" banner-"] :is(.banner-copy>p,.catalog-breadcrumbs){color:#3d505a}
.section-banner[class*=" banner-"] .catalog-breadcrumbs a{color:#714d20}
.gallery-frame{min-width:0;position:relative;border:1px solid var(--edge);padding:5px;background:#fffdf8;box-shadow:0 10px 30px #33251314;border-radius:16px}
.gallery-window{position:relative;aspect-ratio:4 / 3;overflow:hidden;border-radius:inherit;background:#f4f5f4}
.gallery-photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;animation:var(--entry) .85s ease-out both}
.gallery-frame [hidden]{display:none!important}
.banner-products .gallery-frame{border-radius:16px 4px;box-shadow:4px 4px 0 #dec697;--entry:gallery-slide}
.banner-solutions .gallery-frame{border-radius:26px 6px 26px 6px;border:3px double var(--edge);--entry:gallery-reveal}
.banner-services .gallery-frame{border-radius:8px 20px 8px 8px;border-bottom:4px solid var(--edge);--entry:gallery-rise}
.banner-our-work .gallery-frame{padding:8px;border-radius:4px;box-shadow:3px 4px 0 #d5c5b4;--entry:gallery-fade}
.banner-about .gallery-frame{border-radius:24px;border-inline-start:4px solid var(--edge);--entry:gallery-zoom}
.gallery-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding-top:5px;color:#35434a;font:600 .78rem system-ui}
.gallery-controls button{min-width:32px;min-height:32px;border:1px solid #d6d5cd;background:white;color:#263c48;border-radius:7px;cursor:pointer}
@keyframes gallery-slide{from{opacity:.2;transform:translateX(7%)}}
@keyframes gallery-reveal{from{clip-path:inset(0 95% 0 0)}to{clip-path:inset(0)}}
@keyframes gallery-rise{from{opacity:.25;transform:translateY(8%)}}
@keyframes gallery-fade{from{opacity:.1}}
@keyframes gallery-zoom{from{opacity:.25;transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){.gallery-photo{animation:none}}
body:has(.section-banner[class*=" banner-"]) .footer.hp-foot{background:linear-gradient(93deg,#fbf7ebee,#fbfbf8ed 55%,#f6f6f0d9),var(--footer-motif) right bottom/auto 95% no-repeat,#faf9f5!important}
body:has(.banner-products){--footer-motif:url('motif-products.svg')}
body:has(.banner-solutions){--footer-motif:url('motif-solutions.svg')}
body:has(.banner-services){--footer-motif:url('motif-services.svg')}
body:has(.banner-our-work){--footer-motif:url('motif-our-work.svg')}
body:has(.banner-about){--footer-motif:url('motif-about.svg')}
