/* eachcanteach — About Us */

/* ---------- HERO ---------- */
.ab-hero{padding:150px 0 80px; background-position:80% 35%;}
.ab-hero-copy{max-width:700px;}
.ab-hero .eyebrow{margin-bottom:22px;}
.ab-hero h1{color:#fff; font-size:clamp(2.5rem,5vw,4.1rem); line-height:1.06; margin-bottom:22px; max-width:none;}
.ab-hero h1 em{font-style:normal; color:#74e4e8; display:block; white-space:nowrap;}
.ab-lede{font-size:1.15rem; line-height:1.6; color:#d9eeee; max-width:56ch; margin-bottom:34px;}
.ab-hero-cta{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:46px;}
.ab-hero .btn-outline{color:#fff; border-color:rgba(255,255,255,.55);}
.ab-hero .btn-outline:hover{border-color:#fff;}
.ab-facts{
  list-style:none; margin:0; padding:22px 0 0; display:grid; grid-template-columns:repeat(3, auto); justify-content:start; gap:14px 44px;
  border-top:1px solid rgba(255,255,255,.2);
}
.ab-facts li{display:flex; flex-direction:column; gap:2px;}
.ab-facts strong{font-family:'Jost',sans-serif; font-weight:500; font-size:1.35rem; color:#fff;}
.ab-facts span{font-size:.84rem; color:#bfe9ea;}

/* ---------- STORY ---------- */
.ab-story{background:var(--paper);}
.ab-story-grid{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:clamp(40px,6vw,96px); align-items:center;}
.ab-story-media{
  position:relative; margin:0; min-height:520px; background:var(--img) center/cover no-repeat;
  box-shadow:0 40px 60px -40px rgba(0,0,0,.45);
}
.ab-story-media::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(3,30,34,.35), transparent 45%);}
.ab-story-badge{
  position:absolute; z-index:1; right:-28px; bottom:32px; max-width:300px; padding:22px 24px 20px;
  background:var(--accent); color:#fff; font-family:'Jost',sans-serif; font-size:1.12rem; line-height:1.4;
  box-shadow:0 24px 40px -20px rgba(14,138,143,.6);
}
.ab-badge-mark{display:block; font-size:2.8rem; line-height:.6; margin-bottom:8px; opacity:.6;}
.ab-story-copy .eyebrow{margin-bottom:18px;}
.ab-story-copy h2{margin-bottom:22px; max-width:18ch;}
.ab-story-copy > p{font-size:1.04rem; line-height:1.7; color:var(--ink-soft); margin-bottom:16px; max-width:58ch;}
.ab-name{margin-top:30px; padding:22px 24px; background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--accent);}
.ab-name-word{display:block; font-family:'Jost',sans-serif; font-size:1.5rem; font-weight:500; color:var(--ink-strong); margin-bottom:6px;}
.ab-name-word b{font-weight:500; color:var(--accent);}
.ab-name p{margin:0; color:var(--ink-soft); font-size:.95rem; line-height:1.6;}

/* ---------- VALUES ---------- */
.ab-values{background:var(--paper-2);}
.ab-values-grid{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:2px; background:var(--line); border:1px solid var(--line);}
.ab-value{position:relative; background:var(--surface); padding:34px 28px 36px; transition:background .25s ease;}
.ab-value:hover{background:var(--paper-3);}
.ab-value-num{position:absolute; top:26px; right:26px; font-family:'Jost',sans-serif; font-size:.85rem; color:var(--ink-faint);}
.ab-value-icon{
  width:48px; height:48px; display:grid; place-items:center; margin-bottom:26px;
  background:color-mix(in srgb, var(--accent) 12%, var(--surface)); color:var(--accent);
}
.ab-value-icon svg, .ab-f-icon svg{width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}
.ab-value h3{font-size:1.25rem; text-transform:none; margin-bottom:10px;}
.ab-value p{font-size:.94rem; line-height:1.6; color:var(--ink-soft); margin:0;}

/* ---------- PLATFORM (dark band) ---------- */
.ab-platform-grid{display:grid; grid-template-columns:minmax(0,4fr) minmax(0,7fr); gap:clamp(40px,6vw,90px); align-items:start;}
.ab-platform-head .eyebrow{margin-bottom:18px;}
.ab-platform-head h2{margin-bottom:18px;}
.ab-platform-head p{color:var(--cream-on-dark-soft); font-size:1.02rem; line-height:1.65; margin-bottom:30px; max-width:42ch;}
.ab-dark-btn{color:#fff; border-color:var(--dark-line);}
.ab-dark-btn:hover{border-color:var(--accent-bright); color:#fff;}
.ab-features{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1px; background:var(--dark-line); border:1px solid var(--dark-line);}
.ab-features li{background:var(--dark); padding:26px 24px; display:grid; grid-template-columns:44px 1fr; grid-template-rows:min-content 1fr; column-gap:16px; row-gap:4px; align-items:start;}
.ab-f-icon{grid-row:span 2; width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--dark-line); color:var(--accent-bright);}
.ab-features strong{font-family:'Jost',sans-serif; font-weight:500; font-size:1.08rem; color:#fff;}
.ab-features span:not(.ab-f-icon){font-size:.9rem; line-height:1.55; color:var(--cream-on-dark-soft);}

/* ---------- STATS ---------- */
.ab-stats{background:var(--accent); color:#fff; padding:52px 0;}
.ab-stats-grid{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:24px;}
.ab-stats-grid div{display:flex; flex-direction:column; gap:6px; padding-left:20px; border-left:1px solid rgba(255,255,255,.35);}
.ab-stats strong{font-family:'Jost',sans-serif; font-weight:500; font-size:clamp(2rem,3.4vw,2.8rem); line-height:1;}
.ab-stats span{font-size:.9rem; color:rgba(255,255,255,.86); max-width:22ch;}

/* ---------- WHO ---------- */
.ab-who{background:var(--paper-2); border-top:1px solid var(--line);}
.ab-who-grid{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:clamp(40px,6vw,90px); align-items:center;}
.ab-who .eyebrow{margin-bottom:18px;}
.ab-who h2{margin-bottom:16px;}
.ab-who-text{color:var(--ink-soft); font-size:1.02rem; line-height:1.65; max-width:46ch; margin:0;}
.ab-who-list{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px;}
.ab-who-list a{
  display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:62px; padding:14px 20px;
  background:var(--surface); border:1px solid var(--line); font-family:'Jost',sans-serif; font-size:1.05rem; color:var(--ink-strong);
  transition:border-color .2s ease, background .2s ease, color .2s ease;
}
.ab-who-list a span{color:var(--accent); transition:transform .2s ease;}
.ab-who-list a:hover{border-color:var(--accent); background:color-mix(in srgb, var(--accent) 6%, var(--surface));}
.ab-who-list a:hover span{transform:translateX(4px);}

/* ---------- PROMISE ---------- */
.ab-promise{background:var(--paper); padding:110px 0;}
.ab-promise blockquote{margin:0 auto; max-width:900px; text-align:center;}
.ab-promise p{font-family:'Jost',sans-serif; font-size:clamp(1.8rem,3.8vw,3rem); line-height:1.2; color:var(--ink-strong); margin:0 0 20px; text-wrap:balance;}
.ab-promise em{font-style:normal; color:var(--accent);}
.ab-promise footer{font-size:.9rem; color:var(--ink-faint);}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1100px){
  .ab-values-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width:900px){
  .ab-story-grid, .ab-platform-grid, .ab-who-grid{grid-template-columns:1fr;}
  .ab-story-media{min-height:380px;}
  .ab-story-badge{right:16px; left:auto; bottom:-28px;}
  .ab-story-copy{margin-top:18px;}
  .ab-stats-grid{grid-template-columns:repeat(2, minmax(0,1fr)); row-gap:30px;}
}
@media (max-width:760px){
  .ab-hero{padding:104px 0 48px;}
  .ab-hero h1 em{white-space:normal;}
  .ab-lede{font-size:1rem; margin-bottom:26px;}
  .ab-hero-cta{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:32px;}
  .ab-hero-cta .btn{display:flex; align-items:center; justify-content:center; padding:12px 10px; text-align:center;}
  .ab-facts{grid-template-columns:1fr; gap:14px;}
  .ab-facts li{flex-direction:row; align-items:baseline; gap:10px;}
  .ab-facts strong{font-size:1.15rem; white-space:nowrap;}
  .ab-story-media{min-height:300px; margin-right:12px;}
  .ab-story-badge{max-width:250px; font-size:1rem; padding:18px 18px 16px; right:-12px;}
  .ab-story-copy{margin-top:40px;}
  .ab-values-grid{grid-template-columns:1fr;}
  .ab-value{padding:26px 22px 28px; display:grid; grid-template-columns:48px 1fr; column-gap:16px;}
  .ab-value-icon{grid-row:span 2; margin-bottom:0;}
  .ab-value-num{top:22px; right:20px;}
  .ab-value h3{padding-right:24px; margin-bottom:6px;}
  .ab-features{grid-template-columns:1fr;}
  .ab-features li{padding:20px 18px;}
  .ab-stats{padding:40px 0;}
  .ab-stats-grid div{padding-left:14px;}
  .ab-who-list{grid-template-columns:1fr; gap:8px;}
  .ab-who-list a{min-height:54px;}
  .ab-promise{padding:64px 0;}
}
@media (max-width:360px){
  .ab-hero-cta{grid-template-columns:1fr;}
  .ab-stats-grid{grid-template-columns:1fr;}
}
