  /* ========================================================================== 
     Fieldset Engine — collapsible fieldsets, progress rings, and sub-states 
     ========================================================================== */
  /* Section animation */
  .section { display: none; }
  .section.active { display: block; animation: fadeIn var(--anim-fade) ease; }
  @keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }

  /* Fieldset — collapsible */
  .fieldset { background: rgba(255,255,255,0.018); border: 1px solid rgba(255,255,255,0.07); border-radius: 14px; margin-bottom: 1rem; transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }
  .fieldset.active { background: rgba(255,255,255,0.024); border-width: 1px; border-color: rgba(216,178,74,0.18); box-shadow: inset 0 0 0 1px rgba(216,178,74,0.08); }
  .fieldset.done:not(.open) { border-color: rgba(255,255,255,0.08); }
  .fieldset-header { display: flex; align-items: center; gap: 14px; padding: 1.05rem 1.2rem; cursor: pointer; user-select: none; transition: background 0.15s, border-color 0.15s; border-bottom: 1px solid transparent; }
  .fieldset-header:hover { background: rgba(255,255,255,0.014); }
  .fieldset.active .fieldset-header { background: rgba(216,178,74,0.055); border-bottom-color: rgba(216,178,74,0.12); }
  .fieldset-icon { width: 20px; height: 20px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #b1bcc2; }
  .fieldset-icon svg { display: block; }
  .fieldset-header-text { flex: 1; min-width: 0; display:grid; gap: 4px; }
  .fieldset-title { font-size: 14px; text-transform: none; letter-spacing: 0.01em; color: #d7dee3; font-weight: 600; line-height: 1.35; white-space: normal; word-break: normal; overflow-wrap: break-word; transition: color var(--anim-medium); }
  .fieldset.active .fieldset-title { color: var(--text); }
  .fieldset.active .fieldset-title { color: var(--text); }
  .fset-title-note { display:inline; margin-left:8px; font-size:12px; font-weight:400; color:#9eafb8; line-height:1.5; }
  .fset-controls { display: flex; align-items: center; gap: 4px; flex-shrink: 0; opacity: 0.38; transition: opacity 0.15s, transform 0.15s; }
.fieldset:hover .fset-controls, .fieldset.open .fset-controls { opacity: 0.78; }
  .fset-controls .ds-icon-button { width:26px; height:26px; }
  .fset-collapse-btn { transition: color var(--anim-fast), background var(--anim-fast), transform var(--anim-medium) ease; }
  .fieldset.open .fset-collapse-btn { transform: rotate(180deg); }
  .fieldset:not(.open) .fset-ctrl-btn { opacity: 0; pointer-events: none; }
  .fieldset:not(.open) .fset-collapse-btn { opacity: 0.2; pointer-events: none; }
  .fieldset.open:not(.active) .fset-ctrl-btn:not(.fset-collapse-btn) { opacity: 0; pointer-events: none; }
  .fieldset-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--anim-panel) ease, opacity var(--anim-medium) ease; opacity: 0; }
  .fieldset-body-inner { overflow: hidden; padding: 0 1.2rem; }
  .fieldset-body-inner:has(.ds-select.is-open) { overflow: visible; }
  .fieldset.open .fieldset-body { grid-template-rows: 1fr; opacity: 1; }
  .fieldset.open .fieldset-body-inner { padding: 0.95rem 1.2rem 1.2rem; border-top: 1px solid rgba(255,255,255,0.06); }
  .fieldset-not-started { font-size: 12px; color: #98a5ad; font-style: normal; line-height: 1.5; margin-top: 0; }
  .fieldset.open .fieldset-not-started { display: none; }
  .fieldset-qcount { font-size: 11px; color: #8b979e; font-style: normal; margin-left: auto; padding-right: 8px; white-space: nowrap; flex-shrink: 0; }
  .fieldset.open .fieldset-qcount { display: none; }

  /* Progressive stage containers */
  .stage-fieldset { margin-bottom: 1.2rem; border-radius: 18px; background: linear-gradient(180deg, rgba(255,255,255,0.022), rgba(255,255,255,0.012)); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02); }
  .stage-fieldset:not(.open) .fset-controls { opacity: 0.78; }
  .stage-fieldset:not(.open) .fset-collapse-btn { opacity: 0.52; pointer-events: auto; }
  .fieldset-kickered-title { display:flex; flex-wrap:wrap; align-items:center; gap: 0.18rem 0.5rem; }
  .stage-fieldset-kicker { font-size: 10px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #d7d0bb; }
  .stage-fieldset-helper { font-size: 12px; font-weight: 500; line-height: 1.45; color: #a9b6bd; }
  .stage-fieldset-heading { flex-basis:100%; font-family: var(--font); font-size: 15px; font-weight: 600; line-height: 1.28; color: #d7dee3; }
  .fieldset.active .stage-fieldset-heading { color: var(--text); }
  .stage-fieldset-content { display:grid; gap: 1rem; }
.stage-group { display:grid; gap: 0.75rem; }
.stage-group-head { display:grid; gap: 0.35rem; }
.stage-group-title { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--text); }
.stage-group-desc { margin: 0; font-size: 12px; line-height: 1.6; color: var(--muted); }
.stage-group-body { display:grid; gap: 0.9rem; }

  /* Technology benchmark patterns */
  .tech-landscape-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .tech-landscape-item { display:grid; gap:6px; padding:12px 14px; border:1.5px solid var(--border2); border-radius:12px; background: var(--control-bg); transition:border-color var(--anim-fast), background var(--anim-fast); }
  .tech-landscape-item:focus-within { border-color: rgba(255,192,0,0.35); background: rgba(255,255,255,0.04); }
  .tech-landscape-item-label { font-size:11px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color: var(--text-subtle); }
  .tech-landscape-item-hint { font-size:12px; line-height:1.55; color: var(--muted); }
  .tech-landscape-item input[type=text], .tech-landscape-item textarea, .tech-landscape-item .ds-select-trigger { min-height: 42px; padding-top: 9px; padding-bottom: 9px; }
  .tech-landscape-item textarea { min-height: 88px; }
  .tech-yn-stack { display:grid; gap:10px; }
  .tech-yn-row { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:14px 16px; background:var(--control-bg); border:1.5px solid var(--border2); border-radius:12px; transition:border-color var(--anim-fast), background var(--anim-fast); }
  .tech-yn-row.has-yes { border-color: rgba(216,178,74,0.25); background: rgba(216,178,74,0.04); }
  .tech-yn-row.has-no { border-color: rgba(255,255,255,0.1); background: rgba(255,255,255,0.012); }
  .tech-yn-question { flex:1; min-width:0; font-size:14px; line-height:1.45; color:#d0d8de; }
  .tech-yn-question em { display:block; margin-top:3px; font-style:normal; font-size:12px; color: var(--muted); line-height:1.55; }
  .tech-yn-pills { flex-shrink:0; display:flex; align-items:center; }
  .tech-yn-pills .ds-choice-row { flex-wrap:nowrap; }
  .tech-yn-pills .ds-choice-pill { min-width:44px; height:30px; padding:0 12px; font-size:12px; }
  .tech-stage-detail { display:grid; gap:10px; }

  @media (max-width: 767px) {
    .tech-landscape-grid { grid-template-columns:1fr; }
    .tech-yn-row { flex-direction:column; align-items:stretch; }
    .tech-yn-pills .ds-choice-row { flex-wrap:wrap; }
    .tech-yn-pills .ds-choice-pill { flex:1 1 calc(50% - 4px); height:auto; min-height:38px; }
  }

  /* Objective outcome cards */

  .objective-launch-wrap { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:14px; padding-top:12px; border-top:1px solid rgba(255,255,255,0.06); }
  .objective-launch-note { font-size:12px; color:var(--muted); line-height:1.55; max-width:560px; }
  .objective-launch-btn { align-self:flex-start; min-height:44px; box-shadow:0 4px 24px rgba(255,192,0,0.22); }
  .landing-action.objective-launch-btn { padding:var(--btn-m-pad-y) var(--btn-m-pad-x); font-size:var(--btn-m-font); }
  .landing-action.objective-launch-btn[disabled], .landing-action.objective-launch-btn.is-disabled { background:var(--control-bg); color:var(--muted); box-shadow:none; transform:none; cursor:default; opacity:0.55; }
  .landing-action.objective-launch-btn[disabled]:hover, .landing-action.objective-launch-btn.is-disabled:hover { background:var(--control-bg); transform:none; box-shadow:none; }
  .landing-action.objective-review-btn { padding:var(--btn-m-pad-y) var(--btn-m-pad-x); font-size:var(--btn-m-font); min-height:44px; min-width: 196px; justify-content:center; }
  .landing-action.objective-review-btn[disabled] { background:var(--control-bg); color:var(--muted); box-shadow:none; transform:none; cursor:default; opacity:0.55; }
  .objective-details-backdrop { z-index:640; }
  .objective-details-body { padding:1rem 1.2rem 1.2rem; display:grid; gap:14px; }
  .objective-details-tabs { display:flex; gap:8px; flex-wrap:wrap; }
  .objective-details-tab { min-height:40px; }
  .objective-details-tab:hover { }
  .objective-details-tab.active { }
  .objective-details-tab.reviewed { border-color:rgba(255,192,0,0.24); background:rgba(255,192,0,0.08); color:#ead7a1; }
  .objective-details-tab.accepted { border-color:rgba(0,163,136,0.36); background:rgba(0,163,136,0.14); color:#9ad1c4; }
  .objective-details-tab.accepted.active { border-color:var(--accent2); box-shadow:inset 0 0 0 1px rgba(0,163,136,0.3); }
  .objective-details-panel { display:grid; gap:14px; }
  .objective-details-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; align-items:stretch; }
  .objective-details-column { display:grid; gap:12px; min-width:0; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:14px; padding:14px; min-height:360px; }
  .objective-details-column-title { font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--muted); }
  .objective-details-actions { display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
  .objective-details-footer-actions { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; flex-wrap:wrap; }
  .objective-details-footer-actions-right { display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
  .objective-details-hint { flex:1 1 320px; min-width:280px; padding:0.1rem 0; display:flex; align-items:center; gap:14px; min-height:52px; }
  .objective-details-hint-icon { width:52px; height:52px; display:flex; align-items:center; justify-content:center; color:#eef4f7; flex-shrink:0; align-self:center; }
  .objective-details-hint-icon svg { display:block; overflow:visible; width:40px; height:40px; }
  .objective-details-hint-icon .bulb-shell { opacity:0.96; }
  .objective-details-hint-icon .bulb-base { opacity:0.9; }
  .objective-details-hint-icon .bulb-filament { color:#ffd84f; }
  .objective-details-hint-icon .bulb-glow-core { opacity:0; transform-origin:10px 8.7px; }
  .objective-details-hint-icon .bulb-glow-outer { opacity:0; transform-origin:10px 8.3px; }
  .objective-details-hint-icon.pulse .bulb-shell, .objective-details-hint-icon.pulse .bulb-base { animation:projectBulbShellPulse 0.98s cubic-bezier(.2,.75,.2,1); }
  .objective-details-hint-icon.pulse .bulb-filament { animation:projectBulbFilamentPulse 0.98s cubic-bezier(.16,.84,.22,1); }
  .objective-details-hint-icon.pulse .bulb-glow-core { animation:projectBulbGlowCorePulse 0.98s cubic-bezier(.16,.84,.22,1); }
  .objective-details-hint-icon.pulse .bulb-glow-outer { animation:projectBulbGlowOuterPulse 1.02s cubic-bezier(.16,.84,.22,1); }
  .objective-details-hint-copy { flex:1; min-width:0; font-size:12px; color:#92a2ad; line-height:1.55; }
  .objective-details-field textarea { min-height:88px; }
  .objective-details-field .field-label { margin-bottom:2px; }
  .objective-ai-panel { display:grid; gap:12px; min-height:100%; align-content:start; grid-template-rows:minmax(0,1fr) auto; }
  .objective-ai-panel.is-success { }
  .objective-ai-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap; }
  .objective-ai-title { font-size:13px; font-weight:600; color:var(--text); }
  .objective-ai-copy { font-size:14px; color:var(--muted); line-height:1.65; }
  .objective-ai-grid, .objective-ai-bundle { display:grid; gap:10px; }
  .objective-ai-scroll { min-height:0; max-height:300px; overflow:auto; padding-right:4px; }
  .objective-ai-scroll::-webkit-scrollbar { width: 6px; }
  .objective-ai-scroll::-webkit-scrollbar-track { background: transparent; }
  .objective-ai-scroll::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 999px; }
  .objective-ai-scroll::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.25); }
  .objective-ai-findings { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
  .objective-ai-finding { display:grid; grid-template-columns:18px minmax(0,1fr); gap:10px; align-items:start; font-size:14px; color:var(--text); line-height:1.65; }
  .objective-ai-finding-icon { display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:999px; font-size:12px; font-weight:700; margin-top:1px; }
  .objective-ai-finding.positive .objective-ai-finding-icon { background:rgba(0,163,136,0.14); color:var(--accent2); }
  .objective-ai-finding.negative .objective-ai-finding-icon { background:rgba(226,75,74,0.14); color:var(--accent-error); }
  .objective-ai-note { font-size:14px; color:var(--text); line-height:1.65; }
  .objective-ai-bundle-row { font-size:14px; line-height:1.65; color:var(--text); }
  .objective-ai-bundle-row strong { display:block; color:#d4dadd; font-size:10px; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:4px; }
  .objective-ai-actions { display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; padding-top:10px; border-top:1px solid rgba(255,255,255,0.08); }
.objective-ai-meta { position:relative; margin-top:12px; padding-top:10px; border-top:1px solid rgba(255,255,255,0.08); display:flex; justify-content:flex-start; }
.objective-ai-meta-link { background:none; border:none; padding:0; font-family:var(--font); font-size:12px; color:var(--muted); cursor:pointer; text-decoration:underline; text-underline-offset:2px; transition:color var(--anim-fast); }
.objective-ai-meta-link:hover, .objective-ai-meta-link:focus-visible { color:var(--text); outline:none; }
.objective-ai-note-pop { position:absolute; left:0; bottom:calc(100% + 10px); width:max-content; min-width:280px; max-width:min(440px, calc(100vw - 4rem)); max-height:min(320px, calc(100vh - 8rem)); overflow:auto; padding:12px; border-radius:12px; background:rgba(22,22,22,0.98); border:1px solid rgba(255,255,255,0.12); box-shadow:0 16px 36px rgba(0,0,0,0.38); display:none; z-index:4; }
.objective-ai-meta:hover .objective-ai-note-pop, .objective-ai-meta:focus-within .objective-ai-note-pop { display:block; animation:fadeIn 0.12s ease; }
.objective-ai-note-pop .objective-ai-findings { gap:8px; }
.objective-ai-note-pop .objective-ai-finding { font-size:12px; line-height:1.55; }
  .objective-ai-loading { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--muted); min-height:120px; }
  .objective-ai-loading svg { flex-shrink:0; }
  .objective-ai-loading-copy { display:grid; gap:8px; width:100%; }
  .objective-ai-loading-line { height:10px; border-radius:999px; background:linear-gradient(90deg, rgba(255,255,255,0.06), rgba(255,255,255,0.16), rgba(255,255,255,0.06)); background-size:220% 100%; animation:objectiveAiPulse 1.05s ease-in-out infinite; }
  .objective-ai-loading-line.short { width:58%; }
  @keyframes objectiveAiPulse { 0% { background-position:100% 0; opacity:0.65; } 50% { background-position:0 0; opacity:1; } 100% { background-position:-100% 0; opacity:0.65; } }
  @media (max-width: 720px) { .objective-details-columns { grid-template-columns:1fr; } .objective-details-actions, .objective-details-footer-actions { align-items:stretch; } .objective-details-actions-right, .objective-ai-actions { width:100%; justify-content:stretch; } .objective-details-actions-right button, .objective-ai-actions button, .objective-details-footer-actions button { flex:1; justify-content:center; } }

  /* ========================================================================== 
     AI Suggestion Panel — textarea helpers, suggestion panel, and AI controls 
     ========================================================================== */
  /* AI improve button */
  .ta-wrap { position: relative; }
  .textarea-wrap { position: relative; display: block; }
  .ta-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 6px; min-height: 22px; }
  .word-counter { font-size: 12px; color: #909090; font-style: italic; }
  .convert-btn { display: none !important; align-items: center; gap: 5px; font-size: var(--btn-s-font); font-family: var(--font); font-weight: 500; color: var(--muted); background: var(--panel-bg); border: 1px solid var(--border2); border-radius: var(--radius-sm); padding: var(--btn-s-pad-y) var(--btn-s-pad-x); cursor: pointer; transition: all var(--anim-fast); position: absolute; bottom: 12px; right: 10px; z-index: var(--z-inline-action); pointer-events: auto; }
  .convert-btn.visible { display: inline-flex; }
  .convert-btn:hover { color: var(--text); border-color: rgba(255,255,255,0.3); background: var(--panel-hover-soft); }
  .convert-btn:disabled { opacity: 0.4; cursor: default; }
  .convert-btn svg { flex-shrink: 0; }
  .suggestion-panel { display: none; }
  .improve-limit { font-size: 11px; color: var(--muted); margin-top: 5px; text-align: right; display: none; }
  /* AI suggestion modal */
  .suggestion-modal-backdrop { z-index:600; background: rgba(0,0,0,0.6); }
  .suggestion-modal { margin: 1.5rem; padding: 1.75rem; }
  .suggestion-modal-field { font-size: 13px; color: var(--muted); margin-bottom: 1rem; }
  .suggestion-modal-text { font-size: 13px; color: var(--text); line-height: 1.7; white-space: pre-wrap; background: var(--control-bg); border: 1px solid var(--border2); border-radius: 8px; padding: 12px 14px; max-height: 280px; overflow-y: auto; }
  .suggestion-modal-actions { margin-top: 1.25rem; align-items: center; }
  .suggestion-modal-limit { font-size: 11px; color: #666; margin-right: auto; }
  .suggestion-modal-accept { font-size: 13px; font-family: var(--font); font-weight: 500; color: #000; background: var(--accent); border: none; border-radius: 7px; padding: 9px 22px; cursor: pointer; transition: background 0.15s; }
  .suggestion-modal-accept:hover { background: #ffd333; }
  .suggestion-modal-discard { font-size: 13px; font-family: var(--font); color: var(--muted); background: none; border: 1px solid var(--border2); border-radius: 7px; padding: 9px 22px; cursor: pointer; transition: all var(--anim-fast); }
  .suggestion-modal-discard:hover { color: var(--text); border-color: rgba(255,255,255,0.3); }

.suggestion-modal-copy { font-size: 13px; color: var(--muted); line-height: 1.65; margin-bottom: 1rem; }
.suggestion-modal-section { margin-top: 0.9rem; }
.suggestion-modal-section-title { font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin-bottom: 0.45rem; }
.suggestion-modal-list { margin: 0; padding-left: 18px; color: var(--text); font-size: 13px; line-height: 1.65; }
.suggestion-modal-list li + li { margin-top: 4px; }
.suggestion-modal-note { font-size: 13px; color: var(--text); line-height: 1.65; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 8px; padding: 12px 14px; }
.suggestion-modal-prompt { font-size: 13px; color: var(--text); line-height: 1.6; margin-top: 1rem; }
.suggestion-modal-textarea { width: 100%; min-height: 150px; resize: vertical; font-size: 13px; color: var(--text); line-height: 1.7; background: var(--control-bg); border: 1px solid var(--border2); border-radius: 8px; padding: 12px 14px; font-family: var(--font); }
.suggestion-modal-textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(255,192,0,0.1); outline: none; }
  /* Document viewer overlay */
  body.doc-viewer-open { overflow: hidden; }
  .doc-viewer { display: none; position: fixed; inset: 0; z-index: 1400; background: #e8e8e8; overflow-y: auto; isolation: isolate; }
  .doc-viewer.visible { display: block; }
  .doc-viewer-bar { position: sticky; top: 0; background: #1a1a1a; padding: 10px 24px; display: flex; align-items: center; justify-content: space-between; z-index: 1401; box-shadow: 0 2px 12px rgba(0,0,0,0.4); }
  .doc-viewer-bar-left { display: flex; align-items: center; gap: 12px; }
  .doc-viewer-bar-logo { font-family: var(--serif); font-size: 13px; color: var(--accent); }
  .doc-viewer-bar-info { font-size: 12px; color: #888; }
  .doc-viewer-bar-actions { display: flex; gap: 8px; }
  .doc-viewer-action { font-family: var(--font); font-size: var(--btn-m-font); font-weight: 500; padding: var(--btn-m-pad-y) var(--btn-m-pad-x); border-radius: var(--radius-md); cursor: pointer; border: none; transition: all 0.15s; }
  .doc-viewer-action-primary, .doc-viewer-action-secondary { }
  .doc-viewer-page { background: #fff; max-width: 900px; margin: 2rem auto; border-radius: 4px; box-shadow: 0 4px 32px rgba(0,0,0,0.18); padding: 4rem 4.5rem; min-height: 80vh; }
  @media print {
    .doc-viewer-bar { display: none !important; }
    .doc-viewer { position: static; background: #fff; overflow: visible; }
    .doc-viewer-page { box-shadow: none; margin: 0; padding: 0; border-radius: 0; max-width: none; }
    .app, .sidebar, #landing, .test-panel, .suggestion-modal-backdrop, .export-page-action-backdrop { display: none !important; }
    @page { margin: 1.8cm; size: A4; }
    #docViewerPage .rfp-section { page-break-inside: avoid; }
    #docViewerPage .rfp-h2 { page-break-after: avoid; }
    #docViewerPage .rfp-table { page-break-inside: avoid; }
    #docViewerPage .rfp-req { page-break-inside: avoid; }
    #docViewerPage .doc-header { page-break-after: avoid; }
    #docViewerPage .doc-footer { display: none; }
  }
  /* Floating generate button */
  .fab-generate { position: fixed; bottom: 2rem; right: 2rem; z-index: 490; display: none; align-items: center; gap: 10px; background: var(--accent); color: #000; font-family: var(--font); font-size: var(--btn-l-font); font-weight: 600; padding: var(--btn-l-pad-y) var(--btn-l-pad-x); border-radius: var(--radius-pill); border: none; cursor: pointer; box-shadow: 0 4px 24px rgba(255,192,0,0.35); transition: all 0.2s; }
  .fab-generate.visible { display: flex; animation: fadeIn 0.2s ease; }
  .fab-generate:hover { background: #ffd333; transform: translateY(-2px); box-shadow: 0 8px 32px rgba(255,192,0,0.4); }
  .fab-generate svg { flex-shrink: 0; }
  .fab-generate.review-mode { padding: var(--btn-m-pad-y) 20px; font-size: var(--btn-m-font); box-shadow: 0 4px 18px rgba(255,192,0,0.24); opacity: 0.94; }
  .export-page-action-backdrop { z-index:700; background: rgba(0,0,0,0.76); }
  .export-page { display:flex; flex-direction:column; overflow:hidden; }
  .export-page-tag { font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent); font-weight: 500; margin-bottom: 0.4rem; }
  .export-page-title { font-family: var(--serif); font-size: 1.6rem; color: var(--text); line-height: 1.12; margin-bottom: 0.35rem; }
  .export-page-desc { font-size: 13px; color: var(--muted); line-height: 1.6; max-width: 580px; }
  .export-page-content { overflow-y: auto; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.8rem; align-items: start; }

  .export-section-card { background: var(--panel-subtle); border: 1px solid rgba(255,255,255,0.08); border-radius: 16px; padding: 0.9rem 0.9rem 0.95rem; min-width: 0; }
  .export-page-row { display:grid; grid-template-columns:minmax(0, 1fr); gap:0.8rem; }
  .export-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.65rem; flex-wrap: wrap; }
  .export-section-title { font-size: 12px; font-weight: 600; color: var(--text); text-transform: uppercase; letter-spacing: 0.09em; }
  .export-section-copy { font-size: 12px; color: var(--muted); line-height: 1.55; max-width: 420px; }
  .export-format-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .export-settings-top-row { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:0.8rem; align-items:stretch; }
  .export-settings-top-row > .export-section-card { height:100%; display:flex; flex-direction:column; }
  .export-settings-top-row > .export-section-card .export-section-head { margin-bottom:0.75rem; }
  .export-settings-top-row > .export-section-card .radio-group,
  .export-settings-top-row > .export-section-card .export-option-card { flex:1; }
  .export-page-progress-row { min-height:84px; display:flex; align-items:center; justify-content:center; }
  .export-page-progress-row .export-progress { display:none; width:50%; max-width:none; margin:0 auto; }
  .export-page-progress-row .export-progress.visible { display:block; }
  .export-page-progress-row .export-progress-step { justify-content:center; }
  .export-page-progress-row .export-progress-step span { display:block; width:100%; text-align:center; }
  .export-branding-card { display:grid; gap:14px; }
  .export-branding-intro { font-size:12px; line-height:1.6; color:#9aa7b0; max-width:720px; }
  .export-branding-body { display:grid; gap:12px; }
  .export-branding-grid { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:12px; align-items:stretch; }
  .export-branding-pane { min-width:0; display:grid; gap:12px; padding:14px; border:1px solid rgba(255,255,255,0.08); border-radius:12px; background:rgba(255,255,255,0.03); }
  .export-branding-pane-head { display:grid; gap:4px; }
  .export-branding-label { font-size: 12px; font-weight: 600; color: var(--text); margin-bottom: 0; display: flex; align-items: center; gap: 6px; }
  .export-branding-copy { font-size:12px; color:#8f9ba2; line-height:1.55; }
  .export-format-card { background: var(--control-bg); border: 1.5px solid var(--border2); border-radius: 14px; padding: 0.85rem 0.9rem 0.9rem; cursor: pointer; transition: border-color var(--anim-fast), background var(--anim-fast), transform var(--anim-fast); user-select: none; }
  .export-format-card:hover { border-color: rgba(255,255,255,0.28); transform: translateY(-1px); }
  .export-format-card.selected { border-color: var(--accent); background: var(--selected-bg); }
  .export-format-label { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 6px; display: flex; align-items: center; gap: 8px; }
  .export-format-dot { width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid var(--border2); flex-shrink: 0; display: flex; align-items: center; justify-content: center; transition: all var(--anim-fast); }
  .export-format-card.selected .export-format-dot { border-color: var(--accent); background: var(--accent); }
  .export-format-dot-inner { width: 5px; height: 5px; border-radius: 50%; background: #000; opacity: 0; transition: opacity var(--anim-fast); }
  .export-format-card.selected .export-format-dot-inner { opacity: 1; }
  .export-format-desc { font-size: 12px; color: var(--muted); line-height: 1.6; }
  .export-option-card { display: flex; align-items: flex-start; gap: 12px; background: var(--control-bg); border: 1.5px solid var(--border2); border-radius: 14px; padding: 0.8rem 0.9rem; cursor: pointer; transition: border-color var(--anim-fast), background var(--anim-fast); }
  .export-option-card:hover { border-color: rgba(255,255,255,0.28); }
  .export-option-card.selected { border-color: var(--accent); background: var(--selected-bg); }
  .export-option-box { width: 18px; height: 18px; border-radius: 5px; border: 1.5px solid var(--border2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; transition: all var(--anim-fast); }
  .export-option-card.selected .export-option-box { border-color: var(--accent); background: var(--accent); }
  .export-option-box svg { opacity: 0; transition: opacity var(--anim-fast); }
  .export-option-card.selected .export-option-box svg { opacity: 1; }
  .export-option-copy { flex: 1; min-width: 0; }
  .export-option-title { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 3px; }
  .export-option-desc { font-size: 12px; color: var(--muted); line-height: 1.55; }
  .export-branding-optional { font-size: 11px; color: var(--muted); font-weight: 400; }
  .export-branding-header-optional { margin-left: 6px; text-transform: uppercase; letter-spacing: 0.08em; }
  .export-logo-drop { border: 1.5px dashed var(--border2); border-radius: 12px; padding: 14px; text-align: center; cursor: pointer; transition: border-color var(--anim-fast), background var(--anim-fast); position: relative; background: rgba(255,255,255,0.015); min-height: 96px; display: flex; align-items: center; justify-content: center; }
  .export-logo-drop:hover { border-color: rgba(255,255,255,0.3); background: rgba(255,255,255,0.03); }
  .export-logo-drop.has-logo { border-style: solid; border-color: rgba(255,255,255,0.25); }
  .export-logo-drop input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
  .export-logo-preview { max-height: 42px; max-width: 100%; object-fit: contain; display: none; margin: 0 auto; }
  .export-logo-drop.has-logo .export-logo-preview { display: block; }
  .export-logo-drop.has-logo .export-logo-hint { display: none; }
  .export-logo-hint { font-size: 12px; color: var(--muted); line-height: 1.5; }
  .export-logo-hint span { display: block; font-size: 12px; color: var(--muted); margin-top: 3px; }
  .export-logo-clear { font-size: 12px; color: var(--muted); background: none; border: none; cursor: pointer; font-family: var(--font); margin-top: 8px; padding: 0; transition: color 0.15s; display: none; }
  .export-logo-clear:hover { color: var(--text); }
  .export-colour-wrap { display: flex; flex-direction: column; gap: 10px; }
  .export-swatch-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 5px; }
  .export-colour-controls { display: flex; align-items: stretch; gap: 10px; flex-wrap: wrap; }
  .export-colour-field { flex: 0 0 120px; }
  .export-colour-hex { width: 100%; background: var(--control-bg); border: 1px solid var(--border2); border-radius: 10px; color: var(--text); font-family: var(--font); font-size: 13px; padding: 10px 12px; outline: none; transition: border-color var(--anim-fast), box-shadow var(--anim-fast), background var(--anim-fast); text-transform: uppercase; }
  .export-colour-hex:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(255,192,0,0.08); }
  .export-colour-hex.is-invalid { border-color: rgba(226,75,74,0.7); box-shadow: 0 0 0 3px rgba(226,75,74,0.12); background: rgba(226,75,74,0.06); }
  .export-colour-preview { min-width: 0; flex: 1 1 220px; min-height: 46px; border-radius: 12px; background: #fff; display: flex; align-items: center; padding: 0 12px; gap: 10px; border: 1px solid rgba(255,255,255,0.08); }
  .export-colour-preview-heading { font-size: 12px; font-weight: 600; font-family: var(--serif); white-space: nowrap; }
  .export-colour-preview-rule { flex: 1; height: 2px; border-radius: 1px; }
  .export-colour-preview-label { font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; white-space: nowrap; }
  .export-colour-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
  .export-colour-note { font-size: 11px; color: var(--muted); line-height: 1.45; max-width: 460px; }
  .export-colour-reset { font-size: var(--btn-s-font); color: var(--muted); background: none; border: 1px solid var(--border2); border-radius: var(--radius-sm); cursor: pointer; font-family: var(--font); padding: var(--btn-s-pad-y) var(--btn-s-pad-x); transition: all var(--anim-fast); }
  .export-colour-reset:hover { color: var(--text); border-color: rgba(255,255,255,0.3); }
  .export-colour-validation { display:flex; align-items:flex-start; gap:8px; min-height:18px; font-size:12px; line-height:1.5; color:var(--muted); }
  .export-colour-validation.pass { color: #91c9bb; }
  .export-colour-validation.fail { color: var(--accent-error); }
  .export-colour-validation-icon { flex-shrink:0; width:14px; text-align:center; }
  .export-page-actions-shell { justify-content: space-between; align-items: flex-end; background: rgba(255,255,255,0.015); }
  .export-page-actions-meta { font-size: 12px; color: #8e959b; display:flex; flex-direction:column; gap:8px; min-width:0; flex:1 1 280px; }
  .export-page-actions-right { display: flex; gap: 10px; align-items: center; }
  .export-page-action-back, .export-page-action-primary { }
  .export-page-action-primary:disabled { opacity: 0.4; cursor: default; }
  .export-progress { display: none; background: var(--control-bg); border: 1px solid var(--border2); border-radius: 12px; padding: 0.75rem 0.9rem; margin-top: 0; width: min(460px, 100%); }
  .export-progress.visible { display: block; }
  .export-progress-step { font-size: 12px; color: var(--text); margin-bottom: 6px; display: flex; align-items: center; gap: 8px; }
  .export-progress-bar-wrap { height: 3px; background: var(--border2); border-radius: 2px; overflow: hidden; }
@media (min-width: 900px) {
    .export-page-content > .export-section-card:nth-of-type(3) { grid-column: 1 / -1; }
    .export-page-content > .export-progress { grid-column: auto; }
  }
  @media (max-width: 720px) {
    .ds-modal-shell.ds-modal-shell-export { width: 100%; max-height: calc(100vh - 1rem); }
    .export-page-content { grid-template-columns: 1fr; gap: 0.75rem; }
    .export-page-content > .export-section-card, .export-page-content > .export-progress { grid-column: 1 / -1; }
    .export-format-grid, .export-branding-grid { grid-template-columns: 1fr; }
    .export-swatch-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .export-page-actions-shell { flex-direction: column; align-items: stretch; }
    .export-page-actions-meta { flex: 0 0 auto; }
    .export-progress { width: 100%; }
    .export-page-actions-right { width: 100%; justify-content: stretch; }
    .export-page-actions-right button { flex: 1; justify-content: center; }
  }
  .export-progress-bar { height: 100%; background: linear-gradient(90deg, var(--accent), var(--accent2)); border-radius: 2px; transition: width 0.8s ease; width: 0%; }
  @keyframes progressPulse { 0%,100% { opacity:1; } 50% { opacity:0.6; } }
  .export-progress-bar { animation: progressPulse 2s ease-in-out infinite; }

  .review-final-nav, .sanity-page-nav, .export-page-actions { align-items:center; }
  .review-final-nav-actions, .sanity-page-nav-actions, .export-page-actions-right { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
  .review-final-nav-actions, .sanity-page-nav-actions, .export-page-actions-right { margin-left:auto; }
.export-page-actions { justify-content:space-between; align-items:center; }
  .export-page-actions-right { display:flex; align-items:center; gap:14px; margin-left:auto; }
  .export-page-actions-support { display:flex; flex-direction:column; gap:8px; min-width:0; text-align:left; }
  .review-final-nav { justify-content:space-between; }
  .review-final-nav .btn:first-child { margin-right:0; }
  .export-page-shell { display:grid; gap:14px; }

  .export-page { display:grid; gap:18px; }
  .export-page-content { display:grid; gap:18px; }
  .export-page-content > .export-section-card, .export-page-content > .export-settings-top-row, .export-page-content > .export-page-progress-row { margin:0; }
  .export-page-actions { justify-content:space-between; align-items:center; padding: 0; border-top: none; }
  .export-page-actions-right { display:flex; align-items:center; gap:14px; margin-left:auto; }
  .export-page-actions-support { flex:1; min-width:0; display:grid; gap:8px; }
  @media (max-width: 767px) {
    .export-page { gap:14px; }
    .export-page-content { gap:14px; }
    .export-settings-top-row { grid-template-columns:1fr; gap:14px; }
    .export-branding-grid { grid-template-columns:1fr; }
    .export-page-progress-row { min-height:0; }
    .export-page-progress-row .export-progress { width:100%; }
  }
  .final-page-note { font-size:12px; color:#8f9ba2; line-height:1.6; max-width:none; }
  .sanity-progress { display:grid; gap:14px; padding:18px 20px; min-height:96px; border-radius:14px; border:1px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.028); color:var(--text); font-size:14px; line-height:1.5; }
  .ds-skeleton { display:grid; gap:10px; }
  .ds-skeleton-row { display:grid; gap:8px; }
  .ds-skeleton-line, .ds-skeleton-block { position:relative; overflow:hidden; background:rgba(255,255,255,0.07); border-radius:999px; }
  .ds-skeleton-line::after, .ds-skeleton-block::after { content:''; position:absolute; inset:0; transform:translateX(-100%); background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.18), rgba(255,255,255,0)); animation:dsSkeletonShimmer 1.35s ease-in-out infinite; }
  .ds-skeleton-line { height:10px; }
  .ds-skeleton-line.ds-skeleton-title { height:12px; width:38%; }
  .ds-skeleton-line.ds-skeleton-medium { width:68%; }
  .ds-skeleton-line.ds-skeleton-short { width:44%; }
  .ds-skeleton-block { height:34px; border-radius:10px; }
  .ds-sanity-skeleton { gap:12px; }
  .ds-sanity-skeleton-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; }
  .sanity-progress[hidden] { display:none !important; }
  @keyframes dsSkeletonShimmer { 100% { transform:translateX(100%); } }
  @media (max-width: 767px) { .ds-sanity-skeleton-grid { grid-template-columns:1fr; } }
  .sidebar-link-disabled-note { display:block; margin-top:6px; font-size:11px; color:#7f8b92; line-height:1.5; }
  @media (max-width: 767px) {
    .review-final-nav, .sanity-page-nav, .export-page-actions { flex-direction:column; align-items:stretch; }
    .review-final-nav-actions, .sanity-page-nav-actions, .export-page-actions-right { width:100%; justify-content:stretch; margin-left:0; }
    .review-final-nav-actions .btn, .sanity-page-nav-actions .btn, .export-page-actions-right .btn { flex:1; justify-content:center; }
    .export-page-actions-right { width:100%; flex-direction:column; align-items:stretch; }
  }
  .sublabel { font-size: 12px; color: #8f9ba2; margin-bottom: 10px; display: block; margin-top: 0; line-height: 1.6; max-width: 620px; }
  .spacer { height: var(--space-4); }
  .optional-divider { display: flex; align-items: center; gap: 12px; margin: 1.25rem 0 1rem; }
  .optional-divider-line { flex: 1; height: 1px; background: rgba(255,255,255,0.08); }
  .optional-divider-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: #909090; font-weight: 500; white-space: nowrap; }
  .optional-nudge { font-size: 12px; color: #8f9ba2; font-style: normal; margin-bottom: 1rem; line-height: 1.6; max-width: 620px; }
  .scope-subgroup-title .optional-nudge { display:inline; margin-bottom:0; max-width:none; text-transform:none; letter-spacing:0; font-weight:400; color:#8f9ba2; }
  .fset-subtext-wrap { min-height: 18px; }
.fset-subtext { font-size: 12px; color: #98a5ad; line-height: 1.5; }
  .fset-subtext { display:block; }
  .fset-meta { font-size: 12px; color: #98a5ad; line-height: 1.5; display:block; }
  .ds-intro-copy { font-size: var(--fs-body-sm); color: #9aa7b0; line-height: 1.65; margin-bottom: var(--space-4-5); max-width: 760px; }
  .ds-question-group { display: grid; gap: 22px; }
  .ds-question-group + .ds-question-group { margin-top: 1.35rem; padding-top: 1.35rem; border-top: 1px solid rgba(255,255,255,0.06); }
  .ds-question-group .form-grid { margin: 0; gap: 1.15rem 1.25rem; }
  .ds-question-group .form-grid.single { gap: 1.45rem; }
  .ds-question-group .form-group + .form-group { margin-top: 0; }
  .ds-inline-help { display:flex; align-items:center; justify-content:flex-start; margin:0 0 0.95rem; }
  .ds-inline-help-wrap { position:relative; display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; }
  .ds-inline-help-copy { font-size:12px; line-height:1.55; color:#aeb9bf; }
  .ds-inline-help-trigger { display:inline-flex; align-items:center; justify-content:center; min-height:26px; padding:0 10px; background:rgba(255,255,255,0.035); border:1px solid rgba(255,255,255,0.14); border-radius:999px; font-family:var(--font); font-size:11px; font-weight:500; letter-spacing:0.04em; line-height:1; color:#d6dde1; cursor:pointer; text-decoration:none; transition:background var(--anim-fast), border-color var(--anim-fast), color var(--anim-fast), transform var(--anim-fast), box-shadow var(--anim-fast), filter var(--anim-fast); }
  .ds-inline-help-trigger:hover, .ds-inline-help-trigger:focus-visible, .ds-inline-help-wrap.is-open .ds-inline-help-trigger { background:rgba(255,255,255,0.06); border-color:rgba(255,255,255,0.24); color:var(--text); outline:none; }
  .ds-inline-help-trigger:focus-visible { box-shadow:0 0 0 3px rgba(255,192,0,0.10); }
  .ds-inline-help-trigger--icon { width:28px; min-width:28px; height:28px; min-height:28px; padding:0; border-radius:999px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.10); color:#eef4f7; }
  .ds-inline-help-trigger--icon svg { display:block; width:18px; height:18px; overflow:visible; }
  .ds-inline-help-trigger--icon .bulb-shell { opacity:0.96; }
  .ds-inline-help-trigger--icon .bulb-base { opacity:0.9; }
  .ds-inline-help-trigger--icon .bulb-filament { color:#ffd84f; }
  .ds-inline-help-trigger--icon .bulb-glow-core { opacity:0; transform-origin:10px 8.7px; }
  .ds-inline-help-trigger--icon .bulb-glow-outer { opacity:0; transform-origin:10px 8.3px; }
  .ds-inline-help-trigger--icon:hover, .ds-inline-help-trigger--icon:focus-visible, .ds-inline-help-wrap.is-open .ds-inline-help-trigger--icon { background:rgba(255,255,255,0.06); border-color:rgba(255,255,255,0.18); color:#fff4c8; }
  .ds-inline-help-trigger--icon:hover .bulb-shell, .ds-inline-help-trigger--icon:focus-visible .bulb-shell, .ds-inline-help-wrap.is-open .ds-inline-help-trigger--icon .bulb-shell,
  .ds-inline-help-trigger--icon:hover .bulb-base, .ds-inline-help-trigger--icon:focus-visible .bulb-base, .ds-inline-help-wrap.is-open .ds-inline-help-trigger--icon .bulb-base { animation:projectBulbShellPulse 0.98s cubic-bezier(.2,.75,.2,1); }
  .ds-inline-help-trigger--icon:hover .bulb-filament, .ds-inline-help-trigger--icon:focus-visible .bulb-filament, .ds-inline-help-wrap.is-open .ds-inline-help-trigger--icon .bulb-filament { animation:projectBulbFilamentPulse 0.98s cubic-bezier(.16,.84,.22,1); }
  .ds-inline-help-trigger--icon:hover .bulb-glow-core, .ds-inline-help-trigger--icon:focus-visible .bulb-glow-core, .ds-inline-help-wrap.is-open .ds-inline-help-trigger--icon .bulb-glow-core { animation:projectBulbGlowCorePulse 0.98s cubic-bezier(.16,.84,.22,1); }
  .ds-inline-help-trigger--icon:hover .bulb-glow-outer, .ds-inline-help-trigger--icon:focus-visible .bulb-glow-outer, .ds-inline-help-wrap.is-open .ds-inline-help-trigger--icon .bulb-glow-outer { animation:projectBulbGlowOuterPulse 1.02s cubic-bezier(.16,.84,.22,1); }
  .ds-label-inline-help { display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; }
  .scope-subgroup { display:grid; gap:10px; }
  .scope-subgroup + .scope-subgroup { margin-top:1.15rem; padding-top:1.15rem; border-top:1px solid rgba(255,255,255,0.08); }
  .scope-subgroup-title { font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:#a7b4bb; font-weight:600; }
  .scope-subgroup-copy { font-size:12px; line-height:1.6; color:#97a3aa; max-width:680px; }
  .scope-guidance-head { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
  .scope-guidance-icon { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
    .ds-inline-help-pop { display:none; position:absolute; left:0; top:calc(100% + 8px); z-index:8; width:max-content; min-width:280px; max-width:min(440px, calc(100vw - 3rem)); padding:10px 12px; border-radius:12px; border:1px solid rgba(255,255,255,0.12); background:rgba(20,20,20,0.98); box-shadow:0 16px 36px rgba(0,0,0,0.34); color:#d2d9dd; font-size:12px; line-height:1.6; }
  .ds-inline-help-wrap.is-open .ds-inline-help-pop { display:block; animation:fadeIn 0.12s ease; }
  .repeatable-list { display:grid; gap:8px; }
  .repeatable-list-items { display:grid; gap:8px; }
  .repeatable-list-item { display:flex; align-items:center; justify-content:space-between; gap:10px; background: var(--control-bg); border: 1px solid var(--border2); border-radius: var(--radius-sm); padding: 9px 12px; }
  .repeatable-list-item-text { font-size: var(--fs-sm); color: var(--text); line-height: 1.5; }
  .repeatable-list-empty { font-size: 12px; color: var(--muted); font-style: italic; }
  .repeatable-list-controls { display:flex; gap:8px; align-items:center; }
  .repeatable-list-controls input[type=text] { flex:1; }

  .tech-detail-summary { margin-top: 10px; border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; background: rgba(255,255,255,0.03); padding: 12px 14px; display: grid; gap: 8px; }
  .tech-detail-summary-title { font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); }
  .tech-detail-summary-copy { font-size: 13px; color: var(--text); line-height: 1.65; white-space: pre-wrap; }
  .tech-detail-summary-actions { display: flex; gap: 8px; flex-wrap: wrap; }
  .tech-detail-summary-empty { margin-top: 10px; }
  .tech-detail-summary ul { margin: 0; padding-left: 18px; }
  .tech-detail-modal-body { display:grid; gap:16px; padding-top:1.1rem; padding-bottom:1.35rem; }
  .tech-detail-modal-body .form-group { gap:10px; }
  .tech-detail-modal-body .repeatable-list { gap:10px; }
  .tech-detail-modal-body .repeatable-list-controls { margin-top:4px; align-items:stretch; }
  .tech-detail-modal-body .repeatable-list-controls .btn { flex:0 0 auto; }
  .tech-detail-modal-body .ds-hint-block { margin-top:2px; }
  .tech-detail-modal-backdrop { z-index:720; }
  @media (max-width: 720px) {
  }
  .info-box { background: rgba(255,192,0,0.07); border: 1px solid rgba(255,192,0,0.2); border-radius: 8px; padding: 12px 16px; font-size: 13px; color: rgba(255,192,0,0.9); line-height: 1.6; margin-bottom: 1.25rem; }
  .info-box strong { color: var(--accent); }

  .ds-helper {
    display: grid;
    gap: 6px;
    margin: 0 0 1rem;
    padding: 0 0 0 14px;
    border: none;
    border-left: 2px solid rgba(216,178,74,0.24);
    border-radius: 0;
    background: none;
    color: #bcc7cd;
    line-height: 1.65;
    font-size: 13px;
    max-width: 760px;
  }
  .ds-helper strong {
    color: #e5ecef;
    font-weight: 600;
  }
  .ds-helper span {
    display: block;
  }
  .ds-helper--context {
    margin-bottom: 0.95rem;
    padding-left: 12px;
    border-left-color: rgba(255,255,255,0.14);
    color: #9eafb8;
  }
  .ds-helper--context strong {
    color: #d7dfe4;
  }
  .budget-flow-group {
    display: grid;
    gap: 12px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: none;
  }
  .budget-flow-group + .budget-flow-group {
    margin-top: 1.1rem;
    padding-top: 1.1rem;
    border-top: 1px solid rgba(255,255,255,0.08);
  }
  .budget-group-head {
    display: grid;
    gap: 4px;
    min-width: 0;
  }
  .budget-group-title {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #a7b4bb;
    font-weight: 600;
  }
  .budget-group-copy {
    font-size: 12px;
    line-height: 1.6;
    color: #97a3aa;
    max-width: 680px;
  }
  .budget-flow-group .form-grid.single {
    gap: 20px;
  }
  .budget-group-head { max-width: 720px; }
  .budget-flow-group.ds-question-group { gap: 14px; }
  .budget-flow-group .radio-group,
  .budget-flow-group .check-group {
    gap: 10px;
  }
  @media (max-width: 767px) {
    .check-group--2col { grid-template-columns: 1fr; }
  }
  .budget-flow-group .field-label {
    color: #e6edf1;
  }
  .budget-flow-group .ds-input-reveal {
    margin-top: 2px;
  }
  .budget-calibration-card {
    display: grid;
    gap: 0.85rem;
    margin: 0 0 1.25rem;
    padding: 1rem 1.05rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,0.08);
    background:
      linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015)),
      linear-gradient(135deg, rgba(216,178,74,0.05), rgba(0,163,136,0.025));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.015);
  }
  .budget-calibration-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
  }
  .budget-calibration-top-main {
    flex: 1 1 420px;
    min-width: 0;
  }
  .budget-calibration-kicker,
  .budget-signal-title,
  .budget-phasing-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .budget-calibration-kicker {
    color: #f0bd2a;
    margin-bottom: 0.35rem;
  }
  .budget-calibration-title {
    font-size: 21px;
    font-weight: 600;
    line-height: 1.15;
    color: #eef4f7;
  }
  .budget-calibration-copy,
  .budget-signal-copy,
  .budget-route-copy,
  .budget-phasing-copy {
    font-size: 13px;
    line-height: 1.65;
    color: #bcc8cf;
  }
  .budget-calibration-copy {
    max-width: 720px;
    margin-top: 0.2rem;
  }
  .budget-guidance-illustration {
    flex: 0 0 auto;
    width: 84px;
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -0.15rem;
    opacity: 0.96;
  }
  .budget-guidance-illustration svg {
    width: 84px;
    height: 84px;
    display: block;
  }
  .budget-guidance-source,
  .budget-guidance-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 0.55rem;
    font-size: 12px;
    line-height: 1.45;
    color: #9fb0b8;
  }
  .budget-guidance-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #00A388;
    box-shadow: 0 0 0 6px rgba(0,163,136,0.1);
    animation: budgetGuidancePulse 1s ease-in-out infinite;
  }
  @keyframes budgetGuidancePulse {
    0% { transform: scale(0.88); opacity: 0.7; }
    50% { transform: scale(1); opacity: 1; }
    100% { transform: scale(0.88); opacity: 0.7; }
  }
  .budget-calibration-badge {
    flex: 0 1 280px;
    min-width: 220px;
    padding: 0.65rem 0.8rem;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.03);
    font-size: 12px;
    line-height: 1.5;
    color: #9fb0b8;
  }
  .budget-guidance-rail {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }
  .budget-guidance-step {
    display: grid;
    justify-items: start;
    gap: 0.3rem;
    min-width: 0;
    padding: 0.7rem 0.75rem;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.02);
    color: #9fb0b8;
    font-family: var(--font);
    font-size: 12px;
    text-align: left;
    cursor: pointer;
    transition: border-color var(--anim-fast), background var(--anim-fast), color var(--anim-fast);
  }
  .budget-guidance-step:hover {
    border-color: rgba(255,255,255,0.18);
    color: #d7dee3;
  }
  .budget-guidance-step.is-active {
    border-color: rgba(255,192,0,0.2);
    background: rgba(255,192,0,0.06);
    color: #eef4f7;
  }
  .budget-guidance-step-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: rgba(136,167,183,0.12);
    color: #d7dee3;
    font-size: 11px;
    font-weight: 700;
  }
  .budget-guidance-step.is-active .budget-guidance-step-index {
    background: rgba(255,192,0,0.18);
    color: #ffc000;
  }
  .budget-guidance-step-label {
    min-width: 0;
    line-height: 1.35;
  }
  .budget-guidance-frame {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.028);
  }
  .budget-guidance-frame-head {
    display: grid;
    gap: 0.35rem;
  }
  .budget-guidance-frame-title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    color: #eef4f7;
  }
  .budget-guidance-frame-copy,
  .budget-guidance-copy-compact,
  .budget-guidance-meaning {
    font-size: 12px;
    line-height: 1.55;
    color: #bcc8cf;
  }
  .budget-guidance-meaning {
    padding-top: 0.1rem;
    color: #9fb0b8;
  }
  .budget-guidance-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .budget-guidance-link {
    appearance: none;
    -webkit-appearance: none;
    border: none;
    background: none;
    padding: 0;
    color: #d7dee3;
    font-family: var(--font);
    font-size: 12px;
    line-height: 1.45;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
  }
  .budget-guidance-link:hover {
    color: #eef4f7;
  }
  .budget-guidance-drawer {
    display: grid;
    gap: 0.75rem;
    padding-top: 0.15rem;
    border-top: 1px solid rgba(255,255,255,0.06);
  }
  .budget-signal-title,
  .budget-phasing-title {
    color: #9eafb8;
  }
  .budget-signal-head {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.3;
    color: #eef4f7;
  }
  .budget-signal-list {
    margin: 0;
    padding-left: 1.1rem;
    display: grid;
    gap: 0.5rem;
    color: #d5dee2;
  }
  .budget-signal-list li {
    font-size: 13px;
    line-height: 1.6;
  }
  .budget-signal-list strong {
    color: #eef4f7;
    font-weight: 600;
  }
  .budget-signal-card--full {
    grid-column: 1 / -1;
  }
  .budget-pattern-copy,
  .budget-anchor-copy,
  .budget-confidence-copy,
  .budget-realism-copy {
    font-size: 13px;
    line-height: 1.65;
    color: #bcc8cf;
  }
  .budget-pattern-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .budget-pattern-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
  .budget-pattern-card {
    display: grid;
    gap: 0.7rem;
    min-width: 0;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.024);
  }
  .budget-pattern-card-head {
    display: grid;
    gap: 0.4rem;
  }
  .budget-pattern-meter {
    display: inline-grid;
    grid-auto-flow: column;
    gap: 6px;
    justify-content: start;
  }
  .budget-pattern-meter-segment {
    width: 22px;
    height: 5px;
    border-radius: 999px;
    background: rgba(136,167,183,0.18);
    border: 1px solid rgba(136,167,183,0.2);
  }
  .budget-pattern-meter-segment.is-on {
    background: linear-gradient(90deg, rgba(255,192,0,0.78), rgba(0,163,136,0.58));
    border-color: rgba(255,192,0,0.22);
  }
  .budget-pattern-detail {
    display: grid;
    gap: 0.4rem;
  }
  .budget-pattern-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .budget-pattern-strip-item {
    display: inline-grid;
    gap: 0.35rem;
    min-width: 0;
    padding: 0.65rem 0.75rem;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.02);
  }
  .budget-pattern-strip-label {
    font-size: 12px;
    line-height: 1.4;
    color: #d7dee3;
  }
  .budget-pattern-list-title {
    font-size: 11px;
    line-height: 1.35;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #9fb0b8;
  }
  .budget-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .budget-chip {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.03);
    color: #d7dee3;
    font-size: 12px;
    line-height: 1.35;
  }
  .budget-pattern-pricing {
    padding-top: 0.15rem;
    border-top: 1px solid rgba(255,255,255,0.06);
    font-size: 12px;
    line-height: 1.55;
    color: #b8c4cb;
  }
  .budget-pattern-block {
    display: grid;
    gap: 0.45rem;
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.024);
    min-width: 0;
  }
  .budget-pattern-title,
  .budget-anchor-title,
  .budget-confidence-title,
  .budget-realism-title {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
    color: #eef4f7;
  }
  .budget-anchor-stack {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .budget-anchor-item,
  .budget-confidence-note,
  .budget-realism-note {
    display: grid;
    gap: 0.35rem;
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.024);
  }
  .budget-confidence-note {
    border-color: rgba(0,163,136,0.24);
    background: rgba(0,163,136,0.06);
  }
  .budget-realism-note {
    border-color: rgba(216,178,74,0.18);
    background: rgba(216,178,74,0.06);
  }
  .budget-route-stack {
    display: grid;
    gap: 0.75rem;
  }
  .budget-route-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
  .budget-route-card {
    display: grid;
    gap: 0.6rem;
    min-width: 0;
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.02);
  }
  .budget-guidance-subcard {
    display: grid;
    gap: 0.7rem;
    margin-bottom: 0.15rem;
    padding: 0.85rem 0.95rem;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.024);
  }
  .budget-guidance-subcard--muted {
    background: rgba(255,255,255,0.018);
  }
  .budget-guidance-subcard--compact {
    gap: 0.6rem;
  }
  .budget-clarity-grid,
  .budget-guidance-note-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .budget-clarity-block {
    display: grid;
    gap: 0.55rem;
    min-width: 0;
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.02);
  }
  .budget-guidance-note {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.024);
  }
  .budget-guidance-note--compact {
    padding: 0.7rem 0.8rem;
    font-size: 12px;
    line-height: 1.55;
    color: #bcc8cf;
  }
  .budget-guidance-note-list {
    display: grid;
    gap: 10px;
  }
  .budget-guidance-accordion {
    display: grid;
    gap: 8px;
  }
  .budget-guidance-accordion-item {
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;
    background: rgba(255,255,255,0.018);
  }
  .budget-guidance-accordion-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0.7rem 0.85rem;
    border: none;
    background: none;
    color: #eef4f7;
    font-family: var(--font);
    font-size: 12px;
    line-height: 1.45;
    text-align: left;
    cursor: pointer;
  }
  .budget-guidance-accordion-body {
    display: grid;
    gap: 0.55rem;
    padding: 0 0.85rem 0.8rem;
  }
  .budget-guidance-accordion-icon {
    flex: 0 0 auto;
    color: #9fb0b8;
    font-size: 16px;
    line-height: 1;
  }
  .budget-anchor-drawer {
    display: grid;
    gap: 10px;
  }
  .budget-anchor-compact {
    display: grid;
    gap: 0.25rem;
    padding: 0.75rem 0.85rem;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.02);
  }
  .budget-guidance-subcard.is-loading,
  .budget-calibration-card.is-loading {
    position: relative;
  }
  .budget-guidance-subcard.is-loading::after,
  .budget-calibration-card.is-loading::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.03) 45%, rgba(255,255,255,0) 100%);
    pointer-events: none;
    animation: budgetGuidanceSweep 1.25s ease-in-out infinite;
  }
  @keyframes budgetGuidanceSweep {
    0% { transform: translateX(-12%); opacity: 0; }
    40% { opacity: 1; }
    100% { transform: translateX(12%); opacity: 0; }
  }
  .budget-route-item + .budget-route-item {
    padding-top: 0.75rem;
    border-top: 1px solid rgba(255,255,255,0.08);
  }
  .budget-route-title {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
    color: #eef4f7;
    margin-bottom: 0.2rem;
  }
  .budget-phasing-cue {
    display: grid;
    gap: 0.35rem;
    padding: 0.9rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(216,178,74,0.18);
    background: rgba(216,178,74,0.06);
  }
  .ds-choice-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .ds-choice-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: var(--radius-pill);
    border: 1.5px solid var(--border2);
    background: rgba(255,255,255,0.03);
    color: var(--muted);
    font-family: var(--font);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color var(--anim-fast), background var(--anim-fast), color var(--anim-fast);
    user-select: none;
  }
  .ds-choice-pill:hover,
  .ds-choice-pill:focus-visible {
    border-color: rgba(255,255,255,0.28);
    background: rgba(255,255,255,0.05);
    color: var(--text);
    outline: none;
  }
  .ds-choice-pill.selected {
    border-color: rgba(216,178,74,0.32);
    background: rgba(216,178,74,0.10);
    color: var(--text);
  }
.ds-choice-grid { display:grid; gap:10px; }
.ds-choice-grid--2col { grid-template-columns:repeat(2, minmax(0,1fr)); }
.ds-choice-grid .radio-inline { min-height:56px; height:100%; }
.ds-choice-grid .check-card { min-height:56px; height:100%; }
.functional-role-transfer { display:flex; flex-direction:column; gap:12px; }
.functional-role-transfer-question { font-size:14px; font-weight:600; color:#eef4f7; }
.functional-role-transfer-intro,
.functional-role-transfer-note,
.functional-role-zone-copy,
.functional-role-scope-copy { font-size:13px; color:rgba(255,255,255,0.66); line-height:1.5; }
.functional-role-zones { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
.functional-role-zone { padding:14px; border-radius:16px; }
.functional-role-zone-head { margin-bottom:10px; }
.functional-role-zone-title,
.functional-role-scope-group-title { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#88a7b7; margin-bottom:4px; }
.functional-role-list { display:flex; flex-direction:column; gap:10px; }
.functional-role-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:10px 12px; padding:12px 14px; border-radius:14px; border:1px solid rgba(255,255,255,0.09); background:rgba(255,255,255,0.03); }
.functional-role-card--priority { background:rgba(255,192,0,0.05); border-color:rgba(255,192,0,0.18); }
.functional-role-card-main { grid-column:1 / -1; grid-row:2; display:flex; align-items:center; gap:10px; min-width:0; }
.functional-role-card-title { font-size:14px; font-weight:500; color:#eef4f7; line-height:1.4; }
.functional-role-card-actions { grid-column:2; grid-row:1; display:flex; align-items:center; gap:6px; justify-content:flex-end; align-self:start; }
.functional-role-action { width:28px; height:28px; color:#cfd9de; border-color:rgba(255,255,255,0.12); background:rgba(255,255,255,0.03); }
.functional-role-action:hover:not(:disabled) { color:#eef4f7; border-color:rgba(255,255,255,0.2); background:rgba(255,255,255,0.06); }
.functional-role-action:disabled { opacity:0.34; }
.functional-role-action svg { display:block; }
.functional-role-order-badge { width:24px; height:24px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; color:#111820; background:#ffc000; flex:none; }
.functional-role-empty { padding:14px; border-radius:14px; border:1px dashed rgba(255,255,255,0.16); background:rgba(255,255,255,0.02); }
.functional-role-scope-groups { display:flex; flex-direction:column; gap:16px; }
.functional-role-scope-group + .functional-role-scope-group { padding-top:2px; }
.functional-capability-shell { display:grid; gap:14px; }
.functional-capability-intro { font-size:13px; line-height:1.55; color:rgba(255,255,255,0.68); }
.functional-capability-group { padding:14px; border-radius:16px; }
.functional-capability-group-head { display:grid; gap:4px; margin-bottom:10px; }
.functional-capability-group-copy { font-size:13px; line-height:1.55; color:#c7d0d6; }
.functional-capability-group-question { font-size:14px; line-height:1.5; font-weight:600; color:#e6edf1; }
.functional-capability-group-title { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#88a7b7; }
.functional-capability-group-note { font-size:12px; line-height:1.55; color:#9eafb8; }
.functional-capability-checks { width:100%; }
.functional-capability-checks .check-card { min-height:56px; }
.functional-capability-empty { padding:14px; border-radius:14px; border:1px dashed rgba(255,255,255,0.16); background:rgba(255,255,255,0.02); }
  /* DS extension: constrained single-column choice list for reflective multi-select sets */
  .ds-choice-stack--constrained { width:100%; max-width:680px; }
  .ds-choice-stack--constrained .check-group,
  .ds-choice-stack--constrained .radio-group { width:100%; }
  .ds-choice-stack--half { width:100%; max-width:560px; }
  .ds-choice-stack--half .check-group,
  .ds-choice-stack--half .radio-group { width:100%; }
  .ds-summary-tip-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
  .ds-summary-tip { font-size:12px; line-height:1.55; color:#9eabb3; }
  .ds-summary-tip-wrap { position:relative; display:inline-flex; align-items:center; }
  .ds-summary-tip-trigger { display:inline-flex; align-items:center; justify-content:center; min-height:24px; padding:0 8px; border-radius:999px; border:1px solid rgba(255,255,255,0.12); background:rgba(255,255,255,0.03); color:#c3ccd1; font-size:10px; letter-spacing:0.06em; text-transform:uppercase; }
  .ds-summary-tip-pop { display:none; position:absolute; left:0; top:calc(100% + 8px); z-index:8; width:max-content; min-width:260px; max-width:min(420px, calc(100vw - 3rem)); padding:10px 12px; border-radius:12px; border:1px solid rgba(255,255,255,0.12); background:rgba(20,20,20,0.98); box-shadow:0 16px 36px rgba(0,0,0,0.34); color:#d2d9dd; font-size:12px; line-height:1.6; }
  .ds-summary-tip-wrap:hover .ds-summary-tip-pop { display:block; animation:fadeIn 0.12s ease; }
  .anchor-question-stack { display:grid; gap:var(--ds-section-gap); }
  .anchor-question-stack-questions { display:grid; gap:0; }
  .anchor-question-stack > .budget-market-anchor-surface,
  .anchor-question-stack > .timeline-anchor-surface,
  .anchor-question-stack > .support-anchor-surface,
  .anchor-question-stack > .supplier-anchor-surface { margin-bottom:0; }
  .budget-market-anchor-surface { margin-bottom: 2rem; display:grid; gap:0.9rem; }
  .budget-market-anchor-surface-intro { font-size:18px; line-height:1.45; font-weight:500; color:#eef4f7; }
  .budget-market-anchor-shell { margin-bottom: 0; }
  .budget-market-anchor-status { display:inline-flex; align-items:center; gap:7px; font-size:12px; color:#708089; padding-bottom:4px; }
  .budget-market-anchor-status-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
  .budget-market-anchor-status-dot--loading { background:#00A388; animation:budgetMarketAnchorStatusPulse 1.1s ease-in-out infinite; }
  .budget-market-anchor-status-dot--done { background:#00A388; }
  .budget-market-anchor-status-dot--error { background:#e24b4a; }
  .budget-market-anchor-status-retry { background:none; border:none; color:#e8a09f; font-size:12px; font-family:var(--font); cursor:pointer; text-decoration:underline; text-underline-offset:2px; padding:0; }
  .budget-market-anchor-calibration-card { position:relative; padding:1.4rem 1.4rem 1.6rem; border-radius:20px; border:1px solid rgba(255,255,255,0.08); background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.015)),linear-gradient(135deg,rgba(216,178,74,0.05),rgba(0,163,136,0.025)); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.015); display:grid; gap:1.25rem; }
  .budget-market-anchor-calibration-card.is-loading::after { content:''; position:absolute; inset:0; border-radius:20px; background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.05), rgba(255,255,255,0)); animation:budgetGuidanceSweep 1.3s linear infinite; pointer-events:none; }
  .budget-market-anchor-scale-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
  .budget-market-anchor-scale-copy { min-width:0; }
  .budget-market-anchor-scale-eyebrow { font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#FFC000; margin-bottom:6px; }
  .budget-market-anchor-scale-heading { font-size:15px; font-weight:600; line-height:1.28; color:#eef4f7; }
  .budget-market-anchor-step-rail { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }
  .budget-market-anchor-step-btn { position:relative; display:flex; flex-direction:column; align-items:center; gap:.55rem; padding:1rem .6rem .85rem; border-radius:14px; border:1px solid rgba(255,255,255,0.07); background:rgba(255,255,255,0.02); cursor:pointer; overflow:hidden; transition:border-color var(--anim-fast), background var(--anim-fast), opacity var(--anim-fast); }
  .budget-market-anchor-step-btn::after { content:''; position:absolute; inset:0; background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,0.055) 50%,transparent 60%); opacity:0; }
  .budget-market-anchor-step-btn:hover::after { animation:budgetMarketAnchorGlint .55s ease forwards; }
  .budget-market-anchor-step-btn:hover { border-color:rgba(255,255,255,0.15); }
  .budget-market-anchor-step-btn.is-active { border-color:rgba(255,192,0,0.24); background:rgba(255,192,0,0.055); }
  .budget-market-anchor-step-btn.is-locked { opacity:.35; cursor:default; pointer-events:none; }
  .budget-market-anchor-step-illo { width:60px; height:60px; display:flex; align-items:center; justify-content:center; opacity:.65; transition:opacity var(--anim-fast); }
  .budget-market-anchor-step-btn:hover .budget-market-anchor-step-illo, .budget-market-anchor-step-btn.is-active .budget-market-anchor-step-illo { opacity:1; }
  .budget-market-anchor-step-illo svg { width:60px; height:60px; display:block; }
  .budget-market-anchor-step-footer { display:flex; flex-direction:column; align-items:center; gap:.2rem; }
  .budget-market-anchor-step-num { font-size:10px; color:#708089; }
  .budget-market-anchor-step-btn.is-active .budget-market-anchor-step-num { color:#FFC000; }
  .budget-market-anchor-step-label { font-size:11px; font-weight:500; color:#9fb0b8; text-align:center; line-height:1.3; }
  .budget-market-anchor-step-btn.is-active .budget-market-anchor-step-label { color:#eef4f7; }
  .budget-market-anchor-step-hint { font-size:10px; color:#708089; }
  .budget-market-anchor-frame { padding:1.6rem 1.5rem 1.8rem; border-radius:15px; border:1px solid rgba(255,255,255,0.07); background:rgba(255,255,255,0.026); min-height:340px; display:grid; gap:1.4rem; align-content:start; }
  .budget-market-anchor-frame-shell.fade-up { animation:fadeIn var(--anim-fade) ease; }
  .budget-market-anchor-frame-kicker { font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#9fb0b8; }
  .budget-market-anchor-frame-title { font-family:'Canela','DM Serif Display',Georgia,serif; font-size:20px; font-weight:400; color:#eef4f7; line-height:1.2; }
  .budget-market-anchor-frame-body,
  .budget-market-anchor-driver-copy,
  .budget-market-anchor-platform-band-copy,
  .budget-market-anchor-strategy-body,
  .budget-market-anchor-frame-note,
  .budget-market-anchor-products-copy,
  .budget-market-anchor-impl-qual,
  .budget-market-anchor-covers { font-size:13px; line-height:1.7; color:#bcc8cf; }
  .budget-market-anchor-frame-body--tight { margin-bottom:4px; }
  .budget-market-anchor-impl-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .budget-market-anchor-impl-block { padding:1rem 1.1rem; border-radius:12px; border:1px solid rgba(255,255,255,0.07); background:rgba(255,255,255,0.022); display:grid; gap:.3rem; }
  .budget-market-anchor-impl-block--impl { border-color:rgba(255,192,0,0.18); background:rgba(255,192,0,0.04); }
  .budget-market-anchor-impl-label { font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
  .budget-market-anchor-impl-label--impl { color:rgba(255,192,0,.65); }
  .budget-market-anchor-impl-label--platform { color:rgba(0,163,136,.55); }
  .budget-market-anchor-impl-value { font-family:'Canela','DM Serif Display',Georgia,serif; font-size:26px; color:#eef4f7; line-height:1; }
  .budget-market-anchor-detail-block { border-top:1px solid rgba(255,255,255,0.07); padding-top:1rem; display:grid; gap:.6rem; }
  .budget-market-anchor-covers-label,
  .budget-market-anchor-products-title,
  .budget-market-anchor-free-col-head,
  .budget-market-anchor-platform-band-label,
  .budget-market-anchor-strategy-label { font-size:10px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; }
  .budget-market-anchor-covers-label { color:#708089; margin-right:8px; }
  .budget-market-anchor-uplift-row { display:flex; align-items:center; gap:8px; font-size:12px; color:#bcc8cf; }
  .budget-market-anchor-uplift-dot { width:5px; height:5px; border-radius:50%; background:#FFC000; flex-shrink:0; opacity:.7; display:inline-block; }
  .budget-market-anchor-frame-note--ruled,
  .budget-market-anchor-products-block,
  .budget-market-anchor-products-block--free { border-top:1px solid rgba(255,255,255,0.07); padding-top:1rem; }
  .budget-market-anchor-meter { display:inline-grid; grid-auto-flow:column; gap:5px; }
  .budget-market-anchor-meter-seg { width:20px; height:4px; border-radius:999px; background:rgba(136,167,183,0.18); border:1px solid rgba(136,167,183,0.12); }
  .budget-market-anchor-meter-seg.on { background:linear-gradient(90deg,rgba(255,192,0,.75),rgba(0,163,136,.55)); border-color:rgba(255,192,0,.18); }
  .budget-market-anchor-driver-row,
  .budget-market-anchor-strategy-row { padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,0.06); display:grid; gap:.35rem; }
  .budget-market-anchor-driver-row:last-child,
  .budget-market-anchor-strategy-row:last-child { border-bottom:none; }
  .budget-market-anchor-driver-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
  .budget-market-anchor-driver-label { font-size:13px; font-weight:600; color:#eef4f7; }
  .budget-market-anchor-platform-band-stack { display:grid; gap:10px; margin-top:.4rem; }
  .budget-market-anchor-platform-band { padding:.9rem 1rem; border-radius:11px; border:1px solid rgba(255,255,255,0.06); background:rgba(255,255,255,0.018); display:grid; gap:.4rem; }
  .budget-market-anchor-platform-band-label,
  .budget-market-anchor-products-title { color:#708089; margin-bottom:8px; }
  .budget-market-anchor-strategy-label { color:#9fb0b8; }
  .budget-market-anchor-product-chips,
  .budget-market-anchor-free-products { display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; }
  .budget-market-anchor-product-chip { display:inline-flex; align-items:center; gap:5px; padding:3px 10px; border-radius:999px; border:1px solid rgba(0,163,136,0.22); background:rgba(0,163,136,0.06); font-size:11px; color:#00A388; }
  .budget-market-anchor-product-chip-note { color:#708089; font-size:10px; }
  .budget-market-anchor-free-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:.6rem; }
  .budget-market-anchor-free-col-head--pro { color:#00A388; }
  .budget-market-anchor-free-col-head--con { color:#e24b4a; }
  .budget-market-anchor-free-point { display:flex; align-items:flex-start; gap:8px; font-size:13px; color:#bcc8cf; line-height:1.55; padding:6px 0; border-bottom:1px solid rgba(255,255,255,0.05); }
  .budget-market-anchor-free-point:last-child { border-bottom:none; }
  .budget-market-anchor-free-dot { width:5px; height:5px; border-radius:50%; flex-shrink:0; margin-top:6px; }
  .budget-market-anchor-free-dot--pro { background:#00A388; opacity:.8; }
  .budget-market-anchor-free-dot--con { background:#e24b4a; opacity:.7; }
  .budget-market-anchor-free-chip { display:inline-flex; padding:4px 12px; border-radius:999px; border:1px solid rgba(255,255,255,0.1); background:rgba(255,255,255,0.028); font-size:11px; color:#9fb0b8; }
  .budget-market-anchor-free-verdict { font-size:12px; color:#9fb0b8; line-height:1.6; border-top:1px solid rgba(255,255,255,0.06); padding-top:.85rem; font-style:italic; }
  .budget-market-anchor-loading { display:flex; align-items:center; gap:10px; color:#9fb0b8; font-size:13px; padding:40px 0; }
  .budget-market-anchor-spinner { width:14px; height:14px; border:2px solid rgba(255,255,255,0.1); border-top-color:#FFC000; border-radius:50%; animation:budgetMarketAnchorSpin .75s linear infinite; flex-shrink:0; }
  .timeline-anchor-surface { margin-bottom: 2.25rem; display:grid; gap:0.9rem; }
  .timeline-anchor-surface-intro { font-size:18px; line-height:1.45; font-weight:500; color:#eef4f7; }
  .timeline-anchor-shell { margin-bottom: 0; }
  .timeline-anchor-status { display:inline-flex; align-items:center; gap:7px; font-size:12px; color:#708089; padding-bottom:4px; }
  .timeline-anchor-status-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
  .timeline-anchor-status-dot--loading { background:#00A388; animation:budgetMarketAnchorStatusPulse 1.1s ease-in-out infinite; }
  .timeline-anchor-status-dot--done { background:#00A388; }
  .timeline-anchor-status-dot--error { background:#e24b4a; }
  .timeline-anchor-status-retry { background:none; border:none; color:#e8a09f; font-size:12px; font-family:var(--font); cursor:pointer; text-decoration:underline; text-underline-offset:2px; padding:0; }
  .timeline-anchor-calibration-card { position:relative; padding:1.4rem 1.4rem 1.6rem; border-radius:20px; border:1px solid rgba(255,255,255,0.08); background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.015)),linear-gradient(135deg,rgba(0,163,136,0.05),rgba(136,167,183,0.025)); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.015); display:grid; gap:1.25rem; }
  .timeline-anchor-calibration-card.is-loading::after { content:''; position:absolute; inset:0; border-radius:20px; background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.05), rgba(255,255,255,0)); animation:budgetGuidanceSweep 1.3s linear infinite; pointer-events:none; }
  .timeline-anchor-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
  .timeline-anchor-head-copy { min-width:0; }
  .timeline-anchor-eyebrow { font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#FFC000; margin-bottom:6px; }
  .timeline-anchor-heading { font-size:15px; font-weight:600; line-height:1.28; color:#eef4f7; }
  .timeline-anchor-step-rail { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
  .timeline-anchor-step-btn { position:relative; display:flex; flex-direction:column; align-items:center; gap:.55rem; padding:1rem .6rem .85rem; border-radius:14px; border:1px solid rgba(255,255,255,0.07); background:rgba(255,255,255,0.02); cursor:pointer; overflow:hidden; transition:border-color var(--anim-fast), background var(--anim-fast), opacity var(--anim-fast); }
  .timeline-anchor-step-btn::after { content:''; position:absolute; inset:0; background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,0.055) 50%,transparent 60%); opacity:0; }
  .timeline-anchor-step-btn:hover::after { animation:budgetMarketAnchorGlint .55s ease forwards; }
  .timeline-anchor-step-btn:hover { border-color:rgba(255,255,255,0.15); }
  .timeline-anchor-step-btn.is-active { border-color:rgba(255,192,0,0.24); background:rgba(255,192,0,0.055); }
  .timeline-anchor-step-btn.is-locked { opacity:.35; cursor:default; pointer-events:none; }
  .timeline-anchor-step-illo { width:60px; height:60px; display:flex; align-items:center; justify-content:center; opacity:.65; transition:opacity var(--anim-fast); }
  .timeline-anchor-step-btn:hover .timeline-anchor-step-illo, .timeline-anchor-step-btn.is-active .timeline-anchor-step-illo { opacity:1; }
  .timeline-anchor-step-illo svg { width:60px; height:60px; display:block; }
  .timeline-anchor-step-footer { display:flex; flex-direction:column; align-items:center; gap:.2rem; }
  .timeline-anchor-step-num { font-size:10px; color:#708089; }
  .timeline-anchor-step-btn.is-active .timeline-anchor-step-num { color:#FFC000; }
  .timeline-anchor-step-label { font-size:11px; font-weight:500; color:#9fb0b8; text-align:center; line-height:1.3; }
  .timeline-anchor-step-btn.is-active .timeline-anchor-step-label { color:#eef4f7; }
  .timeline-anchor-step-hint { font-size:10px; color:#708089; }
  .timeline-anchor-frame { padding:1.6rem 1.5rem 1.8rem; border-radius:15px; border:1px solid rgba(255,255,255,0.07); background:rgba(255,255,255,0.026); min-height:340px; display:grid; gap:1.4rem; align-content:start; }
  .timeline-anchor-frame-shell.fade-up { animation:fadeIn var(--anim-fade) ease; }
  .timeline-anchor-frame-kicker { font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#9fb0b8; }
  .timeline-anchor-frame-title { font-family:'Canela','DM Serif Display',Georgia,serif; font-size:20px; font-weight:400; color:#eef4f7; line-height:1.2; }
  .timeline-anchor-frame-body,
  .timeline-anchor-pressure-copy,
  .timeline-anchor-pattern-copy,
  .timeline-anchor-frame-note { font-size:13px; line-height:1.7; color:#bcc8cf; }
  .timeline-anchor-frame-shell--narrative { display:grid; gap:1rem; }
  .timeline-anchor-narrative-stack { display:grid; gap:1.15rem; padding-top:.15rem; }
  .timeline-anchor-frame-shell--narrative .timeline-anchor-inset { padding:1rem 1rem 1.05rem; }
  .timeline-anchor-frame-shell--narrative .timeline-anchor-inset-label { margin-bottom:.5rem; }
  .timeline-anchor-frame-note--rule { border-top:1px solid rgba(255,255,255,0.07); padding-top:1rem; }
  .timeline-anchor-phase-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
  .timeline-anchor-phase-block { padding:.7rem .75rem .8rem; border:1px solid rgba(255,255,255,0.06); background:rgba(255,255,255,0.018); position:relative; min-height:84px; }
  .timeline-anchor-phase-block:first-child { border-radius:10px 0 0 10px; }
  .timeline-anchor-phase-block:last-child { border-radius:0 10px 10px 0; }
  .timeline-anchor-phase-block + .timeline-anchor-phase-block { border-left:none; }
  .timeline-anchor-phase-block.is-active { background:rgba(0,163,136,0.07); border-color:rgba(0,163,136,0.2); }
  .timeline-anchor-phase-num { font-size:10px; color:#708089; margin-bottom:3px; }
  .timeline-anchor-phase-name { font-size:11px; font-weight:600; color:#9fb0b8; margin-bottom:4px; }
  .timeline-anchor-phase-block.is-active .timeline-anchor-phase-name { color:#00A388; }
  .timeline-anchor-phase-desc { font-size:11px; color:#708089; line-height:1.5; margin-top:4px; }
  .timeline-anchor-phase-loader { display:flex; flex-direction:column; align-items:center; gap:7px; padding:.65rem 0 .1rem; }
  .timeline-anchor-phase-loader .progress-bar { width:38%; }
  .timeline-anchor-phase-loader .progress-fill { width:40%; transition:none; animation:timelineAnchorProgressSlide 1.4s ease-in-out infinite; will-change:transform; }
  .timeline-anchor-phase-loading-label { font-size:11px; color:#708089; }
  .timeline-anchor-pressure-row { padding:.8rem 0; border-bottom:1px solid rgba(255,255,255,0.06); display:grid; gap:.3rem; }
  .timeline-anchor-pressure-row:last-child { border-bottom:none; }
  .timeline-anchor-pressure-head { display:flex; align-items:center; gap:8px; }
  .timeline-anchor-pressure-dot { width:6px; height:6px; border-radius:50%; flex-shrink:0; }
  .timeline-anchor-pressure-dot--active { background:#00A388; opacity:.9; }
  .timeline-anchor-pressure-dot--warn { background:#FFC000; opacity:.8; }
  .timeline-anchor-pressure-label { font-size:13px; font-weight:600; color:#eef4f7; }
  .timeline-anchor-pressure-copy { padding-left:14px; }
  .timeline-anchor-pattern-row { display:grid; gap:8px; }
  .timeline-anchor-pattern-card { padding:.9rem 1rem; border-radius:11px; border:1px solid rgba(255,255,255,0.07); background:rgba(255,255,255,0.018); display:grid; gap:.4rem; }
  .timeline-anchor-pattern-card.is-matched { border-color:rgba(0,163,136,0.22); background:rgba(0,163,136,0.045); }
  .timeline-anchor-pattern-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
  .timeline-anchor-pattern-label { font-size:11px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; color:#9fb0b8; }
  .timeline-anchor-pattern-card.is-matched .timeline-anchor-pattern-label { color:rgba(0,163,136,.85); }
  .timeline-anchor-pattern-badge { font-size:10px; padding:2px 8px; border-radius:999px; border:1px solid rgba(0,163,136,0.3); background:rgba(0,163,136,0.08); color:#00A388; }
  .timeline-anchor-pattern-helper { margin-top:4px; font-size:12px; line-height:1.6; color:#88cabc; }
  .timeline-anchor-inset { padding:.8rem .9rem; border-radius:11px; border:1px solid rgba(255,255,255,0.06); background:rgba(255,255,255,0.018); }
  .timeline-anchor-inset-label { font-size:10px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; color:#708089; margin-bottom:6px; }
  .support-anchor-surface { margin-bottom:2.25rem; display:grid; gap:.9rem; }
  .support-anchor-surface-intro { font-size:18px; line-height:1.45; font-weight:500; color:#eef4f7; }
  .support-anchor-shell { margin-bottom:0; }
  .support-anchor-status { display:inline-flex; align-items:center; gap:7px; font-size:12px; color:#708089; padding-bottom:4px; }
  .support-anchor-status-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
  .support-anchor-status-dot--loading { background:#00A388; animation:budgetMarketAnchorStatusPulse 1.1s ease-in-out infinite; }
  .support-anchor-status-dot--done { background:#00A388; }
  .support-anchor-status-dot--error { background:#e24b4a; }
  .support-anchor-status-retry { background:none; border:none; color:#e8a09f; font-size:12px; font-family:var(--font); cursor:pointer; text-decoration:underline; text-underline-offset:2px; padding:0; }
  .support-anchor-calibration-card { position:relative; padding:1.4rem 1.4rem 1.6rem; border-radius:20px; border:1px solid rgba(255,255,255,0.08); background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.015)),linear-gradient(135deg,rgba(0,163,136,0.05),rgba(136,167,183,0.025)); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.015); display:grid; gap:1.25rem; }
  .support-anchor-calibration-card.is-loading::after { content:''; position:absolute; inset:0; border-radius:20px; background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.05), rgba(255,255,255,0)); animation:budgetGuidanceSweep 1.3s linear infinite; pointer-events:none; }
  .support-anchor-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
  .support-anchor-head-copy { min-width:0; }
  .support-anchor-eyebrow { font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#FFC000; margin-bottom:6px; }
  .support-anchor-heading { font-size:15px; font-weight:600; line-height:1.28; color:#eef4f7; }
  .support-anchor-step-rail { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
  .support-anchor-step-btn { position:relative; display:flex; flex-direction:column; align-items:center; gap:.55rem; padding:1rem .6rem .85rem; border-radius:14px; border:1px solid rgba(255,255,255,0.07); background:rgba(255,255,255,0.02); cursor:pointer; overflow:hidden; transition:border-color var(--anim-fast), background var(--anim-fast), opacity var(--anim-fast); }
  .support-anchor-step-btn::after { content:''; position:absolute; inset:0; background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,0.055) 50%,transparent 60%); opacity:0; }
  .support-anchor-step-btn:hover::after { animation:budgetMarketAnchorGlint .55s ease forwards; }
  .support-anchor-step-btn:hover { border-color:rgba(255,255,255,0.15); }
  .support-anchor-step-btn.is-active { border-color:rgba(255,192,0,0.24); background:rgba(255,192,0,0.055); }
  .support-anchor-step-btn.is-locked { opacity:.35; cursor:default; pointer-events:none; }
  .support-anchor-step-illo { width:60px; height:60px; display:flex; align-items:center; justify-content:center; opacity:.65; transition:opacity var(--anim-fast); }
  .support-anchor-step-btn:hover .support-anchor-step-illo,
  .support-anchor-step-btn.is-active .support-anchor-step-illo { opacity:1; }
  .support-anchor-step-illo svg { width:60px; height:60px; display:block; }
  .support-anchor-step-footer { display:flex; flex-direction:column; align-items:center; gap:.2rem; }
  .support-anchor-step-num { font-size:10px; color:#708089; }
  .support-anchor-step-btn.is-active .support-anchor-step-num { color:#FFC000; }
  .support-anchor-step-label { font-size:11px; font-weight:500; color:#9fb0b8; text-align:center; line-height:1.3; }
  .support-anchor-step-btn.is-active .support-anchor-step-label { color:#eef4f7; }
  .support-anchor-step-hint { font-size:10px; color:#708089; }
  .support-anchor-frame { padding:1.6rem 1.5rem 1.8rem; border-radius:15px; border:1px solid rgba(255,255,255,0.07); background:rgba(255,255,255,0.026); min-height:340px; display:grid; gap:1.4rem; align-content:start; }
  .support-anchor-frame-shell.fade-up { animation:fadeIn var(--anim-fade) ease; }
  .support-anchor-frame-kicker { font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#9fb0b8; margin-bottom:.35rem; }
  .support-anchor-frame-title { font-family:'Canela','DM Serif Display',Georgia,serif; font-size:20px; font-weight:400; color:#eef4f7; line-height:1.2; }
  .support-anchor-frame-body,
  .support-anchor-frame-note,
  .support-anchor-dimension-value,
  .support-anchor-watchpoint-copy { font-size:13px; line-height:1.7; color:#bcc8cf; }
  .support-anchor-frame-body--spaced { margin-top:.5rem; }
  .support-anchor-frame-body--narrative { line-height:1.85; }
  .support-anchor-tier-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
  .support-anchor-tier-block { padding:.65rem .75rem .7rem; border:1px solid rgba(255,255,255,0.06); background:rgba(255,255,255,0.016); position:relative; }
  .support-anchor-tier-block:first-child { border-radius:10px 0 0 10px; }
  .support-anchor-tier-block:last-child { border-radius:0 10px 10px 0; }
  .support-anchor-tier-block + .support-anchor-tier-block { border-left:none; }
  .support-anchor-tier-block.is-matched { background:rgba(0,163,136,0.06); border-color:rgba(0,163,136,0.25); }
  .support-anchor-tier-block-name { font-size:11px; font-weight:600; color:#9fb0b8; margin-bottom:3px; }
  .support-anchor-tier-block.is-matched .support-anchor-tier-block-name { color:#00A388; }
  .support-anchor-tier-block-desc { font-size:11px; color:#708089; line-height:1.5; }
  .support-anchor-tier-card { padding:1.1rem 1.2rem; border-radius:14px; border:1px solid rgba(0,163,136,0.3); background:rgba(0,163,136,0.04); display:grid; gap:.7rem; }
  .support-anchor-tier-badge-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
  .support-anchor-tier-badge { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:3px 10px; border-radius:999px; color:#00A388; border:1px solid rgba(0,163,136,0.3); background:rgba(0,163,136,0.08); }
  .support-anchor-tier-score { font-size:11px; color:#708089; }
  .support-anchor-tier-headline { font-family:'Canela','DM Serif Display',Georgia,serif; font-size:19px; font-weight:400; color:#eef4f7; line-height:1.2; }
  .support-anchor-tier-rationale { font-size:13px; color:#bcc8cf; line-height:1.7; }
  .support-anchor-tier-strip-loader { display:flex; flex-direction:column; align-items:center; gap:7px; padding:.65rem 0 .1rem; }
  .support-anchor-tier-progress-track { width:38%; height:3px; border-radius:999px; background:rgba(255,255,255,0.07); overflow:hidden; }
  .support-anchor-tier-progress-fill { height:100%; width:40%; border-radius:999px; background:linear-gradient(90deg,#FFC000,#00A388); animation:timelineAnchorProgressSlide 1.4s ease-in-out infinite; }
  .support-anchor-tier-loading-label { font-size:11px; color:#708089; }
  .support-anchor-orient-notice { display:flex; align-items:flex-start; gap:8px; font-size:12px; color:#708089; line-height:1.55; }
  .support-anchor-orient-notice-dot { width:6px; height:6px; border-radius:50%; background:#FFC000; flex-shrink:0; margin-top:4px; }
  .support-anchor-dimension-list { display:grid; gap:0; }
  .support-anchor-dimension-row { display:grid; grid-template-columns:140px 1fr; gap:12px; padding:.75rem 0; border-bottom:1px solid rgba(255,255,255,0.055); align-items:start; }
  .support-anchor-dimension-row:last-child { border-bottom:none; }
  .support-anchor-dimension-label { font-size:12px; font-weight:600; color:#9fb0b8; }
  .support-anchor-watchpoint-list { display:grid; gap:8px; }
  .support-anchor-watchpoint-item { display:flex; align-items:flex-start; gap:10px; padding:.8rem .9rem; border-radius:10px; border:1px solid rgba(255,192,0,0.14); background:rgba(255,192,0,0.04); }
  .support-anchor-watchpoint-dot { width:6px; height:6px; border-radius:50%; background:#FFC000; flex-shrink:0; margin-top:5px; opacity:.8; }
  .support-anchor-watchpoint-dot--ai { background:#00A388; }
  .support-anchor-inset { padding:.8rem .9rem; border-radius:11px; border:1px solid rgba(255,255,255,0.06); background:rgba(255,255,255,0.018); }
  .support-anchor-inset-label { font-size:10px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; color:#708089; margin-bottom:6px; }
  .support-anchor-loading,
  .support-anchor-error { display:flex; align-items:center; gap:10px; color:#9fb0b8; font-size:13px; padding:40px 0; flex-wrap:wrap; }
  .support-anchor-spinner { width:14px; height:14px; border:2px solid rgba(255,255,255,0.1); border-top-color:#FFC000; border-radius:50%; animation:budgetMarketAnchorSpin .75s linear infinite; flex-shrink:0; }
  .supplier-anchor-surface { margin-bottom:2.25rem; display:grid; gap:.9rem; }
  .supplier-anchor-surface-intro { font-size:18px; line-height:1.45; font-weight:500; color:#eef4f7; }
  .supplier-anchor-shell { margin-bottom:0; }
  .supplier-anchor-status { display:inline-flex; align-items:center; gap:7px; font-size:12px; color:#708089; padding-bottom:4px; }
  .supplier-anchor-status-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
  .supplier-anchor-status-dot--loading { background:#00A388; animation:budgetMarketAnchorStatusPulse 1.1s ease-in-out infinite; }
  .supplier-anchor-status-dot--done { background:#00A388; }
  .supplier-anchor-status-dot--error { background:#e24b4a; }
  .supplier-anchor-status-retry { background:none; border:none; color:#e8a09f; font-size:12px; font-family:var(--font); cursor:pointer; text-decoration:underline; text-underline-offset:2px; padding:0; }
  .supplier-anchor-calibration-card { position:relative; padding:1.4rem 1.4rem 1.6rem; border-radius:20px; border:1px solid rgba(255,255,255,0.08); background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.015)),linear-gradient(135deg,rgba(0,163,136,0.05),rgba(136,167,183,0.025)); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.015); display:grid; gap:1.25rem; }
  .supplier-anchor-calibration-card.is-loading::after { content:''; position:absolute; inset:0; border-radius:20px; background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.05), rgba(255,255,255,0)); animation:budgetGuidanceSweep 1.3s linear infinite; pointer-events:none; }
  .supplier-anchor-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
  .supplier-anchor-head-copy { min-width:0; }
  .supplier-anchor-eyebrow { font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#FFC000; margin-bottom:6px; }
  .supplier-anchor-heading { font-size:15px; font-weight:600; line-height:1.28; color:#eef4f7; }
  .supplier-anchor-step-rail { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
  .supplier-anchor-step-btn { position:relative; display:flex; flex-direction:column; align-items:center; gap:.55rem; padding:1rem .6rem .85rem; border-radius:14px; border:1px solid rgba(255,255,255,0.07); background:rgba(255,255,255,0.02); cursor:pointer; overflow:hidden; transition:border-color var(--anim-fast), background var(--anim-fast), opacity var(--anim-fast); }
  .supplier-anchor-step-btn::after { content:''; position:absolute; inset:0; background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,0.055) 50%,transparent 60%); opacity:0; }
  .supplier-anchor-step-btn:hover::after { animation:budgetMarketAnchorGlint .55s ease forwards; }
  .supplier-anchor-step-btn:hover { border-color:rgba(255,255,255,0.15); }
  .supplier-anchor-step-btn.is-active { border-color:rgba(255,192,0,0.24); background:rgba(255,192,0,0.055); }
  .supplier-anchor-step-illo { width:60px; height:60px; display:flex; align-items:center; justify-content:center; opacity:.65; transition:opacity var(--anim-fast); }
  .supplier-anchor-step-btn:hover .supplier-anchor-step-illo,
  .supplier-anchor-step-btn.is-active .supplier-anchor-step-illo { opacity:1; }
  .supplier-anchor-step-illo svg { width:60px; height:60px; display:block; }
  .supplier-anchor-step-footer { display:flex; flex-direction:column; align-items:center; gap:.2rem; }
  .supplier-anchor-step-num { font-size:10px; color:#708089; }
  .supplier-anchor-step-btn.is-active .supplier-anchor-step-num { color:#FFC000; }
  .supplier-anchor-step-label { font-size:11px; font-weight:500; color:#9fb0b8; text-align:center; line-height:1.3; }
  .supplier-anchor-step-btn.is-active .supplier-anchor-step-label { color:#eef4f7; }
  .supplier-anchor-frame { padding:1.6rem 1.5rem 1.8rem; border-radius:15px; border:1px solid rgba(255,255,255,0.07); background:rgba(255,255,255,0.026); min-height:340px; display:grid; gap:1.4rem; align-content:start; }
  .supplier-anchor-frame-shell.fade-up { animation:fadeIn var(--anim-fade) ease; }
  .supplier-anchor-frame-kicker { font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#9fb0b8; margin-bottom:.35rem; }
  .supplier-anchor-frame-title { font-family:'Canela','DM Serif Display',Georgia,serif; font-size:20px; font-weight:400; color:#eef4f7; line-height:1.2; }
  .supplier-anchor-frame-body,
  .supplier-anchor-frame-note,
  .supplier-anchor-req-rationale,
  .supplier-anchor-crit-rationale,
  .supplier-anchor-fit-card-body,
  .supplier-anchor-agency-copy { font-size:13px; line-height:1.7; color:#bcc8cf; }
  .supplier-anchor-scard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:1rem; }
  .supplier-anchor-scard,
  .supplier-anchor-fit-card,
  .supplier-anchor-agency-card,
  .supplier-anchor-req-row,
  .supplier-anchor-crit-row,
  .supplier-anchor-skel-block { padding:.9rem 1rem; border-radius:11px; border:1px solid rgba(255,255,255,0.07); background:rgba(255,255,255,0.018); }
  .supplier-anchor-scard--rec { border-color:rgba(0,163,136,0.22); background:rgba(0,163,136,0.045); }
  .supplier-anchor-scard--dim { opacity:.88; }
  .supplier-anchor-scard-header,
  .supplier-anchor-fit-row,
  .supplier-anchor-finder-header,
  .supplier-anchor-apply-row,
  .supplier-anchor-crit-total-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .supplier-anchor-scard-name,
  .supplier-anchor-req-label,
  .supplier-anchor-crit-label,
  .supplier-anchor-agency-name { font-size:13px; font-weight:600; color:#eef4f7; line-height:1.35; }
  .supplier-anchor-scard-badge,
  .supplier-anchor-req-pill,
  .supplier-anchor-agency-meta { font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#00A388; border:1px solid rgba(0,163,136,0.22); background:rgba(0,163,136,0.07); border-radius:999px; padding:3px 8px; white-space:nowrap; }
  .supplier-anchor-scard-desc { font-size:12px; line-height:1.6; color:#9fb0b8; margin:.55rem 0 .75rem; }
  .supplier-anchor-scard-indicators { display:grid; gap:.45rem; margin-bottom:.8rem; }
  .supplier-anchor-scard-ind { display:flex; align-items:center; justify-content:space-between; gap:10px; }
  .supplier-anchor-scard-ind-label,
  .supplier-anchor-scard-fit-label,
  .supplier-anchor-fit-card-eyebrow,
  .supplier-anchor-crit-val-label,
  .supplier-anchor-crit-total-label { font-size:11px; color:#708089; }
  .supplier-anchor-scard-ind-pips { display:flex; gap:4px; }
  .supplier-anchor-scard-pip { width:18px; height:4px; border-radius:999px; background:rgba(136,167,183,.18); }
  .supplier-anchor-scard-pip--on { background:rgba(255,192,0,.78); }
  .supplier-anchor-scard-fit { display:grid; gap:.35rem; }
  .supplier-anchor-scard-fit-bar-wrap { height:5px; border-radius:999px; background:rgba(136,167,183,.14); overflow:hidden; }
  .supplier-anchor-scard-fit-bar { height:100%; border-radius:999px; background:#00A388; }
  .supplier-anchor-scard-fit-bar--0 { width:0%; }
  .supplier-anchor-scard-fit-bar--10 { width:10%; }
  .supplier-anchor-scard-fit-bar--20 { width:20%; }
  .supplier-anchor-scard-fit-bar--30 { width:30%; }
  .supplier-anchor-scard-fit-bar--40 { width:40%; }
  .supplier-anchor-scard-fit-bar--50 { width:50%; }
  .supplier-anchor-scard-fit-bar--60 { width:60%; }
  .supplier-anchor-scard-fit-bar--70 { width:70%; }
  .supplier-anchor-scard-fit-bar--80 { width:80%; }
  .supplier-anchor-scard-fit-bar--90 { width:90%; }
  .supplier-anchor-scard-fit-bar--100 { width:100%; }
  .supplier-anchor-fit-row { align-items:stretch; margin-top:1rem; }
  .supplier-anchor-fit-card { flex:1; }
  .supplier-anchor-fit-card-eyebrow { text-transform:uppercase; letter-spacing:.07em; font-weight:600; margin-bottom:.35rem; }
  .supplier-anchor-req-stack,
  .supplier-anchor-crit-stack,
  .supplier-anchor-finder-section,
  .supplier-anchor-skel-stack { display:grid; gap:10px; margin-top:1rem; }
  .supplier-anchor-req-row,
  .supplier-anchor-crit-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:14px; }
  .supplier-anchor-req-pill--must { color:#FFC000; border-color:rgba(255,192,0,.28); background:rgba(255,192,0,.08); }
  .supplier-anchor-req-pill--depends { color:#9fb0b8; border-color:rgba(136,167,183,.22); background:rgba(136,167,183,.06); }
  .supplier-anchor-crit-val { text-align:right; display:grid; gap:.2rem; }
  .supplier-anchor-crit-val-num { font-size:18px; color:#eef4f7; }
  .supplier-anchor-crit-total-bar { border-top:1px solid rgba(255,255,255,.07); padding-top:.9rem; margin-top:.9rem; }
  .supplier-anchor-crit-total-val { font-size:14px; font-weight:600; }
  .supplier-anchor-crit-total-val--ok { color:#00A388; }
  .supplier-anchor-crit-total-val--bad { color:#e24b4a; }
  .supplier-anchor-apply-row { justify-content:flex-start; margin-top:1rem; flex-wrap:wrap; }
  .supplier-anchor-success { display:inline-flex; align-items:center; gap:6px; font-size:12px; color:#00A388; }
  .supplier-anchor-success svg { width:15px; height:15px; display:block; }
  .supplier-anchor-finder-header { align-items:flex-end; }
  .supplier-anchor-radius-controls { display:flex; gap:6px; flex-wrap:wrap; }
  .supplier-anchor-radius-btn { font:inherit; font-size:11px; color:#9fb0b8; padding:6px 9px; border-radius:999px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.02); cursor:pointer; }
  .supplier-anchor-radius-btn.is-active { color:#FFC000; border-color:rgba(255,192,0,.26); background:rgba(255,192,0,.06); }
  .supplier-anchor-agency-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .supplier-anchor-agency-card { display:grid; gap:.45rem; }
  .supplier-anchor-agency-link { color:#88cabc; font-size:12px; text-decoration:none; }
  .supplier-anchor-agency-link:hover { color:#00A388; text-decoration:underline; text-underline-offset:2px; }
  .supplier-anchor-loading,
  .supplier-anchor-error,
  .supplier-anchor-empty { display:flex; align-items:center; gap:10px; color:#9fb0b8; font-size:13px; padding:1rem 0; flex-wrap:wrap; }
  .supplier-anchor-spinner { width:14px; height:14px; border:2px solid rgba(255,255,255,0.1); border-top-color:#FFC000; border-radius:50%; animation:budgetMarketAnchorSpin .75s linear infinite; flex-shrink:0; }
  .supplier-anchor-skel-block { display:grid; gap:9px; }
  .supplier-anchor-skel-line { height:8px; border-radius:999px; background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.1),rgba(255,255,255,.05)); animation:budgetGuidanceSweep 1.3s linear infinite; }
  .supplier-anchor-skel-line.title { width:42%; }
  .supplier-anchor-skel-line.short { width:62%; }
  @keyframes budgetMarketAnchorSpin { to { transform:rotate(360deg); } }
  @keyframes budgetMarketAnchorGlint { 0% { transform:translateX(-100%) skewX(-20deg); opacity:0; } 45% { opacity:.22; } 100% { transform:translateX(300%) skewX(-20deg); opacity:0; } }
  @keyframes budgetMarketAnchorStatusPulse { 0%,100% { opacity:.5; transform:scale(.85); } 50% { opacity:1; transform:scale(1); } }
  @keyframes timelineAnchorProgressSlide { 0% { transform:translateX(-120%); } 100% { transform:translateX(250%); } }
  @media (max-width: 1023px) {
    .anchor-question-stack { gap:var(--ds-space-xl); }
  }
  @media (max-width: 960px) {
    .budget-market-anchor-step-rail { grid-template-columns:repeat(3,1fr); }
    .timeline-anchor-step-rail { grid-template-columns:repeat(2,1fr); }
    .support-anchor-step-rail { grid-template-columns:repeat(2,1fr); }
    .supplier-anchor-step-rail { grid-template-columns:repeat(2,1fr); }
    .support-anchor-dimension-row { grid-template-columns:1fr; }
    .supplier-anchor-scard-grid,
    .supplier-anchor-fit-row,
    .supplier-anchor-agency-grid { grid-template-columns:1fr; }
    .supplier-anchor-fit-row { display:grid; }
  }
  @media (max-width: 767px) {
    .anchor-question-stack { gap:var(--ds-space-lg); }
    .budget-market-anchor-surface-intro { font-size:16px; }
    .budget-market-anchor-calibration-card { padding:1rem; }
    .budget-market-anchor-scale-head { align-items:flex-start; flex-direction:column; }
    .budget-market-anchor-step-rail,
    .budget-market-anchor-impl-row,
    .budget-market-anchor-free-grid { grid-template-columns:1fr; }
    .budget-market-anchor-step-btn { min-height:0; }
    .budget-market-anchor-step-illo { width:52px; height:52px; }
    .budget-market-anchor-step-illo svg { width:52px; height:52px; }
    .budget-market-anchor-frame { padding:1.2rem 1rem 1.2rem; min-height:0; }
    .timeline-anchor-surface-intro { font-size:16px; }
    .timeline-anchor-calibration-card { padding:1rem; }
    .timeline-anchor-head { align-items:flex-start; flex-direction:column; }
    .timeline-anchor-step-rail { grid-template-columns:1fr; }
    .timeline-anchor-step-btn { min-height:0; }
    .timeline-anchor-step-illo { width:52px; height:52px; }
    .timeline-anchor-step-illo svg { width:52px; height:52px; }
    .timeline-anchor-frame { padding:1.2rem 1rem 1.2rem; min-height:0; }
    .timeline-anchor-phase-strip { grid-template-columns:1fr; gap:8px; }
    .timeline-anchor-phase-block,
    .timeline-anchor-phase-block:first-child,
    .timeline-anchor-phase-block:last-child { border-radius:10px; }
    .timeline-anchor-phase-block + .timeline-anchor-phase-block { border-left:1px solid rgba(255,255,255,0.06); }
    .timeline-anchor-phase-loader .progress-bar { width:60%; }
    .support-anchor-surface-intro { font-size:16px; }
    .support-anchor-calibration-card { padding:1rem; }
    .support-anchor-head { align-items:flex-start; flex-direction:column; }
    .support-anchor-step-rail { grid-template-columns:1fr; }
    .support-anchor-step-btn { min-height:0; }
    .support-anchor-step-illo { width:52px; height:52px; }
    .support-anchor-step-illo svg { width:52px; height:52px; }
    .support-anchor-frame { padding:1.2rem 1rem 1.2rem; min-height:0; }
    .support-anchor-tier-strip { grid-template-columns:1fr; gap:8px; }
    .support-anchor-tier-block,
    .support-anchor-tier-block:first-child,
    .support-anchor-tier-block:last-child { border-radius:10px; }
    .support-anchor-tier-block + .support-anchor-tier-block { border-left:1px solid rgba(255,255,255,0.06); }
    .support-anchor-tier-progress-track { width:60%; }
    .supplier-anchor-surface-intro { font-size:16px; }
    .supplier-anchor-calibration-card { padding:1rem; }
    .supplier-anchor-head { align-items:flex-start; flex-direction:column; }
    .supplier-anchor-step-rail { grid-template-columns:1fr; }
    .supplier-anchor-step-btn { min-height:0; }
    .supplier-anchor-step-illo { width:52px; height:52px; }
    .supplier-anchor-step-illo svg { width:52px; height:52px; }
    .supplier-anchor-frame { padding:1.2rem 1rem 1.2rem; min-height:0; }
    .supplier-anchor-req-row,
    .supplier-anchor-crit-row { grid-template-columns:1fr; }
    .supplier-anchor-crit-val { text-align:left; }
    .supplier-anchor-finder-header { align-items:flex-start; flex-direction:column; }
  }
  @media (max-width: 767px) {
    .budget-calibration-card {
      padding: 1rem;
    }
    .budget-calibration-grid {
      grid-template-columns: 1fr;
    }
    .budget-calibration-badge {
      min-width: 0;
      width: 100%;
    }
    .budget-guidance-illustration {
      width: 72px;
      height: 72px;
    }
    .budget-guidance-illustration svg {
      width: 72px;
      height: 72px;
    }
    .budget-guidance-step {
      padding: 0.65rem 0.7rem;
    }
    .budget-pattern-split,
    .budget-anchor-stack,
    .budget-pattern-grid,
    .budget-route-card-grid,
    .budget-clarity-grid,
    .budget-guidance-note-grid {
      grid-template-columns: 1fr;
    }
    .ds-choice-row {
      gap: 8px;
    }
    .ds-choice-pill {
      flex: 1 1 calc(50% - 4px);
      min-width: 0;
    }
  .ds-choice-grid--2col { grid-template-columns:1fr; }
  .functional-role-zones { grid-template-columns:1fr; }
    .functional-role-card { grid-template-columns:minmax(0,1fr) auto; }
  }


  /* ========================================================================== 
     Landing Page — landing shell, hero, project type cards, and entry state 
     ========================================================================== */
  /* Project type cards */
  .ptype-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 1rem; }
  .ptype-card { position: relative; display: flex; align-items: flex-start; gap: 12px; background: rgba(255,255,255,0.03); border: 1.5px solid rgba(255,255,255,0.12); border-radius: 12px; padding: 14px 16px; cursor: pointer; transition: border-color var(--anim-fast), background var(--anim-fast), opacity var(--anim-fast), transform var(--anim-fast); user-select: none; }
  .ptype-card:hover:not(.disabled):not(.ptype-card--primary-selected):not(.ptype-card--secondary-selected) { border-color: rgba(255,255,255,0.28); background: rgba(255,255,255,0.05); transform: translateY(-1px); }
  .ptype-card--primary-selected { border: 1.5px solid rgba(240,189,42,0.5); background: rgba(240,189,42,0.16); }
  .ptype-card--secondary-selected { border: 1.5px solid rgba(240,189,42,0.26); background: rgba(240,189,42,0.08); }
  .ptype-card.disabled { opacity: 1; cursor: default; pointer-events: none; background: rgba(255,255,255,0.018); border-color: rgba(255,255,255,0.08); }
  .ptype-card.disabled .ptype-icon, .ptype-card.disabled .ptype-label, .ptype-card.disabled .ptype-desc { opacity: 0.58; }
  .ptype-rank { position: absolute; top: 10px; right: 10px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: rgba(12,12,12,0.88); color: #f0bd2a; font-size: 10px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; line-height: 1; letter-spacing: 0.04em; }
  .ptype-card--secondary-selected .ptype-rank { background: rgba(240,189,42,0.18); color: #f3cf72; }
  .ptype-icon { font-size: 20px; flex-shrink: 0; margin-top: 1px; width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,0.06); }
  .ptype-card--primary-selected .ptype-icon { background: rgba(255,255,255,0.2); }
  .ptype-card--secondary-selected .ptype-icon { background: rgba(240,189,42,0.12); }
  .ptype-label { font-size: 13px; font-weight: 500; color: var(--text); line-height: 1.3; padding-right: 28px; }
  .ptype-desc { font-size: 12px; color: var(--muted); margin-top: 3px; line-height: 1.45; }
  .ptype-section-label { font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); font-weight: 500; margin: 1.25rem 0 0.75rem; }
  .ptype-hint { font-size: 13px; color: var(--muted); margin-bottom: 0.75rem; display: block; }
  .ptype-reset-btn { white-space: nowrap; }
  .ptype-secondary-head { flex: 1; min-width: 0; }
  .ptype-secondary-meta { display: inline; font-weight: 400; color: #7f8b92; text-transform: none; letter-spacing: 0; }
  .ptype-secondary-helper { font-size: 12px; color: var(--muted); line-height: 1.5; margin-bottom: 1rem; }
  .ptype-other-wrap { margin-top: 0.25rem; }
  .ptype-other-helper { font-size: 12px; color: var(--muted); line-height: 1.5; margin-top: 8px; }
  .other-wrap { margin-top: 0.5rem; }
  .other-input { margin-top: 10px; display: none; }
  .other-input.visible { display: block; }

  /* ── Secondary focus reveal ── */
  .secondary-reveal { display: block; margin-top: 0.75rem; }
  .secondary-fset { background: var(--panel-bg); border: 1px solid var(--border); border-radius: 12px; margin-bottom: 0.75rem; transition: border-color 0.25s, background 0.25s, color 0.25s; }
  .secondary-fset.disabled { pointer-events: none; background: rgba(255,255,255,0.016); border-color: rgba(255,255,255,0.06); }
  .secondary-fset-header { display: flex; align-items: center; gap: 12px; padding: 1rem 1.25rem; cursor: pointer; user-select: none; }
  .secondary-fset-header:hover { background: rgba(255,255,255,0.02); border-radius: 12px; }
  .secondary-fset-title { flex: 1; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); font-weight: 500; }
  .secondary-fset.open .secondary-fset-title { color: var(--text); }
  .secondary-fset-hint { font-size: 12px; color: #909090; font-style: italic; margin-top: 2px; }
  .secondary-fset.disabled .secondary-fset-title, .secondary-fset.disabled .secondary-fset-hint, .secondary-fset.disabled .secondary-fset-chevron { color: #7a848b; }
  .secondary-fset-chevron { color: var(--muted); font-size: 11px; flex-shrink: 0; transition: transform 0.3s ease; }
  .secondary-fset.open .secondary-fset-chevron { transform: rotate(180deg); }
  .secondary-fset-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--anim-panel) ease, opacity var(--anim-medium) ease; opacity: 0; }
  .secondary-fset-body-inner { overflow: hidden; padding: 0 1.25rem; }
  .secondary-fset.open .secondary-fset-body { grid-template-rows: 1fr; opacity: 1; }
  .secondary-fset.open .secondary-fset-body-inner { padding: 0 1.25rem 1.25rem; }
  /* ── Test data panel ── */
  .test-panel { position: fixed; top: 1rem; right: 1rem; z-index: var(--z-test-panel); opacity: 0.78; }
  .test-toggle { font-size: 11px; font-family: var(--font); font-weight: 500; color: #6f7a84; background: rgba(26,26,26,0.92); border: 1px dashed rgba(136,167,183,0.28); border-radius: 6px; padding: 5px 12px; cursor: pointer; transition: all var(--anim-fast); }
  .test-toggle:hover { color: var(--text); border-color: rgba(136,167,183,0.42); }
  .test-menu { position: absolute; top: calc(100% + 8px); right: 0; background: var(--panel-bg); border: 1px solid var(--border2); border-radius: 10px; padding: 8px; min-width: 260px; box-shadow: 0 8px 32px rgba(0,0,0,0.4); display: none; }
  .test-menu.open { display: block; animation: fadeIn 0.15s ease; }
  .test-menu-title { font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; color: #555; padding: 4px 8px 8px; }
  .test-shell .test-menu { position: static; top: auto; right: auto; display: grid; gap: 10px; min-width: 0; padding: 0; border: none; background: transparent; box-shadow: none; }
  .test-shell .test-menu.open { display: grid; animation: none; }
  .test-persona-group { display: grid; gap: 4px; padding-top: 10px; border-top: 1px solid var(--border); }
  .test-persona-group:first-child { padding-top: 0; border-top: none; }
  .test-persona-group-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 2px 2px; }
  .test-persona-group-title { font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: #7f8b93; }
  .test-persona-group-count { min-width: 22px; padding: 2px 7px; border-radius: 999px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); font-size: 10px; color: #8f9ba2; text-align: center; }
  .test-persona { display: block; width: 100%; text-align: left; font-family: var(--font); font-size: 13px; color: var(--muted); background: none; border: none; border-radius: 6px; padding: 8px 10px; cursor: pointer; transition: all 0.12s; line-height: 1.3; }
  .test-persona:hover { background: var(--control-bg); color: var(--text); }
  .test-persona span { display: block; font-size: 11px; color: #555; margin-top: 2px; }
  .test-shell { position: absolute; top: calc(100% + 8px); right: 0; width: min(520px, calc(100vw - 2rem)); max-height: calc(100vh - 3.5rem); background: var(--panel-bg); border: 1px solid var(--border2); border-radius: 10px; box-shadow: 0 8px 32px rgba(0,0,0,0.4); display: none; overflow: hidden; }
  .test-shell.open { display: block; animation: fadeIn 0.15s ease; }
  .test-panel:has(.test-shell.open), .test-panel:has(.test-menu.open) { opacity: 1; }
  .test-shell-head { padding: 10px 12px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .test-shell-title { font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; color: #777; }
  .test-shell-body { padding: 10px 12px 12px; display: grid; gap: 12px; min-width: 0; overflow-y: auto; overflow-x: hidden; max-height: calc(100vh - 7rem); }

  .test-shell-section { border: 1px solid var(--border); border-radius: 8px; padding: 10px; background: var(--panel-subtle); min-width: 0; }
  .test-shell-section-title { font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: #777; margin-bottom: 8px; }
  .test-shell-note { font-size: 12px; color: var(--muted); line-height: 1.5; }
  .test-shell-actions { display: flex; gap: 8px; flex-wrap: wrap; }
  .test-shell-action { }
  .test-shell-placeholder { font-size: 12px; color: #7d7d7d; line-height: 1.5; }
  .diag-status { display:inline-flex; align-items:center; gap:6px; font-size:11px; color:var(--muted); margin-top:8px; }
  .diag-status-dot { width:8px; height:8px; border-radius:50%; background:#777; }
  .diag-status.ok .diag-status-dot { background: var(--accent2); }
  .diag-status.warn .diag-status-dot { background: var(--accent); }
  .diag-status.error .diag-status-dot { background: var(--accent-error); }
  .diag-toolbar { display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
  .diag-toggle { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted); margin-top:10px; cursor:pointer; user-select:none; }
  .diag-toggle input { accent-color: var(--accent); }
  .diag-results { display:none; margin-top:10px; border-top:1px solid var(--border); padding-top:10px; min-width:0; }
  .diag-results.visible { display:block; }
  .signal-registry-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:10px; }
  .signal-registry-card { background:rgba(255,255,255,0.03); border:1px solid var(--border); border-radius:8px; padding:8px; }
  .signal-registry-card-value { font-size:18px; color:var(--text); line-height:1.1; }
  .signal-registry-card-label { font-size:11px; color:var(--muted); margin-top:4px; }
  .signal-registry-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; padding-top:10px; border-top:1px solid var(--border); flex-wrap:wrap; }
  .signal-registry-results { display:none; margin-top:10px; min-width:0; }
  .signal-registry-results.visible { display:block; }
  .signal-registry-copy { font-size:12px; color:var(--muted); line-height:1.55; margin-bottom:8px; }
  .signal-registry-toggle { display:inline-flex; align-items:center; gap:8px; }
  .signal-registry-toggle-label { font-size:12px; color:var(--muted); line-height:1.5; }
  .signal-registry-toggle-btn { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-family:var(--font); font-weight:500; color:var(--muted); background:var(--control-bg); border:1px solid var(--border2); border-radius:var(--radius-sm); padding:var(--btn-s-pad-y) var(--btn-s-pad-x); cursor:pointer; transition:all var(--anim-fast); }
  .signal-registry-toggle-btn:hover { color:var(--text); border-color:rgba(255,255,255,0.25); }
  .signal-registry-toggle-btn svg { display:block; transition:transform var(--anim-medium) ease; }
  .signal-registry-toggle-btn.is-open svg { transform:rotate(180deg); }
  .signal-registry-table-wrap { overflow:auto; border:1px solid var(--border); border-radius:8px; background:rgba(255,255,255,0.02); }
  .signal-registry-table { width:100%; min-width:1240px; border-collapse:collapse; font-size:11px; table-layout:auto; }
  .signal-registry-table th, .signal-registry-table td { text-align:left; padding:7px 8px; border-bottom:1px solid var(--border); vertical-align:top; overflow-wrap:anywhere; word-break:break-word; }
  .signal-registry-table th { color:#8d8d8d; font-weight:500; text-transform:uppercase; letter-spacing:0.06em; font-size:10px; background:rgba(255,255,255,0.03); }
  .signal-registry-table td { color:var(--muted); }
  .signal-registry-table td strong { color:var(--text); font-weight:500; }
  .signal-registry-table th:nth-child(7), .signal-registry-table td:nth-child(7) { min-width:132px; }
  .signal-registry-table th:nth-child(8), .signal-registry-table td:nth-child(8), .signal-registry-table th:nth-child(9), .signal-registry-table td:nth-child(9) { min-width:150px; }
  .signal-registry-table th:nth-child(10), .signal-registry-table td:nth-child(10) { min-width:150px; }
  .signal-registry-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
  .signal-registry-feedback { margin-top:10px; padding:8px 10px; border-radius:8px; border:1px solid var(--border); background:rgba(255,255,255,0.03); font-size:12px; color:var(--muted); line-height:1.5; }
  .signal-registry-feedback.is-success { border-color:rgba(0,163,136,0.28); background:rgba(0,163,136,0.08); color:#9ad1c4; }
  .signal-registry-feedback.is-muted { color:#8f9ba2; }
  .signal-registry-actions .test-shell-action:disabled { opacity:0.38; cursor:default; color:#7d7d7d; border-color:rgba(255,255,255,0.08); }
  .signal-registry-inline-note { font-size:11px; color:#8f9ba2; line-height:1.5; }
  .signal-registry-select { width:100%; min-width:132px; background:var(--control-bg); border:1px solid var(--border2); border-radius:7px; color:var(--text); font-family:var(--font); font-size:11px; padding:6px 30px 6px 8px; }
  .signal-registry-select:focus { border-color:var(--accent); box-shadow:0 0 0 2px rgba(255,192,0,0.08); outline:none; }
  .signal-registry-select.is-overridden { border-color:rgba(255,192,0,0.34); background:rgba(255,192,0,0.06); }
  .signal-registry-override-chip { display:inline-flex; align-items:center; padding:4px 8px; border-radius:999px; background:rgba(255,192,0,0.08); border:1px solid rgba(255,192,0,0.22); color:#e6cf87; font-size:10px; letter-spacing:0.05em; text-transform:uppercase; white-space:normal; }
  .diag-block { border:1px solid var(--border); border-radius:8px; padding:10px; background:var(--panel-subtle); margin-top:10px; min-width:0; }
  .diag-block:first-child { margin-top:0; }
  .diag-block-title { font-size:10px; text-transform:uppercase; letter-spacing:0.08em; color:#777; margin-bottom:8px; }
  .diag-kpis { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .diag-kpi { background:rgba(255,255,255,0.03); border:1px solid var(--border); border-radius:8px; padding:8px; }
  .diag-kpi-value { font-size:18px; color:var(--text); line-height:1.1; }
  .diag-kpi-label { font-size:11px; color:var(--muted); margin-top:4px; }
  .diag-list { margin:0; padding-left:18px; color:var(--muted); font-size:12px; line-height:1.55; }
  .diag-list li + li { margin-top:4px; }
  .diag-table { width:100%; min-width:720px; border-collapse:collapse; font-size:11px; table-layout:fixed; }
  .diag-table th, .diag-table td { text-align:left; padding:6px 4px; border-bottom:1px solid var(--border); vertical-align:top; overflow-wrap:anywhere; word-break:break-word; }
  .diag-table th { color:#8d8d8d; font-weight:500; text-transform:uppercase; letter-spacing:0.06em; font-size:10px; }
  .diag-table td { color:var(--muted); }
  .diag-table td strong { color:var(--text); font-weight:500; }
  .diag-empty { font-size:12px; color:#7d7d7d; }
  .diag-verdict { border:1px solid var(--border); border-radius:10px; padding:12px; background:var(--panel-subtle); margin-bottom:10px; }
  .diag-verdict.ok { border-color: rgba(0,163,136,0.28); background: rgba(0,163,136,0.06); }
  .diag-verdict.warn { border-color: rgba(255,192,0,0.28); background: rgba(255,192,0,0.06); }
  .diag-verdict.error { border-color: rgba(226,75,74,0.32); background: var(--danger-bg); }
  .diag-verdict-title { font-size:13px; font-weight:600; color:var(--text); margin-bottom:4px; }
  .diag-verdict-copy { font-size:12px; color:var(--muted); line-height:1.6; }
  .diag-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  @media (max-width: 560px) { .signal-registry-summary { grid-template-columns:1fr; } }
  .diag-summary-card { border:1px solid var(--border); border-radius:8px; padding:10px; background:var(--panel-subtle); }
  .diag-summary-card-title { font-size:11px; color:var(--text); font-weight:600; margin-bottom:4px; }
  .diag-summary-card-copy { font-size:12px; color:var(--muted); line-height:1.55; }
  .diag-summary-count { color:var(--text); font-weight:600; }
  .diag-explainer { font-size:12px; color:var(--muted); line-height:1.6; margin-bottom:8px; }
  .diag-minor-note { margin-top:8px; font-size:12px; color:#c7b78a; line-height:1.55; }
  .req-trace { margin-top:8px; display:flex; flex-wrap:wrap; gap:6px; }
  .req-badge { display:inline-flex; align-items:center; padding:4px 8px; border-radius:999px; background:rgba(136,167,183,0.08); border:1px solid rgba(136,167,183,0.28); color:var(--req-id); font-size:10px; letter-spacing:0.04em; text-transform:uppercase; }
  @media (max-width: 900px) {
    .test-panel { left: 1rem; right: 1rem; }
    .test-shell { left: 0; right: 0; width: auto; max-height: calc(100vh - 4rem); }
    .test-shell-body { max-height: calc(100vh - 7.5rem); }
  }

  /* ── Landing page ── */
  .landing { display: flex; flex-direction: column; min-height: 100vh; background: var(--bg); }
  .landing-hero { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 3.25rem var(--shell-inline-pad) 1.5rem; width: min(var(--shell-frame-max), 100%); max-width: none; margin: 0 auto; box-sizing: border-box; }
  .landing-tag { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); font-weight: 500; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 10px; }
  .landing-tag::before, .landing-tag::after { content: ''; width: 32px; height: 1px; background: var(--accent); opacity: 0.4; }
  .landing-h1 { font-family: var(--serif); font-size: clamp(1.9rem, 4.2vw, 2.8rem); line-height: 1.12; color: var(--text); margin-bottom: 1.5rem; }
  .landing-h1 em { font-style: italic; color: transparent; background: linear-gradient(135deg, #FFD000 0%, #FFA800 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
  .landing-lead { font-size: var(--fs-md); color: var(--muted); line-height: 1.75; width: 100%; max-width: none; margin: 0 0 var(--space-5); }
  .landing-sector-wrap { width:100%; max-width:760px; margin:0 auto 2rem; }
  .landing-sector-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .landing-sector-card { background:var(--surface); border:1.5px solid var(--border2); border-radius:var(--radius-lg); padding:1rem 1rem 0.95rem; text-align:left; cursor:pointer; transition:border-color var(--anim-fast), background var(--anim-fast), transform var(--anim-fast); }
  .landing-sector-card:hover { border-color:rgba(255,255,255,0.28); transform:translateY(-1px); }
  .landing-sector-card.selected { border-color:var(--accent); background:rgba(255,192,0,0.08); }
  .landing-sector-title { font-size:var(--fs-sm); font-weight:600; color:var(--text); margin-bottom:4px; }
  .landing-sector-desc { font-size:var(--fs-xs); color:var(--muted); line-height:1.55; }
  .landing-action { display: inline-flex; gap: 10px; }
  .landing-action:hover { }
  .landing-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 2rem 0 0; width: 100%; }
  .stat { background: var(--panel-bg); padding: 1.75rem 1.5rem; text-align: center; }
  .stat-number { font-family: var(--serif); font-size: 2.4rem; color: var(--accent); line-height: 1; margin-bottom: 0.5rem; }
  .stat-label { font-size: 12px; color: var(--muted); line-height: 1.5; }
  .landing-body { width: min(var(--shell-frame-max), 100%); max-width: none; margin: 0 auto; padding: 1.5rem var(--shell-inline-pad) 2rem; box-sizing: border-box; }
  #landingStartWrap { width: min(var(--shell-frame-max), 100%); margin: 0 auto; padding-left: var(--shell-inline-pad); padding-right: var(--shell-inline-pad); box-sizing: border-box; }
  .landing-card { background: var(--panel-bg); border: 1px solid var(--border2); border-radius: 14px; padding: 1.75rem; }
  .landing-card-title { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--accent); font-weight: 500; margin-bottom: 1rem; }
  .landing-steps { list-style: none; display: flex; flex-direction: column; gap: 0.75rem; }
  .landing-steps li { display: flex; align-items: flex-start; gap: 12px; font-size: 13px; color: var(--muted); line-height: 1.5; }
  .landing-step-num { width: 22px; height: 22px; border-radius: 50%; background: var(--selected-bg-strong); border: 1px solid rgba(255,192,0,0.3); color: var(--accent); font-size: 11px; font-weight: 600; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }
  .landing-compliance { background: rgba(0,138,118,0.07); border: 1px solid rgba(0,138,118,0.25); border-radius: 14px; padding: 1.75rem; }
  .landing-compliance-title { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--accent2); font-weight: 500; margin-bottom: 0.75rem; }
  .landing-compliance p { font-size: 13px; color: var(--muted); line-height: 1.7; }
  .landing-compliance strong { color: var(--text); }
  .app { display: none; }
  .app.visible { display: flex; }
  .global-footer-app { display: none; }
  .app.visible + .global-footer-app { display: block; }

  
/* ========================================================================== 
     Design System — Modal primitives
     ========================================================================== */
  .ds-modal-backdrop { display:none; position:fixed; inset:0; z-index:680; background:rgba(0,0,0,0.68); align-items:center; justify-content:center; padding:1.5rem; }
  .ds-modal-backdrop.visible { display:flex; animation:fadeIn 0.18s ease; }
  .ds-modal-shell { width:min(760px, 100%); max-height:calc(100vh - 3rem); overflow:auto; background: var(--overlay-bg); border:1px solid var(--border2); border-radius:18px; box-shadow:0 24px 80px rgba(0,0,0,0.58); }
.ds-modal-shell.ds-modal-shell-wide { width:min(860px, 100%); }
.ds-modal-shell.ds-modal-shell-xl { width:min(960px, 100%); }
.ds-modal-shell.ds-modal-shell-export { width:min(1040px, 100%); max-height:calc(100vh - 2rem); }
.ds-modal-shell.ds-modal-shell-compact { width:min(560px, 100%); }
.ds-modal-shell.ds-modal-shell-start-project { width:min(980px, 100%); }
.ds-modal-shell.ds-modal-shell-sm { width:min(640px, 100%); }
  .ds-modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:1.1rem 1.2rem 0.9rem; border-bottom:1px solid rgba(255,255,255,0.06); }
  .ds-modal-tag { font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:#9fb0ba; font-weight:500; margin-bottom:0.35rem; }
  .ds-modal-title { font-size:16px; color:var(--text); font-weight:600; line-height:1.35; }
  .ds-modal-subtitle { font-size:12px; color:var(--muted); line-height:1.55; margin-top:4px; }
  .ds-modal-body { padding:1rem 1.2rem 1.2rem; }
  .ds-modal-actions { display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; padding:12px 1.2rem 1.2rem; border-top:1px solid rgba(255,255,255,0.06); }
  .ds-modal-close { display:inline-flex; align-items:center; justify-content:center; padding:0; flex-shrink:0; appearance:none; -webkit-appearance:none; background:none; border:1px solid transparent; color:#9aa7b0; border-radius:999px; width:32px; height:32px; font-size:18px; line-height:1; font-family:var(--font); cursor:pointer; transition:all var(--anim-fast); }
  .ds-modal-close:hover, .ds-modal-close:focus-visible { color:var(--text); border-color:rgba(255,255,255,0.14); background:rgba(255,255,255,0.04); outline:none; }
  @media (max-width: 900px) {
    .ds-modal-backdrop { padding:0.75rem; }
    .ds-modal-shell { max-height:calc(100vh - 1.5rem); }
  }
  @media (max-width: 720px) {
    .ds-modal-actions { flex-direction:column; }
    .ds-modal-actions button { width:100%; justify-content:center; }
  }


