:root{--paper:#fcfdf9;--ink:#203d31;--teal:#7adfa9;--sage:#edf7f0;--muted:#5e7167;--line:#d9e9dd;--green-text:#286646;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #69a797;outline-offset:5px}p{color:var(--muted);margin:0 0 26px}h1,h2,h3{font-weight:400;margin:0;color:var(--ink)}h1{font:clamp(52px,5.6vw,86px)/1.06 var(--serif);letter-spacing:-3.8px;margin:24px 0 30px}h2{font:clamp(34px,3.4vw,53px)/1.16 var(--serif);letter-spacing:-1.8px;margin:16px 0 27px}h3{font-size:21px;line-height:1.35;margin-bottom:14px}em{font-weight:400;color:var(--green-text)}.container{width:min(1280px,90%);margin-inline:auto}.topbar{display:flex;justify-content:space-between;padding:10px 5%;background:var(--ink);color:#e7f0e4;font-size:11px;letter-spacing:.4px}.header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 5%;background:#fcfdf9f5;backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:padding .25s}.header.scrolled{padding-block:14px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:26px;line-height:1.1;letter-spacing:-1px;font-weight:600}.brand small{display:block;font-size:8px;font-weight:400;letter-spacing:1.55px;margin-top:9px}.brand-mark{font:italic 35px/1 var(--serif);width:47px;height:47px;display:grid;place-items:center;border:1px solid #93b4a5;border-radius:50%}.header nav{display:flex;align-items:center;gap:21px;font-size:12px}.header nav>a:not(.button){position:relative;white-space:nowrap;padding-block:10px}.header nav>a:not(.button):after{content:'';position:absolute;bottom:4px;left:0;width:0;height:1px;background:var(--teal);transition:width .25s}.header nav>a:hover:after,.header nav>a[aria-current]:after{width:100%}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--teal);color:var(--ink);border:1px solid transparent;padding:16px 23px;border-radius:4px;font-size:13px;font-weight:500;transition:background .25s,transform .25s}.button:hover{background:#61d397;transform:translateY(-2px)}.button.small{padding:12px 17px;gap:10px}.button.light{background:var(--paper);color:var(--ink)}.button.light:hover{background:#def2e6}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:13px;border-bottom:1px solid #a6baaa;padding-block:6px;transition:color .2s}.text-link:hover{color:var(--green-text)}.eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--green-text)}.hero{display:grid;grid-template-columns:1fr 1.1fr;gap:5%;align-items:center;padding-block:65px 68px}.hero-intro{font-size:16px;max-width:410px;line-height:1.85}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.hero-note{margin-top:55px;display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}.dot{height:7px;width:7px;background:var(--teal);border-radius:50%}.hero-visual{position:relative;padding-right:23px}.hero-image{height:570px;border-radius:120px 10px 10px 10px;object-position:50% 50%}.image-label{position:absolute;bottom:24px;left:24px;right:47px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;background:#fcfdf9ee;border-radius:4px;font-size:12px;backdrop-filter:blur(10px)}.image-label a{display:grid;place-items:center;width:35px;height:35px;background:var(--teal);color:var(--ink);border-radius:50%;font-size:19px}.vertical-label{position:absolute;right:-3px;top:20px;writing-mode:vertical-rl;font-size:9px;letter-spacing:2.3px;color:var(--muted)}.intro-line{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;align-items:center;gap:25px;border-block:1px solid var(--line);padding-block:26px;font-size:12px}.intro-line span{font-size:13px;line-height:1.5}.intro-line strong{font-weight:500}.intro-line a{padding-left:25px;border-left:1px solid var(--line)}.section{padding-block:100px}.section-heading{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:42px}.section-heading h2{margin-bottom:0}.section-heading>div:last-child:not(:first-child),.section-heading>p{max-width:360px}.section-heading p{font-size:14px;margin-bottom:10px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service{padding:32px;background:var(--sage);border-radius:6px;transition:transform .3s,background .3s;scroll-margin-top:120px}.service:hover{transform:translateY(-5px);background:#e1f1e7}.service-top{display:flex;align-items:start;justify-content:space-between;margin-bottom:34px}.service-top>span{font-size:11px;color:#829387}.service img.dental{height:65px;width:65px;object-fit:contain}.service h3{font:25px/1.2 var(--serif);letter-spacing:-.6px}.service p{font-size:13px;line-height:1.85}.service .text-link{font-size:12px;width:100%}.soft-section{background:var(--sage);padding-block:85px}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.split p{font-size:15px}.large-photo{height:490px;border-radius:8px;object-position:center}.image-composition{position:relative;padding:0 25px 25px 0}.image-composition:before{content:'';position:absolute;inset:35px 0 0 35px;border:1px solid #b8c8b0;border-radius:8px}.image-composition img{position:relative;border-radius:8px 90px 8px 8px}.photo-tag{position:absolute;bottom:8px;right:0;background:var(--paper);padding:17px 25px;font-size:12px}.people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 25px}.portrait{position:relative;overflow:hidden;border-radius:6px;background:var(--sage)}.portrait img{height:330px;object-position:top;transition:transform .6s}.person:hover img{transform:scale(1.04)}.round-arrow{position:absolute;right:15px;bottom:15px;width:35px;height:35px;display:grid;place-items:center;background:var(--paper);border-radius:50%}.person h3{font-size:18px;margin:20px 0 6px}.person p{font-size:12px;line-height:1.5;margin:0}.tech-section{background:var(--ink);padding-block:85px}.tech-section h2,.closing h2{color:var(--paper)}.tech-section em,.closing em{color:#7adfa9}.tech-section p{color:#c2d2c8}.tech-section .eyebrow,.closing .eyebrow{color:#a2e8c1}.values-home{display:grid;grid-template-columns:1fr 1.2fr;gap:12%}.value-row{display:flex;gap:30px;border-top:1px solid var(--line);padding:25px 0}.value-row>span{font:italic 22px var(--serif);color:#91a28b;min-width:25px}.value-row h3{font:25px var(--serif)}.value-row p{font-size:13px;margin:0}.tour-preview{padding-top:0}.tour-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:22px}.tour-tile{position:relative;overflow:hidden;border-radius:6px}.tour-tile img{height:310px;transition:transform .5s}.tour-tile:hover img{transform:scale(1.04)}.tour-tile>span{position:absolute;bottom:15px;left:15px;right:15px;background:#fcfdf9ef;padding:12px 16px;font-size:12px}.closing{background:var(--ink);display:flex;align-items:center;justify-content:space-between;padding:65px max(5%,calc((100% - 1280px)/2));gap:25px}.closing h2{margin-bottom:0}footer{background:var(--sage);padding:55px max(5%,calc((100% - 1280px)/2)) 22px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:40px;border-bottom:1px solid #cad6c4}.footer-top>a:last-child{font-size:14px}.locations{display:grid;grid-template-columns:1fr 1fr;gap:8%}.location{padding-block:38px}.location h3{font:30px var(--serif);margin:15px 0}.location p{font-size:13px;margin-bottom:14px}.location .phone{display:block;font-size:21px;margin-bottom:12px}.location .text-link{font-size:11px}.footer-bottom{border-top:1px solid #cad6c4;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding-top:20px;font-size:10px;color:var(--muted)}.page-intro{padding-block:40px 55px;border-bottom:1px solid var(--line)}.breadcrumb{font-size:11px;color:var(--muted);margin-bottom:45px}.page-intro h1{font-size:clamp(44px,5vw,72px);margin-bottom:0}.title-dot{color:var(--green-text)}.content-section{padding-block:65px 95px}.intro-split{margin-bottom:75px}.prose{font-size:15px;line-height:1.9}.full-services{row-gap:25px}.full-services .service p{margin:0;font-size:14px}.jump-links{display:flex;flex-wrap:wrap;gap:9px;margin:35px 0}.jump-links a{font-size:11px;padding:9px 14px;border:1px solid var(--line);border-radius:20px}.jump-links a:hover{background:var(--sage)}.profile{align-items:start}.profile img{object-fit:contain;background:var(--sage);height:auto;max-height:650px}.profile .text-link{margin-top:30px}.values-list{max-width:920px;margin:auto}.values-list .value-row{padding-block:35px}.values-list p{font-size:15px}.values-list h2{font-size:33px;margin-top:0}.aio{display:flex;gap:45px;align-items:center;padding:35px;background:var(--sage);margin-top:50px;border-radius:6px}.aio img{width:100px;height:auto;object-fit:contain}.aio p{font-size:14px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-item{position:relative;overflow:hidden;border-radius:6px}.gallery-item img{height:320px;transition:transform .4s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item span{position:absolute;right:18px;bottom:18px;background:var(--paper);width:35px;height:35px;border-radius:50%;display:grid;place-items:center}.contact-locations{border-block:1px solid var(--line)}details{margin-top:25px;font-size:13px}summary{cursor:pointer}dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:5px 0}dd{margin:0}.contact-note{padding-top:40px}.contact-note>a{display:block;font:clamp(20px,3vw,36px) var(--serif);margin:15px 0}.privacy{max-width:850px}.privacy a{text-decoration:underline}.privacy h3{margin-top:30px}dialog{width:min(1000px,94%);max-height:94dvh;border:0;padding:50px 20px 20px;background:var(--paper);border-radius:8px;color:var(--ink)}dialog::backdrop{background:#102d2be8}dialog img{width:100%;max-height:74dvh;object-fit:contain}dialog p{margin:15px 0 0;font-size:13px}.close-dialog{position:absolute;right:20px;top:10px;border:0;background:transparent;color:var(--ink);padding:6px}.skip{position:fixed;z-index:100;left:10px;top:-100px;background:var(--paper);padding:12px}.skip:focus{top:10px}.menu-toggle{display:none}.js .reveal.pending{opacity:0;transform:translateY(24px)}.reveal{transition:opacity .75s,transform .75s}.hero-copy .reveal:nth-child(2){transition-delay:.1s}.hero-copy .reveal:nth-child(3){transition-delay:.2s}.hero-copy .reveal:nth-child(4){transition-delay:.3s}@media(min-width:1600px){.header,.topbar{padding-inline:max(5%,calc((100% - 1440px)/2))}}@media(max-width:1200px){.header nav{gap:12px;font-size:11px}.brand{font-size:23px}.brand-mark{display:none}.hero-image{height:510px}.portrait img{height:270px}}@media(max-width:1000px){.header{flex-wrap:wrap}.menu-toggle{display:flex;gap:15px;align-items:center;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:4px;padding:10px 15px;font-size:13px}.header nav{display:none;width:100%;flex-wrap:wrap;padding-top:12px;gap:12px 22px;font-size:13px}.header nav.open{display:flex}.hero{gap:4%}h1{letter-spacing:-2.5px}.hero-image{height:470px}.hero-note{margin-top:30px}.services-grid{gap:15px}.service{padding:25px}.split{gap:6%}.people-grid{grid-template-columns:repeat(3,1fr)}.home-people{grid-template-columns:repeat(4,1fr)}.home-people .portrait img{height:230px}.large-photo{height:430px}}@media(max-width:720px){.topbar{font-size:9px;padding:9px 5%}.topbar>a{display:none}.header{padding-block:16px}.brand{font-size:24px}.brand small{font-size:7px}.hero{grid-template-columns:1fr;padding-block:35px 40px;gap:35px}.hero h1{font-size:62px}.hero-image{height:430px;border-top-left-radius:85px}.hero-copy p{font-size:14px}.hero-note{margin-top:25px}.hero-visual{padding-right:20px}.vertical-label{font-size:8px}.image-label{left:15px;right:35px;bottom:15px;font-size:11px}.intro-line{grid-template-columns:1fr 1fr;gap:20px}.intro-line a{padding-left:0;border:0;font-size:11px}.section{padding-block:60px}.section-heading{display:block;margin-bottom:30px}.section-heading>p,.section-heading>div:last-child:not(:first-child){margin-top:25px;max-width:none}.section-heading>a{margin-top:20px}.services-grid{grid-template-columns:1fr}.service{padding:27px}.service-top{margin-bottom:20px}.split{grid-template-columns:1fr;gap:35px}.soft-section,.tech-section{padding-block:55px}.large-photo{height:380px}.people-grid,.home-people{grid-template-columns:1fr 1fr;gap:30px 18px}.portrait img,.home-people .portrait img{height:260px}.person h3{font-size:16px}.person p{font-size:11px}.values-home{grid-template-columns:1fr;gap:35px}.tour-preview{padding-top:0}.tour-grid{grid-template-columns:1fr;gap:18px}.tour-tile img{height:290px}.closing{display:block;padding-block:50px}.closing .button{margin-top:30px}.locations{grid-template-columns:1fr;gap:0}.location+.location{border-top:1px solid #cad6c4}.footer-top{display:block}.footer-top>a:last-child{display:block;margin-top:25px}.page-intro{padding-block:25px 35px}.breadcrumb{margin-bottom:30px}.page-intro h1{letter-spacing:-2px}.content-section{padding-block:40px 60px}.intro-split{margin-bottom:45px}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery-item img{height:220px}.aio{display:block;padding:25px}.aio img{margin-bottom:25px}.contact-note>a{overflow-wrap:anywhere}}@media(max-width:380px){.hero h1{font-size:52px}.hero-image{height:360px}.portrait img,.home-people .portrait img{height:220px}.gallery-item img{height:180px}.brand{font-size:21px}.actions{gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js .reveal.pending{opacity:1;transform:none}}
.service img.dental{background:var(--green-text);padding:10px;border-radius:12px;width:76px;height:76px}

/* Original identity: the logo green is the primary action and accent color. */
.brand-logo{display:block;width:230px;height:auto;object-fit:contain}
.header .brand{flex-shrink:0}
.footer-top .brand{display:inline-flex;background:#fff;padding:10px 15px;border-radius:6px}
.header nav>a:not(.button):after{height:2px}
.button.light{border-color:#7adfa94d}
.image-label a{background:var(--teal);color:var(--ink)}
@media(max-width:1200px){.brand-logo{width:205px}.header nav{gap:11px}}
@media(max-width:720px){.brand-logo{width:190px}.header{padding-block:12px}.header.scrolled{padding-block:10px}}
@media(max-width:380px){.brand-logo{width:165px}}
.brand-logo{width:245px}.footer-top .brand{background:transparent;padding:0;border-radius:0}@media(max-width:1200px){.brand-logo{width:210px}}@media(max-width:720px){.brand-logo{width:200px}}@media(max-width:380px){.brand-logo{width:175px}}
