/* =========================================================
   AISM --- pages.css
   Mega menu · brand wordmark · burger · page heroes ·
   forms · article · legal · solution-detail
   (loaded AFTER styles.css on every page)
   ========================================================= */

/* ---------- brand wordmark ---------- */
.brand__wm{ font-weight:800; font-size:21px; letter-spacing:.01em; color:var(--ink); }
.nav a.is-active{ color:var(--blue-700); background:var(--blue-50); }
.header__sec.is-active{ color:var(--blue-700); }

/* ---------- desktop nav links + dropdown triggers ---------- */
.nav .navlink{ display:inline-flex; align-items:center; gap:5px; padding:9px 11px; border-radius:10px;
  font-size:14px; font-weight:600; color:var(--body); white-space:nowrap; letter-spacing:-0.01em;
  background:none; border:none; cursor:pointer; font-family:inherit; transition:color .18s ease, background .18s ease; }
.nav .navlink:hover{ color:var(--ink); background:var(--bg-soft); }
.nav .navlink.is-active{ color:var(--blue-700); background:var(--blue-50); }
.navitem{ position:relative; display:inline-flex; }
.navitem.active > .navlink{ color:var(--blue-700); background:var(--blue-50); }
.navlink__chev{ width:15px; height:15px; opacity:.65; transition:transform .22s ease; }
.navitem.active .navlink__chev{ transform:rotate(180deg); opacity:1; }

/* ---------- desktop mega dropdown panels ---------- */
.megapanel{ position:absolute; top:100%; left:0; right:0; z-index:55;
  background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  box-shadow:0 36px 60px -34px rgba(20,40,110,.40);
  opacity:0; visibility:hidden; transform:translateY(-8px); pointer-events:none;
  transition:transform .26s cubic-bezier(.2,.7,.2,1); }
.megapanel.show{ opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.megapanel__inner{ display:grid; grid-template-columns:1.72fr .82fr; gap:34px; padding:28px 0 32px; }
.megapanel .mega__h{ margin-bottom:16px; }
.megapanel .mm-grid{ grid-template-columns:repeat(3,1fr); gap:11px; }
.megapanel .mm-grid--res{ grid-template-columns:repeat(2,1fr); }
.megapanel .mm-card__tx b{ font-size:15px; }
.megapanel__all{ display:inline-flex; align-items:center; gap:7px; margin-top:18px; font-weight:700; font-size:14px; color:var(--blue-700); }
.megapanel__all svg{ width:15px; height:15px; transition:transform .2s ease; }
.megapanel__all:hover svg{ transform:translateX(3px); }
.megapanel__feat{ position:relative; overflow:hidden; border-radius:var(--r-lg); padding:26px 24px;
  background:radial-gradient(120% 130% at 92% 0%, #2f6bf3 0%, transparent 58%), var(--bg-deep); color:#cdd9f2;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.megapanel__feat h4{ color:#fff; font-size:21px; margin-top:10px; line-height:1.15; }
.megapanel__feat p{ margin-top:10px; font-size:14px; color:#aebbd8; line-height:1.55; }
.megapanel__feat .btn{ margin-top:20px; }
@media (max-width:1080px){ .megapanel{ display:none; } }

/* ---------- animated burger (mobile only; display owned by styles.css) ---------- */
.burger{ align-items:center; gap:9px; width:auto; padding:0 14px 0 12px; height:42px; border-radius:var(--pill); border:1px solid var(--line); background:#fff; }
.burger:hover{ border-color:var(--blue-300); }
.burger__box{ position:relative; width:18px; height:13px; display:block; }
.burger__box span{ position:absolute; left:0; width:100%; height:2px; border-radius:2px; background:var(--ink); transition:transform .3s ease, opacity .2s ease, top .3s ease; }
.burger__box span:nth-child(1){ top:0; } .burger__box span:nth-child(2){ top:5.5px; } .burger__box span:nth-child(3){ top:11px; }
.burger.is-x .burger__box span:nth-child(1){ top:5.5px; transform:rotate(45deg); }
.burger.is-x .burger__box span:nth-child(2){ opacity:0; }
.burger.is-x .burger__box span:nth-child(3){ top:5.5px; transform:rotate(-45deg); }
.burger__txt{ font-size:14px; font-weight:700; color:var(--ink); }

/* =========================================================
   MEGA MENU (full screen overlay)
   ========================================================= */
.mega{
  position:fixed; inset:0; z-index:90; background:#fff;
  opacity:0; visibility:hidden; transform:translateY(-10px);
  transition:transform .35s cubic-bezier(.2,.7,.2,1);
  display:flex; flex-direction:column; overflow-y:auto;
}
.mega.open{ opacity:1; visibility:visible; transform:none; }
.mega::before{ content:""; position:absolute; top:-200px; right:-120px; width:620px; height:620px; pointer-events:none;
  background:radial-gradient(closest-side, rgba(47,107,243,.10), transparent); }
.mega__top{ display:flex; align-items:center; justify-content:space-between; padding-top:18px; padding-bottom:18px; position:relative; z-index:1; }
.megaclose{ width:46px; height:46px; border-radius:13px; border:1px solid var(--line); background:#fff; position:relative; display:grid; place-items:center; }
.megaclose:hover{ border-color:var(--blue-300); }
.megaclose span{ position:absolute; width:18px; height:2px; border-radius:2px; background:var(--ink); }
.megaclose span:nth-child(1){ transform:rotate(45deg); } .megaclose span:nth-child(2){ transform:rotate(-45deg); }

.mega__body{ position:relative; z-index:1; display:grid; grid-template-columns:1.55fr .95fr; gap:48px; padding-top:26px; padding-bottom:40px; flex:1; align-content:start; }
.mega__main{ display:flex; flex-direction:column; gap:38px; }
.mega__h{ font-family:var(--mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); font-weight:700; margin-bottom:18px; }
.mm-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.mm-card{ display:flex; align-items:center; gap:14px; padding:16px; border-radius:var(--r); border:1px solid var(--line); background:#fff;
  transition:transform .18s ease, box-shadow .22s ease, border-color .18s ease; }
.mm-card:hover{ transform:translateY(-3px); box-shadow:var(--sh-md); border-color:transparent; }
.mm-card__ic{ width:46px; height:46px; border-radius:13px; background:var(--grad-soft); border:1px solid var(--blue-100); color:var(--blue-700); display:grid; place-items:center; flex:none; }
.mm-card__ic svg{ width:23px; height:23px; }
.mm-card__tx b{ display:block; font-size:15.5px; color:var(--ink); font-weight:700; letter-spacing:-0.01em; }
.mm-card__tx small{ display:block; font-size:13px; color:var(--muted); margin-top:2px; }
.mega__cols{ display:grid; grid-template-columns:1fr 1fr; gap:38px; }
.mm-stack{ display:flex; flex-direction:column; gap:4px; }
.mm-link{ display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:11px; font-weight:600; color:var(--ink-2); font-size:15.5px; transition:background .16s ease, color .16s ease; }
.mm-link svg{ width:20px; height:20px; color:var(--blue-600); flex:none; }
.mm-link:hover{ background:var(--bg-soft); color:var(--blue-700); }

.mega__feature{ position:relative; overflow:hidden; border-radius:var(--r-xl); padding:38px 34px;
  background:radial-gradient(120% 130% at 90% 0%, #2f6bf3 0%, transparent 55%), var(--bg-deep); color:#cdd9f2; display:flex; flex-direction:column; align-items:flex-start; }
.mega__featglow{ position:absolute; bottom:-120px; left:-80px; width:340px; height:340px; background:radial-gradient(closest-side, rgba(96,165,250,.4), transparent); }
.mega__feature h3{ color:#fff; font-size:28px; margin-top:14px; position:relative; }
.mega__feature p{ margin-top:14px; font-size:15.5px; line-height:1.6; color:#aebbd8; position:relative; }
.mega__feature .btn{ margin-top:26px; position:relative; }
.mega__feat-sec{ margin-top:16px; font-size:14px; font-weight:600; color:#9fb3e0; display:inline-flex; align-items:center; gap:7px; position:relative; }
.mega__feat-sec svg{ width:15px; height:15px; } .mega__feat-sec:hover{ color:#fff; }

.mega__foot{ position:relative; z-index:1; display:flex; align-items:center; gap:24px; padding:20px 0 30px; border-top:1px solid var(--line); flex-wrap:wrap; }
.mega__foot a{ font-size:14px; font-weight:600; color:var(--muted); } .mega__foot a:hover{ color:var(--blue-700); }
.mega__dom{ margin-left:auto; font-family:var(--mono); font-size:12.5px; color:var(--faint); }

@media (max-width: 860px){
  .mega__body{ grid-template-columns:1fr; gap:32px; }
  .mm-grid{ grid-template-columns:1fr; }
  .mega__feature{ padding:30px 26px; }
}

/* =========================================================
   PAGE HERO (inner pages)
   ========================================================= */
.phero{ position:relative; overflow:hidden; padding:72px 0 60px; border-bottom:1px solid var(--line);
  background:radial-gradient(120% 130% at 85% -10%, var(--bg-blue) 0%, transparent 55%), #fff; }
.phero .grid-overlay{ -webkit-mask-image:radial-gradient(110% 90% at 70% 0%, #000, transparent 65%); mask-image:radial-gradient(110% 90% at 70% 0%, #000, transparent 65%); }
.phero__inner{ position:relative; z-index:1; max-width:780px; }
.crumb{ display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--muted); font-weight:600; margin-bottom:22px; flex-wrap:wrap; }
.crumb a:hover{ color:var(--blue-700); } .crumb svg{ width:14px; height:14px; opacity:.6; }
.crumb b{ color:var(--ink-2); }
.phero h1{ font-size:clamp(32px,4.4vw,52px); }
.phero__lead{ margin-top:18px; font-size:clamp(17px,1.4vw,20px); color:var(--body); line-height:1.55; max-width:640px; }
.phero__actions{ margin-top:30px; display:flex; flex-wrap:wrap; gap:13px; }
.phero--center .phero__inner{ max-width:760px; margin:0 auto; text-align:center; }
.phero--center .phero__lead{ margin-left:auto; margin-right:auto; }
.phero--center .phero__actions{ justify-content:center; }

.phero__tag{ display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--line); border-radius:var(--pill); padding:8px 16px 8px 10px; font-size:13.5px; font-weight:700; color:var(--ink-2); box-shadow:var(--sh-xs); margin-bottom:20px; }
.phero__tag .i{ width:28px; height:28px; border-radius:9px; background:var(--grad-soft); border:1px solid var(--blue-100); color:var(--blue-700); display:grid; place-items:center; }
.phero__tag .i svg{ width:16px; height:16px; }

/* =========================================================
   EXAMPLES --- redesigned (visual cards w/ mini UI mock)
   ========================================================= */
.exv-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:52px; }
.exv{ position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; transition:transform .2s ease, box-shadow .25s ease; display:flex; flex-direction:column; }
.exv:hover{ transform:translateY(-5px); box-shadow:var(--sh-lg); }
.exv__viz{ position:relative; height:194px; overflow:hidden; border-bottom:1px solid var(--line);
  background:radial-gradient(120% 120% at 30% 0%, #f3f7ff, #eaf0fb); padding:18px; }
.exv__chip{ position:absolute; top:14px; right:14px; z-index:3; font-family:var(--mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; background:rgba(255,255,255,.92); border:1px solid var(--line); border-radius:var(--pill); padding:5px 11px; color:var(--blue-700); font-weight:700; }
.exv__body{ padding:24px; display:flex; flex-direction:column; flex:1; }
.exv__body h3{ font-size:20px; }
.exv__need{ margin-top:10px; font-size:15px; color:var(--body); line-height:1.5; }
.exv__tags{ margin-top:18px; display:flex; flex-wrap:wrap; gap:8px; padding-top:18px; border-top:1px solid var(--line-soft); }
.tag{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:var(--ink-2); background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--pill); padding:6px 12px; }
.tag svg{ width:13px; height:13px; color:var(--blue-600); }
.exv__foot{ margin-top:auto; padding-top:18px; }

/* mini mock UI primitives (used inside .exv__viz) */
.mock{ position:absolute; background:#fff; border:1px solid var(--line); box-shadow:var(--sh-sm); border-radius:12px; }
.mock--bar{ height:9px; border-radius:6px; background:var(--line); }
.mock__dot{ width:8px; height:8px; border-radius:50%; }
.bubble{ border-radius:13px; padding:9px 12px; font-size:11.5px; font-weight:600; max-width:170px; box-shadow:var(--sh-sm); }
.bubble--in{ background:#fff; border:1px solid var(--line); color:var(--ink-2); }
.bubble--out{ background:var(--grad); color:#fff; }
.kpi{ background:#fff; border:1px solid var(--line); border-radius:11px; padding:10px 12px; box-shadow:var(--sh-sm); }
.kpi b{ font-size:18px; color:var(--ink); } .kpi small{ display:block; font-size:10px; color:var(--muted); font-family:var(--mono); letter-spacing:.04em; }

/* =========================================================
   SOLUTION DETAIL
   ========================================================= */
.split{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.split--rev .split__media{ order:-1; }
.feature-list{ display:flex; flex-direction:column; gap:16px; margin-top:26px; }
.fl{ display:flex; gap:14px; align-items:flex-start; }
.fl__ic{ width:42px; height:42px; border-radius:12px; background:var(--blue-50); color:var(--blue-700); display:grid; place-items:center; flex:none; }
.fl__ic svg{ width:21px; height:21px; }
.fl h4{ font-size:16.5px; } .fl p{ margin-top:4px; font-size:14.5px; color:var(--body); }

.statband{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.statband .why{ text-align:left; }

.panel{ background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); box-shadow:var(--sh-lg); padding:22px; }
.panel__bar{ display:flex; gap:7px; align-items:center; margin-bottom:16px; }
.panel__bar i{ width:10px; height:10px; border-radius:50%; background:#e2e6f0; }
.panel__bar i:nth-child(1){ background:#dce7ff; } .panel__bar i:nth-child(2){ background:#e7eaf3; } .panel__bar i:nth-child(3){ background:#a9e0bd; }
.panel__bar span{ margin-left:6px; font-family:var(--mono); font-size:11px; color:var(--faint); }

/* chat demo */
.chat{ background:var(--bg-soft); border:1px solid var(--line-soft); border-radius:var(--r-lg); padding:18px; display:flex; flex-direction:column; gap:12px; min-height:300px; }
.chat .bubble{ max-width:78%; font-size:13.5px; line-height:1.45; }
.chat .bubble--in{ align-self:flex-start; } .chat .bubble--out{ align-self:flex-end; }
.chat__src{ align-self:flex-start; display:inline-flex; align-items:center; gap:7px; font-family:var(--mono); font-size:11px; color:var(--muted); background:#fff; border:1px solid var(--line); border-radius:var(--pill); padding:5px 11px; }
.chat__src .tool__ic{ width:18px; height:18px; font-size:9px; border-radius:5px; }

/* =========================================================
   FORMS (qualification, contact, provider)
   ========================================================= */
.formwrap{ max-width:760px; margin:0 auto; }
.formcard{ background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); box-shadow:var(--sh-lg); padding:34px; }
.formcard--wide{ max-width:920px; }
.field{ margin-top:20px; }
.field:first-child{ margin-top:0; }
.field label, .flabel{ display:block; font-size:14px; font-weight:700; color:var(--ink); margin-bottom:9px; letter-spacing:-0.01em; }
.field .req{ color:var(--blue-600); }
.field small.hint{ display:block; font-size:12.5px; color:var(--muted); margin-top:7px; }
.input, .textarea, .select{ width:100%; font-family:inherit; font-size:15.5px; color:var(--ink); background:#fff; border:1.5px solid var(--line); border-radius:var(--r); padding:13px 15px; transition:border-color .16s ease, box-shadow .16s ease; }
.input:focus, .textarea:focus, .select:focus{ outline:none; border-color:var(--blue-500); box-shadow:0 0 0 4px var(--blue-50); }
.textarea{ min-height:130px; resize:vertical; line-height:1.55; }
.input.invalid, .textarea.invalid, .select.invalid{ border-color:var(--blue-600); box-shadow:0 0 0 4px var(--blue-50); }
.err{ display:none; font-size:12.5px; color:var(--blue-700); margin-top:7px; font-weight:600; }
.err.show{ display:block; }
.frow{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:560px){ .frow{ grid-template-columns:1fr; } }

/* choice cards (radio/checkbox as cards) */
.choices{ display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.choices--3{ grid-template-columns:repeat(3,1fr); }
.choice{ position:relative; display:flex; align-items:center; gap:12px; border:1.5px solid var(--line); border-radius:var(--r); padding:14px 15px; cursor:pointer; transition:border-color .15s ease, background .15s ease, transform .12s ease; background:#fff; }
.choice:hover{ border-color:var(--blue-300); transform:translateY(-1px); }
.choice input{ position:absolute; opacity:0; pointer-events:none; }
.choice__box{ width:22px; height:22px; border:2px solid var(--line); flex:none; display:grid; place-items:center; transition:.15s; border-radius:50%; }
.choice--check .choice__box{ border-radius:7px; }
.choice__box svg{ width:13px; height:13px; color:#fff; opacity:0; transition:.15s; }
.choice__ic{ width:34px; height:34px; border-radius:10px; background:var(--grad-soft); border:1px solid var(--blue-100); color:var(--blue-700); display:grid; place-items:center; flex:none; }
.choice__ic svg{ width:18px; height:18px; }
.choice b{ font-size:14.5px; font-weight:600; color:var(--ink); line-height:1.25; }
.choice small{ display:block; font-size:12.5px; color:var(--muted); font-weight:500; margin-top:2px; }
.choice.sel{ border-color:var(--blue-600); background:var(--blue-50); }
.choice.sel .choice__box{ border-color:var(--blue-600); background:var(--blue-600); }
.choice.sel .choice__box svg{ opacity:1; }
@media(max-width:560px){ .choices, .choices--3{ grid-template-columns:1fr; } }

/* multi-step shell (full page form) */
.wizard__top{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:10px; }
.wizard__step{ font-family:var(--mono); font-size:12.5px; color:var(--muted); } .wizard__step b{ color:var(--blue-700); }
.wizard__save{ font-size:12.5px; color:var(--muted); display:inline-flex; align-items:center; gap:6px; } .wizard__save svg{ width:14px; height:14px; color:var(--blue-600); }
.wbar{ height:7px; border-radius:var(--pill); background:var(--line); overflow:hidden; margin-bottom:28px; }
.wbar__fill{ height:100%; border-radius:inherit; background:var(--grad); width:0; transition:width .45s cubic-bezier(.2,.7,.2,1); }
.wstep{ display:none; } .wstep.active{ display:block; animation:wfade .35s ease; }
@keyframes wfade{ from{ opacity:0; transform:translateY(8px);} to{ opacity:1; transform:none;} }
.wstep h2{ font-size:24px; } .wstep__hint{ margin-top:8px; color:var(--muted); font-size:14.5px; }
.wnav{ margin-top:28px; display:flex; align-items:center; gap:12px; }
.wnav .btn--primary{ margin-left:auto; }
.wback{ background:none; border:none; color:var(--muted); font-weight:600; font-size:14.5px; display:inline-flex; align-items:center; gap:6px; padding:10px 4px; }
.wback svg{ width:16px; height:16px; } .wback:hover{ color:var(--ink); }
.wback[hidden]{ display:none; }

/* success screen */
.done{ text-align:center; padding:24px 8px; }
.done__ic{ width:74px; height:74px; margin:0 auto 20px; border-radius:50%; background:var(--blue-50); color:var(--blue-700); display:grid; place-items:center; animation:pop .5s cubic-bezier(.2,.9,.3,1.4); }
.done__ic svg{ width:38px; height:38px; }
@keyframes pop{ from{ transform:scale(.6); opacity:0;} to{ transform:scale(1); opacity:1;} }
.done h2{ font-size:26px; } .done p{ margin-top:12px; color:var(--body); max-width:440px; margin-left:auto; margin-right:auto; }
.recap{ margin:24px auto 0; max-width:440px; text-align:left; background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--r); padding:18px; }
.recap__row{ display:flex; justify-content:space-between; gap:16px; padding:9px 0; border-bottom:1px solid var(--line-soft); font-size:14px; }
.recap__row:last-child{ border-bottom:none; } .recap__row span{ color:var(--muted); } .recap__row b{ color:var(--ink); text-align:right; }

/* aside steps on form pages */
.formlayout{ display:grid; grid-template-columns:300px 1fr; gap:44px; align-items:start; }
.formaside{ position:sticky; top:100px; }
.formaside__steps{ display:flex; flex-direction:column; gap:4px; margin-top:22px; }
.fstep{ display:flex; gap:14px; align-items:flex-start; padding:12px; border-radius:var(--r); transition:background .2s; }
.fstep.on{ background:#fff; border:1px solid var(--line); box-shadow:var(--sh-xs); }
.fstep__n{ width:30px; height:30px; border-radius:50%; border:1.5px solid var(--line); display:grid; place-items:center; font-family:var(--mono); font-size:13px; font-weight:700; color:var(--muted); flex:none; background:#fff; }
.fstep.on .fstep__n{ background:var(--grad); color:#fff; border-color:transparent; }
.fstep.done .fstep__n{ background:var(--blue-50); color:var(--blue-700); border-color:var(--blue-100); }
.fstep b{ font-size:14.5px; color:var(--ink-2); } .fstep.on b{ color:var(--ink); }
.fstep small{ display:block; font-size:12.5px; color:var(--muted); margin-top:2px; }
.formaside__assure{ margin-top:24px; padding:16px; background:var(--bg-blue); border:1px solid var(--blue-100); border-radius:var(--r); font-size:13px; color:var(--blue-900); line-height:1.5; display:flex; gap:10px; }
.formaside__assure svg{ width:18px; height:18px; color:var(--blue-700); flex:none; }
@media(max-width:880px){ .formlayout{ grid-template-columns:1fr; gap:28px; } .formaside{ position:static; } .formaside__steps{ display:none; } }

/* =========================================================
   ARTICLE
   ========================================================= */
.article{ max-width:740px; margin:0 auto; }
.article__meta{ display:flex; align-items:center; gap:14px; font-family:var(--mono); font-size:13px; color:var(--muted); margin-bottom:18px; flex-wrap:wrap; }
.article__hero-img{ height:300px; border-radius:var(--r-lg); border:1px solid var(--line); overflow:hidden; margin:8px 0 40px; background:var(--grad-soft); }
.prose{ font-size:17.5px; line-height:1.72; color:var(--ink-2); }
.prose > * + *{ margin-top:22px; }
.prose h2{ font-size:27px; margin-top:48px; }
.prose h3{ font-size:21px; margin-top:36px; }
.prose p{ color:var(--body); }
.prose ul, .prose ol{ padding-left:22px; color:var(--body); display:flex; flex-direction:column; gap:10px; }
.prose li{ padding-left:6px; }
.prose strong{ color:var(--ink); }
.prose blockquote{ border-left:3px solid var(--blue-500); padding:6px 0 6px 22px; color:var(--ink); font-size:20px; font-weight:600; line-height:1.5; }
.callout{ background:var(--bg-blue); border:1px solid var(--blue-100); border-radius:var(--r); padding:22px 24px; }
.callout h4{ font-size:16px; color:var(--blue-900); margin-bottom:8px; }
.callout p{ font-size:15px; color:var(--ink-2); margin:0; }
.toc{ background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--r); padding:22px 24px; }
.toc h4{ font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:14px; }
.toc a{ display:block; padding:7px 0; font-size:15px; color:var(--ink-2); font-weight:600; border-bottom:1px solid var(--line-soft); }
.toc a:last-child{ border-bottom:none; } .toc a:hover{ color:var(--blue-700); }

.aism-seo-faq{
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.aism-seo-faq .sec-head{
  max-width:760px;
}
.aism-seo-faq .faq{
  max-width:900px;
  display:grid;
  gap:12px;
  margin-top:38px;
}
.aism-seo-faq .qa{
  border:1px solid var(--line);
  border-radius:var(--r);
  background:#fff;
  box-shadow:0 18px 48px -34px rgba(30,58,138,.28);
  overflow:hidden;
}
.aism-seo-faq .qa__q{
  padding:20px 22px;
  color:var(--ink) !important;
  background:#fff !important;
}
.aism-seo-faq .qa__q:hover{
  color:var(--blue-700) !important;
  background:var(--blue-50) !important;
}
.aism-seo-faq .qa__a p{
  padding:0 64px 22px 22px;
}
.aism-seo-faq .qa__sign{
  background:var(--blue-50);
  border-color:var(--blue-100);
  color:var(--blue-700);
}

/* SEO-friendly WordPress post template. */
body.aism-article-body{ background:#fff; color:var(--ink-2); }
body.aism-article-body a{ color:inherit; }
.aism-article-template{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#fff;
}
.aism-article-hero{
  position:relative;
  overflow:hidden;
  padding:74px 0 58px;
  border-bottom:1px solid var(--line);
  background:radial-gradient(120% 130% at 85% -10%, var(--bg-blue) 0%, transparent 55%), #fff;
}
.aism-article-hero .grid-overlay{
  -webkit-mask-image:radial-gradient(110% 90% at 70% 0%, #000, transparent 65%);
  mask-image:radial-gradient(110% 90% at 70% 0%, #000, transparent 65%);
}
.aism-article-hero__inner{ position:relative; z-index:1; max-width:900px; }
.aism-article-kicker{ display:flex; flex-wrap:wrap; gap:9px; margin-bottom:20px; }
.aism-cat-chip{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  border:1px solid var(--blue-100);
  border-radius:var(--pill);
  background:#fff;
  color:var(--blue-700);
  font-family:var(--mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:7px 13px;
  box-shadow:var(--sh-xs);
}
.aism-article-hero h1{
  font-size:clamp(34px,4.5vw,58px);
  max-width:920px;
}
.aism-article-lead{
  margin-top:18px;
  max-width:760px;
  font-size:clamp(17px,1.5vw,21px);
  color:var(--body);
  line-height:1.58;
}
.aism-article-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 18px;
  margin-top:28px;
  font-family:var(--mono);
  font-size:13px;
  color:var(--muted);
}
.aism-article-meta span{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.aism-article-meta span + span::before{
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--blue-300);
}
.aism-article-shell{ padding:48px 0 0; }
.aism-article-visual{
  height:clamp(220px,28vw,360px);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--grad-soft);
  box-shadow:var(--sh-sm);
}
.aism-article-visual img,
.aism-article-visual svg{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.aism-article-layout{
  display:grid;
  grid-template-columns:minmax(190px,260px) minmax(0,760px);
  gap:56px;
  align-items:start;
  justify-content:center;
  margin-top:50px;
}
.aism-article-layout.no-toc{
  grid-template-columns:minmax(0,760px);
}
.aism-article-toc{
  position:sticky;
  top:96px;
}
.aism-article-toc .toc{ margin:0; }
.aism-article-toc .toc a.is-sub{
  padding-left:14px;
  font-size:14px;
  color:var(--muted);
}
.aism-article-content{
  min-width:0;
  padding-bottom:20px;
}
.aism-article-content a{
  color:var(--blue-700);
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:.08em;
  text-underline-offset:3px;
}
.aism-article-content img{
  border-radius:var(--r);
  border:1px solid var(--line);
  box-shadow:var(--sh-sm);
}
.aism-article-content table{
  width:100%;
  border-collapse:collapse;
  font-size:15px;
  overflow:hidden;
}
.aism-article-content th,
.aism-article-content td{
  border:1px solid var(--line);
  padding:12px 14px;
  text-align:left;
}
.aism-article-content th{ background:var(--bg-soft); color:var(--ink); }
.aism-author-box{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:18px;
  margin-top:54px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:var(--bg-soft);
}
.aism-author-box__avatar,
.aism-author-profile__avatar{
  width:64px;
  height:64px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:var(--grad);
  color:#fff;
  font-family:var(--mono);
  font-weight:700;
  box-shadow:var(--sh-blue);
}
.aism-author-box h2{
  margin-top:8px;
  font-size:22px;
}
.aism-author-box p{
  margin-top:10px;
  color:var(--body);
  font-size:15.5px;
  line-height:1.62;
}
.aism-author-box .linkarrow{
  margin-top:14px;
}
.aism-article-faq .why{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:24px;
  box-shadow:var(--sh-xs);
}
.aism-article-faq .why:hover{
  border-color:var(--blue-100);
  box-shadow:var(--sh-sm);
  transform:none;
}
.aism-article-faq .why h3{ font-size:19px; }
.aism-article-faq .why p{ margin-top:10px; color:var(--body); font-size:15px; line-height:1.62; }
.aism-post-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:30px;
}
.aism-post-card{
  display:flex;
  flex-direction:column;
  min-height:230px;
  padding:24px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  transition:transform .2s ease, box-shadow .25s ease, border-color .2s ease;
}
.aism-post-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--sh-md);
  border-color:transparent;
}
.aism-post-card span{
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--blue-700);
}
.aism-post-card h3{
  margin-top:14px;
  font-size:20px;
  line-height:1.25;
}
.aism-post-card p{
  margin-top:12px;
  color:var(--body);
  font-size:14.5px;
  line-height:1.55;
}
.aism-recent-head{ margin-top:66px; }
.aism-article-template .cta .btn--light{
  background:#fff !important;
  color:var(--blue-900) !important;
}

/* Blog, categories and author page. */
.aism-blog-template{
  width:100%;
  max-width:none;
  margin:0;
  overflow:hidden;
  background:#fff;
}
.aism-blog-hero{
  position:relative;
  overflow:hidden;
  padding:74px 0 66px;
  border-bottom:1px solid var(--line);
  background:radial-gradient(120% 130% at 85% -10%, var(--bg-blue) 0%, transparent 55%), #fff;
}
.aism-blog-hero .grid-overlay{
  -webkit-mask-image:radial-gradient(110% 90% at 70% 0%, #000, transparent 65%);
  mask-image:radial-gradient(110% 90% at 70% 0%, #000, transparent 65%);
}
.aism-blog-hero__inner{
  position:relative;
  z-index:1;
  max-width:900px;
}
.aism-blog-hero h1{
  margin-top:18px;
  font-size:clamp(38px,5vw,64px);
  max-width:860px;
}
.aism-blog-lead{
  margin-top:18px;
  max-width:760px;
  color:var(--body);
  font-size:clamp(17px,1.5vw,21px);
  line-height:1.58;
}
.aism-blog-listing{
  padding-top:48px;
}
.aism-blog-cats{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:34px;
}
.aism-cat-chip.is-active{
  background:var(--blue-50);
  border-color:var(--blue-300);
}
.aism-post-grid--wide{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.aism-post-card h2{
  margin-top:14px;
  font-size:21px;
  line-height:1.25;
}
.aism-post-card small{
  margin-top:auto;
  padding-top:18px;
  font-family:var(--mono);
  font-size:12px;
  color:var(--muted);
}
.aism-pagination{
  margin-top:42px;
}
.aism-pagination .nav-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
}
.aism-pagination .page-numbers{
  min-width:42px;
  height:42px;
  display:inline-grid;
  place-items:center;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  font-weight:700;
}
.aism-pagination .page-numbers.current,
.aism-pagination .page-numbers:hover{
  background:var(--blue-50);
  border-color:var(--blue-300);
  color:var(--blue-700);
}
.aism-empty{
  max-width:640px;
  padding:34px;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:#fff;
  box-shadow:var(--sh-sm);
}
.aism-empty h2{ font-size:26px; }
.aism-empty p{ margin-top:10px; color:var(--body); }
.aism-author-profile{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:28px;
  align-items:start;
  max-width:900px;
  padding:34px;
  border:1px solid var(--line);
  border-radius:var(--r-xl);
  background:#fff;
  box-shadow:var(--sh-md);
}
.aism-author-profile__avatar{
  width:92px;
  height:92px;
  border-radius:24px;
  font-size:20px;
}
.aism-author-profile h2{
  margin-top:12px;
  font-size:clamp(28px,3vw,40px);
}
.aism-author-profile p{
  margin-top:16px;
  color:var(--body);
  font-size:17px;
  line-height:1.68;
}
.aism-author-tags{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:22px;
}
.aism-author-tags span{
  display:inline-flex;
  border:1px solid var(--blue-100);
  border-radius:var(--pill);
  background:var(--blue-50);
  color:var(--blue-700);
  font-family:var(--mono);
  font-size:12px;
  font-weight:700;
  padding:7px 12px;
}
@media(max-width:980px){
  .aism-article-layout{
    grid-template-columns:minmax(0,760px);
    gap:30px;
    justify-content:stretch;
  }
  .aism-article-toc{
    position:static;
    max-width:760px;
    width:100%;
  }
  .aism-post-grid{ grid-template-columns:1fr; }
  .aism-post-grid--wide{ grid-template-columns:1fr; }
}
@media(max-width:680px){
  .aism-article-hero{ padding:52px 0 42px; }
  .aism-blog-hero{ padding:52px 0 44px; }
  .aism-article-shell{ padding-top:30px; }
  .aism-article-layout{ margin-top:32px; }
  .aism-article-meta{ gap:8px 12px; font-size:12px; }
  .aism-article-meta span + span::before{ display:none; }
  .aism-article-visual{ border-radius:var(--r); }
  .aism-post-card{ min-height:0; padding:21px; }
  .aism-author-box,
  .aism-author-profile{
    grid-template-columns:1fr;
    padding:22px;
  }
  .aism-author-profile__avatar{
    width:72px;
    height:72px;
    border-radius:20px;
  }
}

/* Default WordPress content: used for new posts/pages you create later. */
body.single-post:not(.aism-article-body) main,
body.single-post .site-main,
body.page:not(.elementor-page) main,
body.page:not(.elementor-page) .site-main{
  max-width:840px;
  margin:0 auto;
  padding:84px 24px 100px;
}
body.single-post:not(.aism-article-body) h1,
body.page:not(.elementor-page) h1{
  font-size:clamp(34px,4.4vw,56px);
  color:var(--ink);
  margin-bottom:22px;
}
body.single-post:not(.aism-article-body) .entry-content,
body.page:not(.elementor-page) .entry-content{
  font-size:17.5px;
  line-height:1.72;
  color:var(--body);
}
body.single-post:not(.aism-article-body) .entry-content > * + *,
body.page:not(.elementor-page) .entry-content > * + *{ margin-top:22px; }
body.single-post:not(.aism-article-body) .entry-content h2,
body.page:not(.elementor-page) .entry-content h2{
  font-size:30px;
  margin-top:48px;
  color:var(--ink);
}
body.single-post:not(.aism-article-body) .entry-content h3,
body.page:not(.elementor-page) .entry-content h3{
  font-size:23px;
  margin-top:34px;
  color:var(--ink);
}
body.single-post:not(.aism-article-body) .entry-content a,
body.page:not(.elementor-page) .entry-content a{
  color:var(--blue-700);
  font-weight:700;
}

/* =========================================================
   LEGAL
   ========================================================= */
.legal{ max-width:760px; margin:0 auto; }
.legal h2{ font-size:22px; margin-top:42px; }
.legal h2:first-child{ margin-top:0; }
.legal p, .legal li{ font-size:15.5px; color:var(--body); line-height:1.7; }
.legal p{ margin-top:14px; }
.legal ul{ margin-top:14px; padding-left:20px; display:flex; flex-direction:column; gap:8px; }
.legal a{ color:var(--blue-700); font-weight:600; }
.legal__updated{ font-family:var(--mono); font-size:13px; color:var(--muted); margin-bottom:8px; }

/* =========================================================
   misc shared
   ========================================================= */
.section-alt{ background:var(--bg-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media(max-width:920px){ .grid-3{ grid-template-columns:1fr; } .grid-2{ grid-template-columns:1fr; } .split{ grid-template-columns:1fr; gap:36px; } .split--rev .split__media{ order:0; } .statband{ grid-template-columns:1fr; } .exv-grid{ grid-template-columns:1fr; } }

.pcta{ text-align:center; max-width:640px; margin:0 auto; }
.faq--page{ margin-top:0; }

@keyframes shake{ 0%,100%{ transform:translateX(0);} 20%,60%{ transform:translateX(-5px);} 40%,80%{ transform:translateX(5px);} }
.shake{ animation:shake .4s ease; }
