/* =============================================================================
   Cartzuno — "Meridian" design system
   Bright paper surfaces, royal blue as the single action colour, deep navy for
   headings and closing bands. Signature shape: the "leaf" corner — large radii
   on two opposite corners, tight radii on the other two. Outfit for display,
   Mona Sans for reading. Hand-written, no framework, no build step.
   Prefix: cz-   (home: ch-)
   ============================================================================= */

/* ------------------------------------------------------------------- fonts */
@font-face{ font-family:'Outfit'; font-style:normal; font-weight:500; font-display:swap; src:url("../fonts/outfit-latin-500-normal.woff2") format('woff2'); }
@font-face{ font-family:'Outfit'; font-style:normal; font-weight:600; font-display:swap; src:url("../fonts/outfit-latin-600-normal.woff2") format('woff2'); }
@font-face{ font-family:'Outfit'; font-style:normal; font-weight:700; font-display:swap; src:url("../fonts/outfit-latin-700-normal.woff2") format('woff2'); }
@font-face{ font-family:'Mona Sans'; font-style:normal; font-weight:400; font-display:swap; src:url("../fonts/mona-sans-latin-400-normal.woff2") format('woff2'); }
@font-face{ font-family:'Mona Sans'; font-style:normal; font-weight:500; font-display:swap; src:url("../fonts/mona-sans-latin-500-normal.woff2") format('woff2'); }
@font-face{ font-family:'Mona Sans'; font-style:normal; font-weight:600; font-display:swap; src:url("../fonts/mona-sans-latin-600-normal.woff2") format('woff2'); }

/* ------------------------------------------------------------------ tokens */
:root{
  --cz-blue:#3452F4;
  --cz-blue-600:#2842D9;
  --cz-blue-700:#1E33B3;
  --cz-blue-50:#EEF1FE;
  --cz-blue-100:#DCE2FD;
  --cz-blue-200:#B9C4FB;
  --cz-peri:#8FA2FF;

  --cz-navy:#0C1450;
  --cz-navy-2:#131C62;
  --cz-navy-3:#1B2677;
  --cz-navy-deep:#070C38;

  --cz-white:#FFFFFF;
  --cz-mist:#F3F5FB;
  --cz-mist-2:#E9ECF6;
  --cz-line:#E3E6F0;
  --cz-line-2:#CDD2E4;
  --cz-text:#0C1450;
  --cz-text-2:#454B68;
  --cz-muted:#6A7090;

  --cz-dline:rgba(255,255,255,.12);
  --cz-dline-2:rgba(255,255,255,.22);
  --cz-fog:#AEB6E0;
  --cz-fog-2:#D5DAF4;

  --cz-ok:#138A5E;   --cz-ok-50:#E7F6EF;
  --cz-warn:#A86A05; --cz-warn-50:#FDF3E1;
  --cz-err:#CC2F45;  --cz-err-50:#FDECEE;

  --cz-font-display:'Outfit',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --cz-font-body:'Mona Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --cz-font-mono:'Outfit',ui-sans-serif,system-ui,sans-serif;

  --cz-leaf:44px 10px 44px 10px;          /* signature card corner */
  --cz-leaf-lg:72px 12px 72px 12px;
  --cz-leaf-sm:22px 6px 22px 6px;
  --cz-tab:16px 16px 16px 4px;            /* signature button corner */
  --cz-r-xs:6px; --cz-r-sm:10px; --cz-r:14px; --cz-r-lg:22px; --cz-r-xl:30px;

  --cz-ease:cubic-bezier(.2,.8,.2,1);
  --cz-shadow:0 1px 2px rgba(12,20,80,.05),0 18px 40px -24px rgba(12,20,80,.28);
  --cz-shadow-lg:0 40px 80px -40px rgba(12,20,80,.45);
  --cz-shadow-blue:0 18px 36px -16px rgba(52,82,244,.55);
  --cz-header:76px;
  --cz-gutter:16px;
  --cz-max:1280px;
}
@media (min-width:640px){ :root{ --cz-gutter:24px; } }
@media (min-width:1024px){ :root{ --cz-gutter:40px; --cz-header:92px; } }

/* ------------------------------------------------------------------- reset */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--cz-header) + 16px); }
body{ margin:0; background:var(--cz-white); color:var(--cz-text-2); font-family:var(--cz-font-body); font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; overflow-x:hidden; }
img,svg,video{ display:block; max-width:100%; }
img{ height:auto; }
a{ color:inherit; text-decoration:none; }
button,input,select,textarea{ font:inherit; color:inherit; }
button{ cursor:pointer; background:none; border:0; padding:0; }
h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote,dl,dd{ margin:0; }
ul,ol{ padding:0; list-style:none; }
table{ border-collapse:collapse; width:100%; }
hr{ border:0; border-top:1px solid var(--cz-line); margin:0; }
::selection{ background:var(--cz-blue); color:#fff; }
:focus-visible{ outline:3px solid var(--cz-blue); outline-offset:3px; border-radius:6px; }
.cz-dark :focus-visible,.cz-on-dark :focus-visible,.cz-footer :focus-visible{ outline-color:#fff; }
html.cz-no-scroll{ overflow:hidden; }

/* --------------------------------------------------------------- utilities */
.hidden{ display:none !important; }
.flex{ display:flex; }
.block{ display:block; }
.sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.cz-skip{ position:fixed; left:12px; top:-64px; z-index:300; padding:12px 18px; border-radius:var(--cz-tab); background:var(--cz-blue); color:#fff; font-weight:600; transition:top .2s; }
.cz-skip:focus{ top:12px; }
.cz-mt-0{margin-top:0}.cz-mt-1{margin-top:4px}.cz-mt-2{margin-top:8px}.cz-mt-3{margin-top:12px}.cz-mt-4{margin-top:16px}.cz-mt-5{margin-top:20px}.cz-mt-6{margin-top:24px}.cz-mt-8{margin-top:32px}.cz-mt-10{margin-top:40px}.cz-mt-12{margin-top:48px}.cz-mt-16{margin-top:64px}
.cz-mb-4{margin-bottom:16px}.cz-mb-6{margin-bottom:24px}.cz-mb-8{margin-bottom:32px}
.cz-center{ text-align:center; }
.cz-right{ text-align:right; }
.cz-muted{ color:var(--cz-muted); }
.cz-fog{ color:var(--cz-fog); }
.cz-fog-2{ color:var(--cz-fog-2); }
.cz-blue{ color:var(--cz-blue); }
.cz-blue-600{ color:var(--cz-blue-600); }
.cz-cyan{ color:var(--cz-peri); }
.cz-text-2{ color:var(--cz-text-2); }
.cz-strong{ font-weight:600; color:var(--cz-text); }
.cz-dark .cz-strong{ color:#fff; }
.cz-mono,.cz-font-mono{ font-family:var(--cz-font-mono); font-variant-numeric:tabular-nums; letter-spacing:.02em; }
.cz-nowrap{ white-space:nowrap; }
.cz-truncate{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.cz-clamp-2,.cz-clamp-3{ display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden; }
.cz-clamp-2{ -webkit-line-clamp:2; } .cz-clamp-3{ -webkit-line-clamp:3; }
.cz-row{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.cz-row--between{ justify-content:space-between; }
.cz-row--tight{ gap:8px; }
.cz-stack>*+*{ margin-top:16px; }
.cz-stack-sm>*+*{ margin-top:8px; }
.cz-stack-lg>*+*{ margin-top:28px; }
.cz-minw0{ min-width:0; }
.cz-w-full{ width:100%; }
.cz-ul{ text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.cz-ul:hover{ color:var(--cz-blue); }
.cz-r-lg{ border-radius:var(--cz-r-lg); }
.cz-noprint{}

/* ------------------------------------------------------------------ layout */
.cz-wrap{ width:100%; max-width:var(--cz-max); margin-inline:auto; padding-inline:var(--cz-gutter); }
.cz-wrap--narrow{ max-width:940px; }
.cz-wrap--text{ max-width:800px; }
.cz-section{ padding-block:72px; position:relative; overflow-x:clip; }
.cz-section--sm{ padding-block:48px; }
.cz-section--flush-top{ padding-top:0; }
@media (min-width:1024px){ .cz-section{ padding-block:112px; } .cz-section--sm{ padding-block:72px; } }
.cz-grid{ display:grid; gap:24px; }
.cz-grid-2,.cz-grid-3,.cz-grid-4{ display:grid; gap:24px; grid-template-columns:minmax(0,1fr); }
@media (min-width:720px){ .cz-grid-2{ grid-template-columns:repeat(2,minmax(0,1fr)); } .cz-grid-3,.cz-grid-4{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1080px){ .cz-grid-3{ grid-template-columns:repeat(3,minmax(0,1fr)); } .cz-grid-4{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.cz-split{ display:grid; gap:40px; grid-template-columns:minmax(0,1fr); }
@media (min-width:1024px){
  .cz-split{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:72px; }
  .cz-split--even{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .cz-split--wide-left{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); }
  .cz-split--aside{ grid-template-columns:minmax(0,1fr) 390px; gap:48px; }
  .cz-split--toc{ grid-template-columns:250px minmax(0,1fr); gap:64px; }
  .cz-sticky{ position:sticky; top:calc(var(--cz-header) + 24px); align-self:start; }
}

/* ---------------------------------------------------------------- surfaces */
.cz-dark{ background:var(--cz-navy); color:#fff; position:relative; isolation:isolate; }
.cz-dark--black{ background:var(--cz-navy-deep); }
.cz-black{ background:var(--cz-navy-deep); }
.cz-paper{ background:var(--cz-mist); }
.cz-white{ background:var(--cz-white); }
.cz-rule-top{ border-top:1px solid var(--cz-line); }
.cz-dark .cz-muted,.cz-on-dark .cz-muted{ color:var(--cz-fog); }
/* soft dot-grid texture (replaces the old architectural grid) */
.cz-gridlines{ position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.16) 1.2px,transparent 1.4px); background-size:26px 26px;
  -webkit-mask-image:linear-gradient(115deg,transparent 35%,#000 100%); mask-image:linear-gradient(115deg,transparent 35%,#000 100%); }
.cz-gridlines--light{ background-image:radial-gradient(rgba(12,20,80,.12) 1.2px,transparent 1.4px); }
.cz-gridlines--full{ -webkit-mask-image:none; mask-image:none; opacity:.5; }
.cz-glow{ position:absolute; z-index:-1; pointer-events:none; border-radius:50%; filter:blur(70px); opacity:.6; }
.cz-glow--blue{ background:radial-gradient(circle,rgba(52,82,244,.9),transparent 65%); }
.cz-glow--cyan{ background:radial-gradient(circle,rgba(143,162,255,.7),transparent 65%); }

/* -------------------------------------------------------------------- type */
.cz-display,.cz-h1,.cz-h2,.cz-h3,.cz-h4{ font-family:var(--cz-font-display); font-weight:700; letter-spacing:-.02em; line-height:1.1; color:var(--cz-text); text-wrap:balance; }
.cz-dark .cz-display,.cz-dark .cz-h1,.cz-dark .cz-h2,.cz-dark .cz-h3,.cz-dark .cz-h4,
.cz-pagehero .cz-h1,.cz-pagehero .cz-h2,.cz-pagehero .cz-h3,.cz-on-dark .cz-h4{ color:#fff; }
.cz-display{ font-size:clamp(2.6rem,1.4rem + 5vw,6.25rem); line-height:1.02; letter-spacing:-.03em; }
.cz-h1{ font-size:clamp(2.2rem,1.5rem + 3vw,4rem); line-height:1.06; }
.cz-h2{ font-size:clamp(1.85rem,1.3rem + 2.1vw,3.1rem); line-height:1.12; }
.cz-h3{ font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem); font-weight:600; line-height:1.22; }
.cz-h4{ font-size:1.15rem; font-weight:600; letter-spacing:-.01em; line-height:1.35; }
.cz-display em,.cz-h1 em,.cz-h2 em{ font-style:normal; color:var(--cz-blue); }
.cz-dark .cz-display em,.cz-dark .cz-h1 em,.cz-dark .cz-h2 em,.cz-pagehero .cz-h1 em,.cz-pagehero .cz-h2 em{ color:var(--cz-peri); }
.cz-lead{ font-size:clamp(1.02rem,.96rem + .3vw,1.15rem); line-height:1.75; color:var(--cz-text-2); max-width:62ch; }
.cz-dark .cz-lead,.cz-pagehero .cz-lead{ color:var(--cz-fog-2); }
.cz-body{ font-size:15.5px; line-height:1.75; color:var(--cz-text-2); }
.cz-dark .cz-body{ color:var(--cz-fog); }
.cz-small{ font-size:14px; line-height:1.65; }
.cz-xs{ font-size:12.5px; line-height:1.55; }

/* eyebrow — blue words, optional leading rule (from the reference: "—— BEST IT…") */
.cz-eyebrow{ display:inline-flex; align-items:center; gap:12px; font-family:var(--cz-font-display); font-weight:500; font-size:clamp(1rem,.95rem + .25vw,1.18rem); color:var(--cz-blue); letter-spacing:0; }
.cz-eyebrow--rule::before{ content:""; width:48px; height:2px; background:currentColor; border-radius:2px; }
.cz-eyebrow--caps{ text-transform:uppercase; letter-spacing:.08em; font-size:13px; font-weight:600; }
.cz-dark .cz-eyebrow,.cz-pagehero .cz-eyebrow{ color:var(--cz-blue-200); }
/* legacy label helper, restyled as a quiet eyebrow */
.cz-label{ display:inline-flex; align-items:center; gap:10px; font-family:var(--cz-font-display); font-size:14.5px; font-weight:500; color:var(--cz-blue); letter-spacing:0; }
.cz-label::before{ content:""; width:22px; height:2px; border-radius:2px; background:currentColor; }
.cz-label__idx,.cz-label__rule{ display:none; }
.cz-dark .cz-label,.cz-pagehero .cz-label,.cz-on-dark .cz-label,.cz-auth__art .cz-label,.cz-footer .cz-label{ color:var(--cz-blue-200); }
.cz-meta{ font-family:var(--cz-font-display); font-size:12.5px; font-weight:500; letter-spacing:.04em; color:var(--cz-muted); text-transform:uppercase; }
.cz-dark .cz-meta,.cz-pagehero .cz-meta{ color:var(--cz-fog); }
.cz-chip{ display:inline-flex; align-items:center; gap:8px; padding:7px 14px; border-radius:999px; border:1px solid var(--cz-line); background:var(--cz-white); font-size:13px; font-weight:500; color:var(--cz-text-2); }
.cz-chip__dot{ width:8px; height:8px; border-radius:50%; background:var(--cz-blue); box-shadow:0 0 0 4px rgba(52,82,244,.16); }
.cz-tag{ display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:999px; font-family:var(--cz-font-display); font-size:12px; font-weight:500; letter-spacing:.02em; background:var(--cz-mist); color:var(--cz-text-2); border:1px solid var(--cz-line); white-space:nowrap; }
.cz-tag--blue{ background:var(--cz-blue); color:#fff; border-color:var(--cz-blue); }
.cz-tag--soft{ background:var(--cz-blue-50); color:var(--cz-blue-700); border-color:var(--cz-blue-100); }
.cz-tag--dark{ background:var(--cz-navy); color:#fff; border-color:var(--cz-navy); }
.cz-dark .cz-tag{ background:rgba(255,255,255,.08); color:var(--cz-fog-2); border-color:var(--cz-dline); }

/* section header */
.cz-head{ display:grid; gap:18px; margin-bottom:44px; }
.cz-head>*{ min-width:0; }
.cz-head--center{ text-align:center; justify-items:center; }
.cz-head--center .cz-lead{ margin-inline:auto; }
.cz-head--split{ grid-template-columns:minmax(0,1fr); }
@media (min-width:1024px){ .cz-head{ margin-bottom:64px; } .cz-head--split{ grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:48px; } }

/* ------------------------------------------------------------------- icons */
.cz-i{ width:20px; height:20px; flex:none; }
.cz-i--sm{ width:16px; height:16px; }
.cz-i--xs{ width:14px; height:14px; }
.cz-i--lg{ width:26px; height:26px; }
.cz-iconbox{ display:grid; place-items:center; width:48px; height:48px; border-radius:var(--cz-leaf-sm); background:var(--cz-mist); color:var(--cz-navy); flex:none; transition:background .3s,color .3s,transform .4s var(--cz-ease); }
.cz-iconbox--sm{ width:38px; height:38px; border-radius:14px 4px 14px 4px; }
.cz-iconbox--lg{ width:76px; height:76px; border-radius:26px 8px 26px 8px; }
.cz-iconbox--lg .cz-i{ width:32px; height:32px; }
.cz-iconbox--solid{ background:var(--cz-blue); color:#fff; }
.cz-dark .cz-iconbox{ background:rgba(255,255,255,.08); color:#fff; }

/* ----------------------------------------------------------------- buttons */
.cz-btn{ --h:52px; position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:var(--h); padding:0 26px; border-radius:var(--cz-tab); border:1.5px solid transparent; font-family:var(--cz-font-display); font-size:16px; font-weight:600; letter-spacing:0; line-height:1; white-space:nowrap; text-align:center; overflow:hidden; isolation:isolate; transition:transform .35s var(--cz-ease),background-color .25s,border-color .25s,color .25s,box-shadow .35s var(--cz-ease); -webkit-tap-highlight-color:transparent; }
.cz-btn:disabled,.cz-btn[aria-disabled="true"]{ opacity:.5; cursor:not-allowed; transform:none !important; box-shadow:none !important; }
.cz-btn .cz-i{ width:18px; height:18px; transition:transform .35s var(--cz-ease); }
.cz-btn:hover .cz-arrow{ transform:translateX(4px); }
.cz-btn:hover .cz-arrow-ne{ transform:translate(2px,-2px); }
.cz-btn:active{ transform:translateY(1px) scale(.99); }
.cz-btn--primary{ background:var(--cz-blue); color:#fff; }
.cz-btn--primary:hover{ background:var(--cz-blue-600); box-shadow:var(--cz-shadow-blue); transform:translateY(-2px); }
.cz-btn--dark{ background:var(--cz-navy); color:#fff; }
.cz-btn--dark:hover{ background:var(--cz-navy-3); transform:translateY(-2px); box-shadow:0 18px 36px -18px rgba(12,20,80,.7); }
.cz-btn--light{ background:#fff; color:var(--cz-blue); }
.cz-btn--light:hover{ background:var(--cz-blue-50); transform:translateY(-2px); }
.cz-btn--ghost{ background:transparent; color:var(--cz-blue); border-color:var(--cz-blue); }
.cz-btn--ghost:hover{ background:var(--cz-blue); color:#fff; transform:translateY(-2px); }
.cz-dark .cz-btn--ghost,.cz-pagehero .cz-btn--ghost,.cz-btn--ghost-dark{ color:#fff; border-color:rgba(255,255,255,.55); background:transparent; }
.cz-dark .cz-btn--ghost:hover,.cz-pagehero .cz-btn--ghost:hover,.cz-btn--ghost-dark:hover{ background:#fff; color:var(--cz-blue); border-color:#fff; }
.cz-btn--sm{ --h:42px; padding:0 18px; font-size:14.5px; border-radius:13px 13px 13px 3px; }
.cz-btn--lg{ --h:60px; padding:0 32px; font-size:17px; border-radius:20px 20px 20px 4px; }
.cz-btn--block{ display:flex; width:100%; }
.cz-btn.is-added{ background:var(--cz-ok) !important; border-color:var(--cz-ok) !important; color:#fff !important; }
.cz-btn.is-loading{ pointer-events:none; opacity:.6; }
.cz-ripple{ position:absolute; z-index:-1; border-radius:50%; transform:scale(0); background:rgba(255,255,255,.45); animation:cz-ripple .6s var(--cz-ease) forwards; pointer-events:none; }
.cz-btn--ghost .cz-ripple,.cz-btn--light .cz-ripple{ background:rgba(52,82,244,.2); }
@keyframes cz-ripple{ to{ transform:scale(2.6); opacity:0; } }
.cz-link{ display:inline-flex; align-items:center; gap:10px; font-family:var(--cz-font-display); font-weight:500; font-size:17px; color:var(--cz-blue); transition:gap .3s var(--cz-ease),color .2s; }
.cz-link:hover{ gap:14px; color:var(--cz-blue-700); }
.cz-link .cz-i{ width:18px; height:18px; }
.cz-dark .cz-link,.cz-pagehero .cz-link{ color:#fff; }
.cz-actions{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
@media (max-width:460px){ .cz-actions--stack>.cz-btn{ width:100%; } }
.cz-textbtn{ font-family:var(--cz-font-display); font-size:13px; font-weight:500; color:var(--cz-muted); text-decoration:underline; text-underline-offset:3px; }
.cz-textbtn:hover{ color:var(--cz-err); }
.cz-iconbtn{ position:relative; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; border:1px solid var(--cz-line-2); background:var(--cz-mist); color:var(--cz-navy); transition:background .25s,border-color .25s,color .25s,transform .3s var(--cz-ease); }
.cz-iconbtn:hover{ background:var(--cz-blue); border-color:var(--cz-blue); color:#fff; }
.cz-iconbtn .cz-i{ width:20px; height:20px; }
.cz-iconbtn--light{ background:#fff; }
.cz-count{ position:absolute; top:-4px; right:-4px; min-width:20px; height:20px; padding:0 5px; border-radius:999px; background:var(--cz-blue); color:#fff; font-family:var(--cz-font-display); font-size:11px; font-weight:600; line-height:20px; text-align:center; box-shadow:0 0 0 2px #fff; }

/* ------------------------------------------------------------------- cards */
.cz-card{ position:relative; background:var(--cz-white); border:1px solid var(--cz-line); border-radius:var(--cz-leaf); padding:28px; }
.cz-card--flat{ background:transparent; }
.cz-card--paper{ background:var(--cz-mist); border-color:transparent; }
.cz-card--pad-lg{ padding:30px; }
@media (min-width:1024px){ .cz-card--pad-lg{ padding:44px; } }
.cz-dark .cz-card,.cz-card--dark{ background:var(--cz-navy-2); border-color:var(--cz-dline); color:#fff; }
.cz-card__title{ font-family:var(--cz-font-display); font-weight:600; font-size:1.3rem; line-height:1.25; color:var(--cz-text); }
.cz-card__body{ margin-top:10px; font-size:15px; line-height:1.7; color:var(--cz-text-2); }
.cz-hover{ transition:transform .5s var(--cz-ease),border-color .3s,box-shadow .5s var(--cz-ease); }
.cz-hover:hover{ transform:translateY(-6px); border-color:var(--cz-blue-100); box-shadow:var(--cz-shadow); }
.cz-spot{ overflow:hidden; }
.cz-beamed{ box-shadow:0 0 0 2px var(--cz-blue),var(--cz-shadow); }

/* ================================================================== HEADER */
.cz-topbar{ display:none; background:#fff; border-bottom:1px solid var(--cz-line); font-size:14px; color:var(--cz-text-2); }
@media (min-width:1024px){ .cz-topbar{ display:block; } }
.cz-topbar__in{ display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:48px; }
.cz-topbar__left{ display:flex; align-items:center; gap:22px; min-width:0; }
.cz-topbar__left a,.cz-topbar__left span{ display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.cz-topbar__left .cz-i{ width:17px; height:17px; color:var(--cz-blue); }
.cz-topbar__left a:hover{ color:var(--cz-blue); }
.cz-topbar__sep{ width:1px; height:22px; background:var(--cz-line-2); }
.cz-topbar__msg{ overflow:hidden; text-overflow:ellipsis; color:var(--cz-muted); }
.cz-topbar__social{ display:flex; gap:8px; }
.cz-topbar__social a{ display:grid; place-items:center; width:32px; height:32px; border-radius:50%; border:1px solid var(--cz-line-2); color:var(--cz-navy); transition:all .25s; }
.cz-topbar__social a:hover{ background:var(--cz-blue); border-color:var(--cz-blue); color:#fff; }
.cz-topbar__social .cz-i{ width:15px; height:15px; }

.cz-header{ position:sticky; top:0; z-index:60; background:rgba(255,255,255,.97); -webkit-backdrop-filter:saturate(160%) blur(12px); backdrop-filter:saturate(160%) blur(12px); border-bottom:1px solid var(--cz-line); transition:box-shadow .3s,transform .45s var(--cz-ease); }
.cz-header.is-stuck{ box-shadow:0 12px 30px -24px rgba(12,20,80,.45); }
.cz-header.is-hidden{ transform:translateY(-100%); }
.cz-header__in{ position:relative; display:flex; align-items:center; gap:16px; height:var(--cz-header); }
.cz-brandtab{ position:relative; align-self:stretch; display:flex; align-items:center; padding-right:clamp(28px,4vw,64px); margin-right:auto; background:var(--cz-blue); border-radius:0 0 80px 0; color:#fff; flex:none; }
.cz-brandtab::before{ content:""; position:absolute; top:0; bottom:0; right:100%; width:100vw; background:var(--cz-blue); }
.cz-brand{ display:inline-flex; align-items:center; gap:12px; flex:none; }
.cz-brand__mark{ width:40px; height:40px; flex:none; transition:transform .6s var(--cz-ease); }
.cz-brand:hover .cz-brand__mark{ transform:rotate(-12deg); }
.cz-brand__word{ font-family:var(--cz-font-display); font-weight:700; font-size:clamp(24px,1.2rem + .8vw,32px); letter-spacing:-.02em; line-height:1; }
.cz-brand img{ height:40px; width:auto; }
@media (min-width:1024px){ .cz-brand__mark{ width:48px; height:48px; } }
.cz-nav{ display:none; align-items:center; gap:4px; margin-inline:auto; }
@media (min-width:1200px){ .cz-nav{ display:flex; } .cz-brandtab{ margin-right:0; } }
.cz-nav__link{ position:relative; display:inline-flex; align-items:center; gap:6px; padding:10px 14px; font-family:var(--cz-font-display); font-size:16.5px; font-weight:500; color:var(--cz-navy); transition:color .2s; }
.cz-nav__link::after{ content:""; position:absolute; left:14px; right:14px; bottom:4px; height:2px; border-radius:2px; background:var(--cz-blue); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--cz-ease); }
.cz-nav__link:hover,.cz-nav__link.is-active,.cz-nav__link[aria-expanded="true"]{ color:var(--cz-blue); }
.cz-nav__link:hover::after,.cz-nav__link.is-active::after{ transform:scaleX(1); }
.cz-nav__link .cz-i{ width:15px; height:15px; transition:transform .3s; }
.cz-nav__link[aria-expanded="true"] .cz-i{ transform:rotate(180deg); }
.cz-header__actions{ display:flex; align-items:center; gap:10px; flex:none; }
.cz-header__text{ display:none; padding:10px 8px; font-family:var(--cz-font-display); font-size:16px; font-weight:500; color:var(--cz-navy); }
.cz-header__text:hover{ color:var(--cz-blue); }
@media (min-width:1360px){ .cz-header__text{ display:inline-flex; } }
.cz-header__cta{ display:none; }
@media (min-width:760px){ .cz-header__cta{ display:inline-flex; } }
@media (max-width:420px){ .cz-header__actions .cz-iconbtn{ width:44px; height:44px; } .cz-header__actions{ gap:6px; } }
.cz-avatar{ display:inline-grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--cz-blue); color:#fff; font-family:var(--cz-font-display); font-weight:600; font-size:14px; flex:none; }
.cz-avatar--lg{ width:52px; height:52px; font-size:20px; }
.cz-userpill{ display:none; align-items:center; gap:8px; padding:5px 14px 5px 5px; border:1px solid var(--cz-line-2); border-radius:999px; font-family:var(--cz-font-display); font-size:15px; font-weight:500; color:var(--cz-navy); }
.cz-userpill:hover{ border-color:var(--cz-blue); color:var(--cz-blue); }
@media (min-width:1360px){ .cz-userpill{ display:inline-flex; } }

/* services mega panel */
.cz-flyout{ position:static; }
.cz-mega{ position:absolute; top:calc(100% + 8px); left:50%; width:min(calc(100vw - 32px),1060px); transform:translate(-50%,10px); opacity:0; visibility:hidden; transition:opacity .3s var(--cz-ease),transform .4s var(--cz-ease),visibility .3s; z-index:70; }
.cz-mega.is-open{ opacity:1; visibility:visible; transform:translate(-50%,0); }
.cz-mega__in{ display:grid; grid-template-columns:minmax(0,1fr) 290px; border:1px solid var(--cz-line); border-radius:var(--cz-leaf); background:#fff; box-shadow:var(--cz-shadow-lg); overflow:hidden; }
.cz-mega__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:14px; }
.cz-mega__item{ display:flex; gap:14px; padding:14px; border-radius:18px 6px 18px 6px; transition:background .2s; }
.cz-mega__item:hover{ background:var(--cz-mist); }
.cz-mega__item:hover .cz-iconbox{ background:var(--cz-blue); color:#fff; }
.cz-mega__item .cz-iconbox{ width:42px; height:42px; }
.cz-mega__name{ font-family:var(--cz-font-display); font-weight:600; font-size:15.5px; color:var(--cz-navy); line-height:1.3; }
.cz-mega__blurb{ margin-top:3px; font-size:13px; line-height:1.5; color:var(--cz-muted); }
.cz-mega__side{ position:relative; display:flex; flex-direction:column; gap:14px; padding:28px; background:var(--cz-blue); color:#fff; isolation:isolate; overflow:hidden; }
.cz-mega__side p{ color:rgba(255,255,255,.86); font-size:14px; line-height:1.6; }
.cz-mega__side .cz-h4{ color:#fff; font-size:1.3rem; }
.cz-mega__side::after{ content:""; position:absolute; right:-70px; bottom:-70px; width:200px; height:200px; border-radius:50%; border:28px solid rgba(255,255,255,.1); z-index:-1; }
.cz-mega__foot{ grid-column:1 / -1; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 26px; border-top:1px solid var(--cz-line); background:var(--cz-mist); font-size:14px; color:var(--cz-text-2); }

/* drawers (menu + selection) */
.cz-drawer{ position:fixed; inset:0; z-index:100; visibility:hidden; pointer-events:none; }
.cz-drawer.is-open{ visibility:visible; pointer-events:auto; }
.cz-drawer__scrim{ position:absolute; inset:0; background:rgba(7,12,56,.55); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); opacity:0; transition:opacity .35s; }
.cz-drawer.is-open .cz-drawer__scrim{ opacity:1; }
.cz-drawer__panel{ position:absolute; top:0; bottom:0; right:0; width:min(92vw,450px); display:flex; flex-direction:column; background:#fff; color:var(--cz-text); transform:translateX(104%); transition:transform .5s var(--cz-ease); box-shadow:var(--cz-shadow-lg); border-radius:36px 0 0 36px; overflow:hidden; }
.cz-drawer.is-open .cz-drawer__panel{ transform:none; }
.cz-drawer--dark .cz-drawer__panel{ background:var(--cz-navy); color:#fff; }
.cz-drawer__head{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 24px; border-bottom:1px solid var(--cz-line); }
.cz-drawer--dark .cz-drawer__head{ border-color:var(--cz-dline); }
.cz-drawer--dark .cz-iconbtn{ background:rgba(255,255,255,.08); border-color:var(--cz-dline); color:#fff; }
.cz-drawer__body{ flex:1; overflow-y:auto; overscroll-behavior:contain; padding:8px 24px; }
.cz-drawer__foot{ padding:20px 24px; border-top:1px solid var(--cz-line); background:var(--cz-mist); }
.cz-drawer--dark .cz-drawer__foot{ border-color:var(--cz-dline); background:var(--cz-navy-deep); }
.cz-mnav a.cz-mnav__main{ display:flex; align-items:center; justify-content:space-between; padding:16px 0; border-bottom:1px solid var(--cz-dline); font-family:var(--cz-font-display); font-weight:600; font-size:22px; }
.cz-mnav a.cz-mnav__main:hover{ color:var(--cz-blue-200); }
.cz-mnav__cats a{ display:flex; align-items:center; gap:12px; padding:10px 0; font-size:15px; color:var(--cz-fog-2); }
.cz-mnav__cats a:hover{ color:#fff; }
.cz-mnav__cats small{ margin-left:auto; font-size:12px; color:var(--cz-fog); }
.cz-mnav__cats span{ display:inline-flex; color:var(--cz-blue-200); }
.cz-bline{ display:flex; gap:14px; padding:18px 0; border-bottom:1px solid var(--cz-line); }
.cz-bline:last-child{ border-bottom:0; }
.cz-mono-tile{ display:grid; place-items:center; width:50px; height:50px; border-radius:16px 5px 16px 5px; background:var(--cz-blue-50); color:var(--cz-blue-700); font-family:var(--cz-font-display); font-size:14px; font-weight:700; letter-spacing:.02em; flex:none; position:relative; }
.cz-mono-tile--lg{ width:60px; height:60px; font-size:16px; }
.cz-qty{ display:inline-flex; align-items:center; border:1px solid var(--cz-line-2); border-radius:12px; background:#fff; }
.cz-qty button{ display:grid; place-items:center; width:32px; height:32px; color:var(--cz-muted); font-size:17px; border-radius:10px; }
.cz-qty button:hover{ color:var(--cz-blue); background:var(--cz-blue-50); }
.cz-qty span,.cz-qty input{ width:30px; text-align:center; font-family:var(--cz-font-display); font-weight:600; font-size:14px; border:0; background:transparent; padding:0; }
.cz-qty--lg button{ width:44px; height:44px; }
.cz-qty--lg span,.cz-qty--lg input{ width:40px; font-size:16px; }

/* back to top */
.cz-totop{ position:fixed; right:20px; bottom:20px; z-index:75; display:grid; place-items:center; width:56px; height:56px; border-radius:50%; background:var(--cz-blue); color:#fff; box-shadow:var(--cz-shadow-blue); opacity:0; transform:translateY(16px) scale(.9); pointer-events:none; transition:opacity .35s,transform .45s var(--cz-ease),background .2s; }
.cz-totop.is-on{ opacity:1; transform:none; pointer-events:auto; }
.cz-totop:hover{ background:var(--cz-blue-600); }
.cz-totop .cz-i{ width:22px; height:22px; }
@media (max-width:1023px){ body:has(.cz-mobilebar.is-shown) .cz-totop{ bottom:92px; } }
.cz-wa{ position:fixed; left:18px; bottom:20px; z-index:80; display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:#1E9E62; color:#fff; box-shadow:var(--cz-shadow-lg); transition:transform .3s var(--cz-ease); }
.cz-wa:hover{ transform:scale(1.08); }

/* ================================================================ PAGE HERO */
.cz-pagehero{ position:relative; isolation:isolate; overflow:hidden; color:#fff; padding:56px 0 64px;
  background:linear-gradient(120deg,var(--cz-navy) 0%,var(--cz-navy-3) 45%,var(--cz-blue) 115%); }
.cz-pagehero::after{ content:""; position:absolute; z-index:-1; right:-120px; top:-160px; width:520px; height:520px; border-radius:50%; border:70px solid rgba(255,255,255,.05); }
.cz-pagehero::before{ content:""; position:absolute; z-index:-1; right:8%; bottom:-240px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(143,162,255,.35),transparent 70%); }
@media (min-width:1024px){ .cz-pagehero{ padding:88px 0 96px; } }
.cz-pagehero--compact{ padding:44px 0 52px; }
@media (min-width:1024px){ .cz-pagehero--compact{ padding:64px 0 72px; } }
.cz-pagehero__grid{ display:grid; gap:32px; }
@media (min-width:1024px){ .cz-pagehero__grid{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); align-items:end; gap:64px; } }
.cz-crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-family:var(--cz-font-display); font-size:15px; font-weight:500; color:var(--cz-fog); }
.cz-crumbs a:hover{ color:#fff; }
.cz-crumbs [aria-current]{ color:#fff; }
.cz-crumbs__sep{ opacity:.5; }
.cz-light-crumbs{ color:var(--cz-muted); }
.cz-light-crumbs a:hover,.cz-light-crumbs [aria-current]{ color:var(--cz-blue); }
.cz-readout{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.cz-readout>div{ padding:18px 20px; border-radius:22px 6px 22px 6px; background:rgba(255,255,255,.08); border:1px solid var(--cz-dline); }
.cz-readout dt{ font-size:13px; color:var(--cz-fog); }
.cz-readout dd{ margin-top:6px; font-family:var(--cz-font-display); font-weight:700; font-size:1.4rem; color:#fff; line-height:1.2; }
.cz-readout--light>div{ background:var(--cz-mist); border-color:transparent; }
.cz-readout--light dt{ color:var(--cz-muted); }
.cz-readout--light dd{ color:var(--cz-text); }
.cz-pagehero .cz-ref__num{ color:#fff; }

/* =================================================================== FORMS */
.cz-form{ display:grid; gap:20px; }
.cz-form-grid{ display:grid; gap:20px; grid-template-columns:minmax(0,1fr); }
@media (min-width:640px){ .cz-form-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } .cz-span-2{ grid-column:1 / -1; } }
.cz-field{ display:grid; gap:8px; min-width:0; }
.cz-field__label{ display:flex; justify-content:flex-start; align-items:center; gap:4px; min-height:20px; font-family:var(--cz-font-display); font-size:15px; font-weight:500; color:var(--cz-navy); }
.cz-field__label small{ margin-left:auto; font-family:var(--cz-font-body); font-weight:400; color:var(--cz-muted); font-size:12.5px; }
.cz-req{ color:var(--cz-blue); }
.cz-input,.cz-select,.cz-textarea{ width:100%; min-height:54px; padding:14px 18px; border:1.5px solid var(--cz-line); border-radius:14px 14px 14px 4px; background:var(--cz-mist); color:var(--cz-text); font-size:15.5px; line-height:1.4; transition:border-color .2s,box-shadow .25s,background .2s; -webkit-appearance:none; appearance:none; }
.cz-textarea{ min-height:150px; resize:vertical; line-height:1.65; }
.cz-select{ padding-right:44px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233452F4' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; background-size:16px; }
.cz-input::placeholder,.cz-textarea::placeholder{ color:#8D93AF; }
.cz-input:hover,.cz-select:hover,.cz-textarea:hover{ border-color:var(--cz-line-2); }
.cz-input:focus,.cz-select:focus,.cz-textarea:focus{ outline:none; border-color:var(--cz-blue); background:#fff; box-shadow:0 0 0 5px rgba(52,82,244,.13); }
.cz-input[readonly]{ color:var(--cz-muted); }
.cz-input.is-invalid,.cz-input-err,.cz-select.is-invalid,.cz-textarea.is-invalid{ border-color:var(--cz-err) !important; box-shadow:0 0 0 5px rgba(204,47,69,.1); }
.cz-hint{ font-size:13px; line-height:1.5; color:var(--cz-muted); }
.cz-hint--err{ color:var(--cz-err); }
.cz-hint--ok{ color:var(--cz-ok); }
.cz-inputgroup{ display:flex; gap:10px; }
.cz-inputgroup .cz-input{ flex:1; min-width:0; }
.cz-pwd{ position:relative; }
.cz-pwd .cz-input{ padding-right:78px; }
.cz-pwd button{ position:absolute; right:10px; top:50%; transform:translateY(-50%); padding:7px 10px; border-radius:10px; font-family:var(--cz-font-display); font-size:13px; font-weight:500; color:var(--cz-blue); }
.cz-pwd button:hover{ background:var(--cz-blue-50); }
.cz-check{ display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:1.55; color:var(--cz-text-2); cursor:pointer; }
.cz-check input{ width:19px; height:19px; margin:2px 0 0; flex:none; accent-color:var(--cz-blue); }
.cz-check input.is-invalid{ outline:2px solid var(--cz-err); outline-offset:2px; }
.cz-radio-cards{ display:grid; gap:10px; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
.cz-radio-card{ position:relative; display:flex; align-items:center; gap:10px; padding:14px 16px; border:1.5px solid var(--cz-line); border-radius:14px 14px 14px 4px; background:#fff; font-size:14.5px; cursor:pointer; transition:border-color .2s,background .2s; }
.cz-radio-card:has(input:checked){ border-color:var(--cz-blue); background:var(--cz-blue-50); }
.cz-radio-card input{ accent-color:var(--cz-blue); }
.cz-fieldset{ border:0; padding:0; margin:0; min-width:0; }
.cz-fieldset legend{ padding:0; margin-bottom:14px; }
.cz-formblock{ background:#fff; border:1px solid var(--cz-line); border-radius:var(--cz-leaf); padding:24px; }
@media (min-width:1024px){ .cz-formblock{ padding:36px; } }
.cz-formblock__head{ display:flex; gap:14px; align-items:flex-start; margin-bottom:24px; padding-bottom:18px; border-bottom:1px dashed var(--cz-line-2); }
.cz-formblock__num{ display:inline-grid; place-items:center; height:30px; padding:0 12px; border-radius:999px; background:var(--cz-blue); color:#fff; font-family:var(--cz-font-display); font-size:12.5px; font-weight:600; letter-spacing:.04em; flex:none; }
.cz-honey{ position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }

/* alerts + status */
.cz-alert{ display:flex; gap:12px; align-items:flex-start; padding:15px 18px; border-radius:16px 16px 16px 4px; border:1px solid var(--cz-line); background:#fff; font-size:14.5px; line-height:1.6; color:var(--cz-text-2); }
.cz-alert:focus{ outline:none; }
.cz-alert .cz-i{ width:19px; height:19px; margin-top:2px; }
.cz-alert--info{ background:var(--cz-blue-50); border-color:var(--cz-blue-100); color:#1D2C84; }
.cz-alert--info .cz-i{ color:var(--cz-blue); }
.cz-alert--ok{ background:var(--cz-ok-50); border-color:#BFE6D3; color:#0A5A3C; }
.cz-alert--ok .cz-i{ color:var(--cz-ok); }
.cz-alert--err{ background:var(--cz-err-50); border-color:#F5C5CD; color:#8A1C2D; }
.cz-alert--err .cz-i{ color:var(--cz-err); }
.cz-alert--warn{ background:var(--cz-warn-50); border-color:#F0D9A8; color:#6B4604; }
.cz-alert--warn .cz-i{ color:var(--cz-warn); }
.cz-alert a{ font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.cz-status{ display:inline-flex; align-items:center; gap:7px; padding:5px 12px; border-radius:999px; font-family:var(--cz-font-display); font-size:12.5px; font-weight:600; white-space:nowrap; }
.cz-status::before{ content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.cz-status--pending{ background:var(--cz-warn-50); color:var(--cz-warn); }
.cz-status--paid{ background:var(--cz-blue-50); color:var(--cz-blue-700); }
.cz-status--live{ background:#EDEBFF; color:#4B3DD1; }
.cz-status--done{ background:var(--cz-ok-50); color:var(--cz-ok); }
.cz-status--failed{ background:var(--cz-err-50); color:var(--cz-err); }
.cz-ok{ color:var(--cz-ok); }

/* ============================================================== COMMERCE */
.cz-summary{ background:#fff; border:1px solid var(--cz-line); border-radius:var(--cz-leaf); overflow:hidden; }
.cz-summary__head{ padding:22px 26px; background:var(--cz-blue); color:#fff; }
.cz-summary__head .cz-meta{ color:rgba(255,255,255,.8); }
.cz-summary__head .cz-h4{ color:#fff; }
.cz-summary__head .cz-link{ font-size:14px; color:#fff; }
.cz-summary__body{ padding:24px 26px; }
.cz-lines{ display:grid; gap:12px; font-size:15px; }
.cz-lines>div{ display:flex; justify-content:space-between; gap:16px; }
.cz-lines dt{ color:var(--cz-muted); }
.cz-lines dd{ margin:0; font-weight:500; text-align:right; color:var(--cz-text); }
.cz-total{ display:flex; justify-content:space-between; align-items:end; gap:16px; margin-top:18px; padding-top:18px; border-top:1px dashed var(--cz-line-2); }
.cz-total b{ font-family:var(--cz-font-display); font-weight:700; font-size:2rem; line-height:1; color:var(--cz-navy); }
.cz-assure{ display:grid; gap:12px; margin-top:20px; padding-top:20px; border-top:1px solid var(--cz-line); }
.cz-assure li{ display:flex; gap:10px; font-size:14px; line-height:1.55; color:var(--cz-text-2); }
.cz-assure .cz-i{ width:17px; height:17px; color:var(--cz-blue); margin-top:2px; }
.cz-dark .cz-assure li{ color:var(--cz-fog-2); }
.cz-dark .cz-assure .cz-i{ color:var(--cz-blue-200); }
.cz-price{ font-family:var(--cz-font-display); font-weight:700; font-size:1.75rem; line-height:1; color:var(--cz-navy); }
.cz-price--xl{ font-size:clamp(2.4rem,1.8rem + 2vw,3.4rem); }
.cz-price small{ font-size:.46em; color:var(--cz-muted); font-weight:500; }
.cz-dark .cz-price{ color:#fff; }

/* checkout steps — "STEP - 01" pills on a dashed rail */
.cz-steps{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-family:var(--cz-font-display); font-size:14px; font-weight:500; }
.cz-steps li{ display:flex; align-items:center; gap:8px; color:var(--cz-fog); }
.cz-steps b{ display:grid; place-items:center; min-width:28px; height:28px; padding:0 8px; border-radius:999px; border:1.5px solid var(--cz-dline-2); font-size:12.5px; font-weight:600; }
.cz-steps .is-done b{ background:#fff; border-color:#fff; color:var(--cz-blue); }
.cz-steps .is-now{ color:#fff; font-weight:600; }
.cz-steps .is-now b{ background:var(--cz-blue); border-color:var(--cz-blue); color:#fff; box-shadow:0 0 0 4px rgba(52,82,244,.3); }
.cz-steps__sep{ width:22px; border-top:2px dashed var(--cz-dline-2); }
@media (max-width:639px){ .cz-steps li:not(.is-now) .cz-steps__txt{ display:none; } }
.cz-steps--hero{ margin-top:28px; }
.cz-stephead{ display:grid; gap:20px; margin-top:28px; }
@media (min-width:1024px){ .cz-stephead{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); align-items:end; gap:64px; } }
.cz-stephead .cz-h1{ font-size:clamp(2rem,1.4rem + 2.4vw,3.4rem); }

/* line items */
.cz-lineset{ background:#fff; border:1px solid var(--cz-line); border-radius:var(--cz-leaf); overflow:hidden; }
.cz-lineset__head,.cz-lineset__foot{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:16px 24px; background:var(--cz-mist); }
.cz-lineset__head{ border-bottom:1px solid var(--cz-line); }
.cz-lineset__foot{ border-top:1px solid var(--cz-line); }
.cz-cline{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:14px; align-items:start; padding:20px 24px; border-bottom:1px solid var(--cz-line); }
.cz-cline:last-child{ border-bottom:0; }
.cz-cline__name{ display:block; margin-top:4px; font-family:var(--cz-font-display); font-weight:600; font-size:17px; line-height:1.3; color:var(--cz-navy); overflow-wrap:anywhere; }
a.cz-cline__name:hover{ color:var(--cz-blue); }
.cz-cline__amt{ text-align:right; white-space:nowrap; }
.cz-cline__amt b{ display:block; font-family:var(--cz-font-display); font-weight:700; font-size:18px; color:var(--cz-navy); }
.cz-cline__ctrl{ grid-column:2 / -1; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 16px; }
.cz-cline__sub{ display:inline-flex; align-items:center; gap:6px; margin-top:8px; }
.cz-cline__sub .cz-i{ width:14px; height:14px; }
@media (min-width:720px){
  .cz-cline{ grid-template-columns:auto minmax(0,1fr) auto 130px; align-items:center; gap:18px; }
  .cz-cline__ctrl{ grid-column:auto; order:3; justify-content:flex-end; }
  .cz-cline__amt{ order:4; }
}
.cz-cline--static,.cz-cline--static{ grid-template-columns:auto minmax(0,1fr) auto !important; }
.cz-minilines{ display:grid; gap:14px; }
.cz-minilines li{ display:flex; align-items:center; gap:12px; }
.cz-minilines .cz-mono-tile{ width:42px; height:42px; font-size:12px; }
.cz-tilebadge{ position:absolute; top:-7px; right:-7px; display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:999px; background:var(--cz-blue); color:#fff; font-size:10.5px; box-shadow:0 0 0 2px #fff; }
.cz-facts{ display:grid; gap:18px; grid-template-columns:minmax(0,1fr); }
@media (min-width:640px){ .cz-facts{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.cz-facts dd{ margin-top:4px; font-size:15px; color:var(--cz-text); overflow-wrap:anywhere; }
.cz-facts .cz-span-2{ grid-column:1 / -1; }
.cz-nextsteps{ display:grid; counter-reset:ns; }
.cz-nextsteps li{ display:grid; grid-template-columns:48px minmax(0,1fr); gap:16px; padding:18px 0; border-top:1px dashed var(--cz-line-2); counter-increment:ns; }
.cz-nextsteps li:first-child{ border-top:0; padding-top:0; }
.cz-nextsteps li::before{ content:counter(ns,decimal-leading-zero); display:grid; place-items:center; width:44px; height:44px; border-radius:16px 5px 16px 5px; background:var(--cz-blue); color:#fff; font-family:var(--cz-font-display); font-weight:600; font-size:14px; }
.cz-cobrief{ white-space:pre-line; overflow-wrap:anywhere; font-size:14.5px; line-height:1.7; color:var(--cz-text-2); }
.cz-ref{ display:inline-flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 10px; max-width:100%; padding:8px 8px 8px 16px; border:1px solid var(--cz-line); border-radius:14px 14px 14px 4px; background:#fff; }
.cz-ref__num{ font-family:var(--cz-font-display); font-weight:600; font-size:15px; letter-spacing:.04em; color:var(--cz-navy); overflow-wrap:anywhere; }
.cz-pagehero .cz-ref,.cz-dark .cz-ref{ background:rgba(255,255,255,.08); border-color:var(--cz-dline); }
.cz-dark .cz-ref__num{ color:#fff; }
.cz-copybtn{ display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border-radius:10px; border:1px solid var(--cz-line-2); font-family:var(--cz-font-display); font-size:12.5px; font-weight:500; color:var(--cz-blue); background:#fff; transition:all .2s; }
.cz-copybtn:hover{ background:var(--cz-blue); border-color:var(--cz-blue); color:#fff; }
.cz-copybtn .cz-i{ width:14px; height:14px; }
.cz-pagehero .cz-copybtn,.cz-dark .cz-copybtn{ background:rgba(255,255,255,.1); border-color:var(--cz-dline-2); color:#fff; }
.cz-pagehero .cz-copybtn:hover,.cz-dark .cz-copybtn:hover{ background:#fff; color:var(--cz-blue); }
.cz-statusmark{ position:relative; display:grid; place-items:center; width:72px; height:72px; border-radius:26px 8px 26px 8px; flex:none; }
.cz-statusmark .cz-i{ width:30px; height:30px; }
.cz-statusmark--ok{ background:#fff; color:var(--cz-blue); box-shadow:0 18px 40px -18px rgba(0,0,0,.4); }
.cz-statusmark--wait{ background:rgba(255,255,255,.12); color:#fff; }
.cz-statusmark--err{ background:var(--cz-err-50); color:var(--cz-err); }
.cz-statusmark--okl{ background:var(--cz-ok-50); color:var(--cz-ok); }
.cz-live{ display:inline-flex; align-items:center; gap:12px; font-size:14.5px; color:var(--cz-text-2); }
.cz-live__dot{ position:relative; width:10px; height:10px; border-radius:50%; background:var(--cz-blue); flex:none; }
.cz-live__dot::after{ content:""; position:absolute; inset:-5px; border-radius:50%; border:2px solid var(--cz-blue); opacity:.5; animation:cz-ping 1.8s var(--cz-ease) infinite; }
@keyframes cz-ping{ 0%{ transform:scale(.6); opacity:.8; } 100%{ transform:scale(1.8); opacity:0; } }

/* payment page */
.cz-paypage{ min-height:100vh; display:flex; flex-direction:column; background:var(--cz-mist); }
.cz-paybar{ position:relative; background:var(--cz-blue); color:#fff; }
.cz-paybar__in{ display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:72px; }
.cz-paybar__brand{ display:inline-flex; align-items:center; gap:10px; min-width:0; font-family:var(--cz-font-display); font-weight:700; font-size:22px; }
.cz-paybar__brand svg{ width:36px; height:36px; flex:none; }
.cz-paybar__tagtxt{ font-size:13.5px; color:rgba(255,255,255,.85); }
.cz-payhero{ position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(120deg,var(--cz-navy),var(--cz-navy-3)); color:#fff; padding:32px 0 128px; }
.cz-payhero .cz-steps li:not(.is-now) .cz-steps__txt{ display:none; }
.cz-paycard{ position:relative; margin-top:-100px; background:#fff; border:1px solid var(--cz-line); border-radius:var(--cz-leaf-lg); box-shadow:var(--cz-shadow-lg); overflow:hidden; }
.cz-paycard__amt{ padding:32px 24px; text-align:center; border-bottom:1px dashed var(--cz-line-2); }
.cz-paycard__sec{ padding:28px 24px; }
.cz-paycard__status{ padding:24px; border-top:1px solid var(--cz-line); background:var(--cz-mist); text-align:center; }
.cz-upiapps{ display:grid; grid-template-columns:repeat(auto-fit,minmax(128px,1fr)); gap:10px; }
.cz-upiapp{ display:flex; align-items:center; gap:10px; min-width:0; padding:14px; border:1.5px solid var(--cz-line); border-radius:14px 14px 14px 4px; background:#fff; font-family:var(--cz-font-display); font-weight:600; font-size:15px; color:var(--cz-navy); transition:border-color .2s,transform .3s var(--cz-ease),box-shadow .3s; }
.cz-upiapp:hover{ border-color:var(--cz-blue); transform:translateY(-2px); box-shadow:var(--cz-shadow); }
.cz-upiapp i{ width:10px; height:10px; border-radius:50%; flex:none; background:var(--app-hue,var(--cz-blue)); }
.cz-qrframe{ display:inline-grid; place-items:center; padding:16px; border:1px solid var(--cz-line); border-radius:28px 8px 28px 8px; background:#fff; position:relative; }
.cz-qrframe::before,.cz-qrframe::after{ content:""; position:absolute; width:26px; height:26px; border:3px solid var(--cz-blue); }
.cz-qrframe::before{ top:-2px; left:-2px; border-right:0; border-bottom:0; border-top-left-radius:28px; }
.cz-qrframe::after{ bottom:-2px; right:-2px; border-left:0; border-top:0; border-bottom-right-radius:28px; }
.cz-approw{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px; }

/* order tracking stages */
.cz-stages{ display:grid; gap:18px; grid-template-columns:minmax(0,1fr); }
.cz-stages li{ position:relative; display:grid; grid-template-columns:36px minmax(0,1fr); gap:12px; align-items:start; }
.cz-stages__head{ display:flex; align-items:center; gap:8px; }
.cz-stages__dot{ display:grid; place-items:center; width:36px; height:36px; border-radius:50%; flex:none; border:1.5px solid var(--cz-line-2); background:#fff; color:var(--cz-muted); font-family:var(--cz-font-display); font-size:13px; font-weight:600; }
.cz-stages__dot .cz-i{ width:16px; height:16px; }
.cz-stages__line{ display:none; flex:1; border-top:2px dashed var(--cz-line-2); }
.cz-stages li.is-done .cz-stages__dot{ background:var(--cz-blue); border-color:var(--cz-blue); color:#fff; }
.cz-stages li.is-done .cz-stages__line.is-on{ border-top-style:solid; border-color:var(--cz-blue); }
.cz-stages li.is-now .cz-stages__dot{ box-shadow:0 0 0 6px rgba(52,82,244,.15); }
.cz-stages__t{ font-family:var(--cz-font-display); font-weight:600; font-size:15.5px; color:var(--cz-muted); }
.cz-stages li.is-done .cz-stages__t{ color:var(--cz-navy); }
.cz-stages__b{ margin-top:4px; font-size:13px; line-height:1.55; color:var(--cz-muted); }
@media (min-width:900px){
  .cz-stages{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
  .cz-stages li{ grid-template-columns:1fr; }
  .cz-stages__line{ display:block; }
}
.cz-details summary{ display:inline-flex; align-items:center; gap:6px; cursor:pointer; list-style:none; font-family:var(--cz-font-display); font-size:14px; font-weight:500; color:var(--cz-blue); }
.cz-details summary::-webkit-details-marker{ display:none; }
.cz-details summary .cz-i{ width:15px; height:15px; transition:transform .3s var(--cz-ease); }
.cz-details[open] summary .cz-i{ transform:rotate(180deg); }
.cz-notes{ max-height:320px; overflow-y:auto; white-space:pre-line; overflow-wrap:anywhere; padding:18px; border:1px solid var(--cz-line); border-radius:16px 16px 16px 4px; background:var(--cz-mist); font-size:13.5px; line-height:1.7; color:var(--cz-text-2); }
.cz-kv{ display:grid; gap:14px; }
.cz-kv dt{ font-size:12.5px; font-weight:500; color:var(--cz-muted); }
.cz-kv dd{ margin-top:3px; font-size:15px; line-height:1.55; color:var(--cz-text); overflow-wrap:anywhere; }
.cz-linklist{ display:grid; }
.cz-linklist a{ display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--cz-line); font-size:15px; color:var(--cz-text-2); transition:color .2s,padding .3s var(--cz-ease); }
.cz-linklist li:last-child a{ border-bottom:0; }
.cz-linklist a:hover{ color:var(--cz-blue); padding-left:4px; }
.cz-linklist a>.cz-i:last-child{ margin-left:auto; width:16px; height:16px; opacity:.6; }
.cz-odetail{ display:grid; gap:24px; grid-template-columns:minmax(0,1fr); align-items:start; }
@media (min-width:1080px){ .cz-odetail{ grid-template-columns:minmax(0,1fr) 380px; gap:32px; } }
.cz-related{ display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }

/* tables */
.cz-tablewrap{ overflow-x:auto; border:1px solid var(--cz-line); border-radius:var(--cz-r-lg); background:#fff; -webkit-overflow-scrolling:touch; }
.cz-table{ min-width:560px; font-size:14.5px; }
.cz-table th{ padding:14px 18px; text-align:left; font-family:var(--cz-font-display); font-size:13px; font-weight:600; color:var(--cz-navy); background:var(--cz-mist); border-bottom:1px solid var(--cz-line); }
.cz-table td{ padding:15px 18px; border-bottom:1px solid var(--cz-line); vertical-align:top; color:var(--cz-text-2); }
.cz-table tr:last-child td{ border-bottom:0; }
@media (max-width:639px){
  .cz-table--stack{ min-width:0; }
  .cz-table--stack thead{ display:none; }
  .cz-table--stack tr{ display:block; padding:12px 0; border-bottom:1px solid var(--cz-line); }
  .cz-table--stack td{ display:flex; justify-content:space-between; gap:12px; padding:6px 16px; border:0; }
  .cz-table--stack td::before{ content:attr(data-label); font-weight:600; color:var(--cz-navy); }
}

/* accordion */
.cz-acc{ display:grid; gap:12px; }
.cz-acc__item{ border:1px solid var(--cz-line); border-radius:22px 6px 22px 6px; background:#fff; transition:border-color .3s,box-shadow .3s; }
.cz-acc__item.is-open{ border-color:var(--cz-blue-100); box-shadow:var(--cz-shadow); }
.cz-acc__btn{ display:flex; width:100%; align-items:center; justify-content:space-between; gap:20px; padding:20px 24px; text-align:left; font-family:var(--cz-font-display); font-weight:600; font-size:clamp(1.02rem,.96rem + .3vw,1.18rem); line-height:1.4; color:var(--cz-navy); }
.cz-acc__btn:hover{ color:var(--cz-blue); }
.cz-acc__icon{ position:relative; flex:none; width:36px; height:36px; border-radius:50%; background:var(--cz-mist); color:var(--cz-blue); transition:transform .4s var(--cz-ease),background .3s,color .3s; }
.cz-acc__icon::before,.cz-acc__icon::after{ content:""; position:absolute; left:50%; top:50%; width:12px; height:2px; border-radius:2px; background:currentColor; transform:translate(-50%,-50%); transition:transform .4s var(--cz-ease); }
.cz-acc__icon::after{ transform:translate(-50%,-50%) rotate(90deg); }
.cz-acc__item.is-open .cz-acc__icon{ background:var(--cz-blue); color:#fff; }
.cz-acc__item.is-open .cz-acc__icon::after{ transform:translate(-50%,-50%) rotate(0deg); }
[data-acc-body]{ max-height:0; overflow:hidden; transition:max-height .45s var(--cz-ease); }
.cz-acc__body{ padding:0 72px 22px 24px; font-size:15.5px; line-height:1.75; color:var(--cz-text-2); }
@media (max-width:639px){ .cz-acc__body{ padding-right:24px; } }
.cz-dark .cz-acc__item{ background:rgba(255,255,255,.05); border-color:var(--cz-dline); }
.cz-dark .cz-acc__btn{ color:#fff; }
.cz-dark .cz-acc__body{ color:var(--cz-fog-2); }

/* tabs */
.cz-tabs{ display:flex; max-width:100%; gap:6px; overflow-x:auto; padding:6px; border-radius:18px 18px 18px 6px; background:var(--cz-mist); scrollbar-width:none; }
.cz-tabs::-webkit-scrollbar{ display:none; }
.cz-tab{ flex:none; padding:10px 18px; border-radius:13px 13px 13px 3px; font-family:var(--cz-font-display); font-size:15px; font-weight:500; color:var(--cz-text-2); white-space:nowrap; transition:background .2s,color .2s; }
.cz-tab:hover{ color:var(--cz-blue); }
.cz-tab.is-active,.cz-tab[aria-current="page"],.cz-tab[aria-selected="true"]{ background:var(--cz-blue); color:#fff; }
.cz-tab small{ margin-left:6px; font-size:12px; opacity:.7; }
.cz-toolbar{ position:sticky; top:calc(var(--cz-header) + 10px); z-index:20; display:grid; gap:10px; padding:12px; border:1px solid var(--cz-line); border-radius:22px 22px 22px 6px; background:rgba(255,255,255,.94); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); box-shadow:var(--cz-shadow); }
.cz-search{ position:relative; }
.cz-search .cz-i{ position:absolute; left:16px; top:50%; transform:translateY(-50%); width:18px; height:18px; color:var(--cz-blue); pointer-events:none; }
.cz-search .cz-input{ padding-left:46px; }

/* prose (legal) */
.cz-prose{ font-size:16px; line-height:1.85; color:var(--cz-text-2); }
.cz-prose>*+*{ margin-top:14px; }
.cz-prose h3{ margin-top:28px; font-family:var(--cz-font-display); font-weight:600; font-size:1.2rem; color:var(--cz-navy); }
.cz-prose ul{ display:grid; gap:8px; }
.cz-prose ul li{ position:relative; padding-left:26px; }
.cz-prose ul li::before{ content:""; position:absolute; left:4px; top:.7em; width:9px; height:9px; border-radius:4px 1px 4px 1px; background:var(--cz-blue); }
.cz-prose ol{ counter-reset:pz; display:grid; gap:8px; }
.cz-prose ol li{ position:relative; padding-left:38px; counter-increment:pz; }
.cz-prose ol li::before{ content:counter(pz,decimal-leading-zero); position:absolute; left:0; top:.05em; font-family:var(--cz-font-display); font-weight:600; color:var(--cz-blue); }
.cz-prose a{ color:var(--cz-blue); text-decoration:underline; text-underline-offset:3px; }
.cz-prose strong{ color:var(--cz-navy); font-weight:600; }
.cz-prose table{ margin-top:16px; font-size:14.5px; border:1px solid var(--cz-line); }
.cz-prose th,.cz-prose td{ padding:11px 14px; border-bottom:1px solid var(--cz-line); text-align:left; vertical-align:top; }
.cz-prose th{ background:var(--cz-mist); font-weight:600; color:var(--cz-navy); }
.cz-prose .cz-tablewrap table{ border:0; margin:0; }
.cz-policy-sec{ padding:36px 0; border-bottom:1px dashed var(--cz-line-2); scroll-margin-top:calc(var(--cz-header) + 24px); }
.cz-policy-sec:first-child{ padding-top:0; }
.cz-policy-sec:last-child{ border-bottom:0; }
.cz-policy-sec h2{ display:flex; gap:14px; align-items:center; font-family:var(--cz-font-display); font-weight:700; font-size:1.55rem; color:var(--cz-navy); }
.cz-policy-sec h2 span{ display:inline-grid; place-items:center; min-width:40px; height:32px; padding:0 10px; border-radius:999px; background:var(--cz-blue); color:#fff; font-size:13px; font-weight:600; }
.cz-toc{ display:grid; gap:2px; padding:12px; border-radius:var(--cz-leaf-sm); background:var(--cz-mist); }
.cz-toc a{ padding:9px 14px; border-radius:12px 12px 12px 3px; font-size:14px; color:var(--cz-text-2); transition:all .2s; }
.cz-toc a:hover{ color:var(--cz-blue); background:#fff; }
.cz-toc a.is-active{ background:var(--cz-blue); color:#fff; }
@media (max-width:1023px){ .cz-toc-wrap{ display:none; } }

/* dashboard */
.cz-dash{ display:grid; gap:24px; }
@media (min-width:1024px){ .cz-dash{ grid-template-columns:270px minmax(0,1fr); gap:40px; } }
.cz-dash__side{ display:grid; gap:12px; align-content:start; }
@media (min-width:1024px){ .cz-dash__side{ position:sticky; top:calc(var(--cz-header) + 24px); } }
.cz-dash__who{ display:flex; align-items:center; gap:12px; padding:20px; border-radius:var(--cz-leaf-sm); background:var(--cz-blue); color:#fff; }
.cz-dash__who .cz-avatar{ background:#fff; color:var(--cz-blue); }
.cz-dash__who .cz-muted,.cz-dash__who .cz-meta{ color:rgba(255,255,255,.8); }
.cz-dash__nav{ display:flex; gap:4px; overflow-x:auto; padding:8px; border:1px solid var(--cz-line); border-radius:22px 6px 22px 6px; background:#fff; scrollbar-width:none; }
.cz-dash__nav::-webkit-scrollbar{ display:none; }
@media (min-width:1024px){ .cz-dash__nav{ flex-direction:column; overflow:visible; } }
.cz-dash__nav a{ display:flex; align-items:center; gap:10px; flex:none; padding:11px 14px; border-radius:13px 13px 13px 3px; font-family:var(--cz-font-display); font-size:15px; font-weight:500; color:var(--cz-text-2); white-space:nowrap; }
.cz-dash__nav a:hover{ background:var(--cz-mist); color:var(--cz-blue); }
.cz-dash__nav a.is-active{ background:var(--cz-blue); color:#fff; }
.cz-dash__nav a .cz-i{ width:18px; height:18px; }
.cz-dash__nav hr{ display:none; }
@media (min-width:1024px){ .cz-dash__nav hr{ display:block; margin:6px 10px; } }
.cz-statgrid{ gap:14px; }
.cz-stat{ padding:22px; border:1px solid var(--cz-line); border-radius:var(--cz-leaf-sm); background:#fff; }
.cz-stat b{ display:block; margin-top:14px; font-family:var(--cz-font-display); font-weight:700; font-size:2rem; line-height:1; color:var(--cz-navy); }
.cz-stat span{ display:block; margin-top:6px; }
.cz-panel{ background:#fff; border:1px solid var(--cz-line); border-radius:var(--cz-leaf); overflow:hidden; }
.cz-panel__head{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:20px 26px; border-bottom:1px solid var(--cz-line); }
.cz-panel__body{ padding:24px 26px; }
.cz-orow{ display:flex; flex-direction:column; gap:12px; padding:18px 26px; border-bottom:1px solid var(--cz-line); transition:background .2s; }
.cz-orow:last-child{ border-bottom:0; }
.cz-orow:hover{ background:var(--cz-mist); }
@media (min-width:640px){ .cz-orow{ flex-direction:row; align-items:center; } }
.cz-progress{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.cz-progress i{ height:6px; border-radius:6px; background:var(--cz-mist-2); }
.cz-progress i.is-on{ background:var(--cz-blue); }
.cz-empty{ position:relative; overflow:hidden; padding:60px 24px; text-align:center; border:2px dashed var(--cz-line-2); border-radius:var(--cz-leaf); background:#fff; }
.cz-empty .cz-iconbox{ margin:0 auto; }
.cz-ecard{ display:flex; flex-direction:column; height:100%; min-width:0; }
.cz-ecard__stage{ margin-top:18px; padding:16px; border-radius:16px 16px 16px 4px; background:var(--cz-mist); }
.cz-ecard__labels{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-top:8px; }
.cz-ecard__labels span{ font-size:11.5px; color:var(--cz-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cz-ecard__labels span.is-on{ color:var(--cz-blue); font-weight:600; }
.cz-ecard__foot{ margin-top:auto; padding-top:18px; display:flex; flex-wrap:wrap; gap:8px; }

/* auth */
.cz-auth{ display:grid; min-height:calc(100vh - var(--cz-header)); }
@media (min-width:1024px){ .cz-auth{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
.cz-auth__form{ display:flex; align-items:center; justify-content:center; padding:56px var(--cz-gutter); background:#fff; }
.cz-auth__form>div{ width:100%; max-width:460px; }
.cz-auth__art{ position:relative; isolation:isolate; overflow:hidden; display:none; background:linear-gradient(150deg,var(--cz-blue) 0%,var(--cz-navy-3) 70%,var(--cz-navy) 100%); color:#fff; padding:64px; border-radius:0 0 0 110px; }
@media (min-width:1024px){ .cz-auth__art{ display:flex; flex-direction:column; justify-content:space-between; } }
.cz-auth__art::after{ content:""; position:absolute; z-index:-1; right:-140px; bottom:-140px; width:460px; height:460px; border-radius:50%; border:80px solid rgba(255,255,255,.07); }

/* service detail helpers */
.cz-deliv{ display:grid; gap:10px; counter-reset:dl; }
.cz-deliv li{ display:grid; grid-template-columns:44px minmax(0,1fr); gap:14px; align-items:start; padding:14px 18px 14px 14px; border-radius:18px 5px 18px 5px; background:var(--cz-mist); font-size:15.5px; line-height:1.6; color:var(--cz-text-2); counter-increment:dl; }
.cz-deliv li::before{ content:counter(dl,decimal-leading-zero); display:grid; place-items:center; width:40px; height:32px; border-radius:999px; background:#fff; font-family:var(--cz-font-display); font-weight:600; font-size:13px; color:var(--cz-blue); }
.cz-checklist{ display:grid; gap:12px; }
.cz-checklist li{ display:flex; gap:12px; font-size:15.5px; line-height:1.6; color:var(--cz-text-2); }
.cz-checklist .cz-i{ width:18px; height:18px; margin-top:3px; color:var(--cz-blue); }
.cz-dark .cz-checklist li{ color:var(--cz-fog-2); }
.cz-dark .cz-checklist .cz-i{ color:var(--cz-blue-200); }
.cz-mobilebar{ position:fixed; left:0; right:0; bottom:0; z-index:70; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px var(--cz-gutter) calc(12px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.97); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-top:1px solid var(--cz-line); box-shadow:0 -12px 30px -20px rgba(12,20,80,.35); transform:translateY(110%); transition:transform .4s var(--cz-ease); }
.cz-mobilebar.is-shown{ transform:none; }
@media (min-width:1024px){ .cz-mobilebar{ display:none; } }

/* toast */
.cz-toasts{ position:fixed; z-index:200; left:50%; bottom:20px; transform:translateX(-50%); width:min(92vw,390px); display:grid; gap:8px; }
@media (min-width:640px){ .cz-toasts{ left:auto; right:92px; transform:none; } }
.cz-toast{ display:flex; gap:10px; align-items:flex-start; padding:15px 18px; border-radius:18px 18px 18px 4px; background:var(--cz-navy); color:#fff; font-size:14.5px; line-height:1.5; box-shadow:var(--cz-shadow-lg); opacity:0; transform:translateY(10px); transition:opacity .35s var(--cz-ease),transform .35s var(--cz-ease); }
.cz-toast.is-in{ opacity:1; transform:none; }
.cz-toast .cz-i{ width:18px; height:18px; margin-top:2px; color:var(--cz-blue-200); }
.cz-toast--err .cz-i{ color:#FF8C9C; }

/* 404 */
.cz-nf{ overflow:hidden; padding:64px 0 80px; }
.cz-nf__grid{ display:grid; gap:48px; grid-template-columns:minmax(0,1fr); }
@media (min-width:1024px){ .cz-nf__grid{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:72px; align-items:center; } }
.cz-nf__code{ font-family:var(--cz-font-display); font-weight:700; font-size:clamp(6rem,3rem + 14vw,13rem); line-height:.85; letter-spacing:-.05em; margin-bottom:28px; color:#fff; -webkit-text-stroke:0; }
.cz-nf__readout{ border-radius:var(--cz-leaf); overflow:hidden; background:rgba(255,255,255,.06); border:1px solid var(--cz-dline); }
.cz-nf__lines{ padding:16px 20px; font-size:14px; line-height:1.9; }
.cz-nf__lines>div{ display:grid; grid-template-columns:72px minmax(0,1fr); gap:12px; }
.cz-nf__lines dt{ color:var(--cz-blue-200); font-family:var(--cz-font-display); font-weight:500; }
.cz-nf__lines dd{ color:var(--cz-fog-2); min-width:0; overflow-wrap:anywhere; }
.cz-nf__input{ background:rgba(255,255,255,.08); border-color:var(--cz-dline); color:#fff; }
.cz-nf__input:focus{ background:rgba(255,255,255,.12); }
.cz-nf__input::placeholder{ color:var(--cz-fog); }
.cz-nf__links ul{ border-top:1px solid var(--cz-dline); }
.cz-nf__links li a{ display:flex; align-items:center; gap:14px; padding:15px 0; border-bottom:1px solid var(--cz-dline); }
.cz-nf__lt{ display:block; font-family:var(--cz-font-display); font-weight:600; font-size:16.5px; color:#fff; }
.cz-nf__ld{ display:block; font-size:13px; color:var(--cz-fog); }
.cz-nf__go{ margin-left:auto; color:var(--cz-fog); transition:transform .3s var(--cz-ease),color .2s; }
.cz-nf__links li a:hover .cz-nf__go,.cz-nf__links li a:hover .cz-nf__lt{ color:var(--cz-blue-200); }
.cz-nf__links li a:hover .cz-nf__go{ transform:translateX(4px); }
.cz-nf__pop a{ display:flex !important; justify-content:space-between; gap:12px; font-size:14px; color:var(--cz-fog-2); padding:10px 0 !important; }
.cz-nf__pop a:hover{ color:#fff; }
.cz-nf__pop .cz-mono{ flex:none; font-size:13px; color:var(--cz-fog); }

/* console panel (used by 404 + a few readouts) */
.cz-console__panel{ position:relative; border:1px solid var(--cz-dline); border-radius:var(--cz-leaf); background:rgba(255,255,255,.06); overflow:hidden; }
.cz-console__bar{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:13px 18px; border-bottom:1px solid var(--cz-dline); font-family:var(--cz-font-display); font-size:13px; color:var(--cz-fog); }
.cz-console__bar i{ width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.25); display:inline-block; }
.cz-console__bar i:first-child{ background:var(--cz-blue-200); }
.cz-console__bar span{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cz-console__bar em{ margin-left:auto; font-style:normal; color:#fff; white-space:nowrap; }
.cz-console__body{ padding:20px; }

/* FAQ page */
.cz-faq{ display:grid; gap:40px; }
@media (min-width:1024px){ .cz-faq{ grid-template-columns:280px minmax(0,1fr); gap:64px; } }
.cz-faq__side{ display:grid; gap:16px; align-content:start; }
@media (min-width:1024px){ .cz-faq__side{ position:sticky; top:calc(var(--cz-header) + 24px); } }
.cz-faq__nav{ display:flex; gap:6px; overflow-x:auto; padding:8px; border-radius:var(--cz-leaf-sm); background:var(--cz-mist); scrollbar-width:none; }
@media (min-width:1024px){ .cz-faq__nav{ flex-direction:column; } }
.cz-faq__nav a{ display:flex; align-items:center; gap:10px; flex:none; padding:11px 14px; border-radius:13px 13px 13px 3px; font-family:var(--cz-font-display); font-weight:500; font-size:15px; color:var(--cz-text-2); }
.cz-faq__nav a:hover{ background:#fff; color:var(--cz-blue); }
.cz-faq__nav small{ margin-left:auto; font-size:12px; opacity:.7; }
.cz-faq__navicon{ display:inline-flex; color:var(--cz-blue); }
.cz-faq__help{ padding:24px; border-radius:var(--cz-leaf-sm); background:var(--cz-blue); color:#fff; }
.cz-faq__help p{ color:rgba(255,255,255,.85); }
.cz-faq__help .cz-h4{ color:#fff; }
.cz-faq__group{ scroll-margin-top:calc(var(--cz-header) + 24px); }
.cz-faq__group+.cz-faq__group{ margin-top:56px; }
.cz-faq__answer a{ color:var(--cz-blue); text-decoration:underline; text-underline-offset:3px; }

/* ============================================================ FOOTER + CTA */
.cz-endcta{ position:relative; z-index:2; margin-bottom:-120px; }
.cz-endcta__box{ position:relative; isolation:isolate; overflow:hidden; display:grid; gap:28px; padding:40px 28px; border-radius:var(--cz-leaf-lg); background:var(--cz-blue); color:#fff; box-shadow:0 40px 80px -40px rgba(12,20,80,.6); }
@media (min-width:1024px){ .cz-endcta__box{ grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:48px; padding:64px 72px; } }
.cz-endcta__box .cz-h2{ color:#fff; max-width:20ch; }
.cz-endcta__box p{ color:rgba(255,255,255,.86); }
.cz-endcta__box::before{ content:""; position:absolute; z-index:-1; left:-80px; bottom:-160px; width:360px; height:360px; border-radius:50%; border:60px solid rgba(255,255,255,.08); }
.cz-endcta__box::after{ content:""; position:absolute; z-index:-1; right:-60px; top:-120px; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%); }
.cz-footer{ position:relative; isolation:isolate; overflow:hidden; background:var(--cz-navy); color:var(--cz-fog-2); padding-top:88px; }
.cz-footer--cta{ padding-top:200px; }
.cz-footer::before{ content:""; position:absolute; z-index:-1; right:-180px; top:120px; width:560px; height:560px; border-radius:50%; border:90px solid rgba(255,255,255,.03); }
.cz-footer__grid{ display:grid; gap:44px; grid-template-columns:minmax(0,1fr); }
@media (min-width:720px){ .cz-footer__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1080px){ .cz-footer__grid{ grid-template-columns:minmax(0,4.2fr) repeat(3,minmax(0,2.4fr)); gap:48px; } }
.cz-footer .cz-brand{ color:#fff; }
.cz-footer h2{ font-family:var(--cz-font-display); font-size:21px; font-weight:600; color:#fff; }
.cz-footer ul{ margin-top:22px; display:grid; gap:14px; }
.cz-footer li a{ font-size:16px; transition:color .2s,padding .3s var(--cz-ease); }
.cz-footer li a:hover{ color:#fff; padding-left:4px; }
.cz-footer__blurb{ margin-top:22px; font-size:15.5px; line-height:1.85; max-width:42ch; }
.cz-footer__contact{ margin-top:22px; display:grid; gap:12px; }
.cz-footer__contact a{ display:inline-flex; align-items:center; gap:12px; font-size:16px; }
.cz-footer__contact a:hover{ color:#fff; }
.cz-footer__contact .cz-i{ width:19px; height:19px; color:#fff; }
.cz-footer__social{ margin-top:24px; display:flex; gap:10px; flex-wrap:wrap; }
.cz-footer__social a{ display:grid; place-items:center; width:42px; height:42px; border-radius:50%; border:1px solid var(--cz-dline-2); color:#fff; transition:all .25s; }
.cz-footer__social a:hover{ background:var(--cz-blue); border-color:var(--cz-blue); }
.cz-footer__social .cz-i{ width:17px; height:17px; }
.cz-footer__legal{ margin-top:56px; padding:24px 0; border-top:1px solid var(--cz-dline); font-size:13.5px; line-height:1.8; }
.cz-footer__legal b{ color:#fff; font-weight:500; }
.cz-footer__bottom{ display:flex; flex-direction:column; gap:12px; margin-top:56px; padding:24px 0 30px; border-top:1px solid var(--cz-dline); font-size:14px; }
.cz-footer__legal+.cz-footer__bottom{ margin-top:0; }
@media (min-width:720px){ .cz-footer__bottom{ flex-direction:row; justify-content:space-between; align-items:center; } }
.cz-footer__bottom nav{ display:flex; flex-wrap:wrap; gap:6px 22px; }
.cz-footer__bottom a:hover{ color:#fff; }

/* ========================================================= MOTION + PRINT */
.cz-js .cz-reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s var(--cz-ease),transform .9s var(--cz-ease); }
.cz-js .cz-reveal--left{ transform:translateX(-30px); }
.cz-js .cz-reveal--right{ transform:translateX(30px); }
.cz-js .cz-reveal--scale{ transform:scale(.94); }
.cz-js .cz-reveal.is-in{ opacity:1; transform:none; }
.cz-ribbon{ position:fixed; top:0; left:0; right:0; z-index:400; height:3px; background:var(--cz-blue); transform:scaleX(0); transform-origin:left; opacity:0; transition:transform .8s var(--cz-ease),opacity .3s; pointer-events:none; }
@keyframes cz-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }
@keyframes cz-spin{ to{ transform:rotate(360deg); } }
@keyframes cz-marquee{ to{ transform:translateX(-100%); } }
.cz-marquee{ display:flex; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.cz-marquee__track{ display:flex; flex:none; gap:14px; padding-right:14px; animation:cz-marquee 42s linear infinite; }
.cz-marquee:hover .cz-marquee__track{ animation-play-state:paused; }
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .cz-js .cz-reveal{ opacity:1; transform:none; }
  .cz-marquee__track{ animation:none; }
}
@media print{
  .cz-header,.cz-topbar,.cz-footer,.cz-endcta,.cz-drawer,.cz-wa,.cz-totop,.cz-mobilebar,.cz-noprint{ display:none !important; }
  body{ background:#fff; }
  .cz-pagehero{ background:#fff; color:#000; padding:16px 0; }
  .cz-pagehero .cz-h1,.cz-pagehero .cz-lead{ color:#000; }
}

/* ============================================================ SERVICE CARD */
.cz-svc{ position:relative; display:flex; flex-direction:column; height:100%; padding:30px 28px 26px; background:#fff; border:1px solid var(--cz-line); border-radius:var(--cz-leaf-lg); transition:transform .5s var(--cz-ease),box-shadow .5s var(--cz-ease),border-color .3s; }
.cz-svc:hover{ transform:translateY(-8px); box-shadow:var(--cz-shadow); border-color:transparent; }
.cz-svc__top{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.cz-svc .cz-iconbox{ width:68px; height:68px; border-radius:24px 7px 24px 7px; }
.cz-svc:hover .cz-iconbox{ background:var(--cz-blue); color:#fff; transform:rotate(-6deg); }
.cz-svc__time{ display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border-radius:999px; background:var(--cz-mist); font-size:12.5px; font-weight:500; color:var(--cz-text-2); white-space:nowrap; }
.cz-svc__cat{ margin-top:30px; font-family:var(--cz-font-display); font-size:14px; font-weight:500; color:var(--cz-blue); }
.cz-svc__title{ margin-top:6px; font-family:var(--cz-font-display); font-weight:700; font-size:1.42rem; line-height:1.25; color:var(--cz-navy); }
.cz-svc__title a::after{ content:""; position:absolute; inset:0; border-radius:inherit; z-index:1; }
.cz-svc__title a:hover{ color:var(--cz-blue); }
.cz-svc__desc{ margin-top:12px; font-size:15.5px; line-height:1.7; color:var(--cz-text-2); }
.cz-svc__foot{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:auto; padding-top:24px; }
.cz-svc__add{ position:relative; z-index:2; display:grid; place-items:center; width:52px; height:52px; border-radius:18px 18px 18px 5px; background:var(--cz-blue); color:#fff; flex:none; transition:transform .35s var(--cz-ease),background .2s,box-shadow .3s; }
.cz-svc__add:hover{ transform:translateY(-3px); box-shadow:var(--cz-shadow-blue); }
.cz-svc__add.is-added{ background:var(--cz-ok); }
.cz-svc__more{ display:inline-flex; align-items:center; gap:8px; margin-top:18px; padding-top:16px; border-top:1px dashed var(--cz-line-2); font-family:var(--cz-font-display); font-weight:500; font-size:16px; color:var(--cz-blue); transition:gap .3s var(--cz-ease); }
.cz-svc:hover .cz-svc__more{ gap:14px; }
.cz-svcrow{ display:flex; align-items:center; gap:14px; padding:14px 16px; border:1px solid var(--cz-line); border-radius:20px 6px 20px 6px; background:#fff; min-width:0; transition:border-color .2s; }
.cz-svcrow:hover{ border-color:var(--cz-blue-100); }
.cz-svcrow__name{ display:block; margin-top:2px; font-family:var(--cz-font-display); font-weight:600; font-size:16px; color:var(--cz-navy); }
.cz-svcrow__name:hover{ color:var(--cz-blue); }
.cz-svcrow__price{ font-family:var(--cz-font-display); font-weight:700; font-size:16px; color:var(--cz-navy); }

/* =============================================================== HOMEPAGE */
/* hero */
.ch-hero{ position:relative; isolation:isolate; overflow:hidden; color:#fff; padding:64px 0 96px;
  background:linear-gradient(118deg,var(--cz-navy-deep) 0%,var(--cz-navy-3) 42%,var(--cz-blue) 100%); }
@media (min-width:1080px){ .ch-hero{ padding:104px 0 128px; } }
.ch-hero__bg{ position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.14) 1.2px,transparent 1.4px); background-size:28px 28px;
  -webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 90%); mask-image:linear-gradient(90deg,transparent 30%,#000 90%); }
.ch-hero__orbit{ position:absolute; right:-160px; top:calc(50% - 380px); width:760px; height:760px; animation:cz-spin 120s linear infinite; }
.ch-hero::after{ content:""; position:absolute; z-index:-1; left:-200px; bottom:-280px; width:620px; height:620px; border-radius:50%; background:radial-gradient(circle,rgba(52,82,244,.55),transparent 65%); }
.ch-hero__grid{ display:grid; gap:56px; align-items:center; }
@media (min-width:1080px){ .ch-hero__grid{ grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:48px; } }
.ch-hero__eyebrow{ color:#fff !important; }
.ch-hero__title{ margin-top:22px; color:#fff; font-size:clamp(2.5rem,1.3rem + 4.2vw,5.4rem); line-height:1.04; }
.ch-hero__title em{ color:var(--cz-blue-200); }
.ch-hero__lead{ margin-top:26px; max-width:56ch; font-size:clamp(1.05rem,.98rem + .35vw,1.25rem); line-height:1.75; color:rgba(255,255,255,.86); }
.ch-hero__meta{ display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:34px; font-family:var(--cz-font-display); font-size:15px; font-weight:500; color:rgba(255,255,255,.9); }
.ch-hero__meta li{ display:inline-flex; align-items:center; gap:8px; }
.ch-hero__meta .cz-i{ color:var(--cz-blue-200); }
.ch-hero__visual{ position:relative; max-width:520px; margin-inline:auto; width:100%; padding:28px 12px; }
.ch-brief{ position:relative; background:#fff; color:var(--cz-text-2); border-radius:var(--cz-leaf-lg); box-shadow:0 50px 90px -40px rgba(0,0,0,.55); overflow:hidden; }
.ch-brief__bar{ display:flex; align-items:center; gap:7px; padding:16px 22px; background:var(--cz-mist); border-bottom:1px solid var(--cz-line); }
.ch-brief__bar span{ width:10px; height:10px; border-radius:50%; background:var(--cz-line-2); }
.ch-brief__bar span:first-child{ background:var(--cz-blue); }
.ch-brief__bar em{ margin-left:auto; font-style:normal; font-family:var(--cz-font-display); font-weight:500; font-size:13px; color:var(--cz-muted); }
.ch-brief__body{ padding:26px 28px 28px; }
.ch-brief__cat{ font-family:var(--cz-font-display); font-weight:500; font-size:14px; color:var(--cz-blue); }
.ch-brief__name{ margin-top:6px; font-family:var(--cz-font-display); font-weight:700; font-size:1.6rem; line-height:1.2; color:var(--cz-navy); }
.ch-brief__list{ display:grid; gap:10px; margin-top:18px; }
.ch-brief__list li{ display:flex; gap:10px; font-size:14.5px; line-height:1.55; }
.ch-brief__list .cz-i{ margin-top:3px; color:var(--cz-blue); }
.ch-brief__foot{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:22px; padding-top:18px; border-top:1px dashed var(--cz-line-2); }
.ch-brief__price{ font-family:var(--cz-font-display); font-weight:700; font-size:2rem; line-height:1.1; color:var(--cz-navy); }
.ch-float{ position:absolute; z-index:2; display:flex; align-items:center; gap:12px; padding:12px 16px 12px 12px; border-radius:20px 20px 20px 5px; background:#fff; color:var(--cz-text-2); box-shadow:0 24px 50px -24px rgba(0,0,0,.45); font-size:12.5px; line-height:1.35; animation:cz-float 6s ease-in-out infinite; }
.ch-float b{ display:block; font-family:var(--cz-font-display); font-weight:600; font-size:15px; color:var(--cz-navy); }
.ch-float__ic{ display:grid; place-items:center; width:38px; height:38px; border-radius:13px 4px 13px 4px; background:var(--cz-blue); color:#fff; flex:none; }
.ch-float--a{ top:-34px; right:-14px; }
.ch-float--b{ bottom:-4px; left:-16px; animation-delay:-3s; }
@media (max-width:640px){ .ch-float--a{ right:0; } .ch-float--b{ left:0; } .ch-float{ font-size:12px; } }
.ch-scroll{ position:absolute; left:50%; bottom:24px; transform:translateX(-50%); display:none; flex-direction:column; align-items:center; gap:8px; font-family:var(--cz-font-display); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.75); }
@media (min-width:1080px){ .ch-scroll{ display:flex; } }
.ch-scroll__mouse{ position:relative; width:24px; height:38px; border:2px solid rgba(255,255,255,.7); border-radius:14px; }
.ch-scroll__mouse::after{ content:""; position:absolute; left:50%; top:8px; width:4px; height:8px; margin-left:-2px; border-radius:2px; background:#fff; animation:ch-wheel 1.8s ease-in-out infinite; }
@keyframes ch-wheel{ 0%{ opacity:1; transform:translateY(0); } 80%{ opacity:0; transform:translateY(12px); } 100%{ opacity:0; } }

/* intro */
.ch-intro__head{ display:grid; gap:24px; align-items:end; }
@media (min-width:1024px){ .ch-intro__head{ grid-template-columns:minmax(0,1fr) auto; gap:64px; } .ch-intro__head .cz-h2{ max-width:22ch; } }
.ch-intro__grid{ display:grid; gap:48px; margin-top:56px; align-items:center; }
@media (min-width:1024px){ .ch-intro__grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:72px; margin-top:72px; } }
.ch-intro__pillars{ display:grid; gap:36px; }
.ch-pillar{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:24px; align-items:start; }
.ch-pillar:hover .cz-iconbox{ background:var(--cz-blue); color:#fff; transform:rotate(-6deg); }
.ch-pillar .cz-iconbox{ color:var(--cz-blue); }
.ch-intro__note{ display:flex; gap:14px; align-items:flex-start; padding:20px 22px; border-radius:22px 6px 22px 6px; background:var(--cz-blue-50); color:var(--cz-navy); font-size:15px; line-height:1.6; }
.ch-intro__note .cz-i{ color:var(--cz-blue); margin-top:2px; }
.ch-intro__art{ position:relative; border-radius:90px 14px 90px 14px; background:linear-gradient(160deg,var(--cz-mist) 0%,var(--cz-blue-50) 100%); padding:clamp(20px,4vw,48px); overflow:hidden; min-height:320px; display:grid; place-items:center; }
.ch-intro__art::before{ content:""; position:absolute; right:-60px; top:-60px; width:220px; height:220px; border-radius:50%; border:36px solid rgba(52,82,244,.08); }
.ch-intro__art img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ch-intro__svg{ position:relative; width:100%; max-width:520px; height:auto; }

/* capabilities bento */
.ch-bento{ display:grid; gap:18px; grid-template-columns:minmax(0,1fr); }
@media (min-width:680px){ .ch-bento{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1080px){ .ch-bento{ grid-template-columns:repeat(4,minmax(0,1fr)); } .ch-bento__lead{ grid-row:span 3; } }
.ch-bento__lead{ position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; gap:12px; min-height:300px; padding:32px; border-radius:var(--cz-leaf-lg); background:var(--cz-blue); color:#fff; transition:transform .5s var(--cz-ease); }
.ch-bento__lead::after{ content:""; position:absolute; z-index:-1; right:-80px; bottom:-80px; width:260px; height:260px; border-radius:50%; border:44px solid rgba(255,255,255,.1); }
.ch-bento__lead:hover{ transform:translateY(-6px); }
.ch-bento__big{ font-family:var(--cz-font-display); font-weight:700; font-size:clamp(4rem,3rem + 4vw,6.5rem); line-height:1; margin-top:12px; }
.ch-bento__leadtxt{ font-size:16px; line-height:1.6; color:rgba(255,255,255,.88); max-width:26ch; }
.ch-cap{ position:relative; display:flex; flex-direction:column; gap:10px; padding:28px; border-radius:var(--cz-leaf); background:#fff; border:1px solid var(--cz-line); transition:transform .5s var(--cz-ease),box-shadow .5s var(--cz-ease),border-color .3s; }
.ch-cap:hover{ transform:translateY(-6px); box-shadow:var(--cz-shadow); border-color:transparent; }
.ch-cap:hover .cz-iconbox{ background:var(--cz-blue); color:#fff; }
.ch-cap .cz-iconbox{ width:60px; height:60px; margin-bottom:10px; }
.ch-cap__name{ font-family:var(--cz-font-display); font-weight:700; font-size:1.25rem; line-height:1.25; color:var(--cz-navy); }
.ch-cap__blurb{ font-size:14.5px; line-height:1.6; color:var(--cz-text-2); }
.ch-cap__foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:14px; border-top:1px dashed var(--cz-line-2); font-family:var(--cz-font-display); font-weight:500; font-size:14px; color:var(--cz-blue); }
.ch-cap__foot .cz-i{ transition:transform .35s var(--cz-ease); }
.ch-cap:hover .ch-cap__foot .cz-i{ transform:translateX(4px); }

/* technology */
.ch-stack{ padding-bottom:0 !important; }
.ch-stack__grid{ display:grid; gap:16px; grid-template-columns:minmax(0,1fr); }
@media (min-width:640px){ .ch-stack__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1080px){ .ch-stack__grid{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.ch-tech{ position:relative; display:flex; flex-direction:column; gap:10px; padding:28px 26px; border-radius:var(--cz-leaf); background:rgba(255,255,255,.05); border:1px solid var(--cz-dline); transition:background .35s,transform .5s var(--cz-ease),border-color .3s; }
.ch-tech:hover,.ch-tech:focus-visible{ background:var(--cz-blue); border-color:var(--cz-blue); transform:translateY(-6px); }
.ch-tech__ic{ display:grid; place-items:center; width:58px; height:58px; border-radius:20px 6px 20px 6px; background:rgba(255,255,255,.1); color:#fff; margin-bottom:8px; transition:background .3s,color .3s; }
.ch-tech:hover .ch-tech__ic{ background:#fff; color:var(--cz-blue); }
.ch-tech__name{ font-family:var(--cz-font-display); font-weight:600; font-size:1.2rem; color:#fff; }
.ch-tech__body{ font-size:14.5px; line-height:1.65; color:var(--cz-fog-2); }
.ch-tech:hover .ch-tech__body{ color:rgba(255,255,255,.9); }
.ch-tech__tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; padding-top:10px; }
.ch-tech__tags span{ padding:4px 10px; border-radius:999px; background:rgba(255,255,255,.08); font-size:12px; color:var(--cz-fog-2); }
.ch-tech:hover .ch-tech__tags span{ background:rgba(255,255,255,.18); color:#fff; }
.ch-stack__marquee{ margin-top:64px; padding:22px 0; border-top:1px solid var(--cz-dline); }
.ch-chip{ display:inline-flex; align-items:center; gap:12px; padding:10px 20px; border-radius:999px; border:1px solid var(--cz-dline); font-family:var(--cz-font-display); font-size:16px; font-weight:500; color:var(--cz-fog-2); white-space:nowrap; }
.ch-chip i{ width:8px; height:8px; border-radius:50%; background:var(--cz-blue-200); }

/* process stepper */
.ch-steps{ position:relative; }
.ch-steps__rail{ position:relative; display:flex; gap:10px; overflow-x:auto; padding:14px 4px 20px; scrollbar-width:none; scroll-snap-type:x mandatory; }
.ch-steps__rail::-webkit-scrollbar{ display:none; }
.ch-steps__rail::before{ content:""; position:absolute; left:0; right:0; top:36px; border-top:2px dashed var(--cz-line-2); z-index:0; min-width:100%; }
@media (min-width:1080px){ .ch-steps__rail{ justify-content:space-between; overflow:visible; } }
.ch-steps__pill{ position:relative; z-index:1; flex:none; display:flex; flex-direction:column; align-items:center; gap:10px; scroll-snap-align:center; }
.ch-steps__pill span{ display:inline-flex; align-items:center; height:44px; padding:0 20px; border-radius:999px; background:#fff; border:1.5px solid var(--cz-blue-100); font-family:var(--cz-font-display); font-weight:500; font-size:16px; letter-spacing:.02em; color:var(--cz-blue); text-transform:uppercase; transition:all .3s var(--cz-ease); }
.ch-steps__pill small{ font-family:var(--cz-font-display); font-size:14px; font-weight:500; color:var(--cz-muted); transition:color .3s; }
.ch-steps__pill:hover span{ border-color:var(--cz-blue); }
.ch-steps__pill.is-done span{ background:var(--cz-blue-50); border-color:var(--cz-blue-50); }
.ch-steps__pill.is-active span{ background:var(--cz-blue); border-color:var(--cz-blue); color:#fff; box-shadow:var(--cz-shadow-blue); }
.ch-steps__pill.is-active small{ color:var(--cz-navy); }
.ch-steps__panels{ position:relative; margin-top:28px; }
.ch-steps__panel{ display:none; gap:32px; align-items:center; padding:clamp(24px,4vw,56px); border-radius:var(--cz-leaf-lg); background:var(--cz-mist); }
.ch-steps__panel.is-active{ display:grid; animation:ch-in .6s var(--cz-ease); }
@media (min-width:900px){ .ch-steps__panel.is-active{ grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:56px; } }
@keyframes ch-in{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
.ch-steps__art{ display:grid; place-items:center; padding:12px; border-radius:60px 12px 60px 12px; background:#fff; }
.ch-steps__svg{ width:100%; max-width:380px; height:auto; }
.ch-steps__nav{ display:flex; gap:10px; justify-content:flex-end; margin-top:16px; }

/* pricing tiers */
.ch-tiers{ display:grid; gap:24px; grid-template-columns:minmax(0,1fr); max-width:1180px; margin-inline:auto; }
@media (min-width:960px){ .ch-tiers{ grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; } }
.ch-tier{ position:relative; display:flex; flex-direction:column; padding:38px 32px 30px; border-radius:var(--cz-leaf-lg); background:#fff; border:1px solid var(--cz-line); transition:transform .45s var(--cz-ease),box-shadow .45s var(--cz-ease),border-color .3s; will-change:transform; }
.ch-tier:hover{ box-shadow:var(--cz-shadow); border-color:var(--cz-blue-100); }
.ch-tier--pick{ background:var(--cz-blue); border-color:var(--cz-blue); color:#fff; box-shadow:0 40px 70px -36px rgba(52,82,244,.8); }
@media (min-width:960px){ .ch-tier--pick{ margin-block:-14px; padding-block:52px 44px; } }
.ch-tier__flag{ position:absolute; top:34px; right:0; padding:12px 22px 12px 26px; border-radius:999px 0 0 999px; background:#fff; color:var(--cz-navy); font-family:var(--cz-font-display); font-weight:600; font-size:15px; }
.ch-tier__title{ font-family:var(--cz-font-display); font-weight:700; font-size:1.55rem; color:var(--cz-navy); }
.ch-tier--pick .ch-tier__title{ color:#fff; }
.ch-tier__sub{ margin-top:6px; font-size:14.5px; line-height:1.6; color:var(--cz-muted); max-width:30ch; }
.ch-tier--pick .ch-tier__sub{ color:rgba(255,255,255,.85); }
.ch-tier__price{ display:flex; align-items:baseline; gap:8px; margin-top:26px; font-family:var(--cz-font-display); font-weight:700; font-size:clamp(3rem,2.4rem + 2vw,4rem); line-height:1; color:var(--cz-navy); }
.ch-tier__price small{ font-size:17px; font-weight:500; color:var(--cz-muted); }
.ch-tier--pick .ch-tier__price,.ch-tier--pick .ch-tier__price small{ color:#fff; }
.ch-tier__svc{ margin-top:14px; padding-bottom:24px; border-bottom:1px solid var(--cz-line); font-family:var(--cz-font-display); font-size:14.5px; font-weight:500; color:var(--cz-blue); }
.ch-tier--pick .ch-tier__svc{ color:#fff; border-color:rgba(255,255,255,.35); }
.ch-tier__list{ display:grid; gap:16px; margin:26px 0 30px; }
.ch-tier__list li{ display:flex; gap:12px; font-size:15.5px; line-height:1.5; color:var(--cz-navy); }
.ch-tier__list .cz-i{ width:18px; height:18px; margin-top:2px; color:var(--cz-blue); }
.ch-tier--pick .ch-tier__list li{ color:#fff; }
.ch-tier--pick .ch-tier__list .cz-i{ color:#fff; }
.ch-tier .cz-btn{ margin-top:auto; }
.ch-tier__more{ display:inline-flex; align-items:center; justify-content:center; gap:6px; margin-top:14px; font-family:var(--cz-font-display); font-weight:500; font-size:14.5px; color:var(--cz-blue); }
.ch-tier--pick .ch-tier__more{ color:#fff; }

/* stat rings */
.ch-rings{ display:grid; gap:24px; grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (min-width:960px){ .ch-rings{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; padding-block:24px; } .ch-ring--up{ transform:translateY(-36px); } .cz-js .ch-ring--up.cz-reveal.is-in{ transform:translateY(-36px); } }
.ch-ring{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; aspect-ratio:1; max-width:300px; width:100%; margin-inline:auto; padding:18px; border-radius:50%; background:var(--cz-mist); outline:1.5px solid var(--cz-blue); outline-offset:10px; }
.ch-ring b{ font-family:var(--cz-font-display); font-weight:700; font-size:clamp(2.2rem,1.6rem + 2.4vw,3.8rem); line-height:1; color:var(--cz-navy); }
.ch-ring span{ margin-top:10px; font-family:var(--cz-font-display); font-weight:600; font-size:clamp(.95rem,.9rem + .3vw,1.2rem); color:var(--cz-navy); }
@media (max-width:480px){ .ch-ring{ outline-offset:6px; } }

/* industries */
.ch-inds__grid{ display:grid; gap:18px; grid-template-columns:minmax(0,1fr); }
@media (min-width:640px){ .ch-inds__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1080px){ .ch-inds__grid{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.ch-ind{ display:flex; flex-direction:column; gap:10px; padding:28px 24px; border-radius:var(--cz-leaf); background:#fff; border:1px solid var(--cz-line); transition:transform .5s var(--cz-ease),box-shadow .5s var(--cz-ease); }
.ch-ind:hover{ transform:translateY(-6px); box-shadow:var(--cz-shadow); }
.ch-ind:hover .cz-iconbox{ background:var(--cz-blue); color:#fff; }
.ch-ind .cz-iconbox{ width:56px; height:56px; margin-bottom:6px; color:var(--cz-blue); }
.ch-ind__name{ font-family:var(--cz-font-display); font-weight:700; font-size:1.2rem; color:var(--cz-navy); }
.ch-ind__body{ font-size:14.5px; line-height:1.65; color:var(--cz-text-2); }
.ch-ind__links{ display:grid; margin-top:auto; padding-top:8px; }
.ch-ind__links a{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 0; border-top:1px dashed var(--cz-line-2); font-size:14px; font-weight:500; color:var(--cz-navy); }
.ch-ind__links a:hover{ color:var(--cz-blue); }

/* compare */
.ch-compare{ max-width:1080px; margin-inline:auto; border-radius:var(--cz-leaf-lg); overflow:hidden; border:1px solid var(--cz-line); background:#fff; }
.ch-compare__row{ display:grid; grid-template-columns:minmax(0,1fr); border-top:1px solid var(--cz-line); }
.ch-compare__row:first-child{ border-top:0; }
@media (min-width:760px){ .ch-compare__row{ grid-template-columns:180px minmax(0,1fr) minmax(0,1fr); } }
.ch-compare__row>span{ display:flex; align-items:center; gap:10px; padding:18px 24px; font-size:15px; line-height:1.5; }
.ch-compare__row>span:first-child{ font-family:var(--cz-font-display); font-weight:600; color:var(--cz-navy); }
@media (max-width:759px){ .ch-compare__row>span:first-child{ padding-bottom:4px; } .ch-compare__row>span{ padding-block:8px; } .ch-compare__row{ padding-block:10px; } .ch-compare__row--head>span:first-child{ display:none; } }
.ch-compare__row--head>span{ font-family:var(--cz-font-display); font-weight:600; font-size:16px; color:var(--cz-muted); background:var(--cz-mist); padding-block:22px; }
.ch-compare__them{ color:var(--cz-muted); }
.ch-compare__them .cz-i{ color:var(--cz-line-2); }
.ch-compare__us{ background:var(--cz-blue-50); color:var(--cz-navy); font-weight:500; }
.ch-compare__us .cz-i{ color:var(--cz-blue); }
.ch-compare__row--head .ch-compare__us{ background:var(--cz-blue); color:#fff; }
.ch-compare__mark{ width:30px; height:30px; }

/* principles slider */
.ch-principles__grid{ display:grid; gap:48px; align-items:center; }
@media (min-width:1024px){ .ch-principles__grid{ grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:80px; } }
.ch-sqbtn{ display:grid; place-items:center; width:64px; height:64px; border-radius:14px; background:#fff; color:var(--cz-blue); box-shadow:0 10px 24px -16px rgba(12,20,80,.4); transition:background .25s,color .25s,transform .3s var(--cz-ease); }
.ch-sqbtn:hover{ background:var(--cz-blue); color:#fff; transform:translateY(-2px); }
.ch-sqbtn .cz-i{ width:24px; height:24px; }
.ch-slides{ position:relative; display:grid; }
.ch-slide{ grid-area:1 / 1; display:flex; flex-direction:column; gap:24px; padding:clamp(28px,4vw,52px); border-radius:0 90px 0 90px; background:#fff; border:1px solid var(--cz-line); box-shadow:var(--cz-shadow); opacity:0; visibility:hidden; transform:translateX(24px); transition:opacity .5s var(--cz-ease),transform .6s var(--cz-ease),visibility .5s; }
.ch-slide.is-active{ opacity:1; visibility:visible; transform:none; }
.ch-slide__q{ display:grid; place-items:center; width:64px; height:64px; border-radius:50%; background:var(--cz-blue-50); color:var(--cz-blue); }
.ch-slide__q .cz-i{ width:30px; height:30px; }
.ch-slide__text{ margin:0; font-family:var(--cz-font-display); font-weight:500; font-size:clamp(1.2rem,1rem + .8vw,1.65rem); line-height:1.55; color:var(--cz-navy); }
.ch-slide__cap{ display:flex; align-items:center; gap:14px; padding-top:20px; border-top:1px dashed var(--cz-line-2); font-size:14px; color:var(--cz-muted); }
.ch-slide__cap b{ display:block; font-family:var(--cz-font-display); font-weight:700; font-size:18px; color:var(--cz-navy); }
.ch-slide__cap .cz-iconbox{ width:56px; height:56px; border-radius:50%; padding:0; background:transparent; }
.ch-slide__mark{ width:56px; height:56px; }
.ch-slide__mark circle:first-child{ fill:var(--cz-blue); }
.ch-slide__mark path,.ch-slide__mark circle+path{ stroke:#fff; }
.ch-slide__mark circle:last-child{ fill:#fff; }

/* contact split */
.ch-contact__box{ display:grid; overflow:hidden; border-radius:var(--cz-leaf-lg); background:#fff; border:1px solid var(--cz-line); box-shadow:var(--cz-shadow); }
@media (min-width:1024px){ .ch-contact__box{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); } }
.ch-contact__info{ position:relative; isolation:isolate; overflow:hidden; padding:clamp(28px,4vw,56px); background:linear-gradient(150deg,var(--cz-blue) 0%,var(--cz-navy-3) 80%); color:#fff; }
.ch-contact__info::after{ content:""; position:absolute; z-index:-1; right:-100px; bottom:-100px; width:320px; height:320px; border-radius:50%; border:56px solid rgba(255,255,255,.08); }
.ch-contact__list{ display:grid; gap:18px; margin-top:32px; }
.ch-contact__list li{ display:flex; align-items:center; gap:14px; font-size:16px; }
.ch-contact__list small{ display:block; font-size:12.5px; color:rgba(255,255,255,.7); }
.ch-contact__list a:hover{ text-decoration:underline; }
.ch-contact__ic{ display:grid; place-items:center; width:48px; height:48px; border-radius:16px 5px 16px 5px; background:rgba(255,255,255,.14); flex:none; }
.ch-contact__chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:32px; }
.ch-contact__chips a{ padding:7px 14px; border-radius:999px; background:rgba(255,255,255,.12); font-size:13px; font-weight:500; transition:background .2s,color .2s; }
.ch-contact__chips a:hover{ background:#fff; color:var(--cz-blue); }
.ch-contact__form{ padding:clamp(28px,4vw,56px); }

/* ============================================================== CATALOGUE */
.cz-catalog{ display:grid; gap:32px; }
@media (min-width:1080px){ .cz-catalog{ grid-template-columns:300px minmax(0,1fr); gap:44px; align-items:start; } }
.cz-catalog__side{ display:grid; gap:18px; }
.cz-filter{ display:grid; gap:16px; padding:22px; border-radius:var(--cz-leaf); background:#fff; border:1px solid var(--cz-line); }
.cz-filter__group{ display:grid; gap:8px; }
.cz-filter__title{ font-family:var(--cz-font-display); font-weight:600; font-size:15px; color:var(--cz-navy); }
.cz-pracnav{ display:flex; flex-direction:column; gap:4px; padding:16px; border-radius:var(--cz-leaf); background:#fff; border:1px solid var(--cz-line); }
.cz-pracnav .cz-filter__title{ padding:4px 8px 8px; }
.cz-pracnav a{ display:flex; align-items:center; gap:12px; padding:8px; border-radius:14px 14px 14px 4px; font-family:var(--cz-font-display); font-weight:500; font-size:15px; color:var(--cz-text-2); transition:background .2s,color .2s; }
.cz-pracnav a small{ margin-left:auto; font-size:12.5px; color:var(--cz-muted); }
.cz-pracnav a:hover{ background:var(--cz-mist); color:var(--cz-blue); }
.cz-pracnav a[aria-current]{ background:var(--cz-blue); color:#fff; }
.cz-pracnav a[aria-current] small{ color:rgba(255,255,255,.8); }
.cz-pracnav a[aria-current] .cz-iconbox{ background:rgba(255,255,255,.18); color:#fff; }
@media (max-width:1079px){
  .cz-pracnav{ flex-direction:row; overflow-x:auto; scrollbar-width:none; padding:10px; }
  .cz-pracnav::-webkit-scrollbar{ display:none; }
  .cz-pracnav .cz-filter__title{ display:none; }
  .cz-pracnav a{ flex:none; }
  .cz-filter{ grid-template-columns:minmax(0,1fr); }
}
@media (min-width:640px) and (max-width:1079px){ .cz-filter{ grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto; align-items:end; } .cz-filter .cz-filter__title{ display:none; } }
.cz-catalog__grid{ display:grid; gap:22px; grid-template-columns:minmax(0,1fr); }
@media (min-width:720px){ .cz-catalog__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.cz-advise{ position:relative; isolation:isolate; overflow:hidden; display:grid; gap:20px; align-items:center; padding:32px; border-radius:var(--cz-leaf-lg); background:var(--cz-navy); color:var(--cz-fog-2); }
.cz-advise .cz-h3{ color:#fff; }
.cz-advise .cz-iconbox{ background:var(--cz-blue); color:#fff; }
.cz-advise::after{ content:""; position:absolute; z-index:-1; right:-80px; top:-80px; width:240px; height:240px; border-radius:50%; border:40px solid rgba(255,255,255,.05); }
@media (min-width:900px){ .cz-advise{ grid-template-columns:auto minmax(0,1fr) auto; gap:28px; padding:36px 40px; } }

/* ================================================================ PRACTICE */
.cz-prac-ic{ display:grid; place-items:center; width:76px; height:76px; border-radius:26px 8px 26px 8px; background:#fff; color:var(--cz-blue); }
.cz-prac-ic .cz-i{ width:34px; height:34px; }
.cz-prac-intro{ display:grid; gap:24px; }
@media (min-width:1024px){ .cz-prac-intro{ grid-template-columns:minmax(0,6fr) minmax(0,5fr); gap:72px; align-items:end; } }
.cz-prac-others{ display:grid; gap:18px; grid-template-columns:minmax(0,1fr); }
@media (min-width:640px){ .cz-prac-others{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1080px){ .cz-prac-others{ grid-template-columns:repeat(4,minmax(0,1fr)); } }

/* ============================================================ SERVICE PAGE */
.cz-svchero{ display:grid; gap:24px; }
@media (min-width:900px){ .cz-svchero{ grid-template-columns:auto minmax(0,1fr); gap:32px; align-items:start; } .cz-svchero .cz-h1{ max-width:20ch; } }
.cz-svchero__meta{ display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.cz-svchero__meta li{ display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.1); border:1px solid var(--cz-dline); font-size:14px; color:#fff; }
.cz-svcpage{ display:grid; gap:40px; }
@media (min-width:1080px){ .cz-svcpage{ grid-template-columns:minmax(0,1fr) 400px; gap:56px; align-items:start; } .cz-svcpage__aside{ position:sticky; top:calc(var(--cz-header) + 24px); } }
@media (max-width:1079px){ .cz-svcpage__aside{ order:-1; } }
.cz-svcpage__toc{ margin-bottom:12px; }
.cz-svcsec{ padding:36px 0; border-bottom:1px dashed var(--cz-line-2); scroll-margin-top:calc(var(--cz-header) + 20px); }
.cz-svcsec:last-child{ border-bottom:0; }
.cz-svcsec__title{ font-family:var(--cz-font-display); font-weight:700; font-size:clamp(1.5rem,1.25rem + .9vw,2rem); color:var(--cz-navy); }
.cz-flow{ display:grid; gap:14px; grid-template-columns:minmax(0,1fr); counter-reset:fl; }
@media (min-width:720px){ .cz-flow{ grid-template-columns:repeat(2,minmax(0,1fr)); } }

.cz-flow__item{ position:relative; padding:22px 20px; border-radius:24px 6px 24px 6px; background:var(--cz-mist); }
.cz-flow__pill{ display:inline-flex; align-items:center; height:30px; padding:0 12px; border-radius:999px; background:var(--cz-blue); color:#fff; font-family:var(--cz-font-display); font-weight:500; font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; }
.cz-flow__t{ margin-top:14px; font-family:var(--cz-font-display); font-weight:600; font-size:1.1rem; color:var(--cz-navy); }
.cz-flow__b{ margin-top:6px; font-size:14.5px; line-height:1.6; color:var(--cz-text-2); }
.cz-benefits{ position:relative; isolation:isolate; overflow:hidden; padding:clamp(26px,4vw,44px); border-radius:var(--cz-leaf-lg); background:var(--cz-blue); color:#fff; }
.cz-benefits::after{ content:""; position:absolute; z-index:-1; right:-70px; bottom:-70px; width:240px; height:240px; border-radius:50%; border:40px solid rgba(255,255,255,.1); }
.cz-benefits__list{ display:grid; gap:14px; margin-top:22px; }
@media (min-width:720px){ .cz-benefits__list{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.cz-benefits__list li{ display:flex; gap:12px; padding:16px; border-radius:18px 5px 18px 5px; background:rgba(255,255,255,.12); font-size:15px; line-height:1.6; }
.cz-benefits__list .cz-i{ margin-top:2px; }
.cz-buy{ border-radius:var(--cz-leaf-lg); overflow:hidden; background:#fff; border:1px solid var(--cz-line); box-shadow:var(--cz-shadow); }
.cz-buy__top{ position:relative; isolation:isolate; overflow:hidden; padding:28px; background:var(--cz-blue); color:#fff; }
.cz-buy__top::after{ content:""; position:absolute; z-index:-1; right:-50px; top:-50px; width:170px; height:170px; border-radius:50%; border:30px solid rgba(255,255,255,.1); }
.cz-buy__label{ font-size:14px; color:rgba(255,255,255,.85); }
.cz-buy__price{ margin-top:8px; font-family:var(--cz-font-display); font-weight:700; font-size:clamp(2.4rem,2rem + 1.4vw,3.2rem); line-height:1; }
.cz-buy__price small{ font-size:.42em; text-decoration:line-through; opacity:.7; }
.cz-buy__time{ display:inline-flex; align-items:center; gap:8px; margin-top:16px; padding:7px 14px; border-radius:999px; background:rgba(255,255,255,.15); font-size:14px; }
.cz-buy__body{ padding:26px 28px 28px; }

/* =================================================================== ABOUT */
.cz-ab-split{ display:grid; gap:48px; align-items:center; }
@media (min-width:1024px){ .cz-ab-split{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; } }
.cz-ab-art{ position:relative; display:grid; place-items:center; min-height:380px; padding:clamp(20px,4vw,48px); border-radius:14px 90px 14px 90px; background:linear-gradient(160deg,var(--cz-mist),var(--cz-blue-50)); overflow:hidden; }
.cz-ab-art img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cz-ab-art__svg{ width:100%; max-width:520px; height:auto; }
.cz-ab-badge{ position:absolute; left:24px; bottom:24px; display:flex; align-items:center; gap:12px; padding:14px 18px; border-radius:20px 20px 20px 5px; background:var(--cz-blue); color:#fff; box-shadow:var(--cz-shadow-blue); max-width:280px; }
.cz-ab-badge b{ font-family:var(--cz-font-display); font-weight:700; font-size:2.2rem; line-height:1; }
.cz-ab-badge span{ font-size:13.5px; line-height:1.4; }
.cz-ab-vm{ display:grid; gap:28px; }
.cz-ab-vm__item{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:22px; align-items:start; }
.cz-ab-vm__item .cz-iconbox{ color:var(--cz-blue); }
.cz-ab-rule{ height:100%; padding:32px 28px; border-radius:var(--cz-leaf); background:#fff; border:1px solid var(--cz-line); transition:transform .5s var(--cz-ease),box-shadow .5s var(--cz-ease); }
.cz-ab-rule:hover{ transform:translateY(-6px); box-shadow:var(--cz-shadow); }
.cz-ab-rule:hover .cz-iconbox{ background:var(--cz-blue); color:#fff; }
.cz-ab-rule .cz-iconbox{ color:var(--cz-blue); }
.cz-ab-mind{ display:grid; gap:20px; grid-template-columns:minmax(0,1fr); position:relative; }
@media (min-width:900px){ .cz-ab-mind{ grid-template-columns:repeat(3,minmax(0,1fr)); } .cz-ab-mind::before{ content:""; position:absolute; left:6%; right:6%; top:15px; border-top:2px dashed var(--cz-line-2); z-index:-1; } }
.cz-ab-mind li{ display:flex; flex-direction:column; gap:14px; }
.cz-ab-mind__ic{ display:grid; place-items:center; width:100%; height:160px; margin-top:8px; border-radius:60px 12px 60px 12px; background:var(--cz-mist); color:var(--cz-blue); }
.cz-ab-mind__ic .cz-i{ width:56px; height:56px; stroke-width:1.3; }
.cz-ab-scale{ display:grid; gap:48px; }
@media (min-width:1024px){ .cz-ab-scale{ grid-template-columns:minmax(0,4fr) minmax(0,6fr); gap:72px; align-items:center; } }
.cz-ab-scale__grid{ display:grid; gap:16px; grid-template-columns:minmax(0,1fr); }
@media (min-width:640px){ .cz-ab-scale__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.cz-ab-value{ display:grid; gap:18px; grid-template-columns:minmax(0,1fr); }
@media (min-width:640px){ .cz-ab-value{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1080px){ .cz-ab-value{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.cz-ab-value li{ display:grid; gap:10px; padding:28px; border-radius:var(--cz-leaf); background:var(--cz-mist); }
.cz-ab-pracs{ padding:28px; border-radius:var(--cz-leaf); border:1px solid var(--cz-line); }
.cz-ab-pracs__list{ display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.cz-ab-pracs__list a{ display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:999px; background:var(--cz-mist); font-family:var(--cz-font-display); font-weight:500; font-size:15px; color:var(--cz-navy); transition:background .2s,color .2s; }
.cz-ab-pracs__list a .cz-i{ color:var(--cz-blue); }
.cz-ab-pracs__list a small{ font-size:12px; color:var(--cz-muted); }
.cz-ab-pracs__list a:hover{ background:var(--cz-blue); color:#fff; }
.cz-ab-pracs__list a:hover .cz-i,.cz-ab-pracs__list a:hover small{ color:#fff; }
.cz-ab-mind .cz-flow__pill{ align-self:flex-start; }

/* ================================================================= CONTACT */
.cz-ct{ display:grid; gap:0; border-radius:var(--cz-leaf-lg); overflow:hidden; border:1px solid var(--cz-line); box-shadow:var(--cz-shadow); padding:0 !important; max-width:calc(var(--cz-max) - 2 * var(--cz-gutter)); }
@media (max-width:1320px){ .cz-ct{ margin-inline:var(--cz-gutter); width:auto; } }
@media (min-width:1024px){ .cz-ct{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); } }
.cz-ct__info{ position:relative; isolation:isolate; overflow:hidden; padding:clamp(28px,4vw,52px); background:linear-gradient(160deg,var(--cz-blue) 0%,var(--cz-navy-3) 75%,var(--cz-navy) 100%); color:#fff; }
.cz-ct__info::after{ content:""; position:absolute; z-index:-1; right:-110px; top:-110px; width:320px; height:320px; border-radius:50%; border:56px solid rgba(255,255,255,.07); }
.cz-ct__after{ margin-top:36px; padding-top:28px; border-top:1px dashed rgba(255,255,255,.3); }
.cz-ct__after ol{ display:grid; gap:18px; margin-top:16px; }
.cz-ct__after li{ display:grid; grid-template-columns:44px minmax(0,1fr); gap:14px; }
.cz-ct__after li>span{ display:grid; place-items:center; width:44px; height:44px; border-radius:15px 4px 15px 4px; background:#fff; color:var(--cz-blue); font-family:var(--cz-font-display); font-weight:700; font-size:14px; }
.cz-ct__after b{ font-family:var(--cz-font-display); font-weight:600; font-size:16px; }
.cz-ct__after p{ margin-top:2px; font-size:14px; line-height:1.6; color:rgba(255,255,255,.82); }
.cz-ct__form{ padding:clamp(28px,4vw,52px); background:#fff; }
.cz-auth__stages{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; max-width:460px; }
.cz-auth__stages span{ padding:8px 14px; border-radius:999px; border:1.5px solid rgba(255,255,255,.35); font-family:var(--cz-font-display); font-size:13px; font-weight:500; text-transform:uppercase; letter-spacing:.04em; }
.cz-auth__stages span.is-on{ background:#fff; border-color:#fff; color:var(--cz-blue); }
.cz-auth__stages i{ width:18px; border-top:2px dashed rgba(255,255,255,.45); }
.cz-auth__art .cz-h2{ color:#fff; }
.cz-auth__art .cz-checklist li{ color:#fff; }
.cz-auth__art .cz-checklist .cz-i{ color:#fff; }
.cz-cta{ position:relative; isolation:isolate; overflow:hidden; border-radius:var(--cz-leaf-lg); background:var(--cz-blue); color:#fff; padding:40px 28px; }
@media (min-width:1024px){ .cz-cta{ padding:60px 64px; } }
.cz-cta .cz-h2,.cz-cta .cz-h3{ color:#fff; }
.cz-cta .cz-lead,.cz-cta p{ color:rgba(255,255,255,.86); }
.cz-cta__grid{ display:grid; gap:28px; align-items:center; }
@media (min-width:1024px){ .cz-cta__grid{ grid-template-columns:minmax(0,1fr) auto; gap:48px; } }
.cz-steps--tight{ gap:6px; }
.ch-intro__head>.cz-btn{ justify-self:start; }
@media (max-width:1079px){ .ch-hero__orbit{ top:auto; bottom:-300px; right:-260px; opacity:.6; } }
