/* نبض | Pulse Tools — shared styles */
:root{
  --deep:#0B3B3C; --emer:#0E8C74; --mint:#5FD3B0; --amber:#F2A93B;
  --sand:#F6F3EC; --ink:#16292A; --mist:#E3ECEA; --white:#fff;
  --emer-ink:#0A7A64; /* darker emerald: AA for small text on white/sand and for white text on it */
  --muted:#5C6F6E; --card:#FBFAF6; --prio:#FCEBCD; --prio-ink:#5A3B00;
  --radius:14px; --shadow:0 8px 28px rgba(11,59,60,.08);
  /* palette + font stacks live in brand.css (loaded first) */
  --max:820px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{
  scroll-behavior:smooth;
  overflow-x:hidden;
  max-width:100%;
}
body{
  font-family:var(--font-en); color:var(--ink); background:var(--sand);
  line-height:1.55; min-height:100vh; display:flex; flex-direction:column;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  max-width:100%;
  width:100%;
  position:relative;
}
html[lang="ar"] body, body.rtl{font-family:var(--font-ar); direction:rtl}
body.ltr{font-family:var(--font-en); direction:ltr}
a{color:var(--emer-ink); text-underline-offset:3px}
a:hover{color:var(--deep)}
img{max-width:100%; height:auto; display:block}
button,input,select{font:inherit}

/* Header */
.site-header{
  background:var(--deep); color:var(--sand);
  padding:.85rem 1.25rem; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  flex-wrap:wrap;
  width:100%;
  max-width:100%;
}
.site-header .brand{
  display:flex; align-items:center; gap:.75rem; text-decoration:none; color:inherit;
  min-width:0; max-width:100%;
}
.site-header .brand img{height:36px; width:auto; max-width:min(180px, 45vw)}
.site-header .brand .tag{
  font-size:.78rem; font-weight:500; color:var(--mint); opacity:.95;
  border-inline-start:1px solid rgba(95,211,176,.35); padding-inline-start:.75rem;
}
.header-actions{display:flex; align-items:center; gap:.5rem; flex-wrap:wrap}
.lang-toggle{
  display:inline-block; text-decoration:none; line-height:1.4;
  appearance:none; border:1.5px solid var(--mint); background:transparent; color:var(--sand);
  border-radius:999px; padding:.35rem .9rem; font-size:.85rem; font-weight:600; cursor:pointer;
}
.lang-toggle:hover,.lang-toggle:focus-visible{background:rgba(95,211,176,.15); outline:2px solid var(--mint); outline-offset:2px}
.nav-link{color:var(--sand); text-decoration:none; font-size:.88rem; font-weight:500; opacity:.9}
.nav-link:hover{color:var(--mint); opacity:1}

main{
  flex:1; width:100%; max-width:var(--max);
  margin-inline:auto; padding:1.5rem 1.25rem 3rem;
  min-width:0;
}
main.wide{max-width:min(960px, 100%)}

/* Footer */
.site-footer{
  background:var(--deep); color:rgba(246,243,236,.75); font-size:.8rem;
  padding:1.4rem 1.25rem; text-align:center; line-height:1.6;
  width:100%; max-width:100%;
}
.site-footer a{color:var(--mint)}
.site-footer .disc{margin-top:.6rem; max-width:640px; margin-inline:auto; font-size:.72rem; opacity:.85}

/* Hub */
.hub-hero{text-align:center; margin-bottom:2rem}
.hub-hero .eyebrow{
  display:inline-block; background:var(--amber); color:var(--deep);
  font-weight:700; font-size:.78rem; padding:.3rem .85rem; border-radius:999px; margin-bottom:.9rem;
}
.hub-hero h1{font-size:clamp(1.6rem,4vw,2.15rem); color:var(--deep); line-height:1.25; margin-bottom:.5rem}
.hub-hero p{color:var(--muted); max-width:36rem; margin-inline:auto; font-size:1.02rem}
.tool-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(min(260px, 100%), 1fr));
  gap:1rem;
  width:100%;
  max-width:100%;
}
.tool-card{
  background:var(--white); border:1px solid var(--mist); border-radius:var(--radius);
  padding:1.25rem; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:.55rem;
  transition:transform .15s, border-color .15s;
  min-width:0; /* prevent grid blowout */
  max-width:100%;
}
.tool-card:hover{transform:translateY(-2px); border-color:var(--mint)}
.tool-card .badge{
  align-self:flex-start; font-size:.7rem; font-weight:700; letter-spacing:.04em;
  text-transform:uppercase; padding:.2rem .55rem; border-radius:6px;
}
.tool-card .badge.live{background:var(--emer); color:#fff}
.tool-card .badge.soon{background:var(--mist); color:var(--muted)}
.tool-card .badge.ext{background:transparent; color:var(--muted); border:1.5px solid var(--mist); letter-spacing:.02em}
.tool-card.external{border-style:dashed; background:var(--card)}
.tool-card.external:hover{border-color:var(--emer); border-style:solid}
.tool-card .site-hint{font-size:.75rem; color:var(--muted); font-weight:500}
.tool-card h2{font-size:1.1rem; color:var(--deep); line-height:1.35}
.tool-card h2 .ar-title{display:block; font-size:1.05rem; color:var(--emer); margin-top:.15rem}
html[lang="en"] .tool-card h2 .ar-title{font-size:.95rem; font-weight:600}
.tool-card p{font-size:.9rem; color:var(--muted); flex:1}
.tool-card .cta{
  display:inline-flex; align-items:center; gap:.35rem; margin-top:.4rem;
  font-weight:700; font-size:.92rem; text-decoration:none; color:var(--deep);
}
.tool-card.live .cta{color:var(--emer)}
.tool-card.soon{opacity:.88}
.tool-card.soon:hover{transform:none; border-color:var(--mist)}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  border:0; border-radius:10px; padding:.7rem 1.2rem; font-weight:700; font-size:.95rem;
  cursor:pointer; text-decoration:none; transition:background .15s, transform .1s;
}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--emer-ink); color:#fff}
.btn-primary:hover{background:var(--deep); color:#fff}
.btn-deep{background:var(--deep); color:var(--sand)}
.btn-deep:hover{background:#083032; color:var(--sand)}
.btn-ghost{background:transparent; color:var(--deep); border:1.5px solid var(--mist)}
.btn-ghost:hover{border-color:var(--emer); color:var(--emer)}
.btn-amber{background:var(--amber); color:var(--deep)}
.btn-amber:hover{filter:brightness(.95); color:var(--deep)}
.btn:disabled{opacity:.45; cursor:not-allowed}
.btn-row{display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.25rem}

/* Tool screens */
.screen{display:none}
.screen.active{display:block; animation:fade .25s ease}
@keyframes fade{from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:none}}

.progress-wrap{margin-bottom:1.25rem}
.progress-meta{display:flex; justify-content:space-between; align-items:center; font-size:.82rem; color:var(--muted); margin-bottom:.4rem; font-weight:600}
.progress-bar{height:8px; background:var(--mist); border-radius:999px; overflow:hidden}
.progress-bar > i{display:block; height:100%; background:linear-gradient(to inline-end,var(--emer),var(--mint)); border-radius:999px; width:0; transition:width .3s ease}

.panel{
  background:var(--white); border:1px solid var(--mist); border-radius:var(--radius);
  padding:1.4rem 1.35rem; box-shadow:var(--shadow);
}
.panel h1{font-size:clamp(1.35rem,3.5vw,1.75rem); color:var(--deep); line-height:1.3; margin-bottom:.5rem}
.panel .lead{color:var(--muted); margin-bottom:1rem}
.chips{display:flex; flex-wrap:wrap; gap:.4rem; margin:1rem 0 1.2rem}
.chip{
  font-size:.75rem; font-weight:700; padding:.28rem .7rem; border-radius:999px;
  background:var(--mist); color:var(--deep);
}
.chip.amber{background:var(--amber)}
.chip.mint{background:rgba(95,211,176,.25); color:var(--deep)}

.area-pill{
  display:inline-flex; align-items:center; gap:.4rem;
  background:var(--deep); color:var(--sand); font-size:.78rem; font-weight:700;
  padding:.3rem .7rem; border-radius:8px; margin-bottom:.85rem;
}
.area-pill span{color:var(--mint); font-weight:500}
.q-num{font-size:.8rem; font-weight:700; color:var(--emer-ink); margin-bottom:.35rem}
.q-text{font-size:1.12rem; font-weight:600; color:var(--deep); line-height:1.45; margin-bottom:1.1rem}

.likert{display:grid; gap:.55rem}
.likert label{
  display:grid; grid-template-columns:auto 1fr; gap:.75rem; align-items:start;
  background:var(--card); border:2px solid var(--mist); border-radius:12px;
  padding:.85rem 1rem; cursor:pointer; transition:border-color .15s, background .15s;
}
.likert label:hover{border-color:var(--mint)}
.likert label:has(input:checked),.likert label.selected{
  border-color:var(--emer); background:rgba(14,140,116,.08);
}
.likert input{position:absolute; opacity:0; pointer-events:none}
.likert .radio{
  width:22px; height:22px; border-radius:50%; border:2px solid var(--emer);
  margin-top:2px; flex:none; position:relative;
}
.likert label.selected .radio::after,
.likert label:has(input:checked) .radio::after{
  content:""; position:absolute; inset:3px; border-radius:50%; background:var(--emer);
}
.likert .opt-title{font-weight:700; color:var(--deep); font-size:.98rem}
.likert .opt-desc{font-size:.82rem; color:var(--muted); margin-top:.15rem}

/* Results */
.score-hero{
  display:grid; grid-template-columns:1fr; gap:1rem; margin-bottom:1.25rem;
}
@media(min-width:560px){
  .score-hero{grid-template-columns:auto 1fr; align-items:center}
}
.score-ring{
  width:120px; height:120px; border-radius:50%;
  background:conic-gradient(var(--emer) calc(var(--pct)*1%), var(--mist) 0);
  display:grid; place-items:center; margin-inline:auto;
}
.score-ring > div{
  width:92px; height:92px; border-radius:50%; background:var(--white);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.score-ring .big{font-size:1.6rem; font-weight:800; color:var(--deep); line-height:1}
.score-ring .of{font-size:.72rem; color:var(--muted); font-weight:600}
.band-badge{
  display:inline-block; font-weight:800; font-size:1.05rem; padding:.4rem .9rem;
  border-radius:10px; color:#fff; margin-bottom:.4rem;
}
.band-badge.emerging{background:var(--amber); color:var(--deep)}
.band-badge.developing{background:var(--emer)}
.band-badge.established{background:var(--deep)}
.band-hook{font-weight:700; color:var(--deep); margin-bottom:.35rem}
.band-next{color:var(--muted); font-size:.95rem}

.bars{display:grid; gap:.75rem; margin:1.25rem 0}
.bar-row{display:grid; gap:.3rem}
.bar-label{display:flex; justify-content:space-between; font-size:.88rem; font-weight:700; color:var(--deep)}
.bar-label .prio-tag{
  font-size:.7rem; background:var(--prio); color:var(--prio-ink);
  padding:.15rem .45rem; border-radius:5px; font-weight:700;
}
.bar-track{height:12px; background:var(--mist); border-radius:999px; overflow:hidden}
.bar-fill{height:100%; border-radius:999px; background:var(--emer); transition:width .5s ease}
.bar-fill.weak{background:var(--amber)}

.tips-block{margin-top:1.4rem}
.tips-block h2{font-size:1.1rem; color:var(--deep); margin-bottom:.75rem}
.tip-card{
  background:var(--card); border:1px solid var(--mist); border-radius:12px;
  padding:1rem 1.1rem; margin-bottom:.7rem;
}
.tip-card h3{font-size:.95rem; color:var(--emer-ink); margin-bottom:.5rem}
.tip-card ol{padding-inline-start:1.2rem; color:var(--ink); font-size:.9rem}
.tip-card li{margin-bottom:.35rem}
.tip-note{
  background:var(--prio); color:var(--prio-ink); border-radius:10px;
  padding:.75rem 1rem; font-size:.88rem; font-weight:600; margin:1rem 0;
}

.cta-box{
  background:var(--deep); color:var(--sand); border-radius:var(--radius);
  padding:1.25rem 1.3rem; margin-top:1.5rem;
}
.cta-box h2{font-size:1.05rem; margin-bottom:.4rem; color:var(--sand)}
.cta-box p{font-size:.9rem; opacity:.9; margin-bottom:1rem; color:rgba(246,243,236,.88)}
.cta-box .btn-row .btn{flex:1; min-width:140px}
.cta-box a.btn-primary{background:var(--amber); color:var(--deep)}
.cta-box a.btn-primary:hover{filter:brightness(.96); color:var(--deep)}
.cta-box a.btn-ghost{border-color:rgba(246,243,236,.35); color:var(--sand)}
.cta-box a.btn-ghost:hover{border-color:var(--mint); color:var(--mint)}

.disclaimer{font-size:.75rem; color:var(--muted); margin-top:1.25rem; line-height:1.5}

@media print{
  .site-header .header-actions, .no-print, .lang-toggle, .nav-link{display:none!important}
  body{background:#fff}
  .panel,.tip-card,.cta-box{box-shadow:none; break-inside:avoid}
  .cta-box{border:1px solid #ccc; color:#000; background:#fff}
  .cta-box h2,.cta-box p{color:#000}
  .site-footer{color:#333; background:#fff; border-top:1px solid #ddd}
}

@media(max-width:480px){
  main{padding:1.1rem 1rem 2.5rem}
  .panel{padding:1.1rem 1rem}
  .likert label{padding:.7rem .8rem}
}

/* ---- Shared form & builder styles ---- */
.field{display:grid; gap:.35rem; margin-bottom:.85rem}
.field label{font-size:.82rem; font-weight:700; color:var(--deep)}
.field .hint{font-size:.75rem; color:var(--muted); font-weight:500}
.field input,.field textarea,.field select{
  width:100%; max-width:100%; border:1.5px solid var(--mist); border-radius:10px;
  padding:.65rem .8rem; background:var(--white); color:var(--ink); font:inherit;
}
.field textarea{min-height:72px; resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:2px solid var(--mint); outline-offset:1px; border-color:var(--emer);
}
.field-row{display:grid; gap:.75rem}
@media(min-width:640px){
  .field-row.cols-2{grid-template-columns:1fr 1fr}
  .field-row.cols-3{grid-template-columns:1fr 1fr 1fr}
}
.option-card{
  border:1px solid var(--mist); border-radius:12px; padding:1rem; background:var(--card); margin-bottom:.75rem;
}
.option-card .opt-head{display:flex; justify-content:space-between; align-items:center; gap:.5rem; margin-bottom:.5rem; flex-wrap:wrap}
.option-card h3{font-size:.95rem; color:var(--deep); margin:0}
.warn-box{
  background:#FCEBCD; color:#5A3B00; border-radius:10px; padding:.7rem .9rem;
  font-size:.85rem; font-weight:600; margin:.6rem 0;
}
.ok-box{
  background:#D6F3E9; color:#0A6B58; border-radius:10px; padding:.7rem .9rem;
  font-size:.85rem; font-weight:600; margin:.6rem 0;
}
.tool-nav{
  display:flex; flex-wrap:wrap; gap:.45rem; margin:1rem 0 0; font-size:.82rem;
}
.tool-nav a{
  color:var(--mint); text-decoration:none; border:1px solid rgba(95,211,176,.35);
  padding:.25rem .55rem; border-radius:999px;
}
.tool-nav a:hover{background:rgba(95,211,176,.12); color:var(--sand)}
.cta-box .tool-nav a{color:var(--mint)}

/* Maturity 1-5 */
.band-badge.m1{background:#C45C26}
.band-badge.m2{background:var(--amber); color:var(--deep)}
.band-badge.m3{background:#2F7D4F}
.band-badge.m4{background:var(--emer)}
.band-badge.m5{background:var(--deep)}

/* RACI matrix */
.matrix-wrap{overflow-x:auto; max-width:100%; -webkit-overflow-scrolling:touch; margin:1rem 0}
.raci-table{border-collapse:collapse; width:100%; min-width:480px; background:var(--white)}
.raci-table th,.raci-table td{
  border:1px solid var(--mist); padding:.35rem; text-align:center; vertical-align:middle;
  font-size:.82rem;
}
.raci-table th{background:var(--deep); color:var(--sand); font-weight:700}
.raci-table th.row-head,.raci-table td.row-head{
  text-align:start; min-width:140px; max-width:220px; background:var(--card); color:var(--ink); font-weight:600;
}
.raci-table input.cell-label{
  width:100%; border:0; background:transparent; font:inherit; font-weight:600; color:var(--ink); padding:.25rem;
}
.raci-cell{
  width:48px; height:40px; border:0; border-radius:8px; cursor:pointer; font-weight:800;
  background:var(--sand); color:var(--deep); font-size:.9rem;
}
.raci-cell[data-v="R"]{background:#0E8C74; color:#fff}
.raci-cell[data-v="A"]{background:#0B3B3C; color:#5FD3B0}
.raci-cell[data-v="C"]{background:#F2A93B; color:#0B3B3C}
.raci-cell[data-v="I"]{background:#E3ECEA; color:#16292A}
.raci-cell.warn{outline:2px solid #C45C26; outline-offset:1px}

/* Decision card print preview */
.print-card{
  border:1px solid var(--mist); border-radius:12px; background:#fff; padding:1.1rem 1.2rem; margin-top:1rem;
}
.print-card h2{font-size:1.15rem; color:var(--deep); margin-bottom:.35rem}
.print-card .meta{font-size:.8rem; color:var(--muted); margin-bottom:.8rem}
.print-card h3{font-size:.88rem; color:var(--emer-ink); margin:0.8rem 0 .3rem; text-transform:none}
.print-card p,.print-card li{font-size:.9rem; line-height:1.45}
.print-card ul{padding-inline-start:1.2rem; margin:.2rem 0}

/* OKR tree */
.okr-tree{display:grid; gap:.75rem}
.okr-node{
  border:1px solid var(--mist); border-radius:12px; background:var(--white); padding:.9rem 1rem;
  border-inline-start:4px solid var(--emer);
}
.okr-node.goal{border-inline-start-color:var(--amber); background:var(--card)}
.okr-node.obj{border-inline-start-color:var(--deep); margin-inline-start:.5rem}
.okr-node.kr{border-inline-start-color:var(--mint); margin-inline-start:1rem}
.okr-node.init{border-inline-start-color:#8AABB0; margin-inline-start:1.5rem}
.okr-node .node-type{font-size:.7rem; font-weight:800; letter-spacing:.04em; color:var(--emer-ink); text-transform:uppercase}
.okr-children{display:grid; gap:.6rem; margin-top:.65rem}
.mini-btns{display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.45rem}
.btn-sm{padding:.35rem .65rem; font-size:.78rem; border-radius:8px}

.toolbar{display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; align-items:center}
.level-pills{display:flex; flex-wrap:wrap; gap:.35rem; margin:.5rem 0 1rem}
.level-pills span{
  font-size:.72rem; font-weight:700; padding:.25rem .55rem; border-radius:999px; color:#fff;
}
.level-pills .l1{background:#C45C26}.level-pills .l2{background:var(--amber); color:var(--deep)}
.level-pills .l3{background:#2F7D4F}.level-pills .l4{background:var(--emer)}.level-pills .l5{background:var(--deep)}

@media print{
  .toolbar,.mini-btns,.field input,.field textarea,.no-print{display:none!important}
  .print-only{display:block!important}
  .raci-table{min-width:0}
  .okr-node{break-inside:avoid}
}

/* ---- Pulse V5 brand additions (2026-10-26) ---- */
.lang-toggle:hover{color:var(--sand)}
.hero-flow{
  margin:-1.25rem calc(50% - 50vw) 2rem; height:120px; overflow:hidden;
}
.hero-flow .pulse-flow{height:100%}
@media(max-width:600px){ .hero-flow{height:72px; margin-bottom:1.5rem} }
.site-footer{padding-top:0}
.site-footer .pulse-flow--dark{height:40px; margin:0 -1.25rem 1.1rem; width:calc(100% + 2.5rem)}
.site-footer .tagline{color:var(--mint); font-weight:600; letter-spacing:.01em; margin:.15rem 0 .35rem}
html[lang="en"] .site-footer .tagline{font-family:var(--font-en-head)}
.sr-only{position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}
.signup{
  margin-top:2.25rem; background:var(--white); border:1px solid var(--mist); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:1.4rem 1.35rem; border-block-start:4px solid var(--emer);
}
.signup h2{font-size:1.15rem; color:var(--deep); margin-bottom:.35rem}
.signup p{color:var(--muted); font-size:.92rem}
.signup-form{display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.9rem}
.signup-form input[type=email]{
  flex:1 1 220px; min-width:0; border:1.5px solid var(--mist); border-radius:10px; padding:.65rem .8rem;
  background:var(--white); color:var(--ink); text-align:start; font-family:var(--font-en);
}
html[dir="rtl"] .signup-form input[type=email]{text-align:right}
.signup-form input[type=email]:focus{outline:2px solid var(--mint); outline-offset:1px; border-color:var(--emer)}
.signup-form .btn{flex:0 0 auto}
.signup .signup-note{font-size:.75rem; margin-top:.6rem}
@media print{ .pulse-flow,.hero-flow,.signup{display:none!important} }
/* secondary-language card subtitle follows the page's alignment */
html[dir="ltr"] .tool-card h2 .ar-title{text-align:left}
html[dir="rtl"] .tool-card h2 .ar-title{text-align:right}

/* Pulse services (home, #services) — 2026-10-26 */
.services{
  margin-top:2.25rem; background:var(--deep); color:var(--sand); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:1.6rem 1.35rem; scroll-margin-top:1rem;
}
.services .eyebrow{
  display:inline-block; font-size:.75rem; font-weight:700; letter-spacing:.04em; color:var(--mint); margin-bottom:.35rem;
}
.services h2{font-size:1.35rem; color:var(--sand); margin-bottom:.4rem}
.services-lead{color:rgba(246,243,236,.88); font-size:.95rem; max-width:40rem}
.service-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap:.85rem; margin-top:1.1rem;
}
.service-card{
  background:rgba(246,243,236,.06); border:1px solid rgba(95,211,176,.35); border-radius:12px;
  border-block-start:3px solid var(--mint); padding:1rem 1.05rem; min-width:0;
}
.service-card h3{font-size:1.02rem; color:var(--mint); margin-bottom:.35rem}
.service-card p{font-size:.88rem; color:rgba(246,243,236,.85); line-height:1.6}
.services-extra{font-size:.85rem; color:rgba(246,243,236,.8); margin-top:1rem}
.services-action{display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; margin-top:1rem}
.services-action .btn{font-size:1rem; padding:.8rem 1.4rem}
.services-action .btn:focus-visible{outline:2px solid var(--mint); outline-offset:2px}
.services-hint{font-size:.78rem; color:rgba(246,243,236,.7)}
html[lang="en"] .services h3{font-family:var(--font-en-head)}
@media(max-width:480px){ .services{padding:1.3rem 1rem} .services-action .btn{width:100%} }
@media print{ .services{background:#fff; color:#000; border:1px solid #ccc} .services h2,.services h3,.services p{color:#000} }

/* ---- Home colour rhythm, Pulse V5 palette (2026-10-26) ----
   Full-bleed bands: Deep Teal hero + Pulse Flow -> white tools -> Deep Teal services -> Sand newsletter -> Deep footer.
   Accents rotate Mint / Amber / Emerald. Small text on light uses --emer-ink (#0A7A64) for WCAG AA. */
main.home{max-width:none; padding:0; margin:0}
.band{width:100%; padding:3rem 1.25rem}
.band-inner{max-width:min(1040px, 100%); margin-inline:auto}

/* Hero: Deep Teal with an emerald glow, white headline, amber eyebrow, Pulse Flow edge */
.band-hero{
  position:relative; overflow:hidden; padding:3.25rem 1.25rem 0; color:#fff;
  background:
    radial-gradient(60% 90% at 85% 0%, rgba(14,140,116,.55), transparent 70%),
    radial-gradient(45% 70% at 10% 100%, rgba(95,211,176,.18), transparent 70%),
    var(--deep);
}
.band-hero .hub-hero{margin-bottom:0; position:relative; z-index:1}
.band-hero .hub-hero h1{color:#fff; font-size:clamp(1.75rem,4.4vw,2.6rem); max-width:44rem; margin-inline:auto; margin-bottom:.75rem}
.band-hero .hub-hero h1::after{
  content:""; display:block; width:72px; height:4px; border-radius:4px; margin:.9rem auto 0;
  background:linear-gradient(to right, var(--mint), var(--amber));
}
.band-hero .hub-hero p{color:rgba(255,255,255,.86); font-size:1.05rem; max-width:38rem}
.band-hero .hub-hero .eyebrow{background:var(--amber); color:var(--deep); box-shadow:0 0 0 4px rgba(242,169,59,.18)}
.band-hero .hero-flow{margin:2rem -1.25rem 0; height:130px; position:relative}
.band-hero .hero-flow .pulse-flow--primary{opacity:1}
.band-hero .hero-flow::after{ /* white lip so the wave hands over cleanly to the tools band */
  content:""; position:absolute; inset:auto 0 0 0; height:14px; background:var(--white);
  clip-path:ellipse(75% 100% at 50% 100%);
}
@media(max-width:600px){ .band-hero{padding-top:2.25rem} .band-hero .hero-flow{height:70px; margin-top:1.5rem} }

/* Tools: white band, cards with rotating accent top border + icon tile */
.band-tools{background:var(--white); padding-top:2.5rem; padding-bottom:3.25rem}
.band-tools .tool-grid{gap:1.15rem}
.band-tools .tool-card{
  --acc:var(--mint); --acc-soft:rgba(95,211,176,.18); --acc-ink:var(--deep);
  background:var(--white); border:1px solid var(--mist); border-block-start:4px solid var(--acc);
  box-shadow:0 10px 30px rgba(11,59,60,.07);
}
.band-tools .tool-card:nth-child(3n+2){--acc:var(--amber); --acc-soft:rgba(242,169,59,.18); --acc-ink:#7A4E00}
.band-tools .tool-card:nth-child(3n){--acc:var(--emer); --acc-soft:rgba(14,140,116,.12); --acc-ink:var(--emer-ink)}
.band-tools .tool-card:hover{border-color:var(--mist); border-block-start-color:var(--acc); transform:translateY(-3px); box-shadow:0 14px 34px rgba(11,59,60,.12)}
.band-tools .tool-card.external{background:var(--sand); border-style:solid; border-block-start-style:dashed}
.band-tools .tool-card.external:hover{border-block-start-style:solid}
.card-top{display:flex; align-items:center; justify-content:space-between; gap:.5rem}
.tool-icon{
  width:42px; height:42px; border-radius:12px; display:grid; place-items:center; flex:none;
  background:var(--acc-soft); color:var(--acc-ink);
}
.tool-card .card-top .badge{align-self:center}
.tool-card .badge.live{background:var(--emer-ink); color:#fff}
.tool-card .badge.ext{color:var(--deep); background:var(--white); border:1.5px solid var(--amber)}
.tool-card h2 .ar-title{color:var(--emer-ink)}
.tool-card.live .cta{color:var(--emer-ink)}
.tool-card.live .cta:hover{color:var(--deep)}

/* Services: Deep Teal band, white text, mint/amber accents, amber CTA */
.band-services.services{
  margin-top:0; border-radius:0; box-shadow:none; padding:3.25rem 1.25rem; color:#fff; scroll-margin-top:0;
  background:
    radial-gradient(50% 80% at 0% 0%, rgba(95,211,176,.12), transparent 70%),
    var(--deep);
}
.band-services .eyebrow{color:var(--amber); font-size:.8rem}
.band-services h2{color:#fff; font-size:clamp(1.4rem,3vw,1.8rem)}
.band-services .services-lead{color:rgba(255,255,255,.88); font-size:1rem}
.band-services .service-grid{gap:1rem; margin-top:1.5rem}
.band-services .service-card{
  background:rgba(255,255,255,.06); border:1px solid rgba(95,211,176,.28); border-block-start:4px solid var(--mint);
  border-radius:14px; padding:1.15rem 1.15rem 1.2rem;
}
.band-services .service-card:nth-child(2){border-block-start-color:var(--amber)}
.band-services .service-card:nth-child(3){border-block-start-color:var(--emer)}
.service-num{display:inline-block; font-weight:700; font-size:.8rem; letter-spacing:.06em; color:var(--deep);
  background:var(--mint); border-radius:999px; padding:.12rem .55rem; margin-bottom:.55rem}
.band-services .service-card:nth-child(2) .service-num{background:var(--amber)}
.band-services .service-card:nth-child(3) .service-num{background:#fff}
.band-services .service-card h3{color:#fff; font-size:1.08rem}
.band-services .service-card p{color:rgba(255,255,255,.84)}
.band-services .services-extra{color:rgba(255,255,255,.82); margin-top:1.25rem;
  border-inline-start:3px solid var(--amber); padding-inline-start:.8rem}
.band-services .services-hint{color:rgba(255,255,255,.72)}
.band-services .btn-amber:hover{filter:none; background:#F7BC5E}

/* Newsletter: Sand band, white card with amber top edge, emerald (AA) button */
.band-signup{background:var(--sand); padding:3rem 1.25rem 3.5rem}
.band-signup .signup{
  margin-top:0; max-width:min(720px, 100%); background:var(--white); border:1px solid #E7E1D3;
  border-block-start:4px solid var(--amber); box-shadow:0 10px 30px rgba(11,59,60,.07); text-align:center;
}
.band-signup .signup h2{color:var(--deep); font-size:1.3rem}
.band-signup .signup p{color:var(--muted)}
.band-signup .signup-form{justify-content:center; max-width:520px; margin-inline:auto; margin-top:1rem}
.band-signup .signup .signup-note{color:var(--muted)}
.band-signup .btn-primary:focus-visible{outline:2px solid var(--amber); outline-offset:2px}
.site-footer .pulse-flow--dark{margin-top:0}
@media(max-width:480px){
  .band{padding:2.25rem 1rem}
  .band-hero{padding:2rem 1rem 0}
  .band-hero .hero-flow{margin-inline:-1rem}
  .band-services.services{padding:2.25rem 1rem}
  .band-signup .signup{padding:1.2rem 1rem}
  .band-signup .signup-form .btn{width:100%}
}
@media print{
  .band-hero{background:#fff; color:#000} .band-hero .hub-hero h1,.band-hero .hub-hero p{color:#000}
  .band-services.services{background:#fff}
}

/* ---- Decision Tree & Expected Value v2 (/decision-tree/, 2026-10-27) ----
   Pulse V5: Deep Teal structure, Emerald = best path, Mint accents, Amber = attention / invalid,
   --emer-ink (#0A7A64) for small text. Five-stage "Pulse method" rail, no numbered card grid. */
.pdt-skip{position:absolute; inset-inline-start:.75rem; top:-3rem; z-index:50; background:var(--amber); color:var(--deep); padding:.45rem .8rem; border-radius:8px; font-weight:700; text-decoration:none}
.pdt-skip:focus{top:.6rem}
.pdt :focus-visible{outline:2px solid var(--amber); outline-offset:2px}
.pdt h2,.pdt h3{color:var(--deep)}
html[lang="en"] .pdt h2,html[lang="en"] .pdt h3,html[lang="en"] .pdt-eyebrow{font-family:var(--font-en-head)}
.pdt-hero{position:relative; overflow:hidden; border-radius:20px; color:#fff; padding:1.6rem 1.4rem 1.2rem; margin-bottom:1rem;
  background:linear-gradient(160deg, var(--deep) 0%, #0D4A48 55%, #0E5F55 100%)}
.pdt-hero::before{content:""; position:absolute; inset:auto -10% -40% auto; width:60%; height:120%; border-radius:50%;
  background:radial-gradient(closest-side, rgba(95,211,176,.22), transparent); pointer-events:none}
.pdt-eyebrow{color:var(--amber); font-weight:700; font-size:.82rem; margin-bottom:.35rem}
.pdt-hero h1{color:#fff; font-size:clamp(1.55rem,4vw,2.3rem); line-height:1.25}
.pdt-hero h1 .ar-title{display:block; font-size:.5em; color:var(--mint); font-weight:600; margin-top:.25rem}
html[dir="ltr"] .pdt-hero h1 .ar-title{text-align:left} html[dir="rtl"] .pdt-hero h1 .ar-title{text-align:right}
.pdt-lead{color:rgba(255,255,255,.88); max-width:46rem; margin:.6rem 0 1.1rem}
.pdt-method{position:relative; margin:0 0 .8rem}
.pdt-method-wave{position:absolute; inset-inline:0; top:2px; width:100%; height:44px; z-index:0}
.pdt-method-wave path{fill:none; stroke:var(--mint); stroke-width:2.2; opacity:.55; vector-effect:non-scaling-stroke}
html[dir="rtl"] .pdt-method-wave{transform:scaleX(-1)}
.pdt-method ol{position:relative; z-index:1; list-style:none; display:grid; grid-template-columns:repeat(5,1fr); gap:.4rem}
.pdt-method a{display:flex; flex-direction:column; align-items:center; text-align:center; gap:.35rem; color:#fff; text-decoration:none; padding:.2rem .15rem; border-radius:10px}
.pdt-method a:hover .pdt-dot{background:var(--amber); color:var(--deep)}
.pdt-method li:nth-child(odd) a{padding-top:0} .pdt-method li:nth-child(even) a{padding-top:12px}
.pdt-dot{width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--emer); color:#fff; font-weight:700; border:3px solid rgba(255,255,255,.9); box-shadow:0 0 0 4px rgba(95,211,176,.18)}
.pdt-m-t{font-size:.8rem; font-weight:600; line-height:1.3; color:rgba(255,255,255,.92)}
.pdt-hero-meta{font-size:.8rem; color:var(--mint); margin-top:.3rem}
@media(max-width:640px){
  .pdt-hero{padding:1.25rem 1rem 1rem}
  .pdt-method-wave{display:none}
  .pdt-method ol{grid-template-columns:1fr; gap:0; border-inline-start:2px solid rgba(95,211,176,.5); margin-inline-start:16px}
  .pdt-method a,.pdt-method li:nth-child(even) a{flex-direction:row; text-align:start; padding:.25rem 0; gap:.6rem; margin-inline-start:-17px}
  .pdt-dot{width:30px; height:30px; flex:none; font-size:.85rem}
  .pdt-m-t{font-size:.88rem}
}
.pdt-bar{display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; margin:0 0 1rem}
.pdt-save{font-size:.78rem; color:var(--muted)}
/* stages: a vertical rail ties the five stages together */
.pdt-stage{position:relative; background:var(--white); border:1px solid var(--mist); border-radius:var(--radius); box-shadow:var(--shadow);
  padding:1.2rem 1.2rem 1.25rem; margin-bottom:1.1rem; scroll-margin-top:1rem}
.pdt-stage:not(#stage-5)::after{content:""; position:absolute; inset-inline-start:calc(1.2rem + 17px); bottom:-1.15rem; width:3px; height:1.1rem; background:var(--mint)}
.pdt-stage-head{display:flex; gap:.85rem; align-items:flex-start; margin-bottom:.9rem}
.pdt-stage-no{flex:none; width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:var(--deep); color:var(--mint); font-weight:700; font-size:1.05rem}
#stage-5 .pdt-stage-no{background:var(--amber); color:var(--deep)}
.pdt-kicker{font-size:.74rem; font-weight:700; color:var(--emer-ink); letter-spacing:.02em}
.pdt-stage h2{font-size:1.18rem; line-height:1.3}
.pdt-why{color:var(--muted); font-size:.92rem; margin-top:.2rem; max-width:48rem}
.pdt-h3{font-size:1rem; margin:1.2rem 0 .5rem}
.pdt-small{font-size:.82rem; color:var(--muted); margin-top:.5rem}
.pdt-frame{display:grid; gap:.4rem 1rem}
@media(min-width:760px){ .pdt-frame{grid-template-columns:1.6fr 1fr .8fr; align-items:start} }
.pdt-mode{border:1px solid var(--mist); border-radius:12px; padding:.35rem .8rem .55rem; display:grid; gap:.15rem; margin-bottom:.85rem}
.pdt-mode legend{font-size:.82rem; font-weight:700; color:var(--deep); padding:0 .3rem}
.pdt-mode label{display:flex; align-items:center; gap:.5rem; cursor:pointer; min-height:34px; font-size:.9rem}
.pdt-mode small{color:var(--muted)}
.pdt-mode input{accent-color:var(--emer); width:18px; height:18px; flex:none}
.pdt select{width:100%; padding:.6rem .7rem; border:1.5px solid var(--mist); border-radius:10px; background:#fff; color:var(--ink)}
/* stage 2 map */
.pdt-map{display:grid; gap:.8rem; margin-bottom:.8rem}
@media(min-width:720px){ .pdt-map.n2,.pdt-map.n4{grid-template-columns:1fr 1fr} .pdt-map.n3{grid-template-columns:repeat(3,1fr)} }
.pdt-opt{border:1.5px solid var(--mist); border-radius:12px; padding:.75rem .8rem .6rem; min-width:0; background:var(--card)}
.pdt-opt-head{display:flex; align-items:flex-end; gap:.5rem}
.pdt-opt-head .field{flex:1; margin-bottom:.5rem; min-width:0}
.pdt-tag{display:inline-grid; place-items:center; flex:none; width:26px; height:26px; border-radius:8px; background:var(--deep); color:var(--mint); font-weight:700; font-size:.8rem; vertical-align:middle}
.pdt-opt-head .pdt-tag{margin-bottom:.95rem}
.pdt-outs{list-style:none; display:grid; gap:.35rem; position:relative; padding-inline-start:.9rem; border-inline-start:2px dashed var(--mint); margin-inline-start:12px}
.pdt-outs li{display:flex; align-items:center; gap:.4rem}
.pdt-oc{flex:none; width:10px; height:10px; border-radius:50%; border:2px solid var(--emer); background:#fff; margin-inline-start:-1.27rem}
.pdt-outs input,.pdt-qtab input{width:100%; min-width:0; padding:.5rem .6rem; border:1.5px solid var(--mist); border-radius:9px; background:#fff; color:var(--ink); font-size:.9rem}
.pdt-x{flex:none; width:32px; height:32px; border-radius:8px; border:1.5px solid var(--mist); background:#fff; color:var(--muted); font-size:1.1rem; line-height:1; cursor:pointer}
.pdt-x:hover{border-color:#C47A0F; color:#7A4300}
.pdt-opt-head .pdt-x{margin-bottom:.5rem}
.pdt-link{background:none; border:0; color:var(--emer-ink); text-decoration:underline; font-size:.82rem; font-weight:600; cursor:pointer; padding:.35rem .1rem; min-height:32px}
/* stage 3 quantify */
.pdt-quant{display:grid; gap:.8rem}
@media(min-width:720px){ .pdt-quant.n2,.pdt-quant.n4{grid-template-columns:1fr 1fr} .pdt-quant.n3{grid-template-columns:repeat(3,1fr)} }
.pdt-qt{border:1.5px solid var(--mist); border-block-start:4px solid var(--deep); border-radius:12px; padding:.7rem .75rem .5rem; min-width:0}
.pdt-qt.best{border-color:var(--emer); border-block-start-color:var(--emer); box-shadow:0 0 0 3px rgba(14,140,116,.12)}
.pdt-qt.invalid{border-color:#E7B66A; border-block-start-color:var(--amber)}
.pdt-qt-head{display:flex; gap:.45rem; align-items:center; font-weight:700; color:var(--deep); margin-bottom:.4rem; min-width:0}
.pdt-qt-name{overflow-wrap:anywhere}
.pdt-qtab{width:100%; border-collapse:collapse; table-layout:fixed}
.pdt-qtab th,.pdt-qtab td{padding:.25rem .15rem; text-align:start; vertical-align:middle}
.pdt-qtab thead th{font-size:.72rem; color:var(--muted); font-weight:700}
.pdt-qtab thead th:nth-child(1){width:38%} .pdt-qtab thead th:nth-child(3){width:26%}
.pdt-qtab tbody th{font-size:.82rem; font-weight:600; color:var(--ink); overflow-wrap:anywhere; line-height:1.3}
.pdt-qtab input{padding:.45rem .45rem; text-align:left}
.pdt-qtab input[aria-invalid="true"]{border-color:#C47A0F; background:#FFF8EC}
.pdt-qt-foot{display:flex; justify-content:space-between; align-items:center; gap:.4rem; flex-wrap:wrap; margin-top:.35rem}
.pdt-sum{font-size:.8rem; font-weight:700; padding:.18rem .6rem; border-radius:999px}
.pdt-sum.ok{background:#D6F3E9; color:#0A6B58}
.pdt-sum.bad{background:#FCEBCD; color:#5A3B00}
.pdt-err{font-size:.8rem; color:#7A4300; font-weight:600; margin-top:.25rem}
.pdt-err:empty{display:none}
.pdt-tvm{margin-top:.9rem; font-size:.86rem; background:var(--sand); border-radius:10px; padding:.65rem .85rem; border-inline-start:4px solid var(--mint)}
/* stage 4 */
.pdt-formula{font-size:.86rem; color:var(--deep); font-weight:600; background:var(--sand); border-radius:10px; padding:.5rem .8rem; display:flex; flex-wrap:wrap; gap:.3rem .7rem; justify-content:center}
.pdt-legend{display:flex; flex-wrap:wrap; gap:.35rem 1rem; font-size:.78rem; color:var(--muted); margin:.6rem 0 .45rem}
.pdt-legend > span{display:inline-flex; align-items:center; gap:.35rem}
.pdt-legend i{display:inline-block; width:12px; height:12px}
.pdt-legend .lg-dec{background:var(--deep); border-radius:2px}
.pdt-legend .lg-chance{background:#fff; border:2.5px solid var(--deep); border-radius:50%}
.pdt-legend .lg-end{width:0; height:0; border-block:6px solid transparent; border-inline-start:11px solid var(--deep)}
.pdt-legend .lg-best{height:4px; width:20px; background:var(--emer); border-radius:2px}
.pdt-tree,.pdt-chart{margin:0; background:#fff; border:1px solid var(--mist); border-radius:12px; padding:.4rem 0; overflow:hidden}
.pdt-svg{display:block; max-width:100%; height:auto; margin-inline:auto}
.pdt-svg text{fill:var(--ink); font-family:inherit}
.pdt-svg .num{font-family:var(--font-num); font-variant-numeric:tabular-nums}
.pdt-svg .pdt-col{fill:var(--muted); font-weight:700}
.pdt-svg .pdt-rule{stroke:var(--mist)}
.pdt-svg .pdt-br{fill:none; stroke:#A9BDBB; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round}
.pdt-svg .pdt-br.thin{stroke-width:1.8}
.pdt-svg .pdt-br.best{stroke:var(--emer); stroke-width:3.6}
.pdt-svg .pdt-br.thin.best{stroke-width:2.8}
.pdt-svg .pdt-br.bad{stroke:#D9962E; stroke-dasharray:5 4}
.pdt-svg .pdt-dec{fill:var(--deep)}
.pdt-svg .pdt-chance{fill:#fff; stroke:var(--deep); stroke-width:2.5}
.pdt-svg .pdt-chance.best{fill:var(--mint); stroke:var(--emer)}
.pdt-svg .pdt-chance.bad{stroke:#D9962E}
.pdt-svg .pdt-end{fill:#7E9694} .pdt-svg .pdt-end.best{fill:var(--emer)} .pdt-svg .pdt-end.bad{fill:#D9962E}
.pdt-svg .pdt-alt{font-weight:700; fill:var(--deep)} .pdt-svg .pdt-alt.best{fill:var(--emer-ink)}
.pdt-svg .pdt-emv{font-weight:700; fill:var(--muted)} .pdt-svg .pdt-emv.best{fill:var(--emer-ink)} .pdt-svg .pdt-emv.bad,.pdt-svg .pdt-prob.bad{fill:#8A4B00}
.pdt-svg .pdt-prob{fill:var(--emer-ink); font-weight:600}
.pdt-svg .pdt-out{fill:var(--muted)}
.pdt-svg .pdt-val{font-weight:700; fill:var(--deep)} .pdt-svg .pdt-val.best{fill:var(--emer-ink)}
.pdt-risk-wrap{min-width:0}
.pdt-table{width:100%; border-collapse:collapse; font-size:.86rem}
.pdt-table th,.pdt-table td{padding:.5rem .45rem; border-bottom:1px solid var(--mist); text-align:start; vertical-align:middle}
.pdt-table thead th{font-size:.74rem; color:var(--muted); font-weight:700; background:var(--sand)}
.pdt-table td{white-space:nowrap}
.pdt-table tbody th{font-weight:700; color:var(--deep)}
.pdt-table tr.best{background:#EAF7F2}
.pdt-table tr.best td{color:var(--emer-ink); font-weight:700}
.pdt-table tr.tight{background:#FFF6E6}
.pdt-badge{display:inline-block; font-size:.68rem; font-weight:700; border-radius:999px; padding:.1rem .5rem; background:var(--emer-ink); color:#fff; vertical-align:middle; white-space:nowrap}
.pdt-badge.amber{background:var(--amber); color:var(--deep)}
@media(max-width:640px){
  .pdt-table thead{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0)}
  .pdt-table, .pdt-table tbody, .pdt-table tr{display:block; width:100%}
  .pdt-table tr{border:1px solid var(--mist); border-radius:10px; margin-bottom:.55rem; padding:.35rem .6rem}
  .pdt-table tbody th{display:block; border:0; padding:.3rem 0 .4rem}
  .pdt-table td{display:flex; justify-content:space-between; gap:.6rem; border:0; padding:.2rem 0; white-space:normal}
  .pdt-table td::before{content:attr(data-label); color:var(--muted); font-weight:600; font-size:.8rem}
}
/* stage 5 */
.pdt-sens-controls{display:grid; gap:.2rem 1rem}
@media(min-width:720px){ .pdt-sens-controls{grid-template-columns:1.2fr 1fr; align-items:start} }
.pdt input[type="range"]{width:100%; accent-color:var(--emer); min-height:32px}
.pdt-sens-controls output{font-weight:700; color:var(--emer-ink)}
.pdt-sens-read{background:var(--sand); border-radius:10px; padding:.7rem .9rem; font-size:.9rem; margin-bottom:.6rem}
.pdt-sens-read p + p{margin-top:.3rem}
.pdt-sens-read.warn-box{background:#FCEBCD}
.pdt-chart-svg .pdt-grid{stroke:var(--mist)} .pdt-chart-svg .pdt-zero{stroke:#9DB3B1; stroke-dasharray:2 3}
.pdt-chart-svg .pdt-axis{fill:var(--muted)} .pdt-chart-svg .pdt-axis.rival{fill:#7A4E00; font-weight:700}
.pdt-chart-svg .pdt-line{stroke:var(--emer); stroke-width:3}
.pdt-chart-svg .pdt-rival{stroke:var(--amber); stroke-width:2.5; stroke-dasharray:7 5}
.pdt-chart-svg .pdt-be{stroke:var(--deep); stroke-dasharray:3 3}
.pdt-chart-svg .pdt-be-pt{fill:var(--amber); stroke:var(--deep); stroke-width:1.5}
.pdt-chart-svg .pdt-now{fill:var(--deep)}
.pdt-chart-svg .pdt-whatif{fill:rgba(95,211,176,.55); stroke:var(--emer); stroke-width:2}
.pdt-chart-leg{display:flex; flex-wrap:wrap; gap:.3rem .9rem; font-size:.76rem; color:var(--muted); padding:.2rem .7rem .2rem}
.pdt-chart-leg span{display:inline-flex; align-items:center; gap:.3rem}
.pdt-chart-leg i{display:inline-block; width:16px; height:3px; background:var(--emer)}
.pdt-chart-leg .c-rival{background:repeating-linear-gradient(90deg,var(--amber) 0 5px,transparent 5px 8px)}
.pdt-chart-leg .c-now{width:9px; height:9px; border-radius:50%; background:var(--deep)}
.pdt-chart-leg .c-be{width:9px; height:9px; background:var(--amber); transform:rotate(45deg)}
.pdt-chart-leg .c-whatif{width:11px; height:11px; border-radius:50%; background:rgba(95,211,176,.55); border:2px solid var(--emer)}
.pdt-evpi{margin-top:1.2rem; border:1px dashed var(--mint); border-radius:12px; padding:.6rem .85rem}
.pdt-switch{display:flex; align-items:center; gap:.55rem; font-weight:700; color:var(--deep); cursor:pointer; min-height:34px; font-size:.92rem}
.pdt-switch input{accent-color:var(--emer); width:20px; height:20px; flex:none}
.pdt-evpi-body{margin-top:.5rem; font-size:.9rem}
.pdt-evpi-dl{display:grid; gap:.5rem; grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.pdt-evpi-dl div{background:var(--sand); border-radius:10px; padding:.55rem .7rem}
.pdt-evpi-dl dt{font-size:.76rem; color:var(--muted)}
.pdt-evpi-dl dd{font-weight:700; color:var(--deep); font-size:1.05rem}
.pdt-evpi-dl .hl{background:var(--deep)} .pdt-evpi-dl .hl dt{color:var(--mint)} .pdt-evpi-dl .hl dd{color:#fff}
/* Pulse reading: the signature result box */
.pdt-reading{position:relative; margin-top:1.3rem; border-radius:16px; padding:1.1rem 1.15rem 1rem; color:#fff;
  background:linear-gradient(150deg, var(--deep), #0D5450); border-inline-start:6px solid var(--amber)}
.pdt-reading-wave{width:96px; height:20px; display:block; margin-bottom:.2rem}
.pdt-reading-wave path{fill:none; stroke:var(--mint); stroke-width:2.4; stroke-linejoin:round; stroke-linecap:round}
html[dir="rtl"] .pdt-reading-wave{transform:scaleX(-1)}
.pdt .pdt-reading h3{color:var(--amber); font-size:1.05rem; margin-bottom:.35rem}
.pdt-reading-main{font-size:.98rem; line-height:1.65}
.pdt-reading-change{margin-top:.6rem; font-size:.92rem; background:rgba(255,255,255,.08); border-radius:10px; padding:.55rem .75rem}
.pdt-reading-change strong{color:var(--mint)}
.pdt-reading-tag{margin-top:.6rem; font-size:.78rem; color:var(--mint); opacity:.9}
.pdt-reading.muted{background:var(--deep); opacity:.92}
.pdt-actions{display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; margin-top:1rem}
.pdt-limits{background:#FFF6E6; border-inline-start:4px solid var(--amber); border-radius:12px; padding:.9rem 1.1rem; margin-bottom:1.1rem}
.pdt-limits h2{font-size:1rem; color:#5A3B00; margin-bottom:.35rem}
.pdt-limits ul{padding-inline-start:1.1rem; display:grid; gap:.25rem; font-size:.88rem}
.pdt-limits li::marker{color:#C47A0F}
@media(max-width:480px){ .pdt-stage{padding:1rem .85rem} .pdt-stage:not(#stage-5)::after{inset-inline-start:calc(.85rem + 17px)} .pdt-stage-head{gap:.6rem} }
@media print{
  .pdt-skip,.pdt-bar,.pdt-method,#stage-2,#stage-3 .pdt-qt-foot button,.pdt-sens-controls,.pdt-chart,.pdt-evpi label input,.pdt-hero-meta{display:none!important}
  .pdt-hero,.pdt-reading{background:#fff!important; color:#000; border:1px solid #999}
  .pdt-hero h1,.pdt-lead,.pdt-reading-main,.pdt-reading-change,.pdt .pdt-reading h3{color:#000!important}
  .pdt-stage{box-shadow:none; break-inside:avoid-page} .pdt-tree{break-inside:avoid} .pdt-stage::after{display:none}
}

/* ---- Business Process Card & Flow Builder (/process-builder/, 2026-10-27) ----
   Reuses the pdt- stage frame. Lanes = roles, Emerald = critical path, Amber = hand-off / attention.
   Print renders only #ppb-doc: an A4 portrait document (card, flow, hand-off agreement). */
.ppb-sample-note{font-size:.82rem; color:#5A3B00; background:#FFF6E6; border-inline-start:4px solid var(--amber); border-radius:10px; padding:.5rem .8rem; margin:-.4rem 0 1rem}
.ppb-sample-note[hidden]{display:none}
.ppb-grid{display:grid; gap:0 1rem}
@media(min-width:760px){ .ppb-grid{grid-template-columns:repeat(3,minmax(0,1fr))} .ppb-span2{grid-column:span 2} .ppb-span3{grid-column:1/-1} }
.ppb .field select{width:100%}
.ppb input[aria-invalid="true"],.ppb select[aria-invalid="true"]{border-color:#C47A0F!important; background:#FFF8EC}
/* roles */
.ppb-roles{list-style:none; display:grid; gap:.45rem; margin-bottom:.6rem}
@media(min-width:720px){ .ppb-roles{grid-template-columns:1fr 1fr} }
.ppb-roles li{display:flex; align-items:center; gap:.45rem; min-width:0}
.ppb-roles input,.ppb-ctl-row input,.ppb-step-card input,.ppb-row input{width:100%; min-width:0; padding:.5rem .6rem; border:1.5px solid var(--mist); border-radius:9px; background:#fff; color:var(--ink); font-size:.9rem}
.ppb-lane-dot{flex:none; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; background:var(--sand); border:2px solid var(--deep); color:var(--deep); font-weight:700; font-size:.78rem}
/* steps */
.ppb-steps{list-style:none; display:grid; gap:.7rem; margin-bottom:.6rem}
.ppb-step-card{border:1.5px solid var(--mist); border-inline-start:4px solid var(--deep); border-radius:12px; padding:.7rem .8rem .4rem; background:var(--card); min-width:0}
.ppb-step-card.par{border-inline-start-color:var(--mint); margin-inline-start:1.2rem}
.ppb-step-top{display:flex; align-items:flex-end; gap:.5rem}
.ppb-step-top .pdt-tag{margin-bottom:1.05rem}
.ppb-sname{flex:1; min-width:0}
.ppb-moves{display:flex; gap:.3rem; margin-bottom:.85rem}
.ppb-moves .pdt-x:disabled{opacity:.35; cursor:default}
.ppb-step-grid{display:grid; gap:0 .7rem; grid-template-columns:1fr 1fr}
.ppb-step-grid .field{margin-bottom:.55rem; min-width:0}
.ppb-step-grid .field:first-child{grid-column:1/-1}
@media(min-width:820px){ .ppb-step-grid{grid-template-columns:1.1fr 1.2fr 1.2fr .62fr .62fr} .ppb-step-grid .field:first-child{grid-column:auto} }
.ppb-num-f input{text-align:left}
.ppb-par{display:flex; align-items:center; gap:.45rem; font-size:.84rem; color:var(--muted); cursor:pointer; min-height:32px}
.ppb-par input{accent-color:var(--emer); width:18px; height:18px; flex:none}
/* controls, risks, measures */
.ppb-controls{display:grid; gap:.45rem}
.ppb-ctl-row{display:grid; gap:.3rem .7rem; align-items:center}
@media(min-width:720px){ .ppb-ctl-row{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr)} }
.ppb-ctl-row label{display:flex; align-items:center; gap:.45rem; font-size:.86rem; font-weight:600; color:var(--deep); min-width:0}
.ppb-ctl-name{overflow-wrap:anywhere}
.ppb-rows{display:grid; gap:.55rem; margin-bottom:.6rem}
.ppb-row{display:grid; gap:0 .7rem; align-items:end; border:1px solid var(--mist); border-radius:12px; padding:.6rem .7rem .1rem; background:var(--card)}
.ppb-row .field{margin-bottom:.55rem; min-width:0}
.ppb-row .pdt-x{margin-bottom:.6rem; justify-self:end}
@media(min-width:720px){ .ppb-row{grid-template-columns:minmax(0,1.3fr) minmax(0,.55fr) minmax(0,1.4fr) auto} }
/* stage 4 */
.pdt-status.ppb-ok{background:#EAF7F2; color:#0A6B58; border-radius:10px; padding:.5rem .8rem; font-size:.86rem; font-weight:600; margin-bottom:.7rem}
.pdt-status.warn-box{margin-bottom:.7rem}
.ppb-metrics{display:grid; gap:.5rem; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); margin-bottom:.4rem}
.ppb-metrics > div{background:var(--sand); border-radius:12px; padding:.6rem .75rem; min-width:0}
.ppb-metrics dt{font-size:.76rem; color:var(--muted); font-weight:600}
.ppb-metrics dd{font-weight:700; color:var(--deep); font-size:1.2rem}
.ppb-metrics dd.ppb-sub{font-size:.74rem; font-weight:500; color:var(--muted)}
.ppb-metrics .hl{background:var(--deep)} .ppb-metrics .hl dt,.ppb-metrics .hl dd.ppb-sub{color:var(--mint)} .ppb-metrics .hl dd{color:#fff}
.ppb-metrics .amber{background:#FCEBCD} .ppb-metrics .amber dd{color:#5A3B00}
.pdt-legend .lg-step,.ppb-doc-legend .lg-step{width:16px; border:2px solid var(--deep); border-radius:4px; background:#fff}
.pdt-legend .lg-ho,.ppb-doc-legend .lg-ho{border-radius:50%; background:var(--amber)}
.pdt-legend .lg-sla,.ppb-doc-legend .lg-sla{width:14px; height:14px; border-radius:50%; background:var(--deep); border:3px solid var(--amber)}
.pdt-legend .lg-ctl,.ppb-doc-legend .lg-ctl{width:10px; height:10px; background:var(--amber); border:1.5px solid var(--deep); transform:rotate(45deg)}
.ppb-doc-legend .lg-best{display:inline-block; height:4px; width:20px; background:var(--emer); border-radius:2px}
.ppb-flow{margin:0; background:#fff; border:1px solid var(--mist); border-radius:12px; padding:.4rem; min-width:0}
.ppb-flow-scroll{overflow-x:auto; overscroll-behavior-x:contain}
.ppb-flow-scroll:focus-visible{outline:2px solid var(--amber); outline-offset:2px}
.ppb-flow figcaption{padding:0 .3rem .2rem}
.ppb-svg{display:block; height:auto; margin-inline:auto}
.ppb-svg text{fill:var(--ink); font-family:inherit; font-size:12.5px}
.ppb-svg.v text{font-size:11px}
.ppb-svg .num{font-family:var(--font-num); font-variant-numeric:tabular-nums}
.ppb-svg .ppb-lane{fill:#FBFAF6; stroke:var(--mist)} .ppb-svg .ppb-lane.alt{fill:#F1F6F4}
.ppb-svg .ppb-lane.none{fill:#FFF6E6; stroke:#E7B66A; stroke-dasharray:4 3}
.ppb-svg .ppb-lane-head{fill:var(--deep)} .ppb-svg .ppb-lane-head.none{fill:#8A4B00}
.ppb-svg .ppb-lane-t{fill:#fff; font-weight:700}
.ppb-svg .ppb-edge{fill:none; stroke:#8FA5A3; stroke-width:1.8; stroke-linejoin:round}
.ppb-svg .ppb-edge.crit{stroke:var(--emer); stroke-width:3}
.ppb-svg .ppb-edge.bad{stroke:#D9962E; stroke-dasharray:5 4}
.ppb-svg .ppb-arrow{fill:#8FA5A3} .ppb-svg .ppb-arrow.crit{fill:var(--emer)}
.ppb-svg .ppb-ho{fill:var(--amber); stroke:#fff; stroke-width:2}
.ppb-svg .ppb-ho.sla{fill:var(--deep); stroke:var(--amber); stroke-width:3.5}
.ppb-svg .ppb-box{fill:#fff; stroke:var(--deep); stroke-width:1.5}
.ppb-svg .ppb-box.crit{fill:#EAF7F2; stroke:var(--emer); stroke-width:2.8}
.ppb-svg .ppb-box.none{stroke:#C47A0F; stroke-dasharray:4 3}
.ppb-svg .ppb-box.bad{fill:#FFF8EC; stroke:#D9962E; stroke-width:2.2; stroke-dasharray:5 4}
.ppb-svg .ppb-num-bg{fill:var(--deep)} .ppb-svg .ppb-num-bg.crit{fill:var(--emer-ink)}
.ppb-svg .ppb-num{fill:#fff; font-size:10.5px; font-weight:700}
.ppb-svg .ppb-ctl{fill:var(--amber); stroke:var(--deep); stroke-width:1.3}
.ppb-svg .ppb-step-t{font-weight:600; fill:var(--deep)}
.ppb-svg .ppb-time{fill:var(--muted); font-size:10.5px} .ppb-svg .ppb-time.bad{fill:#8A4B00; font-weight:700}
.ppb-svg.v .ppb-time{font-size:10px}
.ppb-svg .ppb-bar-t{font-weight:700; fill:var(--deep); font-size:12px}
.ppb-svg .ppb-bar-l{fill:var(--muted); font-size:11px}
.ppb-svg .ppb-seg.wait{fill:var(--amber)} .ppb-svg .ppb-seg.work{fill:var(--emer)} .ppb-svg .ppb-seg.off{fill:var(--mist)}
.ppb-svg .ppb-seg{stroke:#fff; stroke-width:.8}
.ppb-svg .ppb-seg-n{fill:var(--deep); font-size:10px; font-weight:700}
.ppb-checks{list-style:none; display:grid; gap:.4rem}
.ppb-checks li{display:flex; gap:.55rem; align-items:flex-start; font-size:.88rem; border-radius:10px; padding:.45rem .65rem; background:var(--card); border:1px solid var(--mist)}
.ppb-ck-i{flex:none; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-weight:700; font-size:.78rem; background:var(--mist); color:var(--deep)}
.ppb-checks li.ok .ppb-ck-i{background:var(--emer-ink); color:#fff}
.ppb-checks li.warn{background:#FFF6E6; border-color:#F0D29C} .ppb-checks li.warn .ppb-ck-i{background:var(--amber); color:var(--deep)}
/* stage 5: agreement */
.ppb-agree{margin-top:.6rem; border:1.5px solid var(--mist); border-block-start:5px solid var(--amber); border-radius:14px; padding:.9rem 1rem; background:#fff}
.ppb .ppb-agree h3{font-size:1.05rem; margin-bottom:.5rem}
.ppb-agree.invalid{border-color:#E7B66A}
.ppb-agree-warn{margin-bottom:.6rem}
.ppb-agree-dl{display:grid; gap:.1rem}
.ppb-agree-dl > div{display:grid; gap:.1rem .9rem; padding:.45rem 0; border-bottom:1px dashed var(--mist)}
@media(min-width:640px){ .ppb-agree-dl > div{grid-template-columns:11.5rem 1fr} }
.ppb-agree-dl dt{font-size:.8rem; font-weight:700; color:var(--emer-ink)}
.ppb-agree-dl dd{font-size:.9rem; overflow-wrap:anywhere}
.ppb-agree-dl ul{padding-inline-start:1.1rem}
.ppb-sign{display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-top:1.1rem}
.ppb-sign > div{display:grid; gap:.25rem; font-size:.82rem; color:var(--deep); font-weight:600}
.ppb-sign i{display:block; height:1.6rem; border-bottom:1.5px solid var(--deep)}
.ppb-sign small{color:var(--muted); font-weight:500; font-size:.72rem}
@media(max-width:480px){ .ppb-step-card.par{margin-inline-start:.5rem} .ppb-sign{grid-template-columns:1fr} .ppb-metrics{grid-template-columns:1fr 1fr} .ppb-metrics dd{font-size:1.05rem} }
/* print document (hidden on screen) */
.ppb-doc{display:none}
@page ppbport{size:A4 portrait; margin:12mm 12mm 11mm}
@media print{
  body:has(#ppb-doc) > *:not(main){display:none!important}
  body:has(#ppb-doc) main.ppb{max-width:none!important; padding:0!important; margin:0!important}
  main.ppb > *:not(#ppb-doc){display:none!important}
  main.ppb > #ppb-doc{display:block!important}
  .ppb-doc{color:var(--ink); font-size:9.6pt; line-height:1.45; -webkit-print-color-adjust:exact; print-color-adjust:exact}
  .ppb-doc-page{page:ppbport; break-after:page; position:relative}
  .ppb-doc-page:last-child{break-after:auto}
  .ppb-doc h3{font-size:10.5pt; color:var(--deep); margin:4mm 0 1.6mm}
  .ppb-doc-head{position:relative; display:flex; justify-content:space-between; align-items:flex-end; gap:6mm; background:var(--deep); color:#fff; border-radius:3mm; padding:4mm 5mm 3.5mm; margin-bottom:4mm; overflow:hidden; border-inline-start:2.2mm solid var(--amber)}
  .ppb-doc-wave{position:absolute; inset-inline:0; bottom:0; width:100%; height:9mm; opacity:.5}
  .ppb-doc-wave path{fill:none; stroke:var(--mint); stroke-width:2}
  html[dir="rtl"] .ppb-doc-wave{transform:scaleX(-1)}
  .ppb-doc-brand{position:relative; display:grid; gap:.6mm; order:2; text-align:end}
  .ppb-doc-brand strong{color:var(--mint); font-size:11pt}
  .ppb-doc-brand span{color:#fff; font-size:8pt; opacity:.9}
  .ppb-doc-title{position:relative}
  .ppb-doc-title h2{color:#fff; font-size:15pt; line-height:1.2}
  .ppb-doc-title p{color:var(--mint); font-size:9.5pt; margin-top:.8mm}
  .ppb-doc-k{display:inline-block; background:var(--amber); color:var(--deep); font-weight:700; font-size:7.5pt; border-radius:1.5mm; padding:.3mm 1.8mm; margin-bottom:1.2mm}
  .ppb-doc-kv{width:100%; border-collapse:collapse; margin-bottom:3mm}
  .ppb-doc-kv th,.ppb-doc-kv td{text-align:start; vertical-align:top; padding:1.3mm 2mm; border-bottom:.25mm solid var(--mist)}
  .ppb-doc-kv th{width:34mm; color:var(--emer-ink); font-size:8.5pt}
  .ppb-doc-metrics{display:grid; grid-template-columns:repeat(5,1fr); gap:2mm; margin:2mm 0}
  .ppb-doc-metrics div{background:var(--sand); border-radius:2mm; padding:1.8mm 2.4mm; break-inside:avoid}
  .ppb-doc-metrics div:first-child{background:var(--deep)} .ppb-doc-metrics div:first-child span{color:var(--mint)} .ppb-doc-metrics div:first-child b{color:#fff}
  .ppb-doc-metrics span{display:block; font-size:7.5pt; color:var(--muted)}
  .ppb-doc-metrics b{font-size:11pt; color:var(--deep)}
  .ppb-doc-table{width:100%; border-collapse:collapse; font-size:8.3pt}
  .ppb-doc-table th,.ppb-doc-table td{border:.25mm solid #CFDCD9; padding:1.2mm 1.5mm; text-align:start; vertical-align:top}
  .ppb-doc-table thead th{background:var(--deep); color:#fff; font-size:7.8pt}
  .ppb-doc-table thead{display:table-header-group}
  .ppb-doc-table tr{break-inside:avoid}
  .ppb-doc-table tr.crit td{background:#EAF7F2}
  .ppb-doc-table td.num{white-space:nowrap; text-align:center}
  .ppb-doc-note{font-size:7.6pt; color:var(--muted); margin-top:1.2mm}
  .ppb-doc-two{display:grid; grid-template-columns:1fr 1fr; gap:5mm; break-inside:avoid}
  .ppb-doc-two ul,.ppb-doc-checks{padding-inline-start:4mm; display:grid; gap:1.2mm; font-size:8.5pt}
  .ppb-doc-two em{color:var(--muted); font-style:normal}
  .ppb-doc-flow{margin:0; border:.3mm solid var(--mist); border-radius:2mm; padding:2mm; break-inside:avoid}
  .ppb-doc-flow svg{display:block; width:100%; height:auto; max-height:132mm; margin-inline:auto}
  .ppb-doc-legend{display:flex; flex-wrap:wrap; gap:1.5mm 5mm; font-size:7.8pt; color:var(--muted); margin:2mm 0}
  .ppb-doc-legend span{display:inline-flex; align-items:center; gap:1.5mm}
  .ppb-doc-legend i{display:inline-block; width:12px; height:12px}
  .ppb-doc-cols{display:grid; grid-template-columns:1.1fr 1fr; gap:6mm; break-inside:avoid}
  .ppb-doc-reading{background:var(--sand); border-inline-start:1.5mm solid var(--amber); border-radius:2mm; padding:1mm 3.5mm 2.5mm}
  .ppb-doc-reading p{font-size:8.6pt; margin-top:1mm}
  .ppb-doc-checks{list-style:none; padding:0; font-size:8pt}
  .ppb-doc-checks li.warn{color:#5A3B00; font-weight:600}
  .ppb-doc-checks li.ok{color:#0A6B58}
  .ppb-doc-agree{margin-top:0; break-inside:avoid}
  .ppb-doc-agree .ppb-agree-dl > div{grid-template-columns:42mm 1fr; padding:1.8mm 0}
  .ppb-doc-agree .ppb-agree-dl dd{font-size:9.4pt}
  .ppb-doc-agree .ppb-sign{margin-top:9mm; gap:12mm}
  .ppb-doc-agree .ppb-sign i{height:12mm}
  .ppb-doc .warn-box{font-size:8.5pt}
  .ppb-doc-foot{margin-top:4mm; padding-top:1.6mm; border-top:.3mm solid var(--mist); font-size:7.2pt; color:var(--muted)}
}
/* newsletter block at the end of tool pages (partials/signup.html) */
.tool-signup{position:relative; overflow:hidden; border-block-start:4px solid var(--amber); background:linear-gradient(160deg,#fff 0%, #fff 60%, #F1F6F4 100%)}
.tool-signup-wave{width:84px; height:18px; display:block; margin-bottom:.3rem}
.tool-signup-wave path{fill:none; stroke:var(--emer); stroke-width:2.4; stroke-linejoin:round; stroke-linecap:round}
html[dir="rtl"] .tool-signup-wave{transform:scaleX(-1)}
.tool-signup .signup-note{color:var(--muted)}
@media(max-width:480px){ .tool-signup .signup-form .btn{width:100%} }

/* ---- Legal pages: privacy / terms / disclaimer (2026-10-28, Phase 0) */
main.legal{max-width:min(820px, 100%)}
.legal-nav{display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1rem}
.legal-nav a{font-size:.85rem; font-weight:600; text-decoration:none; color:var(--deep); background:var(--white); border:1.5px solid var(--mist); border-radius:999px; padding:.35rem .9rem}
.legal-nav a:hover{border-color:var(--emer); color:var(--emer-ink)}
.legal-nav a[aria-current="page"]{background:var(--deep); border-color:var(--deep); color:var(--sand)}
.legal-doc{padding:1.8rem 1.6rem}
.legal-doc h1{margin-bottom:.25rem}
.legal-doc .legal-updated{font-size:.85rem; color:var(--muted); margin-bottom:1.4rem}
.legal-doc h2{font-size:1.12rem; color:var(--deep); line-height:1.4; margin:1.7rem 0 .5rem}
.legal-doc p,.legal-doc li{line-height:1.75; margin-bottom:.6rem}
html[lang="ar"] .legal-doc p,html[lang="ar"] .legal-doc li{line-height:1.9}
.legal-doc ul{padding-inline-start:1.3rem; margin:.3rem 0 .8rem}
.legal-doc a{color:var(--emer-ink); font-weight:600}
.legal-summary{background:var(--card); border:1px solid var(--mist); border-inline-start:4px solid var(--emer); border-radius:10px; padding:1rem 1.2rem .4rem; margin-bottom:.5rem}
.legal-summary h2{margin-top:0; font-size:1rem; color:var(--emer-ink)}
main.legal .tool-signup{margin-top:1.5rem}
.site-footer .legal-links{margin-top:.35rem; font-size:.78rem}
@media (max-width:560px){ .legal-doc{padding:1.25rem 1.05rem} }
@media print{ .legal-nav,main.legal .tool-signup{display:none!important} }
