*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  :root{
    --red:#cc2b2b;--red-dim:rgba(204,43,43,0.12);--red-border:rgba(204,43,43,0.3);
    --bg:#0d0d0f;--bg2:#141418;--bg3:#1a1a20;
    --border:rgba(255,255,255,0.08);--text:#f0f0f0;--muted:rgba(255,255,255,0.4);
    --mono:'DM Mono',monospace;--sans:'DM Sans',sans-serif;--display:'Bebas Neue',sans-serif;
    --success:#2f7a3d;--success-soft:#eaf5ec;--review:#a46708;--review-soft:#fff6df;--danger:#b42323;--danger-soft:#fff0ef;
    --motion-fast:180ms;--motion-base:210ms;
  }
  body{background:var(--bg);color:var(--text);font-family:var(--sans);min-height:100vh}
  body::before{content:'';position:fixed;inset:0;background-image:linear-gradient(rgba(255,255,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;z-index:0}
  nav{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:16px 48px;border-bottom:1px solid var(--border);background:rgba(13,13,15,0.9);backdrop-filter:blur(12px)}
  .nav-brand-wrap{display:flex;align-items:center;gap:12px}
  .nav-brand-button{padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;border-radius:9px}.nav-brand-button:focus-visible{outline:2px solid var(--red);outline-offset:7px}
  .nav-home-link{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border:1px solid var(--border);border-radius:8px;color:var(--text);font:600 10px var(--mono);letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.nav-home-link:hover{border-color:var(--red);color:var(--red)}
  .nav-settings-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 11px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text);font:600 10px var(--mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.nav-settings-btn:hover{border-color:var(--red);color:var(--red)}.nav-settings-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
  .nav-logo{width:48px;height:48px;object-fit:contain;flex-shrink:0}
  .nav-brand-text{display:flex;flex-direction:column;gap:1px}
  .nav-brand{font-family:var(--display);font-size:26px;letter-spacing:0.1em;color:var(--text);line-height:1}
  .nav-brand .red{color:var(--red)} .nav-brand .dim{color:rgba(255,255,255,0.35);font-size:20px}
  .nav-sub{font-family:var(--mono);font-size:9px;letter-spacing:0.22em;color:var(--muted);text-transform:uppercase;line-height:1}
  .nav-tag{font-family:var(--mono);font-size:10px;letter-spacing:0.2em;color:var(--muted);text-transform:uppercase}
  main{position:relative;z-index:1;max-width:880px;margin:0 auto;padding:60px 24px 80px}
  .page-title{font-family:var(--display);font-size:64px;letter-spacing:0.04em;line-height:0.95;margin-bottom:12px}
  .page-title em{font-style:normal;color:var(--red)}
  .page-sub{font-size:15px;font-weight:300;color:var(--muted);margin-bottom:48px;line-height:1.6}
  .steps-bar{display:flex;align-items:center;margin-bottom:48px}
  .step-pill{display:flex;align-items:center;gap:10px;padding:8px 18px;border:1px solid var(--border);border-radius:100px;font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);transition:all 0.3s;cursor:pointer}
  .step-pill.active{border-color:var(--red-border);background:var(--red-dim);color:var(--text)}
  .step-pill.done{border-color:rgba(255,255,255,0.15);color:rgba(255,255,255,0.6)}
  .step-num{width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:500}
  .step-pill.active .step-num{background:var(--red);color:#fff}
  .step-pill.done .step-num{background:rgba(255,255,255,0.2)}
  .step-connector{flex:1;height:1px;background:var(--border);max-width:32px}
  .panel{display:none;animation:fadeIn 0.3s ease} .panel.active{display:block}
  @keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

  /* Upload */
  .upload-zone{border:1.5px dashed rgba(255,255,255,0.15);border-radius:12px;padding:56px 40px;text-align:center;cursor:pointer;transition:all 0.2s;position:relative;background:var(--bg2)}
  .upload-zone:hover,.upload-zone.drag-over{border-color:var(--red);background:var(--red-dim)}
  .upload-zone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
  .upload-icon{width:56px;height:56px;margin:0 auto 20px;background:rgba(255,255,255,0.05);border-radius:12px;display:flex;align-items:center;justify-content:center}
  .upload-icon svg{width:28px;height:28px;stroke:var(--muted);fill:none;stroke-width:1.5}
  .upload-title{font-size:18px;font-weight:500;margin-bottom:8px}
  .upload-sub{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;color:var(--muted);text-transform:uppercase}
  .upload-divider{display:flex;align-items:center;gap:16px;margin:24px 0;color:var(--muted);font-size:13px}
  .upload-divider::before,.upload-divider::after{content:'';flex:1;height:1px;background:var(--border)}
  .other-format-btn{width:100%;padding:14px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:all 0.2s}
  .other-format-btn:hover{border-color:rgba(255,255,255,0.2);color:var(--text)}

  /* Other format contact panel */
  .other-format-panel{display:none;margin-top:20px;background:var(--bg2);border:1px solid var(--red-border);border-radius:12px;padding:28px;animation:fadeIn 0.3s ease}
  .other-format-panel.visible{display:block}
  .other-format-title{font-family:var(--display);font-size:28px;margin-bottom:8px}
  .other-format-sub{font-size:13px;color:var(--muted);margin-bottom:20px;line-height:1.6}

  .file-info{display:none;margin-top:20px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:14px 20px;text-align:left;align-items:center;gap:14px}
  .file-info.visible{display:flex}
  .file-name{font-size:14px;font-weight:500;flex:1}
  .file-size{font-family:var(--mono);font-size:11px;color:var(--muted)}
  .file-remove{width:24px;height:24px;background:rgba(255,255,255,0.06);border:none;border-radius:50%;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px}

  /* Viewer */
  .viewer-wrap{display:none;margin-top:20px;background:var(--bg3);border:1px solid var(--border);border-radius:12px;overflow:hidden}
  .viewer-wrap.visible{display:block}
  .viewer-header{padding:10px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
  .viewer-header-label{font-family:var(--mono);font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted)}
  .viewer-hint{font-family:var(--mono);font-size:10px;color:rgba(255,255,255,0.2);letter-spacing:0.08em}
  .viewer-stage{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 42%,#2a2a32 0,#1a1a20 60%,#131317 100%)}
  #viewerCanvas{width:100%;height:390px;display:block;touch-action:none}
  .viewer-ready{position:absolute;right:16px;top:14px;z-index:3;padding:7px 12px;border-radius:999px;background:rgba(229,250,224,0.94);color:#153d1b;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;pointer-events:none;box-shadow:0 5px 18px rgba(0,0,0,0.18)}
  .dimension-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;color:#f4f1e8;font-family:var(--sans);overflow:hidden}
  .dimension-line{position:absolute;left:0;top:0;width:0;height:1px;background:rgba(244,241,232,.74);transform-origin:0 50%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8));will-change:left,top,width,transform}
  .dimension-line::before,.dimension-line::after{content:'';position:absolute;top:-4px;width:1px;height:9px;background:inherit}
  .dimension-line::before{left:0}.dimension-line::after{right:0}
  .dimension-badge{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(244,241,232,.72);border-radius:14px;background:rgba(20,20,24,.88);color:#f6f3eb;font:500 12px/1 var(--sans);white-space:nowrap;pointer-events:auto;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.32);transform:translate(-50%,-50%);transition:background .15s,border-color .15s;will-change:left,top}
  .dimension-badge:hover{background:#2a2a31;border-color:#fff}
  .dimension-axis{font-family:var(--mono);font-size:9px;font-weight:700;color:#efc06f}
  .dimension-edit{font-size:14px;color:#efc06f}

  /* Geometry stats */
  .geo-stats{display:none;margin-top:12px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:14px 20px;gap:24px;flex-wrap:wrap}
  .geo-stats.visible{display:flex}
  .geo-stat{display:flex;flex-direction:column;gap:3px}
  .geo-stat-label{font-family:var(--mono);font-size:9px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted)}
  .geo-stat-val{font-family:var(--mono);font-size:15px;font-weight:500;color:var(--text)}
  .file-units-card{display:none;margin-top:12px;padding:14px 16px;background:var(--bg2);border:1px solid var(--red-border);border-radius:8px;align-items:center;justify-content:space-between;gap:16px}
  .file-units-card.visible{display:flex}
  .file-units-copy{min-width:0}
  .file-units-title{font-family:var(--mono);font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:var(--text);margin-bottom:4px}
  .file-units-help{font-size:12px;line-height:1.5;color:var(--muted)}
  .file-units-card select{width:150px;flex:0 0 auto}
  .file-error{display:none;margin-top:12px;padding:12px 14px;border:1px solid var(--red-border);border-radius:8px;background:var(--red-dim);color:rgba(255,255,255,0.84);font-size:13px;line-height:1.5}
  .file-error.visible{display:block}
  .file-error-action{display:none;margin-top:10px;padding:9px 12px;border:1px solid var(--red-border);border-radius:6px;background:rgba(204,43,43,0.12);color:var(--text);font-family:var(--mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer}
  .file-error-action.visible{display:inline-flex}
  .device-analysis-advice{display:none;margin-top:12px;padding:11px 13px;border:1px solid rgba(85,155,214,0.32);border-radius:8px;background:rgba(85,155,214,0.08);color:#c8d9e8;font-size:11px;line-height:1.55;text-align:left}
  .device-analysis-advice.visible{display:block}
  .analysis-status{display:none;margin-top:12px;padding:13px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg3);color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:0.06em}
  .analysis-status.visible{display:block}
  .analysis-status-head{display:flex;align-items:center;gap:10px}
  .analysis-status-text{flex:1;min-width:0}
  .analysis-percent{color:var(--text);font-variant-numeric:tabular-nums}
  .analysis-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,0.15);border-top-color:var(--red);border-radius:50%;animation:analysisSpin 0.8s linear infinite;flex:0 0 auto}
  .analysis-progress{height:6px;margin-top:11px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,0.08)}
  .analysis-progress-fill{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--red),#ef6767);transition:width 0.18s ease}
  @keyframes analysisSpin{to{transform:rotate(360deg)}}
  .mesh-repair-notice{display:none;margin-top:12px;padding:13px 15px;border:1px solid rgba(217,157,63,0.38);border-radius:8px;background:rgba(217,157,63,0.09);color:rgba(255,255,255,0.84);font-size:12px;line-height:1.55}
  .mesh-repair-notice.visible{display:block}
  .mesh-repair-title{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:#efc06f;margin-bottom:4px}
  .mesh-diagnostics{display:none;position:relative;margin-top:12px;padding:14px 44px 14px 16px;border:1px solid rgba(255,255,255,0.13);border-radius:8px;background:#303035;color:#ececf0;font-size:13px;line-height:1.45;text-align:left}
  .mesh-diagnostics.visible{display:block}
  .mesh-diagnostics-close{position:absolute;right:10px;top:10px;width:28px;height:28px;border:0;border-radius:4px;background:rgba(255,255,255,0.14);color:#c8c8cd;font-size:20px;line-height:1;cursor:pointer}
  .mesh-diagnostic-name{font-weight:600;margin-bottom:2px}
  .mesh-diagnostic-error{margin-top:3px;color:#ff5252;font-weight:600}
  .mesh-diagnostic-repair{border:0;background:none;color:#19b6ad;text-decoration:underline;padding:0 0 0 8px;font:inherit;font-weight:600;cursor:pointer}
  .mesh-diagnostic-repair[disabled]{color:#8b8b90;text-decoration:none;cursor:default}
  .mesh-diagnostic-breakdown{margin-top:7px;color:#ababaf;font-family:var(--mono);font-size:10px;line-height:1.55}
  .mesh-diagnostic-note{margin-top:8px;color:#c5c5c9;font-size:11px;line-height:1.5}
  .mesh-diagnostic-manual{margin-top:9px;border:0;background:none;color:#efc06f;text-decoration:underline;padding:0;font:inherit;font-size:11px;cursor:pointer}

  /* Config */
  .config-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}
  .field-group{display:flex;flex-direction:column;gap:8px}
  .field-group.full{grid-column:1/-1}
  label{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;color:var(--muted);text-transform:uppercase}
  select,input[type="text"],input[type="email"],input[type="number"],textarea{background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:12px 14px;color:var(--text);font-family:var(--sans);font-size:14px;outline:none;transition:border-color 0.2s;width:100%}
  select{padding-right:14px}
  select:focus,input:focus,textarea:focus{border-color:rgba(204,43,43,0.5)}
  textarea{resize:vertical;min-height:90px}
  .qty-wrap{display:flex;align-items:center;background:var(--bg2);border:1px solid var(--border);border-radius:6px;overflow:hidden}
  .qty-btn{width:40px;height:44px;background:none;border:none;color:var(--muted);font-size:20px;cursor:pointer;transition:background 0.15s;flex-shrink:0}
  .qty-btn:hover{background:rgba(255,255,255,0.06);color:var(--text)}
  .qty-input{border:none!important;text-align:center;background:transparent!important;width:60px;border-radius:0!important}

  /* Fill toggle */
  .fill-toggle{display:flex;background:var(--bg2);border:1px solid var(--border);border-radius:6px;overflow:hidden}
  .fill-toggle-btn{flex:1;padding:10px 8px;background:none;border:none;color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:all 0.2s;text-align:center}
  .fill-toggle-btn.active{background:var(--red-dim);color:var(--text);border-bottom:2px solid var(--red)}
  .fill-toggle-btn:hover:not(.active){background:rgba(255,255,255,0.04)}
  .fill-sub{margin-top:8px}



  .capacity-warning{display:none;margin-bottom:20px;padding:14px 16px;border-radius:8px;background:rgba(204,43,43,0.09);border:1px solid var(--red-border);font-size:13px;color:rgba(255,255,255,0.82);line-height:1.55}
  .capacity-warning.visible{display:block}
  .capacity-warning .file-error-action{display:inline-flex}
  .manufacturing-warning{display:none;margin-bottom:20px;padding:14px 16px;border-radius:8px;background:rgba(220,145,36,0.09);border:1px solid rgba(220,145,36,0.32);font-size:13px;color:rgba(255,255,255,0.82);line-height:1.55}
  .manufacturing-warning.visible{display:block}
  .resin-model-notice{margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg3);font-size:12px;line-height:1.5;color:var(--muted)}

  /* Live material preview in the configuration step */
  .config-viewer-card{margin-bottom:22px;background:var(--bg3);border:1px solid var(--border);border-radius:12px;overflow:hidden}
  .config-viewer-header{padding:11px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
  .config-viewer-copy{min-width:0}
  .config-viewer-title{font-family:var(--mono);font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted)}
  .config-viewer-material{margin-top:4px;font-size:12px;color:var(--text)}
  .config-viewer-note{font-family:var(--mono);font-size:9px;letter-spacing:0.08em;color:rgba(255,255,255,0.3);text-align:right}
  #configViewerCanvas{display:block;width:100%;height:420px;touch-action:none}
  .scale-input-wrap{display:flex;align-items:stretch;background:var(--bg2);border:1px solid var(--border);border-radius:6px;overflow:hidden}
  .scale-input-wrap input{border:0!important;border-radius:0!important;background:transparent!important}
  .scale-suffix{display:flex;align-items:center;padding:0 14px;border-left:1px solid var(--border);color:var(--muted);font-family:var(--mono);font-size:12px}
  .field-help{font-size:11px;line-height:1.45;color:var(--muted)}
  .resin-as-modeled-card{padding:14px 16px;border:1px solid rgba(85,155,214,0.26);border-radius:8px;background:rgba(85,155,214,0.07)}
  .resin-as-modeled-title{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#d8e8f7;margin-bottom:5px}
  .resin-as-modeled-copy{font-size:12px;line-height:1.55;color:var(--muted)}
  .specification-contact-card{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--border);border-radius:10px;background:var(--bg2)}
  .specification-contact-title{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--text);margin-bottom:5px}
  .specification-contact-copy{font-size:12px;line-height:1.5;color:var(--muted);max-width:570px}
  .specification-contact-btn{flex:0 0 auto;padding:10px 13px;border:1px solid var(--red-border);border-radius:6px;background:var(--red-dim);color:var(--text);font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
  .specification-contact-btn:hover{border-color:var(--red);background:rgba(204,43,43,.18)}

  /* Price breakdown */
  .price-card{background:linear-gradient(160deg,rgba(26,26,32,.96),rgba(18,18,22,.98));border:1px solid rgba(255,255,255,.10);border-radius:16px;overflow:hidden;margin-bottom:24px;box-shadow:0 18px 45px rgba(0,0,0,.20)}
  .price-card-rows{padding:10px 0}
  .price-row{display:flex;justify-content:space-between;align-items:center;padding:11px 20px;font-size:13px}
  .price-row+.price-row{border-top:1px solid rgba(255,255,255,0.04)}
  .price-row-label{color:var(--muted)}
  .price-row-val{font-family:var(--mono);font-size:13px}
  .price-row.discount .price-row-label,.price-row.discount .price-row-val{color:#9bd6a4}
  .price-divider{height:1px;background:var(--border);margin:0}
  .price-total-row{display:flex;justify-content:space-between;align-items:center;padding:14px 20px}
  .price-total-label{font-family:var(--mono);font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted)}
  .price-total-val{font-family:var(--display);font-size:38px;letter-spacing:0.05em}
  .price-total-val span{color:var(--red);font-size:24px}
  .price-min-note{font-size:11px;color:var(--muted);padding:0 20px 12px;font-family:var(--mono);letter-spacing:0.08em}
  .estimate-warning{margin:0 20px 18px;padding:0;color:rgba(255,255,255,.42);font-size:11px;line-height:1.55;text-align:left}
  .summary-warning{margin:16px 24px 20px;padding:0;color:rgba(255,255,255,.42);font-size:11px;line-height:1.55;text-align:left}

  /* Buttons */
  .btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:6px;font-family:var(--mono);font-size:12px;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;border:none;transition:all 0.2s;font-weight:500}
  .btn-primary{background:var(--red);color:#fff}
  .btn-primary:hover{background:#b52424}
  .btn-primary:disabled{background:rgba(204,43,43,0.4);cursor:not-allowed}
  .btn-outline{background:transparent;border:1px solid var(--border);color:var(--muted)}
  .btn-outline:hover{border-color:rgba(255,255,255,0.25);color:var(--text)}
  .btn-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px}

  /* Summary */
  .summary-card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:24px}
  .summary-head{padding:18px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
  .summary-head-title{font-family:var(--mono);font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted)}
  .summary-rows{padding:8px 0}
  .summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 24px;font-size:14px}
  .summary-row+.summary-row{border-top:1px solid rgba(255,255,255,0.04)}
  .summary-key{color:var(--muted);font-size:13px;flex:0 0 auto}.summary-val{font-weight:500;text-align:right;max-width:70%;overflow-wrap:anywhere}
  .summary-total{border-top:1px solid var(--border);padding:16px 24px;display:flex;justify-content:space-between;align-items:center}
  .total-label{font-family:var(--mono);font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted)}
  .total-val{font-family:var(--display);font-size:32px}

  /* Success */
  .success-screen{text-align:center;padding:60px 20px}
  .success-icon{width:72px;height:72px;border-radius:50%;background:rgba(34,197,94,0.1);border:1px solid rgba(34,197,94,0.25);display:flex;align-items:center;justify-content:center;margin:0 auto 28px}
  .success-icon svg{width:32px;height:32px;stroke:#22c55e;fill:none;stroke-width:2}
  .success-title{font-family:var(--display);font-size:52px;margin-bottom:14px}
  .success-msg{font-size:15px;color:var(--muted);line-height:1.7;max-width:480px;margin:0 auto}
  .attach-box{margin:24px auto;max-width:480px;background:var(--bg2);border:1px solid var(--red-border);border-radius:10px;padding:20px 24px;text-align:left}
  .attach-box-title{font-family:var(--mono);font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
  .attach-box-text{font-size:13px;color:var(--muted);line-height:1.6}
  .contact-links{display:flex;gap:12px;justify-content:center;margin-top:28px;flex-wrap:wrap}
  .contact-link{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:8px;font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;transition:all 0.2s;font-weight:500}
  .contact-link.whatsapp{background:rgba(37,211,102,0.12);border:1px solid rgba(37,211,102,0.3);color:#25d366}
  .contact-link.whatsapp:hover{background:rgba(37,211,102,0.2)}
  .contact-link.sms{background:rgba(100,160,255,0.1);border:1px solid rgba(100,160,255,0.25);color:#64a0ff}
  .contact-link.sms:hover{background:rgba(100,160,255,0.18)}
  .contact-link.email{background:rgba(234,67,53,0.1);border:1px solid rgba(234,67,53,0.28);color:#ea4335}
  .contact-link.email:hover{background:rgba(234,67,53,0.18)}
  .contact-link svg{width:16px;height:16px;fill:currentColor;flex-shrink:0}

  /* Image upload */
  .img-upload-zone{border:1.5px dashed rgba(255,255,255,0.1);border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:all 0.2s;position:relative;background:var(--bg3)}
  .img-upload-zone:hover,.img-upload-zone.drag-over{border-color:var(--red);background:var(--red-dim)}
  .img-upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
  .img-upload-label{font-family:var(--mono);font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted)}
  .img-upload-sub{font-size:12px;color:rgba(255,255,255,0.2);margin-top:4px}
  .img-previews{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
  .img-thumb{position:relative;width:80px;height:80px;border-radius:6px;overflow:hidden;border:1px solid var(--border)}
  .img-thumb img{width:100%;height:100%;object-fit:cover}
  .img-thumb-remove{position:absolute;top:3px;right:3px;width:18px;height:18px;background:rgba(0,0,0,0.7);border:none;border-radius:50%;color:#fff;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}

  .accent-bar{position:fixed;top:0;left:0;width:3px;height:100%;background:linear-gradient(to bottom,var(--red) 0%,var(--red) 30%,transparent 100%);z-index:100}
  .sending-overlay{display:none;position:fixed;inset:0;background:rgba(13,13,15,0.82);backdrop-filter:blur(8px);z-index:999;align-items:center;justify-content:center;padding:20px}
  .sending-overlay.visible{display:flex}
  .submission-progress-card{width:min(500px,100%);padding:30px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:#17181b;box-shadow:0 28px 90px rgba(0,0,0,.45);color:#f4f4f2}
  .sending-spinner{width:40px;height:40px;border:3px solid rgba(204,43,43,0.2);border-top-color:var(--red);border-radius:50%;animation:spin 0.8s linear infinite}
  @keyframes spin{to{transform:rotate(360deg)}}
  .sending-label{margin-top:16px;font-family:var(--mono);font-size:12px;letter-spacing:0.15em;text-transform:uppercase;color:#f3f3f1}
  .submission-progress-track{height:7px;margin-top:14px;border-radius:999px;overflow:hidden;background:#323338}.submission-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c62f35,#f15c62);transition:width .2s ease}
  .submission-stage-list{display:grid;gap:0;margin:20px 0 0;padding:0;list-style:none;border-top:1px solid #34363b}.submission-stage-list li{display:flex;align-items:center;gap:11px;min-height:44px;border-bottom:1px solid #34363b;color:#92959b;font-size:13px}.submission-stage-list .stage-icon{display:grid;place-items:center;width:22px;height:22px;border:1px solid #50535a;border-radius:50%;font:700 11px var(--mono);color:#a8abb0}.submission-stage-list li.current{color:#fff}.submission-stage-list li.current .stage-icon{border-color:#e14b50;color:#fff;background:#b82e34}.submission-stage-list li.complete{color:#c8d9ca}.submission-stage-list li.complete .stage-icon{border-color:#4f8a5b;background:#274d30;color:#bfe2c5}.submission-stage-list li.error{color:#ffb2b2}.submission-stage-list li.error .stage-icon{border-color:#d94a4f;background:#5a2729;color:#fff}.submission-leave-note{margin:16px 0 0;color:#aeb0b5;font-size:11px;line-height:1.5}



  /* Separate quote and custom-design flows */
  .standard-flow{display:block}
  .design-flow{display:none}
  body.design-mode .standard-flow{display:none}
  body.design-mode .design-flow{display:block}
  .design-note{margin-bottom:24px;padding:16px 18px;border:1px solid var(--red-border);border-radius:10px;background:var(--red-dim);font-size:13px;line-height:1.65;color:var(--muted)}
  .design-note strong{color:var(--text)}
  .design-summary-card{margin-bottom:24px}
  .design-choice-icon{font-size:25px;display:block;margin-bottom:8px}
  .lang-btn.choice{text-align:left;min-height:92px;line-height:1.45}
  .lang-btn.choice strong{display:block;color:var(--text);font-size:12px;margin-bottom:5px}
  .lang-btn.choice span{display:block;color:var(--muted);font-family:var(--sans);font-size:12px;letter-spacing:0;text-transform:none;font-weight:400}

  /* Language popup */
  .lang-popup{display:none;position:fixed;inset:0;background:rgba(13,13,15,0.78);backdrop-filter:blur(10px);z-index:998;align-items:center;justify-content:center;padding:24px}
  .lang-popup.visible{display:flex}
  .lang-card{width:min(440px,100%);background:var(--bg2);border:1px solid var(--red-border);border-radius:18px;padding:34px 28px;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,0.45)}
  .lang-kicker{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
  .lang-title{font-family:var(--display);font-size:42px;letter-spacing:0.05em;line-height:1;margin-bottom:10px}
  .lang-sub{font-size:14px;line-height:1.55;color:var(--muted);margin-bottom:24px}
  .lang-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .lang-btn{padding:15px 16px;border-radius:10px;border:1px solid var(--border);background:var(--bg3);color:var(--text);font-family:var(--mono);font-size:12px;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:all 0.2s}
  .lang-btn:hover{border-color:var(--red-border);background:var(--red-dim)}
  .lang-btn.primary{background:var(--red);border-color:var(--red);color:#fff}
  .nav-language-btn{background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;padding:8px 12px;cursor:pointer;margin-left:16px}
  .nav-language-btn:hover{border-color:var(--red-border);color:var(--text);background:var(--red-dim)}
  .currency-switch{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.025)}
  .currency-option{border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.36);padding:6px 9px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;cursor:pointer;transition:all .15s}
  .currency-option.active{background:rgba(255,255,255,.10);color:var(--text)}

  @media(max-width:600px){
    nav{padding:14px 20px} .nav-logo{width:38px;height:38px}
    main{padding:36px 16px 60px} .page-title{font-size:44px}
    .config-grid{grid-template-columns:1fr}
    .steps-bar{gap:4px} .step-pill{padding:7px 12px;font-size:10px} .step-connector{max-width:16px}
    .contact-links{flex-direction:column;align-items:center}
    .lang-actions{grid-template-columns:1fr}
    .file-units-card{align-items:stretch;flex-direction:column}.file-units-card select{width:100%}
    #viewerCanvas,#configViewerCanvas{height:300px}
    .dimension-badge{font-size:10px;padding:6px 8px}.specification-contact-card{align-items:stretch;flex-direction:column}.specification-contact-btn{width:100%}
    .nav-tag{display:none}.currency-option{padding:5px 7px}.nav-language-btn{margin-left:0}
  }

  /* Color picker swatches */
  .color-picker-wrap { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px; background: var(--bg2); border: 1px solid var(--border); border-radius: 6px; }
  .color-swatch { width: 32px; height: 32px; border-radius: 6px; cursor: pointer; border: 2px solid transparent; transition: all 0.15s; position: relative; flex-shrink: 0; }
  .color-swatch:hover { transform: scale(1.12); }
  .color-swatch.selected { border-color: #fff; box-shadow: 0 0 0 2px var(--red); }
  .color-swatch[data-color="clear"] { background: linear-gradient(135deg, #fff 40%, #cce8ff 100%); border: 2px solid rgba(255,255,255,0.25); }
  .color-swatch[data-color="clear"]::after { display: none; }
  .color-swatch-row { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
  .color-label { font-family: var(--mono); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); margin-top: 2px; }
  .selected-color-name { font-family: var(--mono); font-size: 11px; color: var(--text); margin-top: 8px; letter-spacing: 0.08em; }


/* Accessibility and multi-device improvements */
.visually-hidden-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
button.step-pill{background:transparent;text-align:left}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.color-swatch:focus-visible{outline:3px solid #ff6767;outline-offset:3px}
.field-error-message{display:block;margin-top:7px;color:#b4232a;font-size:11px;line-height:1.4}.field-error-message:empty{display:none}[aria-invalid="true"]{border-color:#c83d43!important;box-shadow:0 0 0 2px rgba(200,61,67,.12)!important}html[data-theme="dark"] .field-error-message{color:#ff9ca1}
.color-swatch{width:52px;height:52px;border:0;padding:0;overflow:hidden}
.color-swatch .swatch-name{display:none;position:absolute;inset:0;align-items:center;justify-content:center;padding:3px;font:700 8px/1.1 var(--sans);letter-spacing:.02em;text-align:center;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9);background:rgba(0,0,0,.18)}
.color-swatch.selected .swatch-name{display:flex}.color-swatch[data-color="white"] .swatch-name,.color-swatch[data-color="yellow"] .swatch-name,.color-swatch[data-color="clear"] .swatch-name{color:#151515;text-shadow:0 1px 2px rgba(255,255,255,.8);background:rgba(255,255,255,.18)}
.file-remove,.mesh-diagnostics-close{min-width:44px;min-height:44px}.qty-btn{width:44px;min-height:44px}
.profile-card{grid-column:1/-1;padding:16px 18px;border:1px solid rgba(85,155,214,.3);border-radius:10px;background:rgba(85,155,214,.07)}
.profile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.profile-card-copy{min-width:0;flex:1}
.profile-card-title{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--text);margin-bottom:6px}
.profile-card-description{font-size:12px;line-height:1.55;color:rgba(255,255,255,.62)}
.profile-card select{width:min(260px,100%);flex:0 0 auto}
.profile-assumptions{margin-top:11px;font-family:var(--mono);font-size:10px;line-height:1.65;color:rgba(255,255,255,.48)}
.security-note{margin-top:12px;font-size:11px;line-height:1.55;color:rgba(255,255,255,.42)}
.project-switch-row{display:flex;justify-content:flex-start;margin:-26px 0 34px}
.project-switch-btn{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 14px;border:1px solid rgba(255,255,255,.17);border-radius:9px;background:rgba(255,255,255,.045);color:rgba(255,255,255,.78);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.project-switch-btn:hover{border-color:rgba(255,103,103,.58);background:rgba(255,103,103,.08);color:#fff}
.project-switch-icon{font-size:18px;line-height:1;color:#ff7777}
.notes-conflict-warning{display:none;margin-top:10px;padding:12px 14px;border:1px solid rgba(255,190,76,.45);border-radius:8px;background:rgba(255,190,76,.08);color:#e8c985;font-size:12px;line-height:1.55}
.notes-conflict-warning.visible{display:block}
.quote-validity-note{margin-top:12px;color:rgba(255,255,255,.48);font-family:var(--mono);font-size:10px;line-height:1.55;letter-spacing:.04em}
@media(max-width:760px){
  nav{flex-wrap:wrap;gap:10px}.nav-brand-wrap{min-width:0}nav>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:7px!important}
  .steps-bar{overflow-x:auto;scrollbar-width:thin;padding:3px 3px 8px}.step-pill{flex:0 0 auto;min-height:44px}.step-connector{min-width:10px}
  .btn-row{gap:10px}.btn{min-height:46px;justify-content:center}
  .profile-card-head{flex-direction:column}.profile-card select{width:100%}
}
@media(max-width:520px){
  main{padding-left:14px;padding-right:14px}.page-title{font-size:40px}.page-sub{margin-bottom:32px}
  nav{padding:12px 14px}.nav-brand{font-size:22px}.nav-sub{font-size:8px}.currency-switch{order:2}
  .steps-bar{margin-bottom:32px}.step-pill{padding:7px 10px;font-size:9px;gap:7px}.step-connector{display:none}
  .upload-zone{padding:42px 18px}.config-grid{gap:16px}.btn-row{flex-direction:column-reverse;align-items:stretch}.btn-row .btn{width:100%}
  select,input[type="text"],input[type="email"],input[type="number"],textarea{font-size:16px}
  .price-total-val{font-size:32px}.summary-row{align-items:flex-start;gap:14px}.summary-val{max-width:62%}
  .lang-popup{padding:14px}.lang-card{padding:28px 20px;max-height:calc(100vh - 28px);overflow:auto}
  #viewerCanvas,#configViewerCanvas{height:260px}.dimension-badge{padding:7px;min-height:36px}
  .project-switch-row{margin:-20px 0 28px}.project-switch-btn{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.legal-consent{display:flex!important;align-items:flex-start;gap:11px;padding:14px 15px;border:1px solid var(--border);border-radius:10px;background:var(--bg3);color:var(--muted);font-family:var(--sans);font-size:13px;font-weight:400;letter-spacing:0;line-height:1.55}
.legal-consent input{width:18px;height:18px;flex:0 0 18px;margin-top:1px;accent-color:var(--red)}
.legal-consent span{display:block}
.legal-consent a{color:var(--red);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.legal-consent:has(input:focus-visible){outline:2px solid var(--red);outline-offset:2px}
.legal-consent:has(input[aria-invalid="true"]){border-color:var(--red);background:var(--red-dim)}
.legal-consent .field-error-message{display:block;margin-top:5px;color:var(--red);font-size:12px;font-weight:700}
.quote-contact-footer{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px clamp(22px,4vw,56px);border-top:1px solid var(--border);background:var(--bg2);color:var(--muted)}
.quote-contact-footer>div{display:flex;flex-direction:column;gap:4px;font-size:13px}.quote-contact-footer strong{color:var(--text);font-size:14px}
.quote-contact-footer nav{position:static;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 20px;padding:0;border:0;background:transparent;backdrop-filter:none}
.quote-contact-footer a{color:var(--text);font-size:13px;font-weight:600;text-decoration:none}.quote-contact-footer a:hover,.quote-contact-footer a:focus-visible{color:var(--red);text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.quote-contact-footer{align-items:flex-start;flex-direction:column;padding-bottom:112px}.quote-contact-footer nav{align-items:flex-start;flex-direction:column;gap:12px}}

/* 2026 professional quote workspace */
:root{
  --red:#d92d2d;--red-dim:#fff1f0;--red-border:#efb6b2;
  --bg:#f5f5f2;--bg2:#ffffff;--bg3:#f0f0ed;
  --border:#d9d9d4;--text:#171719;--muted:#6f706d;
  --display:'DM Sans',sans-serif;
}
body{background:#f5f5f2;color:var(--text)}
body::before{display:none}
nav{position:sticky;top:0;background:rgba(255,255,255,.94);border-color:#dfdfda;padding:14px clamp(18px,4vw,52px);box-shadow:0 1px 0 rgba(0,0,0,.02)}
.nav-logo{width:42px;height:42px}.nav-brand{font-family:var(--sans);font-size:18px;font-weight:700;letter-spacing:.035em}.nav-brand .dim{color:#777;font-size:15px}.nav-sub,.nav-tag{color:#777}
.currency-switch,.nav-language-btn{background:#f4f4f1!important;border-color:#d7d7d2!important;color:#30302e!important}
.currency-option{color:#777!important}.currency-option.active{background:#fff!important;color:#151515!important;box-shadow:0 1px 4px rgba(0,0,0,.12)}
main{max-width:1120px;padding:54px 28px 90px}
main{padding-top:30px}
.page-title{max-width:760px;font-family:var(--sans);font-size:clamp(38px,5vw,58px);font-weight:600;line-height:1.02;letter-spacing:-.045em;margin-bottom:12px}.page-title em{letter-spacing:-.045em}
.page-sub{max-width:720px;color:#686966;font-size:16px;line-height:1.55;margin-bottom:18px}
.project-switch-row{margin:0 0 24px}.project-switch-btn{background:#fff;border-color:#d6d6d1;color:#353532;text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:13px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.steps-bar{position:relative;margin-bottom:24px;padding:8px;background:#ecece8;border:1px solid #deded8;border-radius:14px;gap:5px}.step-connector{display:none}.step-pill{flex:1;justify-content:center;border:0;border-radius:9px;color:#72736f;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;padding:10px}.step-pill.active{background:#fff;color:#171719;border:0;box-shadow:0 1px 5px rgba(0,0,0,.10)}.step-pill.done{color:#393a37;border:0}.step-num{background:#dadad5}.step-pill.active .step-num{background:#d92d2d}.step-pill.done .step-num{background:#d7ead9;color:#215c2b}
.panel.active{display:block}.panel{background:#fff;border:1px solid #deded8;border-radius:18px;padding:28px;box-shadow:0 12px 38px rgba(31,31,28,.055)}
.upload-zone{background:#fafaf8;border:1px dashed #bdbdb6;border-radius:14px;padding:54px 32px}.upload-zone:hover,.upload-zone.drag-over{background:#fff8f7;border-color:#d92d2d;box-shadow:inset 0 0 0 1px #d92d2d}.upload-icon{background:#fff;border:1px solid #dfdfda;box-shadow:0 5px 14px rgba(0,0,0,.06)}.upload-icon svg{stroke:#444}.upload-title{font-size:20px}.upload-sub{color:#747570;text-transform:none;letter-spacing:.02em;font-family:var(--sans);font-size:12px}
.upload-divider,.other-format-btn{color:#747570}.other-format-btn{background:#fff;border-color:#d8d8d3;text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:13px}.other-format-btn:hover{border-color:#aaa;color:#222}
.file-info,.geo-stats,.file-units-card,.analysis-status,.other-format-panel{background:#f7f7f4;border-color:#deded8}.file-remove{background:#e6e6e1;color:#555}.geo-stat-label,.viewer-header-label,.viewer-hint{color:#8a8b87}.geo-stat-val,.file-units-title{color:#171719}
.file-error{color:#8b1d1d}.device-analysis-advice{color:#31536e;background:#f0f7fc}.mesh-repair-notice{color:#704d13}.mesh-repair-title{color:#8a5c0c}
.model-queue{margin:22px 0 6px;border:1px solid #dcdcd7;border-radius:15px;background:#fff;overflow:hidden}.model-queue[hidden]{display:none}.model-queue-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid #e4e4df}.section-kicker{display:block;color:#8a8a85;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}.model-queue-head h2{font-size:20px;letter-spacing:-.02em}.add-model-btn{border:1px solid #cfcfc9;background:#f8f8f5;color:#222;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer}.add-model-btn:hover{background:#eee}.model-list{display:grid}.model-line{display:grid;grid-template-columns:1fr auto;align-items:stretch;border-bottom:1px solid #e8e8e3}.model-line:last-child{border-bottom:0}.model-line.active{background:#fff8f7;box-shadow:inset 3px 0 #d92d2d}.model-line-main{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;border:0;background:transparent;color:#1d1d1f;text-align:left;cursor:pointer}.model-line-main:disabled{cursor:default}.model-index{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#eeeeea;color:#6e6f6b;font:600 11px var(--mono)}.model-line-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.model-line-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.model-line-copy small{color:#777873;font-size:12px}.model-line-copy em{color:#286b38;font-size:11px;font-style:normal}.model-line-price{font:600 13px var(--mono);white-space:nowrap}.model-delete{width:46px;border:0;border-left:1px solid #e6e6e1;background:transparent;color:#888;font-size:20px;cursor:pointer}.model-delete:hover{background:#fff0ef;color:#b51f1f}.batch-policy{display:flex;align-items:flex-start;gap:12px;padding:13px 20px;background:#f4f7f3;border-top:1px solid #dce7dc;color:#526153;font-size:12px}.batch-policy strong{color:#295b31;white-space:nowrap}
.config-viewer-card,.viewer-wrap{border-color:#34353a;background:#18191d;box-shadow:0 14px 32px rgba(0,0,0,.13)}.config-viewer-header,.viewer-header{border-color:#33343a}.config-viewer-title,.config-viewer-note,.viewer-header-label,.viewer-hint{color:#a6a7aa}.config-viewer-material{color:#fff}
.config-grid{gap:18px}.field-group{gap:7px}label{color:#666762;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.055em}
select,input[type="text"],input[type="email"],input[type="number"],textarea,.qty-wrap,.scale-input-wrap{background:#fff;border-color:#cecec8;color:#191919;border-radius:8px}.qty-btn{color:#666}.qty-btn:hover{background:#f0f0ec;color:#111}.field-help,.profile-assumptions,.security-note,.specification-contact-copy{color:#797a76}.scale-suffix{border-color:#d7d7d1;color:#666}
.color-picker-wrap{background:#f7f7f4!important;border-color:#d9d9d3!important}.color-swatch{box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.color-swatch.selected{outline-color:#d92d2d!important}
.profile-card,.specification-contact-card{background:#f6f6f3;border-color:#d9d9d3}.profile-card-title,.specification-contact-title{color:#292927}.profile-card-description{color:#6f706d}.specification-contact-btn{background:#fff;border-color:#d8a19e;color:#a32626;text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:12px}
.capacity-warning{color:#7e2222}.manufacturing-warning{color:#725019}.notes-conflict-warning{color:#735113}
.price-card{background:#171719;border-color:#171719;box-shadow:0 16px 38px rgba(0,0,0,.16)}.price-row+.price-row{border-color:#303034}.price-row-label,.price-total-label,.estimate-warning,.quote-validity-note,.price-min-note{color:#a9a9ad}.price-row-val,.price-total-val{color:#fff}.price-row.discount .price-row-label,.price-row.discount .price-row-val{color:#9dd6a5}.price-row.muted-saving{opacity:.72}.price-divider{background:#36363a}
.summary-card{background:#fff;border-color:#d9d9d3}.summary-head,.summary-total{border-color:#deded8}.summary-head-title,.summary-key,.total-label{color:#6f706d}.summary-row+.summary-row{border-color:#ecece8}.summary-val,.total-val{color:#171719}.summary-key small{display:block;margin-top:5px;color:#858680;font-size:11px;font-weight:400}.model-summary-row{align-items:flex-start}.summary-row.discount .summary-key,.summary-row.discount .summary-val{color:#2f723e}
.btn{border-radius:8px;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:0;text-transform:none;padding:13px 22px}.btn-outline{border-color:#cecec8;color:#4d4e4b;background:#fff}.btn-outline:hover{border-color:#999;color:#111}.btn-primary{background:#d92d2d}.btn-primary:hover{background:#bd2525}
.summary-warning{color:#777}.attach-box{background:#fff;border-color:#dfb8b5}.attach-box-text,.success-msg{color:#696a66}.success-title{font-family:var(--sans);font-weight:600;letter-spacing:-.035em}.contact-link{font-family:var(--sans);letter-spacing:0;text-transform:none}
@media(max-width:760px){main{padding:30px 14px 60px}.panel{padding:18px;border-radius:13px}.model-queue-head{align-items:flex-start;flex-direction:column}.add-model-btn{width:100%}.model-line-main{grid-template-columns:32px minmax(0,1fr);gap:10px}.model-line-price{grid-column:2}.batch-policy{flex-direction:column;gap:4px}.steps-bar{padding:5px}.step-pill{min-width:112px}.page-sub{font-size:15px}.config-grid{grid-template-columns:1fr}}

/* Adaptive configure workspace and user-selectable color theme */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:7px 11px;border:1px solid #d7d7d2;border-radius:999px;background:#f4f4f1;color:#30302e;font:600 10px var(--sans);cursor:pointer;transition:border-color .18s,background .18s,color .18s}
.theme-toggle:hover{border-color:#aaa;background:#fff}.theme-toggle-icon{font-size:14px;line-height:1}

#panel-2{padding:18px}
.configure-workspace{display:grid;grid-template-columns:minmax(210px,250px) minmax(380px,1fr) minmax(390px,470px);gap:18px;align-items:start}
.configure-model-rail,.configure-controls,.configure-preview{min-width:0}
.configure-model-rail{position:sticky;top:88px;overflow:hidden;border:1px solid #deded8;border-radius:13px;background:#fafaf8}
.configure-model-list{max-height:calc(100vh - 250px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.configure-rail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;border-bottom:1px solid #e2e2dd}
.configure-rail-head h2,.configure-column-title h2{font-size:18px;line-height:1.15;letter-spacing:-.025em}
.configure-add-model{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border:1px solid #d1d1cb;border-radius:8px;background:#fff;color:#20201e;font-size:20px;cursor:pointer}
.configure-add-model:hover{border-color:#a7a7a1;background:#f1f1ed}
.configure-model-list .model-line-main{grid-template-columns:30px minmax(0,1fr);gap:9px;padding:13px 11px}
.configure-model-list .model-index{width:30px;height:30px}
.configure-model-list .model-line-price{grid-column:2;font-size:11px}
.configure-model-list .model-delete{width:38px}
.configure-model-list .model-line-copy strong{display:flex;align-items:center;gap:6px;font-size:12px}.configure-model-list .model-line-copy small,.configure-model-list .model-line-copy em{font-size:10px;line-height:1.35}.model-card-status{display:inline-flex;flex:0 0 auto;padding:2px 5px;border-radius:4px;background:#eee;color:#666;font:700 8px var(--mono);letter-spacing:.03em;text-transform:uppercase}.model-line[data-status="ready"] .model-card-status{background:#e5f3e7;color:#286b38}.model-line.active .model-card-status{background:#f6dede;color:#9d2727}.model-finish{color:#4f504c!important}.shared-build-badge{align-self:flex-start;padding:3px 6px;border-radius:999px;background:#e7f3e7;color:#276437!important;font-weight:700}.model-line.active .model-index{background:#d92d2d;color:#fff}
.configure-batch-note{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-top:1px solid #dce7dc;background:#f3f7f2;color:#5e695f;font-size:10px;line-height:1.4}.configure-batch-note strong{color:#2e6737;font-size:9px;letter-spacing:.1em}
.configure-column-title{margin-bottom:16px;padding:3px 1px 14px;border-bottom:1px solid #e5e5e0}.selected-model-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.selected-model-heading h2{max-width:430px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-model-price{flex:0 0 auto;color:#6d6d68;font:600 10px var(--mono);text-align:right}
.configure-controls .config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.configure-controls .specification-contact-card{grid-column:1/-1}
.configure-preview{position:sticky;top:88px;display:grid;gap:16px}
.configure-preview .config-viewer-card,.configure-preview .price-card{margin:0}
.configure-preview #configViewerCanvas{height:clamp(350px,42vh,510px)}
.configure-preview .config-viewer-header{align-items:flex-start}.configure-preview .config-viewer-note{max-width:190px;line-height:1.4}
#panel-2>.btn-row{margin-top:18px;padding-top:18px;border-top:1px solid #e3e3de}
.project-mini-summary{position:sticky;top:10px;z-index:8;display:flex;align-items:center;justify-content:center;gap:22px;width:max-content;max-width:100%;margin:0 auto 14px;padding:9px 16px;border:1px solid #d6d6d0;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 8px 25px rgba(0,0,0,.08);backdrop-filter:blur(12px);color:#676762;font-size:11px}.project-mini-summary[hidden]{display:none}.project-mini-summary span+span{padding-left:22px;border-left:1px solid #deded8}.project-mini-summary strong{color:#1d1d1f}
.finish-help{min-height:34px}
.model-navigation{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #e4e4df}.model-nav-btn,.copy-settings-btn{min-height:40px;padding:9px 12px;border:1px solid #d2d2cc;border-radius:8px;background:#fff;color:#333;font:600 11px var(--sans);cursor:pointer}.model-nav-btn.next{text-align:right}.model-nav-btn:disabled,.copy-settings-btn:disabled{opacity:.4;cursor:not-allowed}.model-nav-btn:not(:disabled):hover,.copy-settings-btn:not(:disabled):hover{border-color:#aaa;background:#f4f4f1}.copy-settings-btn{color:#a42222;border-color:#e2bcbc;background:#fff8f7}
.project-price-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:16px 18px 13px;border-bottom:1px solid #303034;color:#fff}.project-price-head div{display:flex;flex-direction:column;gap:3px}.project-price-head span{color:#a9a9ad;font:500 9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.project-price-head strong{font-size:15px}.project-price-head>span{text-align:right;text-transform:none;letter-spacing:0}
.copy-settings-dialog{width:min(520px,calc(100vw - 28px));padding:0;border:1px solid #d6d6d0;border-radius:16px;background:#fff;color:#1d1d1f;box-shadow:0 30px 90px rgba(0,0,0,.3)}.copy-settings-dialog::backdrop{background:rgba(15,15,17,.56);backdrop-filter:blur(4px)}.copy-settings-dialog form{display:grid;gap:16px;padding:22px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dialog-head span{color:#888;font:700 9px var(--mono);letter-spacing:.1em;text-transform:uppercase}.dialog-head h2{margin-top:4px;font-size:22px}.dialog-head button{border:0;background:transparent;color:#777;font-size:25px;cursor:pointer}.copy-settings-dialog p{color:#6c6c68;font-size:13px;line-height:1.5}.copy-settings-dialog>form>label,.copy-settings-dialog legend{color:#666;font:700 10px var(--mono);letter-spacing:.06em;text-transform:uppercase}.copy-settings-dialog select{width:100%}.copy-settings-dialog fieldset{display:flex;flex-wrap:wrap;gap:9px 18px;padding:13px;border:1px solid #e0e0db;border-radius:9px}.copy-settings-dialog legend{padding:0 5px}.copy-settings-dialog fieldset label{display:flex;align-items:center;gap:7px;font-size:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:2px}.dialog-actions .btn{min-height:42px}

@media(min-width:1380px){main{max-width:1540px;padding-left:34px;padding-right:34px}.configure-workspace{grid-template-columns:260px minmax(430px,1fr) minmax(420px,500px)}}
@media(min-width:1700px){main{max-width:1720px}.configure-workspace{grid-template-columns:280px minmax(500px,1fr) 540px}.configure-preview #configViewerCanvas{height:540px}}

@media(max-width:1179px) and (min-width:821px){
  main{max-width:1040px}.configure-workspace{grid-template-columns:220px minmax(0,1fr)}
  .configure-model-rail{grid-column:1;grid-row:1 / span 2}
  .configure-preview{grid-column:2;grid-row:1;position:static;grid-template-columns:1fr;align-items:start}
  .configure-preview #configViewerCanvas{height:360px}.configure-controls{grid-column:2;grid-row:2}
  .configure-preview .price-card{height:100%}
}
@media(max-width:1179px) and (min-width:1050px){.configure-preview{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}}

@media(max-width:820px){
  #panel-2{padding:16px}.configure-workspace{display:flex;flex-direction:column;gap:16px}
  .configure-model-rail,.configure-controls,.configure-preview{position:static;width:100%}
  .configure-model-rail{order:1}.configure-preview{order:2}.configure-controls{order:3}
  .configure-model-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .configure-model-list{max-height:none;overflow:visible}
  .configure-model-list .model-line{border-right:1px solid #e8e8e3}.configure-model-list .model-line:nth-child(even){border-right:0}
  .configure-preview #configViewerCanvas{height:min(52vh,420px)}
}
@media(max-width:560px){
  .theme-toggle{width:36px;padding:7px}.theme-toggle #themeToggleLabel{display:none}
  .configure-model-list{grid-template-columns:1fr}.configure-model-list .model-line{border-right:0}
  .configure-controls .config-grid{grid-template-columns:1fr}.configure-column-title{margin-top:4px}
  .configure-preview #configViewerCanvas{height:300px}.configure-preview .config-viewer-note{display:none}
  .project-mini-summary{top:6px;width:100%;gap:8px;padding:8px 10px;border-radius:10px;font-size:9px}.project-mini-summary span+span{padding-left:8px}.selected-model-heading{align-items:flex-start;flex-direction:column;gap:7px}.selected-model-price{text-align:left}.model-navigation{grid-template-columns:1fr 1fr}.copy-settings-btn{grid-column:1/-1;grid-row:2}.model-nav-btn.next{text-align:center}.model-nav-btn{text-align:center}.nav-home-link{display:none}
}

html[data-theme="dark"]{
  --red:#e45151;--red-dim:#2b1b1c;--red-border:#6d3436;
  --bg:#111214;--bg2:#191a1d;--bg3:#222327;
  --border:#34363b;--text:#f1f1ef;--muted:#a2a4a8;
}
html[data-theme="dark"] body{background:#111214;color:#f1f1ef}
html[data-theme="dark"] nav{background:rgba(25,26,29,.95);border-color:#34363b;box-shadow:0 1px 0 rgba(255,255,255,.025)}
html[data-theme="dark"] .nav-brand .dim,html[data-theme="dark"] .nav-sub,html[data-theme="dark"] .nav-tag{color:#a2a4a8}
html[data-theme="dark"] .currency-switch,html[data-theme="dark"] .nav-language-btn,html[data-theme="dark"] .theme-toggle{background:#222327!important;border-color:#3b3d42!important;color:#e7e7e4!important}
html[data-theme="dark"] .currency-option{color:#9b9da1!important}html[data-theme="dark"] .currency-option.active{background:#35373c!important;color:#fff!important}
html[data-theme="dark"] .page-sub{color:#aaacae}html[data-theme="dark"] .project-switch-btn{background:#1b1c1f;border-color:#393b40;color:#dadbd8}
html[data-theme="dark"] .steps-bar{background:#191a1d;border-color:#34363b}html[data-theme="dark"] .step-pill{color:#9b9da1}html[data-theme="dark"] .step-pill.active{background:#2a2b2f;color:#fff}
html[data-theme="dark"] .panel{background:#191a1d;border-color:#34363b;box-shadow:0 16px 46px rgba(0,0,0,.2)}
html[data-theme="dark"] .upload-zone{background:#1d1e21;border-color:#484a50}html[data-theme="dark"] .upload-zone:hover{background:#241b1c;border-color:#e45151}html[data-theme="dark"] .upload-icon{background:#26272b;border-color:#42444a}html[data-theme="dark"] .upload-icon svg{stroke:#ddd}
html[data-theme="dark"] .upload-sub,html[data-theme="dark"] .upload-divider,html[data-theme="dark"] .other-format-btn{color:#a2a4a8}html[data-theme="dark"] .other-format-btn{background:#1e1f22;border-color:#3b3d42}
html[data-theme="dark"] .model-queue,html[data-theme="dark"] .configure-model-rail{background:#1d1e21;border-color:#37393e}html[data-theme="dark"] .model-queue-head,html[data-theme="dark"] .configure-rail-head{border-color:#34363b}html[data-theme="dark"] .add-model-btn,html[data-theme="dark"] .configure-add-model{background:#292a2e;border-color:#414349;color:#f1f1ef}
html[data-theme="dark"] .model-line{border-color:#32343a}html[data-theme="dark"] .model-line.active{background:#2a1d1e}html[data-theme="dark"] .model-line-main{color:#f1f1ef}html[data-theme="dark"] .model-index{background:#303136;color:#bbb}html[data-theme="dark"] .model-line-copy small{color:#a2a4a8}html[data-theme="dark"] .model-delete{border-color:#34363b;color:#aaa}
html[data-theme="dark"] .model-card-status{background:#303136;color:#bbb}html[data-theme="dark"] .model-line[data-status="ready"] .model-card-status{background:#1f3a27;color:#9bd3a4}html[data-theme="dark"] .model-line.active .model-card-status{background:#4c2528;color:#f0aaaa}html[data-theme="dark"] .model-finish{color:#b5b6b3!important}html[data-theme="dark"] .shared-build-badge{background:#1d3a24;color:#9bd3a4!important}
html[data-theme="dark"] .batch-policy,html[data-theme="dark"] .configure-batch-note{background:#1d2720;border-color:#314337;color:#a8b6aa}html[data-theme="dark"] .batch-policy strong,html[data-theme="dark"] .configure-batch-note strong{color:#86c18f}
html[data-theme="dark"] .configure-column-title,html[data-theme="dark"] #panel-2>.btn-row{border-color:#34363b}
html[data-theme="dark"] .project-mini-summary{background:rgba(30,31,34,.94);border-color:#404247;color:#aaa;box-shadow:0 8px 25px rgba(0,0,0,.3)}html[data-theme="dark"] .project-mini-summary span+span{border-color:#44464b}html[data-theme="dark"] .project-mini-summary strong{color:#fff}html[data-theme="dark"] .selected-model-price{color:#aaa}html[data-theme="dark"] .model-nav-btn{background:#242529;border-color:#414349;color:#ddd}html[data-theme="dark"] .copy-settings-btn{background:#2d2021;border-color:#6a373a;color:#efa1a1}html[data-theme="dark"] .model-navigation{border-color:#34363b}
html[data-theme="dark"] .copy-settings-dialog{background:#202125;border-color:#3e4045;color:#f1f1ef}html[data-theme="dark"] .copy-settings-dialog p{color:#a3a4a7}html[data-theme="dark"] .copy-settings-dialog fieldset{border-color:#3d3f44}html[data-theme="dark"] .copy-settings-dialog select{background:#292a2e;border-color:#414349;color:#f1f1ef}
html[data-theme="dark"] label{color:#b4b5b7}html[data-theme="dark"] select,html[data-theme="dark"] input[type="text"],html[data-theme="dark"] input[type="email"],html[data-theme="dark"] input[type="number"],html[data-theme="dark"] textarea,html[data-theme="dark"] .qty-wrap,html[data-theme="dark"] .scale-input-wrap{background:#232428;border-color:#414349;color:#f1f1ef}
html[data-theme="dark"] .qty-btn{color:#bbb}html[data-theme="dark"] .qty-btn:hover{background:#32343a;color:#fff}html[data-theme="dark"] .scale-suffix{border-color:#414349;color:#aaa}
html[data-theme="dark"] .color-picker-wrap,html[data-theme="dark"] .profile-card,html[data-theme="dark"] .specification-contact-card{background:#202125!important;border-color:#3a3c41!important}html[data-theme="dark"] .profile-card-title,html[data-theme="dark"] .specification-contact-title{color:#eee}html[data-theme="dark"] .profile-card-description,html[data-theme="dark"] .field-help,html[data-theme="dark"] .profile-assumptions,html[data-theme="dark"] .security-note,html[data-theme="dark"] .specification-contact-copy{color:#a1a3a7}
html[data-theme="dark"] .specification-contact-btn{background:#292a2e;border-color:#754246;color:#f09a9a}
html[data-theme="dark"] .file-info,html[data-theme="dark"] .geo-stats,html[data-theme="dark"] .file-units-card,html[data-theme="dark"] .analysis-status,html[data-theme="dark"] .other-format-panel{background:#202125;border-color:#3a3c41}html[data-theme="dark"] .geo-stat-val,html[data-theme="dark"] .file-units-title{color:#f1f1ef}

/* Decision support, project readiness, and final review */
.analysis-stage-list{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:13px 0 0;padding:0;list-style:none}.analysis-stage-list li{display:flex;align-items:center;gap:6px;min-width:0;color:var(--muted);font-family:var(--sans);font-size:10px;letter-spacing:0}.analysis-stage-list li span{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--border)}.analysis-stage-list li.active{color:var(--text)}.analysis-stage-list li.active span{background:var(--red);box-shadow:0 0 0 3px var(--red-dim)}.analysis-stage-list li.done{color:#387444}.analysis-stage-list li.done span{background:#52a35f}
.project-issue-center{margin:0 0 18px;padding:16px;border:1px solid #c9dbc9;border-radius:14px;background:#f6faf5}.project-issue-center.has-blocking{border-color:#e3c9a6;background:#fffaf2}.project-issue-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.project-issue-head strong{display:block;margin-top:3px;font-size:17px}.project-issue-head>span{padding:5px 9px;border-radius:999px;background:#e5efe4;color:#32613a;font-size:11px;font-weight:700}.project-issue-center.has-blocking .project-issue-head>span{background:#f5e5cd;color:#80551b}.project-issue-list{display:grid;gap:7px;margin-top:12px}.project-issue{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer}.project-issue>span,.project-ready-message>span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#fae6e1;color:#9a3328;font-weight:800}.project-issue.advisory>span{background:#e8eef7;color:#345d89}.project-issue strong{font-size:12px}.project-issue em{color:var(--red);font-size:11px;font-style:normal}.project-ready-message{display:flex;align-items:center;gap:9px;color:#35683d;font-size:12px}.project-ready-message>span{background:#dcefdc;color:#35683d}
.material-guide{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface-2,#f7f7f4)}.material-guide-summary{display:grid;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:13px 15px;cursor:pointer;list-style:none}.material-guide-summary::-webkit-details-marker{display:none}.material-guide-summary:focus-visible{outline:2px solid var(--red);outline-offset:-2px}.material-guide-summary strong,.material-guide-summary small{display:block}.material-guide-summary strong{font-size:13px}.material-guide-summary small{margin-top:2px;color:var(--muted);font-size:10px;font-weight:400}.material-guide-icon{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--border);border-radius:50%;color:var(--muted);font-weight:700}.material-guide-chevron{color:var(--muted);font-size:18px;transition:transform .2s}.material-guide[open] .material-guide-chevron{transform:rotate(180deg)}.material-guide[open] .material-guide-summary{border-bottom:1px solid var(--border)}.material-guide-body{padding:15px}.material-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.material-guide-head strong{display:block;margin-top:3px;font-size:15px}.material-guide-reset{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:11px}.material-goals{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.material-goals button{padding:8px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:11px;cursor:pointer}.material-goals button:hover,.material-goals button.selected{border-color:var(--red);background:var(--red-dim);color:var(--red)}.material-recommendation{margin-top:11px;color:var(--muted);font-size:11px;line-height:1.5}.material-recommendation.active{display:grid;gap:2px;padding:10px;border-left:3px solid var(--red);background:var(--surface)}.material-recommendation.active strong{color:var(--text);font-size:13px}.material-recommendation.active small{color:var(--muted)}
.material-spec-library{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.material-spec-library>summary{cursor:pointer;color:var(--text);font-size:11px;font-weight:700}.material-spec-list{display:grid;gap:8px;margin-top:10px}.material-spec-card{border:1px solid var(--border);border-radius:9px;background:var(--surface);overflow:hidden}.material-spec-card>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;cursor:pointer;font-size:12px;font-weight:700}.material-spec-card>summary span{color:var(--muted);font:700 8px var(--mono);letter-spacing:.08em}.material-spec-body{padding:2px 12px 12px}.material-property-section{margin-top:12px}.material-property-section h4{margin:0 0 6px;color:var(--muted);font:700 9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.material-spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.material-spec-grid div{padding:8px;border-radius:6px;background:var(--surface-2)}.material-spec-grid small,.material-spec-grid strong{display:block}.material-spec-grid small{color:var(--muted);font-size:9px}.material-spec-grid strong{margin-top:2px;font-size:11px;line-height:1.35}.material-spec-note{margin:11px 0 0;color:var(--muted);font-size:9px;line-height:1.5}
.note-photo-uploader{display:grid;gap:8px;margin-top:10px;padding:12px;border:1px dashed var(--border);border-radius:10px;background:var(--surface-2)}.photo-add-btn{justify-self:start;padding:8px 11px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);font-size:11px;font-weight:700;cursor:pointer}.photo-add-btn:hover{border-color:var(--red);color:var(--red)}.note-photo-uploader>small{color:var(--muted);font-size:9px}.note-photo-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:8px}.note-photo-preview{position:relative;min-width:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.note-photo-preview img{display:block;width:100%;height:76px;object-fit:cover}.note-photo-preview span{display:block;padding:6px 7px;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.note-photo-remove{position:absolute;right:5px;top:5px;display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:50%;background:rgba(15,15,17,.82);color:#fff;cursor:pointer}.design-photo-uploader{margin-top:14px}
.capacity-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.capacity-action{padding:8px 11px;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;font:600 11px var(--sans);cursor:pointer}.capacity-action.primary{background:var(--red);border-color:var(--red);color:#fff}.capacity-actions .file-error-action{margin:0}
.price-card{position:relative}.price-change-toast{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:8px;max-width:calc(100% - 28px);padding:9px 11px;border:1px solid #cfd7cc;border-radius:9px;background:#f5faf3;color:#315c35;box-shadow:0 10px 28px rgba(0,0,0,.12);font-size:11px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}.price-change-toast.visible{opacity:1;transform:none}.price-change-toast strong{font-size:13px}.price-change-toast span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.final-review-check{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:24px;margin-bottom:18px;padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.final-review-check h2{margin:4px 0 7px;font-size:22px}.final-review-check p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.final-review-items{display:grid;gap:8px}.final-review-item{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:9px;padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--bg)}.final-review-item span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#dcefdc;color:#35683d;font-weight:800}.final-review-item.problem span{background:#fae6e1;color:#9a3328}.final-review-item strong{font-size:11px;line-height:1.4}
html[data-theme="dark"] .project-issue-center{background:#1c261e;border-color:#36533a}html[data-theme="dark"] .project-issue-center.has-blocking{background:#282218;border-color:#5d4931}html[data-theme="dark"] .project-issue,html[data-theme="dark"] .material-guide,html[data-theme="dark"] .material-recommendation.active,html[data-theme="dark"] .final-review-check,html[data-theme="dark"] .final-review-item,html[data-theme="dark"] .material-spec-card{background:#202125;border-color:#3a3c41}html[data-theme="dark"] .price-change-toast{background:#203023;border-color:#3e6043;color:#b9e3bd}
@media(max-width:760px){.analysis-stage-list{grid-template-columns:1fr;gap:5px}.analysis-stage-list li{font-size:11px}.project-issue-head{align-items:flex-start}.project-issue{grid-template-columns:24px 1fr}.project-issue em{grid-column:2}.final-review-check{grid-template-columns:1fr}.material-goals button{flex:1 1 calc(50% - 7px)}.material-spec-grid{grid-template-columns:1fr}.capacity-actions>*{flex:1 1 100%}.price-change-toast{position:fixed;left:14px;right:14px;bottom:14px;max-width:none;z-index:80}}

/* Settings and optional material lab */
.settings-lab-dialog{width:min(680px,calc(100vw - 28px));max-height:min(760px,calc(100vh - 28px));padding:0;border:1px solid #d6d6d0;border-radius:18px;background:#f5f5f2;color:#1d1d1f;box-shadow:0 30px 90px rgba(0,0,0,.32);overflow:hidden}.settings-lab-dialog::backdrop{background:rgba(15,15,17,.58);backdrop-filter:blur(5px)}.settings-lab-shell{display:grid;gap:14px;padding:22px;max-height:inherit;overflow:auto}.settings-lab-head{padding-bottom:15px;border-bottom:1px solid #deded8}.settings-section{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:18px;padding:15px;border:1px solid #dddcd7;border-radius:12px;background:#fff}.settings-section-copy strong,.settings-section-copy small{display:block}.settings-section-copy strong{font-size:14px}.settings-section-copy small{margin-top:3px;color:#777873;font-size:11px}.settings-control-row{display:flex;align-items:center;gap:8px}.settings-control-row .nav-language-btn{margin:0}.settings-material-lab{position:relative;display:block;padding-top:21px}.settings-lab-badge{position:absolute;right:13px;top:12px;padding:3px 6px;border-radius:5px;background:#eee4e4;color:#9b2e2e;font:700 8px var(--mono);letter-spacing:.12em}.settings-material-lab .material-guide-head{padding-right:44px}.settings-material-lab .material-guide-head small{display:block;margin-top:4px;color:#777873;font-size:11px;font-weight:400;line-height:1.4}.material-choice-intro{display:grid;gap:2px}.material-choice-intro>span{color:var(--muted);font-size:10px}.material-choice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;margin-top:10px}.material-choice-card{display:grid;gap:8px;padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);text-align:left;cursor:pointer}.material-choice-card:hover{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.material-choice-card>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.material-choice-card b{font-size:14px}.material-choice-card em{padding:3px 5px;border-radius:4px;background:var(--red-dim);color:var(--red);font:700 8px var(--mono);font-style:normal}.material-choice-card small{color:var(--muted);font-size:11px;line-height:1.45}.material-choice-card>strong{color:var(--red);font-size:10px}.material-applied{margin-bottom:9px;padding:7px 9px;border-radius:7px;background:#e1f0e1;color:#2f6738;font-weight:700}.settings-dialog-actions{display:flex;justify-content:flex-end}.settings-dialog-actions .btn{min-height:42px;min-width:110px}
html[data-theme="dark"] .nav-settings-btn{border-color:#3b3d42;color:#e7e7e4}html[data-theme="dark"] .settings-lab-dialog{background:#191a1d;border-color:#3e4045;color:#f1f1ef}html[data-theme="dark"] .settings-lab-head{border-color:#34363b}html[data-theme="dark"] .settings-section{background:#202125;border-color:#3a3c41}html[data-theme="dark"] .settings-section-copy small,html[data-theme="dark"] .settings-material-lab .material-guide-head small{color:#a3a4a7}html[data-theme="dark"] .settings-lab-badge{background:#482729;color:#efa1a1}html[data-theme="dark"] .material-choice-card{background:#292a2e;border-color:#414349}html[data-theme="dark"] .material-applied{background:#203c26;color:#9ed1a6}
@media(max-width:760px){#navSettingsLabel{display:none}.nav-settings-btn{width:38px;padding:7px}.settings-lab-shell{padding:16px}.settings-section{grid-template-columns:1fr}.settings-control-row>*{flex:1}.settings-material-lab .material-guide-head{padding-right:0}.settings-material-lab .material-guide-reset{margin-top:24px}.material-choice-list{grid-template-columns:1fr}}
html[data-theme="dark"] .summary-card{background:#202125;border-color:#3a3c41}html[data-theme="dark"] .summary-head,html[data-theme="dark"] .summary-total,html[data-theme="dark"] .summary-row+ .summary-row{border-color:#383a3f}html[data-theme="dark"] .summary-val,html[data-theme="dark"] .total-val{color:#fff}
html[data-theme="dark"] .btn-outline{background:#202125;border-color:#414349;color:#ddd}html[data-theme="dark"] .lang-card{background:#202125;border-color:#6d3436}html[data-theme="dark"] .lang-btn{background:#292a2e;border-color:#414349;color:#f1f1ef}

/* Guided no-file design brief */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.design-flow{max-width:1180px;margin:0 auto}.design-brief{display:grid;gap:18px}
.design-brief-section{padding:24px;border:1px solid #deded8;border-radius:14px;background:#fafaf8}
.design-section-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #e4e4df}
.design-section-head>span{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:9px;background:#1d1d1f;color:#fff;font:700 10px var(--mono)}
.design-section-head h2{margin:0 0 5px;font-size:19px;letter-spacing:-.025em}.design-section-head p{margin:0;color:#777873;font-size:12px;line-height:1.5}
.design-brief textarea{min-height:116px;resize:vertical}.design-brief #designDescription{min-height:150px}
.compact-grid{margin-top:16px}.design-size-grid{display:grid;grid-template-columns:minmax(100px,1fr) 22px minmax(100px,1fr) 22px minmax(100px,1fr) minmax(90px,.55fr);align-items:end;gap:10px}
.dimension-times{align-self:center;margin-top:21px;color:#8b8c88;font-size:20px;text-align:center}.design-unit-field select{min-width:86px}
.design-process-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.design-process-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:4px 13px;min-height:145px;padding:21px;border:1px solid #d8d8d2;border-radius:12px;background:#fff;color:#222;cursor:pointer;transition:border-color .16s,box-shadow .16s,background .16s}
.design-process-card:hover{border-color:#aaa}.design-process-card.selected{border-color:#d92d2d;box-shadow:inset 0 0 0 1px #d92d2d;background:#fffafa}
.design-process-card input{position:absolute;opacity:0;pointer-events:none}.process-card-check{display:grid;place-items:center;grid-row:1/4;width:25px;height:25px;border:1px solid #c9c9c4;border-radius:50%;color:transparent;font-size:12px}.design-process-card.selected .process-card-check{border-color:#d92d2d;background:#d92d2d;color:#fff}
.design-process-card strong{font:700 11px var(--mono);letter-spacing:.1em;color:#a22626}.design-process-card b{font-size:16px}.design-process-card small{color:#747570;font-size:12px;line-height:1.55;font-weight:400}
.design-material-grid{align-items:start}.design-color-picker{min-height:58px}.design-color-picker+.selected-color-name{margin-top:8px}
.design-requirements{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0;padding:0;border:0}
.requirement-chip{position:relative;display:block;cursor:pointer}.requirement-chip input{position:absolute;opacity:0}.requirement-chip span{display:flex;align-items:center;min-height:48px;padding:10px 12px;border:1px solid #d8d8d2;border-radius:9px;background:#fff;color:#555653;font-size:11px;line-height:1.35;transition:.15s}
.requirement-chip input:checked+span{border-color:#b95757;background:#fff2f1;color:#8d2424;box-shadow:inset 0 0 0 1px #d88989}.requirement-chip input:focus-visible+span{outline:3px solid #ff6767;outline-offset:2px}
.design-brief input[type="date"]{width:100%;min-height:48px;padding:11px 14px;border:1px solid #cecec8;border-radius:8px;background:#fff;color:#191919;font:inherit;color-scheme:light}
.design-summary-card .summary-val{max-width:58%;line-height:1.45;white-space:normal}

html[data-theme="dark"] .design-brief-section{background:#1e1f22;border-color:#37393e}html[data-theme="dark"] .design-section-head{border-color:#37393e}html[data-theme="dark"] .design-section-head p{color:#a2a4a8}
html[data-theme="dark"] .design-process-card,html[data-theme="dark"] .requirement-chip span{background:#25262a;border-color:#414349;color:#dededb}html[data-theme="dark"] .design-process-card.selected{background:#2b1d1e;border-color:#e45151;box-shadow:inset 0 0 0 1px #e45151}html[data-theme="dark"] .design-process-card small{color:#aaa}html[data-theme="dark"] .requirement-chip input:checked+span{background:#342022;border-color:#a94a50;color:#f1b2b2}
html[data-theme="dark"] .design-brief input[type="date"]{background:#232428;border-color:#414349;color:#f1f1ef;color-scheme:dark}

@media(max-width:820px){.design-requirements{grid-template-columns:repeat(2,minmax(0,1fr))}.design-size-grid{grid-template-columns:1fr 18px 1fr 18px 1fr}.design-unit-field{grid-column:1/-1}.design-unit-field select{width:100%}}
@media(max-width:560px){.design-brief-section{padding:18px}.design-process-options{grid-template-columns:1fr}.design-size-grid{grid-template-columns:1fr 14px 1fr}.design-size-grid .field-group:nth-of-type(3){grid-column:1/2}.design-size-grid .dimension-times:nth-of-type(2){display:none}.design-unit-field{grid-column:2/4}.design-requirements{grid-template-columns:1fr 1fr}.requirement-chip span{min-height:54px}.design-summary-card .summary-val{max-width:60%}}
.sending-progress{min-height:34px;margin-top:10px;font-family:var(--mono);font-size:11px;line-height:1.55;color:#b9bbc0}
/* Turnstile stays out of the layout unless Cloudflare decides interaction is required. */
.turnstile-widget{position:fixed;right:18px;bottom:18px;z-index:10050;min-width:1px;min-height:1px}
@media(max-width:640px){.turnstile-widget{right:10px;bottom:10px}}
.mobile-project-bar{display:none}
@media(max-width:760px){
  body.mobile-project-bar-visible{padding-bottom:92px}
  .mobile-project-bar:not([hidden]){position:fixed;z-index:190;left:10px;right:10px;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 14px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 14px 40px rgba(0,0,0,.2);backdrop-filter:blur(12px)}
  .mobile-project-copy{display:grid;min-width:0;gap:2px}.mobile-project-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 9px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#676863}.mobile-project-copy strong{font-size:16px;color:#151515}.mobile-project-bar .btn{min-height:48px;flex:0 0 auto;padding-inline:15px}
  .submission-progress-card{padding:22px}.submission-stage-list li{min-height:48px}
  button,a,input,select,textarea,[role="button"]{min-height:44px}
}
html[data-theme="dark"] .mobile-project-bar{background:rgba(28,29,32,.96);border-color:#42444a}html[data-theme="dark"] .mobile-project-copy span{color:#b1b3b6}html[data-theme="dark"] .mobile-project-copy strong{color:#fff}
@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.color-swatch:hover{transform:none}}

/* Model-by-model confirmation */
.multi-model-review{margin-bottom:18px;padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.multi-model-review-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.multi-model-review-head h2{margin:4px 0 0;font-size:22px}.review-expand-button{min-height:38px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:700 10px var(--mono);cursor:pointer}.review-expand-button:hover{border-color:var(--red);color:var(--red)}
.review-model-list{display:grid;gap:9px}.review-model-card{overflow:hidden;border:1px solid var(--border);border-radius:11px;background:var(--bg)}.review-model-card>summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto 18px;align-items:center;gap:12px;min-height:74px;padding:12px 15px;cursor:pointer;list-style:none}.review-model-card>summary::-webkit-details-marker{display:none}.review-model-card>summary:focus-visible{outline:3px solid var(--red);outline-offset:-3px}.review-model-card[open]>summary{border-bottom:1px solid var(--border)}
.review-model-index{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--text);color:var(--surface);font:700 10px var(--mono)}.review-model-heading{display:grid;min-width:0;gap:2px}.review-model-heading small{color:var(--muted);font:700 8px var(--mono);letter-spacing:.11em;text-transform:uppercase}.review-model-heading strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.review-model-heading em{overflow:hidden;color:var(--muted);font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.review-model-quantity{color:var(--muted);font-size:10px}.review-model-price{min-width:86px;text-align:right;font:700 12px var(--mono)}.review-model-chevron{width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .18s}.review-model-card[open] .review-model-chevron{transform:rotate(225deg)}
.review-model-body{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;padding:16px}.review-model-visual{display:grid;place-items:center;align-content:center;gap:8px;min-height:120px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.review-model-visual span{color:var(--muted);font:700 9px var(--mono);letter-spacing:.12em}.review-model-visual svg{width:54px;height:54px;fill:none;stroke:var(--muted);stroke-width:1.4}.review-model-body dl{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin:0}.review-spec-row{display:grid;grid-template-columns:minmax(95px,.8fr) minmax(0,1.2fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.review-spec-row dt{color:var(--muted);font-size:10px}.review-spec-row dd{margin:0;overflow-wrap:anywhere;font-size:11px;font-weight:700;text-align:right}.review-spec-row:last-child{grid-column:1/-1}
html[data-theme="dark"] .multi-model-review,html[data-theme="dark"] .review-model-visual{background:#202125;border-color:#3a3c41}html[data-theme="dark"] .review-model-card,html[data-theme="dark"] .review-expand-button{background:#191a1d;border-color:#3a3c41}html[data-theme="dark"] .review-model-index{background:#ecece9;color:#191a1d}
@media(max-width:760px){.multi-model-review{padding:14px}.multi-model-review-head{align-items:center}.review-model-card>summary{grid-template-columns:38px minmax(0,1fr) 16px;gap:9px}.review-model-quantity{display:none}.review-model-price{grid-column:2;text-align:left}.review-model-chevron{grid-column:3;grid-row:1/3}.review-model-body{grid-template-columns:1fr}.review-model-visual{display:none}.review-model-body dl{grid-template-columns:1fr}.review-spec-row:last-child{grid-column:auto}.review-expand-button{min-height:44px}}

/* Customer print / save quote */
.success-print-action{display:grid;justify-items:center;gap:8px;margin-top:24px}.success-print-action .btn{min-width:220px}.success-print-action p{margin:0;max-width:520px;color:var(--muted);font-size:10px;line-height:1.45}.print-quote-document{display:none}
@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff!important;color:#171719!important}
  body>*:not(main),body>main>*:not(.standard-flow),body>main>.standard-flow>*:not(#panel-4),#panel-4>*:not(#printQuoteDocument){display:none!important}
  nav,.mobile-project-bar,.sending-overlay,.turnstile-widget{display:none!important}
  main,.standard-flow,#panel-4{display:block!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;box-shadow:none!important}
  #panel-4 .success-screen{display:none!important}
  .print-quote-document{display:block!important;width:100%;font-family:Arial,Helvetica,sans-serif;color:#171719;background:#fff}
  .print-document-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:2px solid #171719}.print-brand{display:flex;align-items:center;gap:10px}.print-brand img{width:50px;height:50px;object-fit:contain}.print-brand div{display:grid}.print-brand strong{font-size:19px;letter-spacing:.12em}.print-brand span{font-size:8px;letter-spacing:.22em;color:#676767}.print-document-type{display:grid;justify-items:end;gap:5px}.print-document-type span{font-size:8px;letter-spacing:.18em;color:#6a6a6a}.print-document-type strong{font-size:14px}
  .print-status-banner{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:15px;margin:15px 0;padding:11px 13px;border-left:4px solid #c92f32;background:#f7eeee}.print-status-banner strong{font-size:9px;letter-spacing:.1em;color:#9d2024}.print-status-banner span{font-size:9px;color:#565656}
  .print-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.print-meta-grid>div{display:grid;gap:4px;padding:12px;border:1px solid #d9d9d9}.print-meta-grid small,.print-spec-grid small,.print-notes small,.print-total-panel small{font-size:7px;letter-spacing:.12em;text-transform:uppercase;color:#737373}.print-meta-grid strong{font-size:11px}.print-meta-grid span{font-size:9px}
  .print-models h2{margin:0 0 9px;font-size:13px}.print-model-card{margin-bottom:10px;border:1px solid #d5d5d5;break-inside:avoid}.print-model-card>header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 11px;background:#f1f1ef}.print-model-card>header span{font-size:7px;letter-spacing:.12em;color:#777}.print-model-card>header strong{font-size:10px}.print-model-card>header b{font-size:10px}.print-spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.print-spec-grid>div{display:grid;gap:3px;padding:9px 11px;border-right:1px solid #e3e3e3;border-bottom:1px solid #e3e3e3}.print-spec-grid>div:nth-child(3n){border-right:0}.print-spec-grid strong{font-size:9px}.print-notes{padding:9px 11px}.print-notes p{margin:4px 0 0;font-size:9px;line-height:1.4}
  .print-total-panel{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px;padding:14px;border-top:2px solid #171719;border-bottom:2px solid #171719}.print-total-panel>div{display:grid;gap:4px}.print-total-panel>div:last-child{text-align:right}.print-total-panel strong{font-size:16px}
  .print-quote-document footer{display:grid;grid-template-columns:1fr auto;gap:4px;margin-top:16px;padding-top:10px;border-top:1px solid #ddd}.print-quote-document footer strong,.print-quote-document footer span{font-size:8px}.print-quote-document footer p{grid-column:1/-1;margin:4px 0 0;color:#696969;font-size:7px;line-height:1.45}
}

/* Beginner-friendly decisions and a quieter customer workflow */
.project-switch-btn{display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:12px;max-width:460px;padding:12px 14px;text-align:left}
.project-switch-copy{display:grid;gap:2px}.project-switch-copy strong{font-size:13px;line-height:1.25}.project-switch-copy small{color:var(--muted);font-size:10px;line-height:1.35;font-weight:400}.project-switch-arrow{color:var(--red);font-size:17px;transition:transform .18s}.project-switch-btn:hover .project-switch-arrow{transform:translateX(3px)}
.material-guide-summary{width:100%;font:inherit;text-align:left;cursor:pointer}.material-guide-summary:hover{border-color:var(--red)}.material-guide-summary:hover .material-guide-chevron{transform:translateX(3px);color:var(--red)}
.material-guide-dialog{position:fixed;inset:0;width:min(920px,calc(100vw - 28px));max-height:min(840px,calc(100vh - 28px));margin:auto;padding:0;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.38);overflow:hidden}.material-guide-dialog::backdrop{background:rgba(10,10,12,.72);backdrop-filter:blur(7px)}.material-guide-dialog-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:inherit}.material-guide-dialog-head{padding:20px 22px;border-bottom:1px solid var(--border)}.material-guide-dialog .material-guide-body{overflow:auto;padding:20px 22px}.material-guide-dialog .material-guide-head p{max-width:680px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}.material-guide-dialog-actions{display:flex;justify-content:flex-end;padding:14px 22px;border-top:1px solid var(--border)}
.success-email-notice{max-width:650px;margin:24px auto 0;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:13px;line-height:1.55;text-align:center}.success-email-notice a{color:var(--text);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.specification-contact-card{position:relative;grid-template-columns:42px minmax(0,1fr) auto;padding:22px!important;border:1px solid rgba(204,43,43,.38)!important;background:linear-gradient(135deg,rgba(204,43,43,.12),rgba(204,43,43,.035))!important;box-shadow:0 12px 34px rgba(113,20,23,.08)}.specification-contact-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--red);color:#fff;font-size:18px;box-shadow:0 8px 20px rgba(204,43,43,.24)}.specification-contact-title{font-size:12px!important;color:var(--text)!important}.specification-contact-copy{max-width:690px!important;font-size:13px!important}.specification-contact-btn{min-height:46px;padding:12px 16px!important;background:var(--red)!important;border-color:var(--red)!important;color:#fff!important;font-weight:750!important}.specification-contact-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.review-model-thumbnail{display:block;width:100%;height:118px;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(0,0,0,.18))}.summary-card.unified-project-summary .model-summary-row{display:none}
html[data-theme="dark"] .material-guide-dialog{background:#191a1d;border-color:#414349}html[data-theme="dark"] .specification-contact-card{background:linear-gradient(135deg,rgba(204,43,43,.22),rgba(32,33,37,.9))!important;border-color:#754246!important}
@media(max-width:760px){.project-switch-btn{max-width:none}.specification-contact-card{grid-template-columns:42px minmax(0,1fr)}.specification-contact-btn{grid-column:1/-1;width:100%}.material-guide-dialog-head,.material-guide-dialog .material-guide-body,.material-guide-dialog-actions{padding-left:16px;padding-right:16px}.review-model-visual{display:grid!important;min-height:105px}.review-model-thumbnail{height:100px}}

/* Focused interaction system: short state transitions, semantic colors, and consistent feedback. */
.btn,.step-pill,.project-switch-btn,.model-line,.material-choice-card,.material-spec-card,.color-swatch,.add-model-btn,.contact-link{transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,background-color var(--motion-fast) ease,color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}
.btn:active,.project-switch-btn:active,.material-choice-card:active,.add-model-btn:active{transform:translateY(1px)}
.panel{animation-duration:var(--motion-base)}
dialog[open]{animation:dialogEnter var(--motion-base) cubic-bezier(.2,.8,.2,1)}
dialog::backdrop{animation:backdropEnter var(--motion-fast) ease}
@keyframes dialogEnter{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes backdropEnter{from{opacity:0}to{opacity:1}}

/* Material comparison */
.material-compare-tools{display:grid;gap:11px;margin:12px 0 14px;padding:14px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}
.material-compare-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.material-compare-head strong,.material-compare-head small{display:block}.material-compare-head strong{font-size:13px}.material-compare-head small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}.material-compare-head button{border:0;background:transparent;color:var(--red);font-size:10px;font-weight:800;cursor:pointer}
.material-compare-selector{display:flex;flex-wrap:wrap;gap:7px}.material-compare-chip{min-height:34px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:10px;font-weight:700;cursor:pointer}.material-compare-chip[aria-pressed="true"]{border-color:var(--red);background:var(--red-dim);color:var(--red)}.material-compare-chip:disabled{opacity:.48;cursor:not-allowed}
.material-comparison:empty{display:none}.material-comparison{overflow-x:auto;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.material-compare-empty{padding:12px;color:var(--muted);font-size:10px;line-height:1.45}.material-comparison table{width:100%;min-width:520px;border-collapse:collapse;font-size:10px}.material-comparison th,.material-comparison td{padding:9px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.material-comparison tr:last-child th,.material-comparison tr:last-child td{border-bottom:0}.material-comparison thead th{background:var(--surface-2);font-size:11px}.material-comparison tbody th{width:145px;color:var(--muted);font-weight:600}.material-comparison td{font-weight:700}

/* First-use guide and designed alert replacement */
.first-quote-guide-dialog,.site-message-dialog{position:fixed;inset:0;width:min(560px,calc(100vw - 28px));margin:auto;padding:0;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);box-shadow:0 32px 100px rgba(0,0,0,.38)}
.first-quote-guide-dialog::backdrop,.site-message-dialog::backdrop{background:rgba(10,10,12,.68);backdrop-filter:blur(6px)}
.first-quote-guide-shell{position:relative;display:grid;gap:16px;padding:26px}.guide-close{position:absolute;right:15px;top:13px;width:36px;height:36px;border:0;background:transparent;color:var(--muted);font-size:25px;cursor:pointer}.guide-kicker,.site-message-kicker{color:var(--red);font:700 9px var(--mono);letter-spacing:.13em;text-transform:uppercase}.first-quote-guide-shell h2,.site-message-shell h2{font-size:26px;letter-spacing:-.025em}.first-quote-guide-shell>p{color:var(--muted);font-size:13px;line-height:1.6}.first-quote-steps{display:grid;gap:9px;list-style:none}.first-quote-steps li{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:11px;padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.first-quote-steps li>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--red-dim);color:var(--red);font:800 11px var(--mono)}.first-quote-steps strong,.first-quote-steps small{display:block}.first-quote-steps strong{font-size:13px}.first-quote-steps small{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.4}.first-quote-guide-shell>.btn{width:100%}
.site-message-dialog{width:min(460px,calc(100vw - 28px))}.site-message-shell{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:24px}.site-message-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--review-soft);color:var(--review);font:900 18px var(--mono)}.site-message-shell>p,.site-message-shell>.btn{grid-column:1/-1}.site-message-shell>p{color:var(--muted);font-size:13px;line-height:1.6;white-space:pre-line}.site-message-shell>.btn{width:100%}.site-message-dialog[data-tone="error"] .site-message-icon{background:var(--danger-soft);color:var(--danger)}.site-message-dialog[data-tone="error"] .site-message-kicker{color:var(--danger)}.site-message-dialog[data-tone="success"] .site-message-icon{background:var(--success-soft);color:var(--success)}.site-message-dialog[data-tone="success"] .site-message-kicker{color:var(--success)}

/* Persistent project summary and next action */
body.mobile-project-bar-visible{padding-bottom:104px}
.mobile-project-bar:not([hidden]){position:fixed;z-index:190;left:50%;bottom:14px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;width:min(760px,calc(100vw - 28px));padding:11px 12px 11px 16px;border:1px solid var(--border);border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 16px 46px rgba(0,0,0,.2);backdrop-filter:blur(14px);transform:translateX(-50%);animation:projectBarEnter var(--motion-base) ease}
@keyframes projectBarEnter{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
.mobile-project-copy{display:grid;min-width:0;gap:2px}.mobile-project-copy small,.mobile-project-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-project-copy small{color:var(--text);font-size:12px;font-weight:800}.mobile-project-copy span{color:var(--muted);font:600 9px var(--mono);letter-spacing:.05em;text-transform:uppercase}.mobile-project-total{font-size:17px;white-space:nowrap}.mobile-project-bar .btn{min-height:46px;padding-inline:17px;white-space:nowrap}
body.mobile-project-bar-visible .turnstile-widget{bottom:96px}
html[data-theme="dark"] .first-quote-guide-dialog,html[data-theme="dark"] .site-message-dialog{background:#1b1c20;border-color:#414349}html[data-theme="dark"] .first-quote-steps li,html[data-theme="dark"] .material-compare-tools{background:#222327}html[data-theme="dark"] .material-comparison{background:#202125}html[data-theme="dark"] .material-comparison thead th{background:#292a2e}
@media(max-width:760px){main{padding-top:22px}.page-title{font-size:clamp(36px,11vw,46px)}.page-sub{margin-bottom:15px}.project-switch-row{margin-bottom:18px}.steps-bar{margin-bottom:18px}.mobile-project-bar:not([hidden]){left:10px;right:10px;bottom:10px;width:auto;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;transform:none}.mobile-project-copy{grid-column:1;grid-row:1}.mobile-project-total{display:block;grid-column:1;grid-row:2;font-size:15px}.mobile-project-bar .btn{grid-column:2;grid-row:1/3;padding-inline:14px}.first-quote-guide-shell{padding:22px 18px}.material-compare-tools{padding:11px}}

/* Use exactly one browser-native arrow per dropdown. */
select:not([multiple]){
  appearance:auto;
  -webkit-appearance:menulist;
  background-image:none!important;
  color-scheme:light;
  padding-right:14px;
}
html[data-theme="dark"] select:not([multiple]){
  background-image:none!important;
  color-scheme:dark;
}

@media print{
  body *{visibility:hidden!important}
  #printQuoteDocument,#printQuoteDocument *{visibility:visible!important}
  #printQuoteDocument{display:block!important;position:absolute!important;left:0!important;top:0!important;width:100%!important}
}

/* Version 50: simpler hierarchy and self-hosted typography. */
@font-face{font-family:"IBM Plex Sans";src:url("assets/fonts/ibm-plex-sans-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("assets/fonts/ibm-plex-sans-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("assets/fonts/ibm-plex-sans-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("assets/fonts/ibm-plex-sans-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("assets/fonts/ibm-plex-mono-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
:root{--mono:"IBM Plex Mono",monospace;--sans:"IBM Plex Sans",Arial,sans-serif;--display:"IBM Plex Sans",Arial,sans-serif}
body{font-family:var(--sans)}body::before{display:none}
nav{padding:13px 32px}.nav-brand{font:700 23px/1 var(--sans);letter-spacing:.045em}.nav-brand .dim{font-size:17px}.nav-sub{font-size:8px;letter-spacing:.12em}
.nav-language-btn,.theme-toggle.compact,.nav-home-link{min-height:38px;border-radius:6px;font:600 12px var(--sans);letter-spacing:0;text-transform:none}
.theme-toggle.compact{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer}.theme-toggle.compact .theme-toggle-label{font-size:12px}
main{max-width:960px;padding-top:46px}.page-title{margin-bottom:10px;font:700 clamp(38px,6vw,58px)/1.05 var(--sans);letter-spacing:-.04em}.page-sub{margin-bottom:24px;font-size:16px;font-weight:400;line-height:1.55}
.project-switch-row{margin-bottom:28px}.project-switch-btn{display:inline-flex;max-width:none;padding:0;border:0;background:transparent;color:var(--text)}.project-switch-copy{display:inline}.project-switch-copy strong{font-size:14px;text-decoration:underline;text-underline-offset:4px}.project-switch-copy small,.project-switch-icon{display:none}.project-switch-arrow{margin-left:7px}
.steps-bar{margin-bottom:30px}.step-pill{border:0;border-bottom:2px solid transparent;border-radius:0;padding:10px 12px;font:600 13px var(--sans);letter-spacing:0;text-transform:none}.step-pill.active{border-bottom-color:var(--red);background:transparent}.step-num{width:22px;height:22px;font-size:11px}
.upload-zone{padding:48px 30px;border-radius:8px}.upload-icon{border-radius:8px}.upload-title{font-size:20px;font-weight:600}.upload-sub{font:400 13px var(--sans);letter-spacing:0;text-transform:none}
.upload-divider{display:block;margin:18px 0 4px;font-size:13px}.upload-divider::before,.upload-divider::after{display:none}.other-format-btn{width:auto;padding:7px 0;border:0;border-radius:0;font:500 13px var(--sans);letter-spacing:0;text-align:left;text-transform:none;text-decoration:underline;text-underline-offset:4px}
.panel,.summary-card,.multi-model-review,.final-review-check,.other-format-panel{border-radius:8px}
.section-kicker,.summary-key,.price-row-label{letter-spacing:.04em;text-transform:none}
.final-review-check{display:block;padding:18px 20px;border-left:3px solid var(--red)}.final-review-check h2{margin:4px 0 6px;font-size:22px}.final-review-check p{max-width:720px;font-size:14px;line-height:1.55}.final-review-items{display:none}.multi-model-review{padding:16px}.multi-model-review-head h2{font-size:19px}.review-model-card{border-radius:6px}.review-model-index{width:34px;height:34px;border-radius:6px}.review-model-heading small{font-size:10px;letter-spacing:.02em;text-transform:none}.review-model-heading strong{font-size:14px}.review-model-heading em{font-size:12px}.review-model-price{display:none}
#panel-3 .config-grid{margin-top:18px;padding-top:20px;border-top:1px solid var(--border)}#panel-3 .btn-row{margin-top:20px}
.btn,.summary-card,input,textarea,select{border-radius:6px}.btn{font-family:var(--sans);letter-spacing:0;text-transform:none}
label{font-family:var(--sans)!important;letter-spacing:0!important;text-transform:none!important}
@media(max-width:760px){nav{padding:10px 14px}.theme-toggle.compact .theme-toggle-label{display:none}.page-title{font-size:40px}.page-sub{font-size:15px}.step-pill{font-size:12px}.upload-zone{padding:38px 18px}.review-model-card>summary{grid-template-columns:38px minmax(0,1fr) 16px}.review-model-price{display:none}}

.upload-policy{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:center;gap:7px 0;margin:16px auto 0;color:var(--muted);font-size:11px;line-height:1.35}
.upload-policy span{padding:0 12px;border-left:1px solid var(--border);white-space:nowrap}
.upload-policy span:first-child{border-left:0}
.upload-policy strong{color:var(--text);font-size:11px}
.configure-gate{display:flex;max-width:720px;align-items:center;justify-content:flex-end;gap:14px}
.configure-gate p{max-width:430px;margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.configure-gate .btn:disabled+p{color:#8a6b2d}
.compatibility-recommendation{margin-top:18px;padding:15px 17px;border:1px solid #dfc57e;border-radius:9px;background:#fff9e7;color:#6f5420;font-size:12px;line-height:1.6}
.compatibility-recommendation[hidden],.design-brief-section[hidden]{display:none!important}
html[data-theme="dark"] .compatibility-recommendation{background:#292419;border-color:#5e512d;color:#d9c889}
@media(max-width:560px){.upload-policy{max-width:340px}.upload-policy span:nth-child(3){border-left:0}.configure-gate{align-items:stretch;flex-direction:column}.configure-gate p{max-width:none}}

/* Version 51: clearer alternate path and itemized estimates. */
.standard-flow>.project-switch-row{margin:4px 0 26px}.standard-flow>.project-switch-row .project-switch-btn{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;width:min(100%,560px);padding:17px 18px;border:1px solid color-mix(in srgb,var(--red) 42%,var(--border));border-left:4px solid var(--red);border-radius:8px;background:var(--red-dim);text-align:left;text-decoration:none}.standard-flow>.project-switch-row .project-switch-copy{display:grid;gap:4px}.standard-flow>.project-switch-row .project-switch-copy strong{font-size:16px;text-decoration:none}.standard-flow>.project-switch-row .project-switch-copy small{display:block;color:var(--muted);font-size:12px;line-height:1.45}.standard-flow>.project-switch-row .project-switch-arrow{align-self:center;margin:0;font-size:21px}.standard-flow>.project-switch-row .project-switch-btn:hover{border-color:var(--red);background:color-mix(in srgb,var(--red-dim) 82%,var(--surface));box-shadow:0 8px 24px rgba(0,0,0,.08)}
.price-row.model-price-row{padding-top:12px}.price-row.model-price-row .price-row-label{max-width:72%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:600}.price-row.model-price-total{margin-top:2px;padding-top:12px;border-top:1px solid var(--border)}.price-row.model-price-total .price-row-label,.price-row.model-price-total .price-row-val{color:var(--text);font-weight:800}
@media(max-width:760px){.standard-flow>.project-switch-row .project-switch-btn{width:100%;padding:15px}.price-row.model-price-row .price-row-label{max-width:65%}}

/* Version 52: both project paths are equally visible and confirmation is itemized. */
.design-flow>.project-switch-row{margin:4px 0 26px}.design-flow>.project-switch-row .project-switch-btn{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;width:min(100%,560px);padding:17px 18px;border:1px solid color-mix(in srgb,var(--red) 42%,var(--border));border-left:4px solid var(--red);border-radius:8px;background:var(--red-dim);color:var(--text);text-align:left}.design-flow>.project-switch-row .project-switch-copy{display:grid;gap:4px}.design-flow>.project-switch-row .project-switch-copy strong{font-size:16px;text-decoration:none}.design-flow>.project-switch-row .project-switch-copy small{display:block;color:var(--muted);font-size:12px;line-height:1.45}.design-flow>.project-switch-row .project-switch-arrow{align-self:center;margin:0;font-size:21px}.design-flow>.project-switch-row .project-switch-btn:hover{border-color:var(--red);box-shadow:0 8px 24px rgba(0,0,0,.08)}
#panel-3 .review-model-price{display:grid!important;justify-items:end;gap:3px;min-width:126px;text-align:right}#panel-3 .review-model-price small{color:var(--muted);font:500 10px var(--mono)}#panel-3 .review-model-price strong{color:var(--text);font:700 12px var(--mono)}#panel-3 .review-spec-row:nth-last-child(-n+2) dt,#panel-3 .review-spec-row:nth-last-child(-n+2) dd{color:var(--text);font-weight:800}
@media(max-width:760px){.design-flow>.project-switch-row .project-switch-btn{width:100%;padding:15px}#panel-3 .review-model-price{grid-column:2;justify-items:start;min-width:0;text-align:left}#panel-3 .review-model-chevron{grid-column:3;grid-row:1/4}}

/* Version 56: improve secondary-copy contrast in the light theme. */
html[data-theme="light"] .field-help,
html[data-theme="light"] .profile-assumptions,
html[data-theme="light"] .security-note,
html[data-theme="light"] .specification-contact-copy,
html[data-theme="light"] .design-section-head p{color:#62635f}

/* Hidden adaptive sections must not be revived by layout display rules. */
#designFlow [hidden]{display:none!important}
#designFlow input:disabled{opacity:.45;cursor:not-allowed}
.field-error-message{display:block;color:var(--red);font-size:13px;margin-top:7px;line-height:1.5}
#designFlow .brief-service-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#designFlow .brief-service-card{font:inherit;text-align:left;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);cursor:pointer;min-height:110px;display:flex;flex-direction:column;gap:8px;transition:background .2s,border-color .2s}
#designFlow .brief-service-card span{color:var(--muted);font-size:14px}
#designFlow .brief-service-card:hover,#designFlow .brief-service-card:focus-visible{border-color:#7299c7;outline:2px solid #7299c7;outline-offset:2px}
#designFlow .brief-service-card[aria-pressed="true"]{border-color:#7299c7;background:color-mix(in srgb,#7299c7 16%,var(--surface))}
#designFlow .brief-service-card[data-service="metal_finish"]{border-top:3px solid #ba895e}
#designFlow .brief-service-card[data-service="laser"]{border-top:3px solid #ad91cd}
#designFlow .brief-service-card[data-service="prototype"]{border-top:3px solid #7299c7}
#designFlow .brief-service-card[data-service="other"]{border-top:3px solid #77a594}
#designTechnicalPreferences summary{cursor:pointer;padding:8px;font-weight:600}
#designFlow .design-section-head>span{display:none}
@media(max-width:520px){#designFlow .brief-service-cards{grid-template-columns:1fr}#designFlow .brief-service-card{min-height:84px;padding:16px}}
#design-spill-3[hidden],.step-connector[hidden]{display:none!important}

/* Service selection is a separate entry screen, followed by the brief. */
#designFlow:not(.choosing-service) .brief-service-choice{display:none}
#designFlow.choosing-service #design-panel-1 .design-brief>section:not(:first-child),
#designFlow.choosing-service #design-panel-1 .design-section-head,
#designFlow.choosing-service #design-panel-1 .field-group:not(.brief-service-choice),
#designFlow.choosing-service #design-panel-1 .btn-row,
#designFlow.choosing-service #designNoPriceNote,
#designFlow.choosing-service #briefChangeService{display:none!important}
.steps-bar[hidden]{display:none!important}
#briefChangeService{margin-bottom:20px}

#designFlow.choosing-service #designProjectTypeLabel{display:none}

/* Compact, matching navigation between the project brief and model upload. */
#designFlow .project-switch-row .project-switch-btn,
#standardFlow .project-switch-row .project-switch-btn{display:inline-flex;width:auto;max-width:100%;min-height:44px;gap:12px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:none}
#designFlow .project-switch-row .project-switch-copy,
#standardFlow .project-switch-row .project-switch-copy{display:inline}
#designFlow .project-switch-row .project-switch-copy strong,
#standardFlow .project-switch-row .project-switch-copy strong{font-size:14px;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px;line-height:1.5}
#designFlow .project-switch-row .project-switch-copy small,
#standardFlow .project-switch-row .project-switch-copy small{display:none}
#designFlow .project-switch-row .project-switch-btn:hover,
#standardFlow .project-switch-row .project-switch-btn:hover{border-color:var(--red);background:var(--red-dim)}
.project-switch-btn:focus-visible{outline:2px solid var(--red);outline-offset:3px}

.social-links{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:10px;margin-top:16px}.social-links a{display:inline-flex!important;align-items:center;justify-content:center;width:44px;height:44px;padding:10px!important;border:1px solid #ddd;border-radius:9px;background:#fff;transition:transform .18s,border-color .18s}.social-links img{display:block;width:24px;height:24px}.social-links a:hover{transform:translateY(-2px);border-color:#e34b4b}.social-links a:focus-visible{outline:3px solid #e34b4b;outline-offset:3px}@media(prefers-reduced-motion:reduce){.social-links a{transition:none}.social-links a:hover{transform:none}}
