﻿:root{
  --process-bg:#fff;
  --process-white:#fff;
  --process-surface:#fafafa;
  --process-surface-strong:#f5f5f5;
  --process-ink:#222;
  --process-ink-soft:#333;
  --process-text:#777;
  --process-muted:#888;
  --process-faint:#aaa;
  --process-pale:#bbb;
  --process-disabled:#ccc;
  --process-label:#666;
  --process-hover:#555;
  --process-line:#ddd;
  --process-border:#e8e8e8;
  --process-border-soft:#eee;
  --process-rule:#f0f0f0;
  --process-flow-line:#e2e2e2;
  --process-dark:#1a1a1a;
  --process-dark-2:#262626;
  --process-dark-border:#333;
  --process-dark-rule:#2a2a2a;
  --process-dark-line:#444;
  --process-success:#5cba7d;
  --process-danger:#e05555;
  --process-ghost:#eaeaea;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Noto Sans JP','Noto Sans TC',sans-serif;background:var(--process-white);color:var(--process-ink);font-size:var(--fs-body-lg);overflow-x:hidden}
/* ── COMMON SECTION ── */
.section{padding:72px 0;border-bottom:1px solid var(--process-border)}
.inner{max-width:1080px;margin:0 auto;padding:0 40px}
.sec-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.sec-no{font-family:'Montserrat',sans-serif;font-size:var(--fs-small);font-weight:700;color:var(--process-disabled);letter-spacing:.1em}
.sec-ttl{font-family:'Montserrat',sans-serif;font-size:var(--fs-section-title);font-weight:800;letter-spacing:.05em;color:var(--process-ink)}
.sec-ttl-ja{font-size:var(--fs-caption);color:var(--process-faint);font-weight:400;letter-spacing:.1em;margin-left:2px}
.sec-desc{font-size:var(--fs-body);line-height:1.95;color:var(--process-muted);max-width:620px;margin-bottom:38px;text-wrap:pretty}

/* ── START : quick steps ── */
.qsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--process-border)}
.qstep{padding:34px 30px;border-right:1px solid var(--process-border);position:relative}
.qstep:last-child{border-right:none}
.qstep-no{font-family:'Montserrat',sans-serif;font-size:var(--fs-process-number);font-weight:800;color:var(--process-ghost);line-height:1;margin-bottom:18px}
.qstep-en{font-size:var(--fs-micro);letter-spacing:.16em;color:var(--process-pale);text-transform:uppercase;font-family:'Montserrat',sans-serif;margin-bottom:6px}
.qstep-ttl{font-size:var(--fs-card-title);font-weight:700;color:var(--process-ink);margin-bottom:12px}
.qstep-txt{font-size:var(--fs-body);line-height:1.95;color:var(--process-muted)}
.qstep-tag{display:inline-block;margin-top:14px;font-size:var(--fs-micro);letter-spacing:.06em;color:var(--process-label);background:var(--process-surface-strong);padding:4px 10px}

/* ── PREPARE : checklist ── */
.prep-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.prep-list{display:grid;grid-template-columns:1fr 1fr;gap:0}
.prep-item{display:flex;gap:14px;align-items:flex-start;padding:18px 4px;border-bottom:1px solid var(--process-border-soft)}
.prep-chk{flex-shrink:0;width:22px;height:22px;border:1.5px solid var(--process-ink);display:flex;align-items:center;justify-content:center;font-size:var(--fs-small);color:var(--process-ink);margin-top:1px}
.prep-item-ttl{font-size:var(--fs-body);font-weight:600;color:var(--process-ink-soft);line-height:1.5}
.prep-item-sub{font-size:var(--fs-caption);color:var(--process-faint);margin-top:3px;line-height:1.6}
.prep-note{border:1px solid var(--process-border);background:var(--process-surface);padding:28px 26px}
.prep-note-k{font-size:var(--fs-micro);letter-spacing:.16em;color:var(--process-pale);font-family:'Montserrat',sans-serif;text-transform:uppercase;margin-bottom:12px}
.prep-note-t{font-size:var(--fs-body-lg);font-weight:700;line-height:1.7;color:var(--process-ink);margin-bottom:12px}
.prep-note-b{font-size:var(--fs-body);line-height:2;color:var(--process-muted)}

/* ── PRICING ── */
#pricing{background:var(--process-surface)}
.price-factors{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.pf{font-size:var(--fs-caption);letter-spacing:.04em;border:1px solid var(--process-line);background:var(--process-white);padding:7px 14px;color:var(--process-label)}
.pf b{color:var(--process-ink);font-weight:700;margin-right:4px;font-family:'Montserrat',sans-serif}
.price-cols{display:grid;grid-template-columns:1.05fr .95fr;gap:0;border:1px solid var(--process-border);background:var(--process-white)}
.price-ref{padding:34px 32px;border-right:1px solid var(--process-border)}
.price-ref h4,.price-calc h4{font-size:var(--fs-caption);letter-spacing:.14em;text-transform:uppercase;font-family:'Montserrat',sans-serif;color:var(--process-faint);margin-bottom:22px;display:flex;align-items:center;gap:8px}
.price-ref h4::before,.price-calc h4::before{content:"";width:18px;height:1px;background:var(--process-disabled)}
.ref-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--process-rule)}
.ref-row:last-child{border-bottom:none}
.ref-name{font-size:var(--fs-body);font-weight:600;color:var(--process-ink-soft)}
.ref-name span{display:block;font-size:var(--fs-micro);color:var(--process-pale);font-weight:400;margin-top:3px;letter-spacing:.04em}
.ref-amt{font-family:'Montserrat',sans-serif;font-size:var(--fs-body-lg);font-weight:700;color:var(--process-ink);white-space:nowrap;text-align:right}
.ref-amt small{font-size:var(--fs-micro);color:var(--process-pale);font-weight:500}

/* estimator */
.price-calc{padding:34px 32px;background:var(--process-dark)}
.price-calc h4{color:var(--process-label)}
.price-calc h4::before{background:var(--process-dark-line)}
.calc-label{font-size:var(--fs-micro);letter-spacing:.12em;color:var(--process-text);text-transform:uppercase;font-family:'Montserrat',sans-serif;margin:0 0 11px}
.calc-types{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:24px}
.ct{background:var(--process-dark-2);border:1px solid var(--process-ink-soft);color:var(--process-disabled);padding:11px 12px;font-size:var(--fs-small);cursor:pointer;text-align:left;transition:all .15s;font-family:'Noto Sans JP','Noto Sans TC',sans-serif}
.ct:hover{border-color:var(--process-hover);color:var(--process-white)}
.ct.on{background:var(--process-white);color:var(--process-dark);border-color:var(--process-white);font-weight:700}
.calc-adds{display:flex;flex-direction:column;gap:1px;margin-bottom:24px}
.ca{display:flex;align-items:center;gap:12px;padding:11px 2px;cursor:pointer;border-bottom:1px solid var(--process-dark-rule)}
.ca-box{width:18px;height:18px;border:1.5px solid var(--process-hover);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-caption);color:var(--process-dark);transition:all .15s}
.ca.on .ca-box{background:var(--process-white);border-color:var(--process-white)}
.ca-name{font-size:var(--fs-body);color:var(--process-pale);flex:1}
.ca-name small{display:block;font-size:var(--fs-caption);color:var(--process-text);font-weight:400;line-height:1.6;margin-top:3px}
.ca.on .ca-name{color:var(--process-white)}
.ca.on .ca-name small{color:var(--process-faint)}
.ca-plus{font-family:'Montserrat',sans-serif;font-size:var(--fs-caption);color:var(--process-label)}
.calc-out{border-top:1px solid var(--process-ink-soft);padding-top:22px}
.calc-out-k{font-size:var(--fs-micro);letter-spacing:.14em;color:var(--process-text);text-transform:uppercase;font-family:'Montserrat',sans-serif;margin-bottom:8px}
.calc-amt{font-family:'Montserrat',sans-serif;font-size:var(--fs-process-number);font-weight:800;color:var(--process-white);letter-spacing:.01em;line-height:1.1}
.calc-amt small{font-size:var(--fs-body);color:var(--process-muted);font-weight:600}
.calc-hint{font-size:var(--fs-caption);color:var(--process-label);margin-top:12px;line-height:1.7}

/* ── FLOW stepper ── */
.flow-track{display:flex;gap:0;position:relative;margin-bottom:8px}
.flow-track::before{content:"";position:absolute;top:21px;left:7%;right:7%;height:1px;background:var(--process-flow-line);z-index:0}
.flow-node{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;position:relative;z-index:1;padding:0 4px;border:0;background:transparent;font:inherit}
.flow-dot{width:42px;height:42px;border-radius:50%;background:var(--process-white);border:1px solid var(--process-line);display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:var(--fs-icon-sm);color:var(--process-pale);transition:all .25s}
.flow-node:hover .flow-dot{border-color:var(--process-muted);color:var(--process-label)}
.flow-node.on .flow-dot{background:var(--process-ink);border-color:var(--process-ink);color:var(--process-white);transform:scale(1.08)}
.flow-cap{font-size:var(--fs-caption);font-weight:600;color:var(--process-faint);text-align:center;line-height:1.4;transition:color .2s}
.flow-node.on .flow-cap{color:var(--process-ink)}
.flow-cap small{display:block;font-size:var(--fs-micro);color:var(--process-disabled);font-weight:400;letter-spacing:.1em;margin-top:3px;font-family:'Montserrat',sans-serif;text-transform:uppercase}
.flow-panel{margin-top:30px;border:1px solid var(--process-border);display:grid;grid-template-columns:200px 1fr;height:300px}
.flow-panel[hidden],.fit-grid[hidden]{display:none}
.flow-panel-l{background:var(--process-dark);color:var(--process-white);padding:30px 26px;display:flex;flex-direction:column;justify-content:center}
.fp-stage{font-size:var(--fs-micro);letter-spacing:.16em;color:var(--process-label);text-transform:uppercase;font-family:'Montserrat',sans-serif;margin-bottom:10px}
.fp-no{font-family:'Montserrat',sans-serif;font-size:var(--fs-process-large-number);font-weight:800;line-height:.9;margin-bottom:12px}
.fp-time{font-size:var(--fs-caption);color:var(--process-muted);letter-spacing:.04em}
.fp-time b{color:var(--process-white);font-family:'Montserrat',sans-serif;font-weight:600}
.flow-panel-r{padding:32px 34px;display:flex;flex-direction:column;justify-content:center}
.fp-ttl{font-size:var(--fs-card-title);font-weight:700;color:var(--process-ink);margin-bottom:6px}
.fp-en{font-size:var(--fs-micro);letter-spacing:.16em;color:var(--process-pale);text-transform:uppercase;font-family:'Montserrat',sans-serif;margin-bottom:16px}
.fp-txt{font-size:var(--fs-body);line-height:2;color:var(--process-text);text-wrap:pretty}
.fp-do{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.fp-do span{font-size:var(--fs-micro);letter-spacing:.04em;color:var(--process-label);background:var(--process-surface-strong);padding:5px 11px}

/* ── REVISION / DELIVERY / MAINTENANCE columns ── */
.three-up{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--process-border)}
.tu-col{padding:34px 30px;border-right:1px solid var(--process-border)}
.tu-col:last-child{border-right:none}
.tu-no{font-family:'Montserrat',sans-serif;font-size:var(--fs-caption);font-weight:700;letter-spacing:.1em;color:var(--process-disabled);margin-bottom:14px}
.tu-en{font-size:var(--fs-micro);letter-spacing:.16em;color:var(--process-pale);text-transform:uppercase;font-family:'Montserrat',sans-serif;margin-bottom:5px}
.tu-ttl{font-size:var(--fs-card-title);font-weight:700;color:var(--process-ink);margin-bottom:20px}
.tu-li{display:flex;gap:11px;align-items:flex-start;padding:11px 0;border-top:1px solid var(--process-rule);font-size:var(--fs-body);line-height:1.7;color:var(--process-text)}
.tu-li:first-of-type{border-top:none}
.tu-mark{flex-shrink:0;color:var(--process-ink);font-family:'Montserrat',sans-serif;font-weight:700;font-size:var(--fs-caption);margin-top:2px}
.tu-li b{color:var(--process-ink-soft);font-weight:600}
.tu-cost{margin-top:18px;font-size:var(--fs-caption);color:var(--process-muted);background:var(--process-surface);border:1px solid var(--process-border-soft);padding:10px 12px;line-height:1.7}
.tu-cost b{font-family:'Montserrat',sans-serif;color:var(--process-ink)}

/* ── MAINTENANCE detail ── */
.maintenance-section{background:var(--process-white)}
.maintenance-panel{border:1px solid var(--process-border);background:var(--process-white)}
.maintenance-lead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;padding:34px 32px;border-bottom:1px solid var(--process-border)}
.maintenance-k{font-family:'Montserrat',sans-serif;font-size:var(--fs-micro);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--process-pale);margin-bottom:10px}
.maintenance-lead h3{margin:0 0 12px;font-size:var(--fs-display-md);line-height:1.35;color:var(--process-ink);letter-spacing:.03em}
.maintenance-lead p{margin:0;font-size:var(--fs-body);line-height:1.9;color:var(--process-muted);max-width:620px;text-wrap:pretty}
.maintenance-price{min-width:230px;border:1px solid var(--process-ink);padding:18px 20px;text-align:right;background:var(--process-ink);color:var(--process-white)}
.maintenance-price span{display:block;margin-bottom:7px;font-size:var(--fs-micro);font-family:'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.16em;color:var(--process-muted)}
.maintenance-price strong{display:block;font-family:'Montserrat',sans-serif;font-size:var(--fs-display-md);line-height:1;font-weight:800;white-space:nowrap}
.maintenance-price small{display:block;margin-top:6px;font-size:var(--fs-caption);color:var(--process-muted);font-weight:600}
.maintenance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--process-border)}
.maintenance-card{padding:28px 30px;border-right:1px solid var(--process-border)}
.maintenance-card:last-child{border-right:none}
.maintenance-card-no{display:block;margin-bottom:16px;font-family:'Montserrat',sans-serif;font-size:var(--fs-caption);font-weight:700;letter-spacing:.1em;color:var(--process-disabled)}
.maintenance-card h4,.maintenance-scope h4{margin:0 0 12px;font-size:var(--fs-card-title);line-height:1.45;color:var(--process-ink)}
.maintenance-card p{margin:0;font-size:var(--fs-body);line-height:1.85;color:var(--process-muted);text-wrap:pretty}
.maintenance-scope{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--process-border)}
.maintenance-scope > div{padding:28px 30px}
.maintenance-scope > div:first-child{border-right:1px solid var(--process-border)}
.maintenance-scope ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.maintenance-scope li{position:relative;padding-left:18px;font-size:var(--fs-body);line-height:1.75;color:var(--process-text)}
.maintenance-scope li::before{content:"";position:absolute;left:0;top:.75em;width:6px;height:6px;background:var(--process-ink)}

/* ── FIT toggle ── */
#fit{background:var(--process-surface)}
.fit-toggle{display:inline-flex;border:1px solid var(--process-line);background:var(--process-white);margin-bottom:30px}
.ftg{background:none;border:none;padding:11px 28px;font-size:var(--fs-small);font-weight:600;letter-spacing:.04em;color:var(--process-faint);cursor:pointer;transition:all .2s;font-family:'Noto Sans JP','Noto Sans TC',sans-serif;display:flex;align-items:center;gap:8px}
.ftg .dot{width:7px;height:7px;border-radius:50%;background:var(--process-disabled)}
.ftg.on{color:var(--process-white);background:var(--process-ink)}
.ftg.on .dot{background:var(--process-success)}
.ftg.bad.on{background:var(--process-ink)}
.ftg.bad.on .dot{background:var(--process-danger)}
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fit-card{border:1px solid var(--process-border);background:var(--process-white);padding:22px 24px;display:flex;gap:14px;align-items:flex-start;transition:opacity .25s,transform .25s}
.fit-ic{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--fs-body);font-weight:700;color:var(--process-white)}
.fit-card.good .fit-ic{background:var(--process-success)}
.fit-card.bad .fit-ic{background:var(--process-danger)}
.fit-txt{font-size:var(--fs-body);line-height:1.6;color:var(--process-dark-line);font-weight:500}
.fit-txt small{display:block;font-size:var(--fs-caption);color:var(--process-faint);font-weight:400;margin-top:4px;line-height:1.6}

/* ── FAQ accordion ── */
.faq-list{border-top:1px solid var(--process-border)}
.faq-item{border-bottom:1px solid var(--process-border)}
.faq-q{display:flex;align-items:center;gap:18px;width:100%;background:none;border:none;cursor:pointer;padding:22px 4px;text-align:left;font-family:'Noto Sans JP','Noto Sans TC',sans-serif}
.faq-qno{font-family:'Montserrat',sans-serif;font-size:var(--fs-small);font-weight:700;color:var(--process-disabled);flex-shrink:0;letter-spacing:.06em}
.faq-qt{flex:1;font-size:var(--fs-body-lg);font-weight:600;color:var(--process-ink);line-height:1.5}
.faq-ic{flex-shrink:0;width:22px;height:22px;position:relative;transition:transform .3s}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;background:var(--process-ink);transition:opacity .3s}
.faq-ic::before{top:50%;left:0;right:0;height:1.5px;transform:translateY(-50%)}
.faq-ic::after{left:50%;top:0;bottom:0;width:1.5px;transform:translateX(-50%)}
.faq-item.open .faq-ic::after{opacity:0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a-inner{padding:0 4px 24px 48px;font-size:var(--fs-body);line-height:2;color:var(--process-muted);text-wrap:pretty}

/* ── CTA ── */
#cta{background:var(--process-dark);border-bottom:none;text-align:center}
.cta-k{font-size:var(--fs-caption);letter-spacing:.2em;color:var(--process-label);text-transform:uppercase;font-family:'Montserrat',sans-serif;margin-bottom:18px}
.cta-t{font-family:'Montserrat',sans-serif;font-size:var(--fs-display-lg);font-weight:800;color:var(--process-white);line-height:1.05;letter-spacing:.02em;margin-bottom:14px}
.cta-ja{font-size:var(--fs-body);color:var(--process-muted);line-height:2;margin-bottom:36px}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 38px;font-size:var(--fs-caption);font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:all .2s;font-family:'Montserrat',sans-serif}
.cta-btn.solid{background:var(--process-white);color:var(--process-dark)}
.cta-btn.solid:hover{background:var(--process-line)}
.cta-btn.ghost{border:1px solid var(--process-dark-line);color:var(--process-white)}
.cta-btn.ghost:hover{border-color:var(--process-white)}

.consult-form{
  max-width:860px;
  margin:54px auto 0;
  padding:42px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.025);
  text-align:left;
}
.consult-form__head{text-align:center;margin-bottom:30px}
.consult-form__eyebrow,
.consult-modal__eyebrow{
  display:block;margin-bottom:10px;
  font-family:'Montserrat',sans-serif;font-size:var(--fs-micro);font-weight:700;
  letter-spacing:.2em;color:var(--process-muted);
}
.consult-form h2,
.consult-modal__panel h2{
  margin:0 0 12px;font-size:var(--fs-display-md);line-height:1.35;
  letter-spacing:.04em;color:var(--process-white);
}
.consult-form p,
.consult-modal__panel p{margin:0;font-size:var(--fs-body);line-height:1.9;color:#9f9f9f}
.consult-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.consult-field{display:flex;flex-direction:column;gap:8px;margin:0 0 18px}
.consult-field--wide{grid-column:1/-1}
.consult-field > span,
.consult-checks legend{
  font-size:var(--fs-small);font-weight:600;letter-spacing:.08em;color:#e7e7e7;
}
.consult-field input,
.consult-field textarea{
  width:100%;border:1px solid rgba(255,255,255,.18);border-radius:0;
  background:rgba(255,255,255,.045);padding:13px 14px;
  font-family:'Noto Sans JP','Noto Sans TC',sans-serif;font-size:var(--fs-body-lg);color:var(--process-white);
  outline:none;transition:border-color .2s,box-shadow .2s;
}
.consult-field input::placeholder,
.consult-field textarea::placeholder{color:rgba(255,255,255,.34)}
.consult-field textarea{min-height:150px;resize:vertical;line-height:1.7}
.consult-field input:focus,
.consult-field textarea:focus{border-color:var(--process-white);box-shadow:0 0 0 3px rgba(255,255,255,.1)}
.consult-field.is-invalid input,
.consult-field.is-invalid textarea,
.consult-checks.is-invalid{border-color:#b84b4b}
.consult-checks.is-invalid legend{color:#d46c6c}
.consult-checks.is-invalid span{border-color:rgba(212,108,108,.75)}
.consult-checks{border:0;padding:0}
.consult-checks legend{margin-bottom:12px}
.consult-checks__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.consult-checks label{display:flex;cursor:pointer;min-width:0;position:relative}
.consult-checks input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.consult-checks span{
  display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;
  border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.045);
  padding:9px 12px;font-size:var(--fs-small);font-weight:600;letter-spacing:.04em;color:#d0d0d0;
  text-align:center;line-height:1.45;transition:background .2s,border-color .2s,color .2s;
}
.consult-checks input:checked + span{border-color:var(--process-white);background:var(--process-white);color:var(--process-dark)}
.consult-checks input:focus + span{box-shadow:0 0 0 3px rgba(255,255,255,.12)}
.consult-form__error{min-height:22px;margin:2px 0 18px;font-size:var(--fs-small);color:#d46c6c;text-align:center}
.consult-submit,
.consult-modal__button{
  display:inline-flex;align-items:center;justify-content:center;min-width:180px;min-height:52px;
  border:1px solid var(--process-white);background:var(--process-white);color:var(--process-dark);
  font-family:'Montserrat','Noto Sans TC',sans-serif;font-size:var(--fs-small);font-weight:700;
  letter-spacing:.12em;cursor:pointer;transition:background .2s,color .2s;
}
.consult-submit{display:flex;margin:0 auto}
.consult-submit:hover,
.consult-modal__button:hover{background:transparent;color:var(--process-white)}
body.consult-modal-open{overflow:hidden}
.consult-modal[hidden]{display:none}
.consult-modal{
  position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;
}
.consult-modal__backdrop{position:absolute;inset:0;background:rgba(12,12,12,.72)}
.consult-modal__panel{
  position:relative;width:min(100%,460px);border:1px solid rgba(255,255,255,.12);
  background:var(--process-dark);padding:42px 36px 34px;text-align:center;color:var(--process-white);
  box-shadow:0 24px 70px rgba(0,0,0,.32);
}
.consult-modal__panel h2{color:var(--process-white)}
.consult-modal__panel p{color:#b8b8b8}
.consult-modal__close{
  position:absolute;top:14px;right:14px;width:34px;height:34px;
  border:1px solid rgba(255,255,255,.22);background:transparent;color:var(--process-white);
  font-size:var(--fs-display-sm);line-height:1;cursor:pointer;
}
.consult-modal__button{margin-top:28px}

/* Process-2 disables scroll-fade to avoid full-page flashing. */
.js-fade,
.js-fade.js-will-fade,
.js-fade.in{opacity:1!important;transform:none!important;transition:none!important}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .inner{padding:0 20px}
  .section{padding:54px 0}
  .sec-head{flex-wrap:wrap;row-gap:6px}
  .qsteps{grid-template-columns:1fr}
  .qstep{border-right:none;border-bottom:1px solid var(--process-border)}
  .qstep:last-child{border-bottom:none}
  .prep-wrap{grid-template-columns:1fr;gap:28px}
  .prep-list{grid-template-columns:1fr}
  .price-cols{grid-template-columns:1fr}
  .price-ref{border-right:none;border-bottom:1px solid var(--process-border)}
  .flow-track{display:none}
  .flow-panel{grid-template-columns:1fr;height:auto;min-height:300px}
  .flow-mob{display:flex !important}
  .three-up{grid-template-columns:1fr}
  .tu-col{border-right:none;border-bottom:1px solid var(--process-border)}
  .tu-col:last-child{border-bottom:none}
  .maintenance-lead{grid-template-columns:1fr;padding:28px 22px;gap:22px}
  .maintenance-price{min-width:0;width:100%;text-align:left}
  .maintenance-grid{grid-template-columns:1fr}
  .maintenance-card{border-right:none;border-bottom:1px solid var(--process-border);padding:24px 22px}
  .maintenance-card:last-child{border-bottom:none}
  .maintenance-scope{grid-template-columns:1fr}
  .maintenance-scope > div{padding:24px 22px}
  .maintenance-scope > div:first-child{border-right:none;border-bottom:1px solid var(--process-border)}
  .fit-grid{grid-template-columns:1fr}
  .faq-a-inner{padding-left:36px}
  .consult-form{margin-top:42px;padding:30px 20px}
  .consult-form__grid{grid-template-columns:1fr;gap:0}
  .consult-field{min-width:0}
  .consult-field input,
  .consult-field textarea{max-width:100%}
  .consult-checks__grid{grid-template-columns:1fr}
}
/* mobile flow select */
.flow-mob{display:none;gap:7px;flex-wrap:wrap;margin-bottom:6px}
.flow-mob button{flex:1;min-width:60px;background:var(--process-white);border:1px solid var(--process-line);padding:10px 0;font-family:'Montserrat',sans-serif;font-weight:800;font-size:var(--fs-body-lg);color:var(--process-pale);cursor:pointer}
.flow-mob button.on{background:var(--process-ink);color:var(--process-white);border-color:var(--process-ink)}

