/* ============================================================
   FORGE DIGITAL TOOLS — Ask Forge + Project Planner
   ============================================================ */

/* ---------- Home planner feature ---------- */
.tool-feature{padding:clamp(72px,9vw,120px) 0;border-top:1px solid var(--line);background:#151515}
.tool-feature-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(44px,7vw,110px);align-items:center}
.tool-feature-copy h2{max-width:11ch;margin-bottom:24px}
.tool-feature-copy .body-lead{margin-bottom:32px}
.tool-kicker{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 28px}
.tool-kicker span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line-strong);padding:8px 12px;border-radius:999px;color:var(--text-dim)}
.tool-preview{border:1px solid var(--line-strong);background:#111;box-shadow:0 30px 90px rgba(0,0,0,.28)}
.tool-preview-head{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px}
.tool-preview-head strong{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em}
.tool-preview-head span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}
.tool-preview-body{padding:26px 24px}
.tool-metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:22px}
.tool-mini-metric{background:#171717;padding:18px 14px}
.tool-mini-metric b{display:block;font-family:var(--font-display);font-size:26px;line-height:1;color:#F3F2EE;margin-bottom:8px}
.tool-mini-metric span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}
.tool-preview-lines{display:grid;gap:10px}
.tool-preview-line{display:grid;grid-template-columns:1fr auto;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--text-dim)}
.tool-preview-line:last-child{border-bottom:0}
.tool-preview-line strong{color:#F3F2EE;font-weight:500}

/* ---------- Planner page ---------- */
.planner-shell{padding:clamp(56px,8vw,110px) 0 120px;background:#111}
.planner-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.54fr);gap:36px;align-items:start}
.planner-card{border:1px solid var(--line);background:#171717}
.planner-card-head{padding:26px 28px;border-bottom:1px solid var(--line)}
.planner-card-head h3{font-size:21px;margin-bottom:8px}
.planner-card-head p{color:var(--text-dim);font-size:13px;max-width:70ch}
.planner-form{padding:28px;display:grid;gap:28px}
.planner-group{display:grid;gap:14px}
.planner-group-title{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#F3F2EE}
.planner-group-title span{width:26px;height:26px;border:1px solid var(--line-strong);display:grid;place-items:center;border-radius:50%;font-size:10px;color:var(--text-dim)}
.planner-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.planner-field{display:grid;gap:8px}
.planner-field label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}
.planner-field input,.planner-field select,.planner-field textarea{width:100%;background:#111;color:#F3F2EE;border:1px solid var(--line-strong);padding:14px 14px;font:inherit;font-size:14px;outline:none;border-radius:0;transition:border-color .2s ease,background .2s ease}
.planner-field input:focus,.planner-field select:focus,.planner-field textarea:focus{border-color:rgba(243,242,238,.6);background:#141414}
.planner-field select option{background:#111;color:#F3F2EE}
.planner-field small{font-size:11px;color:rgba(243,242,238,.48)}
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.check-pill{position:relative}
.check-pill input{position:absolute;opacity:0;pointer-events:none}
.check-pill label{display:flex;align-items:center;gap:10px;min-height:46px;padding:12px 13px;border:1px solid var(--line);cursor:pointer;color:var(--text-dim);font-size:13px;transition:.2s ease}
.check-pill label::before{content:"";width:14px;height:14px;border:1px solid var(--line-strong);flex:0 0 auto}
.check-pill input:checked+label{border-color:#F3F2EE;color:#F3F2EE;background:rgba(243,242,238,.05)}
.check-pill input:checked+label::before{background:#F3F2EE;box-shadow:inset 0 0 0 3px #171717}
.planner-submit{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:6px}
.planner-submit-note{font-size:11px;color:rgba(243,242,238,.48);max-width:40ch}

.planner-side{position:sticky;top:104px;display:grid;gap:18px}
.planner-side-card{border:1px solid var(--line);padding:24px;background:#151515}
.planner-side-card h3{font-size:18px;margin-bottom:14px}
.planner-side-card p,.planner-side-card li{font-size:13px;color:var(--text-dim)}
.planner-side-card ul{list-style:none;display:grid;gap:10px}
.planner-side-card li{padding-left:18px;position:relative}
.planner-side-card li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:1px;background:#F3F2EE}
.planner-private{display:flex;gap:12px;align-items:flex-start}
.planner-private svg{width:20px;height:20px;flex:0 0 auto;stroke:#F3F2EE;fill:none;stroke-width:1.6;margin-top:2px}

/* ---------- Planner results ---------- */
.planner-results{display:none;margin-top:38px}
.planner-results.show{display:block;animation:fade .45s var(--ease)}
.plan-hero{border:1px solid var(--line);background:#151515}
.plan-hero-top{padding:28px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.plan-hero-top h2{font-size:clamp(28px,4vw,46px);margin-top:7px}
.plan-badge{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#F3F2EE;border:1px solid var(--line-strong);padding:9px 12px;white-space:nowrap}
.plan-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.plan-metric{background:#111;padding:26px 22px;min-height:130px}
.plan-metric .k{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--text-dim);margin-bottom:12px}
.plan-metric .v{font-family:var(--font-display);font-size:clamp(27px,3vw,38px);line-height:1;color:#F3F2EE}
.plan-metric .s{font-size:11px;color:rgba(243,242,238,.48);margin-top:10px}
.plan-teaser{display:grid;grid-template-columns:1.05fr .95fr;gap:1px;background:var(--line);border:1px solid var(--line);border-top:0}
.plan-panel{background:#171717;padding:26px}
.plan-panel h3{font-size:18px;margin-bottom:18px}
.plan-findings{display:grid;gap:0}
.plan-finding{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.plan-finding:last-child{border-bottom:0}
.plan-finding .n{font-family:var(--font-display);font-size:12px;color:rgba(243,242,238,.42);padding-top:3px}
.plan-finding strong{display:block;font-size:13px;color:#F3F2EE;margin-bottom:4px}
.plan-finding p{font-size:12px;color:var(--text-dim)}
.plan-loadbar{margin:11px 0 20px;height:10px;border:1px solid var(--line-strong);background:#111;overflow:hidden}
.plan-loadbar span{display:block;height:100%;background:#F3F2EE;width:0;transition:width .7s var(--ease)}
.plan-score-row{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--text-dim);margin-top:8px}
.plan-score-row strong{color:#F3F2EE}

.plan-lock{position:relative;margin-top:1px;border:1px solid var(--line);background:#151515;overflow:hidden}
.plan-locked-content{padding:28px;filter:blur(8px);opacity:.34;pointer-events:none;user-select:none;min-height:280px}
.plan-lock-overlay{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,rgba(17,17,17,.25),rgba(17,17,17,.93) 35%,rgba(17,17,17,.98));padding:30px}
.plan-unlock-box{max-width:620px;text-align:center}
.plan-unlock-box h3{font-size:clamp(25px,3vw,34px);margin-bottom:12px}
.plan-unlock-box p{color:var(--text-dim);font-size:13px;margin:0 auto 22px;max-width:60ch}
.unlock-benefits{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.unlock-benefits span{border:1px solid var(--line);padding:8px 10px;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim)}
.unlock-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left}
.unlock-form .wide{grid-column:1/-1}
.unlock-form input{width:100%;background:#111;color:#F3F2EE;border:1px solid var(--line-strong);padding:14px;font:inherit;font-size:13px;outline:none}
.unlock-form input:focus{border-color:#F3F2EE}
.unlock-action{grid-column:1/-1;display:flex;justify-content:center;margin-top:5px}
.unlock-privacy{grid-column:1/-1;text-align:center;font-size:10px;color:rgba(243,242,238,.45)}
.unlock-error{grid-column:1/-1;color:#f1b9b9;font-size:11px;text-align:center;min-height:16px}

.plan-full{display:none;border:1px solid var(--line);border-top:0;background:#111}
.plan-full.show{display:block;animation:fade .4s var(--ease)}
.plan-section{padding:30px;border-bottom:1px solid var(--line)}
.plan-section:last-child{border-bottom:0}
.plan-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:22px}
.plan-section h3{font-size:20px}
.plan-section-head p{font-size:11px;color:var(--text-dim);max-width:52ch;text-align:right}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.resource-item{background:#151515;padding:22px}
.resource-item b{font-family:var(--font-display);font-size:28px;display:block;margin-bottom:6px}
.resource-item span{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}
.workstream-list{display:grid;gap:12px}
.workstream-row{display:grid;grid-template-columns:minmax(145px,.72fr) 1fr 86px;align-items:center;gap:14px;font-size:12px}
.workstream-row .label{color:#F3F2EE}
.workstream-track{height:8px;background:#202020;border:1px solid var(--line);overflow:hidden}
.workstream-track span{display:block;height:100%;background:#F3F2EE}
.workstream-row .hours{text-align:right;color:var(--text-dim)}
.plan-risk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.plan-risk{border:1px solid var(--line);padding:18px;background:#151515}
.plan-risk strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px}
.plan-risk p{font-size:12px;color:var(--text-dim)}
.rfq-box{border:1px solid var(--line);background:#151515;padding:22px;font-size:12px;color:var(--text-dim);white-space:pre-wrap;line-height:1.75;max-height:420px;overflow:auto}
.plan-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.btn-small{padding:13px 20px;font-size:11px}
.plan-disclaimer{font-size:10px;color:rgba(243,242,238,.43);line-height:1.6;margin-top:18px}

/* ---------- Ask Forge floating agent ---------- */
.ask-forge-launch{position:fixed;right:28px;bottom:34px;z-index:1100;display:flex;align-items:center;gap:11px;background:#F3F2EE;color:#111;border:1px solid #F3F2EE;padding:13px 18px;border-radius:999px;cursor:pointer;font-family:var(--font-body);font-weight:600;letter-spacing:.05em;box-shadow:0 18px 45px rgba(0,0,0,.32);transition:transform .2s var(--ease),background .2s ease,color .2s ease}
.ask-forge-launch:hover{transform:translateY(-3px);background:#111;color:#F3F2EE}
.ask-forge-launch svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}
.ask-forge-launch .dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.75}
.ask-forge-panel{position:fixed;right:28px;bottom:92px;z-index:1099;width:min(430px,calc(100vw - 36px));height:min(650px,calc(100dvh - 126px));display:none;grid-template-rows:auto 1fr auto;background:#111;border:1px solid rgba(243,242,238,.24);box-shadow:0 30px 100px rgba(0,0,0,.55)}
.ask-forge-panel.open{display:grid;animation:askOpen .28s var(--ease)}
@keyframes askOpen{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.ask-head{padding:18px 18px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;background:#151515}
.ask-title{display:flex;align-items:center;gap:12px}
.ask-title h3{font-size:17px;margin-bottom:4px}
.ask-title p{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}
.ask-close{width:34px;height:34px;border:1px solid var(--line);background:transparent;color:#F3F2EE;cursor:pointer;font-size:18px}
.ask-body{overflow-y:auto;padding:18px;scroll-behavior:smooth}
.ask-welcome{border:1px solid var(--line);padding:16px;margin-bottom:14px;background:#151515}
.ask-welcome p{font-size:12px;color:var(--text-dim);margin-bottom:12px}
.ask-suggestions{display:flex;gap:7px;flex-wrap:wrap}
.ask-suggestion{border:1px solid var(--line);background:#111;color:#F3F2EE;padding:8px 10px;font:inherit;font-size:10px;cursor:pointer;transition:.2s ease}
.ask-suggestion:hover{border-color:#F3F2EE}
.ask-msg{display:flex;margin:12px 0}
.ask-msg.user{justify-content:flex-end}
.ask-bubble{max-width:88%;padding:12px 13px;font-size:12px;line-height:1.62;white-space:pre-wrap;border:1px solid var(--line)}
.ask-msg.assistant .ask-bubble{background:#171717;color:#F3F2EE}
.ask-msg.user .ask-bubble{background:#F3F2EE;color:#111;border-color:#F3F2EE}
.ask-thinking{display:flex;gap:5px;align-items:center;height:18px}
.ask-thinking span{width:5px;height:5px;background:#F3F2EE;border-radius:50%;opacity:.35;animation:askDot 1s infinite ease-in-out}
.ask-thinking span:nth-child(2){animation-delay:.12s}.ask-thinking span:nth-child(3){animation-delay:.24s}
@keyframes askDot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.ask-cta{margin:12px 0 4px;border:1px solid var(--line-strong);padding:13px;background:#151515}
.ask-cta strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.ask-cta p{font-size:10px;color:var(--text-dim);margin-bottom:10px}
.ask-cta button{border:0;background:#F3F2EE;color:#111;padding:9px 11px;font:inherit;font-size:10px;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}
.ask-form{border-top:1px solid var(--line);padding:13px;background:#151515}
.ask-input-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.ask-input{resize:none;min-height:44px;max-height:120px;background:#111;border:1px solid var(--line-strong);color:#F3F2EE;padding:11px 12px;font:inherit;font-size:12px;outline:none;line-height:1.45}
.ask-input:focus{border-color:#F3F2EE}
.ask-send{width:44px;height:44px;border:1px solid #F3F2EE;background:#F3F2EE;color:#111;display:grid;place-items:center;cursor:pointer}
.ask-send:disabled{opacity:.45;cursor:default}
.ask-send svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8}
.ask-scope{font-size:9px;color:rgba(243,242,238,.38);margin-top:8px;line-height:1.4}

/* Keep back-to-top clear of Ask Forge */
#backToTop{bottom:100px}

@media(max-width:1000px){
  .tool-feature-grid,.planner-layout{grid-template-columns:1fr}
  .planner-side{position:static;grid-template-columns:1fr 1fr}
  .plan-teaser{grid-template-columns:1fr}
}
@media(max-width:760px){
  .tool-metric-row,.plan-metrics{grid-template-columns:repeat(2,1fr)}
  .planner-grid-2,.check-grid,.unlock-form,.resource-grid,.plan-risk-grid{grid-template-columns:1fr}
  .unlock-form .wide,.unlock-action,.unlock-privacy,.unlock-error{grid-column:auto}
  .planner-side{grid-template-columns:1fr}
  .planner-submit{align-items:flex-start;flex-direction:column}
  .workstream-row{grid-template-columns:1fr 70px;gap:8px}
  .workstream-track{grid-column:1/-1;grid-row:2}
  .plan-hero-top,.plan-section-head{align-items:flex-start;flex-direction:column}
  .plan-section-head p{text-align:left}
  .ask-forge-panel{right:10px;bottom:78px;width:calc(100vw - 20px);height:calc(100dvh - 98px)}
  .ask-forge-launch{right:14px;bottom:18px;padding:12px 15px}
  #backToTop{right:auto;left:18px;bottom:18px}
}
@media(max-width:520px){
  .planner-form,.planner-card-head,.plan-section,.plan-panel,.plan-hero-top{padding-left:18px;padding-right:18px}
  .plan-metric{padding:20px 16px;min-height:112px}
  .tool-preview-body,.tool-preview-head{padding-left:16px;padding-right:16px}
  .ask-forge-launch .label{display:none}
  .ask-forge-launch{width:48px;height:48px;padding:0;justify-content:center}
  .ask-forge-launch .dot{display:none}
}

/* Print-only elements stay hidden on screen */
.plan-print-brand,.plan-print-summary,.plan-print-footer{display:none}

/* Planner calculation state */
.planner-loading-label{display:inline-flex;align-items:center;gap:8px}
.planner-loading-dots{display:inline-flex;align-items:center;gap:4px;min-width:26px}
.planner-loading-dots i{display:block;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.28;animation:plannerDotPulse 1s ease-in-out infinite}
.planner-loading-dots i:nth-child(2){animation-delay:.16s}
.planner-loading-dots i:nth-child(3){animation-delay:.32s}
@keyframes plannerDotPulse{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

@page{size:A4 portrait;margin:13mm 12mm 16mm}
@media print{
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  html,body{background:#fff!important;color:#202020!important;font-family:Arial,Helvetica,sans-serif!important;font-size:9.5pt;line-height:1.45}
  .nav,.footer,.ask-forge-launch,.ask-forge-panel,#backToTop,.planner-card,.planner-side,.plan-lock,.page-intro,.plan-tools,.planner-contact-modal{display:none!important}
  .page{display:none!important}
  #planner.page{display:block!important}
  #planner .planner-shell{background:#fff!important;padding:0!important}
  #planner .wrap{max-width:none!important;padding:0!important}
  #planner .planner-layout{display:none!important}
  .planner-results,.planner-results.show,.plan-full,.plan-full.show{display:block!important;margin:0!important;border:0!important;background:#fff!important;color:#202020!important}

  .plan-print-brand{display:block!important;border-top:4px solid #202020;padding-top:8mm;margin-bottom:5mm}
  .plan-print-brand-top{display:flex;align-items:center;justify-content:space-between;gap:10mm;padding-bottom:5mm;border-bottom:1px solid #b8b8b8}
  .plan-print-brand-top img{width:52mm;height:auto}
  .plan-print-brand-top>div{text-align:right}
  .plan-print-brand-top span{display:block;font-size:7.5pt;text-transform:uppercase;letter-spacing:1.7pt;color:#777;margin-bottom:1.5mm}
  .plan-print-brand-top strong{display:block;font-size:17pt;line-height:1;text-transform:uppercase;letter-spacing:.6pt;color:#202020}
  .plan-print-brand-meta{display:flex;justify-content:space-between;gap:8mm;padding-top:3mm;font-size:6.8pt;letter-spacing:1pt;text-transform:uppercase;color:#777}

  .plan-print-summary{display:grid!important;grid-template-columns:repeat(3,1fr);border:1px solid #c9c9c9;margin:0 0 6mm;background:#fff}
  .plan-print-summary-item{padding:3mm 3.5mm;border-right:1px solid #ddd;border-bottom:1px solid #ddd;min-height:16mm}
  .plan-print-summary-item:nth-child(3n){border-right:0}
  .plan-print-summary-item span{display:block;font-size:6.6pt;letter-spacing:.8pt;text-transform:uppercase;color:#777;margin-bottom:1.2mm}
  .plan-print-summary-item strong{display:block;font-size:9pt;line-height:1.35;color:#202020;font-weight:700}

  .plan-hero{border:1px solid #bdbdbd!important;background:#fff!important;margin-bottom:4mm;break-inside:avoid}
  .plan-hero-top{padding:4.5mm 5mm!important;border-bottom:1px solid #c9c9c9!important;align-items:center!important}
  .plan-hero-top .eyebrow{font-size:6.5pt!important;letter-spacing:1.1pt!important;color:#777!important;margin:0 0 1.5mm!important}
  .plan-hero-top .eyebrow::before{display:none!important}
  .plan-hero-top h2{font-family:Arial,Helvetica,sans-serif!important;font-size:18pt!important;letter-spacing:.3pt!important;line-height:1!important;color:#202020!important;margin:0!important}
  .plan-badge{font-size:6.5pt!important;letter-spacing:.7pt!important;color:#555!important;border:1px solid #bbb!important;padding:2mm 2.5mm!important}
  .plan-metrics{grid-template-columns:repeat(4,1fr)!important;gap:0!important;background:#fff!important}
  .plan-metric{background:#f5f5f3!important;color:#202020!important;padding:4mm!important;min-height:25mm!important;border-right:1px solid #d2d2d2!important}
  .plan-metric:last-child{border-right:0!important}
  .plan-metric .k{font-size:6.5pt!important;letter-spacing:.8pt!important;color:#777!important;margin-bottom:2mm!important}
  .plan-metric .v{font-family:Arial,Helvetica,sans-serif!important;font-size:17pt!important;color:#202020!important;line-height:1!important}
  .plan-metric .s{font-size:7pt!important;color:#777!important;margin-top:2mm!important}

  .plan-teaser{display:grid!important;grid-template-columns:1fr 1fr!important;gap:3mm!important;background:#fff!important;border:0!important;margin:0 0 4mm!important}
  .plan-panel,.plan-section{background:#fff!important;color:#202020!important;border:1px solid #c8c8c8!important;padding:4.5mm!important;margin:0 0 4mm!important;break-inside:auto}
  .plan-panel{margin:0!important;break-inside:avoid}
  .plan-panel h3,.plan-section h3{font-family:Arial,Helvetica,sans-serif!important;color:#202020!important;font-size:11pt!important;line-height:1.15!important;margin:0 0 3mm!important;letter-spacing:.2pt!important}
  .plan-finding{grid-template-columns:7mm 1fr!important;gap:2mm!important;padding:2.2mm 0!important;border-bottom:1px solid #e0e0e0!important;break-inside:avoid}
  .plan-finding .n{font-size:7pt!important;color:#999!important}
  .plan-finding strong{font-size:8.5pt!important;color:#202020!important;margin-bottom:.8mm!important}
  .plan-finding p,.plan-section-head p,.plan-risk p,.resource-item span,.workstream-row .hours,.plan-disclaimer{font-size:7.4pt!important;color:#666!important;line-height:1.45!important}
  .plan-score-row{font-size:7.7pt!important;color:#666!important;margin-top:2mm!important}
  .plan-score-row strong{color:#202020!important}
  .plan-loadbar{height:2.5mm!important;border:1px solid #bbb!important;background:#eee!important;margin:2mm 0 4mm!important}
  .plan-loadbar span,.workstream-track span{background:#2b2b2b!important}

  .plan-section-head{display:block!important;margin-bottom:3.5mm!important}
  .plan-section-head p{text-align:left!important;max-width:none!important;margin-top:1.3mm!important}
  .resource-grid{grid-template-columns:repeat(3,1fr)!important;gap:2mm!important;background:#fff!important;border:0!important}
  .resource-item{background:#f5f5f3!important;color:#202020!important;border:1px solid #d4d4d4!important;padding:3.2mm!important;break-inside:avoid}
  .resource-item b{font-family:Arial,Helvetica,sans-serif!important;font-size:15pt!important;color:#202020!important;margin-bottom:1mm!important}
  .resource-item span{display:block;text-transform:uppercase;letter-spacing:.5pt!important}
  .workstream-list{gap:2mm!important}
  .workstream-row{grid-template-columns:44mm 1fr 18mm!important;gap:3mm!important;font-size:7.8pt!important;break-inside:avoid}
  .workstream-row .label{color:#202020!important}
  .workstream-track{height:2.4mm!important;background:#ededed!important;border:1px solid #d0d0d0!important}
  .plan-risk-grid{grid-template-columns:repeat(2,1fr)!important;gap:2mm!important}
  .plan-risk{background:#fff!important;color:#202020!important;border:1px solid #d4d4d4!important;padding:3.2mm!important;break-inside:avoid}
  .plan-risk strong{font-size:8.5pt!important;color:#202020!important;margin-bottom:1mm!important}
  .rfq-box{white-space:pre-wrap!important;background:#f7f7f5!important;color:#2a2a2a!important;border:1px solid #d0d0d0!important;padding:4mm!important;font-family:Arial,Helvetica,sans-serif!important;font-size:7.4pt!important;line-height:1.5!important;break-inside:auto}
  .plan-disclaimer{border-top:1px solid #d4d4d4!important;margin-top:4mm!important;padding-top:3mm!important}

  .plan-print-footer{display:flex!important;justify-content:space-between;gap:8mm;border-top:1px solid #999;margin-top:6mm;padding-top:2.5mm;font-size:6.3pt;letter-spacing:.7pt;text-transform:uppercase;color:#777}
  .plan-section,.resource-item,.plan-risk,.plan-finding,.workstream-row{page-break-inside:avoid}
}

/* ============================================================
   Interface refinements retained in S07
   ============================================================ */

/* Planner form alignment */
.planner-grid-2{align-items:start}
.planner-field label{min-height:16px;display:flex;align-items:flex-end;line-height:1.35}
.planner-field input,.planner-field select{min-height:56px}
.planner-field small{min-height:30px;line-height:1.45;display:block}
.planner-field small.field-spacer{visibility:hidden}
.planner-capacity-grid .planner-field{grid-template-rows:auto 56px 32px}

/* Ask Forge — cleaner rounded window */
.ask-forge-panel{border-radius:20px;overflow:hidden}
.ask-head{border-radius:20px 20px 0 0}
.ask-title{gap:0}
.ask-close{border-radius:10px}
.ask-welcome,.ask-bubble,.ask-cta,.ask-suggestion{border-radius:12px}
.ask-form{border-radius:0 0 20px 20px}
.ask-input-row{display:grid;grid-template-columns:1fr auto;gap:4px;align-items:end;border:1px solid var(--line-strong);border-radius:999px;background:#111;padding:4px 4px 4px 10px;overflow:hidden;transition:border-color .2s ease}
.ask-input-row:focus-within{border-color:#F3F2EE}
.ask-input{border:0!important;border-radius:999px;background:transparent!important;padding:10px 10px 10px 5px;min-height:40px}
.ask-input:focus{border:0!important}
.ask-send{width:40px;height:40px;border:0;border-radius:50%}

/* Contact gate */
.planner-contact-modal{position:fixed;inset:0;z-index:1500;display:none;place-items:center;padding:22px}
.planner-contact-modal.open{display:grid;animation:fade .2s ease}
.planner-contact-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(7px)}
.planner-contact-dialog{position:relative;z-index:1;width:min(640px,100%);background:#151515;border:1px solid var(--line-strong);border-radius:18px;padding:32px;box-shadow:0 30px 100px rgba(0,0,0,.6)}
.planner-contact-dialog h3{font-size:clamp(24px,4vw,34px);margin:10px 0 12px;max-width:18ch}
.planner-contact-dialog>p:not(.eyebrow){font-size:13px;color:var(--text-dim);max-width:62ch;margin-bottom:24px}
.planner-contact-close{position:absolute;right:18px;top:18px;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#111;color:#F3F2EE;font-size:20px;cursor:pointer}
.planner-contact-form{display:grid;gap:14px}
.planner-contact-form .planner-field input{border-radius:10px}
.planner-contact-submit{width:100%;justify-content:center;margin-top:4px}
.planner-contact-error{min-height:16px;color:#f1b9b9;font-size:11px}
.planner-contact-privacy{font-size:10px;color:rgba(243,242,238,.45);line-height:1.5}
body.planner-modal-open{overflow:hidden}

/* Results are fully shown only after the contact gate */
.plan-full.show{display:block}

@media(max-width:760px){
  .planner-contact-dialog{padding:26px 20px 22px;border-radius:16px}
  .planner-contact-form .planner-grid-2{grid-template-columns:1fr}
  .ask-forge-panel{border-radius:16px}
}
.ask-bubble{white-space:normal}
.ask-bubble p{margin:0 0 10px}
.ask-bubble p:last-child{margin-bottom:0}
.ask-bubble ul{margin:8px 0 10px;padding-left:18px;display:grid;gap:6px}
.ask-bubble li{margin:0}


/* ============================================================
   S07 deployment refinements
   ============================================================ */
.planner-contact-submit[aria-busy="true"]{cursor:wait;pointer-events:none}
.planner-contact-submit[aria-busy="true"]::before{display:none}
@media(prefers-reduced-motion:reduce){.planner-loading-dots i{animation:none;opacity:.72}}
