/* Fenwarde: drawing set. Radius scale: 0, everywhere. */
:root{
  --bg:#0F3A8A;
  --deep:#0B2C6B;
  --line:rgba(255,255,255,.28);
  --ink:#FFFFFF;
  --muted:#C9D6F0;
  --accent:#FFD60A;
  --on-accent:#0B2C6B;
  --sans:"Chivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"Chivo Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --gut:clamp(8px,1.4vw,24px);
  --pad:clamp(16px,2.8vw,44px);
  --zone:22px;
}

*,*::before,*::after{box-sizing:border-box;border-radius:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{
  margin:0;
  background:var(--bg) url(../images/sheet-grid.svg) 0 0/120px 120px;
  color:var(--ink);
  font:400 17px/1.55 var(--sans);
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
img,svg{display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;font-weight:400;vertical-align:top}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;left:8px;top:-60px;z-index:40;background:var(--accent);color:var(--on-accent);padding:10px 14px;font-weight:700}
.skip:focus{top:8px}

/* ----- type ----- */
h1{font-weight:900;font-size:clamp(2.6rem,5.4vw,6rem);line-height:.98;letter-spacing:-.025em;text-wrap:balance}
h2{font-weight:800;font-size:clamp(1.95rem,3.6vw,3.5rem);line-height:1.04;letter-spacing:-.02em;max-width:20ch;text-wrap:balance}
h3{font-weight:700;font-size:1.25rem;line-height:1.2}
h4{font-weight:700;font-size:1.15rem;line-height:1.25;margin-bottom:6px}
.h-m{font-size:clamp(1.3rem,1.9vw,1.7rem);font-weight:800;letter-spacing:-.01em;line-height:1.15;text-wrap:balance}
.lead{font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.5;color:var(--muted);max-width:60ch;text-wrap:pretty}
.eb,.k{font:500 12.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.eb{margin-bottom:12px}
.k{display:block}

/* ----- svg primitives ----- */
.ln{fill:none;stroke:var(--ink);stroke-width:1.5}
.ln.th{stroke:var(--muted);stroke-width:1}
.ln.ac{stroke:var(--accent)}
.pl{fill:var(--bg)}
.cl{fill:none;stroke:var(--muted);stroke-width:1;stroke-dasharray:16 4 3 4}
.hid{fill:none;stroke:var(--muted);stroke-width:1;stroke-dasharray:6 5}
.mk{fill:var(--muted)}
.mk-y{fill:var(--accent)}
.hl{stroke:var(--line);stroke-width:1.5}
.hl-y{stroke:var(--accent);stroke-width:1.25}
.tx{font:500 17px var(--mono);fill:var(--muted)}
.tx.sm{font-size:13px;letter-spacing:.04em}
.tx.lg{font-size:24px}
.tx.ac{fill:var(--accent)}

/* ----- animation states, set only by main.js ----- */
.anim .dr .tx,.anim .dr .fd{opacity:0}
.anim .dr.on .tx,.anim .dr.on .fd{opacity:1;transition:opacity .7s ease .55s}
.anim .dr.on .ln{transition:stroke-dashoffset 1.35s cubic-bezier(.45,.05,.2,1) var(--dl,0ms),stroke .2s ease}
.anim .rv{opacity:0;transform:translateY(10px)}
.anim .rv.in{opacity:1;transform:none;transition:opacity .55s ease,transform .55s ease}

/* ----- buttons, links ----- */
.bt{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:12px 24px;
  background:var(--accent);color:var(--on-accent);
  font:800 1rem/1.1 var(--sans);text-decoration:none;white-space:nowrap;
  border:0;cursor:pointer;
  transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease;
}
.bt:hover{background:var(--ink)}
.bt:active{transform:translate(1px,1px)}
.bt[disabled]{cursor:progress;background:var(--muted)}
.bt-o{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--muted)}
.bt-o:hover{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.bt-s{min-height:42px;padding:9px 18px;font-size:.94rem}
.go{
  display:inline-flex;align-items:center;gap:10px;min-height:32px;
  font:500 13px/1.3 var(--mono);letter-spacing:.03em;color:var(--ink);text-decoration:none;
  border-bottom:1px solid var(--muted);
  transition:color .15s ease,border-color .15s ease;
}
.go:hover{color:var(--accent);border-color:var(--accent)}
.ar{width:22px;height:10px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .18s ease}
.go:hover .ar{transform:translateX(4px)}

/* ----- header ----- */
.top{position:sticky;top:0;z-index:30;background:var(--deep);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:16px;min-height:62px;width:min(100% - 2*var(--gut),1600px);margin-inline:auto;padding-block:8px}
.wm{display:inline-flex;align-items:center;gap:10px;font-weight:900;font-size:1.15rem;letter-spacing:.01em;text-decoration:none;text-transform:uppercase;min-height:44px}
.idx{margin-left:auto}
.idx ul{display:flex;gap:2px}
.idx a{display:flex;gap:6px;align-items:center;padding:8px 9px;min-height:40px;font:500 13px/1.1 var(--mono);color:var(--muted);text-decoration:none;white-space:nowrap;box-shadow:inset 0 0 0 0 var(--accent);transition:color .15s ease,box-shadow .15s ease}
.idx a b{font-weight:400;opacity:.8}
.idx a:hover{color:var(--ink);box-shadow:inset 0 -2px 0 0 var(--muted)}
.idx a[aria-current]{color:var(--accent);box-shadow:inset 0 -2px 0 0 var(--accent)}
.idx-rq{display:none}
.burger{display:none;width:46px;height:46px;background:transparent;border:1px solid var(--muted);color:var(--ink);cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{display:block;width:20px;height:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ----- sheet ----- */
.plate{
  position:relative;
  width:min(100% - 2*var(--gut),1600px);
  margin:var(--gut) auto 0;
  padding-left:var(--zone);
  display:flow-root;
}
.frame{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}
.frame line{stroke:var(--ink);stroke-width:1.5}
.frame.now line{transition:stroke-dashoffset 1.5s cubic-bezier(.45,.05,.2,1)}
.zh{display:grid;grid-template-columns:repeat(8,1fr);height:var(--zone);border-bottom:1px solid var(--line);font:400 11px/var(--zone) var(--mono);color:var(--muted);text-align:center}
.zh span+span{border-left:1px solid var(--line)}
.zv{position:absolute;left:0;top:0;bottom:0;width:var(--zone);padding-top:var(--zone);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-around;align-items:center;font:400 11px/1 var(--mono);color:var(--muted)}
.pb{padding:clamp(24px,3.2vw,52px) var(--pad) clamp(28px,3.6vw,60px)}

.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2.4vw,40px)}
.s4{grid-column:span 4}
.s5{grid-column:span 5}
.s7{grid-column:span 7}
.s8{grid-column:span 8}
.head-row{align-items:end;margin-bottom:clamp(24px,3vw,44px)}
.head-row>.lead{padding-bottom:4px}

/* dimension line */
.hd{width:fit-content;max-width:100%}
.dm{position:relative;height:18px;margin-bottom:14px;min-width:min(100%,250px)}
.dm svg{overflow:visible}
.dm span{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  background:var(--bg);padding:0 8px;
  font:500 11.5px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;
}

/* title block */
.stamp{
  display:grid;grid-template-columns:auto auto minmax(0,1fr);
  width:min(100%,440px);margin-left:auto;
  background:var(--deep);border-top:1px solid var(--line);border-left:1px solid var(--line);
  font:400 11.5px/1.3 var(--mono);color:var(--muted);
}
.stamp p{padding:8px 11px;white-space:nowrap}
.st-a{grid-column:1/-1;display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}
.st-a b{font:800 14px/1.2 var(--sans);text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.st-a span{overflow:hidden;text-overflow:ellipsis}
.st-b{border-right:1px solid var(--line)}
.st-c{font-weight:500;color:var(--accent);text-align:right}

/* ----- sheet 01 ----- */
.ga-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(24px,3.6vw,64px);align-items:center}
.ga-copy .dm{min-width:0;width:100%}
.ga h1{margin-bottom:clamp(18px,2vw,28px)}
.ga .lead{margin-bottom:clamp(22px,2.4vw,34px)}
.acts{display:flex;flex-wrap:wrap;gap:12px}
.ga-fig svg{width:100%;height:auto;max-height:78vh;overflow:visible}
.ga-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;border-top:1px solid var(--line)}
.ga-foot .stamp{width:440px;border-top:0}
.spec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.35fr)}
.spec>div{padding:14px 16px 16px;border-right:1px solid var(--line);transition:background-color .15s ease}
.spec>div:first-child{padding-left:var(--pad)}
.spec>div:hover{background:var(--deep)}
.spec>div:last-child{border-right:0}
.spec dt{font:500 12px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.spec b{display:block;font-weight:900;font-size:clamp(1.35rem,2.1vw,2.05rem);line-height:1.05;letter-spacing:-.015em;white-space:nowrap}
.spec b small{font:400 13px var(--mono);letter-spacing:0}
.spec span{display:block;font:400 12.5px/1.35 var(--mono);color:var(--muted);margin-top:5px}
.spec-r b{font-size:clamp(1.15rem,1.55vw,1.55rem);padding-top:.2em}

/* ----- sheet 02 ----- */
.fm{display:grid;column-gap:clamp(20px,3vw,48px)}
.fm-a{grid-template-columns:minmax(0,4fr) minmax(0,8fr);margin-bottom:clamp(28px,3.4vw,52px)}
.fm-b{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:start}
.fm-side .lead{margin-top:16px}
.elev{display:flex;align-items:flex-start;min-width:0}
.unit{flex:var(--w) 1 0%;min-width:0}
.unit svg{width:100%;height:auto;overflow:visible}
.unit figcaption{padding:6px 14px 0 calc(60 / var(--w) * 100%)}
.unit h3{font-size:1.1rem;margin:2px 0 4px}
.unit p{font-size:.92rem;line-height:1.45;color:var(--muted)}
.unit .fr{transition:stroke .2s ease}
.unit:hover .fr{stroke:var(--accent)}
.tol{border:1px solid var(--line);background:var(--deep);padding:18px 20px 20px}
.tol h3{margin-bottom:12px}
.tol dl{margin-bottom:16px}
.tol dl div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.tol dt{font:500 12px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.tol dd{font-size:.95rem;line-height:1.4}

/* ----- sheet 03 ----- */
.ln-top{align-items:end;margin-bottom:clamp(24px,3vw,44px)}
.stn-w{position:relative;margin-bottom:clamp(28px,3.4vw,52px)}
.pipe{overflow:visible}
.pipe-v{display:none;position:absolute;left:0;top:0;overflow:visible}
.stns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:clamp(14px,2vw,32px);margin-top:-23px}
.stn{position:relative;padding-top:30px}
.stn::before{content:"";position:absolute;left:0;top:0;width:14px;height:14px;background:var(--bg);border:1.5px solid var(--ink)}
.stn-h::before{background:var(--accent);border-color:var(--accent)}
.stn h3{margin:6px 0 6px}
.stn>p:last-child{font-size:.97rem;line-height:1.45;color:var(--muted)}
.stn-h .k{color:var(--accent)}
.ln-bot{align-items:start}
.fin{padding-top:6px}
.fin p{margin-top:10px;color:var(--muted)}

.calc{background:var(--deep);border:1px solid var(--muted)}
.calc-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 20px;border-bottom:1px solid var(--line);font:500 12.5px/1.3 var(--mono);letter-spacing:.04em;color:var(--muted)}
.ind{padding:3px 8px;background:var(--accent);color:var(--on-accent);text-transform:uppercase;letter-spacing:.06em}
.calc-in{padding:16px 20px 14px;border-bottom:1px solid var(--line)}
.calc-in label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;font-weight:700;font-size:1rem}
.calc-in label span{font:400 12.5px/1.6 var(--mono);color:var(--muted)}
.rng{--f:.33333;position:relative;padding-top:34px;margin-top:4px}
.flag{
  position:absolute;top:6px;
  left:clamp(30px,calc(7px + (100% - 14px)*var(--f)),calc(100% - 30px));
  transform:translateX(-50%);
  padding:2px 7px;background:var(--accent);color:var(--on-accent);
  font:500 12px/1.3 var(--mono);white-space:nowrap;
}
.rng input{
  -webkit-appearance:none;appearance:none;display:block;width:100%;height:40px;margin:0;padding:0;
  background:transparent;cursor:ew-resize;position:relative;z-index:1;
}
.rng input::-webkit-slider-runnable-track{
  height:3px;
  background:linear-gradient(to right,var(--accent) calc(7px + (100% - 14px)*var(--f)),var(--line) calc(7px + (100% - 14px)*var(--f)));
}
.rng input::-moz-range-track{height:3px;background:var(--line)}
.rng input::-moz-range-progress{height:3px;background:var(--accent)}
.rng input::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:14px;height:32px;margin-top:-14.5px;
  background:var(--accent);border:0;
  clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%);
}
.rng input::-moz-range-thumb{
  width:14px;height:32px;background:var(--accent);border:0;
  clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%);
}
.rng input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.rule{position:relative;height:12px;margin:0 6px 0 7px}
.rule i{
  display:block;height:100%;
  background:
    linear-gradient(to right,var(--muted) 1px,transparent 1px) 0 0/calc((100% - 1px)/6) 12px repeat-x,
    linear-gradient(to right,var(--line) 1px,transparent 1px) 0 0/calc((100% - 1px)/12) 7px repeat-x;
}
.rule-n{display:flex;justify-content:space-between;padding:0 7px;font:400 12px/1.5 var(--mono);color:var(--muted)}
.rule-n span{width:0;display:flex;justify-content:center}
.calc-t{font:400 14px/1.45 var(--mono)}
.calc-t th,.calc-t td{padding:10px 20px;border-bottom:1px solid var(--line)}
.calc-t thead th{font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.calc-t td{color:var(--muted)}
.calc-t .c-v{text-align:right;color:var(--ink)}
.calc-t .c-r{width:58px}
.calc-t .c-s{white-space:nowrap}
.calc-t output{font-weight:500}
.c-tot td{vertical-align:middle;color:var(--ink)}
.calc-t .c-tot .c-v output{display:inline-block;font:900 clamp(1.5rem,3vw,2.7rem)/1.05 var(--sans);letter-spacing:-.015em;color:var(--accent);white-space:nowrap}
.calc-f{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;padding:14px 20px 18px}
.calc-f p{flex:1 1 280px;font-size:.92rem;line-height:1.45;color:var(--muted)}
.c-eq{display:block;margin-top:4px;font:400 12.5px/1.4 var(--mono)}

/* ----- sheet 04 ----- */
.asm-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border:1px solid var(--line);margin-bottom:clamp(28px,3.4vw,52px)}
.asm{padding:clamp(18px,2vw,30px)}
.asm h3{font-size:clamp(1.25rem,1.7vw,1.55rem);margin:8px 0 10px;font-weight:800}
.asm>p:not(.k):not(.big){color:var(--muted);max-width:58ch}
.asm-a{grid-column:span 7;border-right:1px solid var(--line)}
.asm-b{grid-column:span 5}
.asm-c{grid-column:1/-1;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(20px,3vw,48px)}
.asm-c p:not(.k){color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}
.chips li{padding:5px 10px;border:1px solid var(--muted);font:500 13px/1.3 var(--mono)}
.big{font-weight:900;font-size:clamp(3rem,6vw,5.5rem);line-height:.95;letter-spacing:-.03em;margin-bottom:6px}
.asm-b .go{margin-top:14px}
.ins div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.ins div:last-child{border-bottom:1px solid var(--line)}
.ins dt{font:500 14px/1.45 var(--mono);color:var(--ink)}
.ins dd{color:var(--muted);line-height:1.45}

.sig{background:var(--deep);border:1px solid var(--line);padding:clamp(18px,2vw,30px);margin-bottom:clamp(28px,3.4vw,52px)}
.sig .h-m{margin-bottom:20px}
.sg{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:32px;align-items:start}
.sg-n{position:relative;padding:12px 14px 14px;border:1px solid var(--muted)}
.sg-n:nth-child(2){margin-top:48px}
.sg-n:nth-child(3){margin-top:96px}
.sg-n:nth-child(4){margin-top:144px}
.sg-n:nth-child(5){margin-top:192px}
.sg-n .k{color:var(--ink);margin-bottom:4px}
.sg-n p{font-size:.95rem;line-height:1.4;color:var(--muted)}
.sg-e{border-color:var(--accent)}
.sg-e .k{color:var(--accent)}
.elb{position:absolute;left:100%;top:24px;overflow:visible}

.rev{margin-bottom:clamp(28px,3.4vw,52px)}
.rev .h-m{margin-bottom:18px}
.rev-w{position:relative;padding-left:44px}
.ret{position:absolute;left:0;top:0;overflow:visible}
.revs{border-top:1px solid var(--line)}
.rv-r{display:grid;grid-template-columns:104px minmax(0,6fr) minmax(0,4fr);column-gap:clamp(14px,2.2vw,36px);padding:18px 0;border-bottom:1px solid var(--line)}
.rv-t{font:400 12.5px/1.4 var(--mono);color:var(--muted)}
.rv-t b{display:block;font:500 15px/1.3 var(--mono);color:var(--ink);margin-bottom:2px}
.rv-r div p{color:var(--muted);max-width:60ch}
.tick li{position:relative;padding-left:20px;font-size:.95rem;line-height:1.4;margin-bottom:6px}
.tick li::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:1.5px;background:var(--accent)}
.tick li::after{content:"";position:absolute;left:4px;top:calc(.5em - 3px);width:1.5px;height:7.5px;background:var(--accent)}
.rev-note{margin-top:12px;font:400 12.5px/1.5 var(--mono);color:var(--muted)}

.bom-w{align-items:start}
.bom-w .s4 p{margin-top:10px;color:var(--muted)}
.bom{font-size:.97rem;line-height:1.4}
.bom th,.bom td{padding:11px 12px;border-bottom:1px solid var(--line)}
.bom thead th{font:500 12px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-top:1px solid var(--line)}
.bom tbody td:first-child{font:400 13px/1.55 var(--mono);color:var(--muted);width:56px}
.bom tbody th{font-weight:700;white-space:normal;width:32%}
.bom tbody td:last-child{color:var(--muted)}
.bom tbody tr{transition:background-color .15s ease}
.bom tbody tr:hover{background:var(--deep)}

/* ----- sheet 05 ----- */
.lcs{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border:1px solid var(--line)}
.lc{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 24px;padding:clamp(18px,2vw,28px);border-bottom:1px solid var(--line)}
.lc:nth-child(n+3){border-bottom:0}
.lc-w{grid-column:span 7}
.lc-n{grid-column:span 5}
.lc:nth-child(odd){border-right:1px solid var(--line)}
.lc-txt{flex:1 1 240px;min-width:0}
.lc-v{font-weight:900;font-size:clamp(2.1rem,3.8vw,3.6rem);line-height:1;letter-spacing:-.02em;margin:6px 0 12px}
.lc h3{margin-bottom:2px}
.lc-txt>p:not(.k):not(.lc-v){color:var(--muted);margin-bottom:12px}
.lc-d{flex:1 1 260px;min-width:0;width:100%;height:auto;overflow:visible}

/* ----- sheet 06 ----- */
.nt-l .lead{margin:16px 0 22px}
.nt-d{width:100%;max-width:440px;height:auto;overflow:visible}
.nts{border-top:1px solid var(--line)}
.nt{display:grid;grid-template-columns:90px minmax(0,1fr);column-gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
.nt .k{padding-top:4px;grid-row:span 2}
.nt h3{margin-bottom:6px;font-size:1.3rem;font-weight:800}
.nt p{color:var(--muted);max-width:58ch}
.nt:last-child .k{color:var(--accent)}

/* ----- sheet 07 ----- */
.wire{display:grid;grid-template-columns:minmax(0,1fr) clamp(90px,12vw,170px) minmax(200px,300px);align-items:stretch}
.chs{border-top:1px solid var(--line)}
.ch{display:grid;grid-template-columns:52px minmax(0,4fr) minmax(0,7fr);column-gap:14px;align-items:center;min-height:56px;padding:6px 0;border-bottom:1px solid var(--line);transition:background-color .15s ease}
.ch:hover{background:var(--deep)}
.ch b{font-weight:700;font-size:1.05rem}
.ch>span:last-child{font-size:.93rem;line-height:1.3;color:var(--muted)}
.wr{position:relative;min-width:0}
.wr svg{position:absolute;inset:0;width:100%;height:100%}
.mmp{align-self:center;border:1.5px solid var(--accent);background:var(--deep);padding:18px 20px}
.mmp .k{color:var(--accent)}
.mmp h3{font-size:1.5rem;font-weight:800;margin:6px 0 10px}
.mmp li{font:500 15px/1.3 var(--mono);padding:7px 0;border-top:1px solid var(--line)}

/* ----- sheet 08 ----- */
.qs{border-top:1px solid var(--line)}
.q .k{white-space:nowrap}
.q{border-bottom:1px solid var(--line)}
.q summary{display:grid;grid-template-columns:62px minmax(0,1fr) 18px;column-gap:14px;align-items:baseline;padding:15px 0;cursor:pointer;list-style:none;transition:color .15s ease}
.q summary::-webkit-details-marker{display:none}
.q-t{font-weight:700;font-size:1.1rem;line-height:1.3}
.q summary:hover .q-t{color:var(--accent)}
.q[open] .k{color:var(--accent)}
.q i{position:relative;display:block;width:14px;height:14px;align-self:center}
.q i::before,.q i::after{content:"";position:absolute;background:var(--ink)}
.q i::before{left:0;right:0;top:6px;height:2px}
.q i::after{top:0;bottom:0;left:6px;width:2px;transition:transform .18s ease}
.q[open] i::after{transform:scaleY(0)}
.q>p{padding:0 32px 18px 76px;color:var(--muted);max-width:74ch}

/* ----- sheet 09 ----- */
.rq-l .lead{margin:16px 0 18px}
.tick-l{margin-bottom:18px}
.tick-l li{font-size:1.02rem;font-weight:500}
.rq{position:relative;background:var(--deep);border:1px solid var(--muted)}
.rq-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 14px;padding:11px 20px;border-bottom:1px solid var(--line);font:500 12.5px/1.4 var(--mono);letter-spacing:.03em;color:var(--muted)}
.rq-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;padding:18px 20px 6px}
.fld-w{grid-column:1/-1}
.fld label{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font:500 12.5px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.fld em{font-style:normal;color:var(--accent);text-transform:none;letter-spacing:0}
.fld input,.fld textarea{
  display:block;width:100%;min-height:48px;padding:11px 12px;
  background:var(--bg);color:var(--ink);border:1px solid var(--muted);
  font:400 16px/1.4 var(--sans);transition:border-color .15s ease,box-shadow .15s ease;
}
.fld textarea{resize:vertical;min-height:130px}
.fld input:hover,.fld textarea:hover{border-color:var(--ink)}
.fld input:focus,.fld textarea:focus{outline:0;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.fld textarea.flagged{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.hp{position:absolute;left:-9999px}
.form-status{margin:0 20px;font-size:.97rem;line-height:1.4}
.form-status:not(:empty){margin-top:12px;padding:10px 14px;border-left:3px solid var(--accent);background:var(--bg)}
.rq-f{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:16px 20px 20px}
.rq-f p{flex:1 1 220px;font:400 12.5px/1.45 var(--mono);color:var(--muted)}
.ack{background:var(--deep);border:1.5px solid var(--accent);padding:clamp(22px,3vw,40px)}
.ack:focus{outline:0}
.ack-t{display:inline-block;padding:3px 8px;margin-bottom:16px;background:var(--accent);color:var(--on-accent);font:500 12.5px/1.3 var(--mono);letter-spacing:.05em;text-transform:uppercase}
.ack h3{font-size:clamp(1.6rem,2.8vw,2.5rem);font-weight:900;line-height:1.08;letter-spacing:-.015em;margin-bottom:10px;overflow-wrap:anywhere}
.ack p:last-child{color:var(--muted);max-width:50ch}

/* ----- footer ----- */
.ft{margin-top:var(--gut);background:var(--deep);border-top:1px solid var(--line)}
.ft-in{width:min(100% - 2*var(--gut),1600px);margin-inline:auto;padding:clamp(26px,3.4vw,52px) var(--pad) clamp(22px,2.6vw,36px)}
.ft-m{width:fit-content;max-width:100%;margin-bottom:clamp(22px,2.8vw,40px)}
.ft-w{font-weight:900;font-size:min(14vw,190px);line-height:.92;letter-spacing:-.025em;text-transform:uppercase;margin-bottom:12px}
.ft .dm{margin-bottom:0}
.ft .dm span{background:var(--deep)}
.ft-g{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px 40px}
.ft-n{flex:1 1 520px;min-width:0}
.ft-n ul{columns:3;column-gap:32px}
.ft-n li{break-inside:avoid}
.ft-n a{display:inline-flex;gap:8px;padding:5px 0;font-size:.97rem;text-decoration:none;transition:color .15s ease}
.ft-n a b{font:400 13px/1.7 var(--mono);color:var(--muted)}
.ft-n a:hover{color:var(--accent)}
.ft-note{font:400 12.5px/1.5 var(--mono);color:var(--muted);max-width:32ch}

/* ----- responsive ----- */
@media (max-width:1399px){
  .ga-foot{grid-template-columns:minmax(0,1fr)}
  .ga-foot .stamp{width:min(100%,440px)}
  .spec{border-bottom:1px solid var(--line)}
}
@media (max-width:1179px){
  .top-in{flex-wrap:wrap;column-gap:12px}
  .idx{order:5;width:100%;margin-left:0}
  .idx ul{flex-wrap:wrap}
  .idx-rq{display:block}
  .top-cta{margin-left:auto}
  .js .burger{display:inline-flex}
  .js .idx{display:none}
  .js .idx.open{display:block;max-height:calc(100vh - 80px);overflow:auto;border-top:1px solid var(--line);padding:6px 0}
  .js .idx.open ul{flex-direction:column;flex-wrap:nowrap}
  .js .idx.open a{min-height:46px;font-size:15px;padding:12px 4px}
}
@media (max-width:1079px){
  .fm-a,.fm-b{grid-template-columns:minmax(0,1fr)}
  .fm-side{margin-bottom:18px}
  .tol{margin-top:22px}
  .s4,.s5,.s7,.s8{grid-column:1/-1}
  .head-row>.lead,.ln-top>.lead{margin-top:16px}
  .fin{margin-bottom:22px}
  .bom-w .s4{margin-bottom:16px}
  .sg{grid-template-columns:minmax(0,1fr)}
  .sg-n,.sg-n:nth-child(n){margin-top:0}
  .sg-n+.sg-n{margin-top:26px}
  .sg-n+.sg-n::before{content:"";position:absolute;left:22px;top:-26px;width:1px;height:25px;background:var(--muted)}
  .sg-n+.sg-n::after{content:"";position:absolute;left:18px;top:-9px;width:9px;height:8px;background:var(--muted);clip-path:polygon(0 0,100% 0,50% 100%)}
  .elb{display:none}
  .qs,.nts{margin-top:24px}
  .rq-r{margin-top:24px}
  .wire{grid-template-columns:minmax(0,1fr)}
  .wr{display:none}
  .mmp{margin-top:-1px;align-self:stretch}
  .stns{grid-template-columns:minmax(0,1fr);margin-top:0;row-gap:20px;padding-left:32px}
  .stn{padding-top:0}
  .stn::before{left:-32px;top:3px}
  .pipe{display:none}
  .pipe-v{display:block}
}
@media (max-width:899px){
  :root{--zone:0px}
  .zv{display:none}
  .zh{height:20px;line-height:20px;grid-template-columns:repeat(4,1fr)}
  .zh span:nth-child(n+5){display:none}
  .ga-g{grid-template-columns:minmax(0,1fr)}
  .ga-fig{margin-top:24px}
  .ga-fig svg{max-height:none}
  .spec{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spec>div{padding:12px 16px 14px;border-bottom:1px solid var(--line)}
  .spec>div:nth-child(even){border-right:0}
  .spec-r{grid-column:1/-1;border-right:0;border-bottom:0}
  .asm-a,.asm-b,.asm-c{grid-column:1/-1}
  .asm-a{border-right:0;border-bottom:1px solid var(--line)}
  .asm-c{grid-template-columns:minmax(0,1fr);border-top:0;row-gap:16px}
  .lc-w,.lc-n{grid-column:1/-1}
  .lc,.lc:nth-child(odd),.lc:nth-child(n+3){border-right:0;border-bottom:1px solid var(--line)}
  .lc:last-child{border-bottom:0}
  .rv-r{grid-template-columns:minmax(0,1fr);row-gap:8px}
  .rev-w{padding-left:0}
  .ret{display:none}
  .ft-n ul{columns:2}
}
@media (max-width:719px){
  .elev{overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:6px}
  .unit{flex:0 0 calc(var(--w)*.76px);scroll-snap-align:start}
  .bom thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .bom,.bom tbody{display:block}
  .bom tbody{border-top:1px solid var(--line)}
  .bom tr{display:grid;grid-template-columns:40px minmax(0,1fr);padding:11px 0;border-bottom:1px solid var(--line)}
  .bom td,.bom tbody th{display:block;padding:0;border:0;width:auto}
  .bom tbody td:first-child{width:auto}
  .bom tbody td:last-child{grid-column:2;margin-top:3px}
  .calc-t .c-r,.calc-t .c-s{display:none}
  .calc-t th,.calc-t td{padding:9px 12px}
  .calc-h,.calc-in,.calc-f{padding-left:14px;padding-right:14px}
  .calc-f .bt{width:100%}
  .rq-g{grid-template-columns:minmax(0,1fr);padding:16px 14px 4px}
  .rq-h{padding:10px 14px}
  .form-status{margin-left:14px;margin-right:14px}
  .rq-f{padding:14px}
  .rq-f .bt{width:100%}
  .stamp{width:100%}
  .ga-foot .stamp{width:100%}
  .st-c{text-align:left}
  .q summary{grid-template-columns:minmax(0,1fr) 18px;row-gap:2px}
  .q .k{grid-column:1/-1}
  .q-t{font-size:1.05rem}
  .q>p{padding:0 0 16px}
  .ch{grid-template-columns:44px minmax(0,1fr);row-gap:1px;padding:9px 0}
  .ch>span:last-child{grid-column:2}
  .nt{grid-template-columns:minmax(0,1fr);row-gap:4px}
  .nt .k{grid-row:auto;padding-top:0}
  .acts .bt{width:100%}
  .top-cta{display:none}
  .burger{margin-left:auto}
  .stamp p{padding:7px 8px}
  .ft-n ul{columns:1}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
