  :root{
    --bg:#0a0b0d;
    --panel:#131519;
    --panel-2:#191c21;
    --line:#2a2e35;
    --line-soft:#1e2126;
    --ink:#eef0f2;
    --ink-dim:#9298a3;
    --ink-faint:#a0a6b0;
    --copper:#d98e3f;
    --copper-dim:#8a5c2c;
    --steel:#6c7684;
    --radius:3px;
    --mono: 'Rajdhani', sans-serif;
    --sans: 'Inter', sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  body{
    background:
      linear-gradient(var(--bg),var(--bg)),
      repeating-linear-gradient(0deg, rgba(255,255,255,0.015) 0px, rgba(255,255,255,0.015) 1px, transparent 1px, transparent 40px),
      repeating-linear-gradient(90deg, rgba(255,255,255,0.015) 0px, rgba(255,255,255,0.015) 1px, transparent 1px, transparent 40px);
    color:var(--ink);
    font-family:var(--sans);
    min-height:100vh;
    padding:0 0 80px;
  }
  ::selection{background:var(--copper);color:#0a0b0d;}
  html{scroll-behavior:smooth;}
  :focus-visible{outline:2px solid var(--copper);outline-offset:2px;}

  a{color:var(--copper);}

  /* ---------- HEADER ---------- */
  header.masthead{
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg, rgba(217,142,63,0.06), transparent 70%);
  }
  .masthead-inner{
    max-width:920px;margin:0 auto;padding:36px 24px 30px;
    display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;
  }
  .masthead-inner img{height:34px;width:auto;display:block;filter:drop-shadow(0 0 18px rgba(217,142,63,0.08));}
  .masthead-meta{text-align:right;font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--ink-faint);line-height:1.6;}
  .masthead-meta b{color:var(--steel);}

  .hero{max-width:920px;margin:0 auto;padding:40px 24px 8px;border-bottom:1px solid var(--line-soft);}
  .hero-tag{font-family:var(--mono);font-size:14px;letter-spacing:.05em;color:var(--copper);margin-bottom:10px;}
  .hero h1{
    font-family:var(--mono);font-weight:700;font-size:44px;line-height:1.08;
    color:var(--ink);max-width:14ch;
  }
  .hero p{color:var(--ink-dim);font-size:17px;line-height:1.6;max-width:52ch;margin:18px 0 32px;}

  /* ---------- LAYOUT ---------- */
  .wrap{max-width:920px;margin:0 auto;padding:0 24px;}
  form{display:flex;flex-direction:column;}

  .step{
    border-bottom:1px solid var(--line-soft);
    padding:44px 0;
    display:grid;
    grid-template-columns:64px 1fr;
    gap:0 28px;
  }
  .step-num{
    font-family:var(--mono);font-weight:700;font-size:28px;color:var(--line);
    line-height:1;
  }
  .step-head{margin-bottom:26px;}
  .step-head h2{font-family:var(--mono);font-weight:600;font-size:22px;color:var(--ink);}
  .step-head p{color:var(--ink-dim);font-size:14.5px;margin-top:5px;max-width:56ch;}

  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
  .field-row.single{grid-template-columns:1fr;}
  @media (max-width:640px){.field-row{grid-template-columns:1fr;}}

  .field label{
    display:block;font-size:13.5px;font-weight:600;color:var(--ink-dim);
    margin-bottom:8px;letter-spacing:.01em;
  }
  .field .hint{font-size:12.5px;color:var(--ink-faint);margin-top:6px;}

  input[type="text"], input[type="email"], input[type="number"], select, textarea{
    width:100%;background:var(--panel);border:1px solid var(--line);color:var(--ink);
    padding:12px 13px;border-radius:var(--radius);font-size:15px;font-family:var(--sans);
    outline:none;transition:border-color .15s ease;
  }
  input::placeholder, textarea::placeholder{color:var(--ink-faint);}
  input:focus, select:focus, textarea:focus{border-color:var(--copper);}
  textarea{resize:vertical;min-height:90px;line-height:1.5;}
  select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239298a3' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;}

  .color-field{position:relative;}
  .color-field input[type="text"]{padding-left:42px;}
  .color-dot{
    position:absolute;left:12px;top:50%;transform:translateY(-50%);
    width:16px;height:16px;border-radius:50%;border:1px solid var(--line);
    pointer-events:none;background:var(--steel);
  }

  /* ---------- OPTION CARDS (switches) ---------- */
  .option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
  @media (max-width:640px){.option-grid{grid-template-columns:1fr;}}
  .opt{display:block;cursor:pointer;}
  .opt input{position:absolute;opacity:0;pointer-events:none;}
  .opt-card{
    border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);
    padding:18px 16px;transition:border-color .15s ease, background .15s ease, transform .15s ease;
    height:100%;display:flex;flex-direction:column;gap:8px;
  }
  .opt-card .sw-icon{width:22px;height:22px;}
  .opt-card strong{font-family:var(--mono);font-size:16px;font-weight:600;color:var(--ink);}
  .opt-card span{font-size:13px;color:var(--ink-dim);line-height:1.5;}
  .opt input:checked + .opt-card{border-color:var(--copper);background:rgba(217,142,63,0.07);box-shadow:0 0 0 1px rgba(217,142,63,0.25);}
  .opt input:checked + .opt-card strong{color:var(--copper);}
  .opt:hover .opt-card{border-color:var(--steel);transform:translateY(-1px);}

  /* ---------- CHECK LIST ---------- */
  .check-list{display:flex;flex-direction:column;gap:10px;}
  .chk{
    display:flex;align-items:center;gap:12px;padding:12px 14px;
    background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
    cursor:pointer;transition:border-color .15s ease;
  }
  .chk:hover{border-color:var(--steel);}
  .chk input{width:17px;height:17px;accent-color:var(--copper);cursor:pointer;}
  .chk span{font-size:14.5px;color:var(--ink);}
  .chk small{display:block;color:var(--ink-faint);font-size:12.5px;margin-top:2px;}

  /* ---------- PRESET PILLS (layout) ---------- */
  .pill-row{display:flex;flex-wrap:wrap;gap:10px;}
  .pill{position:relative;}
  .pill input{position:absolute;opacity:0;pointer-events:none;}
  .pill-btn{
    display:flex;flex-direction:column;align-items:center;gap:2px;
    border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);
    padding:10px 16px;cursor:pointer;font-family:var(--mono);
    transition:border-color .15s ease,background .15s ease;
  }
  .pill-btn b{font-size:18px;font-weight:700;color:var(--ink);}
  .pill-btn small{font-size:10.5px;color:var(--ink-faint);letter-spacing:.03em;}
  .pill input:checked + .pill-btn{border-color:var(--copper);background:rgba(217,142,63,0.08);}
  .pill input:checked + .pill-btn b{color:var(--copper);}

  .custom-dims{display:flex;align-items:center;gap:10px;margin-top:14px;}
  .custom-dims input{width:70px;text-align:center;}
  .custom-dims span{color:var(--ink-faint);font-family:var(--mono);}

  .mini-btn{
    font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--ink-dim);
    background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);
    padding:8px 12px;cursor:pointer;white-space:nowrap;
  }
  .mini-btn:hover{border-color:var(--steel);color:var(--ink);}

  /* ---------- SUBMIT / SUMMARY ---------- */
  .submit-zone{padding:48px 0 0;}
  .submit-btn{
    width:100%;background:var(--copper);color:#0a0b0d;border:none;
    padding:17px;font-size:16px;font-weight:700;font-family:var(--mono);letter-spacing:.02em;
    border-radius:var(--radius);cursor:pointer;transition:filter .15s ease;
  }
  .submit-btn:hover{filter:brightness(1.08);}
  .submit-note{text-align:center;color:var(--ink-faint);font-size:12.5px;margin-top:12px;}

  .summary{
    display:none;margin-top:34px;border:1px solid var(--copper-dim);border-radius:var(--radius);
    background:var(--panel);padding:26px 24px;
    box-shadow:0 20px 40px -20px rgba(0,0,0,0.55);
  }
  .summary.open{display:block;}
  .summary h3{font-family:var(--mono);font-size:17px;color:var(--copper);margin-bottom:4px;}
  .summary .sub{color:var(--ink-faint);font-size:12.5px;margin-bottom:18px;}
  .summary dl{display:grid;grid-template-columns:auto 1fr;gap:9px 18px;font-size:14px;}
  .summary dt{color:var(--ink-faint);}
  .summary dd{color:var(--ink);}
  .summary-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;}

  footer{max-width:920px;margin:60px auto 0;padding:24px;color:var(--ink-faint);font-size:12px;text-align:center;border-top:1px solid var(--line-soft);}

/* Configurator layout and controls. */
.configurator .wrap{max-width:920px;}
.configurator .step>div{min-width:0;}
.field-label{display:block;font-size:13.5px;font-weight:600;color:var(--ink-dim);margin-bottom:8px;}
.opt input:focus-visible+.opt-card,.pill input:focus-visible+.pill-btn{outline:2px solid var(--copper);outline-offset:3px;}
.mini-btn{text-decoration:none;display:inline-flex;align-items:center;min-height:40px;}
.mini-btn.btn-primary{background:var(--copper);color:#191008;border-color:var(--copper);}
.mini-btn:disabled{opacity:.65;cursor:default;}
.summary dl{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);}
.summary dd{overflow-wrap:anywhere;}
.summary .sub{color:var(--ink-dim);line-height:1.7;}
#summary-text{margin-top:8px;font-size:13px;min-height:210px;}
#summary-status{margin:16px 0;line-height:1.6;color:var(--ink);}
.summary>label{margin-top:16px;}
.notice{padding:20px;border:1px solid var(--copper);line-height:1.6;}
@media(max-width:640px){
  .configurator .step{grid-template-columns:28px minmax(0,1fr);gap:12px;padding:30px 0;}
  .step-num{font-size:22px;}.hero h1{font-size:36px;}.hero{padding:30px 16px 8px;}
  .summary{padding:20px 14px;}.summary dl{grid-template-columns:1fr;gap:4px;}.summary dd{margin-bottom:12px;}
  .submit-btn{font-size:15px;}.configurator .hero h1{max-width:none;}
}
