/* Shared full-width inner-page mastheads. Text follows the site's content gutter. */
.page-mast.full-mast{width:100%;margin:0;padding:0;background:var(--navy);border-radius:0;color:white}
.full-mast .mast-grid{width:100%;grid-template-columns:1fr 1fr;min-height:460px;border-radius:0;overflow:hidden}
.full-mast .mast-copy{padding:32px 4.5vw 48px 5vw;align-self:center;min-width:0}
.full-mast .breadcrumb{margin:0 0 35px;color:#c1cdd4;font-size:11px;line-height:1.6;overflow-wrap:anywhere}
.full-mast .breadcrumb a{color:#ead0a5}
.full-mast .eyebrow{margin-bottom:19px}
.full-mast .mast-copy h1{font-size:clamp(36px,3.7vw,62px);max-width:850px;text-wrap:balance}
.full-mast .mast-copy .lede{margin-bottom:0}
.full-mast .page-share{margin-top:26px}
.full-mast .mast-image{min-height:460px;border-radius:0}
.full-mast .mast-image>span{left:32px;bottom:25px}
.full-mast .mast-image img{object-position:50% 50%}
.work-mast.full-mast .mast-image img{object-position:50% 40%}
.text-mast .mast-copy{padding:32px 0 48px}
.text-mast .share-button{color:#e8cda2;border-color:#c7ac7c70;background:#ffffff05}
.text-mast .share-button:hover,.text-mast .share-button:focus-visible{background:#e5c89a;color:var(--navy)}
.page-mast.full-mast+.practice-directory{padding-top:65px}
.work-mast.full-mast+.work-gallery{padding-top:65px}

/* Four clear contact groups and a quieter appointment panel. */
.contact-section{padding-top:70px;padding-bottom:85px}
.contact-section-heading{margin-bottom:36px}
.contact-section-heading .eyebrow{color:var(--gold-dark);margin-bottom:14px}
.contact-section-heading h2{font-size:clamp(32px,3vw,46px)}
.contact-section-heading>p:last-child{color:var(--muted);margin:0}
.contact-grid.contact-refined{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px;align-items:start}
.contact-refined .contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.contact-channel{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:28px;border:1px solid #ded7ca;border-radius:20px;background:linear-gradient(145deg,#fff,#faf8f3);box-shadow:0 8px 25px #102b3d05}
.channel-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:22px;border-radius:14px;background:#eee6d8;color:#806638}
.channel-icon .action-icon{width:26px;height:26px}
.contact-channel h3{font-size:23px;letter-spacing:-.025em;margin:0 0 12px}
.contact-channel p{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:20px}
.channel-primary{font-size:16px;font-weight:700;line-height:1.6;overflow-wrap:anywhere;max-width:100%}
.channel-link{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;min-height:42px;margin-top:5px}
.channel-link .action-icon{width:19px;height:19px;flex-basis:19px;color:var(--gold-dark)}
.channel-primary:hover,.channel-link:hover,.social-page:hover{color:var(--gold-dark);text-decoration:underline;text-underline-offset:5px}
.channel-detail{display:block;font-size:12px;color:var(--muted);margin-top:12px}
.social-page{text-decoration:underline;text-underline-offset:4px}
.contact-refined .contact-note{padding:38px;min-width:0;border:1px solid #344c58;border-radius:24px;background:linear-gradient(145deg,#18394b,#0a2333);color:#fff;box-shadow:0 18px 45px #102b3d13}
.contact-note-icon{display:block;margin-bottom:28px;color:#dfc191}
.contact-note-icon .action-icon{width:38px;height:38px}
.contact-refined .contact-note .eyebrow{color:#dfc191;font-size:10px}
.contact-refined .contact-note h2{font-size:clamp(30px,2.6vw,40px)}
.contact-refined .contact-note em{color:#dfc191}
.contact-refined .contact-note p:not(.eyebrow){color:#d0dce2;font-size:14px;line-height:1.85}
.appointment-note{padding:24px 0 10px;margin:26px 0 14px;border-top:1px solid #ffffff25}
.appointment-note strong{font-size:15px;color:#f1dfbd}
.appointment-note p{margin:8px 0}
.contact-refined .contact-note .button{max-width:100%;gap:18px;font-size:13px;margin-top:14px}

/* A layered, architectural footer: clear hierarchy without another CTA. */
.site-footer.footer-refined{position:relative;isolation:isolate;overflow:hidden;padding:0;background:radial-gradient(ellipse at 95% 10%,#29465788,transparent 58%),linear-gradient(120deg,#081d2a,#102d3e);border-top:1px solid #bba07175}
.footer-refined:before{content:'';position:absolute;z-index:-1;pointer-events:none;width:680px;height:680px;right:-190px;top:-380px;border:1px solid #cab08020;border-radius:50%;box-shadow:0 0 0 75px #cab08007,0 0 0 150px #cab08005}
.footer-content{position:relative}
.footer-opening{display:flex;justify-content:space-between;align-items:center;gap:50px;padding:54px 0 44px;border-bottom:1px solid #d7bc902e}
.footer-opening .eyebrow{color:#cdb38a;margin:0 0 16px}
.footer-opening h2{color:#fff;font-size:clamp(30px,3vw,46px);line-height:1.2;margin:0}
.footer-opening em{color:#d6bb8e}
.footer-location{display:flex;gap:20px;align-items:flex-start;padding-right:30px}
.footer-location-icon{color:#d6bb8e;margin-top:3px}
.footer-location-icon .action-icon{width:30px;height:30px}
.footer-location strong{font-size:17px;line-height:1.6;color:#eee5d5}
.footer-location p{font-size:12px;line-height:1.7;color:#afc0cb;margin:10px 0 0}
.footer-refined .footer-grid{grid-template-columns:1.1fr 1fr 1.15fr 1.2fr;gap:40px;padding:46px 0 38px}
.footer-refined .footer-brand{width:130px;height:auto;margin:0 0 22px}
.footer-refined .footer-identity p{font-size:13px;line-height:1.9;color:#b8c8d1}
.footer-refined .footer-grid h4{color:#e0c69b;font-size:12px;letter-spacing:.08em;margin:0 0 20px}
.footer-refined .footer-grid ul{margin:0;list-style:none;padding:0}
.footer-refined .footer-grid li{margin-bottom:7px}
.footer-refined .footer-grid a{font-size:13px;color:#e1e8eb}
.footer-refined .footer-grid a:hover{color:#efd5a9}
.footer-refined .footer-reach{padding:22px 24px;background:#ffffff05;border:1px solid #b79d7138;border-radius:18px;margin-top:-22px}
.footer-refined .footer-reach>a{display:flex;align-items:flex-start;gap:12px;margin:0 0 15px;line-height:1.7;overflow-wrap:anywhere}
.footer-reach>a .action-icon{color:#c9ad7d;width:18px;height:18px;flex-basis:18px;margin-top:3px}
.footer-reach>a>span{min-width:0}
.footer-refined .footer-reach .footer-address{margin:20px 0 0;padding-top:18px;border-top:1px solid #ffffff18;color:#b8c8d1;font-size:12px}
.footer-refined .footer-bottom{margin:0;padding:22px 0 28px;border-color:#d7bc902e;color:#a8bdc8}
.footer-refined .footer-bottom>div{display:flex;align-items:center;gap:20px;padding-right:70px}
.footer-refined .footer-bottom a,.footer-refined .footer-bottom button{margin:0}
.footer-refined .footer-bottom .action-icon{width:16px;height:16px;margin-left:5px}
@media(max-width:1100px){
 .contact-grid.contact-refined{grid-template-columns:1fr}
 .contact-refined .contact-note{max-width:none}
 .footer-refined .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px}
 .footer-refined .footer-reach{margin:0}
}
@media(max-width:760px){
 .full-mast .mast-grid{grid-template-columns:1fr;min-height:0}
 .full-mast .mast-copy{padding:25px 20px 35px}
 .full-mast .breadcrumb{margin-bottom:28px;font-size:10px}
 .full-mast .mast-copy h1{font-size:36px;line-height:1.17}
 .full-mast .mast-copy .lede{font-size:15px}
 .full-mast .mast-image{height:280px;min-height:0}
 .full-mast .mast-image>span{left:20px;bottom:18px;font-size:9px}
 .full-mast .share-buttons{margin-inline:0;gap:10px}
 .text-mast .mast-copy{padding:25px 0 35px}
 .page-mast.full-mast+.practice-directory,.work-mast.full-mast+.work-gallery{padding-top:40px}
 .footer-opening{gap:30px;align-items:flex-start;flex-direction:column;padding:40px 0 32px}
 .footer-opening h2{font-size:32px}
 .footer-location{padding:0;gap:14px}
 .footer-location strong{font-size:15px}
 .footer-location p{margin-top:7px}
 .footer-refined .footer-grid{gap:34px 22px;padding:35px 0}
 .footer-refined .footer-grid>div:first-child{display:block;grid-column:auto}
 .footer-refined .footer-brand{width:115px}
 .footer-refined .footer-grid a{font-size:12px}
 .footer-refined .footer-reach{padding:0;border:0;background:none;border-radius:0}
 .footer-refined .footer-bottom{display:block;padding-bottom:85px;font-size:10px}
 .footer-refined .footer-bottom>div{padding:0;gap:17px;margin-top:15px;flex-wrap:wrap}
}
@media(max-width:600px){
 .contact-section{padding:42px 0 55px}
 .contact-section-heading{margin-bottom:26px}
 .contact-section-heading h2{font-size:33px}
 .contact-refined .contact-details{grid-template-columns:1fr;gap:16px}
 .contact-channel{padding:25px}
 .channel-icon{margin-bottom:18px}
 .contact-refined .contact-note{padding:28px 25px}
 .contact-grid.contact-refined{gap:24px}
 .footer-refined .footer-grid{grid-template-columns:1fr 1fr}
 .footer-refined .footer-grid>div:first-child{grid-column:1/-1;display:flex;gap:26px;align-items:center}
 .footer-refined .footer-brand{margin:0}
 .footer-refined .footer-identity p{margin:0;font-size:12px}
 .footer-refined .footer-reach{grid-column:1/-1;padding:24px;border:1px solid #b79d7138;background:#ffffff05;border-radius:18px}
}
@media(max-width:360px){.full-mast .mast-copy h1{font-size:32px}.full-mast .mast-image{height:230px}.full-mast .share-buttons{gap:8px}.channel-primary{font-size:15px}}
