/* sora-latin-ext-400-normal */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/sora-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* sora-latin-400-normal */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/sora-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* sora-latin-ext-600-normal */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/sora-latin-ext-600-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* sora-latin-600-normal */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/sora-latin-600-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* sora-latin-ext-700-normal */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/fonts/sora-latin-ext-700-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* sora-latin-700-normal */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/fonts/sora-latin-700-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* inter-latin-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/inter-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-latin-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/inter-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* inter-latin-ext-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/inter-latin-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-latin-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/inter-latin-500-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* inter-latin-ext-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/inter-latin-ext-600-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-latin-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/inter-latin-600-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* inter-latin-ext-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/fonts/inter-latin-ext-700-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-latin-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/fonts/inter-latin-700-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* jetbrains-mono-latin-ext-400-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* jetbrains-mono-latin-400-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/jetbrains-mono-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* jetbrains-mono-latin-ext-500-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/jetbrains-mono-latin-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* jetbrains-mono-latin-500-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/jetbrains-mono-latin-500-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* Base, shared by every page. board.css (animations, cards, slider) is appended after this file. */
:root{
  --ink:#16181D; --ink2:#2E323A; --ink3:#3A3F48; --muted:#5A606B; --faint:#A9AEB8;
  --paper:#F6F5F1; --surface:#FFFFFF; --line:#E3E0D8; --dark:#181818;
  --a:#2D5BFF; --a-text:#1F44D6; --b:#E8622A; --b-text:#C2410C;
  --sans:Inter,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
  --display:Sora,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:24px;font-feature-settings:"tnum" 0}
img,svg,video{max-width:100%}
img{height:auto}
.site{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:24px;overflow-x:clip}
main a:not([class]):hover{text-decoration:underline}
table{font-variant-numeric:tabular-nums}

/* ---------- generated pages ---------- */
.page{max-width:1200px;margin:0 auto;padding:24px 24px 96px}
.crumbs{font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;line-height:20px}
.crumbs a{color:var(--muted)}
.crumbs span[aria-current]{color:var(--ink)}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:16px}
.h1{font-family:var(--display);font-weight:700;font-size:48px;letter-spacing:-.03em;margin:24px 0 0;line-height:1.05;background:linear-gradient(90deg,#000,#666);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:4px;max-width:760px}
.lead{font-size:20px;line-height:28px;color:var(--ink3);margin:16px 0 0;max-width:720px}
.meta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:16px;font-size:14px;color:var(--muted);line-height:20px}
.pill{font-weight:600;font-size:12px;line-height:16px;padding:2px 8px;border-radius:9999px;white-space:nowrap}
.pill.now{color:#1F6B45;background:#E3F2EA}
.pill.soon{color:#7A5200;background:#FDF3DC}
.pill.later{color:var(--muted);background:#EFECE6}
.h2{font-family:var(--display);font-weight:600;font-size:30px;letter-spacing:-.02em;margin:64px 0 8px;line-height:36px}
.h3{font-family:var(--display);font-weight:600;font-size:20px;margin:0;line-height:28px}
.sub{margin:0 0 24px;color:var(--ink3);max-width:720px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:16px}
.box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px}
.box p{margin:8px 0 0;color:var(--ink3);font-size:14px;line-height:20px}
.box .k{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:16px;margin-top:16px}
.box .search{font-family:var(--mono);font-size:12px;line-height:16px;color:var(--muted);margin-top:4px}
a.box{display:block;color:var(--ink)}
a.box:hover{border-color:var(--a);text-decoration:none}
.box-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.prose{max-width:760px}
.prose p,.prose li{color:var(--ink2)}
.prose h2{font-family:var(--display);font-weight:600;font-size:24px;letter-spacing:-.02em;line-height:32px;margin:48px 0 8px}
.prose h3{font-family:var(--display);font-weight:600;font-size:18px;line-height:28px;margin:32px 0 4px}
.prose ul,.prose ol{padding-left:20px}
.prose li{margin:4px 0}
.tbl-wrap{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:14px;line-height:20px}
.tbl th{text-align:left;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:12px 16px;border-top:1px solid #EFECE6;vertical-align:top}
.tbl tr:first-child td{border-top:0}
.tbl td small{display:block;color:var(--muted);font-size:12px;line-height:16px}
.tbl .num{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap}
.note{font-size:12px;line-height:16px;color:var(--muted);margin-top:12px;max-width:760px}
.btn{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 20px;font:600 16px/24px var(--sans);color:#fff;background:var(--dark);border-radius:12px;border:0}
.btn:hover{color:#fff;text-decoration:none;box-shadow:0 12px 24px -12px rgba(22,24,29,.55)}
.cols{display:flex;flex-wrap:wrap;gap:40px}
.cols>*{flex:1 1 340px;min-width:0}

/* ---------- mobile menu ---------- */
.menu-btn{display:none;align-items:center;gap:8px;font:600 14px/20px var(--sans);color:var(--ink);background:#fff;border:1px solid var(--ink);border-radius:8px;padding:8px 12px;cursor:pointer}
.menu-panel{display:none}

@media (max-width: 960px){
  header .menu-btn{display:inline-flex}
  header nav[aria-label="Main"], header .maker-link{display:none !important}
  header > div{width:100% !important;justify-content:space-between}
  header.open nav[aria-label="Main"]{display:flex !important;flex-direction:column;align-items:flex-start;gap:12px !important;width:100%;flex:1 1 100% !important;order:3;padding:8px 0 8px;font-size:16px !important}
  header.open nav[aria-label="Main"] span[aria-hidden]{display:none}
  header.open .maker-link{display:inline-block !important;order:4;margin-bottom:8px}
}
@media (max-width: 640px){
  main h1{font-size:36px !important;line-height:40px !important}
  .h1{font-size:36px;line-height:40px}
  main h2{font-size:24px !important;line-height:32px !important}
  .h2{font-size:24px;line-height:32px;margin-top:48px}
  .lead{font-size:18px;line-height:28px}
  main > section:first-child{padding-top:40px !important}
  main section{padding-left:16px !important;padding-right:16px !important}
  main section section{padding-left:0 !important;padding-right:0 !important}
  .page, main#main[style]{padding-left:16px !important;padding-right:16px !important}
  footer > div{padding-left:16px !important;padding-right:16px !important}
  header{padding:8px 8px 0 !important}
}

/* homepage tables and slider labels on phones */
@media (max-width: 640px){
  .rel-tbl col:nth-child(1){width:64px !important}
  .rel-tbl col:nth-child(3){width:128px !important}
  .rel-tbl col:nth-child(4){width:0 !important}
  .rel-tbl th:nth-child(4),.rel-tbl td:nth-child(4){display:none}
  .rel-tbl th:first-child,.rel-tbl td:first-child{padding-left:16px !important}
  .rel-tbl div,.price-tbl div{white-space:normal !important}
  .price-tbl col:nth-child(2),.price-tbl col:nth-child(3){width:30% !important}
  .price-tbl th,.price-tbl td{padding-left:12px !important;padding-right:8px !important}
  .price-tbl th{letter-spacing:.02em !important}
  #slider > span{font-size:12px !important;padding:2px 8px !important;top:12px !important}
  #slider > span:first-of-type{left:12px !important}
  #slider > span:last-of-type{right:12px !important}
}

/* ---------- test result pages ---------- */
.answer{margin-top:24px;background:var(--surface);border:1.5px solid var(--ink);border-radius:12px;padding:24px}
.answer p{margin:8px 0 0;font-size:18px;line-height:28px}
.brief{margin-top:40px}
.prompt-box{margin:12px 0 16px;background:var(--dark);color:#E3E0D8;border-radius:12px;padding:16px;font-family:var(--mono);font-size:13px;line-height:20px;max-width:900px}
.prompt-box .eyebrow{display:block;color:var(--faint);margin-bottom:6px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:12px}
.gallery.wide{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}
.tile{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.tile.ref{border-color:var(--ink)}
.tile img,.tile video{display:block;width:100%;height:auto;background:#EFECE6}
.tile figcaption{padding:10px 12px 12px;font-size:13px;line-height:18px;display:flex;flex-direction:column;gap:4px}
.tile figcaption b{font-weight:600;font-size:14px}
.tile figcaption small{color:var(--muted);font-size:12px;line-height:16px}
.verdict{font-size:12px;line-height:16px;font-weight:600;border-radius:6px;padding:2px 6px;align-self:flex-start}
.verdict.ok{color:#1F6B45;background:#E3F2EA}
.verdict.minor{color:#7A5200;background:#FDF3DC;font-weight:500}
.verdict.bad{color:#9A3412;background:#FBE9E2}
.faq details{border-top:1px solid var(--line);padding:12px 0}
.faq summary{cursor:pointer;font-weight:600}
.kit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:16px;margin-top:16px}
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:12px;margin-top:12px}
body{margin:0;background:#F6F5F1}
a{color:#1F44D6;text-decoration:none}a:hover{color:#16181D}
h1,h2,h3{text-wrap:balance}
p,li,figcaption,summary{text-wrap:pretty}
a,button,input{transition:color 300ms cubic-bezier(0.22,1,0.36,1),background-color 300ms cubic-bezier(0.22,1,0.36,1),border-color 300ms cubic-bezier(0.22,1,0.36,1),box-shadow 500ms cubic-bezier(0.22,1,0.36,1),transform 500ms cubic-bezier(0.22,1,0.36,1)}
button:active,.press:active{transform:scale(0.97)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #2D5BFF;outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:16px;top:-48px;background:#16181D;color:#FFFFFF;padding:8px 12px;border-radius:8px;z-index:10}
.skip:focus{top:16px}

/* entrance */
@keyframes dropIn{from{opacity:0;translate:0 -24px}to{opacity:1;translate:0 0}}
@keyframes wordIn{from{opacity:0;translate:0 48px;filter:blur(10px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes fadeUp{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}
@keyframes popIn{0%{opacity:0;scale:0.6}70%{opacity:1;scale:1.06}100%{opacity:1;scale:1}}
@keyframes drawLine{from{scale:0 1}to{scale:1 1}}
.nav-in{animation:dropIn 800ms cubic-bezier(0.22,1,0.36,1) both}
.w{display:inline-block;animation:wordIn 1000ms cubic-bezier(0.22,1,0.36,1) both;animation-delay:var(--d)}
.fade{animation:fadeUp 900ms cubic-bezier(0.22,1,0.36,1) both;animation-delay:var(--d)}
.hl{position:relative;display:inline-block}
.hl::after{content:"";position:absolute;left:2px;right:2px;bottom:-2px;height:8px;border-radius:9999px;background:linear-gradient(90deg,#2D5BFF 0 50%,#E8622A 50% 100%);transform-origin:left center;animation:drawLine 900ms cubic-bezier(0.22,1,0.36,1) 900ms both}

/* mascot */
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -14px}}
@keyframes shadow{0%,100%{scale:1;opacity:0.18}50%{scale:0.82;opacity:0.1}}
@keyframes blink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(0.08)}}
.mascot{animation:popIn 1100ms cubic-bezier(0.34,1.56,0.64,1) 300ms both}
.bob{animation:bob 6s ease-in-out infinite}
.shadow{animation:shadow 6s ease-in-out infinite;transform-origin:center}
.blink{animation:blink 5.5s infinite;transform-box:fill-box;transform-origin:center}

/* ticker */
@keyframes marquee{to{translate:-50% 0}}
.marquee{display:flex;width:max-content;animation:marquee 48s linear infinite}
.ticker:hover .marquee{animation-play-state:paused}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(31,122,77,0.55)}70%{box-shadow:0 0 0 8px rgba(31,122,77,0)}100%{box-shadow:0 0 0 0 rgba(31,122,77,0)}}
.dot{display:inline-block;width:8px;height:8px;border-radius:9999px;background:#1F7A4D;animation:pulse 2s infinite}
.dot.amber{background:#B7791F;animation-name:pulseA}
@keyframes pulseA{0%{box-shadow:0 0 0 0 rgba(183,121,31,0.55)}70%{box-shadow:0 0 0 8px rgba(183,121,31,0)}100%{box-shadow:0 0 0 0 rgba(183,121,31,0)}}

/* slider */
.handle{transition:transform 300ms cubic-bezier(0.22,1,0.36,1),box-shadow 300ms}
.slider:hover .handle{transform:scale(1.12);box-shadow:0 0 0 8px rgba(246,245,241,0.18)}

/* scroll reveal */
.js .reveal:not(.in) .ri{opacity:0}
.reveal.in .ri{animation:fadeUp 800ms cubic-bezier(0.22,1,0.36,1) both;animation-delay:calc(var(--i,0) * 80ms)}
.js .reveal:not(.in) .bar{scale:0 1}
.reveal.in .bar{transform-origin:left center;animation:drawLine 900ms cubic-bezier(0.22,1,0.36,1) both;animation-delay:calc(var(--i,0) * 160ms + 300ms)}

/* cards */
.card{position:relative;overflow:hidden}
.card:hover{transform:translateY(-6px);border-color:#2D5BFF !important;box-shadow:0 24px 48px -28px rgba(22,24,29,0.45)}
.card:nth-of-type(even):hover{border-color:#E8622A !important}
.card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 300ms;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(45,91,255,0.12),transparent 65%)}
.card:nth-of-type(even)::before{background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(232,98,42,0.13),transparent 65%)}
.card:hover::before{opacity:1}
.arrow{display:inline-block;transition:transform 500ms cubic-bezier(0.22,1,0.36,1)}
.card:hover .arrow,.cta:hover .arrow{transform:translateX(6px)}
.card .num{transition:color 300ms}
.card:hover .num{color:#2D5BFF}
.card:nth-of-type(even):hover .num{color:#C2410C}
.row{transition:background-color 300ms}
.row:hover{background:#FAF9F6}
.step{transition:transform 500ms cubic-bezier(0.22,1,0.36,1),box-shadow 500ms}
.step:hover{transform:translateY(-4px);box-shadow:0 20px 40px -28px rgba(22,24,29,0.4)}
.chip:hover{border-color:#16181D !important;transform:translateY(-2px)}
.cta:hover{box-shadow:0 12px 24px -12px rgba(22,24,29,0.55)}

@media (prefers-reduced-motion: reduce){
  .nav-in,.w,.fade,.mascot,.bob,.shadow,.blink,.marquee,.dot,.reveal .ri,.reveal .bar,.hl::after{animation:none !important;opacity:1 !important;translate:none !important;scale:none !important;filter:none !important}
  .card:hover,.step:hover,.chip:hover{transform:none}
}
