/* Pricing page: Pro deal list + animated add-on previews */
.ticks li span{min-width:0}
.inc{display:inline-flex;align-items:center;height:22px;padding:0 9px;margin-left:8px;border-radius:999px;font-style:normal;font-size:12px;font-weight:600;letter-spacing:.01em;vertical-align:2px;white-space:nowrap;background:var(--vio-soft);color:var(--vio-ink)}
.plan.pro .inc{background:rgba(200,255,58,.16);color:var(--lime)}
.deal{margin-top:18px;padding:12px 16px;border-radius:12px;background:rgba(200,255,58,.12);color:var(--lime);font-weight:600;font-size:15px}
.plan.pro .ticks{gap:11px;font-size:15.5px}

.aos{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:640px){.aos{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.aos{grid-template-columns:repeat(3,1fr)}}
.ao{background:var(--card);border-radius:var(--r);padding:10px 10px 22px;box-shadow:0 1px 2px rgba(16,16,24,.06),0 18px 40px -32px rgba(16,16,24,.45);transition:transform .5s var(--ease),box-shadow .5s var(--ease);outline-offset:4px}
.ao.on{transform:translateY(-4px);box-shadow:0 1px 2px rgba(16,16,24,.06),0 30px 60px -34px rgba(74,47,224,.55)}
.ao-b{padding:16px 10px 0}
.ao-t{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.ao-t .inc{margin-left:0}
.ao h3{font-size:19px}
.ao p{color:var(--mute);font-size:15.5px;margin-top:6px}
.pv{position:relative;height:172px;border-radius:10px;overflow:hidden;background:var(--ink2);color:#f2f2f8;font-size:12px;isolation:isolate}
.pv::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);pointer-events:none}
.pv *{transition-timing-function:var(--ease)}

/* calendar */
.cal{position:absolute;inset:16px 22px}
.cal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.cal-h b{font-size:14px;font-weight:600}
.cal-h span{font-size:11px;color:var(--mute-d)}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-g i{height:16px;border-radius:4px;background:rgba(255,255,255,.07);transform:scale(.5);opacity:.2;transition:transform .5s,opacity .5s,background-color .4s;transition-delay:calc(var(--k)*14ms)}
.ao.on .cal-g i{transform:none;opacity:1}
.ao.on .cal-g i.dot{background:rgba(106,77,255,.65)}
.ao.on .cal-g i.today{background:var(--lime);transition-delay:.55s}
.cal-ev{position:absolute;left:0;right:0;bottom:0;padding:7px 10px;border-radius:8px;background:var(--vio);font-weight:600;transform:translateY(130%);opacity:0;transition:transform .6s .6s,opacity .4s .6s}
.ao.on .cal-ev{transform:none;opacity:1}

/* request a time */
.req{position:absolute;inset:18px}
.req .days,.req .slots{display:flex;gap:6px;margin-bottom:8px}
.req i{flex:1;text-align:center;font-style:normal;padding:7px 0;border-radius:8px;background:rgba(255,255,255,.07);transition:background-color .35s,color .35s}
.ao.on .req .days .pick{background:var(--lime);color:var(--ink);transition-delay:.15s}
.ao.on .req .slots .pick{background:var(--lime);color:var(--ink);transition-delay:.45s}
.msg{position:absolute;right:0;bottom:0;max-width:85%;padding:8px 12px;border-radius:14px 14px 4px 14px;background:var(--vio);font-weight:500;transform:scale(.6) translateY(16px);transform-origin:bottom right;opacity:0;transition:transform .55s .75s,opacity .35s .75s}
.ao.on .msg{transform:none;opacity:1}

/* gallery */
.gal{position:absolute;inset:16px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;gap:6px}
.gal i{border-radius:7px;background:linear-gradient(135deg,var(--a),var(--b));transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.72);transition:transform .8s;transition-delay:calc(var(--k)*45ms)}
.gal i:nth-child(1){--a:#ff9a62;--b:#c2410c;--x:90%;--y:40%;--r:-12deg}
.gal i:nth-child(2){--a:#7c6bff;--b:#3b2ab8;--x:0%;--y:45%;--r:8deg}
.gal i:nth-child(3){--a:#4ad295;--b:#15724a;--x:-90%;--y:40%;--r:-4deg}
.gal i:nth-child(4){--a:#ffd35c;--b:#c98a00;--x:90%;--y:-45%;--r:10deg}
.gal i:nth-child(5){--a:#5cc8ff;--b:#1b6fa8;--x:0%;--y:-50%;--r:-8deg}
.gal i:nth-child(6){--a:#ff6fa5;--b:#b81f5c;--x:-90%;--y:-45%;--r:5deg}
.ao.on .gal i{transform:none}

/* map */
.pv-map{background:#1a1f2b}
.roads{position:absolute;inset:0;width:100%;height:100%}
.roads path{fill:none;stroke:rgba(255,255,255,.12);stroke-width:7;stroke-linecap:round}
.roads .route{stroke:var(--lime);stroke-width:4;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s .25s}
.ao.on .roads .route{stroke-dashoffset:0}
.pin{position:absolute;left:73.5%;top:34%;width:22px;height:22px;margin:-22px 0 0 -11px;border-radius:50% 50% 50% 0;background:var(--pink);transform:rotate(-45deg) translate(0,-60px);opacity:0;transition:transform .7s cubic-bezier(.34,1.56,.64,1) 1.1s,opacity .2s 1.1s}
.pin::after{content:"";position:absolute;inset:7px;border-radius:50%;background:#1a1f2b}
.ao.on .pin{transform:rotate(-45deg);opacity:1}
.dir{position:absolute;left:14px;bottom:14px;padding:7px 12px;border-radius:999px;background:#fff;color:var(--ink);font-weight:600;transform:translateY(160%);transition:transform .5s 1.3s}
.ao.on .dir{transform:none}

/* extra pages */
.pages{position:absolute;inset:0;display:grid;place-items:center}
.pages i{grid-area:1/1;width:96px;height:124px;border-radius:8px;background:#f4f2ee;box-shadow:0 10px 24px -10px rgba(0,0,0,.6);padding:10px;transition:transform .7s}
.pages i::after{content:"";display:block;margin-top:10px;height:44px;border-radius:4px;background:repeating-linear-gradient(#d6d2c8 0 3px,transparent 3px 9px)}
.pages b{display:block;font-size:11px;color:var(--ink);font-weight:700}
.pages i:nth-child(1){transform:rotate(-3deg)}
.pages i:nth-child(2){transform:rotate(2deg)}
.ao.on .pages i:nth-child(1){transform:translateX(-92px) rotate(-9deg)}
.ao.on .pages i:nth-child(3){transform:translateX(92px) rotate(9deg)}
.ao.on .pages i:nth-child(2){transform:translateY(-6px)}

/* menu book */
.pv-menu{background:#2a1a12;perspective:900px}
.book{position:absolute;left:50%;top:50%;width:248px;height:132px;margin:-66px 0 0 -124px;transform:translateX(-62px);transition:transform .9s}
.ao.on .book{transform:none}
.book .pg,.book .cover{position:absolute;top:0;bottom:0;width:50%;right:0;border-radius:3px 8px 8px 3px}
.book .pg{background:#f6efe2;color:#3a2618;padding:14px 12px;box-shadow:0 14px 30px -12px rgba(0,0,0,.7)}
.book p{display:flex;justify-content:space-between;gap:6px;font-size:11px;padding:3px 0;margin:0;color:#3a2618;border-bottom:1px dotted #c9b9a0}
.book b{font-weight:700}
.cover{transform-origin:left center;transform-style:preserve-3d;transition:transform 1.1s .1s}
.ao.on .cover{transform:rotateY(-178deg)}
.cover .front,.cover .back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:inherit}
.cover .front{background:#8a2c14;color:#f6e4c6;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 4px #a8401f,0 14px 30px -12px rgba(0,0,0,.7)}
.cover .front b{font-family:var(--serif);font-style:italic;font-size:30px;font-weight:400}
.cover .front small{font-size:10px;letter-spacing:.06em;opacity:.8}
.cover .back{background:#efe6d6;color:#3a2618;padding:14px 12px;transform:rotateY(180deg);border-radius:8px 3px 3px 8px}

/* reviews */
.rev{position:absolute;inset:18px}
.stars{display:flex;gap:5px}
.stars i{width:20px;height:20px;background:rgba(255,255,255,.15);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);transition:background-color .3s,transform .4s;transition-delay:calc(var(--k)*90ms)}
.ao.on .stars i{background:#ffc83d;transform:scale(1.12)}
.rc{position:absolute;left:0;right:0;bottom:0;padding:12px 14px;border-radius:12px;background:#fff;color:var(--ink);transform:translateX(115%);transition:transform .7s .45s}
.rc p{font-size:13px;color:var(--ink);margin:0;font-weight:500}
.rc small{color:var(--mute)}
.ao.on .rc{transform:none}

/* quote tool */
.qt{position:absolute;inset:16px 18px}
.qt p{display:flex;align-items:center;gap:8px;margin:0 0 8px}
.qt p i{flex:none;width:16px;height:16px;border-radius:5px;border:1.5px solid rgba(255,255,255,.3);transition:background-color .3s,border-color .3s}
.qt p span{height:8px;border-radius:4px;background:rgba(255,255,255,.14);width:0;transition:width .5s}
.qt p:nth-child(1) span{--w:62%}.qt p:nth-child(2) span{--w:48%}.qt p:nth-child(3) span{--w:70%}
.qt p:nth-child(1) *{transition-delay:.1s}.qt p:nth-child(2) *{transition-delay:.3s}.qt p:nth-child(3) *{transition-delay:.5s}
.ao.on .qt p i{background:var(--lime);border-color:var(--lime)}
.ao.on .qt p span{width:var(--w)}
.qt b{display:inline-block;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.14);font-weight:600;transition:background-color .3s .65s,color .3s .65s}
.ao.on .qt b{background:var(--lime);color:var(--ink)}
.qt .msg{transition-delay:.95s}

/* open now */
.pv-open{display:grid;place-items:center;perspective:600px}
.flip{position:relative;width:200px;height:44px;transform-style:preserve-3d;transition:transform .8s .1s}
.ao.on .flip{transform:rotateX(180deg)}
.flip .f{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;font-size:13.5px;font-weight:600;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.flip .c{background:rgba(255,255,255,.1);color:var(--mute-d)}
.flip .c i{width:8px;height:8px;border-radius:50%;background:#8a8aa0}
.flip .o{background:#fff;color:var(--ink);transform:rotateX(180deg)}
.flip .o i{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6)}
.ao.on .flip .o i{animation:pulse 1.4s 1s infinite}
@keyframes pulse{to{box-shadow:0 0 0 9px rgba(34,197,94,0)}}

/* promo banner */
.site{position:absolute;left:18px;right:18px;top:18px;bottom:18px;border-radius:8px;background:#f4f2ee;overflow:hidden;padding:0 12px}
.site i{display:block;height:8px;border-radius:4px;background:#dcd8ce;margin-top:12px;width:70%}
.site i:nth-of-type(1){margin-top:46px;width:50%;height:14px;background:#c9c4b8}
.bn{position:absolute;left:0;right:0;top:0;padding:8px;text-align:center;background:var(--pink);color:var(--ink);font-weight:700;transform:translateY(-100%);transition:transform .55s .45s}
.ao.on .bn{transform:none}
.sw{position:absolute;right:28px;bottom:28px;width:40px;height:22px;border-radius:99px;background:#bdb8ad;transition:background-color .3s .15s}
.sw i{position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .35s .15s;box-shadow:0 2px 4px rgba(0,0,0,.25)}
.ao.on .sw{background:#22c55e}
.ao.on .sw i{transform:translateX(18px)}

/* faq */
.fq{position:absolute;inset:14px 16px}
.fq .r{border-radius:8px;background:rgba(255,255,255,.07);margin-bottom:6px;overflow:hidden}
.fq p{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;margin:0;font-weight:500;font-size:12.5px;color:#f2f2f8}
.fq p i{position:relative;width:10px;height:10px}
.fq p i::before,.fq p i::after{content:"";position:absolute;left:0;top:4px;width:10px;height:1.5px;background:currentColor;transition:transform .4s}
.fq p i::after{transform:rotate(90deg)}
.ao.on .fq .first p i::after{transform:rotate(0)}
.fq .ans{max-height:0;overflow:hidden;padding:0 10px;transition:max-height .5s .2s}
.fq .ans span{display:block;height:7px;border-radius:4px;background:rgba(200,255,58,.55);margin-bottom:6px}
.fq .ans span+span{width:70%}
.ao.on .fq .ans{max-height:34px}

/* languages */
.pv-lang{display:grid;place-items:center;align-content:center;gap:16px}
.hello{font-size:32px;font-weight:600;letter-spacing:-.02em;transition:opacity .25s,transform .25s}
.hello.swap{opacity:0;transform:translateY(8px)}
.lsw{display:flex;gap:4px;padding:4px;border-radius:999px;background:rgba(255,255,255,.08)}
.lsw i{font-style:normal;font-weight:600;padding:4px 9px;border-radius:999px;color:var(--mute-d);transition:background-color .25s,color .25s}
.lsw i.on{background:var(--lime);color:var(--ink)}

/* qr */
.pv-qr{display:grid;place-items:center;background:#fff}
.qr{display:grid;grid-template-columns:repeat(21,6px);gap:0}
.qr i{width:6px;height:6px;background:var(--ink);transform:scale(0);transition:transform .35s;transition-delay:calc(var(--k)*4ms)}
.qr i.e{background:transparent}
.ao.on .qr i{transform:none}
.scan{position:absolute;left:20%;right:20%;top:12%;height:2px;background:var(--vio);box-shadow:0 0 12px 2px rgba(106,77,255,.6);opacity:0}
.ao.on .scan{animation:scan 1.8s 1.1s ease-in-out infinite}
@keyframes scan{0%{top:14%;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:84%;opacity:0}}

/* social link page */
.soc{position:absolute;left:50%;top:10px;width:170px;margin-left:-85px;display:grid;justify-items:center;gap:4px}
.soc .av{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--lime),var(--vio));margin-bottom:3px}
.soc i{width:100%;text-align:center;font-style:normal;font-weight:600;padding:5px 0;border-radius:999px;background:rgba(255,255,255,.1);transform:translateY(14px);opacity:0;transition:transform .5s,opacity .4s,background-color .3s}
.soc i:nth-of-type(1){transition-delay:.1s}.soc i:nth-of-type(2){transition-delay:.2s}.soc i:nth-of-type(3){transition-delay:.3s}.soc i:nth-of-type(4){transition-delay:.4s}
.ao.on .soc i{transform:none;opacity:1}
.ao.on .soc i:nth-of-type(4){background:var(--lime);color:var(--ink)}

/* extra animation */
.shapes{position:absolute;inset:0}
.shapes i{position:absolute;left:50%;top:50%}
.s1{width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:var(--vio)}
.s2{width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:9px;background:var(--lime);transform:translate(-58px,10px)}
.s3{width:0;height:0;margin:-14px 0 0 -14px;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:26px solid var(--pink);transform:translate(56px,-6px)}
.ao.on .s1{animation:blob 2.4s ease-in-out infinite}
.ao.on .s2{animation:orbitA 2.4s ease-in-out infinite}
.ao.on .s3{animation:orbitB 2.4s ease-in-out infinite}
@keyframes blob{0%,100%{border-radius:50%;transform:scale(1)}50%{border-radius:30% 70% 60% 40%;transform:scale(1.25) rotate(40deg)}}
@keyframes orbitA{0%,100%{transform:translate(-58px,10px) rotate(0)}50%{transform:translate(-20px,-46px) rotate(180deg)}}
@keyframes orbitB{0%,100%{transform:translate(56px,-6px) rotate(0)}50%{transform:translate(20px,44px) rotate(-120deg)}}

/* language list */
.langs{margin-top:40px;display:grid;gap:20px;padding:28px;border-radius:var(--r);background:var(--card);box-shadow:0 1px 2px rgba(16,16,24,.06)}
@media(min-width:900px){.langs{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:40px}}
.langs h3{font-size:22px}
.langs p{margin-top:6px;font-size:15.5px}
.langs ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.langs li{padding:7px 13px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:14.5px;font-weight:500}

@media(prefers-reduced-motion:reduce){.ao.on .s1,.ao.on .s2,.ao.on .s3,.ao.on .scan,.ao.on .flip .o i{animation:none}}
.ess-note{margin:-6px 0 26px;padding:14px 16px;border-radius:12px;background:var(--paper);color:var(--mute);font-size:15px}
