/* ==========================================================================
   pages.css — v2 production component system for all migrated pages.
   Upgrades the shared aai-* vocabulary + per-page BEM patterns to homepage
   quality using design tokens. Content markup unchanged; presentation only.
   ========================================================================== */

/* ---- page shell ---- */
.doc{padding-block:0 var(--aai-space-9)}
.doc .aai-container,.doc .wrap{width:100%;max-width:74rem;margin-inline:auto;padding-inline:var(--aai-space-5)}
@media(min-width:768px){.doc .aai-container,.doc .wrap{padding-inline:var(--aai-space-6)}}

/* ---- sections & bands ---- */
.doc .aai-section,.doc section{padding-block:var(--aai-space-8)}
@media(min-width:768px){.doc .aai-section,.doc section{padding-block:var(--aai-space-9)}}
.doc .aai-band-sunken{background:var(--aai-surface-sunken)}
.doc .aai-band-inverse{background:var(--aai-surface-inverse);color:var(--aai-text-inverse)}
.doc .aai-band-inverse :is(h1,h2,h3,h4,.aai-h2){color:var(--aai-text-inverse)}
.doc .aai-band-inverse p,.doc .aai-band-inverse li{color:var(--aai-text-inverse-sub)}

/* ---- page hero ---- */
.doc .phero{padding-block:var(--aai-space-8) var(--aai-space-7)}
.doc .phero h1{font-family:var(--aai-font-serif);font-weight:var(--aai-weight-semibold);font-size:var(--aai-text-6xl);line-height:1.02;letter-spacing:var(--aai-tracking-tight);color:var(--aai-text-primary);margin:.2em 0 .3em;max-width:20ch}

/* ---- typography ---- */
.doc h1{font-family:var(--aai-font-serif);font-weight:var(--aai-weight-semibold);font-size:var(--aai-text-5xl);line-height:1.05;letter-spacing:var(--aai-tracking-tight);color:var(--aai-text-primary);margin:0 0 var(--aai-space-4)}
.doc h2,.doc .aai-h2{font-family:var(--aai-font-serif);font-weight:var(--aai-weight-semibold);font-size:var(--aai-text-3xl);line-height:1.15;letter-spacing:var(--aai-tracking-tight);color:var(--aai-text-primary);margin:0 0 var(--aai-space-3)}
.doc h3,.doc .aai-h3{font-family:var(--aai-font-serif);font-weight:var(--aai-weight-medium);font-size:var(--aai-text-2xl);color:var(--aai-text-primary);margin:var(--aai-space-5) 0 var(--aai-space-2)}
.doc h4{font-family:var(--aai-font-sans);font-weight:var(--aai-weight-semibold);font-size:var(--aai-text-lg);color:var(--aai-text-primary);margin:var(--aai-space-4) 0 var(--aai-space-2)}
.doc p,.doc li{font-family:var(--aai-font-sans);font-size:var(--aai-text-base);line-height:var(--aai-leading-relaxed);color:var(--aai-text-secondary)}
.doc p{margin:0 0 var(--aai-space-4);max-width:68ch}
.doc .aai-lead,.doc .aai-body-lg,.doc .doc__lead{font-size:var(--aai-text-lg);line-height:var(--aai-leading-relaxed);color:var(--aai-text-secondary);max-width:70ch}
.doc .aai-balance{text-wrap:balance}
.doc strong,.doc b{color:var(--aai-text-primary);font-weight:var(--aai-weight-semibold)}

/* ---- overline / eyebrow ---- */
.doc .aai-overline,.doc .eyebrow{display:inline-block;font-family:var(--aai-font-sans);text-transform:uppercase;letter-spacing:var(--aai-tracking-wide);font-size:var(--aai-text-xs);font-weight:var(--aai-weight-semibold);color:var(--aai-text-brand);margin:0 0 var(--aai-space-2)}

/* ---- links & arrow links ---- */
.doc a{color:var(--aai-text-brand);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.doc a:hover{color:var(--aai-action-primary-hover)}
.doc [class*="link-arrow"]{display:inline-flex;align-items:center;gap:.4rem;font-weight:var(--aai-weight-semibold);text-decoration:none}
.doc [class*="link-arrow"]::after{content:"\2192";transition:transform .2s var(--aai-ease-out)}
.doc [class*="link-arrow"]:hover::after{transform:translateX(3px)}

/* ---- buttons ---- */
.doc .aai-btn,.doc [class*="__cta"]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.25rem;border-radius:var(--aai-radius-md);font-family:var(--aai-font-sans);font-weight:var(--aai-weight-semibold);font-size:var(--aai-text-base);text-decoration:none;border:1px solid transparent;background:var(--aai-action-primary);color:var(--aai-text-on-brand);cursor:pointer;transition:background .2s var(--aai-ease-out)}
.doc .aai-btn:hover,.doc [class*="__cta"]:hover{background:var(--aai-action-primary-hover);color:var(--aai-text-on-brand)}
.doc .aai-btn--secondary{background:var(--aai-surface-page);color:var(--aai-text-primary);border-color:var(--aai-border-default)}
.doc .aai-btn--secondary:hover{background:var(--aai-action-subtle-hover);border-color:var(--aai-border-brand);color:var(--aai-text-primary)}
.doc .aai-btn--sm{padding:.55rem .9rem;font-size:var(--aai-text-sm)}
.doc .aai-btn-group,.doc [class*="btn-group"]{display:flex;flex-wrap:wrap;gap:var(--aai-space-3);margin-top:var(--aai-space-4)}

/* ---- badges & chips ---- */
.doc .aai-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:var(--aai-radius-full);background:var(--aai-surface-raised);border:1px solid var(--aai-border-default);font-size:var(--aai-text-xs);font-weight:var(--aai-weight-semibold);color:var(--aai-text-secondary)}
.doc .aai-badge__dot{width:7px;height:7px;border-radius:50%;background:var(--aai-surface-brand)}
.doc .aai-badge--success{color:var(--aai-text-brand);border-color:var(--aai-border-brand)}
.doc .aai-badge--warning{color:#9a7b2e}
.doc [class*="chips"]{display:flex;flex-wrap:wrap;gap:.55rem;margin:var(--aai-space-3) 0}
.doc [class*="-chip"]:not([class*="chips"]){display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem;border-radius:var(--aai-radius-full);background:var(--aai-surface-raised);border:1px solid var(--aai-border-default);font-size:var(--aai-text-sm);color:var(--aai-text-secondary)}

/* ---- responsive grids ---- */
.doc [class*="-grid"],.doc [class*="-cards"],.doc [class*="-tiles"],.doc [class*="-plans"]{display:grid;gap:var(--aai-space-5);grid-template-columns:1fr}
@media(min-width:680px){.doc [class*="-grid"],.doc [class*="-cards"],.doc [class*="-tiles"],.doc [class*="-plans"]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}

/* ---- cards ---- */
.doc .pr-plan,.doc .ts-card,.doc .sol-rcard,.doc .prod-tile,.doc .prod-card,.doc .prod-mcard,.doc .prod-ecard,.doc .sol-fp,.doc [class*="__blk"],.doc [class*="rcard"]{background:var(--aai-surface-raised);border:1px solid var(--aai-border-default);border-radius:var(--aai-radius-lg);padding:var(--aai-space-5);box-shadow:var(--aai-shadow-sm);display:flex;flex-direction:column;gap:var(--aai-space-2)}

/* ---- pricing card internals ---- */
.doc .pr-plan__name{font-family:var(--aai-font-serif);font-size:var(--aai-text-2xl);color:var(--aai-text-primary);margin:0}
.doc .pr-plan__price{font-family:var(--aai-font-serif);font-weight:var(--aai-weight-semibold);font-size:var(--aai-text-4xl);color:var(--aai-text-brand);line-height:1}
.doc .pr-plan__from,.doc .pr-plan__per,.doc .pr-plan__who{color:var(--aai-text-tertiary);font-size:var(--aai-text-sm)}
.doc .pr-plan__out{margin:var(--aai-space-3) 0}
.doc .pr-plan__cta{margin-top:auto}

/* ---- FAQ ---- */
.doc [class*="faq__item"]{padding:var(--aai-space-4) 0;border-bottom:1px solid var(--aai-border-default)}
.doc [class*="faq__q"]{font-family:var(--aai-font-sans);font-weight:var(--aai-weight-semibold);color:var(--aai-text-primary);font-size:var(--aai-text-lg);margin-bottom:.4rem}

/* ---- legal / callout notes ---- */
.doc [class*="-note"]{background:var(--aai-surface-sunken);border-left:3px solid var(--aai-surface-brand);border-radius:var(--aai-radius-md);padding:var(--aai-space-4) var(--aai-space-5);margin:var(--aai-space-5) 0;font-size:var(--aai-text-sm);color:var(--aai-text-secondary)}

/* ---- rows / chains / arrows ---- */
.doc [class*="__row"]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--aai-space-3)}
.doc [class*="__arrow"]{color:var(--aai-text-tertiary)}
.doc [class*="chain"]{display:flex;flex-wrap:wrap;gap:var(--aai-space-3);align-items:stretch}

/* ---- icons ---- */
.doc .aai-icon{width:24px;height:24px;flex:none;color:var(--aai-text-brand)}
.doc .aai-icon--sm{width:18px;height:18px}

/* ---- tables ---- */
.doc table{width:100%;border-collapse:collapse;margin:var(--aai-space-5) 0;font-size:var(--aai-text-sm)}
.doc th,.doc td{text-align:left;padding:.75rem .875rem;border-bottom:1px solid var(--aai-border-default);color:var(--aai-text-secondary);vertical-align:top}
.doc thead th{background:var(--aai-surface-sunken);color:var(--aai-text-primary);font-weight:var(--aai-weight-semibold)}

/* ---- lists / misc ---- */
.doc ul,.doc ol{margin:0 0 var(--aai-space-4) 1.2rem;display:flex;flex-direction:column;gap:.5rem}
.doc [class*="__list"]{list-style:none;margin-left:0}
.doc [class*="__list"] li{position:relative;padding-left:1.4rem}
.doc [class*="__list"] li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--aai-surface-brand)}
.doc hr{border:0;border-top:1px solid var(--aai-border-default);margin:var(--aai-space-7) 0}
.doc blockquote{font-family:var(--aai-font-serif);font-size:var(--aai-text-2xl);line-height:var(--aai-leading-snug);color:var(--aai-text-primary);border-left:3px solid var(--aai-surface-brand);padding-left:var(--aai-space-4);margin:var(--aai-space-6) 0}
.doc img,.doc video{max-width:100%;height:auto;border-radius:var(--aai-radius-md)}

/* ---- forms ---- */
.doc [class*="field-row"]{display:grid;gap:var(--aai-space-4);grid-template-columns:1fr}
@media(min-width:640px){.doc [class*="field-row"]{grid-template-columns:1fr 1fr}}
.doc input,.doc textarea,.doc select{font:inherit;width:100%;padding:.7rem .85rem;border:1px solid var(--aai-border-default);border-radius:var(--aai-radius-md);background:var(--aai-surface-page);color:var(--aai-text-primary)}
.doc input:focus,.doc textarea:focus,.doc select:focus{outline:2px solid var(--aai-surface-brand);outline-offset:1px}
.doc label{display:block;font-size:var(--aai-text-sm);font-weight:var(--aai-weight-medium);color:var(--aai-text-primary);margin:var(--aai-space-3) 0 .35rem}

/* ---- reveal-on-scroll (progressive; reduced-motion safe) ---- */
.js .doc .aai-reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--aai-ease-out),transform .6s var(--aai-ease-out)}
.js .doc .aai-reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .doc .aai-reveal{opacity:1;transform:none;transition:none}}
