/* BIS / People. Places. Possibilities. */
:root { --navy:#102921; --navy-2:#183c31; --ink:#142b26; --green:#c7ed80; --green-dark:#42633c; --gold:#a5c971; --cream:#f3f3e9; --line:#d8dfd4; --muted:#65716a; --shadow:0 20px 50px #10292112; }
body { background:#f9faf6; font-family:"Segoe UI",Arial,sans-serif; }
.container { width:min(1320px,calc(100% - 96px)); }
.section { padding:104px 0; }
h1,h2,h3 { font-family:"Segoe UI",Arial,sans-serif; }
h2 { font-size:clamp(2.6rem,4.6vw,4.6rem); font-weight:600; line-height:1.05; letter-spacing:-.065em; }
h2 em { font-family:Georgia,serif; font-weight:400; }
.eyebrow { letter-spacing:.15em; font-size:.67rem; }
.eyebrow > span { width:8px; height:8px; border-radius:50%; }
.site-header { position:absolute; padding:20px 0; background:#f9faf6; }
.site-header.scrolled { position:fixed; padding:10px 0; background:#f9faf6f5; }
.brand img { width:56px; height:56px; border-radius:0; }
.brand strong { letter-spacing:.14em; }
.main-nav { gap:30px; font-size:.8rem; }
.main-nav .nav-cta { border-radius:4px; padding:13px 22px; }
.button { border-radius:4px; font-size:.8rem; font-weight:650; min-height:54px; box-shadow:none; }
.button > span:last-child { font-size:1.15rem; }
.hero { padding:116px 0 0; min-height:0; background:#f9faf6; }
.hero::before,.hero-orb,.hero-line { display:none; }
.hero-grid { grid-template-columns:1fr 1fr; min-height:660px; gap:0; background:var(--navy); color:#edf1e7; width:min(1440px,calc(100% - 48px)); border-radius:8px 8px 0 0; overflow:hidden; }
.hero-copy { padding:54px 46px 40px 56px; }
.hero .eyebrow { color:#d1e7bd; }
.hero .eyebrow > span { background:var(--green); }
.hero h1 { color:#fff; font-size:clamp(3rem,4.85vw,5rem); font-weight:500; letter-spacing:-.065em; line-height:1.05; margin:32px 0 25px; }
.hero h1 > em { white-space:normal; font-size:1em; line-height:1.07; letter-spacing:-.065em; color:var(--green); font-family:Georgia,serif; font-weight:400; }
.hero-lead { max-width:440px; color:#c2cec6; font-size:.95rem; line-height:1.8; }
.hero-actions { gap:18px; margin-top:28px; }
.hero .button-primary { background:var(--green); color:#142b26; }
.hero .button-primary:hover { background:#dcf5b0; }
.hero .button-ghost { padding-inline:0; background:transparent; border-color:transparent; color:#fff; }
.hero .play { background:transparent; color:var(--green); }
.trust-row { gap:32px; border-color:#ffffff26; margin-top:42px; padding-top:26px; }
.trust-row strong { font:500 1.7rem "Segoe UI",sans-serif; color:#fff; letter-spacing:-.04em; }
.trust-row sup { color:var(--green); }
.trust-row span { color:#adbeb2; font-size:.58rem; letter-spacing:.06em; }
.hero-visual { min-height:660px; height:100%; }
.hero-image { inset:0; border-radius:0; background-position:52% center; box-shadow:none; }
.hero-image::after { background:linear-gradient(0deg,#102921a8,transparent 35%); }
.photo-caption { position:absolute; top:25px; left:25px; right:25px; z-index:3; font-size:.57rem; letter-spacing:.13em; color:#fff; display:flex; gap:9px; align-items:center; padding:11px 14px; background:#102921bd; width:fit-content; border-radius:3px; }
.status-dot { width:6px; height:6px; border-radius:50%; background:var(--green); }
.hero-badge { bottom:30px; left:30px; padding:18px; width:calc(100% - 60px); max-width:360px; border:1px solid #ffffff50; border-radius:4px; background:#f7faf0ed; color:var(--ink); box-shadow:none; }
.hero-badge strong { color:var(--ink); }
.hero-badge p { font-size:.8rem; }
.badge-icon { background:var(--green); border-radius:50%; flex-basis:38px; height:38px; }
.hero-strip { width:min(1440px,calc(100% - 48px)); margin:auto; background:var(--green); color:var(--ink); border-radius:0 0 8px 8px; }
.hero-strip .container { min-height:61px; width:calc(100% - 80px); }
.hero-strip span { font-size:.63rem; letter-spacing:.13em; }
.hero-strip i { background:#50643e; width:4px; height:4px; }
.intro { background:#f9faf6; }
.intro-grid { gap:100px; margin-bottom:60px; }
.intro-copy { padding-top:40px; font-size:.9rem; }
.intro-copy .lead { font-size:1.2rem; line-height:1.6; }
.text-link { font-size:.8rem; border-bottom-color:#9aaa94; }
.text-link span { color:var(--green-dark); }
.legacy-card { border-radius:6px; box-shadow:none; min-height:490px; grid-template-columns:1fr 1fr; }
.legacy-photo { min-height:490px; }
.legacy-content { background:var(--navy); padding:48px; }
.legacy-content h3 { font:500 2.5rem/1.1 "Segoe UI",sans-serif; letter-spacing:-.04em; }
.legacy-content h3 em { color:var(--green); font:italic 400 1em Georgia,serif; }
.legacy-content > p:not(.eyebrow) { font-size:.86rem; }
.legacy-photo-badge { border-radius:4px; background:#102921e0; }
.legacy-parent { margin-top:20px; }
.legacy-stats { margin-top:26px; }
.legacy-stats strong { font-family:"Segoe UI",sans-serif; }
.legacy-stats div { border-radius:3px; }
.services { background:var(--cream); }
.section-heading.centered { align-items:flex-start; text-align:left; }
.section-heading.centered .eyebrow > span:last-child { display:none; }
.section-heading.centered > p:last-child { margin:0; max-width:600px; }
.service-toolbar { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:42px; border-bottom:1px solid #cbd2c6; padding-bottom:20px; }
.service-filters { display:flex; flex-wrap:wrap; gap:6px; }
.service-filters button { border:0; padding:11px 16px; border-radius:4px; background:transparent; color:#53634f; font-size:.8rem; }
.service-filters button.selected { color:#fff; background:var(--navy); }
.service-filters button span { color:var(--green); margin-left:8px; font-size:.65rem; }
.service-toolbar .text-link { margin:0; }
.filter-status { margin:12px 0 0; font-size:.7rem; color:var(--muted); }
.service-grid { gap:22px; margin-top:22px; }
.service-card { border:1px solid #dbe0d5; border-radius:5px; grid-template-rows:185px 1fr; min-height:0; }
.service-card[hidden] { display:none; }
.service-image { min-height:185px; }
.service-image span { border-radius:3px; width:32px; height:32px; font-size:.7rem; background:#fff; color:var(--ink); }
.service-body { padding:25px; }
.service-icon { display:none; }
.service-body h3 { margin:0 0 14px; font:600 1.15rem/1.3 "Segoe UI",sans-serif; letter-spacing:-.025em; }
.service-body p { font-size:.83rem; }
.service-body li { font-size:.74rem; }
.service-card:hover { transform:translateY(-4px); box-shadow:0 15px 28px #1029210c; }
.service-card.specialist-card { border-top:3px solid #7f995d; }
.specialist-heading { padding:22px 25px; }
.service-feature { grid-template-rows:auto; padding:42px; min-height:300px; background:var(--navy); border:0; }
.service-feature h3 { font:500 2.8rem/1.1 "Segoe UI",sans-serif; letter-spacing:-.05em; }
.feature-wheel { width:240px; }
.security-solutions { background:#f9faf6; }
.security-heading { gap:90px; }
.system-card { border-radius:4px; background:transparent; border:0; border-top:1px solid #bac8b1; padding:26px 10px 26px 0; }
.system-card h3 { font:600 1.15rem "Segoe UI",sans-serif; }
.system-card p { font-size:.85rem; }
.systems-grid { gap:20px 40px; }
.command-centre { border-radius:6px; background:var(--navy); padding:50px; }
.command-centre h3 { font:500 clamp(2.3rem,4vw,3.8rem)/1.03 "Segoe UI",sans-serif; letter-spacing:-.055em; }
.command-levels article { border-color:#ffffff26; }
.command-levels article > span { color:var(--green); }
.command-note { border-color:#ffffff26; }
.process { background:#e8eddf; color:var(--ink); }
.process h2 { color:var(--ink); }
.process h2 em { color:var(--green-dark); }
.process .eyebrow { color:var(--green-dark); }
.process-heading > p { color:var(--muted); }
.process-step { background:#f8faf3; border:1px solid #d2dbc7; border-radius:4px; min-height:0; padding:28px; }
.process-step:hover { background:#fff; border-color:#81996d; box-shadow:0 16px 32px #10292112; }
.process-step h3 { font-family:"Segoe UI",sans-serif; font-weight:600; letter-spacing:-.04em; }
.process-step h3,.process-step .step-label { color:var(--ink); }
.process-step > p:not(.step-label),.process-step li { color:#5a6956; }
.process-step ul { border-color:#d2dbc7; }
.process-icon { background:#e3ecd8; border-color:#d2dbc7; color:#42633c; }
.process-icon svg { stroke:#42633c; }
.step-marker span { color:var(--green-dark); background:#e3ecd8; border-color:#bacba9; font-family:"Segoe UI",sans-serif; }
.step-marker i { background:#d2dbc7; }
.process-outcome { border-radius:4px; background:var(--navy); }
.industries { background:var(--navy); }
.industries h2 em { color:var(--green); }
.industries-explorer { border-radius:5px; box-shadow:none; }
.industry-panel h3 { font-family:"Segoe UI",sans-serif; font-weight:500; letter-spacing:-.045em; }
.industry-tab.active { background:var(--green); color:var(--ink); }
.industry-tab.active strong,.industry-tab.active small,.industry-tab.active b { color:var(--ink); }
.industry-tab.active .industry-tab-icon { background:#102921; color:white; }
.industry-tab { background:#193b30; }
.advantage-grid article { border-radius:4px; box-shadow:none; }
.advantage-grid h3 { font-family:"Segoe UI",sans-serif; font-weight:600; }
.values-band { border-radius:4px; background:var(--navy); }
.profile { background:var(--cream); }
.profile-page { border-radius:3px; box-shadow:none; }
.contact { background:var(--navy); }
.contact::after { display:none; }
.contact h2 em { color:var(--green); }
.contact-grid { grid-template-columns:1fr 1fr; gap:90px; }
.contact-details { grid-template-columns:1fr 1fr; gap:24px 16px; }
.contact-details > :first-child,.contact-details > :last-child { grid-column:1 / -1; }
.contact-details span { color:#b3c3b8; }
.contact-details strong { font-size:.8rem; }
.contact-form { border-radius:5px; padding:38px; box-shadow:none; }
.form-title span { font-family:"Segoe UI",sans-serif; letter-spacing:-.04em; }
.contact-form input,.contact-form select,.contact-form textarea { border-radius:3px; }
.site-footer { background:#0b2019; }
.footer-main { gap:42px; }
.floating-call { background:#d0ed9d; color:var(--ink); border:1px solid #a9c683; }
.floating-call span { background:var(--navy); color:#fff; }
.reveal { opacity:1; transform:none; }
.reveal.visible { animation:bis-arrive .65s ease both; }
@keyframes bis-arrive { from { opacity:.3; transform:translateY(18px); } to { opacity:1; transform:none; } }
@media(min-width:1500px) { .hero-copy { padding-left:60px; } }
@media(max-width:1100px) {
  .container { width:calc(100% - 56px); }
  .hero-copy { padding:40px 30px; }
  .hero h1 { font-size:3.4rem; }
  .hero-grid,.hero-visual { min-height:650px; }
  .hero-actions { gap:5px; }
  .trust-row { gap:22px; }
  .service-toolbar { align-items:flex-start; flex-direction:column; gap:14px; }
  .intro-grid,.contact-grid { gap:50px; }
  .legacy-content { padding:34px; }
  .service-body { padding:22px; }
  .contact-details { grid-template-columns:1fr; }
}
@media(max-width:780px) {
  .container { width:calc(100% - 40px); }
  .section { padding:70px 0; }
  .site-header { padding:12px 0; }
  .site-header .container { width:calc(100% - 32px); }
  .main-nav { inset:78px 16px auto; border-radius:4px; background:#f9faf6; visibility:hidden; }
  .main-nav.open { visibility:visible; }
  .hero { padding-top:94px; }
  .hero-grid { width:calc(100% - 24px); grid-template-columns:1fr; min-height:0; padding-top:0; }
  .hero-copy { padding:36px 26px; }
  .hero h1 { font-size:clamp(2.7rem,8vw,4.5rem); margin-top:24px; }
  .hero h1 > em { margin-top:0; }
  .hero-lead { max-width:520px; }
  .hero-actions { gap:20px; }
  .hero-actions .button { width:auto; }
  .hero-visual { margin:0; min-height:460px; }
  .hero-image { background-position:center 48%; }
  .hero-badge { bottom:22px; left:22px; }
  .trust-row { gap:30px; overflow:visible; margin-top:30px; }
  .trust-row div { min-width:0; }
  .trust-row span { font-size:.55rem; }
  .hero-strip { width:calc(100% - 24px); }
  .hero-strip .container { width:calc(100% - 40px); }
  h2 { font-size:clamp(2.5rem,7.5vw,3.6rem); }
  .intro-grid { gap:10px; }
  .intro-copy { padding-top:10px; }
  .legacy-card { grid-template-columns:1fr; }
  .legacy-photo { min-height:370px; }
  .legacy-content { padding:32px; }
  .legacy-stats { grid-template-columns:repeat(3,1fr); }
  .legacy-stats div { min-height:0; }
  .legacy-stats strong { font-size:1.05rem; }
  .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .service-card { min-height:0; grid-template-rows:155px 1fr; }
  .service-image { min-height:155px; }
  .service-feature { grid-template-columns:1fr; grid-template-rows:auto; padding:32px; }
  .service-feature h3 { font-size:2.4rem; }
  .feature-wheel { display:none; }
  .security-heading { gap:15px; }
  .systems-grid { grid-template-columns:1fr 1fr; gap:14px 25px; }
  .command-centre { padding:32px; }
  .contact-grid { grid-template-columns:1fr; gap:42px; }
  .contact-details { grid-template-columns:1fr 1fr; }
  .industry-panel,.industry-selector { border-radius:4px; }
  .footer-main { gap:35px; }
}
@media(max-width:520px) {
  .hero-copy { padding:32px 22px; }
  .hero h1 { font-size:clamp(2.6rem,10.7vw,3.6rem); }
  .hero-actions { flex-direction:column; gap:9px; align-items:flex-start; }
  .hero .button-ghost { min-height:42px; }
  .hero-visual { min-height:350px; }
  .photo-caption { left:15px; right:15px; top:15px; font-size:.48rem; padding:9px; }
  .hero-badge { left:15px; bottom:15px; width:calc(100% - 30px); padding:12px; }
  .trust-row { justify-content:space-between; gap:12px; }
  .trust-row strong { font-size:1.5rem; }
  .trust-row span { font-size:.49rem; max-width:85px; }
  .service-grid,.systems-grid { grid-template-columns:1fr; }
  .service-card { grid-template-rows:190px 1fr; }
  .service-image { min-height:190px; }
  .service-card.specialist-card,.service-feature { grid-template-rows:auto; }
  .service-filters button { padding:10px 12px; font-size:.72rem; }
  .service-toolbar { margin-top:28px; }
  .legacy-content { padding:28px 22px; }
  .legacy-content h3 { font-size:2.1rem; }
  .legacy-stats { gap:8px; }
  .legacy-stats div { padding:10px; }
  .legacy-stats span { font-size:.55rem; }
  .command-centre { padding:28px 22px; }
  .contact-details { grid-template-columns:1fr; }
  .contact-form { padding:26px 20px; }
  .footer-main { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .reveal.visible { animation:none; } }

/* Corporate direction: navy, white, and BIS green. */
:root { --navy:#081f45; --navy-2:#103568; --ink:#102443; --green:#80bd42; --green-dark:#386c16; --gold:#80bd42; --cream:#f3f6fa; --line:#dce3ec; --muted:#647084; }
body { background:#fff; font-family:Arial,"Segoe UI",sans-serif; }
h1,h2,h3 { font-family:Arial,"Segoe UI",sans-serif; }
h2 { font-size:clamp(2.4rem,4vw,3.8rem); font-weight:700; line-height:1.13; letter-spacing:-.055em; }
h2 em { font-family:inherit; font-style:normal; color:#60718a; font-weight:700; }
.section { padding:90px 0; }
.eyebrow>span { width:22px; height:3px; border-radius:0; }
.site-header { position:relative; padding:17px 0; background:#fff; border-bottom:1px solid #e7edf3; }
.site-header.scrolled { position:sticky; top:0; background:#fffffffa; box-shadow:0 4px 20px #081f4508; }
.brand img { width:60px; height:60px; }
.brand strong { letter-spacing:.08em; }
.main-nav .nav-cta { border-radius:5px; }
.button { border-radius:5px; }
.button-primary { background:var(--navy); color:#fff; }
.hero { padding:0; min-height:0; background:#fff; overflow:visible; }
.hero-grid { display:block; min-height:0; width:min(1320px,calc(100% - 96px)); background:#fff; color:var(--ink); border-radius:0; overflow:visible; }
.hero-copy { display:grid; grid-template-columns:1.4fr 1fr; column-gap:70px; padding:50px 0 40px; }
.hero .eyebrow { grid-column:1 / -1; margin:0 0 23px; color:#536982; }
.hero h1 { grid-column:1; grid-row:2 / 4; margin:0; color:var(--navy); font-size:clamp(3.1rem,4.65vw,4.9rem); font-weight:750; line-height:1.05; letter-spacing:-.06em; }
.hero h1>em { font-family:inherit; font-style:normal; font-size:1em; font-weight:750; line-height:1.1; margin:0; letter-spacing:-.06em; color:var(--green-dark); }
.hero-lead { grid-column:2; grid-row:2; font-size:.99rem; line-height:1.8; color:#637185; max-width:440px; margin:4px 0 16px; }
.hero-actions { grid-column:2; grid-row:3; align-items:center; gap:20px; margin:0; }
.hero .button-primary { background:var(--navy); color:#fff; }
.hero .button-primary:hover { background:#254977; }
.hero .button-ghost { color:var(--navy); font-size:.73rem; gap:7px; }
.hero .play { color:var(--green-dark); width:auto; height:auto; }
.hero-visual { min-height:415px; height:auto; margin:0; border-radius:8px; overflow:hidden; }
.hero-image { border-radius:8px; background-position:center 43%; }
.hero-image::after { background:linear-gradient(0deg,#061c4270,transparent 50%); }
.photo-caption { top:24px; left:24px; background:#081f45d9; border:1px solid #ffffff30; font-size:.58rem; }
.hero-badge { left:auto; right:24px; bottom:24px; width:295px; padding:16px; background:#ffffffed; border:0; border-radius:5px; }
.hero-badge p { font-size:.77rem; }
.badge-icon { background:#e8f3df; color:var(--green-dark); }
.trust-row { display:grid; grid-template-columns:repeat(3,1fr); margin:0 auto; gap:0; padding:29px 0; border:0; }
.trust-row div { flex-direction:row; gap:16px; align-items:center; justify-content:center; border-right:1px solid var(--line); }
.trust-row div:last-child { border:0; }
.trust-row strong { font:700 2.45rem Arial,sans-serif; letter-spacing:-.05em; color:var(--navy); }
.trust-row span { max-width:100px; margin:0; font-size:.62rem; line-height:1.5; color:#667286; }
.hero-strip { width:100%; border-radius:0; background:var(--navy); color:#fff; }
.hero-strip .container { width:min(1320px,calc(100% - 96px)); min-height:53px; }
.hero-strip i { background:#80bd42; }
.hero-strip span { font-size:.61rem; }
.intro { background:#fff; }
.intro-grid { grid-template-columns:1fr 1fr; gap:80px; margin-bottom:50px; }
.intro-copy { padding-top:12px; }
.intro-copy .lead { font-size:1.12rem; }
.legacy-card,.legacy-photo { min-height:420px; }
.legacy-card { border-radius:8px; grid-template-columns:.9fr 1.1fr; }
.legacy-content { padding:38px 46px; }
.legacy-content h3 { font:700 2.35rem/1.12 Arial,sans-serif; }
.legacy-content h3 em { font-family:inherit; font-style:normal; color:#a4d377; }
.legacy-content>p:not(.eyebrow) { font-size:.82rem; }
.legacy-photo-badge { background:#081f45e0; }
.services { background:#f3f6fa; }
.service-toolbar { border-color:#d4dfeb; margin-top:26px; }
.service-filters button { color:#596b82; }
.service-filters button.selected { color:#fff; }
.service-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; }
.service-card { grid-column:span 3; grid-template-columns:180px 1fr; grid-template-rows:auto; min-height:300px; border:1px solid #e0e6ee; border-radius:7px; }
.service-image { min-height:100%; background-size:470% auto; }
.image-staffing,.image-operations { background-size:cover; }
.service-body h3 { font:700 1.12rem/1.3 Arial,sans-serif; }
.service-body p { font-size:.79rem; }
.service-body li { font-size:.72rem; }
.service-card.specialist-card { grid-column:span 2; grid-template-columns:1fr; grid-template-rows:auto 1fr; min-height:0; border-top-color:#80bd42; }
.specialist-heading { padding:22px 25px 0; }
.specialist-heading span { font:700 1.2rem Arial,sans-serif; color:#8597ae; }
.specialist-heading small { font-size:.57rem; }
.specialist-card .service-body { padding-top:18px; }
.service-feature { grid-column:1 / -1; grid-template-columns:1fr 230px; grid-template-rows:auto; min-height:280px; padding:35px 45px; }
.service-feature h3 { font:700 2.35rem/1.1 Arial,sans-serif; }
.feature-wheel { width:220px; }
.security-solutions { background:#fff; }
.systems-grid { gap:0 35px; }
.system-card { border:0; border-bottom:1px solid #dce3ec; padding:28px 0; }
.system-card h3 { font:700 1.17rem Arial,sans-serif; }
.system-card p { font-size:.83rem; }
.command-centre { border-radius:8px; }
.command-centre h3 { font:700 3.4rem/1.05 Arial,sans-serif; }
.process { background:#f3f6fa; }
.process h2 em { color:#60718a; }
.process-step { background:#fff; border-color:#dbe3ec; border-radius:7px; }
.process-step:hover { border-color:#80bd42; }
.process-step h3 { font-family:Arial,sans-serif; }
.process-step>p:not(.step-label),.process-step li { color:#657386; }
.step-marker span { background:#f0f5e9; border:0; border-radius:5px; }
.step-marker i { background:#e1e8ef; }
.process-icon { margin-top:24px; color:var(--navy); background:#edf2f8; border-radius:5px; }
.process-icon svg { stroke:var(--navy); }
.process-outcome { border-radius:7px; }
.industries-explorer { border-radius:8px; min-height:600px; }
.industry-panel h3 { font:700 3rem/1.1 Arial,sans-serif; }
.industry-panel-content { padding:40px; }
.industry-tab { min-height:150px; background:#0d2b54; }
.industry-tab.active { background:#315c1c; color:white; }
.industry-tab.active strong,.industry-tab.active small,.industry-tab.active b { color:white; }
.industry-tab.active .industry-tab-icon { color:#142b26; background:#d5eeaf; }
.advantage-grid article { min-height:240px; padding:28px; }
.advantage-grid h3 { font:700 1.12rem Arial,sans-serif; }
.profile { background:#f3f6fa; }
.profile-track { grid-auto-columns:minmax(180px,19%); }
.profile-header h2 { font-size:2.5rem; }
.contact h2 { font-size:3.4rem; }
.contact h2 em { color:#a4d377; }
.contact-details span { color:#a9b8ce; }
.contact-form { border-radius:8px; }
.site-footer { background:#05142d; }
.floating-call { background:var(--navy); color:#fff; border:1px solid #ffffff30; }
.floating-call span { color:var(--navy); background:#fff; }
@media(max-width:1100px){
 .hero-grid { width:calc(100% - 56px); }.hero-copy { column-gap:35px; grid-template-columns:1.2fr 1fr; }.hero h1 { font-size:3.45rem; }.hero-actions { gap:10px; flex-wrap:wrap; }.hero .button { font-size:.7rem; padding:12px 15px; }.hero-visual { min-height:375px; }.service-card { grid-template-columns:135px 1fr; }.intro-grid { gap:40px; }.legacy-content { padding:32px; }
}
@media(max-width:780px){
 .site-header,.site-header.scrolled { padding:10px 0; }.brand img { width:48px;height:48px; }.main-nav { inset:69px 15px auto; background:#fff; }.hero { padding:0; }.hero-grid { width:calc(100% - 40px); }.hero-copy { grid-template-columns:1fr; padding:35px 0 27px; }.hero .eyebrow { grid-column:1;grid-row:1;font-size:.55rem;margin-bottom:18px; }.hero h1 { grid-column:1;grid-row:2;font-size:clamp(2.4rem,7.5vw,3.8rem); }.hero-lead { grid-column:1;grid-row:3;margin:22px 0 20px;max-width:550px;font-size:.9rem; }.hero-actions { grid-column:1;grid-row:4;gap:20px; }.hero-visual { min-height:330px; }.hero-image { background-position:50% 44%; }.photo-caption { left:14px;top:14px;font-size:.47rem;padding:9px; }.hero-badge { right:14px;bottom:14px;left:auto;width:245px;padding:12px; }.hero-badge p { font-size:.69rem; }.trust-row { padding:23px 0; }.trust-row div { flex-direction:column;gap:7px;min-width:0; }.trust-row strong { font-size:2rem; }.trust-row span { max-width:100%;font-size:.5rem;text-align:center; }.hero-strip .container { width:calc(100% - 40px);min-height:45px; }.hero-strip span { font-size:.55rem; }h2 { font-size:2.65rem; }.intro-grid,.legacy-card { grid-template-columns:1fr; }.intro-grid { gap:15px; }.intro-copy { padding-top:0; }.legacy-photo { min-height:330px; }.legacy-content h3 { font-size:2.1rem; }.service-grid { grid-template-columns:1fr; }.service-card { grid-template-columns:180px 1fr;grid-template-rows:auto;min-height:0; }.service-image { min-height:100%; }.service-feature { grid-template-columns:1fr;grid-template-rows:auto;padding:30px; }.service-card.specialist-card { grid-template-columns:1fr; }.systems-grid { grid-template-columns:1fr 1fr; }.command-centre h3 { font-size:2.6rem; }.industries-explorer { min-height:0; }.industry-panel { min-height:580px; }.industry-panel h3 { font-size:2.5rem; }.profile-track { grid-auto-columns:35%; }.contact h2 { font-size:2.7rem; }
}
@media(max-width:780px){ .service-card,.service-card.specialist-card { grid-column:auto; } .service-feature { grid-column:1 / -1; } }
@media(max-width:520px){
 .hero-grid { width:calc(100% - 40px); }.hero-copy { padding:30px 0 25px; }.hero h1 { font-size:clamp(2.05rem,8.6vw,3rem); }.hero .button-primary { font-size:.67rem;min-height:48px; }.hero .button-ghost { font-size:.66rem; }.hero-actions { flex-direction:row;gap:14px;align-items:center; }.hero-visual { min-height:275px; }.hero-image { background-position:51% 42%; }.hero-badge { width:210px;padding:10px;bottom:10px;right:10px; }.badge-icon { flex-basis:28px;width:28px;height:28px; }.hero-badge p { font-size:.62rem; }.trust-row strong { font-size:1.75rem; }.trust-row span { font-size:.47rem; }h2 { font-size:2.25rem; }.legacy-content { padding:28px 22px; }.service-card { grid-template-columns:1fr;grid-template-rows:180px 1fr; }.service-image { min-height:180px;background-size:350% auto; }.image-staffing,.image-operations { background-size:cover; }.service-card.specialist-card,.service-feature { grid-template-rows:auto; }.service-feature h3 { font-size:2rem; }.systems-grid { grid-template-columns:1fr; }.industry-panel-content { padding:28px 22px; }.profile-track { grid-auto-columns:64%; }
}

/* Frame only the photograph within each brochure; exclude captions and badges.
   SVG viewBox keeps these bounds fixed at every card size and browser zoom. */
.service-image.image-housekeeping,
.service-image.image-security,
.service-image.image-engineering,
.service-image.image-environment { background-image: none; }
.service-photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: hidden; }
.service-image.image-staffing,
.service-image.image-operations { background-size: cover; }

/* Give service photography enough width to show people and their work. */
.service-card:not(.specialist-card):not(.service-feature) {
  grid-column: span 2;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  min-height: 0;
}
.service-grid .service-image { min-height: 0; aspect-ratio: 8 / 5; }
@media (max-width: 1100px) {
  .service-card:not(.specialist-card):not(.service-feature) { grid-column: span 3; }
}
@media (max-width: 780px) {
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-card:not(.specialist-card):not(.service-feature) { grid-column: auto; }
}
@media (max-width: 520px) {
  .service-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Preserve logo colours and readability against the dark footer. */
.site-footer .light-brand img {
  mix-blend-mode: normal;
  object-fit: contain;
  flex-shrink: 0;
  width: 76px;
  height: 76px;
  padding: 6px;
  background: #fff;
  border-radius: 8px;
}
.site-footer .light-brand small { color: #b8c7dc; }
