:root{--navy:#092f40;--ink:#153b49;--teal:#087e8a;--aqua:#a5e2df;--pale:#eaf6f7;--white:#fff;--muted:#526771;--line:#cfdee2;--serif:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;font-family:var(--sans);font-size:1rem;line-height:1.65;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%;display:block}
h1,h2,h3,p{margin:0}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:3px solid #bf6b14;outline-offset:6px;border-radius:2px}
::selection{background:var(--aqua);color:var(--navy)}
.container{width:min(1240px,calc(100% - 112px));margin-inline:auto}
.skip-link{position:absolute;left:20px;top:-80px;background:#fff;color:var(--navy);padding:12px 20px;z-index:100}
.skip-link:focus{top:12px}
.location-bar{background:var(--navy);color:#eaf6f7;font-size:.875rem;letter-spacing:.015em}
.location-inner{display:flex;justify-content:space-between;gap:16px;padding-block:9px}
.location-inner a:hover{text-decoration:underline;text-underline-offset:4px}
.site-header{background:#fff;position:relative;z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:105px;gap:32px}
.wordmark{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1;color:var(--navy);flex-shrink:0}
.wordmark-name{font-size:2rem;letter-spacing:-.055em;font-weight:750;line-height:1.08}
.brand-period{color:var(--teal)}
.wordmark-sub{font-size:.75rem;letter-spacing:.36em;margin-top:7px;margin-left:3px;font-weight:600}
.main-nav{display:flex;align-items:center;gap:32px;font-size:.9375rem;font-weight:500}
.main-nav>a:not(.button){padding-block:12px;transition:color .15s ease}
.main-nav>a:not(.button):hover{color:var(--teal)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:56px;padding:15px 24px;font-size:.9375rem;line-height:1.4;font-weight:600;border:1px solid transparent;border-radius:2px;transition:background .18s ease,transform .18s ease}
.button:hover{transform:translateY(-2px)}
.button span{font-size:1.25rem;line-height:1}
.button-small{min-height:47px;padding:12px 18px;gap:20px}
.button-navy{background:var(--navy);color:#fff}
.button-navy:hover{background:#135367}
.button-white{background:#fff;color:var(--navy)}
.button-white:hover{background:#d9f1f1}
.menu-button{display:none}
.hero{position:relative;background:var(--navy);color:#fff;min-height:640px;isolation:isolate;overflow:hidden}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 67%;z-index:-3}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,31,44,.91) 0%,rgba(4,31,44,.72) 42%,rgba(4,31,44,.2) 78%),linear-gradient(0deg,rgba(4,31,44,.25),transparent 65%);z-index:-2}
.hero-inner{position:relative;padding-block:79px 85px;min-height:640px;display:flex;align-items:center}
.hero-copy{max-width:780px}
.eyebrow{font-size:.8125rem;line-height:1.6;font-weight:650;letter-spacing:.13em;color:var(--teal);margin-bottom:22px}
.eyebrow.light{color:#c2e9e9}
h1,h2,h3{font-family:var(--serif);font-weight:400}
h1{font-size:clamp(3.25rem,5.6vw,5.4rem);line-height:1.075;letter-spacing:-.045em}
h1 em{font-weight:400;color:#c4efed}
.mobile-break{display:none}
.hero-description{font-size:1.125rem;line-height:1.75;color:#eef6f8;max-width:465px;margin-top:25px}
.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:35px}
.hero-secondary{font-size:.9375rem;line-height:1.6;border-bottom:1px solid #89b6bd;padding-block:5px;color:#fff}
.hero-secondary:hover{color:var(--aqua)}
.hero-caption{position:absolute;right:0;bottom:32px;display:flex;align-items:center;gap:13px;font-size:.8125rem;letter-spacing:.025em;text-shadow:0 1px 3px #000}
.caption-rule{display:block;background:#fff;width:34px;height:1px}
.service-ribbon{background:var(--pale);border-bottom:1px solid #dfedef}
.ribbon-inner{display:grid;grid-template-columns:repeat(3,1fr);padding-block:24px;text-align:center;font-size:.9375rem;color:var(--ink)}
.ribbon-inner span+span{border-left:1px solid #bad3d8}
.section{padding-block:102px}
.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:72px;align-items:end}
h2{font-size:clamp(2.4rem,3.4vw,3.5rem);line-height:1.12;letter-spacing:-.04em}
.section-heading>p{max-width:380px;color:var(--muted);font-size:1.0625rem;line-height:1.8;margin-bottom:5px}
.service-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:58px;border-top:1px solid var(--line)}
.service-item{padding:37px 62px 0 0}
.service-item+ .service-item{padding:37px 0 0 62px;border-left:1px solid var(--line)}
.service-index{font-size:.8125rem;font-weight:650;letter-spacing:.105em;color:var(--teal);display:block;margin-bottom:23px}
.service-item h3{font-size:2.25rem;line-height:1.17;letter-spacing:-.025em;margin-bottom:20px}
.service-item p{color:var(--muted);font-size:1rem;line-height:1.85;max-width:470px}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:27px;border-bottom:1px solid var(--teal);color:var(--navy);font-size:.9375rem;font-weight:650;line-height:1.6;padding-block:9px;margin-top:24px}
.text-link span{font-size:1.25rem;color:var(--teal)}
.text-link:hover{color:var(--teal)}
.management-section{background:var(--navy);color:#fff;padding-block:90px}
.management-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}
.management-copy h2{font-size:clamp(2.5rem,3.5vw,3.6rem)}
.management-copy h2 em{color:var(--aqua);font-weight:400}
.management-copy>p:not(.eyebrow){color:#cbdfe4;margin-top:26px;line-height:1.85;max-width:475px}
.management-copy .button{margin-top:30px}
.management-point{display:flex;gap:23px;padding-block:27px;border-bottom:1px solid #385969}
.management-point:first-child{padding-top:0}
.management-point:last-child{padding-bottom:0;border-bottom:0}
.point-number{color:#97cfd3;font-size:.875rem;flex-shrink:0;margin-top:4px}
.management-point h3{font-family:var(--sans);font-size:1.125rem;font-weight:550;line-height:1.5;margin-bottom:7px;letter-spacing:-.02em}
.management-point p{color:#c1d6dc;font-size:1rem;line-height:1.75}
.about-section{display:grid;grid-template-columns:1fr 1.1fr;gap:110px;align-items:center}
.about-label .eyebrow{margin-bottom:29px}
.local-mark{background:var(--pale);aspect-ratio:1.3;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:4px solid var(--teal)}
.local-mark>span{font-family:var(--serif);font-size:clamp(2.8rem,4.2vw,4.5rem);letter-spacing:-.055em;line-height:1.15}
.local-mark>small{font-size:.75rem;letter-spacing:.21em;color:var(--teal);font-weight:650;margin-top:20px}
.about-copy>p{color:var(--muted);line-height:1.85;margin-top:22px}
.person{display:flex;align-items:center;gap:15px;margin-top:29px}
.person-monogram{width:51px;height:51px;display:grid;place-items:center;background:var(--navy);color:#fff;font-family:var(--serif);font-size:1.125rem;border-radius:50%;flex-shrink:0}
.person strong{display:block;font-size:1rem;font-weight:600}
.person div>span{font-size:.875rem;color:var(--muted);display:block}
.contact-section{background:var(--pale);padding-block:85px}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:110px;align-items:center}
.contact-section h2{font-size:clamp(3rem,4.2vw,4.5rem)}
.contact-section h2 em{color:var(--teal);font-weight:400}
.contact-section p:not(.eyebrow){color:var(--muted);margin-top:23px}
.contact-option{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #adc8ce;padding-block:26px}
.contact-option:first-child{border-top:1px solid #adc8ce}
.contact-option>span:first-child{min-width:0}
.contact-option small{display:block;font-size:.75rem;letter-spacing:.13em;font-weight:600;color:var(--teal);margin-bottom:8px}
.contact-option strong{font-size:clamp(1.2rem,1.8vw,1.65rem);font-weight:500;letter-spacing:-.025em;line-height:1.4}
.contact-option .contact-email{font-size:clamp(1rem,1.55vw,1.4rem);overflow-wrap:anywhere}
.contact-arrow{width:42px;height:42px;border:1px solid #a4c2c9;border-radius:50%;display:grid;place-items:center;font-size:1.25rem;flex-shrink:0;transition:background .15s ease}
.contact-option:hover .contact-arrow{background:#d0ecee}
.contact-note{font-size:.875rem}
.site-footer{background:var(--navy);color:#fff;padding-block:48px 25px}
.footer-main{display:flex;align-items:center;gap:55px;padding-bottom:39px}
.footer-wordmark{color:#fff}
.footer-wordmark .brand-period{color:var(--aqua)}
.footer-wordmark .wordmark-name{font-size:1.8rem}
.footer-main p{font-size:.875rem;color:#c2d7de;line-height:1.8}
.footer-social{margin-left:auto;font-size:.875rem;border-bottom:1px solid #6c99a8;padding-block:4px}
.footer-social:hover{color:var(--aqua)}
.footer-social span{margin-left:12px}
.footer-bottom{display:flex;justify-content:space-between;gap:22px;border-top:1px solid #315665;padding-top:23px;font-size:.8125rem;color:#c2d7de;flex-wrap:wrap}
.footer-bottom a:hover{text-decoration:underline;text-underline-offset:4px}
.photo-credit{font-size:.75rem;line-height:1.75;color:#acc8d2;margin-top:18px}
.photo-credit a{text-decoration:underline;text-underline-offset:3px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.hero-inner,.hero{min-height:730px}.hero-image{object-position:center 64%}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.main-nav{gap:21px;font-size:.875rem}.header-inner{gap:20px}.main-nav .button{gap:13px;padding-inline:15px}.management-grid{gap:60px}.about-section,.contact-grid{gap:60px}.section-heading{gap:50px}.service-item{padding-right:40px}.service-item+ .service-item{padding-left:40px}.hero{min-height:610px}.hero-inner{min-height:610px}.hero-copy{max-width:720px}.hero-description{max-width:440px}}
@media(max-width:900px){.container{width:calc(100% - 48px)}.header-inner{min-height:90px}.wordmark-name{font-size:1.8rem}.main-nav{gap:16px;flex-wrap:wrap;justify-content:flex-end}.main-nav .button{display:none}.hero-inner{padding-top:66px;padding-bottom:75px}.hero,.hero-inner{min-height:590px}.hero-caption{bottom:22px}.section{padding-block:77px}.section-heading{grid-template-columns:1.1fr 1fr;gap:30px}.management-grid{gap:38px;grid-template-columns:1fr 1fr}.management-section{padding-block:74px}.about-section,.contact-grid{gap:38px}.contact-section{padding-block:70px}.person div>span{font-size:.8125rem}.footer-main{gap:32px}.ribbon-inner{font-size:.875rem}}
@media(max-width:680px){html{scroll-padding-top:16px}.container{width:calc(100% - 40px)}.location-bar{font-size:.8125rem}.location-inner{padding-block:8px}.top-phone{display:none}.header-inner{min-height:85px;flex-wrap:wrap;gap:0}.wordmark-name{font-size:1.8rem}.wordmark-sub{font-size:.75rem;letter-spacing:.31em;margin-top:5px}.menu-button{display:flex;align-items:center;gap:11px;color:var(--navy);border:1px solid #c6d9de;border-radius:2px;background:#fff;padding:10px 12px;min-height:44px;font-size:.875rem}.menu-lines{width:15px;height:9px;border-top:1px solid var(--navy);border-bottom:1px solid var(--navy)}.main-nav{display:flex;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding-block:0 18px}.main-nav>a:not(.button){padding:12px 0;border-top:1px solid var(--line);font-size:1rem}.main-nav .button{display:flex;margin-top:10px;align-self:flex-start}.js .main-nav{display:none}.js .main-nav.is-open{display:flex}.menu-button[aria-expanded=true] .menu-lines{height:1px;border-bottom:0}.hero,.hero-inner{min-height:0}.hero-inner{padding-block:58px 72px;align-items:flex-start}.hero-image{object-position:59% 65%}.hero-shade{background:linear-gradient(90deg,rgba(4,31,44,.88),rgba(4,31,44,.55)),linear-gradient(0deg,rgba(4,31,44,.3),transparent)}.hero .eyebrow{max-width:295px;line-height:1.85;font-size:.75rem;letter-spacing:.1em;margin-bottom:23px}h1{font-size:clamp(2.65rem,9.7vw,3.8rem);line-height:1.1;letter-spacing:-.047em}.mobile-break{display:block}.hero-description{font-size:1rem;line-height:1.8;max-width:335px;margin-top:22px}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px;margin-top:27px}.hero-actions .button{padding-inline:21px;font-size:.875rem;min-height:53px}.hero-secondary{font-size:.875rem}.hero-caption{font-size:.75rem;right:0;bottom:23px;gap:10px}.caption-rule{width:21px}.ribbon-inner{padding-block:20px;font-size:.8125rem;gap:6px;line-height:1.5}.ribbon-inner span{padding-inline:5px}.section{padding-block:65px}.section-heading{display:block}.eyebrow{font-size:.75rem;margin-bottom:17px}h2{font-size:2.65rem}.section-heading>p{font-size:1rem;margin-top:22px;max-width:100%}.service-grid{grid-template-columns:1fr;margin-top:35px}.service-item{padding:30px 0 34px}.service-item+ .service-item{padding:30px 0 0;border-left:0;border-top:1px solid var(--line)}.service-index{margin-bottom:18px;font-size:.75rem}.service-item h3{font-size:2.15rem}.service-item p{font-size:1rem;line-height:1.85}.text-link{margin-top:18px;min-height:44px}.management-section{padding-block:62px}.management-grid{grid-template-columns:1fr;gap:43px}.management-copy h2{font-size:2.55rem}.management-copy>p:not(.eyebrow){margin-top:22px}.management-copy .button{font-size:.875rem;padding-inline:20px;gap:20px}.management-point{gap:20px;padding-block:24px}.management-point h3{font-size:1.0625rem}.management-point p{font-size:1rem}.about-section{grid-template-columns:1fr;gap:35px}.local-mark{aspect-ratio:1.8}.local-mark>span{font-size:3.4rem}.local-mark>small{margin-top:13px}.about-label .eyebrow{margin-bottom:22px}.person div>span{font-size:.8125rem}.contact-section{padding-block:61px}.contact-grid{grid-template-columns:1fr;gap:34px}.contact-section h2{font-size:3.4rem}.contact-section p:not(.eyebrow){font-size:1rem}.contact-section p br{display:none}.contact-option{padding-block:23px}.contact-option strong{font-size:1.5rem}.contact-option .contact-email{font-size:clamp(.9375rem,4.2vw,1.2rem)}.contact-arrow{width:38px;height:38px}.contact-options p.contact-note{font-size:.875rem;margin-top:19px}.site-footer{padding-top:39px}.footer-main{align-items:flex-start;flex-wrap:wrap;column-gap:30px;row-gap:24px;padding-bottom:30px}.footer-main p{font-size:.8125rem}.footer-social{margin-left:0}.footer-bottom{justify-content:flex-start;gap:12px 24px;font-size:.75rem}.footer-bottom a{margin-left:auto}.photo-credit{font-size:.75rem;margin-top:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.next-step{padding-bottom:64px;border-bottom:1px solid var(--line)}.guide-intro{color:var(--muted);margin-top:18px}.guide-controls{display:none;flex-wrap:wrap;gap:12px;margin-block:28px}.js .guide-controls{display:flex}.guide-button{min-height:50px;border:1px solid #92b6bf;padding:12px 25px;background:white;color:var(--ink);font:inherit;font-weight:600;cursor:pointer;border-radius:3px}.guide-button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.guide-button:hover{box-shadow:inset 0 0 0 1px var(--teal)}.guide-panel{margin-top:28px;padding:32px;background:var(--pale)}.guide-panel[hidden]{display:none}.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap;margin-bottom:20px}.guide-heading h3{font-size:2rem;line-height:1.2}.guide-heading .text-link{margin-top:0;font-size:.875rem}.guide-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 34px}.guide-steps li{display:flex;gap:17px;padding-block:23px;border-top:1px solid #bfd7db}.guide-number{font-size:.875rem;color:var(--teal);font-weight:650;padding-top:2px}.guide-steps h4{font-size:1.0625rem;line-height:1.5;margin:0 0 8px;font-weight:600}.guide-steps p{color:var(--muted);font-size:1rem;line-height:1.8}.guide-bottom{display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin-top:18px}.guide-source{font-size:.875rem;text-decoration:underline;text-underline-offset:4px}.guide-note{font-size:.875rem;color:var(--muted);margin-top:20px}@media(max-width:680px){.guide-panel{padding:24px 20px}.guide-steps{grid-template-columns:1fr}.guide-button{flex:1 1 auto;padding:12px 18px}.guide-heading h3{font-size:1.85rem}.guide-bottom .button{font-size:.875rem;padding-inline:17px}.guide-heading{gap:15px}.guide-number{flex-shrink:0}}

/* Display the supplied artwork with its outer white margins outside the frame. */
.logo-frame{position:relative;display:block;width:180px;aspect-ratio:570 / 350;overflow:hidden;background:#fff;flex:none}
.logo-frame img{position:absolute;width:149.122807%;max-width:none;height:auto;left:-24.561404%;top:-71.428571%}
.site-header .wordmark{padding-block:8px}
.footer-wordmark{padding:12px;background:#fff;border-radius:3px}
.local-mark{background:#fff;border:1px solid var(--line);border-bottom:4px solid var(--teal);padding:30px}
.local-mark>.logo-frame{width:min(100%,350px);font-size:inherit;line-height:normal}
@media(max-width:1050px){.site-header .logo-frame{width:150px}.header-inner{column-gap:20px}}
@media(max-width:680px){.site-header .logo-frame{width:145px}.site-header .wordmark{padding-block:10px}.footer-wordmark .logo-frame{width:165px}.local-mark{aspect-ratio:auto;padding:30px 20px}.local-mark>.logo-frame{width:min(100%,310px)}}

/* Patrick profile photography */
.person .patrick-avatar{display:block;width:56px;height:56px;min-width:56px;max-width:56px;aspect-ratio:1;object-fit:cover;object-position:50% 28%;flex:0 0 56px;border-radius:50%;}
