/* Haulor marketing — About page (Studio redesign, kit 6). Values follow the kit's about.css render. */
.ab{width:100%;background:linear-gradient(135deg,#f2f6ec 0%,#f4f4f5 55%,#eaecf0 100%);overflow:hidden}
.ab-in{width:100%;max-width:1200px;margin:0 auto}
.ab-sec{padding:120px max(var(--gutter),calc((100% - 1200px)/2))}

/* chips + section heads */
.ab-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:99px;background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px #fff,0 1px 2px rgba(13,15,23,.03),0 8px 24px -8px rgba(13,15,23,.05);font-size:12px;font-weight:600;letter-spacing:.06em;line-height:1.4;text-transform:uppercase;color:#56595f}
.ab-chip i{width:18px;height:18px;border-radius:99px;background:var(--hl-violet);display:grid;place-items:center;flex-shrink:0}
.ab-chip i::after{content:"";width:6px;height:6px;border-radius:50%;background:#fff}
.ab-chip--dark{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);color:#fff}
.ab-chip--dark i{background:var(--hl-lime)}
.ab-chip--dark i::after{background:var(--hl-ink)}
.ab-head{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.ab-head--c{align-items:center;text-align:center}
.ab-h2{font-size:clamp(36px,3.89vw,56px);font-weight:300;letter-spacing:-.03em;line-height:1.04;color:var(--hl-ink)}
.ab-h2 span{display:block;color:#686b71}
.ab-lead{max-width:620px;font-size:18px;font-weight:500;line-height:1.55;color:#56595f}

/* desktop header */
.ab-nav{padding:20px max(var(--gutter),calc((100% - 1200px)/2)) 0}
.ab-nav__bar{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:6px;padding:10px 10px 10px 24px;border-radius:99px;background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px #fff,0 1px 2px rgba(13,15,23,.03),0 8px 24px -8px rgba(13,15,23,.05)}
.ab-nav__logo{flex-shrink:0}
.ab-nav__logo img{width:143px;height:26px}
.ab-nav__link{padding:8px 12px;font-size:14px;font-weight:500;line-height:1.4;color:#56595f;white-space:nowrap}
.ab-nav__link:hover{color:var(--hl-ink)}
.ab-nav__link[aria-current="page"]{color:var(--hl-ink);font-weight:600}
.ab-nav__spacer{flex:1 1 0}
.ab-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 22px;border-radius:99px;font-size:15px;font-weight:600;line-height:1.4;white-space:nowrap}
.ab-btn--primary{background:var(--hl-violet);color:#fff;box-shadow:0 8px 20px -6px rgba(122,28,255,.28)}
.ab-btn--ghost{background:#fff;color:var(--hl-ink);box-shadow:0 1px 2px rgba(13,15,23,.03),0 8px 24px -8px rgba(13,15,23,.08),inset 0 0 0 1px #ecedef}
.ab-btn--glass{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.ab-btn--sm{min-height:40px;padding:10px 18px;font-size:14px}
.ab-btn svg{flex-shrink:0}

/* hero */
.ab-hero{padding:80px max(var(--gutter),calc((100% - 1200px)/2)) 40px}
.ab-hero .ab-in{display:flex;flex-direction:column;gap:48px}
.ab-hero__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);justify-content:space-between;align-items:end;gap:40px}
.ab-hero__title{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.ab-h1{font-size:clamp(40px,4.6vw,68px);font-weight:300;letter-spacing:-.04em;line-height:1.056;color:var(--hl-ink)}
.ab-h1 span{display:block;color:#686b71}
.ab-hero__side{display:flex;flex-direction:column;gap:24px}
.ab-hero__sub{font-size:17px;font-weight:500;line-height:1.55;color:#56595f}
.ab-hero__ctas{display:flex;flex-wrap:wrap;gap:12px}
.ab-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
.ab-facts li{border-top:1px solid #d9dbdf;padding-top:36px;display:flex;flex-direction:column;gap:4px}
.ab-facts b{font-size:clamp(28px,3.06vw,44px);font-weight:300;letter-spacing:-.02em;line-height:1.1;color:var(--hl-ink)}
.ab-facts span{font-size:13px;font-weight:500;line-height:1.4;color:#686b71}

/* ops photo + story card */
.ab-story{position:relative;height:560px;border-radius:40px;overflow:hidden;background:#cfd3d8 url(../img/ops.webp) center/cover no-repeat}
.ab-story__card{position:absolute;top:40px;right:40px;width:440px;max-width:calc(100% - 80px);display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:28px;border-radius:28px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px #fff,0 2px 4px rgba(13,15,23,.04),0 24px 48px -12px rgba(13,15,23,.08)}
.ab-story__h{font-size:26px;font-weight:300;letter-spacing:-.01em;line-height:30px;color:var(--hl-ink)}
.ab-story__card p{font-size:14px;font-weight:500;line-height:22px;color:#56595f}

/* what we build */
.ab-build{padding-top:80px}
.ab-build .ab-in{display:flex;flex-direction:column;gap:56px}
.ab-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ab-card{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:28px;border-radius:24px;background:#fff;box-shadow:0 1px 2px rgba(13,15,23,.03),0 8px 24px -8px rgba(13,15,23,.05)}
.ab-card__top{align-self:stretch;display:flex;align-items:center;justify-content:space-between}
.ab-card__ic{width:44px;height:44px;border-radius:14px;background:#f1e9ff;display:grid;place-items:center}
.ab-card__idx{font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;color:#9a9da3}
.ab-card h3{font-size:20px;font-weight:600;letter-spacing:-.01em;line-height:1.4;color:var(--hl-ink)}
.ab-card p{font-size:15px;font-weight:500;line-height:23px;color:#56595f}

/* engine */
.ab-engine{background:var(--hl-ink)}
.ab-engine .ab-in{display:flex;flex-direction:column;align-items:center;gap:56px}
.ab-engine .ab-h2{color:#fff}
.ab-engine .ab-h2 span{color:#a7aab0}
.ab-engine .ab-lead{color:#c4c6ca}
.ab-diag{display:flex;align-items:center;justify-content:center}
.ab-diag__in{width:240px;display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
.ab-diag__in li{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);font-size:14px;font-weight:600;line-height:1.4;color:#fff}
.ab-diag__in li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--hl-lime);flex-shrink:0}
.ab-diag__wires{width:200px;height:300px;flex-shrink:0}
.ab-diag__wires--out{width:120px}
.ab-diag__core{width:200px;height:200px;flex-shrink:0;border-radius:50%;background:var(--hl-violet);box-shadow:0 0 60px -6px rgba(122,28,255,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.ab-diag__core img{width:121px;height:22px}
.ab-diag__core span{font-size:11px;font-weight:700;letter-spacing:.08em;color:#e5d6ff}
.ab-diag__out{width:260px;display:flex;flex-direction:column;gap:16px;margin:0;padding:0;list-style:none}
.ab-diag__out li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.1);font-size:13px;font-weight:600;line-height:1.4;color:#fff}
.ab-diag__out li b{font-weight:700}
.ab-diag__out li:first-child{background:var(--hl-lime);color:var(--hl-ink)}

/* numbers */
.ab-nums .ab-in{display:flex;flex-direction:column;align-items:center;gap:48px}
.ab-numgrid{align-self:stretch;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
.ab-num{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:24px;background:#fff;box-shadow:0 1px 2px rgba(13,15,23,.03),0 8px 24px -8px rgba(13,15,23,.05)}
.ab-num__idx{font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;color:#9a9da3}
.ab-num__rule{height:1px;background:#e6e7ea;margin-top:28px}
.ab-num b{font-size:clamp(36px,3.33vw,48px);font-weight:300;letter-spacing:-.02em;line-height:1.1;color:var(--hl-violet)}
.ab-num span{font-size:14px;font-weight:500;line-height:1.4;color:#56595f}

/* final CTA */
.ab-cta{padding-top:40px}
.ab-cta__box{display:flex;flex-direction:column;align-items:center;gap:28px;padding:80px;border-radius:40px;background:var(--hl-ink);text-align:center}
.ab-cta__h{font-size:clamp(40px,4.44vw,64px);font-weight:300;letter-spacing:-.03em;line-height:1.04;color:#fff}
.ab-cta__h span{display:block;color:#a7aab0}
.ab-cta__lead{max-width:560px;font-size:18px;font-weight:500;line-height:1.55;color:#c4c6ca}
.ab-cta__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.ab-cta__notes{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;margin:0;padding:0;list-style:none}
.ab-cta__notes li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#c4c6ca}

/* footer */
.ab-foot{background:var(--hl-ink);padding:80px max(var(--gutter),calc((100% - 1200px)/2)) 40px;color:#c4c6ca}
.ab-foot__grid{display:grid;grid-template-columns:minmax(0,300px) repeat(3,minmax(0,140px)) minmax(0,300px);justify-content:space-between;gap:40px}
.ab-foot__brand{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.ab-foot__brand img{width:154px;height:28px}
.ab-foot__brand p{font-size:14px;font-weight:500;line-height:22px;color:#a7aab0}
.ab-foot__col{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.ab-foot__h{font-size:12px;font-weight:600;letter-spacing:.06em;line-height:1.4;text-transform:uppercase;color:#8a8d93;margin:0}
.ab-foot__col a{font-size:14px;font-weight:500;line-height:1.4;color:#c4c6ca;padding:2px 0}
.ab-foot__col a:hover,.ab-foot__legal a:hover{color:#fff}
.ab-foot__sub{display:flex;flex-direction:column;gap:12px}
.foot__form{display:flex;gap:8px}
.foot__form input{flex:1 1 0;min-width:0;height:44px;padding:0 16px;border:0;border-radius:99px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);font:inherit;font-size:14px;color:#fff;outline:none}
.foot__form input::placeholder{color:#8a8d93}
.foot__form input:focus{box-shadow:inset 0 0 0 1px var(--hl-violet)}
.foot__form button{flex-shrink:0;height:44px;padding:0 18px;border:0;border-radius:99px;background:var(--hl-violet);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.foot__form button:disabled{opacity:.6}
.ab-foot__fine{font-size:13px;font-weight:500;color:#8a8d93}
.ab-foot__rule{height:1px;background:#26282c;margin:56px 0 24px}
.ab-foot__bot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;font-size:13px;font-weight:500;color:#8a8d93}
.ab-foot__legal{display:flex;flex-wrap:wrap;gap:4px 24px}
.ab-foot__legal a{padding:8px 0}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .ab-hero__top{grid-template-columns:minmax(0,1fr) minmax(0,340px)}
  .ab-foot__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ab-foot__brand,.ab-foot__sub{grid-column:span 3}
  .ab-foot__sub{max-width:420px}
  .ab-diag{transform:scale(.86);margin:-20px 0}
}
@media (max-width:1024px){
  .ab-nav__bar{padding-left:18px}
  .ab-nav__link{padding:8px 8px}
  .ab-numgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ab-diag{transform:none;margin:0;flex-direction:column;gap:24px}
  .ab-diag__wires{display:none}
  .ab-diag__in{flex-direction:row;flex-wrap:wrap;justify-content:center;width:auto;max-width:640px}
  .ab-diag__out{width:320px}
}
@media (max-width:900px){
  .ab-hero__top{grid-template-columns:minmax(0,1fr);align-items:start}
  .ab-cards{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .ab-sec,.ab-hero,.ab-foot{padding-left:16px!important;padding-right:16px!important}
  .ab-hero{padding-top:40px!important;padding-bottom:40px!important}
  .ab-hero .ab-in{gap:36px}
  .ab-h1{font-size:40px}
  .ab-h2{font-size:36px}
  .ab-lead{font-size:16px}
  .ab-facts{grid-template-columns:minmax(0,1fr);gap:0}
  .ab-facts li{padding:16px 0}
  .ab-facts b{font-size:28px}
  .ab-facts span{font-size:14px}
  .ab-story{height:auto;border-radius:28px;background-image:none;background:transparent;display:flex;flex-direction:column}
  .ab-story::before{content:"";display:block;height:240px;border-radius:28px;background:#cfd3d8 url(../img/ops.webp) 30% center/cover no-repeat}
  .ab-story__card{position:static;width:auto;max-width:none;margin-top:12px;padding:24px;background:#fff}
  .ab-story__h{font-size:24px}
  .ab-story__card p{font-size:15px;line-height:23px}
  .ab-build .ab-in,.ab-engine .ab-in{gap:36px}
  .ab-diag__in li,.ab-diag__out li{font-size:14px}
  .ab-diag__out{width:100%}
  .ab-numgrid{grid-template-columns:minmax(0,1fr)}
  .ab-num{padding:24px}
  .ab-num__rule{margin-top:8px}
  .ab-cta{padding-top:16px!important}
  .ab-cta__box{padding:48px 20px;border-radius:28px}
  .ab-cta__lead{font-size:16px}
  .ab-foot__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}
  .ab-foot__brand,.ab-foot__sub{grid-column:span 2}
  .ab-foot__col a{padding:6px 0}
  .ab-foot__fine,.ab-foot__bot{font-size:14px}
  .ab-chip{font-size:13px;letter-spacing:.04em}
  .ab-card__idx,.ab-num__idx{font-size:14px}
  .ab-foot__h{font-size:13px}
}
