.about-page { background: var(--cream); }
.about-page .topbar { border-bottom: 1px solid rgba(23,61,34,.14); }

.about-hero { position: relative; overflow: hidden; padding: 110px 0 130px; background: #edf4e7; }
.about-hero::before { position:absolute; top:-180px; right:-100px; width:560px; height:560px; border:100px solid rgba(67,185,236,.22); border-radius:50%; content:''; }
.about-hero::after { position:absolute; right:-80px; bottom:-210px; width:620px; height:360px; border-radius:50%; background:rgba(105,184,31,.2); content:''; transform:rotate(-8deg); }
.about-hero-inner { position:relative; z-index:1; }
.about-hero h1 { max-width:950px; margin:0; color:var(--deep); font-family:var(--serif); font-size:clamp(3.5rem,7vw,7rem); line-height:1.08; letter-spacing:-.04em; }
.about-hero h1 span { color:var(--green); }
.about-hero-inner > p:last-child { max-width:680px; margin:30px 0 0; color:#465648; font-size:1.08rem; line-height:1.85; }

.mission-vision { padding:clamp(90px,10vw,140px) 0; }
.section-heading { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:48px; }
.section-heading h2,.values-heading h2,.story-copy h2,.gallery-heading h2 { margin:0; color:var(--deep); font-family:var(--serif); font-size:clamp(2.7rem,5vw,4.6rem); line-height:1.2; }
.belief-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.belief-panel { position:relative; min-height:430px; overflow:hidden; padding:clamp(34px,5vw,58px); }
.mission-panel { color:#fff; background:var(--deep); }
.vision-panel { color:var(--deep); background:#43b9ec; }
.belief-number { display:block; margin-bottom:60px; color:rgba(255,255,255,.2); font-family:var(--cond); font-size:5rem; font-weight:800; line-height:.8; }
.vision-panel .belief-number { color:rgba(8,43,22,.16); }
.belief-label { margin:0 0 8px; color:var(--green); font-size:.7rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.vision-panel .belief-label { color:var(--deep); }
.belief-panel h3 { margin:0 0 20px; font-family:var(--serif); font-size:clamp(1.6rem,3vw,2.5rem); font-style:italic; line-height:1.35; }
.mission-panel h3 { color:#fff; }
.belief-panel > p:last-of-type { margin:0; max-width:560px; font-size:1rem; line-height:1.9; }
.belief-panel cite { display:block; margin-top:22px; font-size:.74rem; font-style:normal; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }

.core-values { padding:clamp(90px,10vw,140px) 0; color:#fff; background:var(--forest); }
.values-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(60px,9vw,130px); align-items:start; }
.values-heading { position:sticky; top:40px; }
.values-heading h2 { color:#fff; }
.values-heading > p:last-child { max-width:410px; color:rgba(255,255,255,.68); line-height:1.8; }
.values-list { margin:0; padding:0; list-style:none; }
.values-list li { display:grid; grid-template-columns:80px 1fr; gap:25px; align-items:center; padding:19px 0; border-top:1px solid rgba(255,255,255,.16); }
.values-list b { color:var(--gold); font-family:var(--cond); font-size:3rem; line-height:1; }
.values-list span { font-family:var(--serif); font-size:clamp(1.3rem,2.5vw,2rem); }

.our-story { padding:clamp(90px,10vw,150px) 0; background:#fff; }
.story-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(55px,9vw,120px); align-items:start; }
.story-image { position:sticky; top:40px; }
.story-image::before { position:absolute; inset:22px -22px -22px 22px; border:3px solid var(--green); content:''; }
.story-image img { position:relative; width:100%; min-height:560px; object-fit:cover; filter:sepia(.08) saturate(.88); }
.story-image span { position:absolute; right:-22px; bottom:28px; padding:12px 20px; color:var(--deep); background:var(--gold); font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.story-copy h2 { margin-bottom:30px; }
.story-copy > p:not(.kicker) { margin:0 0 24px; color:#465648; font-size:.97rem; line-height:1.95; }

.story-gallery { padding:clamp(90px,10vw,140px) 0; background:#edf4e7; }
.gallery-heading { display:grid; grid-template-columns:1fr .8fr; gap:60px; align-items:end; margin-bottom:45px; }
.gallery-heading > p { margin:0 0 8px; color:#526154; line-height:1.8; }
.gallery-carousel { position:relative; }
.gallery-controls { position:absolute; top:50%; right:8px; left:8px; z-index:3; display:flex; align-items:center; justify-content:space-between; margin:0; pointer-events:none; transform:translateY(-50%); }
.gallery-controls span { display:none; }
.gallery-controls button { display:grid; width:48px; height:48px; flex:0 0 48px; place-items:center; border:2px solid var(--green); border-radius:50%; color:var(--deep); background:#fff; box-shadow:0 8px 20px rgba(8,43,22,.14); font-size:1.2rem; cursor:pointer; pointer-events:auto; transition:color .2s, background .2s, border-color .2s, transform .2s, box-shadow .2s; }
.gallery-controls button:last-child { color:#fff; background:var(--green); }
.gallery-controls button:hover { color:#fff; border-color:var(--sky); background:var(--sky); box-shadow:0 12px 24px rgba(67,185,236,.22); transform:translateY(-2px); }
.gallery-controls button:focus-visible { outline:3px solid var(--sky); outline-offset:3px; }
.gallery-grid:not(.slick-initialized) { display:flex; gap:16px; overflow:hidden; }
.gallery-grid:not(.slick-initialized) .gallery-item { flex:0 0 calc((100% - 32px) / 3); }
.gallery-grid .slick-list { margin:0 -8px; padding-bottom:18px; }
.gallery-grid .slick-slide { padding:0 8px; }
.gallery-item { position:relative; aspect-ratio:4/3; margin:0; overflow:hidden; background:#dce7d6; box-shadow:0 10px 28px rgba(8,43,22,.1); }
.gallery-item a { display:block; width:100%; height:100%; cursor:zoom-in; }
.gallery-item img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.gallery-item:hover img { transform:scale(1.025); }
.gallery-controls svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }

.about-footer { padding:60px 0 24px; color:rgba(255,255,255,.72); background:var(--deep); }
.about-footer-inner { display:grid; grid-template-columns:1fr 1fr auto; gap:40px; align-items:center; padding-bottom:40px; }
.about-footer-inner strong,.about-footer-inner span { display:block; }
.about-footer-inner strong { color:#fff; font-family:var(--serif); }
.about-footer-inner span { color:var(--green); font-size:.72rem; }
.about-footer-inner p { margin:0; font-size:.8rem; }
.about-footer-inner a { color:#fff; font-size:.8rem; font-weight:700; text-decoration-color:var(--green); text-underline-offset:5px; }
.about-footer-bottom { padding-top:22px; border-top:1px solid rgba(255,255,255,.14); font-size:.7rem; }

@media(max-width:800px){
  .about-hero { padding:85px 0 100px; }
  .section-heading { flex-direction:column; align-items:flex-start; gap:16px; }
  .belief-grid,.values-layout,.story-grid,.gallery-heading { grid-template-columns:1fr; }
  .belief-panel { min-height:380px; }
  .values-heading,.story-image { position:relative; top:auto; }
  .story-image { margin-right:18px; }
  .story-image img { min-height:400px; }
  .gallery-grid:not(.slick-initialized) .gallery-item { flex-basis:calc((100% - 16px) / 2); }
  .about-footer-inner { grid-template-columns:1fr; }
}

@media(max-width:520px){
  .about-hero h1 { font-size:3.15rem; }
  .gallery-heading { gap:24px; }
  .gallery-controls button { width:42px; height:42px; flex-basis:42px; }
  .gallery-grid:not(.slick-initialized) .gallery-item { flex-basis:100%; }
}
