@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
@import 'tailwindcss';
@import 'tw-animate-css';
@import '../vendor/shadcn-tailwind-4.13.0.css';
:root{--background:#fafbf9;--foreground:#253d51;--card:#fff;--card-foreground:#253d51;--popover:#fff;--popover-foreground:#253d51;--primary:#294c69;--primary-foreground:#fff;--secondary:#eaf0f3;--secondary-foreground:#253d51;--muted:#edf1f2;--muted-foreground:#647480;--accent:#e9eff3;--accent-foreground:#253d51;--destructive:#a23434;--border:#d5dfe3;--input:#d5dfe3;--ring:#769aaf;--radius:.6rem}
@theme inline{--color-background:var(--background);--color-foreground:var(--foreground);--color-card:var(--card);--color-card-foreground:var(--card-foreground);--color-popover:var(--popover);--color-popover-foreground:var(--popover-foreground);--color-primary:var(--primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-secondary-foreground:var(--secondary-foreground);--color-muted:var(--muted);--color-muted-foreground:var(--muted-foreground);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-destructive:var(--destructive);--color-border:var(--border);--color-input:var(--input);--color-ring:var(--ring);--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--font-sans:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--background);color:var(--foreground);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.7}a{text-decoration:none;color:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a,button,input{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #7199b2;outline-offset:5px}.skip{position:absolute;top:-100px;background:white;z-index:100;padding:15px}.skip:focus{top:0}.demo-banner{display:flex;justify-content:center;gap:12px;align-items:center;background:#eaf0f3;color:#576f80;font-size:11px;padding:7px 20px;letter-spacing:.2px}.demo-banner a{display:inline-flex;align-items:center;gap:4px;text-decoration:underline;text-underline-offset:3px}header{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px 5%}.brand{display:flex;align-items:center;gap:12px;font-family:'Instrument Serif',Georgia,serif;font-size:27px;line-height:1.1;white-space:nowrap}.monogram{display:grid;place-items:center;border:1px solid #91a5b3;border-radius:50%;width:45px;height:45px;font-size:28px;font-style:italic;letter-spacing:-3px;padding-right:3px}.brand small{font-family:'DM Sans';font-size:9px;letter-spacing:1.9px;display:block;margin-top:8px}nav{display:flex;gap:29px;font-size:13px}nav a:hover{color:#779db1}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;padding:15px 23px;background:#294c69;color:#fff;font-size:14px;border:0;border-radius:6px;transition:background .2s}.button:hover{background:#193950}.nav-book{font-size:12px;padding:13px 18px;gap:15px}.menu{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;margin:18px 5% 0;gap:6%;padding-bottom:45px}.hero-copy{padding:40px 0 0}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:500;color:#657f91;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Instrument Serif',Georgia,serif;font-weight:400}h1{font-size:clamp(62px,6.5vw,99px);line-height:1.02;letter-spacing:-1.8px;margin:25px 0}h1 em,h2 em{color:#7190a4;font-weight:400}.hero-copy>p{max-width:400px;color:#6d7c85;font-size:16px;line-height:1.8;margin-bottom:29px}.text-link{display:inline-flex;gap:10px;align-items:center;font-size:13px;margin:18px 0 0 23px}.hero-values{display:flex;gap:22px;font-size:11px;color:#6c7f8c;margin-top:30px}.hero-values span{display:flex;align-items:center;gap:5px}.hero-image{position:relative;min-height:555px;background:#e4edf1;border-radius:130px 12px 12px 12px;overflow:hidden}.hero-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}.portrait-label{position:absolute;bottom:25px;left:25px;right:25px;background:#ffffffed;padding:18px 22px;font-size:11px;letter-spacing:1.7px;border-radius:5px;backdrop-filter:blur(8px)}.portrait-label>span:last-child{display:block;font-family:'Instrument Serif';font-size:23px;letter-spacing:0;margin-top:4px}.mini-line{display:inline-block;width:22px;height:1px;background:#718da0;vertical-align:middle;margin-right:9px}.image-credit{position:absolute;top:25px;right:20px;font-size:9px;letter-spacing:1.7px;color:#3d5769}.care-strip{display:flex;justify-content:space-between;align-items:center;background:#edf2f4;padding:26px 6%;gap:25px}.care-strip>span{font:italic 25px 'Instrument Serif'}.care-strip>div{display:flex;align-items:center;gap:10px;font-size:12px;color:#587182}.care-strip svg{width:20px;stroke-width:1.3}.section{padding:90px 7%}h2{font-size:clamp(42px,4.1vw,65px);line-height:1.08;letter-spacing:-.5px;margin:20px 0 25px}.doctor{display:grid;grid-template-columns:1fr 1fr;gap:12%}.doctor-quote{font:24px/1.5 'Instrument Serif';max-width:410px;color:#658298;margin-top:30px}.signature{font:italic 39px 'Instrument Serif';display:block;margin-top:23px;transform:rotate(-6deg)}.doctor-copy{padding-top:30px;color:#76818a}.doctor-copy p{font-size:15px;margin-bottom:20px}.doctor-copy .lead{font-size:21px;color:#3b5265;line-height:1.6;margin-bottom:25px}.doctor-copy p:last-child{font-size:12px;color:#83919b;border-left:2px solid #c9d7e0;padding-left:15px}.services{padding-top:40px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading>p{font-size:15px;color:#7a8893;margin-bottom:30px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.service-grid article{border:1px solid #dae3e8;border-radius:10px;padding:25px 22px;background:#f2f6f7}.service-grid article:nth-child(even){background:#f7f8f4}.service-number{display:flex;justify-content:space-between;font-size:11px;color:#7a95a5;margin-bottom:35px}.service-grid h3{font-size:29px;line-height:1.1;min-height:65px;margin-bottom:15px}.service-grid p{font-size:14px;color:#798690;min-height:98px;line-height:1.7}.service-grid button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;font-size:12px;margin-top:30px;border-top:1px solid #d8e1e6;padding-top:17px}.service-grid button:hover{color:#759bae}.approach{display:grid;grid-template-columns:1fr 1.05fr;gap:13%;background:#243f55;color:#f3f6f8}.approach .eyebrow{color:#afc3d0}.approach h2 em{color:#b7cddc}.approach>div>p{color:#b9c8d2;font-size:15px}.approach-steps article{display:flex;gap:23px;padding:25px 0;border-top:1px solid #ffffff26}.approach-steps article:first-child{border-top:0;padding-top:8px}.approach-steps article>span{font-size:12px;color:#a0bdcf;padding-top:7px}.approach h3{font-size:32px;line-height:1.3;margin-bottom:9px}.approach-steps p{font-size:14px;color:#c1cfd7}.booking-section{display:grid;grid-template-columns:1fr 1.05fr;gap:10%;background:#edf2f3}.booking-copy{padding-top:20px}.booking-copy>p{font-size:15px;color:#7a8993;max-width:350px;margin-bottom:32px}.booking-info{display:flex;gap:15px;padding:20px 0;border-top:1px solid #d4e0e5;border-bottom:1px solid #d4e0e5;margin:25px 0}.booking-info svg{flex-shrink:0;margin-top:2px}.booking-info strong{font-size:14px;font-weight:500}.booking-info p{font-size:13px;color:#71808a;margin-top:7px}.demo-note{background:#e0e9ed;padding:18px;border-radius:6px;margin-top:25px}.demo-note strong{font-size:13px;font-weight:500}.demo-note p{font-size:12px;color:#607583;margin-top:6px}.clinic-note{display:block;color:#7a8992;font-size:11px;margin-top:20px}.booking-card{background:white;padding:35px;border-radius:14px;border:1px solid #dce5e8;box-shadow:0 12px 35px #27435a06;align-self:start;min-width:0}.booking-title{display:flex;gap:10px;align-items:center;font-size:10px;letter-spacing:1.5px}.booking-title small{font-size:9px;margin-left:auto;background:#eff3f5;padding:2px 7px;letter-spacing:1px}.progress{padding:25px 0 27px;margin:0;display:flex;justify-content:space-between;list-style:none;gap:10px}.progress li{display:flex;gap:7px;align-items:center;font-size:11px;color:#81929d}.progress li>span{display:grid;place-items:center;width:22px;height:22px;background:#edf2f4;border-radius:50%;font-size:10px}.progress .active{color:#294c69}.progress .active>span,.progress .done>span{background:#294c69;color:white}.booking-card h3{font-size:33px;line-height:1.2;margin-bottom:9px;outline:none}.form-intro{font-size:12px;color:#7a8c97;margin-bottom:26px}.booking-card label:not(.consent):not(.time-options label){display:block;font-size:12px;margin:18px 0 8px;font-weight:500}.booking-card .form-control{width:100%;height:47px;border-radius:5px;font-size:14px;background:#fbfcfc;box-shadow:none}.booking-card legend{font-size:12px;font-weight:500;margin-bottom:10px}.booking-card fieldset{margin-top:22px}.time-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.time-options label{font-size:11px;display:flex;gap:6px;align-items:center;border:1px solid #d5dfe3;border-radius:5px;padding:12px 8px;cursor:pointer}.time-options label.chosen{border-color:#537b96;background:#edf4f7}.time-options button{width:12px;height:12px}.time-options svg{width:6px;height:6px}.field-note{font-size:11px;color:#7c8f9a;margin:13px 0 25px}.full{width:100%;justify-content:space-between;margin-top:10px;font-size:13px}.booking-bottom{display:flex;justify-content:center;align-items:center;gap:6px;font-size:10px;color:#81939c;margin-top:20px}.back{display:block;font-size:12px;text-decoration:underline;text-underline-offset:3px;margin:16px auto 0}.error{font-size:13px;color:#a32d35;background:#fff2f2;border-radius:4px;padding:10px;margin:15px 0}.review{font-size:13px;margin:25px 0}.review>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e5ebee;padding:10px 0}.review dt{color:#85949e;flex-shrink:0}.review dd{text-align:right;overflow-wrap:anywhere}.consent{display:flex;align-items:start;gap:10px;font-size:12px;line-height:1.6}.consent button{flex-shrink:0;margin-top:2px}.privacy-link{font-size:11px;text-decoration:underline;margin:10px 0 15px 26px;color:#6a8191}.success{text-align:center}.success-icon{display:grid;place-items:center;background:#e9f0f2;width:68px;height:68px;border-radius:50%;margin:10px auto 25px}.success h3{font-size:41px;margin:18px 0}.success>p{font-size:14px;color:#7c8a93}.reference{background:#f1f5f6;border-radius:8px;margin:25px 0;padding:20px}.reference small{font-size:10px;letter-spacing:1.6px;display:block}.reference strong{display:block;font-size:12px;overflow-wrap:anywhere;margin:10px 0}.reference span{font-size:12px;color:#768995}.success .full{font-size:12px}footer{padding:40px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px}footer>p{font:italic 22px 'Instrument Serif';color:#758c9c}footer>div>button{font-size:11px;text-decoration:underline}footer>div>small{display:block;font-size:10px;color:#8b9ca6;margin-top:9px}.privacy-dialog{max-height:85dvh;overflow:auto;font-size:14px}.privacy-dialog h2{font:30px/1.15 'Instrument Serif';margin:8px 0}.privacy-dialog p{color:#728592}.mobile-nav{display:none}
@media(min-width:1500px){.hero{max-width:1450px;margin-left:auto;margin-right:auto}.hero-image{min-height:650px}}@media(max-width:1100px){nav{gap:16px;font-size:12px}.nav-book{display:none}.hero{gap:4%}.hero-image{min-height:530px}.hero-copy{padding-top:25px}h1{font-size:74px}.hero .text-link{margin-left:0;display:flex}.hero-values{gap:13px}.care-strip{flex-wrap:wrap}.service-grid{grid-template-columns:repeat(2,1fr)}.service-grid h3,.service-grid p{min-height:0}.service-grid p{min-height:50px}.booking-section{gap:5%}.booking-card{padding:28px}.section{padding:70px 6%}.services{padding-top:25px}footer{flex-wrap:wrap}}@media(max-width:700px){.demo-banner{font-size:10px;padding:8px 15px;text-align:center}.demo-banner>a{display:none}header{padding:21px 6%}.brand{font-size:25px}.brand small{font-size:8px}.monogram{width:40px;height:40px}header nav{display:none}.menu{display:block}.mobile-nav{display:flex;flex-direction:column;padding:0 6% 23px;gap:15px;font-size:14px;border-bottom:1px solid #d5e0e6}.hero{grid-template-columns:1fr;margin:10px 6% 0;gap:30px;padding-bottom:30px}.hero-copy{padding-top:15px}.eyebrow{font-size:10px;letter-spacing:1.4px}h1{font-size:70px;line-height:1.03;margin:22px 0}.hero-copy>p{font-size:15px;max-width:none}.hero .text-link{display:inline-flex;margin-left:15px;font-size:12px}.hero .button{font-size:12px;gap:14px;padding:14px 17px}.hero-values{font-size:10px;gap:20px;margin-top:22px}.hero-image{min-height:450px;border-top-left-radius:100px}.hero-image img{object-position:center 25%}.portrait-label{left:20px;right:20px;bottom:20px;padding:15px 18px}.portrait-label>span:last-child{font-size:23px}.care-strip{display:grid;grid-template-columns:1fr;padding:27px 7%;gap:17px}.care-strip>span{margin-bottom:4px}.care-strip>div{font-size:12px}.section{padding:58px 7%}h2{font-size:49px;margin:18px 0 23px}.doctor{grid-template-columns:1fr;gap:25px}.doctor-copy{padding:0}.doctor-quote{font-size:25px}.doctor-copy .lead{font-size:20px}.services{padding-top:20px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin-bottom:0;font-size:14px}.service-grid{grid-template-columns:1fr;gap:15px}.service-grid article{padding:25px}.service-number{margin-bottom:23px}.service-grid h3{font-size:33px;min-height:0}.service-grid p{min-height:0}.service-grid button{font-size:13px;margin-top:25px}.approach{grid-template-columns:1fr;gap:30px}.approach h3{font-size:30px}.approach-steps article:first-child{border-top:1px solid #ffffff26;padding-top:22px}.booking-section{grid-template-columns:1fr;gap:30px}.booking-copy{padding:0}.booking-copy>p{max-width:none}.booking-card{padding:25px 20px}.booking-card h3{font-size:34px}.time-options label{font-size:10px;padding:12px 6px;gap:5px}.booking-card .progress li{font-size:10px;gap:5px}.progress{gap:5px}.booking-title{font-size:9px;letter-spacing:1px}.booking-card .full{font-size:12px}.booking-section .demo-note p{font-size:12px}.review>div{font-size:12px;gap:10px}footer{flex-direction:column;align-items:start;padding:35px 7%;gap:25px}footer>div>button{font-size:12px}footer>div>small{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
