@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/dm-sans.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 600;font-display:swap;src:url('/assets/cormorant.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400 600;font-display:swap;src:url('/assets/cormorant-italic.woff2') format('woff2')}
:root{--paper:#fbfaf7;--white:#fff;--ink:#193c3e;--teal:#143d40;--muted:#586766;--line:#d6ded9;--accent:#a67b4a;--tint:#edf1ee;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #ae7834;outline-offset:6px;border-radius:3px}p,h1,h2,h3,figure{margin:0}img{display:block;max-width:100%}.container{width:min(1200px,calc(100% - 112px));margin-inline:auto}.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:fixed;top:-100px;left:20px;background:var(--teal);color:white;padding:12px 20px;z-index:20}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line)}.header-inner{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:14px;flex-shrink:0}.monogram{height:52px;width:52px;border:1px solid #66817b;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:2rem;font-weight:500;font-style:italic;letter-spacing:-.08em;padding-right:4px;line-height:1}.brand-text{font-family:var(--serif);font-size:1.65rem;font-weight:500;line-height:1.12}.brand-text>span{display:block;font-family:var(--sans);font-size:.75rem;font-weight:500;letter-spacing:.15em;margin-top:8px}.navigation{display:flex;align-items:center;gap:34px}.nav-link{font-size:.875rem;white-space:nowrap}.nav-link:hover,.back-top:hover{color:#946a36}.button{min-height:56px;padding:15px 25px;display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--teal);border:1px solid var(--teal);border-radius:4px;color:var(--white);font-size:.9375rem;font-weight:500;line-height:1.4;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{background:#245457;box-shadow:0 5px 16px #143d4019;transform:translateY(-2px)}.button svg,.text-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}.button-small{min-height:48px;padding:12px 19px;gap:20px;font-size:.875rem}.hero{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:80px;padding-block:74px 84px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:600;line-height:1.6}.hero .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:22px}.eyebrow>span{width:29px;height:1px;background:var(--accent)}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(4rem,6.5vw,6rem);line-height:.98;letter-spacing:-.035em}h1 em,h2 em{font-weight:400;color:#517470}h1 em{line-height:1.1}.hero-description{font-size:1.0625rem;line-height:1.85;max-width:420px;color:var(--muted);margin:26px 0 30px}.booking-note{display:block;font-size:.75rem;line-height:1.7;color:var(--muted);margin-top:14px;max-width:380px}.portrait{position:relative;align-self:center;padding:0 0 0 20px;max-width:490px;width:100%;justify-self:end}.portrait:before{content:'';position:absolute;inset:20px 18px -18px 0;border:1px solid #b0bfb5;border-radius:180px 180px 5px 5px;z-index:-1}.portrait-image{background:#d8ded9;border-radius:180px 180px 3px 3px;overflow:hidden;aspect-ratio:4/4.6}.portrait-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.portrait figcaption{background:var(--white);margin:-4px 0 0;position:relative;padding:21px 24px 24px;border-radius:0 0 3px 3px;border-bottom:2px solid #b29974}.portrait-name{font-family:var(--serif);font-size:1.8rem;line-height:1.2;font-weight:500}.portrait-credentials{font-size:.75rem;letter-spacing:.08em;display:inline-block;margin-left:10px}.portrait-role{display:block;color:var(--muted);font-size:.8125rem;margin-top:5px}.care-section{padding:83px 0 63px;border-top:1px solid var(--line);background:#f1f4f1}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end;margin-bottom:48px}.section-intro .eyebrow,.about-heading .eyebrow{margin-bottom:16px}h2{font-size:clamp(2.7rem,4.2vw,3.8rem);line-height:1.04;letter-spacing:-.025em}.section-intro>p{color:var(--muted);max-width:430px;padding-bottom:5px;line-height:1.85}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.service{padding-top:24px;border-top:1px solid #b6c5ba}.service-number{color:#82673e;font-size:.8125rem;letter-spacing:.06em;display:block;margin-bottom:21px}.service h3{font-size:2.25rem;line-height:1.06;margin-bottom:18px;letter-spacing:-.025em}.service p{color:var(--muted);line-height:1.85;max-width:325px;font-size:1rem}.focus-areas{display:flex;align-items:center;gap:40px;margin-top:46px;border-top:1px solid var(--line);padding-top:27px}.focus-areas>p{font-size:.875rem;font-weight:500;white-space:nowrap}.focus-areas ul{list-style:none;padding:0;margin:0;display:flex;gap:10px 28px;flex-wrap:wrap;color:var(--muted);font-size:.875rem}.focus-areas li+li{position:relative}.focus-areas li+li:before{content:'·';position:absolute;left:-17px;color:#8c9f95}.about-section{background:var(--teal);color:#f5f6f0;padding-block:86px 90px}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about-heading .eyebrow{color:#c3d4c9}.about-heading h2{font-size:clamp(2.65rem,4vw,3.75rem)}.about-heading h2 em{color:#b8cfc1}.about-signature{font-family:var(--serif);font-size:1.875rem;font-style:italic;margin-top:49px;line-height:1.2}.about-signature span{display:block;font-style:normal;font-family:var(--sans);font-size:.75rem;letter-spacing:.15em;margin-top:12px;color:#c3d4c9}.about-copy{padding-top:4px}.about-copy p{color:#d0ded6;margin-bottom:19px;line-height:1.85}.about-copy .about-lead{font-size:1.1875rem;color:var(--white);line-height:1.65}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:.875rem;border-bottom:1px solid #718d80;padding-bottom:7px;margin-top:9px}.text-link:hover{color:#c4dacb;border-color:#c4dacb}.booking-section{text-align:center;padding-block:88px 91px}.booking-section .eyebrow{margin-bottom:19px}.booking-section h2{font-size:clamp(3rem,4.8vw,4.35rem)}.booking-section>p:not(.eyebrow){color:var(--muted);margin:24px auto 29px;line-height:1.85}.booking-section .booking-note{margin-inline:auto}.site-footer{border-top:1px solid var(--line);padding-block:30px 24px}.footer-top{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-bottom:27px}.footer-brand .monogram{width:43px;height:43px;font-size:1.7rem}.footer-brand .brand-text{font-size:1.45rem}.footer-brand .brand-text>span{font-size:.75rem;letter-spacing:.12em;margin-top:6px}.footer-top>p{font-family:var(--serif);font-size:1.35rem;font-style:italic;color:var(--muted)}.back-top{font-size:.8125rem;white-space:nowrap;display:inline-flex;align-items:center;gap:16px;min-height:44px}.footer-bottom{border-top:1px solid var(--line);padding-top:19px;display:flex;gap:50px;justify-content:space-between;color:var(--muted);font-size:.75rem;line-height:1.8}.footer-bottom p:first-child{flex-shrink:0}.footer-bottom p:last-child{max-width:530px}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1500px){.hero{padding-block:88px 95px;gap:110px}.portrait{max-width:490px}}@media(max-width:1100px){.container{width:calc(100% - 72px)}.navigation{gap:24px}.hero{gap:40px}.hero h1{font-size:5rem}.portrait-credentials{display:block;margin:5px 0 0}.section-intro,.about-inner{gap:55px}.footer-top>p{font-size:1.15rem}.footer-bottom{gap:28px}.services{gap:26px}}
@media(max-width:850px){.header-inner{min-height:98px}.navigation{gap:0}.navigation .nav-link{display:none}.hero{gap:28px;padding-block:55px 66px}.hero h1{font-size:4.1rem}.hero-description{font-size:1rem;margin-block:23px}.hero .eyebrow{font-size:.6875rem;letter-spacing:.1em;gap:8px}.hero .eyebrow>span{width:20px}.portrait{padding-left:12px}.portrait figcaption{padding:19px}.portrait-name{font-size:1.55rem}.portrait-role{font-size:.75rem}.portrait-image{aspect-ratio:4/5.3}.section-intro,.about-inner{gap:35px}.services{gap:23px}.service h3{font-size:1.9rem}.service p{font-size:1rem}.focus-areas{gap:24px;align-items:flex-start}.focus-areas ul{gap:10px 24px}.focus-areas li+li:before{left:-15px}.footer-top>p{display:none}.footer-bottom{display:block}.footer-bottom p+p{margin-top:12px;max-width:100%}.about-section{padding-block:65px}.care-section{padding-top:65px}h2{font-size:2.75rem}.about-heading h2{font-size:2.6rem}.about-copy .about-lead{font-size:1.125rem}}
@media(max-width:650px){.container{width:calc(100% - 40px)}.header-inner{min-height:88px;gap:12px}.brand{gap:9px}.monogram{height:40px;width:40px;font-size:1.65rem}.brand-text{font-size:1.25rem}.brand-text>span{font-size:.75rem;letter-spacing:.06em;margin-top:5px}.button-small{font-size:.8125rem;min-height:44px;padding:10px 13px;max-width:112px;text-align:center}.button-small svg{display:none}.hero{grid-template-columns:1fr;gap:40px;padding-top:43px;padding-bottom:61px}.hero-copy{max-width:460px}.hero h1{font-size:clamp(3.9rem,14vw,5rem)}.hero .eyebrow{font-size:.75rem;letter-spacing:.1em;margin-bottom:20px}.hero-description{font-size:1rem;max-width:360px}.hero .button{min-height:54px;padding:15px 23px}.hero .booking-note{max-width:320px}.portrait{width:100%;max-width:420px;justify-self:center;padding-left:14px;padding-right:0}.portrait-image{aspect-ratio:4/4.4;border-radius:150px 150px 3px 3px}.portrait:before{border-radius:150px 150px 3px 3px;inset:17px 16px -15px 0}.portrait figcaption{padding:21px}.portrait-name{font-size:1.85rem}.portrait-credentials{display:inline-block;margin:0 0 0 8px;font-size:.75rem}.portrait-role{font-size:.8125rem}.care-section{padding:51px 0 39px}.section-intro{grid-template-columns:1fr;gap:22px;margin-bottom:32px}.section-intro>p{max-width:450px}.services{grid-template-columns:1fr;gap:28px}.service{display:grid;grid-template-columns:34px 1fr;gap:0 9px;padding-top:22px}.service-number{grid-column:1;grid-row:1;margin-top:4px}.service h3{grid-column:2;font-size:2rem;line-height:1.15;margin-bottom:13px}.service h3 br{display:none}.service p{grid-column:2;max-width:none;font-size:1rem}.focus-areas{display:block;margin-top:30px;padding-top:21px}.focus-areas>p{margin-bottom:11px}.focus-areas ul{gap:8px 25px}.about-section{padding-block:51px}.about-inner{grid-template-columns:1fr;gap:29px}.about-heading h2{font-size:2.8rem}.about-signature{display:none}.about-copy .about-lead{font-size:1.125rem}.about-copy p{font-size:1rem}.text-link{font-size:.875rem;gap:15px}.booking-section{padding-block:57px 59px}.booking-section h2{font-size:3.1rem}.booking-section>p:not(.eyebrow){font-size:1rem;margin-block:22px 25px}.booking-section>p br{display:none}.booking-section .booking-note{max-width:290px}.footer-top{gap:12px;padding-bottom:22px}.footer-brand .brand-text{font-size:1.25rem}.footer-brand .monogram{width:37px;height:37px}.back-top{gap:7px;font-size:.75rem}.site-footer{padding-block:25px}.footer-bottom{padding-top:18px}.footer-bottom p:first-child{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.veteran-owned{display:inline-block;margin-top:26px;padding:7px 13px;border:1px solid #78978a;border-radius:3px;color:#e0e9e1;font-size:.8125rem;letter-spacing:.035em;line-height:1.6}

.landscape-band{height:clamp(220px,28vw,400px);overflow:hidden;background:var(--teal)}.landscape-band img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}

/* Keep the paper overlay at 92% throughout the text column. */
.hero-banner{
  isolation:isolate;
  background-color:var(--paper);
  background-image:linear-gradient(90deg,rgba(251,250,247,.92) 0%,rgba(251,250,247,.92) 54%,rgba(251,250,247,.68) 74%,rgba(251,250,247,.35) 100%),url('/assets/coastal-landscape.jpg');
  background-position:center,center 45%;
  background-size:cover;
  background-repeat:no-repeat;
}
.hero-banner .portrait{isolation:isolate}
@media(max-width:650px){
  .hero-banner{
    background-image:linear-gradient(rgba(251,250,247,.92),rgba(251,250,247,.92)),url('/assets/coastal-landscape.jpg');
    background-position:center;
  }
}
