:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#0f172a;background:#f6f7f9;--ink:#0b1220;--muted:#667085;--line:#e4e7ec;--accent:#d7ff64;--panel:#ffffff;--soft:#eef1f4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f8fafc 0,#f2f4f7 100%)}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(18px,4vw,56px);background:rgba(248,250,252,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(228,231,236,.85)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;text-decoration:none}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--ink);color:var(--accent);font-weight:900}.header-actions{display:flex;align-items:center;gap:8px}.text-button,.text-link{border:0;background:transparent;color:var(--ink);font-weight:750;padding:10px 12px;text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;background:var(--ink);color:#fff;padding:12px 16px;font-weight:800;text-decoration:none;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease}.button:hover,.service-card:hover,.journey-card:hover{transform:translateY(-2px)}.button:disabled{cursor:not-allowed;opacity:.5;transform:none}.button.small{padding:9px 13px;border-radius:11px;font-size:.9rem}.button.accent{background:var(--accent);color:var(--ink);box-shadow:0 12px 30px rgba(215,255,100,.16)}.button.glass{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px)}.button.outline{background:#fff;color:var(--ink);border:1px solid var(--line)}.button.secondary{background:#344054}.button.full{width:100%}main{width:min(1180px,100%);margin:0 auto;padding:0 clamp(16px,3vw,32px) 72px}.notice{position:fixed;top:82px;left:50%;transform:translateX(-50%);z-index:50;width:min(560px,calc(100% - 32px));padding:13px 16px;border-radius:14px;background:#ecfdf3;color:#027a48;border:1px solid #abefc6;box-shadow:0 12px 30px rgba(15,23,42,.12)}.notice.error{background:#fef3f2;color:#b42318;border-color:#fecdca}.hero{margin-top:28px;min-height:560px;border-radius:32px;overflow:hidden;background:radial-gradient(circle at 80% 30%,#25304a 0,transparent 32%),linear-gradient(135deg,#08111f 0%,#101c31 54%,#18243c 100%);color:#fff;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:clamp(28px,6vw,72px);position:relative}.hero:after{content:"";position:absolute;inset:auto -10% -34% 28%;height:50%;background:radial-gradient(ellipse at center,rgba(215,255,100,.18),transparent 66%)}.hero-copy{position:relative;z-index:2;max-width:650px}.eyebrow{font-size:.72rem;letter-spacing:.16em;font-weight:850;color:#667085;margin:0 0 8px}.eyebrow.light{color:#cbd5e1}.hero h1,.portal-header h1,.schedule-hero h1{font-size:clamp(2.8rem,7vw,5.6rem);line-height:.96;letter-spacing:-.055em;margin:0 0 24px}.hero-text{font-size:clamp(1rem,2vw,1.2rem);line-height:1.7;color:#cbd5e1;max-width:580px;margin:0 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-panel{height:100%;min-height:360px;position:relative}.hero-orb{position:absolute;border-radius:50%;filter:blur(2px)}.orb-one{width:280px;height:280px;background:linear-gradient(145deg,#d7ff64,#86a83c);top:15%;right:5%;box-shadow:0 40px 80px rgba(0,0,0,.3)}.orb-two{width:180px;height:180px;background:linear-gradient(145deg,#5f6b85,#1b263b);top:40%;right:32%;opacity:.9}.hero-card{position:absolute;right:0;bottom:9%;z-index:2;width:200px;padding:18px;border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(18px)}.hero-card p{margin:0;color:#d0d5dd;font-size:.85rem}.hero-card strong{display:block;margin-top:6px;font-size:1.1rem}.status-dot{display:block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-bottom:16px;box-shadow:0 0 0 6px rgba(215,255,100,.12)}.content-section{padding:88px 0 0}.section-heading,.toolbar,.portal-header,.schedule-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.section-heading h2,.toolbar h2,.schedule-toolbar h2{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.04em;margin:0}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.journey-card{min-height:410px;border-radius:28px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .18s ease,box-shadow .18s ease}.journey-card:hover{box-shadow:0 20px 60px rgba(15,23,42,.12)}.journey-card h3{font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.035em;margin:14px 0 12px}.journey-card p:not(.eyebrow){line-height:1.65;margin:0;color:inherit;opacity:.78}.journey-number{display:block;font-size:.78rem;font-weight:850;opacity:.55;margin-bottom:70px}.membership-card{background:linear-gradient(150deg,#0e1729,#25324b);color:white}.service-journey-card{background:#e9e2d8;color:#251f19}.activity-journey-card{background:#fff;border:1px solid var(--line)}.split-section{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch}.split-copy,.info-panel{border-radius:28px;padding:clamp(28px,5vw,52px)}.split-copy{background:#fff;border:1px solid var(--line)}.split-copy h2{font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.045em;line-height:1.02;margin:0 0 20px}.lead{font-size:1.05rem;line-height:1.75;margin-bottom:28px}.info-panel{background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.info-panel h3{font-size:2rem;margin:12px 0}.info-panel p{color:#cbd5e1;line-height:1.7}.info-label{font-size:.72rem;letter-spacing:.14em;font-weight:850;color:var(--accent)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.service-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;transition:transform .18s ease,box-shadow .18s ease}.service-card:hover{box-shadow:0 18px 46px rgba(15,23,42,.08)}.service-card span{font-size:.74rem;color:#98a2b3;font-weight:800}.service-card h3{font-size:1.35rem;margin:32px 0 10px}.service-card p{color:var(--muted);line-height:1.6;min-height:78px}.service-card button{border:0;background:var(--ink);color:#fff;border-radius:12px;padding:10px 14px;font-weight:800}.integration-note{margin:18px 0 0;color:#98a2b3;font-size:.85rem}.auth-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px}.auth-backdrop{position:absolute;inset:0;background:rgba(11,18,32,.58);backdrop-filter:blur(8px)}.auth-card{position:relative;z-index:2;width:min(480px,100%);background:#fff;border-radius:28px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.24)}.auth-card h2{font-size:2rem;margin:0 0 8px;letter-spacing:-.035em}.close-button{position:absolute;right:18px;top:16px;border:0;background:#f2f4f7;width:38px;height:38px;border-radius:50%;font-size:1.4rem}.muted,.meta{color:var(--muted)}.role-switch{display:grid;grid-template-columns:1fr 1fr;background:#f2f4f7;border-radius:14px;padding:4px;margin:22px 0}.role-option{border:0;background:transparent;border-radius:11px;padding:10px;font-weight:800;color:#667085}.role-option.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(15,23,42,.08)}.stack{display:grid;gap:14px}.stack label{display:grid;gap:6px;font-size:.88rem;font-weight:750}.stack input{width:100%;padding:13px 14px;border:1px solid #d0d5dd;border-radius:13px;background:#fff}.stack input:focus,.select-field select:focus{outline:3px solid rgba(215,255,100,.35);border-color:#98a842}.link-btn{border:0;background:transparent;color:var(--ink);font-weight:750;text-decoration:underline;padding:13px 0 0}.portal{padding-top:54px}.portal-header{align-items:flex-start;margin-bottom:42px}.portal-header h1{font-size:clamp(2.6rem,6vw,4.6rem);margin-bottom:12px}.list{display:grid;gap:12px;margin-top:18px}.item{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.item-head{display:flex;justify-content:space-between;gap:16px}.item h3{margin:0 0 5px}.meta{margin:0;font-size:.9rem}.badge{display:inline-flex;align-items:center;height:max-content;padding:6px 10px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:.76rem;font-weight:800}.actions{margin-top:14px}.danger{border:0;background:#b42318;color:white;border-radius:11px;padding:10px 13px;font-weight:800}.empty,.staff-placeholder{background:#fff;border:1px dashed #d0d5dd;border-radius:22px;padding:42px 22px;text-align:center;color:#667085}.staff-placeholder{max-width:680px;margin:20px auto}.staff-placeholder h2{color:var(--ink);font-size:2rem;margin:0 0 10px}.schedule-page{width:min(1220px,100%)}.schedule-hero{margin-top:28px;border-radius:30px;background:linear-gradient(135deg,#0a1322,#24324b);color:#fff;padding:clamp(34px,6vw,64px);display:flex;justify-content:space-between;align-items:flex-end;gap:28px}.schedule-hero>div{max-width:760px}.schedule-hero p:not(.eyebrow){color:#cbd5e1;line-height:1.7;max-width:650px}.schedule-shell{padding:54px 0 0}.schedule-toolbar{align-items:flex-end}.schedule-controls{display:flex;align-items:flex-end;gap:12px}.select-field{display:grid;gap:7px;min-width:min(360px,100%);font-size:.78rem;font-weight:800;color:#475467;text-transform:uppercase;letter-spacing:.08em}.select-field select{appearance:none;width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px 42px 13px 14px;color:var(--ink);font-weight:750;background-image:linear-gradient(45deg,transparent 50%,#667085 50%),linear-gradient(135deg,#667085 50%,transparent 50%);background-position:calc(100% - 18px) 53%,calc(100% - 13px) 53%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.class-list{display:grid;gap:12px;margin-top:24px}.class-card{display:grid;grid-template-columns:100px 1fr auto;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 8px 26px rgba(15,23,42,.035)}.class-time{display:grid;gap:4px;padding-right:20px;border-right:1px solid var(--line)}.class-time strong{font-size:1.45rem}.class-time span{color:#98a2b3;font-size:.82rem}.class-title-row{display:flex;justify-content:space-between;gap:12px}.class-category{font-size:.72rem;font-weight:850;letter-spacing:.1em;color:#98a2b3;margin:0 0 4px;text-transform:uppercase}.class-main h3{margin:0 0 8px;font-size:1.15rem}.class-message{margin:10px 0 0;font-size:.85rem;color:#475467}.class-action{display:flex;justify-content:flex-end}.schedule-help{margin:24px 0 0;background:#eaf7b7;border-radius:18px;padding:18px;display:flex;align-items:center;gap:14px}.schedule-help span{color:#526224;flex:1}.site-footer{display:flex;justify-content:space-between;gap:20px;padding:28px clamp(18px,4vw,56px);color:#98a2b3;border-top:1px solid var(--line);font-size:.85rem}@media(max-width:900px){.journey-grid{grid-template-columns:1fr}.journey-card{min-height:300px}.journey-number{margin-bottom:44px}.split-section{grid-template-columns:1fr}.class-card{grid-template-columns:80px 1fr}.class-action{grid-column:2}.schedule-toolbar{align-items:flex-start;flex-direction:column}.schedule-controls{width:100%}.select-field{flex:1}.select-field select{width:100%}}@media(max-width:800px){.hero{grid-template-columns:1fr;min-height:auto}.hero-panel{display:none}.service-grid{grid-template-columns:1fr}.content-section{padding-top:64px}.section-heading,.portal-header{align-items:flex-start;flex-direction:column}.portal-header .button{align-self:flex-start}.schedule-hero{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.header-actions .text-link{display:none}.schedule-controls{display:grid;grid-template-columns:1fr}.class-card{grid-template-columns:1fr}.class-action{grid-column:1;justify-content:flex-start}.class-time{grid-template-columns:auto auto;justify-content:flex-start;align-items:baseline;gap:8px;border-right:0;border-bottom:1px solid var(--line);padding:0 0 12px}.schedule-help{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.site-header{padding:14px 16px}.brand span:last-child{display:none}.hero{margin-top:14px;border-radius:24px;padding:34px 22px}.hero h1{font-size:3.2rem}.hero-actions{display:grid}.hero-actions .button{width:100%}.content-section{padding-top:52px}.section-heading{align-items:flex-start}.auth-card{padding:26px 20px}.site-footer{flex-direction:column}.item-head{display:block}.badge{margin-top:10px}.schedule-hero{margin-top:14px;border-radius:24px;padding:32px 22px}.schedule-hero h1{font-size:3.2rem}.schedule-help .button{width:100%}}
