/* A lighter, friendlier presentation: clear type, blue actions and soft feature panels. */
:root {
  --ink:#0b1930; --text:#1f2d42; --muted:#65738a; --blue:#0877f9; --blue-2:#45a6ff;
  --soft-blue:#edf2f7; --soft:#f6f8f9; --line:#e2e5e9; --navy:#192027; --green:#3a6a9a;
}
body { background:#fff; color:var(--text); }
.reveal { opacity:1; transform:none; }
html.has-js .reveal:not(.visible) { opacity:0; transform:translateY(16px); }
a, button, input, select, textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #396794; outline-offset:5px; }
[hidden] { display:none!important; }
section[id] { scroll-margin-top:100px; }
.site-header { height:82px; background:rgba(255,255,255,.96); border-bottom:1px solid #eaedf0; transition:box-shadow .2s; }
.site-header.is-scrolled { box-shadow:0 7px 25px #1827350a; }
.nav-shell { gap:22px; }
.brand { min-width:180px; color:#0877f9; }
.main-nav { gap:20px; font-size:12px; color:#363a3d; }
.main-nav>a.active::after, .nav-drop>button.active::after { border-radius:3px; bottom:12px; }
.button { background:var(--blue); border-radius:10px; padding:15px 24px; font-weight:650; box-shadow:none; }
.button:hover { background:#0665d5; transform:translateY(-2px); box-shadow:0 8px 20px #0877f915; }
.button.secondary { color:var(--ink); background:#fff; border:1px solid #cad0d6; box-shadow:none; }
.button.secondary:hover { background:#f6f9fb; border-color:#8ca1b6; }
.button.ghost-dark { background:transparent; color:var(--ink); border:1px solid #a0aebb; }
.button.ghost-dark:hover { background:#ffffff70; }
.button.small { padding:12px 17px; border-radius:9px; }
.eyebrow { color:#4a5f74; font-size:10px; letter-spacing:.12em; }
.eyebrow::before { background:#6083a6; }
.section { padding:90px 0; }
.section-heading h2, .copy-block h2 { font-weight:650; letter-spacing:-.045em; font-size:clamp(36px,4vw,54px); line-height:1.12; }
.section-heading p, .copy-block>p { font-size:17px; line-height:1.7; }
.copy-block>p { margin-top:24px; }
.section-soft { background:#f7f7fb; }
.card { border-radius:23px; border-color:#e1e5e9; box-shadow:none; transition:transform .25s,box-shadow .25s,border-color .25s; }
.card:hover { transform:translateY(-4px); border-color:#b4c2d0; box-shadow:0 12px 30px #16293c08; }
.card .icon-box { background:#e9f0f7; border-radius:15px; }
.stat-panel { border-radius:30px; background:linear-gradient(130deg,#192b3d,#131e2a); box-shadow:none; }
.stat-panel::before { background:radial-gradient(circle,#9cb8d320,transparent 68%); }
.pulse-line i { background:linear-gradient(#84a8cb,#476a8c); }
.form-panel { border-radius:28px; box-shadow:0 12px 40px #16212c07; }
.form-panel input, .form-panel select, .form-panel textarea { border-color:#d8dfe5; background:#fafbfc; }
.form-panel input:focus, .form-panel select:focus, .form-panel textarea:focus { border-color:#7991a9; box-shadow:0 0 0 4px #234f7a0d; }
.faq-item, .compare { border-radius:18px; }

/* A generous, centred hero with straightforward actions. */
.hero-friendly {
  background:
    linear-gradient(0deg,#fff,transparent 30%),
    radial-gradient(ellipse at 50% 42%,#fffffff2 0%,#ffffffa6 30%,transparent 65%),
    radial-gradient(ellipse 65% 85% at -8% 10%,#80bdffb3 0%,#b5d8ff70 40%,transparent 75%),
    radial-gradient(ellipse 55% 75% at 105% 25%,#88deff99 0%,#c5edff70 40%,transparent 75%),
    radial-gradient(ellipse 55% 50% at 18% 95%,#c4cfff70 0%,transparent 75%),
    linear-gradient(125deg,#eff6ff,#f8fcff 50%,#eff9ff);
  padding:96px 0 66px; text-align:center; overflow:hidden; isolation:isolate;
}
.hero-friendly::after { display:none; }
.hero-friendly .hero-copy { max-width:1000px; margin:auto; }
.hero-friendly .eyebrow { display:inline-flex; gap:8px; padding:8px 13px; background:#edf2f7; border:1px solid #dde6ef; border-radius:30px; font-size:11px; font-weight:600; letter-spacing:.015em; text-transform:none; }
.hero-friendly .eyebrow::before { display:none; }
.hero-friendly .eyebrow>span { font-size:16px; color:#3f6489; }
.hero-friendly h1 { color:#202326; font-size:clamp(58px,6vw,82px); line-height:1.07; letter-spacing:-.055em; font-weight:650; max-width:1000px; margin:24px auto; }
.hero-friendly h1 em { color:var(--blue); }
.hero-friendly .hero-lede { color:#4c5c70; font-size:20px; line-height:1.65; margin:0 auto; max-width:700px; }
.hero-friendly .hero-actions { justify-content:center; gap:12px; margin-top:29px; }
.hero-friendly .button { min-height:54px; padding:15px 25px; font-size:14px; }
.hero-reassurance { font-size:12px; color:#7b8084; margin:16px 0 0; }
.friendly-proof { display:flex; justify-content:center; flex-wrap:wrap; gap:26px; color:#595f64; font-size:12px; margin-top:36px; }
.friendly-proof>span { display:flex; align-items:center; gap:7px; }
.friendly-proof i { font-style:normal; color:#325f8c; font-weight:700; }
.trust-strip { border:0; padding:27px 0; background:#fff; }
.trust-inner { justify-content:center; flex-direction:column; gap:18px; }
.trust-inner>p { color:#8a8e92; font-size:10px; margin:0; letter-spacing:.1em; }
.logo-row { justify-content:center; gap:47px; }
.logo-row span { color:#747a80; font-size:15px; letter-spacing:.025em; opacity:.75; }
.logo-row { scrollbar-width:none; }
.logo-row::-webkit-scrollbar { display:none; }

/* Tabs retain real page links when JavaScript is unavailable. */
.services-section { padding-top:65px; }
.centered-heading { display:block; text-align:center; max-width:850px; margin:0 auto 37px; }
.centered-heading .eyebrow { justify-content:center; }
.centered-heading .eyebrow::before { display:none; }
.centered-heading h2 { margin:13px 0 18px; font-size:clamp(34px,3.5vw,47px); }
.centered-heading p { margin:0; max-width:none; }
.service-tabs { display:flex; justify-content:center; flex-wrap:wrap; gap:13px; margin:0 auto 32px; }
.service-tab { display:inline-flex; align-items:center; gap:11px; border:1px solid #d8dde2; border-radius:40px; color:#464b50; background:#fff; padding:12px 19px; font-size:14px; font-weight:600; transition:background .2s,border-color .2s,color .2s; }
.service-tab svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; flex-shrink:0; }
.tab-mint svg { color:#46719b; }
.tab-lavender svg { color:#8d6acd; }
.tab-peach svg { color:#c58b35; }
.tab-sky svg { color:#548ebd; }
.service-tab:hover { background:#f5f8fa; border-color:#8ea3b9; }
.service-tab[aria-selected="true"] { color:#fff; background:#25303b; border-color:#25303b; }
.service-tab[aria-selected="true"] svg { color:#a4bfda; }
.service-panels { display:grid; gap:24px; }
.service-showcase { padding:45px; border-radius:34px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:59px; min-height:440px; }
.theme-mint { background:linear-gradient(115deg,#dce5ee,#dfeaf4); }
.theme-lavender { background:linear-gradient(115deg,#e6e0f5,#f4effb); }
.theme-peach { background:linear-gradient(115deg,#f6e5cc,#fbf3df); }
.theme-sky { background:linear-gradient(115deg,#dceef4,#ecf0f4); }
.showcase-photo { position:relative; border-radius:23px; overflow:hidden; min-height:353px; align-self:stretch; background:#d6dee5; box-shadow:0 18px 35px #2332400b; }
.showcase-photo>img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.showcase-note { display:flex; align-items:center; gap:10px; position:absolute; left:20px; right:20px; bottom:20px; background:#fffffff0; backdrop-filter:blur(10px); padding:16px; border-radius:13px; font-size:12px; font-weight:600; color:#3b444d; }
.showcase-note>span { display:grid; place-items:center; width:23px; height:23px; flex:0 0 23px; background:#dfe9f3; border-radius:50%; color:#3c5e7f; }
.showcase-copy { padding:7px 0; }
.feature-label { display:inline-flex; padding:5px 10px; border-radius:6px; background:#ffffff80; color:#4c5864; font-size:10px; font-weight:650; letter-spacing:.03em; }
.showcase-copy h3 { font-size:clamp(29px,3vw,40px); line-height:1.12; color:#252b30; font-weight:650; letter-spacing:-.04em; margin:18px 0; }
.showcase-copy>p { color:#515960; font-size:15px; line-height:1.75; margin:0; }
.showcase-checks { list-style:none; padding:0; display:grid; gap:9px; margin:22px 0 25px; color:#444c54; font-size:12px; }
.showcase-checks li { display:flex; align-items:center; gap:9px; }
.showcase-checks li>span { color:#38597a; font-weight:700; }
.showcase-copy .button.secondary { background:#ffffff50; border-color:#a1afbc; padding:12px 18px; font-size:12px; }
.showcase-copy .button.secondary:hover { background:#fff; }

/* Photography keeps the story grounded, with soft framing and a little character. */
.people-section { background:#fff; }
.people-section .feature-row { gap:75px; grid-template-columns:1fr 1fr; }
.people-photo { position:relative; min-height:530px; align-self:stretch; border-radius:32px; overflow:hidden; background:#dfe9f2; }
.people-photo>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:52% center; }
.people-photo-note { position:absolute; left:24px; right:24px; bottom:24px; background:#fffffff0; backdrop-filter:blur(15px); padding:20px; border-radius:16px; display:flex; align-items:center; gap:13px; }
.people-photo-note strong { display:block; font-size:13px; color:var(--ink); }
.people-photo-note div>span { display:block; font-size:11px; margin-top:4px; color:#727980; }
.feature-check { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#e7eef5; color:#385f85; font-size:15px; }
.people-section .feature-item { grid-template-columns:38px 1fr; gap:15px; }
.people-section .feature-item h3 { font-size:15px; }
.people-section .feature-item p { font-size:13px; }
.people-link { margin-top:30px; font-size:12px; }
.infrastructure-section { padding-top:25px; }
.infrastructure-panel { min-height:470px; border-radius:34px; overflow:hidden; position:relative; isolation:isolate; background:#17212a; padding:64px; color:#fff; }
.infrastructure-panel>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.infrastructure-panel::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#111e2af5,#141f2acc 42%,#141f2a29); z-index:-1; }
.infrastructure-copy { max-width:530px; }
.infrastructure-copy .eyebrow { color:#b0c2d3; }
.infrastructure-copy .eyebrow::before { background:#99b6d3; }
.infrastructure-copy h2 { font-size:clamp(38px,4vw,53px); line-height:1.12; letter-spacing:-.04em; font-weight:600; margin:24px 0; }
.infrastructure-copy p { font-size:16px; color:#c1cbd4; max-width:380px; margin-bottom:30px; }
.infrastructure-tag { position:absolute; right:35px; bottom:28px; color:#c1cbd4; display:flex; align-items:center; gap:10px; font-size:11px; }
.infrastructure-tag>span { color:#a7bfd6; font-size:22px; }
.quote-card { border:0; border-radius:28px; padding:44px; box-shadow:0 12px 30px #202b3505; }
.quote-card blockquote { font-weight:450; letter-spacing:-.02em; color:#353c43; }
.quote-card cite { display:flex; align-items:center; gap:14px; }
.quote-avatar { display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:#e7eef5; color:#395e82; font-size:17px; font-weight:700; }
.cta-panel { background:linear-gradient(115deg,#dfe8f0,#f7f3dc); border-radius:32px; color:var(--ink); box-shadow:none; }
.cta-panel::after { display:none; }
.cta-panel h2 { color:var(--ink); font-weight:650; }
.cta-panel p { color:#606972; }
.cta-panel .eyebrow { color:#4c6176; margin-bottom:22px; }
.home-cta { padding-top:55px; }
.home-cta .cta-panel { padding:60px; }
.home-cta .cta-panel h2 { font-size:clamp(36px,4vw,49px); line-height:1.12; }
.home-cta .cta-panel .actions { flex-direction:column; min-width:185px; }

/* Shared page headers carry the lighter palette across service and company pages. */
.page-hero { background:#f8fafc; padding:73px 0; }
.page-hero-grid { gap:58px; }
.page-hero h1 { font-weight:650; line-height:1.08; font-size:clamp(47px,5vw,70px); letter-spacing:-.05em; }
.page-hero .lede { font-size:18px; line-height:1.75; color:#5f6870; }
.photo-visual { margin:0; border:0; border-radius:32px; min-height:465px; background:#dfe6ed; box-shadow:0 20px 50px #20324416; }
.photo-visual::before { display:none; }
.photo-visual::after { inset:40% 0 0; width:auto; height:auto; border-radius:0; background:linear-gradient(transparent,#17202880); }
.photo-visual>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.photo-caption { position:absolute; z-index:1; left:24px; right:24px; bottom:24px; background:#ffffffee; backdrop-filter:blur(12px); padding:19px 20px; display:flex; align-items:center; gap:13px; border-radius:16px; }
.photo-caption strong { display:block; color:var(--ink); font-size:13px; }
.photo-caption div>span { display:block; margin-top:4px; font-size:11px; color:#727980; }
.photo-caption-dot { flex:0 0 9px; width:9px; height:9px; border-radius:50%; background:#4674a2; box-shadow:0 0 0 5px #4674a212; }
.photo-caption-arrow { margin-left:auto; color:var(--blue); font-size:22px; }
.site-footer { background:#fafbfc; color:#757b81; border-top:1px solid #e5eaee; padding:65px 0 26px; }
.footer-brand { color:#0877f9; }
.footer-grid h4 { color:#2c343b; }
.footer-grid a { font-size:13px; }
.footer-grid a:hover { color:#234f7a; }
.footer-grid>div:last-child { display:flex; }
.footer-grid>div:last-child>span { font-size:12px; margin-top:7px; }
.footer-bottom { border-color:#dfe4e9; }

@media(max-width:1180px) {
  .nav-cta { display:none; }
  .people-section .feature-row { gap:45px; }
  .service-showcase { gap:35px; padding:35px; }
}
@media(max-width:1000px) {
  .service-tabs { gap:10px; }
  .service-tab { padding:11px 16px; font-size:12px; }
  .footer-grid { gap:28px; }
}
@media(max-width:860px) {
  .site-header, .nav-shell { height:70px; }
  .nav-shell { gap:15px; }
  .hero-friendly { padding:65px 0 30px; }
  .hero-friendly h1 { font-size:60px; }
  .hero-friendly .hero-lede { font-size:18px; }
  .section { padding:70px 0; }
  .services-section { padding-top:45px; }
  .service-showcase { grid-template-columns:1fr; gap:28px; padding:30px; }
  .showcase-photo { min-height:365px; }
  .showcase-copy { max-width:630px; }
  .showcase-copy h3 { font-size:36px; }
  .people-section .feature-row { grid-template-columns:1fr; gap:40px; }
  .people-photo { min-height:430px; }
  .people-section .copy-block { max-width:650px; }
  .photo-visual { min-height:440px; }
  .page-hero-grid { gap:35px; }
  .infrastructure-panel { padding:48px; }
  .infrastructure-section { padding-top:15px; }
  .home-cta .cta-panel { padding:45px; }
  .home-cta .cta-panel .actions { flex-direction:row; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:35px; }
  .footer-grid>div:first-child { grid-column:auto; }
}
@media(max-width:600px) {
  .hero-friendly { padding:50px 0 40px; }
  .hero-friendly .eyebrow { font-size:10px; padding:6px 11px; }
  .hero-friendly h1 { font-size:clamp(35px,9.6vw,52px); margin:22px auto; line-height:1.13; letter-spacing:-.045em; }
  .hero-friendly .hero-lede { font-size:16px; max-width:360px; }
  .desktop-break { display:none; }
  .hero-friendly .hero-actions { margin-top:25px; gap:10px; }
  .hero-friendly .hero-actions .button { width:100%; }
  .hero-reassurance { font-size:10px; }
  .friendly-proof { gap:9px 16px; margin-top:26px; font-size:10px; }
  .trust-strip { padding:23px 0; }
  .trust-inner { align-items:center; gap:15px; }
  .trust-inner>p { font-size:9px; }
  .logo-row { gap:23px; overflow:auto; justify-content:flex-start; padding-bottom:8px; }
  .logo-row span { font-size:12px; }
  .section { padding:57px 0; }
  .services-section { padding-top:37px; }
  .centered-heading { margin-bottom:27px; }
  .centered-heading h2 { font-size:30px; }
  .centered-heading p { font-size:15px; }
  .service-tabs { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:22px; }
  .service-tab { padding:11px 12px; gap:8px; font-size:11px; justify-content:center; border-radius:25px; }
  .service-tab svg { width:19px; height:19px; }
  .service-showcase { border-radius:25px; padding:18px; gap:22px; }
  .showcase-photo { min-height:260px; border-radius:18px; }
  .showcase-note { left:13px; right:13px; bottom:13px; padding:12px; gap:8px; font-size:10px; }
  .showcase-note>span { width:20px; height:20px; flex-basis:20px; }
  .showcase-copy { padding:4px 5px 8px; }
  .showcase-copy h3 { font-size:30px; }
  .showcase-copy>p { font-size:14px; }
  .showcase-checks { font-size:11px; }
  .showcase-copy .button { width:100%; }
  .section-heading h2, .copy-block h2 { font-size:34px; }
  .people-photo { min-height:400px; border-radius:25px; }
  .people-photo-note { left:16px; right:16px; bottom:16px; padding:17px; }
  .people-photo-note strong { font-size:12px; }
  .people-photo-note div>span { font-size:10px; }
  .infrastructure-section { padding-top:10px; }
  .infrastructure-panel { padding:35px 26px 75px; min-height:490px; border-radius:25px; }
  .infrastructure-panel::after { background:linear-gradient(90deg,#111e2aeb,#111e2a9e); }
  .infrastructure-copy h2 { font-size:37px; }
  .infrastructure-copy .eyebrow { font-size:8px; }
  .infrastructure-tag { right:auto; left:26px; bottom:25px; font-size:10px; }
  .quote-card { padding:29px; border-radius:24px; }
  .home-cta { padding-top:35px; }
  .home-cta .cta-panel { padding:34px 26px; }
  .home-cta .cta-panel .actions { flex-direction:column; }
  .home-cta .cta-panel .eyebrow { font-size:8px; gap:8px; }
  .home-cta .cta-panel .eyebrow::before { width:18px; }
  .home-cta .cta-panel h2 { font-size:34px; }
  .page-hero { padding:45px 0; }
  .page-hero h1 { font-size:42px; }
  .page-hero .lede { font-size:16px; }
  .photo-visual { min-height:350px; border-radius:25px; }
  .photo-caption { left:15px; right:15px; bottom:15px; padding:16px; gap:12px; }
  .photo-caption strong { font-size:11px; }
  .photo-caption div>span { font-size:10px; }
  .footer-grid>div:first-child { grid-column:1/-1; }
  .footer-grid>div:last-child { grid-column:1/-1; }
}
@media(prefers-reduced-motion:reduce) {
  html.has-js .reveal { opacity:1!important; transform:none!important; }
  *, *::before, *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}

/* More daylight, more variety, and a team with a little personality. */
.brand { flex-shrink:0; }
.brand-logo { display:block; width:174px; height:auto; }
.footer-brand .brand-logo { width:190px; }
.main-nav { gap:16px; }
.infrastructure-panel { background:linear-gradient(115deg,#e4ecf4,#fbf1dc); color:var(--ink); padding:54px; min-height:470px; }
.infrastructure-panel>img { inset:34px 34px 34px auto; width:45%; height:calc(100% - 68px); border-radius:24px; z-index:0; }
.infrastructure-panel::after { display:none; }
.infrastructure-copy { max-width:47%; position:relative; z-index:1; }
.infrastructure-copy .eyebrow { color:#4f6982; }
.infrastructure-copy .eyebrow::before { background:#6d89a5; }
.infrastructure-copy h2 { font-size:clamp(35px,3.7vw,49px); }
.infrastructure-copy p { color:#5c6772; }
.infrastructure-tag { color:#485561; background:#fffffff0; padding:9px 14px; border-radius:12px; right:53px; bottom:51px; z-index:1; }
.infrastructure-tag>span { color:#607e9b; }
.work-gallery { padding-top:20px; }
.work-gallery-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.work-photo-card { border:1px solid #dfe4e9; border-radius:28px; overflow:hidden; background:#fff; transition:transform .2s,box-shadow .2s; }
.work-photo-card:hover { transform:translateY(-4px); box-shadow:0 14px 35px #1d29350a; }
.work-photo-card>img { width:100%; height:275px; object-fit:cover; }
.work-photo-copy { padding:29px; }
.work-photo-copy h3 { color:var(--ink); font-size:25px; line-height:1.2; letter-spacing:-.03em; margin:0 0 12px; }
.work-photo-copy p { font-size:14px; color:var(--muted); margin:0 0 21px; }
.work-photo-copy .text-link { font-size:12px; }
.about-hero { background:linear-gradient(125deg,#f7fafc,#f6f7fc); padding:75px 0; overflow:hidden; }
.about-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:65px; align-items:center; }
.about-hero h1 { color:var(--ink); font-size:clamp(48px,5.8vw,77px); line-height:1.07; letter-spacing:-.055em; margin:24px 0; font-weight:650; }
.about-hero h1 em { color:var(--blue); font-style:normal; }
.about-hero .copy-block>p { font-size:18px; line-height:1.75; }
.robot-collage { position:relative; min-height:455px; isolation:isolate; }
.robot-collage::before { content:""; position:absolute; inset:5% -3% 7% 4%; border-radius:48% 52% 56% 44%; background:linear-gradient(130deg,#d8e3ef,#f3e5db); z-index:-1; transform:rotate(-8deg); }
.collage-portrait { position:absolute; overflow:hidden; border-radius:30px; border:7px solid #fff; background:#fff; box-shadow:0 16px 34px #26394d10; }
.collage-portrait img { width:100%; height:100%; object-fit:cover; }
.portrait-one { width:54%; aspect-ratio:1; left:0; top:4%; transform:rotate(-9deg); }
.portrait-two { width:48%; aspect-ratio:1; right:0; top:24%; transform:rotate(9deg); }
.portrait-three { width:39%; aspect-ratio:1; left:17%; bottom:3%; transform:rotate(-3deg); }
.collage-spark { position:absolute; z-index:3; }
.spark-one { right:15%; top:0; color:#b19fd3; font-size:49px; }
.spark-two { left:3%; bottom:9%; color:#6688a9; font-size:39px; }
.collage-note { position:absolute; bottom:-13px; right:0; padding:10px 14px; border-radius:30px; font-size:11px; font-weight:600; color:#5d6a77; background:#fff; border:1px solid #dee5ec; transform:rotate(-4deg); }
.about-values { padding:65px 0 30px; }
.value-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.value-card { border-radius:26px; padding:31px; }
.value-icon { font-size:27px; color:#5b7186; }
.value-card h2 { font-size:24px; line-height:1.2; letter-spacing:-.035em; color:var(--ink); margin:21px 0 13px; }
.value-card p { color:#636b73; font-size:14px; line-height:1.75; margin:0; }
.team-section { padding-top:75px; }
.team-filters { display:flex; justify-content:center; flex-wrap:wrap; gap:11px; margin:0 0 16px; }
.team-filters button { border:1px solid #d6dde3; background:#fff; color:#4f5a65; padding:11px 18px; border-radius:30px; font-size:12px; }
.team-filters button:hover { border-color:#91a5b9; background:#f3f6fa; }
.team-filters button[aria-pressed="true"] { background:#25303b; color:#fff; border-color:#25303b; }
.team-result-count { text-align:center; font-size:11px; color:#7f8891; margin:0 0 28px; }
.team-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:26px; }
.team-card { flex:0 0 calc((100% - 78px)/4); overflow:hidden; border:1px solid #dde3ea; border-radius:26px; background:#fff; transition:transform .25s,box-shadow .25s; }
.team-card:hover { transform:translateY(-5px); box-shadow:0 12px 28px #2234450b; }
.team-portrait { aspect-ratio:1; overflow:hidden; }
.team-portrait img { width:100%; height:100%; object-fit:cover; mix-blend-mode:multiply; transition:transform .35s; }
.team-card:hover img { transform:scale(1.025) rotate(1deg); }
.team-card-copy { padding:22px 23px 24px; }
.team-card h3 { font-size:23px; line-height:1.2; margin:0 0 8px; color:var(--ink); letter-spacing:-.03em; }
.team-card p { margin:0; font-size:12px; color:#6f7983; }
.about-story { padding-top:0; }
.about-story-panel { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; padding:45px; border-radius:32px; }
.about-story-panel .button { margin-top:25px; }
.about-story-image { min-height:330px; align-self:stretch; border-radius:24px; overflow:hidden; position:relative; }
.about-story-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
@media(max-width:1180px) {
  .about-hero-grid { gap:38px; }
  .team-card { flex-basis:calc((100% - 52px)/3); }
  .robot-collage { min-height:415px; }
}
@media(max-width:860px) {
  .infrastructure-panel { display:flex; flex-direction:column; gap:28px; padding:30px; }
  .infrastructure-panel>img { position:static; width:100%; height:340px; }
  .infrastructure-copy { max-width:none; }
  .infrastructure-tag { position:static; align-self:flex-start; padding:9px 14px; }
  .about-hero-grid { grid-template-columns:1fr; gap:38px; }
  .about-hero { padding:55px 0; }
  .robot-collage { width:min(100%,510px); min-height:460px; margin:auto; }
  .value-grid { grid-template-columns:1fr; gap:16px; }
  .value-card { padding:27px; }
  .team-card { flex-basis:calc((100% - 26px)/2); }
  .about-story-panel { grid-template-columns:1fr; gap:30px; padding:32px; }
  .work-gallery-grid { grid-template-columns:1fr; gap:24px; }
}
@media(max-width:600px) {
  .brand-logo { width:154px; }
  .infrastructure-panel { padding:22px; gap:22px; }
  .infrastructure-panel>img { height:265px; border-radius:19px; }
  .infrastructure-copy h2 { font-size:34px; }
  .infrastructure-tag { font-size:10px; }
  .work-photo-card { border-radius:24px; }
  .work-photo-card>img { height:240px; }
  .work-photo-copy { padding:25px; }
  .work-photo-copy h3 { font-size:24px; }
  .about-hero h1 { font-size:44px; }
  .about-hero .copy-block>p { font-size:16px; }
  .robot-collage { min-height:350px; }
  .collage-portrait { border-width:5px; border-radius:23px; }
  .portrait-one { width:54%; }
  .portrait-two { width:49%; top:23%; }
  .portrait-three { width:43%; bottom:0; }
  .collage-note { font-size:9px; bottom:-15px; }
  .spark-one { font-size:36px; }
  .spark-two { font-size:30px; }
  .about-values { padding-top:45px; padding-bottom:10px; }
  .team-section { padding-top:55px; }
  .team-filters { gap:8px; }
  .team-filters button { font-size:10px; padding:10px 12px; }
  .team-grid { gap:14px; }
  .team-card { flex-basis:calc((100% - 14px)/2); border-radius:19px; }
  .team-card-copy { padding:17px 14px 19px; }
  .team-card h3 { font-size:20px; }
  .team-card p { font-size:10px; line-height:1.6; }
  .about-story-panel { padding:24px; border-radius:25px; }
  .about-story-image { min-height:260px; border-radius:19px; }
}
@media(max-width:360px) {
  .robot-collage { min-height:300px; }
  .team-card h3 { font-size:18px; }
}

/* Structured cabling: practical detail, bright photographs and clear next steps. */
.cabling-hero h1 { font-size:clamp(44px,4.5vw,65px); }
.cabling-hero .photo-visual>img { object-position:58% center; }
.cabling-hero-note { margin:22px 0 0; color:var(--muted); font-size:12px; }
.cabling-service-grid .card { min-height:260px; }
.cabling-service-grid .icon-box { margin-bottom:27px; }
.cabling-photo-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.cabling-photo-card { overflow:hidden; border:1px solid var(--line); border-radius:28px; background:#fff; }
.cabling-photo-card>img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
.cabling-photo-card>div { padding:32px; }
.cabling-photo-card h3 { color:var(--ink); font-size:28px; letter-spacing:-.035em; line-height:1.2; margin:17px 0; }
.cabling-photo-card p { font-size:14px; line-height:1.8; color:var(--muted); margin:0 0 15px; }
.cabling-photo-card p:last-child { margin-bottom:0; }
.cabling-process { list-style:none; padding:0; margin:0; }
.cabling-sectors { margin-top:55px; border-radius:28px; padding:36px; display:flex; align-items:center; justify-content:space-between; gap:35px; }
.cabling-sectors h3 { font-size:26px; letter-spacing:-.03em; color:var(--ink); line-height:1.25; margin:17px 0 0; }
.cabling-sectors ul { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; list-style:none; padding:0; margin:0; max-width:570px; }
.cabling-sectors li { background:#ffffffb3; border:1px solid #d1e2f1; border-radius:30px; padding:9px 13px; font-size:12px; color:#4c6680; }
.cabling-faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:75px; align-items:start; }
.cabling-faq-layout .text-link { display:inline-block; margin-top:26px; font-size:13px; }
.cabling-faq { display:grid; gap:12px; }
.cabling-faq details { border:1px solid var(--line); border-radius:16px; background:#fff; }
.cabling-faq summary { padding:22px 24px; color:var(--ink); font-size:15px; font-weight:650; cursor:pointer; }
.cabling-faq summary::marker { color:var(--blue); }
.cabling-faq details[open] { border-color:#adcdf2; }
.cabling-faq details p { margin:0; padding:0 24px 24px; font-size:14px; color:var(--muted); line-height:1.8; }
.cabling-callout { padding-top:20px; }
.cabling-callout .cabling-sectors { margin:0; padding:45px; }
.cabling-callout .button { flex-shrink:0; }
.work-gallery-grid.with-cabling { grid-template-columns:repeat(3,1fr); }
.with-cabling .work-photo-card>img { height:240px; }
.with-cabling .work-photo-copy { padding:25px; }
@media(max-width:1000px) {
  .cabling-faq-layout { gap:38px; }
  .cabling-sectors { align-items:flex-start; flex-direction:column; gap:24px; }
  .cabling-sectors ul { justify-content:flex-start; max-width:none; }
}
@media(max-width:860px) {
  .cabling-photo-grid, .cabling-faq-layout, .work-gallery-grid.with-cabling { grid-template-columns:1fr; }
  .cabling-hero h1 { font-size:clamp(42px,7vw,58px); }
}
@media(max-width:600px) {
  .cabling-hero h1 { font-size:42px; }
  .cabling-hero-note { font-size:11px; line-height:1.8; }
  .cabling-photo-card { border-radius:24px; }
  .cabling-photo-card>div { padding:25px; }
  .cabling-photo-card h3 { font-size:25px; }
  .cabling-sectors, .cabling-callout .cabling-sectors { padding:27px; border-radius:24px; }
  .cabling-sectors ul { gap:8px; }
  .cabling-sectors li { font-size:11px; }
  .cabling-faq summary { padding:20px; font-size:14px; }
  .cabling-faq details p { padding:0 20px 20px; }
}
