:root{--forest:#0b4a2f;--forest-deep:#073923;--leaf:#6f9e4c;--mint:#eaf4e5;--mint-soft:#f4f8f0;--cream:#fbf7ee;--ink:#153429;--muted:#5d6e66;--line:#cfdbd2;--white:#fff;--serif:Iowan Old Style, Baskerville, Georgia, "Times New Roman", serif;--sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow:0 24px 70px #0b4a2f24;--radius:26px}*{box-sizing:border-box}html{background:var(--white);scroll-behavior:smooth;scroll-padding-top:120px}body{background:var(--white);color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}img,svg{display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #f0b84c}.site-shell{min-height:100vh;overflow:hidden}.page-width{width:100%;max-width:1240px;margin:0 auto;padding-left:30px;padding-right:30px}.skip-link{background:var(--white);border:2px solid var(--forest);color:var(--forest);z-index:1000;border-radius:0 0 8px 8px;padding:10px 18px;font-weight:750;transition:top .2s;position:fixed;top:-80px;left:20px}.skip-link:focus{top:0}.utility-bar{background:var(--forest);color:var(--white);letter-spacing:.02em;font-size:.8rem}.utility-inner{justify-content:space-between;align-items:center;min-height:36px;display:flex}.utility-inner p{margin:0}.utility-inner a{font-weight:750;text-decoration:none}.site-header{z-index:100;background:#fffffff5;border-bottom:1px solid #0b4a2f1f;position:relative}.header-inner{justify-content:space-between;align-items:center;gap:30px;min-height:94px;display:flex}.header-inner>a:first-child{text-decoration:none}.brand-lockup{align-items:center;gap:10px;display:inline-flex}.brand-mark{width:50px;height:50px}.brand-type{color:var(--forest);flex-direction:column;line-height:.85;display:flex}.brand-name{font-family:var(--serif);letter-spacing:-.04em;font-size:2rem;font-weight:700}.brand-subname{letter-spacing:.2em;text-transform:uppercase;margin-top:7px;margin-left:2px;font-size:.65rem;font-weight:800}.desktop-nav{align-items:center;gap:clamp(18px,2vw,34px);margin-left:auto;display:flex}.desktop-nav a{font-size:.88rem;font-weight:700;text-decoration:none;position:relative}.desktop-nav a:after{background:var(--leaf);content:"";transform-origin:0;width:100%;height:2px;transition:transform .2s;position:absolute;bottom:-6px;left:0;transform:scaleX(0)}.desktop-nav a:hover:after{transform:scaleX(1)}.header-actions{align-items:center;gap:12px;display:flex}.language-toggle{background:var(--mint);border:1px solid #c5dcb9;border-radius:999px;align-items:center;padding:4px;display:inline-flex}.language-toggle button{color:var(--forest);cursor:pointer;background:0 0;border:0;border-radius:999px;min-width:82px;min-height:42px;padding:7px 14px;font-size:.83rem;font-weight:800;transition:background .2s,color .2s,transform .2s}.language-toggle button:last-child{min-width:104px}.language-toggle button.is-active{background:var(--forest);color:var(--white);box-shadow:0 4px 12px #0b4a2f33}.button{background:var(--forest);border:1px solid var(--forest);color:var(--white);text-align:center;border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:12px 25px;font-size:.88rem;font-weight:800;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.button:hover{background:var(--forest-deep);border-color:var(--forest-deep);transform:translateY(-2px)}.button--small{white-space:nowrap;min-height:46px;padding:9px 18px}.button--cream{background:var(--cream);border-color:var(--cream);color:var(--forest)}.button--cream:hover{background:var(--white);border-color:var(--white)}.text-link{color:var(--forest);align-items:center;gap:7px;font-size:.9rem;font-weight:800;text-decoration:none;display:inline-flex}.text-link span{font-size:1.2em;transition:transform .2s}.text-link:hover span{transform:translate(2px,-2px)}.menu-button,.mobile-menu,.mobile-language-bar{display:none}.hero-section{background:linear-gradient(112deg,#f2f8ed 0%,#fff 62%);padding:clamp(55px,7vw,104px) 0 clamp(62px,8vw,116px);position:relative}.hero-section:before{content:"";opacity:.6;background:radial-gradient(circle,#6f9e4c2b 0 1px,#0000 1.5px) 0 0/17px 17px;width:230px;height:150px;position:absolute;top:76px;left:-45px}.hero-grid{grid-template-columns:minmax(0,.86fr) minmax(480px,1.14fr);align-items:center;gap:clamp(42px,6vw,82px);display:grid;position:relative}.eyebrow{color:var(--leaf);letter-spacing:.17em;text-transform:uppercase;margin:0 0 18px;font-size:.75rem;font-weight:850}h1,h2,h3,p{overflow-wrap:break-word}h1,h2{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-weight:600}h1{color:var(--forest);max-width:760px;font-size:clamp(3.15rem,5.5vw,5.7rem);line-height:.98}h2{color:var(--forest);font-size:clamp(2.5rem,4.3vw,4.35rem);line-height:1.04}h3{margin:0}.hero-lede{color:#3d574c;max-width:600px;margin:29px 0 31px;font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.7}.button-row{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.hero-hours{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;margin-top:36px;padding-top:18px;font-size:.86rem;display:flex}.hero-hours svg{color:var(--forest);flex:none;width:20px;height:20px}.hero-visual{min-width:0;position:relative}.hero-image-wrap{box-shadow:var(--shadow);border-radius:42% 42% 18px 18px;min-height:clamp(460px,49vw,660px);position:relative;overflow:hidden}.hero-image{object-fit:cover}.directions-card{background:var(--white);border:1px solid #0b4a2f1a;grid-template-columns:28px 1fr auto;align-items:center;gap:14px;max-width:330px;padding:19px 21px;text-decoration:none;display:grid;position:absolute;bottom:-32px;left:-38px;box-shadow:0 18px 45px #14342924}.directions-card>svg{color:var(--leaf);width:27px;height:27px}.directions-card strong,.directions-card span{display:block}.directions-card strong{color:var(--forest);margin-bottom:2px;font-size:.87rem}.directions-card span{color:var(--muted);font-size:.75rem;line-height:1.35}.services-section{padding:clamp(92px,10vw,146px) 0}.section-heading{max-width:670px;margin-bottom:52px}.section-heading h2{max-width:650px}.service-grid{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.service-card{min-height:320px;padding:44px 31px 38px}.service-card+.service-card{border-left:1px solid var(--line)}.service-icon{background:var(--mint);color:var(--forest);border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;margin-bottom:34px;display:flex}.service-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:34px;height:34px}.service-card h3{color:var(--forest);font-family:var(--serif);font-size:1.55rem;font-weight:600;line-height:1.16}.service-card p{color:var(--muted);margin:16px 0 0;font-size:.9rem;line-height:1.7}.service-note{color:var(--muted);text-align:right;margin:23px 0 0;font-size:.82rem}.about-section{background:var(--mint-soft);padding:clamp(78px,9vw,132px) 0}.about-grid{grid-template-columns:minmax(360px,.95fr) 1.05fr;align-items:center;gap:clamp(54px,8vw,112px);display:grid}.about-image-wrap{aspect-ratio:.88;box-shadow:var(--shadow);border-radius:12px 44% 12px 12px;position:relative;overflow:hidden}.about-image{object-fit:cover}.about-copy .large-copy{color:#344f43;font-family:var(--serif);margin:31px 0 20px;font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.52}.about-copy>p:not(.eyebrow):not(.large-copy){color:var(--muted);max-width:620px}.about-copy .text-link{margin-top:18px}.reviews-section{background:var(--forest);color:var(--white);padding:clamp(90px,10vw,150px) 0}.reviews-topline{justify-content:space-between;align-items:end;gap:40px;margin-bottom:58px;display:flex}.section-heading--light{margin-bottom:0}.section-heading--light h2{color:var(--white)}.section-heading--light .eyebrow{color:#b8dc96}.rating-stack{flex-direction:column;align-items:flex-end;gap:7px;display:flex}.rating-stack a{align-items:center;gap:9px;font-size:.78rem;text-decoration:none;display:flex}.rating-stack span{color:#edcb74;letter-spacing:.07em}.rating-stack i{color:#edcb7459;font-style:normal}.review-grid{grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.review-card{background:#ffffff13;flex-direction:column;min-height:360px;padding:35px;display:flex}.review-source{color:#c0dca9;letter-spacing:.12em;text-transform:uppercase;margin:0 0 29px;font-size:.7rem;font-weight:800}.review-card blockquote{font-family:var(--serif);margin:0;font-size:clamp(1.36rem,2vw,1.75rem);line-height:1.35}.review-translation{border-top:1px solid #ffffff2b;margin-top:22px;padding-top:18px}.review-translation span{color:#b8d59f;letter-spacing:.08em;text-transform:uppercase;font-size:.67rem;font-weight:800}.review-translation p{color:#ffffffd1;margin:8px 0 0;font-size:.82rem;line-height:1.55}.review-card footer{justify-content:space-between;align-items:center;margin-top:auto;padding-top:28px;font-size:.77rem;display:flex}.review-card footer a{border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;text-decoration:none;display:flex}.ratings-note{color:#ffffff8c;margin:20px 0 0;font-size:.7rem}.patient-banner{background:var(--leaf);color:var(--white);padding:62px 0}.patient-banner-inner{justify-content:space-between;align-items:center;gap:50px;display:flex}.patient-banner h2{color:var(--white);font-size:clamp(2.35rem,3.8vw,3.8rem)}.patient-banner .eyebrow{color:#eff8e8;margin-bottom:9px}.patient-banner p:not(.eyebrow){max-width:660px;margin:12px 0 0}.patient-banner .button{flex:none;max-width:260px}.visit-section{padding:clamp(90px,10vw,150px) 0}.visit-grid{grid-template-columns:1.05fr .95fr;align-items:start;gap:clamp(55px,9vw,130px);display:grid}.contact-list{gap:22px;margin:39px 0 35px;display:grid}.contact-list>div{grid-template-columns:25px 1fr;align-items:flex-start;gap:15px;display:grid}.contact-list svg{color:var(--leaf);width:23px;height:23px;margin-top:3px}.contact-list p{color:var(--muted);margin:0}.contact-list strong{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1px;font-size:.72rem;display:block}.contact-list a{text-underline-offset:3px;text-decoration-color:#b5c7ba}.hours-card{background:var(--mint-soft);border-radius:var(--radius);border:1px solid #dce8d8;padding:clamp(32px,4vw,52px)}.hours-card-top{align-items:center;gap:14px;margin-bottom:28px;display:flex}.hours-card-top svg{color:var(--leaf);width:31px;height:31px}.hours-card h3{color:var(--forest);font-family:var(--serif);font-size:2rem;font-weight:600}.hours-card dl{margin:0}.hours-card dl div{border-top:1px solid var(--line);justify-content:space-between;gap:22px;padding:15px 0;display:flex}.hours-card dt{font-weight:700}.hours-card dd{color:var(--muted);text-align:right;margin:0}.hours-card>p{color:var(--muted);margin:18px 0 0;font-size:.72rem}.site-footer{background:var(--forest-deep);color:#ffffffd1;padding:76px 0 28px}.footer-grid{grid-template-columns:1.7fr 1.2fr .75fr 1fr;gap:48px;display:grid}.footer-brand .brand-type{color:var(--white)}.footer-brand p{max-width:260px}.footer-grid h2{color:#b9dd9b;font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:8px 0 20px;font-size:.72rem;font-weight:800}.footer-grid address,.footer-grid p,.footer-grid a{font-size:.79rem;font-style:normal;line-height:1.65;display:block}.footer-grid a{margin:7px 0;text-decoration:none}.footer-grid a:hover{color:var(--white);text-underline-offset:3px;text-decoration:underline}.footer-bottom{border-top:1px solid #ffffff29;justify-content:space-between;gap:30px;margin-top:57px;padding-top:24px;display:flex}.footer-bottom p{color:#ffffff8c;margin:0;font-size:.68rem}.footer-bottom p:last-child{text-align:right;max-width:580px}@media (max-width:1110px){.desktop-nav{display:none}.header-actions{margin-left:auto}.hero-grid{grid-template-columns:minmax(0,.9fr) minmax(400px,1.1fr);gap:45px}.service-card{padding-left:23px;padding-right:23px}}@media (max-width:860px){.page-width{padding-left:22px;padding-right:22px}.header-actions .button,.header-actions .language-toggle{display:none}.menu-button{background:var(--mint);cursor:pointer;border:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:48px;height:48px;display:flex}.menu-button span{background:var(--forest);width:19px;height:2px}.mobile-menu{background:var(--white);border-top:1px solid var(--line);padding:20px 22px 26px;display:block}.mobile-menu nav{margin-bottom:20px;display:grid}.mobile-menu nav a{border-bottom:1px solid var(--line);color:var(--forest);font-family:var(--serif);padding:12px 0;font-size:1.35rem;font-weight:600;text-decoration:none}.mobile-language-bar{background:#f2f8ed;border-top:1px solid #0b4a2f1f;justify-content:center;align-items:center;gap:16px;padding:11px 22px 12px;display:flex}.mobile-language-label{color:var(--forest);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900;line-height:1.2}.mobile-language-bar .language-toggle{background:var(--white);border:2px solid var(--forest);flex:1;width:100%;max-width:430px;padding:5px;display:flex;box-shadow:0 7px 18px #0b4a2f29}.mobile-language-bar .language-toggle button{flex:1;min-width:0;min-height:50px;padding:8px 12px;font-size:.95rem}.mobile-language-bar .language-toggle button:last-child{min-width:0}.hero-grid,.about-grid,.visit-grid{grid-template-columns:1fr}.hero-copy{max-width:690px}.hero-image-wrap{border-radius:34% 34% 16px 16px;min-height:min(640px,79vw)}.directions-card{bottom:-28px;left:24px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card+.service-card{border-left:0}.service-card:nth-child(2n){border-left:1px solid var(--line)}.service-card:nth-child(n+3){border-top:1px solid var(--line)}.about-image-wrap{aspect-ratio:1.16;border-radius:12px 38% 12px 12px}.review-grid{grid-template-columns:1fr}.review-card{min-height:275px}.patient-banner-inner{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.page-width{padding-left:18px;padding-right:18px}.utility-inner{justify-content:center;min-height:34px}.utility-inner p{display:none}.header-inner{min-height:78px}.mobile-language-bar{flex-direction:column;align-items:stretch;gap:7px;padding:9px 18px 12px}.mobile-language-label{text-align:center;font-size:.68rem}.mobile-language-bar .language-toggle{max-width:none}.brand-mark{width:44px;height:44px}.brand-name{font-size:1.7rem}.brand-subname{font-size:.55rem}.hero-section{padding-top:56px}h1{font-size:clamp(2.85rem,14vw,4rem)}h2{font-size:clamp(2.25rem,11vw,3.2rem)}.hero-lede{margin-top:23px;font-size:1rem}.button-row{flex-direction:column;align-items:stretch}.button-row .button,.button-row .text-link{justify-content:center;width:100%}.hero-image-wrap{min-height:440px}.directions-card{width:auto;bottom:-30px;left:12px;right:12px}.services-section{padding-top:106px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:34px 10px}.service-card:nth-child(2n),.service-card:nth-child(n+2){border-left:0;border-top:1px solid var(--line)}.service-icon{margin-bottom:24px}.service-note{text-align:left}.about-image-wrap{aspect-ratio:.95}.reviews-topline{flex-direction:column;align-items:flex-start}.rating-stack{align-items:flex-start}.review-card{padding:28px 24px}.patient-banner .button{width:100%;max-width:none}.hours-card dl div{flex-direction:column;align-items:flex-start;gap:2px}.hours-card dd{text-align:left}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.footer-bottom p:last-child{text-align:left}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
