/* business planner: calm, one decision per screen */
.pl{width:min(920px,100%);margin:0 auto;padding:18px 16px 64px;display:grid;gap:16px}
.pl h1{margin:0;color:var(--ms-navy);font-size:clamp(22px,3.2vw,30px);line-height:1.5}
.pl-lead{margin:0;color:var(--ms-muted);font-size:14px;line-height:1.9}
.pl-note{margin:0;color:var(--ms-muted);font-size:13px;line-height:1.9}
.pl-steps{display:flex;gap:8px;margin:0;padding:0;list-style:none;flex-wrap:wrap}
.pl-steps li{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:999px;background:#eef2f8;color:var(--ms-muted);font-size:12px;font-weight:800}
.pl-steps li span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;color:var(--ms-navy);font-size:11px}
.pl-steps li.on{background:var(--ms-navy);color:#fff}
.pl-steps li.on span{background:var(--ms-gold);color:var(--ms-navy)}
.pl-steps li.done{background:#ecfdf3;color:#0c6b3d}

.pl-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:760px){.pl-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pl-card{display:grid;justify-items:start;gap:6px;padding:16px;border:1px solid var(--ms-line);border-radius:20px;background:#fff;box-shadow:var(--ms-shadow);color:var(--ms-navy);text-align:start;cursor:pointer;font-family:inherit;transition:border-color .15s,transform .15s}
.pl-card:hover{border-color:#90adff;transform:translateY(-2px)}
.pl-card b{font-size:16px}
.pl-card small{color:var(--ms-muted);font-size:12.5px;line-height:1.7;font-weight:600}
.pl-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#fff4d1;color:#9a6a00}
.pl-ico svg{width:26px;height:26px}

.pl-q{margin:6px 0 0;color:var(--ms-navy);font-size:16px}
.pl-q small{color:var(--ms-muted);font-size:12px;font-weight:600}
.pl-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media(max-width:560px){.pl-seg{grid-template-columns:1fr}}
.pl-opt{display:grid;gap:4px;padding:14px;border:1px solid var(--ms-line);border-radius:16px;background:#fff;color:var(--ms-navy);text-align:start;cursor:pointer;font-family:inherit}
.pl-opt small{color:var(--ms-muted);font-size:12px;font-weight:600}
.pl-opt[aria-checked=true]{border-color:var(--ms-navy);box-shadow:inset 0 0 0 1px var(--ms-navy);background:#f5f8ff}
.pl-chips{display:flex;flex-wrap:wrap;gap:8px}
.pl-chip{min-height:44px;padding:0 16px;border:1px solid var(--ms-line);border-radius:999px;background:#fff;color:var(--ms-navy);font:800 14px/1 Estedad,Tahoma,sans-serif;cursor:pointer}
.pl-chip[aria-pressed=true]{background:var(--ms-navy);border-color:var(--ms-navy);color:#fff}
.pl-nav,.pl-bar{display:flex;gap:10px;justify-content:space-between;margin-top:6px}
.pl-bar{position:sticky;bottom:calc(var(--ms-tabbar-offset,0px) + 8px);z-index:5;padding:10px;border:1px solid var(--ms-line);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:var(--ms-shadow)}
.pl-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid var(--ms-line);border-radius:14px;background:#fff;color:var(--ms-navy);font:800 15px/1 Estedad,Tahoma,sans-serif;cursor:pointer}
.pl-btn.primary{flex:1;background:var(--ms-navy);border-color:var(--ms-navy);color:#fff}
.pl-btn:disabled{opacity:.5;cursor:default}

.pl-sum{display:flex;gap:16px;color:var(--ms-muted);font-size:13px;font-weight:700}
.pl-sum b{color:var(--ms-navy);font-size:18px}
.pl-zone h3{margin:0 0 8px;color:var(--ms-muted);font-size:13px;font-weight:800}
.pl-jobs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
@media(max-width:700px){.pl-jobs{grid-template-columns:1fr}}
.pl-job{display:grid;gap:8px;padding:14px;border:1px solid var(--ms-line);border-radius:18px;background:#fff;box-shadow:var(--ms-shadow)}
.pl-job.off{display:flex;align-items:center;justify-content:space-between;background:#f6f8fb;box-shadow:none;color:var(--ms-muted)}
.pl-job.nocat{background:#fffaf0;border-color:#f1dca3}
.pl-jt{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pl-jt b{color:var(--ms-navy);font-size:15px}
.pl-gap{padding:2px 9px;border-radius:999px;background:#eff6ff;color:#1746b5;font-size:11.5px;font-weight:800}
.pl-why{margin:0;color:var(--ms-muted);font-size:12.5px;line-height:1.8}
.pl-adv{margin:0;color:#93370d;font-size:12.5px;font-weight:700;line-height:1.8}
.pl-prod{display:flex;align-items:center;gap:12px}
.pl-img{display:grid;place-items:center;flex:none;width:68px;height:68px;padding:0;border:1px solid var(--ms-line);border-radius:14px;background:#fff;overflow:hidden;cursor:pointer}
.pl-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.pl-pn{display:grid;gap:2px;min-width:0;text-align:start}
.pl-pn b{color:var(--ms-navy);font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.pl-pn span{color:var(--ms-muted);font-size:12px}
.pl-acts{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.pl-qty{display:inline-flex;align-items:center;gap:6px;margin-inline-end:auto;padding:3px;border:1px solid var(--ms-line);border-radius:12px}
.pl-qty button{width:34px;height:34px;border:0;border-radius:9px;background:#eef2f8;color:var(--ms-navy);font-size:18px;line-height:1;cursor:pointer}
.pl-qty b{min-width:26px;text-align:center;color:var(--ms-navy)}
.pl-ic{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--ms-line);border-radius:12px;background:#fff;color:var(--ms-navy);cursor:pointer}
.pl-ic svg{width:20px;height:20px}
.pl-ic:hover{border-color:#90adff;background:#f5f8ff}
.pl-link{border:0;background:none;color:#1746b5;font:800 13px/1 Estedad,Tahoma,sans-serif;cursor:pointer}

.pl-dialog{width:min(520px,calc(100vw - 20px));max-height:calc(100dvh - 24px);margin:auto;padding:14px 16px 18px;overflow:auto;border:1px solid #d0d5dd;border-radius:22px;background:#fff;color:var(--ms-ink);box-shadow:0 28px 80px rgba(5,25,52,.32)}
.pl-dialog::backdrop{background:rgba(5,25,52,.55)}
.pl-dbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.pl-dbar h2{margin:0;color:var(--ms-navy);font-size:16px;line-height:1.6}
.pl-alts{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}
.pl-alts button{display:flex;align-items:center;gap:12px;width:100%;padding:8px;border:1px solid var(--ms-line);border-radius:14px;background:#fff;text-align:start;cursor:pointer;font-family:inherit}
.pl-alts button:hover{border-color:#90adff;background:#f5f8ff}
.pl-big{display:block;width:100%;max-height:220px;object-fit:contain;margin:6px 0}
.pl-desc{margin:8px 0;color:#35465e;font-size:13.5px;line-height:1.95}
.pl-specs{display:grid;gap:6px;margin:8px 0}
.pl-specs div{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:#f6f8fb;font-size:13px}
.pl-specs dt{color:var(--ms-muted)}.pl-specs dd{margin:0;color:var(--ms-navy);font-weight:800}

/* pop-up cards: three real products float at different depths over a tinted card and lean toward the pointer */
.pl-cards{perspective:900px}
.pl-card{position:relative;overflow:visible;background:linear-gradient(180deg,var(--tint,#f3f5f8),#fff 70%);transform-style:preserve-3d;transition:transform .18s ease,box-shadow .18s,border-color .15s;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.pl-card:hover,.pl-card:focus-visible{box-shadow:0 22px 44px rgba(7,27,54,.18);border-color:#90adff}
.pl-card:active{transform:scale(.98)}
.pl-stage{position:relative;display:block;width:100%;height:132px;margin-bottom:4px;transform-style:preserve-3d}
.pl-pop{position:absolute;bottom:6px;left:var(--l);width:var(--w);aspect-ratio:1;transform:translateZ(var(--z)) rotate(var(--r));transition:transform .18s ease;animation:pl-float 4.2s ease-in-out infinite;animation-delay:var(--d)}
.pl-pop.main{z-index:2}
.pl-pop img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain}
.pl-pop i{position:absolute;left:14%;right:14%;bottom:-2px;height:10px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(7,27,54,.32),transparent 70%);filter:blur(2px)}
.pl-card:hover .pl-pop{transform:translateZ(calc(var(--z) + 22px)) translateY(-8px) rotate(var(--r))}
@keyframes pl-float{0%,100%{translate:0 0}50%{translate:0 -5px}}
@media(prefers-reduced-motion:reduce){.pl-pop{animation:none}.pl-card{transition:none}}

/* public request: form and the Chef Market sheet */
.pl-req{padding:12px 14px;border:1px solid var(--ms-line);border-radius:16px;background:#fff}
.pl-req h3,.pl-form h3{margin:0 0 6px;color:var(--ms-navy);font-size:15px}
.pl-rl{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.pl-rl li{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--ms-ink)}
.pl-rl li span{color:var(--ms-muted);white-space:nowrap}
.pl-form{display:grid;gap:14px}
.pl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pl-f{display:grid;gap:5px;color:var(--ms-muted);font-size:12.5px;font-weight:700}
.pl-f.wide{grid-column:1/-1}
.pl-f input{min-height:46px;padding:0 14px;border:1px solid var(--ms-line);border-radius:14px;background:#fff;color:var(--ms-navy);font:700 14px/1 Estedad,Tahoma,sans-serif}
.pl-f.bad input{border-color:#e5484d;background:#fff8f8}
.pl-fe{color:#b42318;font-size:12px;font-weight:700}
.pl-err{margin:0;padding:10px 14px;border-radius:12px;background:#fff1f0;color:#b42318;font-size:13.5px;font-weight:700}
.pl-hp{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;opacity:0}
.pl-code{padding:2px 10px;border-radius:8px;background:#fff1f3;color:#eb1d36;font-size:1.05em;letter-spacing:.04em}
.pl-sheetbox{width:min(794px,100%);margin:0 auto;padding:22px 24px;border:1px solid var(--ms-line);border-radius:16px;background:#fff;color:#212529;font:12.5px/1.8 Estedad,Tahoma,sans-serif;box-sizing:border-box;overflow:auto}
.pl-sheetbox .ip-frame{height:auto}
@media(max-width:620px){.pl-grid{grid-template-columns:1fr}.pl-sheetbox{padding:14px 12px}}
@media print{
  body>*:not(main){display:none!important}
  main.pl{padding:0;display:block}
  main.pl>*:not(.pl-sheetbox){display:none!important}
  .pl-sheetbox{border:0;border-radius:0;padding:0;width:100%;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* progress and one question at a time */
.pl-top{display:flex;align-items:center;gap:10px}
.pl-prog{flex:1;height:8px;border-radius:999px;background:#e6ebf3;overflow:hidden}
.pl-prog i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffcc2a,#ffb100);transition:width .4s ease}
.pl-pl{flex:none;color:var(--ms-muted);font-size:12.5px;font-weight:800}
.pl-ic.back{flex:none}
.pl-kicker{margin:0;color:var(--ms-muted);font-size:13px;font-weight:800}
.pl-seg .pl-opt[aria-checked=true]{animation:pl-pick .28s ease}
@keyframes pl-pick{50%{transform:scale(.97)}}

/* request registered */
.pl-done{display:grid;justify-items:center;gap:10px;padding:10px 0 4px;text-align:center}
.pl-done h1{margin:4px 0 0}
.pl-seal{position:relative;width:104px;height:104px}
.pl-seal svg{position:relative;z-index:1;width:100%;height:100%;overflow:visible}
.pl-seal .c{fill:#ecfdf3;stroke:#2eb872;stroke-width:2.6;stroke-dasharray:151;stroke-dashoffset:151;transform-origin:center;animation:pl-draw .7s ease forwards,pl-pop .5s .65s ease both}
.pl-seal .t{fill:none;stroke:#1a9b5a;stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:pl-draw .45s .6s ease forwards}
.pl-seal::before{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid #2eb872;opacity:0;animation:pl-ring 1.1s .75s ease-out forwards}
.pl-seal i{position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px;border-radius:50%;background:var(--c);opacity:0;animation:pl-spark .9s .8s ease-out forwards}
.pl-seal i:nth-of-type(even){width:6px;height:6px;margin:-3px;border-radius:2px}
@keyframes pl-draw{to{stroke-dashoffset:0}}
@keyframes pl-pop{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes pl-ring{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.7)}}
@keyframes pl-spark{0%{opacity:1;transform:rotate(var(--a)) translateY(-44px) scale(.6)}100%{opacity:0;transform:rotate(var(--a)) translateY(-92px) scale(1)}}
.pl-codebox{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;padding:12px 16px;border:1px dashed #c9d3e3;border-radius:16px;background:#fff;animation:pl-rise .5s 1s ease both}
.pl-codebox>span{color:var(--ms-muted);font-size:12.5px;font-weight:800}
.pl-codebox b{color:var(--ms-navy);font-size:20px;letter-spacing:.04em;user-select:all}
.pl-copy{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid var(--ms-line);border-radius:12px;background:#fff;color:var(--ms-navy);font:800 13px/1 Estedad,Tahoma,sans-serif;cursor:pointer}
.pl-copy svg{width:18px;height:18px}
.pl-copy.ok{background:#ecfdf3;border-color:#2eb872;color:#0c6b3d}
@keyframes pl-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.pl-seal .c,.pl-seal .t{animation:none;stroke-dashoffset:0}.pl-seal::before,.pl-seal i{display:none}.pl-codebox{animation:none}.pl-prog i{transition:none}.pl-seg .pl-opt[aria-checked=true]{animation:none}}
.pl-agree{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--ms-line);border-radius:14px;background:#fff;color:var(--ms-ink);font-size:13.5px;line-height:1.9;cursor:pointer}.pl-agree.bad{border-color:#e5484d;background:#fff8f8}.pl-agree input{flex:none;width:22px;height:22px;margin-top:3px;accent-color:#071b36}.pl-agree a{color:var(--ms-blue,#1746b5);font-weight:800}
.pl-f select{min-height:46px;padding:0 14px;border:1px solid var(--ms-line);border-radius:14px;background:#fff;color:var(--ms-navy);font:700 14px/1 Estedad,Tahoma,sans-serif;width:100%}
.pl-f select:disabled{background:#f3f4f8;color:var(--ms-muted)}
.pl-f.bad select{border-color:#e5484d;background:#fff8f8}
.pl-load{display:grid;justify-items:center;gap:14px;padding:48px 16px;text-align:center}
.pl-load b{color:var(--ms-navy);font-size:16px}
.pl-spin{position:relative;display:grid;place-items:center;width:96px;height:96px}
.pl-spin i{position:absolute;inset:0;border-radius:50%;border:4px solid #e4e9f2;border-top-color:var(--ms-gold);animation:pl-rot 1s linear infinite}
.pl-spin img{width:64px;height:64px;border-radius:16px;animation:pl-beat 1.6s ease-in-out infinite}
.pl-tip{margin:0;max-width:340px;min-height:3.6em;color:var(--ms-muted);font-size:13px;line-height:1.9;transition:opacity .3s}
.pl-tip.out{opacity:0}
@keyframes pl-rot{to{transform:rotate(360deg)}}
@keyframes pl-beat{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){.pl-spin i,.pl-spin img{animation:none}}
.pl-warn{margin:0;padding:10px 14px;border-radius:14px;background:#fff6e0;color:#7a4b00;font-size:13px;font-weight:700;line-height:1.9}
.pl-f select,.pl-f select option,.pl-f input,.pl-f textarea{font-family:Estedad,Tahoma,sans-serif}
.pl-f select{appearance:auto}
/* a message under one box never moves its neighbour: the message has its own reserved line */
.pl-grid{align-items:start}
.pl-f{position:relative;padding-bottom:20px}
.pl-fe{position:absolute;inset-inline-start:2px;bottom:0;line-height:1.5}
.pl-f input,.pl-f select{transition:border-color .15s,box-shadow .15s,background .15s}
.pl-f.ok input,.pl-f.ok select{border-color:#1fa971;background:#f6fffa;box-shadow:0 0 0 3px rgba(31,169,113,.18),0 0 14px rgba(31,169,113,.25)}
.pl-f.bad input,.pl-f.bad select{box-shadow:0 0 0 3px rgba(229,72,77,.12)}
/* morphing highlight (assets/morph.js): the outline of the chosen option slides to the next one */
.pl-seg.has-pill{position:relative}
.pl-seg.has-pill .pl-opt[aria-checked=true]{border-color:var(--ms-line);box-shadow:none;animation:none}
.ms-pill.opt{z-index:2;box-sizing:border-box;border-radius:16px;border:1px solid var(--ms-navy);box-shadow:inset 0 0 0 1px var(--ms-navy);background:rgba(36,86,216,.04)}

/* business tiles: like the tiles on the home page, one picture and one name */
.pl-cards{gap:12px;perspective:none}
.pl-card{justify-items:center;align-content:space-between;gap:4px;aspect-ratio:1/1.08;padding:12px 8px 12px;border-radius:24px;text-align:center;transform:none}
.pl-card:hover,.pl-card:focus-visible{transform:translateY(-2px)}
.pl-card:active{transform:scale(.97)}
.pl-card .pl-one{display:block;width:100%;flex:1 1 0;min-height:0;height:calc(100% - 30px);object-fit:contain;filter:drop-shadow(0 8px 10px rgba(7,27,54,.16));transition:transform .25s}
.pl-card:hover .pl-one{transform:scale(1.07) translateY(-2px)}
.pl-card b{width:100%;font-size:14.5px;line-height:1.5;text-align:center}
.pl-card small{display:none}
/* as many tiles per row as the screen has room for: wide screens get smaller tiles */
.pl-cards{grid-template-columns:repeat(auto-fill,minmax(124px,1fr))}
.pl-card{transform-style:flat;will-change:auto}
.pl-card b{font-size:13.5px}
@media(max-width:560px){.pl-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pl-card{padding:10px 6px;border-radius:20px}.pl-card b{font-size:12.5px}}
@media(prefers-reduced-motion:reduce){.pl-card .pl-one{transition:none}}

.pl-seal-img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(7,27,54,.2));animation:pl-seal-in .7s cubic-bezier(.2,1.6,.4,1) both}
@keyframes pl-seal-in{from{opacity:0;transform:scale(.2) rotate(-25deg)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.pl-seal-img{animation:none}}
