/* =============================================================================
   Cryonity Labs — design system "Mono Studio"
   Monochrome editorial agency look: black / white, tight grotesk headlines,
   bracketed labels, underlined text links, rounded image cards.
   Hanken Grotesk (display) + DM Sans (text). Hand-authored, no build step.
   Class prefix: cr-
   ============================================================================= */

:root{
  --black:#111111; --black-2:#1A1A1A; --black-3:#242424;
  --white:#FFFFFF; --soft:#F3F3F3; --soft-2:#EAEAEA;
  --head:#111111; --body:#4A4A4A; --muted:#7A7A7A; --faint:#A3A3A3;
  --line:#E4E4E4; --line-2:#D0D0D0;
  --d-body:#BDBDBD; --d-muted:#8C8C8C; --d-line:rgba(255,255,255,.14); --d-line-2:rgba(255,255,255,.28);
  --danger:#B42318; --danger-soft:#FDECEA; --ok:#1F6B3A; --ok-soft:#E7F4EC; --warn:#7A5300; --warn-soft:#FFF4DA;

  --display:'Hanken Grotesk',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --sans:'DM Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --r:20px; --r-md:14px; --r-sm:10px; --pill:999px;
  --container:1440px; --gutter:26px;
  --section:150px;
  --ease:cubic-bezier(.22,1,.36,1); --ease-in-out:cubic-bezier(.76,0,.24,1);
  --header-h:104px;
}
@media (max-width:1024px){ :root{ --section:110px; --header-h:92px; } }
@media (max-width:767px){ :root{ --section:80px; --gutter:16px; --header-h:80px; --r:16px; } }

/* -------------------------------------------------------------------- base */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-padding-top:calc(var(--header-h) + 8px); }
html:focus-within{ scroll-behavior:smooth; }
body{ margin:0; background:var(--white); color:var(--body); font-family:var(--sans); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; overflow-x:hidden; min-height:100vh; }
@supports (overflow:clip){ html,body{ overflow-x:clip; } }
@media (max-width:767px){ body{ font-size:15.5px; } }
img,svg,video,canvas{ 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{ margin:0; color:var(--head); font-family:var(--display); font-weight:600; line-height:1.05; letter-spacing:-.04em; }
p{ margin:0; } ul,ol{ margin:0; padding:0; }
::selection{ background:var(--black); color:var(--white); }
:focus-visible{ outline:2px solid currentColor; outline-offset:4px; border-radius:4px; }
.cr-no-scroll{ overflow:hidden; }
[hidden]{ display:none !important; }
.cr-skip{ position:fixed; left:16px; top:-80px; z-index:300; background:var(--black); color:#fff; padding:12px 22px; border-radius:var(--pill); font-weight:600; transition:top .3s var(--ease); }
.cr-skip:focus{ top:16px; }
.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; }

/* ------------------------------------------------------------------ layout */
.cr-container{ width:100%; max-width:calc(var(--container) + var(--gutter) * 2); margin-inline:auto; padding-inline:var(--gutter); }
.cr-container--wide{ max-width:calc(1600px + var(--gutter) * 2); }
.cr-container--narrow{ max-width:calc(860px + var(--gutter) * 2); }
.cr-section{ padding-block:var(--section); position:relative; }
.cr-section--tight{ padding-block:calc(var(--section) * .55); }
.cr-section--top0{ padding-top:0; }
.cr-section--surface,.cr-section--soft{ background:var(--soft); }
.cr-section--ink,.cr-dark{ background:var(--black); color:var(--d-body); }
.cr-dark h1,.cr-dark h2,.cr-dark h3,.cr-dark h4,.cr-section--ink h1,.cr-section--ink h2,.cr-section--ink h3,.cr-section--ink h4{ color:#fff; }
.cr-section--line{ border-top:1px solid var(--line); }

.cr-grid{ display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; }
.cr-col-12{ grid-column:span 12; }
@media (min-width:768px){ .md\:col-4{ grid-column:span 4; } .md\:col-5{ grid-column:span 5; } .md\:col-6{ grid-column:span 6; } .md\:col-7{ grid-column:span 7; } .md\:col-8{ grid-column:span 8; } }
@media (min-width:1025px){ .lg\:col-3{ grid-column:span 3; } .lg\:col-4{ grid-column:span 4; } .lg\:col-5{ grid-column:span 5; } .lg\:col-6{ grid-column:span 6; } .lg\:col-7{ grid-column:span 7; } .lg\:col-8{ grid-column:span 8; } .lg\:start-5{ grid-column-start:5; } .lg\:start-7{ grid-column-start:7; } .lg\:start-8{ grid-column-start:8; } }

/* -------------------------------------------------------------- typography */
.cr-h1{ font-family:var(--display); font-weight:600; color:var(--head); letter-spacing:-.055em; line-height:.95; font-size:clamp(33.12px, 8.64vw, 46.08px); }
@media (min-width:768px){ .cr-h1{ font-size:clamp(40px, 4.4vw, 72px); } }
.cr-h1--page{ font-size:clamp(31.68px, 7.92vw, 43.2px); }
@media (min-width:768px){ .cr-h1--page{ font-size:clamp(42.24px, 4.62vw, 76.56px); } }
.cr-h1 em,.cr-h2 em,.cr-h3 em{ font-style:normal; }
.cr-h2{ font-family:var(--display); font-weight:600; letter-spacing:-.05em; line-height:.98; font-size:clamp(25.92px, 6.48vw, 34.56px); }
@media (min-width:768px){ .cr-h2{ font-size:clamp(32px, 3.3vw, 54px); } }
.cr-h3{ font-family:var(--display); font-weight:600; letter-spacing:-.035em; line-height:1.08; font-size:clamp(19.68px, 2.05vw, 29.52px); }
.cr-h4{ font-family:var(--display); font-weight:600; letter-spacing:-.02em; line-height:1.25; font-size:clamp(17.48px, 1.38vw, 20.24px); }
.cr-mega{ font-family:var(--display); font-weight:700; letter-spacing:-.06em; line-height:.86; text-transform:uppercase; color:var(--head); font-size:clamp(40px, 8.2vw, 140px); }
.cr-lead{ font-size:clamp(15.58px, 1.31vw, 21.32px); line-height:1.45; color:var(--body); letter-spacing:-.01em; }
.cr-dark .cr-lead,.cr-section--ink .cr-lead{ color:var(--d-body); }
.cr-body-lg{ font-size:17.48px; }
.cr-small{ font-size:15.5px; } .cr-xs{ font-size:13.5px; }
.cr-muted{ color:var(--muted); } .cr-dark .cr-muted{ color:var(--d-muted); }
.cr-head{ color:var(--head); } .cr-dark .cr-head{ color:#fff; }
.cr-hl,.cr-lime{ color:inherit; }
.cr-label{ display:inline-flex; align-items:center; font-family:var(--sans); font-size:17.48px; font-weight:400; letter-spacing:0; text-transform:none; color:var(--head); }
.cr-label::before{ content:'('; } .cr-label::after{ content:')'; }
.cr-label--plain::before,.cr-label--plain::after{ content:none; }
.cr-dark .cr-label,.cr-section--ink .cr-label{ color:#fff; }
.cr-num{ font-variant-numeric:tabular-nums; }
.cr-balance{ text-wrap:balance; } .cr-pretty{ text-wrap:pretty; }
.cr-center{ text-align:center; } .cr-right{ text-align:right; }
.cr-maxw-sm{ max-width:560px; } .cr-maxw-md{ max-width:700px; } .cr-maxw-lg{ max-width:900px; } .cr-mx-auto{ margin-inline:auto; }

/* Section heading: label on a rule at left, heading at right */
.cr-sechead{ display:grid; gap:24px; margin-bottom:72px; }
@media (min-width:1025px){ .cr-sechead{ grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:48px; align-items:start; } }
.cr-sechead > :first-child{ padding-top:18px; border-top:1px solid var(--head); }
.cr-dark .cr-sechead > :first-child,.cr-section--ink .cr-sechead > :first-child{ border-top-color:var(--d-line-2); }
.cr-sechead--split{ }
.cr-sechead--plain > :first-child{ border-top:0; padding-top:0; }
@media (max-width:767px){ .cr-sechead{ margin-bottom:44px; } }
.cr-sechead__body{ display:grid; gap:24px; }

/* Chips (outlined, monochrome) */
.cr-chip{ display:inline-flex; align-items:center; gap:6px; min-height:32px; padding:5px 14px; border-radius:var(--pill); border:1px solid var(--line-2); color:var(--head); font-size:14px; font-weight:500; line-height:1.2; white-space:nowrap; background:transparent; transition:background .3s, color .3s, border-color .3s; }
a.cr-chip:hover{ background:var(--black); border-color:var(--black); color:#fff; }
.cr-chip--sm{ min-height:28px; padding:3px 11px; font-size:13px; }
.cr-chip--ghost{ color:var(--muted); }
.cr-chip--solid{ background:var(--black); border-color:var(--black); color:#fff; }
.cr-dark .cr-chip,.cr-section--ink .cr-chip{ border-color:var(--d-line-2); color:#fff; }
.cr-dark a.cr-chip:hover{ background:#fff; color:var(--black); }
.cr-chip-row{ display:flex; flex-wrap:wrap; gap:10px; }

.cr-filter{ display:inline-flex; align-items:center; gap:6px; padding:6px 2px; font-size:15.64px; color:var(--muted); border-bottom:1.5px solid transparent; white-space:nowrap; transition:color .3s, border-color .3s; }
.cr-filter:hover{ color:var(--head); }
.cr-filter.is-active,.cr-filter[aria-pressed="true"],.cr-filter[aria-selected="true"]{ color:var(--head); border-bottom-color:var(--head); }
.cr-filter__n{ font-size:13px; vertical-align:super; }
.cr-dark .cr-filter{ color:var(--d-muted); } .cr-dark .cr-filter.is-active,.cr-dark .cr-filter[aria-pressed="true"]{ color:#fff; border-bottom-color:#fff; }

/* ---------------------------------------------------------------- buttons */
.cr-btn{ --bg:var(--black); --fg:#fff; --bd:var(--black);
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:54px; padding:12px 28px; border-radius:var(--pill);
  background:var(--bg); color:var(--fg); border:1px solid var(--bd); font-family:var(--sans); font-weight:500; font-size:16.5px; line-height:1.1; white-space:nowrap; text-align:center; overflow:hidden; isolation:isolate;
  transition:color .4s var(--ease), background .4s var(--ease), border-color .4s var(--ease); }
.cr-btn span[data-btn-label]{ position:relative; display:inline-block; }
.cr-btn__icon{ display:inline-grid; place-items:center; width:18px; height:18px; flex:none; overflow:hidden; }
.cr-btn__icon svg{ width:18px; height:18px; transform:rotate(-45deg); transition:transform .45s var(--ease); }
.cr-btn:hover .cr-btn__icon svg{ transform:rotate(0); }
.cr-btn--primary,.cr-btn--dark{ --bg:var(--black); --fg:#fff; --bd:var(--black); }
.cr-btn--primary:hover,.cr-btn--dark:hover{ --bg:#fff; --fg:var(--black); --bd:var(--black); }
.cr-btn--outline{ --bg:transparent; --fg:var(--head); --bd:var(--head); }
.cr-btn--outline:hover{ --bg:var(--black); --fg:#fff; }
.cr-btn--ghost{ --bg:var(--soft); --fg:var(--head); --bd:var(--soft); }
.cr-btn--ghost:hover{ --bg:var(--black); --fg:#fff; --bd:var(--black); }
.cr-btn--light{ --bg:#fff; --fg:var(--black); --bd:#fff; }
.cr-btn--light:hover{ --bg:transparent; --fg:#fff; --bd:#fff; }
.cr-dark .cr-btn--primary,.cr-dark .cr-btn--dark{ --bg:#fff; --fg:var(--black); --bd:#fff; }
.cr-dark .cr-btn--primary:hover,.cr-dark .cr-btn--dark:hover{ --bg:transparent; --fg:#fff; --bd:#fff; }
.cr-dark .cr-btn--outline{ --fg:#fff; --bd:rgba(255,255,255,.6); }
.cr-dark .cr-btn--outline:hover{ --bg:#fff; --fg:var(--black); --bd:#fff; }
.cr-btn--sm{ min-height:44px; padding:9px 20px; font-size:15px; gap:8px; }
.cr-btn--block{ display:flex; width:100%; }
.cr-btn.is-added{ --bg:var(--ok); --bd:var(--ok); --fg:#fff; }
.cr-btn:disabled,.cr-btn[aria-disabled="true"]{ opacity:.5; cursor:not-allowed; }
.cr-btn-row{ display:flex; flex-wrap:wrap; gap:14px 28px; align-items:center; }
@media (max-width:420px){ .cr-btn-row > .cr-btn{ width:100%; } }

/* Underlined text link — the primary CTA style */
.cr-textcta{ position:relative; display:inline-flex; align-items:center; gap:8px; padding-bottom:6px; color:var(--head); font-size:18.4px; font-weight:400; letter-spacing:-.01em; line-height:1.2; }
.cr-textcta::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:2px; background:currentColor; transform-origin:right; transition:transform .5s var(--ease); }
.cr-textcta:hover::after{ animation:cr-underline .8s var(--ease); }
@keyframes cr-underline{ 0%{ transform:scaleX(1); transform-origin:right; } 45%{ transform:scaleX(0); transform-origin:right; } 46%{ transform-origin:left; } 100%{ transform:scaleX(1); transform-origin:left; } }
.cr-textcta__b{ display:none; }
.cr-dark .cr-textcta,.cr-section--ink .cr-textcta,.cr-hero .cr-textcta,.cr-pagehero .cr-textcta{ color:#fff; }
.cr-link{ color:var(--head); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
.cr-link:hover{ text-decoration-thickness:2px; }
.cr-dark .cr-link{ color:#fff; }

/* Round icon buttons */
.cr-circle{ display:inline-grid; place-items:center; width:48px; height:48px; flex:none; border-radius:50%; border:1px solid var(--line-2); color:var(--head); transition:background .35s var(--ease), color .35s, border-color .35s; }
.cr-circle svg{ width:18px; height:18px; transform:rotate(-45deg); transition:transform .45s var(--ease); }
.cr-circle--sm{ width:38px; height:38px; } .cr-circle--sm svg{ width:15px; height:15px; }
a:hover .cr-circle,.cr-card--hover:hover .cr-circle{ background:var(--black); border-color:var(--black); color:#fff; }
a:hover .cr-circle svg,.cr-card--hover:hover .cr-circle svg{ transform:rotate(0); }
.cr-dark .cr-circle{ border-color:var(--d-line-2); color:#fff; }
.cr-dark a:hover .cr-circle{ background:#fff; border-color:#fff; color:var(--black); }
.cr-iconbtn{ display:inline-grid; place-items:center; width:50px; height:50px; border-radius:50%; border:1px solid var(--line-2); color:var(--head); transition:all .3s var(--ease); background:transparent; }
.cr-iconbtn:hover{ background:var(--black); color:#fff; border-color:var(--black); }
.cr-iconbtn svg{ width:19px; height:19px; }
.cr-iconbtn:disabled{ opacity:.35; cursor:not-allowed; }
.cr-dark .cr-iconbtn{ border-color:var(--d-line-2); color:#fff; }
.cr-dark .cr-iconbtn:hover{ background:#fff; color:var(--black); }

/* ------------------------------------------------------------------ header */
.cr-progress{ display:none; }
.cr-header{ position:fixed; inset:0 0 auto 0; z-index:120; padding-top:24px; transition:transform .6s var(--ease), padding .4s var(--ease); pointer-events:none; }
@media (max-width:767px){ .cr-header{ padding-top:12px; } }
.cr-header.is-hidden{ transform:translateY(-130%); }
.cr-header.is-scrolled{ padding-top:12px; }
.cr-header__in{ pointer-events:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; height:84px; padding:0 30px 0 34px; border-radius:var(--pill); border:1px solid rgba(255,255,255,.16); background:rgba(17,17,17,.55); -webkit-backdrop-filter:blur(18px) saturate(140%); backdrop-filter:blur(18px) saturate(140%); color:#fff; transition:background .4s, height .4s var(--ease); }
.cr-header.is-top .cr-header__in{ background:rgba(17,17,17,.08); }
.cr-header.is-scrolled .cr-header__in{ height:70px; background:rgba(17,17,17,.82); }
@media (max-width:767px){ .cr-header__in{ height:64px; padding:0 12px 0 20px; } .cr-header.is-scrolled .cr-header__in{ height:58px; } }
.cr-container.cr-header__wrap{ max-width:calc(1640px + var(--gutter) * 2); }
.cr-brand{ display:inline-flex; align-items:center; gap:12px; flex:none; color:inherit; }
.cr-brand__mark{ width:40px; height:40px; flex:none; }
.cr-brand__word{ display:grid; font-family:var(--display); font-weight:600; font-size:19.32px; letter-spacing:-.02em; line-height:.95; text-transform:uppercase; }
.cr-brand__word span{ font-weight:300; }
.cr-brand__sep{ width:1px; height:44px; background:rgba(255,255,255,.2); margin-left:22px; }
@media (max-width:767px){ .cr-brand__mark{ width:32px; height:32px; } .cr-brand__word{ font-size:15.64px; } .cr-brand__sep{ display:none; } }
.cr-nav{ display:none; align-items:center; gap:34px; margin-right:auto; margin-left:14px; }
@media (min-width:1201px){ .cr-nav{ display:flex; } }
.cr-nav__link{ position:relative; font-size:16px; color:rgba(255,255,255,.72); transition:color .3s; padding-block:6px; }
.cr-nav__link::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:#fff; transform:scaleX(0); transform-origin:right; transition:transform .45s var(--ease); }
.cr-nav__link:hover,.cr-nav__link.is-active{ color:#fff; }
.cr-nav__link:hover::after,.cr-nav__link.is-active::after{ transform:scaleX(1); transform-origin:left; }
.cr-header__actions{ display:flex; align-items:center; gap:10px; }
.cr-header__actions .cr-iconbtn{ border-color:rgba(255,255,255,.22); color:#fff; width:46px; height:46px; }
.cr-header__actions .cr-iconbtn:hover{ background:#fff; color:var(--black); }
.cr-header__signin{ display:none; font-size:15.5px; color:rgba(255,255,255,.8); padding:8px 10px; } .cr-header__signin:hover{ color:#fff; }
@media (min-width:1201px){ .cr-header__signin{ display:inline-flex; } }
.cr-header__cta{ display:none; }
.cr-basket-btn{ position:relative; }
.cr-count{ position:absolute; top:-4px; right:-4px; min-width:20px; height:20px; padding:0 5px; border-radius:10px; background:#fff; color:var(--black); font-size:11px; font-weight:700; line-height:20px; text-align:center; }
.cr-burger{ display:inline-grid; border:0 !important; width:46px; }
.cr-burger:hover{ background:transparent !important; color:#fff !important; }
.cr-burger__lines{ position:relative; width:30px; height:20px; }
.cr-burger__lines span{ position:absolute; right:0; height:2.5px; background:currentColor; border-radius:2px; transition:width .35s var(--ease); }
.cr-burger__lines span:nth-child(1){ top:0; width:100%; } .cr-burger__lines span:nth-child(2){ top:8.5px; width:100%; } .cr-burger__lines span:nth-child(3){ top:17px; width:100%; }
.cr-burger:hover .cr-burger__lines span:nth-child(2){ width:65%; }

/* Fullscreen menu */
.cr-menu{ position:fixed; inset:0; z-index:150; background:var(--black); color:#fff; display:flex; flex-direction:column; clip-path:inset(0 0 100% 0); visibility:hidden; transition:clip-path .8s var(--ease-in-out), visibility 0s linear .8s; }
.cr-menu.is-open{ clip-path:inset(0 0 0 0); visibility:visible; transition:clip-path .8s var(--ease-in-out), visibility 0s; }
.cr-menu__top{ display:flex; align-items:center; justify-content:space-between; height:var(--header-h); border-bottom:1px solid var(--d-line); }
.cr-menu__top .cr-iconbtn{ border-color:var(--d-line-2); color:#fff; }
.cr-menu__top .cr-iconbtn:hover{ background:#fff; color:var(--black); }
.cr-menu__body{ flex:1; overflow-y:auto; display:grid; gap:48px; padding-block:40px 48px; align-content:space-between; }
@media (min-width:1025px){ .cr-menu__body{ grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); align-content:stretch; align-items:end; } }
.cr-menu__nav{ display:grid; }
.cr-menu__link{ display:flex; align-items:baseline; gap:18px; font-family:var(--display); font-weight:600; font-size:clamp(26.4px, 4.88vw, 68.64px); letter-spacing:-.05em; line-height:1.02; color:rgba(255,255,255,.35); transition:color .35s, transform .6s var(--ease); transform:translateY(40px); opacity:0; }
.cr-menu__link small{ font-family:var(--sans); font-size:15px; font-weight:400; letter-spacing:0; color:var(--d-muted); }
.cr-menu__link:hover,.cr-menu__link[aria-current]{ color:#fff; }
.cr-menu.is-open .cr-menu__link{ transform:none; opacity:1; transition:color .35s, transform .9s var(--ease) .25s, opacity .9s var(--ease) .25s; }
.cr-menu__meta{ display:grid; gap:28px; color:var(--d-body); }
.cr-menu__meta .cr-chip{ border-color:var(--d-line-2); color:#fff; }
.cr-menu__meta .cr-chip:hover{ background:#fff; color:var(--black); }

/* ------------------------------------------------------------------ basket */
.cr-drawer{ position:fixed; inset:0; z-index:160; visibility:hidden; }
.cr-drawer.is-open{ visibility:visible; }
.cr-drawer__scrim{ position:absolute; inset:0; background:rgba(0,0,0,.55); opacity:0; transition:opacity .4s; }
.cr-drawer.is-open .cr-drawer__scrim{ opacity:1; }
.cr-drawer__panel{ position:absolute; top:12px; right:12px; bottom:12px; width:min(calc(100% - 24px), 460px); background:var(--white); border-radius:var(--r); display:flex; flex-direction:column; transform:translateX(110%); transition:transform .6s var(--ease); overflow:hidden; }
.cr-drawer.is-open .cr-drawer__panel{ transform:none; }
.cr-drawer__head{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 26px; border-bottom:1px solid var(--line); }
.cr-drawer__body{ flex:1; overflow-y:auto; padding:6px 26px; }
.cr-drawer__foot{ padding:22px 26px 26px; border-top:1px solid var(--line); }
.cr-drawer__empty{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:32px; gap:14px; }
.cr-line-item{ display:flex; gap:14px; padding:18px 0; border-bottom:1px solid var(--line); }
.cr-line-item:last-child{ border-bottom:0; }
.cr-mono{ display:grid; place-items:center; width:52px; height:52px; border-radius:50%; flex:none; background:var(--black); color:#fff; font-family:var(--display); font-weight:600; font-size:16px; letter-spacing:-.02em; }
.cr-mono--sm{ width:42px; height:42px; font-size:14px; } .cr-mono--lg{ width:68px; height:68px; font-size:20.24px; }
.cr-qty{ display:inline-flex; align-items:center; border:1px solid var(--line-2); border-radius:var(--pill); }
.cr-qty button{ width:34px; height:34px; display:grid; place-items:center; color:var(--head); font-size:15.64px; border-radius:50%; }
.cr-qty button:hover{ background:var(--soft); }
.cr-qty span,.cr-qty input{ width:30px; text-align:center; font-size:15px; font-weight:600; color:var(--head); background:transparent; border:0; }
.cr-qty--lg button{ width:46px; height:46px; } .cr-qty--lg input{ width:40px; font-size:15.64px; }
.cr-remove{ font-size:14px; color:var(--muted); text-decoration:underline; text-underline-offset:3px; }
.cr-remove:hover{ color:var(--danger); }

/* ------------------------------------------------------------------ toast */
.cr-toasts{ position:fixed; z-index:260; left:20px; bottom:20px; display:flex; flex-direction:column; gap:10px; width:min(calc(100vw - 40px), 380px); pointer-events:none; }
.cr-toast{ display:flex; gap:12px; align-items:center; padding:14px 18px; border-radius:var(--pill); background:var(--black); color:#fff; font-size:15px; line-height:1.4; pointer-events:auto; opacity:0; transform:translateY(10px); transition:opacity .35s var(--ease), transform .35s var(--ease); }
.cr-toast.is-in{ opacity:1; transform:none; }
.cr-toast__dot{ width:22px; height:22px; border-radius:50%; background:#fff; color:var(--black); display:grid; place-items:center; flex:none; }
.cr-toast--error .cr-toast__dot{ background:#FF8A7A; }
.cr-toast__dot svg{ width:12px; height:12px; }

/* ------------------------------------------------------------------ cursor */
.cr-cursor,.cr-cursor-dot{ position:fixed; top:0; left:0; z-index:400; pointer-events:none; opacity:0; transition:opacity .3s; mix-blend-mode:difference; }
.cr-cursor{ width:14px; height:14px; margin:-7px 0 0 -7px; border-radius:50%; background:#fff; display:grid; place-items:center; transition:opacity .3s, width .45s var(--ease), height .45s var(--ease), margin .45s var(--ease); }
.cr-cursor-dot{ display:none; }
.has-cursor .cr-cursor{ opacity:1; }
.cr-cursor.is-link{ width:54px; height:54px; margin:-27px 0 0 -27px; }
.cr-cursor.is-label{ width:96px; height:96px; margin:-48px 0 0 -48px; mix-blend-mode:normal; background:var(--black); color:#fff; font-size:14px; }
.cr-cursor span{ opacity:0; transition:opacity .2s; } .cr-cursor.is-label span{ opacity:1; }
.cr-cursor.is-hidden{ opacity:0 !important; }
@media (hover:none),(pointer:coarse){ .cr-cursor,.cr-cursor-dot{ display:none; } }

/* Back-to-top with scroll-progress ring */
.cr-top{ position:fixed; right:24px; bottom:24px; z-index:100; width:64px; height:64px; border-radius:50%; background:var(--black); color:#fff; display:grid; place-items:center; opacity:0; transform:translateY(20px); transition:opacity .4s, transform .5s var(--ease); pointer-events:none; }
.cr-top.is-on{ opacity:1; transform:none; pointer-events:auto; }
.cr-top svg.cr-top__ring{ position:absolute; inset:-6px; width:76px; height:76px; transform:rotate(-90deg); }
.cr-top svg.cr-top__ring circle{ fill:none; stroke:var(--black); stroke-width:2; }
.cr-dark-page .cr-top svg.cr-top__ring circle{ stroke:#fff; }
.cr-top__arrow{ width:22px; height:22px; transform:rotate(-90deg); }
@media (max-width:767px){ .cr-top{ right:14px; bottom:14px; width:52px; height:52px; } .cr-top svg.cr-top__ring{ inset:-5px; width:62px; height:62px; } }

/* ------------------------------------------------------------------ cards */
.cr-card{ position:relative; background:var(--soft); border-radius:var(--r); transition:transform .6s var(--ease), background .4s; }
.cr-card--pad{ padding:40px; } @media (max-width:767px){ .cr-card--pad{ padding:24px; } }
.cr-card--surface{ background:var(--white); border:1px solid var(--line); }
.cr-card--hover:hover{ transform:translateY(-6px); }
.cr-dark .cr-card{ background:var(--black-2); }
.cr-media{ position:relative; overflow:hidden; border-radius:inherit; background:var(--black-2); isolation:isolate; }
.cr-media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease), opacity .6s; }
.cr-media img[data-fallback]{ opacity:0; } .cr-media img.is-loaded{ opacity:1; }
.cr-card--hover:hover .cr-media img,a:hover .cr-media img,.cr-zoom:hover img{ transform:scale(1.06); }
.cr-media__art{ position:absolute; inset:0; z-index:-1; width:100%; height:100%; object-fit:cover; }

.cr-svc{ display:flex; flex-direction:column; height:100%; overflow:hidden; background:var(--soft); }
.cr-svc__top{ padding:30px 30px 0; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cr-svc__body{ padding:22px 30px 30px; display:flex; flex-direction:column; gap:14px; flex:1; }
.cr-svc__title{ font-family:var(--display); font-weight:600; font-size:clamp(19.68px, 1.72vw, 24.6px); letter-spacing:-.035em; line-height:1.08; color:var(--head); }
.cr-svc__title a::after{ content:''; position:absolute; inset:0; z-index:1; border-radius:var(--r); }
.cr-svc__desc{ font-size:16px; line-height:1.55; }
.cr-svc__meta{ display:flex; flex-wrap:wrap; gap:8px 18px; font-size:14.5px; color:var(--muted); }
.cr-svc__meta span{ display:inline-flex; align-items:center; gap:6px; } .cr-svc__meta svg{ width:15px; height:15px; }
.cr-svc__foot{ margin-top:auto; padding-top:18px; border-top:1px solid var(--line-2); display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cr-price{ font-family:var(--display); font-weight:600; color:var(--head); font-size:22.96px; letter-spacing:-.04em; line-height:1; }
.cr-price small{ display:block; font-family:var(--sans); font-size:13px; font-weight:400; letter-spacing:0; color:var(--muted); margin-top:6px; white-space:nowrap; }
.cr-svc__add{ position:relative; z-index:2; }
.cr-tile{ padding:30px; border-radius:var(--r); background:var(--soft); }
.cr-icon{ display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:var(--black); color:#fff; flex:none; }
.cr-icon svg{ width:22px; height:22px; }
.cr-icon--lime,.cr-icon--ir{ background:var(--black); color:#fff; }
.cr-dark .cr-icon{ background:#fff; color:var(--black); }

/* ------------------------------------------------------------------ marquee */
.cr-marquee{ position:relative; display:flex; overflow:hidden; user-select:none; }
.cr-marquee__track{ display:flex; flex:none; align-items:center; min-width:100%; animation:cr-marquee var(--speed,40s) linear infinite; }
.cr-marquee--reverse .cr-marquee__track{ animation-direction:reverse; }
.cr-marquee:hover .cr-marquee__track{ animation-play-state:paused; }
@keyframes cr-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-100%); } }
.cr-marquee__item{ display:inline-flex; align-items:center; gap:44px; padding-right:44px; white-space:nowrap; font-family:var(--display); font-weight:600; letter-spacing:-.05em; line-height:1; color:var(--head); font-size:clamp(34.32px, 5.28vw, 92.4px); }
.cr-marquee__item:nth-child(even){ color:transparent; -webkit-text-stroke:1.5px var(--head); }
.cr-dark .cr-marquee__item{ color:#fff; } .cr-dark .cr-marquee__item:nth-child(even){ color:transparent; -webkit-text-stroke:1.5px #fff; }
.cr-marquee__star{ width:.36em; height:.36em; flex:none; }
.cr-band{ padding-block:40px; overflow:hidden; }

/* ------------------------------------------------------------------ reveal */
.cr-js [data-reveal]{ opacity:0; transform:translateY(50px); transition:opacity 1.1s var(--ease), transform 1.1s var(--ease); transition-delay:var(--d,0s); }
.cr-js [data-reveal="fade"]{ transform:none; } .cr-js [data-reveal="scale"]{ transform:scale(.95); }
.cr-js [data-reveal].is-in{ opacity:1; transform:none; }
.cr-split .cr-w{ text-indent:0; display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.1em; margin-bottom:-.1em; }
.cr-split .cr-w > span{ display:inline-block; transform:translateY(110%) rotate(4deg); transform-origin:left top; transition:transform 1.2s var(--ease); transition-delay:calc(var(--i,0) * 50ms + var(--d,0s)); }
.cr-split.is-in .cr-w > span{ transform:none; }
.cr-statement{ font-family:var(--display); font-weight:600; font-size:clamp(24px, 2.8vw, 48px); line-height:1; letter-spacing:-.05em; color:var(--head); }
.cr-statement .cr-sw{ color:#D6D6D6; transition:color .35s ease; }
.cr-statement .cr-sw.is-lit{ color:var(--head); }
.cr-dark .cr-statement .cr-sw{ color:#3A3A3A; } .cr-dark .cr-statement .cr-sw.is-lit{ color:#fff; }
.cr-draw path,.cr-draw line,.cr-draw circle,.cr-draw polyline{ stroke-dasharray:var(--len,1200); stroke-dashoffset:var(--len,1200); transition:stroke-dashoffset 2.4s var(--ease); transition-delay:var(--d,0s); }
.cr-draw.is-in path,.cr-draw.is-in line,.cr-draw.is-in circle,.cr-draw.is-in polyline{ stroke-dashoffset:0; }

/* =================================================================== HOME */
/* Hero */
.cr-hero{ position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:flex-end; padding-top:calc(var(--header-h) + 60px); padding-bottom:64px; background:var(--black); color:#fff; overflow:hidden; isolation:isolate; }
.cr-hero__bg{ position:absolute; inset:0; z-index:-2; }
.cr-hero__bg img{ width:100%; height:100%; object-fit:cover; transform:scale(1.08); animation:cr-drift 24s ease-in-out infinite alternate; }
@keyframes cr-drift{ from{ transform:scale(1.08) translate(0,0); } to{ transform:scale(1.16) translate(-2%,-1.5%); } }
.cr-hero::after{ content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(17,17,17,.35) 0%, rgba(17,17,17,.1) 40%, rgba(17,17,17,.75) 100%); }
.cr-hero__grid{ display:grid; gap:44px; width:100%; }
@media (min-width:1025px){ .cr-hero__grid{ grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); column-gap:64px; row-gap:0; align-items:end; } .cr-hero__grid > h1{ grid-column:1 / -1; } }
.cr-hero h1{ color:#fff; max-width:1280px; font-size:clamp(33.12px, 8.64vw, 46.08px); }
@media (min-width:768px){ .cr-hero h1{ font-size:clamp(42.24px, 4.49vw, 81.84px); } }
.cr-hero__facts{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:56px; max-width:640px; }
.cr-hero__facts p{ padding-top:22px; border-top:1px solid rgba(255,255,255,.3); font-size:clamp(15.64px,1.38vw,20.24px); line-height:1.3; letter-spacing:-.02em; color:#fff; }
.cr-hero__intro{ display:grid; gap:32px; }
.cr-hero__intro p{ font-size:clamp(16.4px,1.48vw,24.6px); line-height:1.3; letter-spacing:-.03em; color:#fff; }
.cr-hero__scroll{ position:absolute; right:var(--gutter); top:calc(var(--header-h) + 60px); display:flex; align-items:center; gap:14px; color:rgba(255,255,255,.7); font-size:14px; writing-mode:vertical-rl; }
.cr-hero__scroll i{ display:block; width:1px; height:60px; background:rgba(255,255,255,.4); position:relative; overflow:hidden; }
.cr-hero__scroll i::after{ content:''; position:absolute; left:0; top:-40%; width:1px; height:40%; background:#fff; animation:cr-scrollline 2s var(--ease-in-out) infinite; }
@keyframes cr-scrollline{ to{ top:100%; } }
@media (max-width:1024px){ .cr-hero__scroll{ display:none; } }

/* Who we are */
.cr-who{ display:grid; gap:48px; }
@media (min-width:1025px){ .cr-who{ grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; } }
.cr-who__title{ font-size:clamp(27.36px, 3.6vw, 61.92px); line-height:.98; letter-spacing:-.055em; text-indent:2.6em; }
@media (min-width:1025px){ .cr-who__title{ grid-column:6 / -1; grid-row:1; } }
.cr-who__label{ padding-top:18px; border-top:1px solid var(--head); align-self:start; }
@media (min-width:1025px){ .cr-who__label{ grid-column:1 / 4; grid-row:2; margin-top:40px; } }
.cr-who__img{ position:relative; width:min(100%, 360px); aspect-ratio:1/1; border-radius:0 100% 0 0; overflow:hidden; }
.cr-who__img img{ width:100%; height:100%; object-fit:cover; }
@media (min-width:1025px){ .cr-who__img{ grid-column:4 / 7; grid-row:2 / 4; margin-top:40px; } }
.cr-who__dots{ display:grid; grid-template-columns:repeat(2,16px); gap:2px 6px; color:var(--head); font-size:16.56px; line-height:1; font-weight:300; align-self:end; }
@media (min-width:1025px){ .cr-who__dots{ grid-column:7 / 8; grid-row:3; } }
.cr-who__text{ display:grid; gap:24px; font-size:clamp(14.76px,1.27vw,19.68px); line-height:1.4; color:var(--head); letter-spacing:-.01em; }
@media (min-width:1025px){ .cr-who__text{ grid-column:8 / -1; grid-row:2 / 4; margin-top:40px; } }

/* Services index (dark rows) */
.cr-plist{ border-top:1px solid var(--d-line-2); }
.cr-prow{ position:relative; display:grid; grid-template-columns:70px minmax(0,1fr) auto; gap:24px; align-items:center; padding:30px 0; border-bottom:1px solid var(--d-line-2); color:#fff; }
.cr-prow__n{ font-size:16px; color:var(--d-muted); }
.cr-prow__title{ font-family:var(--display); font-weight:600; font-size:clamp(20px, 2.6vw, 42px); letter-spacing:-.055em; line-height:1; color:#fff; transition:transform .6s var(--ease), color .4s; }
.cr-prow__title a::after{ content:''; position:absolute; inset:0; z-index:1; }
.cr-prow:hover .cr-prow__title{ transform:translateX(24px); }
.cr-plist:hover .cr-prow__title{ color:rgba(255,255,255,.3); }
.cr-plist:hover .cr-prow:hover .cr-prow__title{ color:#fff; }
.cr-prow__side{ display:flex; align-items:center; gap:24px; }
.cr-prow__count{ font-size:16px; color:var(--d-body); white-space:nowrap; text-align:right; }
.cr-prow__desc{ display:none; }
@media (max-width:767px){ .cr-prow{ grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:22px 0; } .cr-prow__n{ grid-column:1 / -1; font-size:14px; } .cr-prow__count{ display:none; } }
.cr-hoverimg{ position:fixed; top:0; left:0; z-index:90; width:340px; height:240px; border-radius:var(--r); overflow:hidden; pointer-events:none; opacity:0; transform:translate(-50%,-50%) scale(.6); transition:opacity .35s, transform .55s var(--ease); background:var(--black-2); }
.cr-hoverimg.is-on{ opacity:1; transform:translate(-50%,-50%) scale(1); }
.cr-hoverimg img{ width:100%; height:100%; object-fit:cover; }
@media (hover:none),(max-width:1024px){ .cr-hoverimg{ display:none; } }

/* Recent work */
.cr-workhead{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; font-size:17.48px; color:var(--head); margin-bottom:40px; }
.cr-workhead > :last-child{ justify-self:end; }
@media (max-width:767px){ .cr-workhead{ grid-template-columns:1fr auto; } .cr-workhead > :nth-child(2){ display:none; } }
.cr-mega-stack{ display:grid; margin-bottom:72px; }
.cr-mega-stack span{ display:block; }
.cr-mega-stack span:last-child{ justify-self:end; }
.cr-work{ display:grid; gap:24px; grid-template-columns:1fr; }
@media (min-width:768px){ .cr-work{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 24px; } }
.cr-workcard{ position:relative; display:block; }
.cr-workcard.is-hidden{ display:none; }
.cr-workcard__media{ aspect-ratio:1/0.82; border-radius:var(--r); }
.cr-workcard__over{ position:absolute; left:20px; top:20px; z-index:2; }
.cr-workcard__over .cr-chip{ background:rgba(255,255,255,.9); border-color:transparent; }
.cr-workcard__body{ display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding-top:22px; }
.cr-workcard__title{ font-family:var(--display); font-weight:600; font-size:clamp(19.68px, 1.97vw, 29.52px); letter-spacing:-.045em; line-height:1.05; color:var(--head); }
.cr-workcard__meta{ display:flex; flex-wrap:wrap; gap:4px 18px; font-size:16px; color:var(--muted); margin-top:8px; }
.cr-workfilters{ display:flex; flex-wrap:wrap; gap:6px 26px; margin-bottom:40px; }

/* Bento (featured services) */
.cr-bento{ display:grid; gap:20px; grid-template-columns:1fr; }
@media (min-width:768px){ .cr-bento{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1025px){ .cr-bento{ grid-template-columns:repeat(3,minmax(0,1fr)); } .cr-bento__a{ grid-column:span 2; grid-row:span 2; } }
.cr-bento .cr-card{ overflow:hidden; }
.cr-feature{ display:flex; flex-direction:column; height:100%; }
.cr-feature__media{ height:260px; border-radius:0; }
@media (min-width:1025px){ .cr-bento__a .cr-feature__media{ height:auto; flex:1; min-height:360px; } }
.cr-feature__body{ padding:30px; display:flex; flex-direction:column; gap:12px; flex:1; }
.cr-bento__a .cr-feature__body{ flex:none; }
.cr-feature__top{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cr-feature__title{ font-family:var(--display); font-weight:600; color:var(--head); letter-spacing:-.04em; line-height:1.05; font-size:clamp(19.68px, 1.8vw, 26.24px); }
.cr-bento__a .cr-feature__title{ font-size:clamp(21.6px, 2.45vw, 37.44px); }
.cr-feature__title a::after{ content:''; position:absolute; inset:0; z-index:1; }
.cr-feature__foot{ margin-top:auto; display:flex; align-items:end; justify-content:space-between; gap:12px; padding-top:12px; }
.cr-feature--dark{ background:var(--black) !important; color:var(--d-body); }
.cr-feature--dark .cr-feature__title,.cr-feature--dark .cr-price{ color:#fff; }
.cr-feature--dark .cr-price small{ color:var(--d-muted); }
.cr-feature--dark .cr-chip{ border-color:var(--d-line-2); color:#fff; }
.cr-feature--dark .cr-circle{ border-color:var(--d-line-2); color:#fff; }

/* Dark table rows (capabilities) */
.cr-dtable{ border-top:1px solid var(--d-line-2); }
.cr-drow{ display:grid; grid-template-columns:1fr; gap:10px 32px; padding:30px 0; border-bottom:1px solid var(--d-line-2); color:#fff; font-size:17.48px; }
@media (min-width:900px){ .cr-drow{ grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto; align-items:start; } }
.cr-drow__name{ font-family:var(--display); font-weight:600; font-size:clamp(18.72px, 1.87vw, 28.8px); letter-spacing:-.045em; line-height:1.05; }
.cr-drow__text{ color:var(--d-body); font-size:15.64px; }
.cr-drow__links{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.cr-drow__links a{ font-size:14.5px; color:#fff; border:1px solid var(--d-line-2); border-radius:var(--pill); padding:5px 12px; transition:all .3s; }
.cr-drow__links a:hover{ background:#fff; color:var(--black); }
.cr-drow__meta{ color:var(--d-body); white-space:nowrap; font-size:15.64px; }

/* Stack (typographic columns) */
.cr-stack{ display:grid; gap:40px 24px; grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (min-width:1025px){ .cr-stack{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:520px){ .cr-stack{ grid-template-columns:1fr; } }
.cr-stack__cell{ display:block; padding-top:20px; border-top:1px solid var(--head); }
.cr-stack__head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:18px; }
.cr-stack__head .cr-h4{ font-size:19.68px; letter-spacing:-.035em; }
.cr-stack__n{ font-size:15px; color:var(--muted); }
.cr-stack__list{ list-style:none; display:grid; gap:6px; }
.cr-stack__list li{ font-size:15.64px; color:var(--body); }
a.cr-stack__cell:hover .cr-h4{ text-decoration:underline; text-underline-offset:4px; }

/* Industries / accordions share the list style */
.cr-inds{ border-top:1px solid var(--head); }
.cr-ind{ border-bottom:1px solid var(--line-2); }
.cr-ind__btn{ width:100%; display:grid; grid-template-columns:70px minmax(0,1fr) auto; align-items:center; gap:24px; padding:30px 0; text-align:left; color:var(--head); }
.cr-ind__n{ font-size:16px; color:var(--muted); }
.cr-ind__title{ font-family:var(--display); font-weight:600; letter-spacing:-.05em; font-size:clamp(20.16px, 2.59vw, 40.32px); line-height:1.02; }
.cr-ind__plus{ width:52px; height:52px; border-radius:50%; border:1px solid var(--line-2); display:grid; place-items:center; transition:all .45s var(--ease); flex:none; }
.cr-ind__plus svg{ width:18px; height:18px; transition:transform .45s var(--ease); }
.cr-ind__btn:hover .cr-ind__plus,.cr-ind.is-open .cr-ind__plus{ background:var(--black); border-color:var(--black); color:#fff; }
.cr-ind.is-open .cr-ind__plus svg{ transform:rotate(45deg); }
.cr-ind__body{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .6s var(--ease); }
.cr-ind.is-open .cr-ind__body{ grid-template-rows:1fr; }
.cr-ind__inner{ overflow:hidden; }
.cr-ind__content{ display:grid; gap:28px; padding:0 0 36px 94px; }
@media (min-width:1025px){ .cr-ind__content{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; } }
@media (max-width:767px){ .cr-ind__btn{ grid-template-columns:minmax(0,1fr) auto; } .cr-ind__n{ display:none; } .cr-ind__content{ padding-left:0; } }
.cr-ind__svcs{ display:grid; border-top:1px solid var(--line-2); }
.cr-ind__svc{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0; border-bottom:1px solid var(--line-2); color:var(--head); font-size:15.64px; transition:padding .45s var(--ease); }
.cr-ind__svc:hover{ padding-left:10px; }
.cr-ind__svc span:last-child{ color:var(--muted); white-space:nowrap; font-size:16px; }

/* Process grid (dark) */
.cr-steps8{ display:grid; grid-template-columns:1fr; border-top:1px solid var(--d-line-2); }
@media (min-width:640px){ .cr-steps8{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1025px){ .cr-steps8{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.cr-step8{ padding:32px 28px 40px 0; border-bottom:1px solid var(--d-line-2); display:grid; gap:14px; align-content:start; transition:background .4s; }
@media (min-width:640px){ .cr-step8{ padding-left:0; } .cr-step8:not(:nth-child(4n+1)){ padding-left:28px; border-left:1px solid var(--d-line); } }
@media (min-width:640px) and (max-width:1024px){ .cr-step8{ border-left:0 !important; padding-left:0 !important; } .cr-step8:nth-child(even){ padding-left:28px !important; border-left:1px solid var(--d-line) !important; } }
.cr-step8__n{ font-family:var(--display); font-weight:600; font-size:clamp(36.96px, 3.96vw, 63.36px); letter-spacing:-.06em; line-height:.9; color:transparent; -webkit-text-stroke:1.2px rgba(255,255,255,.45); transition:color .5s, -webkit-text-stroke-color .5s; }
.cr-step8:hover .cr-step8__n{ color:#fff; -webkit-text-stroke-color:#fff; }
.cr-step8 h3{ font-size:clamp(19.68px, 1.64vw, 24.6px); letter-spacing:-.04em; }
.cr-step8 p{ font-size:16.5px; color:var(--d-body); }

/* Quotes (commitments / testimonials) */
.cr-quotes{ position:relative; }
.cr-quotes__viewport{ overflow:hidden; }
.cr-quotes__track{ display:flex; transition:transform .8s var(--ease); }
.cr-quote{ flex:0 0 100%; min-width:0; }
.cr-quote__text{ font-family:var(--display); font-weight:600; font-size:clamp(23.04px, 3.46vw, 57.6px); line-height:1; letter-spacing:-.05em; color:var(--head); max-width:1300px; }
.cr-quote__who{ display:flex; align-items:center; gap:16px; margin-top:40px; font-size:17.48px; }
.cr-quote__av{ width:52px; height:52px; flex:none; border-radius:50%; display:grid; place-items:center; background:var(--black); color:#fff; font-family:var(--display); font-weight:600; }
.cr-quote__mark{ display:none; }
.cr-quotes__ctrl{ display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:56px; padding-top:22px; border-top:1px solid var(--head); }
.cr-quotes__count{ font-size:17.48px; }
.cr-quotes__dots{ display:flex; gap:8px; }
.cr-quotes__dots button{ width:8px; height:8px; border-radius:50%; background:var(--line-2); transition:background .3s, width .4s var(--ease); }
.cr-quotes__dots button[aria-current="true"]{ background:var(--black); width:28px; border-radius:4px; }

/* Journal cards */
.cr-journal{ display:grid; gap:48px 24px; }
@media (min-width:768px){ .cr-journal{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1025px){ .cr-journal{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.cr-post{ display:flex; flex-direction:column; gap:18px; position:relative; }
.cr-post__media{ aspect-ratio:1/0.78; border-radius:var(--r); }
.cr-post__meta{ display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; font-size:15.5px; color:var(--muted); }
.cr-post__meta i{ width:4px; height:4px; border-radius:50%; background:var(--faint); display:block; }
.cr-post__title{ font-family:var(--display); font-weight:600; color:var(--head); font-size:clamp(18.86px, 1.64vw, 24.6px); letter-spacing:-.04em; line-height:1.08; }
.cr-post__title a{ background:linear-gradient(currentColor,currentColor) left bottom / 0 1.5px no-repeat; transition:background-size .5s var(--ease); }
.cr-post__title a::after{ content:''; position:absolute; inset:0; }
.cr-post:hover .cr-post__title a{ background-size:100% 1.5px; }
.cr-post--lead{ display:grid; gap:32px; }
@media (min-width:1025px){ .cr-post--lead{ grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:56px; } }
.cr-article__media{ aspect-ratio:21/9; border-radius:var(--r); }
@media (max-width:767px){ .cr-article__media{ aspect-ratio:16/10; } }
.cr-article{ font-size:17.48px; line-height:1.7; color:var(--body); }
.cr-article > * + *{ margin-top:1.1em; }
.cr-article h2{ font-size:clamp(20.16px, 2.16vw, 28.8px); letter-spacing:-.045em; margin-top:1.8em; line-height:1.05; }
.cr-article ul,.cr-article ol{ padding-left:1.2em; } .cr-article li + li{ margin-top:.5em; }
.cr-article a{ color:var(--head); text-decoration:underline; text-underline-offset:4px; }
.cr-article strong{ color:var(--head); }
.cr-article blockquote{ margin:1.8em 0; padding:0; font-family:var(--display); font-weight:600; font-size:clamp(20.16px,2.16vw,28.8px); line-height:1.1; letter-spacing:-.045em; color:var(--head); }

/* CTA + footer (white, Adon-like) */
.cr-ctaband{ display:none; }
.cr-footer{ background:var(--white); color:var(--head); border-top:1px solid var(--line); }
.cr-footer__grid{ display:grid; }
@media (min-width:1025px){ .cr-footer__grid{ grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); } }
.cr-footer__cta{ display:grid; align-content:center; gap:40px; padding:100px 48px 100px 0; }
@media (max-width:1024px){ .cr-footer__cta{ padding:72px 0 56px; } }
.cr-footer__big{ font-family:var(--display); font-weight:600; font-size:clamp(30.36px, 3.96vw, 68.64px); line-height:.98; letter-spacing:-.055em; color:var(--head); max-width:760px; }
.cr-footer__cols{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 32px; padding:100px 0 100px 64px; border-left:1px solid var(--line); }
@media (min-width:640px){ .cr-footer__cols{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:1024px){ .cr-footer__cols{ border-left:0; border-top:1px solid var(--line); padding:56px 0; } }
.cr-footer h2.cr-fh{ font-family:var(--sans); font-size:clamp(16.4px,1.31vw,21.32px); font-weight:400; letter-spacing:-.01em; color:var(--faint); margin-bottom:22px; }
.cr-footer__links{ list-style:none; display:grid; gap:8px; }
.cr-footer__links a{ font-size:clamp(16.56px,1.29vw,20.24px); color:var(--head); overflow-wrap:anywhere; background:linear-gradient(currentColor,currentColor) left bottom / 0 1px no-repeat; transition:background-size .45s var(--ease); }
.cr-footer__links a:hover{ background-size:100% 1px; }
.cr-news{ display:grid; gap:12px; max-width:520px; }
.cr-news h3{ font-size:18.4px; letter-spacing:-.02em; }
.cr-news__form{ display:flex; gap:8px; padding:6px; border-radius:var(--pill); border:1px solid var(--line-2); transition:border-color .3s; }
.cr-news__form:focus-within{ border-color:var(--head); }
.cr-news__form input{ flex:1; min-width:0; background:transparent; border:0; padding:0 18px; color:var(--head); font-size:16px; }
.cr-news__form input:focus{ outline:none; }
.cr-news__form input::placeholder{ color:var(--faint); }
.cr-news__msg{ font-size:14.5px; min-height:1.2em; }
.cr-search{ display:flex; gap:8px; padding:6px; border-radius:var(--pill); border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.06); }
.cr-search:focus-within{ border-color:#fff; }
.cr-search input{ flex:1; min-width:0; background:transparent; border:0; padding:0 18px; color:#fff; font-size:16px; }
.cr-search input::placeholder{ color:rgba(255,255,255,.55); }
.cr-search input:focus{ outline:none; }
.cr-footer__legal{ font-size:14px; color:var(--muted); padding:0 0 18px; text-align:center; }
.cr-footer__bottom{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px 28px; padding-block:30px 40px; border-top:1px solid var(--line); font-size:clamp(14.72px,1.2vw,18.4px); color:var(--head); text-align:center; }
.cr-footer__bottom span.cr-muted{ color:var(--faint); }
.cr-footer__bottom nav{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px 22px; font-size:15.5px; }
.cr-footer__bottom nav a{ color:var(--muted); } .cr-footer__bottom nav a:hover{ color:var(--head); }
.cr-socials{ display:flex; flex-wrap:wrap; gap:8px; }
.cr-social{ display:inline-flex; align-items:center; min-height:38px; padding:6px 16px; border-radius:var(--pill); border:1px solid var(--line-2); font-size:15px; color:var(--head); transition:all .3s; }
.cr-social:hover{ background:var(--black); color:#fff; border-color:var(--black); }
.cr-totop{ display:none; }

/* ---------------------------------------------------------------- forms */
.cr-form{ display:grid; gap:22px; }
.cr-fields{ display:grid; gap:20px; }
@media (min-width:640px){ .cr-fields--2{ grid-template-columns:repeat(2,minmax(0,1fr)); } .cr-fields--3{ grid-template-columns:repeat(3,minmax(0,1fr)); } .cr-span-2{ grid-column:span 2; } }
.cr-field{ display:grid; gap:8px; min-width:0; }
.cr-field > label,.cr-field__label{ font-size:15px; color:var(--head); }
.cr-field__opt{ color:var(--muted); }
.cr-input,.cr-select,.cr-textarea{ width:100%; min-height:56px; padding:14px 0; background:transparent; border:0; border-bottom:1px solid var(--line-2); border-radius:0; color:var(--head); font-size:16.56px; line-height:1.4; transition:border-color .3s; appearance:none; -webkit-appearance:none; }
.cr-textarea{ min-height:140px; resize:vertical; }
.cr-select{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 2px center; background-size:18px; padding-right:30px; }
.cr-input::placeholder,.cr-textarea::placeholder{ color:var(--faint); }
.cr-input:hover,.cr-select:hover,.cr-textarea:hover{ border-bottom-color:var(--muted); }
.cr-input:focus,.cr-select:focus,.cr-textarea:focus{ outline:none; border-bottom:1.5px solid var(--head); }
.cr-input.is-err,.cr-select.is-err,.cr-textarea.is-err,.cr-input[aria-invalid="true"],.cr-textarea[aria-invalid="true"],.cr-select[aria-invalid="true"]{ border-bottom-color:var(--danger) !important; }
.cr-help{ font-size:14px; color:var(--muted); } .cr-err{ font-size:14px; color:var(--danger); } .cr-okmsg{ font-size:14px; color:var(--ok); }
.cr-check{ display:flex; align-items:flex-start; gap:12px; font-size:15.5px; color:var(--body); line-height:1.5; cursor:pointer; }
.cr-check input{ appearance:none; -webkit-appearance:none; width:22px; height:22px; border-radius:50%; border:1px solid var(--line-2); background:#fff; flex:none; margin-top:1px; display:grid; place-items:center; cursor:pointer; transition:all .2s; }
.cr-check input:checked{ background:var(--black); border-color:var(--black); }
.cr-check input:checked::after{ content:''; width:5px; height:10px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg) translate(-1px,-1px); }
.cr-check a{ color:var(--head); text-decoration:underline; text-underline-offset:3px; }
.cr-alert{ display:flex; gap:12px; align-items:flex-start; padding:16px 20px; border-radius:var(--r-md); font-size:15.5px; line-height:1.5; }
.cr-alert svg{ width:18px; height:18px; flex:none; margin-top:2px; }
.cr-alert--err{ background:var(--danger-soft); color:#7A1A12; }
.cr-alert--ok{ background:var(--ok-soft); color:#12432A; }
.cr-alert--info{ background:var(--soft); color:var(--head); }
.cr-pw{ position:relative; } .cr-pw .cr-input{ padding-right:70px; }
.cr-pw button{ position:absolute; right:0; top:50%; transform:translateY(-50%); font-size:14px; color:var(--head); text-decoration:underline; padding:8px 0; }

/* ---------------------------------------------------------- summary box */
.cr-summary{ padding:34px; border-radius:var(--r); background:var(--soft); }
@media (max-width:767px){ .cr-summary{ padding:22px; } }
.cr-sumrow{ display:flex; justify-content:space-between; gap:16px; font-size:16.5px; padding:9px 0; }
.cr-sumrow span:first-child{ color:var(--muted); } .cr-sumrow span:last-child{ color:var(--head); text-align:right; }
.cr-sumrow--total{ border-top:1px solid var(--head); margin-top:10px; padding-top:18px; align-items:baseline; }
.cr-sumrow--total span:first-child{ color:var(--head); }
.cr-sumrow--total span:last-child{ font-family:var(--display); font-size:27.88px; font-weight:600; letter-spacing:-.04em; }
.cr-steps{ list-style:none; display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; font-size:16px; }
.cr-steps li{ display:inline-flex; align-items:center; gap:8px; color:rgba(255,255,255,.5); }
.cr-steps li b{ font-weight:400; }
.cr-steps li b::before{ content:'('; } .cr-steps li b::after{ content:')'; }
.cr-steps li.is-done{ color:rgba(255,255,255,.75); } .cr-steps li.is-now{ color:#fff; }
.cr-steps li + li::before{ content:''; width:24px; height:1px; background:rgba(255,255,255,.3); }
.cr-steps--light li{ color:var(--faint); } .cr-steps--light li.is-now{ color:var(--head); } .cr-steps--light li.is-done{ color:var(--muted); } .cr-steps--light li + li::before{ background:var(--line-2); }
@media (max-width:520px){ .cr-steps li:not(.is-now) .cr-steps__t{ display:none; } }

.cr-status{ display:inline-flex; align-items:center; gap:7px; min-height:28px; padding:3px 12px; border-radius:var(--pill); font-size:13.5px; white-space:nowrap; border:1px solid; }
.cr-status::before{ content:''; width:7px; height:7px; border-radius:50%; background:currentColor; }
.cr-status-paid{ color:var(--ok); border-color:rgba(31,107,58,.35); background:var(--ok-soft); }
.cr-status-live{ color:var(--head); border-color:var(--line-2); background:var(--white); }
.cr-status-done{ color:#fff; background:var(--black); border-color:var(--black); }
.cr-status-pending{ color:var(--warn); border-color:rgba(122,83,0,.3); background:var(--warn-soft); }
.cr-status-failed{ color:var(--danger); border-color:rgba(180,35,24,.3); background:var(--danger-soft); }

.cr-table-wrap{ overflow-x:auto; border-radius:var(--r-md); border:1px solid var(--line); }
.cr-table{ width:100%; border-collapse:collapse; font-size:16px; min-width:560px; }
.cr-table th{ text-align:left; font-weight:400; color:var(--muted); padding:16px 20px; border-bottom:1px solid var(--line); }
.cr-table td{ padding:18px 20px; border-bottom:1px solid var(--line); vertical-align:middle; }
.cr-table tr:last-child td{ border-bottom:0; } .cr-table td strong{ color:var(--head); }

/* Accordion */
.cr-acc{ border-top:1px solid var(--head); }
.cr-acc__item{ border-bottom:1px solid var(--line-2); }
.cr-acc__btn{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:26px 0; text-align:left; font-family:var(--display); font-weight:600; font-size:clamp(16.4px, 1.56vw, 22.96px); letter-spacing:-.035em; color:var(--head); line-height:1.15; }
.cr-acc__icon{ width:44px; height:44px; border-radius:50%; border:1px solid var(--line-2); display:grid; place-items:center; flex:none; transition:all .4s var(--ease); color:var(--head); }
.cr-acc__icon svg{ width:16px; height:16px; transition:transform .4s var(--ease); }
.cr-acc__btn:hover .cr-acc__icon,.cr-acc__item.is-open .cr-acc__icon{ background:var(--black); border-color:var(--black); color:#fff; }
.cr-acc__item.is-open .cr-acc__icon svg{ transform:rotate(45deg); }
.cr-acc__body{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .5s var(--ease); }
.cr-acc__item.is-open .cr-acc__body{ grid-template-rows:1fr; }
.cr-acc__inner{ overflow:hidden; }
.cr-acc__content{ padding:0 68px 28px 0; font-size:16.1px; line-height:1.65; }
@media (max-width:767px){ .cr-acc__content{ padding-right:0; } }

/* ------------------------------------------------------------ page hero (dark) */
.cr-pagehero{ position:relative; isolation:isolate; overflow:hidden; background:var(--black); color:var(--d-body); padding-top:calc(var(--header-h) + 90px); padding-bottom:80px; }
@media (max-width:767px){ .cr-pagehero{ padding-top:calc(var(--header-h) + 48px); padding-bottom:52px; } }
.cr-pagehero h1,.cr-pagehero h2,.cr-pagehero h3,.cr-pagehero .cr-head{ color:#fff; }
.cr-pagehero .cr-lead{ color:var(--d-body); }
.cr-pagehero .cr-label{ color:#fff; }
.cr-pagehero .cr-chip{ border-color:var(--d-line-2); color:#fff; }
.cr-pagehero .cr-link{ color:#fff; }
.cr-pagehero__art{ position:absolute; inset:0; z-index:-1; pointer-events:none; }
.cr-art-grid{ background:url(/assets/img/hero-flow.jpg) center/cover no-repeat; opacity:.28; }
.cr-pagehero__grid{ display:grid; gap:28px; }
@media (min-width:1025px){ .cr-pagehero__grid{ grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:64px; align-items:end; } }
.cr-crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:16px; color:var(--d-muted); margin-bottom:34px; }
.cr-crumbs a:hover{ color:#fff; } .cr-crumbs span[aria-hidden]{ opacity:.6; } .cr-crumbs [aria-current]{ color:#fff; }
.cr-pagehero .cr-search{ max-width:560px; }
.cr-pagehero .cr-fact{ border-color:var(--d-line-2); }
.cr-pagehero .cr-fact span{ color:var(--d-muted); }
.cr-pagehero .cr-fact b{ color:#fff; }
.cr-pagehero .cr-facts{ border-color:var(--d-line-2); }

/* --------------------------------------------------------- service page */
.cr-svchero{ display:grid; gap:40px; }
@media (min-width:1025px){ .cr-svchero{ grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:64px; align-items:end; } }
.cr-svchero__media .cr-media{ aspect-ratio:1/1; border-radius:0 100% 0 0; }
@media (max-width:1024px){ .cr-svchero__media{ display:none; } }
.cr-buybox{ padding:34px; border-radius:var(--r); background:var(--soft); display:grid; gap:18px; }
@media (min-width:1025px){ .cr-buybox--sticky{ position:sticky; top:calc(var(--header-h) + 20px); } }
.cr-buybox__price{ font-family:var(--display); font-weight:600; font-size:clamp(33.12px, 2.88vw, 46.08px); letter-spacing:-.055em; color:var(--head); line-height:1; }
.cr-facts{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--head); }
@media (min-width:768px){ .cr-facts{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.cr-fact{ padding:18px 16px 18px 0; display:grid; gap:4px; border-bottom:1px solid var(--line-2); }
.cr-fact span{ font-size:14.5px; color:var(--muted); }
.cr-fact b{ color:var(--head); font-weight:500; font-size:15.64px; }
.cr-deliv{ list-style:none; display:grid; counter-reset:d; border-top:1px solid var(--head); }
.cr-deliv li{ counter-increment:d; display:grid; grid-template-columns:64px 1fr; gap:14px; padding:22px 0; border-bottom:1px solid var(--line-2); color:var(--head); font-size:17.48px; line-height:1.45; letter-spacing:-.01em; }
.cr-deliv li::before{ content:'(' counter(d, decimal-leading-zero) ')'; color:var(--muted); font-size:16px; padding-top:3px; }
.cr-ticks{ list-style:none; display:grid; gap:12px; }
.cr-ticks li{ display:grid; grid-template-columns:22px 1fr; gap:12px; font-size:15.64px; line-height:1.5; }
.cr-ticks li::before{ content:''; width:8px; height:8px; margin-top:.6em; border-radius:50%; background:currentColor; opacity:.9; }
.cr-mobilebar{ position:fixed; left:12px; right:86px; bottom:14px; z-index:110; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 8px 8px 22px; border-radius:var(--pill); background:var(--black); color:#fff; transform:translateY(150%); transition:transform .5s var(--ease); }
.cr-mobilebar .cr-head{ color:#fff; } .cr-mobilebar .cr-muted{ color:var(--d-muted); }
.cr-mobilebar .cr-btn{ --bg:#fff; --fg:var(--black); --bd:#fff; }
.cr-mobilebar.is-on{ transform:none; }
@media (min-width:1025px){ .cr-mobilebar{ display:none; } }
.cr-svclayout{ display:grid; gap:48px; padding-block:110px 140px; }
@media (min-width:1025px){ .cr-svclayout{ grid-template-columns:minmax(0,1fr) 400px; gap:80px; align-items:start; } .cr-svclayout__aside{ grid-column:2; grid-row:1; } .cr-svcbody{ grid-column:1; grid-row:1; } }
@media (max-width:767px){ .cr-svclayout{ padding-block:56px 90px; } }
.cr-svcbody{ display:grid; min-width:0; }
.cr-svcsec{ display:grid; grid-template-columns:minmax(0,1fr); gap:28px; padding-block:64px; }
@media (min-width:1025px){ .cr-svcsec{ grid-template-columns:180px minmax(0,1fr); gap:32px; } }
.cr-svcsec:first-child{ padding-top:0; }
.cr-svcsec__n{ font-size:17.48px; color:var(--head); padding-top:14px; border-top:1px solid var(--head); align-self:start; }
.cr-svcsec__n::before{ content:'('; } .cr-svcsec__n::after{ content:')'; }
.cr-svcbody .cr-grid-3{ grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); display:grid; gap:16px; }
.cr-svcbody .cr-tile .cr-icon{ width:36px; height:36px; } .cr-svcbody .cr-tile .cr-icon svg{ width:16px; height:16px; }

/* ------------------------------------------------------------ policy/prose */
.cr-doc{ display:grid; gap:48px; }
@media (min-width:1025px){ .cr-doc{ grid-template-columns:280px minmax(0,1fr); gap:96px; } }
.cr-toc{ display:grid; gap:2px; align-content:start; }
@media (min-width:1025px){ .cr-toc{ position:sticky; top:calc(var(--header-h) + 20px); max-height:calc(100vh - var(--header-h) - 40px); overflow:auto; } }
.cr-toc a{ display:block; padding:6px 0; font-size:16px; color:var(--muted); transition:color .3s, padding .4s var(--ease); }
.cr-toc a:hover,.cr-toc a.is-active{ color:var(--head); padding-left:10px; }
.cr-prose{ font-size:16.56px; line-height:1.7; max-width:820px; }
.cr-prose > * + *,.cr-prose section > * + *{ margin-top:1em; }
.cr-prose section > h2 + *{ margin-top:0; }
.cr-prose section{ scroll-margin-top:calc(var(--header-h) + 20px); }
.cr-prose section + section{ margin-top:64px; padding-top:48px; border-top:1px solid var(--line); }
.cr-prose h2{ font-size:clamp(20.16px, 2.02vw, 30.24px); letter-spacing:-.045em; line-height:1.05; margin-bottom:20px; }
.cr-prose h3{ font-size:19.32px; margin-top:28px; margin-bottom:8px; }
.cr-prose ul,.cr-prose ol{ padding-left:1.25em; } .cr-prose li + li{ margin-top:.5em; }
.cr-prose a{ color:var(--head); text-decoration:underline; text-underline-offset:4px; }
.cr-prose strong{ color:var(--head); font-weight:600; }
.cr-prose table{ width:100%; border-collapse:collapse; font-size:16px; }
.cr-prose th,.cr-prose td{ text-align:left; padding:14px 16px; border-bottom:1px solid var(--line); vertical-align:top; }
.cr-prose th{ color:var(--head); font-weight:500; background:var(--soft); }
.cr-note{ padding:26px 28px; border-radius:var(--r); background:var(--soft); font-size:16.5px; }
.cr-note--lime,.cr-note--ice{ background:var(--black); color:var(--d-body); }
.cr-note--lime .cr-label,.cr-note--ice .cr-label{ color:#fff; }
.cr-note--lime .cr-ticks li,.cr-note--ice .cr-ticks li{ color:#fff; }
.cr-note--lime .cr-muted{ color:var(--d-muted); }
.cr-related{ display:grid; gap:16px; margin-top:72px; }
@media (min-width:768px){ .cr-related{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.cr-related__item{ padding:26px; text-decoration:none !important; }
.cr-related__item .cr-icon{ width:40px; height:40px; } .cr-related__item .cr-icon svg{ width:18px; height:18px; }

/* ----------------------------------------------------------- account shell */
.cr-acct{ display:grid; gap:32px; padding-top:calc(var(--header-h) + 60px); padding-bottom:120px; }
@media (min-width:1025px){ .cr-acct{ grid-template-columns:260px minmax(0,1fr); gap:56px; } }
.cr-acct__nav{ display:flex; gap:4px 20px; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
@media (min-width:1025px){ .cr-acct__nav{ flex-direction:column; position:sticky; top:calc(var(--header-h) + 20px); align-self:start; overflow:visible; } }
.cr-acct__nav a{ display:flex; align-items:center; gap:12px; padding:10px 0; color:var(--muted); font-size:15.64px; white-space:nowrap; transition:color .3s, padding .4s var(--ease); }
.cr-acct__nav a svg{ width:18px; height:18px; flex:none; }
.cr-acct__nav a:hover,.cr-acct__nav a.is-active{ color:var(--head); }
@media (min-width:1025px){ .cr-acct__nav a.is-active{ padding-left:10px; } }
.cr-stat{ padding:26px; border-radius:var(--r); background:var(--soft); display:grid; gap:6px; }
.cr-stat b{ font-family:var(--display); font-size:31.68px; font-weight:600; letter-spacing:-.05em; color:var(--head); line-height:1; }
.cr-stat span{ font-size:15px; color:var(--muted); }
.cr-stat .cr-icon{ width:38px !important; height:38px !important; } .cr-stat .cr-icon svg{ width:17px; height:17px; }
.cr-rail{ list-style:none; display:grid; }
.cr-rail li{ display:grid; grid-template-columns:34px 1fr; gap:16px; padding-bottom:26px; position:relative; }
.cr-rail li::before{ content:''; position:absolute; left:16px; top:34px; bottom:0; width:1px; background:var(--line-2); }
.cr-rail li:last-child::before{ display:none; }
.cr-rail li.is-done::before{ background:var(--head); }
.cr-rail__dot{ width:34px; height:34px; border-radius:50%; border:1px solid var(--line-2); background:#fff; display:grid; place-items:center; font-size:13.5px; color:var(--muted); position:relative; z-index:1; }
.cr-rail li.is-done .cr-rail__dot{ background:var(--black); border-color:var(--black); color:#fff; }
.cr-rail li.is-now .cr-rail__dot{ border-color:var(--head); color:var(--head); box-shadow:0 0 0 4px var(--soft-2); }
.cr-rail b{ display:block; color:var(--head); font-weight:500; font-size:16.56px; }
.cr-rail span{ font-size:15.5px; color:var(--muted); }
.cr-orderrow{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 24px; padding:22px 26px; border-bottom:1px solid var(--line); transition:background .3s; }
.cr-orderrow:last-child{ border-bottom:0; } .cr-orderrow:hover{ background:var(--soft); }
.cr-box{ border-radius:var(--r); border:1px solid var(--line); overflow:hidden; background:#fff; }
.cr-box__head{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:22px 26px; border-bottom:1px solid var(--line); }
.cr-box__body{ padding:26px; }
@media (max-width:767px){ .cr-box__head,.cr-box__body,.cr-orderrow{ padding-inline:18px; } }

/* ------------------------------------------------------------- auth shell */
.cr-auth{ min-height:100vh; display:grid; }
@media (min-width:1025px){ .cr-auth{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
.cr-auth__side{ position:relative; display:none; padding:calc(var(--header-h) + 48px) 56px 56px; background:var(--black); color:var(--d-body); overflow:hidden; isolation:isolate; }
.cr-auth__side .cr-h2,.cr-auth__side .cr-label{ color:#fff; }
.cr-auth__side .cr-ticks li{ color:#fff; }
@media (min-width:1025px){ .cr-auth__side{ display:flex; flex-direction:column; justify-content:space-between; } }
.cr-auth__main{ display:flex; flex-direction:column; justify-content:center; padding:calc(var(--header-h) + 40px) var(--gutter) 72px; }
.cr-auth__box{ width:100%; max-width:460px; margin-inline:auto; display:grid; gap:30px; }

/* ---------------------------------------------------------- category rows */
.cr-catrow .cr-acc__btn{ padding:30px 0; gap:24px; }
.cr-catrow__main{ display:flex; align-items:baseline; gap:24px; min-width:0; }
.cr-catrow__n{ font-family:var(--sans); font-weight:400; font-size:16px; letter-spacing:0; color:var(--muted); flex:none; width:46px; }
.cr-catrow__name{ font-size:clamp(17.28px, 2.16vw, 31.68px); line-height:1.05; letter-spacing:-.05em; }
.cr-catrow__side{ display:flex; align-items:center; gap:24px; flex:none; }
.cr-catrow__meta{ font-family:var(--sans); font-weight:400; font-size:16px; letter-spacing:0; color:var(--muted); }
.cr-catrow__price{ font-size:19.68px; color:var(--head); }
.cr-catrow__detail{ display:grid; gap:28px; padding:0 0 36px 70px; }
@media (min-width:1025px){ .cr-catrow__detail{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; } }
@media (max-width:767px){ .cr-catrow .cr-acc__btn{ flex-wrap:wrap; } .cr-catrow__main{ width:100%; gap:6px; flex-direction:column; } .cr-catrow__side{ width:100%; justify-content:space-between; } .cr-catrow__detail{ padding-left:0; } }

/* ---------------------------------------------------------------- contact */
.cr-contact{ display:grid; gap:56px; }
@media (min-width:1025px){ .cr-contact{ grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:96px; align-items:start; } .cr-contact__form{ position:sticky; top:calc(var(--header-h) + 20px); } }
.cr-contact__info{ display:grid; border-top:1px solid var(--head); }
.cr-contact__row{ display:flex; align-items:center; gap:18px; padding:22px 0; border-bottom:1px solid var(--line-2); }
.cr-contact__row .cr-icon{ width:44px; height:44px; } .cr-contact__row .cr-icon svg{ width:18px; height:18px; }
a.cr-contact__row:hover .cr-contact__val{ text-decoration:underline; text-underline-offset:4px; }
.cr-contact__val{ font-size:clamp(16.56px,1.38vw,20.24px); letter-spacing:-.01em; overflow-wrap:anywhere; }
.cr-contact__form.cr-card{ background:var(--soft); }

.cr-checkout{ display:grid; gap:32px; }
@media (min-width:1025px){ .cr-checkout{ grid-template-columns:minmax(0,1fr) 400px; gap:48px; align-items:start; } .cr-summary--sticky{ position:sticky; top:calc(var(--header-h) + 20px); } }
.cr-cartrow{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px 18px; align-items:center; padding:22px 26px; border-bottom:1px solid var(--line); }
.cr-cartrow:last-child{ border-bottom:0; }
@media (min-width:640px){ .cr-cartrow{ grid-template-columns:auto minmax(0,1fr) auto 130px; } }
.cr-cartrow__name{ display:block; font-size:16.56px; line-height:1.3; margin-top:2px; letter-spacing:-.01em; }
.cr-cartrow__name:hover{ text-decoration:underline; }

/* ------------------------------------------------------------ misc utils */
.cr-flex{ display:flex; }
@media (min-width:768px){ .cr-grid-2{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; } }
@media (min-width:1025px){ .cr-grid-3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; } .cr-grid-4{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; } }
@media (min-width:768px) and (max-width:1024px){ .cr-grid-3,.cr-grid-4{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; } }
@media (max-width:767px){ .cr-grid-2,.cr-grid-3,.cr-grid-4{ display:grid; gap:16px; } }
.cr-stack-sm > * + *{ margin-top:10px; } .cr-stack-md > * + *{ margin-top:22px; } .cr-stack-lg > * + *{ margin-top:34px; } .cr-stack-xl > * + *{ margin-top:56px; }
.mt-0{ margin-top:0 !important; } .mt-8{ margin-top:8px; } .mt-12{ margin-top:12px; } .mt-16{ margin-top:16px; } .mt-20{ margin-top:20px; } .mt-24{ margin-top:24px; } .mt-32{ margin-top:32px; } .mt-40{ margin-top:40px; } .mt-48{ margin-top:48px; } .mt-64{ margin-top:64px; } .mt-80{ margin-top:80px; }
.mb-16{ margin-bottom:16px; } .mb-24{ margin-bottom:24px; } .mb-40{ margin-bottom:40px; }
.gap-8{ gap:8px; } .gap-12{ gap:12px; } .gap-16{ gap:16px; } .gap-24{ gap:24px; }
.items-center{ align-items:center; } .items-start{ align-items:flex-start; } .items-end{ align-items:flex-end; } .justify-between{ justify-content:space-between; } .flex-wrap{ flex-wrap:wrap; } .flex-1{ flex:1; min-width:0; } .shrink-0{ flex-shrink:0; }
.w-full{ width:100%; } .hidden{ display:none !important; } .block{ display:block; } .relative{ position:relative; }
.text-right{ text-align:right; } .truncate{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .nowrap{ white-space:nowrap; }
.cr-divider{ height:1px; background:var(--line-2); }
.cr-kbd{ font-family:var(--mono); font-size:.9em; padding:2px 8px; border-radius:6px; background:var(--soft); color:var(--head); }
.cr-empty{ text-align:center; padding:72px 24px; border-radius:var(--r); background:var(--soft); display:grid; justify-items:center; gap:16px; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; transition-delay:0s !important; scroll-behavior:auto !important; }
  .cr-js [data-reveal]{ opacity:1; transform:none; }
  .cr-split .cr-w > span{ transform:none; }
  .cr-marquee__track{ animation:none; } .cr-marquee{ overflow-x:auto; }
  .cr-draw path,.cr-draw line,.cr-draw circle,.cr-draw polyline{ stroke-dashoffset:0 !important; }
  .cr-statement .cr-sw{ color:var(--head); } .cr-dark .cr-statement .cr-sw{ color:#fff; }
}
@media print{ .cr-header,.cr-footer,.cr-cursor,.cr-drawer,.cr-menu,.cr-mobilebar,.cr-toasts,.cr-top{ display:none !important; } }
@media (max-width:1024px){ .cr-who__dots{ display:none; } }

/* Dark page heroes reuse the dark-surface button colours */
.cr-pagehero .cr-btn--primary,.cr-pagehero .cr-btn--dark{ --bg:#fff; --fg:var(--black); --bd:#fff; }
.cr-pagehero .cr-btn--primary:hover,.cr-pagehero .cr-btn--dark:hover{ --bg:transparent; --fg:#fff; --bd:#fff; }
.cr-pagehero .cr-btn--outline{ --fg:#fff; --bd:rgba(255,255,255,.6); }

/* About: manifesto */
.cr-manifesto{ display:grid; gap:48px; }
@media (min-width:1025px){ .cr-manifesto{ grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:96px; } .cr-sticky{ position:sticky; top:calc(var(--header-h) + 30px); align-self:start; } }
.cr-principles{ display:grid; border-top:1px solid var(--head); }
.cr-principle{ display:grid; grid-template-columns:80px minmax(0,1fr); gap:24px; padding:40px 0; border-bottom:1px solid var(--line-2); }
.cr-principle__n{ font-size:17.48px; color:var(--muted); }
.cr-principle__n::before{ content:'('; } .cr-principle__n::after{ content:')'; }
.cr-principle .cr-h3{ font-size:clamp(18.72px,1.87vw,28.8px); }
@media (max-width:767px){ .cr-principle{ grid-template-columns:1fr; gap:10px; padding:30px 0; } }

/* Footer columns: give the practice list room */
@media (min-width:1025px){ .cr-footer__grid{ grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); } .cr-footer__cols{ grid-template-columns:.8fr 1.3fr 1fr; } }
.cr-olist{ display:grid; }
.cr-olist__row{ display:flex; align-items:center; gap:14px; padding:16px 0; border-bottom:1px solid var(--line); }
.cr-olist__row:last-child{ border-bottom:0; }
.cr-kv{ display:grid; gap:4px; } .cr-kv dt{ font-size:14px; color:var(--muted); } .cr-kv dd{ margin:0; color:var(--head); }
/* Pages that open on white (account, checkout, cart…) get a solid header pill */
body:not(:has(.cr-hero, .cr-pagehero)) .cr-header.is-top .cr-header__in{ background:rgba(17,17,17,.92); border-color:transparent; }
.cr-footer__links a[href^="mailto"]{ font-size:clamp(13.8px,0.97vw,16.56px); overflow-wrap:normal; word-break:normal; white-space:nowrap; }
@media (max-width:420px){ .cr-footer__links a[href^="mailto"]{ white-space:normal; overflow-wrap:anywhere; } }
.cr-fields{ align-items:start; }
/* ---------------------------------------------------------- checkout */
.cr-costeps{ display:grid; gap:0; min-width:0; }
.cr-cofs{ border:0; border-top:1px solid var(--line); padding:40px 0; margin:0; min-width:0; }
.cr-cofs:first-child{ border-top:0; padding-top:0; }
.cr-cofs__head{ display:grid; grid-template-columns:64px minmax(0,1fr); gap:8px; margin-bottom:28px; align-items:baseline; }
@media (max-width:640px){ .cr-cofs__head{ grid-template-columns:44px minmax(0,1fr); } }
.cr-cofs__n{ font-size:15.64px; color:var(--muted); }
.cr-cofs .cr-fields,.cr-cofs #couponBox,.cr-cofs #couponApplied,.cr-cofs #couponMsg,.cr-cofs .cr-paymethod{ margin-left:72px; }
@media (max-width:640px){ .cr-cofs .cr-fields,.cr-cofs #couponBox,.cr-cofs #couponApplied,.cr-cofs #couponMsg,.cr-cofs .cr-paymethod{ margin-left:0; } }
.cr-cofs--terms{ padding-top:32px; }
.cr-req{ color:var(--danger); }
.cr-fielderr{ color:var(--danger); font-size:14px; margin-top:8px; } .cr-fieldok{ color:#1E7A45; font-size:14px; margin-top:8px; }
.cr-paymethod{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:18px; align-items:start; padding:22px; border:1.5px solid var(--head); border-radius:var(--r); cursor:pointer; }
.cr-paymethod__tick{ width:30px; height:30px; border-radius:50%; background:var(--head); color:#fff; display:grid; place-items:center; } .cr-paymethod__tick svg{ width:16px; height:16px; }
.cr-coitems{ list-style:none; margin:18px 0 12px; border-bottom:1px solid var(--line-2); }
.cr-coitem{ display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:14px; align-items:center; padding:14px 0; border-top:1px solid var(--line-2); }
.cr-coitem__mono{ position:relative; width:44px; height:44px; border-radius:50%; background:var(--head); color:#fff; display:grid; place-items:center; font-size:13px; font-weight:600; letter-spacing:.02em; }
.cr-coitem__mono b{ position:absolute; top:-6px; right:-6px; min-width:20px; height:20px; padding:0 5px; border-radius:10px; background:#fff; color:var(--head); border:1px solid var(--head); font-size:11px; display:grid; place-items:center; }
.cr-coitem__name{ display:block; color:var(--head); font-size:15.5px; line-height:1.35; }
.cr-coitem__cat{ display:block; color:var(--muted); font-size:13px; margin-top:2px; }
.cr-coitem__price{ color:var(--head); font-size:15.5px; white-space:nowrap; }
.cr-afterlist{ list-style:none; padding:10px 26px 26px; }
.cr-afterlist li{ display:grid; grid-template-columns:56px minmax(0,1fr); gap:8px; padding:18px 0; border-bottom:1px solid var(--line); }
.cr-afterlist li:last-child{ border-bottom:0; }
a.cr-coitem__name:hover{ text-decoration:underline; }
[class^="cr-status-"],[class*=" cr-status-"]{ display:inline-flex; align-items:center; gap:7px; min-height:28px; padding:3px 12px; border-radius:var(--pill); font-size:13.5px; white-space:nowrap; border:1px solid; }
[class^="cr-status-"]::before,[class*=" cr-status-"]::before{ content:''; width:7px; height:7px; border-radius:50%; background:currentColor; }
.cr-ordernum{ display:inline-flex; flex-wrap:wrap; align-items:center; gap:10px 16px; padding:14px 22px; border:1px solid rgba(255,255,255,.22); border-radius:var(--pill); max-width:100%; }
.cr-ordernum strong{ color:#fff; font-size:16.56px; letter-spacing:.04em; font-weight:500; overflow-wrap:anywhere; }
.cr-track{ display:grid; gap:20px; }
@media (min-width:768px){ .cr-track{ grid-template-columns:1fr 1fr auto; align-items:end; } }
.cr-pagehero .cr-track label{ color:rgba(255,255,255,.7); }
.cr-pagehero .cr-track .cr-input{ color:#fff; border-bottom-color:rgba(255,255,255,.3); }
.cr-pagehero .cr-track .cr-input::placeholder{ color:rgba(255,255,255,.4); }
.cr-pagehero .cr-track .cr-input:focus{ border-bottom-color:#fff; }
.cr-track-steps{ list-style:none; display:grid; gap:28px; }
@media (min-width:768px){ .cr-track-steps{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; } }
.cr-track-steps li{ position:relative; padding-top:0; }
.cr-track-steps__dot{ width:40px; height:40px; border-radius:50%; border:1px solid var(--line-2); display:grid; place-items:center; font-size:14px; color:var(--muted); background:#fff; position:relative; z-index:1; }
.cr-track-steps__dot svg{ width:16px; height:16px; }
.cr-track-steps li.is-done .cr-track-steps__dot{ background:var(--head); border-color:var(--head); color:#fff; }
@media (min-width:768px){ .cr-track-steps li:not(:last-child)::after{ content:''; position:absolute; top:20px; left:48px; right:-12px; height:1px; background:var(--line-2); } .cr-track-steps li.is-done:not(:last-child)::after{ background:var(--head); } }
/* ---------------------------------------------------------- payment screen */
.cr-paybody{ background:#fff; }
.cr-pay{ min-height:100vh; min-height:100dvh; display:grid; }
@media (min-width:900px){ .cr-pay{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
.cr-pay__side{ position:relative; overflow:hidden; background:var(--black); color:#fff; padding:28px 24px 36px; display:grid; gap:36px; align-content:space-between; }
@media (min-width:900px){ .cr-pay__side{ padding:48px 56px; } }
.cr-pay__art{ position:absolute; inset:0; opacity:.35; pointer-events:none; }
.cr-pay__side > *:not(.cr-pay__art){ position:relative; }
.cr-pay__brand{ display:flex; align-items:center; gap:12px; font-family:var(--display); font-weight:600; font-size:18.4px; letter-spacing:-.02em; }
.cr-pay__brand .cr-brand__mark svg{ width:28px; height:28px; }
.cr-pay__big{ font-family:var(--display); font-weight:600; font-size:clamp(36.96px,5.28vw,73.92px); line-height:1; letter-spacing:-.05em; margin:14px 0 18px; }
.cr-pay__notes{ list-style:none; display:grid; gap:10px; font-size:15px; color:rgba(255,255,255,.72); }
.cr-pay__notes li{ padding-left:18px; position:relative; } .cr-pay__notes li::before{ content:''; position:absolute; left:0; top:.6em; width:6px; height:6px; border-radius:50%; background:#fff; }
.cr-pay__main{ display:grid; place-items:center; padding:40px 20px 56px; }
.cr-pay__box{ width:100%; max-width:440px; }
.cr-pay__qr{ margin-top:28px; padding:22px; border:1px solid var(--line); border-radius:var(--r); display:grid; place-items:center; }
.cr-pay__qr #qrCodeContainer{ min-width:240px; min-height:240px; display:grid; place-items:center; }
.cr-pay__qr img,.cr-pay__qr canvas{ margin:0 auto; display:block; }
.cr-pay__apps{ display:grid; margin-top:24px; border-top:1px solid var(--line); }
.cr-pay__app{ display:flex; justify-content:space-between; align-items:center; padding:18px 2px; border-bottom:1px solid var(--line); font-size:16.56px; color:var(--head); }
.cr-pay__app svg{ width:16px; height:16px; } .cr-pay__app:hover{ padding-left:8px; transition:padding .3s var(--ease); }
.cr-pay__status{ margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.cr-pay__wait{ display:flex; align-items:center; gap:12px; color:var(--muted); font-size:15.5px; }
.cr-pay__pulse{ width:10px; height:10px; border-radius:50%; background:var(--head); animation:crPulse 1.6s ease-in-out infinite; flex:none; }
@keyframes crPulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(17,17,17,.35); } 50%{ box-shadow:0 0 0 8px rgba(17,17,17,0); } }
.cr-pay__icon{ width:48px; height:48px; border-radius:50%; display:grid; place-items:center; } .cr-pay__icon svg{ width:22px; height:22px; }
.cr-pay__icon.is-ok{ background:var(--head); color:#fff; } .cr-pay__icon.is-err{ background:var(--danger-soft); color:var(--danger); }
@media (prefers-reduced-motion:reduce){ .cr-pay__pulse{ animation:none; } }
@media (min-width:768px){ .cr-track{ grid-template-columns:1fr 1fr; } .cr-track > div:last-child{ grid-column:1 / -1; } }
/* ---------------------------------------------------------- 404 */
.cr-404{ min-height:auto; padding:calc(var(--header-h) + 80px) 0 80px; }
.cr-404__in{ position:relative; display:grid; gap:32px; }
.cr-404__big{ font-family:var(--display); font-weight:600; font-size:clamp(42.24px,8.58vw,145.2px); line-height:.9; letter-spacing:-.06em; color:#fff; }
.cr-nfrow{ display:grid; grid-template-columns:64px minmax(0,1fr) minmax(0,1.2fr) 40px; gap:16px; align-items:center; padding:28px 0; border-top:1px solid var(--line); color:var(--head); transition:padding .4s var(--ease); }
.cr-nfrow:last-child{ border-bottom:1px solid var(--line); }
.cr-nfrow:hover{ padding-left:12px; }
.cr-nfrow__n{ color:var(--muted); } .cr-nfrow__t{ font-family:var(--display); font-size:clamp(18.04px,1.8vw,27.88px); font-weight:500; letter-spacing:-.03em; } .cr-nfrow__d{ color:var(--muted); }
.cr-nfrow__a svg{ width:20px; height:20px; }
@media (max-width:767px){ .cr-nfrow{ grid-template-columns:44px minmax(0,1fr) 24px; } .cr-nfrow__d{ grid-column:2; grid-row:2; font-size:15px; } .cr-nfrow__a{ grid-row:1; grid-column:3; } }
.cr-404 .cr-label{ color:rgba(255,255,255,.75); } .cr-404 .cr-lead{ color:rgba(255,255,255,.78); } .cr-404 .cr-news__form input{ color:#fff; }
.cr-pagehero__grid > *, .cr-hero__grid > *, .cr-checkout > *{ min-width:0; } .cr-news__form input{ width:100%; }
/* ---------------------------------------------------------- work cards (text-only) */
.cr-work{ display:grid; gap:16px; grid-template-columns:1fr; }
@media (min-width:700px){ .cr-work{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; } }
@media (min-width:1100px){ .cr-work{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.cr-workcard{ position:relative; display:flex; flex-direction:column; gap:14px; padding:28px; min-height:100%; border-radius:var(--r); background:var(--soft); border:1px solid transparent; color:var(--head); transition:background .45s var(--ease), color .45s var(--ease), transform .45s var(--ease); }
.cr-workcard:hover,.cr-workcard:focus-visible{ background:var(--black); color:#fff; transform:translateY(-4px); }
.cr-workcard__top{ display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:15px; }
.cr-workcard__n{ color:var(--muted); transition:color .45s; }
.cr-workcard__cat{ padding:5px 12px; border:1px solid var(--line-2); border-radius:var(--pill); font-size:13.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:70%; transition:border-color .45s; }
.cr-workcard__title{ display:block; margin-top:18px; font-family:var(--display); font-weight:600; font-size:clamp(19.68px,1.64vw,24.6px); letter-spacing:-.04em; line-height:1.08; color:inherit; }
.cr-workcard__desc{ display:block; font-size:15.5px; line-height:1.55; color:var(--muted); transition:color .45s; }
.cr-workcard__list{ display:grid; gap:8px; padding-top:14px; border-top:1px solid var(--line-2); font-size:15px; line-height:1.4; transition:border-color .45s; }
.cr-workcard__list span{ position:relative; padding-left:16px; }
.cr-workcard__list span::before{ content:''; position:absolute; left:0; top:.55em; width:6px; height:6px; border-radius:50%; background:currentColor; }
.cr-workcard__list .cr-workcard__more{ color:var(--muted); padding-left:16px; } .cr-workcard__list .cr-workcard__more::before{ display:none; }
.cr-workcard__foot{ margin-top:auto; padding-top:18px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.cr-workcard__meta{ display:flex; flex-wrap:wrap; gap:4px 16px; font-size:15.5px; margin-top:0; color:inherit; }
.cr-workcard__meta span:first-child{ color:var(--muted); transition:color .45s; }
.cr-workcard__go{ flex:none; width:46px; height:46px; border-radius:50%; border:1px solid var(--line-2); display:grid; place-items:center; transition:background .45s, color .45s, border-color .45s, transform .45s var(--ease); }
.cr-workcard__go svg{ width:16px; height:16px; }
.cr-workcard:hover .cr-workcard__n,.cr-workcard:hover .cr-workcard__desc,.cr-workcard:hover .cr-workcard__meta span:first-child,.cr-workcard:hover .cr-workcard__more{ color:rgba(255,255,255,.65); }
.cr-workcard:hover .cr-workcard__cat,.cr-workcard:hover .cr-workcard__list{ border-color:rgba(255,255,255,.22); }
.cr-workcard:hover .cr-workcard__go{ background:#fff; color:var(--black); border-color:#fff; transform:rotate(-45deg); }
@media (max-width:640px){ .cr-workcard{ padding:22px; } }
@media (prefers-reduced-motion:reduce){ .cr-workcard,.cr-workcard__go{ transition:none; } .cr-workcard:hover{ transform:none; } }
.cr-workcard.is-hidden{ display:none; }
.cr-workcard__desc{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
@media (max-width:699px){ .cr-workcard__list{ display:none; } .cr-workcard__title{ margin-top:8px; } .cr-workcard{ gap:10px; } }
/* custom cursor and hover-preview image removed on request */
.cr-cursor,.cr-cursor-dot,.cr-hoverimg{ display:none !important; }
