/* Edilab company pages (About, Contact, Privacy, Terms) — on top of home.css + svc.css. */

/* ---------- About ---------- */
.ab-hero .hero-panel{min-height:0;padding-bottom:clamp(40px,6vw,80px)}
.ab-hero-in{position:relative;z-index:2;width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:center}
.ab-hero-copy{text-align:left;max-width:none}
.ab-hero-copy h1{font-size:clamp(34px,3.7vw,54px);margin-top:22px}
.ab-hero-copy>p{margin-left:0}
.ab-hero-copy .hero-cta{justify-content:flex-start}
.ab-hero-photo{margin:0;position:relative;border-radius:clamp(22px,2.4vw,30px);overflow:hidden;background:#f2f1f4;box-shadow:0 40px 80px -36px rgba(30,6,80,.65),0 0 0 1px rgba(255,255,255,.35);aspect-ratio:1320/1125}
.ab-hero-photo img{width:100%;height:100%;object-fit:cover}
.ab-hero-photo figcaption{position:absolute;left:14px;bottom:14px;padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.92);font-size:12.5px;color:var(--ink)}
.ab-stats{padding:clamp(28px,4vw,48px) 0 0}
.ab-stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:8px}
.ab-stats-row>div{padding:clamp(18px,2vw,26px)}
.ab-stats-row>div+div{border-left:1px solid var(--line)}
.ab-stats-row b{display:block;font-size:clamp(38px,4.4vw,60px);font-weight:400;letter-spacing:-.045em;line-height:1;background:linear-gradient(135deg,#14111c 30%,#7d2fd0);-webkit-background-clip:text;background-clip:text;color:transparent}
.ab-stats-row span{display:block;margin-top:10px;font-size:15px;color:var(--ink)}
.ab-stats-row small{display:block;margin-top:6px;font-size:13px;line-height:1.55;color:var(--ink3)}
.ab-builds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ab-build{display:flex;flex-direction:column;border-radius:var(--r);background:#fff;border:1px solid rgba(124,92,190,.08);box-shadow:var(--card-sh);overflow:hidden;transition:transform .3s ease}
.ab-build:hover{transform:translateY(-4px)}
.ab-build-img{margin:10px 10px 0;border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:#ece5f8}
.ab-build-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.ab-build:hover .ab-build-img img{transform:scale(1.04)}
.ab-build-t{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.ab-build-t h3{margin:0;font-size:22px;font-weight:400;letter-spacing:-.025em}
.ab-build-t p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink2)}
.ab-build-t .s-link{margin-top:auto}
.ab-system{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,80px);align-items:center}
.ab-layers{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:14px}
.ab-layers li{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:16px;align-items:start;padding:18px 20px;border-radius:20px;background:var(--lav);border:1px solid rgba(124,92,190,.08);margin-left:calc(var(--i) * clamp(10px,2vw,28px))}
.ab-n{position:relative;z-index:1;width:26px;height:26px;margin:9px 0 0 2px;border-radius:50%;background:#fff;border:2px solid var(--brand);font-size:10px;color:var(--brand-ink);display:flex;align-items:center;justify-content:center}
.ab-layers li:last-child .ab-n{background:var(--brand);color:#fff}
.ab-layers h3{margin:4px 0 0;font-size:19px;font-weight:400;letter-spacing:-.02em}
.ab-layers p{margin:6px 0 0;font-size:14.5px;line-height:1.6;color:var(--ink2)}
.ab-approach{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center}
.ab-approach .ticks{margin-top:24px;gap:14px}
.ab-approach .ticks b{font-weight:400;color:var(--ink)}
.ab-event{margin:0;position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--card-sh);aspect-ratio:4/5}
.ab-event img{width:100%;height:100%;object-fit:cover}
.ab-event figcaption{position:absolute;left:14px;right:14px;bottom:14px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.94);font-size:13.5px;color:var(--ink2)}
.ab-event figcaption b{display:block;font-weight:400;font-size:15px;color:var(--ink)}
.ab-quotes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ab-quotes .e-rvc{flex:none;width:auto}
.ab-founders{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ab-founder{overflow:hidden;display:flex;flex-direction:column}
.ab-founder-img{margin:10px 10px 0;border-radius:18px;overflow:hidden;aspect-ratio:4/4.4;background:#ece5f8}
.ab-founder-img img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.ab-founder-t{padding:22px 24px 26px}
.ab-founder-t h3{margin:12px 0 0;font-size:clamp(24px,2.4vw,32px);font-weight:400;letter-spacing:-.03em}
.ab-founder-t p{margin:10px 0 0;font-size:15px;line-height:1.65;color:var(--ink2)}
.ab-mission{margin:clamp(28px,4vw,48px) auto 0;max-width:860px;text-align:center}
.ab-mission p{margin:16px 0 0;font-size:clamp(20px,2.2vw,28px);line-height:1.45;letter-spacing:-.02em;color:var(--ink)}
.ab-crew{margin-top:clamp(28px,4vw,48px);display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:24px;align-items:center;padding:clamp(22px,3vw,40px)}
.ab-crew h3{margin:14px 0 0;font-size:clamp(22px,2.2vw,30px);font-weight:400;letter-spacing:-.03em}
.ab-crew p{margin:8px 0 0;font-size:15px;color:var(--ink2)}
.ab-crew-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
.ab-crew-row figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px}
.ab-crew-row img{width:100%;max-width:200px;height:auto;filter:drop-shadow(0 18px 22px rgba(60,20,120,.22));animation:fmFloat 6.5s ease-in-out infinite}
.ab-crew-row figure:nth-child(2) img{animation-delay:-2s}.ab-crew-row figure:nth-child(3) img{animation-delay:-4s}
.ab-crew-row figcaption{font-size:13px;color:var(--ink3)}

/* ---------- Contact ---------- */
.ct-hero .hero-panel,.lg-hero .hero-panel{min-height:0}
.ct-hero .hero-copy{padding-bottom:clamp(60px,8vh,96px)}
.lg-hero .hero-copy{padding-bottom:clamp(50px,7vh,80px)}
.ct-panel{align-items:start}
.ct-opts{display:grid;gap:10px;margin-top:24px}
.ct-opt{display:flex;flex-direction:column;gap:3px;text-align:left;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff;font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .25s,border-color .25s}
.ct-opt b{font-weight:400;font-size:15.5px}
.ct-opt span{font-size:13px;color:rgba(255,255,255,.8)}
.ct-opt:hover{background:rgba(255,255,255,.18)}
.ct-opt.on{background:#fff;border-color:#fff;color:var(--ink)}
.ct-opt.on span{color:var(--ink2)}
.ct-form .s-prog{justify-content:flex-start}
.ct-sms{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:12.5px;line-height:1.5;color:var(--ink3)}
.ct-sms input{margin-top:2px;accent-color:#8b32ec}
.ct-sms a{color:var(--brand-ink)}
.ct-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ct-details>*{display:flex;flex-direction:column;gap:8px;padding:22px}
.ct-details small{font-size:12.5px;color:var(--brand-ink)}
.ct-details b{font-weight:400;font-size:15.5px;line-height:1.45;color:var(--ink);overflow-wrap:anywhere}
.ct-steps{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ---------- Legal ---------- */
.lg-wrap{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.lg-toc{position:sticky;top:110px;padding:20px 22px;display:flex;flex-direction:column;gap:10px}
.lg-toc b{font-weight:400;font-size:14px}
.lg-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.lg-toc ol a{display:block;padding:4px 0;font-size:13px;line-height:1.4;color:var(--ink2)}
.lg-toc ol a:hover{color:var(--brand-ink)}
.lg-body{max-width:720px}
.lg-body h2{margin:38px 0 0;font-size:clamp(22px,2.2vw,28px);font-weight:400;letter-spacing:-.025em;scroll-margin-top:110px}
.lg-body h3{margin:26px 0 0;font-size:18px;font-weight:400;letter-spacing:-.015em;scroll-margin-top:110px}
.lg-body p{margin:14px 0 0;font-size:16px;line-height:1.75;color:var(--ink2)}
.lg-body p b{font-weight:400;color:var(--ink)}
.lg-body ul{margin:12px 0 0;padding-left:20px;display:grid;gap:6px}
.lg-body li{font-size:16px;line-height:1.65;color:var(--ink2)}
.lg-body a{color:var(--brand-ink)}
.lg-body>p:first-child{margin-top:0;font-size:17px;color:var(--ink)}

@media (max-width:1080px){
  .ab-quotes{grid-template-columns:1fr 1fr}
  .ct-details{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .ab-hero-in,.ab-system,.ab-approach,.ab-crew,.lg-wrap{grid-template-columns:1fr}
  .ab-hero-copy{text-align:center}
  .ab-hero-copy .hero-cta{justify-content:center}
  .ab-hero-copy>p{margin-left:auto}
  .ab-stats-row{grid-template-columns:1fr 1fr}
  .ab-stats-row>div:nth-child(3){border-left:0}
  .ab-stats-row>div:nth-child(n+3){border-top:1px solid var(--line)}
  .ab-builds{grid-template-columns:1fr}
  .ab-founders{grid-template-columns:1fr}
  .lg-toc{position:static}
  .ct-steps{grid-template-columns:1fr}
}
@media (max-width:760px){
  .ab-quotes,.ct-details{grid-template-columns:1fr}
  .ab-layers li{margin-left:0;grid-template-columns:auto minmax(0,1fr)}
  .ab-layers li .s-ic{display:none}
}
@media (prefers-reduced-motion:reduce){.ab-crew-row img{animation:none}}
