/* /websites/: picker tiles, quiz, stage panels, examples, compare table, sample landing page. */

/* ---------- picker ---------- */
.pick{display:grid;gap:14px;grid-template-columns:1fr 1fr}
@media (min-width:1000px){.pick{grid-template-columns:repeat(4,1fr)}}
@media (max-width:640px){
  .pick{gap:10px}
  .pick__tile{padding:12px 12px 14px;gap:6px;border-radius:20px}
  .pick__ill{margin-bottom:2px;border-radius:12px}
  .pick__ill .ill{width:78%}
  .pick__name{font-size:.98rem}
  .pick__short{display:none}
  .pick__n{right:14px;top:12px}
  .pick__price{font-size:11px;padding:5px 9px}
}
.pick__tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 18px 20px;border-radius:26px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);text-align:left;cursor:pointer;transition:transform .5s var(--ease),border-color .3s,background .3s,box-shadow .5s}
.pick__tile:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.3)}
.pick__tile[aria-checked="true"]{border-color:transparent;background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--grad) border-box;box-shadow:0 40px 90px -46px rgba(249,115,22,.65);transform:translateY(-4px)}
.pick__n{position:absolute;right:18px;top:16px;font:600 11px var(--mono);letter-spacing:.14em;color:var(--faint)}
.pick__ill{display:grid;place-items:center;width:100%;aspect-ratio:16/10;margin-bottom:6px;border-radius:16px;background:radial-gradient(60% 80% at 50% 0%,rgba(139,92,246,.24),transparent 72%),rgba(255,255,255,.025);border:1px solid var(--line)}
.pick__ill .ill{width:70%}
.pick__name{font:700 1.15rem/1.2 var(--display);letter-spacing:-.02em}
.pick__short{font-size:.9rem;line-height:1.45;color:var(--dim)}
.pick__price{margin-top:auto;padding:6px 11px;border-radius:8px;background:rgba(255,255,255,.07);font:600 12px var(--mono);letter-spacing:.04em}
.pick__tile[aria-checked="true"] .pick__price{background:var(--grad);color:#0b0b16}

/* ---------- quiz ---------- */
.quiz{margin-top:18px}
.quiz__open{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;border:1px dashed var(--line-2);background:transparent;font:500 14px var(--body);color:var(--dim);cursor:pointer;transition:color .25s,border-color .25s}
.quiz__open:hover{color:var(--text);border-color:rgba(255,255,255,.4)}
.quiz__open .i{transition:transform .4s var(--ease)}
.quiz__open[aria-expanded="true"] .i{transform:rotate(180deg)}
.quiz__body{margin-top:14px;padding:22px;border-radius:24px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);max-width:640px;animation:fadeUp .5s var(--ease)}
.quiz__q p,.quiz__res p{font:600 1.15rem/1.3 var(--display);letter-spacing:-.015em;margin-bottom:14px}
.quiz__a{display:flex;flex-wrap:wrap;gap:8px}
.quiz__a button{padding:11px 18px;border-radius:12px;border:1px solid var(--line-2);background:rgba(255,255,255,.05);font:500 14px var(--body);cursor:pointer;transition:border-color .25s,background .25s,transform .3s var(--ease)}
.quiz__a button:hover{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.1);transform:translateY(-1px)}
.quiz__a button.is-primary{border-color:transparent;background:var(--grad);color:#0b0b16;font-weight:600}

/* ---------- stage + panels ---------- */
.stage{margin-top:28px}
.panel{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start;padding:clamp(18px,3vw,40px);border-radius:clamp(24px,3vw,36px);border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012))}
.panel+.panel{margin-top:22px}
@media (min-width:980px){.panel{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}.panel--wide{grid-template-columns:minmax(0,1fr)}}
@media (scripting:enabled){.panel{display:none}.panel.is-on{display:grid;animation:panelIn .7s var(--ease)}.panel+.panel{margin-top:0}}
@keyframes panelIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.panel__demo{min-width:0}
@media (min-width:980px){.panel:not(.panel--wide) .panel__demo{position:sticky;top:calc(var(--hdr) + 24px)}}
.panel__info{min-width:0}
.panel__info .h2{margin:12px 0 10px;font-size:clamp(1.9rem,3.4vw,2.8rem)}
.panel__info .lead{margin-bottom:8px}
.panel__price{display:grid;gap:12px;margin-top:30px;padding:22px;border-radius:22px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);break-inside:avoid}
.price{display:block;font:700 clamp(2.1rem,3.6vw,2.9rem)/1 var(--display);letter-spacing:-.04em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.price__note{display:block;margin-top:8px;color:var(--dim);font-size:.9rem}
.price__care{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid var(--line);color:var(--text);font-size:.92rem}
.panel__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
@media (min-width:980px){.panel--wide .panel__info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 clamp(32px,5vw,72px);align-items:start}.panel--wide .info__b .mini:first-child{margin-top:0}}

/* examples (real, live) */
.examples{display:grid;gap:18px}
.exwrap .duo{margin-inline:auto;max-width:640px}
.examples__bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.examples__bar--solo{margin-top:26px;justify-content:center}
.examples__lab{font:600 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.legend{list-style:none;display:grid;gap:8px;margin-top:22px;max-width:320px}
.legend li{display:flex;align-items:center;gap:12px;font-size:.9rem;color:var(--dim)}
.legend i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--grad);color:#0b0b16;font:700 12px var(--display);font-style:normal;flex:none}
.panel__demo-in{display:grid;justify-items:center}
.addons{list-style:none;display:grid;gap:8px}
.addons li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.025);break-inside:avoid}
.addons b{display:block;font:600 .95rem var(--display)}
.addons small{display:block;color:var(--dim);font-size:.83rem;line-height:1.4;margin-top:2px}
.addon__p{flex:none;padding:5px 10px;border-radius:8px;background:rgba(255,255,255,.08);font:600 11.5px var(--mono);letter-spacing:.03em;white-space:nowrap}

/* ---------- compare table ---------- */
.compare{overflow-x:auto;border-radius:26px;border:1px solid var(--line-2);background:rgba(255,255,255,.025);-webkit-overflow-scrolling:touch}
.compare table{width:100%;min-width:780px;border-collapse:separate;border-spacing:0}
.compare th,.compare td{padding:16px 18px;text-align:center;border-bottom:1px solid var(--line);font-size:.93rem}
.compare thead th{font:700 .95rem/1.25 var(--display);letter-spacing:-.01em;vertical-align:bottom;padding-top:22px;padding-bottom:20px}
.compare tbody th{position:sticky;left:0;z-index:1;text-align:left;font-weight:500;color:var(--dim);background:#0e0e1c;min-width:230px}
.compare tr:last-child th,.compare tr:last-child td{border-bottom:0;font-weight:600;color:var(--text)}
.compare .yes{color:var(--green)}
.compare .yes .i{width:1.4em;height:1.4em;stroke-width:2.6}
.compare .no{color:var(--faint)}
.compare .txt{color:var(--text)}
.compare tr:last-child .txt{font:700 1.05rem var(--display)}
.compare td:nth-child(4),.compare thead th:nth-child(4){background:rgba(249,115,22,.05)}

/* ---------- sample landing page (CSS mock inside a phone) ---------- */
.sample{display:grid;justify-items:center;gap:14px}
.sample__tag{font:600 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.strip--mock{background:#fbf7f1}
.mock{font:400 11px/1.5 var(--body);color:#2b2230;background:#fbf7f1;animation:strollY 34s ease-in-out infinite alternate;will-change:transform}
.mock__nav{display:flex;justify-content:space-between;align-items:center;padding:34px 14px 10px;background:#fbf7f1}
.mock__nav b{font:700 14px var(--display);letter-spacing:-.02em;color:#3b2347}
.mock__pill{padding:5px 11px;border-radius:99px;background:#3b2347;color:#fff;font:600 10px var(--body)}
.mock__hero{margin:4px 10px 0;padding:22px 16px 24px;border-radius:18px;color:#fff;background:linear-gradient(160deg,#f59e0b 0%,#ec4899 55%,#7c3aed 100%)}
.mock__hero small{display:block;font:600 9px var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.9;margin-bottom:12px}
.mock__hero h4{font:700 25px/1.02 var(--display);letter-spacing:-.04em;margin-bottom:10px}
.mock__hero p{font-size:11px;opacity:.95;margin-bottom:16px}
.mock__btn{display:inline-block;padding:8px 14px;border-radius:99px;background:#fff;color:#3b2347;font:700 10.5px var(--body)}
.mock__btn--wa{background:#25d366;color:#052e16}
.mock__sec{padding:20px 14px 4px}
.mock__sec h5{font:700 14px var(--display);letter-spacing:-.02em;color:#3b2347;margin-bottom:10px}
.mock__list{list-style:none;display:grid;gap:6px}
.mock__list li{display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center;padding:9px 10px;border-radius:12px;background:#fff;border:1px solid #efe6f5}
.mock__list b{font:700 11px var(--mono);color:#7c3aed}
.mock__list em{font-style:normal;font-size:9.5px;color:#8b7a96}
.mock__rev{padding:11px 12px;border-radius:12px;background:#fff;border:1px solid #efe6f5;margin-bottom:8px}
.mock__stars{display:block;color:#f59e0b;letter-spacing:2px;font-size:11px}
.mock__rev p{margin:4px 0 2px;font-weight:500}
.mock__rev small{color:#a595b0;font-size:9px}
.mock__map{position:relative;height:88px;border-radius:14px;background:linear-gradient(135deg,#dbeafe,#e0f2fe 40%,#dcfce7);overflow:hidden}
.mock__map::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(35deg,transparent 0 22px,rgba(255,255,255,.7) 22px 25px),repeating-linear-gradient(-50deg,transparent 0 30px,rgba(255,255,255,.55) 30px 33px)}
.mock__pin{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-16px 0 0 -9px;border-radius:50% 50% 50% 0;background:#ec4899;transform:rotate(-45deg);box-shadow:0 6px 10px -3px rgba(236,72,153,.6)}
.mock__pin::after{content:"";position:absolute;inset:5px;border-radius:50%;background:#fff}
.mock__addr{margin:10px 0 10px;font-size:10.5px;color:#5b4a66}
.mock__row{display:flex;gap:8px;padding-bottom:6px}
.mock__foot{margin-top:18px;padding:18px 14px 26px;text-align:center;font-size:9.5px;color:#a595b0;background:#f5eef9}

/* Interactive ordering demo: customer phone + staff dashboard. */
.od{display:grid;gap:14px;grid-template-columns:minmax(0,1fr);justify-items:center;align-items:start}
.od__col{display:grid;gap:14px;justify-items:center;width:100%;min-width:0}
.od__cap{display:flex;align-items:center;gap:10px;font:600 11px/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.dot{width:8px;height:8px;border-radius:50%;flex:none}
.dot--o{background:var(--orange);box-shadow:0 0 12px var(--orange)}
.dot--g{background:var(--green);box-shadow:0 0 12px var(--green)}
.od__link{position:relative;align-self:center;width:2px;height:44px;background:repeating-linear-gradient(180deg,rgba(255,255,255,.34) 0 4px,transparent 4px 9px)}
.od__bead{position:absolute;left:50%;top:0;width:11px;height:11px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--grad);box-shadow:0 0 18px var(--orange);opacity:0}
.od.is-sending .od__bead{animation:beadY 1.1s var(--ease-io)}
@keyframes beadY{0%{top:0;opacity:1}100%{top:100%;opacity:1}}
@keyframes beadX{0%{left:0;opacity:1}100%{left:100%;opacity:1}}
.od__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:10px;width:100%}
.od__hint{flex:1 1 100%;text-align:center;font-size:.9rem;color:var(--dim)}
@media (min-width:980px){
  .od{grid-template-columns:auto 64px minmax(0,1fr);gap:0 6px;justify-items:stretch}
  .od__col--cust{justify-items:center}
  .od__link{width:100%;height:2px;margin-top:40px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.34) 0 4px,transparent 4px 9px)}
  .od__bead{left:0;top:50%}
  .od.is-sending .od__bead{animation-name:beadX}
  .od__bar{grid-column:1/-1;justify-content:flex-start;padding-left:4px}
  .od__hint{flex:1 1 auto;text-align:left;min-width:260px}
}

/* tap ring used by the scripted run */
.tapfx{position:relative}
.tapfx::after{content:"";position:absolute;inset:-7px;border-radius:inherit;border:2px solid var(--orange);pointer-events:none;animation:tapRing .8s ease-out forwards}
@keyframes tapRing{from{opacity:1;transform:scale(.88)}to{opacity:0;transform:scale(1.28)}}

/* ---------- customer phone (light app) ---------- */
.odp{display:flex;flex-direction:column;background:#faf6ee;color:#2a2118;font:400 12px/1.4 var(--body)}
.odp__top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:34px 14px 10px;background:#faf6ee}
.odp__top b{display:block;font:700 16px var(--display);letter-spacing:-.02em;color:#1d1710}
.odp__top small{display:block;font-size:10.5px;color:#6f5f4b}
.odp__mode{padding:5px 9px;border-radius:99px;background:#1d1710;color:#faf6ee;font:600 9.5px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.odp__views{position:relative;flex:1;min-height:0}
.odp__view{position:absolute;inset:0;display:none;overflow-y:auto;padding:6px 12px 84px;scrollbar-width:none}
.odp__view::-webkit-scrollbar{display:none}
.odp__view.is-on{display:block;animation:viewIn .45s var(--ease)}
@keyframes viewIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.odp__list{list-style:none;display:grid;gap:8px}
.odp__item{position:relative;display:grid;grid-template-columns:54px 1fr 32px;gap:10px;align-items:center;padding:8px;border-radius:16px;background:#fff;border:1px solid #efe6d6;transition:opacity .3s,transform .3s var(--ease)}
.odp__item img{width:54px;height:54px;border-radius:11px;object-fit:cover;background:#eee}
.odp__item b{display:block;font:600 12.5px/1.25 var(--body);color:#1d1710}
.odp__item small{display:block;margin:1px 0 3px;font-size:10.5px;color:#6f5f4b}
.odp__item em{font:700 12.5px var(--display);font-style:normal;color:#c2410c}
.odp__add{position:relative;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:#1d1710;color:#fff;cursor:pointer;transition:transform .3s var(--ease),background .3s}
.odp__add:hover{transform:scale(1.1);background:#c2410c}
.odp__add .i{width:15px;height:15px;stroke-width:2.4}
.odp__add[data-q]::after{content:attr(data-q);position:absolute;right:-5px;top:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#c2410c;color:#fff;font:700 10px/17px var(--body);text-align:center}
.odp__sold{display:none;font:600 9.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#b3401a;text-align:right}
.odp__item.is-sold{opacity:.55}
.odp__item.is-sold .odp__add{display:none}
.odp__item.is-sold .odp__sold{display:block}
.odp__view h4{margin:4px 2px 10px;font:700 16px var(--display);letter-spacing:-.02em;color:#1d1710}
.odp__lines{list-style:none;display:grid;gap:6px;margin-bottom:12px}
.odp__lines li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:9px 10px;border-radius:12px;background:#fff;border:1px solid #efe6d6;font-size:12px}
.odp__lines b{font-weight:600;color:#1d1710}
.odp__qty{display:inline-flex;align-items:center;gap:6px}
.odp__qty button{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:50%;background:#efe6d6;color:#1d1710;cursor:pointer}
.odp__qty .i{width:12px;height:12px;stroke-width:2.6}
.odp__qty span{min-width:12px;text-align:center;font-weight:700}
.odp__lines em{font:700 12px var(--display);font-style:normal;color:#c2410c}
.odp__seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:#efe6d6;margin-bottom:10px}
.odp__seg button{padding:8px 4px;border:0;border-radius:9px;background:transparent;font:600 11px var(--body);color:#5b4a36;cursor:pointer;transition:background .25s,color .25s}
.odp__seg button.is-on{background:#1d1710;color:#fff}
.odp__pay{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:12px;border:1px dashed #d9c9ad;color:#6b5a44;font-size:11px;margin-bottom:10px}
.odp__pay .i{width:16px;height:16px}
.odp__tot{display:flex;justify-content:space-between;align-items:baseline;padding:4px 4px 10px;font-size:12px}
.odp__tot b{font:700 18px var(--display);color:#1d1710}
.odp__cta{display:block;width:100%;padding:13px;border:0;border-radius:14px;background:#c2410c;color:#fff;font:700 13px var(--body);cursor:pointer;transition:transform .3s var(--ease),background .3s}
.odp__cta:hover{background:#9a3412;transform:translateY(-1px)}
.odp__cta--ghost{margin-top:12px;background:#1d1710}
.odp__link{display:block;width:100%;margin-top:8px;padding:8px;border:0;background:none;color:#6b5a44;font:500 11.5px var(--body);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.odp__ok{display:grid;place-items:center;width:46px;height:46px;margin:10px 0 12px;border-radius:50%;background:#16a34a;color:#fff;animation:pop .5s var(--ease)}
.odp__ok .i{width:24px;height:24px;stroke-width:3}
@keyframes pop{from{transform:scale(.5);opacity:0}to{transform:none;opacity:1}}
.odp__track{list-style:none;display:grid;gap:0;margin:8px 4px 12px;padding-left:2px}
.odp__track li{position:relative;padding:0 0 14px 26px;font-size:12px;color:#7a6a56;transition:color .3s}
.odp__track li::before{content:"";position:absolute;left:0;top:2px;width:14px;height:14px;border-radius:50%;border:2px solid #d9c9ad;background:#faf6ee;transition:background .3s,border-color .3s}
.odp__track li::after{content:"";position:absolute;left:6px;top:18px;bottom:-2px;width:2px;background:#e6dbc6}
.odp__track li:last-child::after{display:none}
.odp__track li.is-done{color:#1d1710}
.odp__track li.is-done::before{background:#16a34a;border-color:#16a34a}
.odp__track li.is-now{color:#1d1710;font-weight:700}
.odp__track li.is-now::before{border-color:#c2410c;background:#fff;box-shadow:0 0 0 4px rgba(194,65,12,.18)}
.odp__eta{padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #efe6d6;font-size:11.5px;color:#4a3b29}
.odp__addon{margin-top:8px;font:600 9.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#7a6a56}
.odp__bar{position:absolute;left:10px;right:10px;bottom:10px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 16px;border:0;border-radius:16px;background:#c2410c;color:#fff;font:600 12px var(--body);cursor:pointer;box-shadow:0 14px 30px -10px rgba(194,65,12,.7);animation:pop .4s var(--ease)}
.odp__bar b{font:700 13px var(--body)}
.odp__bar em{font:700 13px var(--display);font-style:normal}

/* ---------- staff dashboard (dark) ---------- */
.window{width:100%;overflow:hidden;border-radius:20px;border:1px solid var(--line-2);background:#0c0c19;box-shadow:0 44px 90px -40px #000,0 0 100px -40px rgba(52,211,153,.35)}
.window__bar{display:flex;align-items:center;gap:6px;padding:11px 14px;background:#13132a;border-bottom:1px solid var(--line)}
.window__bar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.2)}
.window__bar span{margin:0 auto;padding:3px 16px;border-radius:99px;background:rgba(255,255,255,.07);font:500 10.5px var(--mono);letter-spacing:.04em;color:var(--dim)}
.odd{display:grid;gap:14px;padding:16px}
.odd__top{display:flex;justify-content:space-between;align-items:center}
.odd__top b{font:700 17px var(--display);letter-spacing:-.02em}
.odd__live{display:inline-flex;align-items:center;gap:7px;font:600 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.odd__live i{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
.odd__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.odd__stats div{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.035)}
.odd__stats small{display:block;font:600 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.odd__stats b{display:block;margin-top:4px;font:700 22px/1.1 var(--display);letter-spacing:-.03em}
.odd__stats b.is-bump{animation:bump .6s var(--ease)}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.18);color:var(--green)}100%{transform:scale(1)}}
.odd__board{display:grid;gap:10px;grid-template-columns:1fr}
@media (min-width:640px){.odd__board{grid-template-columns:repeat(3,minmax(0,1fr))}}
.odd__lane{min-height:150px;padding:10px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.022)}
.odd__lane h5{display:flex;justify-content:space-between;align-items:center;font:600 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.odd__lane h5 span{min-width:20px;padding:2px 6px;border-radius:99px;background:rgba(255,255,255,.1);color:var(--text);text-align:center;letter-spacing:0}
.odd__cards{display:grid;gap:8px;margin-top:10px;align-content:start}
.odd__card{padding:11px;border-radius:14px;border:1px solid var(--line-2);background:#171730;font-size:12px;animation:cardIn .55s var(--ease)}
@keyframes cardIn{from{opacity:0;transform:translateY(-14px) scale(.96)}to{opacity:1;transform:none}}
.odd__card.no-anim{animation:none}
.odd__card.is-new{border-color:rgba(249,115,22,.8);box-shadow:0 0 0 3px rgba(249,115,22,.14),0 0 40px -10px rgba(249,115,22,.6)}
.odd__card header{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.odd__card header b{font:700 13px var(--display)}
.odd__card time{margin-left:auto;font:500 10px var(--mono);color:var(--faint)}
.badge{padding:3px 7px;border-radius:6px;background:rgba(255,255,255,.1);font:600 9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.badge--del{background:rgba(139,92,246,.34)}
.odd__card ul{list-style:none;display:grid;gap:2px;color:var(--dim);font-size:11.5px}
.odd__card footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}
.odd__card footer span{font:700 12.5px var(--display)}
.odd__go{white-space:nowrap;padding:7px 12px;border:0;border-radius:9px;background:var(--grad);color:#0b0b16;font:700 11.5px var(--body);cursor:pointer;transition:transform .3s var(--ease)}
.odd__go:hover{transform:translateY(-1px) scale(1.03)}
.odd__empty{padding:14px 4px;text-align:center;color:var(--faint);font-size:11px}
.odd__avail{padding:14px;border-radius:16px;border:1px dashed var(--line-2)}
.odd__avail h5{display:flex;align-items:center;gap:10px;margin-bottom:10px;font:600 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.odd__avail h5 em{padding:3px 7px;border-radius:6px;background:rgba(139,92,246,.3);color:#e4dbff;font-style:normal;letter-spacing:.08em}
.odd__avail p{margin-top:10px;color:var(--faint);font-size:11.5px}
.odd__sws{display:flex;flex-wrap:wrap;gap:8px}
.odd__sw{display:inline-flex;align-items:center;gap:9px;padding:7px 12px 7px 8px;border-radius:99px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);font:500 12px var(--body);cursor:pointer;transition:border-color .25s,background .25s}
.odd__sw:hover{border-color:rgba(255,255,255,.4)}
.sw{position:relative;width:28px;height:16px;border-radius:99px;background:rgba(255,255,255,.18);transition:background .3s}
.sw::after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .3s var(--ease)}
.odd__sw[aria-pressed="true"] .sw{background:var(--green)}
.odd__sw[aria-pressed="true"] .sw::after{transform:translateX(12px)}
.odd__sw[aria-pressed="false"]{color:var(--faint)}

@media (max-width:639px){
  .odd{padding:12px}
  .odd__lane{min-height:0}
  .odd__stats{gap:8px}
  .odd__stats div{padding:10px}
  .odd__stats b{font-size:18px}
  .odd__stats small{letter-spacing:.06em}
}

/* /ordering-dashboard/: the full dashboard demo, tags, feature tour. */
.tag{display:inline-block;padding:3px 8px;border-radius:6px;font:600 10px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.tag--included{background:rgba(52,211,153,.16);color:#8ef0c6}
.tag--addon{background:rgba(139,92,246,.3);color:#e4dbff}
.tag--custom{background:rgba(249,115,22,.22);color:#ffd2ac}
.tag--sample{background:rgba(255,255,255,.1);color:var(--dim)}
.compare--slim table{min-width:0}
.compare--slim th{font-weight:500;color:var(--text);text-align:left;position:static;background:none;min-width:0}
.compare--slim td{text-align:left;color:var(--dim)}

/* ---------- the app ---------- */
.dx{display:grid;gap:22px;align-items:start}
@media (min-width:1280px){.dx{grid-template-columns:minmax(0,1fr) 316px}}
.dx__app{position:relative;min-width:0}
.dx__body{display:grid;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.dx__body{grid-template-columns:200px minmax(0,1fr)}}
.dx__side{display:flex;flex-direction:column;gap:14px;padding:14px;background:#0d0d1b;border-bottom:1px solid var(--line)}
@media (min-width:900px){.dx__side{border-bottom:0;border-right:1px solid var(--line);min-height:700px}}
.dx__brand b{display:block;font:700 15px var(--display);letter-spacing:-.02em}
.dx__brand small{font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.dx__nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.dx__nav::-webkit-scrollbar{display:none}
@media (min-width:900px){.dx__nav{flex-direction:column;overflow:visible}}
.dx__nav button{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid transparent;border-radius:12px;background:none;color:var(--dim);font:500 14px/1 var(--body);cursor:pointer;white-space:nowrap;transition:background .25s,color .25s}
.dx__nav button:hover{color:var(--text);background:rgba(255,255,255,.05)}
.dx__nav button[aria-selected="true"]{background:rgba(255,255,255,.08);border-color:var(--line-2);color:var(--text)}
.dx__nav .i{width:18px;height:18px}
.dx__nav em{margin-left:auto;min-width:20px;padding:2px 6px;border-radius:99px;background:var(--grad);color:#0b0b16;font:700 11px/1.3 var(--display);font-style:normal;text-align:center}
.dx__sidefoot{display:flex;flex-wrap:wrap;gap:10px 16px}
@media (min-width:900px){.dx__sidefoot{display:grid;margin-top:auto}}
.dx__sw{position:relative;display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--dim);cursor:pointer}
.dx__sw input{position:absolute;opacity:0;width:28px;height:16px;margin:0;cursor:pointer}
.dx__sw input:checked+.sw{background:var(--green)}
.dx__sw input:checked+.sw::after{transform:translateX(12px)}
.dx__sw input:focus-visible+.sw{outline:2px solid var(--orange);outline-offset:3px}
.dx__sw--row{color:var(--text)}
.dx__main{min-width:0;padding:18px;container-type:inline-size;background:#0c0c19}
.dx__panel{display:grid;gap:16px;align-content:start;animation:viewIn .4s var(--ease)}
.dx__panel.is-busy{opacity:.55;transition:opacity .15s}
.dx__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.dx__head h3{font:700 18px var(--display);letter-spacing:-.025em}
.dx__tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.dx__live{display:inline-flex;align-items:center;gap:7px;font:600 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.dx__live i{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 1.8s ease-in-out infinite}
.dx__paused{font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#fbbf24}
.dx__lead,.dx__foot{color:var(--faint);font-size:12.5px}
.dx__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@container (min-width:520px){.dx__stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.dx__stat{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.035)}
.dx__stat small,.dx__hero small{display:block;font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.dx__stat b{display:block;margin-top:4px;font:700 20px/1.1 var(--display);letter-spacing:-.03em}

/* orders board */
.dx__board{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
@container (min-width:420px){.dx__board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (min-width:690px){.dx__board{grid-template-columns:repeat(4,minmax(0,1fr))}}
.dx__lane{min-height:120px;padding:10px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.022)}
.dx__lane h4{display:flex;justify-content:space-between;align-items:center;font:600 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.dx__lane h4 span{min-width:20px;padding:2px 6px;border-radius:99px;background:rgba(255,255,255,.1);color:var(--text);text-align:center;letter-spacing:0}
.dx__cards{display:grid;gap:8px;margin-top:10px;align-content:start}
.dx__empty{padding:14px 4px;text-align:center;color:var(--faint);font-size:11.5px}
.dx__card{position:relative;display:grid;gap:7px;padding:11px;border-radius:14px;border:1px solid var(--line-2);background:#161632;font-size:12px;cursor:pointer;animation:cardIn .5s var(--ease);transition:border-color .25s,box-shadow .25s}
.dx__card:hover{border-color:rgba(255,255,255,.34)}
.dx__card.is-sel{border-color:rgba(139,92,246,.8);box-shadow:0 0 0 3px rgba(139,92,246,.16)}
.dx__card--new{border-color:rgba(249,115,22,.7);box-shadow:0 0 0 3px rgba(249,115,22,.12),0 0 40px -12px rgba(249,115,22,.6)}
.dx__card header{display:flex;align-items:center;gap:8px}
.dx__card header b{font:700 13px var(--display)}
.dx__nm{color:var(--dim);font-size:12px}
.dx__card time{margin-left:auto;font:500 10px var(--mono);color:var(--faint)}
.dx__bds{display:flex;flex-wrap:wrap;gap:5px}
.badge--pay{background:rgba(255,255,255,.06);color:var(--dim)}
.badge--you{background:var(--grad);color:#0b0b16}
.dx__items{list-style:none;display:grid;gap:2px;color:var(--dim);font-size:11.5px}
.dx__note{padding:6px 8px;border-radius:8px;background:rgba(251,191,36,.1);color:#fcd34d;font-size:11px}
.dx__ttl{height:3px;border-radius:2px;background:rgba(255,255,255,.1);overflow:hidden}
.dx__ttl i{display:block;width:100%;height:100%;border-radius:2px;background:var(--grad);transition:width 1s linear}
.dx__ttl--go i{background:var(--green);width:0}
.dx__cd{font-size:11px;color:var(--dim)}
.dx__cd b{font:700 12px var(--mono);color:var(--text)}
.dx__card footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}
.dx__tot{font:700 12.5px var(--display)}
.dx__eta{font:500 10.5px var(--mono);color:var(--dim)}
.dx__btns{display:flex;gap:6px}
.dx__btn{padding:7px 12px;border:0;border-radius:9px;background:var(--grad);color:#0b0b16;font:700 11.5px var(--body);white-space:nowrap;cursor:pointer;transition:transform .3s var(--ease)}
.dx__btn:hover{transform:translateY(-1px) scale(1.03)}
.dx__btn--ghost{background:rgba(255,255,255,.08);color:var(--text);border:1px solid var(--line-2)}
.dx__pick{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%}
.dx__pick--col{flex-direction:column;align-items:stretch}
.dx__pick small{width:100%;color:var(--faint);font-size:10.5px}
.dx__chip{padding:6px 10px;border-radius:99px;border:1px solid var(--line-2);background:rgba(255,255,255,.06);color:var(--text);font:600 11px var(--body);cursor:pointer;transition:background .25s,border-color .25s}
.dx__chip:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4)}
.dx__pick--col .dx__chip{text-align:left;border-radius:10px}
.dx__x{margin-left:auto;width:24px;height:24px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:var(--dim);font-size:15px;line-height:1;cursor:pointer}
.dx__detail{padding:14px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.025)}
.dx__dh{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;margin-bottom:10px}
.dx__dh b{font:700 15px var(--display)}
.dx__dh span{color:var(--dim);font-size:12px}
.dx__dgrid{display:grid;gap:14px}
@container (min-width:560px){.dx__dgrid{grid-template-columns:1.2fr 1fr}}
.dx__dlines,.dx__tl{list-style:none;display:grid;gap:6px;font-size:12.5px}
.dx__dlines li,.dx__tl li{display:flex;justify-content:space-between;gap:12px}
.dx__dlines em{font-style:normal;font:600 12px var(--display)}
.dx__dt{padding-top:8px;border-top:1px solid var(--line);font-weight:700}
.dx__tl li{color:var(--dim)}
.dx__tl time{font:500 10.5px var(--mono);color:var(--faint)}

/* menu */
.dx__menu{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.dx__mi{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;padding:10px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.dx__mi img{width:56px;height:56px;border-radius:12px;object-fit:cover}
.dx__mi b{display:block;font:600 13.5px var(--display)}
.dx__mi small{color:var(--faint);font-size:11.5px}
.dx__mi .dx__sw{grid-column:1/-1}
.dx__mi.is-off{opacity:.65}

/* deliveries */
.dx__deliv{display:grid;gap:14px}
@container (min-width:700px){.dx__deliv{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
.dx__map{border-radius:16px;border:1px solid var(--line);overflow:hidden;background:#0a0a18}
.dx__map{display:grid;min-height:280px}
.dx__mapsvg{display:block;width:100%;height:100%;min-height:280px}
.mp-bg{fill:#0b0b1a}
.mp-sea{fill:rgba(56,189,248,.09)}
.mp-st{fill:none;stroke:rgba(255,255,255,.07);stroke-width:5}
.mp-st--main{stroke:rgba(255,255,255,.12);stroke-width:8}
.mp-ring{fill:none;stroke:rgba(255,255,255,.1);stroke-width:1}
.mp-zone{fill:rgba(139,92,246,.13);stroke:#8b5cf6;stroke-width:1.5;transition:rx .4s var(--ease),ry .4s var(--ease)}
.mp-restdot{fill:#f97316;stroke:#fff;stroke-width:2}
.mp-cust{fill:#ee4f93;stroke:#0b0b1a;stroke-width:2}
.mp-cust.is-out{fill:#ef4444}
.mp-labbg{fill:rgba(11,11,26,.9)}
.mp-lab{fill:var(--text);font:600 10.5px var(--mono)}
.mp-drv{fill:#34d399;stroke:#0b0b1a;stroke-width:2}
.mp-drvt{fill:#06251a;font:700 10px var(--display)}
.dx__dside{display:grid;gap:10px;align-content:start}
.dx__box{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);display:grid;gap:10px}
.dx__box h4{font:600 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.dx__rl{display:flex;justify-content:space-between;font-size:13px;color:var(--dim)}
.dx__rl b{color:var(--text);font:700 14px var(--display)}
.dx__box input[type="range"]{width:100%;accent-color:#8b5cf6}
.dx__fine{color:var(--faint);font-size:11.5px}
.dx__ft{width:100%;border-collapse:collapse;font-size:12.5px}
.dx__ft th,.dx__ft td{padding:5px 0;text-align:left;font-weight:500;color:var(--dim)}
.dx__ft td:nth-child(2){text-align:right;color:var(--text);font-weight:600}
.dx__drv{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-size:12.5px}
.dx__drv i{width:9px;height:9px;border-radius:50%;background:var(--green)}
.dx__drv.is-busy i{background:#fbbf24}
.dx__drv span{color:var(--dim);font-size:11.5px}

/* customers */
.dx__find{position:relative;max-width:320px}
.dx__find .i{position:absolute;left:12px;top:50%;margin-top:-9px;width:18px;height:18px;color:var(--faint)}
.dx__find input{width:100%;padding:11px 14px 11px 38px;border-radius:12px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);color:var(--text);font:400 14px var(--body)}
.dx__find input:focus{outline:0;border-color:var(--orange);box-shadow:0 0 0 3px rgba(249,115,22,.18)}
.dx__tablewrap{border-radius:16px}
.dx__table{width:100%;min-width:520px;border-collapse:separate;border-spacing:0;font-size:12.5px}
.dx__table th,.dx__table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.dx__table thead th{font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.dx__table tbody th{position:static;background:none;color:var(--text);font-weight:600;min-width:0}
.dx__table td{color:var(--dim)}
.dx__table tr:last-child th,.dx__table tr:last-child td{border-bottom:0}
.compare .dx__table td:nth-child(4),.compare .dx__table thead th:nth-child(4){background:none}
.compare .dx__table tr:last-child td{font-weight:400;color:var(--dim)}
.dx__stamps{display:inline-flex;gap:3px}
.dx__stamps i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.14)}
.dx__stamps i.on{background:#fbbf24}

/* analytics: filter row, KPIs, charts (thin marks, hairline grid, one colour per single series) */
.dx__filter{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:12px;background:rgba(255,255,255,.05);justify-self:start}
.dx__filter button{padding:8px 14px;border:0;border-radius:9px;background:none;color:var(--dim);font:500 13px var(--body);cursor:pointer;transition:background .2s,color .2s}
.dx__filter button[aria-checked="true"]{background:rgba(255,255,255,.12);color:var(--text)}
.dx__kpis{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
@container (min-width:620px){.dx__kpis{grid-template-columns:1.4fr repeat(3,minmax(0,1fr))}}
.dx__hero{grid-column:1/-1;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.035)}
@container (min-width:620px){.dx__hero{grid-column:auto}}
.dx__hero b{display:block;margin-top:2px;font:700 clamp(2.4rem,5vw,3.2rem)/1 var(--display);letter-spacing:-.04em}
.dx__delta{display:block;margin-top:4px;font:500 11px var(--body)}
.dx__delta.is-up{color:#4ade80}
.dx__delta.is-dn{color:#f87171}
.dx__charts{display:grid;gap:12px}
@container (min-width:640px){.dx__charts{grid-template-columns:repeat(2,minmax(0,1fr))}.dx__charts>.dx__chart:first-child,.dx__charts>.dx__chart:last-child{grid-column:1/-1}}
.dx__chart{position:relative;min-width:0;margin:0;padding:14px;border-radius:16px;border:1px solid var(--line);background:#12122a}
.dx__chart figcaption{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}
.dx__chart figcaption b{display:block;font:600 14px var(--display)}
.dx__chart figcaption small{color:var(--faint);font-size:11.5px}
.dx__tg{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:9px;border:1px solid var(--line-2);background:none;color:var(--dim);font:500 11.5px var(--body);cursor:pointer}
.dx__tg .i{width:13px;height:13px}
.dx__tg[aria-pressed="true"]{background:rgba(255,255,255,.1);color:var(--text)}
.dx__host{min-height:60px;transition:opacity .2s}
.dx__host svg{display:block;max-width:none;overflow:visible}
.ch-grid{stroke:rgba(255,255,255,.07);stroke-width:1}
.ch-tx{fill:var(--faint);font:500 11px var(--body)}
.ch-tx1{fill:var(--text);font-weight:600}
.ch-tx2{fill:var(--dim)}
.ch-line{fill:none;stroke:#8b5cf6;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ch-area{fill:#8b5cf6;fill-opacity:.1}
.ch-dot{fill:#8b5cf6;stroke:#12122a;stroke-width:2}
.ch-cross{stroke:rgba(255,255,255,.35);stroke-width:1}
.ch-bar{fill:#8b5cf6;outline:0;transition:fill .15s}
.ch-bar:hover,.ch-bar.is-hot,.ch-bar:focus{fill:#a48bf8}
.ch-seg{outline:0;transition:opacity .15s}
.ch-seg--a{fill:#8b5cf6}
.ch-seg--b{fill:#d95926}
.ch-seg:hover,.ch-seg:focus{opacity:.82}
.dx__legend{display:flex;gap:16px;margin-top:4px;font-size:12px;color:var(--dim)}
.dx__legend span{display:inline-flex;align-items:center;gap:7px}
.k{display:inline-block;width:14px;height:3px;border-radius:2px;background:var(--dim)}
.k--v{background:#8b5cf6}
.k--b{background:#d95926}
.dx__tip{position:absolute;z-index:5;min-width:120px;padding:8px 10px;border-radius:10px;background:#1c1c3c;border:1px solid var(--line-2);box-shadow:0 14px 30px -10px #000;pointer-events:none}
.dx__tip small{display:block;color:var(--faint);font-size:11px;margin-bottom:3px}
.dx__tip div{display:flex;align-items:center;gap:7px}
.dx__tip b{font:700 14px var(--display)}
.dx__tip span{color:var(--dim);font-size:11.5px}
.dx__toast{position:absolute;left:50%;bottom:14px;z-index:8;max-width:calc(100% - 28px);margin:0;padding:10px 16px;border-radius:12px;background:#1d1d40;border:1px solid var(--line-2);box-shadow:0 20px 40px -14px #000;font-size:12.5px;text-align:center;transform:translate(-50%,16px);opacity:0;pointer-events:none;transition:opacity .3s,transform .4s var(--ease)}
.dx__toast.is-on{opacity:1;transform:translate(-50%,0)}

/* the customer's phone */
.dx__phonebox{display:grid;gap:12px;justify-items:center}
@media (min-width:1280px){.dx__phonebox{position:sticky;top:calc(var(--hdr) + 20px)}}
.dx__hint{max-width:30ch;text-align:center;color:var(--dim);font-size:.88rem}
.dxp{display:flex;flex-direction:column}
.dxp__tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:2px 12px 8px;padding:4px;border-radius:12px;background:#efe6d6}
.dxp__tabs button{padding:8px 4px;border:0;border-radius:9px;background:transparent;font:600 11.5px var(--body);color:#5b4a36;cursor:pointer}
.dxp__tabs button.is-on{background:#1d1710;color:#fff}
.dxp__banner{margin:0 0 8px;padding:9px 11px;border-radius:12px;background:#fde68a;color:#78350f;font:600 11.5px var(--body)}
.dxp__empty{padding:30px 10px;text-align:center;color:#6f5f4b;font-size:12px}
.odp__ok--no{background:#dc2626}

/* ---------- feature tour ---------- */
.tour{list-style:none;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.tour__c{position:relative;display:grid;gap:8px;align-content:start;padding:22px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015))}
.tour__c .tag{justify-self:start;order:-1;margin-bottom:6px}
.tour__ic{position:absolute;right:20px;top:20px;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,rgba(249,115,22,.22),rgba(139,92,246,.22));border:1px solid var(--line-2)}
.tour__ic .i{width:20px;height:20px}
.tour__c h3{font:700 1.08rem/1.25 var(--display);letter-spacing:-.02em;padding-right:48px}
.tour__c p{color:var(--dim);font-size:.92rem}

/* /booking-system/: customer phone + owner calendar demo, booking-style toggle, "two ways" cards. */
.ways{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.way{display:grid;gap:12px;align-content:start;padding:clamp(22px,3vw,34px);border-radius:28px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015))}
.way .tag{justify-self:start}
.way h3{font:700 clamp(1.3rem,2vw,1.6rem)/1.15 var(--display);letter-spacing:-.025em}
.way p{color:var(--dim)}
.way .ticks{margin-top:4px}

/* booking-style toggle */
.bk__mode{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:99px;border:1px solid var(--line-2);background:rgba(255,255,255,.05)}
.bk__mode button{padding:11px 18px;border:0;border-radius:99px;background:none;color:var(--dim);font:600 14px/1.1 var(--body);cursor:pointer;transition:background .25s,color .25s}
.bk__mode button:hover{color:var(--text)}
.bk__mode button[aria-pressed="true"]{background:var(--grad);color:#0b0b16}

/* ---------- the customer's phone ---------- */
.bkp .odp__top{padding-bottom:6px}
.bkp__prog{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:5px;padding:2px 14px 8px}
.bkp__prog i{height:3px;border-radius:2px;background:#e6dbc6;transition:background .35s}
.bkp__prog i.on{background:#c2410c}
.bkp__body{flex:1;min-height:0;overflow-y:auto;padding:4px 12px 88px;scrollbar-width:none}
.bkp__body::-webkit-scrollbar{display:none}
.bkp__body.is-in{animation:viewIn .45s var(--ease)}
.bkp__tr{display:flex;align-items:center;gap:8px;margin:2px 0 12px}
.bkp__tr h4,.bkp__big{margin:0;font:700 17px/1.2 var(--display);letter-spacing:-.02em;color:#1d1710}
.bkp__tr h4:focus,.bkp__big:focus{outline:0}
.bkp__big{margin-bottom:10px;font-size:18px}
.bkp__back{display:grid;place-items:center;flex:none;width:28px;height:28px;margin-left:-2px;border:0;border-radius:50%;background:#efe6d6;color:#1d1710;cursor:pointer;transition:background .2s,transform .3s var(--ease)}
.bkp__back:hover{background:#e3d6bf;transform:translateX(-2px)}
.bkp__back .i{width:14px;height:14px;stroke-width:2.4}
.bkp__list{display:grid;gap:8px}
.bkp__opt{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px;border-radius:14px;border:1px solid #efe6d6;background:#fff;color:#1d1710;font:inherit;text-align:left;cursor:pointer;transition:transform .3s var(--ease),border-color .25s,box-shadow .25s}
.bkp__opt:hover{border-color:#d9c9ad;transform:translateY(-1px)}
.bkp__opt.is-on{border-color:#1d1710;box-shadow:0 0 0 1px #1d1710 inset}
.bkp__opt b{display:block;font:600 13px/1.25 var(--body)}
.bkp__opt small{display:block;color:#6f5f4b;font-size:10.5px}
.bkp__opt em{font:700 13px var(--display);font-style:normal;color:#c2410c}
.bkp__opt>.i{width:14px;height:14px;color:#6f5f4b}
.bkp__opt--who{justify-content:flex-start}
.bkp__av{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#1d1710;color:#faf6ee;font:700 14px var(--display);font-style:normal}
.bkp__days{display:flex;gap:6px;margin:0 -12px 8px;padding:2px 12px 6px;overflow-x:auto;scrollbar-width:none}
.bkp__days::-webkit-scrollbar{display:none}
.bkp__day{flex:none;display:grid;gap:1px;justify-items:center;width:44px;padding:7px 0;border-radius:12px;border:1px solid #efe6d6;background:#fff;color:#1d1710;font:inherit;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .3s var(--ease)}
.bkp__day:hover:not(:disabled){border-color:#1d1710;transform:translateY(-1px)}
.bkp__day small{font:600 9.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#6f5f4b}
.bkp__day b{font:700 15px var(--display)}
.bkp__day.is-on{background:#1d1710;border-color:#1d1710;color:#fff}
.bkp__day.is-on small{color:#d9c9ad}
.bkp__day:disabled{background:transparent;border-style:dashed;opacity:.45;cursor:not-allowed}
.bkp__sub{margin:0 0 10px;color:#6b5a44;font-size:11px}
.bkp__slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.bkp__slot{padding:10px 0;border-radius:10px;border:1px solid #d9c9ad;background:#fff;color:#1d1710;font:600 12px var(--body);cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .3s var(--ease)}
.bkp__slot:hover:not(:disabled){border-color:#1d1710;transform:translateY(-1px)}
.bkp__slot.is-on{background:#1d1710;border-color:#1d1710;color:#fff}
.bkp__slot:disabled{background:transparent;border-color:#efe6d6;color:#a89a85;text-decoration:line-through;cursor:not-allowed}
.bkp__legend{display:flex;align-items:center;gap:6px;margin:10px 0 0;color:#6b5a44;font-size:10.5px}
.lg{display:inline-block;width:10px;height:10px;border-radius:3px;border:1px solid #d9c9ad;background:#fff}
.lg--taken{margin-left:8px;border-color:#efe6d6;background:#e6dbc6}
.bkp__sum{display:grid;gap:2px;margin-bottom:12px;padding:12px;border-radius:14px;background:#fff;border:1px solid #efe6d6}
.bkp__sum b{font:700 14px var(--display);color:#1d1710}
.bkp__sum span{font-size:11.5px;color:#6b5a44}
.bkp__sum .bkp__cx{margin-top:4px;color:#b3401a;font-weight:600}
.bkp__form{display:grid;gap:10px}
.bkp__form label{display:grid;gap:4px;font:600 11px var(--body);color:#5b4a36}
.bkp__form label small{font-weight:400;color:#6f5f4b}
.bkp__form input{width:100%;padding:11px 12px;border-radius:11px;border:1px solid #d9c9ad;background:#fff;color:#1d1710;font:400 13px var(--body)}
.bkp__form input::placeholder{color:#7a6a56}
.bkp__form input:focus{outline:0;border-color:#c2410c;box-shadow:0 0 0 3px rgba(194,65,12,.18)}
@media (pointer:coarse){.bkp__form input{font-size:16px}}
.bkp__err{margin:8px 0 0;min-height:1.2em;color:#b3401a;font:600 11.5px/1.35 var(--body)}
.bkp .odp__bar span,.bkp .odp__bar em{flex:1}
.bkp .odp__bar em{text-align:right}
.bkp button:focus-visible,.bkp input:focus-visible{outline:2px solid #c2410c;outline-offset:2px}
/* chat bubbles: light in the phone, dark in the owner's inbox */
.bkp__b{display:flex;flex-direction:column;align-items:flex-start;margin:8px 0}
.bkp__b span{max-width:88%;padding:8px 11px;border-radius:14px;font-size:11.5px;line-height:1.4}
.bkp__b small{margin:0 0 3px 4px;color:#6f5f4b;font-size:10.5px}
.bkp__b--out{align-items:flex-end}
.bkp .bkp__b--in span{background:#fff;border:1px solid #efe6d6;border-top-left-radius:4px;color:#2a2118}
.bkp .bkp__b--out span{background:#d9fdd3;border-top-right-radius:4px;color:#1d3a1a}
.bkp__wa{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 -12px 8px;padding:9px 12px;background:#0f5b3a;color:#fff}
.bkp__wa b{font:700 12.5px var(--body)}
.bkp__wa span{font-size:10.5px;opacity:.85}
.bkp__wait{margin:12px 0 0;color:#6b5a44;font-size:11px;text-align:center}

/* ---------- the owner's calendar ---------- */
.bko{display:grid;gap:12px;align-content:start;padding:14px;background:#0c0c19}
@media (min-width:980px){.bko{min-height:760px}}
.bko__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.bko__tabs{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:rgba(255,255,255,.05)}
.bko__tabs button{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:0;border-radius:9px;background:none;color:var(--dim);font:500 13px var(--body);cursor:pointer;transition:background .2s,color .2s}
.bko__tabs button:hover{color:var(--text)}
.bko__tabs button.is-on{background:rgba(255,255,255,.12);color:var(--text)}
.bko__tabs em{min-width:18px;padding:1px 6px;border-radius:99px;background:var(--grad);color:#0b0b16;font:700 10.5px/1.6 var(--display);font-style:normal;text-align:center}
.bko__panel{display:grid;gap:12px;align-content:start;animation:viewIn .35s var(--ease)}
.bko__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.bko__nav{display:inline-flex;align-items:center;gap:6px}
.bko__nav b{min-width:98px;text-align:center;font:700 15px var(--display);letter-spacing:-.02em}
.bko__nav button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line-2);border-radius:50%;background:rgba(255,255,255,.05);color:var(--text);cursor:pointer;transition:background .2s}
.bko__nav button:hover{background:rgba(255,255,255,.14)}
.bko__nav .i{width:15px;height:15px}
.bko .bko__stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.bko__stats .dx__stat{padding:10px 12px}
.bko__stats .dx__stat b{font-size:clamp(1.05rem,2.4vw,1.25rem);white-space:nowrap}
.bko__sub{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* one hour = 56px (4 units of 14px); keep in step with PX in booking.js */
.bko__grid{display:grid;grid-template-columns:42px repeat(2,minmax(0,1fr));border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.02);overflow:hidden}
.bko__corner{border-bottom:1px solid var(--line)}
.bko__colh{padding:9px 8px;border-bottom:1px solid var(--line);border-left:1px solid var(--line);font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);text-align:center}
.bko__time{position:relative;height:448px}
.bko__time span{position:absolute;right:6px;font:500 10px var(--mono);color:var(--faint)}
.bko__col{position:relative;height:448px;border-left:1px solid var(--line);background:repeating-linear-gradient(180deg,transparent 0 55px,rgba(255,255,255,.07) 55px 56px)}
.bko__break{position:absolute;left:0;right:0;display:grid;place-items:center;background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 6px,transparent 6px 12px);color:var(--faint);font:600 10px var(--mono);letter-spacing:.16em;text-transform:uppercase}
.bko__blk{--c:#8b5cf6;position:absolute;left:4px;right:4px;display:flex;align-items:baseline;gap:6px;padding:3px 8px;border:0;border-left:3px solid var(--c);border-radius:8px;background:#1c1c3c;background:color-mix(in srgb,var(--c) 24%,#14142b);color:var(--text);font:inherit;text-align:left;overflow:hidden;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s}
.bko__blk--a{--c:#8b5cf6}
.bko__blk--n{--c:#f97316}
.bko__blk b{flex:none;max-width:62%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 11.5px/1.3 var(--display)}
.bko__blk small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dim);font-size:10.5px}
.bko__blk:hover{transform:translateX(1px);box-shadow:0 6px 18px -8px #000}
.bko__blk.is-sel{box-shadow:0 0 0 2px #fff}
.bko__blk.is-mine{border-left-color:#fff;background:var(--grad);color:#0b0b16}
.bko__blk.is-mine small{color:#0b0b16;opacity:.78}
.bko__blk.is-short{align-items:center;padding-block:0;line-height:12px}
.bko__blk.is-short b,.bko__blk.is-short small{font-size:10px;line-height:12px}
.bko__blk.is-fresh{animation:blkIn .7s var(--ease)}
@keyframes blkIn{0%{opacity:0;transform:scale(.88)}55%{box-shadow:0 0 0 7px rgba(249,115,22,.4)}100%{opacity:1;transform:none}}
.bko__detail{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--dim);font-size:12.5px}
.bko__detail b{color:var(--text)}
.bko__inbox{display:grid;gap:12px}
.bko__thread{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.025)}
.bko__thread .dx__pick{margin-top:8px}
.bko .bkp__b small{color:var(--faint)}
.bko .bkp__b--in span{background:#1d1d40;border:1px solid var(--line-2);border-top-left-radius:4px;color:var(--text)}
.bko .bkp__b--out span{background:#134e3a;border-top-right-radius:4px;color:#d1fae5}
@media (max-width:639px){
  .bko{padding:10px}
  .bko__tabs button{padding:8px 10px}
  .bko__grid{grid-template-columns:38px repeat(2,minmax(0,1fr))}
  .bko__time span{right:4px}
}

/* /nfc-google-reviews/: the plaque, the tap demo, the designer, the "fair by design" diagram. */

/* ================= the plaque (shared by the demo and the designer) ================= */
.plq{--ac:#f97316;--ac2:#8b5cf6;--ink-ac:#0b0b16;--ink-g:#0b0b16;--bg:linear-gradient(160deg,#1d1d3d,#0d0d1f);--ink:#fff;--dim:rgba(255,255,255,.7);--dimo:1;--ring:var(--ac);--line:rgba(255,255,255,.14);position:relative;display:block;width:100%;container-type:inline-size;color:var(--ink);font-family:var(--body);text-align:center}
.plq--dark{--bg:linear-gradient(160deg,#1f1f42,#0d0d1f)}
.plq--light{--bg:linear-gradient(160deg,#ffffff,#e9ebf3);--ink:#12122a;--dim:rgba(18,18,42,.66);--line:rgba(18,18,42,.14)}
.plq--gradient{--bg:linear-gradient(145deg,var(--ag1,var(--ac)),var(--ag2,var(--ac2)));--ink:var(--ink-g);--dim:var(--ink-g);--dimo:1;--ring:var(--ink-g);--line:rgba(255,255,255,.3)}
.plq--glass{--bg:linear-gradient(rgba(8,8,28,.46),rgba(8,8,28,.46)),linear-gradient(160deg,rgba(255,255,255,.24),rgba(255,255,255,.07));--ink:#fff;--dim:rgba(255,255,255,.9);--line:rgba(255,255,255,.42)}
.plq--paper{--bg:linear-gradient(160deg,#f7f0e1,#eadfc6);--ink:#2a2118;--dim:rgba(42,33,24,.76);--line:rgba(42,33,24,.2)}
.plq__face{position:relative;display:grid;align-content:center;justify-items:center;gap:3.4cqw;width:100%;padding:8cqw 7cqw;border-radius:8cqw;background:var(--bg);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 1px 0 rgba(255,255,255,.22),0 2px 0 rgba(255,255,255,.12),0 3px 0 rgba(255,255,255,.06),0 34px 50px -22px rgba(0,0,0,.85)}
.plq--glass .plq__face{backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5)}
.plq--stand .plq__face{aspect-ratio:3/4.1}
.plq--card .plq__face{aspect-ratio:1.5}
.plq--disc .plq__face{aspect-ratio:1;overflow:hidden}
.plq__name{max-width:100%;min-height:1.2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 4.2cqw/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);opacity:var(--dimo)}
.plq__nfc{position:relative;display:grid;place-items:center;width:24cqw;aspect-ratio:1;margin-block:6.5cqw 5.5cqw;border-radius:50%;background:var(--ring);color:var(--ink-ac);box-shadow:0 0 0 2.2cqw color-mix(in srgb,var(--ring) 24%,transparent),0 0 0 4.2cqw color-mix(in srgb,var(--ring) 11%,transparent)}
.plq--gradient .plq__nfc{color:var(--ac)}
.plq__nfc .i{width:56%;height:56%;stroke-width:1.9}
.plq__ripple{position:absolute;inset:0;border-radius:50%;border:2px solid var(--ring);opacity:0;animation:plqRipple 2.8s ease-out infinite}
.plq__ripple+.plq__ripple{animation-delay:1.4s}
@keyframes plqRipple{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.9)}}
.plq__head{display:block;max-width:100%;font:700 9.4cqw/1.05 var(--display);letter-spacing:-.03em;text-wrap:balance;overflow-wrap:anywhere}
.plq--long .plq__head{font-size:7.6cqw}
.plq--xl .plq__head{font-size:6.2cqw}
.plq--disc.plq--long .plq__head{font-size:7cqw}
.plq--disc.plq--xl .plq__head{font-size:5.6cqw}
.plq--card.plq--long .plq__head{font-size:6.4cqw}
.plq--card.plq--xl .plq__head{font-size:5.2cqw}
.plq__sub{display:block;max-width:92%;font:500 4.6cqw/1.35 var(--body);color:var(--dim);opacity:var(--dimo);text-wrap:balance}
.plq__sub--alt{font-size:4.1cqw}
.plq__stars{display:flex;gap:1.3cqw}
.plq__st{width:6.6cqw;height:6.6cqw;fill:var(--ac)}
.plq--gradient .plq__st{fill:var(--ink-g)}
.plq__qr{display:grid;gap:1.6cqw;justify-items:center}
.plq__qr svg{box-sizing:border-box;width:22cqw;height:22cqw;padding:1.8cqw;border-radius:2cqw;background:#fff;fill:#0b0b16}
.plq__qr small{white-space:nowrap;font:600 3cqw/1.2 var(--mono);letter-spacing:.04em;color:var(--dim);opacity:var(--dimo)}
.plq__glare{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--gx,30%) var(--gy,20%),rgba(255,255,255,.38),transparent 58%);mix-blend-mode:soft-light;pointer-events:none}
/* sticker */
.plq--disc .plq__face{border-radius:50%;padding:13cqw 12cqw;gap:3cqw}
.plq--disc .plq__nfc{width:26cqw;margin-block:5cqw 4.5cqw}
.plq--disc .plq__head{font-size:9cqw}
.plq--disc .plq__name{font-size:3.6cqw}
.plq--disc .plq__sub,.plq--disc .plq__stars{display:none}
/* counter card */
.plq--card .plq__face{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);grid-template-areas:"name nfc" "head nfc" "sub qr" "alt qr" "stars qr";justify-items:start;align-content:center;text-align:left;gap:2cqw 5cqw;padding:7cqw 8cqw;border-radius:6cqw}
.plq--card .plq__name{grid-area:name;font-size:3.2cqw}
.plq--card .plq__nfc{grid-area:nfc;justify-self:center;width:19cqw;margin-block:3cqw}
.plq--card .plq__head{grid-area:head;font-size:7.6cqw}
.plq--card .plq__sub{grid-area:sub;font-size:3.5cqw;max-width:100%}
.plq--card .plq__sub--alt{grid-area:alt;font-size:3.1cqw}
.plq--card .plq__stars{grid-area:stars}
.plq--card .plq__st{width:5cqw;height:5cqw}
.plq--card .plq__qr{grid-area:qr;justify-self:center;align-self:start}
.plq--card .plq__qr svg{width:17cqw;height:17cqw}
.plq--card .plq__qr small{font-size:2.3cqw}
/* stand: a soft contact shadow under the base */
.plq--stand::after{content:"";position:absolute;left:8%;right:8%;bottom:-7cqw;height:6cqw;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent);pointer-events:none}
@media (prefers-reduced-motion:reduce){.plq__ripple{display:none}}

/* ================= the tap demo ================= */
.nfc{display:grid;gap:14px}
.nfc__stage{display:grid;gap:18px;align-items:stretch}
@media (min-width:1080px){.nfc__stage{grid-template-columns:minmax(0,1fr) 340px}}
.nfc__scene{position:relative;container-type:inline-size;height:clamp(600px,56vw,680px);overflow:hidden;border-radius:32px;border:1px solid var(--line-2);background:radial-gradient(60% 55% at 24% 42%,rgba(249,115,22,.22),transparent 70%),radial-gradient(55% 55% at 84% 16%,rgba(139,92,246,.28),transparent 70%),linear-gradient(180deg,#0e0e22,#0a0a16);box-shadow:0 44px 90px -40px #000}
.nfc__table{position:absolute;left:-12%;right:-12%;bottom:-8%;height:46%;transform:perspective(900px) rotateX(62deg);transform-origin:50% 100%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 2px,transparent 2px 70px),linear-gradient(180deg,#25254a,#12122a 70%);border-top:1px solid rgba(255,255,255,.16);box-shadow:0 -50px 90px -30px rgba(249,115,22,.22)}
.nfc__badge{position:absolute;right:16px;top:14px;z-index:5;margin:0;padding:4px 10px;border-radius:99px;background:rgba(255,255,255,.08);font:600 10px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.nfc__a{position:absolute;width:1px;height:1px;pointer-events:none}
.nfc__a--home{left:78%;top:58%}
.nfc__a--tap{left:50%;top:47%}
.nfc__a--read{left:63%;top:50%}
.nfc__plaque{position:absolute;z-index:2;left:10%;bottom:19%;width:clamp(150px,29cqw,280px);padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;transition:transform .5s var(--ease)}
.nfc__plaque:hover{transform:translateY(-5px) rotate(-1deg)}
.nfc__scene.is-near .nfc__plaque{transform:scale(1.04)}
.nfc__plaque:focus-visible{outline:2px solid var(--orange);outline-offset:10px;border-radius:28px}
.nfc__rings{position:absolute;z-index:1;left:20%;top:40%;width:0;height:0;pointer-events:none}
.nfc__rings i{position:absolute;left:0;top:0;width:min(60cqw,440px);aspect-ratio:1;margin:calc(min(60cqw,440px) / -2) 0 0 calc(min(60cqw,440px) / -2);border-radius:50%;border:2px solid var(--orange);opacity:0;transform:scale(.1)}
.nfc__scene.is-tapped .nfc__rings i{animation:nfcRing 1.7s var(--ease) infinite}
.nfc__scene.is-tapped .nfc__rings i:nth-child(2){animation-delay:.4s}
.nfc__scene.is-tapped .nfc__rings i:nth-child(3){animation-delay:.8s}
@keyframes nfcRing{0%{opacity:.85;transform:scale(.1)}100%{opacity:0;transform:scale(1)}}
.nfc__phone{position:absolute;left:0;top:0;z-index:3;width:clamp(176px,24cqw,244px);--r:30px;border-width:6px;transform:translate(-50%,-50%) rotate(var(--rot,7deg)) scale(var(--sc,1));transition:left .95s var(--ease),top .95s var(--ease),transform .95s var(--ease);cursor:grab;touch-action:pan-y;user-select:none}
.nfc__phone[data-pos="home"]{--rot:7deg}
.nfc__phone[data-pos="tap"]{--rot:-9deg;--sc:.97}
.nfc__phone[data-pos="read"]{--rot:0deg;--sc:1.08}
.nfc__phone:not([data-pos="home"]){cursor:default}
.nfc__phone.is-drag{transition:transform .25s var(--ease);cursor:grabbing;--rot:-5deg;--sc:1.04}
.nfc__phone.is-init{transition:none}
.nfc__phone .phone__isl{height:9px;top:7px}
@container (max-width:759px){
  .nfc__plaque{left:6%;top:5%;bottom:auto;width:44cqw}
  .nfc__phone{width:52cqw}
  .nfc__a--home{left:66%;top:84%}
  .nfc__a--tap{left:70%;top:46%}
  .nfc__a--read{left:50%;top:52%}
  .nfc__phone[data-pos="read"]{--sc:1.3}
  .nfc__table{height:30%}
}
/* side panel */
.nfc__side{display:grid;gap:14px;align-content:start}
.nfc__steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0}
.nfc__steps li{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--faint);font:600 13px var(--display);transition:color .3s,border-color .3s,background .3s}
.nfc__steps span{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--dim);font:700 11px var(--mono);transition:background .3s,color .3s}
.nfc__steps li.is-on{color:var(--text);border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.06)}
.nfc__steps li.is-on span{background:var(--green);color:#06251a}
.nfc__steps li.is-now{border-color:var(--orange);background:rgba(249,115,22,.08)}
.nfc__steps li.is-now span{background:var(--orange);color:#1a0b00}
/* the profile card: what Google would show (sample) */
.nfc__note{margin:0;padding:12px 14px;border-radius:14px;border:1px dashed var(--line-2);color:var(--dim);font-size:13px;line-height:1.5}
.pf{display:grid;gap:14px;padding:18px;border-radius:24px;border:1px solid var(--line-2);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02))}
.pf__head{display:flex;align-items:center;gap:12px}
.pf__pin{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,rgba(249,115,22,.3),rgba(139,92,246,.3));border:1px solid var(--line-2)}
.pf__pin .i{width:20px;height:20px}
.pf__head b{display:block;font:700 1.1rem/1.2 var(--display);letter-spacing:-.02em}
.pf__head small{color:var(--faint);font-size:12px}
.pf__score{display:flex;align-items:center;gap:14px}
.pf__avg{font:700 3rem/1 var(--display);letter-spacing:-.04em}
.pf__st{display:inline-flex;gap:2px}
.pf__s{width:16px;height:16px;fill:rgba(255,255,255,.18)}
.pf__s.is-on{fill:#fbbf24}
.pf__score small{display:block;margin-top:2px;color:var(--dim);font-size:12.5px}
.pf__bars,.pf__rev{list-style:none;display:grid;margin:0;padding:0}
.pf__bars{gap:6px}
.pf__bar{display:grid;grid-template-columns:14px minmax(0,1fr) 28px;gap:8px;align-items:center;font-size:12px;color:var(--dim)}
.pf__bar span{text-align:center}
.pf__bar b{text-align:right;font-weight:600;color:var(--text)}
.pf__fill{position:relative;display:block;height:6px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden}
.pf__fill::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w,0%);border-radius:3px;background:#fbbf24;transition:width .9s var(--ease)}
.pf__rev{gap:10px}
.pf__r{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);font-size:13px;color:var(--dim)}
.pf__r div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:2px}
.pf__r b{color:var(--text);font-weight:600}
.pf__r p{margin:0;overflow-wrap:anywhere}
.pf__r.is-me{border:1px solid rgba(249,115,22,.55);background:rgba(249,115,22,.09);animation:cardIn .6s var(--ease)}
.pf__r .pf__s{width:13px;height:13px}
/* the phone screens (sizes in container units so they scale with the phone) */
.np{color:#fff}
.np__lock,.np__rev,.np__done{position:absolute;inset:0;font:400 4.8cqw/1.4 var(--body)}
.np__lock{display:flex;flex-direction:column;align-items:center;padding:17cqw 6cqw 9cqw;background:radial-gradient(90% 60% at 18% 8%,rgba(249,115,22,.6),transparent 60%),radial-gradient(80% 60% at 92% 92%,rgba(139,92,246,.65),transparent 60%),linear-gradient(180deg,#1d1740,#0d0d22)}
.np__time{font:600 19cqw/1 var(--display);letter-spacing:-.03em}
.np__date{margin-top:1.6cqw;font:500 4.6cqw var(--body);opacity:.85}
.np__hint{margin-top:auto;padding:2.6cqw 4.4cqw;border-radius:99px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);font:500 4cqw var(--body);text-align:center}
.np__banner{position:relative;display:flex;align-items:center;gap:3cqw;width:100%;margin-top:11cqw;padding:3.6cqw;border:0;border-radius:5cqw;background:rgba(255,255,255,.94);color:#12122a;text-align:left;cursor:pointer;overflow:hidden;box-shadow:0 8px 30px -8px rgba(0,0,0,.65);animation:bannerIn .6s var(--ease)}
.np__bi{display:grid;place-items:center;flex:none;width:10.5cqw;height:10.5cqw;border-radius:2.8cqw;background:var(--grad);color:#0b0b16}
.np__bi .i{width:6cqw;height:6cqw;stroke-width:2}
.np__bt b{display:block;font:700 4.6cqw/1.25 var(--body)}
.np__bt small{display:block;font-size:3.9cqw;line-height:1.3;color:#4b4b6a}
.np__ring{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad);transform-origin:left;animation:bannerTimer 1.8s linear forwards}
@keyframes bannerIn{from{opacity:0;transform:translateY(-14cqw) scale(.94)}to{opacity:1;transform:none}}
@keyframes bannerTimer{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.np__rev{display:flex;flex-direction:column;gap:3.6cqw;padding:12cqw 5.5cqw 5cqw;background:#faf6ee;color:#1d1710;animation:viewIn .5s var(--ease)}
.np__rh{display:flex;align-items:center;gap:3cqw}
.np__pin{display:grid;place-items:center;flex:none;width:9.5cqw;height:9.5cqw;border-radius:50%;background:#1d1710;color:#faf6ee}
.np__pin .i{width:5cqw;height:5cqw}
.np__rh b{display:block;font:700 5.2cqw/1.2 var(--display)}
.np__rh small{display:block;color:#6f5f4b;font-size:3.9cqw}
.np__q{margin:2cqw 0 0;font:700 7cqw/1.15 var(--display);letter-spacing:-.02em}
.np__q:focus,.np__done h4:focus{outline:0}
.np__stars{display:flex;justify-content:space-between;gap:1cqw}
.np__star{display:grid;place-items:center;flex:1;aspect-ratio:1;padding:0;border:0;border-radius:3cqw;background:none;cursor:pointer;transition:transform .25s var(--ease)}
.np__star:hover{transform:scale(1.12)}
.np__st{width:100%;height:100%;fill:#e6dbc6;transition:fill .25s}
.np__st.is-on{fill:#f59e0b}
.np__stars.is-pop .np__st.is-on{animation:starPop .5s var(--ease)}
@keyframes starPop{0%{transform:scale(.6)}60%{transform:scale(1.2)}100%{transform:scale(1)}}
.np__ta{display:grid;grid-template-rows:auto minmax(0,1fr);flex:1;min-height:0;gap:1.6cqw;font:600 4cqw var(--body);color:#5b4a36}
.np__ta textarea{width:100%;padding:2.6cqw;border-radius:3cqw;border:1px solid #d9c9ad;background:#fff;color:#1d1710;font:400 4.3cqw/1.4 var(--body);resize:none;height:100%;max-height:60cqw}
.np__ta textarea:focus{outline:2px solid #c2410c;outline-offset:1px}
@media (pointer:coarse){.np__ta textarea{font-size:16px}}
.np__post{margin-top:auto;padding:3.4cqw;border:0;border-radius:3.4cqw;background:#c2410c;color:#fff;font:700 4.8cqw var(--body);cursor:pointer;transition:background .25s,opacity .25s}
.np__post:hover:not(:disabled){background:#9a3412}
.np__post:disabled{opacity:.4;cursor:not-allowed}
.np__fine{text-align:center;color:#6f5f4b;font-size:3.4cqw;line-height:1.3}
.np__done{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3cqw;padding:8cqw;text-align:center;background:#faf6ee;color:#1d1710;animation:viewIn .5s var(--ease)}
.np__ok{display:grid;place-items:center;width:18cqw;height:18cqw;border-radius:50%;background:#16a34a;color:#fff;animation:pop .5s var(--ease)}
.np__ok .i{width:9cqw;height:9cqw;stroke-width:3}
.np__done h4{margin:0;font:700 7cqw/1.2 var(--display);letter-spacing:-.02em}
.np__done p{margin:0;color:#5b4a36;font-size:4.4cqw}
.np__done .np__fast{color:#c2410c;font-weight:700}
.np__done .np__post{width:100%;margin-top:3cqw}
.np button:focus-visible,.np textarea:focus-visible{outline:2px solid #f97316;outline-offset:2px}

/* ================= the designer ================= */
.pd{display:grid;gap:24px;align-items:start}
.pd__right{display:grid;gap:18px;min-width:0}
.pd__stage{--ac:#f97316;position:relative;display:grid;place-items:center;min-height:460px;padding:48px 22px 40px;overflow:hidden;border-radius:32px;border:1px solid var(--line-2);background:radial-gradient(55% 55% at 50% 46%,color-mix(in srgb,var(--ac) 38%,transparent),transparent 72%),radial-gradient(40% 40% at 86% 12%,rgba(139,92,246,.32),transparent 70%),radial-gradient(40% 40% at 8% 90%,rgba(238,79,147,.22),transparent 70%),linear-gradient(180deg,#10102a,#0a0a16)}
.pd__plaque{--rx:0deg;--ry:0deg;width:min(100%,250px);perspective:900px;animation:plqSway 7s ease-in-out infinite}
.pd__plaque:has(.plq--card){width:min(100%,380px)}
.pd__plaque:has(.plq--disc){width:min(100%,230px)}
@media (min-width:1000px){.pd{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pd__stage{position:sticky;top:calc(var(--hdr) + 20px);align-self:start}}
/* on a phone the preview is pinned under the header while the options scroll underneath */
@media (max-width:999px){
  .pd__stage{position:sticky;top:calc(var(--hdr) + 8px);z-index:6;min-height:0;padding:22px 16px 18px}
  .pd__plaque{width:min(100%,176px)}
  .pd__plaque:has(.plq--card){width:min(100%,290px)}
  .pd__plaque:has(.plq--disc){width:min(100%,160px)}
  .pd__hint{display:none}
}
.pd__plaque .plq{transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .2s ease-out}
@keyframes plqSway{0%,100%{transform:translateY(0) rotate(-1.1deg)}50%{transform:translateY(-6px) rotate(1.1deg)}}
.pd__hint{position:absolute;left:0;right:0;bottom:12px;margin:0;text-align:center;color:var(--faint);font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase}
@media (pointer:coarse){.pd__hint{display:none}}
.pd__panel{display:grid;gap:22px;padding:clamp(18px,3vw,28px);border-radius:28px;border:1px solid var(--line-2);background:rgba(255,255,255,.03)}
.pd__custom{display:grid;gap:8px;margin-top:12px}
.pd__custom[hidden]{display:none}
.pd__custom label{font:600 11.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.pd__custom small{letter-spacing:.04em;text-transform:none;color:var(--faint)}
.pd__custom input,.pd .field input[type="text"]{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--line-2);background:rgba(255,255,255,.045);color:var(--text);font:400 16px/1.4 var(--body)}
.pd__custom input:focus{outline:0;border-color:var(--orange);box-shadow:0 0 0 4px rgba(249,115,22,.18)}
.pd__row{display:flex;flex-wrap:wrap;gap:14px 26px}
.pd .dx__sw{font-size:14.5px;color:var(--text)}
.pd__acc{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.acc{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;cursor:pointer}
.acc input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer}
.acc__dot{display:block;width:26px;height:26px;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.16);transition:transform .3s var(--ease),box-shadow .25s}
.acc:hover .acc__dot{transform:scale(1.14)}
.acc input:checked+.acc__dot{box-shadow:0 0 0 2px #0b0b16,0 0 0 4px #fff}
.acc input:focus-visible+.acc__dot{outline:2px solid var(--orange);outline-offset:5px}
.acc__dot--orange{background:#f97316}
.acc__dot--pink{background:#ee4f93}
.acc__dot--violet{background:#8b5cf6}
.acc__dot--teal{background:#14b8a6}
.acc__dot--gold{background:#eab308}
.acc__dot--red{background:#ef4444}
.acc__dot--sky{background:#38bdf8}
.acc__dot--custom{background:conic-gradient(#f97316,#eab308,#34d399,#38bdf8,#8b5cf6,#ee4f93,#f97316)}
.acc--custom.is-set .acc__dot--custom{background:var(--c,#f97316);box-shadow:0 0 0 2px #0b0b16,0 0 0 4px #fff}
.pd__warn{margin:6px 0 0;color:#fbbf24;font-size:12.5px;line-height:1.4}
.pd__warn:empty{margin:0;height:0}
.pd .field .pill{letter-spacing:0;text-transform:none}
.pill--theme span{gap:8px}
.tsw{display:inline-block;flex:none;width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.35)}
.tsw--dark{background:#1d1d3d}
.tsw--light{background:#fff}
.tsw--gradient{background:linear-gradient(135deg,#f97316,#8b5cf6)}
.tsw--glass{background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,255,255,.12))}
.tsw--paper{background:#efe3c8}
.stepper{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:4px;border-radius:14px;border:1px solid var(--line-2);background:rgba(255,255,255,.045)}
.stepper button{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:10px;background:rgba(255,255,255,.07);color:var(--text);cursor:pointer;transition:background .2s}
.stepper button:hover{background:rgba(255,255,255,.16)}
.stepper .i{width:16px;height:16px;stroke-width:2.2}
.stepper input{width:64px;padding:8px 0;border:0;background:none;color:var(--text);font:700 18px var(--display);text-align:center;-moz-appearance:textfield;appearance:textfield}
.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.stepper input:focus{outline:2px solid var(--orange);outline-offset:2px;border-radius:8px}
.pd__spec{display:grid;gap:14px;padding:clamp(18px,3vw,26px);border-radius:28px;border:1px solid var(--line-2);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02))}
.pd__h{margin:0;font:600 11px/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.pd__dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 20px;margin:0;font-size:14px}
.pd__dl dt{color:var(--faint)}
.pd__dl dd{margin:0;color:var(--text);font-weight:500;overflow-wrap:anywhere}
.pd__dot{display:inline-block;width:12px;height:12px;margin-right:8px;border-radius:50%;background:var(--c,#f97316);vertical-align:-1px;box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.pd__note{margin:0;color:var(--faint);font-size:12.5px;line-height:1.5}
.pd__spec .btn{width:100%}

/* ================= fair by design ================= */
.fair__svg{display:block;width:100%;height:auto;max-width:540px}
.fair__chip{fill:rgba(255,255,255,.05);stroke:rgba(255,255,255,.2)}
.fair__av{fill:rgba(255,255,255,.12)}
.fair__t{fill:var(--dim);font:600 12px var(--mono)}
.fair__st{fill:none;stroke:rgba(255,255,255,.35);stroke-width:1.4}
.fair__st--on{fill:#fbbf24;stroke:none}
.fair__ln{fill:none;stroke:rgba(255,255,255,.45);stroke-width:1.6;stroke-dasharray:4 6;animation:dashFlow 1.6s linear infinite}
@keyframes dashFlow{to{stroke-dashoffset:-20}}
.fair__box{fill:url(#g-soft);fill-opacity:.24;stroke:rgba(255,255,255,.32)}
.fair__bt{fill:var(--text);font:700 18px var(--display)}
.fair__bs{fill:var(--dim);font:500 12px var(--body)}
.split+.principles--four{margin-top:clamp(32px,5vw,56px)}

