

.price-sentence{margin-top:10px;font-size:13.5px;line-height:1.7}
.price-sentence b{color:var(--t-txt);font-weight:600}
.tier-price-sentence{margin:2px 0 0;font-size:12.5px;line-height:1.6;color:var(--t-txt3)}
.tier-price-sentence b{color:var(--t-txt2);font-weight:600}

/* Mobile usability, measured: text under 12px and targets under 44px are
   what the checkers count, and what a thumb misses. */
@media (max-width:860px){
  .kicker,.pill,.badge,.copy,.foot-seller,.d-bar,.d-priv,.d-step-t,.d-file-badge,
  .d-src-ic,.d-src-open,.d-doc-page,.d-av,small,th,.m{font-size:12px!important}
  .foot-links a,.foot a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
  .ceo-mail{display:inline-flex;align-items:center;min-height:44px}
  .brand,.nav .logo,a.brand{min-height:44px;display:inline-flex;align-items:center}
  .foot{gap:8px 4px}
  .seg button{min-height:44px}
}
:root, .theme-dark {
  --t-page:#171a2b; --t-page2:#14161f; --t-card:rgba(35,37,50,.92); --t-card2:rgba(22,24,38,.72);
  --t-line:rgba(233,233,237,.08); --t-line2:rgba(233,233,237,.16);
  --t-txt:#f3f5fe; --t-txt2:#b2b6ca; --t-txt3:#75798c;
  --t-acc:#9184d9; --t-acc-txt:#d2cefd; --t-acc-lift:#b5abfc; --t-acc-deep:#5d5294;
  --t-acc-soft:rgba(145,132,217,.16); --t-acc-soft2:rgba(145,132,217,.05); --t-glow:rgba(145,132,217,.18);
  --t-input:rgba(15,17,25,.5); --t-hover:rgba(233,233,237,.06); --t-on-acc:#14161f;
  --t-shadow:0 24px 60px rgba(0,0,0,.6); --t-tier-shadow:0 18px 50px rgba(93,82,148,.32);
  color-scheme:dark;
}
.theme-light {
  --t-page:#f6f7fe; --t-page2:#e9ebf8; --t-card:#fbfbff; --t-card2:#f2f3fc;
  --t-line:rgba(41,43,49,.10); --t-line2:rgba(41,43,49,.18);
  --t-txt:#292b31; --t-txt2:#595d6c; --t-txt3:#75798c;
  --t-acc:#796cbf; --t-acc-txt:#5d5294; --t-acc-lift:#968ae0; --t-acc-deep:#5d5294;
  --t-acc-soft:rgba(121,108,191,.13); --t-acc-soft2:rgba(121,108,191,.04); --t-glow:rgba(145,132,217,.26);
  --t-input:rgba(255,255,255,.7); --t-hover:rgba(41,43,49,.05); --t-on-acc:#f5f4ff;
  --t-shadow:0 24px 60px rgba(41,43,49,.16); --t-tier-shadow:0 18px 44px rgba(121,108,191,.18);
  color-scheme:light;
}
*{box-sizing:border-box}
html{margin:0;min-height:100%;overflow-x:hidden;background:linear-gradient(170deg,var(--t-page) 0%,var(--t-page2) 100%) var(--t-page2)}
body{margin:0;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-weight:400;
  color:var(--t-txt);-webkit-font-smoothing:antialiased;position:relative;overflow-x:hidden}
a{color:inherit;text-decoration:none}
a,button{transition:background-color .14s,color .14s,border-color .14s}
@media (prefers-reduced-motion:reduce){a,button,*{transition:none!important}}
button{font:inherit;cursor:pointer}
:where(a,button,summary):focus-visible{outline:2px solid var(--t-acc);outline-offset:2px}
.glow{position:absolute;pointer-events:none;background:radial-gradient(closest-side,var(--t-glow),transparent 72%);z-index:0}
.glow.pricing{top:-300px;left:50%;transform:translateX(-50%);width:1100px;height:620px}
.glow.legal{top:-280px;right:8%;width:780px;height:520px;background:radial-gradient(closest-side,var(--t-glow),transparent 74%)}
.wrap{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:0 80px}
/* nav */
.nav{height:68px;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--t-line)}
.nav-outer{border-bottom:1px solid var(--t-line);position:relative;z-index:70}
.nav-outer .nav{border-bottom:0}
.brand{display:flex;align-items:center;gap:9px}
.mark{width:28px;height:28px;display:grid;place-items:center}
.mark svg{display:block;width:100%;height:100%}.zg{display:block;width:100%;height:100%;overflow:visible}.zg rect{transform-box:fill-box;transform-origin:center;fill:var(--zg-lit,#e9e9ed)}.zg rect.zg-off{fill:var(--zg-off,#3f424d)}:root{--zg-lit:#e9e9ed;--zg-off:#3f424d;--zg-idle:#75798c}.theme-light{--zg-lit:#292b31;--zg-off:#d6d8e0;--zg-idle:#a3a6b4}.d-av .zg rect{animation:zg-pop 5.6s cubic-bezier(.3,1.4,.5,1) var(--d) infinite,zg-lit 5.6s ease-in-out infinite}.d-av .zg rect.zg-off{animation-name:zg-pop,zg-dim}@keyframes zg-pop{0%,3%{transform:scale(.34);filter:brightness(.3)}8%{transform:scale(1.16);filter:brightness(2.4)}15%,38%{transform:scale(1);filter:brightness(1)}44%{transform:scale(1.08);filter:brightness(1.9)}52%,92%{transform:scale(1);filter:brightness(1)}100%{transform:scale(.34);filter:brightness(.3)}}@keyframes zg-lit{0%,58%{fill:var(--zg-idle)}70%,92%{fill:var(--zg-lit)}100%{fill:var(--zg-idle)}}@keyframes zg-dim{0%,58%{fill:var(--zg-idle)}70%,100%{fill:var(--zg-off)}}@media (prefers-reduced-motion:reduce){.d-av .zg rect{animation:none}}
.wordmark{font-size:14.5px;font-weight:600;letter-spacing:-.01em;color:var(--t-txt)}
.nav-links{display:flex;align-items:center;gap:26px;font-size:13px;color:var(--t-txt2)}
.nav-links a:hover{color:var(--t-txt)}
.nav-links a[aria-current=page]{color:var(--t-txt);font-weight:500}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:14px}
.acctwrap{position:relative}
/* The app's own account menu, in this page's tokens. Rows are emoji + label +
   sub, exactly as /chat draws them — a second, nearly-identical treatment is
   what makes an app feel assembled rather than designed. */
.acctbtn{display:flex;align-items:center;gap:6px;padding:3px 8px 3px 3px;border-radius:999px;
  border:1px solid var(--t-line);background:transparent;color:var(--t-txt2);cursor:pointer;font:inherit}
.acctbtn:hover,.acctbtn[aria-expanded=true]{background:var(--t-hover);color:var(--t-txt)}
.acctav{width:26px;height:26px;border-radius:999px;background:var(--t-acc);color:var(--t-on-acc);
  display:grid;place-items:center;font-size:12px;font-weight:600;flex:none}
/* OPAQUE, whatever --t-card's alpha is. That token is deliberately
   translucent (dark: rgba(35,37,50,.92)) because cards sit ON the page
   gradient — but a floating menu that lets the hero text show through it is
   unreadable, which is exactly what shipped. Painting the card colour over an
   opaque page colour keeps the hue and removes the transparency. */
.acctmenu{position:absolute;top:46px;right:0;width:264px;padding:6px;z-index:80;
  background:linear-gradient(var(--t-card),var(--t-card)),var(--t-page);
  border:1px solid var(--t-line);border-radius:12px;box-shadow:var(--t-shadow)}
.acctmenu[hidden]{display:none}
.acctitem{display:flex;gap:10px;align-items:flex-start;width:100%;background:none;border:0;
  padding:9px 10px;border-radius:8px;cursor:pointer;text-align:left;font:inherit;color:var(--t-txt)}
.acctitem:hover{background:var(--t-hover)}
.acctemoji{font-size:15px;line-height:1.25;flex:none;width:18px;text-align:center}
.acctbody{font-size:13.5px;line-height:1.35}
.acctsub{font-size:11.5px;color:var(--t-txt3);margin-top:2px;line-height:1.4}
.nav-right .signin{font-size:13px;color:var(--t-txt2)}
.nav-right .signin:hover{color:var(--t-txt)}
.burger{display:none;width:44px;height:44px;place-items:center;background:none;border:0;color:var(--t-txt2);margin-left:auto}
.burger i{font-size:21px}
.menu{display:none;flex-direction:column;gap:2px;padding:8px 20px 14px;border-bottom:1px solid var(--t-line)}
.menu[data-open]{display:flex}
.menu a{padding:12px 10px;min-height:44px;display:flex;align-items:center;border-radius:9px;font-size:13px;color:var(--t-txt2)}
.menu a:hover{background:var(--t-hover);color:var(--t-txt)}
/* buttons: primary / secondary / ghost, no others */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 20px;border-radius:10px;font-size:13px;border:1px solid transparent;color:var(--t-txt2);background:transparent;white-space:nowrap}
.btn.sm{height:36px;padding:0 16px;border-radius:9px;font-size:12.5px}
.btn.md{height:40px;padding:0 18px}
.btn.primary{background:var(--t-acc-soft);border-color:var(--t-acc);color:var(--t-acc-txt)}
.btn.primary:hover{background:color-mix(in srgb,var(--t-acc) 26%,transparent)}
.btn.secondary{border-color:var(--t-line2)}
.btn.secondary:hover,.btn.ghost:hover{background:var(--t-hover)}
.btn:active{border-color:var(--t-acc-deep)}
.btn i{font-size:14px}
/* kicker + type */
.kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--t-acc-txt)}
h1{margin:0;font-weight:500;color:var(--t-txt);text-wrap:pretty}
h1.pricing{font-size:44px;line-height:1.08;letter-spacing:-.025em;max-width:720px}
h1.legal{font-size:40px;line-height:1.1;letter-spacing:-.025em}
h2.sec{margin:0;font-size:22px;font-weight:500;letter-spacing:-.015em;color:var(--t-txt)}
.sub{margin:0;max-width:560px;font-size:15px;line-height:1.7;color:var(--t-txt2);text-wrap:pretty}
.meta{font-size:13px;color:var(--t-txt3)}
/* hero */
.hero{padding:72px 0 0;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.seg{margin-top:8px;display:inline-flex;padding:3px;border-radius:10px;background:var(--t-input);border:1px solid var(--t-line)}
.seg button{height:34px;padding:0 18px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--t-txt2);background:transparent;border:1px solid transparent}
.seg button[aria-pressed=true]{color:var(--t-txt);background:var(--t-acc-soft);border-color:var(--t-acc)}
.seg button small{font-size:10.5px;color:var(--t-acc-txt)}
/* tiers */
.tiers{padding:44px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
/* The floor and the ceiling: a row of their own, laid out sideways so a
   full-width card is not a tall column of whitespace. */
.tier.wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(210px,1fr) 1fr auto;
  gap:14px 28px;align-items:center;background:var(--t-card);padding:22px 26px}
.tier.wide .rule{display:none}
.tier.wide .tier-price-sentence{grid-column:1/-1;margin:0}
.tier.wide .feats{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0}
.tier.wide .feats li{font-size:13px}
.tier.wide .btn{align-self:center;white-space:nowrap}
.tier.wide .price .talk,.tier.wide .price{font-size:26px}
.price .talk{font-size:26px}
/* The Custom enquiry form. A real <form> with a real action, so it submits
   even if the JS never runs — this is the only way somebody above 25 seats
   can reach us, and a dialog that depends on a script is a dialog that is
   sometimes not there. */
.enq-back{position:fixed;inset:0;z-index:80;display:flex;align-items:center;
  justify-content:center;padding:20px;background:rgba(8,9,16,.62);
  backdrop-filter:blur(6px)}
.enq-back[hidden]{display:none}
.enq{position:relative;width:min(560px,100%);max-height:90vh;overflow:auto;
  background:var(--t-card2);border:1px solid var(--t-line);border-radius:16px;
  padding:30px 30px 24px;display:flex;flex-direction:column;gap:14px;
  box-shadow:0 30px 80px rgba(0,0,0,.4)}
.enq h2{margin:0;font-size:22px;letter-spacing:-.01em}
.enq-lede{margin:0;font-size:13.5px;line-height:1.65;color:var(--t-txt2);max-width:60ch}
.enq label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;
  font-weight:600;color:var(--t-txt2)}
.enq .req{font-weight:500;font-size:11px;color:var(--t-txt3);margin-left:6px}
.enq input,.enq textarea{font:inherit;font-size:14px;font-weight:400;
  color:var(--t-txt1);background:var(--t-card);border:1px solid var(--t-line);
  border-radius:9px;padding:10px 12px;width:100%}
.enq input:focus,.enq textarea:focus{outline:none;border-color:var(--t-acc);
  box-shadow:0 0 0 3px var(--t-acc-soft,rgba(145,132,217,.25))}
.enq textarea{resize:vertical;min-height:90px}
.enq-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin-top:4px}
.enq-msg{font-size:12.5px;line-height:1.5;color:var(--t-txt2)}
.enq-msg.bad{color:#c0392b}
.enq-msg.good{color:var(--t-acc)}
.enq-x{position:absolute;top:12px;right:14px;background:none;border:0;
  color:var(--t-txt3);font-size:26px;line-height:1;cursor:pointer;padding:4px 8px}
.enq-x:hover{color:var(--t-txt1)}
@media (max-width:860px){.enq{padding:24px 20px 20px}}
.tier{display:flex;flex-direction:column;gap:18px;padding:26px;border-radius:12px;background:var(--t-card2);border:1px solid var(--t-line)}
.tier.hi{background:var(--t-card);border-color:var(--t-acc);box-shadow:var(--t-tier-shadow)}
.tier-head{display:flex;align-items:center;gap:10px}
.tier-name{font-size:13.5px;font-weight:500;color:var(--t-txt)}
.badge{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:var(--t-acc-soft);color:var(--t-acc-txt)}
.price-row{display:flex;align-items:flex-end;gap:6px}
.price{font-size:38px;font-weight:500;letter-spacing:-.03em;line-height:1;color:var(--t-txt)}
.unit{font-size:12px;color:var(--t-txt3);padding-bottom:5px}
.tier-desc{font-size:13px;line-height:1.6;color:var(--t-txt2);min-height:42px}
.tier .btn{width:100%;height:42px}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--t-line2),transparent)}
.feats{display:flex;flex-direction:column;gap:11px;margin:0;padding:0;list-style:none}
.feats li{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:var(--t-txt2)}
.feats i{font-size:14px;color:var(--t-acc-txt);margin-top:2px;flex:none}
/* trust */
.trust{margin:44px 0 0;padding:22px 26px;border-radius:12px;background:var(--t-card2);border:1px solid var(--t-line);display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.trust > div{display:flex;gap:12px;align-items:flex-start}
.trust i{font-size:17px;color:var(--t-acc-txt);margin-top:1px}
.trust b{display:block;font-size:12.5px;font-weight:500;color:var(--t-txt);margin-bottom:3px}
.trust p{margin:0;font-size:12px;line-height:1.55;color:var(--t-txt3)}
/* sections */
.section{padding:64px 0 0;display:flex;flex-direction:column;gap:20px}
.section-head{display:flex;flex-direction:column;gap:6px}
/* compare table: a real table, grid look */
.cmp{border-radius:12px;border:1px solid var(--t-line);overflow:hidden;background:var(--t-card)}
.cmp table{width:100%;border-collapse:collapse}
.cmp thead tr{background:var(--t-input)}
.cmp tr{display:grid;grid-template-columns:1.6fr repeat(3,1fr);align-items:center;padding:14px 22px;border-bottom:1px solid var(--t-line)}
.cmp tbody tr:last-child{border-bottom:0}
.cmp th{text-align:left;font-weight:400;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--t-txt3);padding:0}
.cmp th.hi{color:var(--t-acc-txt)}
.cmp tbody th{font-size:13px;letter-spacing:0;text-transform:none;color:var(--t-txt)}
.cmp td{font-size:12.5px;color:var(--t-txt2);padding:0}
.cmp .m{display:none}
/* faq */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px}
.faq > div{display:flex;flex-direction:column;gap:7px;padding:18px 20px;border-radius:11px;background:var(--t-card2);border:1px solid var(--t-line)}
.faq b{font-size:13px;font-weight:500;color:var(--t-txt)}
.faq p{margin:0;font-size:12.5px;line-height:1.65;color:var(--t-txt2);text-wrap:pretty}
/* cta band */
.band{margin:64px 0 0;padding:40px;border-radius:14px;background:linear-gradient(120deg,var(--t-acc-soft),var(--t-acc-soft2));border:1px solid var(--t-acc);display:flex;align-items:center;gap:32px}
.band-txt{display:flex;flex-direction:column;gap:7px}
.band-txt b{font-size:22px;font-weight:500;letter-spacing:-.015em;color:var(--t-txt)}
.band-txt span{font-size:13px;color:var(--t-txt2)}
.band-btns{margin-left:auto;display:flex;gap:12px}
.foot-seller{width:100%;margin-top:10px;font-size:11.5px;color:var(--t-txt3);line-height:1.6}
.foot-seller a{color:var(--t-txt3);text-decoration:underline}
/* footer */
.foot{margin-top:64px;padding:34px 0 38px;border-top:1px solid var(--t-line)}
/* wrap:wrap so the seller line's width:100% can actually TAKE a row. Without it the line stayed inline, squeezed the copyright to a sliver and broke 'David Wagih' across three lines. */
.foot .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px}
.foot,.foot a{font-size:12px;color:var(--t-txt3)}
.foot a:hover{color:var(--t-txt2)}
.foot-links{display:flex;flex-wrap:wrap;gap:22px;margin-left:auto}
/* A person's name is not a place to break a line. */
.foot .copy{white-space:nowrap}
/* legal */
.band-title{padding:58px 0 34px;display:flex;align-items:flex-end;gap:40px}
.band-title-outer{border-bottom:1px solid var(--t-line)}
.title-col{display:flex;flex-direction:column;gap:14px}
.chips{display:flex;gap:8px;margin-top:6px}
.chip{height:32px;padding:0 14px;border-radius:8px;display:inline-flex;align-items:center;font-size:12.5px;border:1px solid var(--t-line2);color:var(--t-txt2);background:transparent}
.chip:hover{background:var(--t-hover)}
.chip[aria-current=page]{background:var(--t-acc-soft);border-color:var(--t-acc);color:var(--t-acc-txt)}
.title-btns{margin-left:auto;display:flex;gap:10px;position:relative}
.vh{position:absolute;right:0;top:44px;min-width:260px;padding:12px 14px;border-radius:11px;background:var(--t-card);border:1px solid var(--t-line2);box-shadow:var(--t-shadow);display:none;flex-direction:column;gap:8px;z-index:5}
.vh[data-open]{display:flex}
.vh b{font-size:12px;font-weight:500;color:var(--t-txt)}
.vh div{font-size:12px;color:var(--t-txt3)}
.body{padding:44px 0 0;display:grid;grid-template-columns:232px minmax(0,1fr);gap:56px;align-items:start}
.toc{position:sticky;top:24px;display:flex;flex-direction:column;gap:14px}
.toc .lbl{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--t-txt3)}
.toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.toc a{position:relative;display:block;padding:8px 12px;border-radius:8px;font-size:12.5px;line-height:1.45;color:var(--t-txt3)}
.toc a::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:2px;background:transparent}
.toc a:hover{background:var(--t-hover)}
.toc a.on{color:var(--t-txt);background:var(--t-acc-soft2)}
.toc a.on::before{background:var(--t-acc)}
.contact{margin-top:10px;padding:14px;border-radius:11px;background:var(--t-input);border:1px solid var(--t-line);display:flex;flex-direction:column;gap:7px}
.contact b{font-size:12px;font-weight:500;color:var(--t-txt)}
.contact p{margin:0;font-size:11.5px;line-height:1.5;color:var(--t-txt3)}
.mtoc{display:none}
.prose{max-width:720px;display:flex;flex-direction:column;gap:34px}
.callout{padding:20px 22px;border-radius:12px;background:var(--t-acc-soft2);border:1px solid var(--t-acc);display:flex;gap:14px}
.callout i{font-size:19px;color:var(--t-acc-txt);margin-top:1px;flex:none}
.callout p{margin:0;font-size:13px;line-height:1.65;color:var(--t-txt2);text-wrap:pretty}
.clause{display:flex;flex-direction:column;gap:12px;scroll-margin-top:24px}
.clause-head{display:flex;align-items:baseline;gap:12px}
.clause-n{font-size:12px;color:var(--t-txt3);font-variant-numeric:tabular-nums;min-width:22px}
.clause h2{margin:0;font-size:19px;font-weight:500;letter-spacing:-.012em;color:var(--t-txt)}
.clause-body{padding-left:34px;display:flex;flex-direction:column;gap:12px}
.clause-body p{margin:0;font-size:14px;line-height:1.78;color:var(--t-txt2);text-wrap:pretty}
/* A checklist inside a clause. Ticks rather than bullets, because the
   points are conditions to be met and the app asks the reader to
   confirm the same list before a request is sent. */
.clause-check{margin:2px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.clause-check li{position:relative;padding-left:24px;font-size:14px;line-height:1.7;color:var(--t-txt2);text-wrap:pretty}
.clause-check li::before{content:'';position:absolute;left:2px;top:.62em;width:9px;height:5px;border-left:2px solid var(--t-acc);border-bottom:2px solid var(--t-acc);transform:rotate(-45deg)}
.closing{margin-top:6px;padding:26px;border-radius:12px;background:var(--t-card2);border:1px solid var(--t-line);display:flex;align-items:center;gap:24px}
.closing b{display:block;font-size:15px;font-weight:500;color:var(--t-txt);margin-bottom:5px}
.closing p{margin:0;font-size:12.5px;color:var(--t-txt3)}
.closing .btn{margin-left:auto}
/* ── mobile: one breakpoint ── */
@media (max-width:860px){
  .wrap{padding:0 20px}
  .glow.pricing{top:-180px;width:460px;height:380px}
  .glow.legal{top:-170px;right:-60px;width:420px;height:340px}
  .nav{height:56px;gap:0}
  .nav-links,.nav-right{display:none}
  .burger{display:grid}
  .wordmark{font-size:14px}
  .hero{padding:36px 0 0;align-items:flex-start;text-align:left;gap:14px}
  .kicker{font-size:10.5px}
  h1.pricing{font-size:31px;line-height:1.12;letter-spacing:-.02em}
  h1.legal{font-size:30px;line-height:1.12;letter-spacing:-.022em}
  .sub{font-size:14.5px;line-height:1.65}
  .seg{display:flex;width:100%;margin-top:0;border-radius:11px}
  .seg button{flex:1;height:42px;justify-content:center;border-radius:9px;font-size:13px}
  .tiers{padding:26px 0 0;grid-template-columns:1fr;gap:16px}
  /* On one column a wide card has nothing to be wide against. */
  .tier.wide{grid-template-columns:1fr;align-items:start}
  .tier.wide .rule{display:block}
  .tier{gap:16px;padding:22px;border-radius:14px}
  .price{font-size:34px}.unit{padding-bottom:4px}
  .tier-desc{min-height:0}
  .tier .btn{height:46px;border-radius:11px;font-size:13.5px}
  .tier .rule{display:none}
  .feats{gap:10px}
  .trust{margin-top:30px;grid-template-columns:1fr;gap:18px;padding:18px 20px;border-radius:14px}
  .section{padding:34px 0 0;gap:14px}
  h2.sec{font-size:19px;letter-spacing:-.01em}
  .cmp tr{grid-template-columns:1.35fr repeat(3,.55fr);padding:12px 14px}
  .cmp thead tr{padding:11px 14px}
  .cmp th{font-size:9.5px;letter-spacing:.1em}
  .cmp tbody th{font-size:12px}
  .cmp td{font-size:11.5px}
  .cmp .d{display:none}.cmp .m{display:inline}
  .faq{grid-template-columns:1fr;gap:12px}
  .faq > div{padding:16px 18px;border-radius:12px}
  .faq p{line-height:1.6}
  .band{margin-top:34px;padding:24px 20px;flex-direction:column;align-items:stretch;gap:14px;background:linear-gradient(140deg,var(--t-acc-soft),var(--t-acc-soft2))}
  .band-txt b{font-size:19px;letter-spacing:-.01em;line-height:1.25}
  .band-btns{margin-left:0;flex-direction:column;gap:10px}
  .band-btns .btn{height:46px;border-radius:11px;font-size:13.5px}
  .band-btns .secondary{display:none}
  .foot{margin-top:34px;padding:24px 0 30px}
  .foot .wrap{flex-direction:column-reverse;align-items:flex-start;gap:14px}
  .foot-links{margin-left:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;width:100%}
  .foot,.foot a{font-size:12.5px}.foot .copy{font-size:11.5px}
  .band-title{padding:30px 0 24px;flex-direction:column;align-items:stretch;gap:12px}
  .title-col{gap:12px}
  .meta{font-size:12.5px}
  .chips{margin-top:4px}
  .chip{height:38px;border-radius:9px}
  .title-btns{display:none}
  .body{padding:16px 0 0;grid-template-columns:1fr;gap:26px}
  .toc{display:none}
  .mtoc{display:block}
  .mtoc summary{list-style:none;height:48px;padding:0 16px;border-radius:11px;background:var(--t-input);border:1px solid var(--t-line);display:flex;align-items:center;gap:10px;cursor:pointer}
  .mtoc summary::-webkit-details-marker{display:none}
  .mtoc summary i:first-child{font-size:17px;color:var(--t-acc-txt)}
  .mtoc summary span{font-size:13px;color:var(--t-txt)}
  .mtoc summary em{margin-left:auto;font-style:normal;font-size:12px;color:var(--t-txt3)}
  .mtoc summary i:last-child{font-size:15px;color:var(--t-txt3)}
  .mtoc[open] summary i:last-child{transform:rotate(180deg)}
  .mtoc ol{list-style:none;margin:8px 0 0;padding:6px;border-radius:11px;background:var(--t-input);border:1px solid var(--t-line);display:flex;flex-direction:column;gap:2px}
  .mtoc a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;font-size:13px;color:var(--t-txt2)}
  .mtoc a:hover{background:var(--t-hover)}
  .prose{gap:26px;max-width:none}
  .callout{padding:16px 18px;gap:12px}.callout i{font-size:18px}.callout p{line-height:1.6}
  .clause{gap:10px}.clause-head{gap:10px}.clause-n{font-size:12px;min-width:0}
  .clause h2{font-size:17px;line-height:1.3;letter-spacing:-.01em}
  .clause-body{padding-left:0;gap:11px}
  .clause-body p{font-size:14.5px;line-height:1.72}
  .closing{margin:30px 0 0;padding:22px 20px;border-radius:14px;flex-direction:column;align-items:stretch;gap:14px}
  .closing p{line-height:1.55}
  .closing .btn{margin-left:0;height:46px;border-radius:11px;font-size:13.5px;width:100%}
}
/* print: legal pages print clean */
@media print{
  :root,.theme-dark,.theme-light{--t-page:#fff;--t-page2:#fff;--t-card:#fff;--t-card2:#fff;--t-line:rgba(41,43,49,.18);--t-line2:rgba(41,43,49,.28);
    --t-txt:#111;--t-txt2:#333;--t-txt3:#555;--t-acc:#5d5294;--t-acc-txt:#5d5294;--t-acc-soft:transparent;--t-acc-soft2:transparent;--t-glow:transparent;--t-input:#fff}
  body{background:#fff}
  .nav-outer,.menu,.glow,.toc,.mtoc,.title-btns,.foot-links,.closing .btn{display:none!important}
  .body{grid-template-columns:1fr;padding-top:24px}
  .clause{break-inside:avoid}
}

.hero.home{padding:72px 0 0;gap:18px}
.hero.home .sub{max-width:620px}
.hero-btns{display:flex;gap:12px;margin-top:6px}
.demo{margin:44px auto 0;max-width:820px;border-radius:14px;background:var(--t-card);border:1px solid var(--t-line2);box-shadow:var(--t-shadow);overflow:hidden;text-align:left}
.d-bar-top{height:40px;display:flex;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid var(--t-line);font-size:12px;color:var(--t-txt3)}
.d-dot{width:9px;height:9px;border-radius:50%;background:var(--t-line2)}
.d-priv{margin-left:auto;display:flex;align-items:center;gap:6px;color:var(--t-acc-txt);font-size:11.5px}
.d-priv i{font-size:14px}
.d-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:14px;min-height:260px}
.d-row{display:flex;gap:12px;align-items:flex-start}
.d-av{width:26px;height:26px;border-radius:8px;flex:none;display:grid;place-items:center;font-size:11px;color:var(--t-on-acc)}
.d-av svg{width:26px;height:26px;display:block}
.d-av.u{background:var(--t-input);color:var(--t-txt2);border:1px solid var(--t-line2)}
.d-q,.d-a{font-size:13.5px;line-height:1.65;color:var(--t-txt2);min-height:22px}
.d-q{color:var(--t-txt)}
.d-q::after{content:"";display:inline-block;width:2px;height:14px;background:var(--t-acc);margin-left:3px;vertical-align:-2px;animation:blink 1s steps(1) infinite}
.demo.thinking .d-a::before{content:"Reading your documents…";color:var(--t-txt3);font-style:italic}
.d-meta{display:flex;gap:8px;flex-wrap:wrap}
.d-cite,.d-tool{font-size:11.5px;padding:4px 9px;border-radius:7px;border:1px solid var(--t-line2);color:var(--t-txt2);background:var(--t-input)}
.d-tool{border-color:var(--t-acc);color:var(--t-acc-txt);background:var(--t-acc-soft)}
.d-chart{display:flex;align-items:flex-end;gap:10px;height:90px;padding:10px 12px 0;border-top:1px solid var(--t-line)}
.d-chart[hidden],.d-cite[hidden],.d-tool[hidden]{display:none}
.d-step[hidden],.d-sql[hidden],.d-pie[hidden],.d-file[hidden],.d-doc[hidden],.d-owner[hidden],.d-tip[hidden],.d-cursor[hidden],.d-source[hidden],.d-domains[hidden]{display:none}
/* A citation card, the shape the app uses: what it is, how well it matched,
   the passage with the matched words lit, and whose document it is. */
.d-source{border:1px solid var(--t-line);border-radius:10px;overflow:hidden;background:var(--t-card2)}
.d-src-top{display:flex;align-items:center;gap:8px;padding:9px 11px;border-bottom:1px solid var(--t-line)}
.d-src-ic{font-size:9px;font-weight:700;letter-spacing:.06em;padding:2px 5px;border-radius:4px;
  background:var(--t-acc);color:var(--t-on-acc);flex:none}
.d-src-title{font-size:12.5px;color:var(--t-txt);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.d-src-score{font-size:11px;color:var(--t-txt3);font-variant-numeric:tabular-nums;flex:none}
.d-src-quote{padding:10px 11px;font-size:12.5px;line-height:1.65;color:var(--t-txt2)}
.d-src-quote mark{background:var(--t-acc-soft);color:var(--t-txt);border-radius:3px;padding:0 2px}
.d-src-foot{display:flex;align-items:center;gap:8px;padding:8px 11px;border-top:1px solid var(--t-line);
  font-size:11px;color:var(--t-txt3)}
.d-src-owner{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;
  border:1px solid var(--t-line2);background:var(--t-input);color:var(--t-txt2)}
.d-src-owner::before{content:"S";width:13px;height:13px;border-radius:999px;background:var(--t-acc);
  color:var(--t-on-acc);font-size:8px;font-weight:700;display:grid;place-items:center}
.d-src-open{margin-left:auto;color:var(--t-acc-txt)}
/* the sites a web turn actually read */
.d-domains{display:flex;flex-wrap:wrap;gap:6px}
.d-domains span{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;padding:4px 9px;
  border-radius:7px;border:1px solid var(--t-line2);background:var(--t-input);color:var(--t-txt2)}
.d-domains span::before{content:"";width:6px;height:6px;border-radius:999px;background:var(--t-acc)}
/* About — a person, named, with a face-shaped tile. An AI summary and a human
   both want to know who is behind a thing before they trust it with files. */
.about-pic{display:flex;flex-direction:column;gap:14px;align-items:flex-start;justify-content:center}
.ceo{display:flex;align-items:center;gap:14px}
.ceo-av{width:52px;height:52px;border-radius:999px;background:var(--t-acc);color:var(--t-on-acc);
  display:grid;place-items:center;font-size:17px;font-weight:600;flex:none;letter-spacing:.02em}
.ceo b{display:block;font-size:15px}
.ceo span:not(.ceo-av){display:block;font-size:12.5px;color:var(--t-txt3);margin-top:2px}
.ceo-mail{font-size:12.5px;color:var(--t-acc-txt)}
/* the running step, same idea as the app's own progress line */
.d-step{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--t-txt3)}
.d-spin{width:11px;height:11px;border-radius:999px;border:1.5px solid var(--t-line2);
  border-top-color:var(--t-acc);animation:dspin .7s linear infinite;flex:none}
@keyframes dspin{to{transform:rotate(360deg)}}
.d-sql{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.6;
  color:var(--t-txt2);background:var(--t-input);border:1px solid var(--t-line);
  border-radius:8px;padding:8px 10px;white-space:pre-wrap;word-break:break-word}
.d-sql b{color:var(--t-acc-txt);font-weight:600}
/* pie */
.d-pie{position:relative;display:flex;align-items:center;gap:18px;padding:6px 2px 2px}
.d-pie-svg{width:104px;height:104px;transform:rotate(-90deg);flex:none;overflow:visible}
/* No stroke-dasharray here, deliberately. A CSS declaration OUTRANKS a
   presentation attribute, so `.d-slice{stroke-dasharray:0 100}` beat every
   setAttribute the script made and painted a zero-length dash for ever —
   the attribute read back correctly while nothing was drawn. The script
   sets it as an inline STYLE now, which is the only thing that outranks a
   rule; this keeps the transition and nothing that can win an argument. */
.d-slice{transition:stroke-dasharray .7s cubic-bezier(.4,0,.2,1),stroke-width .18s,opacity .18s;opacity:.92}
.d-slice.lift{stroke-width:11;opacity:1}
.d-legend{display:flex;flex-direction:column;gap:6px;font-size:11.5px;color:var(--t-txt2)}
.d-legend span{display:flex;align-items:center;gap:7px}
.d-legend i{width:9px;height:9px;border-radius:3px;flex:none}
.d-legend b{color:var(--t-txt);font-weight:600;margin-left:2px}
.d-tip{position:absolute;left:96px;top:8px;padding:6px 9px;border-radius:8px;font-size:11.5px;
  background:var(--t-card);border:1px solid var(--t-line);box-shadow:var(--t-shadow);
  color:var(--t-txt);white-space:nowrap;pointer-events:none;z-index:2}
.d-cursor{position:absolute;left:0;top:0;width:15px;height:15px;pointer-events:none;z-index:3;
  transition:transform .8s cubic-bezier(.4,0,.2,1)}
.d-cursor::before{content:"";position:absolute;inset:0;
  background:var(--t-txt);clip-path:polygon(0 0,0 72%,26% 55%,46% 96%,64% 88%,44% 48%,72% 44%)}
/* generated file chip, then the document opening */
.d-file{display:flex;align-items:center;gap:9px;font-size:11.5px;color:var(--t-txt2);
  border:1px solid var(--t-line);border-radius:9px;padding:7px 10px;background:var(--t-input);align-self:flex-start}
.d-file-badge{font-size:9.5px;font-weight:600;letter-spacing:.06em;padding:2px 5px;border-radius:4px;
  background:var(--t-acc);color:var(--t-on-acc)}
.d-file-name{color:var(--t-txt)}
.d-file-meta{color:var(--t-txt3)}
.d-doc{border:1px solid var(--t-line);border-radius:10px;overflow:hidden;background:#ffffff;
  animation:ddoc .42s cubic-bezier(.4,0,.2,1) both}
@keyframes ddoc{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.d-doc-head{display:flex;align-items:center;justify-content:space-between;padding:7px 11px;
  background:#f3f2fb;border-bottom:1px solid #e6e4f5;font-size:11px;color:#5d5294}
.d-doc-title{font-weight:600}
.d-doc-body{padding:12px 14px;display:flex;flex-direction:column;gap:7px}
.d-doc-h{height:9px;width:52%;border-radius:3px;background:#5d5294}
.d-doc-l{height:5px;border-radius:3px;background:#dedcec}
.d-doc-l.s{width:64%}
.d-doc-chart{display:flex;align-items:flex-end;gap:6px;height:38px;margin:4px 0}
.d-doc-chart i{flex:1;border-radius:3px 3px 0 0;background:#9184d9}
.d-doc-chart i:nth-child(1){height:58%}.d-doc-chart i:nth-child(2){height:82%}
.d-doc-chart i:nth-child(3){height:41%}.d-doc-chart i:nth-child(4){height:96%}
.d-doc-chart i:nth-child(5){height:66%}
/* the owner of a cited file — the thing a shared bank has to say */
.d-owner{font-size:11.5px;padding:4px 9px;border-radius:7px;display:inline-flex;align-items:center;gap:5px;
  border:1px solid var(--t-line2);background:var(--t-input);color:var(--t-txt2)}
.d-owner b{color:var(--t-txt);font-weight:600}
.d-owner::before{content:"S";width:14px;height:14px;border-radius:999px;background:var(--t-acc);
  color:var(--t-on-acc);font-size:8px;font-weight:700;display:grid;place-items:center}
@media(max-width:560px){.d-pie{gap:12px}.d-pie-svg{width:88px;height:88px}.d-tip{left:80px}}
.d-bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;gap:6px;font-size:10.5px;color:var(--t-txt3);text-align:center}
.d-bar i{display:block;height:0;border-radius:4px 4px 0 0;background:var(--t-acc);opacity:.85;transition:height .5s ease}
@keyframes blink{50%{opacity:0}}
.feats-grid{padding:64px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feat{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:12px;background:var(--t-card2);border:1px solid var(--t-line)}
.feat i{font-size:21px;color:var(--t-acc-txt)}
.feat h3{margin:0;font-size:13.5px;font-weight:500;color:var(--t-txt)}
.feat p{margin:0;font-size:12.5px;line-height:1.6;color:var(--t-txt2)}
.split{padding:64px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.split .txt{display:flex;flex-direction:column;gap:12px}
.split .txt p{margin:0;font-size:14px;line-height:1.7;color:var(--t-txt2);max-width:52ch;text-wrap:pretty}
.split ul{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.split li{display:flex;gap:10px;font-size:12.5px;color:var(--t-txt2)}
.split li i{color:var(--t-acc-txt);font-size:14px;margin-top:2px}
.pic{border-radius:12px;background:var(--t-card2);border:1px solid var(--t-line);padding:20px;display:flex;flex-direction:column;gap:12px}
.people{display:flex;align-items:center}
.people span{width:34px;height:34px;border-radius:50%;border:2px solid var(--t-card2);margin-left:-8px;display:grid;place-items:center;font-size:11px;font-weight:500;color:var(--t-on-acc);background:linear-gradient(140deg,var(--t-acc-lift),var(--t-acc-deep))}
.people span:first-child{margin-left:0}
.share-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;background:var(--t-input);border:1px solid var(--t-line);font-size:12.5px;color:var(--t-txt2)}
.share-row i{color:var(--t-acc-txt);font-size:15px}
.share-row .pill{margin-left:auto;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:var(--t-acc-soft);color:var(--t-acc-txt)}
@media (max-width:860px){
  .hero.home{padding:36px 0 0}
  .hero-btns{flex-direction:column;width:100%}.hero-btns .btn{height:46px;border-radius:11px}
  .demo{margin-top:26px}.d-body{padding:16px;min-height:220px}
  .feats-grid{padding:34px 0 0;grid-template-columns:1fr;gap:12px}
  .split{padding:34px 0 0;grid-template-columns:1fr;gap:18px}
  .split.rev .pic{order:-1}
}
