/* Compact corporate About page; existing shared layouts remain unchanged. */
html:has(.corporate-about-page) { scroll-behavior: auto; }
.corporate-about-page { --about-text:#303a36; --about-muted:#66736d; --about-line:#dfe6e1; color:var(--about-text); background:#fff; }
.corporate-about-page h1,.corporate-about-page h2,.corporate-about-page h3 { font-family:Arial,Helvetica,sans-serif; letter-spacing:-.02em; }
.corporate-about-page :is(a,button,input,select,textarea):focus-visible { outline:3px solid #3a8b6b; outline-offset:4px; }
.about-shell { width:min(1280px,calc(100% - 64px)); margin-inline:auto; }
.about-section { padding-block:64px; scroll-margin-top:100px; }
.about-kicker { margin:0 0 12px; color:#28775e; font-size:13px; font-weight:600; }
.corporate-about-page h2 { margin:0 0 20px; color:#173d30; font-size:clamp(27px,2.5vw,34px); font-weight:600; line-height:1.25; }
.about-masthead { position:relative; display:flex; align-items:center; min-height:285px; overflow:hidden; background:#e9eeeb; }
.about-masthead-photo { position:absolute; right:0; top:0; display:block; width:60%; height:100%; object-fit:cover; object-position:center 56%; }
.about-masthead::after { position:absolute; content:''; inset:0; background:linear-gradient(90deg,#edf2ef 0%,#edf2ef 36%,#edf2eff2 43%,#edf2ef00 69%); }
.about-masthead .about-shell { position:relative; z-index:1; }
.about-masthead-copy { max-width:570px; padding-block:40px; }
.about-masthead h1 { margin:0 0 17px; color:#173d30; font-size:44px; line-height:1.1; font-weight:600; }
.about-masthead-copy > p:last-child { color:#536c60; font-size:17px; line-height:1.7; margin:0; }
.about-page-nav { border-bottom:1px solid var(--about-line); }
.about-page-nav > div { display:flex; justify-content:space-between; gap:30px; min-height:66px; align-items:center; }
.about-page-nav nav { display:flex; align-items:center; gap:24px; font-size:13px; }
.about-page-nav nav:first-child { gap:12px; color:#76877e; }
.about-page-nav nav:last-child { color:#405f4f; }
.about-page-nav a:hover { color:#278363; text-decoration:underline; text-underline-offset:5px; }
.about-profile { display:grid; grid-template-columns:1fr 1.05fr; gap:64px; align-items:center; }
.about-profile-copy p:not(.about-kicker) { margin:0 0 16px; color:var(--about-muted); font-size:15px; line-height:1.8; }
.about-profile-copy p.about-lead { color:#344a3e; font-size:19px; line-height:1.55; }
.about-text-link { display:inline-flex; align-items:center; gap:22px; color:#276f52; font-size:14px; font-weight:600; }
.about-text-link:hover { text-decoration:underline; text-underline-offset:4px; }
.about-profile-copy .about-text-link { margin-top:8px; }
.about-profile-image { margin:0; border:1px solid var(--about-line); background:#fff; }
.about-profile-image > a { display:block; position:relative; }
.about-profile-image img { display:block; width:100%; height:auto; object-fit:contain; }
.about-expand { position:absolute; right:14px; bottom:14px; display:grid; place-items:center; width:32px; height:32px; color:#326e56; background:white; border:1px solid var(--about-line); }
.about-profile-image figcaption { border-top:1px solid var(--about-line); padding:18px 22px; background:#f6f8f6; }
.about-profile-image strong { display:block; color:#304d3e; font-size:15px; font-weight:600; }
.about-profile-image figcaption > span { display:block; color:#758479; font-size:12px; margin-top:5px; }
.about-range-section { background:#f4f6f4; border-block:1px solid #e9eeea; }
.about-section-heading { text-align:center; max-width:760px; margin:0 auto 32px; }
.about-section-heading h2 { margin-bottom:14px; }
.about-section-heading > p:last-child:not(.about-kicker) { margin:0; color:var(--about-muted); font-size:15px; line-height:1.7; }
.about-range-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.about-range-grid article { background:white; border:1px solid var(--about-line); display:flex; flex-direction:column; }
.about-range-photo { display:block; height:260px; padding:20px; background:#fff; }
.about-range-photo img { width:100%; height:100%; object-fit:contain; display:block; }
.about-range-grid article > div { display:flex; flex:1; flex-direction:column; padding:24px; border-top:1px solid #edf0ed; }
.about-range-grid h3,.about-gallery-grid h3 { margin:0 0 12px; color:#264637; font-size:20px; line-height:1.3; font-weight:600; }
.about-range-grid p { color:var(--about-muted); font-size:14px; line-height:1.75; margin:0 0 22px; }
.about-range-grid .about-text-link { margin-top:auto; }
.about-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.about-gallery-grid figure { margin:0; min-width:0; }
.about-gallery-grid figure > a { display:block; background:#f2f5f2; }
.about-gallery-grid img { width:100%; aspect-ratio:4/3; display:block; object-fit:cover; }
.about-gallery-grid figcaption { padding-block:20px 0; }
.about-gallery-grid h3 { font-size:18px; margin-bottom:7px; }
.about-gallery-grid p { font-size:14px; color:var(--about-muted); line-height:1.6; margin:0; }
.about-contact-section { border-top:1px solid var(--about-line); background:#f1f5f2; scroll-margin-top:78px; }
.about-contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:start; }
.about-contact-intro { font-size:15px; line-height:1.8; color:var(--about-muted); max-width:410px; }
.about-contact-details { margin:26px 0 0; }
.about-contact-details > div { padding:18px 0; border-top:1px solid #d8e2da; }
.about-contact-details dt { color:#718278; font-size:12px; margin-bottom:8px; }
.about-contact-details dd { margin:0; color:#2c5140; font-size:16px; line-height:1.7; }
.about-contact-details address { font-style:normal; font-size:14px; }
.about-contact-details a { font-weight:600; }
.about-enquiry-form { padding:30px; background:white; border:1px solid var(--about-line); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.about-enquiry-form h3 { grid-column:1/-1; margin:0 0 2px; color:#274c39; font-size:23px; font-weight:600; }
.about-enquiry-form label { color:#51695a; font-size:13px; line-height:1.5; }
.about-enquiry-form input,.about-enquiry-form select,.about-enquiry-form textarea { display:block; width:100%; min-width:0; margin-top:8px; padding:12px; border:1px solid #d8e0d9; border-radius:0; background:#fcfdfc; font-size:14px; color:#344b3c; }
.about-enquiry-form textarea { resize:vertical; }
.about-form-wide { grid-column:1/-1; }
.about-button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:13px 24px; gap:24px; color:#fff; border:1px solid #15503b; background:#15503b; cursor:pointer; font-size:14px; font-weight:600; }
.about-button:hover { background:#287658; }
.about-form-note { color:#7a897e; font-size:12px; line-height:1.6; margin:12px 0 0; }
.about-footer { padding-block:32px; border-top:1px solid var(--about-line); background:#fff; }
.about-footer > div { display:flex; justify-content:space-between; gap:36px; align-items:center; }
.about-footer nav { display:flex; flex-wrap:wrap; gap:24px; color:#4c6455; font-size:13px; }
.about-footer p { color:#7c8980; font-size:12px; line-height:1.7; margin:10px 0 0; }
.about-footer > div > p { margin:0; text-align:right; }
@media(max-width:1050px) {
  .about-profile { gap:32px; }
  .about-contact-grid { gap:36px; }
  .about-range-grid,.about-gallery-grid { gap:18px; }
  .about-range-photo { height:230px; }
  .about-page-nav nav { gap:18px; }
}
@media(max-width:760px) {
  .about-shell { width:calc(100% - 40px); }
  .about-section { padding-block:42px; }
  .about-masthead { min-height:260px; }
  .about-masthead-photo { width:100%; opacity:.3; }
  .about-masthead::after { background:linear-gradient(90deg,#edf2effa,#edf2efba 70%,#edf2ef60); }
  .about-masthead h1 { font-size:36px; }
  .about-masthead-copy > p:last-child { font-size:15px; }
  .about-page-nav > div { display:block; padding-top:16px; }
  .about-page-nav nav:last-child { overflow-x:auto; white-space:nowrap; padding-block:17px; gap:22px; }
  .about-profile,.about-contact-grid { grid-template-columns:minmax(0,1fr); gap:30px; }
  .about-range-grid { grid-template-columns:minmax(0,1fr); }
  .about-range-photo { height:285px; }
  .about-gallery-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .about-enquiry-form { padding:23px; grid-template-columns:minmax(0,1fr); }
  .about-section-heading { text-align:left; margin-bottom:25px; }
  .about-footer > div { flex-direction:column; align-items:flex-start; gap:24px; }
  .about-footer > div > p { text-align:left; }
  .corporate-about-page .nav.open { max-height:460px; }
}
