/* Magic AI Clinici — interactive offer on the product page (uses the page's variables: --teal, --blue, --night…). */
.offer .launch-badge{margin-bottom:.4rem}
#offer-app{margin-top:2.4rem}
.oc-loading{color:var(--muted)}
.oc-step{margin:3.2rem 0 1.1rem;font:700 .8rem/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:#0E8C7F}
.oc-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}
.oc-note{margin:.6rem 0 0;font-size:.82rem;color:#64748B}

/* controls */
.oc-controls{display:grid;gap:16px;align-items:end}
@media(min-width:860px){.oc-controls{grid-template-columns:1fr auto}}
.oc-doctors label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-weight:600;color:var(--ink)}
.oc-dnum{font:900 2.2rem/1 var(--display);letter-spacing:-.03em}
.oc-doctors input[type=range]{width:100%;margin-top:14px;accent-color:var(--teal);height:6px}
.oc-billing{display:inline-flex;gap:4px;padding:5px;border:1px solid var(--line);border-radius:999px;background:#fff;justify-self:start}
.oc-seg{border:0;background:none;cursor:pointer;padding:10px 18px;border-radius:999px;font:600 .9rem/1 var(--body);color:#475569;transition:background .2s,color .2s}
.oc-seg em{font-style:normal;color:#0E8C7F;margin-left:4px}
.oc-seg.on{background:var(--night);color:#fff}
.oc-seg.on em{color:var(--teal)}

/* plans */
.oc-plans{display:grid;gap:20px}
@media(min-width:700px){.oc-plans{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1180px){.oc-plans{grid-template-columns:repeat(4,1fr)}}
.oc-plan{position:relative;display:flex;flex-direction:column;gap:16px;text-align:left;cursor:pointer;padding:28px;border-radius:var(--r);border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;
  transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,background .3s,color .3s}
.oc-plan:hover{transform:translateY(-6px);box-shadow:0 26px 60px -30px rgb(15 23 42/.35)}
.oc-plan.on{background:var(--night);color:#fff;border-color:transparent;box-shadow:0 30px 70px -30px rgb(38 198 181/.65)}
.oc-best{position:absolute;top:-13px;left:24px;padding:6px 14px;border-radius:999px;background:linear-gradient(100deg,var(--teal),var(--blue));color:#fff;font:700 .75rem/1 var(--body);box-shadow:0 8px 20px -8px rgb(30 136 229/.6)}
.oc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.oc-name{display:block;font:700 1.45rem/1.15 var(--display);letter-spacing:-.02em}
.oc-docs{display:block;margin-top:4px;font:700 .74rem/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#0E8C7F}
.oc-plan.on .oc-docs{color:var(--teal)}
.oc-off{padding:5px 10px;border-radius:999px;background:#e11d48;color:#fff;font:700 .75rem/1 var(--body)}
.oc-price{display:flex;flex-direction:column;gap:2px}
.oc-was{color:#94A3B8;font-weight:500;text-decoration:line-through;text-decoration-color:#fb7185;text-decoration-thickness:2px;white-space:nowrap}
.oc-price>.oc-was{font-size:1.05rem}
.oc-big{font:900 2.9rem/1 var(--display);letter-spacing:-.04em}
.oc-big small,.oc-tbig small,.oc-bprice small{font:500 .95rem/1 var(--body);letter-spacing:0;color:#64748B;margin-left:4px}
.oc-plan.on .oc-big small{color:#94A3B8}
.oc-lp{font:700 .72rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#e11d48;margin-top:6px}
.oc-plan.on .oc-lp{color:#fda4af}
.oc-units{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--line);display:grid;gap:10px;font-size:.9rem}
.oc-plan.on .oc-units{border-color:rgb(255 255 255/.12)}
.oc-units li{display:grid;grid-template-columns:1fr auto;gap:2px 10px}
.oc-units span{color:#475569}
.oc-plan.on .oc-units span,.oc-plan.on .oc-extras{color:#CBD5E1}
.oc-units small{grid-column:1/-1;font-size:.78rem;color:#64748B}
.oc-plan.on .oc-units small{color:#94A3B8}
.oc-extras{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.88rem;color:#475569}
.oc-extras li::before,.oc-bullets li::before,.oc-included li::before{content:"✓";color:var(--teal);font-weight:700;margin-right:8px}
.oc-setup{margin-top:auto;font-size:.88rem;color:#475569}
.oc-plan.on .oc-setup{color:#CBD5E1}
.oc-plan.on .oc-setup b{color:#fff}
.oc-cta{display:flex;justify-content:center;padding:13px 18px;border-radius:999px;background:var(--ink);color:#fff;font:600 .95rem/1 var(--body);transition:background .2s}
.oc-plan:hover .oc-cta{background:#1565C0}
.oc-plan.on .oc-cta{background:linear-gradient(100deg,var(--teal),var(--blue))}

/* enterprise */
.oc-enterprise{position:relative;margin-top:20px;display:grid;gap:18px;padding:28px;border-radius:var(--r);background:linear-gradient(120deg,#0A0F1E 0%,#0f2a3f 100%);color:#fff;box-shadow:0 30px 70px -45px rgb(5 8 17/.9);transition:box-shadow .3s}
@media(min-width:960px){.oc-enterprise{grid-template-columns:1.2fr 1.2fr auto;align-items:center}}
.oc-enterprise.on{box-shadow:0 0 0 2px var(--teal),0 30px 70px -35px rgb(38 198 181/.6)}
.oc-enterprise .oc-docs{color:var(--teal)}
.oc-ehead p{margin:.6rem 0 0;color:#CBD5E1;font-size:.95rem}
.oc-enterprise .oc-bullets{color:#CBD5E1}
.oc-eside{display:grid;gap:12px;justify-items:start}
@media(min-width:960px){.oc-eside{justify-items:end;text-align:right}}
.oc-eprice{font:900 1.6rem/1.1 var(--display);letter-spacing:-.02em}
.oc-tsmall{font-size:clamp(1.6rem,3.5vw,2.2rem)}
.oc-eres{position:relative;margin:14px 0 0;color:#CBD5E1;font-size:.95rem}

/* options */
.oc-options{display:grid;gap:20px}
@media(min-width:860px){.oc-options{grid-template-columns:1fr 1fr}}
.oc-option{display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:var(--r);background:#fff;border:1px solid var(--line);transition:transform .3s,box-shadow .3s}
.oc-option:hover{transform:translateY(-4px);box-shadow:0 22px 50px -30px rgb(15 23 42/.3)}
.oc-option.on.oc-consult{box-shadow:0 0 0 2px var(--teal),0 26px 60px -30px rgb(38 198 181/.55);border-color:transparent}
.oc-option.on.oc-survey{box-shadow:0 0 0 2px var(--blue),0 26px 60px -30px rgb(30 136 229/.5);border-color:transparent}
.oc-otop{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.oc-oprice{margin-top:8px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.oc-oprice b{font:900 1.9rem/1 var(--display);letter-spacing:-.03em;color:#0E8C7F}
.oc-survey .oc-oprice b{color:#1565C0}
.oc-oprice small{color:#64748B}
.oc-switch{position:relative;flex:none;width:56px;height:32px;border:0;border-radius:999px;background:#E2E8F0;cursor:pointer;transition:background .25s}
.oc-switch span{position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgb(0 0 0/.2);transition:left .25s}
.oc-switch[aria-checked=true]{background:var(--teal)}
.oc-survey .oc-switch[aria-checked=true]{background:var(--blue)}
.oc-switch[aria-checked=true] span{left:28px}
.oc-bullets{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.9rem;color:#475569}
.oc-option .oc-note{margin:0}
.oc-add{margin-top:auto;padding:12px;border-radius:999px;border:1px solid var(--line);background:#fff;font:600 .92rem/1 var(--body);color:var(--ink);cursor:pointer;transition:border-color .2s,color .2s}
.oc-add:hover{border-color:var(--blue);color:#1565C0}
.oc-stepper{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;background:#E0F7F4;font-weight:600;font-size:.9rem}
.oc-stepper>span:last-child{display:flex;align-items:center;gap:10px}
.oc-stepper button{width:34px;height:34px;border-radius:50%;border:0;background:#fff;box-shadow:0 2px 6px rgb(0 0 0/.12);font:700 1.1rem/1 var(--body);cursor:pointer}
.oc-stepper b{min-width:28px;text-align:center;font:900 1.4rem/1 var(--display)}

/* estimate */
.oc-estimate{display:grid;gap:20px}
@media(min-width:960px){.oc-estimate{grid-template-columns:1fr 1.1fr}}
.oc-label{font:700 .74rem/1.4 var(--body);letter-spacing:.08em;text-transform:uppercase;color:#64748B;margin-bottom:12px}
.oc-vol{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:.92rem;color:#475569}
.oc-vol input{width:120px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;font:600 .95rem/1 var(--body);text-align:right;color:var(--ink)}
.oc-vol input:focus,.oc-form input:focus,.oc-form textarea:focus{outline:3px solid rgb(38 198 181/.35);border-color:var(--teal)}
.oc-result{position:relative;overflow:hidden;padding:28px;border-radius:var(--r);background:var(--night);color:#fff;box-shadow:0 30px 70px -40px rgb(5 8 17/.9)}
.oc-result::before{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;background:rgb(38 198 181/.22);filter:blur(50px)}
.oc-lines{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:.92rem}
.oc-lines li{display:flex;justify-content:space-between;gap:14px;align-items:baseline}
.oc-lines li>span:first-child{color:#CBD5E1}
.oc-total{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid rgb(255 255 255/.12)}
.oc-total>span:first-child{font:700 .78rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:#CBD5E1}
.oc-tbig{font:900 clamp(2.4rem,5vw,3.2rem)/1 var(--display);letter-spacing:-.04em}
.oc-tbig small{color:#94A3B8}
.oc-save{position:relative;margin-top:14px;padding:10px 14px;border-radius:12px;background:rgb(225 29 72/.18);color:#fecdd3;font-weight:600;font-size:.9rem}
.oc-setupline{position:relative;margin-top:12px;font-size:.88rem;color:#94A3B8}
.oc-setupline b{color:#fff}

@keyframes oc-flash{0%{box-shadow:0 0 0 0 rgb(38 198 181/.0)}25%{box-shadow:0 0 0 6px rgb(38 198 181/.45)}100%{box-shadow:0 0 0 0 rgb(38 198 181/0)}}
.oc-estimate{border-radius:var(--r)}
.oc-estimate.oc-flash{animation:oc-flash 1.2s ease-out}
@media(prefers-reduced-motion:reduce){.oc-estimate.oc-flash{animation:none}}

/* request */
.oc-request{display:grid;gap:28px;margin-top:3.6rem}
@media(min-width:960px){.oc-request{grid-template-columns:1fr 1.05fr}}
.oc-included h3,.oc-form h3{margin:0 0 .9rem;font:700 1.45rem/1.2 var(--display);letter-spacing:-.02em}
.oc-included ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;color:#334155}
.oc-form{display:grid;gap:12px;padding:28px;border-radius:var(--r);background:#fff;border:1px solid var(--line);box-shadow:0 30px 70px -45px rgb(15 23 42/.45);scroll-margin-top:90px}
.oc-summary{margin:0;font-size:.9rem;color:#475569}
.oc-grid{display:grid;gap:12px}
@media(min-width:560px){.oc-grid{grid-template-columns:1fr 1fr}.oc-wide{grid-column:1/-1}}
.oc-form label{display:grid;gap:6px;font:600 .82rem/1.3 var(--body);color:#334155}
.oc-form input:not([type=checkbox]),.oc-form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font:400 .95rem/1.4 var(--body);color:var(--ink);background:#fff}
.oc-form textarea{min-height:90px;resize:vertical}
.oc-form .oc-consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:#475569}
.oc-consent input{margin-top:3px}
.oc-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.oc-error{margin:0;color:#be123c;font-weight:600;font-size:.9rem}
.oc-send{justify-content:center;width:100%}
.oc-thanks{text-align:center;padding:20px 6px}
.oc-thanks h3{margin-bottom:.5rem}

/* sticky bar */
.oc-bar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgb(10 15 30/.95);backdrop-filter:blur(12px);border-top:1px solid rgb(255 255 255/.08);color:#fff;transform:translateY(110%);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.oc-bar.show{transform:none}
.oc-barin{max-width:var(--wrap);margin:0 auto;padding:12px 24px;display:flex;justify-content:space-between;align-items:center;gap:14px}
.oc-bname{font-size:.78rem;color:#94A3B8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56vw}
.oc-bprice{display:flex;align-items:baseline;gap:8px}
.oc-bprice b{font:900 1.6rem/1 var(--display);letter-spacing:-.03em}
.oc-barin .btn{padding:12px 20px;white-space:nowrap}
@media(max-width:560px){.oc-bprice .oc-was{display:none}.oc-barin{padding:10px 16px}}
@media(prefers-reduced-motion:reduce){.oc-plan,.oc-option,.oc-bar{transition:none}}
