/* Products only: the native homepage's tokens, four-column guides and rhythm. */
.krayr-products {
  --product-ink:var(--token-d33926f3-e1ef-47a7-a2fc-872ea608e7c8,#050505);
  --product-paper:var(--token-33c8dbd0-eb94-4e90-8099-e7a3fee4ad2f,#f4f4e8);
  --product-muted:var(--token-82d92470-f077-4c9d-9673-709d01132847,#686868);
  --product-image-background:var(--token-52433e3c-3bdd-4e8f-b4eb-8bd6681644d3,#ffffed);
  --product-line:var(--token-e5145d68-ee3f-43dc-8638-41389fb43644,rgba(156,156,156,.15));
  --product-button:var(--token-6e62038c-0066-4a2a-9fbd-3ca05d5d5284,#1d1f19);
  --product-lime:var(--token-f277370d-904c-4e87-88c6-49451f154e33,#d1ff00);
  --product-gutter:40px;
  --product-heading:60px;
  --product-section-space:120px;
  position:relative;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  padding:var(--product-section-space) var(--product-gutter);
  border-top:1px solid var(--product-line);
  color:var(--product-ink);
  background:var(--product-paper);
  font-family:"TASA Orbiter",sans-serif;
  text-align:left;
}
.krayr-products * {box-sizing:border-box;}
.krayr-products > :not(.product-column-guides) {position:relative;z-index:1;}
.krayr-products .product-column-guides {
  position:absolute;top:0;bottom:0;left:var(--product-gutter);right:var(--product-gutter);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));pointer-events:none;z-index:0;
}
.product-column-guides > i {border-left:1px solid var(--product-line);}
.product-column-guides > i:last-child {border-right:1px solid var(--product-line);}
.krayr-products a {color:inherit;text-decoration:none;}
.krayr-products [hidden] {display:none!important;}
.product-section-label {display:flex;align-items:center;min-height:14px;font:700 11px/1.25 "Roboto Mono",monospace;letter-spacing:-.05em;text-transform:uppercase;}
.product-section-label > span:first-child {color:var(--product-muted);line-height:1.2;letter-spacing:-.03em;}
.product-section-label > span:last-child {color:var(--token-08d07ee3-fce8-41f2-9d02-9c41009dd49d,#3d3d3d);line-height:1.2;letter-spacing:-.03em;}
.product-section-label[data-product-label-mounted] {display:block;}
.product-section-heading {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:0;margin:15px 0 50px;}
.product-section-heading > div:not([data-product-primary-link]) {grid-column:1/4;}
.product-section-heading > a,.product-section-heading > [data-product-primary-link] {grid-column:4;}
.product-section-heading h2 {margin:0;font-size:var(--product-heading);font-weight:800;line-height:1;letter-spacing:-.03em;}
.product-section-heading > div:not([data-product-primary-link]) > p {max-width:66.6667%;margin:15px 0 0;font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.03em;}
.product-pixel-arrow {--pixel:5px;display:inline-flex;flex:none;width:calc(var(--pixel)*2);height:calc(var(--pixel)*3);color:var(--product-ink);}
.product-pixel-middle {display:flex;flex-direction:column;justify-content:space-between;height:100%;}
.product-pixel-tip {display:flex;align-items:center;height:100%;}
.product-pixel-arrow i {display:block;flex:none;width:var(--pixel);height:var(--pixel);background:currentColor;}
.product-pixel-left {transform:rotate(180deg);}
.product-pixel-down {transform:rotate(90deg);}
.krayr-products .product-button {
  display:flex;align-items:center;justify-content:space-between;gap:15px;position:relative;
  width:100%;height:50px;padding:10px 15px;border:1px solid var(--product-line);border-radius:0;
  background:var(--product-button);color:var(--product-paper);box-shadow:none;
  font:600 13px/1.4 "TASA Orbiter",sans-serif;letter-spacing:-.02em;text-transform:uppercase;cursor:pointer;
}
.product-button::after {content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--product-lime);}
.product-button > span:first-child {white-space:nowrap;}
.product-button > .product-pixel-arrow {--pixel:5px;color:var(--product-lime);}
.krayr-products .product-button:hover {background:var(--product-ink);}
.krayr-products .product-text-link {display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;width:fit-content;font:700 13px/.9 "Roboto Mono",monospace;letter-spacing:-.05em;text-transform:uppercase;}
.product-text-fallback {display:inline-flex;align-items:center;gap:7px;}
.product-text-fallback > .product-pixel-down {margin:0 2px;}
.product-text-link[data-product-link-direction="left"] .framer-1paib0y {transform:rotate(180deg);}
.product-text-link[data-product-link-direction="down"] .framer-1paib0y {transform:rotate(90deg);margin:0 2px;}
.product-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;}
.product-card {min-width:0;border-top:1px solid var(--product-line);border-bottom:1px solid var(--product-line);}
.product-card > a {display:flex;flex-direction:column;height:100%;padding:20px;}
.product-card-visual {position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:8/5;background:rgba(156,156,156,.15);}
.product-card-visual > span:first-child {font-size:60px;font-weight:800;line-height:1;letter-spacing:-.03em;}
.product-card-visual > img {display:block;width:100%;height:100%;object-fit:cover;}
.product-card-visual:has(> img[src="/products-ui/kimage-thumbnail.svg"]) {background:var(--product-image-background);}
.product-detail-icon > img {width:60%;height:60%;object-fit:contain;}
.product-card-meta {display:flex;align-items:center;justify-content:flex-start;gap:0;margin:20px 0;font:700 11px/1.2 "Roboto Mono",monospace;letter-spacing:-.05em;text-transform:uppercase;color:var(--product-ink);}
.product-card-meta > span {white-space:pre;}
/* Category/status uses the same eyebrow typography on cards and detail pages. */
.product-card .product-card-meta {flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:0;margin:30px 0 10px;}
.product-card h3 {margin:0 0 20px;font-size:25px;font-weight:800;line-height:1.1;letter-spacing:-.03em;text-transform:uppercase;}
.product-card p {margin:0;color:var(--product-muted);font-size:15px;font-weight:600;line-height:1.35;letter-spacing:-.03em;}
.krayr-products a:focus-visible,.krayr-products button:focus-visible,.krayr-products select:focus-visible {outline:2px solid var(--product-ink);outline-offset:3px;}
body[data-krayr-products-route] main[data-framer-name="Main"] {visibility:visible!important;}
body[data-krayr-products-route]:not([data-krayr-products-route="/products"]) main[data-framer-name="Main"] > section[data-framer-name="Hero"],
body[data-krayr-products-route] main[data-framer-name="Main"] > section[data-framer-name="Articles"] {display:none!important;}
.krayr-product-page {background:transparent;padding-top:calc(var(--product-section-space) + 60px);}
body[data-krayr-products-route="/products"] .krayr-product-page {padding-top:0;border-top:0;}
/* Keep glyphs visible beyond the native title's very tight SVG line box.
   Its width, grid placement and entrance animation remain unchanged. */
body[data-krayr-products-route="/products"] main > section[data-framer-name="Hero"] svg[data-framer-component-type="RichTextContainer"] {overflow:visible;}
.product-detail-copy {min-width:0;}
.product-detail-copy h1 {overflow-wrap:normal;word-break:normal;}
.product-detail-copy h1 [data-krayr-native-copy] {max-width:100%;}
.product-page-hero {margin-bottom:100px;}
.product-page-hero h1 {margin:15px 0 20px;font-size:100px;font-weight:800;line-height:1;letter-spacing:-.03em;}
.product-page-hero > p {width:50%;margin:0 0 0 25%;font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.03em;}
.product-filters {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;align-items:end;margin:0 0 50px;padding:20px 0;border-top:1px solid var(--product-line);}
.krayr-products > .product-filters {z-index:3;}
.product-filter-field {position:relative;min-width:0;margin-right:20px;}
.product-filter-field > label {display:block;margin-bottom:15px;font:700 11px/1.2 "Roboto Mono",monospace;letter-spacing:-.03em;}
.product-filters select {width:100%;height:50px;padding:10px 15px;border:1px solid var(--product-line);border-radius:0;background:transparent;color:var(--product-ink);font:600 13px/1.4 "TASA Orbiter",sans-serif;letter-spacing:-.02em;}
.product-filters select {
  appearance:none;-webkit-appearance:none;padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M.5.5 5 5 9.5.5' fill='none' stroke='%23050505' stroke-width='1'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:10px 6px;background-position:right 15px center;
}
.product-dropdown-ready > select {display:none;}
.product-filter-trigger {
 display:flex;align-items:center;justify-content:space-between;gap:15px;
 width:100%;height:50px;padding:10px 15px;border:1px solid var(--product-line);border-radius:0;
 background:transparent;color:var(--product-ink);text-align:left;cursor:pointer;
 font:600 13px/1.4 "TASA Orbiter",sans-serif;letter-spacing:-.02em;
 transition:background-color .15s,border-color .15s,color .15s;
}
.product-filter-trigger [data-product-filter-value] {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.product-filter-trigger > .product-pixel-arrow {flex:none;--pixel:3px;margin-right:3px;transition:transform .15s;}
.product-filter-trigger:hover {border-color:var(--product-ink);}
.product-filter-trigger[aria-expanded="true"] {background:var(--product-button);color:var(--product-paper);border-color:var(--product-button);}
.product-filter-trigger[aria-expanded="true"] > .product-pixel-arrow {color:var(--product-paper);transform:rotate(-90deg);}
.product-filter-field:has(.product-filter-trigger[aria-expanded="true"]) {z-index:5;}
.product-filter-options {
 position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:5;
 max-height:var(--product-dropdown-height,360px);overflow-y:auto;overscroll-behavior:contain;
 padding:5px;background:var(--product-button);border:1px solid var(--product-ink);
 color:var(--product-paper);scrollbar-width:thin;scrollbar-color:var(--product-muted) var(--product-button);
 animation:product-options-in .12s ease-out;
}
.product-filter-options[data-direction="up"] {top:auto;bottom:55px;}
.product-filter-options > [role="option"] {
 display:flex;align-items:center;justify-content:space-between;gap:10px;
 width:100%;min-height:44px;margin:0;padding:12px 10px;border:0;border-bottom:1px solid var(--product-line);border-radius:0;
 background:transparent;color:inherit;cursor:pointer;text-align:left;
 font:600 13px/1.4 "TASA Orbiter",sans-serif;letter-spacing:-.02em;
}
.product-filter-options > [role="option"]:last-child {border-bottom:0;}
.product-filter-options > [role="option"]:hover,
.product-filter-options > [role="option"]:focus-visible {background:rgba(245,244,231,.1);outline:0;}
.product-filter-options > [aria-selected="true"] {background:rgba(245,244,231,.1);color:var(--product-paper);}
.product-filter-options > [aria-selected="true"]:hover,
.product-filter-options > [aria-selected="true"]:focus-visible {background:rgba(245,244,231,.1);outline:1px solid var(--product-paper);outline-offset:-2px;}
.product-filter-options > [aria-selected="true"]::after {content:"";width:5px;height:5px;flex:none;background:currentColor;}
@keyframes product-options-in {from {opacity:0;transform:translateY(-3px);}to {opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce) {.product-filter-options {animation:none;}.product-filter-trigger,.product-filter-trigger > .product-pixel-arrow {transition:none;}}
.product-filter-count {align-self:center;margin:0;text-align:right;font:700 11px/1.2 "Roboto Mono",monospace;letter-spacing:-.03em;}
.product-directory {row-gap:50px;}
.product-empty {margin:50px 0;font-size:20px;font-weight:600;}
.product-back {margin:20px 0 50px;}
.product-detail-top {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:0;}
.product-detail-icon {display:flex;align-items:center;justify-content:center;width:160px;aspect-ratio:1;background:var(--product-image-background);font-size:60px;font-weight:800;letter-spacing:-.03em;}
.product-detail-copy {grid-column:2/4;padding-right:20px;}
.product-detail-copy .product-card-meta {justify-content:flex-start;margin:0;}
.product-detail-copy .product-card-meta {gap:0;}
/* Individual app titles use the native Article Detail H1 typography. */
.product-detail-copy h1 {margin:15px 0 20px;font-size:70px;font-weight:800;line-height:.95;letter-spacing:-.03em;text-transform:uppercase;}
.product-detail-copy p {margin:0;font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.03em;}
.product-detail-actions {grid-column:4;display:flex;flex-direction:column;align-items:flex-start;gap:20px;}
/* Match the description's columns 2–3, including its 20px sidebar gutter. */
.product-detail-hero > .product-featured-image {margin:50px 0 0 25%;width:calc(50% - 20px);}
.product-carousel-track {display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;background:#fff;}
.product-carousel-track::-webkit-scrollbar {display:none;}
.product-carousel-track:focus-visible {outline:1px solid var(--product-ink);outline-offset:3px;}
.product-carousel-slide {flex:0 0 100%;min-width:0;aspect-ratio:16/9;margin:0;scroll-snap-align:start;scroll-snap-stop:always;}
.product-carousel-slide img {display:block;width:100%;height:100%;object-fit:contain;}
.product-carousel-controls {display:flex;align-items:center;justify-content:flex-end;gap:15px;margin-top:15px;color:var(--product-muted);font:700 11px/1.2 "Roboto Mono",monospace;}
.product-carousel-controls button {display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--product-line);border-radius:0;background:transparent;color:var(--product-ink);cursor:pointer;}
.product-carousel-controls button:hover {background:rgba(156,156,156,.1);}
.product-detail-body {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding-top:50px;border-top:1px solid var(--product-line);}
.product-description {grid-column:2/4;padding-right:20px;}
.product-description > section {margin-bottom:50px;}
.product-detail-body h2 {margin:0;font-size:20px;font-weight:800;line-height:1.15;letter-spacing:-.03em;text-transform:uppercase;}
.product-description > section > p,.product-release > p {margin:20px 0 0;color:var(--product-muted);font-size:17px;font-weight:600;line-height:1.35;letter-spacing:-.03em;}
.product-description section > .product-text-link {margin-top:20px;}
.product-description .product-format-list {margin:20px 0 0;padding-left:20px;color:var(--product-muted);font:600 17px/1.35 "TASA Orbiter",sans-serif;letter-spacing:-.03em;}
.product-format-list li + li {margin-top:10px;}
.product-highlights {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:20px 0 0;padding:0;list-style:none;border-top:1px solid var(--product-line);border-bottom:1px solid var(--product-line);}
.product-highlights li {padding:20px 15px;border-right:1px solid var(--product-line);font:600 17px/1.35 "TASA Orbiter",sans-serif;letter-spacing:-.03em;overflow-wrap:normal;word-break:normal;}
.product-highlights li:last-child {border-right:0;}
.product-specs {grid-column:4;min-width:0;}
.product-specs dl {margin:0 0 50px;}
.product-specs dl > div {padding:20px 0;border-bottom:1px solid var(--product-line);}
.product-specs dt {margin-bottom:15px;color:var(--product-muted);font:700 11px/1.2 "Roboto Mono",monospace;letter-spacing:-.03em;text-transform:uppercase;}
.product-specs dd {margin:0;font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.03em;}
.product-release {padding:20px 0;border-bottom:1px solid var(--product-line);}
.product-release strong {font:700 11px/1.2 "Roboto Mono",monospace;letter-spacing:-.03em;}
.product-release p {font-size:17px;}
.product-version-log {margin-bottom:50px;border-top:1px solid var(--product-line);border-bottom:1px solid var(--product-line);}
.product-version-log > summary {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;list-style:none;cursor:pointer;font-size:20px;font-weight:800;line-height:1.15;letter-spacing:-.03em;text-transform:uppercase;}
.product-version-log > summary::-webkit-details-marker {display:none;}
.product-version-log > summary:focus-visible {outline:2px solid var(--product-ink);outline-offset:3px;}
.product-version-log > summary .product-pixel-arrow {flex:none;--pixel:3px;margin:0 4px;transition:transform .15s;}
.product-version-log[open] > summary .product-pixel-arrow {transform:rotate(-90deg);}
.product-version-log .product-release:last-child {border-bottom:0;}
@media(prefers-reduced-motion:reduce) {.product-version-log > summary .product-pixel-arrow {transition:none;}}
.product-pagination {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:0;padding-top:50px;border-top:1px solid var(--product-line);}
.product-pagination > .product-text-link {grid-column:2/4;justify-self:center;}
.product-pagination > a:last-child {grid-column:4;text-align:right;}
.product-pagination > a:not(.product-text-link) > span {display:block;margin-bottom:15px;color:var(--product-muted);font:700 11px/1.2 "Roboto Mono",monospace;letter-spacing:-.03em;}
.product-pagination strong {display:flex;align-items:center;gap:7px;font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.03em;}
.product-pagination > a:last-child strong {justify-content:flex-end;}
@media (min-width:810px) and (max-width:1199.98px) {
  .krayr-products {--product-gutter:20px;--product-section-space:90px;--product-heading:50px;}
  .krayr-products .product-button {font-size:12px;}
  .product-section-heading > div:not([data-product-primary-link]) > p,.product-page-hero > p,.product-detail-copy p,.product-detail-body p,.product-specs dd {font-size:17px;}
  .product-card > a {padding:20px 15px;}
  .product-card h3 {font-size:23px;}
  .product-card p {font-size:15px;}
  .product-page-hero h1 {font-size:70px;}
  .product-detail-copy h1 {font-size:var(--product-heading);}
  .product-detail-icon {width:120px;}
}
@media (max-width:809.98px) {
  .krayr-products {--product-gutter:10px;--product-section-space:60px;--product-heading:40px;}
  [data-krayr-products-home],#krayr-home-case {order:5;}
  .product-section-heading {display:flex;flex-direction:column;align-items:flex-start;gap:20px;}
  .product-section-heading > div:not([data-product-primary-link]) > p {max-width:100%;font-size:17px;}
  .product-section-heading > .product-button,.product-section-heading > [data-product-primary-link] {width:fit-content;min-width:200px;max-width:100%;}
  .product-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  [data-krayr-products-home] .product-grid {grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:clamp(240px,75vw,320px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-bottom:15px;}
  [data-krayr-products-home] .product-card {scroll-snap-align:start;}
  .product-card > a {padding:15px;}
  .product-card-visual > span:first-child {font-size:40px;}
  .product-card .product-card-meta {margin-top:20px;}
  .product-card h3 {margin-bottom:15px;font-size:20px;}
  .product-card p {font-size:13px;}
  .product-card-meta {flex-direction:column;align-items:flex-start;gap:7px;}
  .product-page-hero {margin-bottom:50px;}
  .product-page-hero h1 {font-size:40px;}
  .product-page-hero > p {width:100%;margin-left:0;font-size:17px;}
  .product-filters {grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px;}
  .product-filter-field:nth-child(2) {margin-right:0;}
  .product-filters [data-product-reset] {width:calc(100% - 20px);}
  .product-detail-top {grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px;}
  .product-detail-icon {width:100px;font-size:40px;}
  .product-detail-copy {grid-column:1/-1;padding-right:0;}
  .product-detail-copy .product-card-meta {flex-direction:row;}
  .product-detail-copy p {font-size:17px;}
  .product-detail-hero > .product-featured-image {width:100%;margin-left:0;}
  .product-detail-actions {grid-column:1/-1;gap:20px;}
  .product-detail-actions > .product-button {width:fit-content;min-width:200px;max-width:100%;}
  .product-detail-body {grid-template-columns:repeat(2,minmax(0,1fr));row-gap:50px;}
  .product-description,.product-specs {grid-column:1/-1;padding-right:0;}
  .product-detail-body h2 {font-size:20px;}
  .product-version-log > summary {font-size:20px;}
  .product-detail-body p,.product-specs dd {font-size:17px;}
  .product-pagination {grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px;}
  .product-pagination > .product-text-link {grid-column:1/-1;grid-row:2;}
  .product-pagination > a:last-child {grid-column:2;grid-row:1;}
  .product-pagination strong {font-size:17px;}
}
@media (max-width:479.98px) {
  .product-card > a {padding:10px;}
  .product-highlights {grid-template-columns:1fr;}
  .product-highlights li {border-right:0;border-bottom:1px solid var(--product-line);}
  .product-highlights li:last-child {border-bottom:0;}
}
