/* SF mechanical capabilities: preserve the navy and orange cinematic identity. */
.brand em{display:block;font-size:8px;font-style:normal;font-weight:700;letter-spacing:.07em;color:#ffb16e;margin-top:7px;line-height:1.4}
nav{gap:23px}
.ng-hero{min-height:890px}
.ng-hero h1{font-size:clamp(58px,6.4vw,96px);line-height:1.02;max-width:900px;letter-spacing:-.055em}
.ng-hero .hero-content{padding-top:65px;padding-bottom:155px}
.ng-hero .hero-intro{max-width:570px;font-size:15px;margin-top:26px}
.ng-hero .hero-services{font-size:9px;letter-spacing:.1em}
.prefab-feature{background:linear-gradient(140deg,#f8f7f4,#e8edf0);overflow:hidden}
.prefab-layout{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}
.prefab-copy .lead{font-size:21px;line-height:1.6;margin-top:26px;color:#172e40}
.prefab-copy>p:not(.eyebrow):not(.lead){margin-top:20px;color:#4d6271;font-size:14px}
.plain-points{padding:0;list-style:none;margin:25px 0 30px;border-top:1px solid #c6d0d7}
.plain-points li{border-bottom:1px solid #c6d0d7;padding:12px 0 12px 22px;position:relative;font-size:13px}
.plain-points li:before{content:'';position:absolute;left:0;top:21px;width:6px;height:6px;background:#e9650c}
.prefab-visual{position:relative;isolation:isolate;margin-right:15px;margin-bottom:25px}
.prefab-visual:before{content:'';position:absolute;inset:18px -18px -18px 18px;background:#0e263a;z-index:-1;box-shadow:0 18px 40px #0c20353b;border-right:3px solid #f57518}
.prefab-visual>img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:3px;box-shadow:0 5px 25px #1026383b}
.prefab-label{position:absolute;bottom:98px;left:0;right:0;padding:35px 24px 18px;background:linear-gradient(transparent,#051522e6);color:#fff}
.prefab-label span{display:block;font-size:8px;letter-spacing:.15em;color:#ffb776}
.prefab-label strong{font-size:11px;font-weight:500}
.fabrication-note{position:absolute;bottom:-26px;left:24px;right:-10px;padding:24px 28px;background:linear-gradient(145deg,#16384d,#081c2c);color:#fff;border-left:3px solid #ff7a18;box-shadow:0 15px 30px #0a1b3b4d}
.fabrication-note>span{font-size:8px;letter-spacing:.16em;color:#ffb575}
.fabrication-note p{font-size:16px;font-weight:700;line-height:1.6;margin-top:6px}
.capability-list{border-top:1px solid #708a9e55}
.capability-item{display:grid;grid-template-columns:55px 1fr 30px;gap:25px;padding:30px 6px;border-bottom:1px solid #708a9e55;align-items:center;transition:background .2s,color .2s}
.capability-item:hover{background:#c6dcec08}
.capability-index{font-size:12px;color:#ffaf70;font-weight:700;align-self:start;margin-top:7px}
.capability-item h3{font-size:27px;line-height:1.2;color:#fff;font-weight:700;letter-spacing:-.02em}
.capability-item p{font-size:14px;color:#b2c6d4;max-width:820px;margin-top:12px;line-height:1.7}
.capability-item>svg{width:25px;height:25px;fill:none;stroke:#ffaf70;stroke-width:1.6}
.domestic-route{display:flex;gap:25px;align-items:center;justify-content:space-between;margin-top:30px;flex-wrap:wrap}
.domestic-route p{color:#b2c6d4;font-size:13px}
.domestic-route .text-link{color:#ffb575}
.delivery{background:#f9f9f6}
.delivery-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:40px}
.delivery-steps li{border-top:2px solid #d6dfe4;padding-top:25px}
.delivery-steps span{display:block;font-size:35px;font-weight:900;color:#b7c5cd;line-height:1}
.delivery-steps h3{font-size:24px;margin-top:24px;line-height:1.2}
.delivery-steps p{font-size:14px;line-height:1.8;color:#566b79;margin-top:15px}
.delivery-evidence{font-size:13px;color:#425f71;margin:35px 0 14px;padding-top:24px;border-top:1px solid #d6dfe4}
.ng-about .about-copy h2{font-size:clamp(36px,3.7vw,55px)}
.ng-about .about-copy>.text-link{color:#ffb575}
.ng-about .about-visual figure>img{aspect-ratio:auto;height:auto;object-fit:contain;object-position:center}
.ng-about .about-stamp{position:static;inset:auto;margin:18px 0 0;width:fit-content;max-width:100%}
.footer-capabilities{display:flex;flex-wrap:wrap;gap:4px 24px;padding:23px 0;border-bottom:1px solid #5b74834d}
.footer-capabilities a{font-size:11px;color:#b8cbd8;display:flex;align-items:center;min-height:40px}
.footer-capabilities a:hover{color:#ffb575}
select{font:inherit;color:#173347;background:#fff;border:1px solid #cbd5da;border-radius:2px;min-height:48px;max-width:100%;width:100%;padding:12px;margin-top:7px}
input[type=date]{min-width:0;max-width:100%;width:100%;color:#173347}
.optional{font-size:10px;font-weight:400;color:#637987}
.drawing-note{font-size:12px;color:#526f80;margin:6px 0 18px;line-height:1.6}
.capability-hero{background:radial-gradient(ellipse at 78% 30%,#244259,#081421 68%);color:#fff;padding:65px 0 80px;overflow:hidden}
.capability-hero-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center}
.capability-hero h1{font-size:clamp(45px,4.6vw,70px);line-height:1.08;letter-spacing:-.055em}
.capability-hero h1 span{color:#ff922b}
.capability-hero .breadcrumb{margin-bottom:32px;color:#b7cbd8;display:inline-flex;min-height:44px;align-items:center}
.capability-hero p:not(.eyebrow):not(.capability-subtitle){font-size:15px;line-height:1.85;color:#bacee0;margin-top:20px;max-width:600px}
.capability-hero .capability-subtitle{font-size:21px;line-height:1.45;color:#fff;margin-top:24px}
.capability-hero .button{margin-top:28px}
.capability-hero figure{position:relative;margin-right:12px;box-shadow:0 20px 55px #0005;border:1px solid #8eadc52b}
.capability-hero figure:before{content:'';position:absolute;inset:14px -14px -14px 14px;border-right:2px solid #f87925;border-bottom:2px solid #f87925;pointer-events:none}
.capability-hero figure img{width:100%;aspect-ratio:1.2;object-fit:cover}
.capability-hero figcaption{font-size:10px;padding:15px 18px;color:#b9cddd;background:#0a1b2a;line-height:1.6}
.team-hero figure img{aspect-ratio:1;object-position:center}
.capability-detail-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:80px;align-items:start}
.capability-text+.capability-text{margin-top:38px}
.capability-text h2{font-family:var(--body);font-size:30px;line-height:1.2;letter-spacing:-.035em}
.capability-text p{font-size:15px;color:#4c6474;margin-top:18px;line-height:1.85}
.capability-detail .scope-panel h2{font-family:var(--body);font-size:28px;letter-spacing:-.03em}
.related-work{padding-top:0}
.capability-next{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #cad4db;padding-top:30px;margin-top:35px;flex-wrap:wrap}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}
.team-grid h2,.team-resources h2{font-size:clamp(35px,3.2vw,49px);line-height:1.15}
.team-grid p:not(.eyebrow),.team-resources p:not(.eyebrow),.director-profile p{font-size:15px;color:#4c6474;margin-top:22px;line-height:1.85}
.team-grid .text-link,.team-resources .text-link{margin-top:23px}
.director-profile{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;padding-top:42px;border-top:1px solid #c8d4dc;margin-top:55px}
.director-profile h2{font-size:42px;margin-top:14px}
.director-profile p{margin-top:0}
.director-profile .text-link{margin-top:20px}
.team-resources{padding-top:0}
.team-resources figure img{width:100%;aspect-ratio:1.2;object-fit:cover}
.team-resources figcaption{font-size:11px;color:#506c7d;padding:15px 0}
.case-depth{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:38px 0;border-top:1px solid #c8d4dc;border-bottom:1px solid #c8d4dc;margin-bottom:30px}
.case-depth h3{font-size:25px;line-height:1.25}
.case-depth p{font-size:15px;color:#506778;line-height:1.85;margin-top:17px}
.case-own-photo img{width:100%;max-height:670px;object-fit:contain;background:#e2e8ec}
.case-own-photo figcaption{font-size:11px;color:#506778;margin-top:13px}
@media(max-width:1200px){
  nav{gap:16px}.brand>span{font-size:13px}.brand em{font-size:7px}
  .prefab-layout,.capability-hero-layout{gap:45px}.capability-detail-layout{gap:45px}
  .ng-hero{min-height:850px}.ng-hero h1{font-size:clamp(58px,6.8vw,85px)}
}
@media(max-width:900px){
  .prefab-layout,.capability-hero-layout{gap:40px;grid-template-columns:1fr 1fr}
  .prefab-copy h2{font-size:42px}.prefab-copy .lead{font-size:18px}
  .fabrication-note{left:14px;padding:19px}.fabrication-note p{font-size:13px}
  .capability-hero h1{font-size:46px}.capability-hero .capability-subtitle{font-size:18px}
  .capability-detail-layout,.team-grid{gap:40px}.delivery-steps{gap:25px}
}
@media(max-width:700px){
  .brand em{display:none}.brand>span{font-size:11px}nav{gap:0}
  .ng-hero{min-height:770px}.ng-hero h1{font-size:clamp(40px,10.5vw,62px);letter-spacing:-.05em}
  .ng-hero .hero-content{padding-top:45px;padding-bottom:145px}
  .ng-hero .hero-intro{font-size:13px;max-width:400px;margin-top:25px}
  .ng-hero .hero-actions{gap:10px}.ng-hero .hero-actions .button{font-size:10px;padding:14px 14px;gap:14px}
  .ng-hero .hero-services{font-size:6px;gap:9px;letter-spacing:.08em}
  .prefab-layout{grid-template-columns:1fr;gap:48px}.prefab-copy h2{font-size:40px}
  .prefab-copy .lead{font-size:18px}.prefab-copy>p:not(.eyebrow):not(.lead){font-size:13px}
  .prefab-visual{margin-right:14px;margin-bottom:24px}.prefab-label{bottom:82px;padding-left:18px}
  .fabrication-note{left:14px;right:-7px;padding:18px 20px;bottom:-23px}.fabrication-note p{font-size:14px}
  .capability-item{grid-template-columns:28px 1fr 21px;gap:13px;padding:25px 0}
  .capability-item h3{font-size:22px}.capability-item p{font-size:13px;margin-top:11px}
  .capability-index{font-size:10px;margin-top:5px}.capability-item>svg{width:20px;height:20px}
  .domestic-route{gap:12px;margin-top:26px}.domestic-route .text-link{font-size:11px}
  .delivery-steps{grid-template-columns:1fr;gap:30px;margin-top:30px}
  .delivery-steps li{display:grid;grid-template-columns:40px 1fr;gap:0 18px;padding-top:23px}
  .delivery-steps span{grid-column:1;grid-row:1/3;font-size:30px}.delivery-steps h3{margin-top:0;font-size:22px;grid-column:2}
  .delivery-steps p{grid-column:2;font-size:13px;margin-top:12px}.delivery-evidence{font-size:12px;margin-top:30px}
  .ng-about .about-copy h2{font-size:38px}.footer-capabilities{gap:3px 18px;padding:19px 0}
  .footer-capabilities a{font-size:10px;min-height:44px}.optional{font-size:10px}
  select{font-size:16px}.drawing-note{font-size:11px}
  .capability-hero{padding:27px 0 58px}.capability-hero-layout{grid-template-columns:1fr;gap:36px}
  .capability-hero .breadcrumb{font-size:11px;margin-bottom:17px}.capability-hero .eyebrow{font-size:8px}
  .capability-hero h1{font-size:clamp(38px,10vw,48px)}.capability-hero .capability-subtitle{font-size:18px;margin-top:22px}
  .capability-hero p:not(.eyebrow):not(.capability-subtitle){font-size:13px;margin-top:18px}
  .capability-hero figure img{aspect-ratio:1.5}.team-hero figure img{aspect-ratio:1}
  .capability-hero figcaption{font-size:9px;padding:13px 15px}.capability-hero .button{font-size:11px;margin-top:25px}
  .capability-detail-layout,.team-grid,.director-profile{grid-template-columns:1fr;gap:35px}
  .capability-text h2{font-size:27px}.capability-text p{font-size:13px}.capability-text+.capability-text{margin-top:30px}
  .capability-detail .scope-panel h2{font-size:25px}.capability-next{gap:20px;padding-top:24px}
  .capability-next .button{font-size:11px}.team-grid h2,.team-resources h2{font-size:35px}
  .team-grid p:not(.eyebrow),.team-resources p:not(.eyebrow),.director-profile p{font-size:13px;margin-top:20px}
  .director-profile{margin-top:37px;padding-top:29px;gap:20px}.director-profile h2{font-size:34px}.director-profile p{margin-top:0}
  .case-depth{grid-template-columns:1fr;gap:28px;padding:27px 0}.case-depth h3{font-size:23px}.case-depth p{font-size:13px;margin-top:14px}
}
@media(prefers-reduced-motion:reduce){.capability-item{transition:none}}

/* Final presentation: shorter project summaries, delivery evidence and a shareable brochure. */
.featured-grid .project-scope{font-size:14px;line-height:1.8}
.project-card h3[id]{scroll-margin-top:135px}
.delivery-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.download-note{font-size:11px;color:#627b8b;margin-top:16px}
.quality-hero{padding-bottom:85px}
.handover-preview{padding:34px 36px;background:linear-gradient(145deg,#fdfdf9,#e8edf0);color:#172d3e;border-top:4px solid #f77b24;transform:rotate(2deg);box-shadow:0 22px 70px #0007;position:relative}
.handover-preview:before{content:'';position:absolute;inset:14px -12px -12px 14px;border:1px solid #89a8bd66;z-index:-1}
.record-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #c8d2d9;padding-bottom:22px}
.record-top span{font-size:9px;line-height:1.8;text-align:right;letter-spacing:.1em;font-weight:700;color:#536e7e}
.handover-preview h2{font-family:var(--body);font-size:36px;line-height:1.1;letter-spacing:-.04em;margin-top:27px}
.handover-preview ol{padding:0;list-style:none;margin-top:26px}
.handover-preview li{display:flex;gap:17px;padding:14px 0;border-bottom:1px solid #c9d4da;font-size:13px;line-height:1.5}
.handover-preview li span{color:#b95611;font-size:10px;font-weight:700;align-self:center}
.quality-hero .handover-preview p:not(.eyebrow):not(.capability-subtitle){font-size:11px;line-height:1.7;color:#546e7e;margin-top:24px}
.quality-method-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:90px;align-items:start}
.quality-intro{font-size:15px;line-height:1.85;color:#4c6474;margin-top:25px;max-width:370px}
.quality-stage{display:grid;grid-template-columns:44px 1fr;gap:24px;border-top:1px solid #c5d1da;padding:28px 0 34px}
.quality-stage>span{font-size:25px;font-weight:800;color:#a5b8c4;line-height:1.4}
.quality-stage .eyebrow{font-size:9px;margin-bottom:12px}
.quality-stage h2{font-family:var(--body);font-size:27px;line-height:1.25;letter-spacing:-.03em}
.quality-stage p:not(.eyebrow){font-size:14px;line-height:1.85;color:#4e6676;margin-top:16px}
.quality-evidence{padding-top:0}
.quality-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.quality-projects .project-copy{padding:28px}
.capability-download{background:radial-gradient(ellipse at 90% 40%,#24475d,#081421 75%);color:#fff;overflow:hidden}
.capability-download-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:center}
.capability-download h2 span{color:#ff922b}
.capability-download p:not(.eyebrow):not(.download-note){font-size:15px;line-height:1.85;color:#b9cedd;max-width:540px;margin-top:24px}
.download-actions{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin-top:30px}
.capability-download .button.dark{background:linear-gradient(155deg,#ff9937,#ed5a08);color:#14202a;border-color:#ffa84e}
.capability-download .text-link{color:#ffb575}
.capability-download .download-note{color:#9ab1c1}
.brochure-cover{display:block;background:#f5f5ef;color:#172d3e;padding:27px 28px 20px;transform:rotate(5deg);border-top:4px solid #f87925;box-shadow:0 24px 50px #0006;max-width:340px;margin-inline:auto;transition:transform .2s}
.brochure-cover:hover{transform:rotate(2deg)}
.brochure-cover>span{display:block;font-size:8px;font-weight:700;letter-spacing:.08em;line-height:1.6}
.brochure-cover>strong{display:block;font-size:28px;line-height:1.1;letter-spacing:-.04em;margin:24px 0 20px}
.brochure-cover img{width:100%;height:210px;object-fit:cover;border-bottom:3px solid #f87925}
.brochure-cover small{display:block;font-size:8px;font-weight:700;line-height:1.7;margin-top:16px;letter-spacing:.08em}
.contact-email{overflow-wrap:anywhere}
@media(max-width:1050px) and (min-width:951px){
  .header-inner{min-height:88px}.menu-toggle{display:flex;align-items:center;gap:13px;min-height:44px;background:#11283a;border:1px solid #546e815c;border-radius:4px;padding:10px 14px;color:#c9d9e5;font-size:11px}
  nav{display:none;position:absolute;top:88px;left:0;right:0;background:#0e2537;border-top:1px solid #38556d;border-bottom:1px solid #476276;padding:15px 28px 27px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 35px #0005}
  nav.open{display:flex}nav>a:not(.button){padding:16px 0;border-bottom:1px solid #314d6366}nav>.button{align-self:flex-start;margin-top:20px}
}
@media(max-width:1000px){.quality-method-layout{gap:45px}.capability-download-layout{gap:55px}.handover-preview{padding:28px}}
@media(max-width:700px){
  .featured-grid .project-scope{font-size:13px}
  .delivery-actions{align-items:flex-start;gap:21px}.delivery-actions .button{font-size:11px;width:100%;max-width:360px}
  .quality-hero{padding-bottom:65px}.handover-preview{padding:25px;transform:rotate(1deg);margin-right:8px}
  .record-top{padding-bottom:18px}.record-top img{width:54px;height:54px}.record-top span{font-size:8px}
  .handover-preview h2{font-size:31px;margin-top:23px}.handover-preview li{font-size:12px;gap:13px;padding:13px 0}
  .quality-method-layout,.capability-download-layout{grid-template-columns:1fr;gap:34px}
  .quality-intro{font-size:13px;margin-top:22px;max-width:none}.quality-stage{grid-template-columns:29px 1fr;gap:16px;padding:23px 0 28px}
  .quality-stage>span{font-size:22px}.quality-stage h2{font-size:24px}.quality-stage p:not(.eyebrow){font-size:13px;margin-top:14px}
  .quality-projects{grid-template-columns:1fr;gap:24px}.quality-projects .project-copy{padding:26px 24px}
  .capability-download p:not(.eyebrow):not(.download-note){font-size:13px;margin-top:21px}.download-actions{gap:24px;margin-top:25px}
  .download-actions .button{font-size:11px}.brochure-cover{width:min(100%,290px);margin-block:18px 10px;padding:24px;transform:rotate(3deg)}
  .brochure-cover>strong{font-size:26px}.brochure-cover img{height:180px}
  #enquiry-form input:not([type=hidden]),#enquiry-form textarea{font-size:16px}
  .contact-email{font-size:14px}.whatsapp-float span{display:none}.whatsapp-float{padding:12px;min-height:48px;min-width:48px;bottom:16px;right:16px}
}
@media(prefers-reduced-motion:reduce){.brochure-cover{transition:none}.brochure-cover:hover{transform:rotate(5deg)}}
