#aais-labs{
  --al-ink:#141414;
  --al-ink-soft:#3d3a36;
  --al-muted:#6b665e;
  --al-red:#d1232a;
  --al-red-deep:#a5161c;
  --al-cream:#fbf6ec;
  --al-cream-2:#f3ead8;
  --al-paper:#ffffff;
  --al-line:#e6dcc8;
  --al-teal:#1f7a6d;
  --al-gold:#e2a227;
  --al-radius:18px;
  --al-display:'Fraunces', Georgia, 'Times New Roman', serif;
  --al-body:'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  background:var(--al-cream);
  color:var(--al-ink);
  font-family:var(--al-body);
  font-size:17px;
  line-height:1.6;
  overflow-x:hidden;
}
#aais-labs *,#aais-labs *::before,#aais-labs *::after{box-sizing:border-box}
#aais-labs h1,#aais-labs h2,#aais-labs h3,#aais-labs h4{font-family:var(--al-display);color:var(--al-ink);line-height:1.15;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em}
#aais-labs p{margin:0 0 1em}
#aais-labs a{color:inherit}
#aais-labs img,#aais-labs svg{max-width:100%;display:block}
.al-wrap{box-sizing:border-box;width:100%;max-width:1180px;margin:0 auto;padding:0 20px}
.al-section{padding:88px 0}
.al-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--al-red);margin-bottom:14px}
.al-eyebrow::before{content:"";width:22px;height:2px;background:var(--al-red)}
.al-h2{font-size:clamp(30px,4vw,46px)}
.al-lead{font-size:clamp(17px,1.6vw,19px);color:var(--al-ink-soft);max-width:640px}
.al-center{text-align:center}
#aais-labs .al-center .al-lead{margin-left:auto;margin-right:auto}
.al-center .al-eyebrow::before{display:none}

/* buttons */
.al-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease;font-family:var(--al-body)}
.al-btn:hover{transform:translateY(-2px)}
.al-btn-red{background:var(--al-red);color:#fff !important;box-shadow:0 10px 24px -10px rgba(209,35,42,.7)}
.al-btn-red:hover{background:var(--al-red-deep)}
.al-btn-ghost{border-color:currentColor;color:var(--al-ink) !important;background:transparent}
.al-btn-light{border-color:rgba(255,255,255,.5);color:#fff !important}
.al-btn-light:hover{background:rgba(255,255,255,.1)}

/* ---------- HERO ---------- */
.al-hero{position:relative;padding:84px 0 96px;overflow:hidden}
.al-hero::before{content:"";position:absolute;inset:auto -10% -40% auto;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(209,35,42,.13),transparent 65%);pointer-events:none}
.al-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;position:relative}
.al-badge{display:inline-flex;align-items:center;gap:10px;background:var(--al-ink);color:#fff;border-radius:999px;padding:7px 16px 7px 8px;font-size:14px;font-weight:600;margin-bottom:26px}
.al-badge b{background:var(--al-red);border-radius:999px;padding:3px 10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.al-hero h1{font-size:clamp(40px,6.2vw,76px);margin-bottom:22px}
.al-hero h1 em{font-style:italic;font-weight:500;color:var(--al-red)}
.al-hero .al-lead{font-size:clamp(18px,1.8vw,21px);margin-bottom:34px}
.al-hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:34px}
.al-hero-points{display:flex;flex-wrap:wrap;gap:10px 22px;padding:0;margin:0;list-style:none;font-size:15px;color:var(--al-ink-soft);font-weight:500}
.al-hero-points li{display:flex;align-items:center;gap:8px}
.al-hero-points li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--al-red)}

/* hero visual: lab bench of three tiles */
.al-bench{position:relative;aspect-ratio:1/1;max-width:500px;margin-left:auto;width:100%}
.al-tile{position:absolute;border-radius:24px;padding:22px;box-shadow:0 30px 60px -30px rgba(20,20,20,.35);display:flex;flex-direction:column;justify-content:space-between;transition:transform .4s ease}
.al-tile small{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;opacity:.8}
.al-tile strong{font-family:var(--al-display);font-size:24px;line-height:1.1}
.al-tile-1{left:0;top:6%;width:56%;height:52%;background:var(--al-ink);color:#fff;transform:rotate(-4deg)}
.al-tile-2{right:0;top:0;width:44%;height:40%;background:var(--al-red);color:#fff;transform:rotate(5deg)}
.al-tile-3{right:4%;bottom:2%;width:62%;height:44%;background:var(--al-paper);color:var(--al-ink);border:1px solid var(--al-line);transform:rotate(-2deg)}
.al-bench:hover .al-tile-1{transform:rotate(-6deg) translateY(-6px)}
.al-bench:hover .al-tile-2{transform:rotate(8deg) translateY(-6px)}
.al-bench:hover .al-tile-3{transform:rotate(0) translateY(-6px)}
.al-tile svg{width:56px;height:56px}
.al-chat{display:flex;flex-direction:column;gap:8px;font-size:13.5px}
.al-chat span{padding:8px 12px;border-radius:12px;max-width:85%}
.al-chat .q{background:var(--al-cream-2);align-self:flex-start}
.al-chat .a{background:var(--al-ink);color:#fff;align-self:flex-end}
.al-progress{height:8px;background:var(--al-cream-2);border-radius:99px;overflow:hidden;margin-top:6px}
.al-progress i{display:block;height:100%;width:68%;background:linear-gradient(90deg,var(--al-red),var(--al-gold));border-radius:99px}

/* ---------- STRIP ---------- */
.al-strip{background:var(--al-ink);color:#fff;padding:22px 0}
.al-strip-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 40px;font-weight:600;font-size:15px;letter-spacing:.02em}
.al-strip-row span{display:flex;align-items:center;gap:10px;opacity:.92}
.al-strip-row span::before{content:"✦";color:var(--al-red)}

/* ---------- PROBLEM / PRINCIPLE ---------- */
.al-two{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.al-needs{display:grid;gap:14px;margin-top:8px}
.al-need{display:flex;gap:16px;background:var(--al-paper);border:1px solid var(--al-line);border-radius:14px;padding:18px 20px}
.al-need-ico{flex:0 0 42px;height:42px;border-radius:12px;background:var(--al-cream-2);display:grid;place-items:center;font-size:20px}
.al-need h4{font-family:var(--al-body);font-size:16px;margin:0 0 2px;font-weight:700}
.al-need p{margin:0;font-size:15px;color:var(--al-muted)}
.al-loop{background:var(--al-paper);border:1px solid var(--al-line);border-radius:var(--al-radius);padding:34px}
.al-loop h3{font-size:26px}
.al-steps{counter-reset:al;list-style:none;padding:0;margin:22px 0 0;display:grid;gap:0}
.al-steps li{counter-increment:al;position:relative;padding:0 0 22px 58px}
.al-steps li:last-child{padding-bottom:0}
.al-steps li::before{content:counter(al,decimal-leading-zero);position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:var(--al-red);color:#fff;font-weight:700;font-size:14px;display:grid;place-items:center}
.al-steps li::after{content:"";position:absolute;left:19px;top:42px;bottom:2px;width:2px;background:var(--al-line)}
.al-steps li:last-child::after{display:none}
.al-steps strong{display:block;font-size:17px}
.al-steps span{color:var(--al-muted);font-size:15px}

/* ---------- PRODUCTS ---------- */
.al-products{background:var(--al-paper);border-top:1px solid var(--al-line);border-bottom:1px solid var(--al-line)}
.al-prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.al-prod{position:relative;border-radius:22px;padding:30px 28px 28px;background:var(--al-cream);border:1px solid var(--al-line);display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.al-prod:hover{transform:translateY(-6px);box-shadow:0 26px 50px -30px rgba(20,20,20,.4)}
.al-prod{overflow:hidden}
.al-prod-img{margin:-30px -28px 24px;aspect-ratio:400/280;position:relative;border-bottom:1px solid var(--al-line)}
.al-prod-img svg{width:100%;height:100%;transition:transform .5s ease}
.al-prod:hover .al-prod-img svg{transform:scale(1.04)}
.al-prod:nth-child(1) .al-prod-img{background:#e3efeb}
.al-prod:nth-child(2) .al-prod-img{background:#efe7d6}
.al-prod:nth-child(3) .al-prod-img{background:#f7e2df}
.al-svg-txt{font-family:var(--al-body)}
.al-svg-disp{font-family:var(--al-display)}
.al-follow{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.al-fcard{display:grid;grid-template-columns:200px 1fr;gap:22px;align-items:center;background:var(--al-cream);border:1px dashed var(--al-ink-soft);border-radius:20px;padding:18px 22px 18px 18px}
.al-fcard-img{border-radius:14px;background:#fff;border:1px solid var(--al-line);aspect-ratio:300/170;overflow:hidden}
.al-fcard-img svg{width:100%;height:100%}
.al-fcard h4{font-size:22px;margin-bottom:6px}
.al-fcard p{font-size:15px;color:var(--al-ink-soft);margin:0}
.al-fcard .al-prod-tag{color:var(--al-muted)}
@media (max-width:860px){.al-follow{grid-template-columns:1fr}}
@media (max-width:600px){.al-fcard{grid-template-columns:1fr}}
.al-status{z-index:2;position:absolute;top:26px;right:24px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:99px;background:#fff;border:1px solid var(--al-line);color:var(--al-ink-soft)}
.al-prod-tag{font-size:13px;font-weight:700;color:var(--al-red);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.al-prod h3{font-size:28px;margin-bottom:10px}
.al-prod p{color:var(--al-ink-soft);font-size:15.5px}
.al-prod ul{list-style:none;padding:0;margin:4px 0 22px;display:grid;gap:9px;font-size:15px}
.al-prod li{display:flex;gap:10px;align-items:flex-start}
.al-prod li::before{content:"";flex:0 0 18px;height:18px;margin-top:3px;border-radius:50%;background:var(--al-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.al-prod-for{margin-top:auto;padding-top:16px;border-top:1px dashed var(--al-line);font-size:14px;color:var(--al-muted)}
.al-prod-for b{color:var(--al-ink)}
.al-next{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;font-size:15px;color:var(--al-muted)}
.al-chip{border:1px dashed var(--al-ink-soft);border-radius:99px;padding:6px 14px;color:var(--al-ink);font-weight:600}

/* ---------- AUDIENCES ---------- */
.al-aud-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px}
.al-aud{background:var(--al-paper);border-radius:var(--al-radius);padding:26px 24px;border:1px solid var(--al-line);position:relative;overflow:hidden}
.al-aud::after{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:var(--al-red);transform:scaleX(.18);transform-origin:left;transition:transform .35s ease}
.al-aud:hover::after{transform:scaleX(1)}
.al-aud-emoji{font-size:30px;margin-bottom:12px}
.al-aud h3{font-size:22px;margin-bottom:8px}
.al-aud p{font-size:15px;color:var(--al-ink-soft);margin-bottom:12px}
.al-aud small{display:block;font-size:13.5px;color:var(--al-muted);line-height:1.5}

/* ---------- SCHOOLS ---------- */
.al-schools{background:var(--al-ink);color:#fff;position:relative;overflow:hidden}
.al-schools::before{content:"";position:absolute;right:-180px;top:-180px;width:520px;height:520px;border-radius:50%;border:70px solid rgba(209,35,42,.22)}
.al-schools h2,.al-schools h3{color:#fff}
.al-schools .al-lead{color:rgba(255,255,255,.78)}
.al-schools .al-eyebrow{color:#ff6b6f}
.al-schools .al-eyebrow::before{background:#ff6b6f}
.al-school-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative}
.al-perks{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.al-perk{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:20px}
.al-perk b{display:block;font-size:16px;margin-bottom:4px}
.al-perk span{font-size:14.5px;color:rgba(255,255,255,.72)}
.al-school-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}

/* ---------- ROADMAP ---------- */
.al-road{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:50px;position:relative}
.al-road::before{content:"";position:absolute;left:4%;right:4%;top:23px;height:2px;background:repeating-linear-gradient(90deg,var(--al-ink-soft) 0 8px,transparent 8px 16px)}
.al-phase{position:relative;padding:0 16px;text-align:center}
.al-dot{width:48px;height:48px;border-radius:50%;margin:0 auto 18px;background:var(--al-cream);border:2px solid var(--al-ink);display:grid;place-items:center;font-weight:700;position:relative;z-index:1}
.al-phase.is-now .al-dot{background:var(--al-red);border-color:var(--al-red);color:#fff;box-shadow:0 0 0 8px rgba(209,35,42,.15)}
.al-phase h4{font-size:21px;margin-bottom:4px}
.al-phase em{display:block;font-style:normal;font-size:12.5px;font-weight:700;color:var(--al-red);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.al-phase p{font-size:14.5px;color:var(--al-ink-soft);margin:0}

/* ---------- RESPONSIBLE AI ---------- */
.al-trust{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.al-trust-card{background:var(--al-paper);border:1px solid var(--al-line);border-radius:var(--al-radius);padding:34px}
.al-trust-list{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.al-trust-list li{display:flex;gap:16px}
.al-trust-list i{flex:0 0 36px;height:36px;border-radius:10px;background:rgba(31,122,109,.12);color:var(--al-teal);display:grid;place-items:center;font-style:normal;font-weight:700}
.al-trust-list b{display:block}
.al-trust-list span{font-size:15px;color:var(--al-muted)}

/* ---------- EARLY ACCESS FORM ---------- */
.al-join{background:linear-gradient(180deg,var(--al-cream) 0%,var(--al-cream-2) 100%)}
.al-join-box{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;background:var(--al-paper);border-radius:26px;overflow:hidden;border:1px solid var(--al-line);box-shadow:0 40px 80px -50px rgba(20,20,20,.45)}
.al-join-side{background:var(--al-red);color:#fff;padding:44px 40px;position:relative;overflow:hidden}
.al-join-side h2{color:#fff;font-size:clamp(28px,3.2vw,38px)}
.al-join-side p{color:rgba(255,255,255,.88)}
.al-join-side ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px;font-weight:600}
.al-join-side li::before{content:"→ ";opacity:.75}
.al-join-side::after{content:"";position:absolute;right:-70px;bottom:-70px;width:220px;height:220px;border-radius:50%;background:rgba(0,0,0,.14)}
.al-form{padding:40px}
.al-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.al-field{margin-bottom:16px}
.al-field label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
.al-field input,.al-field select,.al-field textarea{width:100%;padding:13px 14px;border:1.5px solid var(--al-line);border-radius:12px;background:var(--al-cream);font:inherit;font-size:15.5px;color:var(--al-ink);transition:border-color .15s ease,background .15s ease}
.al-field input:focus,.al-field select:focus,.al-field textarea:focus{outline:none;border-color:var(--al-red);background:#fff}
.al-field textarea{min-height:92px;resize:vertical}
.al-checks{display:flex;flex-wrap:wrap;gap:8px}
.al-checks label{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--al-line);border-radius:99px;padding:8px 14px;font-weight:600;font-size:14.5px;cursor:pointer;background:var(--al-cream);margin:0}
.al-checks input{accent-color:var(--al-red);width:16px;height:16px;margin:0}
.al-checks label:has(input:checked){border-color:var(--al-red);background:#fff}
.al-consent{display:flex;gap:10px;font-size:13.5px;color:var(--al-muted);align-items:flex-start;margin:6px 0 20px}
.al-consent input{margin-top:4px;accent-color:var(--al-red)}
.al-form-note{font-size:13px;color:var(--al-muted);margin:14px 0 0}
.al-msg{display:none;margin-top:16px;padding:14px 16px;border-radius:12px;background:rgba(31,122,109,.1);color:var(--al-teal);font-weight:600;font-size:15px}
.al-msg.is-on{display:block}

/* ---------- PARTNER / INVEST ---------- */
.al-partner{display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between;border:2px solid var(--al-ink);border-radius:22px;padding:34px 38px;background:var(--al-paper)}
.al-partner h3{font-size:clamp(24px,2.6vw,32px);margin-bottom:6px}
.al-partner p{margin:0;color:var(--al-ink-soft);max-width:640px}

/* ---------- FAQ ---------- */
.al-faq{max-width:820px;margin:44px auto 0}
.al-faq details{border-bottom:1px solid var(--al-line);padding:6px 0}
.al-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 0;font-weight:700;font-size:18px}
.al-faq summary::-webkit-details-marker{display:none}
.al-faq summary::after{content:"+";flex:0 0 32px;height:32px;border-radius:50%;border:1.5px solid var(--al-ink);display:grid;place-items:center;font-size:20px;font-weight:500;transition:transform .2s ease,background .2s ease}
.al-faq details[open] summary::after{transform:rotate(45deg);background:var(--al-ink);color:#fff}
.al-faq details p{color:var(--al-ink-soft);padding:0 50px 14px 0;margin:0}

/* ---------- reveal on scroll ---------- */
.al-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.al-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.al-reveal{opacity:1;transform:none;transition:none}.al-tile,.al-prod,.al-btn{transition:none}}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .al-aud-grid{grid-template-columns:repeat(2,1fr)}
  .al-prod-grid{grid-template-columns:1fr 1fr}
  .al-prod-grid .al-prod:last-child{grid-column:1/-1}
}
@media (max-width:860px){
  .al-section{padding:64px 0}
  .al-hero{padding:48px 0 64px}
  .al-hero-grid,.al-two,.al-school-grid,.al-trust,.al-join-box{grid-template-columns:1fr}
  .al-hero-grid{gap:44px}
  .al-bench{margin:0 auto;max-width:420px}
  .al-two,.al-school-grid,.al-trust{gap:36px}
  .al-road{grid-template-columns:1fr 1fr;row-gap:34px}
  .al-road::before{display:none}
  .al-join-side,.al-form{padding:32px 24px}
}
@media (max-width:600px){
  #aais-labs{font-size:16px}
  .al-wrap{padding:0 16px}
  .al-prod-grid,.al-aud-grid,.al-perks,.al-row{grid-template-columns:1fr}
  .al-prod-grid .al-prod:last-child{grid-column:auto}
  .al-road{grid-template-columns:1fr;text-align:left}
  .al-phase{display:grid;grid-template-columns:48px 1fr;gap:0 16px;text-align:left;padding:0}
  .al-phase .al-dot{margin:0;grid-row:span 3}
  .al-partner{padding:26px 22px}
  .al-faq details p{padding-right:0}
  .al-hero-cta .al-btn{width:100%}
  .al-bench{aspect-ratio:4/5}
  .al-tile{padding:16px}
  .al-tile-3{width:78%;height:50%;right:0}
  .al-chat{font-size:12.5px}
}

/* ===== CATALOGUE + PRODUCT PAGES ===== */
#aais-labs .al-more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-weight:700;font-size:15px;color:var(--al-red);text-decoration:none}
#aais-labs .al-more:hover{text-decoration:underline}
.al-prod-img img,.al-cat-img img,.al-sub-img img,.al-rel-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.al-prod:hover .al-prod-img img,.al-cat-card:hover .al-cat-img img,.al-rel:hover .al-rel-img img{transform:scale(1.04)}

/* catalogue */
.al-catalogue{background:var(--al-cream)}
.al-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:34px 0 34px}
.al-filter button{font:inherit;font-size:14.5px;font-weight:700;border:1.5px solid var(--al-line);background:var(--al-paper);color:var(--al-ink);border-radius:99px;padding:9px 18px;cursor:pointer;transition:all .15s ease}
.al-filter button:hover{border-color:var(--al-ink)}
.al-filter button.is-on{background:var(--al-ink);border-color:var(--al-ink);color:#fff}
.al-filter button span{opacity:.6;font-weight:600;margin-left:4px}
.al-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.al-cat-card{display:flex;flex-direction:column;background:var(--al-paper);border:1px solid var(--al-line);border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease}
.al-cat-card:hover{transform:translateY(-5px);box-shadow:0 24px 46px -30px rgba(20,20,20,.45)}
.al-cat-card[hidden]{display:none}
.al-cat-img{aspect-ratio:400/280;overflow:hidden;border-bottom:1px solid var(--al-line)}
.al-cat-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.al-line-tag{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
#aais-labs .al-cat-body h3{font-size:21px;margin-bottom:6px}
#aais-labs .al-cat-body p{font-size:15px;color:var(--al-ink-soft);margin:0 0 14px}
.al-cat-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700}
.al-cat-foot b{color:var(--al-red)}
.al-pill{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--al-muted);border:1px solid var(--al-line);border-radius:99px;padding:3px 9px}
.al-pill.is-flag{background:var(--al-red);border-color:var(--al-red);color:#fff}

/* product sub-pages */
.al-crumb{font-size:14px;color:var(--al-muted);padding:22px 0 0}
.al-crumb a{color:var(--al-ink-soft);text-decoration:none;font-weight:600}
.al-crumb a:hover{color:var(--al-red)}
.al-crumb span{margin:0 8px;opacity:.5}
.al-sub-hero{padding:36px 0 80px}
.al-sub-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
#aais-labs .al-sub-hero h1{font-size:clamp(36px,5vw,58px);margin-bottom:14px}
.al-tagline{font-family:var(--al-display);font-style:italic;font-size:clamp(20px,2.2vw,26px);color:var(--al-red);margin:0 0 16px;line-height:1.3}
.al-statusline{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
.al-statusline span{font-size:13px;font-weight:700;border-radius:99px;padding:6px 12px;background:var(--al-paper);border:1px solid var(--al-line)}
.al-statusline span:first-child{background:var(--al-ink);color:#fff;border-color:var(--al-ink)}
.al-sub-img{border-radius:26px;overflow:hidden;border:1px solid var(--al-line);box-shadow:0 40px 80px -50px rgba(20,20,20,.5);aspect-ratio:400/280}
.al-sub-sec{padding:72px 0;border-top:1px solid var(--al-line)}
.al-sub-sec.is-white{background:var(--al-paper)}
.al-featlist{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.al-featlist li{display:flex;gap:14px;align-items:flex-start;background:var(--al-cream);border:1px solid var(--al-line);border-radius:14px;padding:14px 16px;font-weight:600}
.al-featlist li i{flex:0 0 28px;height:28px;border-radius:8px;background:var(--al-red);color:#fff;font-style:normal;font-size:13px;font-weight:700;display:grid;place-items:center}
.al-outbox{background:var(--al-ink);color:#fff;border-radius:var(--al-radius);padding:32px}
#aais-labs .al-outbox h3{color:#fff;font-size:24px}
.al-outbox ul{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:14px}
.al-outbox li{display:flex;gap:12px;align-items:flex-start}
.al-outbox li::before{content:"✦";color:#ff6b6f}
.al-steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px;counter-reset:s3}
.al-step3{background:var(--al-paper);border:1px solid var(--al-line);border-radius:var(--al-radius);padding:26px;counter-increment:s3;position:relative}
.al-step3::before{content:counter(s3);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--al-red);color:#fff;font-weight:700;margin-bottom:14px}
#aais-labs .al-step3 h4{font-size:20px;margin-bottom:6px}
#aais-labs .al-step3 p{margin:0;font-size:15px;color:var(--al-ink-soft)}
.al-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.al-info{background:var(--al-cream);border:1px solid var(--al-line);border-radius:var(--al-radius);padding:28px}
#aais-labs .al-info h3{font-size:22px}
#aais-labs .al-info p{margin:0;color:var(--al-ink-soft)}
.al-info ul{margin:0;padding-left:20px;color:var(--al-ink-soft);display:grid;gap:6px}
.al-disclaim{margin:24px 0 0;font-size:14px;color:var(--al-muted);display:flex;gap:10px;align-items:flex-start}
.al-disclaim::before{content:"i";flex:0 0 20px;height:20px;border-radius:50%;border:1.5px solid var(--al-muted);display:grid;place-items:center;font-weight:700;font-size:12px;font-style:italic}
.al-rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.al-rel{display:block;background:var(--al-paper);border:1px solid var(--al-line);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s ease}
.al-rel:hover{transform:translateY(-4px)}
.al-rel-img{aspect-ratio:400/280;overflow:hidden}
.al-rel div:last-child{padding:14px 18px 18px}
#aais-labs .al-rel h4{font-size:18px;margin:4px 0 0}
.al-cta-band{background:var(--al-red);color:#fff;border-radius:26px;padding:44px;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
#aais-labs .al-cta-band h2{color:#fff;font-size:clamp(26px,3vw,36px);margin:0 0 6px}
#aais-labs .al-cta-band p{margin:0;color:rgba(255,255,255,.88)}
.al-btn-white{background:#fff;color:var(--al-red) !important}
@media (max-width:1024px){.al-cat-grid{grid-template-columns:1fr 1fr}}
@media (max-width:860px){.al-sub-grid,.al-two-sub,.al-info-grid{grid-template-columns:1fr}.al-steps3,.al-rel-grid{grid-template-columns:1fr}.al-sub-grid{gap:34px}.al-cta-band{padding:30px 24px}}
@media (max-width:600px){.al-cat-grid{grid-template-columns:1fr}.al-sub-sec{padding:56px 0}}

/* ===== PRICING + CATALOGUE PAGE ===== */
.al-price-line{margin:0 0 12px !important;font-size:15px !important;color:var(--al-muted) !important}
.al-price-line b{font-size:19px;color:var(--al-ink);font-weight:700;margin-right:4px}
.al-pricebox{background:var(--al-paper);border:1.5px solid var(--al-ink);border-radius:18px;padding:20px 22px;margin:0 0 26px;max-width:460px}
.al-pricebox .al-pb-top{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}
.al-pricebox .al-pb-price{font-family:var(--al-display);font-size:38px;font-weight:700;line-height:1}
.al-pricebox s{color:var(--al-muted);font-size:18px}
.al-save{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--al-red);color:#fff;border-radius:99px;padding:4px 10px}
.al-pricebox .al-pb-unit{font-size:14.5px;color:var(--al-muted);margin:6px 0 0 !important}
.al-pricebox ul{list-style:none;padding:12px 0 0;margin:12px 0 0;border-top:1px dashed var(--al-line);display:grid;gap:6px;font-size:14.5px}
.al-pricebox li{display:flex;justify-content:space-between;gap:14px}
.al-pricebox li b{white-space:nowrap}
.al-catnav{position:sticky;top:0;z-index:5;background:rgba(251,246,236,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--al-line)}
.al-catnav .al-wrap{display:flex;gap:8px;overflow-x:auto;padding-top:12px;padding-bottom:12px;scrollbar-width:none}
.al-catnav a{flex:0 0 auto;font-size:14px;font-weight:700;text-decoration:none;border:1.5px solid var(--al-line);background:var(--al-paper);border-radius:99px;padding:8px 15px;color:var(--al-ink)}
.al-catnav a:hover{border-color:var(--al-ink)}
.al-cat-sec{padding:64px 0 24px;scroll-margin-top:70px}
.al-cat-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;margin-bottom:26px}
#aais-labs .al-cat-head h2{font-size:clamp(28px,3.4vw,40px);margin:0}
#aais-labs .al-cat-head p{margin:6px 0 0;color:var(--al-ink-soft);max-width:620px}
.al-pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.al-pcard{display:flex;flex-direction:column;background:var(--al-paper);border:1px solid var(--al-line);border-radius:20px;overflow:hidden;position:relative}
.al-pcard .al-cat-img{aspect-ratio:400/280}
.al-pcard-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
#aais-labs .al-pcard h3{font-size:21px;margin:0 0 4px}
#aais-labs .al-pcard .al-pc-tag{font-size:14.5px;color:var(--al-ink-soft);margin:0 0 14px}
.al-pc-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}
.al-pc-price b{font-family:var(--al-display);font-size:28px;line-height:1}
.al-pc-price s{color:var(--al-muted);font-size:15px}
#aais-labs .al-pc-unit{font-size:13.5px;color:var(--al-muted);margin:4px 0 12px}
.al-pc-opts{list-style:none;padding:10px 0 0;margin:0 0 16px;border-top:1px dashed var(--al-line);display:grid;gap:5px;font-size:13.5px;color:var(--al-ink-soft)}
.al-pc-opts li{display:flex;justify-content:space-between;gap:10px}
.al-pc-opts li b{color:var(--al-ink);white-space:nowrap}
.al-pc-btns{margin-top:auto;display:flex;gap:8px}
#aais-labs .al-pc-btns a{flex:1;text-align:center;font-size:14px;font-weight:700;text-decoration:none;border-radius:99px;padding:10px 12px;border:1.5px solid var(--al-ink);color:var(--al-ink)}
#aais-labs .al-pc-btns a.is-red{background:var(--al-red);border-color:var(--al-red);color:#fff}
.al-ribbon{position:absolute;top:14px;left:14px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--al-ink);color:#fff;border-radius:99px;padding:5px 11px;z-index:1}
.al-ribbon.is-red{background:var(--al-red)}
.al-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.al-plan{background:var(--al-paper);border:1px solid var(--al-line);border-radius:22px;padding:30px 28px;display:flex;flex-direction:column;position:relative}
.al-plan.is-pop{background:var(--al-ink);color:#fff;border-color:var(--al-ink)}
#aais-labs .al-plan.is-pop h3,#aais-labs .al-plan.is-pop .al-plan-price{color:#fff}
#aais-labs .al-plan h3{font-size:24px;margin:0 0 4px}
.al-plan-price{font-family:var(--al-display);font-size:40px;font-weight:700;line-height:1.1}
#aais-labs .al-plan .al-plan-unit{font-size:14px;opacity:.75;margin:2px 0 14px}
.al-plan ul{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:9px;font-size:15px}
.al-plan li::before{content:"✓  ";color:var(--al-red);font-weight:700}
.al-plan.is-pop li::before{color:#ff6b6f}
.al-plan .al-btn{margin-top:auto}
.al-plan.is-pop .al-btn-ghost{color:#fff !important;border-color:#fff}
.al-corp{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;background:var(--al-paper);border:2px solid var(--al-ink);border-radius:24px;padding:34px}
.al-corp ul{margin:12px 0 0;padding-left:20px;display:grid;gap:6px;color:var(--al-ink-soft)}
.al-corp-price{background:var(--al-cream);border-radius:18px;padding:24px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.al-plist{width:100%;border-collapse:collapse;font-size:15px;background:var(--al-paper);border:1px solid var(--al-line);border-radius:16px;overflow:hidden}
.al-plist th{background:var(--al-ink);color:#fff;text-align:left;padding:11px 14px;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.al-plist td{padding:10px 14px;border-top:1px solid var(--al-line);vertical-align:top}
.al-plist td.r,.al-plist th.r{text-align:right;white-space:nowrap}
.al-plist tr.al-pl-group td{background:var(--al-cream-2);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--al-ink-soft)}
.al-tablewrap{overflow-x:auto;border-radius:16px}
.al-notes{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 28px;font-size:15px;color:var(--al-ink-soft)}
.al-notes p{margin:0}
@media (max-width:1024px){.al-pgrid{grid-template-columns:1fr 1fr}.al-plans{grid-template-columns:1fr}.al-corp{grid-template-columns:1fr}}
@media (max-width:600px){.al-pgrid,.al-notes{grid-template-columns:1fr}.al-corp{padding:24px 20px}.al-plist{font-size:14px}}
@media print{.aais-hdr,.al-preview-bar,.al-preview-foot,.al-catnav,.al-noprint,.al-pc-btns,.al-cta-band{display:none !important}
#aais-labs{background:#fff}.al-pcard,.al-plan,.al-corp,.al-plist tr{break-inside:avoid}.al-cat-sec{padding-top:24px}
.al-pgrid{grid-template-columns:repeat(3,1fr)}.al-plans{grid-template-columns:repeat(3,1fr)}.al-reveal{opacity:1 !important;transform:none !important}}

/* ===== inside the AAIS site (sticky 78px header) ===== */
#aais-labs [id]{scroll-margin-top:96px}
.al-catnav{top:78px}
.al-cat-sec{scroll-margin-top:150px}
.al-msg.is-error{background:rgba(209,35,42,.08);color:#a5161c}
/* headings on the red and dark panels stay white (the #aais-labs heading colour is more specific) */
#aais-labs .al-join-side h2,#aais-labs .al-schools h2,#aais-labs .al-schools h3{color:#fff}
/* clip (not hidden) so the sticky catalogue bar keeps working */
#aais-labs{overflow-x:clip}
