:root{--blue:#2b7fb0;--deep:#16465f;--sage:#7db8a6;--peach:#f0b48a;--ink:#1e3a4a;--soft:#52707f;--bg:#f6fafc;--bg1:#f3f9fc;--bg2:#fdf8f2;--sky:#eaf4f9;--sand:#fbf6ef;--card:#fff;--line:rgba(43,127,176,.14);--ui-duration:.26s;--reveal-duration:.62s}
body[data-mood=ripple]{--bg1:#eaf5fb;--bg2:#f2f9fb;--sky:#e4f1f8}
body[data-mood=dusk]{--bg1:#fbf0e6;--bg2:#f6eaf0;--sky:#f6ece3}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Poppins,"Noto Sans Bengali",system-ui,sans-serif;font-weight:300;color:var(--ink);background:var(--bg);line-height:1.7}
a{color:var(--link,var(--blue))}h1,h2,h3{font-weight:300;line-height:1.1;margin:0 0 .5em;letter-spacing:-.01em}
main{padding-top:78px}.bn{font-family:"Noto Sans Bengali",sans-serif;color:var(--soft)}.pre{white-space:pre-wrap}
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(170deg,var(--bg1),var(--bg2))}
.bg span{position:absolute;border-radius:50%;filter:blur(100px);opacity:.32;animation:drift 50s ease-in-out infinite alternate}
.bg span:nth-child(1){width:480px;height:480px;background:var(--blue);top:-140px;left:-140px}
.bg span:nth-child(2){width:420px;height:420px;background:var(--peach);right:-120px;top:35%;animation-delay:-18s}
.bg span:nth-child(3){width:380px;height:380px;background:var(--sage);bottom:-140px;left:35%;animation-delay:-30s}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(60px,40px)}}
.nav{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:10px 30px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--deep);font-weight:500;font-size:1.1rem;line-height:1.15}
.brand img{width:44px;height:44px;object-fit:contain;border-radius:0;display:block}.brand small{display:block;font-size:.66rem;font-weight:300;color:var(--soft);letter-spacing:.04em}
nav{display:flex;gap:2px;align-items:center;flex-wrap:wrap}nav a{padding:7px 14px;border-radius:30px;text-decoration:none;color:var(--ink);font-size:.93rem}
nav a:hover{color:var(--blue);background:var(--sky)}nav .pill{background:var(--blue);color:#fff}nav .pill:hover{background:var(--deep);color:#fff}
.burger{display:none;background:none;border:0;font-size:1.7rem;color:var(--blue);cursor:pointer}
.inline{display:inline}.link{background:none;border:0;font:inherit;font-size:.93rem;cursor:pointer;color:var(--ink);padding:7px 14px}.link:hover{color:var(--blue)}
.flash{max-width:900px;margin:16px auto;background:#fff;border-left:5px solid var(--peach);padding:12px 18px;border-radius:12px}
.btn{display:inline-block;border:0;cursor:pointer;font:400 1rem Poppins;padding:13px 32px;border-radius:40px;color:var(--btn-text,#fff);background:var(--blue);text-decoration:none;margin:6px 8px 6px 0}
.btn:hover{background:var(--deep)}.btn.ghost{background:transparent;color:var(--blue);border:1.5px solid var(--blue)}.btn.ghost:hover{background:var(--blue);color:#fff}
.btn.light{background:#fff;color:var(--deep)}.btn.light:hover{background:var(--sand)}.btn.mini{padding:6px 16px;font-size:.85rem;margin:2px}
.kicker{text-transform:uppercase;letter-spacing:.35em;font-size:.78rem;color:var(--sage);margin:0 0 16px;font-weight:500}
.hero2{max-width:1200px;margin:0 auto;padding:50px 28px 70px;display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center}
.hero2 h1{font-size:clamp(3rem,8vw,6.4rem);font-weight:200;color:var(--deep)}
.lead{font-size:1.1rem;color:var(--soft);max-width:560px}
.trust{list-style:none;padding:0;margin:22px 0 0;display:flex;gap:10px;flex-wrap:wrap}.trust li{background:#fff;border:1px solid var(--line);border-radius:30px;padding:6px 16px;font-size:.85rem;color:var(--soft)}
.orbit{position:relative;aspect-ratio:1/1;width:100%;max-width:560px;margin:0 auto;perspective:900px}
.orbit canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#ringBack{z-index:1}#ringFront{z-index:3}
.photo{position:absolute;left:21%;top:21%;width:58%;height:58%;border-radius:50%;overflow:hidden;z-index:2;border:6px solid #fff;box-shadow:0 30px 70px rgba(22,70,95,.25);transform-style:preserve-3d;background:var(--sky)}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
.orbit .chip{position:absolute;z-index:4;background:#fff;border:1px solid var(--line);border-radius:30px;padding:7px 16px;font-size:.8rem;color:var(--deep);box-shadow:0 8px 24px rgba(22,70,95,.12);margin:0}
.c1{left:2%;top:18%}.c2{right:0;top:46%}.c3{left:10%;bottom:12%}
.moods{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:10px}
.mood{background:#fff;border:1px solid var(--line);border-radius:30px;padding:6px 16px;font:300 .85rem Poppins;color:var(--soft);cursor:pointer}
.mood[aria-pressed=true]{background:var(--blue);color:#fff;border-color:var(--blue)}
.band{padding:90px 28px}.band.tint{background:var(--sky)}.center{text-align:center;max-width:760px;margin:0 auto 40px}.center .lead{margin:0 auto}
.band h2,.split h2,.cta h2{font-size:clamp(2.1rem,4.4vw,3.4rem);font-weight:200;color:var(--deep)}
.logo-big{width:190px;height:auto;max-height:260px;object-fit:contain;border-radius:0;display:block;margin:0 auto 20px}
.pillars{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.pillars article{background:var(--card);border-radius:30px;padding:34px 28px;border:1px solid var(--line)}
.pillars .num{color:var(--peach);font-size:.85rem;letter-spacing:.2em;font-weight:500}.pillars h3{font-size:1.7rem;color:var(--blue);margin-top:10px}
.steps{max-width:1100px;margin:0 auto;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;counter-reset:s}
.steps li{counter-increment:s;background:#fff;border-radius:26px;padding:26px;border:1px solid var(--line)}
.steps li:before{content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;margin-bottom:12px;font-weight:500}
.steps b{display:block;font-size:1.3rem;font-weight:400;color:var(--deep)}.steps span{color:var(--soft);font-size:.95rem}
.split{max-width:1100px;margin:0 auto;padding:90px 28px;display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:start}
.classlist{list-style:none;margin:0;padding:0}.classlist li{border-bottom:1px solid var(--line)}
.home-mode-prices{display:flex;flex-direction:column;gap:5px;min-width:178px}.home-mode-price{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;white-space:nowrap;line-height:1.25}.home-mode-price small{color:var(--soft);font-size:.72rem;font-weight:600;min-width:72px;text-align:right}.home-mode-price del{color:var(--soft);font-size:.82rem;font-weight:400}.home-mode-price b{font-weight:750}.home-mode-price .promo-sale-price{color:var(--blue)}
.classlist a{display:grid;grid-template-columns:1fr 1.2fr auto 24px;gap:14px;align-items:center;padding:24px 8px;text-decoration:none;color:var(--ink);border-radius:18px}
.classlist a:hover{background:var(--sky)}
.cname{font-size:1.8rem;font-weight:300;color:var(--deep)}.ctag{color:var(--soft);font-size:.95rem}.cprice{color:var(--blue);font-size:.9rem;font-weight:400}.arrow{color:var(--blue)}
.cards{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.card{background:var(--card);border-radius:26px;padding:26px;border:1px solid var(--line)}.card.next{border:2px solid var(--blue)}
.card h3{color:var(--blue);font-size:1.4rem}.price,.big{color:var(--deep);font-weight:400;font-size:1.2rem}
.big{font-size:1.5rem;margin:.1em 0}.big small{color:var(--soft);font-size:.8rem;font-weight:300}.big.alt{color:var(--sage)}.price-card{text-align:center}
.count{color:var(--deep);font-weight:500;margin:6px 0 0}
.team{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px;text-align:center}
.avatar{width:160px;height:160px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 14px;border:5px solid #fff;box-shadow:0 10px 30px rgba(22,70,95,.15)}
.avatar.ph{display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--sage));color:#fff;font-size:3rem;font-weight:200}
.avatar.sm{width:56px;height:56px;margin:0;font-size:1.4rem;flex:none;border-width:2px}.role{color:var(--blue);font-size:.9rem;letter-spacing:.06em}
.faqlist{max-width:760px;margin:0 auto}.faqlist details{background:#fff;border:1px solid var(--line);border-radius:20px;padding:6px 20px;margin:10px 0}
.faqlist summary{cursor:pointer;padding:12px 0;font-size:1.1rem;color:var(--deep)}.faqlist p{margin:0 0 14px;color:var(--soft)}
.cta{margin:0 28px 70px;background:var(--deep);color:#fff;border-radius:44px;padding:80px 28px;text-align:center}
.cta h2{color:#fff}.cta p{max-width:560px;margin:0 auto 14px}
.wa{position:fixed;right:18px;bottom:18px;z-index:20;background:#25a56a;color:#fff;text-decoration:none;padding:12px 20px;border-radius:40px;font-size:.9rem;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.foot{background:#fff;border-top:1px solid var(--line);padding:50px 28px 20px}
.foot-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1.3fr;gap:30px}
.foot-logo{width:64px;height:64px;object-fit:contain;border-radius:0;display:block}.brand-name{color:var(--deep);font-weight:500;margin:8px 0 0}
.foot a{display:block;text-decoration:none;color:var(--soft);margin:4px 0}.foot a:hover{color:var(--blue)}.foot p{margin:4px 0;color:var(--soft)}
.foot-h{color:var(--blue)!important;letter-spacing:.2em;text-transform:uppercase;font-size:.78rem}.copy{text-align:center;font-size:.8rem;margin-top:30px!important}
.hero{text-align:center;padding:40px 20px 10px}.hero.small h1{font-size:clamp(2.4rem,5.4vw,4rem);font-weight:200;color:var(--deep)}.hero .lead{margin:0 auto}
.panel{max-width:1100px;margin:24px auto;padding:30px;background:var(--card);border-radius:30px;border:1px solid var(--line);overflow-x:auto}
.narrow{max-width:580px}.policy{background:var(--sand);border-radius:18px;padding:12px 16px;margin:12px 0;font-size:.9rem}
fieldset{border:0;padding:0;margin:0 0 16px}legend{font-weight:400;margin-bottom:6px;color:var(--deep)}legend small{font-weight:300;color:var(--soft)}
.group{border:1px solid var(--line);border-radius:22px;padding:16px 18px;margin:0 0 18px}.group legend{padding:0 8px;color:var(--blue)}
.chip{display:inline-block;margin:0 8px 8px 0}.chip input{position:absolute;opacity:0}
.chip span{display:inline-block;padding:10px 22px;border-radius:30px;border:1.5px solid var(--blue);cursor:pointer}
.chip input:checked+span{background:var(--blue);color:#fff}.chip input:focus-visible+span{outline:3px solid var(--peach)}
.chip em{font-style:normal;color:var(--peach);font-size:.8rem;font-weight:500}.chip input:checked+span em{color:#fff}
.code{display:flex;gap:8px;align-items:center}
input,select,textarea{width:100%;padding:11px 14px;border:1.5px solid #cfe0ea;border-radius:14px;font:inherit;font-weight:300;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(43,127,176,.15)}
textarea{min-height:80px}input[type=checkbox]{width:auto}
.f{display:block;margin-bottom:12px;font-weight:400;font-size:.88rem}.chk{display:flex;align-items:center;gap:6px;font-size:.88rem;font-weight:300}
.formgrid,.chartform{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 14px;align-items:end}.formgrid .wide,.chartform .wide{grid-column:1/-1}.formgrid .f,.chartform .f{margin:0}
.checks{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:6px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row input,.row select{width:auto}
.err{color:#b64a4a;font-weight:300;font-size:.88rem}.msg{min-height:1.4em;color:var(--blue)}.msg.bad{color:#b64a4a}.ok{color:#2e8b6a;font-weight:500}
.summary{background:var(--sky);border-radius:20px;padding:14px 18px;margin:12px 0}.summary div{display:flex;justify-content:space-between;gap:12px;padding:4px 0}
.tot{border-top:1px dashed var(--blue);font-size:1.2rem;color:var(--deep);margin-top:6px}
.tabs{display:flex;gap:6px;margin-bottom:16px;background:var(--sky);border-radius:40px;padding:5px}.tab{flex:1;text-align:center;padding:9px 6px;border-radius:30px;text-decoration:none;color:var(--soft);font-size:.9rem}.tab.on{background:#fff;color:var(--deep);box-shadow:0 2px 8px rgba(22,70,95,.1)}
.subnav{display:flex;gap:4px;flex-wrap:wrap;margin:14px auto;max-width:1100px;position:sticky;top:66px;z-index:5;background:rgba(255,255,255,.94);padding:8px 10px;border-radius:40px;border:1px solid var(--line)}
.subnav a{padding:6px 14px;border-radius:30px;text-decoration:none;color:var(--blue);font-size:.88rem}.subnav a:hover{background:var(--blue);color:#fff}
.stats{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}
.stat{background:var(--card);border-radius:24px;padding:18px;border:1px solid var(--line)}.stat span{display:block;font-size:.8rem;color:var(--soft)}.stat b{font-size:1.8rem;font-weight:300;color:var(--deep)}.stat small{font-size:.9rem;color:var(--soft)}
.tracker{max-width:900px;margin:18px auto;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.tracker li{text-align:center;font-size:.85rem;color:var(--soft);padding-top:6px}
.tracker li span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;margin:0 auto 6px;background:#fff;border:2px solid var(--line);font-weight:500}
.tracker li.done span{background:#2e8b6a;border-color:#2e8b6a;color:#fff}.tracker li.now span{background:var(--blue);border-color:var(--blue);color:#fff}
.tracker li.now,.tracker li.done{color:var(--deep)}.tracker.cancelled{opacity:.4}
.badge{display:inline-block;padding:3px 12px;border-radius:20px;font-size:.78rem;background:var(--sky);color:var(--deep)}
.badge.paid{background:#dff3ea;color:#1f6b50}.badge.submitted{background:#fdf0e1;color:#9a5a1d}.badge.pending_payment{background:#eaf0f5;color:#40607a}.badge.cancelled{background:#f6e3e3;color:#a04545}
.joinbox{border:2px solid var(--blue)}.joinrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line)}
.paygrid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;padding:0 20px}.paygrid .panel{margin:0}
.qrcard{text-align:center}.qr{width:100%;max-width:300px;border-radius:20px;border:1px solid var(--line);display:block;margin:10px auto;background:#fff}.qr.sm{max-width:140px;margin:6px 0}
.qr.missing{padding:40px 10px;background:var(--sand);color:var(--soft)}.acct{color:var(--deep);font-weight:400}
.amount{font-size:3rem;font-weight:200;color:var(--deep);margin:0}.howto{padding-left:20px;color:var(--soft)}.howto li{margin:8px 0}
.note{border-left:3px solid var(--sage);padding:8px 16px;margin:12px 0;background:var(--sky);border-radius:0 16px 16px 0}.note.pinned{border-color:var(--peach)}.note h3{margin:0}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--blue);font-weight:400}
progress{width:100%;height:10px;accent-color:var(--blue)}
ul.plain{list-style:none;padding:0}ul.plain li{padding:5px 0;border-bottom:1px dashed var(--line)}
details summary{cursor:pointer;color:var(--blue);margin:8px 0}
.chat{display:flex;flex-direction:column;gap:10px}.msgs{height:340px;overflow-y:auto;padding:14px;background:var(--sky);border-radius:22px;display:flex;flex-direction:column;gap:8px}
.bubble{max-width:78%;padding:8px 14px;border-radius:18px;word-break:break-word;white-space:pre-wrap}.bubble p{margin:0}.bubble small{opacity:.7;font-size:.7rem}.bubble a{color:inherit;text-decoration:underline}
.bubble.mine{align-self:flex-end;background:var(--blue);color:#fff;border-bottom-right-radius:4px}.bubble.theirs{align-self:flex-start;background:#fff;border-bottom-left-radius:4px}
.chatform{display:flex;gap:8px}
ul.sortable{list-style:none;padding:0;margin:0}ul.sortable li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;margin:10px 0}
ul.sortable li.dragging{opacity:.5;border-color:var(--blue)}.grip{cursor:grab;font-size:1.4rem;color:var(--blue);user-select:none;padding:4px}.grow{flex:1}
.edit{display:flex;gap:10px;align-items:flex-end;background:#fff;border:1px solid var(--line);border-radius:22px;padding:12px;margin:10px 0}.edit .formgrid{flex:1}
.keybox{font-family:monospace;font-size:1.2rem;background:var(--sky);padding:10px 14px;border-radius:12px;letter-spacing:.1em;word-break:break-all}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--deep);color:#fff;padding:10px 22px;border-radius:30px;z-index:50}
.small{font-size:.85rem;color:var(--soft)}
@media(max-width:860px){.hero2,.split,.foot-grid{grid-template-columns:1fr}.classlist a{grid-template-columns:1fr auto}.home-mode-prices{align-items:flex-start}.home-mode-price{justify-content:flex-start}.home-mode-price small{text-align:left}.ctag{display:none}
.burger{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#fff;padding:12px}nav.open{display:flex}
.nav{padding:10px 16px}.subnav{top:60px;border-radius:22px}.edit{flex-direction:column;align-items:stretch}.tracker li{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.bg span{animation:none}}


/* Saldin design controls: managed from Admin > Site content. */
body[data-speed="slow"]{--ui-duration:.44s;--reveal-duration:.88s}
body[data-speed="normal"]{--ui-duration:.26s;--reveal-duration:.62s}
body[data-speed="fast"]{--ui-duration:.15s;--reveal-duration:.38s}
body[data-font="system"]{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body[data-font="system"] button,body[data-font="system"] input,body[data-font="system"] select,body[data-font="system"] textarea{font-family:inherit}
.btn,button,a,.card,.pillars article,.team article,.classlist li,.faqlist details,.mood,.trust li,.orbit .chip{transition:background-color var(--ui-duration) ease,color var(--ui-duration) ease,border-color var(--ui-duration) ease,box-shadow var(--ui-duration) ease,transform var(--ui-duration) ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(22,70,95,.13)}
.card:hover,.pillars article:hover,.team article:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(22,70,95,.08)}
.classlist li:hover{transform:translateX(4px)}
.faqlist details[open]{box-shadow:0 8px 22px rgba(22,70,95,.06)}
.brand img,.foot-logo,.logo-big,.photo img{transition:transform var(--ui-duration) ease,filter var(--ui-duration) ease}
.brand:hover img{transform:rotate(-4deg) scale(1.04)}
body[data-card-shape="soft"] .card,body[data-card-shape="soft"] .pillars article,body[data-card-shape="soft"] .team article,body[data-card-shape="soft"] .faqlist details,body[data-card-shape="soft"] .panel,body[data-card-shape="soft"] .group,body[data-card-shape="soft"] .branding-item,body[data-card-shape="soft"] .flash{border-radius:14px!important}
body[data-card-shape="square"] .card,body[data-card-shape="square"] .pillars article,body[data-card-shape="square"] .team article,body[data-card-shape="square"] .faqlist details,body[data-card-shape="square"] .panel,body[data-card-shape="square"] .group,body[data-card-shape="square"] .branding-item,body[data-card-shape="square"] .flash{border-radius:4px!important}
html.reveal-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity var(--reveal-duration) cubic-bezier(.2,.7,.2,1),transform var(--reveal-duration) cubic-bezier(.2,.7,.2,1)}
html.reveal-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
html.reveal-ready .reveal-delay-1{transition-delay:70ms}html.reveal-ready .reveal-delay-2{transition-delay:140ms}html.reveal-ready .reveal-delay-3{transition-delay:210ms}html.reveal-ready .reveal-delay-4{transition-delay:280ms}
.site-editor{max-width:1000px;margin:20px auto 50px}.branding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.branding-item{border:1px solid var(--line);background:var(--card);border-radius:20px;padding:18px;min-width:0}.branding-item h3{font-size:1.12rem;color:var(--deep)}.brand-preview{display:block;max-width:144px;max-height:144px;object-fit:contain;border-radius:16px;background:#fff;border:1px solid var(--line);padding:8px;margin:10px 0}.photo-preview{width:144px;height:144px;object-fit:cover;border-radius:50%}.colour-control{display:flex;gap:12px;align-items:center;margin-top:5px}.colour-control input[type=color]{width:58px;height:42px;border:1px solid var(--line);border-radius:10px;padding:3px;background:#fff;cursor:pointer}.colour-control code{font-size:.92rem;color:var(--soft);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.colour-field{min-width:170px}
body[data-motion="no"] *,body[data-motion="no"] *::before,body[data-motion="no"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html:has(body[data-motion="no"]){scroll-behavior:auto}
@media(max-width:640px){.branding-grid{grid-template-columns:1fr}.site-editor{margin:12px auto 30px}.branding-item{padding:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html.reveal-ready .reveal{opacity:1;transform:none}}

body[data-motion="no"] .btn:hover,body[data-motion="no"] .card:hover,body[data-motion="no"] .pillars article:hover,body[data-motion="no"] .team article:hover,body[data-motion="no"] .classlist li:hover,body[data-motion="no"] .brand:hover img{transform:none!important}
@media(prefers-reduced-motion:reduce){.btn:hover,.card:hover,.pillars article:hover,.team article:hover,.classlist li:hover,.brand:hover img{transform:none!important}}


/* Dated routine planner and attendance portal */
.routine-admin h1{margin-bottom:.35rem}.action-stack{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.action-stack form{margin:0}.table-wrap{width:100%;overflow-x:auto}.attendance-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.attendance-card{display:flex;flex-direction:column;gap:8px}.attendance-check{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:12px 0}.attendance-check .chk{display:flex;align-items:center;gap:10px}.attendance-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--blue)}.attendance-card .small{line-height:1.5}.attendance-card h3{margin:0}.routine-admin .summary{margin-top:18px}
@media(max-width:680px){.action-stack{min-width:130px;flex-direction:column;align-items:stretch}.action-stack .btn{width:100%;text-align:center}.attendance-check .btn{width:100%}}

/* Branch selection, prices and training additions */
.currency-select{display:inline-grid;gap:6px;max-width:260px;text-align:left;margin:14px auto}
.branch-free .card,.practice-intro .pillars article{transition:transform var(--ui-duration) ease,box-shadow var(--ui-duration) ease}
.branch-free .card:hover,.practice-intro .pillars article:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(22,70,95,.10)}
#bank-fields[hidden],#cash-fields[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.branch-free .card,.practice-intro .pillars article{transition:none!important}}
.currency-nav{display:flex;align-items:center;gap:5px;padding:0 8px;font-size:.75rem}.currency-nav select{max-width:100px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}.training-apply{margin-top:14px}.training-apply summary{display:inline-block;cursor:pointer;list-style:none}.training-apply summary::-webkit-details-marker{display:none}
/* v9 visual refinement: intact branding, compact dynamic navigation, animated cards */
body{font-family:Outfit,Poppins,sans-serif;overflow-x:hidden;scroll-behavior:smooth}
body[data-font="outfit"]{font-family:Outfit,sans-serif}body[data-font="space-grotesk"]{font-family:"Space Grotesk",sans-serif}body[data-font="poppins"]{font-family:Poppins,sans-serif}body[data-font="system"]{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body[data-font="outfit"] button,body[data-font="outfit"] input,body[data-font="outfit"] select,body[data-font="outfit"] textarea,body[data-font="space-grotesk"] button,body[data-font="space-grotesk"] input,body[data-font="space-grotesk"] select,body[data-font="space-grotesk"] textarea{font-family:inherit}
.nav{gap:18px;padding:8px clamp(14px,2.3vw,36px);min-height:76px;flex-wrap:nowrap}
.brand{flex:0 0 auto;min-width:235px;gap:11px;font-size:1.15rem;line-height:1.12;white-space:nowrap}
.brand img{width:64px;height:58px;max-width:64px;max-height:58px;object-fit:contain;object-position:center;flex:none;border-radius:0;overflow:visible;background:transparent;padding:0}
.brand small{margin-top:4px;letter-spacing:.02em;font-size:.68rem}
#menu{flex:1;display:flex;justify-content:flex-end;align-items:center;gap:3px;min-width:0}
#menu>a{padding:8px 10px;font-size:.9rem;white-space:nowrap}
.nav-dropdown{position:relative;flex:none}
.nav-dropdown>summary{list-style:none;cursor:pointer;padding:8px 13px;border-radius:28px;color:var(--ink);white-space:nowrap;font-size:.92rem;user-select:none}
.nav-dropdown>summary::-webkit-details-marker{display:none}.nav-dropdown>summary::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:9px;transition:transform .25s ease}
.nav-dropdown[open]>summary::after{transform:rotate(225deg) translate(-1px,-1px)}.nav-dropdown>summary:hover,.nav-dropdown[open]>summary{background:var(--sky);color:var(--blue)}
.dropdown-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:260px;max-width:min(340px,85vw);max-height:65vh;overflow:auto;padding:10px;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:18px;box-shadow:0 22px 50px rgba(22,70,95,.18);display:grid;gap:4px;z-index:30;animation:dropIn .2s ease-out}
.dropdown-menu a{display:block!important;padding:11px 13px!important;border-radius:12px!important;white-space:normal!important;text-decoration:none;color:var(--deep)!important;background:transparent!important}.dropdown-menu a:hover{background:var(--sky)!important;transform:translateX(3px)}.dropdown-menu strong{display:block;font-weight:600}.dropdown-menu small{display:block;margin-top:3px;color:var(--soft);font-size:.78rem;white-space:normal}
@keyframes dropIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.footer-socials{display:flex;align-items:center;gap:5px;flex:none}.social-icon{width:30px;height:30px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:white;color:var(--blue);font-size:.82rem;font-weight:700;text-decoration:none;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.social-icon:hover{transform:translateY(-3px) rotate(-4deg);background:var(--blue)!important;color:white!important;border-color:var(--blue)}.social-icon.yt{font-size:.72rem}.social-icon.li{font-size:.72rem}
.currency-nav{padding:0 4px;gap:5px;white-space:nowrap}.currency-nav .small{font-size:.76rem}.currency-nav select{width:86px;min-width:86px;padding:8px 5px;font-size:.8rem}
.nav .pill{padding:9px 16px;white-space:nowrap}.nav .inline{flex:none}.nav .link{padding:8px 10px;white-space:nowrap}
.foot-logo{width:132px;height:auto;max-height:180px;object-fit:contain;object-position:left top;background:transparent;border-radius:0;margin-bottom:8px}.logo-big{width:min(260px,65vw);height:auto;max-height:none;object-fit:contain;object-position:center;margin:0 auto 22px}
.hero2 h1,.hero h1,.band h2,.split h2,.cta h2{letter-spacing:-.035em;font-weight:500}.hero2 h1{font-size:clamp(3rem,7vw,6.7rem);line-height:.99}.kicker{letter-spacing:.22em;font-weight:700}.btn{font-weight:600;box-shadow:0 7px 18px rgba(43,127,176,.12)}
.skip-link{position:absolute;left:12px;top:-70px;z-index:1000;background:var(--deep);color:white;padding:10px 16px;border-radius:12px}.skip-link:focus{top:12px}
main{padding-top:76px}.custom-page-body{max-width:900px}.custom-page-copy{white-space:pre-line;line-height:1.9;font-size:1.06rem;color:var(--soft)}
.seminar-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.seminar-card{position:relative;overflow:hidden;padding:26px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.83);box-shadow:0 10px 30px rgba(22,70,95,.04);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .3s ease}.seminar-card::after{content:"";position:absolute;right:-35px;bottom:-45px;width:110px;height:110px;border-radius:50%;background:var(--sky);opacity:.6;transition:transform .45s ease}.seminar-card:hover{transform:translateY(-7px);box-shadow:0 22px 45px rgba(22,70,95,.13);border-color:var(--sage)}.seminar-card:hover::after{transform:scale(1.6)}.seminar-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,var(--sky),#fff);font-size:1.85rem;margin-bottom:16px;box-shadow:0 8px 22px rgba(22,70,95,.08);transition:transform .35s cubic-bezier(.18,.8,.2,1)}.seminar-card:hover .seminar-icon{transform:rotate(-7deg) scale(1.1)}.seminar-card h3{font-size:1.25rem;color:var(--deep);margin:0 0 8px}.seminar-card p{color:var(--soft);font-size:.94rem;line-height:1.65}.seminar-more{position:relative;z-index:1;font-size:.8rem;font-weight:600;color:var(--blue)}.seminar-cta{margin-top:28px;margin-bottom:0}
.recorded-preview{background:linear-gradient(135deg,rgba(220,241,248,.55),rgba(250,234,221,.5),rgba(220,239,232,.65));background-size:220% 220%;animation:recordGradient 16s ease infinite}@keyframes recordGradient{0%,100%{background-position:0 40%}50%{background-position:100% 60%}}.record-card{position:relative;overflow:hidden}.record-play{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--blue);color:white;font-size:1.45rem;margin-bottom:18px;box-shadow:0 12px 28px rgba(43,127,176,.25);transition:transform .3s ease}.record-card:hover .record-play{transform:scale(1.1) rotate(8deg)}.video-frame{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:linear-gradient(130deg,var(--sky),var(--sand));margin-bottom:18px}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.recorded-card h2{font-size:1.5rem;color:var(--deep)}
/* Smooth changing colour wash as visitors scroll through sections. */
.bg{transition:filter .7s ease,opacity .7s ease;filter:hue-rotate(var(--scroll-hue,0deg)) saturate(1.04)}.bg span{transition:background .8s ease,transform .7s ease}.bg span:nth-child(1){background:radial-gradient(circle,var(--sky),transparent 68%)}.bg span:nth-child(2){background:radial-gradient(circle,var(--sand),transparent 68%)}.bg span:nth-child(3){background:radial-gradient(circle,rgba(125,184,166,.22),transparent 70%)}
#pricing{scroll-margin-top:100px}.price-card{display:flex;flex-direction:column;align-items:center}.price-card .btn{margin-top:auto}.classlist a{grid-template-columns:minmax(130px,1fr) minmax(160px,1.1fr) auto 18px}.cname{font-size:clamp(1.25rem,2vw,1.8rem);font-weight:500}.ctag{font-size:.9rem}.price-card p{margin:.45rem 0}
.danger{color:#b43e52!important}.badge{margin-left:6px}
@media(max-width:1300px){.nav{gap:8px}.brand{min-width:210px}.brand img{width:54px;height:52px}.social-icon{width:27px;height:27px}#menu>a{padding:8px 7px;font-size:.84rem}.currency-nav .small{display:none}}
@media(max-width:1120px){.nav{flex-wrap:wrap;min-height:unset}.brand{min-width:0}.burger{display:block;margin-left:auto}#menu{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 80px);overflow-y:auto;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px;padding:14px 18px;background:rgba(255,255,255,.98);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(22,70,95,.1)}#menu.open{display:flex}#menu>a{white-space:normal;padding:11px 12px;font-size:.96rem}.nav-dropdown>summary{display:block;padding:11px 12px}.dropdown-menu{position:static;max-width:none;max-height:none;box-shadow:none;margin:4px 0 8px 10px;background:var(--sky);animation:none}.currency-nav{padding:7px 12px}.currency-nav .small{display:inline}.currency-nav select{width:120px}main{padding-top:72px}}
@media(max-width:860px){.seminar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.classlist a{grid-template-columns:1fr auto}.ctag{display:none}.logo-big{width:min(220px,65vw)}.foot-logo{width:100px}}
@media(max-width:580px){.seminar-grid{grid-template-columns:1fr}.seminar-card{padding:22px}.hero2{padding-top:30px}.hero2 h1{font-size:clamp(2.8rem,14vw,4.2rem)}.band{padding:66px 18px}.split{padding:66px 18px}.foot{padding:38px 18px 20px}.brand{gap:8px;font-size:1.02rem}.brand img{width:47px;height:46px}.brand small{font-size:.62rem}.nav{padding:8px 12px}.logo-big{width:min(180px,60vw)}.price-card{padding:20px}.classlist a{grid-template-columns:1fr auto}.cname{font-size:1.25rem}.seminar-icon{width:52px;height:52px}.foot-logo{width:88px}}
@media(prefers-reduced-motion:reduce){.recorded-preview{animation:none}.seminar-card,.seminar-icon,.record-play,.nav-dropdown>summary::after,.dropdown-menu a{transition:none!important}.bg{transition:none!important}}

.social-placeholder{opacity:.5;cursor:default;box-shadow:none}.social-placeholder:hover{transform:none;background:#fff!important;color:var(--blue)!important;border-color:var(--line)}body[data-font="system"] .btn,body[data-font="system"] .mood{font-family:inherit}


/* v10: countdown, membership reminders, private feedback/report flow */
.next-class-panel{overflow:hidden;position:relative;background:linear-gradient(120deg,rgba(222,242,249,.9),rgba(255,248,242,.92),rgba(226,245,235,.9));background-size:220% 220%;animation:nextGlow 18s ease-in-out infinite}
.next-class-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.next-class-top h2{font-size:clamp(1.7rem,3vw,2.7rem);margin:.2rem 0}.next-class-top p{margin:.35rem 0}.countdown-orbit{min-width:170px;max-width:240px;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;border-radius:50%;border:1px solid rgba(43,127,176,.22);background:rgba(255,255,255,.7);box-shadow:0 14px 40px rgba(22,70,95,.09);text-align:center}.countdown-orbit span{font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;color:var(--soft)}.countdown-orbit strong{display:block;color:var(--deep);font-size:clamp(1.3rem,2.5vw,2rem);font-variant-numeric:tabular-nums;line-height:1.25;margin-top:8px}.membership-notices{border-color:rgba(219,147,71,.28)}.expiry-note{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;padding:20px 0;border-top:1px solid var(--line)}.expiry-note h3{margin:0 0 8px}.expiry-note p{line-height:1.65}.expiry-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:220px;justify-content:flex-end}.expiry-actions form{margin:0}.expired-packs{padding-top:16px}.feedback-hero{background:linear-gradient(135deg,rgba(222,242,249,.75),rgba(253,236,228,.68),rgba(221,243,232,.72));border-radius:28px;padding:clamp(36px,6vw,76px);margin-bottom:24px}.feedback-hero h1{font-size:clamp(2.6rem,7vw,5rem);max-width:900px;line-height:1.04}.feedback-hero>p:last-child{max-width:760px;color:var(--soft);font-size:1.08rem;line-height:1.8}.feedback-form-panel{max-width:950px;margin:0 auto 48px}.feedback-report{padding:24px 0;border-top:1px solid var(--line)}.feedback-report header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.feedback-report h2{font-size:1.25rem;margin:10px 0}.feedback-report-message{padding:16px;border-radius:14px;background:var(--bg1);line-height:1.75;overflow-wrap:anywhere}.feedback-admin-list .formgrid{align-items:start}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@keyframes nextGlow{0%,100%{background-position:0% 40%}50%{background-position:100% 60%}}
@media(max-width:680px){.next-class-top{align-items:flex-start;flex-direction:column}.countdown-orbit{min-width:150px;min-height:100px;border-radius:22px;max-width:none;width:100%}.expiry-note{flex-direction:column}.expiry-actions{min-width:0;justify-content:flex-start}.feedback-report header{display:block}}
@media(prefers-reduced-motion:reduce){.next-class-panel{animation:none}}


/* v10 security/layout hardening: social links belong in the footer, never the crowded header. */
.nav .social-icon,.nav .footer-socials,.nav .social-placeholder{display:none!important}
.nav-dropdown summary{white-space:nowrap}
.next-countdown{font-variant-numeric:tabular-nums;letter-spacing:.02em}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* v11: refined transactional forms, batch management and mobile ergonomics */
[hidden]{display:none!important}
.checkout-shell{max-width:920px;width:min(100% - 28px,920px);padding:clamp(18px,3.8vw,38px);margin:16px auto 56px}
.checkout-hero{max-width:1100px;margin-inline:auto;padding-inline:clamp(18px,4vw,40px)}
.checkout-form{display:grid;gap:22px;margin-top:22px}.checkout-form h3{margin:.25rem 0}
.payment-choice{min-width:0;border:1px solid var(--line);padding:clamp(14px,2.5vw,24px);border-radius:24px;background:rgba(255,255,255,.62)}
.payment-choice legend{font-weight:600;color:var(--deep);padding:0 9px}
.payment-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:6px 0 18px}
.payment-method-card{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;min-width:0}
.payment-method-card:hover{transform:translateY(-2px);border-color:var(--blue);box-shadow:0 10px 24px rgba(22,70,95,.08)}
.payment-method-card.is-selected{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 17%,transparent);background:linear-gradient(135deg,#fff,var(--sky))}
.payment-method-card input{flex:0 0 auto;margin-top:5px;accent-color:var(--blue)}.payment-method-card span{display:grid;gap:4px;min-width:0}.payment-method-card b{font-weight:600;color:var(--deep)}.payment-method-card small{font-size:.82rem;color:var(--soft);line-height:1.5}
.conditional-payment{margin-top:14px;padding:clamp(14px,2.5vw,22px);border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.76)}
.conditional-payment .panel{margin:0;background:rgba(255,255,255,.9)}.conditional-payment .small{line-height:1.65}
.checkout-total{box-shadow:0 10px 35px rgba(22,70,95,.05)}.checkout-submit{width:100%;min-height:52px;font-weight:600;letter-spacing:.01em}
.package-choice{padding:18px;border-radius:20px;background:rgba(255,255,255,.75);border:1px solid var(--line);margin:18px 0}
.registration-preferences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;border:1px solid var(--line);border-radius:18px;padding:16px;background:rgba(255,255,255,.7)}
.registration-preferences legend{padding:0 8px;font-weight:600;color:var(--deep)}.registration-preferences>p{grid-column:1/-1;margin:0}
.online-batch-admin{overflow:hidden}.online-batch-admin .row.spread{align-items:flex-start;gap:16px}.routine-form [data-online-batch-field]{align-self:start}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:720px}
.footer-socials{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}.social-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;text-decoration:none;font-weight:600;background:rgba(255,255,255,.72);transition:transform .2s ease,background .2s ease}.social-icon:hover{transform:translateY(-3px);background:var(--sky)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 50%,white);outline-offset:3px}
@media(max-width:680px){.payment-method-grid{grid-template-columns:1fr}.checkout-shell{width:calc(100% - 20px);padding:16px;border-radius:20px}.registration-preferences{grid-template-columns:1fr}.package-choice{padding:14px}.conditional-payment{padding:13px}.payment-method-card{padding:13px}.checkout-submit{margin-inline:0}}
@media(max-width:420px){.payment-method-card small{font-size:.78rem}.checkout-hero h1{font-size:2.2rem}.payment-choice{padding:10px}.registration-preferences{padding:12px}}
@media(prefers-reduced-motion:reduce){.payment-method-card,.social-icon{transition:none!important}.payment-method-card:hover,.social-icon:hover{transform:none!important}}


/* v12 checkout repair: global form styles must never stretch native radio inputs. */
input[type="radio"]{width:auto;min-width:0;max-width:none;height:auto;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;accent-color:var(--blue)}
.payment-method-grid{align-items:stretch;grid-auto-rows:1fr;gap:14px}
.payment-method-card{position:relative;display:grid;grid-template-columns:19px 46px minmax(0,1fr) 14px;align-items:center;gap:12px;min-height:132px;padding:19px 17px;overflow:hidden;isolation:isolate}
.payment-method-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(234,244,249,.62),rgba(255,255,255,0) 65%);opacity:0;transition:opacity var(--ui-duration) ease}
.payment-method-card:hover::before,.payment-method-card.is-selected::before{opacity:1}
.payment-method-card input[type="radio"]{display:block;width:18px;height:18px;min-width:18px;max-width:18px;padding:0;margin:0;flex:none;accent-color:var(--blue);cursor:pointer}
.payment-method-card .payment-card-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:linear-gradient(140deg,var(--sky),#fff);border:1px solid var(--line);color:var(--blue);font-size:1.35rem;font-weight:600;line-height:1;flex:none}
.payment-method-card .payment-card-copy{display:grid;align-content:center;gap:5px;min-width:0;overflow-wrap:anywhere}
.payment-method-card .payment-card-copy b{display:block;font-size:.98rem;line-height:1.35;font-weight:600}
.payment-method-card .payment-card-copy small{display:block;font-size:.81rem;line-height:1.55;color:var(--soft)}
.payment-method-card .payment-card-arrow{align-self:start;justify-self:end;color:var(--blue);font-size:1rem;opacity:.55;transition:transform var(--ui-duration) ease,opacity var(--ui-duration) ease}
.payment-method-card:hover .payment-card-arrow,.payment-method-card.is-selected .payment-card-arrow{opacity:1;transform:translate(2px,-2px)}
.payment-method-card.is-selected{outline:2px solid color-mix(in srgb,var(--blue) 22%,transparent);outline-offset:0}
.payment-method-card[hidden]{display:none!important}
.payment-choice{overflow:visible}
.checkout-shell{overflow:visible}
.conditional-payment{min-width:0;overflow:hidden}
.conditional-payment .panel{max-width:100%;overflow-wrap:anywhere}

/* v12: bolder editorial home details, tactile menu panels, responsive rhythm. */
.hero2{position:relative;isolation:isolate;padding-top:clamp(48px,6vw,82px);padding-bottom:clamp(58px,7vw,94px)}
.hero2::before{content:"";position:absolute;z-index:-1;left:-8vw;top:8%;width:min(47vw,570px);height:min(47vw,570px);border-radius:50%;background:radial-gradient(circle,rgba(43,127,176,.13),rgba(125,184,166,.06) 44%,transparent 72%);pointer-events:none;animation:heroBloom 16s ease-in-out infinite alternate}
.hero2::after{content:"BODY · MIND · SOUL";position:absolute;z-index:-1;right:3%;bottom:3%;font-size:clamp(.62rem,.95vw,.82rem);letter-spacing:.28em;font-weight:600;color:rgba(22,70,95,.28);pointer-events:none}
.hero-text{min-width:0;position:relative}.hero2 h1{max-width:760px;text-wrap:balance;text-shadow:0 8px 36px rgba(22,70,95,.04)}
.hero2 .lead{max-width:590px;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.85}
.hero2 .btn{transition:transform var(--ui-duration) ease,box-shadow var(--ui-duration) ease,background var(--ui-duration) ease}
.hero2 .btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(43,127,176,.2)}
.hero-route-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-width:760px;margin-top:26px}
.hero-route-picks>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:12px 11px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.66);text-decoration:none;color:var(--deep);box-shadow:0 8px 24px rgba(22,70,95,.035);transition:transform var(--ui-duration) ease,border-color var(--ui-duration) ease,box-shadow var(--ui-duration) ease,background var(--ui-duration) ease}
.hero-route-picks>a:hover{transform:translateY(-4px);border-color:var(--sage);background:rgba(255,255,255,.92);box-shadow:0 16px 30px rgba(22,70,95,.09)}
.route-pick-number{align-self:start;color:var(--sage);font-size:.7rem;font-weight:700;letter-spacing:.08em}
.route-pick-copy{display:grid;gap:3px;min-width:0}.route-pick-copy b{font-size:.88rem;line-height:1.25;font-weight:600;overflow-wrap:anywhere}.route-pick-copy small{font-size:.7rem;color:var(--soft);line-height:1.4}.route-pick-arrow{color:var(--blue);font-size:.92rem}
.orbit{filter:drop-shadow(0 25px 42px rgba(22,70,95,.07))}.orbit .chip{backdrop-filter:blur(10px);border-color:rgba(255,255,255,.8);box-shadow:0 12px 34px rgba(22,70,95,.14)}
.practice-intro{position:relative;isolation:isolate}.practice-intro::before{content:"";position:absolute;z-index:-1;inset:12% auto auto -120px;width:310px;height:310px;border:1px solid rgba(43,127,176,.1);border-radius:50%;box-shadow:0 0 0 24px rgba(43,127,176,.025),0 0 0 52px rgba(43,127,176,.018);pointer-events:none}
.practice-intro .pillars article{position:relative;overflow:hidden}.practice-intro .pillars article::after{content:"";position:absolute;width:120px;height:120px;right:-50px;top:-54px;border-radius:50%;background:radial-gradient(circle,var(--sky),transparent 68%);transition:transform .5s ease}.practice-intro .pillars article:hover::after{transform:scale(1.6)}
.nav-dropdown>summary{display:flex;align-items:center;gap:4px;font-weight:500;transition:background var(--ui-duration) ease,color var(--ui-duration) ease,box-shadow var(--ui-duration) ease}
.nav-dropdown[open]>summary{box-shadow:0 5px 16px rgba(22,70,95,.07)}
.dropdown-menu{min-width:300px;max-width:min(380px,calc(100vw - 24px));padding:12px;border-radius:20px;border-color:rgba(43,127,176,.2);box-shadow:0 26px 70px rgba(22,70,95,.2);transform-origin:top left}
.dropdown-menu::before{content:"Explore programmes";display:block;padding:8px 12px 10px;text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.18em;color:var(--sage);border-bottom:1px solid var(--line);margin-bottom:5px}
.dropdown-menu a{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;padding:12px 13px!important;border:1px solid transparent;transition:background var(--ui-duration) ease,border-color var(--ui-duration) ease,transform var(--ui-duration) ease}
.dropdown-menu a strong{font-size:.94rem;line-height:1.35}.dropdown-menu a small{grid-column:1/-1;padding-right:20px;line-height:1.45}.dropdown-menu a:hover{border-color:var(--line);transform:translateX(2px)}
.dropdown-menu a:last-child{margin-top:4px;border-top:1px solid var(--line);border-radius:12px;background:linear-gradient(100deg,rgba(234,244,249,.7),rgba(255,255,255,.3))!important;font-weight:600}
.dropdown-menu a:focus-visible,.hero-route-picks a:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 50%,white);outline-offset:2px}
@keyframes heroBloom{from{transform:translate3d(-8px,0,0) scale(.96);opacity:.6}to{transform:translate3d(18px,10px,0) scale(1.05);opacity:1}}
@media(max-width:1120px){.dropdown-menu{min-width:0;width:100%;max-width:none;border-radius:15px;padding:8px;margin-left:0}.dropdown-menu::before{padding:7px 12px}.dropdown-menu a{grid-template-columns:minmax(0,1fr) auto}.nav-dropdown{width:100%}.nav-dropdown>summary{width:100%;justify-content:space-between}}
@media(max-width:780px){.hero2{gap:22px}.hero-route-picks{max-width:none}.hero2::after{right:5%;bottom:1.5%}}
@media(max-width:580px){.hero-route-picks{grid-template-columns:1fr;gap:8px;margin-top:20px}.hero-route-picks>a{padding:11px 13px}.route-pick-copy b{font-size:.94rem}.route-pick-copy small{font-size:.76rem}.hero2::after{font-size:.58rem;letter-spacing:.16em}.payment-method-card{grid-template-columns:18px 40px minmax(0,1fr) 12px;gap:9px;min-height:112px;padding:13px 11px}.payment-method-card .payment-card-icon{width:38px;height:38px;border-radius:12px;font-size:1.1rem}.payment-method-card .payment-card-copy b{font-size:.9rem}.payment-method-card .payment-card-copy small{font-size:.76rem;line-height:1.45}.payment-choice{padding:12px}.payment-method-grid{grid-template-columns:1fr;gap:10px}}
@media(prefers-reduced-motion:reduce){.hero2::before,.hero-route-picks>a,.practice-intro .pillars article::after{animation:none!important;transition:none!important}}

/* v12.1 polish: robust font fallbacks and a more balanced headline scale. */
.btn,.link,.mood{font-family:Outfit,Poppins,system-ui,sans-serif}
.hero2 h1{font-size:clamp(2.9rem,5.8vw,5.8rem)}
@media(max-width:580px){.hero2 h1{font-size:clamp(2.55rem,11.3vw,3.55rem)}}

/* v13: original, theme-aware ambient ribbon motion inspired by fluid movement.
   Animated only with transforms; no WebGL or third-party runtime. */
.site-wave-svg{position:absolute;inset:0;width:100%;height:100%;opacity:.085;overflow:visible;pointer-events:none}
.site-wave-line{fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:9 15;opacity:.7;animation:siteWaveDrift 34s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
.site-wave-line-b{stroke:var(--sage);stroke-width:2.2;animation-delay:-11s;animation-duration:41s;opacity:.8}
.site-wave-line-c{stroke:var(--peach);stroke-width:1.6;animation-delay:-21s;animation-duration:37s;opacity:.7}
@keyframes siteWaveDrift{0%{transform:translate3d(-1.6%,0,0)}50%{transform:translate3d(1.4%,8px,0)}100%{transform:translate3d(-.5%,-6px,0)}}
.hero2{overflow:hidden}
.hero-flow-art{position:absolute;z-index:-1;inset:0;overflow:hidden;pointer-events:none;opacity:.43;contain:paint}
.hero-flow-svg{position:absolute;inset:0 auto 0 -12%;width:124%;height:100%;overflow:visible;filter:drop-shadow(0 18px 30px rgba(22,70,95,.075))}
.hero-flow-svg .flow-stop-a{stop-color:var(--blue)}
.hero-flow-svg .flow-stop-b{stop-color:var(--sage)}
.hero-flow-svg .flow-stop-c{stop-color:var(--peach)}
.flow-band{transform-box:fill-box;transform-origin:center;will-change:transform;opacity:.76}
.flow-band-a{animation:ribbonDriftA 29s cubic-bezier(.45,0,.55,1) infinite alternate}
.flow-band-b{opacity:.52;animation:ribbonDriftB 37s cubic-bezier(.45,0,.55,1) infinite alternate}
.flow-highlight{fill:none;stroke:rgba(255,255,255,.75);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:3 14;opacity:.75;vector-effect:non-scaling-stroke;animation:ribbonGlint 22s linear infinite}
.flow-highlight-two{stroke:var(--sage);stroke-width:1.8;opacity:.65;animation-delay:-8s;animation-duration:30s}
@keyframes ribbonDriftA{0%{transform:translate3d(-1.4%,5px,0) rotate(-.2deg)}50%{transform:translate3d(1.1%,-9px,0) rotate(.22deg)}100%{transform:translate3d(-.2%,3px,0) rotate(-.12deg)}}
@keyframes ribbonDriftB{0%{transform:translate3d(1.2%,-7px,0) rotate(.18deg)}50%{transform:translate3d(-1.1%,10px,0) rotate(-.2deg)}100%{transform:translate3d(.3%,-3px,0) rotate(.1deg)}}
@keyframes ribbonGlint{from{stroke-dashoffset:0;transform:translateX(-.4%)}to{stroke-dashoffset:-180;transform:translateX(.4%)}}
body[data-wave-intensity="subtle"] .hero-flow-art{opacity:.23}
body[data-wave-intensity="balanced"] .hero-flow-art{opacity:.40}
body[data-wave-intensity="expressive"] .hero-flow-art{opacity:.57}
body[data-motion-style="aurora"] .hero-flow-art,body[data-motion-style="minimal"] .hero-flow-art,body[data-motion-style="off"] .hero-flow-art{display:none}
body[data-motion-style="minimal"] .site-wave-svg,body[data-motion-style="off"] .site-wave-svg,body[data-motion="no"] .site-wave-svg,body[data-motion="no"] .hero-flow-art{display:none}
body[data-motion-style="aurora"] .site-wave-svg{opacity:.035}
body[data-wave-speed="slow"] .flow-band-a{animation-duration:38s}
body[data-wave-speed="slow"] .flow-band-b{animation-duration:47s}
body[data-wave-speed="slow"] .flow-highlight{animation-duration:34s}
body[data-wave-speed="normal"] .flow-band-a{animation-duration:27s}
body[data-wave-speed="normal"] .flow-band-b{animation-duration:34s}
body[data-wave-speed="normal"] .flow-highlight{animation-duration:24s}
body[data-wave-speed="fast"] .flow-band-a{animation-duration:17s}
body[data-wave-speed="fast"] .flow-band-b{animation-duration:22s}
body[data-wave-speed="fast"] .flow-highlight{animation-duration:16s}
body[data-motion="no"] .flow-band-a,body[data-motion="no"] .flow-band-b,body[data-motion="no"] .flow-highlight,body[data-motion="no"] .site-wave-line{animation:none!important}
body[data-motion-style="off"] .bg span{animation:none!important}
.nav-dropdown{position:relative}
.nav-dropdown>summary{list-style:none;cursor:pointer;user-select:none;padding:8px 13px;border-radius:999px}
.nav-dropdown>summary::-webkit-details-marker{display:none}
.nav-dropdown>summary::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:5px;transition:transform var(--ui-duration) ease}
.nav-dropdown[open]>summary::after{transform:rotate(225deg) translate(-1px,-1px)}
.dropdown-menu{animation:dropdownFloat .22s ease both;background:rgba(255,255,255,.97);backdrop-filter:blur(18px)}
@keyframes dropdownFloat{from{opacity:0;transform:translateY(-7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:1120px){.hero-flow-art{opacity:.26}.hero-flow-svg{width:145%;left:-22.5%}.site-wave-svg{opacity:.04}}
@media(max-width:580px){.hero-flow-art{opacity:.20}.hero-flow-svg{width:180%;left:-40%}.hero2{isolation:isolate}}
@media(prefers-reduced-motion:reduce){.site-wave-line,.flow-band-a,.flow-band-b,.flow-highlight{animation:none!important;will-change:auto}.hero-flow-art{opacity:.18!important}.dropdown-menu{animation:none!important}}

body[data-motion-style="minimal"] .bg span{animation:none!important}
body[data-motion="no"] *,body[data-motion-style="off"] *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){body .bg span{animation:none!important}}


/* v14: media ticker, branch maps, quick dashboard navigation, and polished dated routines */
.press-proof{padding:clamp(34px,5vw,72px) max(20px,calc((100vw - 1180px)/2));overflow:hidden;background:linear-gradient(120deg,rgba(43,127,176,.075),rgba(125,184,166,.1),rgba(240,180,138,.12));border-block:1px solid var(--line)}
.press-proof-heading{max-width:690px;margin:0 auto 24px;text-align:center}.press-proof-heading h2{margin:.3rem 0}.press-proof-heading p{color:var(--muted,#5f7785)}.press-proof-heading .text-link{display:inline-block;margin-top:8px;font-weight:650}
.press-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);padding:12px 0}.press-track{display:flex;align-items:center;gap:16px;width:max-content;animation:press-marquee-v14 42s linear infinite}.press-marquee:hover .press-track,.press-marquee:focus-within .press-track{animation-play-state:paused}
.press-logo-chip{min-width:150px;max-width:215px;height:76px;padding:12px 18px;border:1px solid rgba(22,70,95,.12);border-radius:20px;background:rgba(255,255,255,.88);box-shadow:0 12px 25px rgba(22,70,95,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--deep);text-align:center;text-decoration:none;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.press-logo-chip:hover{transform:translateY(-5px) rotateX(5deg);box-shadow:0 18px 33px rgba(22,70,95,.15);border-color:var(--blue)}.press-logo-chip span{font-size:clamp(13px,1.3vw,18px);font-weight:750;letter-spacing:-.03em;line-height:1.1}.press-logo-chip img{max-width:165px;max-height:38px;object-fit:contain}.press-logo-chip small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:.7}
@keyframes press-marquee-v14{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.footer-map-section{margin:28px 0 8px;padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:rgba(255,255,255,.05)}.footer-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.footer-map-card{min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.07)}.footer-map-heading{padding:14px 16px 10px;display:flex;flex-direction:column;gap:5px}.footer-map-heading b{font-size:15px}.footer-map-heading span{font-size:12px;line-height:1.5;opacity:.82}.footer-map-card iframe{display:block;width:100%;height:170px;border:0;background:#e5eef0}.footer-map-card>a{display:inline-flex;margin:12px 16px 15px;font-weight:650;font-size:13px}
.dashboard-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 24px}.dashboard-quick-card{--tilt-x:0deg;--tilt-y:0deg;min-height:135px;padding:19px;border:1px solid rgba(43,127,176,.17);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(230,245,251,.9));box-shadow:0 12px 0 rgba(22,70,95,.035),0 18px 35px rgba(22,70,95,.07);display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--deep);transform:perspective(850px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.dashboard-quick-card:hover,.dashboard-quick-card:focus-visible{transform:perspective(850px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-5px);box-shadow:0 7px 0 rgba(22,70,95,.045),0 24px 38px rgba(22,70,95,.13);border-color:rgba(43,127,176,.45)}.dashboard-quick-card .quick-icon{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#2b7fb0,#69b9d0);color:white;box-shadow:0 5px 0 #195879,0 10px 17px rgba(43,127,176,.2);transform:translateZ(15px)}.dashboard-quick-card .quick-icon svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dashboard-quick-card strong{font-size:16px;line-height:1.2}.dashboard-quick-card small{color:#5f7785;line-height:1.4}
.routine-tabs,.routine-tabs-panel{display:flex;flex-direction:column;gap:10px}.routine-tabs .row,.routine-tabs-panel .row,.routine-locations{display:flex;flex-wrap:wrap;gap:9px}.routine-hero{overflow:hidden}.dated-routine-cards .card{transition:transform .25s ease,box-shadow .25s ease}.dated-routine-cards .card:hover{transform:translateY(-4px);box-shadow:0 16px 28px rgba(22,70,95,.11)}
@media(max-width:760px){.footer-map-grid{grid-template-columns:1fr}.footer-map-card iframe{height:155px}.dashboard-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-quick-card{min-height:115px;padding:14px}.press-proof{padding-inline:18px}.press-track{animation-duration:48s}.press-logo-chip{min-width:132px;height:68px}.footer-map-section{padding:14px}}
@media(prefers-reduced-motion:reduce){.press-track{animation:none;transform:none}.dashboard-quick-card,.press-logo-chip,.dated-routine-cards .card{transition:none;transform:none}.dashboard-quick-card:hover,.press-logo-chip:hover,.dated-routine-cards .card:hover{transform:none}}


/* v15 — bolder pricing, studio spacing, non-clickable press strip, 3D social marks and animated auth art. */
:root{--brand-orange:#f2a24e;--brand-coral:#ec7d70;--brand-teal:#187d84;--brand-ink:#123b50}
.hero2 .chip{max-width:205px;line-height:1.25;white-space:normal;text-align:center;font-weight:650;font-size:.78rem;border-color:rgba(43,127,176,.18);box-shadow:0 14px 32px rgba(22,70,95,.12)}
.hero2 .chip.c1{left:-1%;top:15%}.hero2 .chip.c2{right:-1%;top:45%}.hero2 .chip.c3{left:6%;bottom:8%}
.hero2 .trust li{font-weight:550;border-color:rgba(43,127,176,.2);box-shadow:0 5px 13px rgba(22,70,95,.035)}
#pricing{position:relative;overflow:hidden;background:linear-gradient(165deg,#e6f4fa 0%,#eff6f8 45%,#fcf0e7 100%)}
#pricing::before{content:"";position:absolute;width:50vw;height:50vw;max-width:650px;max-height:650px;right:-22vw;top:8%;border-radius:50%;background:radial-gradient(circle,rgba(238,153,111,.17),transparent 68%);pointer-events:none}
#pricing .pricing-intro{position:relative;z-index:1;max-width:900px;margin-bottom:26px}
#pricing .pricing-intro .kicker{color:var(--brand-teal);font-weight:800;letter-spacing:.26em}
#pricing .pricing-intro h2{font-weight:750;letter-spacing:-.055em;font-size:clamp(2.7rem,5.4vw,5.2rem);line-height:1.02;margin:.15em 0 .25em;text-wrap:balance}
#pricing .pricing-intro .lead{font-size:clamp(1.08rem,1.7vw,1.32rem);line-height:1.75;font-weight:450;color:#436a7e}
#pricing .pricing-exchange-note{max-width:700px;margin:14px auto 0;line-height:1.7;color:#587a89}
#pricing .branch-pricing-group{position:relative;z-index:1;max-width:1220px;margin:clamp(52px,6vw,84px) auto 0;padding:clamp(22px,3vw,42px);border:1px solid rgba(28,103,137,.14);border-radius:clamp(24px,3vw,38px);background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(249,253,255,.92) 58%,rgba(255,249,243,.93));box-shadow:0 22px 60px rgba(22,70,95,.08)}
#pricing .branch-pricing-group:nth-of-type(even){background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(239,249,252,.96) 60%,rgba(248,240,250,.95))}
#pricing .branch-pricing-header{display:flex;align-items:center;gap:20px;padding:2px 0 24px;margin-bottom:30px;border-bottom:1px solid rgba(43,127,176,.15)}
#pricing .branch-pricing-number{flex:0 0 62px;height:62px;display:grid;place-items:center;border-radius:20px;color:white;font-size:1.25rem;font-weight:800;background:linear-gradient(145deg,#236b91,#2f9cc1 60%,#84cabc);box-shadow:0 7px 0 rgba(18,73,99,.18),0 14px 24px rgba(43,127,176,.18);transform:rotate(-4deg)}
#pricing .branch-pricing-title{flex:1;min-width:0}
#pricing .branch-pricing-title .kicker{font-size:.69rem;letter-spacing:.2em;margin-bottom:6px;color:var(--brand-teal)}
#pricing .branch-pricing-title h3{font-size:clamp(1.8rem,3.1vw,2.55rem);font-weight:750;letter-spacing:-.04em;color:var(--deep);margin:0 0 5px}
#pricing .branch-pricing-title p:last-child{margin:0;color:var(--soft);font-size:.98rem;font-weight:450}
#pricing .branch-pricing-label{padding:9px 15px;border-radius:999px;background:#eaf5f6;color:#236b75;border:1px solid #cfe8e8;font-size:.8rem;font-weight:700;white-space:nowrap}
#pricing .pricing-cards{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:20px}
#pricing .price-card{min-width:0;position:relative;align-items:stretch;text-align:left;padding:clamp(22px,2.5vw,32px);border-radius:28px;border:1px solid rgba(43,127,176,.16);background:#fff;box-shadow:0 8px 0 rgba(22,70,95,.025),0 16px 34px rgba(22,70,95,.06);overflow:hidden}
#pricing .price-card::before{content:"";position:absolute;top:0;left:22px;right:22px;height:4px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#2b7fb0,#7db8a6,#f0b48a)}
#pricing .package-mark{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;margin-bottom:19px;background:linear-gradient(145deg,#e2f3fa,#fff 65%,#ffefe1);color:#227fa9;box-shadow:0 7px 0 rgba(43,127,176,.09),0 12px 22px rgba(43,127,176,.09)}
#pricing .package-mark svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#pricing .package-mark-zumba-aerobics{color:#be5a72;background:linear-gradient(145deg,#ffe4e7,#fff 70%,#fff0cf)}
#pricing .package-mark-pilates{color:#277d73;background:linear-gradient(145deg,#ddf7ed,#fff 70%,#e3f1ff)}
#pricing .price-card h3{font-weight:800;font-size:clamp(1.25rem,1.75vw,1.65rem);line-height:1.2;letter-spacing:-.03em;margin:0 0 6px;color:var(--deep)}
#pricing .package-card-tagline{min-height:2.7em;margin:0 0 18px;color:var(--soft);font-size:.92rem;line-height:1.5}
#pricing .price-list{border-top:1px solid rgba(43,127,176,.13);margin:0 0 22px;padding-top:8px}
#pricing .price-list p{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin:0;padding:10px 0;border-bottom:1px dashed rgba(43,127,176,.13);font-size:.91rem;color:#4f6e7e}
#pricing .price-list b{font-size:.96rem;color:#153e55;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums}
#pricing .price-card-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:auto 0 0;padding:13px 18px;border-radius:15px;font-size:.95rem;font-weight:750;box-shadow:0 7px 0 rgba(22,70,95,.1);transition:transform .2s ease,box-shadow .2s ease}
#pricing .price-card-cta:hover{transform:translateY(-3px);box-shadow:0 10px 0 rgba(22,70,95,.08)}
#pricing .price-card-cta span{font-size:1.25rem}
#pricing .pricing-policy-note{margin:34px auto 0;max-width:850px;line-height:1.7}
@media(max-width:900px){#pricing .pricing-cards{grid-template-columns:repeat(2,minmax(0,1fr))}#pricing .price-card:last-child:nth-child(odd){grid-column:1/-1;max-width:calc(50% - 10px);width:100%;justify-self:center}#pricing .branch-pricing-label{display:none}}
@media(max-width:580px){#pricing .branch-pricing-group{margin-top:36px;padding:18px 14px;border-radius:25px}#pricing .branch-pricing-header{gap:12px;margin-bottom:18px;padding-bottom:18px}#pricing .branch-pricing-number{flex-basis:48px;height:48px;border-radius:15px;font-size:1rem}#pricing .branch-pricing-title h3{font-size:1.7rem}#pricing .branch-pricing-title p:last-child{font-size:.84rem;line-height:1.5}#pricing .pricing-cards{grid-template-columns:minmax(0,1fr);gap:13px}#pricing .price-card,#pricing .price-card:last-child:nth-child(odd){grid-column:auto;max-width:none;padding:22px}#pricing .package-card-tagline{min-height:0}#pricing .price-card h3{font-size:1.4rem}}
.routine-locations-centered{justify-content:center;align-items:center;margin:24px auto 0;max-width:100%;text-align:center}
.routine-week-panel{margin-top:24px;overflow:hidden}
.routine-week-panel-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}
.routine-week-panel-heading h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:750;letter-spacing:-.035em;margin:0}
.routine-week-panel-heading .kicker{margin-bottom:8px}
.routine-week-label{font-size:.82rem;color:var(--soft);font-weight:650;padding:8px 12px;border-radius:999px;background:var(--sky)}
.routine-week-grid{display:grid;grid-template-columns:repeat(7,minmax(124px,1fr));gap:9px;overflow-x:auto;padding:3px 3px 12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.routine-day-column{min-width:124px;background:linear-gradient(180deg,rgba(234,245,250,.6),rgba(255,255,255,.9));border:1px solid rgba(43,127,176,.14);border-radius:16px;padding:10px;scroll-snap-align:start}
.routine-day-column>h3{font-size:.9rem;font-weight:800;color:var(--deep);margin:0 0 10px;padding:3px 4px 11px;border-bottom:1px solid rgba(43,127,176,.15)}
.routine-day-column>h3 small{display:block;margin-top:3px;color:var(--soft);font-size:.65rem;font-weight:500;letter-spacing:.01em}
.routine-day-classes{display:flex;flex-direction:column;gap:8px}
.routine-mini-class{display:flex;gap:8px;align-items:flex-start;padding:9px 7px;border-radius:12px;background:#fff;border:1px solid rgba(43,127,176,.11);box-shadow:0 3px 0 rgba(22,70,95,.025);min-width:0}
.routine-mini-icon{flex:0 0 27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#e6f3fa;color:#2b7fb0}
.routine-mini-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.routine-mini-icon.icon-pilates{background:#e1f6ed;color:#24856c}.routine-mini-icon.icon-dance{background:#ffebef;color:#bf5475}.routine-mini-icon.icon-other{background:#fff1da;color:#a76a26}
.routine-mini-info{display:flex;flex-direction:column;gap:3px;min-width:0;line-height:1.35}
.routine-mini-info strong{font-size:.76rem;letter-spacing:.015em;color:var(--deep);font-weight:800}
.routine-mini-info span{font-size:.73rem;font-weight:650;overflow-wrap:anywhere}
.routine-mini-info small{font-size:.65rem;line-height:1.35;color:var(--soft)}
.routine-day-empty{margin:0;padding:13px 4px;color:#8aa0aa;font-size:.72rem;line-height:1.45}
@media(max-width:780px){.routine-week-panel-heading{align-items:flex-start;flex-direction:column;gap:8px}.routine-week-grid{grid-template-columns:repeat(7,minmax(132px,1fr));gap:8px}.routine-locations-centered .btn{margin:4px}}

/* High-contrast, dimensional social buttons in the footer only. */
.footer-socials{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.social-icon{position:relative;width:46px;height:46px;display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.65);border-radius:15px;text-decoration:none;color:#fff!important;transform:translateY(0);box-shadow:0 5px 0 rgba(10,35,52,.16),0 12px 20px rgba(10,35,52,.16);transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;overflow:hidden}
.social-icon::after{content:"";position:absolute;inset:1px 1px auto;height:42%;border-radius:13px 13px 55% 55%;background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,0));pointer-events:none}
.social-icon svg{position:relative;z-index:1;width:24px;height:24px;display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.12))}
.social-icon.fb{background:linear-gradient(145deg,#4d9bff,#1556ba 68%,#103f93)}.social-icon.yt{background:linear-gradient(145deg,#ff686a,#e31b32 64%,#aa0920)}.social-icon.ig{background:linear-gradient(145deg,#ffd46b 0%,#fb675c 42%,#ca3f94 70%,#6249c7 100%)}.social-icon.li{background:linear-gradient(145deg,#3aa2e7,#0a66c2 65%,#084b91)}
.social-icon:hover{transform:translateY(-4px) rotate(-3deg);box-shadow:0 8px 0 rgba(10,35,52,.12),0 17px 24px rgba(10,35,52,.2);filter:saturate(1.12)}.social-placeholder{opacity:.78;cursor:default}.social-placeholder:hover{transform:none;filter:none;box-shadow:0 5px 0 rgba(10,35,52,.16),0 12px 20px rgba(10,35,52,.16)}

/* Single-pass, non-clickable press wordmarks; one entry per outlet, moving left-to-right. */
.press-proof{padding:clamp(42px,5vw,78px) max(18px,calc((100vw - 1220px)/2));background:linear-gradient(125deg,rgba(226,244,250,.93),rgba(245,250,249,.9) 52%,rgba(255,239,227,.9));}
.press-proof-heading h2{font-size:clamp(2rem,3.5vw,3.2rem);font-weight:750;letter-spacing:-.04em;color:var(--deep)}
.press-marquee{position:relative;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);padding:18px 0;min-height:100px}
.press-track{display:flex;align-items:center;gap:clamp(38px,6vw,94px);width:max-content;min-width:max-content;animation:press-marquee-v15 58s linear infinite;will-change:transform}
.press-marquee:hover .press-track{animation-play-state:paused}
.press-logo-chip{flex:0 0 auto;display:grid;place-items:center;min-width:150px;max-width:220px;height:72px;padding:7px 10px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--deep);text-align:center;transform:none;overflow:visible}
.press-logo-chip:hover{transform:none;box-shadow:none;border-color:transparent}
.press-logo-chip img{display:block;width:auto;max-width:190px;height:auto;max-height:54px;object-fit:contain;mix-blend-mode:multiply}
.press-logo-chip[data-outlet="the-daily-ittefaq"] img{width:205px;height:54px;object-fit:cover;object-position:center 50%}
.press-logo-chip[data-outlet="the-dhaka-tribune"] img{width:220px;max-width:220px;max-height:42px}
.press-text-wordmark{display:block;color:#244a5f;font-family:Georgia,"Noto Serif Bengali",serif;font-weight:800;font-size:clamp(17px,1.5vw,23px);line-height:1.12;letter-spacing:-.035em;white-space:normal;text-wrap:balance;max-width:210px}
.press-wordmark-television{font-family:Outfit,system-ui,sans-serif;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#147f89}
.press-wordmark-newspaper{font-family:Georgia,"Noto Serif Bengali",serif;font-weight:800;color:#243847}
@keyframes press-marquee-v15{0%{transform:translateX(-100%)}100%{transform:translateX(100vw)}}
@media(max-width:760px){.press-marquee{min-height:88px}.press-track{gap:34px;animation-duration:52s}.press-logo-chip{min-width:122px;height:62px;padding-inline:4px}.press-logo-chip img{max-width:150px;max-height:44px}.press-logo-chip[data-outlet="the-daily-ittefaq"] img{width:160px;height:42px}.press-logo-chip[data-outlet="the-dhaka-tribune"] img{width:170px;max-width:170px}.press-text-wordmark{font-size:17px}}

/* Full-height account access page with a different wellness illustration on each visit. */
.login-page{width:min(1320px,calc(100% - 40px));margin:30px auto 58px;min-height:min(780px,calc(100svh - 145px));display:grid;grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr);border:1px solid rgba(21,76,100,.12);border-radius:34px;overflow:hidden;background:#fffdf8;box-shadow:0 28px 90px rgba(22,70,95,.14)}
.auth-visual{position:relative;display:flex;align-items:flex-end;min-height:680px;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,#f7b94f 0%,#ed9750 40%,#efc576 100%);color:#fff}
.auth-visual::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,65,76,.04),rgba(12,48,63,.1) 45%,rgba(9,41,58,.8) 100%)}
.auth-illustration{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;z-index:-2;animation:authImageArrive .95s cubic-bezier(.2,.75,.25,1) both;filter:saturate(1.05)}
.auth-art-glow{position:absolute;border-radius:50%;pointer-events:none;mix-blend-mode:screen;filter:blur(1px);z-index:-1;opacity:.38;animation:authGlow 13s ease-in-out infinite alternate}
.auth-art-glow-one{width:300px;height:300px;right:-75px;top:6%;background:radial-gradient(circle,rgba(255,248,190,.9),rgba(255,248,190,0) 70%)}
.auth-art-glow-two{width:240px;height:240px;left:-70px;top:38%;background:radial-gradient(circle,rgba(69,197,190,.8),rgba(69,197,190,0) 72%);animation-delay:-6s}
.auth-art-ribbon{position:absolute;left:-10%;right:-10%;height:120px;border-radius:50%;border:3px solid rgba(255,255,255,.36);transform:rotate(-16deg);pointer-events:none;z-index:-1}
.auth-art-ribbon-one{top:20%;animation:authRibbon 16s ease-in-out infinite alternate}
.auth-art-ribbon-two{top:30%;border-color:rgba(21,110,123,.34);height:165px;transform:rotate(17deg);animation:authRibbonTwo 19s ease-in-out infinite alternate}
.auth-art-copy{position:relative;z-index:2;padding:clamp(28px,4.1vw,58px);width:100%;max-width:700px;text-shadow:0 3px 20px rgba(10,35,46,.25)}
.auth-overline{font-size:.7rem;font-weight:800;letter-spacing:.23em;margin:0 0 18px;color:#fff9eb}
.auth-art-copy h1{font-size:clamp(2.5rem,4.2vw,4.7rem);line-height:.98;letter-spacing:-.06em;font-weight:800;margin:0 0 18px;color:#fff;text-wrap:balance}
.auth-art-copy h1 em{font-style:normal;color:#ffe4a4}
.auth-art-copy>p:not(.auth-overline){font-size:1rem;line-height:1.7;max-width:450px;margin:0;color:rgba(255,255,255,.94);font-weight:500}
.auth-art-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.auth-art-tags span{padding:8px 14px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(12px);font-size:.79rem;font-weight:700;box-shadow:0 7px 18px rgba(20,44,48,.08)}
.auth-art-spark{position:absolute;color:#fff3c7;font-size:2.6rem;text-shadow:0 3px 20px rgba(255,255,255,.4);animation:authSpark 5.5s ease-in-out infinite}.spark-one{top:12%;left:12%}.spark-two{top:21%;right:12%;animation-delay:-2.4s}
.auth-form-wrap{display:grid;place-items:center;padding:clamp(28px,4.5vw,72px);background:radial-gradient(circle at 100% 0%,rgba(249,194,111,.15),transparent 32%),linear-gradient(165deg,#fffdf8,#fff 65%,#eff8fb)}
.auth-form-card{width:100%;max-width:450px}.auth-form-card .kicker{font-size:.68rem;color:var(--brand-teal);font-weight:800;letter-spacing:.24em;margin-bottom:14px}
.auth-form-card h2{font-size:clamp(2.5rem,4.4vw,3.8rem);font-weight:800;letter-spacing:-.06em;line-height:1;margin-bottom:15px;color:#143f55}
.auth-period{color:#ed9650}.auth-form-lead{font-size:1rem;color:#64808f;line-height:1.75;margin:0 0 28px;max-width:410px}
.auth-form{display:grid;gap:17px}.auth-form .f{gap:8px;font-weight:700;color:#244b60}.auth-form .f input{height:54px;border:1px solid rgba(29,101,132,.22);border-radius:15px;background:rgba(255,255,255,.88);padding:0 16px;font:500 1rem Outfit,system-ui,sans-serif;box-shadow:0 4px 12px rgba(22,70,95,.025);transition:border-color .2s ease,box-shadow .2s ease}
.auth-form .f input:focus{outline:0;border-color:#2b7fb0;box-shadow:0 0 0 4px rgba(43,127,176,.12)}.auth-form .f input::placeholder{color:#9aafb8}
.auth-submit{display:flex;justify-content:space-between;align-items:center;margin:5px 0 0;width:100%;padding:16px 20px;border-radius:15px;font-weight:800;background:linear-gradient(120deg,#257aa7,#168a9a 70%,#5aa99a);box-shadow:0 7px 0 rgba(22,70,95,.13),0 14px 24px rgba(43,127,176,.18)}.auth-submit:hover{background:linear-gradient(120deg,#16465f,#1e7884);transform:translateY(-2px)}
.auth-signup-note{margin:24px 0 0;text-align:center;color:#607c8a;font-size:.93rem}.auth-signup-note a{font-weight:800;text-decoration-thickness:1.5px;text-underline-offset:3px}.auth-security-note{margin:30px 0 0;padding-top:18px;border-top:1px solid rgba(43,127,176,.14);font-size:.77rem;color:#8096a0;text-align:center}.auth-security-note span{color:#d58a43;margin-right:5px}
@keyframes authImageArrive{from{opacity:.6;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}
@keyframes authGlow{from{transform:translate3d(-9px,5px,0) scale(.94)}to{transform:translate3d(15px,-12px,0) scale(1.08)}}
@keyframes authRibbon{from{transform:translate3d(-1%,0,0) rotate(-16deg)}to{transform:translate3d(2%,-14px,0) rotate(-12deg)}}
@keyframes authRibbonTwo{from{transform:translate3d(2%,4px,0) rotate(17deg)}to{transform:translate3d(-2%,-11px,0) rotate(12deg)}}
@keyframes authSpark{0%,100%{transform:translateY(0) rotate(0);opacity:.65}50%{transform:translateY(-12px) rotate(18deg);opacity:1}}
@media(max-width:900px){.login-page{grid-template-columns:minmax(0,1fr) minmax(330px,.85fr);width:calc(100% - 24px);margin-top:18px}.auth-visual{min-height:610px}.auth-form-wrap{padding:28px}}
@media(max-width:700px){.login-page{grid-template-columns:minmax(0,1fr);min-height:0;border-radius:25px}.auth-visual{min-height:430px;align-items:flex-end}.auth-illustration{object-position:center 31%}.auth-art-copy{padding:27px}.auth-art-copy h1{font-size:clamp(2.7rem,12vw,4rem)}.auth-art-copy>p:not(.auth-overline){font-size:.9rem}.auth-form-wrap{padding:34px 22px 30px}.auth-form-card h2{font-size:2.8rem}}
@media(max-width:420px){.login-page{width:calc(100% - 16px);margin:8px auto 28px}.auth-visual{min-height:390px}.auth-art-copy{padding:22px}.auth-art-copy h1{font-size:2.6rem}.auth-art-tags span{font-size:.72rem;padding:6px 10px}.auth-form-wrap{padding:28px 18px}}
@media(prefers-reduced-motion:reduce){.auth-illustration,.auth-art-glow,.auth-art-ribbon,.auth-art-spark,#pricing .price-card-cta,.press-track{animation:none!important;transition:none!important}.auth-submit:hover,#pricing .price-card-cta:hover{transform:none!important}}

.press-logo-chip[data-outlet="the-daily-janakantha"] img,.press-logo-chip[data-outlet="ntv"] img{width:190px;height:54px;object-fit:cover;object-position:center 50%}.press-logo-chip[data-outlet="maasranga-television"] img,.press-logo-chip[data-outlet="maasranga-tv"] img{max-width:170px;max-height:60px;object-fit:contain}
.press-logo-chip[data-outlet="mirror"] img,.press-logo-chip[data-outlet="daily-mirror"] img,.press-logo-chip[data-outlet="the-daily-mirror"] img{width:180px;max-width:180px;max-height:55px;object-fit:contain}

.press-logo-chip[data-outlet="the-daily-janakantha"] .press-text-wordmark{font-family:Georgia,"Noto Serif Bengali",serif;color:#193d50;font-weight:850;letter-spacing:-.04em}.press-logo-chip[data-outlet="maasranga-television"] .press-text-wordmark{font-family:Outfit,system-ui,sans-serif;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#187f88}.press-logo-chip[data-outlet="news-today"] .press-text-wordmark{font-family:Georgia,serif;font-style:italic;color:#a23b35}

body[data-motion="no"] .press-track,body[data-motion-style="off"] .press-track{animation:none!important}body[data-motion="no"] .auth-illustration,body[data-motion="no"] .auth-art-glow,body[data-motion="no"] .auth-art-ribbon,body[data-motion="no"] .auth-art-spark{animation:none!important}

body[data-motion-style="off"] .auth-illustration,body[data-motion-style="off"] .auth-art-glow,body[data-motion-style="off"] .auth-art-ribbon,body[data-motion-style="off"] .auth-art-spark{animation:none!important}

.press-logo-chip[data-outlet="the-daily-janakantha"] img,.press-logo-chip[data-outlet="daily-janakantha"] img{width:200px;height:52px;object-fit:cover;object-position:center 50%;mix-blend-mode:multiply}.press-logo-chip[data-outlet="maasranga-television"] img,.press-logo-chip[data-outlet="maasranga-tv"] img{max-width:172px;max-height:56px;object-fit:contain;mix-blend-mode:multiply}


/* v16 polish: stronger package rhythm, centered routine controls, and distinct footer socials */
.pricing-band{padding-top:clamp(52px,7vw,92px);padding-bottom:clamp(64px,8vw,110px)}
.pricing-intro{max-width:900px;margin-inline:auto;margin-bottom:clamp(34px,5vw,64px)}
.pricing-intro h2{font-size:clamp(2.35rem,4.4vw,4.2rem);line-height:1.02;letter-spacing:-.045em;font-weight:800;max-width:900px;margin:12px auto 18px}
.branch-pricing-group{margin:0 auto clamp(58px,7vw,92px);max-width:1280px;padding:clamp(24px,3.4vw,42px);border:1px solid rgba(43,127,176,.18);border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(237,248,252,.92));box-shadow:0 22px 60px rgba(20,71,97,.075)}
.branch-pricing-group:last-of-type{margin-bottom:38px}
.branch-pricing-header{display:flex;align-items:center;gap:20px;margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid rgba(43,127,176,.18)}
.branch-pricing-title h3{font-size:clamp(1.7rem,2.7vw,2.4rem);font-weight:800;letter-spacing:-.035em;margin:2px 0 6px}
.branch-pricing-number{display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;border-radius:18px;background:linear-gradient(145deg,#2b7fb0,#70c7d0);color:#fff;font-size:1.2rem;font-weight:800;box-shadow:0 8px 18px rgba(43,127,176,.22)}
.branch-pricing-label{margin-left:auto;padding:10px 15px;border-radius:999px;background:#e4f5ef;color:#236d61;font-size:.82rem;font-weight:700;white-space:normal;text-align:center}
.pricing-cards{gap:20px}
.price-card{border:1px solid rgba(43,127,176,.15);box-shadow:0 14px 34px rgba(22,70,95,.07);padding:clamp(22px,2.5vw,32px);transition:transform .24s ease,box-shadow .24s ease}
.price-card:hover{transform:translateY(-6px);box-shadow:0 22px 42px rgba(22,70,95,.14)}
.price-card h3{font-size:1.55rem;font-weight:800;letter-spacing:-.025em}
.price-list p{padding:9px 0;border-bottom:1px solid rgba(43,127,176,.09);font-size:.98rem}
.price-list b{font-weight:800;color:var(--deep)}
.routine-locations-centered{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;width:100%;margin:24px auto 0;text-align:center}
.routine-hero{text-align:center}
.routine-hero>.lead{max-width:760px;margin-inline:auto}
.routine-locations-centered .btn{min-width:140px;justify-content:center}
.footer-socials .social-icon{width:44px;height:44px;border:0;color:#fff;box-shadow:0 7px 14px rgba(17,54,75,.18);transform:translateY(0);transition:transform .22s ease,filter .22s ease,box-shadow .22s ease}
.footer-socials .social-icon svg{width:21px;height:21px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.12))}
.footer-socials .social-icon.fb{background:linear-gradient(145deg,#5b8df5,#1747ad)}
.footer-socials .social-icon.yt{background:linear-gradient(145deg,#ff6262,#c80019)}
.footer-socials .social-icon.ig{background:linear-gradient(135deg,#ffb34d,#e1306c 52%,#6948c7)}
.footer-socials .social-icon.li{background:linear-gradient(145deg,#56b8e8,#075b91)}
.footer-socials .social-icon:hover{transform:translateY(-4px) rotate(-4deg) scale(1.05);filter:saturate(1.18);box-shadow:0 12px 22px rgba(17,54,75,.24)}
.wa{display:inline-flex;align-items:center;gap:10px;padding:13px 20px;font-weight:750;box-shadow:0 12px 28px rgba(14,92,60,.28);transition:transform .2s ease,box-shadow .2s ease}
.wa svg{width:22px;height:22px;flex:0 0 22px}
.wa:hover{transform:translateY(-3px);box-shadow:0 17px 34px rgba(14,92,60,.34)}
.press-logo-chip img{width:auto!important;height:auto!important;max-width:190px!important;max-height:54px!important;object-fit:contain!important;mix-blend-mode:normal!important;background:transparent!important}
.press-logo-chip[data-outlet="the-daily-ittefaq"] img,.press-logo-chip[data-outlet="daily-ittefaq"] img,.press-logo-chip[data-outlet="the-daily-janakantha"] img,.press-logo-chip[data-outlet="daily-janakantha"] img,.press-logo-chip[data-outlet="ntv"] img{object-fit:contain!important}
.routine-admin .routine-form{gap:14px}
.routine-admin .routine-form .f,.routine-admin .routine-form label.f{padding:12px 14px;background:#f8fbfd;border:1px solid #e1edf3;border-radius:14px}
.routine-admin .routine-form .f small{display:block;margin-top:5px;line-height:1.4}
@media(max-width:760px){.branch-pricing-group{padding:18px;border-radius:22px;margin-bottom:44px}.branch-pricing-header{align-items:flex-start;gap:12px;flex-wrap:wrap}.branch-pricing-label{margin-left:0}.branch-pricing-number{width:44px;height:44px;flex-basis:44px;border-radius:14px}.pricing-cards{grid-template-columns:1fr}.routine-locations-centered .btn{min-width:calc(50% - 8px);flex:1}.footer-socials .social-icon{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.price-card,.footer-socials .social-icon,.wa{transition:none!important}.price-card:hover,.footer-socials .social-icon:hover,.wa:hover{transform:none!important}}
/* Keep the routine builder approachable: only essential fields are open by default. */
.routine-advanced{grid-column:1/-1;border:1px solid #dceaf1;border-radius:16px;background:#f7fbfd;padding:14px 16px}
.routine-advanced>summary{cursor:pointer;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-weight:800;color:var(--deep);list-style:none}
.routine-advanced>summary::-webkit-details-marker{display:none}
.routine-advanced>summary:after{content:'+';margin-left:auto;font-size:1.25rem;color:var(--blue)}
.routine-advanced[open]>summary:after{content:'−'}
.routine-advanced>summary span{font-size:.82rem;font-weight:500;color:var(--muted)}
.routine-advanced-grid{margin-top:14px}
@media(max-width:760px){.routine-advanced-grid{grid-template-columns:1fr}}
/* Give the second studio its own visual breathing room below the first studio's cards. */
#pricing .branch-pricing-group + .branch-pricing-group{margin-top:clamp(76px,10vw,138px)}
#pricing .branch-pricing-header{margin-bottom:30px;padding-bottom:24px}
#pricing .branch-pricing-label{padding:11px 16px;border-radius:999px;background:linear-gradient(135deg,#e3f6ef,#e7f2fb);color:#246a68;font-weight:750}
#pricing .price-card{box-shadow:0 8px 0 rgba(22,70,95,.025),0 20px 40px rgba(22,70,95,.085)}
@media(max-width:580px){#pricing .branch-pricing-group + .branch-pricing-group{margin-top:56px}#pricing .branch-pricing-header{margin-bottom:20px;padding-bottom:18px}}


/* v17: quicker media crawl, more editorial framing, with a unique local Mohona mark. */
.press-track{animation-duration:34s}
@media(max-width:760px){.press-track{animation-duration:28s}}
.press-logo-chip[data-outlet="mohona-tv-bd"],.press-logo-chip[data-outlet="mohona-television"],.press-logo-chip[data-outlet="mohona-tv"]{min-width:168px}
.mohona-wordmark{display:flex;align-items:center;gap:9px;max-width:190px;text-align:left;color:#153e57;line-height:1}
.mohona-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px 5px 13px 5px;background:linear-gradient(145deg,#ffab48,#e65b0c);color:white;font-family:serif;font-weight:900;font-size:24px;box-shadow:0 6px 13px rgba(190,89,20,.22);transform:rotate(-4deg)}
.mohona-name{display:grid;gap:5px;font-family:Outfit,system-ui,sans-serif;letter-spacing:.02em}.mohona-name b{font-size:17px;font-weight:900;letter-spacing:.03em}.mohona-name strong{font-size:14px;font-weight:800;color:#e46a17;letter-spacing:.12em}.mohona-name small{font-size:9px;background:#173f56;color:#fff;padding:2px 5px;border-radius:4px;vertical-align:2px;letter-spacing:.08em}
.press-proof-heading .kicker{color:#218b91}.press-proof-heading h2{text-wrap:balance}

/* Teacher profile: generous photo, readable biography, and restrained depth. */
.teacher-story-section{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(235,247,250,.5),rgba(255,255,255,0) 72%)}
.teacher-story-heading{max-width:800px;margin:0 auto 36px}.teacher-story-heading .lead{margin-inline:auto;max-width:650px}
.teacher-story-list{display:grid;gap:24px;max-width:1100px;margin:0 auto}
.teacher-story-card{display:grid;grid-template-columns:minmax(300px,.83fr) minmax(0,1.17fr);border:1px solid rgba(43,127,176,.14);border-radius:32px;overflow:hidden;background:rgba(255,255,255,.86);box-shadow:0 24px 60px rgba(22,70,95,.08)}
.teacher-story-photo-wrap{position:relative;min-height:430px;overflow:hidden;background:radial-gradient(circle at 40% 20%,#fff2d8,#d8eef0 52%,#aecedb)}
.teacher-story-photo{display:block;width:100%;height:100%;min-height:430px;object-fit:cover;object-position:center 28%;mix-blend-mode:normal}
.teacher-photo-caption{position:absolute;left:18px;right:18px;bottom:18px;display:flex;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 36px);padding:10px 14px;border:1px solid rgba(255,255,255,.6);border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);color:#16465f;font-size:.76rem;font-weight:750;box-shadow:0 8px 24px rgba(22,70,95,.12)}
.teacher-photo-caption span{color:#dc9960}
.teacher-story-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(27px,4vw,54px)}.teacher-story-copy>.kicker{margin:0 0 10px;color:#388f91;font-size:.7rem}
.teacher-story-copy h3{margin:0;color:var(--deep);font-size:clamp(2.2rem,4vw,3.7rem);line-height:1;letter-spacing:-.055em}.teacher-story-copy .role{margin:13px 0 22px;color:var(--blue);font-size:.96rem;font-weight:700}
.teacher-story-bio{font-size:1.04rem;line-height:1.82;color:#355869;font-weight:600}.teacher-story-approach{color:var(--muted,#607c8a);line-height:1.85}
.teacher-story-tags{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 22px}.teacher-story-tags span{padding:7px 11px;border-radius:999px;background:linear-gradient(135deg,#e2f5f0,#eaf3fa);color:#286c73;font-size:.75rem;font-weight:750;border:1px solid rgba(43,127,176,.1)}
.teacher-story-copy .text-link{font-weight:800;text-underline-offset:4px}

.hero-text,.hero2>div:last-child{position:relative;z-index:1}


/* Six pose scenes share a lightweight illustrated yoga scene and animate without remote JS. */
.auth-visual{background:linear-gradient(145deg,#f1b66c 0%,#82c9c1 52%,#3983a3 100%)}
.auth-visual::before{background:linear-gradient(180deg,rgba(20,73,86,.01),rgba(18,61,77,.03) 40%,rgba(11,49,67,.78) 100%)}
.auth-animation{position:absolute;inset:0;z-index:-2;overflow:hidden;background:radial-gradient(circle at 52% 28%,rgba(255,244,218,.7),transparent 44%),linear-gradient(155deg,#f3c083 0%,#9bd8ce 43%,#3c89a6 100%)}
.auth-yoga-upload-animation{position:absolute;left:50%;top:3%;width:min(92%,560px);height:auto;max-height:76%;aspect-ratio:1/1;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 18px 28px rgba(17,59,77,.17));user-select:none;-webkit-user-drag:none}
.auth-animation::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,61,73,0) 22%,rgba(9,40,56,.08) 52%,rgba(9,41,58,.35));pointer-events:none}
.auth-pose-label{position:absolute;right:24px;top:24px;max-width:230px;padding:10px 15px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:rgba(255,255,255,.18);color:#fff;font-weight:750;font-size:.75rem;letter-spacing:.02em;box-shadow:0 8px 22px rgba(17,59,77,.08);backdrop-filter:blur(12px);text-shadow:0 2px 8px rgba(9,41,58,.18)}
@keyframes yogaAuraBreathe{from{transform:scale(.9);opacity:.55}to{transform:scale(1.08);opacity:1}}
@keyframes yogaOrbitRotate{to{transform:rotate(360deg)}}
@keyframes yogaDots{from{transform:translateY(6px);opacity:.45}to{transform:translateY(-12px);opacity:1}}
@keyframes yogaMatBreath{from{transform:translateY(0) scaleX(1)}to{transform:translateY(5px) scaleX(.96)}}
@keyframes yogaFigureFloat{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-10px) rotate(.6deg)}}

/* On-brand fallback/error screens: typographic, single-column, no decorative illustration. */
.error-world{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:calc(100svh - 170px);max-width:1320px;margin:0 auto;padding:clamp(32px,6vw,82px);overflow:hidden;background:radial-gradient(circle at 10% 8%,rgba(125,184,166,.16),transparent 38%),linear-gradient(130deg,#f5fbfd,#fffdf8 60%,#f9efe4)}
.error-sky-glow{position:absolute;z-index:-1;border-radius:50%;filter:blur(2px);pointer-events:none}.error-sky-glow-one{left:-180px;top:18%;width:400px;height:400px;background:radial-gradient(circle,rgba(43,127,176,.14),transparent 70%)}.error-sky-glow-two{right:-110px;bottom:-140px;width:440px;height:440px;background:radial-gradient(circle,rgba(240,180,138,.23),transparent 68%)}
.error-copy{position:relative;z-index:2;max-width:820px;width:100%;margin:0 auto}.error-copy>.kicker{color:#388f91;font-size:.74rem}.error-code{font-size:clamp(5rem,11vw,9.5rem);font-weight:850;line-height:.86;letter-spacing:-.09em;color:var(--deep);text-shadow:0 12px 32px rgba(22,70,95,.11)}
.error-copy h1{font-size:clamp(2.2rem,4.2vw,4.35rem);line-height:1.02;letter-spacing:-.06em;color:var(--deep);margin:20px 0 14px;text-wrap:balance}.error-copy>p{max-width:620px;color:#607b89;line-height:1.8}.error-note{padding-left:14px;border-left:3px solid var(--sage);font-size:.92rem}.error-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:26px}.error-footnote{margin-top:25px;font-size:.76rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:#7e9aa5}.error-footnote span{color:#df9b66;margin-right:5px}
@media(max-width:900px){.teacher-story-card{grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr)}.teacher-story-photo-wrap,.teacher-story-photo{min-height:380px}.error-world{min-height:calc(100svh - 150px);padding:clamp(30px,6vw,60px)}.error-copy{max-width:720px}}
@media(max-width:700px){.teacher-story-card{grid-template-columns:1fr;border-radius:24px}.teacher-story-photo-wrap,.teacher-story-photo{min-height:330px;max-height:440px}.teacher-story-photo{object-position:center 30%}.teacher-story-copy{padding:27px 23px 31px}.teacher-story-heading{margin-bottom:26px}.error-world{min-height:0;padding:42px 20px}.error-code{font-size:6rem}.error-actions{display:grid}.error-actions .btn{justify-content:center}.auth-pose-label{top:14px;right:14px;font-size:.68rem;max-width:200px}.teacher-story-tags{gap:6px}}
@media(prefers-reduced-motion:reduce){.hero-flow-art,.yoga-aura,.yoga-orbit-lines,.yoga-floating-dots{animation:none!important;transition:none!important}}

/* Editorial 3D depth inspired by the submitted web-design moodboard. */
.practice-intro .pillars article{position:relative;isolation:isolate;overflow:hidden;min-height:238px;padding:clamp(26px,3.2vw,40px);border-radius:28px;border-color:rgba(43,127,176,.14);background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(232,246,250,.92) 62%,rgba(250,239,228,.9));box-shadow:0 8px 0 rgba(22,70,95,.035),0 24px 44px rgba(22,70,95,.07);transform:perspective(1000px) rotateX(var(--card-tilt-x,0deg)) rotateY(var(--card-tilt-y,0deg));transform-style:preserve-3d;transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease,border-color .32s ease}
.practice-intro .pillars article:nth-child(2){background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(229,246,239,.92) 62%,rgba(234,240,252,.9))}.practice-intro .pillars article:nth-child(3){background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(250,239,228,.92) 62%,rgba(238,232,249,.9))}
.practice-intro .pillars article::before{content:"";position:absolute;z-index:0;right:-10px;top:18px;width:110px;height:64px;border:17px solid rgba(43,127,176,.16);border-left-color:rgba(43,127,176,.38);border-radius:50%;transform:rotate(-28deg) rotateX(58deg);filter:drop-shadow(0 12px 8px rgba(22,70,95,.07));transition:transform .45s ease,border-color .4s ease}
.practice-intro .pillars article:nth-child(2)::before{border-color:rgba(57,151,135,.17);border-top-color:rgba(57,151,135,.48);transform:rotate(32deg) rotateX(58deg)}.practice-intro .pillars article:nth-child(3)::before{border-color:rgba(226,142,102,.17);border-right-color:rgba(226,142,102,.5);transform:rotate(-52deg) rotateX(58deg)}
.practice-intro .pillars article::after{content:"";position:absolute;inset:-2px;z-index:0;pointer-events:none;background:linear-gradient(112deg,transparent 30%,rgba(255,255,255,.52) 47%,transparent 61%);transform:translateX(-125%);transition:transform .75s cubic-bezier(.2,.7,.2,1)}
.practice-intro .pillars article>*{position:relative;z-index:1}.practice-intro .pillars article:hover,.practice-intro .pillars article:focus-within{transform:perspective(1000px) rotateX(var(--card-tilt-x,0deg)) rotateY(var(--card-tilt-y,0deg)) translateY(-7px);box-shadow:0 5px 0 rgba(22,70,95,.05),0 28px 52px rgba(22,70,95,.13);border-color:rgba(43,127,176,.35)}
.practice-intro .pillars article:hover::before{transform:rotate(-17deg) rotateX(48deg) scale(1.1);border-color:rgba(43,127,176,.36)}.practice-intro .pillars article:hover::after{transform:translateX(125%)}
.seminar-card{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(230,244,250,.88));border:1px solid rgba(43,127,176,.13);box-shadow:0 12px 32px rgba(22,70,95,.055);transform:perspective(1000px) rotateX(var(--card-tilt-x,0deg)) rotateY(var(--card-tilt-y,0deg));transform-style:preserve-3d;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.seminar-card:nth-child(3n+2){background:linear-gradient(145deg,#fff,rgba(229,246,239,.9))}.seminar-card:nth-child(3n){background:linear-gradient(145deg,#fff,rgba(250,239,228,.92))}.seminar-card:hover{transform:perspective(1000px) rotateX(var(--card-tilt-x,0deg)) rotateY(var(--card-tilt-y,0deg)) translateY(-6px);box-shadow:0 25px 48px rgba(22,70,95,.12);border-color:rgba(43,127,176,.32)}
#pricing .branch-pricing-group{transition:transform .35s ease,box-shadow .35s ease}#pricing .branch-pricing-group:hover{transform:translateY(-3px);box-shadow:0 29px 72px rgba(22,70,95,.1)}#pricing .price-card{transform:perspective(1000px) rotateX(var(--card-tilt-x,0deg)) rotateY(var(--card-tilt-y,0deg));transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
#pricing .price-card:hover{transform:perspective(1000px) rotateX(var(--card-tilt-x,0deg)) rotateY(var(--card-tilt-y,0deg)) translateY(-6px);box-shadow:0 25px 48px rgba(22,70,95,.12)}
.teacher-story-card{transition:transform .36s ease,box-shadow .36s ease}.teacher-story-card:hover{transform:translateY(-4px);box-shadow:0 30px 75px rgba(22,70,95,.12)}.teacher-story-photo{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.teacher-story-card:hover .teacher-story-photo{transform:scale(1.035)}
.press-track{animation-duration:29s}.press-logo-chip{min-width:160px;border-color:rgba(22,70,95,.09);box-shadow:0 14px 28px rgba(22,70,95,.065)}.press-logo-chip:hover{transform:translateY(-4px) rotateX(3deg)}
@media(max-width:760px){.press-track{animation-duration:38s}.practice-intro .pillars article{min-height:205px}}

@media(prefers-reduced-motion:reduce){.practice-intro .pillars article,.practice-intro .pillars article::before,.practice-intro .pillars article::after,.seminar-card,#pricing .price-card,.teacher-story-card,.teacher-story-photo,#pricing .branch-pricing-group{transition:none!important;transform:none!important;animation:none!important}.practice-intro .pillars article::after{display:none}}
body[data-motion="no"] .practice-intro .pillars article,body[data-motion="no"] .seminar-card,body[data-motion="no"] #pricing .price-card,body[data-motion="no"] .teacher-story-card{transition:none!important;transform:none!important}
body[data-motion-style="off"] .practice-intro .pillars article,body[data-motion-style="off"] .seminar-card,body[data-motion-style="off"] #pricing .price-card,body[data-motion-style="off"] .teacher-story-card{transition:none!important;transform:none!important}

/* v17: a true side-tab for desktop; a compact accessible floating CTA on phones. */
@media(min-width:761px){.wa{right:14px;top:43%;bottom:auto;flex-direction:column;gap:10px;width:56px;min-height:148px;padding:14px 9px;border-radius:24px;justify-content:center}.wa span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.72rem;letter-spacing:.04em}.wa svg{width:24px;height:24px;flex-basis:24px}}
@media(max-width:760px){.wa{right:12px;bottom:16px;top:auto;max-width:calc(100vw - 24px);padding:12px 16px;border-radius:999px;flex-direction:row;gap:9px}.wa span{writing-mode:horizontal-tb;transform:none;font-size:.84rem}}


/* v17.5: performance-aware 3D surfaces inspired by the 99designs 3D gallery.
   Original motion artwork for this brand; CSS transforms only, no WebGL runtime. */
.flow-ridge{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none;transform-box:fill-box;transform-origin:center}
.flow-ridge-a{stroke:rgba(255,255,255,.66);stroke-width:2.4;opacity:.44;animation:ribbonRidgeDrift 31s ease-in-out infinite alternate}
.flow-ridge-b{stroke:rgba(18,83,107,.18);stroke-width:4.8;opacity:.45;animation:ribbonRidgeDrift 37s ease-in-out infinite alternate-reverse}
@keyframes ribbonRidgeDrift{from{stroke-dasharray:1 2;stroke-dashoffset:0;transform:translateY(-2px)}to{stroke-dasharray:3 2;stroke-dashoffset:-18;transform:translateY(3px)}}

/* Cursor lighting is deliberately limited to hover-capable devices. */
.hero-route-picks>a,.cards .card,.steps li,.classlist a,.team article{--card-tilt-x:0deg;--card-tilt-y:0deg;--light-x:50%;--light-y:50%;transform:perspective(1050px) rotateX(var(--card-tilt-x)) rotateY(var(--card-tilt-y));transform-style:preserve-3d;transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease,border-color .32s ease,background-color .32s ease}
.hero-route-picks>a{isolation:isolate;overflow:hidden}
.hero-route-picks>a::after,.cards .card::after,.steps li::after,.classlist a::after,.team article::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--light-x) var(--light-y),rgba(255,255,255,.78),rgba(255,255,255,.14) 27%,transparent 58%);transition:opacity .24s ease}
.hero-route-picks>a>*,.cards .card>*,.steps li>*,.classlist a>*,.team article>*{position:relative;z-index:1}
.cards .card,.steps li,.team article{position:relative;isolation:isolate;overflow:hidden}
.classlist a{position:relative;isolation:isolate;overflow:hidden}
.hero-route-picks>a:hover,.hero-route-picks>a:focus-visible{transform:perspective(1050px) rotateX(var(--card-tilt-x)) rotateY(var(--card-tilt-y)) translateY(-5px);box-shadow:0 18px 36px rgba(22,70,95,.13)}
.cards .card:hover,.cards .card:focus-within,.steps li:hover,.classlist a:hover,.team article:hover,.team article:focus-within{box-shadow:0 23px 46px rgba(22,70,95,.12);border-color:rgba(43,127,176,.32)}
.cards .card:hover,.cards .card:focus-within,.steps li:hover,.team article:hover,.team article:focus-within{transform:perspective(1050px) rotateX(var(--card-tilt-x)) rotateY(var(--card-tilt-y)) translateY(-5px)}
.classlist a:hover{transform:perspective(1050px) rotateX(var(--card-tilt-x)) rotateY(var(--card-tilt-y)) translateY(-2px)}
.hero-route-picks>a:hover::after,.hero-route-picks>a:focus-visible::after,.cards .card:hover::after,.cards .card:focus-within::after,.steps li:hover::after,.classlist a:hover::after,.team article:hover::after,.team article:focus-within::after{opacity:.82}
.hero-route-picks .route-pick-copy,.hero-route-picks .route-pick-number,.hero-route-picks .route-pick-arrow{transform:translateZ(12px)}
@media(hover:none){.hero-route-picks>a,.cards .card,.steps li,.classlist a,.team article{transform:none!important}.hero-route-picks>a::after,.cards .card::after,.steps li::after,.classlist a::after,.team article::after{display:none}}
@media(prefers-reduced-motion:reduce){.flow-ridge,.hero-route-picks>a,.cards .card,.steps li,.classlist a,.team article{animation:none!important;transition:none!important;transform:none!important}.hero-route-picks>a::after,.cards .card::after,.steps li::after,.classlist a::after,.team article::after{display:none!important}}
body[data-motion="no"] .flow-ridge,body[data-motion="no"] .hero-route-picks>a,body[data-motion="no"] .cards .card,body[data-motion="no"] .steps li,body[data-motion="no"] .classlist a,body[data-motion="no"] .team article{animation:none!important;transition:none!important;transform:none!important}
body[data-motion-style="off"] .flow-ridge,body[data-motion-style="minimal"] .flow-ridge{animation:none!important}
body[data-motion-style="off"] .hero-route-picks>a,body[data-motion-style="off"] .cards .card,body[data-motion-style="off"] .steps li,body[data-motion-style="off"] .classlist a,body[data-motion-style="off"] .team article{animation:none!important;transition:none!important;transform:none!important}
body[data-motion-style="off"] .hero-route-picks>a::after,body[data-motion-style="off"] .cards .card::after,body[data-motion-style="off"] .steps li::after,body[data-motion-style="off"] .classlist a::after,body[data-motion-style="off"] .team article::after{display:none!important}

/* v17.6: simple recurring studio batch picker and live seat availability */
.studio-batch-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0}
.studio-batch-card{border:1px solid var(--line);border-radius:16px;background:var(--surface,#fff);padding:15px;min-width:0}
.studio-batch-card[hidden]{display:none!important}
.studio-batch-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:.88rem;color:var(--deep)}
.studio-batch-card h3{font-size:1rem;margin:12px 0 8px}
.studio-batch-card p{margin:5px 0;font-size:.9rem}
.batch-spots,.batch-full{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:750;background:#e7f6ee;color:#176442;white-space:nowrap}
.batch-full{background:#fff0ec;color:#a23c2d}
.routine-batch-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.studio-checkout-batch{margin:0;padding:18px;border:1px solid var(--line);border-radius:16px}
.studio-batch-summary{margin-top:8px;padding:10px 12px;border-radius:10px;background:var(--bg1,#f3f8fa);font-size:.86rem;color:var(--deep)}
[data-studio-batch-field][hidden],[data-checkout-studio-batch-field][hidden]{display:none!important}
#pkg button[type=submit]:disabled{opacity:.52;cursor:not-allowed}

/* v17.6 admin improvements */
.studio-count-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:10px;margin:18px 0 4px}
.studio-count-item{display:flex;flex-direction:column;gap:8px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--card,#fff)}
.studio-count-item b{font-size:.9rem;color:var(--deep)}.studio-count-item span{font-size:.82rem;color:var(--soft)}
.studio-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.studio-edit-form{min-width:min(520px,78vw);padding:12px 0}
.admin-quick-actions .row{gap:8px;flex-wrap:wrap}
.backup-note{border:1px solid var(--line);border-radius:14px;padding:15px;margin-top:15px;background:var(--bg1,#f3f8fa)}
.backup-note p{margin:.4em 0 0}
@media(max-width:600px){.studio-edit-form{min-width:0}.studio-count-grid{grid-template-columns:1fr 1fr}}

/* v17.7 — a guided, filterable class-finder with soft 3D depth */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.routine-hero-3d{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(270px,.78fr);align-items:center;gap:24px;max-width:1240px;margin:32px auto 22px;padding:52px 50px 0;text-align:left;border:1px solid rgba(43,127,176,.17);border-radius:32px;overflow:hidden;background:radial-gradient(ellipse at 80% 10%,rgba(255,255,255,.95),transparent 32%),linear-gradient(125deg,#f7fcff 0%,#e7f4f9 46%,#f9f1e9 100%);box-shadow:0 24px 55px rgba(22,70,95,.075)}
.routine-hero-3d::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.45;background-image:radial-gradient(rgba(43,127,176,.19) .8px,transparent .8px);background-size:18px 18px;mask-image:linear-gradient(100deg,transparent 0%,#000 88%)}
.routine-hero-copy{position:relative;z-index:2;padding-bottom:34px}.routine-hero-3d .kicker{color:var(--blue);font-size:.7rem;letter-spacing:.19em;margin:0 0 16px}.routine-hero-3d h1{max-width:720px;margin:0;color:var(--deep);font-size:clamp(2.65rem,5.25vw,5rem);line-height:.98;letter-spacing:-.065em;font-weight:800;text-wrap:balance}.routine-hero-3d h1 span{display:block;color:var(--blue);text-shadow:0 5px 22px rgba(43,127,176,.12)}.routine-hero-3d .lead{max-width:650px;margin:20px 0 0;color:#4f6e7e;font-size:1rem;line-height:1.75}.routine-hero-benefits{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.routine-hero-benefits span{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(43,127,176,.14);border-radius:999px;background:rgba(255,255,255,.66);color:var(--soft);font-size:.78rem;box-shadow:0 6px 17px rgba(22,70,95,.035)}.routine-hero-benefits b{color:var(--deep);font-weight:850}
.routine-hero-art{position:relative;z-index:1;min-height:310px;display:grid;place-items:center;perspective:900px;isolation:isolate}.routine-art-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(43,127,176,.2);border-radius:50%;transform:translate(-50%,-50%) rotateX(62deg) rotateZ(-22deg);box-shadow:0 16px 36px rgba(22,70,95,.045)}.routine-art-orbit-one{width:315px;height:245px}.routine-art-orbit-two{width:250px;height:315px;transform:translate(-50%,-50%) rotateX(66deg) rotateZ(30deg);border-color:rgba(125,184,166,.4)}.routine-hero-glow{position:absolute;z-index:-1;border-radius:50%;filter:blur(1px);pointer-events:none}.routine-hero-glow-a{width:280px;height:280px;right:8%;top:-135px;background:rgba(255,255,255,.72)}.routine-hero-glow-b{width:240px;height:240px;right:18%;bottom:40px;background:rgba(125,184,166,.15)}.routine-art-disc{position:relative;width:218px;height:218px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.9);border-radius:48% 52% 51% 49%/50% 46% 54% 50%;background:linear-gradient(145deg,#fff 0%,#e2f2f7 37%,#c1e2e9 100%);box-shadow:inset -13px -16px 30px rgba(22,70,95,.08),inset 10px 10px 24px rgba(255,255,255,.9),0 26px 38px rgba(22,70,95,.16);transform:rotateX(8deg) rotateY(-10deg) rotateZ(-5deg);transition:transform .45s cubic-bezier(.2,.7,.2,1)}.routine-hero-art:hover .routine-art-disc{transform:rotateX(0) rotateY(0) rotateZ(0) translateY(-5px)}.routine-art-disc::before{content:"";position:absolute;inset:12px;border:1px solid rgba(43,127,176,.18);border-radius:inherit}.routine-art-disc span{color:var(--blue);font-size:.72rem;font-weight:900;letter-spacing:.36em;margin-left:.36em}.routine-art-disc b{color:var(--deep);font-size:1.7rem;line-height:1.02;letter-spacing:-.06em;text-align:center;margin:7px 0 12px}.routine-art-disc small{font-size:.55rem;font-weight:800;letter-spacing:.2em;color:#6d9dac}.routine-art-chip{position:absolute;z-index:3;padding:9px 13px;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(255,255,255,.82);box-shadow:0 11px 24px rgba(22,70,95,.11);color:var(--deep);font-size:.65rem;letter-spacing:.08em;font-weight:850;backdrop-filter:blur(8px)}.routine-art-chip-top{right:2%;top:26px;transform:rotate(7deg)}.routine-art-chip-bottom{left:0;bottom:37px;transform:rotate(-7deg)}
.routine-branch-bar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 -50px;padding:18px 36px 18px 42px;border-top:1px solid rgba(43,127,176,.13);background:rgba(255,255,255,.6);backdrop-filter:blur(12px)}.routine-branch-bar>div{display:flex;flex-direction:column;gap:3px}.routine-branch-label{font-size:.7rem;letter-spacing:.12em;font-weight:900;color:var(--deep)}.routine-branch-bar small{font-size:.77rem;color:var(--soft)}.routine-branch-switch{display:flex;width:auto;justify-content:flex-start;text-align:left;margin:0;gap:5px;flex-wrap:wrap;padding:5px;border-radius:18px;background:rgba(224,239,245,.78);border:1px solid rgba(43,127,176,.09)}.routine-branch-switch a{display:inline-flex;align-items:center;gap:10px;padding:10px 13px;border-radius:13px;color:#52707f;text-decoration:none;font-size:.81rem;font-weight:800;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.routine-branch-switch a span{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:50%;background:rgba(255,255,255,.7);font-size:.68rem}.routine-branch-switch a:hover{transform:translateY(-2px);background:rgba(255,255,255,.7)}.routine-branch-switch a.is-active{color:#fff;background:linear-gradient(135deg,var(--blue),var(--deep));box-shadow:0 8px 17px rgba(22,70,95,.2)}.routine-branch-switch a.is-active span{color:var(--deep);background:#fff}
.routine-explorer,.routine-published-panel,.routine-online-panel{max-width:1240px;overflow:visible}.routine-explorer{padding:clamp(20px,3.4vw,42px);border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(251,254,255,.94));box-shadow:0 22px 50px rgba(22,70,95,.065)}.routine-explorer-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:24px}.routine-explorer-heading>div:first-child{max-width:730px}.routine-explorer-heading .kicker{font-size:.68rem;color:var(--blue);letter-spacing:.18em;margin:0 0 9px}.routine-explorer-heading h2{margin:0;color:var(--deep);font-size:clamp(1.9rem,4vw,3.05rem);font-weight:850;letter-spacing:-.055em;line-height:1.05}.routine-heading-copy{margin:12px 0 0;max-width:680px;color:var(--soft);font-size:.95rem;line-height:1.7}.routine-count-orbit{flex:0 0 108px;width:108px;height:108px;border:1px solid rgba(43,127,176,.16);border-radius:35% 65% 57% 43%/46% 44% 56% 54%;background:linear-gradient(145deg,#f5fbfd,#dceef5);box-shadow:inset 0 1px 0 white,0 12px 24px rgba(22,70,95,.09);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(5deg)}.routine-count-orbit strong{font-size:2rem;color:var(--deep);font-weight:900;line-height:1}.routine-count-orbit span{margin-top:7px;font-size:.65rem;color:var(--soft);font-weight:800;text-align:center}
.routine-howto{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:center;padding:17px 20px;margin:0 0 28px;border:1px solid rgba(43,127,176,.12);border-radius:20px;background:linear-gradient(100deg,#f0f8fb,#fff,#fbf5ee)}.routine-howto>div{display:flex;align-items:center;gap:11px;min-width:0}.routine-howto>div>span{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#fff,#dceef4);color:var(--blue);font-size:.8rem;font-weight:900;box-shadow:0 4px 10px rgba(22,70,95,.06)}.routine-howto p{min-width:0;margin:0;display:flex;flex-direction:column;gap:3px}.routine-howto b{color:var(--deep);font-size:.82rem}.routine-howto small{color:var(--soft);font-size:.7rem;line-height:1.4}.routine-howto>i{font-style:normal;color:#8db0bd;font-size:1.25rem}
.routine-finder{position:relative;padding:23px;border:1px solid rgba(43,127,176,.16);border-radius:23px;background:radial-gradient(circle at 100% 0%,rgba(219,240,246,.65),transparent 38%),linear-gradient(145deg,#fbfeff,#f4f9fb);box-shadow:inset 0 1px 0 white,0 12px 30px rgba(22,70,95,.045)}.routine-finder-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.routine-filter-eyebrow{display:block;color:var(--blue);font-size:.64rem;font-weight:900;letter-spacing:.17em}.routine-finder-top h3{margin:4px 0 0;color:var(--deep);font-size:1.34rem;letter-spacing:-.035em;font-weight:850}.routine-reset{border:1px solid rgba(43,127,176,.2);border-radius:999px;padding:8px 12px;background:#fff;color:var(--blue);font:inherit;font-size:.77rem;font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.routine-reset:hover{transform:translateY(-2px);box-shadow:0 8px 15px rgba(22,70,95,.1)}.routine-search-field{display:flex;align-items:center;gap:10px;min-height:49px;padding:0 14px;margin-bottom:15px;border:1px solid #d4e5ed;border-radius:15px;background:#fff;box-shadow:0 4px 10px rgba(22,70,95,.025)}.routine-search-field>span:first-child{font-size:1.6rem;color:var(--blue);line-height:1}.routine-search-field input{width:100%;min-width:0;border:0;outline:0;box-shadow:none;background:transparent;color:var(--deep);font:inherit;font-size:.88rem;padding:11px 0}.routine-search-field input:focus{outline:none;box-shadow:none}.routine-search-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(43,127,176,.1)}.routine-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.routine-filter-field{display:flex;flex-direction:column;gap:7px;min-width:0}.routine-filter-field>span{font-size:.63rem;letter-spacing:.1em;font-weight:900;color:#6a8795}.routine-filter-field select{width:100%;min-width:0;min-height:45px;padding:9px 34px 9px 12px;border:1px solid #d5e5ed;border-radius:13px;background-color:#fff;color:var(--deep);font:inherit;font-size:.79rem;font-weight:650}.routine-filter-field select:focus{outline:3px solid rgba(43,127,176,.16);border-color:var(--blue)}.routine-quick-days{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:15px}.routine-quick-days>span{margin-right:3px;color:#7893a0;font-size:.62rem;letter-spacing:.1em;font-weight:900}.routine-quick-days button{border:1px solid rgba(43,127,176,.16);border-radius:999px;padding:7px 11px;background:rgba(255,255,255,.78);color:#52707f;font:inherit;font-size:.73rem;font-weight:750;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.routine-quick-days button:hover{transform:translateY(-1px)}.routine-quick-days button.is-active{background:var(--deep);color:#fff;border-color:var(--deep)}
.routine-results-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:19px 2px 14px}.routine-results-bar p{margin:0;color:var(--soft);font-size:.85rem}.routine-results-bar p strong{color:var(--deep);font-size:1rem}.routine-results-bar>span{display:inline-flex;align-items:center;gap:7px;color:#7893a0;font-size:.72rem}.routine-results-bar>span i{width:7px;height:7px;border-radius:50%;background:#56ad85;box-shadow:0 0 0 4px rgba(86,173,133,.12)}.routine-service-group{margin-top:13px}.routine-service-group[hidden],.routine-batch-card[hidden]{display:none!important}.routine-service-heading{display:flex;align-items:center;gap:14px;padding:20px 2px 14px;border-bottom:1px solid rgba(43,127,176,.12);margin-bottom:15px}.routine-service-emblem{flex:0 0 49px;width:49px;height:49px;display:grid;place-items:center;border:1px solid rgba(43,127,176,.14);border-radius:17px;background:linear-gradient(145deg,#fff,#d9eef4);color:var(--blue);font-size:1.6rem;box-shadow:0 8px 18px rgba(22,70,95,.075);transform:rotate(-5deg)}.emblem-pilates{color:#2d8f7c;background:linear-gradient(145deg,#fff,#e0f5ea);border-color:rgba(45,143,124,.19)}.emblem-zumba-aerobics{color:#b75f72;background:linear-gradient(145deg,#fff,#fae6ec);border-color:rgba(183,95,114,.19)}.routine-service-heading>div:nth-child(2){flex:1;min-width:0}.routine-group-overline{margin:0 0 3px;color:#83a0ad;font-size:.59rem;font-weight:900;letter-spacing:.14em}.routine-service-heading h3{margin:0;color:var(--deep);font-size:1.35rem;font-weight:900;letter-spacing:-.035em}.routine-service-heading p:last-child{margin:4px 0 0;color:var(--soft);font-size:.79rem;line-height:1.5}.routine-group-count{flex:0 0 auto;border:1px solid rgba(43,127,176,.12);border-radius:999px;padding:7px 10px;background:#f5fafc;color:#658393;font-size:.7rem;font-weight:800}
.routine-batch-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:0 0 24px;align-items:stretch}.routine-batch-card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-height:310px;padding:19px;border:1px solid rgba(43,127,176,.17);border-radius:23px;background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(248,252,254,.96));box-shadow:0 8px 19px rgba(22,70,95,.045),inset 0 1px 0 white;transform:perspective(1200px) rotateX(0) rotateY(0) translateY(0);transform-style:preserve-3d;transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease,border-color .32s ease}.routine-batch-card::before{content:"";position:absolute;z-index:-1;right:-43px;top:-52px;width:136px;height:136px;border-radius:50%;background:linear-gradient(140deg,rgba(215,239,246,.6),rgba(255,255,255,.05));transition:transform .4s ease}.routine-batch-card::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--light-x,75%) var(--light-y,0%),rgba(255,255,255,.92),transparent 48%);transition:opacity .25s ease}.routine-batch-card:hover,.routine-batch-card:focus-within{transform:perspective(1200px) rotateX(1.25deg) rotateY(-1deg) translateY(-5px);border-color:rgba(43,127,176,.35);box-shadow:0 24px 42px rgba(22,70,95,.12),inset 0 1px 0 #fff}.routine-batch-card:hover::before{transform:scale(1.25) translate(-5px,5px)}.routine-batch-card:hover::after{opacity:.8}.routine-batch-card.is-full{background:linear-gradient(150deg,#fff,#fbf8f7);opacity:.86}.routine-card-cap{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.routine-batch-number{display:inline-flex;align-items:center;padding:6px 9px;border-radius:8px;background:#edf6fa;color:#4d7c92;font-size:.65rem;font-weight:900;letter-spacing:.1em}.routine-card-cap .batch-spots,.routine-card-cap .batch-full{font-size:.68rem;padding:6px 9px}.routine-batch-title{position:relative;z-index:1;margin:17px 0 15px;min-height:67px}.routine-batch-title p{margin:0 0 5px;color:var(--blue);font-size:.71rem;font-weight:850;letter-spacing:.04em}.routine-batch-title h4{margin:0;color:var(--deep);font-size:1.12rem;font-weight:850;line-height:1.2;letter-spacing:-.03em;text-wrap:balance}.routine-detail-label{display:block;color:#86a0ab;font-size:.6rem;font-weight:900;letter-spacing:.12em}.routine-batch-days{position:relative;z-index:1}.routine-day-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.routine-day-pills span{display:inline-flex;align-items:center;justify-content:center;min-width:43px;padding:7px 8px;border-radius:9px;background:linear-gradient(135deg,#eef8fb,#e1f0f5);color:var(--deep);font-size:.72rem;font-weight:850;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.routine-time-row{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin:16px 0;padding:12px 11px;border:1px solid rgba(43,127,176,.105);border-radius:15px;background:rgba(241,248,251,.8)}.routine-clock-icon{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#fff;color:var(--blue);font-size:1.45rem;box-shadow:0 4px 11px rgba(22,70,95,.06)}.routine-time-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}.routine-time-row strong{color:var(--deep);font-size:.89rem;line-height:1.3;letter-spacing:-.015em}.routine-time-row small{color:var(--soft);font-size:.67rem;line-height:1.4}.routine-time-row small i{font-style:normal;color:#8eabb7}.routine-seat-area{position:relative;z-index:1;margin-top:auto}.routine-seat-copy{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;color:var(--soft);font-size:.72rem}.routine-seat-copy strong{color:var(--deep);font-size:.72rem;font-weight:850}.routine-seat-track{width:100%;height:6px;overflow:hidden;border-radius:999px;background:#e5eef2;box-shadow:inset 0 1px 2px rgba(22,70,95,.06)}.routine-seat-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5ebc93,#238b78);transition:width .4s ease}.routine-seat-track span.seat-meter-low{background:linear-gradient(90deg,#f2b279,#df8459)}.routine-seat-track span.seat-meter-none{background:#bd7d77}.routine-batch-cta{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;padding:12px 14px;border-radius:13px;background:linear-gradient(115deg,var(--blue),var(--deep));box-shadow:0 8px 15px rgba(22,70,95,.13);color:#fff;text-decoration:none;font-size:.79rem;font-weight:850;transition:transform .2s ease,box-shadow .2s ease}.routine-batch-cta span{font-size:1rem;transition:transform .2s ease}.routine-batch-cta:hover{color:#fff;transform:translateY(-2px);box-shadow:0 13px 24px rgba(22,70,95,.2)}.routine-batch-cta:hover span{transform:translate(2px,-2px)}.routine-batch-cta.is-disabled{background:#edf0f2;color:#8598a0;box-shadow:none;cursor:not-allowed}
.routine-no-matches,.routine-empty-state{padding:42px 24px;text-align:center;border:1px dashed rgba(43,127,176,.24);border-radius:22px;background:linear-gradient(145deg,#f7fbfd,#fff)}.routine-no-matches[hidden]{display:none!important}.routine-no-matches>span,.routine-empty-icon{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 13px;border-radius:17px;background:#e8f4f8;color:var(--blue);font-size:1.8rem}.routine-no-matches h3,.routine-empty-state h3{margin:0 0 8px;color:var(--deep);font-size:1.2rem}.routine-no-matches p,.routine-empty-state p{max-width:510px;margin:0 auto 16px;color:var(--soft);font-size:.86rem;line-height:1.65}.routine-empty-inline{padding:15px 2px;color:var(--soft);font-size:.88rem}
.routine-published-panel{padding:0;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.86)}.routine-published-details>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 25px;list-style:none;cursor:pointer}.routine-published-details>summary::-webkit-details-marker{display:none}.routine-published-details>summary>span:first-child{display:flex;align-items:center;gap:13px}.routine-published-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#f2fafc,#dfedf4);color:var(--blue);font-size:1.35rem}.routine-published-details summary b,.routine-published-details summary small{display:block}.routine-published-details summary b{color:var(--deep);font-size:1rem}.routine-published-details summary small{margin-top:4px;color:var(--soft);font-size:.77rem}.routine-summary-action{display:flex;align-items:center;gap:11px;color:var(--blue);font-size:.76rem;font-weight:850}.routine-summary-action i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eaf4f8;font-style:normal;font-size:1rem;transition:transform .2s ease}.routine-published-details[open] .routine-summary-action i{transform:rotate(45deg)}.routine-published-content{padding:0 25px 25px;border-top:1px solid rgba(43,127,176,.1)}.routine-published-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:17px 0}.routine-published-filter p{margin:0;color:var(--soft);font-size:.8rem}.routine-published-filter nav{display:flex;gap:5px;flex-wrap:wrap}.routine-published-filter nav a{padding:7px 11px;border-radius:999px;background:#f1f7fa;color:var(--soft);text-decoration:none;font-size:.74rem;font-weight:800}.routine-published-filter nav a.is-active{background:var(--deep);color:#fff}.routine-published-content .dated-routine-cards{grid-template-columns:repeat(auto-fit,minmax(225px,1fr))}.routine-help-panel{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;max-width:1240px;margin:25px auto 55px;padding:27px 31px;border:1px solid rgba(43,127,176,.16);border-radius:26px;background:linear-gradient(110deg,#f1f8fb,#fff 66%,#fbf3ec);box-shadow:0 16px 35px rgba(22,70,95,.055)}.routine-help-mark{width:55px;height:55px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#fff,#dceef3);box-shadow:0 8px 18px rgba(22,70,95,.09);color:var(--blue);font-size:1.8rem}.routine-help-panel .kicker{margin:0 0 4px;color:var(--blue);font-size:.62rem;letter-spacing:.15em}.routine-help-panel h2{margin:0;color:var(--deep);font-size:1.24rem;font-weight:900;letter-spacing:-.03em}.routine-help-panel p:not(.kicker){margin:6px 0 0;color:var(--soft);font-size:.81rem;line-height:1.6}.routine-help-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.routine-help-actions .btn{margin:0;padding:11px 14px;font-size:.78rem}.routine-help-actions .btn.ghost{background:rgba(255,255,255,.58)}
@media(max-width:1000px){.routine-hero-3d{grid-template-columns:minmax(0,1fr) 250px;padding:43px 34px 0}.routine-hero-art{min-height:265px}.routine-art-disc{width:190px;height:190px}.routine-art-orbit-one{width:270px;height:210px}.routine-art-orbit-two{width:210px;height:270px}.routine-branch-bar{margin:0 -34px;padding:16px 26px}.routine-batch-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.routine-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.routine-help-panel{grid-template-columns:auto minmax(0,1fr)}.routine-help-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:720px){.routine-hero-3d{display:block;margin:18px 12px 18px;padding:31px 20px 0;border-radius:25px}.routine-hero-copy{padding-bottom:22px}.routine-hero-3d h1{font-size:clamp(2.55rem,12vw,4.1rem)}.routine-hero-3d .lead{font-size:.9rem;line-height:1.7}.routine-hero-benefits{gap:6px}.routine-hero-benefits span{font-size:.68rem;padding:8px 9px}.routine-hero-art{min-height:220px;margin:0 auto 12px;max-width:360px}.routine-art-disc{width:165px;height:165px}.routine-art-disc b{font-size:1.37rem}.routine-art-orbit-one{width:240px;height:185px}.routine-art-orbit-two{width:185px;height:240px}.routine-art-chip{font-size:.55rem;padding:7px 10px}.routine-art-chip-top{right:2%;top:17px}.routine-art-chip-bottom{left:2%;bottom:18px}.routine-branch-bar{display:block;margin:0 -20px;padding:16px 16px 17px}.routine-branch-bar>div{margin-bottom:11px}.routine-branch-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:16px}.routine-branch-switch a{justify-content:space-between;padding:10px;font-size:.76rem}.routine-explorer,.routine-online-panel{margin:16px 10px;padding:22px 15px;border-radius:24px}.routine-explorer-heading{align-items:flex-start;margin-bottom:19px}.routine-explorer-heading h2{font-size:2rem}.routine-count-orbit{flex-basis:72px;width:72px;height:72px;border-radius:26% 74% 50% 50%}.routine-count-orbit strong{font-size:1.4rem}.routine-count-orbit span{font-size:.55rem}.routine-howto{grid-template-columns:1fr;gap:10px;padding:14px;margin-bottom:19px}.routine-howto>i{display:none}.routine-howto>div>span{flex-basis:32px;width:32px;height:32px}.routine-howto small{font-size:.68rem}.routine-finder{padding:16px 12px;border-radius:19px}.routine-finder-top h3{font-size:1.13rem}.routine-reset{font-size:.7rem;padding:7px 9px}.routine-filter-grid{grid-template-columns:1fr 1fr;gap:10px}.routine-filter-field>span{font-size:.57rem}.routine-filter-field select{font-size:.72rem;padding:8px 25px 8px 8px}.routine-quick-days{gap:6px}.routine-quick-days>span{flex-basis:100%}.routine-quick-days button{font-size:.68rem;padding:7px 9px}.routine-results-bar{align-items:flex-start;flex-direction:column;gap:5px;padding:15px 0 8px}.routine-service-heading{gap:10px;padding:16px 0 12px}.routine-service-emblem{flex-basis:41px;width:41px;height:41px;border-radius:14px;font-size:1.35rem}.routine-service-heading h3{font-size:1.12rem}.routine-service-heading p:last-child{font-size:.7rem}.routine-group-overline{font-size:.52rem}.routine-group-count{font-size:.62rem;padding:6px 8px}.routine-batch-cards{grid-template-columns:1fr;gap:12px}.routine-batch-card{min-height:0;padding:17px;border-radius:20px}.routine-batch-title{min-height:0;margin:14px 0 13px}.routine-batch-title h4{font-size:1.12rem}.routine-time-row{margin:13px 0}.routine-published-panel{margin:16px 10px}.routine-published-details>summary{padding:17px 14px;gap:9px}.routine-published-details>summary>span:first-child{gap:9px}.routine-published-icon{flex-basis:39px;width:39px;height:39px;border-radius:13px}.routine-published-details summary b{font-size:.85rem}.routine-published-details summary small{font-size:.67rem;max-width:245px;line-height:1.35}.routine-summary-action{font-size:.63rem;gap:5px;white-space:nowrap}.routine-summary-action i{width:23px;height:23px}.routine-published-content{padding:0 14px 17px}.routine-published-filter{align-items:flex-start;flex-direction:column}.routine-published-filter nav a{font-size:.68rem;padding:7px 9px}.routine-help-panel{grid-template-columns:auto minmax(0,1fr);margin:16px 10px 35px;padding:20px 16px;gap:12px;border-radius:22px}.routine-help-mark{width:43px;height:43px;border-radius:14px}.routine-help-panel h2{font-size:1.05rem}.routine-help-panel p:not(.kicker){font-size:.76rem}.routine-help-actions{grid-column:1/-1}.routine-help-actions .btn{flex:1;text-align:center;padding:11px 10px}}
@media(max-width:390px){.routine-explorer-heading{display:block}.routine-count-orbit{display:none}.routine-filter-grid{grid-template-columns:1fr}.routine-batch-card{padding:15px}.routine-branch-switch a{font-size:.7rem;padding:9px}.routine-published-details>summary{align-items:flex-start}.routine-summary-action{margin-top:5px}}
@media(hover:none){.routine-batch-card,.routine-art-disc{transform:none!important}.routine-batch-card::after{display:none}}
@media(prefers-reduced-motion:reduce){.routine-batch-card,.routine-batch-card::before,.routine-batch-card::after,.routine-art-disc,.routine-summary-action i,.routine-seat-track span{transition:none!important;transform:none!important}}
body[data-motion="no"] .routine-batch-card,body[data-motion="no"] .routine-art-disc{transition:none!important;transform:none!important}

/* v17.8 checkout write-failure feedback */
.checkout-error-wide{margin:12px 0;padding:13px 16px;border:1px solid #d98a83;border-radius:14px;background:#fff1ef;line-height:1.6}


/* v17.9 — simpler practice artwork and private, date-based student calendars */
.routine-hero-art-simple{min-height:310px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;perspective:none}
.routine-simple-halo{position:absolute;width:320px;height:240px;border-radius:46% 54% 58% 42%/54% 42% 58% 46%;background:radial-gradient(ellipse at 50% 38%,rgba(255,255,255,.97),rgba(220,243,241,.64) 48%,rgba(223,239,246,.1) 76%,transparent 77%);border:1px solid rgba(255,255,255,.64);box-shadow:inset 0 0 0 12px rgba(255,255,255,.13),0 24px 60px rgba(22,70,95,.06);transform:rotate(-6deg)}
.routine-simple-illustration{position:relative;z-index:1;width:270px;height:225px;display:grid;place-items:center;filter:drop-shadow(0 15px 15px rgba(22,70,95,.10));animation:routineFlowFloat 6s ease-in-out infinite}
.routine-simple-illustration svg{width:100%;height:100%;overflow:visible}.routine-flow-art svg path{filter:drop-shadow(0 5px 4px rgba(22,70,95,.045))}
.routine-simple-caption{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:4px;padding:11px 19px 13px;border-radius:17px;border:1px solid rgba(255,255,255,.88);background:rgba(255,255,255,.76);box-shadow:0 12px 28px rgba(22,70,95,.08);backdrop-filter:blur(10px);text-align:center}
.routine-simple-caption span{font-size:.58rem;letter-spacing:.19em;font-weight:900;color:var(--blue)}
.routine-simple-caption strong{font-size:1.1rem;letter-spacing:-.025em;color:var(--deep)}
.routine-simple-caption small{font-size:.7rem;color:var(--soft)}
@keyframes routineFlowFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

.member-routine-panel{overflow:hidden}
.member-routine-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}
.member-routine-heading h2{margin:0 0 6px}
.member-routine-heading .kicker{margin:0 0 8px;color:var(--blue);font-size:.68rem;letter-spacing:.15em;font-weight:900}
.routine-calendar-badge{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:999px;background:linear-gradient(145deg,#f2fbff,#e2f2f5);color:var(--deep);font-size:.74rem;font-weight:800;border:1px solid rgba(43,127,176,.13);box-shadow:0 5px 0 rgba(43,127,176,.06)}
.member-batch-calendars{display:grid;gap:22px}
.member-batch-calendar{position:relative;overflow:hidden;padding:22px;border:1px solid rgba(43,127,176,.17);border-radius:24px;background:linear-gradient(145deg,#fff 0%,#f8fcff 65%,#f1f8f8 100%);box-shadow:0 13px 0 rgba(43,127,176,.04),0 23px 40px rgba(22,70,95,.07);transform:perspective(1200px) rotateX(.3deg);transition:transform .25s ease,box-shadow .25s ease}
.member-batch-calendar:hover{transform:perspective(1200px) rotateX(0) translateY(-2px);box-shadow:0 15px 0 rgba(43,127,176,.04),0 29px 48px rgba(22,70,95,.09)}
.member-batch-calendar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:19px;border-bottom:1px solid rgba(43,127,176,.12)}
.member-calendar-category{display:block;margin-bottom:7px;font-size:.65rem;letter-spacing:.11em;font-weight:900;color:var(--blue)}
.member-batch-calendar-header h3{margin:0 0 5px;font-size:1.28rem;letter-spacing:-.025em;color:var(--deep)}
.member-batch-calendar-header p{margin:0;color:var(--soft);font-size:.83rem}
.member-validity-card{min-width:165px;display:flex;flex-direction:column;gap:4px;padding:13px 14px;border-radius:16px;background:linear-gradient(145deg,#e9f7f4,#dceff0);border:1px solid rgba(125,184,166,.27);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 5px 0 rgba(125,184,166,.08)}
.member-validity-card span{font-size:.56rem;font-weight:900;letter-spacing:.14em;color:#3c8982}
.member-validity-card strong{font-size:.86rem;color:var(--deep)}
.member-validity-card small{font-size:.72rem;color:var(--soft)}
.member-validity-card em{margin-top:3px;color:#24785f;font-size:.68rem;font-style:normal;font-weight:800}
.member-calendar-toolbar{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:12px;margin:18px 0 14px}
.member-calendar-toolbar>div:first-child{text-align:left}.member-calendar-toolbar>div:last-child{text-align:right}
.member-calendar-arrow{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid rgba(43,127,176,.19);border-radius:13px;background:white;color:var(--deep);font-size:1.15rem;text-decoration:none;box-shadow:0 5px 0 rgba(43,127,176,.06);transition:transform .16s ease,box-shadow .16s ease}
.member-calendar-arrow:hover{transform:translateY(-2px);box-shadow:0 7px 0 rgba(43,127,176,.06)}
.member-calendar-arrow.is-muted{opacity:.3}
.member-calendar-month-title{text-align:center}.member-calendar-month-title h4{margin:0;color:var(--deep);font-size:1.18rem;letter-spacing:-.025em}.member-calendar-month-title span{font-size:.7rem;color:var(--soft)}
.member-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;perspective:900px}
.member-calendar-weekday{padding:5px 0;text-align:center;text-transform:uppercase;font-size:.63rem;letter-spacing:.1em;font-weight:900;color:#7c96a4}
.member-calendar-day{position:relative;min-width:0;min-height:73px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;padding:9px;border:1px solid rgba(43,127,176,.11);border-radius:13px;background:rgba(255,255,255,.8);color:var(--deep);box-shadow:0 3px 0 rgba(22,70,95,.035);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.member-calendar-day-number{font-size:.78rem;font-weight:800}
.member-calendar-day.outside-month{opacity:.27;background:rgba(240,247,250,.48);box-shadow:none}
.member-calendar-day.is-class-day{border-color:rgba(43,127,176,.24);background:linear-gradient(150deg,#e8f7ff,#d4edf7);box-shadow:0 5px 0 rgba(43,127,176,.11),0 8px 14px rgba(22,70,95,.07);transform:translateY(-1px)}
.member-calendar-day.is-class-day:hover{transform:translateY(-3px);box-shadow:0 7px 0 rgba(43,127,176,.11),0 11px 18px rgba(22,70,95,.1)}
.member-calendar-day.is-class-day.is-past{background:linear-gradient(150deg,#f0f5f7,#e7eff1);border-color:rgba(120,145,160,.22);box-shadow:0 3px 0 rgba(22,70,95,.05)}
.member-calendar-day.is-today{outline:2px solid #e6a36c;outline-offset:1px}
.member-calendar-class-dot{width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px rgba(43,127,176,.13)}
.member-calendar-day small{font-size:.63rem;font-weight:800;color:#1e678b;white-space:nowrap}
.member-calendar-day.is-past small{color:#6d8794}
.member-calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid rgba(43,127,176,.12);font-size:.71rem;color:var(--soft)}
.member-calendar-footer>span:first-child{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--deep)}
.member-calendar-legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(43,127,176,.12)}
.member-calendar-empty{display:flex;align-items:center;gap:15px;padding:20px;border:1px dashed rgba(43,127,176,.25);border-radius:20px;background:linear-gradient(145deg,#f8fcff,#eef8f6)}
.member-calendar-empty>span{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:16px;background:white;color:var(--blue);font-size:1.45rem;box-shadow:0 5px 0 rgba(43,127,176,.08)}
.member-calendar-empty h3{margin:0 0 4px;font-size:1rem;color:var(--deep)}.member-calendar-empty p{margin:0;color:var(--soft);font-size:.82rem;line-height:1.65}
.admin-extra-days-form{display:flex;align-items:center;gap:6px;min-width:160px}.admin-extra-days-form input{width:65px;min-width:65px;padding:7px 6px}.admin-extra-days-form .btn{white-space:nowrap}

@media(max-width:760px){
 .routine-hero-art-simple{min-height:245px;margin:0 auto 14px;max-width:340px}
 .routine-simple-halo{width:240px;height:190px}.routine-simple-illustration{width:210px;height:174px}.routine-simple-caption{padding:9px 15px 10px}.routine-simple-caption strong{font-size:1rem}
 .member-routine-heading{display:block}.routine-calendar-badge{margin-top:12px}
 .member-batch-calendar{padding:15px;border-radius:19px}.member-batch-calendar-header{display:block}.member-validity-card{margin-top:13px;min-width:0}
 .member-calendar-grid{gap:4px}.member-calendar-day{min-height:57px;padding:6px;border-radius:10px}.member-calendar-weekday{font-size:.54rem;letter-spacing:0}.member-calendar-day-number{font-size:.72rem}.member-calendar-day small{font-size:.52rem}.member-calendar-day.is-class-day{transform:none}
 .member-calendar-toolbar{grid-template-columns:36px minmax(0,1fr) 36px;gap:7px}.member-calendar-arrow{width:33px;height:34px;border-radius:11px}.member-calendar-month-title h4{font-size:1rem}.member-calendar-month-title span{font-size:.62rem}
 .member-calendar-footer{font-size:.65rem}.admin-extra-days-form{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){.routine-simple-illustration{animation:none}.member-batch-calendar,.member-calendar-day,.member-calendar-arrow{transition:none}}
body[data-motion="no"] .routine-simple-illustration{animation:none}


/* v20: clearer navigation, campaign pricing and polished public FAQ */
.currency-nav{padding:0 2px;gap:0}.currency-nav select{width:86px;min-width:86px}.nav-dropdown>summary{cursor:pointer}
.site-promo-banner{position:relative;display:flex;align-items:center;gap:16px;max-width:800px;margin:22px auto 0;padding:17px 20px;border:1px solid rgba(45,130,183,.2);border-radius:20px;background:linear-gradient(115deg,#eaf8f5,#f2f8ff 58%,#fff3e7);box-shadow:0 14px 34px rgba(30,91,121,.08);text-align:left}.site-promo-spark{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:14px;background:#fff;color:#df8d4d;font-size:23px;box-shadow:0 6px 16px rgba(43,99,127,.08)}.site-promo-banner strong{display:block;color:#1b536e;font-size:15px;letter-spacing:.02em}.site-promo-banner p{margin:4px 0 0;color:#69889a;font-size:12px}.site-promo-stamp{margin-left:auto;display:grid;place-items:center;flex:0 0 54px;height:54px;border:1px dashed #3e9c9a;border-radius:50%;color:#237e80;font-weight:800;font-size:11px;line-height:1.1;transform:rotate(8deg)}.promo-price-row .promo-price-stack,.promo-price-stack{display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap}.promo-price-stack del{color:#8b9aa4;font-size:.84em;font-weight:500}.promo-price-stack .promo-sale-price{color:#167e78}.site-promo-inline{padding:12px 15px;border:1px solid #cdebe5;border-radius:12px;background:#f0fbf7;color:#39786f}.site-promo-inline strong{color:#167e78}.faq-page-hero{margin:28px auto 24px;background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.95) 0 10%,transparent 10.2%),linear-gradient(125deg,#f2fbfc 0%,#f0f7ff 57%,#fff6ed 100%);border-radius:30px;box-shadow:0 22px 60px rgba(27,82,111,.09)}.faq-page-hero h1{letter-spacing:-.07em}.faq-page-layout{gap:28px}.faq-category-rail{box-shadow:0 12px 34px rgba(31,75,103,.045);border-radius:20px}.faq-category-filter{font-size:12px;padding:12px}.faq-question-area{padding:6px 0}.faq-results-head{padding:8px 2px}.faq-public-list{gap:12px}.faq-public-item{border-radius:17px;box-shadow:0 7px 22px rgba(31,75,103,.045)}.faq-public-item[open]{border-color:#b8dce9;box-shadow:0 15px 36px rgba(31,93,125,.09)}.faq-public-item summary{padding:18px 20px}.faq-item-number{background:linear-gradient(145deg,#eaf8fb,#f0f4ff);box-shadow:inset 0 1px #fff}.faq-item-copy b{font-size:14px}.faq-answer{padding-bottom:20px}.faq-answer p{font-size:13px}.faq-bottom-cta{box-shadow:0 15px 36px rgba(31,75,103,.05);border-radius:22px}.faq-bottom-cta .btn{border-radius:999px}
@media(max-width:620px){.site-promo-banner{gap:10px;padding:13px;border-radius:15px}.site-promo-spark{flex-basis:34px;height:34px}.site-promo-banner strong{font-size:12px}.site-promo-banner p{font-size:10px}.site-promo-stamp{flex-basis:44px;height:44px;font-size:10px}.faq-page-hero{margin:14px 12px 20px}.faq-public-item summary{padding:14px 12px}.faq-item-copy b{font-size:13px}}
.band.faq{position:relative;overflow:hidden;padding:clamp(46px,7vw,88px) clamp(16px,4vw,38px);background:radial-gradient(circle at 8% 15%,rgba(105,190,184,.13),transparent 29%),radial-gradient(circle at 94% 80%,rgba(243,178,126,.15),transparent 27%),linear-gradient(145deg,#f8fcfd,#f1f8fb 54%,#fffaf5);border-top:1px solid rgba(84,151,180,.12);border-bottom:1px solid rgba(84,151,180,.12)}.band.faq>.center{max-width:760px;margin:0 auto 26px}.band.faq>.center h2{font-size:clamp(30px,4vw,46px);letter-spacing:-.055em;color:#174b66}.band.faq>.center>p:last-child{color:#6f899a;line-height:1.8}.band.faq .faqlist{max-width:880px;margin:0 auto;display:grid;gap:10px}.band.faq .faqlist details{border:1px solid #deebf1;border-radius:16px;background:rgba(255,255,255,.88);box-shadow:0 8px 22px rgba(26,77,104,.045);overflow:hidden;transition:border-color .2s,box-shadow .2s}.band.faq .faqlist details[open]{border-color:#b8dce8;box-shadow:0 14px 30px rgba(26,77,104,.08)}.band.faq .faqlist summary{position:relative;list-style:none;cursor:pointer;padding:18px 58px 18px 21px;color:#264d64;font-weight:650;line-height:1.55}.band.faq .faqlist summary::-webkit-details-marker{display:none}.band.faq .faqlist summary:after{content:'+';position:absolute;right:18px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;border:1px solid #dceaf1;border-radius:50%;background:#f3fafc;color:#3184ad;font-size:20px;font-weight:400}.band.faq .faqlist details[open] summary:after{content:'−';background:#e4f5f5;border-color:#c5e9e5;color:#247c7b}.band.faq .faqlist details>p{margin:0;padding:0 22px 20px;color:#6b8596;line-height:1.85;font-size:14px}.band.faq .faq-all-link{margin-top:25px}.promo-checkout-line{color:#167e78}.promo-checkout-line b{color:#167e78}


/* v21: compact left-side contact rail, matching the site's social palette. */
.social-chat-rail{position:fixed;left:0;top:42%;z-index:1000;width:70px;margin:0;padding:0;border:0;border-radius:0 13px 13px 0;overflow:hidden;box-shadow:0 12px 34px rgba(12,28,48,.22);background:#fff;isolation:isolate}
.social-chat-rail>summary{height:38px;display:grid;place-items:center;cursor:pointer;list-style:none;background:#101216;color:#fff;user-select:none;outline-offset:-3px}
.social-chat-rail>summary::-webkit-details-marker{display:none}
.social-chat-rail>summary svg{width:20px;height:20px;transition:transform .18s ease}
.social-chat-rail:not([open])>summary svg{transform:rotate(180deg)}
.social-chat-actions{display:grid;grid-template-columns:1fr}
.social-chat-link{height:64px;display:grid;place-items:center;text-decoration:none;color:#fff;transition:filter .18s ease,transform .18s ease}
.social-chat-link svg{width:25px;height:25px;display:block}
.social-chat-link:hover,.social-chat-link:focus-visible{filter:brightness(1.07);transform:translateX(2px);outline:2px solid rgba(255,255,255,.9);outline-offset:-4px}
.chat-whatsapp{background:#1dc96b}.chat-messenger{background:#087ff5}
@media(max-width:760px){.social-chat-rail{top:41%;width:54px;border-radius:0 11px 11px 0}.social-chat-rail>summary{height:32px}.social-chat-link{height:52px}.social-chat-link svg{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){.social-chat-link,.social-chat-rail>summary svg{transition:none!important}.social-chat-link:hover{transform:none}}

/* v21 recorded media library: clear collection controls, readable details and responsive media cards. */
.record-library-page{max-width:1240px;margin:0 auto;padding:26px 20px 64px}
.record-library-hero{position:relative;overflow:hidden;padding:clamp(28px,5vw,56px);border-radius:26px;border:1px solid rgba(71,145,180,.18);background:linear-gradient(118deg,rgba(234,248,252,.97),rgba(255,249,241,.98) 58%,rgba(234,247,240,.98));box-shadow:0 20px 60px rgba(29,67,90,.08)}
.record-library-hero:after{content:"";position:absolute;width:240px;height:240px;right:-74px;bottom:-120px;border:1px solid rgba(45,125,166,.17);border-radius:50%;box-shadow:0 0 0 20px rgba(45,125,166,.035),0 0 0 45px rgba(45,125,166,.025);pointer-events:none}
.record-library-hero h1{font-size:clamp(34px,5vw,58px);line-height:1.06;letter-spacing:-.045em;color:var(--deep);max-width:760px;margin:10px 0 14px}
.record-library-hero p:not(.kicker){max-width:720px;color:var(--muted);line-height:1.8;margin-bottom:0}
.record-library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:23px 0}
.record-category-select{display:grid;gap:7px;min-width:min(100%,300px);color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.1em}
.record-category-select select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--deep);font:inherit;letter-spacing:normal;font-size:.92rem}
.record-library-count{color:var(--muted);font-size:.9rem}
.record-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.record-library-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--surface,#fff);box-shadow:0 12px 28px rgba(24,65,88,.05);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.record-library-card:hover{transform:translateY(-4px);border-color:rgba(49,130,175,.3);box-shadow:0 20px 38px rgba(24,65,88,.1)}
.record-library-card[hidden]{display:none!important}
.record-library-card .video-frame{border-radius:0;margin:0;aspect-ratio:16/9;background:linear-gradient(135deg,#dceef4,#f7e8d8)}
.record-library-card-body{padding:19px}
.record-category-chip{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eaf6f7;color:#267786;font-weight:800;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}
.record-library-card h2{font-size:1.16rem;line-height:1.35;margin:11px 0 8px;color:var(--deep)}
.record-library-card p{font-size:.92rem;line-height:1.65;color:var(--muted)}
.record-library-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:16px}
.record-library-actions .btn{min-height:40px}
.record-library-empty{padding:45px 22px;text-align:center;border:1px dashed rgba(67,132,165,.3);background:rgba(255,255,255,.8);border-radius:20px}
.record-library-empty[hidden]{display:none!important}
@media(max-width:980px){.record-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.record-library-page{padding:16px 12px 42px}.record-library-hero{padding:27px 22px;border-radius:20px}.record-library-grid{grid-template-columns:minmax(0,1fr);gap:13px}.record-library-toolbar{align-items:stretch}.record-category-select{min-width:0}.record-library-count{margin:0}}
@media(prefers-reduced-motion:reduce){.record-library-card{transition:none!important}.record-library-card:hover{transform:none}}
@media(min-width:1001px){.routine-filter-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.record-library-stats{display:flex;gap:11px;flex-wrap:wrap;margin-top:22px}.record-library-stats span{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(67,133,164,.16);border-radius:999px;background:rgba(255,255,255,.72);color:#557b8a;font-size:.8rem}.record-library-stats b{color:var(--deep)}
.record-library-explainer{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:16px 19px;border:1px solid rgba(60,131,166,.14);border-radius:16px;background:linear-gradient(110deg,rgba(238,248,251,.9),rgba(255,250,244,.9))}.record-library-explainer[hidden]{display:none!important}.record-library-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#e1f2f5;color:#237da1;font-weight:850}.record-library-explainer strong{color:var(--deep)}.record-library-explainer p{margin:4px 0 0;color:var(--muted);font-size:.86rem;line-height:1.55}.record-library-media{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#dceef4,#f7e8d8)}.record-library-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.record-library-tag{position:absolute;left:12px;bottom:12px;padding:6px 9px;border-radius:999px;background:rgba(18,46,64,.85);color:white;font-size:.68rem;font-weight:800;backdrop-filter:blur(8px)}

/* v23 professional finish: consistent rhythm, typography, focus states and member updates. */
:root{
  --sf-ink:#183b50;--sf-ink-soft:#496678;--sf-muted:#6c8493;--sf-line:#dce8ee;
  --sf-border:rgba(33,91,120,.13);--sf-surface:#fff;--sf-surface-soft:#f5f9fb;
  --sf-shadow:0 12px 34px rgba(20,55,78,.055);--sf-shadow-hover:0 18px 42px rgba(20,55,78,.10);
  --sf-radius:20px;--sf-control-radius:12px;
}
html{scroll-padding-top:104px}
body{font-weight:400;color:var(--sf-ink);line-height:1.68;background:#f7fafc;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-weight:600;color:var(--deep);letter-spacing:-.025em;line-height:1.2}
p{overflow-wrap:anywhere}
.bg{background:linear-gradient(145deg,#f5fafc 0%,#fbf8f4 58%,#f2f8f6 100%)}
.bg span{opacity:.18;filter:blur(110px)}
.nav{min-height:78px;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(29,79,107,.11);box-shadow:0 4px 20px rgba(23,63,84,.035);backdrop-filter:blur(18px)}
.brand{font-weight:650;letter-spacing:-.015em}.brand small{font-weight:400;color:#708797}
#menu>a,#menu summary{font-weight:500;letter-spacing:-.01em;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
#menu>a:focus-visible,#menu summary:focus-visible,.nav-dropdown a:focus-visible{outline:3px solid rgba(43,127,176,.35);outline-offset:2px}
.dropdown-menu{border:1px solid var(--sf-line);box-shadow:0 18px 48px rgba(19,54,73,.15);border-radius:16px;overflow:hidden}
.dropdown-menu a{padding:13px 16px}
main{padding-top:88px}
.hero,.hero2,.hero.small,.record-library-hero,.faq-page-hero{border:1px solid rgba(56,124,154,.15);box-shadow:var(--sf-shadow)}
.hero h1,.hero2 h1,.hero.small h1{font-weight:700;letter-spacing:-.055em;line-height:1.04}
.kicker{font-weight:750;letter-spacing:.14em;font-size:.70rem;color:#438aa8}
.lead{color:var(--sf-ink-soft);line-height:1.8}
.panel,.card,.stat,.dashboard-quick-card,.next-class-panel,.member-calendar-card,.record-library-card,.faq-public-item{
  border-color:var(--sf-line);box-shadow:var(--sf-shadow);border-radius:var(--sf-radius)
}
.panel{padding:clamp(18px,2.4vw,28px);background:rgba(255,255,255,.96)}
.panel h2,.panel h3{font-weight:650;letter-spacing:-.028em}
.card,.dashboard-quick-card{background:#fff}
.card:hover,.dashboard-quick-card:hover{box-shadow:var(--sf-shadow-hover);border-color:rgba(43,127,176,.26)}
.btn,button.btn,.pill{min-height:42px;border-radius:12px;font-weight:650;letter-spacing:-.01em;box-shadow:0 4px 12px rgba(22,70,95,.06)}
.btn.ghost{box-shadow:none;background:#fff;border-color:#cbdde7}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{border:1px solid #d6e3eb;border-radius:var(--sf-control-radius);background:#fff;color:#203f52;min-height:43px;box-shadow:inset 0 1px 1px rgba(20,55,78,.018)}
textarea{min-height:100px}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid rgba(43,127,176,.27);outline-offset:2px}
table{border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:13px;border:1px solid var(--sf-line);background:#fff}
thead th{background:#f2f7fa;color:#365d72;font-size:.79rem;font-weight:700;letter-spacing:.025em}
td,th{padding:12px 14px;border-bottom:1px solid #e7eef3}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fbfd}
.subnav{border:1px solid var(--sf-line);box-shadow:0 8px 22px rgba(20,55,78,.05);background:rgba(255,255,255,.94)}
.subnav a{font-weight:550}.dashboard-update-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 5px;border-radius:999px;background:#d9534f;color:#fff;font-size:.68rem;font-weight:800}
.stat{border:1px solid var(--sf-line);background:linear-gradient(145deg,#fff,#f8fbfc);padding:18px 20px}
.stat span{font-size:.82rem;color:var(--sf-muted);font-weight:550}.stat b{font-size:1.65rem;letter-spacing:-.04em;color:var(--deep)}
.dashboard-quick-card{padding:19px;min-height:118px;border:1px solid var(--sf-line)}
.foot{background:#fff;border-top:1px solid var(--sf-line)}.foot-grid{max-width:1320px;margin:0 auto;padding:48px 28px 28px}.foot-h{font-weight:750;color:var(--deep);letter-spacing:.07em}.copy{border-top:1px solid #e6eef2;color:#6d8491}
.social-chat-rail{box-shadow:0 15px 38px rgba(12,28,48,.20);border:1px solid rgba(255,255,255,.6)}
.student-updates-panel{margin-top:24px;border:1px solid #d8e7ee;background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(247,251,253,.98));scroll-margin-top:110px}
.student-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.student-section-heading h2{margin-bottom:4px}.student-section-heading p:not(.kicker){color:var(--sf-muted);margin:0;font-size:.92rem}
.student-update-count-large{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 12px;border-radius:999px;background:#fff0eb;color:#a44932;border:1px solid #f5d5ca;font-size:.78rem;font-weight:750}
.student-updates-list{display:grid;gap:10px}.student-update-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:14px;padding:16px;border:1px solid #e3edf2;border-radius:16px;background:#fff}.student-update-row.is-unread{border-color:#b9dce8;background:linear-gradient(110deg,#f4fbfd,#fff)}.student-update-row-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#e8f4f8;color:#237da1;font-weight:800}.student-update-row-copy{min-width:0}.student-update-row-copy h3{font-size:1rem;margin:7px 0 4px}.student-update-row-copy p{font-size:.9rem;color:#617b8b;margin:0;white-space:pre-line}.student-update-item-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.student-update-item-top time{color:#8195a0;font-size:.72rem}.student-update-kind{display:inline-flex;align-items:center;gap:8px;color:#497082;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.student-update-kind b{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eaf8ee;color:#26734d;font-size:.62rem;letter-spacing:.04em}.student-update-row-actions{display:flex;align-items:flex-end;flex-direction:column;gap:9px;padding-top:1px}.student-update-row-actions form{margin:0}.student-updates-footer{display:flex;justify-content:flex-end;margin-top:14px}.student-updates-empty{display:flex;gap:13px;align-items:center;padding:20px;border:1px dashed #cddfe8;border-radius:16px;background:#fff}.student-updates-empty>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#e8f7ee;color:#23804c;font-weight:800}.student-updates-empty h3{margin:0 0 3px;font-size:1rem}.student-updates-empty p{margin:0;color:var(--sf-muted);font-size:.88rem}
.student-update-overlay{position:fixed;inset:0;z-index:1800;display:grid;place-items:center;padding:22px;background:rgba(12,35,50,.47);backdrop-filter:blur(7px);overflow-y:auto}.student-update-overlay[hidden]{display:none!important}.student-update-modal{position:relative;width:min(100%,650px);max-height:min(88vh,820px);overflow:auto;border:1px solid rgba(255,255,255,.78);border-radius:24px;background:#fff;box-shadow:0 30px 100px rgba(5,28,42,.3);padding:clamp(20px,3vw,30px);animation:student-modal-in .24s ease-out both}.student-update-modal-head{display:flex;align-items:flex-start;gap:15px;padding:0 34px 18px 0;border-bottom:1px solid #e8eff3}.student-update-mark{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,#e5f4f8,#f7f6eb);color:#277ea0;font-size:1.4rem}.student-update-modal-head .kicker{margin:0 0 5px}.student-update-modal-head h2{font-size:clamp(1.4rem,3vw,1.85rem);margin:0 0 5px}.student-update-modal-head p:last-child{margin:0;color:var(--sf-muted);font-size:.9rem}.student-update-close{position:absolute;right:17px;top:17px;width:34px;height:34px;display:grid;place-items:center;border:1px solid #e1eaf0;background:#f8fbfc;border-radius:50%;font-size:1.35rem;color:#4c6b7b;cursor:pointer;box-shadow:none}.student-update-modal-list{display:grid;gap:10px;padding-top:14px}.student-update-item{padding:14px;border:1px solid #e3edf2;border-radius:15px;background:#fbfdfe}.student-update-item h3{font-size:1rem;margin:7px 0 5px}.student-update-item>p{font-size:.88rem;color:#637c8c;margin:0;white-space:pre-line}.student-update-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px}.student-update-actions form{margin:0}.student-update-actions .btn{min-height:36px}.student-update-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:16px;margin-top:14px;border-top:1px solid #e8eff3}.student-update-footnote{font-size:.78rem;color:#7c919d}@keyframes student-modal-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
body.student-update-modal-open{overflow:hidden}
@media(max-width:700px){.panel{padding:17px;border-radius:17px}.student-update-overlay{padding:10px;align-items:end}.student-update-modal{max-height:92vh;border-radius:21px;padding:18px}.student-update-row{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:13px}.student-update-row-icon{width:36px;height:36px}.student-update-row-actions{grid-column:2;flex-direction:row;align-items:center;flex-wrap:wrap}.student-update-item-top{align-items:flex-start}.student-update-section-heading{align-items:flex-start}.student-update-modal-footer{align-items:flex-start;flex-direction:column}.student-update-modal-footer button{width:100%}.student-update-footnote{display:none}}
@media(prefers-reduced-motion:reduce){.student-update-modal{animation:none!important}}

.student-update-actions form,.student-update-row-actions form{margin:0}.student-update-actions .btn{cursor:pointer}.student-update-row-actions .link{background:none;border:0;box-shadow:none;padding:0;min-height:unset;font:inherit;cursor:pointer}

/* v25 design studio: safe, admin-controlled visual switches. */
body[data-font="outfit"]{font-family:Outfit,"Noto Sans Bengali",system-ui,sans-serif}
body[data-font="poppins"]{font-family:Poppins,"Noto Sans Bengali",system-ui,sans-serif}
body[data-font="space-grotesk"]{font-family:"Space Grotesk","Noto Sans Bengali",system-ui,sans-serif}
body[data-font="system"]{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body[data-font-scale="small"]{font-size:15px}
body[data-font-scale="normal"]{font-size:16px}
body[data-font-scale="large"]{font-size:18px}
body[data-heading-weight="light"] h1,body[data-heading-weight="light"] h2,body[data-heading-weight="light"] h3{font-weight:300}
body[data-heading-weight="medium"] h1,body[data-heading-weight="medium"] h2,body[data-heading-weight="medium"] h3{font-weight:550}
body[data-heading-weight="bold"] h1,body[data-heading-weight="bold"] h2,body[data-heading-weight="bold"] h3{font-weight:750;letter-spacing:-.035em}
.nav{background:var(--header-bg);color:var(--header-text)}
.nav a,.nav .link,.nav .nav-dropdown>summary{color:var(--header-text)}
.nav a:hover,.nav .nav-dropdown>summary:hover{color:var(--nav-hover-text);background:var(--nav-hover-bg)}
body[data-header-style="solid"] .nav{background:var(--header-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-header-style="glass"] .nav{background:color-mix(in srgb,var(--header-bg) 90%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
body[data-header-style="gradient"] .nav{background:linear-gradient(110deg,var(--header-bg),var(--hero-end));backdrop-filter:none}
.foot{background:var(--footer-bg);color:var(--footer-text)}
.foot p,.foot a{color:var(--footer-text)}
.foot .foot-h{color:var(--blue)!important}
body[data-footer-style="deep"] .foot{background:var(--deep);border-color:color-mix(in srgb,var(--footer-text) 22%,transparent)}
body[data-footer-style="deep"] .foot p,body[data-footer-style="deep"] .foot a,body[data-footer-style="deep"] .brand-name{color:var(--footer-text)}
body[data-footer-style="deep"] .foot .foot-h{color:var(--sage)!important}
body[data-footer-style="gradient"] .foot{background:linear-gradient(125deg,var(--footer-bg),var(--hero-end));}
body[data-button-style="gradient"] .btn:not(.ghost):not(.light),body[data-button-style="gradient"] nav .pill,body[data-button-style="gradient"] button[type="submit"]:not(.link){background:linear-gradient(120deg,var(--blue),var(--sage));color:var(--btn-text);border-color:transparent}
body[data-button-style="outline"] .btn:not(.ghost):not(.light),body[data-button-style="outline"] nav .pill,body[data-button-style="outline"] button[type="submit"]:not(.link){background:transparent;color:var(--blue);border:1.5px solid var(--blue);box-shadow:none}
body[data-button-shape="pill"] .btn,body[data-button-shape="pill"] button:not(.link){border-radius:999px}
body[data-button-shape="rounded"] .btn,body[data-button-shape="rounded"] button:not(.link){border-radius:13px}
body[data-button-shape="square"] .btn,body[data-button-shape="square"] button:not(.link){border-radius:3px}
body[data-nav-style="underline"] .nav nav>a:not(.pill),body[data-nav-style="underline"] .nav .nav-dropdown>summary{border-radius:0;border-bottom:2px solid transparent}
body[data-nav-style="underline"] .nav nav>a:not(.pill):hover,body[data-nav-style="underline"] .nav .nav-dropdown>summary:hover{background:transparent;border-bottom-color:var(--blue)}
body[data-nav-style="minimal"] .nav nav>a:not(.pill),body[data-nav-style="minimal"] .nav .nav-dropdown>summary{border-radius:0;background:transparent}
body[data-card-shape="rounded"] .card,body[data-card-shape="rounded"] .panel,body[data-card-shape="rounded"] .pillars article,body[data-card-shape="rounded"] .steps li,body[data-card-shape="rounded"] .faqlist details{border-radius:28px!important}
body[data-image-shape="circle"] .photo,body[data-image-shape="circle"] .avatar,body[data-image-shape="circle"] .photo-preview{border-radius:50%!important;overflow:hidden}
body[data-image-shape="square"] .photo,body[data-image-shape="square"] .avatar,body[data-image-shape="square"] .photo-preview{border-radius:4px!important;overflow:hidden}
body[data-image-shape="rounded"] .photo,body[data-image-shape="rounded"] .avatar,body[data-image-shape="rounded"] .photo-preview{border-radius:24px}
body[data-shadow-style="flat"] .card,body[data-shadow-style="flat"] .panel,body[data-shadow-style="flat"] .pillars article,body[data-shadow-style="flat"] .steps li,body[data-shadow-style="flat"] .btn,body[data-shadow-style="flat"] .cta{box-shadow:none!important}
body[data-shadow-style="medium"] .card,body[data-shadow-style="medium"] .panel,body[data-shadow-style="medium"] .pillars article,body[data-shadow-style="medium"] .steps li{box-shadow:0 14px 32px rgba(22,70,95,.12)}
body[data-shadow-style="strong"] .card,body[data-shadow-style="strong"] .panel,body[data-shadow-style="strong"] .pillars article,body[data-shadow-style="strong"] .steps li{box-shadow:0 5px 0 color-mix(in srgb,var(--deep) 10%,transparent),0 24px 48px color-mix(in srgb,var(--deep) 17%,transparent)}
body[data-card-hover="none"] .card:hover,body[data-card-hover="none"] .pillars article:hover,body[data-card-hover="none"] .team article:hover{transform:none!important;box-shadow:inherit}
body[data-card-hover="glow"] .card:hover,body[data-card-hover="glow"] .pillars article:hover,body[data-card-hover="glow"] .team article:hover{transform:translateY(-2px);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 14%,transparent),0 15px 38px color-mix(in srgb,var(--blue) 15%,transparent)}
body[data-card-hover="lift"] .card:hover,body[data-card-hover="lift"] .pillars article:hover,body[data-card-hover="lift"] .team article:hover{transform:translateY(-4px)}
body[data-border-style="defined"] .card,body[data-border-style="defined"] .panel,body[data-border-style="defined"] .pillars article,body[data-border-style="defined"] .steps li{border:1.5px solid var(--card-border)}
body[data-border-style="minimal"] .card,body[data-border-style="minimal"] .panel,body[data-border-style="minimal"] .pillars article,body[data-border-style="minimal"] .steps li{border-color:transparent}
body[data-background-style="plain"] .bg{background:var(--bg)}
body[data-background-style="plain"] .bg span,body[data-background-style="plain"] .site-wave-svg{display:none!important}
body[data-background-style="dots"] .bg{background:radial-gradient(circle at 1px 1px,var(--line) 1px,transparent 0) 0 0/24px 24px,linear-gradient(150deg,var(--bg1),var(--bg2))}
body[data-background-style="dots"] .bg span,body[data-background-style="dots"] .site-wave-svg{display:none!important}
body[data-background-style="aurora"] .site-wave-svg{opacity:.14}
body[data-background-style="aurora"] .bg span{opacity:.42;filter:blur(125px)}
body[data-content-width="wide"] .split,body[data-content-width="wide"] .pillars,body[data-content-width="wide"] .steps,body[data-content-width="wide"] .cards,body[data-content-width="wide"] .team,body[data-content-width="wide"] .faqlist,body[data-content-width="wide"] .press-proof,body[data-content-width="wide"] .branch-pricing-group{max-width:1380px}
body[data-content-width="compact"] .split,body[data-content-width="compact"] .pillars,body[data-content-width="compact"] .steps,body[data-content-width="compact"] .cards,body[data-content-width="compact"] .team,body[data-content-width="compact"] .faqlist,body[data-content-width="compact"] .press-proof,body[data-content-width="compact"] .branch-pricing-group{max-width:960px}
body[data-content-width="standard"] .split,body[data-content-width="standard"] .pillars,body[data-content-width="standard"] .steps,body[data-content-width="standard"] .cards,body[data-content-width="standard"] .team,body[data-content-width="standard"] .faqlist,body[data-content-width="standard"] .press-proof{max-width:1200px}
body[data-section-spacing="compact"] .band{padding-block:52px}body[data-section-spacing="compact"] .split{padding-block:52px}
body[data-section-spacing="spacious"] .band{padding-block:clamp(100px,11vw,150px)}body[data-section-spacing="spacious"] .split{padding-block:clamp(100px,11vw,150px)}
body[data-theme-preset="editorial"] h1,body[data-theme-preset="editorial"] h2,body[data-theme-preset="editorial"] h3{letter-spacing:-.045em}
body[data-theme-preset="editorial"] .card,body[data-theme-preset="editorial"] .panel,body[data-theme-preset="editorial"] .pillars article{border-radius:10px!important}
body[data-theme-preset="botanical"] .card,body[data-theme-preset="botanical"] .panel,body[data-theme-preset="botanical"] .pillars article,body[data-theme-preset="botanical"] .steps li{border-radius:34px!important;background:color-mix(in srgb,var(--card) 94%,var(--sage))}
body[data-theme-preset="bold"] h1,body[data-theme-preset="bold"] h2,body[data-theme-preset="bold"] h3{font-weight:800;letter-spacing:-.05em}
body[data-theme-preset="bold"] .card,body[data-theme-preset="bold"] .panel,body[data-theme-preset="bold"] .pillars article{border-width:2px}
body[data-theme-preset="minimal"] .card,body[data-theme-preset="minimal"] .panel,body[data-theme-preset="minimal"] .pillars article,body[data-theme-preset="minimal"] .steps li{box-shadow:none;border-radius:8px!important}
body[data-theme-preset="signature"] .card,body[data-theme-preset="signature"] .pillars article{border-radius:26px}
@media(prefers-reduced-motion:reduce){body[data-card-hover="lift"] .card:hover,body[data-card-hover="glow"] .card:hover,body[data-card-hover="lift"] .pillars article:hover,body[data-card-hover="glow"] .pillars article:hover{transform:none}}


/* v26 homepage campaign, safe custom pages, and Facebook contact polish */
.homepage-ad{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);max-width:1360px;margin:clamp(1.5rem,4vw,3.5rem) auto;padding:clamp(1.5rem,4vw,3.5rem);overflow:hidden;border:1px solid var(--line,#dce8ee);border-radius:clamp(1.3rem,3vw,2.4rem);background:radial-gradient(circle at 90% 8%,color-mix(in srgb,var(--theme-sage,#7db8a6) 28%,transparent),transparent 34%),linear-gradient(120deg,var(--surface,#fff),color-mix(in srgb,var(--theme-peach,#f0b48a) 24%,var(--surface,#fff)));box-shadow:0 20px 50px rgba(22,70,95,.08)}
.homepage-ad-copy{position:relative;z-index:1}.homepage-ad-copy h2{max-width:18ch;margin:.35rem 0 1rem;font-size:clamp(2rem,4vw,3.5rem);line-height:1.04;letter-spacing:-.04em}.homepage-ad-copy p:not(.kicker){max-width:62ch;line-height:1.75;color:var(--theme-muted,#52707f)}.homepage-ad-media{position:relative;min-width:0}.homepage-ad-media img{display:block;width:100%;max-height:390px;object-fit:cover;border-radius:1.4rem;box-shadow:0 18px 45px rgba(22,70,95,.15)}.homepage-ad-banner{grid-template-columns:1fr;text-align:center}.homepage-ad-banner .homepage-ad-media{order:-1;width:100%}.homepage-ad-banner .homepage-ad-media img{max-height:420px}.homepage-ad-banner .homepage-ad-copy{max-width:850px;margin:auto}.homepage-ad-minimal{grid-template-columns:1fr;max-width:1120px;box-shadow:none;background:var(--surface,#fff);border-left:5px solid var(--theme-primary,#2b7fb0)}.homepage-ad-minimal .homepage-ad-media{max-width:520px}.homepage-ad-minimal .homepage-ad-media img{max-height:260px}.homepage-ad-minimal .homepage-ad-copy h2{font-size:clamp(1.8rem,3.5vw,2.8rem)}
.custom-page-code-preview-wrap{margin:1.5rem 0;overflow:hidden;border:1px solid var(--theme-card-border,#dce8ee);border-radius:1rem;background:white;box-shadow:0 12px 35px rgba(22,70,95,.07)}.custom-page-code-preview{display:block;width:100%;height:720px;border:0;background:#fff}.code-editor-details{border:1px solid var(--theme-card-border,#dce8ee);padding:1rem;border-radius:1rem;margin:.5rem 0 1rem}.code-editor-details>summary{cursor:pointer;font-weight:700;color:var(--theme-deep,#16465f);padding:.4rem}.code-editor-details textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88rem;line-height:1.55;tab-size:2}.homepage-ad-admin-preview{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.homepage-ad-admin-preview .brand-preview{max-width:min(100%,420px);max-height:180px;object-fit:cover}
.chat-facebook-page{background:#1877f2;color:#fff}.chat-facebook-page span[aria-hidden="true"]{font-family:Arial,sans-serif;font-size:1.8rem;font-weight:800;line-height:1}
@media(max-width:760px){.homepage-ad{grid-template-columns:1fr;margin:1.2rem;padding:1.3rem;gap:1.25rem}.homepage-ad-media{order:-1}.homepage-ad-media img{max-height:260px}.custom-page-code-preview{height:620px}}


/* v28: full-bleed hero, round instructor portrait, calm navigation/scroll transition, and Messenger-style chat. */
.hero2{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding-inline:clamp(22px,3.8vw,68px);box-sizing:border-box;}
/* The teacher portrait is a brand-specific circle even if admin selects rounded/square elsewhere. */
body .hero2 #photo{border-radius:50%!important;overflow:hidden;clip-path:circle(50% at 50% 50%)!important;aspect-ratio:1/1;isolation:isolate;}
.hero2 .photo img{border-radius:50%!important;width:100%;height:100%;object-fit:cover;object-position:center 32%;}
/* Content-width presets apply to supporting sections; the hero always fills the available viewport. */
body[data-content-width="wide"] .hero2,body[data-content-width="compact"] .hero2,body[data-content-width="standard"] .hero2{width:100%;max-width:none;margin-inline:0;}

/* A restrained page-change transition inspired by simple block/fade transitions. */
@view-transition{navigation:auto;}
::view-transition-old(root){animation:sf-page-out .14s ease-in both;}
::view-transition-new(root){animation:sf-page-in .3s cubic-bezier(.2,.72,.2,1) both;}
@keyframes sf-page-out{to{opacity:0;transform:translateY(-3px);}}
@keyframes sf-page-in{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

.messenger-panel{padding:0;overflow:hidden;border:1px solid rgba(63,135,169,.2);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(242,249,252,.96));box-shadow:0 18px 42px rgba(22,70,95,.075);}
.messenger-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:23px 24px 18px;border-bottom:1px solid rgba(63,135,169,.12);}
.messenger-intro h2{margin:0 0 5px;font-size:clamp(1.25rem,2vw,1.7rem);color:var(--deep);}
.messenger-intro p:not(.kicker){margin:0;color:var(--soft);font-size:.9rem;}
.messenger-intro .kicker{margin:0 0 5px;font-size:.66rem;letter-spacing:.16em;}
.messenger-private-badge{flex:none;display:inline-flex;align-items:center;gap:7px;border:1px solid #d9eaf1;border-radius:999px;background:#fff;padding:8px 12px;color:#3d7187;font-size:.75rem;font-weight:700;}
.messenger-private-badge svg{width:14px;height:14px;}
.messenger-shell{margin:0;padding:0;background:linear-gradient(180deg,#f5fafc,#edf5f8);}
.messenger-header{display:flex;align-items:center;gap:12px;padding:15px 20px;background:rgba(255,255,255,.82);border-bottom:1px solid rgba(63,135,169,.13);}
.messenger-avatar{display:grid;place-items:center;flex:none;width:45px;height:45px;border-radius:50%;background:linear-gradient(145deg,#e2f5ef,#e5f1fb);color:#17617f;font-size:.9rem;font-weight:850;border:2px solid #fff;box-shadow:0 4px 14px rgba(22,70,95,.1);}
.messenger-identity{display:grid;gap:2px;min-width:0;flex:1;}
.messenger-identity strong{color:#194860;font-size:.98rem;line-height:1.3;}
.messenger-identity small{color:#77909d;font-size:.76rem;line-height:1.4;}
.messenger-status{display:inline-flex;align-items:center;gap:7px;flex:none;color:#4a827d;font-size:.72rem;font-weight:750;}
.messenger-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#43aa86;box-shadow:0 0 0 4px rgba(67,170,134,.12);}
.messenger-status[data-state="offline"]{color:#9a7864;}.messenger-status[data-state="offline"]:before{background:#d69a6d;box-shadow:0 0 0 4px rgba(214,154,109,.13);}
.chat.messenger-chat{padding:0 16px 15px;gap:0;background:transparent;--chat-self:#247eae;--chat-other:#fff;}
.messenger-chat .msgs{height:clamp(280px,42vh,500px);padding:22px 6px 16px;border-radius:0;background:radial-gradient(circle at 1px 1px,rgba(48,122,157,.055) 1px,transparent 0) 0 0/18px 18px,linear-gradient(180deg,#f4f9fb,#edf5f8);gap:12px;scrollbar-width:thin;scrollbar-color:#c1dce7 transparent;}
.messenger-chat .bubble{position:relative;max-width:min(78%,620px);padding:11px 15px 8px;border-radius:18px;box-shadow:0 3px 10px rgba(24,74,98,.06);font-size:.94rem;line-height:1.6;animation:chat-message-in .2s ease-out both;}
.messenger-chat .bubble.mine{background:linear-gradient(145deg,#328fbd,#206f9f);border-bottom-right-radius:5px;color:#fff;}
.messenger-chat .bubble.theirs{border:1px solid #e0edf2;background:#fff;border-bottom-left-radius:5px;color:#294b5d;}
.messenger-chat .bubble small{display:block;margin-top:4px;text-align:right;font-size:.65rem;color:inherit;opacity:.72;}
.messenger-chat .bubble a{color:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;}
.chat-empty{display:grid;place-content:center;justify-items:center;min-height:170px;text-align:center;padding:25px;color:#718a98;line-height:1.7;}
.chat-empty-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:10px;border:1px solid #d9eaf1;border-radius:18px;background:#fff;color:#3485a8;box-shadow:0 7px 18px rgba(22,70,95,.06);font-size:1.35rem;}
.chat-empty strong{display:block;color:#426577;margin-bottom:3px;}
.messenger-chat .chatform{display:flex;align-items:center;gap:10px;padding:14px 0 0;background:transparent;}
.messenger-chat .chatform input{min-width:0;flex:1;height:49px;border:1px solid #d4e6ed;border-radius:16px;background:#fff;padding:0 16px;font:inherit;font-size:.92rem;color:#204a61;box-shadow:inset 0 1px 2px rgba(22,70,95,.025);}
.messenger-chat .chatform input:focus{outline:3px solid rgba(43,127,176,.14);border-color:#65a9ca;}
.messenger-chat .chat-send{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:none;height:48px;min-width:104px;margin:0;border-radius:15px;padding:0 17px;font-weight:750;box-shadow:0 8px 17px rgba(43,127,176,.16);}
.chat-send svg{width:17px;height:17px;}
.messenger-chat .chat-send:disabled{opacity:.65;cursor:wait;box-shadow:none;}
.chat-inline-status{min-height:22px;margin:5px 4px 0;color:#7b929f;font-size:.72rem;}
.chat-inline-status[data-state="error"]{color:#a84444;}
.chat-footnote{margin:0;padding:0 4px 14px;color:#8195a0;font-size:.69rem;}
@keyframes chat-message-in{from{opacity:0;transform:translateY(5px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.hero2{padding-inline:17px}.messenger-intro{padding:19px 16px 15px;flex-direction:column;gap:9px}.messenger-header{padding:13px 14px;gap:9px}.messenger-avatar{width:40px;height:40px}.messenger-identity strong{font-size:.9rem}.messenger-identity small{font-size:.68rem}.messenger-status{font-size:.66rem}.chat.messenger-chat{padding-inline:11px}.messenger-chat .msgs{height:clamp(260px,45vh,430px);padding:16px 2px 12px}.messenger-chat .bubble{max-width:88%;padding:10px 12px;font-size:.89rem}.messenger-chat .chatform{gap:7px}.messenger-chat .chatform input{height:46px;padding-inline:12px;font-size:.88rem}.messenger-chat .chat-send{min-width:47px;width:47px;height:46px;padding:0;font-size:0;gap:0}.messenger-chat .chat-send svg{width:19px;height:19px}.chat-footnote{font-size:.64rem}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root),.messenger-chat .bubble{animation:none!important;transition:none!important}}


/* v29 finishing pass: robust circle crop, edge-to-edge homepage hero, and restrained scroll reveals. */
.hero2 #photo,.hero2 #photo img{border-radius:50%!important;clip-path:circle(50% at 50% 50%)!important;}
.hero2 #photo img{object-position:center 32%;} 
.hero2 .orbit{width:min(100%,560px);justify-self:center;}
.hero2 .photo{aspect-ratio:1/1;}
@media(min-width:1500px){.hero2{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(30px,4vw,80px);}}
@media(max-width:860px){.hero2{width:100%!important;margin-inline:0!important;padding-inline:clamp(17px,4vw,32px);}}
@media(prefers-reduced-motion:reduce){.hero2 #photo,.hero2 #photo img{transition:none!important;}}


/* v30: put featured outlet wordmarks in the visual centre instead of letting the ticker drift left. */
.press-marquee{mask-image:none!important;-webkit-mask-image:none!important;padding:18px 0 10px!important;min-height:0!important;}
.press-track{animation:none!important;transform:none!important;will-change:auto!important;width:100%!important;min-width:0!important;justify-content:center!important;flex-wrap:wrap!important;gap:clamp(24px,5vw,64px)!important;}
.press-marquee:hover .press-track,.press-marquee:focus-within .press-track{animation:none!important;}
.press-logo-chip{flex:0 1 auto!important;min-width:150px!important;max-width:245px!important;}
@media(max-width:760px){.press-track{gap:22px!important}.press-logo-chip{min-width:125px!important;max-width:200px!important}}

/* v30: clear, accessible treatment for date-based free-class listings and admin forms. */
.free-class-listing{margin:16px 0;padding:16px 0;border-top:1px solid var(--line);}
.free-class-listing h4{margin:0 0 7px;color:var(--deep);font-size:1.08rem;}
.free-class-listing p{margin:7px 0;}
.free-class-reservation-note{padding:12px 14px;border-left:3px solid var(--blue);border-radius:8px;background:rgba(43,127,176,.075);color:var(--deep);font-size:.92rem;line-height:1.55;}
.free-class-whatsapp{margin-top:5px;}
.free-class-admin-hero h1{margin:.2rem 0 .5rem;}
.free-class-form,.free-class-edit-form{margin-top:16px;}
.free-class-form .wide,.free-class-edit-form .wide{grid-column:1/-1;}
.free-class-form textarea,.free-class-edit-form textarea{width:100%;resize:vertical;}
.free-class-branch-card{align-self:stretch;}
@media(max-width:680px){.free-class-form .wide,.free-class-edit-form .wide{grid-column:auto}.free-class-listing{padding-block:13px}}


/* v31 — final content polish: centred featured copy and a seamless left-to-right publication ticker. */
.press-proof-heading{max-width:820px;margin:0 auto 24px;text-align:center!important;display:flex;flex-direction:column;align-items:center}
.press-proof-heading .kicker,.press-proof-heading h2,.press-proof-heading>p,.press-proof-heading .text-link{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.press-proof-heading>p:not(.kicker){max-width:760px}
.press-marquee{overflow:hidden!important;mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%)!important;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%)!important;min-height:100px!important;padding:18px 0 10px!important}
.press-track{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:0!important;width:max-content!important;min-width:max-content!important;animation:press-marquee-left-to-right-v31 54s linear infinite!important;transform:translateX(-50%);will-change:transform!important}
.press-logo-set{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:clamp(32px,5vw,72px)!important;flex:0 0 auto!important;padding-right:clamp(32px,5vw,72px)!important}
.press-marquee:hover .press-track,.press-marquee:focus-within .press-track{animation-play-state:paused!important}
@keyframes press-marquee-left-to-right-v31{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.routine-quick-days .routine-quick-link{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(43,127,176,.22);border-radius:999px;padding:7px 11px;background:linear-gradient(145deg,#e7f5fb,#f9fcff);color:var(--deep);font:inherit;font-size:.73rem;font-weight:800;text-decoration:none;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.routine-quick-days .routine-quick-link:hover,.routine-quick-days .routine-quick-link:focus-visible{transform:translateY(-1px);background:var(--blue);color:white;box-shadow:0 5px 14px rgba(43,127,176,.18)}
@media(max-width:760px){.press-track{animation-duration:46s!important}.press-logo-set{gap:28px!important;padding-right:28px!important}.press-logo-chip{min-width:122px;height:62px;padding-inline:4px}}
@media(prefers-reduced-motion:reduce){.press-track{animation:none!important;transform:none!important;justify-content:center!important;flex-wrap:wrap!important;width:100%!important;min-width:0!important}.press-logo-set{justify-content:center!important;flex-wrap:wrap!important;padding-right:0!important}.press-logo-set[aria-hidden="true"]{display:none!important}}


/* v32 — precise full-width featured section and restrained interactive polish. */
body[data-content-width] .press-proof{
  width:100%!important;max-width:none!important;margin:0!important;left:auto!important;right:auto!important;transform:none!important;
  box-sizing:border-box!important;position:relative;isolation:isolate;overflow:hidden!important;
  padding-block:clamp(42px,5vw,78px)!important;
  padding-inline:clamp(20px,calc((100vw - 1220px)/2),180px)!important;
  background:linear-gradient(125deg,rgba(226,244,250,.96),rgba(245,250,249,.96) 52%,rgba(255,239,227,.96))!important;
}
.press-proof::before{
  content:"";position:absolute;z-index:-1;inset:-1px;pointer-events:none;opacity:.72;
  background:radial-gradient(360px circle at var(--press-x,50%) var(--press-y,50%),rgba(255,255,255,.92),transparent 72%);
  transition:opacity .3s ease;
}
.press-proof-heading{width:100%;max-width:820px!important;margin:0 auto clamp(24px,3vw,38px)!important;position:relative;z-index:1;}
.press-proof-heading h2{max-width:100%;text-wrap:balance;line-height:1.12;}
.press-proof-heading>p:not(.kicker){max-width:760px;width:100%;}
.press-marquee{width:100%;max-width:100%;margin:0 auto;min-width:0;}
.press-track{animation:press-marquee-left-to-right-v32 54s linear infinite!important;transform:translateX(-50%);}
.press-logo-set{min-width:max-content;}
.press-logo-chip{position:relative;min-width:clamp(132px,12vw,190px)!important;max-width:245px!important;border:1px solid transparent!important;border-radius:20px!important;padding:10px 14px!important;transition:transform .28s cubic-bezier(.2,.7,.2,1),background .28s ease,border-color .28s ease,filter .28s ease!important;}
.press-logo-chip:hover,.press-logo-chip:focus-within{transform:translateY(-5px) scale(1.035)!important;background:rgba(255,255,255,.72)!important;border-color:rgba(43,127,176,.16)!important;filter:drop-shadow(0 12px 14px rgba(22,70,95,.09));}
.press-logo-chip img{max-width:min(190px,100%)!important;max-height:56px!important;}
@keyframes press-marquee-left-to-right-v32{from{transform:translateX(-50%)}to{transform:translateX(0)}}
/* A soft moving sheen gives primary buttons a tactile, premium response without changing their layout. */
.btn,.hero2 .btn,#pricing .price-card-cta{transition:transform .24s cubic-bezier(.2,.7,.2,1),box-shadow .24s ease,background-color .24s ease;}
.btn:hover,.hero2 .btn:hover,#pricing .price-card-cta:hover{box-shadow:0 12px 28px rgba(43,127,176,.22),0 0 0 4px rgba(43,127,176,.07);}
.btn:active,.hero2 .btn:active,#pricing .price-card-cta:active{transform:translateY(0) scale(.985);}
@media(max-width:760px){
 body[data-content-width] .press-proof{padding-inline:18px!important;}
 .press-track{animation-duration:46s!important;}
 .press-logo-set{gap:24px!important;padding-right:24px!important;}
 .press-logo-chip{min-width:122px!important;max-width:190px!important;height:62px!important;padding:7px 5px!important;}
 .press-logo-chip img{max-width:150px!important;max-height:44px!important;}
 .press-proof-heading h2{font-size:clamp(2rem,7.4vw,3rem);}
}
@media(prefers-reduced-motion:reduce){
 .press-track{animation:none!important;transform:none!important;justify-content:center!important;flex-wrap:wrap!important;width:100%!important;min-width:0!important;}
 .press-logo-set{justify-content:center!important;flex-wrap:wrap!important;padding-right:0!important;}
 .press-logo-set[aria-hidden="true"]{display:none!important;}
 .press-logo-chip:hover,.press-logo-chip:focus-within{transform:none!important;filter:none!important;}
 .btn:hover,.hero2 .btn:hover,#pricing .price-card-cta:hover{box-shadow:none!important;transform:none!important;}
}


/* v33 — ensure the featured-publication marquee is not accidentally disabled by
   the broad site-motion setting. System reduced-motion remains respected. */
body .press-proof .press-marquee .press-track,
body[data-motion="no"] .press-proof .press-marquee .press-track,
body[data-motion-style="off"] .press-proof .press-marquee .press-track,
body[data-motion-style="minimal"] .press-proof .press-marquee .press-track{
  display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;
  width:max-content!important;min-width:max-content!important;
  animation:sf-publication-marquee-ltr-v33 38s linear infinite!important;
  animation-duration:38s!important;animation-iteration-count:infinite!important;
  animation-fill-mode:none!important;transform:translate3d(-50%,0,0);will-change:transform;
}
body .press-proof .press-marquee:hover .press-track,
body .press-proof .press-marquee:focus-within .press-track{animation-play-state:paused!important;}
@keyframes sf-publication-marquee-ltr-v33{
  from{transform:translate3d(-50%,0,0)}
  to{transform:translate3d(0,0,0)}
}
@media(max-width:760px){
  body .press-proof .press-marquee .press-track,
  body[data-motion="no"] .press-proof .press-marquee .press-track,
  body[data-motion-style="off"] .press-proof .press-marquee .press-track,
  body[data-motion-style="minimal"] .press-proof .press-marquee .press-track{animation-duration:33s!important;}
}
@media(prefers-reduced-motion:reduce){
  body .press-proof .press-marquee .press-track,
  body[data-motion="no"] .press-proof .press-marquee .press-track,
  body[data-motion-style="off"] .press-proof .press-marquee .press-track,
  body[data-motion-style="minimal"] .press-proof .press-marquee .press-track{animation:none!important;transform:none!important;will-change:auto!important;}
  body .press-proof .press-logo-chip{transition:none!important;}
}

/* v33 — tactile, premium Sign in CTA: gradient depth, a moving sheen, and a click ripple. */
.nav .sign-in-cta{
  position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:10px 17px!important;border:1px solid rgba(255,255,255,.48)!important;border-radius:999px!important;
  color:#fff!important;background:linear-gradient(115deg,#287fb0 0%,#236f96 48%,#238b88 100%)!important;
  background-size:180% 100%;box-shadow:0 5px 0 rgba(22,70,95,.12),0 9px 20px rgba(43,127,176,.2);
  font-weight:650;line-height:1.2;transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s ease,background-position .5s ease!important;
}
.nav .sign-in-cta::before{
  content:"";position:absolute;z-index:0;top:-45%;bottom:-45%;left:-75%;width:48%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);
  transform:skewX(-22deg);pointer-events:none;opacity:.0;transition:left .65s cubic-bezier(.2,.7,.2,1),opacity .25s ease;
}
.nav .sign-in-cta::after{
  content:"";position:absolute;z-index:0;left:var(--signin-ripple-x,50%);top:var(--signin-ripple-y,50%);
  width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.4);
  transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none;
}
.nav .sign-in-cta>span{position:relative;z-index:1}
.nav .sign-in-cta .sign-in-arrow{display:inline-grid;place-items:center;width:21px;height:21px;border-radius:50%;background:rgba(255,255,255,.17);font-size:.82rem;line-height:1;transition:transform .24s ease,background .24s ease}
.nav .sign-in-cta:hover,.nav .sign-in-cta:focus-visible{
  color:#fff!important;transform:translateY(-2px);background-position:100% 50%!important;
  box-shadow:0 7px 0 rgba(22,70,95,.1),0 15px 30px rgba(43,127,176,.27),0 0 0 4px rgba(43,127,176,.08);
}
.nav .sign-in-cta:hover::before,.nav .sign-in-cta:focus-visible::before{left:140%;opacity:1;}
.nav .sign-in-cta:hover .sign-in-arrow,.nav .sign-in-cta:focus-visible .sign-in-arrow{transform:translate(2px,-1px) rotate(45deg);background:rgba(255,255,255,.25)}
.nav .sign-in-cta:active{transform:translateY(0) scale(.975);box-shadow:0 3px 0 rgba(22,70,95,.1),0 5px 12px rgba(43,127,176,.18)}
.nav .sign-in-cta.is-rippling::after{animation:sf-signin-ripple-v33 .52s cubic-bezier(.15,.7,.2,1) forwards;}
@keyframes sf-signin-ripple-v33{
  0%{transform:translate(-50%,-50%) scale(0);opacity:.55}
  72%{opacity:.2}
  100%{transform:translate(-50%,-50%) scale(20);opacity:0}
}
@media(max-width:1120px){.nav .sign-in-cta{align-self:flex-start;width:max-content;}}
@media(prefers-reduced-motion:reduce){
 .nav .sign-in-cta,.nav .sign-in-cta::before,.nav .sign-in-cta .sign-in-arrow{transition:none!important;}
 .nav .sign-in-cta.is-rippling::after{animation:none!important;}
 .nav .sign-in-cta:hover,.nav .sign-in-cta:focus-visible,.nav .sign-in-cta:active{transform:none!important;box-shadow:none!important;}
}
/* Keep this button's feedback deliberate even if the site's optional ambient motion is disabled. */
body[data-motion="no"] .nav .sign-in-cta.is-rippling::after,
body[data-motion-style="off"] .nav .sign-in-cta.is-rippling::after,
body[data-motion-style="minimal"] .nav .sign-in-cta.is-rippling::after{
  animation:sf-signin-ripple-v33 .52s cubic-bezier(.15,.7,.2,1) forwards!important;
  animation-duration:.52s!important;animation-iteration-count:1!important;
}
/* Quiet sheen on publication marks — active on pointer hover, not a perpetual visual distraction. */
.press-logo-chip{overflow:hidden!important;}
.press-logo-chip::after{content:"";position:absolute;top:-30%;bottom:-30%;left:-75%;width:42%;transform:skewX(-18deg);background:linear-gradient(100deg,transparent,rgba(255,255,255,.62),transparent);opacity:0;pointer-events:none;transition:left .65s cubic-bezier(.2,.7,.2,1),opacity .25s ease;}
.press-logo-chip:hover::after,.press-logo-chip:focus-within::after{left:140%;opacity:1;}
@media(prefers-reduced-motion:reduce){.press-logo-chip::after{display:none!important;}}

@media(prefers-reduced-motion:reduce){
 body[data-motion="no"] .nav .sign-in-cta.is-rippling::after,
 body[data-motion-style="off"] .nav .sign-in-cta.is-rippling::after,
 body[data-motion-style="minimal"] .nav .sign-in-cta.is-rippling::after{animation:none!important;}
}


/* v34 SEO/accessibility/performance refinements: keep anchor navigation smooth without
   forcing motion on people who request reduced animation, and prevent mobile overflow. */
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{overflow-x:clip}
img,video,iframe{max-width:100%}
img{height:auto}
.nav{padding-top:max(10px,env(safe-area-inset-top))}
.seo-intro .center{margin-bottom:0}
.seo-landing-hero{max-width:1000px;padding:64px 24px 24px}
.seo-landing-hero h1{max-width:900px;margin-inline:auto;text-wrap:balance}
.seo-landing-hero .lead{margin-inline:auto;max-width:760px}
.seo-landing-hero>p:last-child{margin-top:20px}
.seo-content-band{padding-top:42px}
.seo-copy-grid{max-width:1080px;grid-template-columns:.75fr 1.25fr;align-items:start;padding:18px 24px 54px}
.seo-copy-grid h2{font-size:clamp(2rem,4.2vw,3rem);line-height:1.12}
.seo-feature-grid{margin-top:6px}
.seo-feature-grid .card p{line-height:1.65}
@media(max-width:760px){
 html{scroll-padding-top:76px}
 .seo-landing-hero{padding:40px 18px 16px}
 .seo-landing-hero h1{font-size:clamp(2.25rem,8.6vw,3.8rem);line-height:1.08}
 .seo-copy-grid{grid-template-columns:1fr;padding:12px 18px 30px;gap:10px}
 .seo-content-band{padding-top:28px}
 .seo-feature-grid{grid-template-columns:minmax(0,1fr);padding-inline:14px}
 .seo-intro{padding-inline:18px}
 .seo-intro .btn{max-width:100%;white-space:normal}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
/* Admin SEO tool layout */
.seo-admin-hero .kicker{margin-bottom:8px}
.seo-admin-hero h1{margin-top:0}
.seo-admin-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.seo-settings-form{display:grid;gap:18px;max-width:900px}
.seo-settings-form .f{display:grid;gap:6px}
.seo-settings-form input[type="text"],.seo-settings-form input[type="url"],.seo-settings-form textarea{width:100%;max-width:100%}
.seo-snippet-preview{display:grid;gap:5px;max-width:720px;border:1px solid var(--line);border-radius:16px;background:var(--card);padding:18px;overflow-wrap:anywhere}
.seo-snippet-preview b{font-size:1.12rem;font-weight:500;color:#1a0dab}
.seo-snippet-preview [data-snippet-url]{font-size:.82rem;color:#188038}
.seo-snippet-preview p{margin:0;color:var(--soft);line-height:1.55}
.seo-audit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:12px;margin:18px 0}
.seo-audit-item{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--card)}
.seo-audit-status{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;font-weight:700;background:#e3f5e9;color:#176a35}
.seo-audit-item.needs-review .seo-audit-status{background:#fff2d8;color:#875c00}
.seo-audit-item h3{font-size:1rem;margin:2px 0 5px;color:var(--deep)}
.seo-audit-item p{font-size:.86rem;line-height:1.5;margin:0;color:var(--soft);overflow-wrap:anywhere}
.seo-tools-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.seo-tools-grid .card{padding:22px}
.seo-tools-grid .text-link{display:inline-block;margin:6px 10px 0 0}
@media(max-width:640px){.seo-admin-actions .btn{white-space:normal;text-align:center}.seo-settings-form{gap:14px}.seo-snippet-preview{padding:14px}}


/* v35: lightweight page transitions, SVG morph-loader and premium SEO landing design. */
.sf-scroll-reading-line{position:fixed;inset:0 auto auto 0;width:100%;height:3px;z-index:1002;pointer-events:none;transform:scaleX(var(--scroll-progress,0));transform-origin:left center;background:linear-gradient(90deg,var(--blue),var(--sage),var(--peach));box-shadow:0 0 14px rgba(43,127,176,.26)}
.sf-site-loader{display:none;position:fixed;inset:0;z-index:10000;place-items:center;align-content:center;gap:10px;padding:24px;text-align:center;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.99),rgba(236,246,250,.99) 58%,rgba(252,244,236,.99));color:var(--deep);opacity:1;transition:opacity .28s ease,visibility .28s ease;}
html.sf-loader-enabled .sf-site-loader{display:grid}
.sf-site-loader.is-exiting{opacity:0;visibility:hidden;pointer-events:none}
.sf-loader-mark{width:clamp(56px,9vw,78px);aspect-ratio:1;display:grid;place-items:center;filter:drop-shadow(0 12px 22px rgba(43,127,176,.12));}
.sf-loader-mark svg{width:100%;height:100%;overflow:visible}
.sf-loader-track,.sf-loader-morph{fill:none;stroke-linecap:round;stroke-linejoin:round}
.sf-loader-track{stroke:rgba(43,127,176,.13);stroke-width:3}
.sf-loader-morph{stroke:var(--blue);stroke-width:3.8;filter:drop-shadow(0 0 4px rgba(43,127,176,.25))}
.sf-loader-hello,.sf-loader-welcome{display:block;max-width:min(90vw,650px);font-family:Outfit,Poppins,system-ui,sans-serif;line-height:1.1;letter-spacing:-.045em;font-weight:500;}
.sf-loader-hello{font-size:clamp(2.8rem,7vw,5.6rem);animation:sf-intro-hello .78s cubic-bezier(.2,.75,.2,1) both;}
.sf-loader-welcome{font-size:clamp(1.45rem,3.6vw,2.6rem);font-weight:400;opacity:0;transform:translateY(16px) scale(.985);animation:sf-intro-welcome .78s cubic-bezier(.2,.75,.2,1) .72s both;}
.sf-loader-welcome strong{font-weight:750;color:var(--blue);}
.sf-loader-caption{margin-top:2px;color:var(--soft);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;opacity:0;animation:sf-intro-caption .45s ease 1.18s both;}
.sf-loader-brand{margin-top:16px;color:#7d98a5;font-size:.65rem;font-weight:750;letter-spacing:.25em;opacity:0;animation:sf-intro-caption .4s ease 1.38s both;}
@keyframes sf-intro-hello{0%{opacity:0;transform:translateY(22px) scale(.97);filter:blur(8px)}20%{opacity:1;filter:blur(0)}60%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}100%{opacity:0;transform:translateY(-10px) scale(1.015);filter:blur(3px)}}
@keyframes sf-intro-welcome{0%{opacity:0;transform:translateY(16px) scale(.985);filter:blur(6px)}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes sf-intro-caption{to{opacity:1}}
@media(prefers-reduced-motion:reduce){.sf-site-loader,.sf-site-loader *{transition:none!important;animation:none!important}.sf-loader-morph animate{display:none}.sf-loader-hello,.sf-loader-welcome,.sf-loader-caption,.sf-loader-brand{opacity:1;transform:none;filter:none}}

/* SEO landing-page foundation; v36 removes decorative right-side hero artwork. */
.hero.seo-landing-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(290px,.88fr);align-items:center;gap:clamp(20px,3.2vw,52px);width:calc(100% - 48px);max-width:1320px;margin:28px auto 30px;padding:clamp(28px,4.6vw,68px);min-height:445px;overflow:hidden;text-align:left;border:1px solid rgba(43,127,176,.16);border-radius:34px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(245,250,251,.76) 55%,rgba(255,241,229,.85));box-shadow:0 24px 72px rgba(22,70,95,.09);}
.seo-landing-hero:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.42;pointer-events:none;background-image:radial-gradient(rgba(43,127,176,.16) .7px,transparent .7px);background-size:17px 17px;mask-image:linear-gradient(100deg,black,transparent 85%)}
.seo-hero-copy{position:relative;z-index:2;max-width:760px;min-width:0}
.seo-hero-copy .kicker{display:inline-flex;align-items:center;gap:9px;padding:8px 13px;border-radius:99px;background:rgba(43,127,176,.08);border:1px solid rgba(43,127,176,.14);font-size:.68rem;letter-spacing:.14em;margin-bottom:20px}
.seo-hero-copy h1{max-width:760px;margin:0 0 21px;color:var(--deep);font-size:clamp(2.45rem,4.6vw,4.8rem);font-weight:750;line-height:.99;letter-spacing:-.065em;text-wrap:balance}
.seo-hero-copy .lead{max-width:650px;margin:0;color:var(--soft);font-size:clamp(1rem,1.25vw,1.14rem);line-height:1.8}
.seo-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.seo-hero-actions .btn{margin:0;box-shadow:0 10px 25px rgba(43,127,176,.17);transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease}
.seo-hero-actions .btn:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(43,127,176,.22)}
.seo-proof-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.seo-proof-row span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:99px;background:rgba(255,255,255,.75);color:var(--soft);font-size:.75rem;line-height:1.3}
.seo-proof-row span:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 3px rgba(125,184,166,.14)}
.seo-hero-art{position:relative;isolation:isolate;display:grid;place-items:center;min-width:0;width:100%;max-width:490px;aspect-ratio:1/1;margin:0 auto;transform:translateZ(0)}
.seo-art-glow{position:absolute;inset:12%;z-index:-2;border-radius:50%;background:radial-gradient(circle,rgba(125,184,166,.3),rgba(43,127,176,.12) 46%,transparent 72%);filter:blur(8px)}
.seo-art-orbit{position:absolute;inset:8%;border:1px solid rgba(43,127,176,.24);border-radius:50%;transform:rotate(-24deg) scaleY(.88);animation:sf-orbit-float 16s ease-in-out infinite alternate}
.seo-art-orbit:before,.seo-art-orbit:after{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:var(--peach);box-shadow:0 0 0 7px rgba(240,180,138,.17)}
.seo-art-orbit:before{left:13%;top:16%}.seo-art-orbit:after{right:12%;bottom:19%;width:9px;height:9px;background:var(--sage);box-shadow:0 0 0 7px rgba(125,184,166,.15)}
.seo-art-orbit-two{inset:17%;border-color:rgba(125,184,166,.48);transform:rotate(34deg) scaleX(.92);animation-duration:21s;animation-direction:alternate-reverse}
.seo-art-orbit-two:before{left:auto;right:3%;top:38%;background:var(--blue);box-shadow:0 0 0 7px rgba(43,127,176,.12)}
.seo-art-orbit-two:after{left:11%;right:auto;bottom:12%;background:var(--peach)}
.seo-art-disc{position:relative;display:grid;place-items:center;width:62%;aspect-ratio:1;border-radius:42% 58% 53% 47% / 46% 42% 58% 54%;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(220,240,240,.88) 48%,rgba(255,232,214,.9));border:1px solid rgba(255,255,255,.95);box-shadow:0 24px 58px rgba(22,70,95,.16),inset 0 1px 0 white;animation:sf-disc-morph 9s ease-in-out infinite alternate}
.seo-art-disc svg{width:66%;height:auto;overflow:visible;filter:drop-shadow(0 8px 12px rgba(43,127,176,.11))}
.seo-art-disc .art-infinity{fill:none;stroke:var(--deep);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.seo-art-caption{position:absolute;bottom:28%;max-width:64%;text-align:center;color:var(--deep);font-family:Outfit,Poppins,system-ui,sans-serif;font-weight:700;letter-spacing:-.03em;font-size:clamp(1rem,1.5vw,1.35rem);line-height:1.2}
.seo-art-caption small{display:block;margin-top:7px;font-family:Poppins,system-ui,sans-serif;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);font-weight:500}
.seo-floating-note{position:absolute;z-index:2;display:flex;align-items:center;gap:9px;padding:11px 14px;border:1px solid rgba(255,255,255,.9);border-radius:15px;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);box-shadow:0 14px 32px rgba(22,70,95,.1);color:var(--deep);font-size:.76rem;font-weight:600;animation:sf-note-float 5s ease-in-out infinite}
.seo-floating-note span{display:grid;place-items:center;width:25px;height:25px;border-radius:9px;background:var(--sky);color:var(--blue);font-size:.65rem}
.seo-floating-note-top{right:-1%;top:17%}.seo-floating-note-bottom{left:-1%;bottom:17%;animation-delay:-2.4s}
@keyframes sf-orbit-float{from{transform:rotate(-24deg) scaleY(.88) translateY(-3px)}to{transform:rotate(-8deg) scaleY(.92) translateY(8px)}}
@keyframes sf-disc-morph{0%{border-radius:42% 58% 53% 47% / 46% 42% 58% 54%;transform:rotate(-4deg)}100%{border-radius:57% 43% 42% 58% / 52% 59% 41% 48%;transform:rotate(5deg)}}
@keyframes sf-note-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.seo-content-band{position:relative;padding:58px 24px 86px}
.seo-copy-grid{max-width:1120px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;padding:20px 24px 42px;gap:clamp(28px,5vw,80px)}
.seo-copy-grid>div:first-child{position:sticky;top:105px}
.seo-copy-grid h2{font-size:clamp(2.2rem,4.1vw,3.35rem);line-height:1.03;letter-spacing:-.06em;font-weight:650}
.seo-copy-grid>div:nth-child(2) p{font-size:1rem;line-height:1.9;color:var(--soft)}
.seo-feature-grid{max-width:1160px;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px auto 34px}
.seo-feature-grid .card{position:relative;overflow:hidden;min-height:210px;padding:28px;border:1px solid rgba(43,127,176,.15);border-radius:24px;background:rgba(255,255,255,.84);box-shadow:0 12px 32px rgba(22,70,95,.05);transition:transform .34s cubic-bezier(.2,.7,.2,1),box-shadow .34s ease,border-color .34s ease}
.seo-feature-grid .card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--blue),var(--sage),var(--peach));transform:scaleX(.28);transform-origin:left;transition:transform .35s ease}
.seo-feature-grid .card:hover{transform:translateY(-7px);box-shadow:0 23px 46px rgba(22,70,95,.11);border-color:rgba(43,127,176,.3)}
.seo-feature-grid .card:hover:before{transform:scaleX(1)}
.seo-feature-number{display:grid;place-items:center;width:38px;height:38px;margin-bottom:16px;border-radius:13px;background:linear-gradient(145deg,rgba(43,127,176,.12),rgba(125,184,166,.2));color:var(--blue);font-size:.72rem;font-weight:700;letter-spacing:.05em}
.seo-feature-grid .card h3{font-size:1.3rem;font-weight:650;letter-spacing:-.035em;color:var(--deep)}
.seo-faq-section{max-width:900px;margin:54px auto 0;padding:0 20px}
.seo-faq-section h2{text-align:center;font-size:clamp(2rem,4vw,3rem);font-weight:650;letter-spacing:-.055em;color:var(--deep)}
.seo-faq-list{display:grid;gap:10px;margin-top:25px}
.seo-faq-list details{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.8);padding:16px 20px;transition:box-shadow .25s ease,border-color .25s ease}
.seo-faq-list details[open]{border-color:rgba(43,127,176,.34);box-shadow:0 10px 28px rgba(22,70,95,.07)}
.seo-faq-list summary{cursor:pointer;list-style:none;color:var(--deep);font-weight:650;position:relative;padding-right:28px}
.seo-faq-list summary::-webkit-details-marker{display:none}
.seo-faq-list summary:after{content:"+";position:absolute;right:0;top:-3px;color:var(--blue);font-size:1.4rem;font-weight:400;transition:transform .2s ease}
.seo-faq-list details[open] summary:after{content:"−";transform:rotate(180deg)}
.seo-faq-list p{margin:12px 0 2px;color:var(--soft);line-height:1.75}
html.reveal-ready .seo-landing-hero .seo-hero-copy>*{opacity:0;transform:translateY(18px);transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1)}
html.reveal-ready .seo-landing-hero.is-visible .seo-hero-copy>*{opacity:1;transform:translateY(0)}
html.reveal-ready .seo-landing-hero .seo-hero-copy>*:nth-child(2){transition-delay:70ms}
html.reveal-ready .seo-landing-hero .seo-hero-copy>*:nth-child(3){transition-delay:140ms}
html.reveal-ready .seo-landing-hero .seo-hero-copy>*:nth-child(4){transition-delay:210ms}
html.reveal-ready .seo-landing-hero .seo-hero-copy>*:nth-child(5){transition-delay:280ms}
html.reveal-ready .seo-landing-hero .seo-hero-art{opacity:0;transform:translate3d(22px,8px,0) scale(.96);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
html.reveal-ready .seo-landing-hero.is-visible .seo-hero-art{opacity:1;transform:translate3d(0,0,0) scale(1)}
@media(max-width:980px){.hero.seo-landing-hero{grid-template-columns:minmax(0,1fr) minmax(230px,.72fr);padding:35px;gap:20px}.seo-hero-copy h1{font-size:clamp(2.5rem,5.3vw,4rem)}.seo-floating-note-top{right:-2%}.seo-floating-note-bottom{left:-3%}.seo-copy-grid>div:first-child{position:static}}
@media(max-width:760px){.sf-scroll-reading-line{height:2px}.hero.seo-landing-hero{width:calc(100% - 24px);grid-template-columns:1fr;margin:15px auto 20px;padding:clamp(22px,6vw,34px);gap:10px;min-height:0;border-radius:25px}.seo-hero-copy h1{font-size:clamp(2.4rem,10vw,3.45rem);line-height:1.02}.seo-hero-copy .kicker{font-size:.62rem;letter-spacing:.11em}.seo-hero-actions{gap:8px}.seo-hero-actions .btn{width:100%;text-align:center;white-space:normal}.seo-hero-art{max-width:330px;margin-top:4px}.seo-floating-note{padding:8px 10px;font-size:.68rem}.seo-floating-note-top{right:-1%;top:15%}.seo-floating-note-bottom{left:-1%;bottom:13%}.seo-proof-row{margin-top:17px}.seo-content-band{padding:35px 12px 55px}.seo-copy-grid{grid-template-columns:1fr;padding:14px 12px 25px;gap:4px}.seo-copy-grid h2{font-size:clamp(2rem,8vw,2.7rem)}.seo-copy-grid>div:nth-child(2) p{font-size:.95rem}.seo-feature-grid{grid-template-columns:minmax(0,1fr);padding-inline:4px;gap:12px}.seo-feature-grid .card{min-height:0;padding:22px}.seo-faq-section{margin-top:42px;padding:0 4px}.seo-faq-list details{padding:14px 16px}}
@media(max-width:380px){.hero.seo-landing-hero{padding:20px}.seo-hero-copy h1{font-size:2.15rem}.seo-hero-art{max-width:270px}.seo-art-caption{font-size:.9rem}.seo-floating-note{font-size:.62rem}}
@media(prefers-reduced-motion:reduce){.seo-art-orbit,.seo-art-disc,.seo-floating-note{animation:none!important}.seo-hero-actions .btn,.seo-feature-grid .card,.seo-feature-grid .card:before{transition:none!important}.seo-hero-actions .btn:hover,.seo-feature-grid .card:hover{transform:none!important}.seo-landing-hero .seo-hero-copy>*,.seo-landing-hero .seo-hero-art{opacity:1!important;transform:none!important;transition:none!important}}

/* v35: page design studio form ergonomics */
.page-design-admin-hero h1{margin:0 0 10px}.page-design-path-form{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:end}.page-design-form .f small{display:block;color:var(--soft);font-weight:400;line-height:1.5;margin:4px 0}.page-design-form .code-textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88rem;line-height:1.6;tab-size:2;white-space:pre;overflow:auto}.page-image-upload{padding:16px;border:1px dashed var(--line);border-radius:16px;background:rgba(255,255,255,.4)}.page-image-upload>label{font-weight:650;display:block;margin-bottom:8px}.page-image-upload input[type=file]{width:100%;max-width:100%}.page-image-current{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:14px}.page-image-current img{width:min(240px,100%);max-height:150px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.page-design-actions{display:flex;flex-wrap:wrap;gap:8px}.page-design-steps{padding-left:22px}.page-design-steps li{padding:4px 0;color:var(--soft)}
@media(max-width:720px){.page-design-path-form{grid-template-columns:1fr}.page-design-path-form .btn{width:100%;text-align:center}.page-design-actions .btn{width:100%;text-align:center}.page-image-current{align-items:flex-start;flex-direction:column}}

@media(prefers-reduced-motion:reduce){.seo-art-orbit,.seo-art-disc,.seo-floating-note{animation:none!important;transition:none!important}}
body[data-motion="no"] .seo-art-orbit,body[data-motion="no"] .seo-art-disc,body[data-motion="no"] .seo-floating-note,body[data-motion-style="off"] .seo-art-orbit,body[data-motion-style="off"] .seo-art-disc,body[data-motion-style="off"] .seo-floating-note,body[data-motion-style="minimal"] .seo-art-orbit,body[data-motion-style="minimal"] .seo-art-disc,body[data-motion-style="minimal"] .seo-floating-note{animation:none!important}
body[data-motion="no"] .seo-hero-actions .btn,body[data-motion-style="off"] .seo-hero-actions .btn{transition:none!important}

/* v36 — simpler single-column SEO heroes, accessible pricing motion and member nutrition tools. */
.hero.seo-landing-hero{grid-template-columns:minmax(0,1fr);align-items:start;max-width:1320px;min-height:0;padding:clamp(32px,5vw,72px);}
.seo-landing-hero .seo-hero-copy{width:100%;max-width:1080px;margin-inline:auto;}
.seo-landing-hero .seo-hero-copy h1{max-width:980px;margin-inline:0;font-size:clamp(2.7rem,5.8vw,5.1rem);line-height:1.02;}
.seo-landing-hero .seo-hero-copy .lead{max-width:800px;margin-inline:0;font-size:clamp(1.05rem,1.65vw,1.25rem);line-height:1.8;}
.seo-landing-hero .seo-hero-copy .kicker{text-align:left;}
.seo-landing-hero .seo-proof-row{justify-content:flex-start;}
.seo-landing-hero .seo-hero-actions{justify-content:flex-start;}
@media(max-width:760px){.hero.seo-landing-hero{padding:clamp(23px,6vw,36px)}.seo-landing-hero .seo-hero-copy h1{font-size:clamp(2.3rem,9.5vw,3.6rem);line-height:1.04}.seo-landing-hero .seo-hero-copy .lead{font-size:1rem;line-height:1.7}.seo-landing-hero .seo-hero-actions{flex-direction:column;align-items:stretch}.seo-landing-hero .seo-proof-row{flex-wrap:wrap}}

/* Price cards reveal upward in a restrained sequence, inspired by modern SaaS pricing sections. */
@keyframes sfPricingSlideIn{from{opacity:0;transform:translate3d(0,28px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.pricing-motion-ready #pricing .price-card{opacity:0;}
.pricing-motion-ready #pricing .price-card.is-pricing-visible{animation:sfPricingSlideIn .62s cubic-bezier(.2,.7,.2,1) var(--pricing-stagger,0ms) both;}
@media(prefers-reduced-motion:reduce){.pricing-motion-ready #pricing .price-card,.pricing-motion-ready #pricing .price-card.is-pricing-visible{opacity:1;animation:none!important;transform:none!important}}
body[data-motion="no"] .pricing-motion-ready #pricing .price-card,body[data-motion-style="off"] .pricing-motion-ready #pricing .price-card{opacity:1;animation:none!important;}

/* Student portal: nutrition estimation, readable macro totals and mobile-safe food log. */
.nutrition-macro-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 18px;}
.nutrition-macro-summary>span{display:flex;flex-direction:column;gap:2px;padding:13px 15px;border:1px solid rgba(43,127,176,.14);border-radius:15px;background:linear-gradient(140deg,#fff,#f2f8fa);}
.nutrition-macro-summary b{font-size:1.08rem;font-weight:800;color:var(--deep);font-variant-numeric:tabular-nums;}
.nutrition-macro-summary small{font-size:.78rem;color:var(--soft);font-weight:600;}
.nutrition-checker-card{position:relative;isolation:isolate;overflow:hidden;margin:24px 0 28px;padding:clamp(18px,3vw,30px);border:1px solid rgba(43,127,176,.18);border-radius:27px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(236,247,250,.94) 56%,rgba(255,246,237,.94));box-shadow:0 18px 45px rgba(22,70,95,.065);}
.nutrition-checker-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--blue),var(--sage),var(--peach));}
.nutrition-checker-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:22px;}
.nutrition-checker-heading h3{margin:2px 0 7px;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:750;letter-spacing:-.035em;color:var(--deep);}
.nutrition-checker-heading p:not(.kicker){margin:0;max-width:740px;color:var(--soft);line-height:1.65;}
.nutrition-checker-heading .kicker{font-size:.68rem;letter-spacing:.16em;font-weight:800;color:var(--blue);margin:0;}
.nutrition-checker-mark{flex:0 0 52px;display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:linear-gradient(145deg,#deeff7,#fff);border:1px solid rgba(43,127,176,.14);color:var(--blue);font-size:1.25rem;font-weight:850;}
.nutrition-food-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;}
.nutrition-food-form .f{min-width:0;}
.nutrition-food-form .f input,.nutrition-food-form .f select{width:100%;min-width:0;}
.nutrition-search-field,.nutrition-food-select-field{grid-column:span 2;}
.nutrition-estimate{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr);gap:18px;padding:19px;border:1px solid rgba(43,127,176,.14);border-radius:20px;background:rgba(255,255,255,.84);}
.nutrition-estimate-kcal{display:flex;flex-direction:column;gap:4px;justify-content:center;}
.nutrition-estimate-kcal>span{font-size:.84rem;color:var(--soft);font-weight:650;}
.nutrition-estimate-kcal>strong{font-size:clamp(2rem,4vw,2.8rem);letter-spacing:-.045em;line-height:1.08;color:var(--deep);font-variant-numeric:tabular-nums;}
.nutrition-estimate-kcal>strong small{font-size:.86rem;letter-spacing:0;font-weight:650;}
.nutrition-estimate-macros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:center;}
.nutrition-estimate-macros span{display:flex;justify-content:space-between;gap:8px;padding:9px 11px;border-radius:12px;background:#f2f8fa;color:var(--soft);font-size:.84rem;}
.nutrition-estimate-macros b{color:var(--deep);white-space:nowrap;font-variant-numeric:tabular-nums;}
.nutrition-estimate .small{grid-column:1/-1;margin:0;}
.nutrition-food-actions{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.nutrition-disclaimer{grid-column:1/-1;margin:0;max-width:900px;line-height:1.6;}
.nutrition-log-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;}
.nutrition-log-source{display:block;margin-top:3px;font-size:.75rem;color:var(--soft);}
.payment-gateway-hero{position:relative;overflow:hidden;border:1px solid rgba(43,127,176,.15);border-radius:25px;padding:clamp(24px,4vw,42px);margin-bottom:22px;background:linear-gradient(130deg,#f5fbfd,#fff 56%,#fff6ed);}
.payment-gateway-hero h1{margin:.15em 0 .25em;font-weight:800;letter-spacing:-.04em;font-size:clamp(2rem,4vw,3.5rem);}
.payment-gateway-hero>p:not(.kicker){max-width:920px;color:var(--soft);}
.payment-gateway-status,.gateway-warning,.gateway-ready-note{display:flex;gap:13px;align-items:flex-start;padding:15px 17px;border:1px solid rgba(196,126,48,.22);border-radius:16px;background:#fffaf2;}
.payment-gateway-status{margin-top:19px;}
.payment-gateway-status>div{display:grid;gap:3px;}
.payment-gateway-status small,.gateway-warning p,.gateway-ready-note p{display:block;color:#6b6d6c;line-height:1.6;margin:0;}
.gateway-status-dot{width:10px;height:10px;flex:0 0 10px;margin-top:6px;border-radius:50%;background:#d28b32;box-shadow:0 0 0 4px rgba(210,139,50,.12);}
.payment-gateway-panel{margin-bottom:20px;}
.gateway-env-checklist{display:grid;gap:8px;margin:16px 0;}
.gateway-env-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--card);}
.gateway-env-row code{overflow-wrap:anywhere;}
.gateway-env-state{font-size:.78rem;font-weight:750;white-space:nowrap;}
.gateway-env-state.is-present{color:#177353;}
.gateway-env-state.is-missing{color:#a44c3b;}
.gateway-warning{display:block;margin-top:16px;background:#fff8f1;}
.gateway-warning p{margin-top:5px;}
.gateway-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.gateway-doc-grid a{display:flex;flex-direction:column;gap:5px;padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--card);text-decoration:none;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;}
.gateway-doc-grid a:hover{transform:translateY(-3px);border-color:rgba(43,127,176,.4);box-shadow:0 10px 24px rgba(22,70,95,.07);}
.gateway-doc-grid small{color:var(--soft);line-height:1.55;}
@media(max-width:760px){.nutrition-macro-summary{grid-template-columns:repeat(2,minmax(0,1fr));}.nutrition-food-form{grid-template-columns:minmax(0,1fr);}.nutrition-search-field,.nutrition-food-select-field,.nutrition-estimate,.nutrition-food-actions,.nutrition-disclaimer{grid-column:1;}.nutrition-estimate{grid-template-columns:1fr;}.nutrition-estimate-macros{grid-template-columns:repeat(2,minmax(0,1fr));}.nutrition-food-actions{align-items:stretch;flex-direction:column;}.nutrition-food-actions .btn{width:100%;text-align:center;}.gateway-doc-grid{grid-template-columns:1fr;}.payment-gateway-status{padding:13px;}.gateway-env-row{align-items:flex-start;flex-direction:column;gap:4px;}}
.student-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:clamp(24px,4vw,42px);border:1px solid rgba(43,127,176,.14);border-radius:26px;background:linear-gradient(130deg,rgba(255,255,255,.95),rgba(234,246,250,.94) 58%,rgba(255,245,235,.92));box-shadow:0 18px 45px rgba(22,70,95,.055);}
.student-dashboard-hero h1{font-weight:800;letter-spacing:-.045em;font-size:clamp(2rem,4vw,3.2rem);margin:.1em 0 .25em;}
.student-dashboard-hero>div>p:last-child{margin:0;color:var(--soft);max-width:720px;}
.student-dashboard-hero>.btn{flex-shrink:0;}
@media(max-width:650px){.student-dashboard-hero{align-items:stretch;flex-direction:column;gap:15px}.student-dashboard-hero>.btn{width:100%;text-align:center}}


/* v37 — welcome intro and per-page drag/drop section editor. */
.page-layout-editor{padding:18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(240,249,251,.8),rgba(255,249,242,.74));}
.page-layout-editor-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px;}
.page-layout-editor-heading h3{margin:0 0 5px;color:var(--deep);font-size:1.18rem;}
.page-layout-editor-heading p{margin:0;max-width:750px;line-height:1.55;}
.page-layout-editor-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:16px;align-items:start;}
.page-layout-preview-wrap,.page-layout-list-wrap{min-width:0;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.84);}
.page-layout-preview-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--soft);margin:0 0 10px;}
#page-layout-preview{display:block;width:100%;height:430px;border:1px solid rgba(43,127,176,.18);border-radius:10px;background:white;}
.page-layout-list{display:grid;gap:8px;margin:0;padding:0;list-style:none;}
.page-layout-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:grab;}
.page-layout-item.is-dragging{opacity:.42;border-style:dashed;}
.page-layout-item.is-drop-target{border-color:var(--blue);box-shadow:0 0 0 3px rgba(43,127,176,.12);}
.page-layout-grip{color:var(--blue);font-size:1rem;font-weight:900;letter-spacing:-.1em;user-select:none;}
.page-layout-item-title{min-width:0;overflow-wrap:anywhere;color:var(--deep);font-size:.88rem;font-weight:750;}
.page-layout-item-key{display:block;margin-top:3px;color:var(--soft);font-size:.7rem;font-family:ui-monospace,Consolas,monospace;font-weight:500;}
.page-layout-controls{display:flex;gap:4px;}
.page-layout-controls button{min-width:30px;min-height:30px;border:1px solid var(--line);border-radius:8px;background:#f4f8fa;color:var(--deep);cursor:pointer;}
.page-layout-controls button:focus-visible,.page-layout-item:focus-visible{outline:3px solid rgba(43,127,176,.38);outline-offset:2px;}
.page-layout-empty{padding:16px;border:1px dashed var(--line);border-radius:10px;color:var(--soft);}
.page-layout-editor-grid #page-layout-status{margin:10px 0 0;line-height:1.5;}
@media(max-width:900px){.page-layout-editor-grid{grid-template-columns:1fr}#page-layout-preview{height:340px}}
@media(max-width:600px){.page-layout-editor{padding:12px}.page-layout-editor-heading{flex-direction:column}.page-layout-editor-heading .btn{width:100%}.page-layout-item{grid-template-columns:auto minmax(0,1fr) auto;padding:9px}.page-layout-controls button{min-width:28px;min-height:28px}}
@media(prefers-reduced-motion:reduce){.sf-loader-hello{display:none!important}.sf-loader-welcome,.sf-loader-caption,.sf-loader-brand{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}}

.sf-site-loader.sf-loader-minimal .sf-loader-hello{display:none}
.sf-site-loader.sf-loader-minimal .sf-loader-welcome,.sf-site-loader.sf-loader-minimal .sf-loader-caption,.sf-site-loader.sf-loader-minimal .sf-loader-brand{animation:none;opacity:1;transform:none;filter:none}

/* v38 — centered member greeting and accessible mobile student drawer. */
.student-dashboard-hero{position:relative;display:block;text-align:center;padding:clamp(28px,4.4vw,48px) clamp(18px,4vw,42px);min-height:218px;}
.student-dashboard-hero-copy{width:min(100%,900px);margin:0 auto;}
.student-dashboard-hero-copy .kicker{margin-bottom:9px;}
.student-dashboard-hero h1{margin:.08em 0 .26em;}
.student-dashboard-hero-copy>p:last-child{margin:0 auto;max-width:720px;}
.student-dashboard-hero-actions{display:flex;justify-content:center;align-items:center;gap:10px;margin:20px auto 0;flex-wrap:wrap;}
.student-notification-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.9);color:var(--deep);font-weight:700;text-decoration:none;box-shadow:0 7px 18px rgba(28,65,90,.055);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.student-notification-button:hover{transform:translateY(-2px);border-color:var(--blue);box-shadow:0 10px 22px rgba(28,65,90,.1);}
.student-notification-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.student-notification-badge{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#d9534f;color:#fff;font-size:.72rem;line-height:1;font-weight:850;}
.student-dashboard-nav-toggle{display:none;}
.student-nav-mobile-head{display:none;}
.student-dashboard-subnav{max-width:1180px;}
.student-dashboard-subnav[aria-hidden="true"]{visibility:visible;}
@media(max-width:760px){
 .student-dashboard-hero{min-height:0;padding:30px 18px;border-radius:22px;}
 .student-dashboard-hero h1{font-size:clamp(2.2rem,10vw,3rem);}
 .student-dashboard-hero-actions{margin-top:18px;align-items:stretch;flex-direction:column;}
 .student-dashboard-hero-actions .btn,.student-notification-button{width:100%;}
 .student-dashboard-nav-toggle{position:sticky;top:72px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:14px 0;padding:12px 15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.97);color:var(--deep);font:inherit;font-weight:750;box-shadow:0 9px 24px rgba(21,58,80,.08);cursor:pointer;}
 .student-dashboard-nav-toggle>span:first-child{display:flex;align-items:center;gap:9px;}
 .student-dashboard-nav-toggle svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;}
 .student-nav-toggle-meta{font-size:.75rem;color:var(--soft);font-weight:650;}
 .student-dashboard-nav-backdrop:not([hidden]){position:fixed;inset:0;z-index:1000;background:rgba(13,35,51,.44);backdrop-filter:blur(3px);}
 .student-dashboard-subnav{position:fixed;z-index:1001;top:0;left:0;bottom:0;width:min(84vw,330px);max-width:none;height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:5px;margin:0;padding:18px 14px max(18px,env(safe-area-inset-bottom));border-radius:0 20px 20px 0;border:0;border-right:1px solid var(--line);background:rgba(255,255,255,.99);box-shadow:18px 0 50px rgba(13,35,51,.18);transform:translateX(-105%);visibility:hidden;pointer-events:none;transition:transform .24s cubic-bezier(.2,.8,.2,1),visibility .24s;}
 .student-dashboard-subnav.is-open{transform:translateX(0);visibility:visible;pointer-events:auto;}
 .student-dashboard-subnav[aria-hidden="true"]{visibility:hidden;}
 .student-dashboard-subnav .student-nav-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 15px;margin-bottom:7px;border-bottom:1px solid var(--line);color:var(--deep);}
 .student-nav-mobile-head strong{font-size:1rem;}
 .student-nav-mobile-head button{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#f5f9fb;color:var(--deep);font-size:1.5rem;cursor:pointer;}
 .student-dashboard-subnav>a{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;padding:11px 13px;border-radius:11px;font-size:.94rem;white-space:normal;}
 .student-dashboard-subnav>a:hover,.student-dashboard-subnav>a:focus-visible{background:#eaf5fa;color:var(--deep);}
 body.student-nav-open{overflow:hidden;}
 body.student-nav-open .social-chat-rail{display:none;}
}
@media(min-width:761px){.student-dashboard-subnav .student-nav-mobile-head{display:none;}}
@media(prefers-reduced-motion:reduce){.student-dashboard-subnav,.student-notification-button{transition:none!important;}}

/* v38 — payment method card controls and SSLCOMMERZ readiness. */
.payment-method-grid{--payment-accent:var(--blue);}
.payment-method-card{border-color:color-mix(in srgb,var(--payment-accent) 18%,var(--line));}
.payment-method-card:hover,.payment-method-card.is-selected{border-color:var(--payment-accent);}
.payment-method-card input[type="radio"]{accent-color:var(--payment-accent);}
.payment-method-card .payment-card-icon{color:var(--payment-accent);}
.payment-method-grid-compact{grid-template-columns:1fr;gap:8px;}
.payment-method-grid-compact .payment-method-card{min-height:0;padding:11px 13px;grid-template-columns:18px 38px minmax(0,1fr) 14px;}
.payment-method-grid-compact .payment-card-icon{width:36px;height:36px;border-radius:11px;}
.sslcommerz-checkout-note{background:linear-gradient(135deg,rgba(234,246,250,.72),rgba(255,255,255,.94));border:1px solid rgba(43,127,176,.18);}
.payment-admin-form{display:grid;gap:18px;}
.gateway-method-admin-list{display:grid;gap:12px;margin:14px 0 20px;}
.gateway-method-admin-card{padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--card);}
.gateway-method-admin-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.gateway-method-toggle{display:inline-flex;align-items:center;gap:9px;font-weight:750;color:var(--deep);cursor:pointer;}
.gateway-method-toggle input{position:absolute;opacity:0;width:1px;height:1px;}
.gateway-switch{position:relative;width:42px;height:24px;border-radius:99px;background:#c6d2da;transition:background .18s ease;flex:0 0 auto;}
.gateway-switch:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:transform .18s ease;}
.gateway-method-toggle input:checked+.gateway-switch{background:#17825e;}
.gateway-method-toggle input:checked+.gateway-switch:after{transform:translateX(18px);}
.gateway-method-toggle input:focus-visible+.gateway-switch{outline:3px solid rgba(43,127,176,.35);outline-offset:3px;}
.gateway-method-pill{font-size:.69rem;font-weight:850;letter-spacing:.08em;color:var(--soft);background:var(--sky);border-radius:999px;padding:5px 8px;}
.gateway-method-admin-fields,.gateway-credential-grid,.gateway-design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.gateway-method-admin-fields .f,.gateway-credential-grid .f,.gateway-design-grid .f{min-width:0;}
.gateway-design-grid input[type=color]{height:43px;width:100%;padding:4px;border:1px solid var(--line);border-radius:10px;background:#fff;}
.gateway-full-width{display:block;margin-top:14px;}
.gateway-credential-status{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0;}
.gateway-status-state{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:.76rem;font-weight:800;background:#f7e9e7;color:#9b443e;}
.gateway-status-state.is-present{background:#e8f5ef;color:#176f51;}
.gateway-clear-secret{display:flex;gap:9px;align-items:center;margin:14px 0;color:var(--soft);font-size:.88rem;}
.gateway-launch-list{padding-left:22px;color:var(--soft);line-height:1.8;}
.gateway-launch-list li{padding-left:3px;margin:.35em 0;}
.gateway-status-dot.is-ready{background:#17825e;box-shadow:0 0 0 4px rgba(23,130,94,.12);}
@media(max-width:700px){.gateway-method-admin-fields,.gateway-credential-grid,.gateway-design-grid{grid-template-columns:1fr}.gateway-method-admin-top{align-items:flex-start;flex-wrap:wrap}.payment-method-grid-compact .payment-method-card{grid-template-columns:18px 36px minmax(0,1fr) 10px}}
@media(prefers-reduced-motion:reduce){.gateway-switch,.gateway-switch:after{transition:none!important}}


/* v39 — longer welcome pacing and editorial typography for the opening word. */
.sf-loader-hello{
  position:relative;
  font-family:"Space Grotesk","Outfit",system-ui,sans-serif;
  font-size:clamp(4rem,10.5vw,7.4rem);
  font-weight:700;
  line-height:.88;
  letter-spacing:-.085em;
  text-wrap:balance;
  color:var(--deep);
  background:linear-gradient(112deg,#163e53 7%,#2b7fb0 51%,#78b8a5 96%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 18px 48px rgba(43,127,176,.08);
  animation:sf-intro-hello-v39 1.95s cubic-bezier(.19,.76,.19,1) both;
}
.sf-loader-hello::after{
  content:"";
  display:block;
  width:clamp(72px,12vw,148px);
  height:3px;
  margin:17px auto 0;
  border-radius:99px;
  background:linear-gradient(90deg,#2b7fb0,#7db8a6,#f0b48a);
  transform:scaleX(0);
  transform-origin:center;
  animation:sf-intro-rule-v39 1.35s cubic-bezier(.2,.75,.2,1) .28s both;
}
.sf-loader-welcome{
  font-size:clamp(1.55rem,3.8vw,2.85rem);
  font-weight:450;
  letter-spacing:-.045em;
  line-height:1.08;
  animation:sf-intro-welcome-v39 1s cubic-bezier(.2,.75,.2,1) 1.42s both;
}
.sf-loader-welcome strong{font-weight:750;letter-spacing:-.055em}
.sf-loader-caption{animation:sf-intro-caption-v39 .5s ease 2.05s both}
.sf-loader-brand{animation:sf-intro-caption-v39 .45s ease 2.28s both}
@keyframes sf-intro-hello-v39{
  0%{opacity:0;transform:translateY(28px) scale(.955);filter:blur(12px)}
  17%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
  68%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
  100%{opacity:0;transform:translateY(-15px) scale(1.018);filter:blur(3px)}
}
@keyframes sf-intro-rule-v39{
  0%,12%{opacity:0;transform:scaleX(0)}
  100%{opacity:1;transform:scaleX(1)}
}
@keyframes sf-intro-welcome-v39{
  0%{opacity:0;transform:translateY(18px) scale(.985);filter:blur(7px)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes sf-intro-caption-v39{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){
  .sf-site-loader{gap:12px;padding:22px}
  .sf-loader-hello{font-size:clamp(3.65rem,17vw,5.1rem)}
  .sf-loader-welcome{max-width:94vw;font-size:clamp(1.45rem,6.3vw,2rem);line-height:1.12}
  .sf-loader-brand{letter-spacing:.18em}
}
@media(prefers-reduced-motion:reduce){
  .sf-loader-hello::after{display:none}
  .sf-loader-welcome,.sf-loader-caption,.sf-loader-brand{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
}

/* v48: contact rail placement/collapse, conversion control, and Our Team directory */
.social-chat-rail{transition:width .22s ease}
.social-chat-rail:not([open]){width:40px}
.social-chat-rail:not([open])>summary{width:40px}
.social-chat-rail.contact-rail-right{left:auto;right:0;border-radius:13px 0 0 13px}
.social-chat-rail.contact-rail-right>summary svg{transform:rotate(180deg)}
.social-chat-rail.contact-rail-right:not([open])>summary svg{transform:rotate(0deg)}
.currency-display-picker{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin:0 auto 16px;max-width:1200px;padding:10px 14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.86);color:var(--soft);font-size:.9rem}
.currency-display-picker label{font-weight:600;color:var(--ink)}
.currency-display-picker select{padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:inherit}
.currency-display-picker small{flex-basis:100%;text-align:right;font-size:.75rem;line-height:1.4}
.currency-display-picker small a{color:var(--blue);text-underline-offset:2px}
@media(max-width:760px){.social-chat-rail{transition:width .18s ease}.social-chat-rail:not([open]){width:36px}.social-chat-rail:not([open])>summary{width:36px}.social-chat-rail.contact-rail-right{right:0;left:auto}.currency-display-picker{margin:12px 14px 18px;justify-content:flex-start}.currency-display-picker small{text-align:left}}
@media(prefers-reduced-motion:reduce){.social-chat-rail{transition:none!important}}
