*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:10px}:root{--ink: #0d0d0d;--ink-soft: #1b1b1b;--paper: #ffffff;--sand: #f5f2ec;--sand-deep: #ece7dd;--muted: #6d6a64;--line: #e4dfd5;--red: #d12630;--red-dark: #a81620;--brand: #d12630;--brand-dark: #a81620;--brand-light: #fbe3e4;--accent: #0d0d0d;--accent-dark: #000000;--accent-light: #f5f2ec;--success: #3f7d54;--warning: #b7791f;--danger: #b4472e;--gray-50: #faf9f6;--gray-100: #f5f2ec;--gray-200: #e4dfd5;--gray-400: #a8a29a;--gray-600: #6d6a64;--gray-700: #45423d;--gray-900: #16150f;--radius: 2px;--shadow: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 8px 24px -12px rgba(0,0,0,.25);--shadow-lg: 0 24px 60px -24px rgba(0,0,0,.35);--font-display: "Oswald", "Arial Narrow", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);line-height:1.65;min-height:100vh;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:url(/assets/logo-BEwLN0E2.png) center center / min(520px,60vw) no-repeat;opacity:.05;pointer-events:none}h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:600;line-height:1.04}.kicker{display:inline-block;font-family:var(--font-display);font-weight:500;text-transform:uppercase;letter-spacing:.32em;font-size:.72rem;color:var(--red);margin-bottom:1rem}.eyebrow{display:block;font-family:var(--font-display);font-weight:300;text-transform:uppercase;letter-spacing:.3em;font-size:.8rem;color:var(--muted);margin-top:.6rem}.site-header{position:sticky;top:0;z-index:60;background:#fff;color:var(--ink);border-bottom:1px solid rgba(0,0,0,.08)}.header-bar{max-width:1280px;width:min(1280px,96%);margin:0 auto;padding:0 2rem;height:72px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.logo{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:700;font-size:1.5rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none;white-space:nowrap}.logo-mark{width:34px;height:34px;display:block;flex-shrink:0}.footer-brand .logo-mark{width:40px;height:40px}.logo span{font-size:.62rem;font-weight:400;letter-spacing:.34em;color:var(--red)}.main-nav{display:flex;align-items:center;gap:.35rem}.main-nav a{color:#0000009e;text-decoration:none;font-family:var(--font-display);font-weight:400;font-size:.82rem;text-transform:uppercase;letter-spacing:.16em;padding:.5rem .85rem;transition:color .18s;position:relative}.main-nav a:hover,.main-nav a.active{color:var(--red);font-weight:700;transition:color .18s ease,font-weight .18s ease}.main-nav a.active:after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.1rem;height:1px;background:var(--red)}.header-actions{display:flex;align-items:center;gap:1rem}.call-cta{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink);text-decoration:none;font-family:var(--font-display);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;opacity:.85}.call-cta:hover{opacity:1;color:var(--red)}.nav-toggle{display:none;background:none;border:none;color:var(--ink);font-size:1.6rem;cursor:pointer;line-height:1}.hero-video{padding:0;min-height:88vh}.hero-bg-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-video:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#0808088c,#080808bf);z-index:1}.hero-video .hero-inner{position:relative;z-index:2}.video-mute-toggle{position:absolute;bottom:1.5rem;right:1.5rem;z-index:2;background:#ffffff1f;border:1px solid rgba(255,255,255,.4);color:#fff;padding:.5rem 1rem;border-radius:2px;cursor:pointer;font-family:var(--font-display);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}.value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.video-showcase{text-align:center}.showcase-video{width:100%;max-width:900px;margin:0 auto;display:block;aspect-ratio:16 / 9;background:#000}@media (max-width: 768px){.hero-video{min-height:92vh}}.hero{position:relative;min-height:82vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:4.25rem 2rem 4rem;background:linear-gradient(#0808088c,#080808b8),url(/assets/long-background-YzioNZzj.png) center/cover no-repeat}.hero-inner{max-width:1200px;width:min(1200px,92%);margin:0 auto}.hero-kicker{display:inline-block;font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.4em;font-size:.8rem;color:var(--red);margin-bottom:1rem}.hero h1{font-size:clamp(2.8rem,7vw,5.6rem);font-weight:700;text-transform:uppercase;letter-spacing:.01em;margin-bottom:1rem}.hero p{font-size:1.1rem;max-width:620px;margin:0 auto 1.75rem;color:#ffffffd1;font-weight:400}.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}.hero-badges{display:flex;gap:2.5rem;justify-content:center;flex-wrap:wrap}.badge{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.16em;font-size:.82rem;font-weight:400;color:#ffffffd9;position:relative}.badge+.badge:before{content:"";position:absolute;left:-1.25rem;top:50%;width:1px;height:1.1em;background:#ffffff4d;transform:translateY(-50%)}.page-hero{position:relative;color:#fff;text-align:center;padding:4rem 2rem 3rem;background:linear-gradient(#08080899,#080808c7),url(/long-background.png) center/cover no-repeat}.page-hero h1{font-size:clamp(2.4rem,5vw,3.8rem);text-transform:uppercase;margin-bottom:.85rem}.page-hero p{font-size:1.05rem;max-width:600px;margin:0 auto;color:#fffc}.page-hero .hero-kicker{margin-bottom:.7rem}.section{padding:2.5rem 0 4rem}.section-tight{padding:3.5rem 0}.section-alt{background:var(--sand)}.section-dark{background:var(--ink);color:#fff}.section-head{text-align:center;max-width:680px;margin:0 auto 2.5rem}.section-kicker{display:inline-block;font-family:var(--font-display);font-weight:500;text-transform:uppercase;letter-spacing:.3em;font-size:.72rem;color:var(--red);margin-top:0;margin-bottom:.6rem}.section-head h2,.about-copy h2,.contact-grid h2{font-size:clamp(2rem,4vw,3rem);text-transform:uppercase;margin-bottom:1rem}.section-head p{color:var(--muted);font-size:1.05rem}.section-dark .section-kicker{color:var(--red)}.section-dark .section-head p{color:#ffffffb3}.welcome{text-align:center;max-width:820px;margin:0 auto}.welcome h2{font-size:clamp(2.2rem,4.5vw,3.2rem);text-transform:uppercase;margin-bottom:1.75rem}.welcome p{color:var(--muted);font-size:1.08rem;margin-bottom:2rem}.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.service-tile{position:relative;display:block;aspect-ratio:4 / 5;overflow:hidden;text-decoration:none;color:#fff;background:var(--ink)}.service-tile img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:transform .6s ease,filter .4s ease}.service-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#000c,#00000026 55%,#00000059);transition:background .4s ease}.service-tile:hover img{transform:scale(1.06);filter:grayscale(.2) contrast(1.05)}.service-tile-caption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.5rem}.service-tile-caption span{font-family:var(--font-display);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--red)}.service-tile-caption h3{font-size:1.5rem;text-transform:uppercase;margin-top:.35rem}.trainer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.trainer-card{text-align:center}.trainer-photo{position:relative;aspect-ratio:3 / 4;overflow:hidden;margin-bottom:1rem;background:var(--sand-deep)}.trainer-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .6s ease,filter .4s ease}.trainer-card:hover .trainer-photo img{transform:scale(1.05);filter:grayscale(0)}.trainer-card h3{font-size:1.4rem;text-transform:uppercase;letter-spacing:.05em}.trainer-card .role{font-family:var(--font-body);font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}.press-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3rem}.press-logo{font-family:var(--font-display);font-weight:500;text-transform:uppercase;letter-spacing:.16em;font-size:1.35rem;color:var(--muted);opacity:.65;transition:opacity .25s,color .25s}.press-logo:hover{opacity:1;color:var(--ink)}.rating-head{text-align:center;margin-bottom:3rem}.rating-score{font-family:var(--font-display);font-size:4rem;line-height:1;color:var(--red)}.rating-stars{color:var(--red);letter-spacing:.2em;font-size:1.25rem;margin:.5rem 0}.rating-count{color:#ffffffb3;font-size:.9rem;letter-spacing:.05em}.section-dark .rating-count{color:#ffffffb3}.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.review-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:2rem}.review-card .stars{color:var(--red);letter-spacing:.15em;margin-bottom:1rem}.review-card p{color:#ffffffd1;font-size:.95rem;margin-bottom:1.25rem}.review-author{display:flex;align-items:center;gap:.75rem}.review-avatar{width:42px;height:42px;border-radius:50%;background:var(--red);display:grid;place-items:center;font-family:var(--font-display);font-weight:600;color:#fff}.review-author strong{font-weight:600;font-size:.9rem}.section-alt .review-card{background:#fff;border-color:var(--line)}.section-alt .review-card p{color:var(--gray-700)}.section-alt .review-author strong{color:var(--ink)}.cta-strip{position:relative;text-align:center;color:#fff;padding:6rem 2rem;background:linear-gradient(#080808b3,#080808cc),url(/assets/long-background-YzioNZzj.png) center/cover no-repeat}.cta-strip h2{font-size:clamp(2rem,4.5vw,3.2rem);text-transform:uppercase;margin-bottom:1.25rem}.cta-strip p{max-width:560px;margin:0 auto 2rem;color:#ffffffd1}.program-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.program-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2.25rem 2rem;transition:transform .25s,box-shadow .25s,border-color .25s;text-decoration:none;color:inherit;display:block}.program-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--red)}.program-icon{width:54px;height:54px;background:var(--ink);color:#fff;border-radius:var(--radius);display:grid;place-items:center;font-family:var(--font-display);font-size:1rem;letter-spacing:.04em;margin-bottom:1.25rem}.program-card h3{font-size:1.4rem;text-transform:uppercase;margin-bottom:.6rem}.program-card p{color:var(--muted);font-size:.95rem;margin-bottom:1.25rem;font-family:var(--font-body)}.program-meta{list-style:none;display:flex;gap:.5rem;flex-wrap:wrap}.program-meta li{background:var(--sand);color:var(--gray-700);font-family:var(--font-display);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;padding:.3rem .75rem}.about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:4rem;align-items:center}.about-media{aspect-ratio:4 / 5}.about-copy p{color:var(--muted);margin-bottom:1.1rem;font-size:1.02rem}.stat-row{display:flex;gap:3rem;flex-wrap:wrap;margin-top:2rem}.stat-block strong{display:block;font-family:var(--font-display);font-size:2.6rem;font-weight:600;color:var(--ink)}.stat-block span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:start}.contact-grid p{color:var(--muted);font-size:1.02rem;margin-bottom:1.75rem}.contact-list{list-style:none;display:flex;flex-direction:column;gap:1rem}.contact-list li{display:flex;align-items:center;gap:.9rem;font-weight:500;color:var(--gray-700);padding-bottom:1rem;border-bottom:1px solid var(--line);font-size:.98rem}.contact-list li:before{content:"";width:8px;height:8px;background:var(--red);flex-shrink:0;transform:rotate(45deg)}.contact-hours{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:2.25rem 2rem;transition:transform .25s,box-shadow .25s,border-color .25s}.contact-hours:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--red)}.contact-hours h3{font-size:1.4rem;text-transform:uppercase;margin-bottom:1rem;color:var(--ink)}.hours-row{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);font-size:.92rem}.hours-row:last-child{border-bottom:none}.hours-row span:first-child{font-weight:600}.hours-row span:last-child{color:var(--muted)}.hours-row a{color:var(--red);text-decoration:none}.hours-row a:hover{text-decoration:underline}.footer{background:var(--ink);color:#ffffffb3;padding:2rem 0}.footer-info-item{display:inline-flex;align-items:center;gap:.5rem;color:#ffffffb3;text-decoration:none;font-size:.88rem;transition:color .18s}a.footer-info-item:hover{color:var(--red)}.footer-brand .logo{font-size:1.75rem;margin-bottom:1rem}.footer-brand p{font-size:.92rem;max-width:280px}.footer-col h4{font-family:var(--font-display);font-size:.8rem;text-transform:uppercase;letter-spacing:.22em;color:var(--red);margin-bottom:1.25rem}.footer-col a{display:block;color:#ffffffb3;text-decoration:none;font-size:.92rem;padding:.3rem 0;transition:color .18s}.footer-col a:hover{color:#fff}.footer-contact p{font-size:.92rem;margin-bottom:.6rem}.footer-contact strong{color:#fff;font-family:var(--font-display);font-size:1.2rem;letter-spacing:.04em}.footer-bottom{max-width:1280px;margin:0 auto;padding:0 2rem;border-top:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:#ffffff80}.footer-social{display:flex;gap:1.25rem}.footer-social a{color:#ffffffb3;text-decoration:none;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.footer-social a:hover{color:var(--red)}.container{max-width:820px;width:min(820px,96%);margin:0 auto;padding:0 1.5rem}.container-wide{max-width:1280px;width:min(1280px,96%);margin:0 auto;padding:0 2rem}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden}.card-header{padding:1.75rem 2rem 1.5rem;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:1rem}.card-header h2{font-size:1.5rem;text-transform:uppercase}.card-header .icon{width:44px;height:44px;background:var(--ink);border-radius:var(--radius);display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-size:.85rem}.card-body{padding:2rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-grid .full{grid-column:1 / -1}.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}.booking-col-form .form-grid{grid-template-columns:1fr}.booking-col-calendar .booking-scheduler{margin-top:0}.field{display:flex;flex-direction:column;gap:.4rem}.field label{font-family:var(--font-display);font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-700)}.field label .req{color:var(--danger);margin-left:2px}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .9rem;font-size:.95rem;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s;outline:none;font-family:inherit;width:100%}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 2px #0d0d0d1f}.field textarea{resize:vertical;min-height:100px}.program-readout{border:1px dashed var(--line);border-radius:var(--radius);padding:.7rem .9rem;min-height:46px;display:flex;flex-direction:column;justify-content:center;background:var(--sand)}.program-readout strong{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;font-size:1rem;color:var(--ink)}.program-readout span{font-size:.82rem;color:var(--muted)}.program-readout .muted{color:var(--gray-400)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 2rem;border-radius:var(--radius);font-family:var(--font-display);font-weight:500;font-size:.82rem;text-transform:uppercase;letter-spacing:.18em;cursor:pointer;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .1s;text-decoration:none;white-space:nowrap}.btn:active{transform:scale(.98)}.btn-primary{background:var(--red);color:#fff;border-color:var(--red)}.btn-primary:hover{background:var(--red-dark);border-color:var(--red-dark);color:#fff}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-dark:hover{background:#000}.btn-accent{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-accent:hover{background:#000}.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}.btn-outline:hover{background:var(--ink);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:.45rem .9rem;font-size:.7rem;letter-spacing:.12em}.btn-lg{padding:1rem 2.5rem;font-size:.88rem}.btn-full{width:100%}.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}.btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .7rem;border-radius:99px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.pill-pending{background:#f7ecd3;color:#8a6414}.pill-confirmed{background:#dcebe1;color:#2e5f40}.pill-cancelled{background:#f3ddd6;color:#8a3a24}.pill-completed{background:#e2e0f0;color:#423d78}.pill-no-show{background:#efe0e0;color:#7a2e2e}.pill-full-member{background:#d9ead9;color:#1f6b3a}#toast-container{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:1000}.toast{padding:.85rem 1.35rem;border-radius:var(--radius);font-size:.9rem;font-weight:500;box-shadow:var(--shadow-lg);animation:slide-in .25s ease;display:flex;align-items:center;gap:.5rem;min-width:260px}.toast-success{background:#eef6f0;border:1px solid #cfe5d6;color:#2e5f40}.toast-error{background:#f8ece7;border:1px solid #ecccc0;color:#8a3a24}@keyframes slide-in{0%{opacity:0;transform:translate(1rem)}to{opacity:1;transform:none}}.success-state{text-align:center;padding:3.5rem 2rem;display:none}.success-state .check-circle{width:76px;height:76px;background:var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2rem;color:var(--red)}.success-state h3{font-size:1.75rem;text-transform:uppercase;margin-bottom:.5rem}.success-state p{color:var(--muted);margin-bottom:1.5rem}.admin-wrapper{display:block;min-height:100vh}.admin-nav{position:sticky;top:0;z-index:50;background:var(--ink);color:#fff;box-shadow:var(--shadow-md)}.admin-nav-bar{display:flex;align-items:center;gap:1.5rem;padding:.85rem 2.5rem;max-width:100%}.admin-nav-brand{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:1.15rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fff;white-space:nowrap}.admin-nav-brand .dot{width:10px;height:10px;background:var(--red);transform:rotate(45deg)}.admin-nav-brand-sub{color:var(--red);font-weight:500}.admin-nav-links{display:flex;align-items:center;gap:.25rem;flex:1}.admin-nav-links a{padding:.5rem .9rem;border-radius:var(--radius);color:#ffffffb3;text-decoration:none;font-family:var(--font-display);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;transition:background .15s,color .15s}.admin-nav-links a:hover,.admin-nav-links a.active{background:#ffffff1f;color:#fff}.admin-nav-actions{display:flex;align-items:center;gap:.6rem}.admin-nav-toggle{display:none;background:none;border:none;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;padding:.1rem .4rem}@media (max-width: 860px){.admin-nav-bar{padding:.75rem 1.25rem;gap:.75rem;flex-wrap:wrap}.admin-nav-toggle{display:block}.admin-nav-links{order:3;flex-basis:100%;flex-direction:column;align-items:stretch;gap:.15rem;display:none}.admin-nav-links.open{display:flex}.admin-nav-actions{margin-left:auto}}.sidebar{background:var(--ink);color:#fff;padding:1.75rem 1rem;display:flex;flex-direction:column;gap:.25rem;position:sticky;top:0;height:100vh}.sidebar-brand{font-family:var(--font-display);font-size:1.25rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fff;padding:.5rem .75rem 1.5rem;display:flex;align-items:center;gap:.5rem}.sidebar-brand .dot{width:10px;height:10px;background:var(--red);transform:rotate(45deg)}.sidebar a{display:flex;align-items:center;gap:.6rem;padding:.65rem .75rem;border-radius:var(--radius);color:#ffffffb3;text-decoration:none;font-family:var(--font-display);font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;transition:background .15s,color .15s}.sidebar a:hover,.sidebar a.active{background:#ffffff1a;color:#fff}.sidebar-spacer{flex:1}.admin-wrapper{min-height:100vh}.admin-content{background:var(--sand);padding:2.5rem;min-height:100vh}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}.admin-topbar h1{font-size:1.75rem;text-transform:uppercase}.admin-actions{display:flex;gap:.6rem;flex-wrap:wrap}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}.stat-card .label{font-family:var(--font-display);font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.stat-card .value{font-family:var(--font-display);font-size:2.4rem;font-weight:600;margin-top:.25rem}.stat-card.total .value{color:var(--ink)}.stat-card.pending .value{color:var(--warning)}.stat-card.confirmed .value{color:var(--success)}.stat-card.cancelled .value{color:var(--danger)}.stat-card.completed .value{color:var(--red)}.table-wrapper{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden}.table-toolbar{padding:1rem 1.25rem;display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line)}.table-toolbar input,.table-toolbar select{border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .85rem;font-size:.875rem;outline:none;font-family:inherit;transition:border-color .15s}.table-toolbar input:focus,.table-toolbar select:focus{border-color:var(--ink)}.table-toolbar input{width:220px}.table-toolbar .spacer{flex:1}table{width:100%;border-collapse:collapse;font-size:.9rem}thead{background:var(--sand)}th{padding:.8rem 1.25rem;text-align:left;font-family:var(--font-display);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap}td{padding:.95rem 1.25rem;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--sand)}.td-name strong{display:block}.td-name span{font-size:.8rem;color:var(--muted)}.action-menu{display:flex;gap:.4rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:200;display:none;place-items:center}.modal-overlay.open{display:grid}.modal{background:#fff;border-radius:var(--radius);width:720px;max-width:95vw;box-shadow:var(--shadow-lg);overflow:hidden;animation:modal-in .2s ease}@keyframes modal-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}.modal-header{padding:1.35rem 1.5rem;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-header h3{font-size:1.25rem;text-transform:uppercase}.modal-close{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1.35rem;line-height:1;padding:.2rem;border-radius:4px}.modal-close:hover{color:var(--ink);background:var(--sand)}.modal-body{padding:1.5rem;max-height:70vh;overflow-y:auto}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--line);display:flex;gap:.75rem;justify-content:flex-end}.admin-notes{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}.admin-notes h4{font-family:var(--font-display);font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-700);margin-bottom:.85rem}.notes-empty{font-size:.9rem;color:var(--gray-500);margin-bottom:1rem}.notes-log{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.6rem}.note-item{background:var(--sand);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .9rem}.note-date{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);margin-bottom:.25rem}.note-text{font-size:.92rem;color:var(--ink);white-space:pre-wrap}.note-add{display:flex;flex-direction:column;gap:.6rem}.note-add textarea{border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .9rem;font-size:.95rem;color:var(--ink);background:#fff;font-family:inherit;min-height:70px;resize:vertical;outline:none;width:100%}.note-add textarea:focus{border-color:var(--brand)}.note-add button{align-self:flex-start}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(#080808d9,#080808e6),url(https://picsum.photos/seed/kjadmin/1400/900?grayscale) center/cover no-repeat}.login-card{background:#fff;border-radius:var(--radius);padding:2.75rem;width:400px;max-width:100%;box-shadow:var(--shadow-lg)}.login-card .brand{text-align:center;margin-bottom:2rem}.login-card .brand h1{font-size:1.75rem;text-transform:uppercase;color:var(--ink)}.login-card .brand p{color:var(--muted);font-size:.9rem}.password-toggle{position:absolute;top:50%;right:.6rem;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-family:var(--font-display);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:.25rem .4rem}.password-toggle:hover{color:var(--ink)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1.5rem;font-size:.9rem}.detail-row{display:flex;flex-direction:column;gap:.15rem}.detail-row .lbl{font-family:var(--font-display);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.detail-row .val{color:var(--ink)}.detail-row.full{grid-column:1 / -1}.empty-state{text-align:center;padding:4rem 2rem;color:var(--muted)}.empty-state .icon{font-size:3rem;margin-bottom:.75rem}.empty-state p{font-size:.95rem}.scheduler-hint{font-size:.85rem;color:var(--muted);margin:.1rem 0 .6rem}.scheduler-hint.muted{color:var(--gray-400)}.calendar{border:1px solid var(--line);border-radius:var(--radius);padding:1rem;background:#fff;-webkit-user-select:none;user-select:none}.calendar-disabled{opacity:.55;pointer-events:none}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.cal-title{font-family:var(--font-display);font-weight:600;font-size:1.05rem;text-transform:uppercase;letter-spacing:.05em}.cal-nav{width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:var(--radius);font-size:1.25rem;line-height:1;cursor:pointer;color:var(--gray-700);transition:background .15s,border-color .15s}.cal-nav:hover:not(:disabled){background:var(--sand);border-color:var(--ink)}.cal-nav:disabled{opacity:.35;cursor:not-allowed}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.calendar-dow{margin-bottom:.35rem}.cal-dow{text-align:center;font-family:var(--font-display);font-size:.7rem;font-weight:500;color:var(--gray-400);text-transform:uppercase;letter-spacing:.06em}.cal-cell{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius);background:transparent;font-size:.9rem;font-weight:600;color:var(--ink);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.cal-cell.empty{cursor:default}.cal-cell.enabled{background:var(--sand);color:var(--ink)}.cal-cell.enabled:hover{border-color:var(--red)}.cal-cell.disabled{color:var(--gray-200);cursor:not-allowed;background:transparent}.cal-cell.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.time-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem;margin-top:.25rem}.time-slot{position:relative;padding:.75rem .5rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;font-family:var(--font-display);font-size:.95rem;font-weight:500;letter-spacing:.04em;color:var(--ink);cursor:pointer;transition:background .12s,border-color .12s,color .12s,transform .1s}.time-slot:hover:not(:disabled){border-color:var(--red);background:var(--sand)}.time-slot:active:not(:disabled){transform:scale(.97)}.time-slot.selected{background:var(--ink);border-color:var(--ink);color:#fff}.time-slot.unavailable{color:var(--gray-400);background:var(--sand);cursor:not-allowed;text-decoration:line-through}.slot-tag{display:block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--danger);margin-top:2px;text-decoration:none}@media (max-width: 960px){.footer-top{grid-template-columns:1fr 1fr;gap:2rem}.about-grid,.contact-grid{grid-template-columns:1fr;gap:2.5rem}}@media (max-width: 768px){.nav-toggle{display:block}.main-nav{position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;padding:1rem 2rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.1);display:none}.main-nav.open{display:flex}.main-nav a{padding:.75rem 0;font-size:.95rem}.header-actions .call-cta span{display:none}.hero{min-height:80vh}.hero-badges{gap:1.5rem}.badge+.badge:before{display:none}.form-grid{grid-template-columns:1fr}.booking-layout{grid-template-columns:1fr;gap:1.5rem}.admin-wrapper{grid-template-columns:1fr}.sidebar{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1fr}.section{padding:2rem 0 3rem}.time-slots{grid-template-columns:repeat(2,1fr)}.timetable,.schedule-calendar-layout,.events-layout{grid-template-columns:1fr}.admin-event{flex-wrap:wrap}.event-pagination{flex-wrap:wrap;justify-content:center}}@media (min-width: 1600px){.container-wide,.container,.header-bar{max-width:none;width:96vw}.hero-inner{max-width:none;width:92vw}}.section-sand{background:var(--sand)}.schedule-filters{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:2rem}.filter-chip{font-family:var(--font-display);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.5rem 1rem;border-radius:999px;cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--gray-700);transition:background .15s,color .15s,border-color .15s}.filter-chip:hover{border-color:var(--ink)}.filter-chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.timetable{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem}.timetable-day{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column}.timetable-day.is-today{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.timetable-day h3{font-family:var(--font-display);font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin-bottom:.9rem;padding-bottom:.6rem;border-bottom:1px solid var(--line)}.timetable-day ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.timetable-day li{display:flex;flex-direction:column;gap:.35rem}.tt-name{font-weight:600;font-size:.9rem;color:var(--ink)}.tt-times{display:flex;flex-wrap:wrap;gap:.35rem}.tt-time{font-size:.75rem;font-weight:600;color:var(--gray-700);background:var(--sand);border-radius:999px;padding:.2rem .55rem}.timetable-rest{font-size:.85rem;color:var(--gray-400);font-style:italic}.schedule-calendar-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.schedule-calendar{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.cal-cell.display{cursor:default;position:relative;flex-direction:column;gap:2px}.cal-cell.display:disabled{color:var(--gray-300)}.cal-cell.display.has-events{background:var(--sand)}.cal-cell.display.clickable{cursor:pointer}.cal-cell.display.clickable:hover{border-color:var(--red)}.cal-cell.display.today{border-color:var(--red);color:var(--red)}.cal-cell.display.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.cal-cell.display.selected .cal-dot{outline:1px solid rgba(255,255,255,.6)}.cal-dots{display:flex;gap:3px}.cal-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--gray-400)}.dot-testing{background:var(--brand)}.dot-event{background:var(--red)}.dot-class{background:#2e5f40}.cal-legend{display:flex;gap:1.25rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.78rem;color:var(--gray-600)}.cal-legend span{display:inline-flex;align-items:center;gap:.4rem}.cal-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.schedule-events h3{font-family:var(--font-display);font-size:1rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem}.schedule-events-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.schedule-events-head h3{margin-bottom:0}.event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.event-card{display:flex;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.25rem}.event-badge{align-self:flex-start;flex-shrink:0;font-family:var(--font-display);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .6rem;border-radius:999px;color:#fff}.badge-testing{background:var(--brand)}.badge-event{background:var(--red)}.badge-class{background:#2e5f40}.event-info{display:flex;flex-direction:column;gap:.25rem}.event-info strong{font-size:1rem;color:var(--ink)}.event-when{font-size:.82rem;color:var(--gray-600);font-weight:600}.event-info p{font-size:.88rem;color:var(--gray-600);margin:.25rem 0 0}.event-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--line);color:var(--muted);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.event-pagination .btn{padding:.45rem .8rem;letter-spacing:.1em;font-size:.66rem}.events-panel{margin-top:2.5rem;width:100%}.events-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:start;width:100%}.events-list-wrap{position:relative;min-width:0;width:100%;background:#ffffff73;border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-sm)}.events-side-panel{display:flex;flex-direction:column;gap:1rem;width:100%}.event-form{width:100%}.edit-scope-dialog{margin-bottom:1rem}.edit-scope-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.week-view-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}.week-view-header h2{font-size:1.05rem;text-transform:uppercase;letter-spacing:.08em;margin:0;color:var(--ink)}.week-nav{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.mini-calendar-toggle{width:36px;height:36px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;transition:border-color .15s,background .15s}.mini-calendar-toggle:hover{border-color:var(--ink);background:var(--sand)}.mini-calendar-popover{position:absolute;top:3.5rem;right:1rem;z-index:30;width:min(100%,300px);margin-bottom:1rem;padding:.75rem;background:#fff;box-shadow:var(--shadow-md)}.mini-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;font-family:var(--font-display);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-700)}.mini-calendar-close{border:none;background:transparent;color:var(--gray-500);font-size:1.2rem;cursor:pointer}.mini-calendar-close:hover{color:var(--ink)}.mini-calendar-body{display:flex;justify-content:center}.mini-calendar-panel{width:min(100%,260px);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem;background:#fff}.week-view-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem}.week-day-group{background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-height:220px;padding:.75rem;display:flex;flex-direction:column;gap:.7rem}.week-day-group.active{border-color:var(--red);box-shadow:0 0 0 1px #d02a1b33}.week-day-header{display:flex;flex-direction:column;gap:.15rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.week-day-header strong{font-family:var(--font-display);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}.week-day-header span{font-size:.7rem;color:var(--muted)}.week-empty{color:var(--gray-400);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;padding:.5rem 0}.week-event-list{display:flex;flex-direction:column;gap:.5rem}.week-event-card{display:flex;flex-direction:column;gap:.5rem;background:var(--sand);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .65rem;transition:border-color .15s,box-shadow .15s,transform .15s}.week-event-card:hover{border-color:#0d0d0d40;box-shadow:0 8px 16px #1111110a}.week-event-card.editing{border-color:var(--red);box-shadow:0 0 0 1px #d02a1b33}.week-event-card .event-badge{align-self:flex-start;min-width:unset;padding:.28rem .5rem;font-size:.62rem}.week-event-body{display:flex;flex-direction:column;gap:.18rem;cursor:pointer}.week-event-body strong{font-size:.76rem;line-height:1.35;color:var(--ink)}.week-event-body span,.week-event-body p,.week-event-body small{font-size:.68rem;color:var(--gray-600)}.week-event-body p{margin:0}.week-event-body small{color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em}.admin-event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.admin-event{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.admin-event.editing{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.admin-event-info{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.admin-event-info strong{font-size:.95rem;color:var(--ink)}.admin-event-info span{font-size:.8rem;color:var(--gray-600);font-weight:600}.admin-event-info p{font-size:.85rem;color:var(--gray-600);margin:.25rem 0 0}.admin-event-actions{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.admin-event-actions .btn{min-width:78px}.event-form{position:sticky;top:1.5rem}.event-form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s}.blog-card:hover{transform:translateY(-4px);border-color:var(--red);box-shadow:var(--shadow-lg)}.blog-card-img{aspect-ratio:16 / 9;background-size:cover;background-position:center;background-color:var(--sand-deep)}.blog-card-img--empty{background:linear-gradient(135deg,var(--sand-deep),var(--sand))}.blog-card-body{padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.blog-meta{font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500)}.blog-card-body h3{font-size:1.25rem;line-height:1.25}.blog-card-body p{font-size:.92rem;color:var(--gray-600);flex:1}.blog-readmore{font-family:var(--font-display);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--red)}.blog-back{display:inline-block;margin-bottom:1.75rem;font-family:var(--font-display);font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-600);text-decoration:none}.blog-back:hover{color:var(--ink)}.blog-article{max-width:760px;margin:0 auto}.blog-article-head{margin-bottom:1.5rem}.blog-article-head h1{font-size:2.4rem;line-height:1.1;margin-top:.5rem;text-transform:uppercase}.blog-article-img{aspect-ratio:16 / 9;background-size:cover;background-position:center;border-radius:var(--radius);margin-bottom:2rem;background-color:var(--sand-deep)}.blog-article-body p{font-size:1.05rem;line-height:1.8;color:var(--gray-700);margin-bottom:1.25rem}.badge-draft{background:var(--gray-400)}.blog-publish-toggle{display:flex;align-items:center;gap:.5rem;margin-top:1.25rem;font-size:.9rem;color:var(--gray-700);cursor:pointer;-webkit-user-select:none;user-select:none}.blog-publish-toggle input{width:auto}
