/* Uses the homepage's type, palette, glass treatment and controls.
   Redesign-preserve: variance 6, motion 6, density 4. Web glass approximation. */
.pricing-page .nav{background:rgba(18,55,43,.9)}
.pricing-page .links a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.pricing-page .nav .pop{background:#173d31}
.pricing-hero{position:relative;isolation:isolate;overflow:hidden;background:#12372b;color:#c9dad1}
.pricing-hero::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 20%,rgba(220,232,117,.12),transparent 55%)}
.pricing-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center;min-height:100svh;padding-top:128px;padding-bottom:64px}
.pricing-intro h1{font-size:clamp(48px,6vw,80px);max-width:8em}
.pricing-intro .sub{max-width:26em;margin-bottom:40px}
.pricing-currency{max-width:100%;margin-top:0}
/* Native radio inputs retain keyboard and touch behaviour beneath the sliding glass. */
.pricing-currency fieldset{border:0;padding:0;margin:0;min-width:0}
.pricing-currency legend{color:#fff;font-size:15px;font-weight:600;margin-bottom:12px;padding:0}
.currency-switch{position:relative;display:flex;width:min(100%,370px);padding:5px;border:1px solid #6b8e7e;border-radius:32px;background:rgba(6,29,21,.32);isolation:isolate}
.currency-option{position:relative;flex:1;min-width:0;cursor:pointer}
.currency-option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.currency-option span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 8px;border-radius:24px;font-size:13px;font-weight:700;color:#d9e6df;letter-spacing:.02em;transition:color .25s;pointer-events:none}
.currency-option input:checked+span{color:#163d2d;background:#dce875}
.currency-option input:focus-visible+span{outline:2px solid #fff;outline-offset:3px}
.currency-track{display:none;position:absolute;left:0;top:5px;height:44px;border-radius:24px;background:#dce875;box-shadow:inset 0 1px 1px #fff9,0 2px 8px #0002;z-index:-1;transition:transform .5s cubic-bezier(.22,1,.36,1),width .5s cubic-bezier(.22,1,.36,1)}
.pricing-enhanced .currency-track{display:block}
.pricing-enhanced .currency-option input:checked+span{background:transparent}
.pricing-currency .currency-submit{margin-top:12px;background:transparent}
.pricing-enhanced .currency-submit{display:none}
.pricing-currency p{font-size:14px;line-height:1.6;margin-top:14px;max-width:30em}
.pricing-sr{position:absolute!important;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.pricing-plan{border-radius:28px;padding:32px;min-width:0;background:rgba(255,255,255,.07)}
.pricing-plan h2{font-size:24px;line-height:1.25;letter-spacing:-.025em}
.pricing-amount{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin:18px 0 10px;line-height:1;letter-spacing:-.05em;color:#dce875;font-size:clamp(64px,7vw,96px);font-weight:700}
.pricing-period{font-size:18px;font-weight:500;letter-spacing:0;color:#fff;white-space:nowrap}
.pricing-tax{font-size:13px;line-height:1.6;color:#c9dad1}
.pricing-features{list-style:none;padding:22px 0 0;margin:24px 0 0;border-top:1px solid rgba(255,255,255,.2);display:grid;gap:10px;font-size:15px;line-height:1.45;color:#fff}
.pricing-features li{position:relative;padding-left:26px}
.pricing-features li::before{content:"";position:absolute;width:11px;height:6px;left:2px;top:6px;border-left:2px solid #dce875;border-bottom:2px solid #dce875;transform:rotate(-45deg)}
.pricing-start{width:100%;gap:16px;margin-top:24px}
.pricing-small{font-size:14px;line-height:1.6;color:#c9dad1}
.pricing-trial{margin-top:14px}
.pricing-context{font-size:15px;line-height:1.6;color:#fff;margin-bottom:8px}
.pricing-offer{font-size:15px;line-height:1.5;color:#dce875;margin-top:14px}
.pricing-plan:has(.pricing-context:not([hidden])) .pricing-tax{margin-top:12px}
.pricing-plan:has(.pricing-context:not([hidden])) .pricing-amount{font-size:clamp(56px,5.3vw,76px)}
.pricing-contact{margin-top:20px;overflow-wrap:anywhere}
.pricing-page .fl p{font-size:17px;line-height:1.6}
/* Masked type, drawn court lines and glass depth use the homepage's motion language. */
.pricing-line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.pricing-line>span{display:block;animation:pricing-title .95s cubic-bezier(.16,1,.3,1) both}
.pricing-line:nth-child(2)>span{animation-delay:.08s}
.pricing-intro .sub,.pricing-currency{animation:pricing-copy .8s .18s cubic-bezier(.16,1,.3,1) both}
.pricing-court{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;stroke:#b7d2a5;stroke-opacity:.13;stroke-width:1;transform:translate(calc((var(--mx,.5) - .5)*-16px),calc((var(--my,.5) - .5)*-12px))}
.pricing-court path{stroke-dasharray:1;animation:pricing-court 1.5s .15s cubic-bezier(.2,.7,.2,1) both}
.pricing-plan{transform:perspective(1400px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));animation:pricing-glass 1s .12s cubic-bezier(.16,1,.3,1) backwards}
.pricing-plan>*{position:relative;z-index:1}
.pricing-plan::before{background:radial-gradient(420px circle at var(--px,70%) var(--py,0%),rgba(230,245,202,.18),transparent 70%)}
.price-value{display:inline-flex;align-items:baseline;white-space:nowrap;line-height:1.15;letter-spacing:-.055em}
.price-reel{display:inline-block;position:relative;overflow:hidden;perspective:160px}
.price-reel>span{display:block;backface-visibility:hidden;transform-origin:center 55%}
.price-reel .price-outgoing{position:absolute;inset:0 auto auto 0}
.pricing-plan.price-changed::after{animation:pricing-edge .85s ease-out}
.pricing-page .nav.lt{background:rgba(247,249,247,.9)}
@keyframes pricing-title{from{transform:translateY(110%) rotate(2deg)}to{transform:translateY(0) rotate(0)}}
@keyframes pricing-copy{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes pricing-glass{from{opacity:0;translate:0 32px;scale:.96;rotate:1deg}to{opacity:1;translate:0 0;scale:1;rotate:0deg}}
@keyframes pricing-court{from{stroke-dashoffset:1;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@keyframes pricing-edge{0%{opacity:.35}30%{opacity:1}100%{opacity:1}}
@media(prefers-reduced-motion:no-preference){
 .pricing-observe #questions .side,.pricing-observe #questions .fl>details{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .7s cubic-bezier(.16,1,.3,1)}
 .pricing-observe #questions .pricing-visible,.pricing-observe #questions .fl>details.pricing-visible{opacity:1;transform:none}
 .pricing-observe #questions .fl>details:nth-child(2){transition-delay:50ms}
 .pricing-observe #questions .fl>details:nth-child(3){transition-delay:100ms}
 .pricing-observe #questions .fl>details:nth-child(4){transition-delay:150ms}
}
@media(prefers-reduced-motion:reduce){.pricing-plan,.pricing-court{transform:none!important}.pricing-line>span{transform:none}.pricing-court path{stroke-dashoffset:0}}

@media(min-width:960px) and (max-width:1099px){
 .pricing-layout{gap:32px}.pricing-plan{padding:26px}.pricing-amount{font-size:76px}
}
@media(max-width:1099px){
 .pricing-amount{display:block}.pricing-period{display:block;margin-top:4px;font-size:15px}
}
@media(max-width:959px){
 .pricing-layout{grid-template-columns:minmax(0,1fr);gap:36px;max-width:740px;padding-top:112px;padding-bottom:48px;min-height:0}
 .pricing-intro h1{max-width:10em;font-size:clamp(44px,7.5vw,64px)}
 .pricing-intro .sub{margin:20px 0 28px;max-width:32em}
 .pricing-court{opacity:.55;transform:none}.pricing-plan{transform:none}
 .pricing-plan{padding:28px}.pricing-amount{font-size:80px}
}
@media(max-width:599px){
 .pricing-layout{gap:28px;padding-top:104px;padding-bottom:40px}
 .pricing-intro h1{font-size:clamp(40px,10.5vw,54px)}
 .pricing-intro .sub{font-size:18px;margin-bottom:24px}
 .currency-option span{padding:0 5px;font-size:12px}
 .pricing-plan{padding:24px;border-radius:24px}
 .pricing-plan h2{font-size:22px}.pricing-amount,.pricing-plan:has(.pricing-context:not([hidden])) .pricing-amount{font-size:clamp(48px,14vw,68px)}
 .pricing-features{font-size:15px;gap:12px}.pricing-small{font-size:13px}
 .pricing-page #questions{padding:56px 0}.pricing-page .h2{font-size:36px}
 .pricing-page .fl summary{font-size:18px;gap:14px}.pricing-page .fl p{font-size:16px}
 .pricing-page .pop a{display:flex}
}
@media(prefers-reduced-transparency:reduce){.pricing-page .nav{background:#173d31}.pricing-plan{background:#1b4538}}
@media(hover:none),(pointer:coarse){.pricing-currency .btn{touch-action:manipulation}.pricing-page .btn:active{filter:brightness(.92)}}
