.section-sub{
  margin:10px 0 0; font-family:'JetBrains Mono',monospace; font-size:11px;
  text-transform:uppercase; letter-spacing:.08em; color:var(--ink-55);
}
#showcase{ padding-bottom:0; background:var(--route); }
.showcase-band{
  overflow-x:auto; overscroll-behavior-x:contain;
  scrollbar-width:none;
}
.showcase-band::-webkit-scrollbar{ display:none; }
.showcase-stage{
  position:relative; width:100%;
  aspect-ratio:784.5 / 615.2;
  min-width:660px;
  background:transparent;
  --card-w:13.5%;
}
@media (max-width:900px){
  .showcase-stage{ --card-w:16%; }
  .showcase-band{
    padding:28px 0 0;
  }
}
.showcase-map-frame{ position:absolute; inset:0; overflow:hidden; }
.showcase-map{
  position:absolute; left:50%; top:50%; width:100%; height:100%;
  object-fit:cover; user-select:none; pointer-events:none;
  --map-zoom:3;
  --map-pan-x:-24.78%;
  --map-pan-y:-36.4%;
  transform:translate(calc(-50% + var(--map-pan-x)), calc(-50% + var(--map-pan-y)))
            scale(var(--map-zoom));
}
.showcase-cards{ position:absolute; inset:0; }
.sc-card{
  width:var(--card-w); aspect-ratio:3 / 4;
  container-type:inline-size;
  display:flex; flex-direction:column;
  padding:0; margin:0;
  background:#fff; border:0; border-radius:0;
  text-align:center;
}
.sc-pic{
  flex:0 1 auto; min-height:0;
  margin:4.667cqw 4.667cqw 0;
  aspect-ratio:1 / 1; overflow:hidden; background:#eee;
}
.sc-pic img{ width:100%; height:100%; object-fit:cover; }
.sc-strip{
  flex:1 1 auto; min-height:0; padding:2.67cqw 4.667cqw 4.667cqw;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  gap:1.33cqw; overflow:hidden;
  font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
}
.sc-title{
  width:100%; font-weight:700; font-size:8.23cqw; line-height:1.1; color:#333;
  overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
}
.sc-comment{
  width:100%; font-size:5.88cqw; line-height:1.15; color:#555;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.sc-bottom{
  width:100%; display:flex; align-items:flex-end; justify-content:space-between;
  gap:2cqw; overflow:hidden; flex-shrink:0;
}
.sc-bottom.is-single{ justify-content:center; }
.sc-date{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:6.59cqw; letter-spacing:.08em; color:#555;
  min-width:0; overflow:hidden; white-space:nowrap;
}
.sc-dots{ display:block; flex-shrink:0; }
.showcase-card{
  position:absolute; left:var(--x); top:var(--y);
  transform:translate(-50%,calc(-100% - 6px)) rotate(var(--rot,0deg));
  transform-origin:50% 100%;
  box-shadow:0 6px 18px rgba(26,28,32,.28);
  cursor:pointer;
  transition:transform var(--t-menu) var(--ease-out), box-shadow var(--t-menu) var(--ease-out);
}
.showcase-card::after{
  content:''; position:absolute; left:50%; top:100%;
  width:9px; height:9px; margin:2px 0 0 -4.5px; border-radius:50%;
  background:var(--route); box-shadow:0 1px 3px rgba(26,28,32,.45);
}
@media (hover: hover) and (pointer: fine){
  .showcase-card:hover{
    transform:translate(-50%,calc(-100% - 12px)) rotate(0deg) scale(1.06);
    box-shadow:0 14px 30px rgba(26,28,32,.32);
    z-index:3;
  }
}
.showcase-card:focus-visible{ outline:2px solid var(--route-ink); outline-offset:3px; z-index:3; }
.showcase-view{
  padding:0; border:0; background:none; overflow:visible;
  max-width:none; max-height:none;
}
.showcase-view::backdrop{ background:rgba(23,21,18,.72); }
.showcase-view-card{
  --card-w:min(420px, 78vw, 56vh);
  box-shadow:0 18px 60px rgba(0,0,0,.45);
}
.showcase-view-close{
  position:absolute; right:10px; top:10px; z-index:2;
  width:32px; height:32px; padding:0; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  background:var(--paper); border:1px solid var(--ink); color:var(--ink);
  font-size:14px; line-height:1;
  transition:background-color var(--t-tap) var(--ease-soft), color var(--t-tap) var(--ease-soft);
}
@media (hover: hover) and (pointer: fine){
  .showcase-view-close:hover{ background:var(--ink); color:var(--paper); }
}
.showcase-view-close:focus-visible{ outline:2px solid var(--route); outline-offset:2px; }
.was{ font-weight:600; color:var(--ink-55); text-decoration:line-through; }
.faq-head{ grid-column:1/5; }
.faq-head h2{ margin-bottom:0; }
.faq-list{ grid-column:6/-1; }
@media (max-width:900px){ .faq-head, .faq-list{ grid-column:1/-1; } .faq-list{ margin-top:0; } }
.faq-list details{ border-top:1px solid var(--grid); }
.faq-list details:last-of-type{ border-bottom:1px solid var(--grid); }
.faq-list summary{
  list-style:none; cursor:pointer; padding:18px 40px 18px 0; position:relative;
  font-weight:700; font-size:16px; line-height:1.4; color:var(--ink);
}
.faq-list summary::-webkit-details-marker{ display:none; }
.faq-list summary::before,
.faq-list summary::after{
  content:''; position:absolute; right:6px; top:calc(50% - 1px);
  width:15px; height:2px; background:var(--ink);
}
.faq-list summary::after{ transform:rotate(90deg); transition:transform var(--t-menu) var(--ease-out), opacity var(--t-menu) var(--ease-out); }
.faq-list details[open] summary::after{ transform:rotate(0deg); opacity:0; }
.faq-list summary:hover{ color:var(--route-ink); }
.faq-list summary:focus-visible{ outline:2px solid var(--ink); outline-offset:-2px; }
.faq-list details p{ margin:0 0 20px; font-size:15px; line-height:1.55; color:var(--ink-70); max-width:56ch; }
@media (prefers-reduced-motion: reduce){ .faq-list summary::after{ transition:none; } }
.order-headline{ grid-column:1/8; }
@media (min-width:901px){
  #order .dossier-bar{ grid-row:1; }
  #order h2.order-headline{ grid-row:2; }
  #order p.order-headline{ grid-row:3; }
}
.order-kit-label{ min-width:0; overflow-wrap:anywhere; }
#order h2.order-headline{ margin:28px 0 10px; }
.panel-red .accent{ color:var(--paper); }
#order h2.order-headline .dot-circle{ background:var(--paper); }
.order-side{ margin-top:0; }
.order-kit{
  border:1px solid var(--ink);
  display:flex; flex-direction:column;
  max-height:var(--kit-h,560px);
}
@media (max-width:900px){ .order-kit{ --kit-h:min(74vh,600px); } }
.order-kit-title{
  flex:none;
  font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; text-transform:uppercase;
  letter-spacing:.06em; padding:12px 16px; border-bottom:1px solid var(--ink);
  background:var(--paper); color:var(--ink);
}
.order-kit-list{
  flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain;
  scrollbar-width:thin; scrollbar-gutter:stable;
}
.order-kit-list.has-more{
  -webkit-mask-image:linear-gradient(180deg, #000 calc(100% - 34px), transparent 100%);
  mask-image:linear-gradient(180deg, #000 calc(100% - 34px), transparent 100%);
}
.order-kit-list::-webkit-scrollbar{ width:10px; }
.order-kit-list::-webkit-scrollbar-thumb{
  background:rgba(26,28,32,.32); border:3px solid var(--paper);
}
.order-kit-list::-webkit-scrollbar-track{ background:var(--paper); }
.order-kit-row{
  display:grid; grid-template-columns:18px 1fr auto; align-items:center;
  column-gap:12px; padding:12px 16px; border-bottom:1px solid rgba(23,21,18,.3);
}
.order-kit-row:last-child{ border-bottom:none; }
.order-kit-num{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:14px; }
.order-kit-label{ font-weight:700; font-size:13px; line-height:1.3; }
.order-kit-row > .kit-files, .order-kit-row > .kit-upload-error{ grid-column:2 / -1; }
.order-kit-sub{ display:block; font-size:11px; font-weight:400; color:rgba(26,28,32,.72); margin-top:2px; }
.order-kit-row.is-option{ border-top:1px solid var(--ink); }
.order-kit-row.is-option .order-kit-num{ opacity:.55; }
.order-kit-extras{ flex:none; }
@media (max-width:900px){
  .order-kit-extras .order-kit-row.is-option{ grid-template-columns:18px 1fr auto; }
  .order-kit-extras .order-kit-row.is-option > .kit-option-btn{
    grid-column:auto; margin-top:0; justify-self:end;
  }
  .order-kit-extras .order-kit-row .order-kit-sub{
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  }
}
.order-kit-extras .order-kit-row:first-child{ border-top:1px solid var(--ink); }
.order-kit-row.is-locked .order-kit-label{ color:var(--ink-55); }
.order-kit-row.is-locked .kit-option-btn{ opacity:.45; cursor:default; }
.order-kit-price{
  display:block; margin-top:4px;
  font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700;
  letter-spacing:.04em; color:var(--paper);
}
.order-kit-price s{ font-weight:400; color:rgba(237,234,227,.62); margin-left:2px; }
.order-kit-row.is-added{ position:relative; padding-right:40px; }
.order-kit-row.has-upload{ grid-template-columns:18px 1fr; }
.order-kit-row.has-upload > .kit-upload-btn{
  grid-column:2; justify-self:start; margin-top:10px;
}
.kit-option-drop{
  position:absolute; top:8px; right:10px;
  width:22px; height:22px; padding:0; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  background:none; border:1px solid rgba(23,21,18,.35); color:var(--ink);
  font-size:10px; line-height:1;
  transition:background-color .12s, color .12s, border-color .12s;
}
.kit-option-drop:hover{ background:var(--ink); border-color:var(--ink); color:var(--paper); }
.kit-option-btn{
  display:inline-flex; align-items:center; gap:7px; cursor:pointer; white-space:nowrap;
  background:var(--paper); border:1px solid var(--ink); color:var(--ink);
  padding:7px 12px; font-family:'JetBrains Mono',monospace;
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  transition:background-color var(--t-tap) var(--ease-soft), color var(--t-tap) var(--ease-soft);
}
.kit-option-btn::before{ content:'+'; font-weight:700; }
.kit-option-btn[aria-pressed="true"]{ background:var(--ink); color:var(--paper); }
.kit-option-btn[aria-pressed="true"]::before{ content:'✓'; }
@media (hover:hover) and (pointer:fine){
  .kit-option-btn:hover{ background:var(--ink); color:var(--paper); }
  .kit-option-btn[aria-pressed="true"]:hover{ background:var(--paper); color:var(--ink); }
}
.kit-option-btn:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
@media (max-width:420px){
  .order-kit-row.is-option{ grid-template-columns:18px 1fr; }
  .order-kit-row.is-option > .kit-option-btn{ grid-column:2; margin-top:10px; justify-self:start; }
}
.order-kit-plans{ flex:none; display:grid; grid-auto-flow:column; grid-auto-columns:1fr; border-bottom:1px solid var(--ink); }
.order-kit-plan{
  padding:10px 6px; background:none; border:none; border-right:1px solid rgba(23,21,18,.3);
  cursor:pointer; font:inherit; color:var(--ink); text-align:center; line-height:1.2;
  transition:background var(--t-menu) var(--ease-out), color var(--t-menu) var(--ease-out);
}
.order-kit-plan:last-child{ border-right:none; }
.order-kit-plan:hover{ background:rgba(26,28,32,.08); }
.order-kit-plan:focus-visible{ outline:2px solid var(--ink); outline-offset:-3px; }
.order-kit-plan[aria-checked="true"]{ background:var(--ink); color:var(--paper); }
.order-kit-plan-name{
  display:block; font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:.06em;
}
.order-kit-plan-price{ display:block; font-size:12px; font-weight:700; margin-top:3px; opacity:.72; }
.order-kit-total{
  flex:none;
  display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 12px;
  padding:14px 16px; border-top:1px solid var(--ink); color:var(--ink);
}
.order-kit-total-label{
  font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:.06em;
}
.order-kit-total-sum{ font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif; font-weight:800; font-size:24px; letter-spacing:-.02em; }
.order-kit-total-note{ flex-basis:100%; margin:0; font-size:11px; line-height:1.35; color:rgba(26,28,32,.72); }
@media (max-width:900px){
  .order-headline{ grid-column:1/-1; }
}
.slip{ margin-top:0; }
@media (max-width:900px){ .slip{ grid-column:1/-1; margin-top:8px; } }
.slip form{ display:grid; gap:22px; }
.field label{ display:block; font-family:'JetBrains Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink); margin-bottom:9px; }
.field select, .field input[type="text"]{
  width:100%; font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif; font-size:15px; color:var(--ink);
  background:var(--paper); border:1px solid var(--ink); padding:12px 12px;
}
.field select:focus-visible, .field input:focus-visible{ outline:2px solid var(--ink); outline-offset:1px; }
.field-error{ display:none; margin:9px 0 0; font-size:12px; font-weight:700; color:var(--ink); }
.field.has-error input{ border-color:var(--ink); border-width:2px; padding:11px; }
.field.has-error .field-error{ display:block; }
.field input::placeholder{ color:rgba(26,28,32,.55); opacity:1; }
.field input:focus::placeholder{ color:transparent; }
.field-label{
  display:block; font-family:'JetBrains Mono',monospace; font-size:11px;
  text-transform:uppercase; letter-spacing:.06em; color:var(--ink); margin-bottom:9px;
}
.chan-box{ position:relative; }
.chan-pick{
  display:inline-flex; align-items:center; gap:10px; cursor:pointer;
  background:var(--paper); border:1px solid var(--ink); color:var(--ink);
  padding:12px 16px; font-family:'JetBrains Mono',monospace; font-size:11px;
  font-weight:700; text-transform:uppercase; letter-spacing:.06em;
}
.chan-pick[hidden]{ display:none; }
.chan-pick svg{ width:11px; height:11px; flex:none; transition:transform var(--t-menu) var(--ease-out); }
.chan-pick[aria-expanded="true"] svg{ transform:rotate(180deg); }
@media (hover:hover) and (pointer:fine){ .chan-pick:hover{ background:var(--ink); color:var(--paper); } }
.chan-pick:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
.chan-row{ display:flex; }
.chan-row[hidden]{ display:none; }
.chan-row input[type="text"]{ flex:1; min-width:0; }
.chan-badge{
  display:flex; align-items:center; justify-content:center; flex:none;
  width:46px; padding:0; cursor:pointer;
  border:1px solid var(--ink); border-left:none;
  background:var(--ink); color:var(--paper);
}
.chan-badge svg{ width:20px; height:20px; }
.chan-badge:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
@media (hover:hover) and (pointer:fine){ .chan-badge:hover{ background:var(--route); color:var(--ink); } }
.chan-menu{
  position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:30;
  background:var(--paper); border:1px solid var(--ink);
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity var(--t-menu) var(--ease-out), transform var(--t-menu) var(--ease-out), visibility 0s linear var(--t-menu);
}
.chan-menu.open{
  opacity:1; visibility:visible; transform:translateY(0);
  transition:opacity var(--t-menu) var(--ease-out), transform var(--t-menu) var(--ease-out);
}
@media (prefers-reduced-motion: reduce){
  .chan-menu{ transition:opacity var(--t-tap) var(--ease-soft), visibility 0s linear var(--t-tap); transform:none; }
  .chan-menu.open{ transition:opacity var(--t-tap) var(--ease-soft); }
  .chan-pick svg{ transition:none; }
}
.chan-slider{
  display:flex; gap:8px; padding:10px; overflow-x:auto;
  scroll-snap-type:x proximity; overscroll-behavior-x:contain;
  scrollbar-width:thin; scrollbar-color:var(--ink) transparent;
}
.chan-slider::-webkit-scrollbar{ height:6px; }
.chan-slider::-webkit-scrollbar-thumb{ background:var(--ink); }
.chan-option{
  flex:none; width:96px; scroll-snap-align:center; cursor:pointer;
  display:grid; gap:8px; justify-items:center; padding:14px 6px;
  background:var(--paper); border:1px solid var(--ink); color:var(--ink);
  font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:700;
  text-transform:uppercase; letter-spacing:.04em; text-align:center;
}
.chan-option svg{ width:22px; height:22px; }
.chan-option[aria-checked="true"]{ background:var(--ink); color:var(--paper); }
@media (hover:hover) and (pointer:fine){
  .chan-option:not([aria-checked="true"]):hover{ background:rgba(23,21,18,.08); }
}
.chan-option:focus-visible{ outline:2px solid var(--route); outline-offset:-4px; }
.chan-simple{ display:flex; flex-wrap:wrap; gap:8px; }
.chan-simple .chan-option{ width:auto; min-width:76px; flex:0 0 auto; padding:10px 10px; gap:6px; }
.chan-simple .chan-option svg{ width:18px; height:18px; }
.field label.consent{
  display:flex; align-items:flex-start; gap:12px; cursor:pointer;
  margin-bottom:0; font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif; font-size:13px;
  text-transform:none; letter-spacing:0; color:var(--ink);
}
.consent input{ position:absolute; opacity:0; width:1px; height:1px; }
.consent-box{
  flex:none; width:24px; height:24px; margin-top:-1px;
  border:2px solid var(--ink); background:var(--paper); position:relative;
}
.consent-box::after{
  content:''; position:absolute; inset:4px; background:var(--ink);
  opacity:0; transition:opacity var(--t-press) var(--ease-soft);
}
.consent:hover .consent-box{ background:rgba(23,21,18,.07); }
.consent input:checked + .consent-box::after{ opacity:1; }
.consent input:focus-visible + .consent-box{ outline:2px solid var(--ink); outline-offset:3px; }
.consent-text{ font-size:13px; font-weight:700; line-height:1.45; color:var(--ink); }
.consent-link{
  display:inline; padding:0; border:none; background:none; cursor:pointer;
  font:inherit; color:var(--paper); font-weight:800;
  text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px;
}
.consent-link:hover, .consent-link:focus-visible{ color:var(--ink); }
.consent-field.has-error .consent-box{ border-color:var(--ink); border-width:3px; }
.consent-field.has-error .field-error{ display:block; }
@media (prefers-reduced-motion: reduce){ .consent-box::after{ transition:none; } }
.slip-note{
  margin:0; font-family:'JetBrains Mono',monospace; font-size:11px; line-height:1.55;
  letter-spacing:.02em; color:var(--ink); max-width:52ch;
}
.slip-submit{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:4px; }
.slip-success{ font-size:13px; font-weight:700; display:none; }
.slip-success.in{ display:block; }
.kit-map-btn{
  position:relative;
  width:54px; height:54px; padding:0; flex:none; cursor:pointer;
  background:var(--paper); border:1px solid var(--ink);
  display:block; overflow:hidden;
  transition:box-shadow .15s ease, transform .15s ease;
}
.kit-map-btn img{ width:100%; height:100%; object-fit:cover; display:block; }
.kit-map-tick{
  position:absolute; right:0; bottom:0;
  display:flex; align-items:center; justify-content:center;
  width:16px; height:16px;
  background:var(--ok,#2F7A4F); color:#fff; font-size:10px; line-height:1;
}
.kit-map-empty{
  flex:none; align-self:center; max-width:96px;
  font-family:'JetBrains Mono',monospace; font-size:10px; line-height:1.3;
  text-transform:uppercase; letter-spacing:.04em; text-align:right;
  color:rgba(26,28,32,.5);
}
@keyframes kit-map-land{
  0%{ background:rgba(47,122,79,0); }
  30%{ background:rgba(47,122,79,.22); }
  100%{ background:rgba(47,122,79,0); }
}
.order-kit-row.is-landed{ animation:kit-map-land 1.2s ease 1; }
@media (prefers-reduced-motion:reduce){ .order-kit-row.is-landed{ animation:none; } }
@media (hover:hover) and (pointer:fine){
  .kit-map-btn:hover{ box-shadow:0 0 0 2px var(--ink); }
}
.kit-map-btn:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
@media (max-width:420px){
  .order-kit-row > .kit-map-btn{ grid-column:2; margin-top:10px; justify-self:start; }
}
.map-shot-dialog{
  width:min(640px,92vw); max-height:88vh; padding:0; border:1px solid var(--ink);
  background:var(--paper); color:var(--ink);
}
.map-shot-dialog::backdrop{ background:rgba(23,21,18,.6); }
.map-shot-body{ padding:18px 22px 22px; display:flex; flex-direction:column; gap:12px; }
.map-shot-body img{ width:100%; height:auto; display:block; border:1px solid var(--ink); }
.map-shot-spec{
  margin:0; font-family:'JetBrains Mono',monospace; font-size:12px;
  line-height:1.5; color:var(--ink);
}
.map-shot-note{ margin:0; font-size:12px; color:rgba(26,28,32,.65); }
.map-shot-drop{
  align-self:flex-start; padding:0; background:none; border:0; cursor:pointer;
  font-family:'JetBrains Mono',monospace; font-size:11px;
  color:rgba(26,28,32,.6); text-decoration:underline; text-underline-offset:3px;
}
@media (hover:hover) and (pointer:fine){ .map-shot-drop:hover{ color:var(--route); } }
.map-shot-drop:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
.kit-upload-btn{
  display:inline-flex; align-items:center; gap:8px; cursor:pointer;
  background:var(--paper); border:1px solid var(--ink); color:var(--ink);
  padding:7px 12px; font-family:'JetBrains Mono',monospace;
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  white-space:nowrap;
}
.kit-upload-btn svg{ width:14px; height:14px; flex:none; }
@media (hover:hover) and (pointer:fine){ .kit-upload-btn:hover{ background:var(--ink); color:var(--paper); } }
.kit-upload-btn:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
.kit-files{ list-style:none; margin:10px 0 0; padding:0; display:grid; gap:6px; }
.kit-files:empty{ display:none; }
@media (max-width:420px){
  .order-kit-row{ grid-template-columns:18px 1fr; }
  .order-kit-row > .kit-upload-btn{ grid-column:2; margin-top:10px; justify-self:start; }
}
.kit-file{
  display:flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--ink);
}
.kit-file-name{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.kit-file-size{ color:rgba(26,28,32,.72); flex:none; margin-left:auto; }
.kit-file-extra{
  flex:none; font-weight:700; color:var(--route-ink);
  border:1px solid var(--route); padding:1px 5px; white-space:nowrap;
}
.kit-file-remove{
  flex:none; background:none; border:none; cursor:pointer;
  color:var(--ink); font-size:13px; line-height:1; padding:2px 4px;
}
.kit-file-remove:hover, .kit-file-remove:focus-visible{ color:var(--route-ink); }
.kit-upload-error{ display:none; margin:8px 0 0; font-size:11px; font-weight:700; color:var(--ink); }
.kit-upload-error.show{ display:block; }
.city-dialog{
  width:min(460px, calc(100vw - 32px)); padding:0;
  border:1px solid var(--ink); background:var(--paper); color:var(--ink);
}
.city-dialog::backdrop{ background:rgba(23,21,18,.55); }
.city-dialog-inner{ padding:26px; display:grid; gap:18px; }
.city-dialog h3{
  margin:0; font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif; font-weight:900;
  font-size:24px; letter-spacing:-.02em; line-height:1.05;
}
.city-dialog-lede{ margin:0; font-size:14px; line-height:1.5; color:var(--ink-70); }
.city-dialog-actions{ display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; }
.city-dialog-done{ display:none; margin:0; font-size:13px; font-weight:700; }
.city-dialog-done.in{ display:block; }
.privacy-dialog{
  width:min(720px, calc(100vw - 32px)); max-height:min(82vh, 900px); padding:0;
  border:1px solid var(--ink); background:var(--paper); color:var(--ink);
  overflow:hidden;
}
.privacy-dialog[open]{ display:flex; flex-direction:column; }
.privacy-dialog::backdrop{ background:rgba(23,21,18,.55); }
.privacy-head{
  flex:none; background:var(--paper);
  display:flex; align-items:flex-start; gap:16px;
  padding:24px 26px 14px; border-bottom:1px solid var(--ink);
}
.privacy-head h3{
  margin:0; flex:1; font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif; font-weight:900;
  font-size:clamp(20px,2.4vw,26px); letter-spacing:-.02em; line-height:1.08;
}
.privacy-close{
  flex:none; width:34px; height:34px; cursor:pointer;
  background:var(--paper); border:1px solid var(--ink); color:var(--ink);
  font-size:15px; line-height:1;
}
@media (hover:hover) and (pointer:fine){ .privacy-close:hover{ background:var(--ink); color:var(--paper); } }
.privacy-body{ flex:1; min-height:0; padding:20px 26px 26px; overflow-y:auto; overscroll-behavior:contain; }
.privacy-body h4{
  margin:26px 0 8px; font-family:'JetBrains Mono',monospace; font-size:11px;
  font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--route-ink);
}
.privacy-body h4:first-of-type{ margin-top:0; }
.privacy-body p, .privacy-body li{ margin:0 0 10px; font-size:14px; line-height:1.55; color:var(--ink-70); }
.privacy-body ul{ margin:0 0 10px; padding-left:18px; }
.privacy-body a{ color:var(--route-ink); font-weight:700; }
.privacy-date{
  font-family:'JetBrains Mono',monospace; font-size:11px; text-transform:uppercase;
  letter-spacing:.06em; color:var(--ink-55);
}
.hp-field{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); pointer-events:none; }
footer{ border-top:4px solid var(--route); padding:36px 0 24px; }
.foot-logo{ grid-column:1/4; align-self:center; margin:0; }
.foot-contacts{
  grid-column:5/10; align-self:center;
  display:grid; grid-template-columns:repeat(2,1fr); gap:12px 24px;
  font-size:14px; line-height:1.55; color:var(--ink-70);
}
.foot-contacts a{ font-weight:700; color:var(--ink); text-underline-offset:3px; }
.foot-contacts a:hover{ color:var(--route-ink); }
.foot-contacts button{
  display:inline; padding:0; border:none; background:none; cursor:pointer;
  font:inherit; font-weight:700; color:var(--ink);
  text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px;
}
.foot-contacts button:hover, .foot-contacts button:focus-visible{ color:var(--route-ink); }
.foot-contacts dt{
  margin:0 0 3px; font-family:'JetBrains Mono',monospace; font-size:11px;
  letter-spacing:.06em; text-transform:uppercase; color:var(--ink-55);
}
.foot-contacts dd{ margin:0; }
@media (max-width:560px){ .foot-contacts{ grid-template-columns:1fr; gap:16px; } }
.foot-social{
  grid-column:10/-1; display:flex; gap:10px;
  justify-content:flex-end; align-items:center; align-self:center;
}
.foot-social a{
  display:flex; align-items:center; justify-content:center;
  width:42px; height:42px; flex:none;
  border:1px solid var(--ink); color:var(--ink); text-decoration:none;
  transition:background-color var(--t-tap) var(--ease-soft), color var(--t-tap) var(--ease-soft);
}
.foot-social a svg{ width:22px; height:22px; }
.foot-social a:hover, .foot-social a:focus-visible{ background:var(--route); color:var(--paper); border-color:var(--route); }
.foot-bottom{ grid-column:1/-1; margin-top:28px; padding-top:16px; border-top:1px solid var(--grid); font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--ink-55); }
.foot-bottom a{ color:inherit; text-decoration:underline; text-underline-offset:2px; }
.foot-bottom a:hover{ color:var(--ink); }
@media (max-width:900px){
  .foot-logo, .foot-contacts, .foot-social{ grid-column:1/-1; }
  .foot-contacts{ margin-top:20px; }
  .foot-social{ justify-content:flex-start; margin-top:20px; }
}
.btn, .btn-ghost, .menu-toggle, .foot-social a, ul.menu a, .mobile-menu a{
  touch-action:manipulation;
}
@media (prefers-reduced-motion: no-preference){
  .btn, .btn-ghost, .menu-toggle, .foot-social a{
    transition:transform var(--t-press) var(--ease-out), background-color var(--t-tap) var(--ease-soft), color var(--t-tap) var(--ease-soft);
  }
  .btn:active, .btn-ghost:active, .menu-toggle:active, .foot-social a:active{ transform:scale(.97); }
}
.order-steps{
  grid-column:1/-1; margin:26px 0 0; padding:0; list-style:none;
  display:grid; gap:0;
}
.order-step{ border-top:1px solid rgba(23,21,18,.3); padding:22px 0 26px; }
.order-step:last-child{ border-bottom:1px solid rgba(23,21,18,.3); }
.order-step-head{ display:grid; grid-template-columns:2.6em 1fr auto; align-items:baseline; gap:12px; }
.order-step-num{
  font-family:'JetBrains Mono',monospace; font-weight:700; font-size:14px;
  letter-spacing:.06em; color:var(--ink);
}
.order-step-title{
  margin:0; font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
  font-weight:900; font-size:clamp(20px,2vw,26px); letter-spacing:-.02em; color:var(--ink);
}
.order-step-state{
  font-family:'JetBrains Mono',monospace; font-size:11px; text-transform:uppercase;
  letter-spacing:.06em; color:rgba(23,21,18,.62); white-space:nowrap;
}
.order-step.is-done .order-step-state{ color:var(--ink); font-weight:700; }
.order-step.is-skipped .order-step-note,
.order-step.is-skipped .order-step-row{ opacity:.45; }
.order-step.is-skipped .order-step-row{ pointer-events:none; }
.order-step-body{ margin-left:calc(2.6em + 12px); margin-top:10px; }
@media (max-width:560px){ .order-step-body{ margin-left:0; } }
.order-step-note{ margin:0 0 16px; font-size:15px; line-height:1.45; color:var(--ink); max-width:52ch; }
.order-step-row{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.order-shot{
  border:1px solid var(--ink); background:var(--paper); padding:0; cursor:pointer;
  width:92px; height:66px; overflow:hidden; flex:none;
}
.order-shot img{ width:100%; height:100%; object-fit:cover; display:block; }
.order-spec{
  margin:0; font-family:'JetBrains Mono',monospace; font-size:11px; line-height:1.5;
  letter-spacing:.04em; color:var(--ink); max-width:40ch;
}
.order-step-files{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--ink); }
.order-skip{ display:flex; align-items:flex-start; gap:9px; margin-top:18px; cursor:pointer; }
.order-skip input{ margin:2px 0 0; accent-color:var(--ink); }
.order-skip span{ font-size:12px; line-height:1.4; color:rgba(23,21,18,.72); max-width:46ch; }
.order-note{ margin-top:10px; max-width:52ch; }
.order-note summary{
  display:inline-block; cursor:pointer; font-size:12px; line-height:1.4;
  color:rgba(23,21,18,.72); border-bottom:1px dashed currentColor;
}
.order-note summary::-webkit-details-marker{ display:none; }
.order-note summary::marker{ content:''; }
.order-note summary:hover{ color:var(--ink); }
.order-note summary:focus-visible{ outline:2px solid currentColor; outline-offset:3px; }
.order-note p{ margin:10px 0 0; font-size:12px; line-height:1.5; color:rgba(23,21,18,.72); }
.order-note b{ font-weight:700; color:inherit; }
.order-step.is-scene .order-note summary,
.order-step.is-scene .order-note p{ color:rgba(237,234,227,.72); }
.order-step.is-scene .order-note summary:hover{ color:var(--paper); }
.order-step.is-scene.is-light .order-note summary,
.order-step.is-scene.is-light .order-note p{ color:rgba(23,21,18,.72); }
.order-step.is-scene.is-light .order-note summary:hover{ color:var(--ink); }
.order-step .cfg-controls{ grid-column:auto; grid-row:auto; }
.order-step-body > .cfg-controls{ display:flex; flex-direction:column; gap:24px; }
.order-step.is-asking{ animation:orderStepAsk 1.2s var(--ease-out) 2; }
@keyframes orderStepAsk{
  0%,100%{ box-shadow:inset 0 0 0 0 rgba(23,21,18,0); }
  40%{ box-shadow:inset 0 0 0 2px var(--ink); }
}
@media (prefers-reduced-motion: reduce){
  .order-step.is-asking{ animation:none; box-shadow:inset 0 0 0 2px var(--ink); }
}
.order-final-kit{ display:flex; flex-direction:column; align-self:start; }
.order-final-kit .order-side{ margin-top:0; }
.order-final-kit .order-kit{ margin-bottom:0; }
@media (max-width: 900px){ .order-final-kit{ margin-top:28px; } }
@media (min-width: 901px) {
  .order-final{
    display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr);
    gap:32px; align-items:start;
  }
  .order-final-kit{ order:2; position:sticky; top:calc(var(--header-h, 60px) + 18px); }
  .order-final > .slip{ order:1; }
  .order-final .slip form{ margin-top:0 !important; }
}
.order-step.is-scene{
  position:relative; isolation:isolate; overflow:hidden;
  padding:26px 26px 28px; margin-bottom:14px; border-top:0;
  color:var(--paper);
  background-color:var(--ink);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
}
.order-step.is-scene::before{
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(180deg,
    rgba(26,28,32,.92) 0%, rgba(26,28,32,.86) 46%,
    rgba(26,28,32,.5) 74%, rgba(26,28,32,.12) 100%);
}
.order-step.is-scene.is-light::before{
  background:linear-gradient(180deg,
    rgba(237,234,227,.9) 0%, rgba(237,234,227,.84) 46%,
    rgba(237,234,227,.5) 74%, rgba(237,234,227,.14) 100%);
}
@media (min-width:901px){
  .order-step.is-scene::before{
    background:linear-gradient(90deg,
      rgba(26,28,32,.92) 0%, rgba(26,28,32,.88) 38%,
      rgba(26,28,32,.45) 66%, rgba(26,28,32,.08) 100%);
  }
  .order-step.is-scene.is-light::before{
    background:linear-gradient(90deg,
      rgba(237,234,227,.9) 0%, rgba(237,234,227,.86) 38%,
      rgba(237,234,227,.45) 66%, rgba(237,234,227,.1) 100%);
  }
}
#order.is-near #orderStep1.is-scene{ background-image:url('step-map.jpg'); }
#order.is-near #orderStep1.is-scene{
  background-image:image-set(url('step-map.webp') type('image/webp'),
                             url('step-map.jpg') type('image/jpeg'));
}
#order.is-near #orderStep2.is-scene{ background-image:url('step-cards.jpg'); }
#order.is-near #orderStep2.is-scene{
  background-image:image-set(url('step-cards.webp') type('image/webp'),
                             url('step-cards.jpg') type('image/jpeg'));
}
.order-step.is-scene.is-light{ background-color:var(--paper); color:var(--ink); }
.order-step.is-scene.is-light::after{
  background:linear-gradient(90deg, rgba(237,234,227,.9) 0%, rgba(237,234,227,.72) 55%, rgba(237,234,227,.5) 100%);
}
.order-step.is-scene.is-light .order-step-num,
.order-step.is-scene.is-light .order-step-title,
.order-step.is-scene.is-light .order-step-note,
.order-step.is-scene.is-light .order-spec{ color:var(--ink); }
.order-step.is-scene.is-light .order-step-state{ color:rgba(23,21,18,.62); }
.order-step.is-scene.is-light.is-done .order-step-state{ color:var(--ink); }
.order-step.is-scene.is-light .order-skip span{ color:rgba(23,21,18,.72); }
.order-step.is-scene.is-light .order-skip input{ accent-color:var(--ink); }
.order-step.is-scene.is-light .order-shot{ border-color:rgba(23,21,18,.35); }
.order-step.is-scene.is-light .order-edit{ color:var(--ink); border-bottom-color:rgba(23,21,18,.4); }
.order-step.is-scene.is-light .order-edit:hover{ border-bottom-color:var(--ink); }
.order-step.is-scene.is-light.is-asking{ box-shadow:inset 0 0 0 2px var(--ink); }
.order-step.is-scene::after{
  content:''; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg, rgba(26,28,32,.86) 0%, rgba(26,28,32,.66) 55%, rgba(26,28,32,.5) 100%);
}
.order-step.is-scene + .order-step{ border-top:0; }
.order-step.is-scene .order-step-num,
.order-step.is-scene .order-step-title,
.order-step.is-scene .order-step-note,
.order-step.is-scene .order-spec{ color:var(--paper); }
.order-step.is-scene .order-step-state{ color:rgba(237,234,227,.7); }
.order-step.is-scene.is-done .order-step-state{ color:var(--paper); }
.order-step.is-scene .order-skip span{ color:rgba(237,234,227,.72); }
.order-step.is-scene .order-skip input{ accent-color:var(--paper); }
.order-step.is-scene.is-asking{ box-shadow:inset 0 0 0 2px var(--paper); }
.btn.on-scene{ background:var(--route); color:var(--paper); }
.btn.on-scene:hover, .btn.on-scene:focus-visible{ background:var(--paper); color:var(--ink); }
.order-done{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.order-done[hidden]{ display:none; }
.order-shot{
  position:relative; display:block; padding:0; cursor:pointer;
  width:120px; height:88px; overflow:hidden; flex:none;
  border:1px solid rgba(237,234,227,.5); background:var(--paper);
}
.order-shot.is-static{ cursor:default; }
.order-shot img{ width:100%; height:100%; object-fit:cover; display:block; }
.order-check{
  position:absolute; right:0; bottom:0; width:26px; height:26px;
  display:grid; place-items:center; background:var(--ok); color:var(--paper);
  font-size:15px; font-weight:700; line-height:1;
}
.order-edit{
  font-family:'JetBrains Mono',monospace; font-size:11px; text-transform:uppercase;
  letter-spacing:.06em; color:var(--paper); border-bottom:1px solid rgba(237,234,227,.5);
  padding-bottom:1px; text-decoration:none;
}
.order-edit:hover{ border-bottom-color:var(--paper); }
@media (max-width:560px){
  .order-step.is-scene{ padding:20px 18px 22px; }
  .order-shot{ width:104px; height:76px; }
}
@media (max-width:560px){
  .order-step-head{ grid-template-columns:2.6em 1fr; }
  .order-step-state{ grid-column:2; justify-self:start; margin-top:4px; }
}
#order{ position:relative; isolation:isolate; }
#order::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:top center/max(100%, 660px) auto no-repeat;
  -webkit-mask-image:linear-gradient(180deg,
    #000 0, #000 min(26%, 34vw), transparent min(100%, 140vw));
  mask-image:linear-gradient(180deg,
    #000 0, #000 min(26%, 34vw), transparent min(100%, 140vw));
}
#order.is-near::before{
  background-image:url('order-contours.jpg');
  background-image:image-set(url('order-contours.webp') type('image/webp'),
                             url('order-contours.jpg') type('image/jpeg'));
}
@media (min-width: 901px) {
  .order-final{
    grid-template-columns:minmax(0,460px) minmax(0,400px);
    justify-content:center; gap:44px;
  }
}
