/* RC2.30.49: landing page plan carousel, isolated from other public pages. */
#plans .public-plan-carousel{margin:12px 0 20px;min-width:0;overflow:visible}
#plans .public-plan-track{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;overflow-anchor:none;padding:16px max(16px,calc((100% - var(--active-plan-width,min(82vw,380px)))/2)) 24px;cursor:grab;touch-action:pan-x pan-y}
.public-plan-track::-webkit-scrollbar{display:none}
.public-plan-track.is-changing,.public-plan-track.is-dragging,.public-plan-track.is-recentering{scroll-snap-type:none}
.public-plan-track.is-dragging{cursor:grabbing;user-select:none}
#plans .public-plan-card{--plan-tone:#177352;--plan-wash:#27ac7940;--plan-glow:#42c5a133;position:relative;isolation:isolate;display:flex;flex-direction:column;flex:0 0 var(--active-plan-width,min(82vw,380px));min-width:0;min-height:450px;padding:24px;border:1px solid var(--ui-border,var(--public-border));border-radius:26px;scroll-snap-align:center;overflow:hidden;color:var(--ui-text,var(--public-text));background:radial-gradient(ellipse at 100% 0%,var(--plan-glow),transparent 64%),linear-gradient(145deg,var(--plan-wash),transparent 82%),var(--ui-surface,var(--public-white));box-shadow:0 8px 24px #153d2910;transform:translate3d(0,0,0) scale(.9);opacity:.82;transition:transform .64s cubic-bezier(.32,0,.2,1),opacity .64s cubic-bezier(.32,0,.2,1),border-color .64s}
#plans .public-plan-card[data-plan-theme="1"]{--plan-tone:#28698e;--plan-wash:#409dd24a;--plan-glow:#7acfe038}
#plans .public-plan-card[data-plan-theme="2"]{--plan-tone:#87601c;--plan-wash:#e8b5484a;--plan-glow:#f4d88738}
#plans .public-plan-card[data-plan-theme="3"]{--plan-tone:#7553a1;--plan-wash:#a07adc48;--plan-glow:#d2adf23a}
#plans .public-plan-card::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:200px;height:200px;right:-106px;top:98px;border:1px solid var(--plan-glow);border-radius:50%;box-shadow:0 0 0 24px var(--plan-glow),0 0 0 48px var(--plan-glow);opacity:.38}
#plans .public-plan-card.is-active{flex-basis:var(--active-plan-width,min(82vw,380px));transform:translate3d(0,0,0) scale(1);opacity:1;border-color:var(--plan-tone);box-shadow:0 12px 30px #153d291b}
.public-plan-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.public-plan-badge{padding:6px 10px;border-radius:30px;background:var(--ui-surface,var(--public-white));color:var(--ui-text,var(--public-text));border:1px solid var(--ui-border,var(--public-border))}
.public-plan-emblem{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin-top:22px;border-radius:16px;color:var(--plan-tone);background:var(--plan-glow);font-size:21px;transform:rotate(-6deg);transition:transform .64s cubic-bezier(.32,0,.2,1)}
.public-plan-card.is-active .public-plan-emblem{transform:rotate(0)}
#plans .public-plan-name{margin:14px 0 8px;font-size:17px;font-weight:800;overflow-wrap:anywhere}
#plans .public-plan-speed{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin:4px 0 22px;line-height:1.05;letter-spacing:-.045em;overflow-wrap:anywhere}
.public-speed-value{font-size:clamp(58px,12vw,84px);font-weight:800;}
.public-speed-unit{font-size:18px;font-weight:600;letter-spacing:0;color:var(--ui-muted,var(--public-muted))}
.public-speed-fallback{font-size:30px;font-weight:800;letter-spacing:-.02em}
#plans .public-plan-price{font-size:28px;font-weight:800;letter-spacing:-.025em;overflow-wrap:anywhere}
.public-plan-price small{display:inline-block;margin-left:6px;font-size:12px;font-weight:600;letter-spacing:0;color:var(--ui-muted,var(--public-muted))}
.public-plan-description{flex:1;margin:16px 0 22px;color:var(--ui-muted,var(--public-muted));font-size:13px;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}
#plans .public-plan-card .public-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:14px;font-size:14px;font-weight:700;white-space:normal}
#plans .public-plan-card .public-button-primary{background:var(--plan-tone);border-color:var(--plan-tone);color:#fff;box-shadow:0 4px 12px #153d2915}
.public-plan-controls:not([hidden]){display:flex;align-items:center;justify-content:center;gap:20px;margin-top:0}
.public-plan-controls[hidden]{display:none}
.public-plan-controls button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--ui-border,var(--public-border));border-radius:50%;background:var(--ui-surface,var(--public-white));color:var(--ui-text,var(--public-text))}
.public-plan-controls span{color:var(--ui-muted,var(--public-muted));font-size:12px;min-width:70px;text-align:center}
.public-plan-controls button:focus-visible,.public-plan-track:focus-visible,.public-plan-card .public-button:focus-visible{outline:3px solid var(--ui-accent,var(--public-brand));outline-offset:3px}
.public-plan-card:focus-within{border-color:var(--plan-tone)}
.public-plan-track.is-recentering .public-plan-card,.public-plan-track.is-recentering .public-speed-value{transition:none!important}
html[data-theme="dark"] #plans .public-plan-card{--plan-tone:#8be2ba}
html[data-theme="dark"] #plans .public-plan-card[data-plan-theme="1"]{--plan-tone:#98d5f5}
html[data-theme="dark"] #plans .public-plan-card[data-plan-theme="2"]{--plan-tone:#f5d587}
html[data-theme="dark"] #plans .public-plan-card[data-plan-theme="3"]{--plan-tone:#d5b6ff}
html[data-theme="dark"] #plans .public-plan-card .public-button-primary{background:var(--plan-glow);border-color:var(--plan-tone);color:var(--ui-text)}
@media(max-width:767.98px){#plans .public-plan-carousel{margin-left:-15px;margin-right:-15px}#plans .public-plan-card{padding:20px;min-height:440px}.public-plan-controls{margin-left:15px;margin-right:15px}}
@media(prefers-reduced-motion:reduce){#plans .public-plan-card,.public-speed-value,.public-plan-emblem{transition:none!important}}
#plans .public-plan-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
#plans .public-plan-badge{font-size:11px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
#plans .public-plan-name,#plans .public-plan-speed,#plans .public-plan-price{color:var(--ui-text,var(--public-text))}
#plans .public-plan-price{margin-top:0}
html[data-theme="dark"] #plans .public-plan-card{background:radial-gradient(ellipse at 100% 0%,var(--plan-glow),transparent 64%),linear-gradient(145deg,var(--plan-wash),transparent 82%),var(--ui-surface)!important}
@media(max-width:767.98px){#plans .public-plan-carousel{margin-left:-18px;margin-right:-18px}}
@media(max-width:460px){#plans .public-plan-carousel{margin-left:-13px;margin-right:-13px}}
/* Constant content dimensions avoid text reflow and vertical jumps mid-slide. */
#plans .public-plan-speed{transform-origin:left center;transform:scale(.76);transition:transform .64s cubic-bezier(.32,0,.2,1)}
#plans .public-plan-card.is-active .public-plan-speed{transform:scale(1)}
#plans .public-plan-card{transform-origin:center center;box-shadow:0 10px 26px #153d2918}
#plans .public-plan-card.is-active{box-shadow:0 10px 26px #153d2918}
.public-plan-track.is-changing .public-plan-card,.public-plan-track.is-changing .public-plan-speed{will-change:transform}
.public-plan-track.is-recentering .public-plan-speed{transition:none!important}
@media(prefers-reduced-motion:reduce){#plans .public-plan-speed{transition:none!important}}

/* Leave visible neighboring cards on both sides of the selected mobile plan. */
@media(max-width:767.98px){#plans .public-plan-track{--active-plan-width:min(74vw,380px);gap:10px}}
