:root{color-scheme:light;--brand: #e11d2a;--brand-dark: #b0101a;--brand-soft: #fdecec;--brand-glow: rgba(225, 29, 42, .35);--ink: #17191c;--ink-soft: #24272c;--grey-900: #1f2226;--grey-700: #3f444b;--grey-500: #6b7280;--grey-400: #8b929b;--grey-300: #d5d9df;--grey-200: #e6e9ee;--grey-100: #f2f4f7;--bg: #f4f5f7;--surface: #ffffff;--border: #e6e9ee;--text: #1f2226;--muted: #6b7280;--radius-lg: 26px;--radius-md: 18px;--radius-sm: 12px;--shadow-sm: 0 4px 16px rgba(23, 25, 28, .06);--shadow-md: 0 18px 44px rgba(23, 25, 28, .1);--shadow-lg: 0 30px 70px rgba(23, 25, 28, .14);--shadow-brand: 0 16px 34px rgba(225, 29, 42, .28);--font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Sora", "Inter", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink)}img{max-width:100%;display:block}button,input,select,textarea,a{font:inherit}button{border:none}a{text-decoration:none;color:inherit}.page-shell{min-height:100vh;overflow-x:hidden}.site-header{position:sticky;top:0;z-index:30;background:#ffffffd1;-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.85rem clamp(1rem,4vw,2.5rem);border-bottom:1px solid var(--border)}.brand-block{display:inline-flex;align-items:center}.brand-logo{height:46px;width:auto;object-fit:contain}.site-header nav{display:flex;gap:1.75rem;margin-left:auto;margin-right:1.5rem}.site-header nav a{color:var(--grey-700);font-weight:600;font-size:.95rem;position:relative;padding:.25rem 0;transition:color .2s ease}.site-header nav a:after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--brand);transition:width .2s ease}.site-header nav a:hover{color:var(--ink)}.site-header nav a:hover:after{width:100%}.header-cta{padding:.7rem 1.35rem}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--brand);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;margin:0 0 .6rem}.eyebrow:before{content:"";width:22px;height:2px;background:var(--brand);border-radius:2px}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem 1.7rem;border-radius:999px;font-weight:700;font-size:.98rem;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}.button-primary{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;box-shadow:var(--shadow-brand)}.button-primary:hover{transform:translateY(-2px);box-shadow:0 20px 40px #e11d2a5c}.button-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--grey-300)}.button-ghost:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-2px)}.button-secondary{background:var(--ink);color:#fff;width:100%;margin-top:1rem}.button-secondary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.hero-section,.service-plans-section,.service-highlight,.booking-section,.partners-section{padding:clamp(3rem,6vw,5.5rem) clamp(1rem,4vw,2.5rem);max-width:1240px;margin:0 auto}.section-heading{max-width:54rem;margin-bottom:2.5rem}.section-heading h2{margin:0;font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.1}.hero-section{display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:1.05fr .95fr;align-items:center;position:relative}.hero-section:before{content:"";position:absolute;inset:-20% -30% auto auto;width:640px;height:640px;background:radial-gradient(circle,var(--brand-glow) 0%,rgba(225,29,42,0) 65%);filter:blur(8px);z-index:-1;pointer-events:none}.hero-label{display:inline-flex;align-items:center;gap:.55rem;background:var(--brand-soft);color:var(--brand-dark);font-weight:700;font-size:.82rem;padding:.5rem .95rem;border-radius:999px;border:1px solid rgba(225,29,42,.16)}.hero-label-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px #e11d2a2e}.hero-copy h1{margin:1.1rem 0;font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.04;font-weight:800}.hero-copy>p{max-width:40rem;color:var(--muted);font-size:1.08rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin:1.9rem 0 2.2rem}.hero-stats{display:flex;flex-wrap:wrap;gap:1.75rem;padding-top:1.75rem;border-top:1px solid var(--border)}.hero-stat strong{display:block;font-family:var(--font-display);font-size:1.15rem;color:var(--ink)}.hero-stat span{font-size:.85rem;color:var(--muted)}.hero-image{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.hero-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#17191c00 55%,#17191c73)}.hero-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:4 / 3.2}.hero-image-tag{position:absolute;left:1rem;bottom:1rem;z-index:2;display:inline-flex;align-items:center;gap:.55rem;background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink);font-weight:700;font-size:.85rem;padding:.55rem .95rem;border-radius:999px;box-shadow:var(--shadow-sm)}.hero-image-tag-dot{width:9px;height:9px;border-radius:50%;background:#17a34a;box-shadow:0 0 0 4px #17a34a33}.plan-cards{display:grid;gap:1.25rem;grid-template-columns:repeat(5,minmax(0,1fr))}.plan-card{position:relative;background:var(--surface);padding:1.6rem;border-radius:var(--radius-md);text-align:left;cursor:pointer;border:1.5px solid var(--border);box-shadow:var(--shadow-sm);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;overflow:hidden}.plan-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand),var(--brand-dark));transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.plan-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--grey-300)}.plan-card.selected{border-color:var(--brand);box-shadow:0 20px 44px #e11d2a29}.plan-card.selected:before,.plan-card:hover:before{transform:scaleX(1)}.plan-card-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.plan-name{display:block;font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--ink);margin-bottom:.35rem}.plan-class{display:block}.plan-points{flex-shrink:0;background:var(--grey-100);color:var(--grey-700);font-size:.72rem;font-weight:700;padding:.28rem .6rem;border-radius:999px}.plan-card.selected .plan-points{background:var(--brand-soft);color:var(--brand-dark)}.plan-class{color:var(--brand);font-size:.9rem;font-weight:700}.plan-card p{color:var(--muted);margin:.9rem 0 1.4rem;font-size:.95rem}.plan-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border)}.plan-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.plan-view-link{background:none;border:none;padding:0;font-size:.82rem;font-weight:700;color:var(--brand);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.plan-view-link:hover{color:var(--brand-dark)}.plan-select-btn{border:1.5px solid var(--grey-300);background:var(--surface);color:var(--grey-700);font-size:.82rem;font-weight:700;padding:.4rem .9rem;border-radius:999px;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.plan-select-btn:hover{border-color:var(--brand);color:var(--brand-dark)}.plan-select-btn.is-selected{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark)}.plan-price span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--grey-400);font-weight:700}.plan-price strong{font-family:var(--font-display);font-size:1.45rem;color:var(--ink)}.plan-select-hint{font-size:.82rem;font-weight:700;color:var(--grey-400)}.plan-card.selected .plan-select-hint{color:var(--brand)}.service-highlight{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,3.5rem);align-items:center}.image-panel{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.image-panel img{width:100%;height:100%;object-fit:cover;aspect-ratio:4 / 3}.text-panel h3{margin:.75rem 0 1rem;font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.12}.text-panel p{color:var(--muted);font-size:1.02rem}.booking-section,.service-plans-section,.partners-section{scroll-margin-top:90px}.booking-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.5rem;align-items:start}.booking-form-card{background:var(--surface);border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2.25rem);box-shadow:var(--shadow-md);border:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.booking-form-card label{display:block;font-size:.85rem;font-weight:600;color:var(--grey-700)}.booking-form-card label:nth-child(1),.booking-form-card label:last-of-type,.booking-form-card .booking-status,.booking-form-card>button{grid-column:1 / -1}.booking-form-card input,.booking-form-card select,.booking-form-card textarea{width:100%;margin-top:.5rem;border-radius:var(--radius-sm);border:1.5px solid var(--grey-300);padding:.85rem .95rem;font-size:.98rem;color:var(--text);background:var(--surface);font-weight:500;transition:border-color .15s ease,box-shadow .15s ease}.booking-form-card input:focus,.booking-form-card select:focus,.booking-form-card textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #e11d2a26}.booking-form-card textarea{min-height:110px;resize:vertical}.booking-summary-card{background:linear-gradient(160deg,var(--ink) 0%,#0f1113 100%);color:#f3f4f6;border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2.25rem);box-shadow:var(--shadow-lg);position:sticky;top:90px}.booking-summary-card .eyebrow{color:#ff6b73}.booking-summary-card .eyebrow:before{background:var(--brand)}.booking-summary-card h3{color:#fff;font-size:1.6rem;margin:.35rem 0 1.1rem}.summary-text{margin:.55rem 0;color:#b9bec6;font-size:.96rem}.summary-price{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:1.25rem 0 .5rem;padding:1.1rem 1.25rem;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);box-shadow:var(--shadow-brand)}.summary-price span{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#ffffffd9}.summary-price strong{font-family:var(--font-display);font-size:1.7rem;color:#fff;line-height:1}.summary-callout{background:#ffffff0f;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-sm);padding:.9rem 1rem;margin-top:.9rem}.summary-callout span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#8b929b;font-weight:700}.summary-callout strong{display:block;margin-top:.35rem;color:#fff;font-size:1.02rem}.small-note{margin-top:1.35rem;color:#8b929b;font-size:.85rem;line-height:1.55}.booking-status{padding:.95rem 1.15rem;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem}.booking-status p{margin:0}.booking-status.success{background:#e7f8ee;color:#12653f;border:1px solid #b9e7cd}.booking-status.error{background:var(--brand-soft);color:#8a1319;border:1px solid #f4c4c6}.booking-status .button-secondary{margin-top:.85rem}.partners-section{text-align:center}.logo-strip{display:flex;justify-content:center;align-items:center;gap:clamp(1.5rem,5vw,3.5rem);flex-wrap:wrap;margin-top:1.75rem}.logo-strip img{height:64px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .25s ease,opacity .25s ease,transform .25s ease}.logo-strip img:hover{filter:grayscale(0);opacity:1;transform:scale(1.04)}.site-footer{background:var(--ink);color:#d5d9df;border-top:4px solid var(--brand);padding:clamp(2.5rem,5vw,3.5rem) clamp(1rem,4vw,2.5rem);display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;scroll-margin-top:90px}.site-footer h3{color:#fff;margin:0 0 .85rem;font-size:1.35rem}.site-footer p{margin:0 0 .55rem;color:#a8aeb7;font-size:.95rem}.footer-note{grid-column:1 / -1;margin:1.5rem 0 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);color:#7c828c;font-size:.88rem}.activity-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#17191c8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:activity-fade .18s ease}.activity-modal{position:relative;width:min(560px,100%);max-height:90vh;overflow-y:auto;background:var(--surface);border-radius:var(--radius-lg);padding:2rem clamp(1.4rem,4vw,2.4rem);box-shadow:var(--shadow-lg);animation:activity-rise .22s ease}@keyframes activity-fade{0%{opacity:0}to{opacity:1}}@keyframes activity-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.activity-modal h3{font-size:1.6rem;margin:.35rem 0 .75rem}.activity-modal-close{position:absolute;top:1rem;right:1rem;width:2.1rem;height:2.1rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--grey-100);color:var(--grey-700);font-size:1.4rem;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease}.activity-modal-close:hover{background:var(--brand-soft);color:var(--brand-dark)}.activity-points-badge{display:inline-block;background:var(--brand-soft);color:var(--brand-dark);font-size:.78rem;font-weight:700;padding:.32rem .75rem;border-radius:999px;margin-bottom:.9rem}.activity-list{list-style:none;margin:1.1rem 0;padding:0;display:grid;gap:.7rem}.activity-list li{position:relative;padding-left:1.9rem;color:var(--grey-700);font-size:.95rem;line-height:1.5}.activity-list li:before{content:"✓";position:absolute;left:0;top:.05rem;width:1.3rem;height:1.3rem;display:flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;font-size:.72rem;font-weight:700;border-radius:50%}.activity-bestfor{background:var(--grey-100);border-radius:var(--radius-sm);padding:.9rem 1.1rem;margin:1.1rem 0}.activity-bestfor span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--grey-400);font-weight:700;margin-bottom:.3rem}.activity-bestfor p{margin:0;color:var(--grey-700);font-size:.92rem}.activity-modal .button-secondary{width:100%;margin-top:.5rem}@media (max-width: 1120px){.plan-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-section,.service-highlight,.booking-grid{grid-template-columns:1fr}.booking-summary-card{position:static}}@media (max-width: 760px){.site-header{flex-wrap:wrap;gap:.75rem}.site-header nav{order:3;width:100%;margin:0;flex-wrap:wrap;gap:1rem}.header-cta{margin-left:auto}.plan-cards,.booking-form-card,.site-footer{grid-template-columns:1fr}.hero-actions .button{flex:1 1 auto}}.admin-panel{padding:clamp(3rem,6vw,5rem) clamp(1rem,4vw,2.5rem);background:var(--grey-100);max-width:1240px;margin:0 auto;scroll-margin-top:90px}.admin-login-card,.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.75rem;box-shadow:var(--shadow-sm)}.admin-card h3{font-family:var(--font-display)}.admin-login-card{max-width:500px;margin-top:1.5rem}.admin-login-card label,.admin-card label{display:block;margin-bottom:1rem}.admin-login-card input,.admin-card input,.admin-card select,.admin-card textarea{width:100%;margin-top:.5rem;border:1.5px solid var(--grey-300);border-radius:var(--radius-sm);padding:.85rem .95rem;background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease}.admin-login-card input:focus,.admin-card input:focus,.admin-card select:focus,.admin-card textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #e11d2a26}.admin-actions{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.admin-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-card.admin-wide{grid-column:span 3}.admin-card table,.admin-card ul{width:100%;border-collapse:collapse}.admin-card table th,.admin-card table td{border-bottom:1px solid #f0f0f0;padding:.85rem 0;text-align:left;color:#333}.admin-card h3{margin-top:0}.alert-error{margin:1rem 0;padding:1rem 1.25rem;background:#ffe7e7;color:#9a1b1b;border-radius:16px}@media (max-width: 960px){.admin-grid,.admin-data-grid{grid-template-columns:1fr}.admin-card.admin-wide{grid-column:auto}}
