:root{--color-primary:#5B7553;--color-primary-dark:#3E5138;--color-accent:#7A9E7E;--color-cta-primary:#A56841;--color-cta-primary-hover:#8F5835;--color-cta-secondary:#5B7553;--color-text:#3B2F2F;--color-text-light:#6B5B4E;--color-bg:#FDF9F5;--color-surface:#FFFFFF;--color-footer-bg:#3E5138;--color-footer-text:#F0EBE3;--font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-base:18px;--line-height-base:1.6;--font-weight-normal:400;--font-weight-bold:700;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--container-max:1140px;--container-padding:1.25rem;--header-height:80px;--border-radius:6px}*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}html{font-size:var(--font-size-base);scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-family);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:1.2;color:var(--color-text)}h1{font-size:2.25rem;margin-bottom:var(--space-lg)}h2{font-size:1.75rem;margin-bottom:var(--space-md)}h3{font-size:1.375rem;margin-bottom:var(--space-md)}h4{font-size:1.125rem;margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-md)}a{color:var(--color-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--color-primary-dark)}.container{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:var(--container-padding);z-index:200;padding:var(--space-sm)var(--space-md);background-color:var(--color-text);color:var(--color-surface);font-weight:var(--font-weight-bold);font-size:.875rem;text-decoration:none;border-radius:0 0 var(--border-radius)var(--border-radius)}.skip-link:focus{top:0;color:var(--color-surface)}.btn{display:inline-block;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:var(--font-weight-bold);line-height:1.2;text-align:center;text-decoration:none;border-radius:var(--border-radius);border:2px solid transparent;cursor:pointer;white-space:nowrap}.btn-cta-primary{background-color:var(--color-cta-primary);color:var(--color-surface);border-color:var(--color-cta-primary)}.btn-cta-primary:hover{background-color:var(--color-cta-primary-hover);border-color:var(--color-cta-primary-hover);color:var(--color-surface)}.btn-cta-secondary{background-color:transparent;color:var(--color-cta-secondary);border-color:var(--color-cta-secondary)}.btn-cta-secondary:hover{background-color:var(--color-cta-secondary);color:var(--color-surface)}.site-header{position:sticky;top:0;z-index:100;background-color:var(--color-surface);box-shadow:0 1px 3px rgba(0,0,0,8%)}.header-inner{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-md);min-height:var(--header-height)}.site-logo{font-size:1.25rem;font-weight:var(--font-weight-bold);color:var(--color-primary-dark);text-decoration:none;margin-right:auto}.site-logo:hover{color:var(--color-primary)}.site-nav{display:flex;align-items:center;gap:var(--space-lg)}.nav-list{display:flex;list-style:none;gap:var(--space-sm)}.nav-link{display:block;padding:var(--space-sm)var(--space-md);color:var(--color-text);text-decoration:none;font-size:.9375rem;border-radius:var(--border-radius)}.nav-link:hover{color:var(--color-primary);background-color:var(--color-bg)}.header-cta{display:flex;align-items:center;gap:var(--space-sm)}.header-microcopy{width:100%;text-align:center;font-size:.8125rem;color:var(--color-text-light);padding-bottom:var(--space-sm);margin-bottom:0}.nav-toggle-checkbox{position:absolute;opacity:0;pointer-events:none}.nav-toggle-label{display:none;cursor:pointer;padding:var(--space-sm);z-index:10}.hamburger,.hamburger::before,.hamburger::after{display:block;width:24px;height:2px;background-color:var(--color-text);border-radius:2px;transition:transform .3s ease,opacity .3s ease}.hamburger{position:relative}.hamburger::before,.hamburger::after{content:"";position:absolute;left:0}.hamburger::before{top:-7px}.hamburger::after{top:7px}.nav-toggle-checkbox:checked~.nav-toggle-label .hamburger{background-color:transparent}.nav-toggle-checkbox:checked~.nav-toggle-label .hamburger::before{top:0;transform:rotate(45deg)}.nav-toggle-checkbox:checked~.nav-toggle-label .hamburger::after{top:0;transform:rotate(-45deg)}@media(max-width:768px){.nav-toggle-label{display:block}.site-nav{display:none;flex-direction:column;width:100%;padding-bottom:var(--space-md);gap:var(--space-sm)}.nav-toggle-checkbox:checked~.site-nav{display:flex}.nav-list{flex-direction:column;width:100%;gap:0}.nav-link{padding:var(--space-md);border-bottom:1px solid var(--color-bg)}.header-cta{flex-direction:column;width:100%;gap:var(--space-sm)}.header-cta .btn{width:100%;text-align:center}.header-microcopy{display:none}}.site-footer{background-color:var(--color-footer-bg);color:var(--color-footer-text);padding:var(--space-2xl)0 var(--space-lg)}.footer-inner{display:flex;flex-wrap:wrap;gap:var(--space-xl);justify-content:space-between;align-items:flex-start}.footer-name{font-size:1.125rem;font-weight:var(--font-weight-bold);margin-bottom:var(--space-xs)}.footer-address,.footer-phone{font-size:.9375rem;margin-bottom:var(--space-xs)}.footer-contact a{color:var(--color-footer-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.footer-contact a:hover{color:var(--color-surface)}.footer-links ul{list-style:none;display:flex;gap:var(--space-lg)}.footer-links a{color:var(--color-footer-text);text-decoration:none;font-size:.9375rem}.footer-links a:hover{color:var(--color-surface);text-decoration:underline}.footer-copyright{width:100%;text-align:center;font-size:.8125rem;color:var(--color-footer-text);opacity:.7;margin-top:var(--space-md);margin-bottom:0;padding-top:var(--space-md);border-top:1px solid rgba(240,235,227,.2)}#main-content{padding-top:var(--space-2xl);padding-bottom:var(--space-3xl);min-height:50vh}#main-content.home-main{padding-top:0;padding-bottom:0}.section{padding:var(--space-3xl)0;scroll-margin-top:var(--header-height)}.section--surface{background-color:var(--color-surface)}.section--hero{padding:var(--space-3xl)0;padding-top:calc(var(--space-3xl) + var(--space-xl))}.section-header{margin-bottom:var(--space-xl)}.section-intro{font-size:1.0625rem;color:var(--color-text-light);margin-bottom:var(--space-xl)}.callout{border-left:4px solid var(--color-cta-primary);padding:var(--space-lg)var(--space-xl);background-color:var(--color-surface);border-radius:0 var(--border-radius)var(--border-radius)0;margin-top:var(--space-xl)}.section--surface .callout{background-color:var(--color-bg)}.callout p{margin-bottom:0;font-style:italic;color:var(--color-text-light)}.cta-row{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-lg)}.hero-subhead{font-size:1.125rem;color:var(--color-text-light);max-width:680px;margin-bottom:var(--space-xl)}.trust-highlights{display:flex;flex-wrap:wrap;gap:var(--space-lg);list-style:none;margin-top:var(--space-xl)}.trust-highlights li{font-size:.9375rem;color:var(--color-text-light);padding-left:1.25rem;position:relative}.trust-highlights li::before{content:"\2713";position:absolute;left:0;color:var(--color-primary);font-weight:var(--font-weight-bold)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}.service-card{background-color:var(--color-surface);padding:var(--space-xl);border-radius:var(--border-radius);box-shadow:0 1px 3px rgba(0,0,0,6%)}.service-card h3{color:var(--color-primary-dark);margin-bottom:var(--space-sm)}.service-card p{font-size:.9375rem;color:var(--color-text-light);margin-bottom:0}.services-note{font-size:.9375rem;color:var(--color-text-light);margin-top:var(--space-lg)}.expect-list{list-style:none;margin-bottom:var(--space-lg)}.expect-list li{padding:var(--space-sm)0;padding-left:1.5rem;position:relative;border-bottom:1px solid rgba(0,0,0,6%)}.expect-list li:last-child{border-bottom:none}.expect-list li::before{content:"\2713";position:absolute;left:0;color:var(--color-primary);font-weight:var(--font-weight-bold)}.dentist-highlights{list-style:none;margin-top:var(--space-lg)}.dentist-highlights li{padding:var(--space-sm)0;padding-left:1.5rem;position:relative}.dentist-highlights li::before{content:"\2713";position:absolute;left:0;color:var(--color-primary);font-weight:var(--font-weight-bold)}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);margin-top:var(--space-lg)}.directions-note{font-size:.9375rem;color:var(--color-text-light);margin-top:var(--space-md)}.hours-table{width:100%;border-collapse:collapse}.hours-table td{padding:var(--space-sm)var(--space-md)var(--space-sm)0;border-bottom:1px solid rgba(0,0,0,6%);font-size:.9375rem}.hours-table tr:last-child td{border-bottom:none}.hours-table td:first-child{font-weight:var(--font-weight-bold);white-space:nowrap}.map-embed{margin-top:var(--space-lg)}.faq-list{max-width:720px}.faq-item{border-bottom:1px solid rgba(0,0,0,8%)}.faq-item summary{padding:var(--space-lg)0;font-weight:var(--font-weight-bold);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";font-size:1.25rem;color:var(--color-primary);flex-shrink:0;transition:transform .2s ease}.faq-item[open] summary::after{content:"\2212"}.faq-item p{padding-bottom:var(--space-lg);color:var(--color-text-light)}.testimonials-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg)}.testimonial-card{background-color:var(--color-surface);border-left:4px solid var(--color-accent);padding:var(--space-xl);border-radius:0 var(--border-radius)var(--border-radius)0}.testimonial-quote p{font-style:italic;margin-bottom:var(--space-md)}.testimonial-attribution cite{font-weight:var(--font-weight-bold);color:var(--color-text-light);font-style:normal}.page-hero{background-color:var(--color-surface);border-bottom:1px solid rgba(0,0,0,6%);padding:var(--space-3xl)0 var(--space-2xl)}.page-hero h1{margin-bottom:var(--space-sm)}.page-hero-subtext{font-size:1.0625rem;color:var(--color-text-light);max-width:680px;margin-bottom:0}.page-content{max-width:720px;padding-top:var(--space-2xl);padding-bottom:var(--space-3xl)}.page-content ul,.page-content ol{margin-bottom:var(--space-md);padding-left:var(--space-lg)}.page-content li{margin-bottom:var(--space-sm)}.page-cta-row{background-color:var(--color-surface);border-top:1px solid rgba(0,0,0,6%);padding:var(--space-2xl)0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:focus-visible{outline-offset:2px}.nav-toggle-label:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.btn{transition:background-color .2s ease,color .2s ease,border-color .2s ease}.nav-link{transition:color .2s ease,background-color .2s ease}.footer-contact a,.footer-links a{transition:color .2s ease}html{overflow-x:hidden}body{overflow-x:hidden}@media(max-width:768px){.trust-highlights{flex-direction:column;gap:var(--space-sm)}.cta-row{flex-direction:column}.cta-row .btn{width:100%;text-align:center}.location-grid{grid-template-columns:1fr;gap:var(--space-xl)}.section{padding:var(--space-2xl)0}.section--hero{padding-top:var(--space-2xl)}.page-hero{padding:var(--space-2xl)0 var(--space-xl)}}@media(max-width:480px){:root{--font-size-base:16px}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.site-logo{font-size:1.1rem}.section{padding:var(--space-xl)0}.section--hero{padding-top:var(--space-xl)}.callout{padding:var(--space-md)var(--space-lg)}.footer-inner{flex-direction:column;text-align:center}.footer-links ul{flex-direction:column;gap:var(--space-sm);align-items:center}}