:root{color-scheme:dark;--bg:#0b0d0d;--panel:#161919;--sub:#1e2321;--line:#303730;--text:#f4f7f2;--muted:#a4ada6;--lime:#baff13;--danger:#ff7f82;--warn:#ffdf84;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:15px;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.47}a{color:var(--lime)}:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
h1,h2,h3,p{margin:0}h1{font-size:clamp(29px,5vw,44px);line-height:1.04;letter-spacing:-1.2px}h2{font-size:23px;letter-spacing:-.6px}h3{font-size:18px}small,.muted{color:var(--muted)}.tiny{font-size:12px}.eyebrow{color:var(--lime);text-transform:uppercase;font-size:11px;letter-spacing:2.2px;font-weight:800}.caption{color:var(--muted);font-size:13px;line-height:1.6}.strong{font-weight:800}
.shell{max-width:1400px;margin:0 auto;padding:0 22px 110px}.header{display:flex;align-items:center;gap:18px;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 0}.brand{display:flex;align-items:center;gap:15px;min-width:0}.brand img{width:195px;max-width:38vw;max-height:55px;object-fit:contain;object-position:left}.brandword{font:800 clamp(19px,3vw,28px)/.9 Georgia,serif;letter-spacing:-1px}.brand small{display:block;font-size:10px;letter-spacing:2px;line-height:2;color:var(--muted);font-family:ui-sans-serif,sans-serif}.brandline{height:34px;width:1px;background:var(--line)}.product-name{font-weight:800;font-size:12px;letter-spacing:1.7px;color:var(--muted);line-height:1.4}.header-right{display:flex;align-items:center;gap:12px}.pill{display:inline-flex;align-items:center;gap:5px;border:1px solid #577423;background:#243211;border-radius:100px;color:var(--lime);padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.5px}.avatar{width:36px;height:36px;border:1px solid var(--line);background:var(--panel);border-radius:50%;display:grid;place-items:center;font-weight:800}
.layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:34px;padding-top:36px}.sidebar{display:flex;flex-direction:column;gap:8px}.nav{padding:15px 16px;text-align:left;background:transparent;color:var(--muted);border:0;border-radius:12px;font-weight:750;display:flex;align-items:center;gap:12px}.nav:hover{background:var(--sub);color:var(--text)}.nav.active{color:#101410;background:var(--lime)}.nav-icon{font-size:19px;width:22px;text-align:center}.sidebox{margin-top:25px;padding:18px 8px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.65}.sidebox strong{color:var(--text)}
main{min-width:0;max-width:930px}.hero{margin:4px 0 26px}.hero h1{margin:10px 0 10px}.hero p{color:var(--muted);max-width:630px;line-height:1.5}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;margin:16px 0}.panel h3{margin-bottom:10px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.space{justify-content:space-between}.stack{display:grid;gap:14px}.gap{gap:6px}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:24px 0 12px}.section-head span{font-size:13px;color:var(--muted)}
.week{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0 12px}.week strong{font-size:15px}.week button,.iconbutton{width:40px;height:40px;background:var(--panel);border:1px solid var(--line);border-radius:12px;color:var(--text);font-size:20px}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:8px 0 22px}.day{border:1px solid var(--line);border-radius:12px;color:var(--muted);background:var(--panel);min-height:67px;padding:8px 1px;font-size:12px}.day strong{display:block;font-size:21px;color:var(--text);margin-top:5px}.day.selected{background:var(--lime);border-color:var(--lime);color:#101410}.day.selected strong{color:#101410}
.cards{display:grid;gap:11px}.class-card{width:100%;display:grid;grid-template-columns:75px minmax(0,1fr) auto;gap:14px;align-items:center;text-align:left;padding:17px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:15px}.class-card:hover{border-color:#658328}.class-card .clock{font-weight:800;font-size:18px;padding-right:10px;border-right:1px solid var(--line)}.class-card h3{margin-bottom:5px}.class-card .details{font-size:12px;color:var(--muted);line-height:1.6}.status{border-radius:100px;background:#303633;color:#c5d0c4;padding:7px 11px;font-size:11px;font-weight:800;white-space:nowrap}.status.open{background:#293b0e;color:var(--lime)}.status.wait{background:#3d3219;color:var(--warn)}.status.booked{background:#233c37;color:#8ce7ca}.status.closed{background:#3b2729;color:#ffafb2}
.primary,.secondary,.danger{padding:12px 17px;min-height:43px;border-radius:11px;border:1px solid transparent;font-weight:800}.primary{background:var(--lime);color:#0c1009}.secondary{border-color:var(--line);background:var(--sub);color:var(--text)}.danger{border-color:#704245;background:#3b2426;color:#ffb6b9}.primary:hover{background:#d4ff75}.secondary:hover{background:#2b352f}.full{width:100%}.link-btn{background:none;border:0;padding:0;color:var(--lime);font-weight:700;text-decoration:underline}.flex{flex:1}
.field{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:700}.field input,.field select,.field textarea{min-width:0;width:100%;border:1px solid #435042;border-radius:10px;background:#111611;color:var(--text);padding:13px 12px;outline:none}.field input:focus,.field select:focus{border-color:var(--lime)}.form{display:grid;gap:17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.metric{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}.metric strong{display:block;font-size:27px}.metric span{font-size:12px;color:var(--muted)}
.tablewrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px;min-width:550px}.table th{text-align:left;color:var(--muted);font-weight:600;padding:12px 9px;border-bottom:1px solid var(--line)}.table td{padding:14px 9px;border-bottom:1px solid var(--line);vertical-align:middle}.table select{max-width:130px;background:#121512;color:var(--text);border:1px solid var(--line);padding:8px;border-radius:8px}
.overlay{position:fixed;inset:0;background:#000b;z-index:30;display:flex;align-items:flex-end;justify-content:center;padding:15px;overflow:auto}.dialog{background:#171b18;border:1px solid #465143;border-radius:19px;width:min(100%,510px);padding:24px;max-height:92vh;overflow-y:auto;box-shadow:0 10px 90px #0007}.dialog h2{margin:9px 0}.dialog .close{float:right;background:transparent;border:0;color:var(--muted);font-size:25px}.detail-row{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:13px 0}.detail-row span{color:var(--muted)}.detail-row strong{text-align:right}.warning{border:1px solid #735a27;background:#352d19;color:#ffe6a5;border-radius:13px;padding:13px 15px;font-size:13px;line-height:1.5}.success{border:1px solid #557327;background:#243716;color:#d3ff86;border-radius:13px;padding:13px 15px;font-size:13px}.empty{text-align:center;padding:35px 20px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);line-height:1.6}.list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:15px 0}.list-row:last-child{border:0}.list-row small{display:block;margin-top:5px}.auth-wrap{max-width:460px;margin:7vh auto 0}.auth-panel{padding:25px}.auth-head{text-align:center;margin:15px 0 26px}.auth-head h1{margin:12px 0}.auth-tabs{display:flex;gap:8px;margin-bottom:20px}.auth-tabs button{flex:1}
#toast{position:fixed;z-index:80;bottom:30px;left:50%;transform:translateX(-50%);background:#d4ff70;color:#18210e;padding:14px 20px;border-radius:12px;font-weight:800;box-shadow:0 12px 40px #0008;max-width:90vw;display:none}#toast.error{background:#ffabad;color:#341b1c}.loading{min-height:60vh;display:grid;place-content:center;justify-items:center;gap:20px;color:var(--muted)}.spinner{width:35px;height:35px;border:3px solid var(--line);border-top-color:var(--lime);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.footer{color:#728071;font-size:11px;letter-spacing:.4px;margin-top:42px;padding-top:20px;border-top:1px solid var(--line)}.footer a{color:var(--muted)}
.bottomnav{display:none}
@media(max-width:850px){.shell{padding:0 14px 100px}.layout{display:block;padding-top:18px}.sidebar{display:none}.header{padding:13px 0}.header .product-name,.brandline{display:none}.brand img{width:165px;max-width:48vw}.header-right .muted{display:none}main{max-width:none}.hero{margin-top:14px}.bottomnav{position:fixed;bottom:0;left:0;right:0;z-index:15;padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:#121613f5;border-top:1px solid var(--line);display:flex;justify-content:space-around;gap:5px}.bottomnav button{background:transparent;color:var(--muted);border:0;display:grid;gap:3px;justify-items:center;padding:7px;font-weight:700;font-size:10px;min-width:52px}.bottomnav button.active{color:var(--lime)}.bottomnav button span{font-size:22px}.metrics{grid-template-columns:repeat(3,1fr)}.metric{padding:12px}.metric strong{font-size:21px}.class-card{grid-template-columns:59px minmax(0,1fr);gap:10px;padding:14px}.class-card .clock{font-size:15px}.class-card .status{grid-column:2;justify-self:start}.form-grid{grid-template-columns:1fr}.dialog{padding:19px}.overlay{padding:0}.overlay .dialog{border-radius:20px 20px 0 0;max-height:90vh;width:100%}.section-head{margin-top:21px}.days{gap:5px}.day{min-height:60px}.day strong{font-size:18px}}
.communication{border-left:3px solid var(--lime);background:#171f16}.communication .eyebrow{margin-bottom:8px}.communication h3{margin:0 0 10px}.communication-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin-bottom:12px;color:var(--text)}.communication .caption{margin-top:12px}.field textarea{resize:vertical;min-height:105px;line-height:1.5}

.guest-content{max-width:930px;margin:30px auto 0}.guest-content .hero{margin-bottom:30px}.guest-content .class-card{cursor:default}.guest-content .communication{border-left:3px solid var(--lime)}.auth-wrap{max-width:500px}.auth-tabs{flex-wrap:wrap}.auth-tabs button{min-width:90px}#recaptcha-container{min-height:78px;max-width:100%;overflow:hidden}input[type=tel]{font-size:18px;letter-spacing:.03em}


/* 2026 interface refresh: one visual system for guests, members and staff. */
:root{
 --lime:#c3fa47;--bg:#0b100e;--panel:#16201b;--sub:#202d26;--line:#33473b;
 --muted:#b4c1b6;
}
body{
 background:radial-gradient(ellipse 80% 30% at 75% -5%,rgba(147,226,73,.11),transparent 75%),
 radial-gradient(ellipse 70% 36% at 0% 35%,rgba(36,106,72,.1),transparent 75%),var(--bg);
 min-height:100vh;
}
.header{
 position:relative;z-index:10;
 margin:0 -12px;padding:18px 16px;
 border-bottom:1px solid rgba(195,250,71,.18);
 border-radius:0 0 18px 18px;
 background:linear-gradient(100deg,rgba(20,36,27,.92),rgba(12,20,16,.8));
 box-shadow:0 12px 32px rgba(0,0,0,.12);
}
.brand-link{color:var(--text);text-decoration:none;gap:16px;transition:opacity .18s ease}
.brand-link:hover{opacity:.87}
.brand img{width:188px;max-height:54px}
.brand .brandline{height:36px;background:#526d4e}
.brand .product-name{display:flex;flex-direction:column;gap:1px;font-size:13px;letter-spacing:2px;color:var(--text);line-height:1.25}
.brand-hub{color:var(--lime);font-size:15px;letter-spacing:4px}
.brand-sub{font-size:9px;letter-spacing:1px;color:var(--muted);font-weight:500;text-transform:uppercase;white-space:nowrap;margin-top:4px}
.header-right{gap:14px}
.pill{border-color:#50733a;background:#23391f;color:#d2ff93;padding:8px 12px;letter-spacing:.9px}
.avatar{width:42px;height:42px;border:1px solid #5c7d4b;background:linear-gradient(135deg,#364b35,#1a2a1d);color:var(--lime)}
.hero{padding:8px 0 4px}
.hero h1{letter-spacing:-1.5px}
.hero p{max-width:720px}
.panel,.metric,.class-card{
 background:linear-gradient(145deg,rgba(29,43,34,.97),rgba(17,27,21,.98));
 border-color:rgba(131,161,132,.24);
 box-shadow:0 6px 24px rgba(0,0,0,.1);
}
.panel{border-radius:19px}
.class-card{border-radius:18px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.class-card:hover{transform:translateY(-2px);border-color:rgba(195,250,71,.6);box-shadow:0 14px 32px rgba(0,0,0,.2)}
.class-card .clock{color:var(--lime);font-variant-numeric:tabular-nums}
.class-card .details{font-size:13px;color:#b8c8b9}
.nav{transition:background .15s ease,color .15s ease;border:1px solid transparent}
.nav.active{box-shadow:0 7px 22px rgba(195,250,71,.12)}
.nav:not(.active):hover{border-color:var(--line)}
.week button,.day,.primary,.secondary,.danger{transition:border-color .16s ease,background .16s ease,transform .16s ease}
.day:hover,.week button:hover{border-color:var(--lime)}
.day.selected{box-shadow:0 8px 22px rgba(181,242,58,.15)}
.primary:hover{transform:translateY(-1px)}
.metric strong{letter-spacing:-1px}
.auth-panel{box-shadow:0 24px 70px rgba(0,0,0,.27);border-color:rgba(195,250,71,.24)}
.auth-wrap{margin-top:35px}
.site-footer{
 display:grid;gap:16px;padding:24px 0 12px;margin-top:48px;
 border-top:1px solid rgba(195,250,71,.2);
 font-size:12px;letter-spacing:0;line-height:1.65;color:var(--muted)
}
.footer-main,.footer-meta{display:flex;align-items:center;justify-content:space-between;gap:10px 28px;flex-wrap:wrap}
.footer-identity{color:var(--text);font-weight:800;letter-spacing:1.6px}
.footer-identity strong{color:var(--lime)}
.footer-credit a{color:var(--lime);font-weight:750;text-decoration:none;border-bottom:1px solid rgba(195,250,71,.45);padding-bottom:2px}
.footer-credit a:hover{color:#e5ffb0;border-bottom-color:currentColor}
.footer-extra{display:flex;gap:10px;align-items:center;justify-content:flex-end}
.bottomnav button.active{color:var(--lime)}
@media(max-width:850px){
 .shell{padding-bottom:108px}
 .header{margin:0 -6px;padding:14px 10px}
 .brand img{width:144px;max-width:43vw}
 .brand .product-name{display:flex;font-size:10px;letter-spacing:1.2px}
 .brand-hub{font-size:11px;letter-spacing:2px}
 .brand-sub,.brand .brandline{display:none}
 .header-right .pill{font-size:9px;padding:7px}
 .header-right .avatar{height:36px;width:36px;font-size:12px}
 .site-footer{gap:12px;margin-top:36px}
 .footer-main,.footer-meta{align-items:flex-start;flex-direction:column;gap:6px}
 .footer-extra{justify-content:flex-start}
 .class-card:hover{transform:none}
 .bottomnav{background:rgba(12,23,17,.97);backdrop-filter:blur(16px);box-shadow:0 -12px 35px rgba(0,0,0,.18)}
}
@media(max-width:390px){
 .brand img{width:115px;max-width:37vw}
 .header{gap:5px}
 .brand-link{gap:7px}
 .header-right{gap:6px}
 .header-right .pill{letter-spacing:0}
}
@media(prefers-reduced-motion:reduce){
 .class-card,.nav,.brand-link,.primary,.secondary,.day,.week button{transition:none!important}
 .class-card:hover,.primary:hover{transform:none}
}


/* Official Yumnasia brand experience — use original artwork, not reconstructed logos. */
.brand-header{
 isolation:isolate;
 border-color:rgba(191,247,86,.17);
 backdrop-filter:blur(16px);
}
.brand-header:after{content:"";position:absolute;inset:auto 18px 0;height:1px;background:linear-gradient(90deg,transparent,rgba(195,250,71,.3),transparent);pointer-events:none}
.brand-header .brand img{width:clamp(148px,16vw,205px);max-width:42vw}
.brand-header .product-name{display:flex;align-items:flex-start;flex-direction:column;gap:4px}
.brand-header .brand-hub{font-size:16px;letter-spacing:4.1px;line-height:1.05}
.brand-header .brand-sub{font-size:9px;letter-spacing:1.3px}
.header-cta{min-height:43px;white-space:nowrap}
.header-cta span{padding-left:8px}
main.guest-content{max-width:1230px;margin:0 auto;width:100%;padding-top:24px}
.welcome-hero{
 display:grid;grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr);
 min-height:460px;overflow:hidden;isolation:isolate;
 border:1px solid rgba(177,222,135,.23);border-radius:28px;
 background:radial-gradient(circle at 80% 18%,rgba(175,246,66,.1),transparent 45%),
 linear-gradient(126deg,#162b1e 0%,#111d16 51%,#0b1510 100%);
 box-shadow:0 30px 70px rgba(0,0,0,.19);
}
.welcome-copy{padding:clamp(30px,5vw,68px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;z-index:2}
.welcome-kicker{display:flex;align-items:center;gap:9px;color:#c6e3c4;font-size:11px;letter-spacing:2.1px;font-weight:800;margin-bottom:27px}
.welcome-indicator{display:block;flex-shrink:0;width:9px;height:9px;background:var(--lime);border-radius:50%;box-shadow:0 0 0 5px rgba(195,250,71,.12)}
.welcome-hero h1{font-size:clamp(43px,6.3vw,82px);letter-spacing:-3px;line-height:.98;font-weight:900;color:#f7fff6;margin:0 0 22px}
.welcome-hero h1 em{font-style:normal;color:var(--lime)}
.welcome-copy>p{font-size:clamp(15px,1.55vw,18px);line-height:1.7;color:#c5d6c7;max-width:490px;margin-bottom:28px}
.welcome-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.welcome-primary,.welcome-secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;border-radius:12px;min-height:50px;padding:14px 20px}
.welcome-primary{box-shadow:0 14px 35px rgba(195,250,71,.13)}
.welcome-secondary{border:1px solid rgba(200,237,183,.26);background:rgba(255,255,255,.045)}
.welcome-secondary:hover{color:#fff}
.welcome-footnote{font-size:12px;letter-spacing:.8px;color:#acc2b2;margin-top:30px}
.welcome-footnote span{color:var(--lime);margin-right:7px}
.welcome-visual{
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 position:relative;isolation:isolate;overflow:hidden;
 padding:50px 38px 90px;
 background:linear-gradient(155deg,rgba(95,135,77,.17),rgba(4,15,9,.22));
 border-left:1px solid rgba(177,222,135,.13)
}
.welcome-visual:before{content:"";position:absolute;inset:-28%;background:url('/assets/logo-white.svg') center center/110% auto no-repeat;opacity:.055;transform:rotate(-20deg);z-index:-1}
.welcome-visual:after{content:"";position:absolute;border:1px solid rgba(195,250,71,.19);height:290px;width:290px;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1}
.welcome-glow{position:absolute;width:280px;height:280px;left:50%;top:46%;transform:translate(-50%,-50%);background:#a1e84c;opacity:.09;filter:blur(75px);border-radius:50%}
.welcome-logo{width:min(96%,405px);height:auto;max-height:180px;object-fit:contain;filter:drop-shadow(0 20px 25px rgba(0,0,0,.3));position:relative}
.welcome-visual-caption{display:flex;align-items:center;justify-content:space-between;gap:30px;position:absolute;bottom:89px;left:45px;right:45px;font-size:12px;letter-spacing:2.4px;color:#dcefd6;font-weight:800;line-height:1.6}
.welcome-spark{font-size:43px;line-height:1;color:var(--lime);font-weight:400}
.welcome-ticket{
 position:absolute;bottom:0;left:0;right:0;min-height:64px;padding:12px 26px;
 background:var(--lime);color:#182613;display:flex;align-items:center;justify-content:space-between;gap:10px
}
.welcome-ticket img{width:clamp(125px,20vw,220px);height:auto;max-height:40px;object-fit:contain;object-position:left}
.welcome-ticket strong{font-size:11px;letter-spacing:2px;white-space:nowrap}
.experience-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:17px 0 50px}
.experience-strip>div{display:flex;align-items:center;gap:15px;min-width:0;background:linear-gradient(145deg,rgba(35,55,39,.88),rgba(17,30,21,.85));border:1px solid rgba(177,222,135,.15);padding:20px 19px;border-radius:17px}
.feature-symbol{display:grid;place-items:center;flex:none;font-size:25px;width:45px;height:45px;border-radius:13px;background:rgba(195,250,71,.1);color:var(--lime)}
.experience-strip>div>span:last-child{display:grid;gap:5px}
.experience-strip strong{font-size:14px;color:#eef7ef}
.experience-strip small{font-size:12px;line-height:1.4;color:var(--muted)}
.schedule-section{scroll-margin-top:20px;margin:0 0 30px}
.schedule-intro{max-width:760px;padding:4px 0 10px}
.schedule-intro h2{font-size:clamp(31px,4.2vw,50px);letter-spacing:-1.5px;line-height:1.07;margin:12px 0 13px}
.schedule-intro h2 span{color:var(--lime)}
.schedule-intro p{font-size:14px;line-height:1.8;color:var(--muted)}
.schedule-day-head{padding-top:5px}
.guest-class-card{grid-template-columns:90px minmax(0,1fr) auto;cursor:default;min-height:95px;padding:19px 22px}
.guest-class-card .clock{font-size:21px}
.class-content{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.class-label{font-size:10px;letter-spacing:1.9px;color:#91b293;font-weight:800}
.class-content h3{font-size:19px;margin-bottom:2px}
.guest-class-card:hover{transform:none}
.join-panel{
 display:flex;align-items:center;justify-content:space-between;gap:26px;
 margin:42px 0 0;padding:36px clamp(24px,4vw,50px);
 border-radius:23px;position:relative;overflow:hidden;isolation:isolate;
 background:linear-gradient(110deg,#d2ff79,#afe839);color:#172216
}
.join-panel:after{content:"";position:absolute;width:430px;height:100%;right:-130px;top:0;background:url('/assets/logo-black.svg') center / 100% auto no-repeat;opacity:.055;z-index:-1}
.join-panel .eyebrow{color:#41682c}
.join-panel h2{color:#182716;font-size:clamp(25px,3vw,35px);margin:8px 0}
.join-panel p{color:#35532c;max-width:610px;line-height:1.6;font-size:14px}
.join-panel .primary{flex:none;background:#15291d;color:#e4ffbb;border-color:#15291d;padding:14px 22px}
.join-panel .primary:hover{background:#284930}
.site-footer{border-top-color:rgba(195,250,71,.24);margin-top:60px;padding-top:29px;gap:26px}
.site-footer .footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px 35px;flex-wrap:wrap}
.footer-brand{display:flex;align-items:center;gap:18px;max-width:700px}
.footer-brand img{width:180px;height:auto;object-fit:contain;flex:none}
.footer-brand>span{font-size:12px;color:var(--muted);line-height:1.65}
.footer-location{display:flex;flex-direction:column;gap:4px;font-weight:850;font-size:13px;letter-spacing:1.1px;color:var(--text)}
.footer-location strong{color:var(--lime)}
.footer-location span{font-size:10px;letter-spacing:.3px;color:var(--muted);font-weight:500}
.site-footer .footer-meta{padding-top:17px;border-top:1px solid rgba(166,197,169,.17)}
.site-footer .footer-credit a{color:var(--lime)}
.auth-crest{max-width:280px;margin:0 auto 22px;padding:18px 22px 15px;border:1px solid rgba(195,250,71,.19);background:linear-gradient(145deg,rgba(50,79,53,.32),rgba(11,22,15,.65));border-radius:17px;position:relative;overflow:hidden}
.auth-crest:after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--lime),transparent);opacity:.7}
.auth-crest img{width:100%;height:auto;display:block}
.auth-crest-small{max-width:200px;margin:0 auto 25px}
.auth-wrap{max-width:520px;margin:35px auto 0}
.auth-wrap .auth-head{position:relative}
.auth-wrap .auth-head h1{font-size:clamp(29px,4vw,41px)}
.auth-wrap .auth-head .eyebrow{letter-spacing:2px}
.auth-wrap .auth-panel{border-radius:20px;padding:clamp(20px,3.5vw,33px)}
.auth-wrap .field input:focus{box-shadow:0 0 0 3px rgba(195,250,71,.12)}
/* Unify the internal app with the public facing brand system. */
.layout .sidebar{gap:6px}
.layout .sidebox{border-top-color:rgba(195,250,71,.2);border-radius:0 0 10px 10px}
.layout .sidebox:before{content:"IL TUO SPAZIO YUMNASIA";display:block;font-size:10px;letter-spacing:1.7px;font-weight:800;color:var(--lime);margin-bottom:15px}
.layout main .hero{position:relative;border-left:3px solid rgba(195,250,71,.58);padding:9px 0 9px 20px}
.layout main .hero h1{font-size:clamp(30px,4vw,44px);margin:7px 0}
.layout main .hero .eyebrow{letter-spacing:1.8px}
.layout .metrics .metric{border-top:2px solid rgba(195,250,71,.31)}
.bottomnav{border-top-color:rgba(195,250,71,.2)}
@media(max-width:1020px){
 .welcome-hero{grid-template-columns:minmax(0,1fr) minmax(290px,.75fr)}
 .welcome-copy{padding:37px}
 .welcome-hero h1{font-size:clamp(43px,6vw,65px)}
 .welcome-visual{padding:34px 24px 84px}
 .welcome-visual-caption{left:26px;right:26px}
 .experience-strip>div{padding:17px 13px;gap:11px}
}
@media(max-width:760px){
 .brand-header .brand img{width:clamp(128px,35vw,170px)}
 .brand-header .brand-sub{display:none}
 .brand-header .header-right{gap:8px}
 main.guest-content{padding-top:14px}
 .welcome-hero{grid-template-columns:minmax(0,1fr);border-radius:22px}
 .welcome-copy{padding:35px 28px 37px}
 .welcome-hero h1{font-size:clamp(43px,10vw,64px);letter-spacing:-2.3px}
 .welcome-copy>p{font-size:15px}
 .welcome-visual{min-height:250px;border-left:0;border-top:1px solid rgba(177,222,135,.13);padding:34px 24px 74px}
 .welcome-logo{max-width:300px}
 .welcome-visual:after{width:225px;height:225px}
 .welcome-visual-caption{bottom:83px}
 .welcome-ticket{min-height:57px}
 .welcome-ticket img{width:160px}
 .welcome-spark{font-size:27px}
 .experience-strip{grid-template-columns:1fr;gap:9px;margin:12px 0 38px}
 .experience-strip>div{padding:13px 17px;border-radius:13px}
 .feature-symbol{height:37px;width:37px;font-size:21px}
 .schedule-intro h2{font-size:34px}
 .guest-class-card{grid-template-columns:66px minmax(0,1fr);padding:16px}
 .guest-class-card .clock{font-size:17px}
 .guest-class-card .status{grid-column:2;justify-self:start;margin-top:2px}
 .join-panel{flex-direction:column;align-items:flex-start;padding:29px 24px}
 .join-panel .primary{width:100%}
 .site-footer .footer-top{align-items:flex-start}
 .footer-brand{align-items:flex-start}
 .footer-brand img{width:130px}
 .footer-brand>span{max-width:220px}
}
@media(max-width:420px){
 .welcome-copy{padding:29px 20px 31px}
 .welcome-kicker{font-size:9px;letter-spacing:1px}
 .welcome-actions{width:100%}
 .welcome-primary,.welcome-secondary{width:100%;min-height:46px}
 .welcome-footnote{margin-top:24px}
 .brand-header .brand img{width:123px;max-width:36vw}
 .brand-header .brand-hub{font-size:10px;letter-spacing:2px}
 .brand-header .header-right .header-cta{padding:8px 10px;min-height:38px;font-size:11px}
 .footer-brand{flex-wrap:wrap;gap:12px}
 .welcome-ticket img{width:133px}
 .welcome-ticket strong{font-size:9px;letter-spacing:1px}
}
@media(prefers-reduced-motion:reduce){
 .welcome-hero .welcome-glow{filter:none}
}


/* Yumnasia-only identity: simple footer, official logo, compact avatar menu. */
.brand-header{z-index:45;isolation:auto}
.brand-header .brand-link{display:inline-flex;min-width:0;align-items:center}
.brand-header .brand-link img{width:clamp(155px,18vw,228px);max-width:55vw;height:auto;object-fit:contain}
.brand-header .brandline,.brand-header .product-name{display:none!important}
.brand-header .header-right{display:flex;align-items:center;gap:13px}
.account-menu{position:relative;display:block;flex:none}
.account-menu .account-trigger{
 display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;
 border:1px solid rgba(195,250,71,.28);border-radius:100px;
 padding:5px 11px 5px 5px;background:rgba(195,250,71,.065);
 transition:background .2s ease,border-color .2s ease;
}
.account-menu .account-trigger::-webkit-details-marker{display:none}
.account-menu .account-trigger:hover,.account-menu[open] .account-trigger{background:rgba(195,250,71,.15);border-color:rgba(195,250,71,.56)}
.account-menu .account-trigger:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.account-menu .avatar{
 display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
 background:linear-gradient(145deg,#335236,#1b3023);border:1px solid rgba(195,250,71,.48);
 color:var(--lime);font-size:15px;font-weight:850;
}
.account-chevron{font-size:19px;color:var(--muted);line-height:1;transform:translateY(-2px);transition:transform .18s ease}
.account-menu[open] .account-chevron{transform:translateY(2px) rotate(180deg)}
.account-dropdown{
 position:absolute;right:0;top:calc(100% + 11px);width:min(275px,calc(100vw - 30px));
 z-index:150;display:flex;flex-direction:column;gap:3px;padding:9px;
 border-radius:16px;border:1px solid rgba(195,250,71,.27);
 background:#17221a;box-shadow:0 18px 48px rgba(0,0,0,.48);
}
.account-dropdown .account-identity{display:grid;gap:4px;padding:11px 11px 13px;margin-bottom:3px;border-bottom:1px solid rgba(195,250,71,.15)}
.account-dropdown .account-identity strong{font-size:14px;color:#f3fff0}
.account-dropdown .account-identity small{font-size:12px;overflow-wrap:anywhere;line-height:1.45}
.account-dropdown button{
 display:flex;align-items:center;gap:12px;text-align:left;width:100%;min-height:44px;
 padding:10px 12px;border:0;border-radius:10px;background:transparent;color:var(--text);
 font-size:14px;font-weight:650;
}
.account-dropdown button:hover,.account-dropdown button:focus-visible{background:rgba(195,250,71,.1);color:var(--lime)}
.account-dropdown button span{display:inline-grid;place-items:center;width:18px;color:var(--lime);font-size:18px}
.account-dropdown button:last-child{border-top:1px solid rgba(195,250,71,.13);margin-top:3px;border-radius:4px 4px 10px 10px}
.site-footer{
 display:block;width:100%;margin-top:52px;padding:26px 0 16px;
 border-top:1px solid rgba(195,250,71,.2);
 color:var(--muted);background:transparent;font-size:12px;
}
.footer-simple{display:flex;align-items:center;gap:22px;min-height:55px}
.footer-simple>img{display:block;width:155px;max-height:54px;height:auto;object-fit:contain;flex:none}
.footer-simple>p{color:#c1cbc0;font-size:13px;line-height:1.45}
.footer-simple .footer-credit{margin-left:auto;text-align:right;font-size:12px;white-space:nowrap}
.footer-simple .footer-credit a{color:var(--lime);font-weight:750;text-decoration:none;border-bottom:1px solid rgba(195,250,71,.45);padding-bottom:2px}
.footer-simple .footer-credit a:hover{color:#edffcf;border-bottom-color:currentColor}
@media(max-width:760px){
 .brand-header .brand-link img{width:clamp(135px,34vw,190px);max-width:52vw}
 .brand-header .header-right .pill{display:none}
 .account-menu .account-trigger{padding:4px 9px 4px 4px}
 .account-menu .avatar{width:35px;height:35px;font-size:14px}
 .footer-simple{align-items:flex-start;flex-wrap:wrap;gap:10px 18px}
 .footer-simple>img{width:140px}
 .footer-simple>p{flex:1;min-width:145px}
 .footer-simple .footer-credit{width:100%;margin:6px 0 0;text-align:left;white-space:normal}
}
@media(max-width:390px){
 .brand-header .brand-link img{width:130px;max-width:43vw}
 .footer-simple>img{width:125px}
 .footer-simple>p{font-size:12px;min-width:135px}
}
@media(prefers-reduced-motion:reduce){
 .account-menu .account-trigger,.account-chevron{transition:none}
}


/* Mobile hero: the logo, subtitle and lime brand ribbon each occupy their own
   row in normal flow. No absolute overlays or duplicate logos on iPhone. */
.welcome-visual{
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 gap:18px;min-height:315px;padding:42px 0 0;overflow:hidden;
}
.welcome-visual::before,.welcome-visual::after{content:none;display:none}
.welcome-visual .welcome-logo{
 position:relative;z-index:1;display:block;flex:0 0 auto;
 width:min(80%,390px);max-width:390px;height:auto;max-height:none;
 margin:0 auto;object-fit:contain;
}
.welcome-visual .welcome-glow{pointer-events:none}
.welcome-visual-caption{
 position:static;display:block;flex:0 0 auto;
 margin:0 auto 18px;padding:0 16px;
 font-size:11px;line-height:1.5;font-weight:700;
 text-transform:uppercase;letter-spacing:2px;text-align:center;
 color:#d2e5c8;
}
.welcome-visual .welcome-ticket{
 position:relative;inset:auto;display:flex;justify-content:center;align-items:center;
 flex:none;width:100%;min-height:62px;margin-top:auto;padding:16px 18px;
 background:var(--lime);color:#182613;text-align:center;
}
.welcome-visual .welcome-ticket strong{
 font-size:12px;letter-spacing:2.4px;line-height:1.3;
 white-space:normal;overflow-wrap:break-word;
}
.ui-icon{
 display:inline-block;vertical-align:middle;flex:none;
 width:20px;height:20px;color:inherit;stroke:currentColor;
 stroke-linecap:round;stroke-linejoin:round;
}
.feature-symbol .ui-icon{width:25px;height:25px}
.nav-icon .ui-icon,.bottomnav-icon .ui-icon{width:20px;height:20px}
.nav-icon,.bottomnav-icon{display:inline-flex;align-items:center;justify-content:center}
.account-chevron .ui-icon{width:17px;height:17px}
.account-dropdown button>.ui-icon{width:19px;height:19px;color:var(--lime)}
.welcome-primary .ui-icon,.welcome-secondary .ui-icon{width:18px;height:18px}
.welcome-footnote{display:inline-flex;align-items:center;gap:8px}
.welcome-footnote .ui-icon{width:16px;height:16px;color:var(--lime)}
.week button .ui-icon{width:20px;height:20px}
@media(max-width:760px){
 .welcome-visual{min-height:280px;gap:16px;padding-top:34px}
 .welcome-visual .welcome-logo{width:min(79%,300px);max-width:300px}
 .welcome-visual-caption{margin-bottom:12px;font-size:10px;letter-spacing:1.4px}
 .welcome-visual .welcome-ticket{min-height:58px;padding:15px 18px}
 .welcome-visual .welcome-ticket strong{font-size:12px;letter-spacing:2px}
 .feature-symbol .ui-icon{width:21px;height:21px}
}
@media(max-width:420px){
 .welcome-visual{min-height:264px;padding-top:30px}
 .welcome-visual .welcome-logo{width:min(82%,285px)}
 .welcome-visual-caption{padding:0 12px;letter-spacing:1px}
 .welcome-visual .welcome-ticket{min-height:58px;margin-top:auto;padding:15px 16px}
 .welcome-visual .welcome-ticket strong{font-size:12px;letter-spacing:1.8px}
}
