/* Approved About composition. All rules are scoped to this page. */
.about-page { --about-navy:#061f2b; color:var(--ink); }
.about-page .container { max-width:1440px; }
.about-page h2 { font-size:clamp(28px,2.35vw,40px); line-height:1.12; letter-spacing:-1.3px; margin:0 0 16px; }
.about-page h3 { font-size:22px; line-height:1.25; margin:0; }
.about-page p { line-height:1.5; }
.about-page figure { margin:0; min-width:0; }
.about-page img { display:block; width:100%; height:100%; object-fit:cover; min-width:0; }
.about-red { color:var(--red); }
.about-yellow { color:var(--yellow); }
.about-page .about-label { display:flex; align-items:center; gap:12px; color:var(--red); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; margin:0 0 14px; }
.about-label::before { content:''; width:32px; height:3px; background:var(--red); flex:none; }
.about-page .button { min-height:46px; font-size:12px; padding:12px 26px; gap:28px; }
.about-hero { height:460px; position:relative; overflow:hidden; background:var(--about-navy); color:white; }
.about-hero>img { position:absolute; inset:0; object-position:center 45%; }
.about-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,25,38,.98) 0%,rgba(3,25,38,.89) 30%,rgba(3,25,38,.25) 58%,transparent 80%); }
.about-hero-content { position:relative; z-index:1; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; animation:about-enter .45s ease-out; }
.about-hero h1 { font-size:clamp(40px,3.5vw,62px); font-weight:800; line-height:1.02; letter-spacing:-1.6px; margin:0 0 18px; }
.about-hero h1 span { color:var(--yellow); }
.about-hero-content>p:last-child { max-width:510px; font-size:17px; margin:0; }
.about-page .about-hero .about-label,.about-page .about-approach .about-label,.about-page .about-cta .about-label { color:white; }
.about-hero .about-label::before,.about-approach .about-label::before,.about-cta .about-label::before { width:3px; height:20px; background:var(--yellow); }
.about-story { display:grid; grid-template-columns:38fr 38fr 24fr; gap:18px; padding-top:34px; padding-bottom:34px; align-items:stretch; }
.about-story-copy { padding:6px 28px 0 0; }
.about-story-copy h2 { font-size:clamp(27px,2.1vw,36px); }
.about-story-copy>p:not(.about-label) { color:#616568; font-size:15px; margin:0 0 13px; }
.about-story .about-story-main { min-height:480px; max-height:560px; }
.about-story-details { display:grid; grid-template-rows:1fr 1fr; gap:16px; min-height:0; }
.about-story-details img { min-height:0; max-height:272px; }
.about-approach { display:grid; grid-template-columns:57fr 43fr; background:var(--about-navy); color:white; }
.about-approach>img { height:420px; object-fit:cover; object-position:center 42%; }
.about-approach-copy { padding:32px max(36px,calc((100vw - 1440px)/2)) 30px 38px; align-self:center; }
.about-approach h2 { font-size:clamp(28px,2.2vw,38px); }
.about-approach-copy>p:not(.about-label) { margin:0; font-size:15px; }
.about-approach-labels { display:flex; justify-content:space-between; list-style:none; margin:26px 0 0; padding:0; gap:16px; }
.about-approach-labels li { display:flex; align-items:center; gap:12px; font-size:11px; font-weight:600; }
.about-approach-labels .icon { border:2px solid var(--red); border-radius:50%; width:52px; height:52px; padding:11px; color:white; flex:none; }
.about-principles { padding-top:34px; padding-bottom:36px; }
.about-principles-intro { display:grid; grid-template-columns:57fr 43fr; gap:32px; align-items:center; margin-bottom:20px; }
.about-principles-intro>p { color:#616568; max-width:560px; margin:0; }
.about-principle-list { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); padding:0; margin:0; }
.about-principle-list li { border-left:1px solid #c7cdd3; padding:0 30px; }
.about-principle-list li>span { color:#ccd6df; font:700 60px/1.05 Poppins,Arial,sans-serif; }
.about-principle-list h3 { margin-top:8px; }
.about-principle-list h3::after { content:''; display:block; height:3px; width:28px; background:var(--yellow); margin:14px 0; }
.about-principle-list p { color:#616568; font-size:14px; margin:0; }
.about-engineering { background:#f3f6f7; }
.about-gallery-section { display:grid; grid-template-columns:36fr 64fr; gap:30px; padding-top:26px; padding-bottom:26px; }
.about-gallery-copy { padding:10px 18px 0 0; }
.about-gallery-copy h2 { font-size:clamp(27px,2.2vw,38px); }
.about-gallery-copy>p:not(.about-label) { font-size:15px; color:#616568; margin:0 0 20px; }
.about-gallery { display:grid; grid-template-columns:1.75fr 1fr; grid-template-rows:165px 165px; gap:16px; }
.about-gallery figure { position:relative; overflow:hidden; }
.about-gallery-main { grid-row:span 2; }
.about-gallery figcaption { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent,rgba(2,23,33,.95)); color:white; padding:24px 14px 12px; font-size:12px; font-weight:700; line-height:1.3; }
.about-photo-pending { background:#e2e8eb; display:flex; align-items:center; justify-content:center; text-align:center; padding:20px 18px 46px; color:#52616b; }
.about-photo-pending span { font-size:10px; letter-spacing:1px; text-transform:uppercase; }
.about-photo-pending p { margin:6px 0 0; font-size:14px; font-weight:600; }
.about-page .about-bordered { color:var(--ink); background:transparent; border:1px solid var(--red); }
.about-page .about-bordered:hover { background:white; }
.about-page .about-button-red { color:white; background:var(--red); border-color:var(--red); }
.about-page .about-button-red:hover { background:#c51017; }
.about-page .about-cta { background:var(--about-navy); }
.about-page .about-cta .container { min-height:220px; padding-top:32px; padding-bottom:32px; }
.about-page .about-cta h2 { text-transform:none; font-size:36px; margin:0; }
.about-page .about-cta p:not(.about-label) { max-width:620px; font-size:15px; }
.about-cta-actions { display:flex; gap:20px; flex:none; }
@keyframes about-enter { from { opacity:.65; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:1600px) { .about-story-copy { padding-right:35px; } }
@media(max-width:1200px) {
 .about-story { grid-template-columns:38fr 36fr 26fr; }
 .about-story-copy { padding-right:8px; }
 .about-story .about-story-main { max-height:none; }
 .about-story-details img { max-height:none; }
 .about-approach-copy { padding:30px; }
 .about-approach>img { height:100%; min-height:420px; }
 .about-approach-labels { gap:10px; }
 .about-approach-labels li { gap:7px; }
 .about-approach-labels .icon { width:38px; height:38px; padding:7px; }
 .about-gallery-section { gap:24px; }
 .about-gallery-copy { padding-right:0; }
 .about-gallery { grid-template-rows:180px 180px; gap:12px; }
 .about-principle-list li { padding:0 20px; }
}
@media(max-width:980px) {
 .about-story { grid-template-columns:1.1fr 1fr; gap:20px; }
 .about-story-copy { grid-row:span 2; }
 .about-story .about-story-main { min-height:0; height:350px; }
 .about-story-details { grid-template-columns:1fr 1fr; grid-template-rows:170px; gap:12px; }
 .about-approach { grid-template-columns:1fr 1fr; }
 .about-approach-copy { padding:28px 24px; }
 .about-approach-labels { flex-wrap:wrap; gap:14px; }
 .about-principles-intro { grid-template-columns:1fr 1fr; }
 .about-principle-list { grid-template-columns:1fr 1fr; row-gap:28px; }
 .about-gallery-section { grid-template-columns:1fr; }
 .about-gallery-copy { max-width:650px; }
 .about-gallery { grid-template-rows:170px 170px; }
 .about-page .about-cta .container { align-items:flex-start; flex-direction:column; }
}
@media(max-width:600px) {
 .about-page h2 { letter-spacing:-.8px; }
 .about-hero { height:460px; }
 .about-hero h1 { font-size:38px; letter-spacing:-1.3px; }
 .about-hero-content>p:last-child { font-size:15px; max-width:350px; }
 .about-hero>img { object-position:62% center; }
 .about-hero::after { background:linear-gradient(90deg,rgba(3,25,38,.94),rgba(3,25,38,.55)); }
 .about-story { grid-template-columns:1fr; padding-top:28px; padding-bottom:28px; }
 .about-story-copy { grid-row:auto; padding:0; }
 .about-story .about-story-main { height:380px; }
 .about-story-details { grid-template-rows:180px; }
 .about-approach { grid-template-columns:1fr; }
 .about-approach>img { min-height:0; height:300px; }
 .about-approach-copy { padding:30px 18px; }
 .about-approach-labels { flex-wrap:nowrap; gap:10px; }
 .about-approach-labels li { flex-direction:column; align-items:flex-start; font-size:10px; }
 .about-principles { padding-top:30px; padding-bottom:30px; }
 .about-principles-intro { grid-template-columns:1fr; gap:4px; margin-bottom:26px; }
 .about-principle-list li { padding:0 14px; }
 .about-principle-list li>span { font-size:46px; }
 .about-principle-list h3 { font-size:18px; }
 .about-principle-list p { font-size:13px; }
 .about-gallery-section { padding-top:26px; padding-bottom:26px; gap:22px; }
 .about-gallery { grid-template-columns:1fr 1fr; grid-template-rows:300px 170px; gap:12px; }
 .about-gallery-main { grid-row:auto; grid-column:span 2; }
 .about-gallery figcaption { font-size:10px; padding:22px 10px 10px; }
 .about-photo-pending { padding:14px 10px 40px; }
 .about-photo-pending span { font-size:9px; }
 .about-photo-pending p { font-size:12px; }
 .about-page .about-cta h2 { font-size:29px; }
 .about-cta-actions { gap:10px; flex-wrap:wrap; }
 .about-page .about-cta .button { padding:12px 18px; gap:14px; }
}
@media(prefers-reduced-motion:reduce) { .about-hero-content { animation:none; } }

