/**
 * About page (resources/views/site/about_us.blade.php).
 * Builds on the shared hero/card components in contact.css.
 */
.ab-page .ct-hero h1 span{margin-top:10px;font-size:.6em;line-height:1.25}

/* ===== Story card ===== */
.ab-story{overflow:hidden}
/* .ab-story::before{content:"";display:block;height:4px;background:linear-gradient(90deg,#003d2b,#0c7949 55%,#45a73d)} */
.ab-prose{padding:26px 30px 30px;color:var(--cp-text);font-size:15.5px;line-height:1.8}
.ab-prose>*:first-child{margin-top:0}
.ab-prose>*:last-child{margin-bottom:0}
.ab-prose p{margin:0 0 12px}
.ab-prose [style*="color"]{color:inherit!important}
.ab-prose [style*="justify"]{text-align:left!important}
.ab-prose [style*="font-family"]{font-family:inherit!important}
.ab-prose h1,.ab-prose h2,.ab-prose h3,.ab-prose h4{position:relative;margin:28px 0 14px;padding-left:16px;color:var(--ct-dark)!important;font-size:18px;font-weight:800;letter-spacing:-.005em;line-height:1.35;text-transform:uppercase}
.ab-prose h1::before,.ab-prose h2::before,.ab-prose h3::before,.ab-prose h4::before{content:"";position:absolute;left:0;top:.15em;bottom:.15em;width:4px;border-radius:4px;background:var(--ct-grad)}
.ab-prose h1 *,.ab-prose h2 *,.ab-prose h3 *,.ab-prose h4 *{color:inherit!important}
.ab-prose strong,.ab-prose b{color:var(--ct-primary)}
.ab-prose a{color:var(--ct-mid);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ab-prose ul,.ab-prose ol{margin:0 0 14px;padding-left:22px}
.ab-prose li{margin-bottom:6px}
.ab-prose li::marker{color:var(--ct-accent)}
.ab-prose img{max-width:100%;height:auto;border-radius:var(--ct-radius-sm)}
.ab-prose table{width:100%;border-collapse:collapse;margin:0 0 14px}
.ab-prose td,.ab-prose th{padding:8px 10px;border:1px solid var(--ct-border)}

.ab-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 30px 30px}
.ab-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--ct-radius-sm);transition:transform .4s var(--ct-ease)}
.ab-gallery img:hover{transform:scale(1.03)}

/* ===== Aside ===== */
.ab-aside{position:sticky;top:calc(var(--sticky-nav-offset,0px) + 72px)}
.ab-facts{padding:22px 24px}
.ab-facts ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.ab-facts li{padding:14px;border:1px solid var(--ct-border);border-radius:var(--ct-radius-sm);background:linear-gradient(180deg,#f3f8f2,#fff)}
.ab-facts b{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.1;background:var(--ct-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--ct-mid)}
.ab-facts span{display:block;margin-top:4px;color:var(--cp-muted);font-size:13px}

/* ===== Section heading ===== */
.ab-section-head{margin:64px 0 26px;text-align:center}
.ab-kicker{display:inline-block;margin-bottom:8px;padding:5px 12px;border-radius:999px;background:rgba(69,167,61,.12);color:var(--ct-mid);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ab-section-head h2{margin:0;color:var(--ct-dark);font-size:clamp(22px,2.4vw,30px);font-weight:800;letter-spacing:-.015em}

/* ===== Principles ===== */
.ab-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ab-principle{position:relative;overflow:hidden;padding:28px 26px;border:1px solid var(--ct-border);border-radius:var(--ct-radius);background:#fff;box-shadow:var(--ct-shadow);transition:transform .35s var(--ct-ease),box-shadow .35s var(--ct-ease),border-color .35s ease}
.ab-principle.reveal-item{transition:opacity .7s var(--ct-ease),transform .7s var(--ct-ease),box-shadow .35s var(--ct-ease),border-color .35s ease}
.ab-principle::after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(closest-side,rgba(69,167,61,.12),transparent);pointer-events:none}
.ab-principle:hover,.ab-principle.reveal-item.is-visible:hover{transform:translateY(-5px);border-color:var(--ct-border-hover);box-shadow:var(--ct-shadow-hover)}
.ab-principle__head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.ab-principle h3{margin:0;color:var(--ct-dark);font-size:22px;font-weight:800;letter-spacing:-.01em;line-height:1.25}
.ab-principle__body,.ab-principle__list{margin:0;color:var(--cp-muted);font-size:14.5px;line-height:1.7}
.ab-principle__body p{margin:0 0 8px}
.ab-principle__body p:last-child{margin:0}
.ab-principle__list{padding:0;list-style:none}
.ab-principle__list li{position:relative;padding-left:24px;margin-bottom:6px}
.ab-principle__list li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:14px;border-radius:50%;background:rgba(69,167,61,.15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M4 7.2l2 2 4-4.4' fill='none' stroke='%230c7949' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}

/* ===== Timeline ===== */
.ab-timeline{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.ab-timeline::before{content:"";position:absolute;left:4%;right:4%;top:11px;height:2px;background:linear-gradient(90deg,#c0d8bd,#45a73d 50%,#c0d8bd)}
.ab-timeline__item{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:38px;text-align:center}
.ab-timeline__item p{flex:1;width:100%}
.ab-timeline__dot{position:absolute;left:50%;top:0;width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid var(--ct-accent);transform:translateX(-50%);box-shadow:0 0 0 6px rgba(69,167,61,.12)}
.ab-timeline__dot::after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--ct-grad)}
.ab-timeline__item strong{display:inline-block;margin-bottom:10px;padding:4px 14px;border-radius:999px;background:var(--ct-grad);color:#fff;font-size:15px;font-weight:800;box-shadow:0 6px 14px rgba(12,121,73,.22)}
.ab-timeline__item p{margin:0;padding:14px;border:1px solid var(--ct-border);border-radius:var(--ct-radius-sm);background:#fff;color:var(--cp-muted);font-size:13.5px;line-height:1.55;box-shadow:var(--ct-shadow);transition:border-color .3s ease,box-shadow .3s ease}
.ab-timeline__item:hover p{border-color:var(--ct-border-hover);box-shadow:var(--ct-shadow-hover)}

/* ===== Capacity band ===== */
.ab-capacity{position:relative;overflow:hidden;margin-top:8px;background:linear-gradient(135deg,#003d2b 0%,#00613c 55%,#0c7949 100%)}
.ab-capacity::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);pointer-events:none}
.ab-capacity__grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;padding:30px 0}
.ab-capacity__grid article{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid rgba(255,255,255,.12);border-radius:var(--ct-radius);background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ab-capacity__icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:13px;background:var(--ct-grad);color:#fff;box-shadow:0 8px 18px rgba(69,167,61,.35),inset 0 1px 0 rgba(255,255,255,.25)}
.ab-capacity__icon svg{width:22px;height:22px}
.ab-capacity__grid b{display:block;font-size:clamp(20px,2vw,26px);font-weight:800;letter-spacing:-.02em;line-height:1.1;background:linear-gradient(180deg,#fff 30%,#b6e0b1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#fff}
.ab-capacity__grid div span{display:block;margin-top:3px;color:rgba(214,236,212,.82);font-size:13.5px}

/* ===== Team ===== */
.ab-team{padding:0 0 64px}
.ab-team__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ab-team__grid figure{margin:0;overflow:hidden;border-radius:var(--ct-radius);box-shadow:var(--ct-shadow)}
.ab-team__grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s var(--ct-ease)}
.ab-team__grid figure:hover img{transform:scale(1.05)}

/* ===== Responsive ===== */
@media (max-width:1024px){
  .ab-aside{position:static}
  .ab-principles{grid-template-columns:1fr}
  .ab-timeline{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}
  .ab-timeline::before{display:none}
  .ab-capacity__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ab-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .ab-prose{padding:20px 18px 22px;font-size:15px}
  .ab-gallery{padding:0 18px 20px}
  .ab-section-head{margin:44px 0 20px}
  .ab-timeline{grid-template-columns:1fr;gap:14px;padding-left:34px}
  .ab-timeline::before{display:block;left:11px;right:auto;top:6px;bottom:6px;width:2px;height:auto;background:linear-gradient(180deg,#c0d8bd,#45a73d 50%,#c0d8bd)}
  .ab-timeline__item{align-items:flex-start;padding-top:0;text-align:left}
  .ab-timeline__dot{left:-34px;top:2px;transform:none}
  .ab-capacity__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:22px 0}
  .ab-capacity__grid article{flex-direction:column;align-items:flex-start;gap:10px;padding:14px}
  .ab-capacity__grid article:last-child{grid-column:1/-1;flex-direction:row;align-items:center}
  .ab-team__grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .ab-principle,.ab-gallery img,.ab-team__grid img{transition:none}
  .ab-principle:hover,.ab-principle.reveal-item.is-visible:hover{transform:none}
}
