*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#102f49;background:#fff;font-family:"DM Sans",Arial,sans-serif;line-height:1.65}a{color:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:99}.site-header{background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 3px 22px #0b35500d}.header-inner{max-width:1180px;margin:auto;padding:10px 28px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{display:block;width:225px;height:82px;object-fit:contain;object-position:left center}.main-nav{display:flex;align-items:center;gap:34px;font-size:.92rem;font-weight:600}.main-nav a{text-decoration:none}.main-nav a:hover,.text-link:hover{color:#138c98}.nav-cta{background:#0c7890;color:#fff;padding:13px 22px;border-radius:999px;box-shadow:0 6px 16px #0b78902a;font-weight:700}.nav-cta:hover{background:#075d73;color:#fff}.menu-toggle{display:none;border:0;background:none;font-size:1.7rem;color:#073451}.hero{max-width:1320px;margin:auto;min-height:540px;padding:82px max(7vw,40px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;overflow:hidden;background:linear-gradient(115deg,#f6fbfa 0%,#fff 58%,#eff9f8 100%)}.hero-content{position:relative;z-index:2}.eyebrow,.section-kicker{font-size:.75rem;font-weight:700;letter-spacing:.17em;color:#138b96}.eyebrow span{display:inline-block;width:25px;height:2px;background:#ed8b35;vertical-align:middle;margin-right:8px}.hero h1,.section h2,.contact-copy h2{font-family:Manrope,sans-serif;font-weight:800;line-height:1.08;letter-spacing:-.045em}.hero h1{font-size:clamp(3.3rem,6vw,5.5rem);margin:22px 0;color:#073451}.hero h1 em,.section h2 em{font-style:normal;color:#15929b}.hero-copy{font-size:1.16rem;max-width:470px;color:#536b7b}.hours-highlight{display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:max-content;margin-top:24px;padding:13px 18px;border:1px solid #c8e5df;border-left:5px solid #ed9a3e;border-radius:12px;background:#fff;box-shadow:0 8px 22px #0734510d;color:#073451}.hours-highlight .hours-label{font-size:.66rem;font-weight:800;letter-spacing:.13em;color:#138b96}.hours-highlight strong{font-family:Manrope;font-size:1.05rem}.hours-highlight>span:last-child{font-weight:700;color:#496777}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;border-radius:999px;padding:13px 23px;transition:.2s}.button:hover{transform:translateY(-2px)}.button-primary{background:#0b7890;color:white;box-shadow:0 8px 20px #0b78902a}.button-outline{border:1px solid #9dbcc2;color:#0a4b63}.hero-note{font-size:.78rem;color:#82949d;margin-top:24px;letter-spacing:.05em}.hero-art{height:380px;position:relative;border-radius:48% 52% 42% 58%;background:linear-gradient(160deg,#fff1d5 0%,#ffe1b6 37%,#c8e9e5 38%,#73c4c6 65%,#0c7890 66%);box-shadow:inset 0 0 0 14px #ffffffa8;transform:rotate(-4deg)}.sun{position:absolute;width:155px;height:155px;background:#f3a64b;border-radius:50%;top:35px;right:18%;box-shadow:0 0 0 22px #f3a64b25}.ocean{position:absolute;height:4px;border-radius:100%;background:#fff9;left:8%;right:8%;transform:rotate(-4deg)}.ocean-one{top:58%}.ocean-two{top:72%;left:20%;right:4%}.hero-badge{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%) rotate(4deg);width:178px;height:178px;border:2px solid #fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background:#073451dd;box-shadow:0 12px 30px #07345135}.hero-badge span{font-family:Manrope;font-size:1.4rem;font-weight:800;letter-spacing:.16em}.hero-badge b{font-family:Georgia;font-style:italic;font-weight:400}.paw{position:absolute;color:#fff;font-size:2rem}.paw-one{left:20%;top:28%}.paw-two{right:17%;bottom:15%}.trust-strip{display:flex;justify-content:center;gap:clamp(25px,7vw,100px);padding:22px;background:#073451;color:#fff;font-size:.9rem;font-weight:600}.trust-strip>div{display:flex;align-items:center;gap:10px}.strip-icon{font-size:1.3rem;color:#f4a24b}.section{max-width:900px;margin:auto;padding:90px 28px;text-align:center}.section h2{font-size:clamp(2.3rem,4vw,3.6rem);margin:12px 0 20px}.lead{font-size:1.2rem;color:#466274;max-width:760px;margin:0 auto 16px}.intro>p:not(.lead){max-width:700px;margin:0 auto;color:#71828c}.care-section{background:#f4f9f8;padding:10px 28px 80px}.section-heading{padding-bottom:36px}.section-heading p{color:#617782}.care-cards{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.care-card{background:white;padding:30px 28px;border-radius:18px;box-shadow:0 10px 30px #123b4c0b;border:1px solid #e8f0ef}.card-symbol{width:48px;height:48px;border-radius:15px;background:#e3f4f1;color:#0d8793;display:grid;place-items:center;font-size:1.6rem}.care-card h3{font-family:Manrope;margin:18px 0 8px}.care-card p{color:#687d87;font-size:.94rem;margin:0}.small-note{text-align:center;font-size:.78rem;color:#83949b;margin:22px auto 0}.new-patients{display:flex;align-items:center;gap:55px;text-align:left;max-width:1000px}.new-patients h2{font-size:2.7rem}.new-patients p{color:#647a84;max-width:600px}.new-patients-mark{flex:0 0 180px;height:180px;border-radius:50%;background:#e7f5f2;display:grid;place-items:center;font-family:Manrope;font-size:6rem;font-weight:800;color:#0a4560;position:relative}.new-patients-mark span{position:absolute;color:#ed9a3e;font-size:2rem;right:25px;top:25px}.text-link{display:inline-block;color:#087d8e;font-weight:700;text-decoration:none;margin-top:8px}.text-link span{margin-left:8px}.contact-section{background:#073451;padding:80px 28px;color:#fff}.contact-inner{max-width:1080px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.light{color:#7bd1cc}.contact-copy h2{font-size:clamp(2.7rem,4vw,4rem);margin:18px 0}.contact-copy h2 em{color:#7bd1cc}.contact-copy p{color:#c1d4dc;max-width:400px;margin-bottom:28px}.button-light{background:#fff;color:#073451}.contact-card{background:#fff;color:#12364e;border-radius:20px;padding:30px 34px;box-shadow:0 18px 50px #001a2b35}.contact-row{display:flex;gap:18px;padding:15px 0;border-bottom:1px solid #e6eeee}.contact-row:last-child{border:0}.contact-icon{width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:#e5f5f2;color:#0a8994;display:grid;place-items:center;font-size:1.25rem}.contact-row small{font-size:.68rem;letter-spacing:.15em;color:#168894;font-weight:700}.contact-row p{margin:3px 0 0;font-weight:600}.contact-row a{text-decoration:none}.contact-row a:not(.contact-value){font-size:.82rem;color:#11838e;font-weight:700}.contact-value{font-size:1rem;color:#12364e;font-weight:700}.email{overflow-wrap:anywhere}.footer{text-align:center;padding:34px 20px;color:#73858e;font-size:.82rem}.footer-brand{font-family:Manrope;font-size:1.35rem;font-weight:800;text-decoration:none;color:#073451}.footer-brand span{color:#128b96}.footer p{margin:5px}.copyright{font-size:.74rem;margin-top:18px!important}
@media(max-width:760px){.header-inner{padding:8px 18px}.brand img{width:180px;height:68px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:18px 24px 24px;box-shadow:0 15px 20px #123b4c12;flex-direction:column;gap:18px;align-items:stretch}.main-nav.open{display:flex}.main-nav a{padding:8px}.nav-cta{text-align:center}.hours-highlight{gap:8px 12px}.hours-highlight .hours-label{width:100%}.hero{padding:65px 25px 45px;grid-template-columns:1fr;gap:40px}.hero h1{font-size:3.4rem}.hero-art{height:280px;max-width:440px;width:100%;margin:auto}.sun{width:115px;height:115px}.hero-badge{width:145px;height:145px}.hero-badge span{font-size:1.1rem}.trust-strip{flex-direction:column;gap:8px;padding:18px 28px}.section{padding:70px 24px}.care-section{padding:1px 20px 55px}.care-cards{grid-template-columns:1fr}.care-card{padding:24px}.new-patients{flex-direction:column;gap:25px;text-align:center}.new-patients-mark{flex-basis:auto;width:140px;height:140px;font-size:4.5rem}.new-patients h2{font-size:2.35rem}.contact-section{padding:65px 20px}.contact-inner{grid-template-columns:1fr;gap:35px}.contact-card{padding:22px 20px}.contact-copy{text-align:center}.contact-copy p{margin-left:auto;margin-right:auto}}

/* Appointment request form */
.appointment-section{background:#f4f9f8;padding:82px 24px}.appointment-inner{max-width:900px;margin:auto}.appointment-inner>.section-kicker,.appointment-inner>h2,.appointment-intro{text-align:center}.appointment-inner h2{font-family:Manrope,sans-serif;font-size:clamp(2.4rem,4vw,3.5rem);font-weight:800;line-height:1.1;letter-spacing:-.04em;color:#073451;margin:12px 0 18px}.appointment-inner h2 em{font-style:normal;color:#15929b}.appointment-intro{max-width:700px;margin:0 auto 25px;color:#617782}.appointment-notice{background:#fff7e9;border:1px solid #f4dfbd;border-left:4px solid #ed9a3e;border-radius:12px;padding:16px 18px;color:#5b5144;font-size:.9rem;margin:0 0 26px}.appointment-notice a{color:#087d8e;font-weight:700}.appointment-form{background:#fff;border:1px solid #e5efed;border-radius:20px;padding:30px;box-shadow:0 12px 34px #123b4c0b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.appointment-form label{display:block;font-size:.88rem;font-weight:700;color:#23465a}.appointment-form label>span{color:#c65e37}.appointment-form input:not([type=checkbox]),.appointment-form select,.appointment-form textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #cbdcda;border-radius:9px;background:#fff;color:#17394e;font:inherit;font-weight:400;min-height:46px}.appointment-form textarea{resize:vertical}.appointment-form input:focus,.appointment-form select:focus,.appointment-form textarea:focus{outline:2px solid #83c9c4;outline-offset:1px;border-color:#138b96}.form-wide{grid-column:1/-1}.consent-check{display:flex!important;gap:10px;align-items:flex-start;margin:22px 0;font-weight:500!important}.consent-check input{margin-top:5px;accent-color:#0b7890}.appointment-form button{border:0;cursor:pointer;font:inherit}.form-footnote{font-size:.78rem;color:#71858d;margin:14px 0 0}.form-honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:640px){.appointment-section{padding:65px 18px}.appointment-form{padding:22px 18px}.form-grid{grid-template-columns:1fr;gap:15px}.form-wide{grid-column:auto}}

.thanks-page{min-height:100vh;background:linear-gradient(135deg,#f4faf8,#e5f3f0);display:grid;place-items:center;padding:24px}.thanks-card{max-width:620px;background:white;border-radius:24px;padding:48px;text-align:center;box-shadow:0 18px 50px #07345118}.thanks-mark{width:66px;height:66px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:#e3f4f1;color:#0b8994;font-size:2rem;font-weight:800}.thanks-card h1{font:800 clamp(2.5rem,7vw,4rem)/1.08 Manrope,sans-serif;letter-spacing:-.04em;color:#073451;margin:14px 0}.thanks-card h1 em{font-style:normal;color:#15929b}.thanks-card>p:not(.section-kicker){color:#5d7480}.thanks-card .appointment-notice{text-align:left;margin:22px 0}.thanks-card .button{margin-top:12px}@media(max-width:600px){.thanks-card{padding:32px 22px}}


/* General contact form */
.contact-form-panel{grid-column:1/-1;background:#fff;color:#12364e;border-radius:20px;padding:34px;box-shadow:0 18px 50px #001a2b35;margin-top:6px}.contact-form-panel h3{font:800 clamp(1.8rem,3vw,2.5rem)/1.15 Manrope,sans-serif;color:#073451;margin:10px 0}.contact-form-panel>p{color:#617782;margin:0 0 22px}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:block;font-size:.88rem;font-weight:700;color:#23465a}.contact-form label>span{color:#c65e37}.contact-form label small{font-weight:400;color:#71858d}.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #cbdcda;border-radius:9px;background:#fff;color:#17394e;font:inherit;font-weight:400;min-height:46px}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #83c9c4;outline-offset:1px;border-color:#138b96}.contact-message{grid-column:1/-1}.contact-form button{border:0;cursor:pointer;font:inherit;margin-top:20px}.contact-form .form-footnote{color:#71858d}.contact-thanks-card{max-width:620px}
@media(max-width:640px){.contact-form-panel{padding:24px 18px}.contact-form-grid{grid-template-columns:1fr;gap:15px}.contact-message{grid-column:auto}}
