
  /* ===================== PLANS PAGE ===================== */
  /* seamless product hero: section cream blends into the photo's own studio background */
  .plhero{position:relative;overflow:hidden;padding:122px 0 26px;
    background:linear-gradient(180deg,#F7EBD9 0%,#F3E6D3 60%,var(--bg) 100%)}
  .plhero::after{content:"";position:absolute;right:2%;top:60px;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(circle,rgba(255,158,32,.17),transparent 66%);pointer-events:none}
  .plhero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:.94fr 1.06fr;gap:30px;align-items:center}
  .plhero .eyebrow{color:var(--orange);justify-content:flex-start}
  .plhero h1{font-family:var(--display);font-weight:700;font-size:58px;line-height:1.0;margin:10px 0 0;letter-spacing:-.02em;color:var(--espresso)}
  .plhero h1 em{font-style:normal;color:var(--orange);white-space:nowrap}
  .plhero .sub{color:var(--soft);max-width:56ch;margin:15px 0 0;font-size:16.5px;line-height:1.55}
  /* steps: one white card, icon badges with number chips, chevrons between */
  .plhow{display:inline-flex;align-items:center;gap:9px;margin-top:26px;background:#fff;border:1px solid var(--line);
    border-radius:20px;padding:11px 14px;box-shadow:0 16px 36px -24px rgba(120,70,0,.45);flex-wrap:wrap}
  .plhow .st{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:700;font-size:15.5px;letter-spacing:.005em;color:var(--espresso);white-space:nowrap}
  .plhow .bdg{position:relative;width:42px;height:42px;border-radius:13px;background:#FDEBC7;display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .plhow .bdg>svg{width:22px;height:22px;color:#E8850C;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .plhow .bdg i{position:absolute;top:-5px;left:-5px;width:16px;height:16px;border-radius:50%;background:var(--orange);color:#fff;
    font-style:normal;font-size:9.5px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff}
  .plhow .tx b{font-weight:inherit}
  .plhow .tx>span{display:none}   /* step helper line: mobile-only */
  .plhow .sep{color:#CBAE85;flex-shrink:0;display:flex}
  .plhow .sep svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .plhero-cta{display:flex;align-items:center;gap:14px;margin-top:26px;flex-wrap:wrap}
  .plhero-cta .btn-primary{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-size:17px;font-weight:700;
    padding:17px 36px;border-radius:17px;background:linear-gradient(98deg,#FFB03A 0%,#F07715 100%)}
  .plhero-cta .btn-primary svg{width:18px;height:18px}
  .plhero-cta .ghostlink{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;
    font-size:15.5px;color:var(--espresso);text-decoration:none;padding:14px 29px;background:#fff;border:1px solid var(--line);
    border-radius:16px;box-shadow:0 10px 24px -18px rgba(120,70,0,.4);transition:color .18s,border-color .18s,transform .18s}
  .plhero-cta .ghostlink:hover{color:var(--orange);border-color:var(--orange);transform:translateY(-1px)}
  .plhero-cta .ghostlink svg{width:14px;height:14px}
  .plh-dots{position:absolute;width:64px;height:46px;background-image:radial-gradient(circle,#E0AC5E 1.7px,transparent 2.1px);
    background-size:15px 15px;opacity:.5;pointer-events:none}
  .plh-dots.d1{left:16px;top:106px}
  .plh-dots.d2{right:34px;bottom:24px}
  .plh-leaf{position:absolute;pointer-events:none}
  .plh-leaf img{display:block;width:100%;height:100%;object-fit:contain}
  .plh-leaf.l1{width:38px;height:38px;left:46%;top:92px;transform:rotate(14deg)}
  .plh-leaf.l2{width:32px;height:32px;left:20px;bottom:24%;transform:rotate(-24deg)}
  .plh-cup{position:absolute;left:-96px;bottom:-84px;width:300px;height:290px;pointer-events:none;z-index:0}
  .plh-cup .c1{position:absolute;left:0;bottom:0;width:260px;height:260px;border-radius:50%;
    background:radial-gradient(circle at 44% 52%,#F6DCAB 0 30%,#F2E1C0 52%,rgba(242,225,192,0) 74%);filter:blur(10px)}
  .plh-cup .c3{position:absolute;left:30px;bottom:64px;width:150px;height:150px;border-radius:50%;
    background:radial-gradient(circle,rgba(242,167,70,.6),rgba(242,167,70,0) 70%);filter:blur(12px)}
  .plh-cup .ring{position:absolute;left:16px;bottom:24px;width:216px;height:216px;border-radius:50%;
    border:11px solid rgba(255,255,255,.85);filter:blur(7px)}
  .plh-cup .lf{position:absolute;left:148px;bottom:212px;width:58px;filter:blur(.5px);transform:rotate(10deg)}

  .plsec{padding:62px 0}
  .plsec-head{margin-bottom:30px}
  .plsec-head .eyebrow{justify-content:flex-start;margin-bottom:8px}
  .plsec-head h2{font-family:var(--display);font-weight:700;font-size:34px;color:var(--espresso);letter-spacing:-.015em;line-height:1.06}
  .plsec-head p{color:var(--soft);font-size:15.5px;margin-top:7px;max-width:62ch;line-height:1.55}

  /* ---- builder ---- */
  .plbuild{display:grid;grid-template-columns:1.32fr .9fr;gap:32px;align-items:start}
  .plctrls{display:flex;flex-direction:column;gap:28px}
  .plstep-label{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:700;font-size:15.5px;color:var(--espresso);margin-bottom:14px}
  .plstep-num{width:25px;height:25px;border-radius:50%;background:var(--espresso);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
  .plstep-label em{font-style:normal;font-weight:500;color:var(--soft);font-size:13px;font-family:var(--body)}

  .plgoals{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
  .plgoal{--ga:#999;text-align:left;cursor:pointer;background:var(--surface);border:1.5px solid var(--line);border-radius:18px;
    padding:16px 17px;display:flex;gap:14px;align-items:center;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;position:relative;font-family:var(--body)}
  .plgoal:hover{border-color:color-mix(in srgb,var(--ga) 55%,var(--line));transform:translateY(-2px)}
  .plgoal.sel{border-color:var(--ga);box-shadow:0 16px 30px -24px rgba(70,44,18,.5)}
  .plgoal .gi{width:52px;height:52px;flex-shrink:0}
  .plgoal .gi img{width:100%;height:100%;display:block}
  .plgoal .gt b{font-family:var(--display);font-weight:700;font-size:16.5px;color:var(--espresso);display:block}
  .plgoal .gt span{font-size:12.5px;color:var(--soft);line-height:1.42;display:block;margin-top:3px}
  .plgoal .gchk{position:absolute;top:11px;right:11px;width:22px;height:22px;border-radius:50%;background:var(--ga);color:#fff;
    display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.4);transition:opacity .18s ease,transform .22s cubic-bezier(.34,1.56,.64,1)}
  .plgoal .gchk svg{width:12px;height:12px}
  .plgoal.sel .gchk{opacity:1;transform:scale(1)}

  .plseg{display:flex;gap:11px;flex-wrap:wrap}
  .plseg button{flex:1 1 0;min-width:66px;cursor:pointer;background:var(--surface);border:1.5px solid var(--line);border-radius:16px;
    padding:15px 8px;transition:.18s;text-align:center;font-family:var(--body);position:relative}
  .plseg button:hover{border-color:var(--almond)}
  .plseg button.sel{background:var(--espresso);border-color:var(--espresso);box-shadow:0 16px 28px -18px rgba(65,43,23,.75)}
  .plseg button b{display:block;font-family:var(--display);font-weight:700;font-size:21px;color:var(--espresso)}
  .plseg button span:not(.schk){display:block;font-size:11px;margin-top:3px;color:var(--soft);font-weight:600}
  .plseg button.sel b,.plseg button.sel span:not(.schk){color:#fff}
  .plseg button.sel span:not(.schk){opacity:.72}
  .plseg button .schk{position:absolute;top:9px;right:9px;width:20px;height:20px;border-radius:50%;background:#fff;color:var(--espresso);
    display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.4);transition:opacity .18s ease,transform .22s cubic-bezier(.34,1.56,.64,1)}
  .plseg button .schk svg{width:11px;height:11px}
  .plseg button.sel .schk{opacity:1;transform:scale(1)}

  /* price label card */
  .plcard{--ca:var(--orange);position:sticky;top:98px;background:var(--surface);border-radius:26px;overflow:hidden;
    border:1px solid var(--line);box-shadow:0 34px 64px -36px rgba(70,44,18,.55)}
  .plcard-top{background:var(--ca);color:#fff;padding:22px 24px;position:relative;overflow:hidden;transition:background .35s ease}
  .plcard-top .hdleaf{position:absolute;right:-12px;top:50%;transform:translateY(-46%) rotate(14deg);width:118px;height:118px;color:rgba(255,255,255,.17);pointer-events:none}
  .plcard-top .hdrow{display:flex;align-items:center;gap:14px;position:relative;z-index:2}
  .plcard-top .sumic{width:46px;height:46px;border-radius:14px;background:#fff;color:var(--ca);flex-shrink:0;
    display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px -10px rgba(0,0,0,.35);transition:color .35s ease}
  .plcard-top .sumic svg{width:25px;height:25px}
  .plcard-top .gname{font-family:var(--display);font-weight:700;font-size:21px;line-height:1.15}
  .plcard-top .gsum{font-size:13px;opacity:.94;margin-top:3px}
  .plcard-body{padding:24px}
  .plprice{display:block}
  .plwasrow{display:flex;align-items:center;gap:11px;margin-bottom:6px}
  .plamtrow{display:flex;align-items:baseline;gap:10px}
  .plprice .cur{font-family:var(--display);font-weight:700;font-size:28px;color:#B39B7C}
  .plprice .amt{font-family:var(--display);font-weight:800;font-size:56px;line-height:.92;color:var(--espresso);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
  .plprice .total{display:block;font-size:14px;color:var(--soft);margin-bottom:7px}
  .plprice .sub{display:block;font-size:13px;color:var(--soft);margin-top:9px}
  .plitems{margin-top:16px;border-top:1.5px dashed var(--line);border-bottom:1.5px dashed var(--line);padding:4px 0}
  .plitem{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;font-size:13.5px;color:var(--soft)}
  .plitem+.plitem{border-top:1.5px dashed var(--line)}
  .plitem b{font-family:var(--display);font-weight:700;color:var(--espresso);font-size:13.5px}
  .plitem>span:last-child{font-family:var(--display);font-weight:700;color:var(--espresso);font-size:15px;white-space:nowrap}
  .plprice .was{font-family:var(--display);font-weight:700;font-size:17px;color:#A8927B;
    text-decoration:line-through;text-decoration-color:#E8412A;text-decoration-thickness:2.5px}
  .offbadge{display:inline-flex;align-items:center;background:#E8412A;color:#fff;font-family:var(--display);font-weight:800;
    font-size:13px;padding:5px 11px;border-radius:9px;letter-spacing:.02em;transform:rotate(-3deg);
    box-shadow:0 7px 15px -6px rgba(232,65,42,.65)}
  .plbreak{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:19px}
  .plbreak>div{background:var(--bg);border-radius:15px;padding:12px 13px;display:flex;align-items:center;gap:11px}
  .plbreak .bic{width:38px;height:38px;border-radius:11px;background:var(--surface);color:var(--ca);flex-shrink:0;
    display:flex;align-items:center;justify-content:center;transition:color .35s ease}
  .plbreak .bic svg{width:20px;height:20px}
  .plbreak b{display:block;font-family:var(--display);font-weight:700;font-size:19px;color:var(--espresso);line-height:1}
  .plbreak b small{font-size:11.5px;color:var(--soft);font-weight:600}
  .plbreak .bt span{font-size:11.5px;color:var(--soft);display:block;margin-top:4px}
  .plsave{margin-top:15px;display:flex;align-items:flex-start;gap:10px;background:color-mix(in srgb,var(--ca) 11%,#fff);
    border-radius:13px;padding:12px 14px;font-size:13px;color:var(--espresso);font-weight:600;line-height:1.5}
  .plsave svg{width:18px;height:18px;flex-shrink:0;color:var(--ca);margin-top:1px}
  .plcta{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;width:100%;background:var(--espresso);color:#fff;
    font-family:var(--display);font-weight:700;font-size:16px;padding:15px;border-radius:15px;text-decoration:none;transition:.2s;border:0;cursor:pointer}
  .plcta:hover{background:#2e1d0d;transform:translateY(-2px)}
  .plcta svg{width:19px;height:19px}
  .plnote{text-align:center;font-size:11.5px;color:var(--soft);margin-top:12px;line-height:1.55}
  .plnote svg{width:15px;height:15px;vertical-align:-3px;margin-right:3px}

  /* discount picker */
  .pldisc{display:flex;flex-wrap:wrap;gap:9px}
  .pldisc button{cursor:pointer;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:10px 15px;
    font-family:var(--display);font-weight:700;font-size:14px;color:var(--espresso);transition:.18s;display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;line-height:1.1}
  .pldisc button small{font-family:var(--body);font-weight:600;font-size:11px;color:var(--soft)}
  .pldisc button:hover{border-color:var(--orange);transform:translateY(-1px)}
  .pldisc button.sel{background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:0 10px 20px -10px rgba(255,140,0,.6)}
  .pldisc button.sel small{color:rgba(255,255,255,.85)}
  .plcode{display:flex;gap:9px;margin-top:12px;max-width:400px}
  .plcode-in{position:relative;flex:1;display:flex}
  .plcode-in>svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#B6A079;pointer-events:none}
  .plcode input{flex:1;width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:13px;padding:12px 15px 12px 42px;font-family:var(--body);font-weight:600;font-size:14px;
    color:var(--espresso);background:var(--surface);text-transform:uppercase;letter-spacing:.04em}
  .plcode input::placeholder{text-transform:none;letter-spacing:0;color:#B6A079;font-weight:600}
  .plcode input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,140,0,.16)}
  .plcode button{background:var(--espresso);color:#fff;border:0;border-radius:13px;padding:0 20px;font-family:var(--display);font-weight:700;font-size:14px;cursor:pointer;transition:.18s}
  .plcode button:hover{background:#2e1d0d}
  .plcode-msg{font-size:12.5px;margin-top:8px;font-weight:700;min-height:1px}
  .plcode-msg.ok{color:#4E9D5B}
  .plcode-msg.bad{color:#CE5A2A}

  .plprice .was-dup{display:none}
  .pltag{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.36);
    color:#fff;padding:4px 11px;border-radius:999px;font-family:var(--display);font-weight:700;font-size:11.5px;margin-top:9px;position:relative;z-index:2}
  .plsave b{font-weight:800}
  .plsave.saved{background:color-mix(in srgb,#3E9B52 13%,#fff);color:#2C6E3B}
  .plsave.saved svg{color:#3E9B52}

  /* includes strip */
  .plincl{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .plincl .wrap{display:flex;flex-wrap:wrap;gap:18px 26px;padding:28px 22px}
  .plincl-item{display:flex;align-items:center;gap:12px;flex:1 1 175px}
  .plincl-ic{width:44px;height:44px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;
    box-shadow:0 8px 16px -8px rgba(255,140,0,.6)}
  .plincl-ic svg{width:22px;height:22px}
  .plincl-item b{font-family:var(--display);font-weight:700;font-size:14.5px;color:var(--espresso);display:block;line-height:1.2}
  .plincl-item span{font-size:12px;color:var(--soft)}

  /* full price list */
  .plmatrix{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
  .plplan{--pa:var(--orange);background:var(--surface);border:1px solid var(--line);border-radius:26px;overflow:hidden;
    box-shadow:0 18px 40px -30px rgba(70,44,18,.5)}
  .plplan-head{position:relative;padding:24px 168px 20px 24px;min-height:118px;display:flex;align-items:flex-start;gap:15px;
    background:linear-gradient(103deg,color-mix(in srgb,var(--pa) 15%,#fff) 0%,color-mix(in srgb,var(--pa) 7%,#FFFDF8) 52%,var(--surface) 100%)}
  .plplan-head .pico{width:62px;height:62px;border-radius:18px;background:var(--pa);color:#fff;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;box-shadow:0 14px 24px -12px var(--pa)}
  .plplan-head .pico svg{width:31px;height:31px}
  .plplan-head .ptx b{display:block;font-family:var(--display);font-weight:700;font-size:23.5px;color:var(--espresso);letter-spacing:-.01em}
  .plplan-head .ptx span{display:block;font-size:13.5px;color:var(--soft);line-height:1.45;margin-top:5px}
  .plplan-head .pfood{position:absolute;right:-26px;top:-30px;width:196px;height:196px;object-fit:contain;pointer-events:none;
    filter:drop-shadow(0 16px 22px rgba(70,44,18,.28))}
  .pltable{width:100%;border-collapse:separate;border-spacing:0;padding:2px 16px 6px;position:relative;z-index:2}
  .pltable th,.pltable td{padding:12px 5px;text-align:center;vertical-align:middle}
  .pltable thead th{padding-top:27px;padding-bottom:12px;position:relative;vertical-align:bottom}
  .pltable thead th .dchip{display:inline-block;background:#fff;border:1.5px solid var(--line);border-radius:11px;padding:8px 12px;
    font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.05em;color:var(--espresso);text-transform:uppercase;white-space:nowrap}
  .pltable thead th .dchip.on{background:var(--pa);border-color:var(--pa);color:#fff;box-shadow:0 10px 18px -9px var(--pa)}
  .pltable thead th .bstar{position:absolute;left:50%;top:2px;transform:translateX(-50%);width:19px;height:19px;color:#F2A63B;display:block}
  .pltable thead th.corner{text-align:left;vertical-align:top;padding-top:22px}
  .pltable thead th.corner .clab{display:block;font-family:var(--display);font-weight:700;font-size:10.5px;letter-spacing:.07em;color:var(--soft);line-height:1.5;text-transform:uppercase}
  .pltable thead th.corner .carr{width:25px;height:25px;color:var(--pa);margin:1px 0 0 30px;display:block}
  .pltable tbody th{text-align:left;white-space:nowrap;padding-left:2px}
  .pltable tbody th .mic{display:inline-block;width:17px;height:17px;color:var(--pa);vertical-align:-3px;margin-right:7px}
  .pltable tbody th .mlab{font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.04em;color:var(--espresso);text-transform:uppercase}
  .pltable tbody tr+tr th,.pltable tbody tr+tr td{border-top:1px solid var(--line)}
  .pltable td{cursor:pointer;transition:.15s}
  .pltable td .cur{font-family:var(--display);font-weight:700;font-size:10px;letter-spacing:.04em;color:var(--soft);margin-right:3px;text-transform:uppercase}
  .pltable td b{font-family:var(--display);font-weight:700;font-size:15px;color:var(--espresso);font-variant-numeric:tabular-nums}
  .pltable td:not(.bv):hover{background:color-mix(in srgb,var(--pa) 10%,#fff);border-radius:12px}
  .pltable td:not(.bv).hot{box-shadow:inset 0 0 0 2px var(--pa);border-radius:12px;background:color-mix(in srgb,var(--pa) 10%,#fff)}
  .pltable tr.hl th,.pltable tr.hl td{background:color-mix(in srgb,var(--pa) 9%,#fff)}
  .pltable tr.hl th{border-radius:13px 0 0 13px;padding-left:10px}
  .pltable tr.hl td:last-child{border-radius:0 13px 13px 0}
  .pltable td.bv{padding:7px 2px}
  .pltable td.bv .bvin{display:inline-block;background:var(--pa);color:#fff;border-radius:14px;padding:9px 13px 8px;min-width:84px;box-sizing:border-box;
    box-shadow:0 14px 24px -11px var(--pa);transition:.15s}
  .pltable td.bv:hover .bvin{transform:translateY(-2px)}
  .pltable td.bv .bvin b{display:block;color:#fff;font-size:16px}
  .pltable td.bv .bvin b .cur{color:rgba(255,255,255,.8)}
  .pltable td.bv .bvin small{display:block;font-family:var(--display);font-weight:700;font-size:8px;letter-spacing:.12em;color:rgba(255,255,255,.85);margin-top:2px;text-transform:uppercase}
  .pltable td.bv.hot .bvin{box-shadow:0 0 0 3px color-mix(in srgb,var(--pa) 35%,#fff),0 14px 24px -11px var(--pa)}
  .plplan-foot{margin:8px 18px 18px;background:color-mix(in srgb,var(--pa) 9%,#fff);border-radius:12px;padding:11px 14px;
    display:flex;align-items:center;justify-content:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--pa);font-family:var(--body)}
  .plplan-foot svg{width:16px;height:16px;flex-shrink:0}

  /* faq */
  .plfaq{max-width:760px;margin:0 auto}
  .plq{border-bottom:1px solid var(--line)}
  .plq button{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:19px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;
    font-family:var(--display);font-weight:700;font-size:16.5px;color:var(--espresso)}
  .plq button .chev{flex-shrink:0;transition:.25s;color:var(--orange);width:20px;height:20px}
  .plq.open button .chev{transform:rotate(180deg)}
  .plq .ans{max-height:0;overflow:hidden;transition:max-height .3s ease}
  .plq .ans p{padding:0 2px 19px;color:var(--soft);font-size:14.5px;line-height:1.62}

  /* responsive */
  @media(max-width:980px){
    .plbuild{grid-template-columns:1fr;gap:26px}
    .plcard{position:static}
    .plmatrix{grid-template-columns:1fr}
  }
  @media(max-width:760px){
    .plhero{padding:108px 0 46px}
    .plhero h1{font-size:42px}
    .plsec{padding:48px 0}
    .plsec-head h2{font-size:27px}
    .plprice .amt{font-size:50px}
  }
  @media(max-width:560px){
    .plhero h1{font-size:35px}
    .plctrls{gap:22px}
    .plstep-label{flex-wrap:wrap;font-size:15px}
    .plstep-label em{display:none}
    .plgoals{grid-template-columns:1fr 1fr;gap:10px}
    .plgoal{flex-direction:column;align-items:center;text-align:center;gap:9px;padding:15px 11px}
    .plgoal .gi{width:44px;height:44px}
    .plgoal .gt b{font-size:14.5px}
    .plgoal .gt span{display:none}
    .plgoal .gchk{top:8px;right:8px;width:19px;height:19px}
    .plgoal .gchk svg{width:10px;height:10px}
    .plseg button{min-width:0;padding:12px 6px}
    .plseg button b{font-size:18px}
    .plseg button span{font-size:10px}
    .plseg button .schk{top:6px;right:6px;width:17px;height:17px}
    .plseg button .schk svg{width:9px;height:9px}
    .plcard-body{padding:20px}
    .plprice .amt{font-size:46px}
    .plbreak .bic{width:33px;height:33px;border-radius:9px}
    .plbreak .bic svg{width:17px;height:17px}
    .plbreak b{font-size:17px}
    .plincl-item{flex:1 1 100%}
    .plplan-head{padding:20px 118px 16px 18px;min-height:96px}
    .plplan-head .pico{width:48px;height:48px;border-radius:14px}
    .plplan-head .pico svg{width:24px;height:24px}
    .plplan-head .ptx b{font-size:19px}
    .plplan-head .ptx span{font-size:12px}
    .plplan-head .pfood{width:138px;height:138px;right:-20px;top:-18px}
    .pltable{padding:2px 10px 6px}
    .pltable th,.pltable td{padding:10px 3px}
    .pltable thead th{padding-top:20px;padding-bottom:10px}
    .pltable thead th .dchip{padding:6px 7px;font-size:9px;border-radius:9px;letter-spacing:.03em}
    .pltable thead th .bstar{width:16px;height:16px;top:0}
    .pltable thead th.corner .clab{font-size:9px}
    .pltable thead th.corner .carr{width:19px;height:19px;margin-left:18px}
    .pltable tbody th .mic{width:13px;height:13px;margin-right:4px;vertical-align:-2px}
    .pltable tbody th .mlab{font-size:9px;letter-spacing:.02em}
    .pltable td .cur{font-size:8px;margin-right:2px}
    .pltable td b{font-size:12.5px}
    .pltable tr.hl th{border-radius:10px 0 0 10px;padding-left:5px}
    .pltable tr.hl td:last-child{border-radius:0 10px 10px 0}
    .pltable td.bv{padding:5px 1px}
    .pltable td.bv .bvin{min-width:0;padding:7px 8px 6px;border-radius:11px}
    .pltable td.bv .bvin b{font-size:12.5px}
    .pltable td.bv .bvin small{font-size:6.5px;letter-spacing:.08em}
    .plplan-foot{font-size:11px;margin:4px 12px 14px;padding:9px 10px}
  }
  @media(max-width:430px){
    .plhero h1{font-size:31px}
    .plsec-head h2{font-size:24px}
    .pltable td b{font-size:11.5px}
    .pltable td.bv .bvin b{font-size:11.5px}
  }

  


  
  /* ===== plan explorer ===== */
  .pxwrap{--a:#4E9D5B}
  .pxfeature{display:grid;grid-template-columns:1.12fr .88fr;gap:24px;align-items:stretch;margin-top:36px}
  .pxfeature.swap>*{opacity:0}
  .pxfeature>*{transition:opacity .42s ease}
  .pxdata{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:30px;display:flex;flex-direction:column;box-shadow:0 22px 52px -34px rgba(120,70,0,.4);overflow:hidden}
  .pxmac{display:flex;align-items:center;gap:22px}
  .pxdwrap{position:relative;width:138px;height:138px;flex-shrink:0}
  .pxdonut{position:absolute;inset:0;transform:rotate(-90deg)}
  .pxdonut .bg{stroke:#F0E6D2}
  .pxdonut .seg{stroke-linecap:round;transition:stroke-dasharray .75s cubic-bezier(.34,1.4,.5,1),stroke-dashoffset .75s cubic-bezier(.34,1.4,.5,1)}
  .pxdcen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
  .pxdcen b{font-family:var(--display);font-weight:600;font-size:23px;color:var(--espresso);line-height:1;white-space:nowrap}
  .pxdcen span{font-size:11px;color:var(--soft);letter-spacing:.04em;margin-top:3px}
  .pxleg{display:flex;flex-direction:column;gap:13px;flex:1}
  .pxleg .lr{display:flex;align-items:flex-start;gap:10px;font-size:14.5px}
  .pxleg .sw{width:13px;height:13px;border-radius:4px;flex-shrink:0;margin-top:3px}
  .pxleg .lv{margin-left:auto;padding-left:14px;text-align:right}
  .pxleg .lv b{font-family:var(--display);font-weight:700;font-size:16px;display:block;line-height:1.1;color:var(--espresso)}
  .pxleg .lv i{font-style:normal;font-size:10.5px;color:var(--soft);display:block;margin-top:2px;white-space:nowrap}
  .pxleg .bar{display:none}          /* macro progress bars: mobile-only */
  .px-p{stroke:#5BA85F}.px-bp{background:#5BA85F}.px-cp{color:#3E8A4B}
  .px-c{stroke:#F0A93C}.px-bc{background:#F0A93C}.px-cc{color:#C9871F}
  .px-f{stroke:#C77B4A}.px-bf{background:#C77B4A}.px-cf{color:#A85F38}
  .pxday{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
  .pxday .rh{font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:12px}
  .pxmeal{display:flex;align-items:center;gap:12px;padding:9px 13px;background:#FBF4E5;border:1px solid #F2E4C8;border-radius:16px}
  .pxmeal+.pxmeal{margin-top:10px}
  .pxmeal .th{width:46px;height:46px;border-radius:13px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:22px;background:#fff;border:1px solid #F0E2C6}
  .pxmeal .th img{width:100%;height:100%;object-fit:contain;padding:5%;box-sizing:border-box;display:block}
  .pxmeal .mid{flex:1;min-width:0}
  .pxmeal .wh{display:flex;align-items:center;gap:5px;font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#E8850C}
  .pxmeal .wh svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.85;flex-shrink:0}
  .pxmeal .nm{font-size:14.5px;color:var(--espresso);line-height:1.3;display:block;margin-top:2px}
  .pxmeal .kc{margin-left:auto;flex-shrink:0;text-align:right;padding-left:8px}
  .pxmeal .kc b{font-family:var(--display);font-weight:700;font-size:15px;color:var(--espresso);display:block;line-height:1}
  .pxmeal .kc i{font-style:normal;font-size:10px;color:var(--soft)}
  .pxcta{margin-top:auto;padding-top:24px}
  .pxcta a{display:flex;justify-content:center;align-items:center;gap:12px;background:var(--a);color:#fff;text-decoration:none;padding:11px 22px;border-radius:16px;cursor:pointer;transition:transform .2s,filter .2s}
  .pxcta a:hover{transform:translateY(-2px);filter:brightness(1.06)}
  .pxcta .ci{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .pxcta .ci svg{width:19px;height:19px;color:#fff}
  .pxcta .ct{text-align:center}
  .pxcta .ct b{display:block;font-family:var(--display);font-weight:700;font-size:16px;line-height:1.15}
  .pxcta .ct i{display:block;font-style:normal;font-size:11.5px;opacity:.85;margin-top:2px}
  .pxpicks{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px}
  .pxpick{position:relative;display:flex;align-items:center;gap:11px;border:1.5px solid var(--line);border-radius:18px;background:#fff;
    padding:10px 12px;cursor:pointer;text-align:left;box-shadow:0 12px 26px -18px rgba(120,70,0,.45);
    transition:transform .3s cubic-bezier(.34,1.4,.5,1),box-shadow .3s,border-color .3s}
  .pxpick .pp-th{width:52px;height:52px;border-radius:14px;overflow:hidden;flex-shrink:0;background:var(--pg)}
  .pxpick .pp-th img{width:100%;height:100%;object-fit:cover;object-position:center 12%;display:block}
  .pxpick .pp-tx{min-width:0}
  .pxpick .pp-tx b{display:block;font-family:var(--display);font-weight:700;font-size:12.5px;letter-spacing:.05em;color:var(--na);white-space:nowrap}
  .pxpick .pp-tx span{display:block;font-size:11.5px;color:var(--soft);margin-top:2px;white-space:nowrap}
  .pxpick .pp-go{margin-left:auto;flex-shrink:0;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);
    display:flex;align-items:center;justify-content:center;color:#B9A585;transition:background .25s,border-color .25s,color .25s}
  .pxpick .pp-go svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
  .pxpick .pp-go .ck{display:none}
  .pxpick:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--na) 55%,#fff)}
  .pxpick.on{border-color:var(--na);box-shadow:0 14px 30px -18px var(--na)}
  .pxpick.on .pp-go{background:var(--na);border-color:var(--na);color:#fff}
  .pxpick.on .pp-go .ch{display:none}
  .pxpick.on .pp-go .ck{display:block}
  /* tap hint (mobile only) */
  .pxhint{display:none}
  .pxmore{display:none}   /* "more plans" chevron: shown by the mobile rail rules only */
  /* ===== left showcase: model on glow + copy + features ===== */
  .pxshow{position:relative;isolation:isolate;border-radius:28px;overflow:hidden;min-height:540px;display:flex;align-items:center;
    background:radial-gradient(115% 85% at 64% 38%,#FFF8EA 0%,#F8ECD6 55%,#F1E1C6 100%);
    box-shadow:0 30px 64px -34px rgba(120,70,0,.4)}
  .pxs-model{position:absolute;right:0;top:0;bottom:0;width:60%}
  .pxs-model img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 26%);mask-image:linear-gradient(to right,transparent 0,#000 26%)}
  .pxs-copy{position:relative;z-index:2;width:58%;padding:36px 6px 36px 32px}
  .pxs-kchip{display:inline-flex;align-items:center;gap:9px;background:#fff;border-radius:12px;padding:7px 13px 7px 8px;
    font-family:var(--display);font-weight:700;font-size:12.5px;letter-spacing:.04em;color:var(--espresso);
    box-shadow:0 10px 22px -14px rgba(120,70,0,.5)}
  .pxs-kchip i{width:24px;height:24px;border-radius:8px;background:var(--a);display:flex;align-items:center;justify-content:center;color:#fff;font-style:normal}
  .pxs-kchip i svg{width:13px;height:13px}
  .pxshow h3{font-family:var(--display);font-weight:700;font-size:clamp(34px,3.6vw,48px);line-height:1.02;color:var(--espresso);margin:18px 0 0;letter-spacing:-.01em}
  .pxshow h3 em{font-style:normal;color:var(--a)}
  .pxs-who{color:var(--soft);font-size:16px;line-height:1.5;margin:12px 0 0;max-width:24ch}
  .pxs-feats{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:13px}
  .pxs-feats li{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:600;font-size:13.5px;color:var(--espresso)}
  .pxs-feats .fi{width:28px;height:28px;border-radius:9px;background:color-mix(in srgb,var(--a) 14%,#fff);color:var(--a);
    display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .pxs-feats .fi svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  /* quote card under the features */
  .pxquote{position:relative;margin-top:24px;max-width:340px;background:rgba(255,255,255,.55);border:1px solid var(--line);border-radius:16px;padding:16px 18px 15px}
  .pxquote .qm{position:absolute;top:-14px;left:14px;font-family:var(--display);font-weight:700;font-size:26px;line-height:1;color:var(--a)}
  .pxquote p{margin:0;font-size:14px;font-weight:600;color:var(--espresso);line-height:1.5}
  .pxquote em{display:block;margin-top:7px;font-style:italic;font-weight:600;font-size:13px;color:var(--a)}
  /* "your plan, in numbers" header */
  .pxnum-h{font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--espresso);margin-bottom:14px}
  .pxfuel{position:relative;display:block;min-height:238px;margin:18px -30px 0 0;padding-top:17px;border-top:1px solid var(--line)}
  .pf-tx{position:relative;z-index:2;width:54%}
  .pf-eyebrow{font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--a)}
  .pxfuel h4{font-family:var(--display);font-weight:700;font-size:20px;color:var(--espresso);margin:7px 0 0}
  .pxfuel p{font-size:13px;line-height:1.6;color:var(--soft);margin:8px 0 0}
  .pf-img{position:absolute;top:-26px;right:-12%;width:70%;height:calc(100% + 64px);object-fit:contain;object-position:right center;z-index:1;
    filter:drop-shadow(0 22px 30px rgba(70,40,10,.3))}
  .pxperks{position:relative;z-index:2;display:flex;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 5px;margin-top:18px;
    box-shadow:0 -10px 24px -18px rgba(120,70,0,.3)}
  .pxperks .pp{flex:1;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:9px;padding:0 12px;min-width:0}
  .pxperks .pp>div{display:contents}
  .pxperks .pp+.pp{border-left:1px solid var(--line)}
  .pxperks .ic{width:26px;height:26px;border-radius:50%;grid-area:1/1/2/2;display:flex;align-items:center;justify-content:center;
    background:var(--a);color:#fff;box-shadow:0 6px 14px -7px var(--a)}
  .pxperks .ic svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .pxperks b{grid-area:1/2/2/3;font-family:var(--display);font-weight:800;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--espresso)}
  .pxperks span{grid-area:2/1/3/3;font-size:10.5px;line-height:1.4;color:var(--soft);margin-top:6px}
  /* the day list lives in the week overlay on desktop */
  .pxday{display:none}
  .pxs-dots{position:absolute;left:22px;top:24px;width:56px;height:42px;z-index:1;pointer-events:none;
    background-image:radial-gradient(circle,#E0AC5E 1.6px,transparent 2px);background-size:14px 14px;opacity:.5}
  .pxs-leaf{position:absolute;pointer-events:none;z-index:1}
  .pxs-leaf img{width:100%;height:100%;object-fit:contain;filter:blur(.6px)}
  .pxs-leaf.a{width:34px;height:34px;right:13%;top:7%;transform:rotate(24deg)}
  .pxs-leaf.b{width:26px;height:26px;left:44%;bottom:8%;transform:rotate(-30deg)}
  .pxs-leaf.c{width:44px;height:44px;right:3%;bottom:26%;transform:rotate(14deg);opacity:.85}
  @media(max-width:860px){
    .pxwrap{display:flex;flex-direction:column}
    .pxwrap .plsec-head{order:0}
    .pxrail{order:1;position:relative}
    .pxfeature{order:2}
    .pxhint{display:none}

    /* ---- picker rail (acts like tabs) ---- */
    .pxpicks{display:flex;gap:10px;margin-top:18px;padding:4px 4px 14px;overflow-x:auto;
      scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
    .pxpicks::-webkit-scrollbar{display:none}
    .pxpicks{--fl:0px;--fr:0px;
      -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.25) 0,#000 var(--fl),#000 calc(100% - var(--fr)),rgba(0,0,0,.25) 100%);
      mask-image:linear-gradient(90deg,rgba(0,0,0,.25) 0,#000 var(--fl),#000 calc(100% - var(--fr)),rgba(0,0,0,.25) 100%)}
    .pxpicks.fade-l{--fl:30px}
    .pxpicks.fade-r{--fr:30px}
    .pxmore{display:flex;position:absolute;right:0;top:calc(50% - 7px);transform:translateY(-50%);
      width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:#fff;
      color:var(--espresso);align-items:center;justify-content:center;cursor:pointer;
      box-shadow:0 6px 14px -6px rgba(60,35,10,.45);opacity:0;pointer-events:none;transition:opacity .3s}
    .pxmore svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
    .pxpicks.fade-r~.pxmore{opacity:1;pointer-events:auto;animation:pxmoreNudge 2.2s ease-in-out infinite}
    @keyframes pxmoreNudge{0%,100%{transform:translateY(-50%) translateX(0)}50%{transform:translateY(-50%) translateX(3px)}}
    @media(prefers-reduced-motion:reduce){.pxpicks.fade-r~.pxmore{animation:none}}
    .pxpick{flex:0 0 auto;scroll-snap-align:start;padding:9px 22px 9px 9px;gap:13px;border-radius:999px;
      transition:background .25s,border-color .25s,box-shadow .25s}
    .pxpick .pp-th{width:48px;height:48px;border-radius:50%;border:2px solid #fff;box-shadow:0 3px 9px -3px rgba(60,35,10,.4)}
    .pxpick .pp-tx b{font-size:14px;white-space:nowrap;transition:color .25s}
    .pxpick .pp-tx span{font-size:12px;margin-top:2px;white-space:nowrap;transition:color .25s}
    .pxpick .pp-go{display:none}
    .pxpick:hover{transform:none}
    /* selected pill fills with its plan colour — unmistakable active state */
    .pxpick.on{transform:none;background:var(--na);border-color:var(--na);box-shadow:0 10px 22px -12px var(--na)}
    .pxpick.on .pp-tx b{color:#fff}
    .pxpick.on .pp-tx span{color:rgba(255,255,255,.85)}
    .pxpick:active{transform:scale(.97)}

    .pxfeature{display:flex;flex-direction:column;gap:0;margin-top:8px;
      filter:drop-shadow(0 20px 30px rgba(120,70,0,.14))}
    .pxshow{min-height:0;display:grid;grid-template-columns:1fr 132px;gap:16px;align-items:center;
      padding:22px 18px 18px;border-radius:26px 26px 0 0;
      background:var(--surface);border:1px solid var(--line);border-bottom:0;
      box-shadow:none}
    .pxs-dots,.pxs-leaf{display:none}
    .pxs-model{position:relative;right:auto;top:auto;bottom:auto;order:2;width:132px;height:214px;
      border-radius:22px;overflow:hidden;border:1px solid var(--line);background:var(--pg);
      box-shadow:0 14px 28px -18px rgba(80,45,10,.45)}
    .pxs-model img{-webkit-mask-image:none;mask-image:none;object-position:center 8%}
    .pxs-copy{width:auto;padding:0;order:1}
    .pxs-kchip{padding:7px 14px 7px 8px;font-size:13px;border:1px solid var(--line)}
    .pxs-kchip i{width:26px;height:26px;border-radius:8px}
    .pxs-kchip i svg{width:14px;height:14px}
    .pxshow h3{font-size:37px;margin:13px 0 0}
    .pxs-who{font-size:15.5px;line-height:1.55;margin:10px 0 0;max-width:none}
    .pxs-feats{margin:18px 0 0;gap:14px}
    .pxs-feats li{font-size:14.5px;gap:13px}
    .pxs-feats .fi{width:36px;height:36px;border-radius:50%}
    .pxs-feats .fi svg{width:17px;height:17px}

    .pxdata{border-radius:0 0 26px 26px;border-top:0;padding:20px 18px;box-shadow:none}
    .pxquote{display:none}
    .pxnum-h{padding-top:16px;border-top:1px solid var(--line);font-size:11.5px;margin-bottom:12px}
    .pxmac{gap:16px}
    .pxdwrap{width:112px;height:112px}
    .pxdonut circle{stroke-width:7.5}
    .pxdcen b{font-size:20px}
    .pxdcen span{font-size:10px;margin-top:2px}
    .pxleg{gap:11px}
    .pxleg .lr{font-size:13.5px}
    .pxleg .sw{width:12px;height:12px;margin-top:2px}
    .pxleg .lv{padding-left:10px}
    .pxleg .lv b{font-size:15px}
    .pxleg .lv i{font-size:10px}
    .pxfuel{min-height:0;margin:16px -18px 0 0;padding-top:15px}
    .pf-tx{width:56%}
    .pxfuel h4{font-size:18px}
    .pxfuel p{font-size:12.5px;line-height:1.55}
    .pf-img{top:-12px;right:-14%;width:66%;height:calc(100% + 40px)}
    .pxperks{margin-top:16px;padding:12px 2px}
    .pxperks .pp{padding:0 9px;column-gap:7px}
    .pxperks .ic{width:24px;height:24px}
    .pxperks .ic svg{width:12px;height:12px}
    .pxperks b{font-size:9.5px;letter-spacing:.05em}
    .pxperks span{font-size:10px;margin-top:5px}
    /* the CTA opens the full-week sheet, so no inline day list — same as desktop */
    .pxday{display:none}
    .pxcta{padding-top:18px}
    .pxcta a{padding:13px 18px;border-radius:18px;gap:12px}
    .pxcta .ci{width:40px;height:40px}
    .pxcta .ci svg{width:20px;height:20px}
    .pxcta .ct b{font-size:15.5px}
    .pxcta .ct i{font-size:11px;margin-top:2px}
  }

  /* ===== "your week, planned" preview overlay ===== */
  .wkov{--a:#4E9D5B;position:fixed;inset:0;height:100dvh;z-index:210;background:rgba(34,20,6,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
    display:flex;align-items:center;justify-content:center;padding:22px;
    opacity:0;visibility:hidden;transition:opacity .32s ease,visibility .32s ease}
  .wkov.open{opacity:1;visibility:visible}
  .wk-card{position:relative;width:min(1080px,100%);max-height:92vh;max-height:92dvh;display:flex;flex-direction:column;background:var(--surface);border-radius:28px;
    box-shadow:0 40px 90px -30px rgba(0,0,0,.5);padding:26px 26px 22px;
    transform:translateY(18px) scale(.98);transition:transform .38s cubic-bezier(.2,.9,.3,1.05)}
  .wkov.open .wk-card{transform:none}
  .wk-close{position:absolute;top:16px;right:16px;z-index:2;width:34px;height:34px;border:0;border-radius:50%;cursor:pointer;
    background:#F4EAD6;color:var(--espresso);font-size:14px;display:flex;align-items:center;justify-content:center}
  .wk-eyebrow{font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--a)}
  .wk-eyebrow b{color:inherit}
  .wk-head h2{font-family:var(--display);font-weight:700;font-size:clamp(24px,3vw,34px);color:var(--espresso);margin:6px 0 0;letter-spacing:-.01em}
  .wk-sub{color:var(--soft);font-size:14.5px;margin:6px 0 0}
  .wk-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:18px;overflow-y:auto;padding:2px;overscroll-behavior:contain}
  @media(min-width:861px) and (max-width:1120px){.wk-days{grid-template-columns:repeat(3,minmax(0,1fr))}}
  .wk-day{min-width:0;background:#fff;border:1px solid #F2E7CF;border-radius:18px;padding:13px 14px;box-shadow:0 12px 26px -22px rgba(120,70,0,.45)}
  .wk-dh{width:100%;display:flex;align-items:center;gap:10px;background:none;border:0;padding:0;margin-bottom:4px;cursor:default;font:inherit;text-align:start}
  /* solid accent day badge: calendar icon + DAY + number */
  .wk-badge{display:inline-flex;align-items:center;gap:8px;flex:none;background:var(--a);color:#fff;
    border-radius:13px;padding:7px 12px;margin-inline-end:auto;box-shadow:0 8px 18px -10px var(--a)}
  .wk-badge svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
  .wk-badge .t{display:flex;flex-direction:column;line-height:1}
  .wk-badge .t i{font-style:normal;font-family:var(--display);font-weight:700;font-size:7.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
  .wk-badge .t b{font-family:var(--display);font-weight:700;font-size:14px;margin-top:1px}
  .wk-dh .chev{display:none;width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;color:var(--a);transition:transform .32s}
  .wk-grab{display:none}
  /* hand-drawn swash under the last word, tinted with the plan accent */
  .wk-head .uline{position:relative;display:inline-block}
  .wk-head .uline::after{content:"";position:absolute;left:-1%;right:-1%;bottom:-.12em;height:.28em;pointer-events:none;background:var(--a);
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M2 8 C40 2 80 12 120 6 S180 4 198 7' stroke='%23000' stroke-width='5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M2 8 C40 2 80 12 120 6 S180 4 198 7' stroke='%23000' stroke-width='5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
  .wk-note{display:inline-flex;align-items:center;gap:7px}
  .wk-note svg{width:14px;height:14px;fill:none;stroke:var(--a);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}
  .wk-note b{color:var(--a);font-weight:700}
  /* big CTA tile — fills the 8th grid cell on desktop */
  .wk-cta-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;
    background:var(--a);border-radius:18px;color:#fff;text-decoration:none;cursor:pointer;overflow:hidden;min-height:220px;
    transition:transform .22s,filter .22s}
  .wk-cta-tile:hover{transform:translateY(-3px);filter:brightness(1.05)}
  .wk-cta-tile .hc{width:60px;height:60px;border-radius:50%;background:#fff;color:var(--a);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px -10px rgba(0,0,0,.35)}
  .wk-cta-tile .hc svg{width:28px;height:28px;fill:currentColor}
  .wk-cta-tile b{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:.01em}
  .wk-cta-tile .arr{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
  .wk-cta-tile .dd{position:absolute;fill:rgba(255,255,255,.16);pointer-events:none}
  .wk-cta-tile .dd.d1{width:52px;height:52px;top:12px;right:14px;transform:rotate(24deg)}
  .wk-cta-tile .dd.d2{width:40px;height:40px;bottom:16px;left:12px;transform:rotate(-20deg)}
  .wk-cta-tile .dd.d3{width:30px;height:30px;bottom:44px;right:26px;transform:rotate(50deg)}
  /* desktop: the grid tile IS the CTA — hide the bottom bar button */
  .wk-foot .wk-cta{display:none}
  .wk-foot{justify-content:flex-end}
  .wk-db{display:block}
  .wk-dbi{min-width:0}
  .wk-meal{display:flex;align-items:center;gap:11px;padding:9px 0}
  .wk-meal+.wk-meal{border-top:1px dashed #EFE3CB}
  .wk-meal .th{width:46px;height:46px;border-radius:50%;flex:none;overflow:hidden;background:#FBF4E5;border:1px solid #F0E2C6;
    display:flex;align-items:center;justify-content:center;font-size:18px}
  .wk-meal .th img{width:100%;height:100%;object-fit:contain;padding:4%;box-sizing:border-box;display:block}
  .wk-meal .mid{flex:1;min-width:0}
  .wk-meal .mid i{display:block;font-style:normal;font-family:var(--display);font-weight:700;font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:#C08A2D}
  .wk-meal .mid b{display:block;font-weight:600;font-size:13px;color:var(--espresso);line-height:1.3;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .wk-foot{display:flex;align-items:center;gap:14px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}
  .wk-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--a);color:#fff;text-decoration:none;
    font-family:var(--display);font-weight:700;font-size:15px;padding:12px 26px;border-radius:14px;cursor:pointer;transition:transform .2s,filter .2s}
  .wk-cta:hover{transform:translateY(-2px);filter:brightness(1.06)}
  .wk-note{font-size:12px;color:var(--soft)}
  @media(max-width:860px){
    .wkov{padding:0;align-items:flex-end}
    .wk-card{width:100%;max-height:94vh;max-height:94dvh;border-radius:26px 26px 0 0;padding:20px 16px 16px;transform:translateY(40px)}
    .wk-grab{display:block;width:44px;height:5px;border-radius:99px;background:rgba(120,80,30,.18);margin:0 auto 12px}
    /* the week becomes a stacked day accordion — tap a day to open it */
    .wk-days{display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:2px;overscroll-behavior:contain}
    .wk-day{background:#fff;border-radius:20px;padding:9px 12px;box-shadow:0 10px 24px -18px rgba(120,70,0,.4)}
    .wk-dh{cursor:pointer;margin-bottom:0;padding:2px 0;-webkit-tap-highlight-color:transparent}
    .wk-badge{padding:9px 13px;border-radius:14px}
    .wk-badge svg{width:18px;height:18px}
    .wk-badge .t i{font-size:8px}
    .wk-badge .t b{font-size:16px}
    .wk-dh .chev{display:block}
    .wk-day.open .wk-dbi{padding-top:6px}
    .wk-cta-tile{display:none}
    .wk-foot .wk-cta{display:inline-flex}
    .wk-foot{justify-content:space-between}
    .wk-meal .th{width:40px;height:40px;font-size:16px}
    .wk-meal .mid b{font-size:12.5px}
    .wk-day.open .chev{transform:rotate(180deg)}
    .wk-db{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.4,0,.2,1)}
    .wk-dbi{overflow:hidden;min-height:0}
    .wk-day.open .wk-db{grid-template-rows:1fr}
    .wk-day.open .wk-dh{margin-bottom:2px}
    .wk-cta{flex:1;text-align:center}
    .wk-note{width:100%;text-align:center}
  }

  .plhero-photo{position:relative;margin-right:clamp(-320px,calc((1140px - 100vw)/2 - 22px),0px)}
  .plhero-scene{position:relative;display:block;
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 4.5%,#000 96%,rgba(0,0,0,.65) 100%),
                       linear-gradient(to bottom,transparent 0,#000 3.5%,#000 87%,transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to right,transparent 0,#000 4.5%,#000 96%,rgba(0,0,0,.65) 100%),
               linear-gradient(to bottom,transparent 0,#000 3.5%,#000 87%,transparent 100%);
    mask-composite:intersect}
  .plhero-photo img{display:block;width:100%;height:auto}
  .plhero-scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:
    linear-gradient(to right,rgba(245,232,214,.5) 0,rgba(245,232,214,0) 7%,rgba(245,232,214,0) 90%,rgba(245,232,214,.3) 100%),
    linear-gradient(to bottom,rgba(245,232,214,.35) 0,rgba(245,232,214,0) 5%,rgba(245,232,214,0) 80%,rgba(245,232,214,.8) 100%)}

  /* ===== trust bar (icon per stat) ===== */
  .pltrust{padding:30px 0 6px}
  .pltrust-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:24px;
    box-shadow:0 30px 64px -40px rgba(70,44,18,.55);display:grid;grid-template-columns:1.25fr repeat(4,1fr)}
  .pltrust-cell{padding:28px 16px;display:flex;align-items:center;justify-content:center;gap:15px;border-left:1px solid var(--line)}
  .pltrust-cell:first-child{border-left:0}
  .pltrust-ic{width:64px;height:64px;border-radius:50%;background:#FDEED3;display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .pltrust-ic svg{width:30px;height:30px;color:#E8850C;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .pltrust-cell .tx b{display:block;font-family:var(--display);font-weight:700;font-size:27px;color:var(--espresso);line-height:1.05;letter-spacing:-.01em}
  .pltrust-cell .tx span{display:block;font-size:13px;color:var(--soft);margin-top:3px}
  .pltrust-rate{flex-direction:column;align-items:flex-start;gap:3px;padding-left:34px;justify-content:center}
  .pltrust-rate .pltrust-stars{color:#F5A623;font-size:22px;letter-spacing:3px;line-height:1}
  .pltrust-rate b{font-family:var(--display);font-weight:700;font-size:34px;color:var(--espresso);line-height:1.1}
  .pltrust-rate .cap{font-size:13px;color:var(--soft)}
  @media(max-width:860px){
    .pltrust{padding:22px 0 0}
    .pltrust-card{grid-template-columns:1fr 1fr}
    .pltrust-cell{padding:15px 12px;border-left:0;border-top:1px solid var(--line);justify-content:flex-start}
    .pltrust-cell:nth-child(odd):not(:first-child){border-left:1px solid var(--line)}
    .pltrust-rate{grid-column:1 / -1;border-top:0;align-items:center;padding:18px 12px 14px}
  }
  @media(max-width:480px){
    .pltrust-cell{padding:13px 10px;gap:10px}
    .pltrust-ic{width:42px;height:42px}
    .pltrust-ic svg{width:20px;height:20px}
    .pltrust-cell .tx b{font-size:19px}
    .pltrust-cell .tx span{font-size:10.5px}
    .pltrust-rate b{font-size:26px}
    .pltrust-rate .pltrust-stars{font-size:17px}
  }

  /* ===== what's in every box ===== */
  .plbox .wrap{max-width:1330px}
  .plbox-in{display:grid;grid-template-columns:1.08fr .92fr;gap:46px;align-items:center}
  .plbox-photo{position:relative;border-radius:26px;overflow:hidden;min-height:400px;background-size:cover;background-position:center;
    box-shadow:0 32px 62px -34px rgba(120,70,0,.5)}
  .plbox-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(120,70,0,.14),transparent 38%)}
  /* borderless variant: the cut-out subject floats directly on the page */
  .plbox-photo.nobox{background:none;min-height:0;border-radius:0;overflow:visible;box-shadow:none}
  .plbox-photo.nobox::after{display:none}
  .plbox-img{display:block;width:min(100%,640px);height:auto;margin:0 auto;position:relative;filter:drop-shadow(0 30px 34px rgba(70,44,18,.26))}
  /* mockup treatment: warm glow + floating claim pills + scattered leaves */
  .pb-glow{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:100%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,186,73,.46),transparent 62%);pointer-events:none}
  .pb-dots{position:absolute;left:5%;bottom:-2%;width:72px;height:54px;background-image:radial-gradient(circle,#E0AC5E 1.7px,transparent 2.1px);background-size:13px 13px;opacity:.55;pointer-events:none}
  .pb-leaf{position:absolute;width:34px;height:auto;pointer-events:none;z-index:2}
  .pb-leaf.lf1{top:1%;right:9%;transform:rotate(24deg)}
  .pb-leaf.lf2{bottom:5%;left:3%;width:26px;transform:rotate(-32deg)}
  .pb-pills{display:contents}
  .pb-pill{position:absolute;z-index:2;display:flex;align-items:center;gap:11px;background:#fff;border-radius:999px;padding:13px 19px;font-family:var(--display);font-weight:700;font-size:12.5px;line-height:1.2;letter-spacing:.05em;text-transform:uppercase;color:var(--espresso);box-shadow:0 20px 36px -16px rgba(70,44,18,.42);max-width:146px}
  .pb-pill img{width:28px;height:28px;object-fit:contain;flex-shrink:0}
  .pb-pill.pp1{left:-3%;top:9%}
  .pb-pill.pp2{left:-6%;top:47%}
  .pb-pill.pp3{left:-3%;bottom:18%}
  .pb-pill.pp4{right:-5%;top:52%}
  /* feature cards */
  .pb-cards{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:26px}
  .pb-card{position:relative;display:flex;gap:15px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 22px 42px -34px rgba(120,70,0,.5)}
  .pb-card .ic{width:60px;height:60px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}
  .pb-card .ic img{width:40px;height:40px;object-fit:contain;display:block}
  .ic-or{background:#FDECD7}.ic-gr{background:#EAF4E1}.ic-bl{background:#E2F0FB}.ic-pu{background:#EEE9FB}.ic-wa{background:#E5F6EB}
  .pb-card .d{min-width:0}
  .pb-card b{display:block;font-family:var(--display);font-weight:700;font-size:16.5px;color:var(--espresso);line-height:1.3}
  .pb-card .d>span{display:block;font-size:13px;color:var(--soft);margin-top:5px;line-height:1.55}
  .pb-card.promise{background:#FDF4DC;border-color:#F1DFAC}
  .pb-card.wide{grid-column:1/-1}
  .pb-badge{position:absolute;top:-13px;inset-inline-end:15px;background:linear-gradient(135deg,#FFB428,#F0911E);color:#fff;font-family:var(--display);font-weight:700;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;padding:6px 13px;border-radius:999px;box-shadow:0 8px 16px -8px rgba(200,110,0,.7)}
  .plbox-badge{position:absolute;left:18px;bottom:18px;z-index:2;background:rgba(255,255,255,.94);color:var(--espresso);
    font-family:var(--display);font-weight:700;font-size:13px;padding:8px 15px;border-radius:999px;box-shadow:0 10px 22px -8px rgba(0,0,0,.32)}
  .plbox-copy h2{font-family:var(--display);font-weight:700;font-size:42px;color:var(--espresso);letter-spacing:-.015em;line-height:1.06;margin:9px 0 0}
  .plbox-copy>p{color:var(--soft);font-size:16.5px;margin:13px 0 0;line-height:1.56;max-width:48ch}
  .plbox-list{list-style:none;margin:22px 0 0;padding:0}
  .plbox-list li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line)}
  .plbox-list li:first-child{border-top:0;padding-top:4px}
  .plbox-chk{flex-shrink:0;width:27px;height:27px;border-radius:9px;background:color-mix(in srgb,var(--orange) 14%,#fff);
    color:var(--orange);display:flex;align-items:center;justify-content:center;margin-top:1px}
  .plbox-chk svg{width:15px;height:15px}
  .plbox-list b{font-family:var(--display);font-weight:700;font-size:15.5px;color:var(--espresso);display:block}
  .plbox-list span{font-size:13px;color:var(--soft);display:block;margin-top:2px;line-height:1.45}
  @media(max-width:860px){.plbox-in{grid-template-columns:1fr;gap:26px}.plbox-photo{min-height:0}.plbox-copy h2{font-size:27px}
    /* phone: no glow/deco, smaller bag, pills become a chip row under the image */
    .pb-glow,.pb-leaf,.pb-dots{display:none}
    .plbox-photo.nobox{text-align:center}
    .plbox-img{width:min(74%,340px);filter:drop-shadow(0 18px 22px rgba(70,44,18,.22))}
    .pb-pills{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:360px;margin:18px auto 0}
    .pb-pill{position:static;display:flex;justify-content:center;margin:0;max-width:none;font-size:10px;letter-spacing:.02em;padding:11px 8px;gap:7px;box-shadow:0 10px 22px -12px rgba(70,44,18,.35);white-space:nowrap}
    .pb-pill img{width:20px;height:20px}
    .plbox-in{row-gap:0}
    .plbox-copy{display:contents}
    .plbox-copy .eyebrow{order:1}
    .plbox-copy h2{order:2}
    .plbox-copy>p{order:3}
    .plbox-photo{order:4;margin-top:22px}
    .pb-cards{order:5}}
  @media(max-width:640px){.pb-cards{grid-template-columns:1fr}}

  /* ===== testimonials ===== */
  .pltest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .pltest{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px 24px 40px;
    box-shadow:0 20px 46px -36px rgba(70,44,18,.55);display:flex;flex-direction:column;position:relative;overflow:hidden}
  .pltest-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
  .pltest-top .qm{font-family:var(--display);font-weight:700;font-size:64px;line-height:.62;color:#F5DFA8;letter-spacing:-4px;pointer-events:none;user-select:none}
  .pltest-stars{color:#F5A81C;font-size:17px;letter-spacing:3px;position:relative;z-index:1}
  .pltest-q{font-size:15.5px;color:var(--espresso);line-height:1.62;margin:16px 0 0;position:relative;z-index:1;unicode-bidi:plaintext}
  .pltest-by{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid #F2E9D8;position:relative;z-index:1}
  .pltest-q{padding-bottom:18px}
  .pltest-wave{position:absolute;left:0;right:0;bottom:0;width:100%;height:36px;display:block;pointer-events:none}
  .pltest-by .av{width:42px;height:42px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
    font-family:var(--display);font-weight:700;font-size:16px;color:#fff}
  .pltest-by b{font-family:var(--display);font-weight:700;font-size:14.5px;color:var(--espresso);display:block;line-height:1.15}
  .pltest-by span{font-size:12.5px;color:var(--soft)}
  .pltest-by b,.pltest-by span{unicode-bidi:plaintext}
  @media(max-width:860px){.pltest-grid{grid-template-columns:1fr;gap:15px}}
  @media(min-width:861px) and (max-width:1080px){
    /* narrow desktop: compact the steps card and trust cells so nothing wraps */
    .plhow{gap:7px;padding:10px 12px;border-radius:16px}
    .plhow .st{font-size:12px;gap:6px}
    .plhow .bdg{width:30px;height:30px;border-radius:9px}
    .plhow .bdg>svg{width:15px;height:15px}
    .plhow .bdg i{width:14px;height:14px;font-size:8.5px;top:-4px;left:-4px}
    .plhow .sep{display:none}
    .pltrust-cell{padding:20px 10px;gap:10px}
    .pltrust-ic{width:50px;height:50px}
    .pltrust-ic svg{width:23px;height:23px}
    .pltrust-cell .tx b{font-size:20px}
    .pltrust-cell .tx span{font-size:11.5px}
    .pltrust-rate{padding-left:18px}
    .pltrust-rate b{font-size:27px}
    .pltrust-rate .pltrust-stars{font-size:17px;letter-spacing:2px}
  }
  @media(max-width:860px){
    /* lighter, centered composition on small screens */
    .plhero{padding:100px 0 16px}
    .plhero .wrap{grid-template-columns:1fr;gap:0;text-align:center}
    .plhero .eyebrow{justify-content:center}
    .plhero h1{font-size:33px;line-height:1.06}
    .plhero .sub{margin:11px auto 0;font-size:14.5px;max-width:36ch}
    .plhow{display:inline-flex;flex-direction:column;align-items:flex-start;gap:16px;margin:18px auto 0;padding:0;background:transparent;border:0;box-shadow:none;border-radius:0;text-align:start}
    .plhow .st{font-size:14.5px;gap:13px;position:relative}
    .plhow .sep{display:none}
    .plhow .sep+.st::before{content:"";position:absolute;top:-16px;left:22px;height:16px;border-left:2px dashed #CBAF84}
    .plhow .bdg{width:46px;height:46px;border-radius:15px;box-shadow:0 10px 20px -14px rgba(120,70,0,.5)}
    .plhow .bdg>svg{width:22px;height:22px}
    .plhow .bdg i{width:17px;height:17px;font-size:10px}
    .plhow .tx{display:flex;flex-direction:column;gap:2px}
    .plhow .tx>span{display:block;font-family:var(--body);font-weight:600;font-size:12px;color:var(--soft);white-space:normal}
    .plh-cup{display:none}
    .plhero-cta{margin-top:16px;justify-content:center;gap:10px}
    .plhero-cta .btn-primary{padding:14px 24px;font-size:14.5px}
    .plhero-cta .ghostlink{padding:13px 23px;font-size:14.5px}
    .plhero-photo{max-width:470px;margin:12px auto 0}
    .plh-dots,.plh-leaf{display:none}
  }

  /* ===== builder v2: photo goal cards + on-demand calories & macros dialog ===== */
  /* goal cards: plan photos, one neutral brand accent (per-plan colors removed) */
  .plgoal{--ga:#E2620A}
  .plgoal .gi{border-radius:14px;overflow:hidden;background:#F1E8D6}
  .plgoal .gi img{object-fit:cover;object-position:center 24%}
  .pxgate[hidden]{display:none}
  /* reveal button: soft pulsing glow until first use */
  .plmacbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:12px;padding:12px 16px;border:1.5px solid rgba(226,98,10,.4);border-radius:14px;background:#FFF6E9;color:#B4530A;font-family:var(--display);font-weight:700;font-size:14.5px;cursor:pointer;transition:transform .18s,background .18s,border-color .18s;animation:pmPulse 2.6s ease-out infinite}
  .plmacbtn:hover{transform:translateY(-1px);background:#FFEFDB;border-color:rgba(226,98,10,.7)}
  .plmacbtn.quiet{animation:none}
  .pmb-ic{width:21px;height:21px;flex-shrink:0;transform:rotate(-90deg)}
  @keyframes pmPulse{0%{box-shadow:0 0 0 0 rgba(240,145,30,.35)}70%{box-shadow:0 0 0 11px rgba(240,145,30,0)}100%{box-shadow:0 0 0 0 rgba(240,145,30,0)}}
  @media(prefers-reduced-motion:reduce){.plmacbtn{animation:none}}
  .pmdlg{position:fixed;inset:0;z-index:220;display:flex;align-items:center;justify-content:center;padding:20px}
  .pmdlg[hidden]{display:none}
  .pmdlg-ov{position:absolute;inset:0;background:rgba(40,24,8,.5);backdrop-filter:blur(5px);opacity:0;transition:opacity .24s}
  .pmdlg-card{position:relative;overflow:hidden;width:min(680px,100%);background:#FDFAF4;border:1px solid var(--line);border-radius:28px;padding:28px 30px 24px;box-shadow:0 40px 90px -34px rgba(60,35,10,.65);opacity:0;transform:scale(.94) translateY(12px);transition:opacity .26s,transform .26s cubic-bezier(.34,1.3,.5,1)}
  .pmdlg.open .pmdlg-ov{opacity:1}
  .pmdlg.open .pmdlg-card{opacity:1;transform:none}
  @media(prefers-reduced-motion:reduce){.pmdlg-ov,.pmdlg-card{transition:none}}
  .pmdlg-card>*:not(.pm-wm){position:relative}
  .pm-wm{position:absolute;bottom:-36px;inset-inline-end:-30px;width:300px;opacity:.055;pointer-events:none;transform:rotate(14deg)}
  .pmdlg-card>.pmdlg-x{position:absolute;top:18px;right:20px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#4A3A28;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px -6px rgba(60,35,10,.28);transition:transform .15s,box-shadow .15s;z-index:2}
  .pmdlg-x:hover{transform:scale(1.06);box-shadow:0 8px 20px -6px rgba(60,35,10,.34)}
  .pmdlg-x svg{width:16px;height:16px}
  [dir="rtl"] .pmdlg-card>.pmdlg-x{right:auto;left:20px}
  .pm-head{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:-.01em;color:var(--espresso);margin-bottom:14px;padding-inline-end:56px}
  .pm-head .pm-leaf{width:22px;height:22px;color:#5CAE34;flex-shrink:0}
  .pmdlg-ctx{display:inline-flex;align-items:center;gap:9px;background:#F7EEDC;color:#5C4326;font-family:var(--display);font-weight:700;font-size:14px;padding:7px 16px 7px 9px;border-radius:999px;margin:0 0 24px}
  [dir="rtl"] .pmdlg-ctx{padding:7px 9px 7px 16px}
  .pm-ctxic{width:28px;height:28px;border-radius:50%;background:#fff;color:#8B6B3F;display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .pm-ctxic svg{width:15px;height:15px}
  .pm-grid{display:flex;align-items:center;gap:28px}
  .pm-donutwrap{position:relative;width:272px;height:272px;flex-shrink:0;margin-inline-start:2px}
  .pm-cen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
  .pm-cen .pm-flame{width:26px;height:26px;color:#F0911E;margin-bottom:2px}
  .pm-cen b{font-family:var(--display);font-weight:800;font-size:32px;letter-spacing:-.01em;color:var(--espresso);line-height:1.05;white-space:nowrap}
  .pm-cen span{font-size:13.5px;color:var(--soft)}
  .pm-vdiv{width:1px;align-self:stretch;background:var(--line);flex-shrink:0}
  .pm-legs{flex:1;display:flex;flex-direction:column;gap:13px;min-width:0}
  .pm-leg{display:flex;align-items:center;gap:14px;direction:ltr;background:#FFFEFB;border:1px solid var(--line);border-radius:16px;padding:12px 16px;box-shadow:0 4px 12px -8px rgba(60,35,10,.18)}
  .pm-lic{width:52px;height:52px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
  .pm-lic svg{width:27px;height:27px}
  .pm-lic img{width:34px;height:34px;object-fit:contain;display:block}
  .pm-lic.p{background:#E7F2E3;color:#4E9D5B}
  .pm-lic.c{background:#FBEDD6;color:#E8A13C}
  .pm-lic.f{background:#F6E7DC;color:#C1633C}
  .pm-lrow{display:flex;align-items:center;gap:9px}
  .pm-lrow b{font-family:var(--display);font-weight:800;font-size:23px;color:var(--espresso)}
  .pm-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
  .pm-dot.p{background:#5BA85F}.pm-dot.c{background:#F0A93C}.pm-dot.f{background:#C77B4A}
  .pm-nm{font-weight:700;font-size:16.5px}
  .pm-nm.p{color:#3E8A4B}.pm-nm.c{color:#C9871F}.pm-nm.f{color:#A85F38}
  .pm-lkc{font-size:12.5px;color:var(--soft);margin-top:3px}
  [dir="rtl"] .pm-lkc{direction:rtl;text-align:left}
  .pm-note{display:flex;align-items:center;gap:14px;background:#F3F7EC;border-radius:16px;padding:14px 18px;margin-top:24px}
  .pm-ntx{flex:1;min-width:0}
  .pm-ntx b{display:block;font-size:13.5px;color:var(--espresso);font-weight:700;line-height:1.55}
  .pm-ntx span{display:block;font-size:12.5px;color:#3E8A4B;font-weight:600;margin-top:3px}
  .pm-nic{width:46px;height:46px;border-radius:13px;background:#fff;color:#4E9D5B;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 3px 9px -4px rgba(60,35,10,.2)}
  .pm-nic svg{width:23px;height:23px}
  @media(max-width:640px){
    .pmdlg-card{padding:22px 18px 18px}
    .pm-head{font-size:18px}
    .pm-grid{flex-direction:column;gap:20px}
    .pm-vdiv{display:none}
    .pm-donutwrap{width:200px;height:200px}
    .pm-cen b{font-size:24px}
    .pm-legs{width:100%;gap:11px}
    .pm-lic{width:46px;height:46px}
    .pm-lrow b{font-size:20px}
  }


  /* ---- goal chips (builder step-1 preview) ---- */
  .pl-demo-note{margin:16px 2px 8px;font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#B4885A}
  .plgoals-chips{gap:10px}
  .plchip{display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:16px}
  .plchip .chip-ic{width:38px;height:38px;border-radius:50%;background:var(--pt,#F1E8D6);color:var(--ga);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s}
  .plchip:hover .chip-ic{transform:scale(1.08)}
  .plchip .chip-ic svg{width:19px;height:19px}
  .plchip .chip-tx{min-width:0}
  .plchip .chip-tx b{font-family:var(--display);font-weight:700;font-size:14.5px;color:var(--espresso);display:block;line-height:1.15;white-space:nowrap}
  .plchip .chip-tx span{font-size:11.5px;color:var(--soft);display:block;margin-top:2px;white-space:nowrap}
  .plchip.sel{background:color-mix(in srgb,var(--ga) 9%,#FFFDF8)}
  .plchip.sel .chip-tx b{color:var(--ga)}
  .plchip .gchk{top:8px;right:8px;width:19px;height:19px}
  .plchip .gchk svg{width:10px;height:10px}
  [dir="rtl"] .plchip .gchk{right:auto;left:8px}
  @media(max-width:560px){
    .plchip{flex-direction:row;text-align:left;padding:9px 11px;gap:9px}
    .plchip .chip-ic{width:32px;height:32px}
    .plchip .chip-ic svg{width:16px;height:16px}
    .plchip .chip-tx b{font-size:13px}
    .plchip .chip-tx span{display:block;font-size:10.5px}
  }

  /* ---- optional daily snack toggle (builder step 2) ---- */
  .plsnack{position:relative;display:flex;align-items:center;gap:12px;margin-top:12px;background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:12px 15px;cursor:pointer;user-select:none;transition:border-color .2s,background .2s}
  .plsnack:hover{border-color:#E4C79B}
  .plsnack.on{border-color:#E2620A;background:#FFF9EF}
  .plsnack input{position:absolute;opacity:0;pointer-events:none}
  .sn-ic{width:38px;height:38px;border-radius:12px;background:#FDECD7;color:#C97516;display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .sn-ic svg{width:20px;height:20px}
  .sn-tx{flex:1;min-width:0}
  .sn-tx b{font-family:var(--display);font-weight:700;font-size:14.5px;color:var(--espresso);display:block}
  .sn-tx span{font-size:12px;color:var(--soft);display:block;margin-top:2px}
  .sn-price{font-family:var(--display);font-weight:800;font-size:14px;color:#B4530A;white-space:nowrap}
  .sn-price small{font-weight:700;font-size:11px;color:var(--soft)}
  .sn-sw{width:40px;height:24px;border-radius:999px;background:#E6DAC2;position:relative;flex-shrink:0;transition:background .2s}
  .sn-sw i{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(60,35,10,.3);transition:transform .2s}
  .plsnack.on .sn-sw{background:#E2620A}
  .plsnack.on .sn-sw i{transform:translateX(16px)}
  [dir="rtl"] .sn-sw i{left:auto;right:3px}
  [dir="rtl"] .plsnack.on .sn-sw i{transform:translateX(-16px)}

  /* legend now shows JSON gram ranges (longer than the old %) - size accordingly */
  .pm-lrow b{font-size:18.5px;white-space:nowrap}
  .pm-lkc:empty{display:none}
