/* ============================================================
   ISENGARD - Propulsion catalog page (turbines.css)
   Order-page format: series cards, spec drawers, RFQ basket.
   Isengard palette only: onyx / bone / forge gold / navy.
   ============================================================ */

/* ---- page head: label + oversized title + inline inquiry ---- */
.cat-head{padding:clamp(120px,17vh,190px) var(--edge) clamp(40px,6vh,64px);border-bottom:1px solid var(--hair)}
.cat-head .kicker{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.cat-head .kicker b{color:var(--accent);font-weight:400}
.cat-h1{font-size:clamp(3.2rem,11vw,8rem);line-height:.92;letter-spacing:-.03em;font-weight:700;color:#0c0c0f;margin:0}
.cat-sub{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-top:20px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.cat-sub span{color:#0c0c0f}
.cat-sub em{font-style:normal;color:var(--hair-strong,#c9c9d1)}

/* ---- co-development band ---- */
.codev{border-bottom:1px solid var(--hair);padding:clamp(48px,7vh,84px) var(--edge)}
.codev-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,80px);align-items:start}
.codev h2{font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.06;letter-spacing:-.02em;color:#0c0c0f;margin:0 0 16px}
.codev p{color:var(--ink-soft);line-height:1.55;max-width:44ch;font-size:.95rem}
.codev-form{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--hair)}
.cf-field{border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:16px 18px;min-width:0}
.cf-field:nth-child(2){border-right:none}
.cf-field.full{grid-column:1/-1;border-right:none}
.cf-field label{display:block;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.cf-field input,.cf-field select,.cf-field textarea{width:100%;border:none;background:none;font:inherit;font-size:.92rem;color:#0c0c0f;padding:0;outline:none}
.cf-field textarea{resize:vertical;min-height:64px;line-height:1.5}
.cf-field input::placeholder,.cf-field textarea::placeholder{color:#b4b4bd}
.cf-field:focus-within{background:#fafafb}
.cf-field:focus-within label{color:var(--accent)}
.codev-submit{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;flex-wrap:wrap}
.cf-note{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.cf-note.on{color:#1d7a3f}
.cf-go{display:inline-flex;align-items:center;gap:10px;background:var(--onyx);color:#fff;border:1px solid var(--onyx);padding:12px 20px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background .18s cubic-bezier(.23,1,.32,1),transform .12s cubic-bezier(.23,1,.32,1)}
@media (hover:hover) and (pointer:fine){.cf-go:hover{background:#1c1c22}}
.cf-go:active{transform:translateY(.5px)}
.cf-go:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ---- series cards ---- */
.series{border-bottom:1px solid var(--hair);padding:clamp(40px,6vh,72px) var(--edge)}
.series-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--hair);margin-bottom:clamp(28px,4vh,44px)}
.series-bar .sb-id{color:#0c0c0f}
.series-bar .sb-id i{font-style:normal;color:var(--accent)}
.sb-state{display:inline-flex;align-items:center;gap:8px}
.sb-dot{width:7px;height:7px;background:#3f9d5f;box-shadow:0 0 8px rgba(63,157,95,.5)}
.sb-dot.amber{background:var(--accent);box-shadow:0 0 8px rgba(var(--accent-rgb),.5)}

.series-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.eng-media{background:#f4f4f6;border:1px solid var(--hair);aspect-ratio:4/3;display:grid;place-items:center;padding:clamp(20px,4vw,48px);position:relative;overflow:hidden}
.eng-media img{width:100%;height:auto;object-fit:contain}
.eng-media::before,.eng-media::after{content:"";position:absolute;width:22px;height:22px;border-color:var(--accent);border-style:solid;opacity:.6}
.eng-media::before{top:12px;left:12px;border-width:1.5px 0 0 1.5px}
.eng-media::after{bottom:12px;right:12px;border-width:0 1.5px 1.5px 0}
.eng-cap{position:absolute;bottom:12px;left:14px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

.eng-label{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.eng-code{font-size:clamp(2.6rem,6vw,4.2rem);line-height:.95;letter-spacing:-.03em;font-weight:700;color:#0c0c0f;margin:0}
.eng-headline{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:14px;padding-bottom:20px;border-bottom:1px solid var(--hair)}
.eng-headline .thrust{font-size:1.5rem;font-weight:600;color:#0c0c0f;font-variant-numeric:tabular-nums}
.eng-headline .thrust .unit{font-size:.62em;color:var(--ink-soft);margin-left:3px}
.eng-headline .per{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.eng-tag{margin-left:auto;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}

.eng-rows{margin:0}
.eng-row{display:flex;align-items:baseline;gap:12px;padding:13px 0;border-bottom:1px solid var(--hair);font-size:.88rem}
.eng-row .rk{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);flex:0 0 auto}
.eng-row .lead{flex:1 1 auto;border-bottom:1px dotted var(--hair);transform:translateY(-3px);min-width:16px}
.eng-row .rv{font-weight:600;color:#0c0c0f;text-align:right;font-variant-numeric:tabular-nums}
.eng-row .rv.soft{font-weight:400;color:var(--ink-soft)}
.eng-row a.rv{color:var(--jetstream);border-bottom:1.5px solid transparent;cursor:pointer;transition:border-color .18s cubic-bezier(.23,1,.32,1)}
@media (hover:hover) and (pointer:fine){.eng-row a.rv:hover{border-bottom-color:var(--jetstream)}}
.eng-row button.rv{background:none;border:none;font:inherit;font-weight:600;color:var(--jetstream);cursor:pointer;padding:0;border-bottom:1.5px solid transparent;transition:border-color .18s cubic-bezier(.23,1,.32,1)}
@media (hover:hover) and (pointer:fine){.eng-row button.rv:hover{border-bottom-color:var(--jetstream)}}
.eng-row button.rv:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* qty stepper + add to RFQ */
.eng-act{display:flex;align-items:stretch;gap:14px;margin-top:26px;flex-wrap:wrap}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--hair)}
.stepper button{width:44px;height:44px;background:none;border:none;font-size:1.1rem;color:#0c0c0f;cursor:pointer;transition:background .15s cubic-bezier(.23,1,.32,1)}
@media (hover:hover) and (pointer:fine){.stepper button:hover{background:#f2f2f4}}
.stepper button:active{transform:translateY(.5px)}
.stepper button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.stepper .qty{min-width:52px;text-align:center;font-variant-numeric:tabular-nums;font-weight:600;border-left:1px solid var(--hair);border-right:1px solid var(--hair);line-height:44px}
.add-rfq{flex:1 1 200px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:none;border:1px solid var(--onyx);color:#0c0c0f;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background .18s cubic-bezier(.23,1,.32,1),color .18s cubic-bezier(.23,1,.32,1),transform .12s cubic-bezier(.23,1,.32,1)}
@media (hover:hover) and (pointer:fine){.add-rfq:hover{background:var(--onyx);color:#fff}}
.add-rfq:active{transform:translateY(.5px)}
.add-rfq:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ---- spec drawer ---- */
.drawer{position:fixed;inset:0;z-index:120;background:rgba(12,12,15,.55);opacity:0;pointer-events:none;transition:opacity .22s cubic-bezier(.23,1,.32,1)}
.drawer.open{opacity:1;pointer-events:auto}
.drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(680px,100%);background:#fff;overflow-y:auto;transform:translateX(16px);opacity:.98;transition:transform .26s cubic-bezier(.23,1,.32,1)}
.drawer.open .drawer-panel{transform:translateX(0)}
.drawer-head{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--hair);padding:20px clamp(20px,4vw,40px);display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:2}
.drawer-head .dh-l{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.drawer-x{background:none;border:none;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer;padding:6px 0}
@media (hover:hover) and (pointer:fine){.drawer-x:hover{color:#0c0c0f}}
.drawer-x:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.drawer-body{padding:clamp(24px,4vw,40px)}
.drawer-body .dcode{font-size:clamp(2rem,5vw,3rem);line-height:1;letter-spacing:-.03em;font-weight:700;color:#0c0c0f;margin:0 0 8px}
.drawer-body .dsku{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 28px}
.drawer-body .dsku b{color:#0c0c0f;font-weight:400}
.spec-group{margin-bottom:34px}
.spec-group h3{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:400;margin:0 0 4px;padding-bottom:10px;border-bottom:1px solid var(--hair)}
.spec-line{display:grid;grid-template-columns:1fr auto 58px;gap:14px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--hair);font-size:.86rem}
.spec-line .sl-k{color:var(--ink-soft)}
.spec-line .sl-k small{display:block;font-size:.72em;color:var(--muted);margin-top:2px}
.spec-line .sl-v{font-weight:600;color:#0c0c0f;font-variant-numeric:tabular-nums;text-align:right}
.spec-line .sl-u{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;letter-spacing:.1em;color:var(--muted);text-align:left}
.spec-line .sl-v.restricted{color:var(--muted);font-weight:400;letter-spacing:.1em}
.drawer-foot{border-top:1px solid var(--hair);padding-top:20px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);line-height:1.9}
.drawer-foot a{display:inline-block;margin-top:12px;color:var(--jetstream);border-bottom:1.5px solid var(--jetstream)}

/* ---- RFQ basket ---- */
.rfq{position:fixed;right:clamp(16px,3vw,32px);bottom:clamp(16px,3vw,28px);z-index:110;width:min(330px,calc(100vw - 32px));background:var(--onyx);color:#fff;transform:translateY(12px);opacity:0;pointer-events:none;transition:transform .24s cubic-bezier(.23,1,.32,1),opacity .24s cubic-bezier(.23,1,.32,1)}
.rfq.show{transform:translateY(0);opacity:1;pointer-events:auto}
.rfq-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.14);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase}
.rfq-head .rc{color:var(--accent)}
.rfq-x{background:none;border:none;color:rgba(255,255,255,.5);font-size:1rem;cursor:pointer;line-height:1;padding:2px 4px}
@media (hover:hover) and (pointer:fine){.rfq-x:hover{color:#fff}}
.rfq-lines{padding:6px 18px 12px}
.rfq-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:.84rem}
.rfq-line:last-child{border-bottom:none}
.rfq-line.hidden{display:none}
.rfq-line .rl-n{color:rgba(255,255,255,.9)}
.rfq-line .rl-n small{display:block;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;letter-spacing:.14em;color:rgba(255,255,255,.42);margin-top:3px}
.rfq-line .rl-q{font-variant-numeric:tabular-nums;font-weight:600;color:var(--accent)}
.rfq-foot{padding:0 18px 18px}
.rfq-note{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.42);line-height:1.8;margin-bottom:14px}
.rfq-go{display:block;width:100%;text-align:center;background:var(--accent);color:#0c0c0f;padding:13px 16px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;transition:background .18s cubic-bezier(.23,1,.32,1)}
@media (hover:hover) and (pointer:fine){.rfq-go:hover{background:#ff7d3f}}

/* ---- responsive ---- */
.no-demo .monument{display:none}
.no-brackets .eng-media::before,.no-brackets .eng-media::after{display:none}

@media(max-width:1000px){
  .codev-grid,.series-grid{grid-template-columns:1fr}
  .eng-media{aspect-ratio:16/10}
}
@media(max-width:620px){
  .codev-form{grid-template-columns:1fr}
  .cf-field{border-right:none}
  .spec-line{grid-template-columns:1fr auto 46px;gap:10px}
  .rfq{left:16px;right:16px;width:auto}
}
@media (prefers-reduced-motion:reduce){
  .drawer,.drawer-panel,.rfq{transition:opacity .01ms}
  .drawer-panel,.rfq{transform:none}
}
