@font-face{font-family:Roboto;src:url('assets/roboto.woff') format('woff');font-display:swap;font-weight:400}@font-face{font-family:Roboto;src:url('assets/roboto-bold.woff') format('woff');font-display:swap;font-weight:700}
:root{--ink:#172e4a;--blue:#315b8a;--text:#516172;--pale:#f1f5f8;--line:#dbe2e8;--white:#fff;--orange:#aa512a;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:#fff;color:var(--ink);font-family:Roboto,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #c86631;outline-offset:5px}::selection{background:#d0dff0}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}.section{padding-top:110px;padding-bottom:110px}.eyebrow{font-size:.75rem;letter-spacing:.17em;font-weight:700;margin:0 0 24px;color:var(--blue)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}h1{font-size:clamp(3.2rem,5.3vw,5.3rem);line-height:1.08;margin-bottom:27px}h2{font-size:clamp(2.4rem,3.8vw,3.75rem);line-height:1.15;margin-bottom:26px}h1 em,h2 em{font-weight:400;color:var(--blue)}h3{font-size:1.4rem;line-height:1.3;font-weight:400}p{color:var(--text)}.skip-link{position:fixed;z-index:50;top:-100px;left:20px;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:10px}.announcement{min-height:39px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;gap:22px;font-size:.75rem;letter-spacing:.02em;padding:8px 24px}.announcement>span{color:#c6d1de}.announcement a{border-left:1px solid #728091;padding-left:22px}.announcement a span{margin-left:15px}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid transparent;transition:box-shadow .2s;backdrop-filter:blur(15px)}.header.scrolled{border-color:var(--line);box-shadow:0 5px 24px #142b4010}.nav-wrap{height:105px;width:min(1376px,calc(100% - 80px));margin:auto;display:flex;align-items:center;gap:38px}.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:1.65rem;line-height:1.12;white-space:nowrap}.brand-symbol{font-family:Arial,sans-serif;font-size:3.8rem;font-weight:400;color:var(--blue);line-height:1}.brand-sub{display:block;font-family:Roboto,Arial,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.18em;margin-top:7px}.header nav{display:flex;gap:28px;margin-left:auto}.header nav a{font-size:.875rem;padding:10px 0;border-bottom:1px solid transparent}.header nav a:hover{border-color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:27px;padding:17px 23px;background:var(--ink);color:white;font-size:.875rem;border:1px solid var(--ink);border-radius:3px;transition:background .2s,transform .2s;white-space:nowrap}.button:hover{background:var(--blue);transform:translateY(-2px)}.button span{font-size:1.2rem;line-height:1}.nav-cta{padding:13px 19px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:28px;padding-top:22px;padding-bottom:58px;min-height:668px;align-items:center}.hero-copy{padding:15px 0 15px}.hero .eyebrow{display:flex;align-items:center;gap:12px}.small-line{height:1px;width:29px;background:var(--blue)}.hero-description{font-size:1.05rem;line-height:1.8;margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{font-size:.875rem;font-weight:700;display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid #aebed0;padding:9px 0}.text-link:hover{color:var(--blue)}.hero-note{display:flex;gap:9px;align-items:center;margin-top:34px;font-size:.75rem;color:var(--text)}.note-icon{font-size:12px;border:1px solid #b4c5d7;border-radius:50%;width:19px;height:19px;display:grid;place-items:center;color:var(--blue)}.hero-visual{height:577px;position:relative;margin-left:4px;background:#edf0f1;border-radius:160px 4px 4px 4px}.hero-visual>img{height:100%;width:100%;object-fit:cover;object-position:52% 45%;border-radius:160px 4px 4px 4px}.portrait-caption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:13px;color:white;padding:40px 30px 27px;background:linear-gradient(transparent,#172e4aba)}.portrait-caption strong{display:block;font-size:1rem;font-weight:400}.portrait-caption span:not(.caption-line){font-size:.75rem;color:#e2e8f0}.caption-line{height:33px;width:2px;background:#b7cce0}.opening-card{position:absolute;right:-22px;top:34px;background:#fff;padding:19px 23px;box-shadow:0 12px 35px #142b4012;transform:rotate(3deg);width:190px;border:1px solid #e4e9ed;border-radius:2px}.opening-label{font-size:.6rem;letter-spacing:.13em;color:var(--orange);font-weight:700}.opening-card>strong{font-family:var(--serif);display:block;font-size:2.5rem;font-weight:400;line-height:1.05;margin:12px 0}.opening-card>strong span{font-family:Roboto;font-size:.85rem;margin-left:8px}.opening-card>span:last-child{font-size:.7rem;display:block;line-height:1.55;color:var(--text)}.opening-card b{float:right;font-size:1.2rem;font-weight:400}.values-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:27px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--blue);font-size:.85rem;letter-spacing:.02em}.values-strip span{text-align:center;border-right:1px solid var(--line)}.values-strip span:last-child{border:0}.about{display:grid;grid-template-columns:.9fr 1fr;gap:100px;align-items:center}.about-image{position:relative}.about-image img{width:100%;height:550px;object-fit:cover;border-radius:3px}.image-label{position:absolute;bottom:22px;left:22px;font-size:.58rem;letter-spacing:.13em;background:white;padding:10px 13px}.about-copy .lead{font-size:1.16rem;color:var(--ink)}.about-copy p:not(.eyebrow){line-height:1.85}.signature{font-family:var(--serif);font-style:italic;font-size:1.8rem;color:var(--blue);margin-top:30px}.signature span{display:block;font-family:Roboto;font-style:normal;font-size:.72rem;margin-top:3px;color:var(--text)}.services{background:var(--pale)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:65px;margin-bottom:45px}.section-head h2{margin-bottom:0}.section-head>p,.section-head>div+div{max-width:390px;margin-bottom:4px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{padding:33px 30px 31px;background:var(--pale);transition:background .2s}.service-card:hover{background:white}.service-number{display:block;font-size:.75rem;color:var(--blue);margin-bottom:25px}.service-card h3{font-family:var(--serif);font-size:1.75rem;letter-spacing:-.025em;margin-bottom:16px}.service-card p{font-size:.9rem;line-height:1.75;max-width:320px;min-height:75px}.service-card ul{padding:0;list-style:none;margin:22px 0 0;font-size:.8rem;color:var(--text);line-height:1.7}.service-card li{position:relative;padding:5px 0 5px 14px}.service-card li:before{content:'–';position:absolute;left:0;color:var(--blue)}.service-note{font-size:.75rem;text-align:center;margin:25px 0 0}.vision{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.vision p:not(.eyebrow){max-width:490px}.vision img{border-radius:3px;width:100%;height:365px;object-fit:cover}.practice{background:#f8f9fa}.photo-note{font-size:.75rem;color:var(--blue)}.practice-gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:25px}.practice-gallery figure{margin:0}.practice-gallery img{height:450px;width:100%;object-fit:cover;border-radius:3px}.practice-gallery figcaption{font-family:var(--serif);font-size:1.15rem;padding:15px 0}.renovation{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}.renovation summary{justify-content:flex-start;gap:20px;font-size:.85rem}.renovation-images{display:flex;gap:20px;padding:20px 0}.renovation-images img{width:calc((100% - 40px)/3);height:220px;object-fit:cover;border-radius:3px}.news-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.news-item{padding:24px 0 30px;border-top:1px solid var(--line)}.news-item:first-child{padding-top:0;border-top:0}.news-tag{font-size:.65rem;letter-spacing:.13em;color:var(--blue);font-weight:700}.news-item h3{font-family:var(--serif);font-size:1.75rem;margin:12px 0}.news-item p{margin-bottom:0;font-size:.94rem}.contact{background:var(--ink);color:white}.contact .eyebrow{color:#b7cce4}.contact h2 em{color:#c4d7ea}.button-light{background:white;border-color:white;color:var(--ink)}.button-light:hover{background:#d6e4f2;color:var(--ink)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:20px}.contact-info h3{font-family:var(--serif);font-size:1.6rem;margin-bottom:8px}.contact-info p{font-size:.9rem;color:#c6d2df}.contact dl{margin:35px 0 20px}.contact dl>div{display:grid;grid-template-columns:85px 1fr;gap:25px;margin:24px 0}.contact dt{font-size:.6rem;letter-spacing:.14em;color:#b6c7da;padding-top:4px}.contact dd{font-size:.93rem;margin:0;overflow-wrap:anywhere}.contact dd small{display:block;font-size:.75rem;color:#b6c7da;margin-top:5px}.contact .text-link:hover{color:#ccdded}.location-photo{position:relative;min-height:365px}.location-photo img{width:100%;height:100%;object-fit:cover;border-radius:3px}.location-photo>span{position:absolute;bottom:0;left:0;right:0;padding:50px 26px 25px;background:linear-gradient(transparent,#172e4ad9);font-size:.6rem;letter-spacing:.15em}.location-photo strong{display:block;font-family:var(--serif);font-size:1.65rem;letter-spacing:-.02em;font-weight:400;margin-top:5px}.contact-actions{border-top:1px solid #50627a;margin-top:50px;padding-top:28px;display:flex;gap:28px;align-items:center;flex-wrap:wrap;font-size:.83rem}.contact-actions p{color:#c6d2df;margin:0 auto 0 0}.contact-actions a{border-bottom:1px solid #79889b;padding:8px 0}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.faq-list details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;cursor:pointer;padding:22px 0;font-size:1rem}summary::-webkit-details-marker{display:none}summary span{font-size:1.4rem;font-weight:400;color:var(--blue)}details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:.93rem;margin-bottom:20px;line-height:1.8}.faq-list .text-link{margin-bottom:20px}.footer{background:var(--pale);padding:55px 0 22px}.footer-top{display:grid;grid-template-columns:1.25fr 1fr .8fr .65fr;align-items:center;gap:35px;padding-bottom:40px}.footer-top p{font-family:var(--serif);font-size:1.25rem;margin:0}.footer-top>div a{display:block;font-size:.8rem;margin:7px 0}.footer-top>img{width:150px;height:90px;object-fit:contain}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;font-size:.7rem;color:var(--text)}.footer-bottom>div{display:flex;gap:24px}
@media(min-width:1550px){.hero{gap:65px}.hero-visual{height:620px}.hero{padding-top:30px;padding-bottom:65px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav-wrap{width:calc(100% - 48px);gap:25px}.header nav{gap:20px}.brand{font-size:1.4rem}.nav-cta{gap:10px}.hero{gap:25px;min-height:600px}.hero-visual{height:535px}.hero-actions{gap:12px}.hero-actions .text-link{font-size:.8rem}.opening-card{right:-10px;width:155px;padding:15px;top:24px}.opening-card>strong{font-size:2rem}.hero h1{font-size:4rem}.about{gap:50px}.section{padding-top:85px;padding-bottom:85px}.service-card{padding:28px 23px}.vision{gap:45px}.contact-grid{gap:45px}.footer-top{gap:20px}.footer-top .brand{font-size:1.3rem}}@media(max-width:850px){.nav-wrap{height:83px;gap:20px}.header nav{display:none;position:absolute;top:83px;left:0;right:0;margin:0;background:#fff;padding:15px 30px 25px;box-shadow:0 18px 20px #142b4010}.header nav.open{display:flex;flex-direction:column;gap:0}.header nav a{padding:14px 0}.nav-cta{margin-left:auto}.menu-toggle{display:flex;border:0;background:none;flex-direction:column;gap:7px;justify-content:center;width:44px;height:44px;padding:9px}.menu-toggle span{height:1px;background:var(--ink);width:26px;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero h1{font-size:3.2rem}.hero-visual{height:495px;border-top-left-radius:110px}.hero-visual>img{border-top-left-radius:110px}.hero .eyebrow{font-size:.6rem}.hero-description{font-size:.92rem}.hero-note{align-items:flex-start;font-size:.7rem}.opening-card{top:20px;width:138px}.opening-card>strong span{font-size:.7rem}.portrait-caption{padding:40px 18px 20px}.portrait-caption strong{font-size:.85rem}.portrait-caption span:not(.caption-line){font-size:.65rem}.values-strip{font-size:.72rem}.about{gap:35px}.about-image img{height:490px}.section-head{gap:40px}.section-head>p,.section-head>div+div{max-width:300px}.service-grid{grid-template-columns:repeat(2,1fr)}.vision{grid-template-columns:1fr;gap:30px}.vision img{height:340px}.vision p:not(.eyebrow){max-width:620px}.practice-gallery img{height:350px}.news-layout{gap:40px}.contact-grid{gap:30px}.contact dl>div{grid-template-columns:1fr;gap:4px}.faq{gap:35px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>img{justify-self:start}}
@media(max-width:600px){html{scroll-padding-top:83px}.wrap{width:calc(100% - 40px)}.announcement{font-size:.66rem;padding:9px 14px}.announcement>span{display:none}.announcement a{border:0;padding:0}.nav-wrap{width:calc(100% - 32px);height:78px;gap:10px}.brand{font-size:1.25rem;gap:7px}.brand-symbol{font-size:2.8rem}.brand-sub{font-size:.48rem;letter-spacing:.13em}.nav-cta{font-size:.7rem;padding:10px 12px;gap:8px}.nav-cta span{font-size:.85rem}.menu-toggle{width:36px;padding:5px}.header nav{top:78px}.hero{grid-template-columns:1fr;padding-top:34px;padding-bottom:32px;gap:30px}.hero-copy{padding:0}.hero .eyebrow{font-size:.66rem;margin-bottom:22px}.hero h1{font-size:clamp(2.85rem,10.5vw,4rem);margin-bottom:20px;line-height:1.1}.hero-description{font-size:1rem;line-height:1.75}.desktop-break{display:none}.hero-actions{gap:16px;align-items:flex-start;flex-direction:column}.hero-actions .button{width:100%;padding:16px 20px;justify-content:space-between}.hero-actions .text-link{font-size:.85rem}.hero-note{margin-top:23px;font-size:.71rem;align-items:center}.hero-visual{height:470px;margin:0 8px 0 0;border-radius:110px 3px 3px 3px}.hero-visual>img{border-radius:110px 3px 3px 3px;object-position:50% 40%}.opening-card{width:146px;right:-10px;top:23px}.opening-card>strong{font-size:2.2rem}.portrait-caption strong{font-size:1rem}.portrait-caption span:not(.caption-line){font-size:.75rem}.portrait-caption{padding-left:24px}.values-strip{grid-template-columns:repeat(2,1fr);row-gap:20px;padding:25px 0;font-size:.72rem}.values-strip span:nth-child(2){border:0}.section{padding-top:68px;padding-bottom:68px}h2{font-size:2.55rem}.eyebrow{font-size:.65rem;margin-bottom:18px}.about{grid-template-columns:1fr;gap:32px}.about-copy{grid-row:1}.about-image img{height:420px}.about-copy .lead{font-size:1.08rem}.section-head{display:block;margin-bottom:30px}.section-head>p,.section-head>div+div{margin-top:25px;max-width:none}.service-grid{grid-template-columns:1fr}.service-card{padding:27px 25px}.service-number{margin-bottom:16px}.service-card h3{font-size:1.7rem}.service-card h3 br{display:none}.service-card p{min-height:0;max-width:none}.service-card ul{margin-top:15px;font-size:.87rem}.vision img{height:240px}.practice-gallery{grid-template-columns:1fr;gap:20px}.practice-gallery img{height:350px}.practice-gallery figcaption{font-size:1rem}.renovation-images{gap:9px}.renovation-images img{width:calc((100% - 18px)/3);height:115px}.news-layout{grid-template-columns:1fr;gap:15px}.news-item h3{font-size:1.55rem}.contact .section-head .button{margin-top:25px;width:100%;justify-content:space-between}.contact-grid{grid-template-columns:1fr;gap:30px}.contact dl>div{grid-template-columns:75px 1fr;gap:15px}.contact dd{font-size:.85rem}.location-photo{height:330px;min-height:0}.contact-actions{display:block;margin-top:30px}.contact-actions p{margin-bottom:10px}.contact-actions a{display:block;width:fit-content;margin:10px 0}.faq{grid-template-columns:1fr;gap:10px}.faq summary{font-size:.95rem}.footer{padding-top:40px}.footer-top{gap:27px;align-items:start}.footer-top .brand{font-size:1.2rem}.footer-top p{font-size:1rem}.footer-top>img{width:140px;height:95px}.footer-bottom{flex-direction:column;gap:12px}.footer-bottom>div{gap:20px;font-size:.72rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Readable supporting text and an unobstructed portrait at every breakpoint. */
.opening-card{top:auto;bottom:112px;left:-24px;right:auto}.eyebrow,.hero .eyebrow,.opening-label,.image-label,.news-tag,.contact dt,.location-photo>span,.footer-bottom,.portrait-caption span:not(.caption-line),.signature span{font-size:.75rem}.service-card p,.service-card ul,.news-item p,.faq-list details p,.contact-info p{font-size:1rem}.hero-note,.service-note,.photo-note,.contact dd small,.contact-actions,.values-strip,.footer-top>div a{font-size:.875rem}.opening-card>span:last-child{font-size:.75rem}.contact dd{font-size:1rem}.footer-bottom>div{font-size:.75rem}.hero-note{align-items:flex-start}.note-icon{flex-shrink:0;margin-top:2px}
@media(max-width:600px){.opening-card{bottom:98px;left:-8px;right:auto;width:156px}.brand-sub{font-size:.55rem}.values-strip{font-size:.8rem}.announcement{font-size:.75rem}.hero-note{font-size:.8rem}.image-label{font-size:.65rem}.contact dl>div{grid-template-columns:1fr;gap:5px}.nav-cta{font-size:.75rem}}
@media(min-width:601px) and (max-width:750px){.hero{grid-template-columns:1fr;gap:30px;padding-top:35px}.hero h1{font-size:3.8rem}.hero-visual{height:550px;margin:0 15px 0 0}.hero-visual>img{object-position:center 40%}.hero-description{font-size:1rem}.hero-actions{gap:22px}.opening-card{left:-8px}.about,.news-layout,.faq{grid-template-columns:1fr}.about-copy{grid-row:1}.section-head{display:block}.section-head>p,.section-head>div+div{max-width:none;margin-top:25px}.contact-grid{grid-template-columns:1fr}.location-photo{height:380px}.practice-gallery img{height:290px}}
@media(max-width:370px){.nav-cta{display:none}.menu-toggle{margin-left:auto}.brand-sub{font-size:.65rem}.hero h1{font-size:2.7rem}.hero-visual{height:420px}.opening-card{width:143px;padding:12px}.footer-top{grid-template-columns:1fr}.announcement{font-size:.67rem}}
