.cr-home{--night:#0a0812;--night2:#110e1c;--night3:#171327;--nline:#282237;--violet:#7c3aed;--violet2:#9061f9;--violet3:#b79dfc;--vwash:rgba(124,58,237,.12);--cream:#f0ece4;--cream2:#e6e1d6;--white:#fff;--ink:#14121c;--ink2:#5a5570;--ink3:#4a4560;--lline:#ddd8ce;--mint:#0a6640;--amber:#7a5106;--dm:#c9c4da;--dm2:#a49ec0;--disp:Sora,'Helvetica Neue',Arial,sans-serif;--body:Manrope,'Helvetica Neue',Arial,sans-serif;--mn:'IBM Plex Mono',ui-monospace,Consolas,monospace;--e:cubic-bezier(.22,.7,.3,1);--gut:clamp(16px,4vw,48px);--r:16px;}

/* ==== Homepage, scoped under .cr-home (from 90-prototype-homepage.html) ==== */


.cr-home *{box-sizing:border-box}
.cr-home{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
.cr-home{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.65 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.cr-home a{color:inherit;text-decoration:none}
.cr-home :focus-visible{outline:2px solid var(--violet2);outline-offset:3px;border-radius:4px}
.cr-home svg{display:block;max-width:100%}
.cr-home h1, .cr-home h2, .cr-home h3, .cr-home h4{margin:0;font-family:var(--disp);font-weight:700;letter-spacing:-.03em;line-height:1.04}
.cr-home .wrap{max-width:1240px;margin:0 auto;padding:0 var(--gut)}
.cr-home .skip{position:absolute;left:-9999px;background:var(--violet);color:#fff;padding:14px 20px;z-index:99;font:600 13px/1 var(--body)}
.cr-home .skip:focus{left:12px;top:12px}
.cr-home .eyebrow{font:600 11.5px/1 var(--mn);letter-spacing:.2em;text-transform:uppercase;color:var(--violet)}
.cr-home .eyebrow--d{color:var(--violet3)}
html.cr-js .cr-home .rv{opacity:0;transform:translateY(20px);transition:opacity .8s var(--e),transform .8s var(--e)}
html.cr-js .cr-home .rv.in{opacity:1;transform:none}
.cr-home .rv[data-d="1"]{transition-delay:.08s}
.cr-home .rv[data-d="2"]{transition-delay:.16s}
.cr-home .rv[data-d="3"]{transition-delay:.24s}
.cr-home .rv[data-d="4"]{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){
.cr-home{scroll-behavior:auto}
.cr-home .rv{opacity:1;transform:none;transition:none}
.cr-home .draw{stroke-dashoffset:0!important;animation:none!important}}
.cr-home .bar1{background:#07060c}
.cr-home .bar1 .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 34px;padding:11px var(--gut)}
.cr-home .bar1 span{display:inline-flex;align-items:center;gap:9px;font:600 11px/1.4 var(--body);letter-spacing:.09em;text-transform:uppercase;color:#cfcade}
.cr-home .bar1 svg{color:var(--violet3);flex:none}
.cr-home .bar2{background:linear-gradient(90deg,#1d1240 0%,#3a2185 50%,#1d1240 100%)}
.cr-home .bar2 .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 34px;padding:12px var(--gut)}
.cr-home .bar2 span{display:inline-flex;align-items:center;gap:9px;font:600 11px/1.4 var(--body);letter-spacing:.09em;text-transform:uppercase;color:#e6dcff}
.cr-home .bar2 svg{color:#c4a9ff;flex:none}
.cr-home .dotsep{color:#7a6ba8}
.cr-home header{position:sticky;top:0;z-index:50;background:rgba(10,8,18,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--nline)}
.cr-home header .wrap{display:flex;align-items:center;gap:18px;padding-top:14px;padding-bottom:14px}
.cr-home .wm{display:block;padding:6px 0;min-height:44px}
.cr-home .wm b{display:block;font:700 26px/1 var(--disp);letter-spacing:.16em;color:#fff}
.cr-home .wm i{display:block;height:1.5px;background:linear-gradient(90deg,var(--violet2),transparent);margin:5px 0 4px;font-style:normal}
.cr-home .wm em{display:block;font:600 10.5px/1 var(--disp);letter-spacing:.34em;color:#fff;font-style:normal}
.cr-home .wm span{display:block;margin-top:7px;font:400 11.5px/1 var(--body);letter-spacing:.02em;color:#8d87a6}
.cr-home .hnav{display:flex;align-items:center;gap:26px;margin-left:auto}
.cr-home .hnav a.l{font:600 12.5px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#cfcade;padding:15px 0;transition:color .2s}
.cr-home .hnav a.l:hover{color:#fff}
.cr-home .ico{width:44px;height:44px;display:grid;place-items:center;color:#fff;position:relative;border-radius:50%;transition:.2s}
.cr-home .ico:hover{background:rgba(255,255,255,.07)}
.cr-home .ico b{position:absolute;top:1px;right:1px;min-width:19px;height:19px;border-radius:10px;background:var(--violet);color:#fff;font:600 10.5px/19px var(--body);text-align:center}
.cr-home .burger{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.cr-home .burger i{width:20px;height:1.8px;background:#fff;transition:.3s var(--e)}
.cr-home .burger[aria-expanded="true"] i:first-child{transform:translateY(6.8px) rotate(45deg)}
.cr-home .burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.cr-home .burger[aria-expanded="true"] i:last-child{transform:translateY(-6.8px) rotate(-45deg)}
.cr-home .sheet{position:fixed;inset:0;z-index:49;background:var(--night);padding:110px var(--gut) 40px;display:none;flex-direction:column;overflow-y:auto}
.cr-home .sheet.open{display:flex}
.cr-home .sheet a{display:flex;align-items:center;gap:16px;padding:19px 0;border-bottom:1px solid var(--nline);color:#fff;font:700 24px/1 var(--disp);letter-spacing:-.02em}
.cr-home .sheet a span{font:600 11px/1 var(--mn);color:var(--violet3);letter-spacing:.14em}
.cr-home .hero{background:var(--night);color:#fff;position:relative;overflow:hidden;padding:clamp(36px,5vw,66px) 0 clamp(88px,10vw,140px)}
.cr-home .hero__glow{position:absolute;right:-10%;top:-22%;width:min(780px,92vw);aspect-ratio:1;pointer-events:none;
  background:radial-gradient(closest-side,rgba(124,58,237,.34),transparent 70%)}
.cr-home .hero__g{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(24px,4vw,50px);align-items:center}
.cr-home h1{font-size:clamp(38px,6.4vw,68px);font-weight:800;text-transform:uppercase;letter-spacing:-.028em;line-height:1.03;margin:18px 0 0;text-wrap:balance}
.cr-home h1 em{font-style:normal;color:var(--violet2);display:block}
.cr-home .hsub{margin:22px 0 0;font-size:clamp(15.5px,1.3vw,17.5px);line-height:1.62;color:var(--dm);max-width:44ch}
.cr-home .hruo{margin-top:18px;display:flex;gap:11px;align-items:flex-start;max-width:50ch;padding:12px 15px;border-radius:12px;
  background:rgba(255,255,255,.05);border:1px solid var(--nline)}
.cr-home .hruo svg{flex:none;margin-top:2px;color:#f0b429}
.cr-home .hruo p{margin:0;font-size:13px;line-height:1.5;color:var(--dm)}
.cr-home .hruo b{color:#fff}
.cr-home .hcta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.cr-home .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 28px;border-radius:12px;
  border:1px solid transparent;cursor:pointer;font:700 12.5px/1 var(--body);letter-spacing:.13em;text-transform:uppercase;transition:.24s var(--e)}
.cr-home .btn--p{background:var(--violet);color:#fff;box-shadow:0 14px 34px -16px rgba(124,58,237,.9)}
.cr-home .btn--p:hover{background:#6d2fdb;transform:translateY(-2px);box-shadow:0 20px 44px -18px rgba(124,58,237,1)}
.cr-home .btn--go{border-color:rgba(255,255,255,.4);color:#fff}
.cr-home .btn--go:hover{background:#fff;color:var(--night);border-color:#fff}
.cr-home .btn--dark{background:var(--ink);color:#fff}
.cr-home .btn--dark:hover{background:var(--violet)}
.cr-home .vials{position:relative;display:grid;place-items:center;min-height:clamp(300px,38vw,430px)}
.cr-home .hexline{position:absolute;inset:0;pointer-events:none;color:var(--violet)}
.cr-home .vialart{position:relative;filter:drop-shadow(0 40px 44px rgba(0,0,0,.75));height:clamp(280px,36vw,410px);width:auto}
@media (prefers-reduced-motion:no-preference){
.cr-home .vialart{animation:fl 8s ease-in-out infinite}}
@keyframes fl{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.cr-home .draw{stroke-dasharray:600;stroke-dashoffset:600;animation:dw 2.2s var(--e) .5s forwards}
@keyframes dw{to{stroke-dashoffset:0}}
.cr-home .trust{margin-top:clamp(-70px,-7vw,-52px);position:relative;z-index:5}
.cr-home .trust__in{background:var(--white);border-radius:var(--r);box-shadow:0 26px 60px -34px rgba(20,18,28,.42);
  display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}
.cr-home .tcell{padding:26px 24px;border-right:1px solid var(--lline);display:flex;flex-direction:column;gap:12px;
  color:var(--ink);min-height:150px;transition:background .25s}
.cr-home .tcell:last-child{border-right:0}
.cr-home .tcell:hover{background:#faf8f5}
.cr-home .tcell svg.ic{color:var(--violet)}
.cr-home .tcell b{font:700 16px/1.22 var(--disp);letter-spacing:-.02em}
.cr-home .tcell span{font-size:14px;color:var(--ink2);line-height:1.5}
.cr-home .tcell .ar{margin-top:auto;color:var(--violet)}
.cr-home .sec{padding:clamp(56px,7vw,104px) 0}
.cr-home .sec--cream{background:var(--cream)}
.cr-home .sec--cream2{background:var(--cream2)}
.cr-home .sec--white{background:var(--white)}
.cr-home .sec--dark{background:var(--night);color:#fff}
.cr-home .sec--dark h1, .cr-home .sec--dark h2, .cr-home .sec--dark h3, .cr-home .sec--dark h4, .cr-home .hero h1, .cr-home .hero h2, .cr-home .inst h2, .cr-home .inst h3, .cr-home .coacard b, .cr-home footer h4{color:#fff}
.cr-home h2{font-size:clamp(28px,4.2vw,50px);font-weight:700;letter-spacing:-.032em;text-wrap:balance}
.cr-home h2.up{text-transform:uppercase;font-weight:800;letter-spacing:-.028em}
.cr-home h2 em{font-style:normal;color:var(--violet)}
.cr-home .sec--dark h2 em{color:var(--violet2)}
.cr-home .shead{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:flex-end;justify-content:space-between;margin-bottom:32px}
.cr-home .shead p{margin:14px 0 0;color:var(--ink2);font-size:16.5px;line-height:1.6;max-width:52ch}
.cr-home .sec--dark .shead p{color:var(--dm)}
.cr-home .viewall{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:600 13px/1 var(--body);color:var(--violet);letter-spacing:.02em}
.cr-home .viewall:hover{gap:14px}
.cr-home .cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cr-home .cat{position:relative;background:var(--white);border:1px solid var(--lline);border-radius:var(--r);padding:24px;
  min-height:180px;display:flex;flex-direction:column;gap:12px;overflow:hidden;color:var(--ink);transition:.26s var(--e)}
.cr-home .cat:hover{transform:translateY(-4px);border-color:var(--violet);box-shadow:0 22px 46px -26px rgba(124,58,237,.42)}
.cr-home .cat__ghost{position:absolute;right:-14px;bottom:-14px;opacity:.09;pointer-events:none;color:var(--ink)}
.cr-home .cat svg.ic{color:var(--violet);position:relative}
.cr-home .cat b{font:700 18px/1.18 var(--disp);letter-spacing:-.022em;position:relative}
.cr-home .cat span{font-size:13.5px;color:var(--ink2);line-height:1.5;position:relative}
.cr-home .cat .ar{margin-top:auto;color:var(--violet);position:relative}
.cr-home .proc{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(26px,4vw,56px);align-items:center}
.cr-home .steps{display:grid;grid-template-columns:repeat(3,1fr) 1.12fr;gap:14px;align-items:stretch}
.cr-home .step{text-align:center;position:relative;padding-top:6px}
.cr-home .step__d{width:74px;height:74px;margin:0 auto 16px;border-radius:50%;background:var(--white);border:1px solid var(--lline);
  display:grid;place-items:center;color:var(--violet);position:relative;z-index:2}
.cr-home .step:not(:last-child)::after{content:"";position:absolute;top:37px;left:calc(50% + 42px);right:calc(-50% + 42px);
  border-top:1.5px dashed var(--violet3);z-index:1}
.cr-home .step b{display:block;font:700 12.5px/1 var(--body);letter-spacing:.06em;margin-bottom:8px}
.cr-home .step span{display:block;font-size:13px;line-height:1.5;color:var(--ink2)}
.cr-home .coacard{background:var(--night);color:#fff;border-radius:var(--r);padding:24px 22px;display:flex;flex-direction:column;
  align-items:center;text-align:center;gap:10px;justify-content:center;transition:.26s var(--e)}
.cr-home .coacard:hover{transform:translateY(-4px);box-shadow:0 24px 50px -26px rgba(124,58,237,.6)}
.cr-home .coacard svg.ic{color:var(--violet2)}
.cr-home .coacard b{font:700 13px/1 var(--body);letter-spacing:.13em;text-transform:uppercase;color:#fff}
.cr-home .coacard span{font-size:13.5px;line-height:1.5;color:var(--dm)}
.cr-home .coacard .go{width:30px;height:30px;border-radius:50%;background:var(--violet);display:grid;place-items:center;margin-top:4px}
.cr-home .tools{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,48px);align-items:center}
.cr-home .toolgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cr-home .tool{background:var(--night2);border:1px solid var(--nline);border-radius:var(--r);padding:22px;color:#fff;transition:.26s var(--e)}
.cr-home .tool:hover{border-color:var(--violet);transform:translateY(-4px)}
.cr-home .tool b{display:block;font:600 12px/1 var(--mn);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.cr-home .tool span{display:inline-flex;align-items:center;gap:12px;font:600 14px/1 var(--body);color:var(--violet3)}
.cr-home .toolico{width:60px;height:60px;border-radius:14px;border:1px solid var(--nline);background:var(--night2);display:grid;place-items:center;color:var(--violet2);margin-bottom:18px}
.cr-home .rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(224px,262px);gap:16px;overflow-x:auto;
  scroll-snap-type:x mandatory;padding-bottom:14px}
.cr-home .rail::-webkit-scrollbar{height:5px}
.cr-home .rail::-webkit-scrollbar-thumb{background:var(--lline);border-radius:4px}
.cr-home .pc{scroll-snap-align:start;background:var(--white);border:1px solid var(--lline);border-radius:var(--r);padding:16px;
  display:flex;flex-direction:column;gap:13px;color:var(--ink);transition:.26s var(--e)}
.cr-home .pc:hover{transform:translateY(-5px);border-color:var(--violet);box-shadow:0 22px 46px -26px rgba(124,58,237,.42)}
.cr-home .pc__v{height:128px;border-radius:12px;background:linear-gradient(160deg,#17131f,#0c0a13);display:grid;place-items:center}
.cr-home .pc__v svg{height:104px}
.cr-home .pc h3{font:700 16px/1.2 var(--disp);letter-spacing:-.022em}
.cr-home .pc__s{display:flex;flex-wrap:wrap;gap:5px 12px;padding:11px 0;border-top:1px solid var(--lline);border-bottom:1px solid var(--lline)}
.cr-home .pc__s span{font:500 11px/1.3 var(--mn);color:var(--ink3);letter-spacing:.04em}
.cr-home .pc__p{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.cr-home .pc__p b{font:800 21px/1 var(--disp);letter-spacing:-.03em}
.cr-home .chip{font:600 10px/1 var(--mn);letter-spacing:.1em;text-transform:uppercase;padding:7px 10px;border-radius:20px}
.cr-home .chip--in{background:rgba(10,102,64,.12);color:var(--mint)}
.cr-home .chip--out{background:rgba(122,81,6,.13);color:var(--amber)}
.cr-home .doc{background:var(--white);border:1px solid var(--lline);border-radius:var(--r);padding:clamp(22px,3.2vw,42px);position:relative;overflow:hidden;
  box-shadow:0 30px 70px -44px rgba(20,18,28,.4)}
.cr-home .doc__stamp{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%) rotate(-16deg);border:3px solid rgba(124,58,237,.16);
  color:rgba(124,58,237,.16);padding:8px 22px;border-radius:8px;pointer-events:none;font:700 clamp(26px,5vw,62px)/1 var(--disp);letter-spacing:.2em}
.cr-home .doc__h{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-start;padding-bottom:16px;border-bottom:2px solid var(--ink)}
.cr-home .doc__h h3{font-size:clamp(19px,2.4vw,28px)}
.cr-home .doc__h .s{margin-top:8px;font:600 10px/1 var(--mn);letter-spacing:.2em;text-transform:uppercase;color:var(--ink3)}
.cr-home .doc__id{text-align:right;font:500 10px/1.9 var(--mn);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.cr-home .doc__id b{display:block;font:700 15px/1.3 var(--disp);letter-spacing:.06em;color:var(--ink)}
.cr-home .doc__m{display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));border:1px solid var(--lline);border-radius:10px;overflow:hidden;margin:20px 0}
.cr-home .doc__m div{padding:12px 14px;border-right:1px solid var(--lline)}
.cr-home .doc__m div:last-child{border-right:0}
.cr-home .doc__m dt{margin:0 0 6px;font:600 9px/1 var(--mn);letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.cr-home .doc__m dd{margin:0;font:600 13.5px/1.2 var(--mn)}
.cr-home .tblx{overflow-x:auto}
.cr-home table{width:100%;border-collapse:collapse;min-width:560px}
.cr-home th{text-align:left;padding:10px 12px;border-bottom:2px solid var(--ink);font:600 9.5px/1.3 var(--mn);letter-spacing:.15em;text-transform:uppercase;color:var(--ink3);white-space:nowrap}
.cr-home td{padding:12px;border-bottom:1px solid var(--lline);font-size:15px;vertical-align:top}
.cr-home td.m{font:500 13px/1.4 var(--mn)}
.cr-home td.r{font:600 13px/1.4 var(--mn);color:var(--mint);white-space:nowrap}
.cr-home .doc__f{display:flex;flex-wrap:wrap;gap:18px 34px;justify-content:space-between;align-items:flex-end;margin-top:24px;padding-top:18px;border-top:1px solid var(--lline)}
.cr-home .doc__f p{margin:0;max-width:52ch;font-size:14.5px;line-height:1.58;color:var(--ink2)}
.cr-home .sig{min-width:180px}
.cr-home .sig i{display:block;height:34px;border-bottom:1px solid var(--ink)}
.cr-home .sig span{display:block;margin-top:8px;font:600 9px/1 var(--mn);letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.cr-home .note{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;font:500 12.5px/1.7 var(--mn);color:var(--ink3)}
.cr-home .note a{color:var(--violet);font-weight:600}
.cr-home .tag{display:inline-block;border:1px solid var(--violet);color:var(--violet);padding:4px 11px;border-radius:20px;font:600 10px/1.5 var(--mn);letter-spacing:.13em}
.cr-home .ix{border-top:1px solid var(--lline)}
.cr-home .ix a{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,1.3fr) 110px;gap:clamp(12px,2.4vw,28px);align-items:center;
  padding:22px 0;border-bottom:1px solid var(--lline);transition:.28s var(--e)}
.cr-home .ix a:hover{background:var(--white);padding-left:16px;border-radius:10px}
.cr-home .ix .n{font:600 11px/1 var(--mn);color:var(--violet);letter-spacing:.13em}
.cr-home .ix h3{font:700 clamp(18px,2.2vw,25px)/1.08 var(--disp);letter-spacing:-.028em}
.cr-home .ix p{margin:0;font-size:14.5px;color:var(--ink2);line-height:1.5}
.cr-home .ix .c{display:flex;align-items:center;justify-content:flex-end;gap:12px;font:600 11px/1 var(--mn);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);white-space:nowrap}
.cr-home .ix .c i{font-style:normal;color:var(--violet);opacity:0;transform:translateX(-6px);transition:.28s var(--e)}
.cr-home .ix a:hover .c i{opacity:1;transform:none}
.cr-home .inst{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);border-radius:var(--r);overflow:hidden;background:var(--night)}
.cr-home .inst__l{padding:clamp(28px,4vw,52px);color:#fff;position:relative;overflow:hidden}
.cr-home .inst__l::before{content:"";position:absolute;inset:-40% 40% 20% -20%;background:radial-gradient(closest-side,rgba(124,58,237,.3),transparent 70%)}
.cr-home .inst__l>*{position:relative}
.cr-home .inst__l p{margin:16px 0 26px;color:var(--dm);font-size:16px;max-width:42ch}
.cr-home .inst__r{padding:clamp(22px,3vw,40px);background:var(--night2);border-left:1px solid var(--nline)}
.cr-home .ir{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--nline)}
.cr-home .ir:last-child{border-bottom:0}
.cr-home .ir svg{flex:none;margin-top:2px;color:var(--violet2)}
.cr-home .ir b{display:block;font:700 15px/1.3 var(--disp);color:#fff;letter-spacing:-.018em;margin-bottom:4px}
.cr-home .ir span{font-size:13.5px;color:var(--dm);line-height:1.5}
.cr-home .faq{border-top:1px solid var(--lline)}
.cr-home .faq details{border-bottom:1px solid var(--lline)}
.cr-home .faq summary{list-style:none;cursor:pointer;padding:20px 0;display:flex;gap:18px;align-items:center;min-height:56px;
  font:700 clamp(16.5px,1.9vw,20px)/1.3 var(--disp);letter-spacing:-.024em}
.cr-home .faq summary::-webkit-details-marker{display:none}
.cr-home .faq summary::after{content:"";margin-left:auto;width:11px;height:11px;flex:none;border-right:2px solid var(--violet);border-bottom:2px solid var(--violet);transform:rotate(45deg);transition:transform .28s var(--e)}
.cr-home .faq details[open] summary::after{transform:rotate(225deg)}
.cr-home .faq .q{font:600 11px/1 var(--mn);color:var(--violet);letter-spacing:.13em;flex:none}
.cr-home .faq p{margin:0 0 24px;padding-left:44px;font-size:15.5px;line-height:1.68;color:var(--ink2);max-width:74ch}
.cr-home .ctaband{background:var(--cream2);padding:clamp(44px,6vw,80px) 0}
.cr-home .ctaband__in{display:flex;flex-wrap:wrap;gap:26px 40px;align-items:center;justify-content:space-between}
.cr-home .ctaband h2{max-width:18ch}
.cr-home .ctaband p{margin:12px 0 0;color:var(--ink2);font-size:16px;max-width:44ch}
.cr-home .ctabox{width:96px;height:96px;border:1.5px dashed var(--violet3);border-radius:50%;display:grid;place-items:center;color:var(--violet);flex:none}
.cr-home footer{background:var(--night);color:#fff;padding:clamp(48px,6vw,76px) 0 30px}
.cr-home .fg{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:34px}
.cr-home footer h4{margin:0 0 14px;font:600 10.5px/1 var(--mn);letter-spacing:.2em;text-transform:uppercase;color:#fff}
.cr-home footer ul{list-style:none;margin:0;padding:0}
.cr-home footer li a{display:block;padding:11px 0;font-size:14.5px;color:var(--dm);transition:color .2s}
.cr-home footer li a:hover{color:#fff}
.cr-home .tbc{display:inline-block;border:1px dashed #3d3654;color:var(--violet3);padding:2px 9px;border-radius:20px;font:600 10px/1.7 var(--mn);letter-spacing:.1em}
.cr-home .fruo{margin-top:32px;padding:20px 22px;border-radius:12px;background:var(--night2);border:1px solid var(--nline);border-left:3px solid #f0b429;font-size:14px;line-height:1.6;color:var(--dm)}
.cr-home .fruo b{color:#fff}
.cr-home .fb{margin-top:26px;padding-top:22px;border-top:1px solid var(--nline);display:flex;flex-wrap:wrap;gap:12px 26px;justify-content:space-between;font:500 11.5px/1.6 var(--body);letter-spacing:.05em;color:#8d87a6}
.cr-home .sec--darkalt{background:linear-gradient(180deg,#0d0b16,#151223 55%,#0d0b16);color:#fff;
  border-top:1px solid var(--nline);border-bottom:1px solid var(--nline)}
.cr-home .sec--dark h1, .cr-home .sec--dark h2, .cr-home .sec--dark h3, .cr-home .sec--dark h4, .cr-home .sec--darkalt h1, .cr-home .sec--darkalt h2, .cr-home .sec--darkalt h3, .cr-home .sec--darkalt h4{color:#fff}
.cr-home .sec--darkalt h2 em{color:var(--violet2)}
.cr-home .sec--darkalt .shead p{color:var(--dm)}
.cr-home .sec--dark .viewall, .cr-home .sec--darkalt .viewall{color:var(--violet3)}
.cr-home .sec--dark .cat, .cr-home .sec--darkalt .cat{background:var(--night2);border-color:var(--nline);color:#fff}
.cr-home .sec--dark .cat:hover, .cr-home .sec--darkalt .cat:hover{border-color:var(--violet);box-shadow:0 22px 46px -26px rgba(124,58,237,.55)}
.cr-home .sec--dark .cat b, .cr-home .sec--darkalt .cat b{color:#fff}
.cr-home .sec--dark .cat span, .cr-home .sec--darkalt .cat span{color:var(--dm)}
.cr-home .sec--dark .cat svg.ic, .cr-home .sec--dark .cat .ar, .cr-home .sec--darkalt .cat svg.ic, .cr-home .sec--darkalt .cat .ar{color:var(--violet2)}
.cr-home .sec--dark .cat__ghost, .cr-home .sec--darkalt .cat__ghost{color:#fff;opacity:.055}
.cr-home .sec--darkalt .step__d{background:var(--night2);border-color:var(--nline);color:var(--violet2)}
.cr-home .sec--darkalt .step b{color:#fff}
.cr-home .sec--darkalt .step span{color:var(--dm)}
.cr-home .sec--darkalt .step:not(:last-child)::after{border-top-color:var(--violet)}
.cr-home .sec--darkalt .coacard{background:var(--night2);border:1px solid var(--nline)}
.cr-home .sec--darkalt .coacard:hover{border-color:var(--violet)}

@media (max-width:1000px){
.cr-home .hero__g{grid-template-columns:1fr}
.cr-home .vials{order:-1;min-height:280px}
.cr-home .hnav a.l{display:none}
.cr-home .burger{display:flex}
.cr-home .trust__in{grid-template-columns:1fr 1fr}
.cr-home .tcell:nth-child(2){border-right:0}
.cr-home .tcell:nth-child(-n+2){border-bottom:1px solid var(--lline)}
.cr-home .cats{grid-template-columns:1fr 1fr}
.cr-home .proc, .cr-home .tools{grid-template-columns:1fr}
.cr-home .steps{grid-template-columns:1fr 1fr}
.cr-home .step:not(:last-child)::after{display:none}
.cr-home .inst{grid-template-columns:1fr}
.cr-home .inst__r{border-left:0;border-top:1px solid var(--nline)}
.cr-home .fg{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
.cr-home .trust{margin-top:-40px}
.cr-home .trust__in, .cr-home .cats{grid-template-columns:1fr}
.cr-home .tcell{border-right:0;border-bottom:1px solid var(--lline);min-height:0}
.cr-home .tcell:last-child{border-bottom:0}
.cr-home .steps{grid-template-columns:1fr}
.cr-home .toolgrid{grid-template-columns:1fr}
.cr-home .ix a{grid-template-columns:40px minmax(0,1fr);row-gap:7px}
.cr-home .ix p, .cr-home .ix .c{grid-column:2}
.cr-home .ix .c{justify-content:flex-start}
.cr-home .faq p{padding-left:0}
.cr-home .fg{grid-template-columns:1fr}
.cr-home .btn{width:100%}
.cr-home .doc__f{flex-direction:column;align-items:stretch}
}

/* full-bleed: escape the theme's content container */
.cr-home{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow-x:clip}
.cr-home > *{max-width:100%}

/* hide the picostrap page title on the front page */
body.home .display-4{display:none!important}
body.home .container.text-center:has(.display-4){display:none!important}

/* front-page chrome reset: picostrap wraps content in .col-md-10.offset-md-1.py-5,
   whose 48px padding sits above the hero. The homepage supplies its own bands. */
body.home main .container > .row > [class*='col-']{padding-top:0!important;padding-bottom:0!important}
body.home main > .container{padding-left:0!important;padding-right:0!important;max-width:none!important}
body.home main{padding-top:0!important;margin-top:0!important}

/* picostrap's page-title banner: hiding the heading left its 144px of
   padding behind. Remove the banner itself on the front page. */
body.home main .bg-light-subtle{display:none!important}

/* hero vial pair: real product renders replacing the drawn SVG. Keeps the
   float animation and drop shadow the SVG had. */
.cr-home .vialpair{position:relative;height:clamp(280px,36vw,410px);aspect-ratio:340/420;animation:fl 8s ease-in-out infinite}
.cr-home .vialpair img{position:absolute;bottom:0;width:auto;max-width:none;filter:drop-shadow(0 34px 40px rgba(0,0,0,.72))}
.cr-home .vialpair img.vialpair__front{height:100%;left:0;z-index:2}
.cr-home .vialpair img.vialpair__back{height:83%;right:0;z-index:1;opacity:.93}
@media(prefers-reduced-motion:reduce){.cr-home .vialpair{animation:none}}
@media(max-width:640px){.cr-home .vialpair{aspect-ratio:320/380}}

/* rail card artwork: the drawn SVGs are now real renders. The existing rule
   only sized svg, so images need the same treatment. Element is included in
   the selector so a later img rule cannot outrank it. */
.cr-home .pc__v img{height:104px;width:auto;max-width:none;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(0,0,0,.55))}
.cr-home .pc__v{overflow:hidden}


/* ---- hero photo (2 Sep 2026): the two-render vial pair is replaced by the studio
   photograph of the TB-500 and CJC-1295 vials, keyed from black to a transparent WebP
   so it sits on the night ground with the glow showing through. Sized by height so the
   hero keeps its rhythm; the .vialpair rules above are now unused. ---- */
.cr-home .vialphoto{position:relative;height:clamp(300px,38vw,450px);max-width:100%;animation:fl 8s ease-in-out infinite}
.cr-home .vialphoto img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 30px 38px rgba(0,0,0,.7))}
@media(prefers-reduced-motion:reduce){.cr-home .vialphoto{animation:none}}
@media(max-width:640px){.cr-home .vialphoto{height:clamp(260px,72vw,340px)}}
