/* KUMORI redesign ("Mission Control, pointed forward"). Loaded only by src/kumori layouts. */

:root {
  --k-bg: #0d1416;
  --k-bg-deep: #0a1012;
  --k-line: #1f2c2f;
  --k-line-strong: #2a3a3d;
  --k-text: #e8dfc8;
  --k-soft: #b9b3a3;
  --k-muted: #93a19c;
  --k-faint: #6f7c78;
  --k-red: #dd4040;
  --k-red-hover: #c43434;
  --k-green: #7fa36b;
  --k-sky: #8fb0bf;
  --k-sans: "Archivo", "Arial Narrow", Arial, sans-serif;
  --k-mono: "IBM Plex Mono", Menlo, Consolas, monospace;
  --k-radius: 4px;
  --k-gutter: 24px;
}

*, *::before, *::after { box-sizing: border-box; }

.k-body {
  margin: 0;
  background: var(--k-bg);
  color: var(--k-text);
  font-family: var(--k-sans);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
/* Resets use :where() so they never outrank component classes. */
:where(.k-body) :where(h1, h2, h3, p, figure, dl, dd, ul) { margin: 0; }
:where(.k-body) :where(ul, ol) { padding: 0; list-style: none; }
:where(.k-body) img { max-width: 100%; height: auto; display: block; }
:where(.k-body) a { color: inherit; text-decoration: none; }
:where(.k-body) a:where(:hover) { color: #ff6b6b; }
:where(.k-body) :where(button, input, select, textarea) { font: inherit; color: inherit; }
.k-body [hidden] { display: none !important; }
.k-body :focus-visible { outline: 2px solid var(--k-red); outline-offset: 3px; }

/* Classes toggled by the shared buybox.js / main.js */
.k-body .hidden { display: none !important; }
.k-body .line-through { text-decoration: line-through; }
.k-body .text-gray-500 { color: var(--k-muted); }

.mono { font-family: var(--k-mono); }
.x { font-stretch: 125%; }
.scan { background-image: repeating-linear-gradient(to bottom, rgba(232, 223, 200, .035) 0 1px, transparent 1px 3px); }
.k-red { color: var(--k-red); }
.k-green { color: var(--k-green); }
.k-wrap { width: 100%; max-width: calc(1240px + 2 * var(--k-gutter)); margin-inline: auto; padding-inline: var(--k-gutter); }
.k-label { font-family: var(--k-mono); font-size: 13px; color: var(--k-red); }
.k-eyebrow { font-family: var(--k-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--k-muted); }
.k-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--k-green); box-shadow: 0 0 8px var(--k-green); flex: none; }
.k-cursor { display: inline-block; width: 8px; height: 16px; background: var(--k-red); vertical-align: -3px; animation: k-blink 1.1s steps(1) infinite; }
@keyframes k-blink { 50% { opacity: 0; } }

/* Loading overlay driven by hx-indicator="#loading-screen" */
#loading-screen { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; background: rgba(13, 20, 22, .55); pointer-events: none; }
#loading-screen.htmx-request { pointer-events: auto; }
#loading-screen .loading-spinner { width: 28px; height: 28px; border: 2px solid var(--k-line-strong); border-top-color: var(--k-red); border-radius: 50%; animation: k-spin .8s linear infinite; }
@keyframes k-spin { to { transform: rotate(360deg); } }

/* ---------- Header ---------- */
.k-statusbar { background-color: var(--k-bg-deep); border-bottom: 1px solid var(--k-line); font-size: 12px; color: var(--k-muted); }
.k-statusbar-inner { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-block: 9px; }
.k-statusbar-inner > span { display: flex; align-items: center; gap: 8px; }
.k-statusbar a { color: inherit; }
.k-statusbar a:hover { color: var(--k-text); }

.k-header { border-bottom: 1px solid var(--k-line); }
.k-header-inner { display: flex; align-items: center; gap: 40px; padding-block: 18px; }
.k-logo { color: var(--k-red); display: flex; }
.k-logo svg { width: 34px; height: 34px; }
.k-nav { display: flex; align-items: center; gap: 28px; font-size: 15px; font-weight: 500; }
.k-dropdown { position: relative; }
.k-dropdown summary { cursor: pointer; list-style: none; }
.k-dropdown summary::-webkit-details-marker { display: none; }
.k-dropdown summary::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-3px); }
.k-dropdown-panel { position: absolute; top: calc(100% + 14px); left: -16px; z-index: 30; min-width: 200px; display: grid; padding: 8px; background: var(--k-bg-deep); border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); }
.k-dropdown-panel a { padding: 8px 10px; border-radius: 3px; }
.k-dropdown-panel a:hover { background: var(--k-line); color: var(--k-text); }

.k-search { margin-left: auto; display: flex; align-items: center; gap: 10px; width: 300px; padding: 9px 14px; border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); font-size: 14px; }
.k-search:focus-within { border-color: var(--k-muted); }
.k-search .k-prompt { color: var(--k-red); }
.k-search input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; padding: 0; font-family: var(--k-mono); }
.k-search input::placeholder { color: var(--k-muted); }
.k-header-actions { display: flex; align-items: center; gap: 22px; font-size: 14px; }
.k-muted-link { color: var(--k-muted); }
.k-cart { display: flex; align-items: center; gap: 8px; }
.k-cart svg, .k-menu svg { width: 21px; height: 21px; }

.k-menu { display: none; position: static; }
.k-menu summary { list-style: none; cursor: pointer; width: 44px; height: 44px; display: grid; place-items: center; }
.k-menu summary::-webkit-details-marker { display: none; }
.k-menu-panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 40; display: grid; gap: 22px; padding: 20px var(--k-gutter) 28px; background: var(--k-bg-deep); border-bottom: 1px solid var(--k-line-strong); }
.k-menu-panel nav { display: grid; gap: 2px; }
.k-menu-panel nav a { padding: 10px 0; font-size: 16px; }
.k-menu-panel .k-search { margin: 0; width: 100%; }

/* ---------- Product top ---------- */
.k-path { padding-block: 18px 12px; font-family: var(--k-mono); font-size: 13px; color: var(--k-muted); }
.k-path span { color: var(--k-text); }

.k-pdp { display: grid; grid-template-columns: minmax(0, 700fr) minmax(0, 460fr); gap: 80px; align-items: start; }

.k-gallery { display: grid; gap: 12px; position: sticky; top: 16px; }
.k-hero { position: relative; aspect-ratio: 1; border: 1px solid var(--k-line); border-radius: var(--k-radius); overflow: hidden; background: var(--k-bg-deep); }
.k-hero img { width: 100%; height: 100%; object-fit: cover; }
.k-chip { position: absolute; top: 14px; left: 14px; padding: 4px 8px; font-family: var(--k-mono); font-size: 12px; background: var(--k-bg); border-radius: 3px; }
.k-thumbs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.k-thumbs button { padding: 0; border: 0; background: none; cursor: pointer; border-radius: 3px; aspect-ratio: 1; }
.k-thumbs img { width: 100%; height: 100%; object-fit: cover; border-radius: 3px; opacity: .7; transition: opacity .15s; }
.k-thumbs button:hover img, .k-thumbs button[aria-pressed="true"] img { opacity: 1; }
.k-thumbs button[aria-pressed="true"] { outline: 2px solid var(--k-red); outline-offset: 2px; }

.k-buybox { display: grid; gap: 28px; padding-top: 8px; }
.k-head { display: grid; gap: 12px; }
.k-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-family: var(--k-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--k-muted); }
.k-stock { display: inline-flex; align-items: center; gap: 7px; color: var(--k-green); }
.k-stock.is-out { color: var(--k-red); }
.k-stock.is-out .k-dot { background: var(--k-red); box-shadow: 0 0 8px var(--k-red); }
.k-title { font-size: clamp(40px, 4.4vw, 60px); font-weight: 800; font-stretch: 125%; line-height: .95; letter-spacing: -.015em; text-wrap: balance; }
.k-variant { font-family: var(--k-mono); font-size: 14px; color: var(--k-soft); min-height: 1.5em; }
.k-lede { font-size: 18px; line-height: 1.5; color: var(--k-soft); max-width: 48ch; }
.k-rating { font-family: var(--k-mono); font-size: 13px; color: var(--k-muted); }

.k-form { display: grid; gap: 28px; }
.k-field { display: grid; gap: 12px; border: 0; padding: 0; margin: 0; min-width: 0; }
.k-field-head { display: flex; justify-content: space-between; gap: 12px; font-family: var(--k-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--k-muted); }
.k-field-head span:last-child { color: var(--k-text); letter-spacing: .04em; }

.k-swatches { display: flex; flex-wrap: wrap; gap: 10px; }
.k-swatch { position: relative; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; box-shadow: inset 0 0 0 1px rgba(232, 223, 200, .18); }
.k-swatch[aria-pressed="true"] { box-shadow: inset 0 0 0 1px rgba(232, 223, 200, .18), 0 0 0 2px var(--k-bg), 0 0 0 4px var(--k-red); }
.k-swatch.is-soldout::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: linear-gradient(135deg, transparent 46%, var(--k-text) 46% 54%, transparent 54%); opacity: .8; }
.k-swatch.is-unavailable { opacity: .45; }

.k-sizes { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.k-size, .k-opt { display: flex; align-items: center; gap: 16px; padding: 14px 16px; text-align: left; background: transparent; border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); cursor: pointer; }
.k-size:hover, .k-opt:hover { border-color: var(--k-muted); }
.k-size[aria-pressed="true"], .k-opt[aria-pressed="true"] { border-color: var(--k-red); background: rgba(221, 64, 64, .06); }
.k-size.is-unavailable, .k-opt.is-unavailable { opacity: .4; }
.k-size-box { width: 84px; height: 44px; display: grid; place-items: center; flex: none; }
.k-size-rect { display: block; border: 1.5px solid var(--k-muted); border-radius: 2px; }
.k-size[aria-pressed="true"] .k-size-rect { border-color: var(--k-text); }
.k-size-text { display: grid; gap: 2px; font-family: var(--k-mono); font-size: 15px; }
.k-size-text small { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--k-red); display: none; }
.k-size.is-soldout .k-size-text small, .k-opt.is-soldout small { display: block; }
.k-opts { display: flex; flex-wrap: wrap; gap: 10px; }
.k-opt { padding: 10px 14px; font-family: var(--k-mono); font-size: 14px; flex-direction: column; align-items: flex-start; gap: 2px; }
.k-opt small { font-size: 11px; color: var(--k-red); display: none; }

.k-price { display: grid; gap: 6px; padding-top: 22px; border-top: 1px solid var(--k-line); }
.k-price-de { font-size: 42px; font-weight: 700; font-stretch: 125%; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.k-price-de.line-through { font-size: 16px; font-weight: 500; font-stretch: 100%; font-family: var(--k-mono); }
.k-price-por { font-size: 42px; font-weight: 700; font-stretch: 125%; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.k-price-por::first-line { color: var(--k-text); }
.k-price-meta { font-family: var(--k-mono); font-size: 13px; line-height: 1.6; color: var(--k-muted); }
.k-pix { color: var(--k-green); }
.contadorEntregaHoje:empty { display: none; }
.contadorEntregaHoje { font-family: var(--k-mono); font-size: 13px; color: var(--k-sky); }

.k-actions { display: grid; gap: 12px; }
.k-buyrow { display: flex; gap: 12px; }
.k-qty { display: flex; align-items: center; height: 54px; border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); font-family: var(--k-mono); }
.k-qty button { width: 44px; height: 100%; background: none; border: 0; font-size: 18px; color: var(--k-muted); cursor: pointer; }
.k-qty button:hover { color: var(--k-text); }
.k-qty input { width: 34px; text-align: center; background: transparent; border: 0; outline: 0; font-family: var(--k-mono); font-size: 16px; }
.k-btn { height: 54px; display: flex; align-items: center; justify-content: center; padding: 0 20px; border-radius: var(--k-radius); font-family: var(--k-sans); font-size: 16px; font-weight: 600; cursor: pointer; }
.k-btn:disabled { opacity: .45; cursor: not-allowed; }
.k-btn-primary { flex: 1; background: var(--k-red); color: #fff; border: 0; }
.k-btn-primary:not(:disabled):hover { background: var(--k-red-hover); color: #fff; }
.k-btn-outline { width: 100%; background: transparent; color: var(--k-text); border: 1px solid var(--k-text); }
.k-btn-outline:not(:disabled):hover { background: var(--k-text); color: var(--k-bg); }

/* Server responses from shared endpoints use DaisyUI-style alert classes */
.k-body .alert { display: block; margin-top: 4px; padding: 12px 14px; border-radius: var(--k-radius); font-family: var(--k-mono); font-size: 13px; border: 1px solid var(--k-line-strong); background: var(--k-bg-deep); }
.k-body .alert-success { border-color: var(--k-green); color: var(--k-text); }
.k-body .alert-error, .k-body .alert-warning { border-color: var(--k-red); }
.k-body .alert a { text-decoration: underline; text-underline-offset: 3px; }

.k-term { display: grid; gap: 10px; padding: 16px 18px; background-color: var(--k-bg-deep); border: 1px solid var(--k-line); border-radius: var(--k-radius); font-family: var(--k-mono); font-size: 14px; }
.k-term-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.k-term-note { font-size: 12px; color: var(--k-muted); }
.k-term input[type="email"] { flex: 1; min-width: 160px; padding: 8px 10px; background: transparent; border: 1px solid var(--k-line-strong); border-radius: 3px; outline: 0; font-family: var(--k-mono); font-size: 14px; }
.k-term input[type="email"]:focus { border-color: var(--k-muted); }
.k-term-btn { padding: 8px 12px; background: transparent; border: 1px solid var(--k-line-strong); border-radius: 3px; font-family: var(--k-mono); font-size: 13px; cursor: pointer; }
.k-term-btn:hover { border-color: var(--k-text); }
.k-term a { text-decoration: underline; text-underline-offset: 3px; color: var(--k-muted); font-size: 12px; }
.k-also { font-family: var(--k-mono); font-size: 12px; color: var(--k-muted); display: flex; flex-wrap: wrap; gap: 6px 18px; }
.k-also a { color: var(--k-text); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Sections ---------- */
.k-section { padding-top: 140px; }
.k-sechead { display: grid; gap: 12px; margin-bottom: 28px; }
.k-sechead h2 { font-size: 40px; font-weight: 800; font-stretch: 125%; line-height: 1; letter-spacing: -.015em; text-wrap: balance; }

.k-spec { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.k-panel { background-color: var(--k-bg-deep); border: 1px solid var(--k-line); border-radius: var(--k-radius); overflow: hidden; font-family: var(--k-mono); }
.k-panel-bar { display: flex; justify-content: space-between; gap: 12px; padding: 10px 18px; border-bottom: 1px solid var(--k-line); font-size: 12px; color: var(--k-muted); }
.k-dl { display: grid; gap: 12px; padding: 20px 18px 22px; font-size: 14px; }
.k-dl div { display: flex; gap: 10px; align-items: baseline; }
.k-dl dt { color: var(--k-muted); flex: none; }
.k-dl .k-leader { flex: 1; min-width: 20px; border-bottom: 1px dotted var(--k-line-strong); transform: translateY(-4px); }
.k-dl dd { text-align: right; }
.k-bullets { display: grid; border-top: 1px solid var(--k-line-strong); }
.k-bullets li { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--k-line); font-size: 17px; line-height: 1.45; }
.k-bullets li::before { content: "›"; font-family: var(--k-mono); color: var(--k-green); }

.k-blocks { display: grid; gap: 64px; }
.k-blocks .wp-block-media-text { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.k-blocks .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 2; }
.k-blocks .wp-block-media-text__media img, .k-blocks .wp-block-image img { width: 100%; border-radius: var(--k-radius); }
.k-blocks h2, .k-blocks h3 { font-size: 32px; font-weight: 800; font-stretch: 125%; line-height: 1.05; letter-spacing: -.01em; margin: 0 0 16px; text-wrap: balance; }
.k-blocks p { font-size: 17px; line-height: 1.6; color: var(--k-soft); max-width: 54ch; margin: 0 0 12px; }
.k-blocks strong { color: var(--k-text); font-weight: 600; }
.k-blocks .wp-block-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.k-blocks .wp-block-gallery figure { margin: 0; }
.k-blocks .wp-block-gallery img { aspect-ratio: 1; object-fit: cover; border-radius: var(--k-radius); }
.k-blocks ul { list-style: none; display: grid; gap: 8px; color: var(--k-soft); }

.k-info { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 80px; align-items: start; }
.k-info .k-sechead h2 { font-size: 32px; line-height: 1.05; }
.k-delivery { display: grid; font-family: var(--k-mono); font-size: 14px; }
.k-delivery div { display: grid; grid-template-columns: 220px minmax(0, 1fr) 70px; gap: 16px; align-items: center; padding: 11px 0; border-top: 1px solid var(--k-line); }
.k-delivery div:last-child { border-bottom: 1px solid var(--k-line); }
.k-delivery i { height: 6px; border-radius: 1px; background: var(--k-green); }
.k-delivery i[data-days="3"], .k-delivery i[data-days="4"], .k-delivery i[data-days="5"] { background: var(--k-sky); }
.k-delivery i[data-days="6"], .k-delivery i[data-days="7"] { background: var(--k-muted); }
.k-delivery span:last-child { text-align: right; }
.k-footnote { margin-top: 16px; font-family: var(--k-mono); font-size: 12px; line-height: 1.6; color: var(--k-muted); }

.k-faq { display: grid; border-top: 1px solid var(--k-line); }
.k-faq details { border-bottom: 1px solid var(--k-line); }
.k-faq summary { display: flex; justify-content: space-between; gap: 16px; padding: 20px 0; font-size: 18px; font-weight: 600; cursor: pointer; list-style: none; }
.k-faq summary::-webkit-details-marker { display: none; }
.k-faq summary::after { content: "+"; font-family: var(--k-mono); color: var(--k-muted); }
.k-faq details[open] summary::after { content: "−"; }
.k-faq-answer { padding-bottom: 20px; font-size: 15px; line-height: 1.55; color: var(--k-soft); }
.k-ask { display: inline-block; margin-top: 20px; font-family: var(--k-mono); font-size: 14px; }
.k-ask span { color: var(--k-muted); }

.k-reviews { display: grid; gap: 12px; margin-top: 40px; }
.k-review { display: grid; gap: 14px; margin: 0; padding: 24px; border: 1px solid var(--k-line); border-radius: var(--k-radius); }
.k-review p { font-size: 19px; line-height: 1.45; }
.k-review footer { font-family: var(--k-mono); font-size: 12px; color: var(--k-muted); }

.k-sky { margin-top: 160px; padding-block: 120px 110px; border-top: 1px solid var(--k-line); background-color: var(--k-bg); background-image: repeating-linear-gradient(to bottom, rgba(232, 223, 200, .03) 0 1px, transparent 1px 3px), linear-gradient(180deg, var(--k-bg) 0%, #14252b 55%, #2c4a54 100%); }
.k-sky-inner { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 80px; align-items: end; }
.k-sky .k-label { color: var(--k-sky); }
.k-sky h2 { margin-top: 18px; font-size: clamp(40px, 5vw, 64px); font-weight: 800; font-stretch: 125%; line-height: .95; letter-spacing: -.02em; text-wrap: balance; }
.k-sky p { font-size: 18px; line-height: 1.55; color: #d6d3c4; margin-bottom: 20px; }
.k-sky a { font-family: var(--k-mono); font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }

.k-related { padding-top: 100px; }
.k-related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.k-related-card { display: grid; gap: 12px; padding: 12px; border: 1px solid var(--k-line); border-radius: var(--k-radius); font-family: var(--k-mono); font-size: 14px; }
.k-related-card:hover { border-color: var(--k-line-strong); }
.k-related-card img { aspect-ratio: 1; object-fit: cover; border-radius: 3px; width: 100%; }

/* ---------- Footer ---------- */
.k-footer { margin-top: 100px; padding-block: 56px 40px; border-top: 1px solid var(--k-line); }
.k-footer-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 40px; }
.k-footer-brand { display: grid; gap: 16px; align-content: start; }
.k-footer-brand .k-logo svg { width: 200px; height: auto; }
.k-footer-col { display: grid; gap: 10px; align-content: start; font-size: 14px; }
.k-footer-legal { margin-top: 48px; font-family: var(--k-mono); font-size: 12px; color: var(--k-faint); display: flex; flex-wrap: wrap; gap: 8px 24px; }
.k-footer-legal a { color: var(--k-faint); }
.k-newsletter { display: flex; align-items: center; gap: 10px; max-width: 380px; padding: 8px 8px 8px 14px; border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); font-family: var(--k-mono); font-size: 14px; }
.k-newsletter input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; font-family: var(--k-mono); }
.k-newsletter input::placeholder { color: var(--k-muted); }
.k-newsletter button { padding: 6px 10px; background: transparent; border: 1px solid var(--k-line-strong); border-radius: 3px; font-family: var(--k-mono); font-size: 13px; cursor: pointer; }

.k-cookies { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 60; max-width: 560px; margin-inline: auto; display: flex; align-items: center; gap: 16px; padding: 14px 16px; background: var(--k-bg-deep); border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); font-size: 13px; color: var(--k-soft); }
.k-cookies button { flex: none; padding: 8px 12px; background: var(--k-text); color: var(--k-bg); border: 0; border-radius: 3px; font-weight: 600; cursor: pointer; }

/* ---------- Home ---------- */
.k-home-hero { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: 64px; align-items: center; padding-block: 88px 64px; }
.k-hero-copy { display: grid; gap: 26px; align-content: start; }
.k-home-hero h1 { font-size: clamp(44px, 5.8vw, 82px); font-weight: 800; font-stretch: 125%; line-height: .92; letter-spacing: -.025em; text-wrap: balance; }
.k-home-hero h1 .k-cursor { width: .14em; height: .72em; margin-left: .12em; vertical-align: -.04em; }
.k-hero-lede { font-size: 20px; line-height: 1.5; color: var(--k-soft); max-width: 46ch; }
.k-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
.k-hero-cta .k-btn { flex: none; width: auto; height: 56px; padding: 0 28px; }
.k-monitor { display: grid; justify-items: center; margin: 0; }
.k-monitor-screen { position: relative; container-type: inline-size; width: 100%; padding: 14px; background: var(--k-bg-deep); border: 1px solid var(--k-line-strong); border-radius: 10px; }
.k-monitor-screen img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 4px; animation: k-crt-photo 3.4s linear 1.4s both; }
/* One-shot CRT moment: blink, green phosphor terminal with scanlines, blink back to the wallpaper. */
.k-crt {
  position: absolute; inset: 14px; display: grid; align-content: center; gap: .35em; padding: 0 9%;
  border-radius: 4px; background-color: #03170b; color: #5dff95;
  background-image: repeating-linear-gradient(to bottom, rgba(0, 0, 0, .5) 0 1px, transparent 1px 3px), radial-gradient(ellipse at center, rgba(93, 255, 149, .16), transparent 72%);
  font-family: var(--k-mono); font-size: 3.3cqi; line-height: 1.3; text-shadow: 0 0 .4em rgba(93, 255, 149, .75);
  opacity: 0; pointer-events: none; animation: k-crt 3.4s linear 1.4s both;
}
.k-crt p { white-space: pre; opacity: 0; animation: k-crt-line .01s linear both; }
.k-crt p:nth-child(1) { animation-delay: 1.8s; }
.k-crt p:nth-child(2) { animation-delay: 2.1s; }
.k-crt p:nth-child(3) { animation-delay: 2.45s; }
.k-crt p:nth-child(4) { animation-delay: 2.7s; }
.k-crt p:nth-child(5) { animation-delay: 2.95s; }
.k-crt p:nth-child(6) { animation-delay: 3.3s; }
.k-crt-cursor { animation: k-blink .5s steps(1) infinite; }
.k-monitor:not(.is-live) :is(.k-crt, .k-crt p, img) { animation-play-state: paused; }
@keyframes k-crt-line { to { opacity: 1; } }
@keyframes k-crt {
  0% { opacity: 0; }
  3% { opacity: 1; filter: brightness(2.4); }
  5% { opacity: 0; }
  8% { opacity: 1; filter: brightness(1.6); }
  11%, 86% { opacity: 1; filter: none; }
  88% { opacity: 0; }
  90% { opacity: 1; filter: brightness(2.2); }
  93%, 100% { opacity: 0; }
}
@keyframes k-crt-photo {
  0%, 2% { filter: none; }
  3% { filter: brightness(2.6); }
  92% { filter: brightness(2.6); }
  95%, 100% { filter: none; }
}
.k-monitor-neck { width: 120px; height: 34px; background: linear-gradient(var(--k-line), #16211f); clip-path: polygon(22% 0, 78% 0, 100% 100%, 0 100%); }
.k-monitor-base { width: 260px; max-width: 70%; height: 8px; background: var(--k-line); border-radius: 2px; }
.k-monitor figcaption { margin-top: 16px; font-family: var(--k-mono); font-size: 12px; color: var(--k-muted); }
.k-monitor figcaption a { text-decoration: underline; text-underline-offset: 3px; }
.k-bootlog { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 24px; padding: 18px 24px; background-color: var(--k-bg-deep); border: 1px solid var(--k-line); border-radius: var(--k-radius); font-family: var(--k-mono); font-size: 13px; color: var(--k-soft); }
.k-bootlog b { font-weight: 400; color: var(--k-green); }
.k-bootlog-note { margin-top: 8px; font-family: var(--k-mono); font-size: 11px; color: var(--k-faint); }

.k-home-section { padding-top: 140px; scroll-margin-top: 16px; }
.k-home-head { display: grid; gap: 12px; max-width: 760px; }
.k-home-head h2 { font-size: clamp(30px, 3.4vw, 48px); font-weight: 800; font-stretch: 125%; line-height: 1; letter-spacing: -.015em; text-wrap: balance; }
.k-home-head p { font-size: 18px; line-height: 1.5; color: var(--k-soft); max-width: 56ch; }
.k-home-head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; }
.k-home-head-row > a { font-family: var(--k-mono); font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }

.k-deskmap { display: grid; grid-template-columns: minmax(0, 760fr) minmax(0, 432fr); gap: 48px; margin-top: 44px; align-items: start; }
.k-desk { width: 100%; height: auto; display: block; background-color: var(--k-bg-deep); border: 1px solid var(--k-line); border-radius: var(--k-radius); }
.k-desk-note { font-family: var(--k-mono); font-size: 11px; fill: var(--k-faint); }
.k-desk-top { fill: none; stroke: var(--k-line-strong); stroke-dasharray: 4 4; }
.k-desk-part { fill: none; stroke: #3d5052; stroke-width: 1.5; }
.k-desk-mat { fill: rgba(221, 64, 64, .07); stroke: var(--k-red); stroke-width: 1.5; }
.k-desk-cable { fill: none; stroke: var(--k-sky); stroke-width: 2; stroke-dasharray: 6 5; }
.k-desk-pin circle { fill: var(--k-red); stroke: rgba(221, 64, 64, .25); stroke-width: 8; paint-order: stroke; transition: fill .15s; }
.k-desk-pin text { font-family: var(--k-mono); font-size: 11px; font-weight: 600; fill: #fff; text-anchor: middle; dominant-baseline: central; pointer-events: none; }
.k-desk-pin:hover circle, .k-desk-pin:focus-visible circle { fill: var(--k-red-hover); }
.k-legend { border-top: 1px solid var(--k-line); }
.k-legend li { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 12px; align-items: baseline; padding: 13px 0; border-bottom: 1px solid var(--k-line); font-family: var(--k-mono); font-size: 13px; }
.k-legend-pin { color: var(--k-red); }
.k-legend-name { font-family: var(--k-sans); font-size: 16px; }
.k-legend-name small { margin-left: 8px; font-family: var(--k-mono); font-size: 12px; color: var(--k-muted); }
.k-legend-price { color: var(--k-soft); text-align: right; white-space: nowrap; }

.k-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 40px; }
.k-card { display: grid; gap: 12px; align-content: start; padding: 12px 12px 18px; border: 1px solid var(--k-line); border-radius: var(--k-radius); }
.k-card:hover { border-color: var(--k-line-strong); }
.k-card img { width: 100%; aspect-ratio: 1; object-fit: cover; background: #fff; border-radius: 3px; }
.k-card-meta { font-family: var(--k-mono); font-size: 11px; color: var(--k-muted); }
.k-card-meta b { font-weight: 400; color: var(--k-green); }
.k-card-name { font-size: 17px; font-weight: 600; line-height: 1.25; }
.k-card-price { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: baseline; font-family: var(--k-mono); font-size: 15px; }
.k-card-price s { font-size: 12px; color: var(--k-faint); }

.k-letter { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 80px; align-items: start; padding-top: 160px; }
.k-letter figure { display: grid; gap: 12px; margin: 0; }
.k-letter figure img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--k-radius); }
.k-letter figcaption { font-family: var(--k-mono); font-size: 12px; color: var(--k-muted); }
.k-letter-body { display: grid; gap: 22px; }
.k-letter-body h2 { font-size: clamp(30px, 3.2vw, 44px); font-weight: 800; font-stretch: 125%; line-height: 1; letter-spacing: -.015em; }
.k-letter-text { display: grid; gap: 18px; font-size: 19px; line-height: 1.65; color: #d6d3c4; max-width: 58ch; }
.k-letter-sign { display: grid; gap: 2px; padding-top: 18px; border-top: 1px solid var(--k-line-strong); font-family: var(--k-mono); font-size: 14px; }
.k-letter-sign span:last-child { color: var(--k-muted); }

.k-quotes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 40px; }
.k-quote { display: grid; gap: 20px; align-content: space-between; margin: 0; padding: 28px; border: 1px solid var(--k-line); border-radius: var(--k-radius); }
.k-quote p { font-size: 22px; line-height: 1.4; }
.k-quote footer { font-family: var(--k-mono); font-size: 12px; color: var(--k-muted); }

.k-community { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 40px; }
.k-community > * { display: flex; flex-direction: column; gap: 14px; min-height: 280px; padding: 28px; border: 1px solid var(--k-line); border-radius: var(--k-radius); }
.k-community > a:hover { border-color: var(--k-line-strong); color: inherit; }
.k-community-dark { background-color: var(--k-bg-deep); }
.k-community h3 { font-size: 28px; font-weight: 800; font-stretch: 125%; line-height: 1.05; }
.k-community p { font-size: 16px; line-height: 1.5; color: var(--k-soft); }
.k-community-cta { margin-top: auto; font-family: var(--k-mono); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.k-community > .k-community-media { padding: 12px 12px 28px; }
.k-community-media img { width: 100%; aspect-ratio: 16 / 7; object-fit: cover; border-radius: 3px; }
.k-community-media > div { display: grid; gap: 10px; padding: 0 16px; }
.k-collabs { display: grid; gap: 10px; font-family: var(--k-mono); font-size: 14px; color: var(--k-soft); }
.k-collabs li::before { content: "› "; color: var(--k-red); }
.k-collabs a { text-decoration: underline; text-underline-offset: 3px; }

.k-sky-newsletter { display: grid; gap: 16px; }
.k-sky-newsletter p { margin-bottom: 0; }
.k-newsletter-lg { max-width: none; padding: 8px 8px 8px 16px; font-size: 15px; background: var(--k-bg-deep); }
.k-newsletter-lg button { padding: 10px 16px; background: var(--k-text); color: var(--k-bg); border: 0; font-family: var(--k-sans); font-size: 14px; font-weight: 600; }

@media (max-width: 900px) {
  .k-home-hero { grid-template-columns: minmax(0, 1fr); gap: 36px; padding-block: 40px 28px; }
  .k-hero-lede { font-size: 17px; }
  .k-hero-cta .k-btn { flex: 1 1 200px; height: 52px; }
  .k-bootlog { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 14px 16px; font-size: 12.5px; }
  .k-home-section { padding-top: 72px; }
  .k-home-head p { font-size: 16px; }
  .k-deskmap { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 24px; }
  .k-legend-name small { display: block; margin-left: 0; }
  .k-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 24px; }
  .k-card { padding: 8px 8px 14px; gap: 8px; }
  .k-card-name { font-size: 14px; }
  .k-card-price { font-size: 13px; }
  .k-letter { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-top: 80px; }
  .k-letter figure { order: 2; }
  .k-letter-text { font-size: 17px; }
  .k-quotes, .k-community { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 24px; }
  .k-quote { padding: 20px; }
  .k-quote p { font-size: 18px; }
  .k-community > * { min-height: 0; padding: 20px; }
  .k-community h3 { font-size: 22px; }
}

@media (max-width: 520px) {
  .k-bootlog { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Pages, listings, content ---------- */
.k-page-head { display: grid; gap: 14px; padding-block: 56px 40px; }
.k-page-head h1 { font-size: clamp(36px, 4.6vw, 64px); font-weight: 800; font-stretch: 125%; line-height: .95; letter-spacing: -.02em; text-wrap: balance; max-width: 24ch; }
.k-page-lede { font-size: 19px; line-height: 1.5; color: var(--k-soft); max-width: 58ch; }
.k-page-intro { margin-top: 8px; }
.k-listing-bar { display: flex; justify-content: space-between; gap: 16px; padding-block: 12px; border-block: 1px solid var(--k-line); font-family: var(--k-mono); font-size: 12px; color: var(--k-muted); }
.k-listing-bar + .k-cards { margin-top: 24px; }
.k-empty-note { padding-block: 32px; font-family: var(--k-mono); font-size: 14px; color: var(--k-muted); }
.k-card-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; }
.k-card-meta .k-badge-new { color: var(--k-green); }
.k-card-meta .k-badge-warn { color: #f0c046; }
.k-card-meta .k-badge-out { color: var(--k-red); }
.k-card-meta .k-badge-info { color: var(--k-sky); }
.k-card.is-out img { opacity: .5; }
.k-card-noimg { display: block; aspect-ratio: 1; background: var(--k-bg-deep); border-radius: 3px; }
.k-cat-card .k-card-name { font-size: 22px; font-weight: 800; font-stretch: 125%; }
.k-404 { display: flex; flex-wrap: wrap; gap: 12px; padding-bottom: 40px; }
.k-404 .k-btn { flex: none; width: auto; }

.k-article { padding-bottom: 40px; }
.k-prose { max-width: 72ch; font-size: 18px; line-height: 1.7; color: #d6d3c4; }
.k-prose > * + * { margin-top: 1.1em; }
.k-prose h1, .k-prose h2, .k-prose h3, .k-prose h4 { margin-top: 1.8em; font-family: var(--k-sans); font-weight: 800; font-stretch: 125%; line-height: 1.1; color: var(--k-text); text-wrap: balance; }
.k-prose h1, .k-prose h2 { font-size: 30px; }
.k-prose h3 { font-size: 24px; }
.k-prose h4 { font-size: 19px; }
.k-prose a { color: var(--k-text); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--k-red); }
.k-prose strong, .k-prose b { color: var(--k-text); }
.k-prose ul, .k-prose ol { padding-left: 1.3em; }
.k-prose ul { list-style: disc; }
.k-prose ol { list-style: decimal; }
.k-prose li + li { margin-top: .4em; }
.k-prose li::marker { color: var(--k-red); }
.k-prose img, .k-prose video { max-width: 100%; height: auto; border-radius: var(--k-radius); }
.k-prose iframe { width: 100%; max-width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: var(--k-radius); }
.k-prose figure { margin: 1.6em 0; }
.k-prose figcaption { margin-top: 8px; font-family: var(--k-mono); font-size: 12px; color: var(--k-muted); }
.k-prose blockquote { margin: 1.6em 0; padding: 4px 0 4px 20px; border-left: 2px solid var(--k-red); color: var(--k-text); }
.k-prose hr { border: 0; border-top: 1px solid var(--k-line-strong); margin: 2em 0; }
.k-prose table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; font-size: 15px; }
.k-prose th, .k-prose td { padding: 10px 12px; border-bottom: 1px solid var(--k-line); text-align: left; }
.k-prose code { font-family: var(--k-mono); font-size: .9em; background: var(--k-bg-deep); padding: 2px 6px; border-radius: 3px; }
.k-prose .wp-block-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
.k-prose .wp-block-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.k-prose .wp-block-gallery figure { margin: 0; }
.k-prose .wp-block-media-text { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; align-items: center; }
.k-prose .wp-block-button__link, .k-prose .wp-element-button { display: inline-flex; align-items: center; padding: 12px 20px; background: var(--k-red); color: #fff; border-radius: var(--k-radius); font-weight: 600; text-decoration: none; }
.k-prose .has-text-align-center, .k-prose .aligncenter { text-align: center; margin-inline: auto; }
.k-prose .wp-block-woocommerce-featured-product { padding: 24px; background-color: var(--k-bg-deep) !important; border: 1px solid var(--k-line); border-radius: var(--k-radius); }

.k-search-lg { width: 100%; max-width: 560px; margin: 8px 0 0; padding: 12px 16px; font-size: 16px; }
.k-results { display: grid; gap: 24px; padding-bottom: 40px; }
.k-results-title { margin-bottom: 8px; font-family: var(--k-mono); font-size: 12px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: var(--k-muted); }
.k-result-list { display: grid; border-top: 1px solid var(--k-line); }
.k-result { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 20px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--k-line); }
.k-result img, .k-result .k-card-noimg { width: 96px; height: 96px; object-fit: cover; border-radius: 3px; background: #fff; }
.k-result strong { display: block; margin-bottom: 4px; font-size: 18px; font-weight: 600; color: var(--k-text); }
.k-result > span > span { font-size: 14px; line-height: 1.5; color: var(--k-soft); }

.k-track-form { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; max-width: 600px; margin-top: 8px; padding: 8px 8px 8px 16px; background-color: var(--k-bg-deep); border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); font-family: var(--k-mono); font-size: 15px; }
.k-track-form span { color: var(--k-muted); }
.k-track-form input { flex: 1; min-width: 150px; background: transparent; border: 0; outline: 0; font-family: var(--k-mono); font-size: 15px; text-transform: uppercase; }
.k-track-form button { padding: 10px 16px; background: var(--k-red); color: #fff; border: 0; border-radius: 3px; font-family: var(--k-sans); font-size: 14px; font-weight: 600; cursor: pointer; }
.k-track { display: grid; gap: 24px; padding-bottom: 40px; }
.k-notice { max-width: 760px; padding: 14px 16px; border: 1px solid var(--k-red); border-radius: var(--k-radius); font-family: var(--k-mono); font-size: 14px; }
.k-timeline { display: grid; max-width: 760px; }
.k-timeline li { position: relative; display: grid; gap: 4px; padding: 0 0 28px 32px; }
.k-timeline li::before { content: ""; position: absolute; left: 5px; top: 10px; bottom: -6px; width: 1px; background: var(--k-line-strong); }
.k-timeline li:last-child::before { display: none; }
.k-timeline li::after { content: ""; position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--k-bg); border: 2px solid var(--k-muted); }
.k-timeline li.is-latest::after { background: var(--k-green); border-color: var(--k-green); box-shadow: 0 0 8px var(--k-green); }
.k-timeline strong { font-size: 17px; font-weight: 600; }
.k-timeline p { font-size: 15px; color: var(--k-soft); }
.k-timeline small { font-family: var(--k-mono); font-size: 12px; color: var(--k-muted); }
.k-timeline a { text-decoration: underline; text-underline-offset: 3px; }
.k-pickup { display: grid; gap: 4px; margin-top: 6px; padding: 12px 14px; border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); }

.k-two-col { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 64px; align-items: start; padding-bottom: 40px; }
.k-contact-channels { display: grid; gap: 12px; }
.k-channel { display: grid; gap: 4px; padding: 20px; border: 1px solid var(--k-line); border-radius: var(--k-radius); }
.k-channel:hover { border-color: var(--k-line-strong); }
.k-channel strong { font-size: 20px; font-weight: 800; font-stretch: 125%; }
.k-channel span { font-family: var(--k-mono); font-size: 13px; color: var(--k-muted); }
.k-contact-form { display: grid; gap: 16px; max-width: 560px; }
.k-contact-form .k-btn { width: auto; justify-self: start; flex: none; }
.k-select, .k-textarea { width: 100%; padding: 12px 14px; background: var(--k-bg-deep); border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); outline: 0; font-size: 15px; color: var(--k-text); }
.k-select { height: 46px; padding-block: 0; }
.k-textarea { min-height: 180px; resize: vertical; line-height: 1.5; }
.k-select:focus, .k-textarea:focus { border-color: var(--k-muted); }
.k-check { display: flex; align-items: center; gap: 10px; font-size: 15px; cursor: pointer; }
.k-check input { width: 18px; height: 18px; accent-color: var(--k-red); }

.k-account { padding-bottom: 40px; }
.k-account > * { max-width: 760px; }
.k-login .k-linkbtn { justify-self: start; }
.k-account-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.k-span-1 { grid-column: span 1; }
.k-order { border: 1px solid var(--k-line); border-radius: var(--k-radius); }
.k-order + .k-order { margin-top: 12px; }
.k-order summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; padding: 16px 18px; cursor: pointer; list-style: none; }
.k-order summary::-webkit-details-marker { display: none; }
.k-order summary strong { font-size: 17px; }
.k-order summary span { font-family: var(--k-mono); font-size: 13px; color: var(--k-muted); }
.k-order .k-status { padding: 2px 8px; border: 1px solid var(--k-line-strong); border-radius: 3px; color: var(--k-text); }
.k-order-body { display: grid; gap: 14px; padding: 0 18px 18px; font-size: 15px; color: var(--k-soft); }
.k-order-body h3 { margin-bottom: 4px; font-family: var(--k-mono); font-size: 11px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: var(--k-muted); }
.k-order-body a { text-decoration: underline; text-underline-offset: 3px; }

/* Fragments rendered by shared endpoints (e.g. the one-time code form) still use legacy classes */
.k-legacy form, .k-legacy .form-control, .k-legacy form > div { display: grid; gap: 10px; }
.k-legacy .label { display: grid; gap: 6px; }
.k-legacy .label-text { font-family: var(--k-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--k-muted); }
.k-legacy .input { width: 100%; height: 46px; padding: 0 14px; background: var(--k-bg-deep); border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); }
.k-legacy .btn { justify-self: start; height: 46px; padding: 0 20px; background: transparent; border: 1px solid var(--k-text); border-radius: var(--k-radius); font-weight: 600; cursor: pointer; }
.k-legacy .text-error { color: var(--k-red); }

@media (max-width: 900px) {
  .k-page-head { padding-block: 32px 24px; }
  .k-page-lede { font-size: 16px; }
  .k-prose { font-size: 16px; }
  .k-prose h1, .k-prose h2 { font-size: 24px; }
  .k-two-col { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .k-result { grid-template-columns: 72px minmax(0, 1fr); gap: 14px; }
  .k-result img, .k-result .k-card-noimg { width: 72px; height: 72px; }
  .k-cat-card .k-card-name { font-size: 17px; }
}

/* ---------- Blog ---------- */
.k-blog-cats { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 32px; }
.k-blog-cats a { padding: 8px 14px; border: 1px solid var(--k-line-strong); border-radius: 3px; font-family: var(--k-mono); font-size: 13px; color: var(--k-muted); }
.k-blog-cats a[aria-current="page"] { color: var(--k-text); border-color: var(--k-red); }
.k-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.k-post-card { display: grid; gap: 10px; align-content: start; padding: 12px 12px 20px; border: 1px solid var(--k-line); border-radius: var(--k-radius); }
.k-post-card:hover { border-color: var(--k-line-strong); color: inherit; }
.k-post-card img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 3px; }
.k-post-card h2 { font-size: 20px; font-weight: 700; line-height: 1.2; text-wrap: balance; }
.k-post-card p { font-size: 15px; line-height: 1.5; color: var(--k-soft); }
.k-post-card.is-featured { grid-column: span 2; grid-row: span 2; }
.k-post-card.is-featured h2 { font-size: 32px; font-weight: 800; font-stretch: 125%; line-height: 1.05; }
.k-pagination { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; padding-bottom: 40px; font-family: var(--k-mono); font-size: 14px; }
.k-pagination a { min-width: 40px; height: 40px; display: grid; place-items: center; padding: 0 10px; border: 1px solid var(--k-line-strong); border-radius: 3px; color: var(--k-muted); }
.k-pagination a[aria-current="page"] { border-color: var(--k-red); color: var(--k-text); }
.k-article-hero { margin: 0 0 40px; }
.k-article-hero img { width: 100%; max-height: 540px; object-fit: cover; border-radius: var(--k-radius); }
.k-author { display: flex; align-items: center; gap: 16px; max-width: 72ch; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--k-line-strong); }
.k-author img { width: 56px; height: 56px; border-radius: 50%; }
.k-author strong { display: block; font-size: 16px; }
.k-author span { font-size: 14px; line-height: 1.5; color: var(--k-soft); }
.k-related-posts { padding-block: 80px 40px; }

@media (max-width: 900px) {
  .k-posts { grid-template-columns: minmax(0, 1fr); }
  .k-post-card.is-featured { grid-column: auto; grid-row: auto; }
  .k-post-card.is-featured h2 { font-size: 24px; }
  .k-related-posts { padding-top: 56px; }
}

/* ---------- Checkout ---------- */
.k-body .text-error { color: var(--k-red); }
.k-body .text-success { color: var(--k-green); }
.k-body .text-sm { font-size: 13px; }

.k-co-header { gap: 20px; }
.k-co-path { font-size: 13px; color: var(--k-muted); }
.k-co-path span { color: var(--k-text); }
.k-co-header-meta { margin-left: auto; display: flex; align-items: center; gap: 28px; font-size: 13px; color: var(--k-muted); }
.k-co-header-meta a { color: var(--k-text); text-decoration: underline; text-underline-offset: 3px; }
.k-co-secure { display: inline-flex; align-items: center; gap: 8px; }
.k-co-footer { margin-top: 96px; padding-block: 32px; border-top: 1px solid var(--k-line); }
.k-co-footer .k-footer-legal { margin-top: 0; }

.k-co-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding-block: 48px 40px; }
.k-co-title h1 { margin-top: 12px; font-size: clamp(38px, 4vw, 56px); font-weight: 800; font-stretch: 125%; line-height: .95; letter-spacing: -.015em; }
.k-seq { display: flex; align-items: center; gap: 12px; margin: 0; padding: 0; list-style: none; font-family: var(--k-mono); font-size: 13px; color: var(--k-muted); }
.k-seq li { display: flex; align-items: center; gap: 12px; }
.k-seq li + li::before { content: ""; width: 28px; height: 1px; background: var(--k-line-strong); }
.k-seq li[data-state="done"] { color: var(--k-green); }
.k-seq li[data-state="active"] span { color: var(--k-text); padding: 5px 10px; border: 1px solid var(--k-red); border-radius: 3px; }

.k-co { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 64px; align-items: start; }
.k-steps { display: grid; gap: 16px; }
.k-step { border: 1px solid var(--k-line); border-radius: var(--k-radius); scroll-margin-top: 16px; }
.k-step[data-state="active"] { border-color: var(--k-red); }
.k-step-head { display: flex; align-items: center; gap: 16px; padding: 18px 22px; }
.k-step-body { display: grid; gap: 20px; padding: 22px 22px 24px 58px; border-top: 1px solid var(--k-line); }
.k-step-num { font-family: var(--k-mono); font-size: 13px; color: var(--k-muted); }
.k-step[data-state="active"] .k-step-num { color: var(--k-red); }
.k-step-head h2 { font-size: 19px; font-weight: 600; }
.k-step-status { margin-left: auto; font-family: var(--k-mono); font-size: 12px; color: var(--k-muted); }
.k-step[data-state="done"] .k-step-status { color: var(--k-green); }
.k-hint { font-family: var(--k-mono); font-size: 12px; line-height: 1.6; color: var(--k-muted); }
.k-hint a, .k-linkbtn { color: var(--k-muted); text-decoration: underline; text-underline-offset: 3px; }
.k-linkbtn { padding: 0; background: none; border: 0; font-family: var(--k-mono); font-size: 12px; cursor: pointer; }

.k-fields { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.k-span-2 { grid-column: span 2; }
.k-span-3 { grid-column: span 3; }
.k-span-4 { grid-column: span 4; }
.k-span-6 { grid-column: span 6; }
.k-f { display: grid; gap: 6px; align-content: start; }
.k-f-label { font-family: var(--k-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--k-muted); }
.k-f-label span { text-transform: none; letter-spacing: 0; }
.k-input { width: 100%; height: 46px; padding: 0 14px; background: var(--k-bg-deep); border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); outline: 0; font-family: var(--k-sans); font-size: 15px; }
.k-input:focus { border-color: var(--k-muted); }
.k-input::placeholder { color: var(--k-faint); }
.k-input.mono { font-family: var(--k-mono); font-size: 14px; }
.k-f-error, #errocep { margin: 0; font-family: var(--k-mono); font-size: 12px; color: var(--k-red); }
.k-f-error:empty { display: none; }

.k-cep { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; padding: 12px 16px; background-color: var(--k-bg-deep); border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); font-family: var(--k-mono); font-size: 15px; }
.k-cep:focus-within { border-color: var(--k-muted); }
.k-cep input { width: 120px; background: transparent; border: 0; outline: 0; padding: 4px 0; font-family: var(--k-mono); font-size: 15px; }
.k-cep-city { color: var(--k-green); }
.k-cep a { margin-left: auto; font-size: 12px; color: var(--k-muted); text-decoration: underline; text-underline-offset: 3px; }

.k-ship { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.k-choice { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 64px; padding: 14px 18px; text-align: left; background: transparent; border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); cursor: pointer; }
.k-choice:hover { border-color: var(--k-muted); }
.k-choice[aria-pressed="true"] { border-color: var(--k-red); background: rgba(221, 64, 64, .06); }
.k-radio { width: 16px; height: 16px; flex: none; border: 1.5px solid var(--k-muted); border-radius: 50%; }
.k-choice[aria-pressed="true"] .k-radio { border: 5px solid var(--k-red); }
.k-choice-text { display: grid; gap: 2px; }
.k-choice-text strong { font-size: 16px; font-weight: 600; }
.k-choice-text small { font-family: var(--k-mono); font-size: 12px; color: var(--k-muted); }
.k-choice-text small.k-green { color: var(--k-green); }
.k-choice-price { margin-left: auto; display: grid; justify-items: end; font-family: var(--k-mono); font-size: 15px; }
.k-choice-price s { font-size: 12px; color: var(--k-faint); }

.k-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.k-tab { padding: 9px 14px; background: transparent; border: 1px solid var(--k-line-strong); border-radius: 3px; font-family: var(--k-mono); font-size: 13px; color: var(--k-muted); cursor: pointer; }
.k-tab[aria-selected="true"] { color: var(--k-text); border-color: var(--k-red); }
.k-login { display: grid; gap: 14px; max-width: 460px; }
.k-login .k-btn { width: auto; justify-self: start; height: 46px; }
.k-identified { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-family: var(--k-mono); font-size: 14px; color: var(--k-soft); }

.k-paymethods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.k-paymethods .k-choice { align-items: flex-start; flex-direction: column; gap: 6px; padding: 18px; }
.k-paymethods .k-choice-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; }
.k-paymethods .k-choice-head strong { font-size: 18px; font-weight: 600; }
.k-paymethods .k-choice-head small { font-family: var(--k-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--k-muted); }
.k-paymethods .k-choice-head small.k-green { color: var(--k-green); }
.k-paymethods .k-amount { font-family: var(--k-mono); font-size: 22px; }
.k-checklist { display: grid; gap: 10px; padding: 16px 18px; background-color: var(--k-bg-deep); border: 1px solid var(--k-line); border-radius: var(--k-radius); font-family: var(--k-mono); font-size: 14px; line-height: 1.5; }
.k-checklist li { display: flex; gap: 10px; }
.k-checklist li::before { content: "›"; color: var(--k-green); }
.k-pay-errors { display: grid; gap: 8px; }
.k-pay-errors:empty { display: none; }
.k-pay-errors li { display: flex; gap: 10px; padding: 10px 14px; border: 1px solid var(--k-red); border-radius: 3px; font-family: var(--k-mono); font-size: 13px; line-height: 1.5; }
.k-pay-errors li::before { content: "!"; color: var(--k-red); font-weight: 600; }
.k-paybtn { width: 100%; height: 58px; font-size: 17px; }
.k-paybtn span { font-family: var(--k-mono); font-weight: 500; opacity: .9; margin-left: 10px; }
.k-legal { font-size: 13px; color: var(--k-muted); text-align: center; }
.k-legal a { color: var(--k-soft); text-decoration: underline; text-underline-offset: 3px; }
#cardPaymentBrick_container:empty { display: none; }
#loadingCC { font-family: var(--k-mono); font-size: 13px; color: var(--k-muted); padding: 12px 0; }
#loadingIntervalPagePagamentoCC { font-family: var(--k-mono); font-size: 13px; color: var(--k-sky); }

.k-summary { display: grid; gap: 16px; position: sticky; top: 24px; }
.k-items { display: grid; padding: 4px 20px; }
.k-item { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--k-line); }
.k-item:last-child { border-bottom: 0; }
.k-item img { width: 64px; height: 64px; object-fit: cover; border-radius: 3px; }
.k-item-info { display: grid; gap: 3px; min-width: 0; }
.k-item-name { font-family: var(--k-sans); font-size: 15px; font-weight: 600; }
.k-item-meta { font-family: var(--k-mono); font-size: 12px; color: var(--k-muted); }
.k-item-info .k-linkbtn { justify-self: start; color: var(--k-faint); }
.k-item-price { display: grid; justify-items: end; gap: 2px; font-family: var(--k-mono); font-size: 14px; }
.k-item-price s { font-size: 12px; color: var(--k-faint); }
.k-item-warning { grid-column: 1 / -1; font-family: var(--k-mono); font-size: 12px; color: var(--k-red); }
.k-gift { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; align-items: center; margin: 0 20px; padding: 16px 0; border-top: 1px solid var(--k-line); font-size: 13px; line-height: 1.4; color: var(--k-soft); }
.k-gift img { width: 44px; height: 44px; object-fit: cover; border-radius: 3px; }
.k-gift strong { color: var(--k-text); font-weight: 500; }
.k-gift-bar { height: 4px; margin-top: 8px; background: var(--k-line); border-radius: 2px; overflow: hidden; }
.k-gift-bar i { display: block; height: 100%; background: var(--k-green); border-radius: 2px; }
.k-coupon { margin: 0 20px; }
.k-coupon .k-newsletter { max-width: none; }
#k-cupom-msg { margin: 8px 20px 0; font-family: var(--k-mono); font-size: 12px; }
#k-cupom-msg:empty { display: none; }
.k-coupon-applied { margin: 0 0 8px; font-family: var(--k-mono); font-size: 13px; color: var(--k-green); }
.k-totals { display: grid; gap: 10px; margin: 20px 0 0; padding: 18px 20px 22px; border-top: 1px solid var(--k-line); font-family: var(--k-mono); font-size: 14px; }
.k-totals div { display: flex; justify-content: space-between; gap: 16px; }
.k-totals dt { color: var(--k-muted); }
.k-totals dd { text-align: right; }
.k-totals .k-totals-final { padding-top: 12px; border-top: 1px dotted var(--k-line-strong); align-items: baseline; }
.k-totals .k-totals-final dt { color: var(--k-green); }
.k-totals .k-totals-final dd { font-family: var(--k-sans); font-size: 30px; font-weight: 700; font-stretch: 125%; }
.k-assurances { display: grid; gap: 8px; padding: 0 4px; font-family: var(--k-mono); font-size: 12px; color: var(--k-muted); }
.k-assurances li::before { content: "› "; color: var(--k-green); }
.k-assurances a { text-decoration: underline; text-underline-offset: 3px; }
.k-summary-toggle, .k-paybar { display: none; }
.k-empty { display: grid; gap: 16px; justify-items: start; padding: 32px; border: 1px solid var(--k-line); border-radius: var(--k-radius); }
.k-empty h2 { font-size: 28px; font-weight: 800; font-stretch: 125%; }
.k-empty p { color: var(--k-soft); }

/* ---------- Order confirmation ---------- */
.k-conf-head { display: grid; gap: 14px; padding-block: 64px 48px; max-width: 900px; margin-inline: 0; }
.k-wrap.k-conf-head { margin-inline: auto; max-width: calc(1240px + 2 * var(--k-gutter)); }
.k-conf-head .k-label { display: flex; align-items: center; gap: 12px; color: var(--k-muted); }
.k-conf-head .k-co-secure { color: var(--k-green); }
.k-conf-head h1 { font-size: clamp(42px, 5vw, 64px); font-weight: 800; font-stretch: 125%; line-height: .95; letter-spacing: -.02em; }
.k-conf-head p { font-size: 19px; line-height: 1.5; color: var(--k-soft); max-width: 54ch; }
.k-conf-cta { width: auto; justify-self: start; }
.k-conf { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 64px; align-items: start; }
.k-pix { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 36px; padding: 28px; border: 1px solid var(--k-red); border-radius: var(--k-radius); }
.k-pix-qr { width: 260px; height: 260px; display: grid; place-items: center; padding: 10px; background: #fff; border-radius: var(--k-radius); color: var(--k-bg); font-family: var(--k-mono); font-size: 12px; text-align: center; }
.k-pix-qr img { width: 100%; height: 100%; }
.k-pix-info { display: grid; gap: 18px; align-content: start; min-width: 0; }
.k-pix-amount { font-size: 40px; font-weight: 700; font-stretch: 125%; letter-spacing: -.01em; }
.k-pix-steps { margin: 0; padding-left: 20px; list-style: decimal; display: grid; gap: 10px; font-family: var(--k-mono); font-size: 14px; line-height: 1.5; color: var(--k-soft); }
.k-pix-code { display: flex; align-items: center; gap: 12px; padding: 8px 8px 8px 16px; background-color: var(--k-bg-deep); border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); }
.k-pix-code textarea { flex: 1; min-width: 0; height: 24px; resize: none; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; background: transparent; border: 0; outline: 0; font-family: var(--k-mono); font-size: 13px; color: var(--k-muted); }
.k-pix-code .k-btn { flex: none; height: 44px; font-size: 14px; }
.k-conf-card { display: grid; gap: 8px; padding: 28px; border: 1px solid var(--k-line); border-radius: var(--k-radius); font-size: 18px; }
.k-conf-order .k-totals { margin-top: 0; border-top: 0; }
.k-conf-address { display: grid; gap: 4px; padding: 18px 20px 22px; border-top: 1px solid var(--k-line); font-size: 14px; line-height: 1.5; color: var(--k-soft); }
.k-conf-extra { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 64px; padding-top: 64px; }
.k-conf-extra > div { display: grid; gap: 14px; align-content: start; padding-top: 24px; border-top: 1px solid var(--k-line-strong); }
.k-conf-extra h2 { font-size: 30px; font-weight: 800; font-stretch: 125%; line-height: 1.05; text-wrap: balance; }
.k-sky-label { color: var(--k-sky); }
.k-conf-survey { display: grid; gap: 12px; }
.k-conf-survey label span { text-transform: none; letter-spacing: 0; }
.k-conf-survey > div { display: flex; gap: 10px; }
.k-conf-survey .k-btn { width: auto; height: 46px; }
.k-conf-thanks { font-family: var(--k-mono); font-size: 14px; color: var(--k-green); }

@media (max-width: 900px) {
  .k-co-header-meta a, .k-seq { display: none; }
  .k-co-title { padding-block: 28px 20px; }
  .k-co, .k-conf, .k-conf-extra, .k-pix { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .k-summary { position: static; order: -1; gap: 0; margin-inline: calc(-1 * var(--k-gutter)); }
  .k-summary-details { background-color: var(--k-bg-deep); border-block: 1px solid var(--k-line); }
  .k-summary-toggle { display: flex; align-items: center; gap: 12px; padding: 14px var(--k-gutter); font-family: var(--k-mono); font-size: 13px; color: var(--k-muted); list-style: none; cursor: pointer; }
  .k-summary-toggle::-webkit-details-marker { display: none; }
  .k-summary-toggle b { margin-left: auto; font-weight: 500; color: var(--k-text); font-size: 15px; }
  .k-summary-toggle::after { content: "+"; color: var(--k-muted); }
  .k-summary-details[open] .k-summary-toggle::after { content: "−"; }
  .k-summary .k-panel { border: 0; border-radius: 0; background-color: transparent; }
  .k-summary .k-assurances { display: none; }
  .k-step-head { padding: 16px; }
  .k-step-body { padding: 16px; }
  .k-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .k-fields > * { grid-column: span 2; }
  .k-fields > .k-half { grid-column: span 1; }
  .k-ship, .k-paymethods { grid-template-columns: minmax(0, 1fr); }
  .k-cep a { margin-left: 0; }
  .k-paybar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; align-items: center; gap: 12px; padding: 10px var(--k-gutter); background: var(--k-bg-deep); border-top: 1px solid var(--k-line-strong); }
  .k-paybar div { display: grid; font-family: var(--k-mono); font-size: 11px; color: var(--k-green); }
  .k-paybar b { font-family: var(--k-sans); font-size: 19px; font-weight: 700; font-stretch: 125%; color: var(--k-text); }
  .k-paybar .k-btn { flex: 1; height: 50px; }
  .k-body.k-has-paybar { padding-bottom: 72px; }
  .k-pix { padding: 18px; }
  .k-pix-qr { width: 100%; max-width: 280px; height: auto; aspect-ratio: 1; justify-self: center; }
  .k-pix-code { flex-wrap: wrap; }
  .k-pix-code .k-btn { width: 100%; }
  .k-conf-head { padding-block: 32px 24px; }
  .k-conf-extra { padding-top: 40px; }
  .k-conf-survey > div { flex-direction: column; }
  .k-co-footer { margin-top: 56px; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .k-nav { gap: 20px; }
  .k-search { width: 220px; }
  .k-muted-link { display: none; }
  .k-pdp { gap: 48px; }
  .k-info { gap: 48px; }
}

@media (max-width: 900px) {
  :root { --k-gutter: 16px; }
  .k-statusbar-inner { justify-content: center; }
  .k-statusbar-inner > span + span { display: none; }
  .k-header { position: relative; }
  .k-header-inner { gap: 8px; padding-block: 6px; }
  .k-header-inner > .k-nav, .k-header-inner > .k-search, .k-cart span { display: none; }
  .k-header-actions { margin-left: auto; gap: 4px; }
  .k-cart { width: 44px; height: 44px; justify-content: center; }
  .k-menu { display: block; }
  .k-logo svg { width: 30px; height: 30px; }

  .k-path { padding-block: 12px; font-size: 12px; }
  .k-pdp, .k-spec, .k-info, .k-sky-inner, .k-footer-grid { grid-template-columns: minmax(0, 1fr); }
  .k-pdp { gap: 28px; }
  .k-gallery { position: static; }
  .k-thumbs { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 72px; overflow-x: auto; padding: 5px; }
  .k-buybox { gap: 24px; padding-top: 0; }
  .k-lede { font-size: 16px; }
  .k-price-de, .k-price-por { font-size: 34px; }

  .k-section { padding-top: 72px; }
  .k-sechead h2, .k-info .k-sechead h2 { font-size: 28px; }
  .k-dl div { flex-direction: column; gap: 2px; }
  .k-dl .k-leader { display: none; }
  .k-dl dd { text-align: left; }
  .k-blocks { gap: 40px; }
  .k-blocks .wp-block-media-text { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .k-blocks .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 0; }
  .k-blocks h2, .k-blocks h3 { font-size: 26px; }
  .k-delivery div { grid-template-columns: 140px minmax(0, 1fr) 56px; gap: 10px; font-size: 12.5px; }
  .k-sky { margin-top: 80px; padding-block: 72px 64px; }
  .k-sky-inner { gap: 20px; }
  .k-related { padding-top: 64px; }
  .k-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .k-footer { margin-top: 64px; }
  .k-footer-grid { gap: 28px; }

  /* main.js pins #comprarButton to the viewport bottom on product pages */
  .k-body #comprarButton.fixed-bottom { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; width: auto; height: 58px; border-radius: 0; background: var(--k-red); color: #fff; border: 0; border-top: 1px solid var(--k-line-strong); }
  .k-body { padding-bottom: 58px; }
}

/* ---------- About ---------- */
.k-about { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.k-about-text { display: grid; gap: 20px; font-size: 19px; line-height: 1.65; color: #d6d3c4; max-width: 60ch; }
.k-about-diff { gap: 12px; padding: 22px 24px; line-height: 1.5; }
.k-about-cmd { margin-bottom: 6px; color: var(--k-muted); overflow-wrap: anywhere; }
.k-about-diff del, .k-about-diff ins { display: block; text-decoration: none; }
.k-about-diff del { color: var(--k-red); }
.k-about-diff ins { color: var(--k-green); }
.k-about-section { padding-top: 120px; }
.k-about-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; margin-top: 32px; }
.k-about-list li { display: grid; gap: 6px; align-content: start; padding: 20px 0; border-bottom: 1px solid var(--k-line); }
.k-about-list b { font-family: var(--k-mono); font-size: 15px; font-weight: 400; }
.k-about-list p { font-size: 16px; line-height: 1.5; color: var(--k-soft); }
.k-about-name { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 64px; align-items: center; }
.k-about-kanji { font-size: clamp(88px, 13vw, 190px); line-height: 1; color: var(--k-sky); }
.k-about-name > div { display: grid; gap: 16px; max-width: 60ch; }
.k-about-name h2 { font-size: clamp(30px, 3.4vw, 48px); font-weight: 800; font-stretch: 125%; line-height: 1; letter-spacing: -.015em; }
.k-about-name p { font-size: 18px; line-height: 1.6; color: var(--k-soft); }
.k-about-links { display: grid; gap: 12px; justify-items: start; }

@media (max-width: 900px) {
  .k-about, .k-about-list, .k-about-name { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .k-about-list { gap: 0; }
  .k-about-text { font-size: 17px; }
  .k-about-section { padding-top: 72px; }
}

/* iOS zooms into any focused field under 16px and leaves the page zoomed afterwards. */
@media (pointer: coarse), (max-width: 900px) {
  .k-body :is(input, select, textarea) { font-size: 16px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .k-cursor, #loading-screen .loading-spinner { animation: none; }
  .k-crt, .k-crt p, .k-monitor-screen img { animation: none; }
  .k-thumbs img { transition: none; }
}
