@font-face{font-family:Nunito;src:url('/assets/fonts/nunito-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:Nunito;src:url('/assets/fonts/nunito-latin-ext-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Nunito;src:url('/assets/fonts/nunito-latin-600-normal.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:Nunito;src:url('/assets/fonts/nunito-latin-ext-600-normal.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Nunito;src:url('/assets/fonts/nunito-latin-700-normal.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:Nunito;src:url('/assets/fonts/nunito-latin-ext-700-normal.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Allura;src:url('/assets/fonts/allura-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:Allura;src:url('/assets/fonts/allura-latin-ext-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{color-scheme:light;--navy:#12306b;--teal:#2a7c86;--deep:#1f6670;--sage:#5e9a6a;--mint:#dceed7;--sky:#d3ebf7;--blue:#7fb4d6;--paper:#f6faf8;--ink:#233b52;--white:#fff;--shadow:0 16px 44px rgba(18,48,107,.10)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Nunito,Arial,sans-serif;font-size:17px;line-height:1.6}
img{display:block;max-width:100%;height:auto}
a{color:var(--deep);text-underline-offset:.18em}
a:hover{color:var(--navy)}
a:focus-visible{outline:3px solid var(--sage);outline-offset:4px;border-radius:4px}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:.7rem 1rem;z-index:10}.skip-link:focus{left:1rem;top:1rem}
.site-header{width:min(1180px,calc(100% - 40px));margin:auto;min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{width:136px;display:block}.brand img{width:100%;border-radius:14px}
.header-call,.button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;background:var(--deep);color:#fff;text-decoration:none;font-weight:700;border-radius:999px;box-shadow:0 8px 18px rgba(31,102,112,.2);transition:transform .18s ease,background .18s ease}
.header-call{padding:.68rem 1.15rem}.header-call:hover,.button:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.hero{position:relative;isolation:isolate;overflow:hidden;width:min(1180px,calc(100% - 40px));margin:12px auto 76px;padding:58px clamp(28px,6vw,82px);min-height:490px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:30px;background:linear-gradient(120deg,#fff 0%,#f0f8f3 58%,#e2f1ec 100%);border-radius:34px;box-shadow:var(--shadow)}
.hero:before,.hero:after{content:"";position:absolute;z-index:-1;border-radius:60% 0 60% 0;transform:rotate(34deg);opacity:.5}
.hero:before{width:190px;height:72px;background:#c6e4ce;right:5%;top:9%}.hero:after{width:125px;height:52px;background:#b8dfeb;left:38%;bottom:3%}
.hero-copy{position:relative;z-index:1}.eyebrow{margin:0 0 8px;color:var(--teal);font-size:.83rem;font-weight:700;letter-spacing:.05em}
h1,h2,h3,p{margin-top:0}h1{max-width:640px;margin-bottom:12px;color:var(--navy);font-size:clamp(2.25rem,4.5vw,3.9rem);line-height:1.08;letter-spacing:-.035em}h1 span{color:var(--sage)}
.hero-note{margin-bottom:26px;color:#466173;font-size:1.12rem}.call-button{min-height:60px;padding:14px 25px;font-size:1.15rem}.call-button span{font-size:1.25rem}.appointment{margin:13px 0 0;color:#586f75;font-size:.95rem}
.hero-photo{position:relative;z-index:0;margin:0;overflow:hidden;border:8px solid rgba(255,255,255,.9);border-radius:44% 44% 34px 34px;box-shadow:0 14px 36px rgba(35,59,82,.15);max-height:392px}.hero-photo img{width:100%;height:392px;object-fit:cover;object-position:center 48%}
.hero-badge{position:absolute;right:31%;bottom:28px;max-width:245px;margin:0;padding:15px 20px;background:var(--sage);color:#fff;border-radius:50% 45% 52% 43%;font-family:Allura,cursive;font-size:1.65rem;line-height:1.18;text-align:center;transform:rotate(-5deg);box-shadow:0 8px 20px #5e9a6a40}
.section{width:min(1080px,calc(100% - 40px));margin:0 auto 78px}.section-heading{text-align:center;margin-bottom:28px}.section-heading h2,.contact-intro h2{margin:0;color:var(--navy);font-size:clamp(2rem,3.7vw,2.8rem);line-height:1.15}.services .section-heading{margin-bottom:34px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{position:relative;min-height:205px;padding:26px 24px 25px;background:#fff;border:1px solid #dcebe5;border-radius:22px;box-shadow:0 8px 24px #12306b0a;overflow:hidden}.service-card:nth-child(3n+2){background:#f0f8fb}.service-card:nth-child(3n){background:#f1f8ef}.service-card:after{content:"";position:absolute;right:-22px;top:-28px;width:90px;height:90px;border-radius:50%;background:#dceed77a}.service-mark{display:grid;place-items:center;width:43px;height:43px;margin-bottom:10px;border-radius:50%;background:var(--mint);color:var(--deep);font-size:1.55rem;line-height:1}.service-card:nth-child(3n+2) .service-mark{background:var(--sky)}.service-card h3{position:relative;z-index:1;margin:0 0 7px;color:var(--navy);font-size:1.2rem;line-height:1.25}.service-card p{margin:0;color:#506879;font-size:.98rem;line-height:1.45}
.pricing{padding:55px clamp(22px,5vw,64px);border-radius:32px;background:linear-gradient(140deg,#eaf6f2,#f3f9fb 58%,#e6f1ec)}.price-lead{margin:8px 0 0;color:var(--teal);font-size:1.08rem;font-weight:700}.price-list{list-style:none;max-width:820px;margin:32px auto 24px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.price-list li{position:relative;padding:13px 0 13px 24px;border-bottom:1px solid #bdd6cf;color:#304b61}.price-list li:before{content:"♡";position:absolute;left:0;top:13px;color:var(--sage);font-weight:700}.script-line{margin:22px 0 0;color:var(--deep);font-family:Allura,cursive;font-size:2.6rem;text-align:center;line-height:1.2}.small-script{margin-top:2px;font-size:2rem}
.contact-band{width:min(1180px,calc(100% - 40px));margin:0 auto 52px;padding:48px clamp(26px,6vw,78px) 30px;display:grid;grid-template-columns:.9fr 1.1fr;gap:24px 55px;align-items:center;background:var(--navy);color:#fff;border-radius:30px;box-shadow:var(--shadow)}.contact-band .eyebrow{color:#bfe2d0}.contact-intro h2{color:#fff}.contact-intro>p:last-child{margin:14px 0 0;color:#e2f2ec}.contact-items{display:grid;gap:12px}.contact-link,.contact-address{display:flex;align-items:center;gap:13px;margin:0;color:#fff;font-size:1.08rem;text-decoration:none;overflow-wrap:anywhere}.contact-link:hover,.contact-address a{color:#dceed7}.contact-address a{font-size:.93rem}.contact-icon{flex:0 0 43px;width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:#ffffff1b;color:#dceed7;font-size:1.35rem}.cashless{grid-column:1/-1;margin:12px 0 0;padding:15px 18px;border-top:1px solid #ffffff42;text-align:center;color:#e5f3eb;font-weight:700;letter-spacing:.02em}
.site-footer{padding:10px 20px 28px;text-align:center;color:#557078;font-size:.92rem}.site-footer p{margin:3px}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:25px;padding:39px 34px 58px;margin-bottom:62px}.hero-copy{max-width:620px}.hero-photo{width:min(560px,86%);justify-self:center;max-height:350px}.hero-photo img{height:350px}.hero-badge{right:8%;bottom:18px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-band{grid-template-columns:1fr;gap:24px}.cashless{grid-column:auto}}
@media(max-width:520px){body{font-size:16px}.site-header{width:calc(100% - 28px);min-height:88px;gap:12px}.brand{width:100px}.header-call{padding:10px 14px;font-size:.88rem}.hero,.section,.contact-band{width:calc(100% - 28px)}.hero{padding:30px 23px 56px;border-radius:25px}.hero-photo{width:100%;max-height:290px;border-width:5px}.hero-photo img{height:290px}.hero-badge{right:6%;bottom:12px;max-width:190px;padding:11px 13px;font-size:1.35rem}h1{font-size:2.45rem}.call-button{width:100%;padding:13px 12px;font-size:1.08rem}.section{margin-bottom:58px}.service-grid{grid-template-columns:1fr;gap:13px}.service-card{min-height:0;padding:21px}.pricing{padding:40px 22px;border-radius:24px}.price-list{grid-template-columns:1fr;margin-top:23px}.price-list li{padding-top:12px;padding-bottom:12px}.contact-band{padding:37px 22px 24px;border-radius:24px}.contact-link,.contact-address{font-size:1rem}.cashless{font-size:.92rem}.script-line{font-size:2.25rem}.small-script{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
