/* AI workforce mapper. Chrome and section components come from the /social template (.so-*, .ctn, site tokens).
   Brand contract: warm off-white, near-black, one green focal mark per view, flat, no shadows or gradients. */
.mapper-page{--mp-ease:cubic-bezier(.16,1,.3,1);color:var(--text)}
.mapper-intro h1{font-size:clamp(42px,6.2vw,78px);max-width:15ch}
.mapper-trust{display:flex;flex-wrap:wrap;gap:8px 28px;margin:26px 0 0;padding:0;list-style:none}
.mapper-trust li{font-family:var(--fm);font-size:12px;letter-spacing:.03em;color:var(--text-muted);display:flex;align-items:center;gap:10px}
.mapper-trust li::before{content:"";width:6px;height:6px;background:var(--text);flex-shrink:0}
.mapper-noscript{border-left:2px solid var(--green);padding-left:18px;margin:0 0 32px}
.mapper-work.so-sec{padding-bottom:88px}
.mapper-has-result .mapper-intro{padding-bottom:12px}
.mapper-has-result .mapper-intro h1{font-size:clamp(28px,3.4vw,40px);max-width:none}
.mapper-has-result .mapper-intro .so-lede,.mapper-has-result .mapper-trust,.mapper-has-result .mapper-work{display:none}
.mapper-has-result .mapper-result{padding-top:28px}

/* Builder + live preview: one grid in the /social card language (overflow:clip keeps the sticky actions working) */
.mapper-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;border:1px solid var(--line);border-radius:14px;overflow:clip;background:var(--bg)}
.mapper-layout:has(> .mapper-builder[hidden]){display:none}
.mapper-builder{padding:clamp(28px,4vw,52px);border-right:1px solid var(--line);background:var(--surface)}
.mapper-progress{display:flex;align-items:center;gap:16px;font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0 0 36px}
.mapper-bar{flex:1;height:2px;background:var(--line-light,#eceae4);position:relative;overflow:hidden}
.mapper-bar i{position:absolute;inset:0 auto 0 0;background:var(--text);transition:width .5s var(--mp-ease)}
.mapper-question{outline:none}
.mapper-question fieldset{border:0;padding:0;margin:0;min-width:0}
.mapper-eyebrow{font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep);margin:0 0 14px}
.mapper-question legend{font-family:var(--fd);font-weight:400;font-size:clamp(30px,3.6vw,44px);line-height:1.06;letter-spacing:-.02em;padding:0;max-width:620px}
.mapper-help{font-size:16px;line-height:1.6;color:var(--text-muted);margin:14px 0 28px;max-width:560px}
.mapper-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mapper-choice{display:block;cursor:pointer;position:relative}
.mapper-choice input{position:absolute;opacity:0;pointer-events:none}
.mapper-choice span{display:flex;align-items:center;gap:14px;min-height:56px;padding:14px 18px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-size:15px;font-weight:500;line-height:1.35;color:var(--text-mid);transition:border-color .3s var(--mp-ease),background .3s var(--mp-ease),color .3s var(--mp-ease)}
.mapper-choice span::before{content:"";width:8px;height:8px;border:1px solid var(--text-soft);flex-shrink:0;transition:all .3s var(--mp-ease)}
@media (hover:hover){.mapper-choice:hover span{border-color:var(--text);color:var(--text);background:var(--surface)}}
.mapper-choice input:checked+span{border-color:var(--text);background:var(--surface);color:var(--text);font-weight:600}
.mapper-choice input:checked+span::before{background:var(--green);border-color:var(--green)}
.mapper-choice input:focus-visible+span{outline:2px solid var(--text);outline-offset:2px}

/* Buttons: the site's .bp / .bs */
.mapper-actions{display:flex;justify-content:space-between;gap:12px;margin-top:36px;padding-top:28px;border-top:1px solid var(--line-light,#eceae4)}
.mapper-button{display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;z-index:0;font-family:var(--fb);font-size:15px;font-weight:600;padding:16px 36px;background:var(--text);color:var(--bg);border:1px solid var(--text);border-radius:0;cursor:pointer;transition:color .4s var(--mp-ease),border-color .4s var(--mp-ease),transform .4s var(--mp-ease)}
.mapper-button::before{content:"";position:absolute;inset:0;background:var(--green);transform:translateY(100%);transition:transform .5s var(--mp-ease);z-index:-1}
.mapper-button:hover:not(:disabled)::before{transform:translateY(0)}
.mapper-button:hover:not(:disabled){color:var(--text)}
.mapper-button.secondary{background:transparent;color:var(--text);border-color:var(--line);font-weight:500}
.mapper-button.secondary::before{display:none}
.mapper-button.secondary:hover:not(:disabled){border-color:var(--text);transform:translateY(-2px)}
.mapper-button:focus-visible{outline:2px solid var(--text);outline-offset:3px}
.mapper-button:disabled{cursor:not-allowed;background:var(--bg-deep,#eceae4);border-color:var(--bg-deep,#eceae4);color:var(--text-muted)}
.mapper-button.secondary:disabled{background:transparent;border-color:var(--line-light,#eceae4);color:var(--text-soft)}
.mapper-link{appearance:none;background:none;border:0;padding:0;min-height:44px;display:inline-flex;align-items:center;box-sizing:border-box;font-family:var(--fm);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;cursor:pointer;transition:color .3s var(--mp-ease),text-decoration-color .3s var(--mp-ease)}
.mapper-link:hover:not(:disabled){color:var(--text);text-decoration-color:var(--text)}
.mapper-link:focus-visible{outline:2px solid var(--text);outline-offset:3px}
.mapper-link:disabled{color:var(--text-soft);text-decoration:none;cursor:not-allowed}
button.so-a,button.so-a2{appearance:none;border:0;cursor:pointer;font-family:var(--fb)}
button.so-a2{background:none;padding:0;min-height:44px;display:inline-flex;align-items:center;border-bottom:0;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;font-family:var(--fm)}
.so-a:focus-visible,.so-a2:focus-visible{outline:2px solid var(--text);outline-offset:3px}

/* Live preview: the loop drawn as it fills in */
.mapper-preview{padding:clamp(28px,3vw,40px) 30px;background:var(--bg-warm,#f5f3ef);display:flex;flex-direction:column}
.mapper-preview h2{font-family:var(--fm);font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0 0 26px}
.mapper-preview ol{list-style:none;margin:0;padding:0;position:relative}
.mapper-preview ol::before{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:1px;background:var(--line)}
.mapper-preview li{position:relative;padding:0 0 22px 26px}
.mapper-preview li:last-child{padding-bottom:0}
.mapper-preview li::before{content:"";position:absolute;left:0;top:5px;width:9px;height:9px;background:var(--bg-warm,#f5f3ef);border:1px solid var(--text-soft);transition:all .3s var(--mp-ease)}
.mapper-preview li:has(.is-set)::before{background:var(--text);border-color:var(--text)}
.mapper-preview span{display:block;font-family:var(--fm);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.mapper-preview strong{display:block;font-size:14px;font-weight:400;font-style:italic;line-height:1.4;color:var(--text-muted);margin-top:3px}
.mapper-preview strong.is-set{color:var(--text);font-weight:500;font-style:normal}
.mapper-local{font-size:13px;line-height:1.5;color:var(--text-muted);margin:0;padding-top:30px}
.mapper-clear{appearance:none;background:none;border:0;padding:0;min-height:44px;display:inline-flex;align-items:center;margin-top:2px;font-family:var(--fm);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;align-self:flex-start}
.mapper-clear:hover{color:var(--text)}
.mapper-clear:focus-visible{outline:2px solid var(--text);outline-offset:3px}

/* Blueprint */
.mapper-result{padding-top:8px;padding-bottom:96px;outline:none;scroll-margin-top:96px}
.mapper-builder,.mapper-layout{scroll-margin-top:96px}
.bp-copy{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--text);background:transparent;color:var(--text);font-family:var(--fb);font-size:13px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .3s var(--mp-ease),color .3s var(--mp-ease)}
.bp-copy:hover{background:var(--text);color:var(--bg)}
.bp-copy:focus-visible{outline:2px solid var(--text);outline-offset:3px}
.bp-print-head{display:none}
.bp-kicker-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px}
.mapper-status{font-family:var(--fm);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--green-deep)}
.bp-head h2{font-family:var(--fd);font-weight:400;font-size:clamp(40px,5.4vw,68px);line-height:1;letter-spacing:-.03em;margin:16px 0 12px}
.mapper-mode{font-size:clamp(17px,1.9vw,20px);line-height:1.55;color:var(--text-muted);margin:0;max-width:60ch}
.bp-figure{margin:40px 0 0;border:1px solid var(--line);border-radius:14px;background:var(--bg);padding:clamp(8px,2vw,20px)}
.bp-diagram svg{display:block;width:100%;height:auto}
[data-blueprint-v]{display:none;max-width:420px;margin:0 auto}
[data-blueprint-p],.bp-print-foot{display:none}
.bp-figure figcaption{font-size:15px;line-height:1.6;color:var(--text-muted);padding:14px clamp(8px,1.6vw,20px) 6px;border-top:1px solid var(--line-light,#eceae4);margin-top:8px}
.bp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bp-block{margin-top:64px}
.bp-h2{font-family:var(--fd);font-weight:400;font-size:clamp(28px,3.6vw,40px);letter-spacing:-.02em;line-height:1.05;margin:0 0 6px}
.bp-plan .so-card{min-height:0}
.bp-when{margin-left:0!important;text-transform:uppercase;letter-spacing:.12em!important;font-size:11px!important}
.bp-dm .so-card{min-height:0}
.bp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.bp-list li{font-size:15px;line-height:1.55;color:var(--text-muted);padding-left:18px;position:relative}
.bp-list li::before{content:"";position:absolute;left:0;top:10px;width:5px;height:5px;background:var(--text-soft)}
.bp-company-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.bp-company-list li{display:flex;justify-content:space-between;gap:16px;padding:16px 22px;border-top:1px solid var(--line);font-size:15px}
.bp-company-list li:first-child{border-top:0}
.bp-company-list span{font-family:var(--fm);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}
.bp-take-grid{grid-template-columns:repeat(4,1fr)}
.bp-dm{grid-template-columns:repeat(2,1fr)}
.bp-take-grid .so-card{min-height:250px}
.bp-take-grid .so-ic{color:var(--text)}
.bp-share-url{width:100%;box-sizing:border-box;border:0;margin-top:4px}
.bp-share-url[hidden]{display:none!important}
.bp-take-grid .so-act{margin-top:auto}
.bp-review-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:22px}

/* Review form: the site's .fg / .form-submit */
.workflow-review{margin-top:24px;max-width:640px;padding:clamp(22px,3vw,34px);border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.workflow-review form{display:flex;flex-direction:column}
.workflow-review form>label:first-of-type{margin-top:0}
.workflow-review h3,.workflow-success h3{font-family:var(--fd);font-weight:400;font-size:clamp(28px,3.2vw,36px);line-height:1.1;letter-spacing:-.02em;margin:0}
.workflow-review form>p,.workflow-success p{font-size:15px;line-height:1.6;color:var(--text-muted);margin:10px 0 24px}
.workflow-review label{font-size:13px;font-weight:600;color:var(--text-mid);margin:16px 0 6px}
.workflow-review label span{font-weight:400;color:var(--text-muted)}
.workflow-review input,.workflow-review textarea{width:100%;box-sizing:border-box;font-family:var(--fb);font-size:15px;padding:12px 16px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:0;outline:none;transition:border-color .3s var(--mp-ease)}
.workflow-review textarea{min-height:110px;resize:vertical}
.workflow-review input:focus,.workflow-review textarea:focus{border-color:var(--green-deep)}
.workflow-review input:focus-visible,.workflow-review textarea:focus-visible{outline:2px solid var(--text);outline-offset:2px}
.workflow-review .workflow-privacy{font-size:13px;margin:12px 0 20px}
.workflow-review .mapper-button{align-self:flex-start}
.workflow-success{display:none;border-left:2px solid var(--green);padding:4px 0 4px 20px}
.workflow-success.show{display:block}

@media (max-width:1100px){.bp-take-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){
  .mapper-layout{grid-template-columns:minmax(0,1fr)}
  .mapper-builder{border-right:0;border-bottom:1px solid var(--line)}
  .mapper-preview ol{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
  .mapper-preview ol::before{display:none}
  .mapper-preview li{padding:0 0 0 20px}
  .bp-plan{grid-template-columns:1fr}
}
@media (max-width:1024px){
  [data-blueprint-h]{display:none}
  [data-blueprint-v]{display:block}
}
@media (max-width:640px){
  .mapper-trust{flex-direction:column;gap:8px}
  .mapper-work.so-sec{padding-bottom:56px}
  .mapper-choices,.bp-take-grid,.bp-dm{grid-template-columns:1fr}
  .bp-figure{padding:6px}
    .mapper-builder{padding:24px 18px 0}
  .mapper-progress{margin-bottom:22px}
  .mapper-eyebrow{margin-bottom:8px}
  .mapper-question legend{font-size:28px}
  .mapper-help{font-size:15px;margin:8px 0 18px}
  .mapper-choices{gap:6px}
  .mapper-choice span{min-height:48px;padding:11px 14px;gap:12px;font-size:15px}
  /* Keep Back/Continue on screen while answering long lists */
  .mapper-actions{position:sticky;bottom:0;z-index:5;margin:20px -18px 0;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}
  .mapper-actions .mapper-button{flex:1;padding:14px 18px}
  .bp-take-grid .so-card{min-height:0}
  .bp-review-actions .mapper-button,.workflow-review .mapper-button{width:100%;align-self:stretch}
}
@media (prefers-reduced-motion:reduce){.mapper-page *{transition:none!important}}

/* Save as PDF: the blueprint on one A4 page. Print gets its own compact scale and a diagram drawn 1:1 for the A4 text width. */
@media print{
  @page{size:A4;margin:12mm}
  html,body{background:#fff!important}
  .nav,.ft,footer,.mapper-intro,.mapper-work,.bp-take,.bp-review,#mapper-edit,.sc-consent,.sc-consent-settings,noscript{display:none!important}
  .mapper-page{font-size:10pt}
  .mapper-result{padding:0!important;margin:0!important;max-width:none!important}
  .bp-print-head{display:block;font-family:var(--fm);font-size:7.5pt;letter-spacing:.06em;text-transform:uppercase;color:#5a5a55;margin:0 0 6mm;padding-bottom:2.5mm;border-bottom:1px solid #d8d5ce}
  .bp-kicker-row{gap:0}
  .mapper-status{font-size:8pt}
  .bp-head h2{font-size:28pt;margin:2mm 0 2mm}
  .mapper-mode{font-size:11pt;line-height:1.4}
  .bp-figure{margin:6mm 0 0;padding:2mm 2mm 1mm;border-color:#d8d5ce;break-inside:avoid}
  [data-blueprint-h],[data-blueprint-v]{display:none!important}
  [data-blueprint-p]{display:block!important}
  .bp-figure figcaption{font-size:10pt;padding:2mm 2mm 0;margin-top:1mm}
  .bp-block{margin-top:8mm;break-inside:avoid}
  .bp-h2{font-size:17pt;margin:0 0 2.5mm}
  .bp-block .so-sub{display:none}
  .so-grid{border-radius:8px}
  .so-card{background:#fff!important;min-height:0!important;padding:3.5mm 4mm!important;gap:1.5mm!important}
  .so-name{font-size:13pt!important}
  .so-p,.bp-list li{font-size:9.5pt!important;line-height:1.42!important}
  .bp-list{gap:1.2mm}
  .bp-list li::before{top:1.8mm}
  .so-h,.bp-when{font-size:7pt!important}
  .bp-plan{grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:1fr}
  .bp-dm{grid-template-columns:repeat(2,1fr)!important}
  .bp-company-list li{padding:1.8mm 3.5mm;font-size:9.5pt}
  .bp-print-foot{display:block;margin:7mm 0 0;padding-top:2.5mm;border-top:1px solid #d8d5ce;font-family:var(--fm);font-size:7.5pt;letter-spacing:.04em;color:#5a5a55}
}
