/* Dedicated mobile composition. All desktop rules and artwork are preserved. */
.mobile-services-hero,.mobile-service-photo{display:none}
@media(max-width:850px){
 body .shared-header{height:auto;min-height:0}
 body .shared-header .shared-frame{min-height:0;height:auto;grid-template-columns:minmax(0,1fr) 130px;grid-template-rows:auto auto;gap:8px 16px;padding:14px 20px 8px;justify-items:stretch}
 body .shared-header .shared-logo{width:220px;height:44px;align-self:center}
 body .shared-header .shared-quote{grid-column:2;grid-row:1;width:130px;min-height:44px;padding:8px 10px;font-size:13px;white-space:normal;gap:8px;justify-self:end}
 body .shared-header .shared-nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:8px;width:100%;max-width:420px;justify-self:center;font-size:15px}
 body .shared-header .shared-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 4px}
 body .shared-footer .shared-frame{min-height:0;padding:30px 20px;gap:20px;grid-template-columns:minmax(0,1fr)}
 body .shared-footer .shared-logo{width:220px;height:44px}
 body .shared-footer .shared-nav{gap:0;flex-wrap:wrap;font-size:15px}
 body .shared-footer .shared-nav a,body .shared-footer .shared-nav a+a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:0}
 body .shared-pillars{white-space:normal;font-size:12px;line-height:1.8;letter-spacing:.06em;margin-top:10px}
 body .shared-pillars b{padding:0 5px}
 body .shared-sign img{width:270px;height:65px}
 body .shared-sign p{font-size:12px}
 /* Home: keep the copy in normal flow so text enlargement cannot clip it. */
 .home-page .hero{min-height:0}
 .home-page .hero-copy{position:relative;inset:auto;width:auto;margin:0;padding:36px 24px 48px}
 .home-page .hero-image{inset:0;width:100%;height:100%;object-fit:cover;object-position:58% center;transform:none}
 .home-page .hero-shirt-retouch{display:none}
 .home-page .left-shade{background:linear-gradient(90deg,#031f38f5,#031f38d9 65%,#031f3899)}
 .home-page .hero h1{font-size:clamp(38px,9vw,58px);line-height:1.02;letter-spacing:-.025em}
 .home-page .hero-copy .eyebrow{font-size:12px;letter-spacing:.09em;white-space:normal;line-height:1.6}
 .home-page .hero-copy .eyebrow b{margin-inline:5px}
 .home-page .hero-copy>p{width:100%;max-width:460px;font-size:16px;line-height:1.55}
 .home-page .hero-actions{flex-wrap:wrap;gap:12px;margin-top:20px}
 .home-page .btn{height:auto;min-height:46px;padding:12px 18px;font-size:14px}
 .home-page .hero-services{width:390px;max-width:100%;margin-top:28px}
 .home-page .mini span{font-size:12px;line-height:1.4}
 .home-page .service-card p{margin-left:0;font-size:16px;line-height:1.55}
 .home-page .support-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0}
 .home-page .requirements-kicker{line-height:1.5}
 /* Services: crop only the intended photo; never stretch a whole-page strip. */
 .services-page .hero-inner{min-height:0;display:flex;flex-direction:column}
 .services-page .hero-art{display:none}
 .services-page .mobile-services-hero{display:block;width:100%;height:auto;aspect-ratio:542/275;order:2}
 .services-page .hero-copy{width:100%;padding:32px 24px;background:#3c5d73}
 .services-page .eyebrow{font-size:14px;line-height:1.5;margin-bottom:14px}
 .services-page h1{font-size:clamp(28px,7.6vw,46px);line-height:1.12;white-space:normal;margin-bottom:20px}
 .services-page .hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.55;max-width:560px;margin-bottom:24px}
 .services-page .button{font-size:15px;min-height:46px;padding:13px 20px;white-space:normal}
 .services-page .service,.services-page .engineering{background:var(--paper)}
 .services-page .service-inner,.services-page .logistics .service-inner{min-height:0;padding:0;display:flex;flex-direction:column}
 .services-page .photo,.services-page .engineering .photo,.services-page .logistics .photo{position:relative;inset:auto;width:100%;height:auto;clip-path:none;order:0;background:#3c5d73}
 .services-page .photo>svg:not(.mobile-service-photo){display:none}
 .services-page .photo>svg.mobile-service-photo{display:block;position:static;inset:auto;width:100%;height:clamp(240px,68vw,380px);max-width:560px;margin:auto;overflow:hidden}
 .services-page .side-panel,.services-page .engineering .side-panel{position:relative;inset:auto;width:100%;height:auto;clip-path:none;box-shadow:none;background:#3c5d73;order:1}
 .services-page .side-panel:before,.services-page .photo-edge,.services-page .logistics .service-inner:after{display:none}
 .services-page .side-panel span,.services-page .engineering .side-panel span{position:static;display:block;padding:16px 24px;font:600 14px/1.6 Arial,sans-serif;letter-spacing:.04em}
 .services-page .side-panel span br{display:none}
 .services-page .side-panel span br:after{content:' '}
 .services-page .side-panel span:after{display:none}
 .services-page .service-copy,.services-page .engineering .service-copy{width:auto;margin:0;padding:28px 24px 34px;order:2}
 .services-page .heading{gap:14px;min-height:44px;margin-bottom:18px}
 .services-page .heading>svg{width:44px;height:44px}
 .services-page .heading h2{font-size:clamp(19px,4.8vw,26px);white-space:normal;line-height:1.2;margin:0 0 6px}
 .services-page .heading h3{font-size:15px;line-height:1.4}
 .services-page .service-copy>p,.services-page .service ul{font-size:16px;line-height:1.6}
 .services-page .service-copy>p{margin-bottom:18px}
 .services-page .service li{padding-left:20px;margin-bottom:5px}
 .services-page .service li:before{width:7px;height:7px;top:9px}
 .services-page .approach-inner{padding:32px 24px}
 .services-page .approach-intro{display:block}
 .services-page .approach-intro h2{font-size:28px;white-space:normal}
 .services-page .approach-intro>p{width:auto;font-size:16px;line-height:1.55;margin:18px 0 26px}
 .services-page .approach ol{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px;margin:0}
 .services-page .approach li{width:auto}
 .services-page .approach li+li:before{display:none}
 .services-page .step-icon{width:44px;height:44px;margin:0 auto 14px}
 .services-page .approach ol h3{font-size:15px;line-height:1.4;margin-bottom:8px}
 .services-page .approach ol p{font-size:14px;line-height:1.5}
 .services-page .contact-inner{padding:28px 24px;display:flex;flex-direction:column;align-items:flex-start}
 .services-page .support-copy{align-items:flex-start;gap:14px}
 .services-page .support-copy h2{font-size:24px;line-height:1.25}
 .services-page .support-copy p{font-size:16px;line-height:1.55}
 .services-page .support-actions{margin:0}
 /* About: readable cards replace the compressed desktop columns. */
 .about-page .hero-frame{height:auto;min-height:0;padding-top:0;display:flex;flex-direction:column}
 .about-page .hero-frame>.section-art{display:none}
 .about-page .mobile-hero-art{display:block;position:relative;inset:auto;width:100%;height:230px;z-index:auto;order:2}
 .about-page .about-hero .hero-copy{width:100%;height:auto;min-height:0;padding:32px 24px;background:#1b2833}
 .about-page .about-hero h1{font-size:38px;line-height:1.1}
 .about-page .about-hero h1 em{white-space:normal;font-size:.8em}
 .about-page .about-hero .hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.6;max-width:none}
 .about-page .story-grid{display:block;min-height:0}
 .about-page .story-copy{padding:32px 24px}
 .about-page .story-copy h2{font-size:27px;line-height:1.2}
 .about-page .story-copy p:not(.eyebrow){font-size:16px;line-height:1.6}
 .about-page .purpose{min-height:440px;border:0}
 .about-page .purpose-copy{padding:32px 24px 50px;min-height:0;background:linear-gradient(#324354 80%,transparent)}
 .about-page .purpose-copy>p:not(.eyebrow){font-size:20px;max-width:440px}
 .about-page .principles{display:grid;grid-template-columns:1fr;padding:32px 24px;gap:28px}
 .about-page .principles article{flex-direction:row;gap:18px}
 .about-page .principles h3{font-size:15px}
 .about-page .principles p,.about-page .principles ul{font-size:16px;line-height:1.55}
 .about-page .commitment-frame{height:auto;min-height:0}
 .about-page .commitment-content{margin:0;padding:32px 20px;background:#24323df2}
 .about-page .commitment-grid{grid-template-columns:1fr 1fr;gap:28px 0}
 .about-page .commitment-grid h3{font-size:16px;line-height:1.3;min-height:42px;margin-bottom:12px}
 .about-page .commitment-grid p{font-size:16px;line-height:1.5}
 .about-page .industry-grid{grid-template-columns:1fr 1fr}
 .about-page .industry-label{--caption-offset:0px;min-height:116px;padding:16px 10px}
 .about-page .industry-label:before,.about-page .industry-label:after{display:none}
 .about-page .industry-photo{height:150px}
 .about-page .industry-label h3{font-size:15px;white-space:normal}
 /* Contact: separate artwork from the form's independent content height. */
 .contact-page .contact-hero{background:none}
 .contact-page .contact-hero-frame{height:auto;padding:0;overflow:visible}
 .contact-page .contact-hero-frame:before{content:'';display:block;height:220px;background:url('assets/master4-earth-sharper.svg') 75% 9%/auto 900px no-repeat}
 .contact-page .contact-hero .hero-copy{height:auto;width:100%;padding:28px 24px 20px;background:#021625}
 .contact-page .contact-hero h1{font-size:clamp(34px,8.5vw,46px);line-height:1.08;margin-bottom:24px}
 .contact-page .contact-hero h1 br{display:initial}
 .contact-page .contact-hero .hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.55;max-width:560px}
 .contact-page .hero-support{font-size:12px;line-height:1.7;letter-spacing:.15em}
 .contact-page .hero-support>span:last-child{font-size:12px}
 .contact-page .hero-pillars{position:relative;inset:auto;width:auto;max-width:100%;padding:16px 24px 28px;gap:10px;justify-content:center;flex-wrap:wrap;font-size:12px;letter-spacing:.12em}
 .contact-page .hero-pillars b{padding:0}
 .contact-page .contact-grid{height:auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);padding:0 20px 28px;gap:28px;transform:none;margin:0}
 .contact-page .contact-details{display:block;padding:24px 4px 0}
 .contact-page .contact-details h2{font-size:30px}
 .contact-page .contact-details>p:not(.eyebrow):not(.contact-promise){font-size:16px;line-height:1.55}
 .contact-page .contact-method{font-size:16px;gap:14px;margin-top:22px}
 .contact-page .contact-separator{display:none}
 .contact-page .whatsapp{display:inline-flex;min-height:44px;align-items:center;margin:8px 0 0 64px}
 .contact-page .enquiry-card{height:auto;min-height:0;padding:24px 18px;border-radius:10px}
 .contact-page .enquiry-card h2{font-size:29px;line-height:1.15}
 .contact-page .enquiry-card .eyebrow{font-size:13px;line-height:1.5}
 .contact-page .enquiry-card .inline-rule{display:none}
 .contact-page .form-intro{font-size:16px;line-height:1.5}
 .contact-page .form-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .contact-page .form-grid input,.contact-page .form-grid select,.contact-page .form-grid textarea{font-size:16px;min-height:46px}
 .contact-page .form-grid textarea{height:150px;min-height:150px}
 .contact-page .attachment-note{align-items:flex-start}
 .contact-page .attachment-note p,.contact-page .send-note{font-size:14px;line-height:1.5}
 .contact-page .enquiry-card .button{min-width:0;width:100%;min-height:48px;font-size:16px}
 .contact-page .assurance-grid{height:auto;grid-template-columns:1fr;padding:28px 24px;gap:30px}
 .contact-page .assurance-grid article+article:before{display:none}
 .contact-page .assurance-grid h3,.contact-page .assurance-grid p{font-size:16px;line-height:1.5}
 .contact-page .malaysia-frame{height:260px;background-size:auto 1400px;background-position:center 90%}
 .contact-page .malaysia-copy{bottom:14px;padding:32px 20px 8px;background:linear-gradient(transparent,#021625e8 45%)}
 .contact-page .malaysia-copy p{font-size:12px;line-height:1.6;letter-spacing:.12em}
}
@media(max-width:520px){
 body .shared-header .shared-frame{grid-template-columns:minmax(0,1fr) 112px;padding-inline:16px;gap:6px 12px}
 body .shared-header .shared-logo{width:184px;height:40px}
 body .shared-header .shared-quote{width:112px;font-size:12px}
 .home-page .hero-actions{display:grid;grid-template-columns:1fr;width:100%}
}

/* Direct enquiry feedback, hidden until Formspree confirms its state. */
.contact-page [data-fs-success]:not([data-fs-active]),.contact-page [data-fs-error]:not([data-fs-active]){display:none}
.contact-page [data-fs-success][data-fs-active]{color:#155b36;background:#e3f4e9;padding:12px;line-height:1.5}
.contact-page [data-fs-error][data-fs-active]{color:#a02727;font-size:14px;line-height:1.5}
.contact-page [data-fs-field][aria-invalid="true"]{border-color:#a02727}
.contact-page button:disabled{opacity:.65;cursor:wait}
.contact-page #email-fallback{display:inline-block;margin-top:12px;overflow-wrap:anywhere}
