*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;border:none;background:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--color-primary-900: #041821;--color-primary-800: #09324A;--color-primary-700: #0F4A63;--color-primary-600: #155E74;--color-primary-500: #1B6F81;--color-primary-400: #5BA3AD;--color-primary-300: #AED0C9;--color-primary-100: #D6E8E4;--color-primary-50: #EDF5F3;--color-white: #ffffff;--color-gray-50: #F3F2EA;--color-gray-100: #ECEADF;--color-gray-200: #DAD7C8;--color-gray-400: #A8A496;--color-gray-600: #706D63;--color-gray-800: #3A3832;--color-gray-900: #1D1C19;--color-accent: #FFFB08;--color-success: #22c55e;--color-warning: #f59e0b;--color-error: #ef4444;--bg-dark: var(--color-primary-800);--bg-dark-mid: var(--color-primary-700);--bg-light: var(--color-white);--bg-alt: var(--color-gray-50);--bg-muted: var(--color-gray-100);--text-on-dark: var(--color-white);--text-on-dark-muted: rgba(255, 255, 255, .6);--text-primary: var(--color-gray-900);--text-secondary: var(--color-gray-600);--text-accent: var(--color-primary-500);--border-light: var(--color-gray-200);--border-dark: rgba(255, 255, 255, .1);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--font-display: "Barlow Condensed", sans-serif;--font-body: "Barlow", sans-serif;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3rem;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 10px 30px rgba(0,0,0,.12);--shadow-glow: 0 4px 20px rgba(27,111,129,.35);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--container-max: 1120px;--navbar-height: 60px;--bottom-nav-height: 68px;--section-padding-y: var(--space-16)}@media(max-width:768px){:root{--section-padding-y: var(--space-10)}}body{font-family:var(--font-body);font-size:var(--text-md);font-weight:400;color:var(--text-primary);background-color:var(--bg-light)}h1,h2,h3,.h1,.h2,.h3{font-family:var(--font-display);font-weight:700;line-height:1.05;letter-spacing:-.02em;color:var(--text-primary)}h4,h5,h6,.h4,.h5,.h6{font-family:var(--font-body);font-weight:600;line-height:1.3;color:var(--text-primary)}h1{font-size:clamp(2.5rem,8vw,4rem)}h2{font-size:clamp(1.75rem,5vw,2.5rem)}h3{font-size:clamp(1.25rem,3vw,1.75rem)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-md)}h6{font-size:var(--text-sm)}p{line-height:1.7;color:var(--text-secondary)}small{font-size:var(--text-xs)}strong,b{font-weight:600}.section__tag{display:inline-block;font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-accent);margin-bottom:var(--space-2)}.section__tag--light{color:var(--color-primary-300)}.section__title{margin-bottom:var(--space-3);color:var(--color-primary-500)}.section__title--light{color:var(--text-on-dark)}.section__desc{max-width:560px;font-size:var(--text-base);line-height:1.75;color:var(--text-secondary)}.section__desc--light{color:var(--text-on-dark-muted)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 4px 20px #1b6f814d}50%{box-shadow:0 4px 30px #1b6f8199}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease both}.animate-fade-in{animation:fadeIn var(--transition-base) ease both}.stagger>*{animation:fadeInUp .5s ease both}.stagger>*:nth-child(1){animation-delay:.05s}.stagger>*:nth-child(2){animation-delay:.1s}.stagger>*:nth-child(3){animation-delay:.15s}.stagger>*:nth-child(4){animation-delay:.2s}.stagger>*:nth-child(5){animation-delay:.25s}.stagger>*:nth-child(6){animation-delay:.3s}.reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-5)}@media(min-width:768px){.container{padding-inline:var(--space-8)}}.section{padding-block:var(--section-padding-y);background:var(--bg-light)}.section--dark{background:var(--color-primary-800)}.section--alt{background:var(--bg-alt)}.section__container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-5);display:flex;flex-direction:column;gap:var(--space-8)}@media(min-width:768px){.section__container{padding-inline:var(--space-8)}}.section__header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.card-grid{display:grid;gap:var(--space-4)}.card-grid--2{grid-template-columns:repeat(2,1fr)}.card-grid--3{grid-template-columns:repeat(3,1fr)}.card-grid--4{grid-template-columns:repeat(4,1fr)}@media(max-width:640px){.card-grid--3,.card-grid--4{grid-template-columns:repeat(2,1fr)}}@media(max-width:420px){.card-grid--2{grid-template-columns:1fr}}.contact-grid{display:flex;flex-direction:column;gap:var(--space-3)}.slots-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.location-info{display:flex;flex-direction:column;gap:var(--space-3)}.location-info__item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-base);color:var(--text-secondary)}.location-info__icon{width:18px;height:18px;flex-shrink:0;color:var(--text-accent)}.map-placeholder{width:100%;height:220px;background:var(--bg-muted);border-radius:var(--radius-xl);border:2px dashed var(--color-primary-100);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);overflow:hidden;position:relative}.map-placeholder iframe{width:100%;height:100%;border:none;border-radius:var(--radius-xl)}@media(max-width:768px){body{padding-bottom:var(--bottom-nav-height)}}.navbar{position:sticky;top:0;z-index:100;background:var(--color-primary-800);height:var(--navbar-height);border-bottom:1px solid rgba(255,255,255,.1);transition:box-shadow var(--transition-base)}.navbar.is-scrolled{box-shadow:0 2px 20px #0000004d}.navbar__container{height:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.navbar__logo{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:500;font-size:var(--text-xl);color:var(--text-on-dark);letter-spacing:.03em;flex-shrink:0}.navbar__logo-text,.navbar__logo-text strong{font-weight:500}.navbar__logo-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border-radius:var(--radius-sm)}.navbar__logo-icon img{width:100%;height:100%;object-fit:cover}.navbar__links{display:flex;align-items:center;gap:var(--space-5);flex:1;justify-content:center}.navbar__link{font-size:var(--text-sm);font-weight:500;color:var(--text-on-dark-muted);letter-spacing:.02em;transition:color var(--transition-fast);white-space:nowrap}.navbar__link:hover,.navbar__link.is-active{color:var(--text-on-dark)}.navbar__link--cta{background:var(--color-primary-500);color:var(--color-white);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-weight:600;font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;transition:background var(--transition-fast),transform var(--transition-fast)}.navbar__link--cta:hover{background:var(--color-primary-600);color:var(--color-white);transform:translateY(-1px)}.navbar__auth{flex-shrink:0;display:flex;align-items:center;gap:var(--space-3)}.auth-btn--login{font-size:var(--text-xs);font-weight:500;color:var(--text-on-dark-muted);border:1px solid var(--border-dark);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);transition:color var(--transition-fast),border-color var(--transition-fast)}.auth-btn--login:hover{color:var(--text-on-dark);border-color:#ffffff4d}.auth-pill{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);border-radius:var(--radius-full);background:#ffffff0f;cursor:pointer;transition:background var(--transition-fast)}.auth-pill:hover{background:#ffffff1a}.auth-pill__avatar{width:26px;height:26px;border-radius:50%;background:var(--color-primary-500);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;color:var(--color-white);flex-shrink:0}.auth-pill__name{font-size:var(--text-xs);font-weight:500;color:var(--text-on-dark-muted);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.navbar__links{display:none}}@media(max-width:480px){.navbar__logo-text{display:block;font-size:var(--text-base)}}.bottom-nav{display:none}@media(max-width:768px){.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--bg-dark);border-top:1px solid var(--border-dark);padding-bottom:env(safe-area-inset-bottom,0px);height:var(--bottom-nav-height);align-items:center;justify-content:space-around}}.bnav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-fast);min-width:56px;position:relative;text-decoration:none}.bnav-item:hover{background:#ffffff0d}.bnav-item__icon{width:22px;height:22px;color:var(--text-on-dark-muted);transition:color var(--transition-fast);flex-shrink:0}.bnav-item__label{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-on-dark-muted);transition:color var(--transition-fast);white-space:nowrap}.bnav-item.is-active .bnav-item__icon,.bnav-item.is-active .bnav-item__label{color:var(--color-primary-400)}.bnav-item.is-active:after{content:"";position:absolute;top:6px;right:10px;width:4px;height:4px;background:var(--color-primary-500);border-radius:50%}.bnav-item--primary{position:relative}.bnav-item--primary .bnav-item__icon-wrap{width:44px;height:44px;background:var(--color-primary-500);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;animation:pulse-glow 3s ease-in-out infinite;transition:transform var(--transition-fast),background var(--transition-fast)}.bnav-item--primary:hover .bnav-item__icon-wrap{background:var(--color-primary-600);transform:translateY(-2px)}.bnav-item--primary .bnav-item__icon{width:22px;height:22px;color:var(--color-white)}.bnav-item--primary .bnav-item__label{color:var(--color-primary-300)}.bnav-item--primary.is-active:after{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-body);font-weight:600;line-height:1;text-align:center;white-space:nowrap;cursor:pointer;border:none;text-decoration:none;border-radius:var(--radius-lg);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:3px}.btn--sm{font-size:var(--text-xs);padding:var(--space-2) var(--space-3);gap:var(--space-1)}.btn--md{font-size:var(--text-sm);padding:.625rem var(--space-5)}.btn--lg{font-size:var(--text-base);padding:.875rem var(--space-6)}.btn:not(.btn--sm):not(.btn--md):not(.btn--lg){font-size:var(--text-sm);padding:.625rem var(--space-5)}.btn--primary{background:var(--color-primary-500);color:var(--color-white)}.btn--primary:hover{background:var(--color-primary-600);color:var(--color-white);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn--secondary{background:var(--color-white);color:var(--color-primary-500);border:1.5px solid var(--color-primary-500)}.btn--secondary:hover{background:var(--color-primary-50)}.btn--ghost{background:#ffffff14;color:var(--text-on-dark);border:1px solid var(--border-dark)}.btn--ghost:hover{background:#ffffff24;color:var(--text-on-dark)}.btn--danger{background:var(--color-error);color:var(--color-white)}.btn--danger:hover{background:#dc2626}.btn--full{width:100%}.btn__icon{width:16px;height:16px;flex-shrink:0}.btn--lg .btn__icon{width:17px;height:17px}.btn.is-loading{pointer-events:none;opacity:.7;position:relative}.btn.is-loading:after{content:"";width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.feature-card{background:var(--bg-muted);border-radius:var(--radius-xl);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);border:1px solid var(--border-light);transition:transform var(--transition-base),box-shadow var(--transition-base)}.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.feature-card__icon{width:40px;height:40px;background:var(--color-primary-500);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.feature-card__icon svg{width:18px;height:18px;stroke:var(--color-white);fill:none}.feature-card__title{font-family:var(--font-body);font-size:var(--text-base);font-weight:600;color:var(--text-primary);line-height:1.3}.feature-card__text{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.contact-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--bg-light);border-radius:var(--radius-lg);border:1px solid var(--border-light);transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.contact-card:hover{box-shadow:var(--shadow-sm);transform:translate(4px)}.contact-card__icon{width:40px;height:40px;background:var(--color-primary-500);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-card__icon svg{width:17px;height:17px;stroke:var(--color-white);fill:none}.contact-card__body{display:flex;flex-direction:column;gap:2px}.contact-card__label{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.contact-card__value{font-size:var(--text-base);font-weight:500;color:var(--text-primary)}.slot-chip{display:inline-flex;align-items:center;background:#1b6f811f;border:1px solid rgba(27,111,129,.3);color:var(--color-primary-400);font-size:var(--text-sm);font-weight:600;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:background var(--transition-fast),border-color var(--transition-fast)}.slot-chip:hover{background:#1b6f8133;border-color:#1b6f8180}.modal{position:fixed;inset:0;z-index:500;display:flex;align-items:flex-end;justify-content:center}@media(min-width:480px){.modal{align-items:center}}.modal[hidden]{display:none}.modal__backdrop{position:absolute;inset:0;background:#040e1fbf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--transition-base) ease}.modal__panel{position:relative;background:var(--bg-light);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;width:100%;max-width:440px;padding:var(--space-8) var(--space-6) var(--space-6);animation:slideInUp var(--transition-slow) ease;max-height:90vh;overflow-y:auto}@media(min-width:480px){.modal__panel{border-radius:var(--radius-2xl);padding:var(--space-8)}}.modal__close{position:absolute;top:var(--space-4);right:var(--space-4);width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);background:var(--bg-muted);transition:background var(--transition-fast),color var(--transition-fast)}.modal__close:hover{background:var(--bg-alt);color:var(--text-primary)}.modal__close svg{width:16px;height:16px}.modal__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:900;color:var(--text-primary);margin-bottom:var(--space-2)}.modal__subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-6)}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.form-group label{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.form-group input{width:100%;padding:.75rem var(--space-4);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-alt);border:1.5px solid var(--border-light);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.form-group input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #1b6f811f}.form-group input.is-error{border-color:var(--color-error)}.form-error{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1)}.form-divider{display:flex;align-items:center;gap:var(--space-3);margin-block:var(--space-4);color:var(--text-secondary);font-size:var(--text-xs)}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:var(--border-light)}.modal__footer-link{text-align:center;font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-4)}.modal__footer-link a{color:var(--text-accent);font-weight:500}.modal__footer-link a:hover{text-decoration:underline}.iti{width:100%}
