/* The next chapter: About B, photographic Services, and a more tangible HiVE Shift. */
.company-intro { padding:90px 0; background:#f7f6f0; }
.company-intro>.wrap { display:grid; grid-template-columns:1fr 1.15fr; gap:100px; }
.company-thesis { font-size:clamp(34px,4.4vw,64px); line-height:1.1; letter-spacing:-.05em; }
.company-thesis em { font-style:normal; color:#59705f; }
.company-intro p:not(.company-thesis) { font-size:18px; line-height:1.8; }
.company-intro p+p { margin-top:20px; }
.company-facts { display:flex; flex-wrap:wrap; gap:24px 35px; list-style:none; margin:35px 0 0; padding:25px 0 0; border-top:1px solid #c5cec4; }
.company-facts strong,.company-facts span { display:block; }
.company-facts strong { font-size:19px; font-weight:550; }
.company-facts span { font-size:11px; margin-top:8px; }
.principles-section { background:#ece9df; }
.principles-section>.wrap { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; }
.principle-list article { display:grid; grid-template-columns:45px 1fr; gap:22px; padding:35px 0; border-top:1px solid #b6bbaa; }
.principle-list article:first-child { padding-top:0; border:0; }
.principle-list article>span { color:#64745f; font-size:17px; padding-top:7px; }
.principle-list h3 { font-size:32px; }
.principle-list small { display:block; margin-top:20px; font-size:12px; line-height:1.7; color:#485446; }
.story-table { margin:0; padding:0; background:#ece9df; }
.story-table img { width:100%; height:clamp(300px,45vw,670px); object-fit:cover; object-position:center 52%; }
.story-table figcaption { padding:17px max(28px,calc((100vw - 1280px)/2)); margin:0; font-size:12px; }
.origin-story { background:#e9e6df!important; }
.origin-heading { max-width:900px; margin-bottom:60px; }
.origin-heading h2 { font-size:clamp(36px,4.7vw,66px); line-height:1.08; letter-spacing:-.05em; margin:25px 0; }
.origin-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.origin-grid figure { margin:0; }
.origin-grid img { width:100%; height:auto; border-radius:2px; }
.origin-grid figcaption { font-size:11px; line-height:1.6; margin-top:12px; }
.origin-copy p,.origin-evolution p:not(.eyebrow) { font-size:16px; line-height:1.9; }
.origin-copy p+p { margin-top:22px; }
.origin-evolution { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:center; margin-top:65px; padding-top:50px; border-top:1px solid #b9b9ad; }
.origin-evolution h3 { font-size:34px; margin:22px 0; }
.origin-evolution .history-logo { min-width:0; }
.origin-evolution .morph-demo { background:#f7f6f0; border-radius:4px; }
.origin-evolution .morph-stage { height:240px; }
.origin-evolution .history-caption { font-size:12px!important; }
.standards-section { background:#dce8df; }
.standards-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:50px; }
.standards-grid article { border-top:1px solid #8ca490; padding:25px 0; }
.standards-grid h3 { margin-top:22px; }
.standard-label { display:inline-block; margin-top:25px; font-size:13px; letter-spacing:.035em; border:1px solid #97ac9e; padding:10px 15px; border-radius:30px; }
.standards-scope { max-width:820px; color:#3d5645; }
.recognition-story { background:#f7f6f0; }
.recognition-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-top:60px; }
.recognition-grid article { display:grid; grid-template-columns:110px 1fr; gap:28px; border-top:1px solid #c4c9be; padding-top:30px; }
.recognition-grid img { width:110px; height:120px; object-fit:contain; }
.recognition-grid h3 { margin-top:15px; }
.recognition-history { display:grid; grid-template-columns:1fr 1fr 1fr; gap:25px; border-top:1px solid #c4c9be; padding-top:25px; margin-top:40px; }
.recognition-history p { margin:0!important; font-size:13px!important; }
.recognition-history small { display:block; font-size:11px; color:#596454; margin-top:5px; }
.recognition-history a { text-decoration:underline; text-underline-offset:4px; }
.services-photo-hero { position:relative; isolation:isolate; overflow:hidden; padding:100px 0 80px; }
.service-backdrop { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% center; z-index:-2; }
.services-photo-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(12,29,25,.96) 0%,rgba(12,29,25,.90) 32%,rgba(12,29,25,.7) 60%,rgba(12,29,25,.22) 100%); }
.services-photo-hero h1 { max-width:740px; }
.services-photo-hero .direction-lead { max-width:580px; color:#fff; }
.services-photo-hero .direction-jump a { background:#14271ed9; border-color:#96a498; }
.photo-context { position:relative; margin:40px auto 0; width:min(1280px,calc(100% - 112px)); color:#ecf0e8; font-size:10px; letter-spacing:.02em; }
.service-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:50px; }
.service-paths a { border-top:1px solid #9ba999; padding:23px 0; line-height:1.6; }
.service-paths span { display:block; font-size:12px; margin-bottom:12px; }
.service-paths strong { font-size:18px; font-weight:550; }
.service-paths-two { grid-template-columns:1fr 1fr; }
.hive-collage-hero { position:relative; isolation:isolate; text-align:center; overflow:hidden; padding:90px 0 65px; background:#111e23; }
.hive-backdrop { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.hive-collage-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#0d1821c9,#0d1821e6); z-index:-1; }
.hive-collage-hero h1 { margin:28px auto; font-size:clamp(45px,6.2vw,88px); }
.hive-collage-hero .direction-lead { margin:auto; max-width:760px; color:#fff; font-size:21px; }
.hive-collage-hero .direction-actions { justify-content:center; }
.hive-label { display:inline-block; padding:10px 16px; background:#ffcd27; color:#101a21; border-radius:3px; }
.hive-promise { margin:45px 0 0; padding-top:24px; border-top:1px solid #f6ce5050; font-size:13px; color:#f6d766; letter-spacing:.025em; }
.hive-delivery-layout { display:grid; grid-template-columns:.85fr 1.2fr; gap:80px; }
.hive-delivery-layout>.direction-heading { margin-bottom:30px; }
.hive-delivery-cards { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.hive-delivery-cards article { background:#f6f4ed; color:#14212a; padding:30px; border-radius:3px; border-top:4px solid #ffcc28; }
.hive-delivery-cards span { font-size:10px; text-transform:uppercase; letter-spacing:.07em; color:#4c5f59; }
.hive-delivery-cards h3 { margin:22px 0 14px; }
.hive-delivery-cards p { font-size:14px!important; line-height:1.75!important; }
.shift-comparison { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.shift-comparison article { background:#e9e8e2; padding:40px; border-radius:4px; }
.shift-comparison article+article { background:#dce8df; border-top:4px solid #efbf23; }
.shift-comparison h3 { margin:25px 0; }
.shift-comparison ul { padding-left:20px; }
.shift-comparison li { font-size:15px; line-height:1.8; margin:14px 0; padding-left:8px; }
.hive-roadmap { background:#eae9e2; }
.hive-roadmap-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; margin-top:45px; }
.hive-roadmap-grid article { padding:30px; background:#fffdf6; border-radius:5px; display:flex; flex-direction:column; }
.hive-phase { align-self:flex-start; background:#ffcc27; color:#192323; padding:8px 12px; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.hive-roadmap-grid h3 { margin-top:28px; }
.hive-roadmap-grid .hive-output { font-size:13px!important; padding-top:24px; border-top:1px solid #bdc4b5; margin-top:auto!important; }
.hive-roadmap-grid article>p:not(.hive-output) { padding-bottom:25px; }
.hive-output strong { display:block; font-weight:550; margin-bottom:8px; color:#486253; }
.hive-practice .direction-photo { background:#e6e4ef; padding:35px; border-radius:4px; }
.hive-practice .direction-photo img { object-fit:contain; height:350px; }
.hive-practice figcaption { color:#38463d; font-size:11px; }
.hive-questions { padding-top:20px; }
.hive-faq { max-width:1000px; }
.hive-faq details { border-top:1px solid #bbc5b9; padding:0; }
.hive-faq details:last-child { border-bottom:1px solid #bbc5b9; }
.hive-faq summary { padding:25px 36px 25px 0; cursor:pointer; font-size:20px; line-height:1.45; }
.hive-faq details p { padding:0 40px 25px 0; max-width:800px; }
@media(max-width:1050px) {
 .company-intro>.wrap,.principles-section>.wrap,.hive-delivery-layout { gap:40px; }
 .recognition-grid { gap:30px; }
 .recognition-grid article { grid-template-columns:80px 1fr; gap:20px; }
 .recognition-grid img { width:80px; height:100px; }
 .origin-grid,.origin-evolution { gap:35px; }
}
@media(max-width:760px) {
 .company-intro { padding:60px 0; }
 .company-intro>.wrap,.principles-section>.wrap,.origin-grid,.origin-evolution,.standards-grid,.recognition-grid,.recognition-history,.hive-delivery-layout,.shift-comparison,.hive-roadmap-grid { grid-template-columns:1fr; gap:32px; }
 .company-facts { gap:22px; }
 .company-facts strong { font-size:17px; }
 .principle-list article { gap:10px; grid-template-columns:30px 1fr; }
 .principle-list h3 { font-size:28px; }
 .origin-heading { margin-bottom:35px; }
 .origin-evolution { margin-top:40px; padding-top:35px; }
 .origin-evolution .morph-stage { height:180px; }
 .recognition-grid { margin-top:35px; }
 .recognition-grid article { grid-template-columns:90px 1fr; gap:20px; }
 .recognition-history { gap:22px; }
 .service-paths,.service-paths-two { grid-template-columns:1fr; gap:0; margin-top:30px; }
 .services-photo-hero { padding:60px 0 45px; }
 .services-photo-hero::before { background:linear-gradient(90deg,#0c1d19e8,#0c1d19b8); }
 .service-backdrop { object-position:65% center; }
 .photo-context { width:calc(100% - 40px); margin-top:30px; }
 .hive-collage-hero { padding:55px 0 40px; }
 .hive-collage-hero .direction-lead { font-size:18px; }
 .hive-collage-hero h1 { font-size:clamp(42px,9vw,64px); }
 .hive-label { font-size:10px; }
 .hive-delivery-cards { gap:14px; }
 .hive-delivery-cards article { padding:22px; }
 .hive-delivery-cards h3 { font-size:23px; }
 .shift-comparison article { padding:28px; }
 .hive-roadmap-grid article { padding:28px; }
 .hive-practice .direction-photo { padding:25px; }
 .hive-practice .direction-photo img { height:280px; }
 .hive-faq summary { font-size:18px; }
}
@media(max-width:440px) { .hive-delivery-cards { grid-template-columns:1fr; } .recognition-grid article { grid-template-columns:65px 1fr; gap:16px; } .recognition-grid img { width:65px; height:80px; } }

.story-edition .career-block { background:#e9e6df; }
