@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--green:#0c3d7b;--ink:#172f4b;--muted:#4d6074;--paper:#fff;--light:#e8faf6;--lime:#70e1cc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c43655;outline-offset:5px}.review{text-align:center;background:var(--green);color:white;font-size:14px;padding:7px 20px}header{padding:24px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce6df;background:white}.brand{display:flex;gap:13px;align-items:center;font-weight:600;line-height:1.3;font-size:19px}.brand small{display:block;font-size:11px;letter-spacing:2px;margin-top:6px}.mark{border:1px solid var(--green);border-radius:50%;display:grid;place-items:center;width:46px;height:46px;font-family:Georgia,serif;font-size:19px}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:500}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:white;padding:15px 24px;border:0;border-radius:3px;font:600 15px 'DM Sans',Arial,sans-serif;cursor:pointer;min-height:48px}.button:hover{background:#154f99}.small{padding:11px 20px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:65px 10% 45px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;margin:0 0 22px}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-1.7px;line-height:1.02;margin:0 0 28px}h1{font-size:clamp(60px,6.3vw,92px)}h2{font-size:clamp(43px,4.4vw,65px)}em{font-weight:400;color:#096b72}p{margin:0 0 22px}.intro{max-width:430px;color:var(--muted);font-size:17px;line-height:1.75}.text-link{margin-left:22px;font-size:14px;border-bottom:1px solid #718277;padding-bottom:4px}.hero-note{margin-top:40px;font-size:13px;color:var(--muted)}figure{position:relative;margin:0;overflow:hidden;background:#dce6d9}figure img{width:100%;height:100%;object-fit:cover;display:block}figure:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(5,30,17,.7));pointer-events:none}.image-label{position:absolute;bottom:65px;left:40px;color:white;font-family:Georgia,serif;font-size:30px;line-height:1.2;z-index:1}figcaption{position:absolute;bottom:17px;left:20px;right:20px;color:white;font-size:12px;z-index:1}.values{display:flex;justify-content:space-around;gap:20px;padding:26px 5%;background:var(--light);font-size:14px;letter-spacing:.4px}.values span:before{content:'✧';margin-right:12px}.section{padding:90px 8%}.approach{display:grid;grid-template-columns:1fr 1fr;gap:12%}.approach>div>p:not(.eyebrow){max-width:370px;color:var(--muted)}h3{font-size:21px;margin:0 0 10px;font-weight:500;line-height:1.4}.care-list article{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid #d9e2dc}.care-list article:first-child{padding-top:0}.care-list article>span{font-size:14px;color:#c43655;padding-top:5px}.care-list p{color:var(--muted);margin:0;font-size:15px}.care-list .detail{font-size:13px;margin-top:25px}.home-life{background:var(--green);color:white}.home-life em{color:var(--lime)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:center}.section-heading>p{max-width:350px;color:#d8e7f9}.life-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:40px}.life-grid article{border-top:1px solid #5786b2;padding-top:25px}.icon{font-size:12px;letter-spacing:1.5px;color:var(--lime)}.life-grid h3{font-family:Georgia,serif;font-size:25px;margin-top:25px}.life-grid p{color:#d8e7f9;font-size:15px}.steps{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#f5f8fc}.steps ol{padding-left:25px;margin:0}.steps li{padding:0 0 25px 15px}.steps li::marker{color:#c43655}.steps p{color:var(--muted);font-size:15px;margin:0}.faq{display:grid;grid-template-columns:1fr 1.1fr;gap:9%}details{border-bottom:1px solid #d9e2dc;padding:20px 0}summary{cursor:pointer;font-size:17px;font-weight:500;list-style:none;position:relative;padding-right:25px}summary:after{content:'+';position:absolute;right:0}details[open] summary:after{content:'−'}details p{margin:15px 0;color:var(--muted);font-size:15px}details a{text-decoration:underline;font-size:14px}.visit{background:#e8faf6;display:grid;grid-template-columns:1fr 1fr;gap:12%}.visit>div>p:not(.eyebrow){max-width:370px;color:var(--muted)}.contact-note{font-size:14px;margin-top:35px}form{background:white;padding:35px;border-radius:5px}form h3{font-size:25px}.form-note{font-size:14px;color:var(--muted)}form>label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}select{width:100%;padding:12px;background:white;border:1px solid #b5c5b8;border-radius:3px;font:inherit;font-size:14px;color:var(--ink)}fieldset{border:0;padding:0;margin:25px 0}legend{font-size:14px;font-weight:600;margin-bottom:10px}fieldset label{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:14px}input{width:18px;height:18px;accent-color:var(--green)}form .button{width:100%}#result{margin-top:20px;padding:20px;background:var(--light);font-size:14px}#result ul{padding-left:20px}#result button{padding:8px 12px;border:1px solid var(--green);background:white;color:var(--green);cursor:pointer;font:inherit}footer{padding:45px 5%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:25px}footer p{margin:0;color:var(--muted);font-family:Georgia,serif;font-style:italic}footer>a:last-of-type{font-size:14px;text-decoration:underline}footer>small{flex-basis:100%;font-size:12px;color:var(--muted);border-top:1px solid #d9e2dc;padding-top:20px}@media(max-width:1000px){nav{gap:18px}.hero-copy{padding:45px 8%}.text-link{display:block;margin:18px 0 0;width:fit-content}.section{padding:70px 6%}.approach,.visit{gap:7%}}@media(max-width:720px){header{padding:18px 6%;flex-wrap:wrap}.menu{display:block;background:white;border:1px solid #b5c5b8;color:var(--green);padding:10px 14px;font:inherit;font-size:14px}nav{display:none;width:100%;padding-top:20px;flex-direction:column;align-items:stretch;gap:15px}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7%}h1{font-size:65px}.hero figure{height:380px}.hero-note{margin-top:25px}.values{flex-direction:column;gap:12px;padding:23px 7%}.section{padding:60px 7%}.approach,.steps,.faq,.visit{grid-template-columns:1fr;gap:35px}.section-heading{display:block}.life-grid{grid-template-columns:1fr;gap:20px;margin-top:20px}.life-grid h3{margin-top:15px}.life-grid p{margin-bottom:5px}form{padding:25px}footer{padding:35px 7%}footer p{flex-basis:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,.review,.hero,.values,.approach,.home-life,.steps,.faq,.visit>div,footer,form>h3,form>.form-note,form>label,select,fieldset,form>.button{display:none}.visit{display:block;padding:0;background:white}form{padding:0}#result{display:block!important}#result button{display:none}}

.brand{max-width:390px}.brand>span:last-child{max-width:310px}.mark{background:#70e1cc;border-color:#70e1cc;color:#0c3d7b;flex-shrink:0}.review{border-bottom:3px solid #d83d58}.hero-note a{font-weight:600}.services{background:#f5f8fc}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}.service-grid article{background:white;padding:28px;border-top:3px solid #70e1cc}.service-grid article:nth-child(3n){border-top-color:#d83d58}.service-number{font-size:13px;color:#b72a47;letter-spacing:2px}.service-grid h3{margin-top:17px}.service-grid p,.service-note{font-size:15px;color:var(--muted)}.service-note{margin:25px 0 0}.contact-note{font-style:normal;overflow-wrap:anywhere;margin-bottom:25px}.contact-note a{text-decoration:underline;text-underline-offset:3px}.eyebrow{color:#0c3d7b}.home-life .eyebrow{color:#70e1cc}@media(max-width:1100px){nav{gap:15px}.brand{font-size:16px;max-width:310px}.brand>span:last-child{max-width:240px}}@media(max-width:720px){.service-grid{grid-template-columns:1fr}.brand{max-width:calc(100% - 85px);font-size:15px}.brand>span:last-child{max-width:210px}.brand small{font-size:10px}.hero-copy h1{font-size:60px}}

/* Compact, page-based navigation */
header{padding:18px 5%}nav{gap:22px}nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}.hero{min-height:0;grid-template-columns:1.05fr 1fr}.hero-copy{padding:42px 9% 35px}h1{font-size:clamp(48px,5vw,72px);line-height:1.08}.hero .intro{font-size:16px;line-height:1.6;margin-bottom:20px}.hero-note{margin-top:22px}.hero figure{max-height:490px}.section{padding:48px 7%}h2{font-size:clamp(40px,4vw,56px);margin-bottom:20px}.eyebrow{margin-bottom:16px}.care-list article{padding:18px 0}.life-grid{margin-top:15px;gap:30px}.life-grid h3{margin-top:16px}.service-grid{gap:16px;margin-top:18px;grid-template-columns:repeat(3,1fr)}.service-grid article{padding:20px}.service-grid h3{font-size:19px;margin-top:10px}.service-grid p{font-size:14px;margin-bottom:0}.service-note{margin-top:18px;font-size:14px}.services .section-heading h2{margin-bottom:5px}.services .section-heading p{margin-bottom:0}.faq{min-height:480px}.faq details{padding:16px 0}.visit{gap:8%}.visit form{padding:25px}.contact-note{margin-top:20px!important;margin-bottom:20px;font-size:15px}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:24px 5%;background:#e8faf6}.quick-links a{padding:0 25px;border-right:1px solid #b1d7d5}.quick-links a:last-child{border-right:0}.quick-links strong{display:block;font-size:18px;color:#0c3d7b}.quick-links span{display:block;font-size:14px;line-height:1.5;margin-top:5px;color:#4d6074}.quick-links a:hover strong{text-decoration:underline}footer{padding:24px 5%;gap:18px}footer>small{padding-top:14px}footer .brand{font-size:16px}footer p{font-size:15px}main{min-height:55vh}
@media(max-width:1000px){nav{gap:15px}.brand{max-width:310px}.hero-copy{padding:35px 7%}.service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){header{padding:14px 5%}.brand{max-width:calc(100% - 80px)}nav{gap:13px}.hero{grid-template-columns:1fr}.hero-copy{padding:30px 6%}.hero-copy h1{font-size:49px}.hero figure{height:240px}.hero .text-link{display:inline-block;margin:16px 0 0 16px}.hero .button{padding:13px 20px}.image-label{bottom:55px;font-size:25px;left:25px}.section{padding:32px 6%}.approach,.faq,.visit{gap:20px}.life-grid{gap:18px}.quick-links{grid-template-columns:1fr;padding:10px 6%}.quick-links a{padding:15px 0;border-right:0;border-bottom:1px solid #b1d7d5}.quick-links a:last-child{border-bottom:0}.quick-links strong{font-size:17px}.service-grid{grid-template-columns:1fr;gap:12px}.service-grid article{padding:18px}.section-heading>p{margin-top:15px}.faq{min-height:0}footer{padding:24px 6%}footer p{display:none}.visit form{padding:22px}h2{font-size:42px}}

.brand .business-name{text-align:center;display:block;line-height:1.25}.business-title,.business-type{display:block}.business-title{font-size:22px;font-weight:600}.business-type{font-size:16px;font-weight:500;margin-top:3px}.brand .business-name small{margin-top:7px;font-size:10px;letter-spacing:1.8px}footer .business-title{font-size:20px}footer .business-type{font-size:15px}@media(max-width:720px){.business-title{font-size:20px}.business-type{font-size:14px}.brand .business-name small{font-size:9px;letter-spacing:1.3px}}

.photo-page h1{font-size:56px;margin-bottom:12px}.photo-page .section-heading>div:last-child{max-width:390px}.gallery-hint{font-size:14px;color:var(--muted);margin:15px 0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo-card{padding:0;background:#f5f8fc;border:1px solid #d2deeb;text-align:left;color:var(--ink);font:inherit;cursor:pointer;overflow:hidden;border-radius:4px}.photo-card img{display:block;width:100%;height:185px;object-fit:cover}.photo-card span{display:block;padding:12px 16px;font-size:16px}.photo-card:hover{border-color:#0c3d7b}#photo-dialog{padding:18px;border:0;border-radius:5px;max-width:95vw;max-height:95vh;width:1000px;background:white}#photo-dialog::backdrop{background:rgba(8,24,45,.85)}#close-photo{display:block;margin:0 0 12px auto;padding:10px 20px;color:white;background:#0c3d7b;border:0;font:inherit;cursor:pointer}#enlarged-photo{display:block;max-width:100%;max-height:72vh;margin:auto;object-fit:contain}#photo-caption{margin:12px 0 0;text-align:center;font-size:15px}@media(max-width:1100px){nav{gap:14px;font-size:13px}.photo-card img{height:160px}}@media(max-width:720px){.photo-grid{grid-template-columns:repeat(2,1fr);gap:12px}.photo-card img{height:130px}.photo-card span{font-size:14px;padding:10px}.photo-page h1{font-size:45px}.photo-page .section-heading>div:last-child{max-width:none}nav{font-size:15px}}@media(max-width:380px){.photo-grid{grid-template-columns:1fr}}

.editorial-photo{background:transparent;border-radius:4px;overflow:hidden;margin:20px 0 0}.editorial-photo img{width:100%;height:190px;object-fit:cover;display:block}.editorial-photo:after{display:none}.editorial-photo figcaption{position:static;color:var(--muted);font-size:12px;padding:6px 0;line-height:1.4}.approach .editorial-photo{max-width:370px}.services-visual{width:340px;max-width:40%}.services-visual .editorial-photo{margin:0}.services-visual img{height:175px;object-position:center 35%}.home-life-visual{width:330px;max-width:40%}.home-life-visual .editorial-photo{margin:0}.home-life .editorial-photo figcaption{color:#d8e7f9}.visit .editorial-photo{margin:0 0 24px;max-width:370px}.visit .editorial-photo img{height:150px}@media(max-width:720px){.services-visual,.home-life-visual{width:100%;max-width:100%}.services-visual .editorial-photo,.home-life-visual .editorial-photo{margin-top:18px}.editorial-photo img{height:170px}.services-visual img{height:150px}.visit .editorial-photo img{height:140px}}

/* Living room background with accessible text contrast. */
.hero.background-hero{display:block;position:relative;isolation:isolate;background:#142b43 url('photos/living-room.jpg') center 48%/cover no-repeat;min-height:490px}.background-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,22,44,.94) 0%,rgba(5,22,44,.88) 42%,rgba(5,22,44,.36) 100%)}.background-hero .hero-copy{padding:48px 7%;max-width:760px;color:white}.background-hero h1{font-size:clamp(48px,5vw,70px);max-width:580px}.background-hero h1 em{color:#91f0dc}.background-hero .eyebrow,.background-hero .intro,.background-hero .hero-note{color:white}.background-hero .intro{max-width:480px}.background-hero .text-link{color:white;border-color:white}.background-hero .button{background:#70e1cc;color:#092e52}.background-hero .button:hover{background:#a0f0e0}.background-hero .hero-note a{color:white}.background-hero .hero-note{margin-top:24px}@media(max-width:720px){.hero.background-hero{min-height:0;background-position:58% center}.background-hero:before{background:rgba(5,22,44,.88)}.background-hero .hero-copy{padding:36px 6%}.background-hero .hero-copy h1{font-size:49px}.background-hero .intro{font-size:16px}.background-hero .text-link{margin-left:16px}}

.logo-window{display:block;position:relative;overflow:hidden;width:76px;height:58px;flex-shrink:0;background:white}.business-logo{display:block;position:absolute;width:76px;height:auto;max-width:none;top:-26px;left:0}.brand{gap:12px}.brand .business-name{max-width:none}@media(max-width:720px){.logo-window{width:61px;height:47px}.business-logo{width:61px;top:-21px}.brand{gap:8px}.business-title{font-size:19px}.business-type{font-size:13px}.brand .business-name small{font-size:9px;letter-spacing:1px}}
