:root{--color-dark-blue:#13192b;--color-middle-blue:#1e2846;--color-open-blue:#004b87;--color-light-blue:#ebf3fa;--color-accent-blue:#0066b3;--color-beige-50:#faf8f5;--color-beige-100:#f4efea;--color-beige-200:#efe8e0;--color-beige-300:#e3d9cc;--color-white:#fff;--color-slate-900:#0f1423;--color-slate-700:#3a4259;--color-slate-500:#64708a;--color-slate-400:#94a3b8;--color-slate-100:#f1f5f9;--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--shadow-sm:0 2px 8px #13192b0a;--shadow-md:0 10px 30px #13192b0f;--shadow-lg:0 20px 40px #13192b14;--shadow-glow:0 12px 36px #004b872e;--shadow-card:0 4px 20px #13192b08, 0 1px 2px #13192b05;--transition-fast:.2s cubic-bezier(.16, 1, .3, 1);--transition-normal:.35s cubic-bezier(.16, 1, .3, 1);--transition-slow:.6s cubic-bezier(.16, 1, .3, 1);--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-full:9999px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-body);background-color:var(--color-white);color:var(--color-slate-700);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-dark-blue);letter-spacing:-.02em;font-weight:600;line-height:1.15}p{color:var(--color-slate-500);font-size:1.05rem}a{color:inherit;text-decoration:none}button{font-family:var(--font-body);cursor:pointer;background:0 0;border:none;outline:none}.container{width:100%;max-width:1240px;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}@media (width<=640px){.container{padding-left:1.25rem;padding-right:1.25rem}}.section-badge{border-radius:var(--radius-full);background-color:var(--color-light-blue);color:var(--color-open-blue);font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.4rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.section-title{color:var(--color-dark-blue);letter-spacing:-.03em;margin-bottom:1rem;font-size:2.5rem;font-weight:700}.section-subtitle{color:var(--color-slate-500);max-width:680px;margin-bottom:3rem;font-size:1.15rem}@media (width<=768px){.section-title{font-size:1.95rem}.section-subtitle{margin-bottom:2rem;font-size:1rem}}.btn-primary{background-color:var(--color-dark-blue);color:var(--color-white);border-radius:var(--radius-full);transition:all var(--transition-normal);justify-content:center;align-items:center;gap:.65rem;padding:.95rem 2rem;font-size:.95rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #13192b40}.btn-primary:before{content:"";opacity:0;width:100%;height:100%;transition:opacity var(--transition-fast);background:linear-gradient(135deg,#ffffff26 0%,#fff0 100%);position:absolute;top:0;left:0}.btn-primary:hover{background-color:var(--color-middle-blue);transform:translateY(-2px);box-shadow:0 8px 24px #13192b59}.btn-primary:hover:before{opacity:1}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--color-dark-blue);border:1px solid var(--color-beige-300);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-normal);background-color:#ffffffd9;justify-content:center;align-items:center;gap:.65rem;padding:.95rem 2rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn-secondary:hover{background-color:var(--color-white);border-color:var(--color-open-blue);color:var(--color-open-blue);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.glass-card{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all var(--transition-normal);background:#ffffffbf;border:1px solid #f4efeacc}.glass-card:hover{box-shadow:var(--shadow-lg);border-color:#004b8726}.bg-beige-gradient{background:linear-gradient(180deg, var(--color-beige-50) 0%, var(--color-white) 100%)}.bg-soft-blue-gradient{background:linear-gradient(135deg, #f8fafc 0%, var(--color-light-blue) 100%)}.bg-dark-blue-gradient{background:linear-gradient(135deg, var(--color-dark-blue) 0%, var(--color-middle-blue) 100%)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulseSubtle{0%,to{opacity:1}50%{opacity:.6}}.animate-fade-in-up{animation:fadeInUp .8s var(--transition-normal) forwards}.animate-float{animation:5s ease-in-out infinite floatSlow}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-beige-50)}::-webkit-scrollbar-thumb{background:var(--color-beige-300);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--color-slate-400)}.content-page{padding-top:6rem}.portrait-frame{background:var(--color-beige-50)}.portrait-image{object-fit:cover;object-position:center 40%;width:100%;height:100%;display:block;transform:scale(1.02)}.hero-portrait-frame{height:clamp(520px,50vw,650px)}.about-portrait-frame{height:clamp(500px,48vw,580px)}.about-page-portrait-frame{border-radius:var(--radius-sm);width:100%;max-width:450px;height:clamp(500px,46vw,590px);box-shadow:var(--shadow-lg);border:1px solid var(--color-beige-200);overflow:hidden}.page-heading{border-bottom:1px solid var(--color-beige-200);background:var(--color-beige-50);text-align:center;padding:4rem 0}.page-heading h1{margin-bottom:1.25rem;font-size:3rem}.page-heading p{max-width:760px;margin:0 auto;font-size:1.15rem}.content-band{padding:5rem 0}.content-band-tinted{background:var(--color-beige-50)}.section-heading{text-align:center;max-width:750px;margin:0 auto 3rem}.prose-stack{flex-direction:column;align-items:flex-start;gap:1.25rem;min-width:0;display:flex}.prose-stack h2{font-size:2rem}.prose-stack h3{margin-bottom:.65rem;font-size:1.2rem}.prose-stack .section-badge{margin:0}.two-column-content,.bio-grid,.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem;display:grid}.bio-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center}.doctor-portrait{border-radius:var(--radius-sm);width:100%;max-width:450px;display:block}.education-list{gap:1.5rem;list-style:none;display:grid}.education-list li{border-left:2px solid var(--color-open-blue);padding-left:1.25rem}.education-list strong{color:var(--color-open-blue)}.interest-list{gap:1rem;padding-left:1.25rem;display:grid}.icon-line{align-items:center;gap:.75rem;display:flex}.treatment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.treatment-card{border:1px solid var(--color-beige-200);background:#fff;border-radius:8px;flex-direction:column;align-items:flex-start;gap:1rem;min-width:0;padding:2rem;display:flex}.treatment-card h3{font-size:1.3rem;line-height:1.3}.treatment-card p{font-size:.95rem}.treatment-icon{color:var(--color-open-blue);flex-shrink:0}.treatment-link{width:100%;color:var(--color-open-blue);justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:.75rem;font-weight:600;display:flex}.treatment-nav{flex-wrap:wrap;gap:.75rem 1.5rem;padding-top:2rem;padding-bottom:2rem;display:flex}.treatment-nav a{color:var(--color-open-blue);text-underline-offset:5px;font-size:.9rem;text-decoration:underline}.treatment-section,#services{scroll-margin-top:7rem}.treatment-explanation{border-left:1px solid var(--color-beige-300);padding-left:2.5rem}.feature-list{gap:.8rem;list-style:none;display:grid}.feature-list li{align-items:flex-start;gap:.65rem;display:flex}.feature-list svg{color:var(--color-open-blue);flex-shrink:0;margin-top:.2rem}.process-page-list{list-style:none}.process-page-step{border-bottom:1px solid var(--color-beige-200);grid-template-columns:70px minmax(0,1fr);gap:2rem;padding:3.5rem 0;display:grid}.process-page-step:last-child{border-bottom:0}.step-number{color:var(--color-open-blue);font-family:var(--font-heading);font-size:2.5rem;line-height:1.2}.appointment-cta{background:var(--color-dark-blue);color:#fff;text-align:center}.appointment-cta .prose-stack{align-items:center;max-width:850px}.appointment-cta h2{color:#fff;font-size:2.4rem}.appointment-cta p{color:#fffc;max-width:680px}.cta-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;margin-top:1rem;display:flex}.cta-email,.contact-link,.text-button{align-items:center;gap:.75rem;display:inline-flex}.contact-link{color:var(--color-open-blue);font-weight:600}.contact-link span{overflow-wrap:anywhere;min-width:0}.contact-link svg{flex-shrink:0}.contact-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.contact-layout .prose-stack>div,.request-form{width:100%}.request-form{gap:1.2rem;display:grid}.request-form[hidden]{display:none}.request-form label{color:var(--color-dark-blue);margin-bottom:.4rem;font-size:.875rem;font-weight:600;display:block}.request-form input,.request-form select,.request-form textarea{width:100%;min-width:0;max-width:100%;color:var(--color-dark-blue);border:1px solid var(--color-beige-300);font:inherit;background:#fff;border-radius:8px;padding:.85rem;font-size:1rem}.request-form textarea{resize:vertical}.form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;display:grid}.form-note{overflow-wrap:anywhere;font-size:.85rem;line-height:1.6}.request-form input+.form-note{margin-top:.65rem}.form-note a{text-decoration:underline}.email-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--color-beige-50);border-left:2px solid var(--color-open-blue);width:100%;font:inherit;padding:1rem;font-size:.9rem}.text-button{color:var(--color-open-blue);padding:.5rem 0;font-size:.9rem;font-weight:600}.appointment-dialog{border:1px solid var(--color-beige-200);width:min(600px,100% - 2rem);max-height:calc(100dvh - 2rem);color:var(--color-slate-700);background:#fff;border-radius:8px;margin:auto;padding:0;overflow-y:auto}.appointment-dialog::backdrop{background:#13192bb3}.appointment-dialog-header{background:var(--color-dark-blue);justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 2rem;display:flex}.appointment-dialog-header p{color:#fffc;margin-bottom:.4rem;font-size:.85rem}.appointment-dialog-header h2{color:#fff;font-size:1.5rem}.appointment-dialog-body{padding:2rem}.icon-button{color:#fff;background:#ffffff26;border-radius:8px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}button svg,.btn-primary svg,.btn-secondary svg{flex-shrink:0}h1,h2,h3,h4,h5,h6,.section-badge,.section-title{letter-spacing:0}:where(button,a,input,textarea,select):focus-visible{outline:2px solid var(--color-accent-blue);outline-offset:4px}@media (width>=992px) and (width<=1199px){.desktop-nav{gap:1.1rem!important}.desktop-phone{display:none!important}}@media (width<=991px){.treatment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column-content,.bio-grid,.contact-layout{grid-template-columns:minmax(0,1fr);gap:2.5rem}.doctor-portrait{margin:0 auto}.hero-portrait-frame{height:clamp(500px,116vw,620px);max-width:440px!important}.about-portrait-frame,.about-page-portrait-frame{max-width:460px;height:clamp(480px,112vw,600px);margin:0 auto}.treatment-explanation{border-left:0;padding-left:0}}@media (width<=640px){.content-band{padding:3.5rem 0}.page-heading{padding:3rem 0}.page-heading h1{font-size:2.1rem}.hero-title{font-size:2.4rem!important}.prose-stack h2,.appointment-cta h2{font-size:1.8rem}.treatment-grid,.form-row{grid-template-columns:minmax(0,1fr)}.treatment-card{padding:1.5rem}.process-page-step{grid-template-columns:minmax(0,1fr);gap:1rem;padding:2.5rem 0}.appointment-dialog-body,.appointment-dialog-header{padding:1.25rem}header .container{gap:.5rem}header .container>a{min-width:0}header .container>a img{width:64px!important;height:64px!important}header .container>div{flex-shrink:0;gap:.5rem!important}header .btn-primary{padding:.7rem .85rem!important;font-size:.8rem!important}.hero-grid,.about-grid{gap:3rem!important}.hero-portrait-frame{height:clamp(440px,124vw,560px);border-width:3px!important}.about-portrait-frame,.about-page-portrait-frame{height:clamp(430px,120vw,540px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
