*,*::before,*::after {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:100px}
body {margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--font-body);overflow-wrap:anywhere}
h1,h2,h3,p,figure,blockquote {margin:0 0 1rem}
h1,h2,h3 {font-family:var(--font-display);line-height:1.07;letter-spacing:-.04em;font-weight:800}
h1 {font-size:clamp(2.6rem,7vw,7rem);max-width:13ch}
h2 {font-size:clamp(2rem,4vw,3.6rem)} h3 {font-size:clamp(1.25rem,2vw,1.75rem)}
p {max-width:68ch} small,.kit-small {font-size:.875rem;color:var(--muted)}
a {color:inherit;text-underline-offset:.22em;min-height:44px;display:inline-flex;align-items:center}
button,input,select,textarea {font:inherit;color:inherit;max-width:100%}
button,a,summary,input,select,textarea {touch-action:manipulation}
button,summary,select {cursor:pointer;min-height:44px}
button {border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-pill);padding:.65rem 1.1rem}
button:disabled {opacity:.45;cursor:default}
input,select,textarea {background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-s);min-height:44px;padding:.65rem .8rem;width:100%}
input[type=radio],input[type=checkbox] {width:24px;height:24px;min-height:24px;accent-color:var(--accent);flex-shrink:0}
label {display:block;margin-block:.5rem} fieldset {min-width:0;border:1px solid var(--line);border-radius:var(--radius-m);padding:1.3rem}
legend {padding:0 .4rem;font-weight:700} img,svg,video {display:block;max-width:100%;height:auto} iframe {border:0;width:100%;aspect-ratio:16/9}
:focus-visible {outline:3px solid var(--accent)!important;outline-offset:4px!important;box-shadow:0 0 0 1px var(--paper)}
[hidden] {display:none!important}
.kit-container {width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.kit-section {padding-block:var(--section-space)}
.kit-panel {padding:clamp(1.25rem,3vw,2.5rem);border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-l);min-width:0}
.kit-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:24px}
.kit-stack>*+* {margin-top:24px}.kit-row {display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.kit-label {font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.kit-button {display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:14px 26px;text-decoration:none;border:1px solid var(--line);border-radius:var(--radius-pill);font-weight:700}
.kit-poster {min-height:220px;width:100%;max-width:100%;aspect-ratio:16/9;display:grid;place-content:center;text-align:center;padding:32px;border-radius:var(--radius-l);border:1px solid var(--line);background:radial-gradient(ellipse at 65% 25%,#ffffff16,transparent 50%),repeating-linear-gradient(135deg,transparent 0 40px,#ffffff05 41px 42px),var(--surface);position:relative;overflow:hidden}
.kit-poster>span {color:var(--muted);font-size:.85rem}
.kit-rail {display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:8px 4px 24px;scroll-behavior:smooth;overscroll-behavior-x:contain}
.kit-rail>* {flex:0 0 min(82%,340px);scroll-snap-align:start;min-width:0}
.kit-arrows {display:flex;gap:12px;justify-content:flex-end;margin-top:16px}
.kit-arrows button {width:48px;height:48px;padding:0;font-size:1.5rem}
.kit-overlay {padding:24px;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-l)}
.kit-overlay[data-enhanced] {position:fixed;inset:0;z-index:100;max-width:none;max-height:100dvh;overflow:auto;border-radius:0;background:color-mix(in srgb,var(--paper) 96%,transparent);backdrop-filter:blur(18px)}
.kit-overlay-inner {max-width:880px;margin:5vh auto}.kit-overlay [data-close] {float:right;margin:0 0 24px 24px}
.kit-overlay:not([data-enhanced]) [data-close] {display:none}
.kit-video-overlay.is-loading [role=status]::before {content:'';display:inline-block;width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;margin-right:12px;animation:kit-loading .9s linear infinite}
@keyframes kit-loading {to{transform:rotate(360deg)}}
.kit-site-head {position:relative;top:0;z-index:30;background:var(--paper)}
.kit-sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.kit-skip {position:absolute;left:16px;top:-100px;z-index:200;background:var(--accent);color:var(--accent-ink);padding:12px}
.kit-skip:focus {top:16px}
.kit-motion-control {font-size:.85rem;margin-block:12px}
@media(max-width:575px) {:root{--section-space:64px} .kit-container{width:calc(100% - 32px)}}
@media(min-width:576px) {.kit-container{width:min(calc(100% - 48px),var(--container))}}
@media(min-width:768px) {.kit-two{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}}
@media(min-width:992px) {.kit-wide-type{font-size:5rem}}
@media(min-width:1140px) {.kit-container{width:min(calc(100% - 64px),var(--container))}}
@media(min-width:1600px) {:root{--container:1320px}}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
 [data-reveal] {opacity:1!important;transform:none!important}
}
.reduced-motion,.reduced-motion::before,.reduced-motion::after,.reduced-motion *,.reduced-motion *::before,.reduced-motion *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
.reduced-motion [data-reveal] {opacity:1!important;transform:none!important}

.kit-js .kit-site-head {position:sticky}
