.hp-section{padding:90px 0}.hp-hero{background:#212325;color:#fff;border-top:1px solid #434547}.hp-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:stretch}.hp-hero-copy{padding:65px 0 60px}.hp-hero h1{font-size:clamp(38px,4.3vw,62px);line-height:1.08;letter-spacing:-.045em}.hp-hero h1 span{color:#ec662c}.hp-lead{font-size:21px;line-height:1.5;margin:27px 0 20px;color:#d6d9d9}.hp-hero-copy>p:not(.hp-lead){font-size:16px;color:#d6d9d9}.hp-hero .actions{gap:22px;align-items:center}.hp-text-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:14px;font-weight:600;line-height:1.5;text-decoration:underline;text-underline-offset:5px}.hp-text-link span{font-size:20px}.hp-photo{position:relative;min-height:540px;margin:0;display:flex;flex-direction:column}.hp-photo img{width:100%;height:100%;min-height:0;flex:1;object-fit:cover;object-position:50% 45%;position:absolute;inset:0 0 44px;height:calc(100% - 44px)}.hp-photo figcaption{margin-top:auto;min-height:44px;padding:9px 0;font-size:9px;line-height:1.5;color:#c6cbcb}.hp-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;margin-bottom:38px}.hp-heading p{font-size:15px}.hp-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #d4d6d5}.hp-services article{padding:32px 28px 25px;border-top:3px solid #ec662c;display:flex;flex-direction:column}.hp-services article+article{border-left:1px solid #d4d6d5}.hp-services h3{font-size:25px;line-height:1.25;min-height:94px}.hp-services p{font-size:15px;line-height:1.7;margin:18px 0 0}.hp-services ul{list-style:none;padding:20px 0;margin:24px 0;border-top:1px solid #d4d6d5}.hp-services li{font-size:13px;line-height:1.6;padding:6px 0 6px 14px;position:relative}.hp-services li:before{content:'';width:4px;height:4px;background:#b04e24;position:absolute;left:0;top:14px}.hp-services a{margin-top:auto;font-size:13px;justify-content:space-between}.hp-lifecycle{background:#212325;color:#fff}.hp-lifecycle .hp-heading p{color:#d6d9d9}.hp-matrix{border:1px solid #626769;border-radius:3px;overflow:hidden}.hp-phase-row,.hp-contribution{display:grid;grid-template-columns:1.05fr repeat(4,1fr)}.hp-phase-row>div{padding:22px 18px;border-left:1px solid #626769}.hp-phase-row>div:first-child{border-left:0}.hp-phase-row h3{font-size:23px;color:#fff;margin-bottom:12px}.hp-phase-row p{font-size:12px;color:#cbd0d0;line-height:1.6}.hp-matrix-label{font-size:13px;line-height:1.5;font-weight:600;align-content:center}.hp-phase-row .hp-matrix-label{color:#aeb5b5;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.hp-contribution>div{padding:22px 18px;font-size:12px;line-height:1.65;border-top:1px solid #626769;border-left:1px solid #626769;position:relative}.hp-contribution>div:first-child{border-left:0;font-size:13px;color:#fff}.hp-contribution>div:not(:first-child){color:#e1e5e5;background:#ffffff04}.hp-contribution-mark{display:block;height:3px;width:22px;background:#ec662c;margin-bottom:12px}.hp-phase-mobile{display:none}.hp-map-note{font-size:12px;color:#c1c7c7;margin-top:20px;max-width:none}.hp-why{display:grid;grid-template-columns:1fr 1fr;gap:90px}.hp-founder-note{margin-top:36px;border-left:3px solid #ec662c;padding-left:22px}.hp-founder-note p{font-size:14px;max-width:35ch}.hp-founder-note a{font-size:13px;margin-top:8px}.hp-reasons article{border-top:1px solid #d4d6d5;padding:22px 0}.hp-reasons article:first-child{padding-top:0;border-top:0}.hp-reasons article:last-child{padding-bottom:0}.hp-reasons h3{font-size:21px;margin-bottom:10px}.hp-reasons p{font-size:15px}.hp-lab{background:#f1f2f0;border-top:1px solid #d9ddda;padding:60px 0}.hp-lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.hp-kicker{font-size:10px;letter-spacing:.12em;font-weight:600;color:#8d3e1c;margin-bottom:20px}.hp-lab p:not(.hp-kicker){font-size:16px}.hp-lab .hp-text-link{margin-top:23px}.homepage .cp-enquiry .cp-small{margin-top:16px}.homepage .cp-enquiry .button{margin-top:0}.hp-hero a:focus-visible,.hp-lifecycle a:focus-visible{outline-color:#fff}
@media(max-width:1100px){.hp-hero-grid{gap:35px}.hp-hero h1{font-size:43px}.hp-hero .actions{align-items:flex-start;flex-direction:column;gap:10px}.hp-heading{gap:35px}.hp-services article{padding:25px 21px}.hp-services h3{font-size:22px;min-height:83px}.hp-why,.hp-lab-grid{gap:45px}.hp-phase-row>div,.hp-contribution>div{padding:18px 13px}}
@media(max-width:760px){.hp-section{padding:56px 0}.hp-hero-grid{grid-template-columns:1fr;gap:0}.hp-hero-copy{padding:40px 0 30px}.hp-hero h1{font-size:clamp(32px,7vw,48px)}.hp-lead{font-size:19px}.hp-hero-copy>p:not(.hp-lead){font-size:15px}.hp-photo{min-height:360px}.hp-photo img{object-position:50% 45%;height:calc(100% - 50px)}.hp-photo figcaption{min-height:50px;font-size:9px}.hp-heading,.hp-why,.hp-lab-grid{grid-template-columns:1fr;gap:25px}.hp-heading{margin-bottom:28px}.hp-services{grid-template-columns:1fr}.hp-services article{padding:27px}.hp-services article+article{border-left:0}.hp-services h3{min-height:0;font-size:25px}.hp-services p{margin-top:16px}.hp-services ul{margin:18px 0 12px;padding:15px 0}.hp-services a{font-size:14px}.hp-phase-row{display:none}.hp-contribution{grid-template-columns:1fr 1fr}.hp-contribution>div:first-child{grid-column:1/-1;font-size:18px;padding:20px;background:#303436}.hp-contribution>div:nth-child(2n){border-left:0}.hp-contribution>div{padding:18px;font-size:12px}.hp-phase-mobile{display:block;font:600 16px Montserrat;margin-bottom:12px;color:#fff}.hp-contribution-mark{width:18px;height:2px;margin-bottom:10px}.hp-founder-note{margin-top:25px}.hp-reasons{margin-top:10px}.hp-reasons article:first-child{border-top:1px solid #d4d6d5;padding-top:22px}.hp-lab{padding:45px 0}.hp-lab p:not(.hp-kicker){font-size:15px}.hp-lab .hp-text-link{margin-top:15px}}

/* Homepage refinement: preserve robot/tooling framing and join the remaining sections. */
.hp-photo img{object-position:60% 45%}.homepage #services+.hp-section{padding-top:20px}@media(max-width:760px){.hp-photo img{object-position:60% 45%}.homepage #services+.hp-section{padding-top:8px}}
