:where([data-etch-element="container"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  max-inline-size: var(--content-width, 1366px);
  align-self: center; margin-inline: auto;
}
:where([data-etch-element="flex-div"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
}
:where([data-etch-element="iframe"]) {
  inline-size: 100%;
  height: auto;
 aspect-ratio: 16/9;
}
:where([data-etch-element="section"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.glyph {
  
  display: inline-block;
  inline-size: var(--_icon-size, 1em);
  block-size: var(--_icon-size, 1em);
  flex-shrink: 0;
  background-color: currentColor;
  -webkit-mask: var(--glyph) center / contain no-repeat;
  mask: var(--glyph) center / contain no-repeat;
  translate: var(--_shift, 0 0);
  rotate: var(--_turn, 0deg);
  transition: translate 0.3s cubic-bezier(.2, .7, .2, 1), rotate 0.3s cubic-bezier(.2, .7, .2, 1);
}
.cmyk {
  
  --cmyk-c: var(--info);
  --cmyk-m: var(--accent);
  --cmyk-y: #ffe600;
  --cmyk-k: var(--secondary);
}
.eyebrow {
  
  display: flex;
  align-items: center;
  gap: 0.6em;
  margin: 0;
  font-family: var(--text-font-family);
  font-size: var(--text-xs);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--eyebrow-color, var(--primary-dark));
}
.eyebrow__mark {
  
  font-size: 1.1em;
  letter-spacing: 0;
}
.button {
  
  --btn-font-size: var(--_btn-fs, var(--text-s));
  --btn-font-weight: 600;
  --btn-line-height: 1.3;
  --btn-padding-block: var(--_btn-pb, 0.95em);
  --btn-padding-inline: var(--_btn-pi, 1.45em);
  --btn-border-width: 2px;
  --btn-border-radius: 0;
  --btn-min-width: 0;
  --btn-width: var(--_btn-w, max-content);
  --btn-justify-content: var(--_btn-justify, center);
  --btn-transition: background-color 0.3s cubic-bezier(.2, .7, .2, 1), color 0.3s cubic-bezier(.2, .7, .2, 1), border-color 0.3s cubic-bezier(.2, .7, .2, 1), box-shadow 0.3s cubic-bezier(.2, .7, .2, 1), translate 0.3s cubic-bezier(.2, .7, .2, 1);
  gap: 0.75em;
  max-inline-size: 100%;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: var(--_off, 0px) var(--_off, 0px) 0 var(--_shadow, transparent);
  translate: var(--_lift, 0 0);
  --_bg: var(--primary);
  --_bg-hover: var(--primary-hover);
  --_border: var(--primary);
  --_border-hover: var(--primary-hover);
  --_color: var(--secondary);
  --_color-hover: var(--secondary);
  /* colours on [data-variant] (0,2,0): the ACSS sheet loads after the block styles on export, so .btn--primary (0,1,0) would win over .button */
  &[data-variant] { --btn-background: var(--_bg); --btn-background-hover: var(--_bg-hover); --btn-border-color: var(--_border); --btn-border-color-hover: var(--_border-hover); --btn-text-color: var(--_color); --btn-text-color-hover: var(--_color-hover); }
  &[data-variant="dark"] { --_bg: var(--secondary); --_bg-hover: var(--secondary-hover); --_border: var(--secondary); --_border-hover: var(--secondary-hover); --_color: var(--white); --_color-hover: var(--white); --_arrow: var(--primary); }
  &[data-variant="outline-light"] { --_bg: transparent; --_bg-hover: var(--white); --_border: var(--white); --_border-hover: var(--white); --_color: var(--white); --_color-hover: var(--secondary); }
  &[data-variant="outline-dark"] { --_bg: transparent; --_bg-hover: var(--secondary); --_border: var(--secondary); --_border-hover: var(--secondary); --_color: var(--secondary); --_color-hover: var(--white); }
  &[data-size="l"] { --_btn-fs: var(--text-m); --_btn-pb: 1.1em; --_btn-pi: 1.7em; }
  &[data-size="xl"] { --_btn-fs: calc(var(--text-m) * 1.05); --_btn-pb: 1.2em; --_btn-pi: 1.5em; --_btn-w: 100%; --_btn-justify: space-between; }
  &[data-shadow="accent"] { --_shadow: var(--accent); --_off: 5px; }
  &[data-shadow="white"] { --_shadow: var(--white); --_off: 6px; }
  &[data-shadow="dark"] { --_shadow: var(--secondary); --_off: 5px; }
  &[data-arrow="yes"]::after {
    content: "";
    inline-size: 1.15em;
    block-size: 1.15em;
    flex-shrink: 0;
    background-color: var(--_arrow, currentColor);
    -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%3E%3Cpath%20d%3D%22M4%2012h15M13%206l6%206-6%206%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%3E%3Cpath%20d%3D%22M4%2012h15M13%206l6%206-6%206%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
    translate: var(--_arrow-shift, 0 0);
    transition: translate 0.3s cubic-bezier(.2, .7, .2, 1);
  }
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
  @media (hover: hover) { &:hover { --_arrow-shift: 4px 0; --_lift: -2px -2px; } &[data-shadow]:hover { --_off: 8px; } }
  &[data-block="yes"] { --_btn-w: 100%; }
  @media (max-width: 48em) { &[data-block="mobile"] { --_btn-w: 100%; } }
}
.site-header {
  
  position: relative;
  z-index: 30;
  background: var(--white);
  border-block-end: 1px solid var(--secondary-light);
  --link-color: var(--secondary);
  --link-color-hover: var(--primary-dark);
}
.site-header__inner {
  
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-l);
  inline-size: 100%;
  max-inline-size: var(--content-width);
  margin-inline: auto;
  padding-block: calc(var(--space-xs) * 0.5);
}
.site-header__logo {
  
  display: block;
  flex-shrink: 0;
  line-height: 0;
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
}
.site-header__logo-image {
  
  display: block;
  inline-size: var(--_logo-w, 8.5rem);
  block-size: auto;
  border-radius: 0;
  @media (max-width: 48em) { --_logo-w: 6.25rem; }
}
.site-header__nav {
  
  display: var(--_nav-display, block);
  @media (max-width: 78em) { --_nav-display: none; }
}
.site-header__menu {
  
  display: flex;
  gap: calc(var(--space-m) * 0.95);
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-header__link {
  
  display: block;
  padding-block: 0.6em;
  font-size: var(--text-s);
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
  text-decoration: none;
  color: var(--_link, var(--secondary));
  background: linear-gradient(var(--primary-dark), var(--primary-dark)) 0 100% / var(--_line, 0%) 2px no-repeat;
  transition: color 0.2s ease, background-size 0.3s cubic-bezier(.2, .7, .2, 1);
  &[aria-current="page"] { --_link: var(--primary-dark); --_line: 100%; }
  @media (hover: hover) { &:hover { --_link: var(--primary-dark); --_line: 100%; } }
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
}
.site-header__actions {
  
  display: var(--_actions-display, flex);
  align-items: center;
  gap: var(--space-m);
  @media (max-width: 78em) { --_actions-display: none; }
}
.site-header__phone {
  
  display: flex;
  align-items: center;
  gap: 0.65rem;
  text-decoration: none;
  color: var(--secondary);
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
  @media (hover: hover) { &:hover { --_ring: var(--primary-dark); } }
}
.site-header__phone-icon {
  
  display: grid;
  place-items: center;
  inline-size: 2.4rem;
  block-size: 2.4rem;
  border-radius: 50%;
  background: var(--primary);
  color: var(--secondary);
  box-shadow: 0 0 0 2px var(--_ring, transparent);
  transition: box-shadow 0.2s ease;
  --_icon-size: 1.1rem;
}
.site-header__phone-text {
  
  display: flex;
  flex-direction: column;
  line-height: 1.25;
  /* narrow desktops: icon only, the number stays readable for screen readers */
  @media (max-width: 85em) { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
.site-header__phone-label {
  
  font-size: var(--text-xs);
  color: var(--secondary-semi-dark);
}
.site-header__phone-number {
  
  font-size: calc(var(--text-m) * 0.95);
  font-weight: 700;
}
.site-header__mobile {
  
  display: var(--_mobile-display, none);
  align-items: center;
  gap: var(--space-xs);
  @media (max-width: 78em) { --_mobile-display: flex; }
}
.site-header__icon-btn {
  
  display: grid;
  place-items: center;
  inline-size: 2.75rem;
  block-size: 2.75rem;
  padding: 0;
  border: 0;
  border-radius: var(--_ib-radius, 50%);
  background: var(--_ib-bg, var(--primary));
  color: var(--_ib-color, var(--secondary));
  box-shadow: var(--_ib-shadow, none);
  cursor: pointer;
  text-decoration: none;
  --_icon-size: 1.25rem;
  &[data-variant="menu"] { --_ib-radius: 0; --_ib-bg: var(--secondary); --_ib-color: var(--white); }
  &[data-variant="close"] { --_ib-radius: 0; --_ib-shadow: 4px 4px 0 var(--secondary); }
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
}
.site-header__panel {
  
  position: fixed;
  inset: 0;
  inline-size: 100%;
  max-inline-size: none;
  block-size: 100dvh;
  max-block-size: none;
  margin: 0;
  padding: 0;
  border: 0;
  overflow-y: auto;
  background: var(--secondary);
  color: var(--white);
  opacity: 0;
  translate: 0 -1rem;
  transition: opacity 0.28s ease, translate 0.28s ease, display 0.28s allow-discrete, overlay 0.28s allow-discrete;
  &:popover-open {
    display: flex; flex-direction: column;
    opacity: 1; translate: 0 0;
    @starting-style { opacity: 0; translate: 0 -1rem; }
  }
  &::backdrop { background: transparent; }
  @media (prefers-reduced-motion: reduce) { transition: none; translate: none; }
}
.site-header__panel-top {
  
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-m);
  padding: calc(var(--space-s) * 0.9) var(--gutter);
  background: var(--white);
  border-block-end: 1px solid var(--secondary-light);
}
.site-header__panel-body {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
  padding: var(--space-l) var(--gutter) var(--space-xl);
}
.site-header__panel-label {
  
  margin: 0;
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--secondary-semi-light);
}
.site-header__panel-menu {
  
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-header__panel-link {
  
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-xs);
  min-block-size: 3.5rem;
  border-block-end: 1px solid var(--secondary-dark);
  font-family: var(--heading-font-family);
  font-size: var(--h4);
  line-height: 1.25;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--_pl-color, var(--white));
  --_icon-size: 1.25rem;
  &[aria-current="page"] { --_pl-color: var(--primary); }
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
}
.site-header__panel-num {
  
  font-family: var(--text-font-family);
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--secondary-semi-light);
}
.site-header__panel-sub {
  
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-header__panel-sublink {
  
  display: flex;
  align-items: center;
  min-block-size: 2.75rem;
  font-size: var(--text-m);
  text-decoration: none;
  color: var(--_psl, var(--white));
  &[aria-current="page"] { --_psl: var(--primary); }
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
}
.site-header__panel-footer {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  padding-block-start: var(--space-l);
  border-block-start: 1px solid var(--secondary-dark);
}
.site-header__panel-phone {
  
  font-family: var(--heading-font-family);
  font-size: var(--h3);
  line-height: 1.2;
  text-decoration: none;
  color: var(--white);
}
.site-header__panel-meta {
  
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  font-size: var(--text-s);
  color: var(--secondary-light);
}
.hero {
  
  background: var(--secondary);
  color: var(--white);
  --heading-color: var(--white);
  overflow: clip;
}
.hero__inner {
  
  display: grid;
  grid-template-columns: var(--_hero-cols, minmax(0, 1.45fr) minmax(0, 1fr));
  align-items: center;
  gap: var(--_hero-gap, var(--space-xl));
  container-type: inline-size;
  @media (max-width: 64em) { --_hero-cols: minmax(0, 1fr); --_hero-gap: var(--space-xxl); }
}
.hero__content {
  
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-s);
  --eyebrow-color: var(--white);
}
.hero__eyebrow-mark {
  
  --_icon-size: 1.4em;
}
.hero__title {
  
  margin: 0;
  font-size: min(calc(var(--h1) * 1.27), 17.5cqi, 14.5svh);
  line-height: 1.14;
  text-wrap: wrap;
}
.hero__title-accent {
  
  display: block;
  color: var(--primary);
}
.hero__lead {
  
  max-inline-size: 34rem;
  margin: 0;
  font-size: calc(var(--text-m) * 1.1);
  line-height: 1.55;
  color: var(--secondary-light);
}
.hero__actions {
  
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-s);
  margin-block-start: var(--space-xs);
  @media (max-width: 48em) { inline-size: 100%; }
}
.hero__visual {
  
  position: relative;
  inline-size: 100%;
  max-inline-size: 31.25rem;
  aspect-ratio: 500 / 760;
  justify-self: var(--_hv-justify, end);
  container-type: inline-size;
  /* endless motion pauses offscreen (IntersectionObserver in SiteFooter toggles .is-offscreen) */
  &.is-offscreen, &.is-offscreen *, &.is-offscreen *::before, &.is-offscreen *::after { animation-play-state: paused !important; }
  @media (max-width: 64em) { --_hv-justify: center; }
}
.hero__cmyk {
  
  position: absolute;
  inset-inline-start: 42%;
  inset-block-start: 0;
  inline-size: 56%;
  aspect-ratio: 280 / 260;
  animation: var(--_cmyk-anim, k2-fade 0.8s ease 0.6s both);
  @media (prefers-reduced-motion: reduce) { --_cmyk-anim: none; }
}
.hero__dot {
  
  position: absolute;
  inline-size: 60.7%;
  aspect-ratio: 1;
  border-radius: 50%;
  mix-blend-mode: screen;
  background: var(--_dot);
  --empty-element-size: 0;
  &[data-color="c"] { --_dot: var(--cmyk-c); inset: 0 auto auto 0; }
  &[data-color="m"] { --_dot: var(--cmyk-m); inset: 0 auto auto 37.5%; }
  &[data-color="y"] { --_dot: var(--cmyk-y); inset: 32.7% auto auto 18.6%; }
}
.hero__sheet {
  
  position: absolute;
  margin: 0;
  overflow: hidden;
  border: 8px solid var(--white);
  border-radius: 0;
  background: var(--secondary-dark);
  box-shadow: var(--_sheet-off, 10px) var(--_sheet-off, 10px) 0 var(--primary);
  transform-origin: 0 0;
  rotate: var(--_rot, 0deg);
  scale: var(--_scale, 1);
  transition: rotate 0.4s cubic-bezier(.2, .7, .2, 1), scale 0.4s cubic-bezier(.2, .7, .2, 1), box-shadow 0.4s cubic-bezier(.2, .7, .2, 1);
  animation: var(--_sheet-anim, k2-land 0.7s cubic-bezier(.2, .7, .2, 1) var(--_delay, 0s) both, k2-float 6s ease-in-out calc(var(--_delay, 0s) + 1s) infinite);
  &[data-variant="1"] { inset-inline-start: 24%; inset-block-start: 14.5%; inline-size: 70%; aspect-ratio: 350 / 236; --_rot: 6deg; --_delay: 0s; --_gloss-delay: 1.2s; }
  &[data-variant="2"] { inset-inline-start: 4%; inset-block-start: 44.7%; inline-size: 74%; aspect-ratio: 370 / 250; --_rot: -5deg; --_delay: 0.12s; --_gloss-delay: 3.2s; }
  &[data-variant="3"] { inset-inline-start: 48%; inset-block-start: 73.7%; inline-size: 48%; aspect-ratio: 240 / 170; --_rot: 4deg; --_delay: 0.24s; --_gloss-delay: 5.2s; }
  &::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 40%, rgb(255 255 255 / 0.45) 50%, transparent 60%);
    translate: -120% 0;
    animation: var(--_gloss, k2-gloss 6s linear var(--_gloss-delay, 0s) infinite);
    pointer-events: none;
  }
  @media (hover: hover) { &:hover { --_rot: 0deg; --_scale: 1.04; --_sheet-off: 16px; z-index: 2; } }
  @media (prefers-reduced-motion: reduce) { --_sheet-anim: none; --_gloss: none; }
}
.hero__image {
  
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  border-radius: 0;
}
.hero__sticker {
  
  position: absolute;
  inset-inline-start: 76%;
  inset-block-start: 5.3%;
  display: grid;
  place-items: center;
  inline-size: 26.4%;
  aspect-ratio: 1;
  margin: 0;
  border: 2px solid var(--secondary);
  border-radius: 50%;
  background: var(--primary);
  color: var(--secondary);
  font-family: var(--heading-font-family);
  font-size: var(--_sticker-fs, calc(var(--h4) * 0.93));
  line-height: 1.08;
  text-align: center;
  text-transform: uppercase;
  rotate: 12deg;
  animation: var(--_pop, k2-pop 0.5s cubic-bezier(.2, .7, .2, 1) 0.7s both);
  @container (max-width: 25rem) { --_sticker-fs: var(--h6); }
  @media (prefers-reduced-motion: reduce) { --_pop: none; }
}
.print-strip {
  
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: var(--secondary-ultra-dark);
  color: var(--white);
  &.is-offscreen *, &.is-offscreen *::before, &.is-offscreen *::after { animation-play-state: paused !important; }
}
.print-strip__bar {
  
  position: relative;
  block-size: var(--_bar-h, 12px);
  overflow: hidden;
  --empty-element-size: 0;
  &::before {
    content: "";
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    inline-size: calc(100% + 360px);
    background: repeating-linear-gradient(90deg,
      var(--cmyk-c) 0 36px, var(--cmyk-m) 36px 72px, var(--cmyk-y) 72px 108px, var(--white) 108px 144px,
      color-mix(in srgb, var(--cmyk-c) 50%, white) 144px 180px, color-mix(in srgb, var(--cmyk-m) 50%, white) 180px 216px,
      color-mix(in srgb, var(--cmyk-y) 50%, white) 216px 252px, var(--secondary-semi-light) 252px 288px,
      var(--primary) 288px 324px, var(--secondary-semi-dark) 324px 360px);
    animation: var(--_bar-anim, k2-bar 24s linear infinite);
    animation-direction: var(--_bar-dir, normal);
  }
  &[data-variant="reverse"] { --_bar-dir: reverse; }
  @media (max-width: 48em) { --_bar-h: 9px; }
  @media (prefers-reduced-motion: reduce) { --_bar-anim: none; }
}
.print-strip__viewport {
  
  overflow: hidden;
  padding-block: calc(var(--space-s) * 1.2);
}
.print-strip__track {
  
  display: flex;
  inline-size: max-content;
  animation: var(--_strip, k2-strip) 45s linear infinite;
  animation-play-state: var(--_strip-state, running);
  @media (hover: hover) { &:hover { --_strip-state: paused; } }
  @media (prefers-reduced-motion: reduce) { --_strip: none; }
}
.print-strip__list {
  
  display: flex;
  align-items: center;
  gap: var(--space-m);
  margin: 0;
  padding: 0 var(--space-m) 0 0;
  list-style: none;
}
.print-strip__item {
  
  display: flex;
  align-items: center;
  gap: var(--space-m);
  font-family: var(--heading-font-family);
  font-size: var(--_strip-fs, calc(var(--h3) * 1.2));
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
  &::after {
    content: "";
    inline-size: 1.6rem;
    block-size: 1.6rem;
    background: var(--primary);
    -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%226.5%22%2F%3E%3Cpath%20d%3D%22M12%200v24M0%2012h24%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%226.5%22%2F%3E%3Cpath%20d%3D%22M12%200v24M0%2012h24%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
  }
  @media (max-width: 48em) { --_strip-fs: calc(var(--h4) * 0.9); }
}
.section-head {
  
  display: flex;
  flex-direction: var(--_sh-dir, column);
  align-items: var(--_sh-align, flex-start);
  justify-content: space-between;
  gap: var(--_sh-gap, var(--space-m));
  inline-size: 100%;
  &[data-layout="split"] { --_sh-dir: row; --_sh-align: flex-end; --_sh-gap: var(--space-xl); }
  &[data-tone="dark"] { --eyebrow-color: var(--primary); --heading-color: var(--white); --_sh-lead: var(--secondary-light); }
  &[data-size="m"] { --_sh-fs: calc(var(--h2) * 0.73); }
  @media (max-width: 64em) { &[data-layout="split"] { --_sh-dir: column; --_sh-align: flex-start; --_sh-gap: var(--space-m); } }
}
.section-head__intro {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  max-inline-size: 52rem;
}
.section-head__title {
  
  margin: 0;
  font-size: var(--_sh-fs, var(--h2));
  line-height: 1.14;
}
.section-head__accent {
  
  display: var(--sh-accent-display, inline);
  color: var(--_sh-accent, var(--primary));
}
.section-head__lead {
  
  max-inline-size: 26rem;
  margin: 0;
  font-size: var(--text-m);
  line-height: 1.6;
  color: var(--_sh-lead, var(--secondary-dark));
}
.services {
  
  background: var(--white);
}
.service-list {
  
  display: grid;
  grid-template-columns: var(--_sl-cols, repeat(12, minmax(0, 1fr)));
  gap: var(--space-xxl) var(--space-m);
  margin: 0;
  padding: 0;
  list-style: none;
  @media (max-width: 64em) { --_sl-cols: repeat(2, minmax(0, 1fr)); }
  @media (max-width: 48em) { --_sl-cols: minmax(0, 1fr); }
}
.service-list__item {
  
  display: flex;
  grid-column: var(--_sli-span, span 4);
  &:nth-child(1) { --_sli-span: span 7; }
  &:nth-child(2) { --_sli-span: span 5; }
  @media (max-width: 64em) { --_sli-span: span 1; &:nth-child(1), &:nth-child(2) { --_sli-span: span 1; } &:last-child:nth-child(odd) { --_sli-span: 1 / -1; } }
  @media (max-width: 48em) { &:last-child:nth-child(odd) { --_sli-span: span 1; } }
}
.service-card {
  
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  inline-size: 100%;
  &[data-size="feature"] { --_media-h: 26.25rem; --_title-fs: calc(var(--h2) * 0.5); }
  @media (hover: hover) { &:hover { --_tilt: -1.5deg; --_sc-shadow: var(--primary); --_sc-title: var(--primary-dark); --_box-bg: var(--primary); --_box-shadow: var(--secondary); --_turn: 45deg; } }
  &:focus-within { --_sc-title: var(--primary-dark); --_box-bg: var(--primary); }
  @media (max-width: 48em) { --_media-h: 14.375rem; &[data-size="feature"] { --_media-h: 14.375rem; } }
}
.service-card__body {
  
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-m);
}
.service-card__text-wrap {
  
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.service-card__num {
  
  margin: 0;
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--secondary-semi-dark);
}
.service-card__title {
  
  margin: 0;
  font-size: var(--_title-fs, calc(var(--h4) * 1.2));
  line-height: 1.2;
  color: var(--_sc-title, var(--secondary));
  transition: color 0.3s ease;
}
.service-card__link {
  
  color: inherit;
  text-decoration: none;
  &::after { content: ""; position: absolute; inset: 0; z-index: 1; }
  &:focus-visible { outline: none; }
  &:focus-visible::after { outline: 3px solid var(--accent); outline-offset: 6px; }
}
.service-card__text {
  
  max-inline-size: 33rem;
  margin: 0;
  font-size: var(--text-m);
  line-height: 1.6;
  color: var(--secondary-dark);
}
.service-card__arrow {
  
  display: grid;
  place-items: center;
  flex-shrink: 0;
  inline-size: 3.5rem;
  block-size: 3.5rem;
  border: 2px solid var(--secondary);
  background: var(--_box-bg, transparent);
  box-shadow: 4px 4px 0 var(--_box-shadow, transparent);
  color: var(--secondary);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  --_icon-size: 1.3rem;
}
.service-card__media {
  
  order: -1;
  block-size: var(--_media-h, 18.75rem);
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-s, 4px);
  box-shadow: 12px 12px 0 var(--_sc-shadow, transparent);
  rotate: var(--_tilt, 0deg);
  transition: rotate 0.4s cubic-bezier(.2, .7, .2, 1), box-shadow 0.4s cubic-bezier(.2, .7, .2, 1);
}
.service-card__image {
  
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  border-radius: 0;
}
.values {
  
  background: var(--secondary);
  color: var(--white);
  --heading-color: var(--white);
  gap: var(--space-xxl);
}
.values__top {
  
  display: grid;
  grid-template-columns: var(--_vt-cols, minmax(0, 1.2fr) minmax(0, 1fr));
  align-items: center;
  gap: var(--space-xxl);
  @media (max-width: 64em) { --_vt-cols: minmax(0, 1fr); }
}
.values__media {
  
  position: relative;
  justify-self: var(--_vm-justify, end);
  inline-size: min(100%, 30.625rem);
  aspect-ratio: 490 / 360;
  margin: 0;
  overflow: hidden;
  border: 8px solid var(--white);
  border-radius: 0;
  box-shadow: -12px 12px 0 var(--primary);
  rotate: 3deg;
  &::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 40%, rgb(255 255 255 / 0.45) 50%, transparent 60%);
    translate: -120% 0;
    animation: var(--_gloss, k2-gloss 6s linear 1.5s infinite);
    pointer-events: none;
  }
  &.is-offscreen::after { animation-play-state: paused; }
  @media (prefers-reduced-motion: reduce) { --_gloss: none; }
  @media (max-width: 64em) { --_vm-justify: center; }
}
.values__image {
  
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  border-radius: 0;
}
.value-list {
  
  display: grid;
  grid-template-columns: var(--_vl-cols, repeat(4, minmax(0, 1fr)));
  gap: var(--space-xl) var(--space-l);
  margin: 0;
  padding: 0;
  list-style: none;
  @media (max-width: 64em) { --_vl-cols: repeat(2, minmax(0, 1fr)); }
  @media (max-width: 48em) { --_vl-cols: minmax(0, 1fr); }
}
.value-item {
  
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding-block-start: var(--space-m);
  border-block-start: 2px solid var(--_vi-line, var(--secondary-dark));
  transition: border-color 0.3s ease;
  @media (hover: hover) { &:hover { --_vi-line: var(--primary); --_vi-title: var(--primary); } }
}
.value-item__num {
  
  margin: 0;
  font-family: var(--heading-font-family);
  font-size: calc(var(--h4) * 0.8);
  line-height: 1.25;
  color: var(--primary);
}
.value-item__title {
  
  margin: 0;
  font-size: var(--h3);
  line-height: 1.25;
  color: var(--_vi-title, var(--white));
  transition: color 0.3s ease;
}
.value-item__text {
  
  margin: 0;
  font-size: var(--text-m);
  line-height: 1.6;
  color: var(--secondary-light);
}
.stat-list {
  
  display: flex;
  flex-direction: var(--_stl-dir, row);
  flex-wrap: wrap;
  align-items: var(--_stl-align, flex-end);
  justify-content: space-between;
  gap: var(--space-l) var(--space-xl);
  margin: 0;
  padding: var(--space-xl) 0 0;
  border-block-start: 1px solid var(--secondary-dark);
  list-style: none;
  @media (max-width: 48em) { --_stl-dir: column; --_stl-align: flex-start; }
}
.stat {
  
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  &[data-accent="yes"] { --_stat-color: var(--primary); }
}
.stat__number {
  
  margin: 0;
  font-family: var(--heading-font-family);
  font-size: calc(var(--h1) * 1.44);
  line-height: 1.07;
  font-variant-numeric: tabular-nums;
  color: var(--_stat-color, var(--white));
}
.stat__label {
  
  margin: 0;
  font-size: var(--text-m);
  font-weight: 600;
  color: var(--secondary-light);
}
.process {
  
  background: var(--secondary-ultra-light);
}
.process-steps {
  
  display: grid;
  grid-template-columns: var(--_ps-cols, repeat(4, minmax(0, 1fr)));
  gap: var(--space-m);
  margin: 0;
  padding: 0 8px 8px 0;
  list-style: none;
  counter-reset: none;
  /* only from desktop up: an attribute rule would outrank the --_ps-cols of the media queries below */
  @media (min-width: 64.0625em) { &[data-count="5"] { --_ps-cols: repeat(5, minmax(0, 1fr)); } }
  @media (max-width: 64em) { --_ps-cols: repeat(2, minmax(0, 1fr)); }
  @media (max-width: 48em) { --_ps-cols: minmax(0, 1fr); }
}
.process-step {
  
  display: flex;
  flex-direction: column;
  gap: calc(var(--space-s) * 1.1);
  padding: var(--space-l) var(--space-m);
  border: 2px solid var(--secondary);
  border-radius: var(--radius-s, 4px);
  background: var(--white);
  box-shadow: var(--_ps-off, 8px) var(--_ps-off, 8px) 0 var(--_ps-shadow, var(--cmyk-k));
  translate: var(--_ps-lift, 0 0);
  transition: box-shadow 0.3s cubic-bezier(.2, .7, .2, 1), translate 0.3s cubic-bezier(.2, .7, .2, 1);
  &[data-color="c"] { --_ps-shadow: var(--cmyk-c); }
  &[data-color="m"] { --_ps-shadow: var(--cmyk-m); }
  &[data-color="y"] { --_ps-shadow: var(--cmyk-y); }
  &[data-color="lime"] { --_ps-shadow: var(--primary); }
  @media (hover: hover) { &:hover { --_ps-off: 12px; --_ps-lift: -3px -3px; } }
}
.process-step__num {
  
  margin: 0;
  font-family: var(--heading-font-family);
  font-size: calc(var(--h2) * 0.73);
  line-height: 1;
  color: var(--secondary);
}
.process-step__title {
  
  min-block-size: var(--_pst-min, 2lh);
  margin: 0;
  font-size: var(--h4);
  line-height: 1.22;
  @media (max-width: 48em) { --_pst-min: 0; }
}
.process-step__text {
  
  margin: 0;
  font-size: var(--text-m);
  line-height: 1.55;
  color: var(--secondary-dark);
}
.cta-band {
  
  background: var(--primary);
  color: var(--secondary);
  --heading-color: var(--secondary);
  --eyebrow-color: var(--secondary);
}
.cta-band__inner {
  
  display: grid;
  grid-template-columns: var(--_cta-cols, minmax(0, 1fr) minmax(0, 25rem));
  align-items: center;
  gap: var(--space-xl);
  @media (max-width: 64em) { --_cta-cols: minmax(0, 1fr); }
}
.cta-band__content {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.cta-band__title {
  
  margin: 0;
  font-size: var(--h2);
  line-height: 1.14;
}
.cta-band__actions {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  padding: 0 6px 6px 0;
}
.cta-band__phone {
  
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding-block: 1rem;
  border-block-end: 2px solid var(--secondary);
  font-family: var(--heading-font-family);
  font-size: calc(var(--h4) * 1.2);
  line-height: 1.2;
  text-decoration: none;
  color: var(--secondary);
  --_icon-size: 1.4rem;
  @media (hover: hover) { &:hover { --_shift: 0 -2px; } }
  &:focus-visible { outline: 3px solid var(--secondary); outline-offset: 3px; }
}
.cta-band__meta {
  
  margin: 0;
  font-size: var(--text-m);
  font-weight: 600;
}
.cta-band__mail {
  
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  &:focus-visible { outline: 3px solid var(--secondary); outline-offset: 2px; }
}
.site-footer {
  
  background: var(--white);
  color: var(--secondary);
  padding-block-end: var(--space-l);
  --link-color: var(--secondary);
  --link-color-hover: var(--primary-dark);
}
.site-footer__inner {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
  inline-size: 100%;
  max-inline-size: var(--content-width);
  margin-inline: auto;
}
.site-footer__top {
  
  display: grid;
  grid-template-columns: var(--_ft-cols, minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)));
  gap: var(--space-xl);
  @media (max-width: 64em) { --_ft-cols: repeat(3, minmax(0, 1fr)); }
  @media (max-width: 48em) { --_ft-cols: repeat(2, minmax(0, 1fr)); }
}
.site-footer__brand {
  
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-m);
  grid-column: var(--_fb-span, auto);
  @media (max-width: 64em) { --_fb-span: 1 / -1; }
}
.site-footer__logo {
  
  display: block;
  line-height: 0;
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
}
.site-footer__logo-image {
  
  display: block;
  inline-size: 9.375rem;
  block-size: auto;
  border-radius: 0;
}
.site-footer__address {
  
  margin: 0;
  font-style: normal;
  font-size: var(--text-m);
  line-height: 1.6;
  color: var(--secondary-dark);
}
.site-footer__office {
  
  display: block;
  color: var(--secondary-semi-dark);
}
.site-footer__contact {
  
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.site-footer__phone {
  
  font-family: var(--heading-font-family);
  font-size: calc(var(--h4) * 0.93);
  line-height: 1.25;
  text-decoration: none;
  color: var(--secondary);
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
}
.site-footer__mail {
  
  font-size: var(--text-m);
  font-weight: 600;
  text-decoration: none;
  color: var(--primary-dark);
  overflow-wrap: anywhere;
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
}
.site-footer__col {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.site-footer__title {
  
  margin: 0;
  font-family: var(--heading-font-family);
  font-size: var(--h5);
  line-height: 1.2;
  text-transform: uppercase;
}
.site-footer__list {
  
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-footer__link {
  
  display: inline-flex;
  align-items: center;
  min-block-size: 2.25rem;
  font-size: var(--text-m);
  text-decoration: var(--_fl-line, none);
  text-underline-offset: 0.2em;
  color: var(--_fl, var(--secondary));
  @media (hover: hover) { &:hover { --_fl: var(--primary-dark); --_fl-line: underline; } }
  &[aria-current="page"] { --_fl: var(--primary-dark); }
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
}
.site-footer__bottom {
  
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-s);
  padding-block-start: var(--space-m);
  border-block-start: 1px solid var(--secondary-light);
}
.site-footer__copy {
  
  margin: 0;
  font-size: var(--text-s);
  color: var(--secondary-semi-dark);
}
.cmyk-dots {
  
  display: flex;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cmyk-dots__dot {
  
  inline-size: 12px;
  block-size: 12px;
  border-radius: 50%;
  background: var(--_cd, var(--cmyk-k));
  --empty-element-size: 0;
  &:nth-child(1) { --_cd: var(--cmyk-c); }
  &:nth-child(2) { --_cd: var(--cmyk-m); }
  &:nth-child(3) { --_cd: var(--cmyk-y); }
  &[data-on="dark"]:nth-child(4) { --_cd: var(--white); }
}
.to-top {
  
  position: fixed;
  inset-inline-end: var(--_tt-x, var(--space-m));
  inset-block-end: var(--_tt-y, var(--space-m));
  z-index: 40;
  display: grid;
  place-items: center;
  inline-size: 3.25rem;
  aspect-ratio: 1;
  border: 2px solid var(--secondary);
  background: var(--_tt-bg, var(--primary));
  box-shadow: 4px 4px 0 var(--secondary);
  color: var(--secondary);
  text-decoration: none;
  --_icon-size: 1.3rem;
  opacity: var(--_tt-o, 1);
  visibility: var(--_tt-v, visible);
  translate: 0 var(--_tt-ty, 0);
  transition: background-color 0.3s ease;
  @supports (animation-timeline: scroll()) {
    --_tt-o: 0; --_tt-v: hidden; --_tt-ty: 12px;
    animation: k2-appear linear both;
    animation-timeline: scroll(root);
    animation-range: 100vh 120vh;
  }
  @media (hover: hover) { &:hover { --_tt-bg: var(--primary-hover); --_shift: 0 -3px; } }
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
  @media (prefers-reduced-motion: no-preference) { :root:has(&:hover, &:focus, &:active) { scroll-behavior: smooth; } }
}
.glyph--phone {
  --glyph: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%3Cpath%20d%3D%22M6.6%2010.8a15.2%2015.2%200%200%200%206.6%206.6l2.2-2.2a1%201%200%200%201%201-.25%2011.4%2011.4%200%200%200%203.6.57%201%201%200%200%201%201%201V20a1%201%200%200%201-1%201A17%2017%200%200%201%203%204a1%201%200%200%201%201-1h3.5a1%201%200%200%201%201%201c0%201.25.2%202.45.57%203.57a1%201%200%200%201-.25%201z%22%2F%3E%3C%2Fsvg%3E");
}
.glyph--arrow {
  --glyph: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%3E%3Cpath%20d%3D%22M4%2012h15M13%206l6%206-6%206%22%2F%3E%3C%2Fsvg%3E");
}
.glyph--arrow-up-right {
  --glyph: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%3E%3Cpath%20d%3D%22M6%2018%2018%206M8.5%206H18v9.5%22%2F%3E%3C%2Fsvg%3E");
}
.glyph--arrow-up {
  --glyph: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%3E%3Cpath%20d%3D%22M12%2020V5M6%2011l6-6%206%206%22%2F%3E%3C%2Fsvg%3E");
}
.glyph--menu {
  --glyph: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%3E%3Cpath%20d%3D%22M4%207h16M4%2012h16M4%2017h16%22%2F%3E%3C%2Fsvg%3E");
}
.glyph--close {
  --glyph: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%3E%3Cpath%20d%3D%22M6%206l12%2012M18%206%206%2018%22%2F%3E%3C%2Fsvg%3E");
}
.glyph--register {
  --glyph: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%226.5%22%2F%3E%3Cpath%20d%3D%22M12%200v24M0%2012h24%22%2F%3E%3C%2Fsvg%3E");
}
.site-header__panel-nav {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.services__inner {
  
  gap: var(--space-xl);
}
.values__inner {
  
  gap: var(--space-xxl);
}
.process__inner {
  
  gap: var(--space-xl);
}
.settle {
  
  --_settle: k2-settle-soft;
  @media (max-width: 48em) { --_settle: k2-settle; }
  @supports (animation-timeline: view()) {
    @media (prefers-reduced-motion: no-preference) {
      animation: var(--_settle) ease-out both;
      animation-timeline: view();
      animation-range: entry 0% cover 50%;
    }
  }
  /* fallback (Safari < 26): SiteFooter script adds .is-landed once on entry */
  @supports not (animation-timeline: view()) {
    @media (prefers-reduced-motion: no-preference) {
      &.is-landed { animation: var(--_settle) 0.9s cubic-bezier(.2, .7, .2, 1) both; }
    }
  }
}
.plus-list {
  
  display: var(--plus-display, flex);
  flex-direction: var(--plus-dir, column);
  flex-wrap: wrap;
  gap: var(--plus-gap, 0.6rem);
  margin: 0;
  padding: 0;
  list-style: none;
}
.plus-list__item {
  
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  &::before {
    content: "✚";
    flex-shrink: 0;
    inline-size: 1rem;
    font-family: var(--heading-font-family);
    color: var(--plus-color, var(--primary-dark));
  }
}
.page-hero {
  
  background: var(--secondary);
  color: var(--white);
  --heading-color: var(--white);
  --plus-color: var(--primary);
  overflow: clip;
}
.page-hero__inner {
  
  display: grid;
  grid-template-columns: var(--_ph-cols, minmax(0, 1.45fr) minmax(0, 1fr));
  align-items: center;
  gap: var(--_ph-gap, var(--space-xxl));
  @media (max-width: 64em) { --_ph-cols: minmax(0, 1fr); --_ph-gap: var(--space-xl); }
}
.page-hero__content {
  
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-l);
  container-type: inline-size;
}
.breadcrumbs {
  
  font-size: var(--text-s);
  line-height: 1.3;
}
.breadcrumbs__list {
  
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.breadcrumbs__item {
  
  display: flex;
  gap: 0.6rem;
  color: var(--white);
  font-weight: 600;
  & + &::before { content: "/"; font-weight: 400; color: color-mix(in oklch, var(--secondary-semi-light), var(--secondary-semi-dark)); }
}
.breadcrumbs__link {
  
  font-weight: 400;
  color: var(--secondary-semi-light);
  text-decoration: none;
  @media (hover: hover) { &:hover { text-decoration: underline; text-underline-offset: 0.2em; } }
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
}
.page-hero__title {
  
  margin: 0;
  padding-block-start: var(--space-xs);
  /* the longest word (VELIKOFORMATNI ≈ 6.3em in Anton) must fit one line on narrow phones */
  font-size: min(var(--h1), 14.5cqi);
  line-height: 1.14;
}
.page-hero__accent {
  
  display: block;
  color: var(--primary);
}
.page-hero__lead {
  
  max-inline-size: 35rem;
  margin: 0;
  font-size: calc(var(--text-m) * 1.1);
  line-height: 1.55;
  color: var(--secondary-light);
}
.page-hero__facts {
  
  --plus-dir: var(--_phf-dir, row);
  --plus-gap: var(--space-s) var(--space-xl);
  inline-size: 100%;
  padding-block-start: var(--space-l);
  border-block-start: 1px solid var(--secondary-dark);
  font-weight: 600;
  &:not(:has(li)) { --plus-display: none; }
  @media (max-width: 48em) { --_phf-dir: column; }
}
.page-hero__visual {
  
  position: relative;
  inline-size: 100%;
  max-inline-size: 31.25rem;
  aspect-ratio: 500 / 450;
  justify-self: var(--_phv-justify, end);
  container-type: inline-size;
  &.is-offscreen *, &.is-offscreen *::before, &.is-offscreen *::after { animation-play-state: paused !important; }
  @media (max-width: 64em) { --_phv-justify: center; }
}
.page-hero__cmyk {
  
  position: absolute;
  inset-inline-start: 60%;
  inset-block-start: 0;
  inline-size: 40%;
  aspect-ratio: 200 / 190;
  animation: var(--_phc-anim, k2-fade 0.8s ease 0.5s both);
  @media (prefers-reduced-motion: reduce) { --_phc-anim: none; }
}
.page-hero__dot {
  
  position: absolute;
  inline-size: 60%;
  aspect-ratio: 1;
  border-radius: 50%;
  mix-blend-mode: screen;
  background: var(--_dot);
  --empty-element-size: 0;
  &[data-color="c"] { --_dot: var(--cmyk-c); inset: 0 auto auto 0; }
  &[data-color="m"] { --_dot: var(--cmyk-m); inset: 0 auto auto 38%; }
  &[data-color="y"] { --_dot: var(--cmyk-y); inset: 32.6% auto auto 19%; }
}
.page-hero__media {
  
  position: absolute;
  inset-inline-start: 4%;
  inset-block-start: 24.4%;
  inline-size: 90%;
  aspect-ratio: 450 / 310;
  margin: 0;
  overflow: hidden;
  border: 8px solid var(--white);
  border-radius: 0;
  box-shadow: 12px 12px 0 var(--primary);
  rotate: -4deg;
  animation: var(--_phm-anim, k2-land 0.7s cubic-bezier(.2, .7, .2, 1) both);
  &::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 40%, rgb(255 255 255 / 0.45) 50%, transparent 60%);
    translate: -120% 0;
    animation: var(--_gloss, k2-gloss 6s linear 1.5s infinite);
    pointer-events: none;
  }
  @media (prefers-reduced-motion: reduce) { --_phm-anim: none; --_gloss: none; }
}
.page-hero__image {
  
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  border-radius: 0;
}
.page-hero__sticker {
  
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 11%;
  z-index: 1;
  display: grid;
  /* place-content too: a word wider than the inner width (Nasvet) would otherwise start at the left and look shifted */
  place-items: center;
  place-content: center;
  inline-size: 25.6%;
  aspect-ratio: 1;
  margin: 0;
  /* longer text („Po meri“) wraps inside the circle instead of running over the edge */
  padding-inline: 0.4em;
  border: 2px solid var(--secondary);
  border-radius: 50%;
  background: var(--primary);
  color: var(--secondary);
  font-family: var(--heading-font-family);
  font-size: calc(var(--_php-fs, calc(var(--h3) * 1.27)) * var(--_php-scale, 1));
  line-height: 1.05;
  text-align: center;
  text-transform: uppercase;
  rotate: -12deg;
  animation: var(--_php-anim, k2-pop 0.5s cubic-bezier(.2, .7, .2, 1) 0.6s both);
  &[data-size="s"] { --_php-scale: 0.8; }
  @container (max-width: 25rem) { --_php-fs: var(--h4); }
  @media (prefers-reduced-motion: reduce) { --_php-anim: none; }
}
.products {
  
  background: var(--white);
}
.products__inner {
  
  gap: var(--space-xxl);
}
.product-list {
  
  display: grid;
  grid-template-columns: var(--_pl-cols, repeat(3, minmax(0, 1fr)));
  gap: var(--space-xxl) var(--space-l);
  margin: 0;
  padding: 0;
  list-style: none;
  @media (max-width: 64em) { --_pl-cols: repeat(2, minmax(0, 1fr)); }
  @media (max-width: 48em) { --_pl-cols: minmax(0, 1fr); }
}
.product-list__item {
  
  display: flex;
}
.product-card {
  
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(var(--space-m) * 1.35);
  inline-size: 100%;
  @media (hover: hover) { &:hover { --_tilt: -1.5deg; --_pc-shadow: var(--primary); --_pc-title: var(--primary-dark); --_box-bg: var(--primary); --_box-shadow: var(--secondary); --_turn: 45deg; } }
  &:focus-within { --_pc-title: var(--primary-dark); --_box-bg: var(--primary); }
}
.product-card__body {
  
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-m);
}
.product-card__text-wrap {
  
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.product-card__num {
  
  margin: 0;
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--secondary-semi-dark);
}
.product-card__title {
  
  margin: 0;
  font-size: calc(var(--h4) * 1.2);
  line-height: 1.24;
  color: var(--_pc-title, var(--secondary));
  transition: color 0.3s ease;
}
.product-card__link {
  
  color: inherit;
  text-decoration: none;
  &::after { content: ""; position: absolute; inset: 0; z-index: 1; }
  &:focus-visible { outline: none; }
  &:focus-visible::after { outline: 3px solid var(--accent); outline-offset: 6px; }
}
.product-card__tagline {
  
  min-block-size: var(--_pct-min, 2lh);
  margin: 0;
  font-size: var(--text-m);
  line-height: 1.55;
  color: var(--secondary-dark);
  @media (max-width: 48em) { --_pct-min: 0; }
}
.product-card__arrow {
  
  display: grid;
  place-items: center;
  flex-shrink: 0;
  inline-size: 3.25rem;
  block-size: 3.25rem;
  border: 2px solid var(--secondary);
  border-radius: var(--radius-s, 4px);
  background: var(--_box-bg, transparent);
  box-shadow: 4px 4px 0 var(--_box-shadow, transparent);
  color: var(--secondary);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  --_icon-size: 1.25rem;
}
.product-card__features {
  
  padding-block-start: calc(var(--space-m) * 1.1);
  border-block-start: 1px solid var(--secondary-light);
  font-size: var(--text-s);
  font-weight: 500;
  line-height: 1.35;
}
.product-card__media {
  
  order: -1;
  aspect-ratio: 405 / 300;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-s, 4px);
  box-shadow: 12px 12px 0 var(--_pc-shadow, transparent);
  rotate: var(--_tilt, 0deg);
  transition: rotate 0.4s cubic-bezier(.2, .7, .2, 1), box-shadow 0.4s cubic-bezier(.2, .7, .2, 1);
}
.product-card__image {
  
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  border-radius: 0;
}
.more-categories {
  
  background: var(--secondary-ultra-light);
}
.more-categories__inner {
  
  gap: var(--space-xxl);
}
.category-list {
  
  display: grid;
  grid-template-columns: var(--_cl-cols, repeat(4, minmax(0, 1fr)));
  gap: var(--space-l);
  margin: 0;
  padding: 0 6px 6px 0;
  list-style: none;
  @media (max-width: 64em) { --_cl-cols: repeat(2, minmax(0, 1fr)); }
  @media (max-width: 48em) { --_cl-cols: minmax(0, 1fr); }
}
.category-list__item {
  
  display: flex;
}
.category-link {
  
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  inline-size: 100%;
  padding: calc(var(--space-l) * 1.15);
  border: 2px solid var(--secondary);
  border-radius: var(--radius-s, 4px);
  background: var(--white);
  box-shadow: var(--_cl-off, 0px) var(--_cl-off, 0px) 0 var(--primary);
  translate: var(--_cl-lift, 0 0);
  transition: box-shadow 0.3s cubic-bezier(.2, .7, .2, 1), translate 0.3s cubic-bezier(.2, .7, .2, 1);
  @media (hover: hover) { &:hover { --_cl-off: 6px; --_cl-lift: -3px -3px; --_box-bg: var(--primary); --_turn: 45deg; } }
  &:focus-within { --_box-bg: var(--primary); }
}
.category-link__top {
  
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-m);
}
.category-link__num {
  
  margin: 0;
  font-family: var(--heading-font-family);
  font-size: calc(var(--h4) * 0.8);
  line-height: 1.25;
  color: var(--primary-dark);
}
.category-link__arrow {
  
  display: grid;
  place-items: center;
  flex-shrink: 0;
  inline-size: 2.75rem;
  block-size: 2.75rem;
  border: 2px solid var(--secondary);
  border-radius: var(--radius-s, 4px);
  background: var(--_box-bg, transparent);
  color: var(--secondary);
  transition: background-color 0.3s ease;
  --_icon-size: 1.1rem;
}
.category-link__title {
  
  min-block-size: var(--_clt-min, 2lh);
  margin: 0;
  font-size: var(--h3);
  line-height: 1.2;
  @media (max-width: 48em) { --_clt-min: 0; }
}
.category-link__link {
  
  color: inherit;
  text-decoration: none;
  &::after { content: ""; position: absolute; inset: 0; z-index: 1; }
  &:focus-visible { outline: none; }
  &:focus-visible::after { outline: 3px solid var(--accent); outline-offset: 4px; }
}
.category-link__text {
  
  margin: 0;
  font-size: var(--text-m);
  line-height: 1.55;
  color: var(--secondary-dark);
}
.product-card__placeholder {
  
  display: grid;
  place-items: center;
  block-size: 100%;
  border: 2px dashed var(--secondary-semi-light);
  border-radius: var(--radius-s, 4px);
  background: var(--secondary-ultra-light);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--secondary-semi-dark);
}
.vdp-card {
  
  display: grid;
  grid-template-columns: var(--_vdp-cols, minmax(0, 1.3fr) minmax(0, 1fr));
  align-items: center;
  gap: var(--space-xxl);
  padding: var(--_vdp-pad, var(--space-xxl) calc(var(--space-xxl) * 1.05));
  border-radius: var(--radius-s, 4px);
  background: var(--secondary);
  color: var(--white);
  --heading-color: var(--white);
  --eyebrow-color: var(--primary);
  @media (max-width: 64em) { --_vdp-cols: minmax(0, 1fr); }
  @media (max-width: 48em) { --_vdp-pad: var(--space-xl) var(--space-l); }
}
.vdp-card__content {
  
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-m);
  padding: 0 6px 6px 0;
}
.vdp-card__title {
  
  margin: 0;
  font-size: calc(var(--h2) * 0.64);
  line-height: 1.14;
}
.vdp-card__accent {
  
  color: var(--primary);
}
.vdp-card__text {
  
  max-inline-size: 36rem;
  margin: 0;
  font-size: var(--text-m);
  line-height: 1.55;
  color: var(--secondary-light);
}
.vdp-card__visual {
  
  position: relative;
  inline-size: 100%;
  max-inline-size: 27.5rem;
  aspect-ratio: 440 / 330;
  justify-self: center;
  container-type: inline-size;
}
.vdp-card__sample {
  
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  inline-size: 68%;
  aspect-ratio: 300 / 170;
  padding: 5cqi;
  border: 2px solid var(--_vs-border, transparent);
  background: var(--white);
  box-shadow: var(--_vs-shadow, none);
  color: var(--_vs-color, var(--secondary));
  transform-origin: 0 0;
  rotate: var(--_vs-rot, 0deg);
  &[data-variant="3"] { inset: 0 auto auto 29.5%; --_vs-rot: 6deg; --_vs-color: var(--secondary-semi-light); }
  &[data-variant="2"] { inset: 23.6% auto auto 15%; --_vs-rot: -2deg; --_vs-color: color-mix(in oklch, var(--secondary-semi-light), var(--secondary-semi-dark)); --_vs-border: var(--secondary-light); }
  &[data-variant="1"] { inset: 47.3% auto auto 0; --_vs-rot: -7deg; --_vs-shadow: 10px 10px 0 var(--primary); --_vs-nr: var(--primary-dark); }
  &[data-variant="1"]::after {
    content: "";
    position: absolute;
    inset: auto 5cqi 5cqi auto;
    inline-size: 10cqi;
    aspect-ratio: 1;
    background: repeating-linear-gradient(90deg, var(--secondary) 0 3px, transparent 3px 5px, var(--secondary) 5px 6px, transparent 6px 9px);
  }
}
.vdp-card__name {
  
  font-family: var(--heading-font-family);
  font-size: 5.9cqi;
  line-height: 1.15;
  text-transform: uppercase;
}
.vdp-card__nr {
  
  font-size: 3.2cqi;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--_vs-nr, inherit);
}
.print-compare {
  
  background: var(--secondary);
  color: var(--white);
  --heading-color: var(--white);
  --sh-accent-display: block;
}
.print-compare__inner {
  
  gap: var(--space-xxl);
}
.compare-table {
  
  display: block;
  inline-size: 100%;
  border-collapse: collapse;
  & > thead, & > tbody { display: contents; }
}
.compare-table__row {
  
  display: grid;
  grid-template-columns: var(--_ct-cols, 16.25rem minmax(0, 1fr) minmax(0, 1fr));
  gap: var(--_ct-gap, 0 var(--space-l));
  align-items: var(--_ct-align, baseline);
  padding-block: var(--_ct-pad, calc(var(--space-m) * 1.4));
  border-block-end: var(--_ct-line, 1px solid var(--secondary-dark));
  &[data-head] { --_ct-pad: 0 var(--space-m); --_ct-line: 2px solid var(--white); --_ct-align: end; }
  @media (max-width: 48em) { --_ct-cols: minmax(0, 1fr) minmax(0, 1fr); --_ct-gap: var(--space-xs) var(--space-m); }
}
.compare-table__corner {
  
  padding: 0;
  @media (max-width: 48em) { display: none; }
}
.compare-table__col {
  
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  padding: 0;
  font-family: var(--heading-font-family);
  font-size: var(--_ctc-fs, var(--h3));
  font-weight: 400;
  line-height: 1.2;
  text-align: start;
  text-transform: uppercase;
  color: var(--_ctc, var(--secondary-semi-light));
  &[data-current] { --_ctc: var(--primary); }
  @media (max-width: 48em) { --_ctc-fs: var(--h5); }
}
.compare-table__chip {
  
  padding: 0.3em 0.6em;
  background: var(--primary);
  font-family: var(--text-font-family);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.1;
  color: var(--secondary);
}
.compare-table__label {
  
  grid-column: var(--_ctl-span, auto);
  padding: 0;
  font-size: var(--text-s);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.6;
  text-align: start;
  text-transform: uppercase;
  color: var(--secondary-semi-light);
  @media (max-width: 48em) { --_ctl-span: 1 / -1; }
}
.compare-table__cell {
  
  padding: 0;
  font-size: var(--text-m);
  font-weight: var(--_ctd-fw, 400);
  line-height: 1.45;
  color: var(--_ctd, var(--secondary-light));
  &[data-current] { --_ctd: var(--white); --_ctd-fw: 600; }
}
.page-hero__actions {
  
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--space-s) * 1.25);
  inline-size: 100%;
  padding-block-start: calc(var(--space-xs) * 0.5);
}
.product-specs {
  
  background: var(--white);
}
.product-specs__inner {
  
  gap: var(--space-xxl);
}
.product-specs__head {
  
  display: grid;
  grid-template-columns: var(--_psh-cols, minmax(0, 1fr) minmax(0, 28.75rem));
  align-items: center;
  gap: var(--space-xxl);
  &:not(:has(.spec-sample, .spec-sketch)) { --_psh-cols: minmax(0, 1fr); }
  @media (max-width: 64em) { --_psh-cols: minmax(0, 1fr); }
}
.spec-sample {
  
  position: relative;
  inline-size: 100%;
  max-inline-size: 28.75rem;
  aspect-ratio: 460 / 330;
  container-type: inline-size;
}
.spec-sample__card {
  
  position: absolute;
  inset: 12.1% 13% auto 13%;
  block-size: 66.7%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 5.6cqi;
  border: 2px solid var(--secondary);
  border-radius: var(--radius-s, 4px);
  background: var(--white);
  box-shadow: 10px 10px 0 var(--primary);
}
.spec-sample__logo {
  
  display: block;
  inline-size: 21.7cqi;
  block-size: auto;
}
.spec-sample__person {
  
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.spec-sample__name {
  
  font-family: var(--heading-font-family);
  font-size: calc(var(--h4) * 0.8);
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--secondary);
}
.spec-sample__contact {
  
  font-size: var(--text-xs);
  color: var(--secondary-semi-dark);
}
.spec-sample__dim {
  
  position: absolute;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--info-dark);
  font-size: var(--text-xs);
  font-weight: 700;
  &::before, &::after { content: ""; flex: 1; background: var(--info); }
  &[data-axis="x"] { inset: auto 13% 3% 13%; flex-direction: row; }
  &[data-axis="x"]::before, &[data-axis="x"]::after { block-size: 2px; }
  &[data-axis="y"] { inset: 12.1% auto 21.2% 90.9%; flex-direction: column; }
  &[data-axis="y"]::before, &[data-axis="y"]::after { inline-size: 2px; }
}
.spec-sample__crop {
  
  position: absolute;
  inline-size: 4.35%;
  aspect-ratio: 1;
  &::before, &::after { content: ""; position: absolute; background: var(--secondary); }
  &[data-pos="tl"] { inset: 3% auto auto 6.5%; }
  &[data-pos="tl"]::before { inset: auto 0 0 0; block-size: 2px; translate: 0 -0.15rem; }
  &[data-pos="tl"]::after { inset: 0 0 0 auto; inline-size: 2px; translate: 0.6rem 0; }
  &[data-pos="tr"] { inset: 3% 13% auto auto; }
  &[data-pos="tr"]::after { inset: 0 0 0 auto; inline-size: 2px; }
  &[data-pos="bl"] { inset: 77.6% auto auto 6.5%; }
  &[data-pos="bl"]::before { inset: 0 0 auto 0; block-size: 2px; }
}
.spec-list {
  
  display: grid;
  grid-template-columns: var(--_sl-cols, repeat(3, minmax(0, 1fr)));
  margin: 0;
  padding: 0;
  list-style: none;
  border-block-start: 2px solid var(--secondary);
  border-inline-start: var(--_sl-side, 2px solid var(--secondary));
  @media (max-width: 64em) { --_sl-cols: repeat(2, minmax(0, 1fr)); }
  @media (max-width: 48em) { --_sl-cols: minmax(0, 1fr); --_sl-side: none; }
}
.spec-item {
  
  display: flex;
  flex-direction: column;
  gap: calc(var(--space-s) * 1.25);
  padding: var(--_si-pad, var(--space-xl) calc(var(--space-xl) * 0.9));
  border-block-end: 2px solid var(--secondary);
  border-inline-end: var(--_si-side, 2px solid var(--secondary));
  background: var(--_si-bg, transparent);
  color: var(--_si-color, var(--secondary-dark));
  &[data-accent="yes"] { --_si-bg: var(--primary); --_si-color: var(--secondary); --eyebrow-color: var(--secondary); --_si-pad: var(--space-xl) calc(var(--space-xl) * 0.9); --_si-side: 2px solid var(--secondary); }
  @media (max-width: 48em) { --_si-pad: var(--space-l) 0; --_si-side: none; }
}
.spec-item__value {
  
  margin: 0;
  font-family: var(--heading-font-family);
  font-size: calc(var(--h2) * 0.73);
  line-height: 1.12;
  text-transform: uppercase;
  color: var(--secondary);
}
.spec-item__unit {
  
  font-size: var(--h4);
}
.spec-item__text {
  
  margin: 0;
  font-size: var(--text-s);
  line-height: 1.6;
}
.product-configurator {
  
  background: var(--secondary);
  color: var(--white);
  --heading-color: var(--white);
  scroll-margin-block-start: var(--space-m);
}
.product-configurator__inner {
  
  gap: calc(var(--space-xxl) * 1.05);
}
.configurator {
  
  display: grid;
  grid-template-columns: var(--_cf-cols, minmax(0, 760fr) minmax(0, 472fr));
  align-items: start;
  gap: var(--space-xxl);
  @media (max-width: 64em) { --_cf-cols: minmax(0, 1fr); }
}
.option-list {
  
  display: flex;
  flex-direction: column;
  border-block-start: 1px solid var(--secondary-dark);
}
.option-group {
  
  display: grid;
  grid-template-columns: var(--_og-cols, 10.625rem minmax(0, 1fr));
  align-items: start;
  gap: var(--_og-gap, var(--space-l));
  padding-block: calc(var(--space-l) * 0.92);
  border-block-end: 1px solid var(--_og-line, var(--secondary-dark));
  &:last-child { --_og-line: transparent; }
  &:has(.option-chip__input:disabled) { --_note: block; }
  @media (max-width: 48em) { --_og-cols: minmax(0, 1fr); --_og-gap: var(--space-s); }
}
.option-group__legend {
  
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  margin: 0;
  padding-block-start: 0.3rem;
  font-family: var(--heading-font-family);
  font-size: calc(var(--h4) * 0.86);
  line-height: 1.25;
  text-transform: uppercase;
  color: var(--white);
}
.option-group__nr {
  
  color: var(--primary);
}
.option-group__choices {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  min-inline-size: 0;
}
.option-group__chips {
  
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.option-chip {
  
  position: relative;
  display: inline-flex;
  align-items: center;
  min-block-size: var(--_chip-h, 2.4rem);
  padding: 0.45rem 0.9rem;
  border: 2px var(--_chip-style, solid) var(--_chip-border, color-mix(in oklch, var(--secondary-semi-light), var(--secondary-semi-dark)));
  background: var(--_chip-bg, transparent);
  color: var(--_chip-color, var(--white));
  font-size: var(--text-s);
  font-weight: 600;
  line-height: 1.3;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  &::before { content: var(--_chip-check, none); margin-inline-end: 0.4em; }
  &:has(.option-chip__input:checked) { --_chip-bg: var(--primary); --_chip-border: var(--primary); --_chip-color: var(--secondary); --_chip-check: "✓"; }
  &:has(.option-chip__input:disabled) { --_chip-style: dashed; --_chip-border: var(--secondary-dark); --_chip-color: color-mix(in oklch, var(--secondary-semi-light), var(--secondary-semi-dark)); --_chip-line: line-through; cursor: not-allowed; }
  &:has(.option-chip__input:focus-visible) { outline: 3px solid var(--accent); outline-offset: 2px; }
  @media (hover: hover) { &:hover { --_chip-border: var(--primary); } }
  @media (max-width: 48em) { --_chip-h: 2.75rem; }
}
.option-chip__input {
  
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  margin: 0;
  opacity: 0;
  cursor: inherit;
}
.option-chip__label {
  
  text-decoration: var(--_chip-line, none);
}
.option-free {
  
  inline-size: var(--_of-w, min(100%, 15rem));
  min-block-size: var(--_chip-h, 2.4rem);
  padding: 0.45rem 0.9rem;
  border: 2px var(--_of-style, dashed) color-mix(in oklch, var(--secondary-semi-light), var(--secondary-semi-dark));
  border-radius: 0;
  background: transparent;
  color: var(--white);
  font: inherit;
  font-size: var(--text-s);
  &::placeholder { color: var(--secondary-semi-light); opacity: 1; }
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; --_of-style: solid; }
  @media (max-width: 48em) { --_of-w: 100%; --_chip-h: 2.75rem; }
}
.option-group__note {
  
  display: var(--_note, none);
  margin: 0;
  font-size: calc(var(--text-s) * 0.93);
  line-height: 1.45;
  color: var(--secondary-semi-light);
}
.option-group__note-mark {
  
  font-weight: 700;
  color: var(--primary);
}
.option-group__hint {
  
  margin: 0;
  font-size: calc(var(--text-s) * 0.93);
  line-height: 1.45;
  color: var(--secondary-semi-light);
}
.option-group__link {
  
  color: var(--white);
  text-underline-offset: 0.2em;
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
}
.option-file {
  
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.9rem 1.1rem;
  border: 2px dashed var(--_ofb, color-mix(in oklch, var(--secondary-semi-light), var(--secondary-semi-dark)));
  cursor: pointer;
  &:has(.option-file__input:focus-visible) { outline: 3px solid var(--accent); outline-offset: 2px; }
  @media (hover: hover) { &:hover { --_ofb: var(--primary); } }
}
.option-file__input {
  
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  opacity: 0;
  cursor: pointer;
}
.option-file__title {
  
  font-weight: 600;
  color: var(--_of-title, var(--white));
}
.option-file__name {
  
  font-size: var(--text-s);
  color: var(--_of-name, var(--primary));
  &:empty { display: none; }
}
.order-ticket {
  
  position: var(--_ot-pos, sticky);
  inset-block-start: var(--space-l);
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-s, 4px);
  background: var(--white);
  color: var(--secondary);
  box-shadow: 12px 12px 0 var(--primary);
  --heading-color: var(--secondary);
  @media (max-width: 64em) { --_ot-pos: relative; }
}
.order-ticket__head {
  
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-m);
  padding: calc(var(--space-m) * 1.1) calc(var(--space-l) * 1.15);
  border-block-end: 2px dashed var(--secondary-semi-light);
}
.order-ticket__title {
  
  margin: 0;
  font-size: var(--h4);
  line-height: 1.2;
}
.order-ticket__product {
  
  margin: 0;
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--primary-dark);
}
.order-ticket__summary {
  
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin: 0;
  padding: calc(var(--space-m) * 1.1) calc(var(--space-l) * 1.15);
  border-block-end: 2px dashed var(--secondary-semi-light);
  font-size: var(--text-s);
  line-height: 1.35;
}
.order-ticket__row {
  
  display: flex;
  justify-content: space-between;
  gap: var(--space-m);
}
.order-ticket__term {
  
  color: var(--secondary-semi-dark);
}
.order-ticket__value {
  
  margin: 0;
  font-weight: 600;
  text-align: end;
}
.order-ticket__fields {
  
  display: flex;
  flex-direction: column;
  gap: calc(var(--space-s) * 1.1);
  padding: calc(var(--space-l) * 0.85) calc(var(--space-l) * 1.15) var(--space-l);
}
.order-ticket__pair {
  
  display: grid;
  grid-template-columns: var(--_otp-cols, repeat(2, minmax(0, 1fr)));
  gap: calc(var(--space-s) * 1.1);
  @media (max-width: 30em) { --_otp-cols: minmax(0, 1fr); }
}
.order-ticket__trap {
  
  position: absolute;
  inset-inline-start: -100vw;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
}
.order-ticket__status {
  
  margin: 0;
  font-size: var(--text-s);
  font-weight: 600;
  color: var(--_ots-color, var(--secondary));
  &:empty { display: none; }
  &[data-state="error"] { --_ots-color: var(--accent-dark); }
  &[data-state="ok"] { --_ots-color: var(--primary-dark); }
}
.order-ticket__note {
  
  margin: 0;
  font-size: var(--text-xs);
  line-height: 1.45;
  color: var(--secondary-semi-dark);
}
.field {
  
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-inline-size: 0;
}
.field__label {
  
  font-size: calc(var(--text-s) * 0.93);
  font-weight: 600;
  line-height: 1.3;
}
.field__optional {
  
  font-weight: 400;
  color: var(--secondary-semi-dark);
}
.field__input {
  
  inline-size: 100%;
  min-block-size: 3rem;
  padding: 0.65rem 0.8rem;
  border: 2px solid var(--_fi-border, var(--secondary-semi-light));
  border-radius: var(--radius-s, 4px);
  background: var(--white);
  color: var(--secondary);
  font: inherit;
  font-size: var(--text-m);
  resize: vertical;
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 1px; --_fi-border: var(--secondary); }
  &[aria-invalid="true"] { --_fi-border: var(--accent); }
}
.consent {
  
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: var(--text-xs);
  line-height: 1.45;
  color: var(--secondary-semi-dark);
  cursor: pointer;
}
.consent__input {
  
  flex-shrink: 0;
  inline-size: 1.25rem;
  block-size: 1.25rem;
  margin: 0;
  accent-color: var(--secondary);
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
  &[aria-invalid="true"] { outline: 2px solid var(--accent); outline-offset: 2px; }
}
.consent__link {
  
  color: var(--secondary);
  text-underline-offset: 0.2em;
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
}
.product-guide {
  
  background: var(--secondary-ultra-light);
}
.product-guide__inner {
  
  display: grid;
  grid-template-columns: var(--_pg-cols, minmax(0, 520fr) minmax(0, 640fr));
  align-items: start;
  gap: var(--space-xxl);
  @media (max-width: 64em) { --_pg-cols: minmax(0, 1fr); }
}
.guide-list {
  
  margin: 0;
  padding: 0;
  list-style: none;
  border-block-start: 2px solid var(--secondary);
}
.guide-item {
  
  display: flex;
  gap: calc(var(--space-l) * 1.15);
  padding-block: calc(var(--space-l) * 1.15);
  border-block-end: 1px solid var(--secondary-light);
}
.guide-item__nr {
  
  flex-shrink: 0;
  inline-size: 2.25rem;
  font-family: var(--heading-font-family);
  font-size: calc(var(--h4) * 0.8);
  line-height: 1.3;
  color: var(--primary-dark);
}
.guide-item__body {
  
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.guide-item__title {
  
  margin: 0;
  font-size: var(--h4);
  line-height: 1.2;
}
.guide-item__text {
  
  margin: 0;
  font-size: var(--text-s);
  line-height: 1.6;
  color: var(--secondary-dark);
}
.spec-sketch {
  
  inline-size: 100%;
  max-inline-size: 28.75rem;
  aspect-ratio: 460 / 330;
  margin: 0;
}
.spec-sketch__image {
  
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
  border-radius: 0;
}
.service-scope {
  
  background: var(--white);
}
.service-scope__inner {
  
  gap: var(--space-xxl);
}
.scope-list {
  
  display: grid;
  grid-template-columns: var(--_scl-cols, repeat(2, minmax(0, 1fr)));
  column-gap: var(--space-xxl);
  margin: 0;
  padding: 0;
  list-style: none;
  border-block-start: 2px solid var(--secondary);
  @media (max-width: 48em) { --_scl-cols: minmax(0, 1fr); }
}
.scope-item {
  
  display: flex;
  gap: var(--space-l);
  padding-block: var(--space-l);
  border-block-end: 1px solid var(--secondary-light);
}
.scope-item__nr {
  
  flex-shrink: 0;
  inline-size: 2rem;
  font-family: var(--heading-font-family);
  font-size: var(--h4);
  line-height: 1.4;
  color: var(--primary-dark);
}
.scope-item__body {
  
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.scope-item__title {
  
  margin: 0;
  font-size: calc(var(--h4) * 1.2);
  line-height: 1.2;
}
.scope-item__text {
  
  margin: 0;
  font-size: var(--text-s);
  line-height: 1.6;
  color: var(--secondary-dark);
}
.contact-channels {
  
  background: var(--secondary);
  color: var(--white);
  --eyebrow-color: var(--primary);
  padding-block: 0 var(--section-space-l);
}
.contact-channel-list {
  
  display: grid;
  grid-template-columns: var(--_ccl-cols, repeat(3, minmax(0, 1fr)));
  margin: 0;
  padding: 0;
  list-style: none;
  border-block-start: 1px solid var(--secondary-dark);
  @media (max-width: 64em) { --_ccl-cols: minmax(0, 1fr); }
}
.contact-channel {
  
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  min-inline-size: 0;
  container-type: inline-size;
  padding-block: calc(var(--space-l) * 1.3) var(--_cc-pb, 0);
  padding-inline: var(--_cc-ps, var(--_cc-pi, calc(var(--space-l) * 1.3))) var(--_cc-pi, calc(var(--space-l) * 1.3));
  border-inline-start: 1px solid var(--_cc-line, var(--secondary-dark));
  &:first-child { --_cc-line: transparent; --_cc-ps: 0; }
  @media (max-width: 64em) { --_cc-line: transparent; --_cc-pi: 0; --_cc-pb: calc(var(--space-l) * 1.1); border-block-end: 1px solid var(--secondary-dark); }
}
.contact-channel__value {
  
  font-family: var(--heading-font-family);
  /* info@k2plus.si (≈ 7em in Anton) stays on one line */
  font-size: min(max(calc(var(--h2) * 0.64), calc(var(--h4) * 1.3)), 13.5cqi);
  line-height: 1.15;
  color: var(--_ccv-color, var(--white));
  text-decoration: none;
  overflow-wrap: anywhere;
  @media (hover: hover) { &:is(a):hover { --_ccv-color: var(--primary); } }
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
}
.contact-channel__note {
  
  margin: 0;
  font-size: var(--text-s);
  line-height: 1.5;
  color: var(--secondary-light);
}
.contact-main {
  
  background: var(--secondary-ultra-light);
}
.contact-main__inner {
  
  display: grid;
  grid-template-columns: var(--_cm-cols, minmax(0, 720fr) minmax(0, 480fr));
  align-items: start;
  gap: calc(var(--space-xxl) * 1.5);
  @media (max-width: 64em) { --_cm-cols: minmax(0, 1fr); }
}
.contact-form {
  
  display: flex;
  flex-direction: column;
  gap: calc(var(--space-m) * 1.25);
  padding: var(--_cf-pad, calc(var(--space-xl) * 1.1));
  border: 2px solid var(--secondary);
  background: var(--white);
  color: var(--secondary);
  box-shadow: var(--_cf-shadow, 12px) var(--_cf-shadow, 12px) 0 var(--primary);
  --heading-color: var(--secondary);
  --_chip-color: var(--secondary);
  --_of-title: var(--secondary);
  --_of-name: var(--primary-dark);
  @media (max-width: 48em) { --_cf-pad: var(--space-l); --_cf-shadow: 8px; }
}
.contact-form__head {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.contact-form__title {
  
  margin: 0;
  font-size: calc(var(--h2) * 0.5);
  line-height: 1.15;
}
.contact-form__lead {
  
  margin: 0;
  font-size: var(--text-s);
  line-height: 1.55;
  color: var(--secondary-semi-dark);
}
.contact-form__needs {
  
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  min-inline-size: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.contact-form__chips {
  
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.contact-form__pair {
  
  display: grid;
  grid-template-columns: var(--_cfp-cols, repeat(2, minmax(0, 1fr)));
  gap: calc(var(--space-m) * 1.25) var(--space-m);
  @media (max-width: 48em) { --_cfp-cols: minmax(0, 1fr); }
}
.contact-form__hint {
  
  font-size: calc(var(--text-s) * 0.93);
  line-height: 1.45;
  color: var(--secondary-semi-dark);
}
.contact-form__trap {
  
  position: absolute;
  inset-inline-start: -100vw;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
}
.contact-form__status {
  
  margin: 0;
  font-size: var(--text-s);
  font-weight: 600;
  color: var(--_cfs-color, var(--secondary));
  &:empty { display: none; }
  &[data-state="error"] { --_cfs-color: var(--accent-dark); }
  &[data-state="ok"] { --_cfs-color: var(--primary-dark); }
}
.location-list {
  
  display: flex;
  flex-direction: column;
  gap: calc(var(--space-xl) * 1.1);
}
.location-card {
  
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6rem;
  padding-block-start: var(--space-l);
  border-block-start: 2px solid var(--secondary);
}
.location-card__label {
  
  margin: 0;
  padding: 0.25rem 0.6rem;
  border: 2px solid var(--_lcl-border, var(--primary));
  background: var(--_lcl-bg, var(--primary));
  color: var(--secondary);
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  &[data-style="outline"] { --_lcl-bg: transparent; --_lcl-border: var(--secondary); }
}
.location-card__title {
  
  margin: 0;
  font-size: calc(var(--h4) * 1.3);
  line-height: 1.15;
}
.location-card__address {
  
  margin: 0;
  font-size: var(--text-m);
  font-style: normal;
  font-weight: 600;
  line-height: 1.5;
}
.location-card__text {
  
  margin: 0;
  font-size: var(--text-s);
  line-height: 1.6;
  color: var(--secondary-dark);
}
.location-card__link {
  
  font-weight: 700;
  color: var(--_lcl-color, var(--primary-dark));
  text-underline-offset: 0.2em;
  @media (hover: hover) { &:hover { --_lcl-color: var(--secondary); } }
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
}
.page-intro {
  
  background: var(--secondary);
  color: var(--white);
  --heading-color: var(--white);
  --eyebrow-color: var(--primary);
  overflow: clip;
}
.page-intro__inner {
  
  display: grid;
  grid-template-columns: var(--_pi-cols, minmax(0, 1.45fr) minmax(0, 1fr));
  align-items: center;
  gap: var(--_pi-gap, var(--space-xxl));
  @media (max-width: 64em) { --_pi-cols: minmax(0, 1fr); --_pi-gap: var(--space-xl); }
}
.page-intro__content {
  
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-l);
  container-type: inline-size;
}
.page-intro__title {
  
  margin: 0;
  padding-block-start: var(--space-xs);
  font-size: min(var(--h1), 14.5cqi);
  line-height: 1.14;
}
.page-intro__accent {
  
  display: block;
  color: var(--primary);
}
.page-intro__lead {
  
  max-inline-size: 35rem;
  margin: 0;
  font-size: calc(var(--text-m) * 1.1);
  line-height: 1.55;
  color: var(--secondary-light);
}
.page-intro__meta {
  
  inline-size: 100%;
  margin: 0;
  padding-block-start: var(--space-m);
  border-block-start: 1px solid var(--secondary-dark);
  font-size: var(--text-s);
  color: var(--secondary-semi-light);
}
.page-intro__actions {
  
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--space-s) * 1.25);
  inline-size: 100%;
}
.page-intro__visual {
  
  position: relative;
  inline-size: 100%;
  max-inline-size: var(--_piv-max, 25rem);
  justify-self: var(--_piv-justify, end);
  container-type: inline-size;
  @media (max-width: 64em) { --_piv-justify: center; --_piv-max: 17rem; }
}
.misprint {
  
  position: relative;
  aspect-ratio: var(--_mp-ratio, 360 / 340);
  --_mp-fs: 89cqi;
  --_mp-x: 16.7cqi;
  --_mp-y: 0cqi;
  /* „404“: the register mark sits above the digits, not on them */
  &[data-width="wide"] { --_mp-ratio: 400 / 300; --_mp-fs: 60cqi; --_mp-x: 0cqi; --_mp-y: 12cqi; }
}
.misprint__layer {
  
  position: absolute;
  inset-block-start: calc(var(--_mp-y) + var(--_ml-y, 0cqi));
  inset-inline-start: calc(var(--_mp-x) + var(--_ml-x, 0cqi));
  font-family: var(--heading-font-family);
  font-size: var(--_mp-fs);
  line-height: 1.03;
  color: var(--_ml-color, var(--white));
  mix-blend-mode: screen;
  &[data-color="c"] { --_ml-color: var(--cmyk-c); --_ml-y: 2.2cqi; }
  &[data-color="m"] { --_ml-color: var(--cmyk-m); --_ml-x: 5.6cqi; }
  &[data-color="y"] { --_ml-color: var(--cmyk-y); --_ml-x: 2.8cqi; --_ml-y: 5.6cqi; }
}
.misprint__register {
  
  position: absolute;
  inset-block-start: 3cqi;
  inset-inline-end: 3cqi;
  inline-size: 16.7cqi;
  aspect-ratio: 1;
  background: linear-gradient(var(--white), var(--white)) center / 2px 100% no-repeat, linear-gradient(var(--white), var(--white)) center / 100% 2px no-repeat;
  &::before { content: ""; position: absolute; inset: 22%; border: 2px solid var(--white); border-radius: 50%; }
}
.format-stack {
  
  position: relative;
  aspect-ratio: 380 / 360;
}
.format-stack__sheet {
  
  position: absolute;
  inset-inline-start: 10.5%;
  inset-block-start: 5.6%;
  display: flex;
  align-items: flex-end;
  inline-size: var(--_fs-w);
  block-size: var(--_fs-h);
  padding: 2.6cqi;
  border: 2px solid var(--_fs-color);
  background: var(--_fs-bg, transparent);
  color: var(--_fs-text, var(--_fs-color));
  font-family: var(--heading-font-family);
  font-size: 5.8cqi;
  line-height: 1;
  &[data-format="a3"] { --_fs-w: 59.5%; --_fs-h: 88.9%; --_fs-color: var(--secondary-semi-dark); --_fs-text: var(--secondary-semi-light); }
  &[data-format="a4"] { --_fs-w: 42.1%; --_fs-h: 62.8%; --_fs-color: var(--cmyk-c); }
  &[data-format="a5"] { --_fs-w: 29.7%; --_fs-h: 44.4%; --_fs-color: var(--cmyk-m); }
  &[data-format="a6"] { --_fs-w: 21%; --_fs-h: 31.4%; --_fs-color: var(--primary); --_fs-bg: var(--primary); --_fs-text: var(--secondary); }
}
.format-stack__crop {
  
  position: absolute;
  inline-size: 4.2cqi;
  aspect-ratio: 1;
  inset-inline-start: var(--_fc-x);
  inset-block-start: var(--_fc-y);
  border-color: var(--white);
  border-style: solid;
  border-width: var(--_fc-b);
  &[data-corner="start"] { --_fc-x: 4.2%; --_fc-y: 0%; --_fc-b: 0 2px 2px 0; }
  &[data-corner="end"] { --_fc-x: 71.5%; --_fc-y: 96%; --_fc-b: 2px 0 0 2px; }
}
.doc-sheet {
  
  position: relative;
  aspect-ratio: 400 / 380;
}
.doc-sheet__crop {
  
  position: absolute;
  inset-inline-start: 6%;
  inset-block-start: 0;
  inline-size: 6cqi;
  aspect-ratio: 1;
  border-inline-end: 2px solid var(--white);
  border-block-end: 2px solid var(--white);
}
.doc-sheet__page {
  
  position: absolute;
  inset-inline-start: 16%;
  inset-block-start: 7%;
  display: flex;
  flex-direction: column;
  gap: 2.6cqi;
  inline-size: 52%;
  block-size: 82%;
  padding: 7cqi 6cqi;
  background: var(--white);
  box-shadow: 3cqi 3cqi 0 var(--primary);
  rotate: 4deg;
}
.doc-sheet__bar {
  
  display: block;
  inline-size: var(--_db-w, 70%);
  block-size: 2.4cqi;
  margin-block-start: 2cqi;
  background: var(--secondary);
  &[data-w="m"] { --_db-w: 55%; }
  &[data-w="s"] { --_db-w: 40%; }
}
.doc-sheet__line {
  
  display: block;
  inline-size: 100%;
  block-size: 1.2cqi;
  background: var(--secondary-light);
  &:nth-child(4n) { inline-size: 75%; }
}
.doc-sheet__seal {
  
  position: absolute;
  inset-inline-end: 12%;
  inset-block-end: 12%;
  display: grid;
  place-items: center;
  inline-size: 20cqi;
  aspect-ratio: 1;
  border: 2px solid var(--secondary);
  border-radius: 50%;
  background: var(--primary);
  color: var(--secondary);
  font-family: var(--heading-font-family);
  font-size: 11cqi;
  line-height: 1;
  rotate: -12deg;
  animation: var(--_dss-anim, k2-pop 0.5s cubic-bezier(.2, .7, .2, 1) 0.5s both);
  @media (prefers-reduced-motion: reduce) { --_dss-anim: none; }
}
.page-intro__sticker {
  
  position: absolute;
  inset-inline-end: 0;
  inset-block-end: 4%;
  z-index: 2;
  display: grid;
  place-content: center;
  inline-size: 35.5%;
  aspect-ratio: 1;
  margin: 0;
  border: 2px solid var(--secondary);
  border-radius: 50%;
  background: var(--primary);
  color: var(--secondary);
  font-family: var(--heading-font-family);
  font-size: 5.3cqi;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
  rotate: -12deg;
  animation: var(--_pis-anim, k2-pop 0.5s cubic-bezier(.2, .7, .2, 1) 0.5s both);
  @media (prefers-reduced-motion: reduce) { --_pis-anim: none; }
}
.page-intro__sticker-nr {
  
  display: block;
  font-size: 2.1em;
  line-height: 1;
}
.help-card {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  block-size: 100%;
  padding: calc(var(--space-l) * 1.3);
  container-type: inline-size;
  background: var(--_hc-bg, var(--primary));
  color: var(--_hc-color, var(--secondary));
  --heading-color: var(--_hc-color, var(--secondary));
  --eyebrow-color: var(--_hc-accent, var(--secondary));
  &[data-tone="dark"] { --_hc-bg: var(--secondary); --_hc-color: var(--white); --_hc-accent: var(--primary); --_hc-text: var(--secondary-light); }
}
.help-card__title {
  
  margin: 0;
  font-size: min(calc(var(--h2) * 0.45), 12cqi);
  line-height: 1.1;
}
.help-card__accent {
  
  color: var(--_hc-accent, inherit);
}
.help-card__text {
  
  margin: 0;
  font-size: var(--text-s);
  line-height: 1.55;
  color: var(--_hc-text, inherit);
}
.help-card__contact {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin-block-start: auto;
}
.help-card__phone {
  
  font-family: var(--heading-font-family);
  /* 040 522 828 stays on one line in the narrow grid column */
  font-size: min(calc(var(--h2) * 0.5), 15cqi);
  line-height: 1.1;
  white-space: nowrap;
  color: var(--_hc-phone, inherit);
  text-decoration: none;
  [data-tone="dark"] & { --_hc-phone: var(--primary); }
  @media (hover: hover) { &:hover { text-decoration: underline; text-underline-offset: 0.12em; } }
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
}
.faq {
  
  background: var(--white);
}
.faq__inner {
  
  display: grid;
  grid-template-columns: var(--_faq-cols, minmax(0, 400fr) minmax(0, 816fr));
  align-items: start;
  gap: var(--space-xxl);
  @media (max-width: 64em) { --_faq-cols: minmax(0, 1fr); }
}
.faq__aside {
  
  position: var(--_fa-pos, sticky);
  inset-block-start: var(--space-l);
  order: var(--_fa-order, -1);
  @media (max-width: 64em) { --_fa-pos: static; --_fa-order: 0; }
}
.faq-list {
  
  margin: 0;
  padding: 0;
  list-style: none;
  border-block-start: 2px solid var(--secondary);
}
.faq-item {
  
  border-block-end: 1px solid var(--secondary-light);
}
.faq-item__question {
  
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-l);
  padding-block: calc(var(--space-l) * 1.05);
  list-style: none;
  cursor: pointer;
  &::-webkit-details-marker { display: none; }
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
}
.faq-item__title {
  
  margin: 0;
  font-size: var(--h4);
  line-height: 1.2;
  text-transform: uppercase;
}
.faq-item__toggle {
  
  position: relative;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  inline-size: 2.75rem;
  aspect-ratio: 1;
  border: 2px solid var(--secondary);
  background: var(--_ft-bg, transparent);
  transition: background-color 0.2s ease;
  &::before, &::after { content: ""; position: absolute; inline-size: 1rem; block-size: 2px; background: var(--secondary); transition: scale 0.25s cubic-bezier(.2, .7, .2, 1); }
  &::after { rotate: 90deg; scale: var(--_ft-v, 1); }
  .faq-item[open] & { --_ft-bg: var(--primary); --_ft-v: 0; }
  @media (hover: hover) { .faq-item__question:hover & { --_ft-bg: var(--primary); } }
}
.faq-item__answer {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  max-inline-size: 44rem;
  padding-block-end: calc(var(--space-l) * 1.1);
  font-size: var(--text-s);
  line-height: 1.65;
  color: var(--secondary-dark);
}
.faq-item__text {
  
  margin: 0;
}
.faq-item__link {
  
  align-self: flex-start;
  font-weight: 700;
  color: var(--_fil-color, var(--primary-dark));
  text-underline-offset: 0.2em;
  @media (hover: hover) { &:hover { --_fil-color: var(--secondary); } }
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
}
.template-library {
  
  background: var(--white);
}
.template-library__inner {
  
  gap: var(--space-xxl);
}
.template-grid {
  
  display: grid;
  grid-template-columns: var(--_tgr-cols, repeat(4, minmax(0, 1fr)));
  gap: var(--space-xxl) var(--space-m);
  @media (max-width: 64em) { --_tgr-cols: repeat(2, minmax(0, 1fr)); }
  @media (max-width: 48em) { --_tgr-cols: minmax(0, 1fr); }
}
.template-group {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  grid-column: var(--_tg-col, span 1);
  scroll-margin-block-start: var(--space-l);
  &[data-span="2"] { --_tg-col: span 2; }
  &[data-span="4"] { --_tg-col: 1 / -1; }
  @media (max-width: 48em) { --_tg-col: 1 / -1; &[data-span] { --_tg-col: 1 / -1; } }
}
.template-group__head {
  
  display: flex;
  align-items: baseline;
  gap: var(--space-s);
  padding-block-end: var(--space-s);
  border-block-end: 2px solid var(--secondary);
}
.template-group__title {
  
  margin: 0;
  font-size: var(--h4);
  line-height: 1.2;
  text-transform: uppercase;
}
.template-group__count {
  
  font-size: var(--text-xs);
  color: var(--secondary-semi-dark);
}
.template-list {
  
  display: grid;
  grid-template-columns: repeat(var(--_tl-n, 1), minmax(0, 1fr));
  flex-grow: 1;
  gap: var(--space-m);
  margin: 0;
  padding: 0;
  list-style: none;
  &[data-count="2"] { --_tl-n: 2; }
  &[data-count="4"] { --_tl-n: 4; }
  &[data-count="5"] { --_tl-n: 5; }
  @media (max-width: 64em) { &[data-count="4"], &[data-count="5"] { --_tl-n: 2; } }
  @media (max-width: 48em) { &[data-count] { --_tl-n: 1; } }
}
.template-card {
  
  display: flex;
  flex-direction: column;
  block-size: 100%;
  border: 2px solid var(--secondary);
  background: var(--white);
  scroll-margin-block-start: var(--space-l);
}
.template-card__body {
  
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 0.25rem;
  padding: var(--space-m) var(--space-m) 0;
}
.template-card__title {
  
  margin: 0;
  font-size: calc(var(--h4) * 0.9);
  line-height: 1.2;
  text-transform: uppercase;
}
.template-card__format {
  
  margin: 0;
  font-size: var(--text-s);
  line-height: 1.45;
  color: var(--secondary-semi-dark);
}
.template-card__preview {
  
  order: -1;
  display: grid;
  place-items: center;
  block-size: 10.5rem;
  margin: 0;
  background: var(--secondary-ultra-light);
  border-block-end: 2px solid var(--secondary);
}
.template-card__sheet {
  
  position: relative;
  display: flex;
  align-items: flex-end;
  inline-size: var(--_ts-w, auto);
  block-size: var(--_ts-h, 6.9rem);
  aspect-ratio: var(--ratio, 297 / 420);
  padding: 0.35rem;
  border: 2px solid var(--secondary);
  background: var(--white);
  box-shadow: -4px 4px 0 var(--info), 4px -4px 0 var(--accent);
  font-family: var(--heading-font-family);
  font-size: var(--text-s);
  line-height: 1;
  &[data-orientation="landscape"] { --_ts-w: 8.5rem; --_ts-h: auto; }
  &[data-folds="1"]::before, &[data-folds="2"]::before, &[data-folds="2"]::after { content: ""; position: absolute; inset-block: 0; border-inline-start: 1px dashed var(--secondary-semi-light); }
  &[data-folds="1"]::before { inset-inline-start: 50%; }
  &[data-folds="2"]::before { inset-inline-start: 33.3%; }
  &[data-folds="2"]::after { inset-inline-start: 66.6%; }
  &[data-window="yes"]::after { content: ""; position: absolute; inset-inline-start: 10%; inset-block-end: 22%; inline-size: 40%; block-size: 26%; border: 1px solid var(--secondary-semi-light); background: var(--secondary-ultra-light); }
}
.template-card__actions {
  
  display: flex;
  gap: var(--space-s);
  padding: var(--space-m);
}
.template-card__download {
  
  display: inline-flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-block-size: 2.875rem;
  border: 2px solid var(--_td-border, var(--secondary));
  border-radius: var(--radius-s, 4px);
  background: var(--_td-bg, transparent);
  color: var(--_td-color, var(--secondary));
  font-size: var(--text-s);
  font-weight: 600;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
  --_icon-size: 1rem;
  &[data-kind="pdf"] { --_td-bg: var(--primary); --_td-border: var(--primary); }
  @media (hover: hover) { &:hover { --_td-bg: var(--secondary); --_td-border: var(--secondary); --_td-color: var(--white); } }
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
}
.print-guide {
  
  background: var(--secondary-ultra-light);
  --_sh-accent: var(--primary-dark);
  --sh-accent-display: block;
}
.print-guide__inner {
  
  gap: var(--space-xxl);
}
.print-guide__body {
  
  display: grid;
  grid-template-columns: var(--_pgb-cols, minmax(0, 560fr) minmax(0, 656fr));
  align-items: start;
  gap: var(--space-xxl);
  @media (max-width: 64em) { --_pgb-cols: minmax(0, 1fr); }
}
.print-guide__content {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}
.bleed-diagram {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
  margin: 0;
  padding: var(--_bd-pad, var(--space-xl));
  border: 2px solid var(--secondary);
  background: var(--white);
  box-shadow: -6px 6px 0 var(--info), 6px -6px 0 var(--accent);
  @media (max-width: 48em) { --_bd-pad: var(--space-m); }
}
.bleed-diagram__stage {
  
  position: relative;
  aspect-ratio: 492 / 320;
  container-type: inline-size;
}
.bleed-diagram__area {
  
  position: absolute;
  inset-inline-start: var(--_ba-x);
  inset-block-start: var(--_ba-y);
  inline-size: var(--_ba-w);
  block-size: var(--_ba-h);
  border: 2px var(--_ba-style, solid) var(--_ba-color, var(--secondary));
  background: var(--_ba-bg, transparent);
  &[data-area="bleed"] { --_ba-x: 9.35%; --_ba-y: 12.5%; --_ba-w: 81.3%; --_ba-h: 75%; --_ba-style: dashed; --_ba-color: var(--accent); --_ba-bg: var(--primary-light); }
  &[data-area="trim"] { --_ba-x: 13%; --_ba-y: 18.1%; --_ba-w: 74%; --_ba-h: 63.75%; }
  &[data-area="safe"] { --_ba-x: 17.5%; --_ba-y: 25%; --_ba-w: 65%; --_ba-h: 50%; --_ba-style: dashed; --_ba-color: var(--info); }
}
.bleed-diagram__label {
  
  position: absolute;
  inset: 25% 17.5%;
  display: grid;
  place-items: center;
  font-family: var(--heading-font-family);
  font-size: 8.1cqi;
  line-height: 1;
  text-transform: uppercase;
}
.bleed-diagram__crop {
  
  position: absolute;
  inline-size: 4.5cqi;
  aspect-ratio: 1;
  inset-inline-start: var(--_bc-x);
  inset-block-start: var(--_bc-y);
  border-color: var(--secondary);
  border-style: solid;
  border-width: var(--_bc-b);
  &[data-corner="tl"] { --_bc-x: calc(13% - 6cqi); --_bc-y: calc(18.1% - 6cqi); --_bc-b: 0 2px 2px 0; }
  &[data-corner="tr"] { --_bc-x: calc(87% + 1.5cqi); --_bc-y: calc(18.1% - 6cqi); --_bc-b: 0 0 2px 2px; }
  &[data-corner="bl"] { --_bc-x: calc(13% - 6cqi); --_bc-y: calc(81.85% + 1.5cqi); --_bc-b: 2px 2px 0 0; }
  &[data-corner="br"] { --_bc-x: calc(87% + 1.5cqi); --_bc-y: calc(81.85% + 1.5cqi); --_bc-b: 2px 0 0 2px; }
}
.bleed-legend {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  margin: 0;
  padding: var(--space-m) 0 0;
  border-block-start: 1px solid var(--secondary-light);
  list-style: none;
  font-size: var(--text-s);
  line-height: 1.4;
  color: var(--secondary-dark);
}
.bleed-legend__item {
  
  display: flex;
  align-items: center;
  gap: var(--space-s);
  &::before { content: ""; flex-shrink: 0; inline-size: 1.75rem; border-block-start: 2px var(--_bl-style, solid) var(--_bl-color, var(--secondary)); }
  &[data-line="bleed"] { --_bl-style: dashed; --_bl-color: var(--accent); }
  &[data-line="safe"] { --_bl-style: dashed; --_bl-color: var(--info); }
}
.bleed-legend__nr {
  
  font-weight: 600;
  color: var(--secondary);
}
.check-list {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--text-s);
  line-height: 1.5;
  color: var(--secondary-dark);
}
.check-list__item {
  
  display: flex;
  align-items: flex-start;
  gap: var(--space-s);
  &::before { content: "✓"; flex-shrink: 0; display: grid; place-items: center; inline-size: 1.25rem; block-size: 1.25rem; margin-block-start: 0.1em; background: var(--primary); color: var(--secondary); font-size: 0.8em; font-weight: 700; }
}
.print-checklist {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.legal {
  
  background: var(--white);
}
.legal__inner {
  
  display: grid;
  grid-template-columns: var(--_lg-cols, minmax(0, 17.5rem) minmax(0, 1fr));
  align-items: start;
  gap: var(--space-xxl);
  @media (max-width: 64em) { --_lg-cols: minmax(0, 1fr); }
}
.legal-toc {
  
  position: var(--_lt-pos, sticky);
  inset-block-start: var(--space-l);
  max-block-size: var(--_lt-max, calc(100vh - 3rem));
  overflow: auto;
  padding: var(--space-l);
  border-block-start: 4px solid var(--secondary);
  background: var(--secondary-ultra-light);
  @media (max-width: 64em) { --_lt-pos: static; --_lt-max: none; }
}
.legal-toc__title {
  
  margin: 0 0 var(--space-s);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--secondary-semi-dark);
}
.legal-toc__list {
  
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}
.legal-toc__link {
  
  display: flex;
  gap: var(--space-s);
  padding-block: 0.35rem;
  font-size: var(--text-s);
  line-height: 1.35;
  color: var(--_ltl-color, var(--secondary-dark));
  text-decoration: none;
  @media (hover: hover) { &:hover { --_ltl-color: var(--primary-dark); text-decoration: underline; text-underline-offset: 0.2em; } }
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
}
.legal-toc__nr {
  
  flex-shrink: 0;
  inline-size: 1.5rem;
  color: var(--secondary-semi-dark);
  font-variant-numeric: tabular-nums;
}
.legal__article {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xxl);
  max-inline-size: 47.5rem;
}
.legal-chapter {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  scroll-margin-block-start: var(--space-l);
}
.legal-chapter__title {
  
  display: flex;
  align-items: baseline;
  gap: var(--space-s);
  margin: 0;
  padding-block-end: var(--space-s);
  border-block-end: 2px solid var(--secondary);
  font-size: calc(var(--h4) * 1.1);
  line-height: 1.2;
  text-transform: uppercase;
}
.legal-chapter__nr {
  
  color: var(--primary-dark);
}
.legal__p {
  
  margin: 0;
  font-size: var(--text-s);
  line-height: 1.7;
  color: var(--secondary-dark);
}
.legal__strong {
  
  font-weight: 700;
  color: var(--secondary);
}
.legal__list {
  
  --plus-gap: 0.45rem;
  font-size: var(--text-s);
  line-height: 1.6;
  color: var(--secondary-dark);
}
.legal-box {
  
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: var(--space-m) var(--space-l);
  border-inline-start: 4px solid var(--primary);
  background: var(--secondary-ultra-light);
  font-size: var(--text-s);
  line-height: 1.6;
  color: var(--secondary-dark);
}
.legal-box__label {
  
  margin: 0 0 0.25rem;
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--secondary-semi-dark);
}
.legal-box__line {
  
  margin: 0;
}
.legal__top {
  
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: var(--space-xs);
  font-size: var(--text-s);
  font-weight: 600;
  color: var(--secondary);
  text-underline-offset: 0.2em;
  --_icon-size: 1rem;
  &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
}
.glyph--download {
  --glyph: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%3E%3Cpath%20d%3D%22M12%203v12M6%2010l6%206%206-6M4%2021h16%22%2F%3E%3C%2Fsvg%3E");
}