@font-face{font-family:Manrope;src:url('/assets/manrope.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/assets/mono.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#F6F7F4;--surface:#fff;--ink:#181B1F;--slate:#626970;--line:#C9CEC9;--mist:#E7EAE7;--blue:#3659D9;--blue-deep:#2946B4;--on-ink:#8EA4F5;--attention:#8A5A12;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 Manrope,system-ui,sans-serif}::selection{background:var(--blue);color:#fff}a{color:var(--blue);text-underline-offset:4px}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2{letter-spacing:-.02em;text-wrap:balance}h1{font-size:clamp(40px,4.3vw,60px);font-weight:800;line-height:1.12}h2{font-size:40px;line-height:1.18;font-weight:700}h3{font-size:22px;line-height:1.3}h1 span,.section-intro h2 span{color:var(--blue)}p{max-width:68ch}.wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}.quiet,.hint{color:var(--slate)}.data{font:400 12px/1.5 'IBM Plex Mono',monospace;font-variant-numeric:tabular-nums}.skip{position:absolute;top:-80px;left:16px;z-index:10;padding:12px;background:#fff}.skip:focus{top:8px}.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{width:104px;height:auto}.site-header nav{display:flex;gap:32px;align-items:center}.site-header nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;font-size:14px;font-weight:600}.site-header nav a:first-child{color:var(--ink)}.nav-cta{gap:16px}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.9fr);gap:64px;padding-block:64px 72px}.intro{font-size:18px;line-height:1.65;margin-top:24px;max-width:48ch}.kit-summary{display:grid;grid-template-columns:130px 1fr;gap:24px;margin-top:32px;align-items:center}.kit-summary>img{width:130px;border:1px solid var(--line)}.kit-summary h2{font-size:26px;line-height:1.2}.kit-summary p{font-size:14px;margin-top:12px;max-width:30ch}.kit-summary .data{margin-top:16px}.kit-summary a{display:inline-block;margin-top:12px;font-size:14px;font-weight:600;padding-block:8px}.hero-note{margin-top:24px;font-size:14px}.form-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:32px;align-self:start;scroll-margin-top:24px}.form-top h2{font-size:24px}.form-top p{color:var(--slate);font-size:14px;margin-top:8px}.field{margin-top:20px}.field label{font-size:14px;font-weight:600;display:block;margin-bottom:8px}.field input{display:block;width:100%;min-height:48px;border:1px solid var(--slate);background:#fff;border-radius:6px;padding:12px 14px;color:var(--ink);caret-color:var(--blue);font-size:16px}.field input::placeholder{color:var(--slate)}.field input[aria-invalid=true]{border:2px solid var(--attention);padding:11px 13px}.field-error{color:var(--attention);font-size:14px;min-height:0}.field-error:not(:empty){margin-top:6px}.hint{font-size:12px;margin-top:6px}.check{display:flex;gap:10px;font-size:12px;line-height:1.6;margin-top:20px;cursor:pointer}.check input{accent-color:var(--blue);width:18px;height:18px;flex-shrink:0;margin:2px 0}.disclosure{font-size:12px;line-height:1.65;color:var(--slate);margin-top:16px}.button{min-height:52px;display:inline-flex;gap:24px;align-items:center;justify-content:space-between;padding:14px 20px;border:0;border-radius:6px;text-decoration:none;font-size:16px;font-weight:700;transition:background-color 120ms ease-out}.primary{background:var(--blue);color:#fff;width:100%;margin-top:16px}.primary:hover{background:var(--blue-deep)}.form-foot{text-align:center;font-size:12px;color:var(--slate);margin-top:10px}.form-status:not(:empty){font-size:14px;margin-top:16px;padding:12px;background:var(--paper);border:1px solid var(--line)}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#challenge:not(:empty){margin-top:16px}.problem{background:var(--ink);color:var(--paper);padding-block:64px}.problem-inner{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center}.problem h2{font-size:40px}.problem h2 span{color:var(--on-ink)}.problem p{color:#A3AAB0;font-size:16px}.problem p+p{margin-top:20px}.contents{padding-block:80px}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:end}.section-intro>p{color:var(--slate)}.preview-layout{display:grid;grid-template-columns:1fr 1fr;gap:96px;margin-top:48px;align-items:start}.preview-choice{width:100%;background:none;border:0;border-top:1px solid var(--line);text-align:left;display:grid;grid-template-columns:28px 1fr 20px;gap:20px;padding:24px 0;color:var(--ink)}.preview-choice:last-of-type{border-bottom:1px solid var(--line)}.preview-choice strong{display:block;font-size:22px;margin-bottom:8px}.preview-choice span span{display:block;color:var(--slate);font-size:14px;max-width:38ch}.preview-choice .data{padding-top:7px;color:var(--slate)}.preview-choice.selected strong,.preview-choice.selected .choice-arrow{color:var(--blue)}.preview-choice.selected{background:var(--mist);padding-inline:16px}.choice-arrow{font-size:22px}.sample-question{margin-block:32px 16px}.sample-question p{font-size:14px;color:var(--slate)}.sample-question blockquote{font-size:22px;font-weight:600;line-height:1.4;margin-block:12px 16px}.text-action{font-weight:700;display:inline-block;padding-block:12px;min-height:44px}.preview-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.preview-toolbar button{border:1px solid var(--slate);padding:8px 12px;background:none;min-height:44px;border-radius:6px;font-size:12px;color:var(--ink)}.image-well{background:var(--mist);padding:24px;border:1px solid var(--line);overflow:auto;max-height:680px;scrollbar-color:var(--slate) var(--mist);scrollbar-width:thin}.image-well img{width:100%;border:1px solid var(--line)}.page-preview figcaption{font-size:12px;color:var(--slate);margin-top:12px}.how{border-top:1px solid var(--line);padding-block:64px}.steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:48px;counter-reset:steps;margin:32px 0 0}.steps li{counter-increment:steps;border-top:1px solid var(--line);padding-top:24px}.steps h3:before{content:counter(steps) '. ';color:var(--slate);font-size:16px}.steps p{color:var(--slate);font-size:14px;margin-top:12px}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:96px;padding-block:64px 80px;border-top:1px solid var(--line)}.faq h2{font-size:32px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{padding:20px 32px 20px 0;font-weight:600;cursor:pointer;position:relative;list-style:none;min-height:64px}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:4px;top:16px;font-size:24px;font-weight:400;color:var(--slate)}details[open]>summary:after{content:'−'}details p{padding:0 0 24px;color:var(--slate);font-size:14px}.closing{background:var(--blue);color:#fff;padding-block:64px}.closing-inner{display:flex;gap:48px;align-items:center;justify-content:space-between}.closing p{color:#E3E8FC;margin-top:16px}.on-blue{color:var(--blue);background:#fff;flex-shrink:0}.on-blue:hover{background:#E3E8FC}.closing a:focus-visible{outline-color:#fff}.footer{display:flex;justify-content:space-between;gap:24px;padding-block:40px}.footer p,.footer span{font-size:12px;color:var(--slate);margin-top:12px}.footer>div:last-child{display:flex;gap:24px;align-items:center}.footer a{font-size:12px}.local-notice{background:var(--mist);padding:8px 16px;font-size:12px;text-align:center}[hidden]{display:none!important}.article{width:min(720px,calc(100% - 40px));margin:64px auto}.article h1{font-size:48px}.article h2{font-size:24px;margin-top:32px}.article p{margin-top:16px}.article ul{padding-left:24px}.success-mark{display:flex;gap:12px;align-items:center;color:var(--blue);font-size:14px;font-weight:600;margin-bottom:24px}.status-square{width:14px;height:14px;border:2px solid currentColor;display:inline-block}.status-square.resolved{background:currentColor;animation:resolve 240ms cubic-bezier(.2,0,0,1)}@keyframes resolve{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}.download-box{padding-block:24px;border-block:1px solid var(--line);margin-block:32px}.download-box .button{width:auto}.qualification{border-top:1px solid var(--line);padding-top:24px;margin-top:32px}.qualification select{display:block;width:100%;min-height:48px;font:inherit;border:1px solid var(--slate);border-radius:6px;padding:12px;background:#fff;margin-block:12px}.secondary{border:1px solid var(--slate);background:none;color:var(--ink);min-height:44px;padding:10px 16px;border-radius:6px}.next-product{background:var(--mist);padding:24px;margin-top:32px}.next-product h2{margin-top:0}
@media(min-width:1400px){.hero{gap:80px}}
@media(max-width:1000px){.hero{gap:32px;grid-template-columns:minmax(0,1fr) minmax(340px,1fr)}.form-panel{padding:24px}.problem-inner,.section-intro,.preview-layout,.faq{gap:40px}.kit-summary{grid-template-columns:100px 1fr;gap:16px}.kit-summary>img{width:100px}.intro{font-size:16px}h2,.problem h2{font-size:32px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:80px}.site-header nav{gap:20px}.site-header nav a{font-size:12px}.logo{width:88px}.hero{grid-template-columns:1fr;gap:32px;padding-block:40px 48px}h1{font-size:40px;line-height:1.12}.intro{margin-top:20px;max-width:42ch}.kit-summary{grid-template-columns:84px 1fr;margin-top:24px;gap:20px}.kit-summary>img{width:84px}.kit-summary h2{font-size:22px}.kit-summary h2 br{display:none}.kit-summary p{font-size:12px;margin-top:8px;max-width:38ch}.kit-summary a{margin-top:4px;font-size:12px}.kit-summary .data{margin-top:8px}.hero-note{margin-top:16px;font-size:12px}.form-panel{padding:24px}.form-top h2{font-size:24px}.problem{padding-block:48px}.problem-inner,.section-intro,.preview-layout,.faq{grid-template-columns:1fr;gap:24px}.problem h2{font-size:32px}.problem p{font-size:14px}.contents{padding-block:48px}.preview-layout{margin-top:24px;gap:32px}.preview-choice{padding-block:18px}.preview-choice strong{font-size:20px}.preview-choice span span{font-size:14px}.sample-question{margin-block:24px 8px}.image-well{padding:16px;max-height:520px}.preview-toolbar .data{font-size:11px}.how{padding-block:48px}.steps{grid-template-columns:1fr;gap:24px;margin-top:24px}.steps li{padding-top:20px}.faq{padding-block:48px}.closing{padding-block:48px}.closing-inner{display:block}.closing h2{font-size:30px}.closing p{font-size:14px}.closing .button{margin-top:24px;width:100%}.footer{display:block;padding-block:32px}.footer>div:last-child{flex-wrap:wrap;gap:16px;margin-top:24px}.footer span{width:100%;margin:0}.article{margin-block:40px}.article h1{font-size:36px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}h1{font-size:34px}.site-header nav{gap:16px}.form-panel{padding:20px}.kit-summary{gap:16px}.kit-summary h2{font-size:20px}.preview-choice{gap:12px}.section-intro h2,.how h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.page-preview,.preview-menu{min-width:0}.image-well{max-width:100%}
.icon{width:18px;height:18px;display:inline-block;vertical-align:middle;flex-shrink:0}.choice-arrow.icon{width:20px;height:20px}.nav-cta .icon{width:14px;height:14px}

/* Motion supports reading and real interaction; no looping decoration. */
@keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero-copy h1{animation:arrive 480ms cubic-bezier(.2,0,0,1) both}
.hero-copy .intro{animation:arrive 480ms 70ms cubic-bezier(.2,0,0,1) both}
.kit-summary,.hero-note{animation:arrive 480ms 130ms cubic-bezier(.2,0,0,1) both}
.form-panel{animation:arrive 480ms 100ms cubic-bezier(.2,0,0,1) both}
.reveal{opacity:1;transform:none;transition:opacity 460ms cubic-bezier(.2,0,0,1) var(--reveal-delay,0ms),transform 460ms cubic-bezier(.2,0,0,1) var(--reveal-delay,0ms)}
.reveal-pending{opacity:0;transform:translateY(16px)}
.button .icon,.text-action .icon,.nav-cta .icon{transition:transform 180ms cubic-bezier(.2,0,0,1)}
.button:active:not(:disabled){transform:translateY(1px)}
.preview-choice{transition:background-color 180ms ease-out,color 180ms ease-out}
.preview-choice .choice-arrow{transition:transform 180ms ease-out}
.field input{transition:border-color 160ms ease-out}
.field input:focus{border-color:var(--blue)}
.image-well{max-height:none;overflow:visible}
.preview-surface{display:block;width:100%;padding:0;border:0;background:var(--surface);overflow:hidden;position:relative;cursor:zoom-in;touch-action:manipulation}
.preview-surface img{width:100%;transform-origin:var(--zoom-x,50%) var(--zoom-y,50%);transition:transform 240ms cubic-bezier(.2,0,0,1);will-change:auto}
.preview-surface.is-zoomed img{transform:scale(2)}
.zoom-hint{font-size:12px;color:var(--slate);margin-top:12px}
.hover-hint{display:none}
.preview-dialog{padding:0;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);width:min(1100px,calc(100% - 40px));max-width:none;height:min(1000px,92dvh);max-height:92dvh;overflow:hidden}
.preview-dialog[open]{display:flex;flex-direction:column;animation:arrive 200ms cubic-bezier(.2,0,0,1)}
.preview-dialog::backdrop{background:rgb(24 27 31 / .7)}
.preview-open{overflow:hidden}
.zoom-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;border-bottom:1px solid var(--line);flex-shrink:0}
.zoom-toolbar h2{font:600 16px/1.4 Manrope,system-ui,sans-serif;letter-spacing:0;text-wrap:wrap}
.zoom-toolbar p{font-size:12px;color:var(--slate);margin-top:6px}
.zoom-close{display:flex;align-items:center;gap:12px;flex-shrink:0}
.zoom-scroll{overflow:auto;min-height:0;flex:1;background:var(--mist);overscroll-behavior:contain;scrollbar-color:var(--slate) var(--mist)}
.zoom-scroll:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.zoom-scroll img{width:max(760px,100%);max-width:none}
@media(hover:hover) and (pointer:fine){
  .hover-hint{display:inline}.touch-hint{display:none}
  .button:hover .icon,.text-action:hover .icon,.nav-cta:hover .icon{transform:translate(2px,-2px)}
  .preview-choice:hover .choice-arrow{transform:translate(2px,-2px)}
}
@media(max-width:760px){
  .preview-dialog{width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}
  .zoom-toolbar{padding:16px 20px;padding-top:max(16px,env(safe-area-inset-top));gap:12px}
  .zoom-toolbar h2{font-size:14px}.zoom-close{padding:10px 12px;gap:8px}
  .zoom-scroll{padding-bottom:env(safe-area-inset-bottom)}
}
@media(prefers-reduced-motion:reduce){.reveal,.reveal-pending{opacity:1;transform:none}.button:active:not(:disabled){transform:none}}
