/* Company homepage, using the existing dark, lime and paper palette. */
.company-container{max-width:1450px;margin:0 auto}
.company-hero{padding:64px max(5.5vw,24px) 62px}
.company-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:5vw;align-items:center}
.company-hero h1{font-size:clamp(3rem,5.3vw,5.3rem);font-weight:400;line-height:1.03;letter-spacing:-3px;margin:27px 0}
.company-hero h1 em{color:var(--lime)}
.company-page .eyebrow{font-size:.75rem;letter-spacing:1.2px}
.company-lead{max-width:640px;font-size:1.125rem;line-height:1.8;color:#c7d0c2}
.company-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:28px}
.company-page .company-actions .button{font-size:.9375rem;line-height:1.5;max-width:100%;text-align:left}
.company-secondary{display:inline-flex;gap:13px;align-items:center;font-size:.9375rem;line-height:1.6;padding:9px 0;border-bottom:1px solid #6f7a62}
.company-secondary:hover{color:var(--lime)}
.company-hero-note{font-size:.875rem;color:#aeb9a4;line-height:1.7;margin-top:22px}
.needs-panel{border:1px solid #46543d;padding:29px;background:#1b231c;border-radius:5px}
.needs-panel h2{font:400 1.375rem/1.4 Arial,Helvetica,sans-serif;letter-spacing:-.3px;margin-bottom:22px}
.needs-links>a{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:21px 0}
.needs-links>a:last-child{padding-bottom:2px}.needs-panel small{display:block;color:#aebba3;font-size:.8125rem;margin-bottom:8px}
.needs-panel strong{font-size:1rem;line-height:1.5;font-weight:500}.needs-links>a>span:last-child{font-size:1.5rem;color:var(--lime)}
.needs-links>a:hover strong{color:var(--lime)}
.company-services,.company-team{background:var(--paper);color:var(--ink);padding:58px max(5.5vw,24px)}
.company-section-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:65px;margin-bottom:35px}
.company-section-heading h2{font-size:clamp(2.3rem,3.7vw,3.5rem);line-height:1.1;letter-spacing:-1.8px;margin-top:17px}
.company-section-heading>p{font-size:1rem;line-height:1.8;color:#606a58;max-width:560px}
.company-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.company-service-card{display:flex;flex-direction:column;padding:28px;border:1px solid #c1ccb6;border-radius:5px;min-height:275px;transition:background .2s,transform .2s}
.company-service-card:hover{background:#e5ebdb;transform:translateY(-3px)}
.company-card-top{display:flex;justify-content:space-between;gap:15px;font-size:.75rem;letter-spacing:1px;line-height:1.6;color:#536749}
.company-card-top>span:last-child{font-size:1.4rem;line-height:1}
.company-service-card h3{font-size:1.6rem;line-height:1.2;font-weight:400;letter-spacing:-.6px;margin:27px 0 15px;overflow-wrap:anywhere}
.company-service-card>p{font-size:1rem;line-height:1.7;color:#626e59;margin-bottom:25px}
.company-card-action{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.875rem;line-height:1.6;margin-top:auto;padding-top:16px;border-top:1px solid #bdcbb0;width:100%}
.company-card-action>span{font-size:1.2rem;flex-shrink:0}
.company-service-card.assessment-card{background:var(--ink);color:var(--text);border-color:var(--ink)}
.company-service-card.assessment-card:hover{background:#2b3827}
.assessment-card .company-card-top,.assessment-card .company-card-action{color:var(--lime)}
.assessment-card>p{color:#c9d2c1}.assessment-card .company-card-action{border-color:#4f6240}
.service-help{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid #cbd0c2;margin-top:33px;padding-top:25px}
.service-help>p{font-size:1rem;line-height:1.7;color:#5a6850}.service-help .text-link{margin:0;font-size:.9375rem;flex-shrink:0;gap:18px}
.company-keynote{padding:67px max(5.5vw,24px)}
.company-keynote-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:6vw;align-items:center}
.company-keynote figure{margin:0;position:relative;border-radius:5px;overflow:hidden;height:590px;background:#1b201c}
.company-keynote img{display:block;width:100%;height:100%;object-fit:cover;object-position:65% 82%}
.company-keynote figcaption{position:absolute;left:0;bottom:0;right:0;padding:45px 24px 22px;font-size:.75rem;letter-spacing:1px;line-height:1.6;background:linear-gradient(transparent,#111512ed)}
.keynote-copy h2{font-size:clamp(2.5rem,4vw,4rem);letter-spacing:-1.8px;line-height:1.08;margin:22px 0}.keynote-copy h2 em{color:var(--lime)}
.keynote-copy>p:not(.eyebrow){font-size:1rem;line-height:1.8;color:#c7d0c2}
.keynote-copy ul{padding:0;margin:25px 0;list-style:none}
.keynote-copy li{padding:12px 0;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.7}
.keynote-copy li:first-child{border-top:1px solid var(--line)}
.keynote-copy .keynote-solo-note{font-size:.875rem!important;color:#b5c2a7!important;margin-top:21px}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.team-card{border-top:2px solid #879b70;padding:29px 25px 0 0}
.team-card .eyebrow{color:#5b704c;letter-spacing:.6px}
.team-card h3{font-size:2rem;font-weight:400;line-height:1.2;letter-spacing:-.8px;margin:17px 0}
.team-card>p:not(.eyebrow){font-size:1rem;line-height:1.8;color:#5d6856}
.team-card .team-note{font-size:.9375rem!important;margin-top:20px;color:#35492b!important}
.company-page .service-contact .booking-copy h2{font-size:clamp(2.5rem,4vw,3.7rem)}
@media(max-width:1100px){.company-hero{padding-top:45px}.company-hero-grid{gap:35px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.company-hero h1{font-size:3.5rem;letter-spacing:-2px}.needs-panel{padding:23px}.company-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-keynote-grid{gap:35px}.company-keynote figure{height:570px}.service-help{align-items:flex-start;flex-direction:column;gap:18px}}
@media(max-width:760px){.company-hero{padding:34px 24px 38px}.company-hero-grid{grid-template-columns:1fr;gap:30px}.company-hero h1{font-size:clamp(2.5rem,9vw,3.7rem);letter-spacing:-1.5px;margin:23px 0}.company-lead{font-size:1rem}.company-actions{gap:18px;margin-top:23px}.company-page .company-actions .button{width:100%;gap:14px}.company-hero-note{font-size:.8125rem}.needs-panel{padding:23px}.needs-panel h2{font-size:1.25rem}.needs-links>a{padding:17px 0}.company-services,.company-team{padding:38px 24px}.company-section-heading{grid-template-columns:1fr;gap:21px;margin-bottom:27px}.company-section-heading h2{font-size:2.3rem;letter-spacing:-1.2px}.company-service-grid{grid-template-columns:1fr;gap:14px}.company-service-card{padding:25px;min-height:240px}.company-service-card h3{font-size:1.65rem;margin-top:23px}.company-keynote{padding:40px 24px}.company-keynote-grid{grid-template-columns:1fr;gap:28px}.company-keynote figure{height:440px}.keynote-copy h2{font-size:2.65rem;letter-spacing:-1.4px}.team-grid{grid-template-columns:1fr;gap:32px}.team-card{padding:24px 0 0}.team-card h3{font-size:1.8rem}.company-page .service-contact .booking-copy h2{font-size:2.65rem}}

/* Cybersecurity leads the homepage; portraits introduce the people below. */
.company-hero-visual{margin:0;height:530px;overflow:hidden;border-radius:5px;border:1px solid #344330;background:#1b231c}
.company-hero-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:52% center}
.needs-panel{margin-top:42px;padding:24px 28px;background:transparent}
.needs-panel h2{font-size:1rem;margin:0 0 18px;color:#c7d0c2}
.needs-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.needs-links>a{padding:17px 0 0}.needs-links>a:last-child{padding-bottom:0}
.team-card{padding:0;border-top:0}
.team-photo{display:block;width:100%;height:360px;object-fit:cover;border-radius:5px;margin-bottom:26px;background:#111512}
.team-photo.om-eddie{object-position:65% 57%}
.team-photo.om-marius{object-position:42% 30%}
@media(max-width:1100px){.company-hero-visual{height:500px}.needs-links{gap:22px}.team-photo{height:320px}}
@media(max-width:760px){.company-hero-visual{height:330px}.needs-panel{margin-top:28px;padding:22px}.needs-links{grid-template-columns:1fr;gap:18px}.needs-panel h2{margin-bottom:18px}.needs-links>a{padding:17px 0 0}.team-photo{height:320px}.team-card{padding:0}}
