@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/sora-latin-ext-400-normal.3eaf008d.woff2) format("woff2"),url(/_next/static/media/sora-latin-ext-400-normal.9529ec9f.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/sora-latin-400-normal.2ec516d7.woff2) format("woff2"),url(/_next/static/media/sora-latin-400-normal.a2caea6b.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/sora-latin-ext-600-normal.9d95f760.woff2) format("woff2"),url(/_next/static/media/sora-latin-ext-600-normal.5af66179.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/sora-latin-600-normal.8bdc1840.woff2) format("woff2"),url(/_next/static/media/sora-latin-600-normal.2c889c61.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/newsreader-vietnamese-400-normal.92e932d4.woff2) format("woff2"),url(/_next/static/media/newsreader-vietnamese-400-normal.d4de136c.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/newsreader-latin-ext-400-normal.b520a367.woff2) format("woff2"),url(/_next/static/media/newsreader-latin-ext-400-normal.eea15623.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/newsreader-latin-400-normal.40164bd1.woff2) format("woff2"),url(/_next/static/media/newsreader-latin-400-normal.279e3300.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/newsreader-vietnamese-600-normal.efcc580e.woff2) format("woff2"),url(/_next/static/media/newsreader-vietnamese-600-normal.7d856a4d.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/newsreader-latin-ext-600-normal.ab4e608d.woff2) format("woff2"),url(/_next/static/media/newsreader-latin-ext-600-normal.eb1c0ea3.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/newsreader-latin-600-normal.20a89129.woff2) format("woff2"),url(/_next/static/media/newsreader-latin-600-normal.d639f2d9.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--bg:#f9fbfd;--bg-soft:#f4f7f9;--surface:#ffffff;--surface-muted:#f4f7f9;--text:#1a1a1a;--text-muted:#6b7280;--line:#e2e8f0;--brand:#10B981;--brand-strong:#059669;--brand-soft:#ecfdf5;--brand-muted:#6ee7b7;--danger:#ef4444;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 4px 6px -1px rgba(0,0,0,0.05),0 2px 4px -1px rgba(0,0,0,0.03);--shadow-md:0 10px 15px -3px rgba(0,0,0,0.05),0 4px 6px -2px rgba(0,0,0,0.025)}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background-color:var(--bg);min-height:100vh}a{color:var(--brand);text-decoration:none}.page-shell{width:100%;min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--surface);border-bottom:1px solid var(--line);padding:0 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:0 1px 4px rgba(0,0,0,.06)}.app-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:64px;max-width:1280px;margin:0 auto;width:100%}.app-logo{height:40px;width:auto;object-fit:contain;flex-shrink:0}.app-nav{display:flex;align-items:stretch;gap:0;height:100%}.app-nav-link{display:flex;align-items:center;font-size:.9rem;font-weight:500;color:var(--text-muted);text-decoration:none;padding:0 1.1rem;position:relative;border:none;background:none;cursor:pointer;font-family:inherit;letter-spacing:.01em;transition:color .15s;white-space:nowrap}.app-nav-link:after{content:"";position:absolute;bottom:0;left:.6rem;right:.6rem;height:2px;border-radius:2px 2px 0 0;background:var(--brand);transform:scaleX(0);transition:transform .2s ease}.app-nav-link:hover{color:var(--text)}.app-nav-link:hover:after{transform:scaleX(.5);background:var(--line)}.app-nav-link.active{color:var(--brand-strong);font-weight:600}.app-nav-link.active:after{transform:scaleX(1)}.app-header-right{gap:1.25rem;flex-shrink:0}.app-header-right,.app-phone{display:flex;align-items:center}.app-phone{gap:.4rem;font-size:.82rem;font-weight:600;color:var(--text-muted);text-decoration:none;white-space:nowrap;transition:color .15s}.app-phone svg,.app-phone:hover{color:var(--brand)}.app-phone svg{flex-shrink:0}.app-brand{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1rem;color:var(--text)}.app-brand-dot{width:10px;height:10px;border-radius:50%;background:var(--brand);display:inline-block;flex-shrink:0}.stepper{gap:.5rem}.stepper,.stepper-step{display:flex;align-items:center}.stepper-step{gap:.4rem;font-size:.82rem;font-weight:500;color:var(--text-muted);opacity:.5}.stepper-step.active{color:var(--brand-strong);opacity:1}.stepper-step.done{color:var(--brand);opacity:.75}.stepper-num{width:22px;height:22px;border-radius:50%;background:var(--bg-soft);border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0}.stepper-step.active .stepper-num{background:var(--brand);border-color:var(--brand);color:white}.stepper-step.done .stepper-num{background:var(--brand-soft);border-color:var(--brand-muted);color:var(--brand-strong)}.stepper-arrow{color:var(--text-muted);font-size:1rem;opacity:.4;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-footer{background:#1a1a2e;border-top:1px solid rgba(255,255,255,.08);padding:1.5rem 2rem;display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:.8rem;color:rgba(255,255,255,.45);margin-top:auto}.app-footer-copy{font-weight:400;color:rgba(255,255,255,.4)}.app-footer-divider{opacity:.25;color:white}.app-footer-link{color:rgba(255,255,255,.5);text-decoration:none;font-weight:500;transition:color .15s}.app-footer-link:hover{color:var(--brand)}.hero-section{background:linear-gradient(135deg,#f0fdf8,#e6f9f3 50%,#f0f9ff);border-bottom:1px solid var(--line);padding:4rem 2rem}.hero-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:3rem}.hero-text{flex:1 1;min-width:0}.hero-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--brand-soft);color:var(--brand-strong);border:1px solid var(--brand-muted);border-radius:999px;padding:.3rem .85rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.25rem}.hero-badge:before{content:"";width:6px;height:6px;background:var(--brand);border-radius:50%}.hero-title{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;color:#0f172a;line-height:1.2;margin:0 0 1rem}.hero-title span{color:var(--brand)}.hero-subtitle{font-size:1.05rem;color:var(--text-muted);line-height:1.65;margin:0 0 2rem;max-width:480px}.hero-cta{display:inline-flex;align-items:center;gap:.5rem;background:var(--brand);color:white;font-weight:700;font-size:1rem;padding:.85rem 2rem;border-radius:999px;border:none;cursor:pointer;transition:background .2s,transform .15s;text-decoration:none}.hero-cta:hover{background:var(--brand-strong);transform:translateY(-1px);color:white}.hero-cta svg{transition:transform .2s}.hero-cta:hover svg{transform:translateX(3px)}.hero-trust{gap:1.5rem;margin-top:2rem;flex-wrap:wrap}.hero-trust,.hero-trust-item{display:flex;align-items:center}.hero-trust-item{gap:.4rem;font-size:.82rem;font-weight:600;color:var(--text-muted)}.hero-trust-item svg{color:var(--brand);flex-shrink:0}.hero-image-wrap{flex:0 0 480px;max-width:480px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 24px 48px rgba(0,0,0,.12);position:relative}.hero-image-wrap img{width:100%;height:360px;object-fit:cover;display:block}@media (max-width:860px){.hero-inner{flex-direction:column}.hero-image-wrap{flex:none;max-width:100%;width:100%}}.booking-section{padding:2rem 2rem 3rem;background:var(--bg);flex:1 1}.booking-section-inner{max-width:1300px;margin:0 auto}.booking-section-title{text-align:center;margin-bottom:2rem}.booking-section-title h2{font-size:1.6rem;font-weight:800;color:#0f172a;margin:0 0 .4rem}.booking-section-title p{font-size:.95rem;color:var(--text-muted);margin:0}.booking-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.07);border-radius:var(--radius-md);overflow:hidden;position:relative;min-height:580px}@media (min-width:800px){.booking-card{flex-direction:row}}.booking-sidebar{padding:2rem 2rem 2.5rem;background:linear-gradient(180deg,#f8fdfb 0,var(--surface) 100%);border-bottom:1px solid var(--line);flex-shrink:0}@media (min-width:800px){.booking-sidebar{width:340px;border-bottom:none;border-right:1px solid var(--line)}}.company-logo{margin-bottom:1.5rem}.company-logo,.logo-initial{display:flex;align-items:center}.logo-initial{width:36px;height:36px;background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:white;border-radius:10px;justify-content:center;font-size:1.1rem;font-weight:700}.company-logo svg{height:28px;width:auto;color:var(--brand)}.intro-eyebrow{font-size:.9rem;font-weight:500;color:var(--text-muted);margin-bottom:.25rem;margin-top:0}.intro-title{font-size:1.5rem;font-weight:700;color:var(--text);margin-top:0;margin-bottom:1.5rem}.duration-badge{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-muted);font-weight:500;margin-bottom:1.5rem}.duration-badge svg{width:18px;height:18px}.intro-desc{font-size:.88rem;line-height:1.6;color:var(--text-muted);margin:0 0 1.25rem}.sidebar-fee-card{background:white;border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem 1.1rem;box-shadow:0 2px 8px rgba(0,0,0,.05)}.sfc-top{gap:.5rem;margin-bottom:.6rem}.sfc-icon,.sfc-top{display:flex;align-items:center}.sfc-icon{width:28px;height:28px;border-radius:8px;background:var(--brand);color:white;justify-content:center;flex-shrink:0}.sfc-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--brand-strong)}.sfc-price{font-size:1.9rem;font-weight:800;color:var(--text);line-height:1;margin-bottom:.3rem}.sfc-price span{font-size:.8rem;font-weight:500;color:var(--text-muted);margin-left:2px}.sfc-note{font-size:.75rem;color:var(--text-muted);margin:0 0 .75rem}.sfc-includes{list-style:none;margin:0;padding:.75rem 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.4rem}.sfc-includes li{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--text-muted)}.sfc-includes li svg{color:var(--brand);flex-shrink:0}.booking-main{flex:1 1;background:var(--surface)}.booking-main,.calendar-section{display:flex;flex-direction:column}.calendar-section{padding:2.5rem;height:100%}@media (min-width:1000px){.calendar-section{flex-direction:row;gap:2.5rem}}.calendar-wrapper{flex:1 1;max-width:480px;border:1.5px solid var(--line);border-radius:var(--radius-md);padding:1.5rem;align-self:flex-start}.calendar-header{display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;position:relative}.calendar-header h2{font-size:1.25rem;font-weight:600;margin:0}.month-nav{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);transition:background-color .2s}.month-nav:hover{background:var(--bg-soft)}.month-nav:disabled{opacity:.2;cursor:default}.month-nav.prev{left:0}.month-nav.next{right:0}.today-btn{position:absolute;right:40px;font-size:.75rem;padding:.25rem .5rem;background:var(--brand-soft);color:var(--brand-strong);border:1px solid var(--brand-muted);border-radius:var(--radius-sm);cursor:pointer;font-weight:500;transition:all .15s ease}.today-btn:hover{background:var(--brand-muted)}.calendar-grid-wrap{position:relative}.calendar-grid-wrap:before{content:"";position:absolute;top:0;bottom:0;right:0;width:calc((200% - 40px) / 7);background:#e5e7eb;border-radius:10px;z-index:0;pointer-events:none}.calendar-grid{position:relative;z-index:1}.calendar-grid,.weekday-headers-row{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:12px;gap:12px;text-align:center}.weekday-headers-row{margin-bottom:4px}.weekday-header{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;padding-bottom:.75rem}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.05rem;font-weight:600;cursor:pointer;position:relative;background:transparent;border:1.5px solid transparent;padding:0;transition:all .15s ease;color:inherit}.calendar-day.available:not(.selected),.calendar-day.unavailable{border-color:var(--line)}.calendar-day.available:not(.selected){border-color:var(--brand);color:var(--brand-strong)}.calendar-day:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand)}.calendar-day.selected:hover{background:var(--brand-strong);color:white;border-color:var(--brand-strong)}.calendar-day.selected{background:var(--brand);color:white;border-color:var(--brand)}.calendar-day.unavailable{border-color:var(--line);color:var(--text-muted);cursor:default;opacity:.5}.calendar-day.past{color:#374151!important;border-color:transparent!important;pointer-events:none}.calendar-day:disabled{color:#374151;border-color:transparent;cursor:default}.calendar-day.today{color:var(--text);font-weight:700;text-decoration:underline;-webkit-text-decoration-color:red;text-decoration-color:red;text-underline-offset:3px}.calendar-day.today.selected{color:white;text-decoration:none}.timezone-selector{margin-top:1rem;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:.8rem;color:var(--text-muted)}.timezone-selector svg{flex-shrink:0;color:var(--brand)}.timezone-selector span{font-weight:500;white-space:nowrap}.timezone-selector select{flex:1 1;min-width:0;font-size:.8rem;font-weight:500;color:var(--text);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right .25rem center;padding-right:1.25rem;border:none;outline:none;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.slots-wrapper{flex:0 0 280px;display:flex;flex-direction:column}.slots-header{margin-bottom:1rem;text-align:center}.slots-header h3{font-size:1.2rem;font-weight:600;margin:0 0 .4rem;color:var(--text)}.slots-header p{font-size:.95rem;color:var(--text-muted);margin:0}.slots-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:.85rem;gap:.85rem;max-height:520px;overflow-y:auto;padding-right:.25rem}.slots-list::-webkit-scrollbar{width:6px}.slots-list::-webkit-scrollbar-thumb{background-color:var(--line);border-radius:4px}.slot-container{display:flex;gap:.5rem}.slot-btn{flex:1 1;background:var(--surface);border:1.5px solid var(--line);color:var(--text);padding:.85rem .5rem;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all .15s ease;text-align:center}.slot-btn.selected,.slot-btn:hover{border-color:var(--brand);color:var(--brand-strong);background:var(--brand-soft)}.slot-btn.active{border-color:var(--brand)}.slot-btn.active,.slot-next-btn{background:var(--brand);color:white}.slot-next-btn{border:none;border-radius:var(--radius-sm);padding:0 1.2rem;font-weight:500;cursor:pointer;transition:background .2s}.slot-next-btn:hover{background:var(--brand-strong)}.form-section{padding:2.5rem;display:flex;flex-direction:column;height:100%;animation:fade-in .3s ease}.back-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--brand);font-size:.9rem;font-weight:500;background:none;border:none;cursor:pointer;padding:0;margin-bottom:1.5rem;text-decoration:none}.back-link:hover{text-decoration:underline}.form-title{font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.summary-card{background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius-md);padding:1.2rem 1.5rem;margin-bottom:2rem}.summary-detail{display:flex;align-items:center;gap:.8rem;font-size:.95rem;font-weight:500;color:var(--brand);margin-bottom:.5rem}.summary-detail:last-child{margin-bottom:0}.summary-detail svg{width:18px;height:18px;flex-shrink:0}.summary-detail.time{font-size:1.1rem;font-weight:600;margin-top:.2rem;margin-left:26px;margin-bottom:1rem}.summary-detail.timezone{color:var(--text-muted);font-size:.85rem}.booking-form{gap:1.25rem}.booking-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.4rem}.form-group label{font-size:.9rem;font-weight:600;color:var(--text)}.form-group input,.form-group textarea{padding:.8rem 1rem;border:1.5px solid var(--line);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;background:#fafbfc}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);background:var(--surface)}.field-helper{font-size:.8rem;color:var(--text-muted);margin-top:-.1rem}.field-error{font-size:.82rem;color:#ef4444;margin-top:-.1rem;font-weight:500}.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:white;border:none;border-radius:30px;padding:.9rem 2.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;align-self:stretch;margin-top:.5rem;box-shadow:0 4px 12px rgba(16,185,129,.25)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--brand-strong),#047857);transform:translateY(-1px);box-shadow:0 6px 16px rgba(16,185,129,.3)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.loading-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-placeholder{padding:3rem;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;height:100%;font-size:.9rem}.shimmer-loading{display:flex;flex-direction:column;width:100%;min-height:600px}@media (min-width:800px){.shimmer-loading{flex-direction:row}}.shimmer-sidebar{padding:2.5rem;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:.75rem}@media (min-width:800px){.shimmer-sidebar{width:340px;border-bottom:none;border-right:1px solid var(--line);flex-shrink:0}}.shimmer-main{flex:1 1;padding:2.5rem;display:flex;flex-direction:column}@media (min-width:1000px){.shimmer-main{flex-direction:row;gap:2.5rem}}.shimmer-content{display:flex;flex-direction:column;flex:1 1}@media (min-width:1000px){.shimmer-content{flex-direction:row;gap:2.5rem}}.shimmer-calendar{max-width:400px}.shimmer-slots{flex:1 1;padding-top:1rem}@media (min-width:1000px){.shimmer-slots{padding-top:0}}.shimmer-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));grid-gap:.5rem;gap:.5rem}.shimmer-calendar{width:100%;max-width:340px}.shimmer-line{background:var(--bg-soft);border-radius:4px;opacity:.5;animation:pulse 2s ease-in-out infinite}.shimmer-line.circle{border-radius:50%}.shimmer-line.title{width:70%;height:20px}.shimmer-line.subtitle{width:50%;height:14px}.shimmer-line.text{width:90%;height:12px}.shimmer-line.text-short{width:60%;height:12px}.shimmer-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:0 .5rem}.shimmer-weekdays{margin-bottom:8px}.shimmer-days,.shimmer-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.7}}.error-banner{background:#fef2f2;color:var(--danger);padding:.75rem 1rem;border-radius:var(--radius-sm);border:1px solid #fecaca;margin-top:1rem;font-size:.9rem}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.confirmation-shell{max-width:760px}.confirmation-card{background:linear-gradient(180deg,#ffffff,#fbfefc);border:1px solid #d9e3dc;border-radius:20px;padding:clamp(1.5rem,3vw,2.4rem);box-shadow:0 18px 35px rgba(15,23,42,.08);text-align:left}.confirmation-card .eyebrow{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 .8rem;padding:.4rem .75rem;border-radius:999px;background:var(--brand-soft);color:var(--brand-strong);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.confirmation-card .eyebrow:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--brand)}.confirmation-card h1{margin:0;font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.2}.confirmation-card .hero-copy{margin:.9rem 0 1.4rem;color:#475569;line-height:1.6}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.9rem;gap:.9rem;margin:0;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#f8fbfa}.detail-grid>div{padding:.85rem .95rem;border-radius:10px;background:#ffffff;border:1px solid #e8eef1}.detail-grid dt{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.detail-grid dd{margin:.4rem 0 0;font-size:.97rem;line-height:1.45;color:#0f172a;font-weight:600;word-break:break-word}.confirmation-actions{margin-top:1.4rem;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1.25rem;border-radius:999px;border:1px solid transparent;font-size:.95rem;font-weight:600;line-height:1;cursor:pointer;transition:all .2s ease}.btn.btn-primary{margin-top:0;align-self:auto;text-decoration:none}.btn-secondary{background:#ffffff;border-color:#c5e8d5;color:#047857}.btn-secondary:hover{background:#f0fdf4;border-color:#86efac}.confirmation-loading-card .eyebrow{background:#eef2f7;color:#334155}.confirmation-loading-card .eyebrow:before{background:#94a3b8}.confirmation-loading-copy{margin-bottom:1rem}.confirmation-skeleton-grid{gap:.8rem}.confirmation-skeleton-item{display:flex;flex-direction:column;gap:.55rem}.skeleton-line{display:block;border-radius:999px;background:linear-gradient(90deg,#e2e8f0 25%,#f8fafc 50%,#e2e8f0 75%);background-size:240% 100%;animation:confirmation-shimmer 1.2s linear infinite}.skeleton-label{width:46%;height:.72rem}.skeleton-value{width:82%;height:.95rem}@keyframes confirmation-shimmer{0%{background-position:200% 0}to{background-position:-40% 0}}@media (max-width:640px){body{padding:1rem}.booking-sidebar{padding:1.5rem}.intro-title{font-size:1.25rem}.calendar-section{padding:1rem}.calendar-wrapper{max-width:100%}.calendar-day{font-size:.8rem;width:36px;height:36px}.form-section{padding:1.5rem}.summary-card{padding:1rem}.slots-list{gap:.5rem}.slot-btn{padding:.5rem .75rem;font-size:.85rem;min-width:70px}.booking-form input{font-size:16px}.btn-primary{padding:.875rem 1.5rem;font-size:1rem}}.detail-grid{grid-template-columns:1fr}.confirmation-actions{flex-direction:column}.confirmation-actions .btn{width:100%}.site-footer{background:#0f172a;color:rgba(255,255,255,.65);margin-top:auto}.site-footer-inner{max-width:1280px;margin:0 auto;padding:4rem 2rem 3rem;display:grid;grid-template-columns:2fr 1fr 1fr;grid-gap:3rem;gap:3rem;align-items:start}@media (max-width:900px){.site-footer-inner{grid-template-columns:1fr 1fr;gap:2.5rem}}@media (max-width:560px){.site-footer-inner{grid-template-columns:1fr;gap:2rem;padding:3rem 1.5rem 2rem}}.sf-logo{height:36px;width:auto;object-fit:contain;margin-bottom:1rem;filter:brightness(0) invert(1);opacity:.9}.sf-tagline{font-size:.875rem;line-height:1.65;color:rgba(255,255,255,.5);margin:0 0 1.5rem;max-width:260px}.sf-social{display:flex;gap:.6rem}.sf-social-link{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);transition:background .2s,color .2s,border-color .2s;text-decoration:none}.sf-social-link:hover{background:var(--brand);border-color:var(--brand);color:white}.sf-heading{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.9);margin:0 0 1.1rem}.sf-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.sf-links a{font-size:.875rem;color:rgba(255,255,255,.5);text-decoration:none;transition:color .15s}.sf-links a:hover{color:var(--brand)}.sf-contact{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.8rem}.sf-contact li{display:flex;align-items:flex-start;gap:.55rem;font-size:.862rem;color:rgba(255,255,255,.5);line-height:1.4}.sf-contact li svg{flex-shrink:0;margin-top:2px;color:var(--brand)}.sf-contact a{color:rgba(255,255,255,.5);text-decoration:none;transition:color .15s}.sf-contact a:hover{color:var(--brand)}.sf-bottom{border-top:1px solid rgba(255,255,255,.08)}.sf-bottom-inner{max-width:1280px;margin:0 auto;padding:1.1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.8rem;color:rgba(255,255,255,.35);flex-wrap:wrap}.sf-bottom-links{display:flex;gap:1.5rem}.sf-bottom-links a{color:rgba(255,255,255,.35);text-decoration:none;transition:color .15s}.sf-bottom-links a:hover{color:var(--brand)}.stepper-bar{background:var(--surface);border-bottom:1px solid var(--line);padding:.65rem 2rem;display:flex;align-items:center;justify-content:center}.stepper-bar .stepper{display:flex;align-items:center;gap:.75rem}.stepper-bar .stepper-step{display:flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:500;color:var(--text-muted);opacity:.45}.stepper-bar .stepper-step.active{color:var(--brand-strong);opacity:1}.stepper-bar .stepper-step.done{color:var(--brand);opacity:.75}.stepper-bar .stepper-num{width:24px;height:24px;border-radius:50%;background:var(--bg-soft);border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:.73rem;font-weight:700}.stepper-bar .stepper-step.active .stepper-num{background:var(--brand);border-color:var(--brand);color:white}.stepper-bar .stepper-step.done .stepper-num{background:var(--brand-soft);border-color:var(--brand-muted);color:var(--brand-strong)}.stepper-bar .stepper-arrow{color:var(--text-muted);font-size:1.1rem;opacity:.35;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sf-product-name{display:inline-block;font-size:1.5rem;font-weight:800;color:#ffffff;letter-spacing:-.03em;margin-bottom:.85rem;line-height:1}.sf-product-dot{color:var(--brand)}.text-logo{display:inline-flex;flex-direction:column;align-items:flex-start;gap:0;line-height:1;text-decoration:none;cursor:default;flex-shrink:0}.text-logo-text{display:flex;flex-direction:row;align-items:baseline;gap:0;line-height:1}.text-logo-bold{font-weight:800;letter-spacing:-.03em}.text-logo-bold,.text-logo-light{font-size:1.35rem;color:#1a2332;line-height:1}.text-logo-light{font-weight:400;letter-spacing:-.02em}.text-logo-bar{display:block;margin-top:4px;width:2.4rem;height:3px;border-radius:2px;background:linear-gradient(90deg,#10b981,#34d399)}.text-logo-invert .text-logo-bold,.text-logo-invert .text-logo-light{color:#ffffff}.text-logo-invert .text-logo-bar{background:linear-gradient(90deg,#10b981,#34d399)}.existing-booking-banner{display:flex;align-items:flex-start;gap:.75rem;background:#fffbeb;border:1px solid #fcd34d;border-left:4px solid #f59e0b;border-radius:var(--radius-sm);padding:1rem 1.25rem;margin-bottom:1.25rem;animation:fade-slide-in .3s ease}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ebb-icon{flex-shrink:0;color:#f59e0b;margin-top:1px}.ebb-content{flex:1 1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.ebb-content strong{font-size:.88rem;font-weight:700;color:#92400e}.ebb-content span{font-size:.82rem;color:#a16207;line-height:1.4}.ebb-dismiss{flex-shrink:0;background:none;border:none;color:#a16207;font-size:1rem;cursor:pointer;padding:0 .25rem;line-height:1;opacity:.6;transition:opacity .15s}.ebb-dismiss:hover{opacity:1}.doctors-section{background:var(--bg);padding:3.5rem 2rem 4rem;border-top:1px solid var(--line)}.doctors-inner{max-width:1280px;margin:0 auto}.doctors-header{text-align:center;margin-bottom:2.5rem}.doctors-title{font-size:1.8rem;font-weight:800;color:#0f172a;margin:0 0 .5rem}.doctors-subtitle{font-size:1rem;color:var(--text-muted);margin:0}.doctors-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.5rem;gap:1.5rem}@media (max-width:960px){.doctors-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.doctors-grid{grid-template-columns:1fr}}.doctor-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);display:flex;flex-direction:column;overflow:hidden;text-align:left;transition:transform .2s,box-shadow .2s}.doctor-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.08)}.dc-image-wrap{position:relative;width:100%;height:320px;background:var(--bg-soft);overflow:hidden}.dc-img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.dc-need-badge{position:absolute;bottom:.75rem;right:.75rem;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--brand-strong);border:1px solid rgba(16,185,129,.2);border-radius:999px;padding:.3rem .6rem;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;box-shadow:0 4px 6px rgba(0,0,0,.05)}.dc-info{padding:1.25rem 1.25rem 0;display:flex;flex-direction:column;gap:.35rem}.dc-name{font-size:1.1rem;font-weight:800;color:#0f172a;margin:0}.dc-specialty{font-size:.88rem;color:var(--text-muted);margin:0}.dc-meta{justify-content:space-between;gap:1rem;margin-top:.75rem;width:100%}.dc-meta,.dc-slots{display:flex;align-items:center}.dc-slots{gap:.3rem;font-size:.78rem;color:var(--text-muted);font-weight:500}.dc-slots svg{color:var(--brand)}.dc-price{font-size:1.15rem;font-weight:800;color:#0f172a}.dc-price small{font-size:.7rem;font-weight:500;color:var(--text-muted)}.dc-book-btn{width:calc(100% - 2.5rem);margin:1.25rem;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1rem;background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:white;border:none;border-radius:999px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 3px 10px rgba(16,185,129,.2)}.dc-book-btn:hover{background:linear-gradient(135deg,var(--brand-strong),#047857);transform:translateY(-1px);box-shadow:0 5px 14px rgba(16,185,129,.3)}.dc-book-btn svg{transition:transform .2s}.dc-book-btn:hover svg{transform:translateX(3px)}.sidebar-doctor-card{border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:var(--surface);margin-top:.25rem}.sdc-photo-wrap{position:relative;width:100%;height:200px;background:var(--bg-soft);overflow:hidden}.sdc-photo{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.sdc-need-badge{position:absolute;bottom:.65rem;right:.65rem;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--brand-strong);border:1px solid rgba(16,185,129,.22);border-radius:999px;padding:.25rem .55rem;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 2px 6px rgba(0,0,0,.07)}.sdc-body{padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.3rem}.sdc-name{font-size:1rem;font-weight:800;color:#0f172a;margin:0;line-height:1.2}.sdc-specialty{font-size:.8rem;color:var(--text-muted);margin:0}.sdc-branch{opacity:.75}.sdc-stats{justify-content:space-between;margin-top:.6rem;gap:.5rem}.sdc-stat,.sdc-stats{display:flex;align-items:center}.sdc-stat{gap:.3rem;font-size:.78rem;color:var(--text-muted);font-weight:500}.sdc-stat svg{color:var(--brand);flex-shrink:0}.sdc-stat-price{font-size:.9rem;font-weight:800;color:#0f172a}.sdc-stat-price small{font-size:.68rem;font-weight:500;color:var(--text-muted)}.sdc-features{list-style:none;margin:.75rem 0 .25rem;display:flex;flex-direction:column;gap:.4rem;border-top:1px solid var(--line);padding:.75rem 0 0}.sdc-features li{display:flex;align-items:center;gap:.45rem;font-size:.78rem;color:var(--text-muted)}.sdc-features li svg{color:var(--brand);flex-shrink:0}.sdc-note{font-size:.72rem;color:var(--text-muted);margin:.35rem 0 0;opacity:.7}.price-banner-section{background:var(--bg);padding:0 2rem 4rem}.price-banner-inner{max-width:900px;margin:0 auto;justify-content:space-between;gap:2rem;padding:0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--line);box-shadow:0 4px 20px rgba(0,0,0,.06);background:white}.pb-left,.price-banner-inner{display:flex;align-items:center}.pb-left{gap:1.5rem;padding:1.75rem 2rem;flex:1 1}.pb-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--brand) 0,var(--brand-strong) 100%);color:white;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(16,185,129,.3)}.pb-label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-strong);margin-bottom:.25rem}.pb-price{margin:0 0 .2rem;font-size:2.2rem;font-weight:800;color:var(--text);line-height:1}.pb-price span{font-size:.85rem;font-weight:500;color:var(--text-muted);margin-left:2px}.pb-note{margin:0;font-size:.8rem;color:var(--text-muted)}.pb-includes{list-style:none;margin:0;padding:1.75rem 2rem;display:flex;flex-direction:column;gap:.6rem;border-left:1px solid var(--line);background:var(--bg-soft);min-width:220px}.pb-includes li{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.pb-includes li svg{color:var(--brand);flex-shrink:0}@media (max-width:700px){.price-banner-inner{flex-direction:column;align-items:stretch}.pb-left{padding:1.5rem}.pb-includes{border-left:none;border-top:1px solid var(--line);padding:1.25rem 1.5rem;flex-direction:row;flex-wrap:wrap;gap:.5rem 1.25rem}}.confirmation-shell{display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;background-color:var(--bg);flex:1 1}.confirmation-card{max-width:600px;width:100%;margin:0 auto;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:3.5rem 2.5rem;box-shadow:var(--shadow-md)}.confirmation-card h1{font-size:2rem;font-weight:800;margin:.5rem 0 1rem;color:#0f172a}.confirmation-card .detail-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1.5rem;gap:1.5rem;text-align:left;margin:2.5rem auto;padding:1.5rem;background:var(--bg-soft);border-radius:var(--radius-sm);border:1px solid var(--line)}.confirmation-card .detail-grid dt{font-size:.8rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;margin-bottom:.3rem}.confirmation-card .detail-grid dd{margin:0;font-weight:500;font-size:.95rem;color:var(--text)}.confirmation-actions{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem;flex-wrap:wrap}