/* Photographs belong below each practice description on both directories. */
.language-switch { display:flex; align-items:center; gap:0; flex-shrink:0; color:#65747b; }
.language-switch button { display:grid; place-items:center; min-width:35px; min-height:44px; padding:8px 4px; border:0; border-radius:5px; background:transparent; color:var(--ink); font-size:13px; font-weight:500; }
.language-switch button[aria-pressed="true"] { color:#846129; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.language-switch button:hover { background:#f4eee2; }
.language-switch>span { font-size:13px; padding:0 1px; }
@media(min-width:1181px) and (max-width:1450px) {
 .expanded-site .glass-header .nav-inner { gap:12px; }
 .expanded-site .glass-header .desktop-nav { gap:0; font-size:13px; }
 .glass-header .desktop-nav>a,.glass-header .services-dropdown>summary { padding-inline:9px; }
 .expanded-site .glass-header .nav-consultation { padding-inline:14px; font-size:13px; }
 .expanded-site .glass-header .brand-name { font-size:13px; }
 .nav-actions { gap:8px; }
}
@media(max-width:760px) {
 .nav-actions { gap:6px; }
 .language-switch button { min-width:32px; min-height:44px; font-size:13px; }
 .language-switch>span { padding:0; }
}
@media(max-width:450px) {
 .expanded-site .glass-header .brand-name { font-size:11px; max-width:115px; }
 .expanded-site .glass-header .brand-name small { font-size:8px; }
 .expanded-site .glass-header .nav-inner { gap:5px; }
 .nav-actions { gap:5px; }
}
@media(max-width:379px) {
 .expanded-site .glass-header .brand-name { display:none; }
 .expanded-site .glass-header .brand { flex:1; }
}
.illustrated-practices { align-items:stretch; gap:26px; }
.illustrated-practices .practice-card { padding:0; overflow:hidden; border-radius:12px; background:#fff; min-width:0; }
.practice-card-copy { padding:28px 28px 24px; flex:1; }
.practice-card-copy .practice-number { display:block; margin-bottom:18px; }
.practice-card-copy h3 { font-size:30px; line-height:1.17; margin-bottom:14px; }
.practice-card-copy p { color:var(--muted); font-size:16px; line-height:1.7; }
.practice-image { width:100%; height:auto; aspect-ratio:16 / 10; object-fit:cover; }
.illustrated-practices .practice-more { margin:0; padding:18px 28px; min-height:60px; border-top:0; font-size:15px; font-weight:500; align-items:center; }
.illustrated-practices .practice-card:hover .practice-more { background:#f5f0e5; color:#72552b; }
.rating-count br { display:block; }

/* A single mobile rhythm across home, service, team and contact pages. */
@media (max-width:760px) {
 html { scroll-padding-top:92px; }
 .shell { width:calc(100% - 40px); }
 .section,.contact-section { padding-block:52px; }
 .section-heading { display:block; margin-bottom:28px; }
 .section-heading>p { max-width:none; font-size:16px; line-height:1.7; margin-top:18px; }
 .section-heading>.text-link { margin-top:18px; }
 .section h2,.about-copy h2,.mission-grid h2 { font-size:clamp(32px,8.4vw,42px); line-height:1.13; letter-spacing:-.035em; }
 .eyebrow,.muted-eyebrow { font-size:12px; line-height:1.6; letter-spacing:.08em; }
 .muted-eyebrow { margin-bottom:14px; }
 .button { min-height:52px; padding:15px 20px; border-radius:7px; justify-content:center; text-align:center; font-size:16px; line-height:1.4; gap:12px; }
 .button:hover { transform:none; }
 .text-link { font-size:16px; line-height:1.5; min-height:44px; align-items:center; }
 .topbar-inner { font-size:12px; padding-block:5px; min-height:30px; justify-content:center; }
 .topbar-phones { display:none; }
 .glass-header { width:100%; margin:0; top:0; border-radius:0; border-width:0 0 1px; box-shadow:0 4px 16px #0a212d0a; background:rgba(255,255,255,.96); }
 .glass-header .shell { width:calc(100% - 28px); }
 .expanded-site .glass-header .nav-inner { min-height:76px; gap:8px; }
 .expanded-site .glass-header .brand { flex:1; min-width:0; gap:8px; }
 .glass-header .header-logo { flex:0 0 44px; width:44px; height:44px; }
 .expanded-site .glass-header .brand-name { font-size:12px; letter-spacing:0; line-height:1.35; max-width:190px; }
 .expanded-site .glass-header .brand-name small { font-size:9px; letter-spacing:.12em; margin-bottom:4px; }
 .nav-actions { margin-left:0; }
 .expanded-site .glass-header .nav-consultation { display:none; }
 .payment-access { width:44px; height:44px; }
 .expanded-site .glass-header .menu-toggle { width:44px; height:44px; padding:10px; margin:0; flex-shrink:0; border-radius:7px; }
 .menu-toggle span { width:23px; }
 .menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(3.5px) rotate(45deg); }
 .menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
 .glass-header .mobile-nav { padding:8px 20px 24px; border-radius:0; max-height:calc(100dvh - 90px); }
 .glass-header .mobile-nav>a,.glass-header .mobile-services>summary { min-height:48px; padding:12px 0; font-size:17px; }
 .glass-header .mobile-services>a { font-size:15px; padding:12px 10px 12px 16px; min-height:46px; }
 .glass-header .mobile-services .menu-service-label { font-size:12px; padding-left:16px; }
 .glass-header .mobile-office-phones { display:grid; grid-template-columns:1fr; gap:10px; margin-top:18px; }
 .glass-header .mobile-office-phones a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; border:1px solid #d8e0e3; border-radius:7px; padding:12px; font-size:16px; }
 .glass-header .mobile-office-phones span { font-size:14px; }
 .mobile-social a { width:44px; height:44px; }

 /* Keep the whole team visible, followed by one calm, aligned reading column. */
 .overlay-hero .full-team-shade { inset:0 0 auto; height:calc(100vw * 1069 / 1920); background:linear-gradient(180deg,transparent 58%,rgba(10,33,45,.2) 76%,var(--navy-deep) 100%); }
 .overlay-hero .full-team-copy { position:relative; bottom:auto; left:auto; right:auto; display:block; margin-top:-12px; padding:0 0 26px; }
 .overlay-hero .full-team-copy .eyebrow { font-size:12px; letter-spacing:.07em; margin-bottom:13px; max-width:30em; }
 .overlay-hero .full-team-copy h1 { font-size:clamp(32px,8.6vw,52px); line-height:1.09; letter-spacing:-.045em; }
 .overlay-hero .hero-side { margin:20px 0 0; padding:0; max-width:none; }
 .overlay-hero .hero-side p { font-size:16px; line-height:1.65; max-width:36em; margin-bottom:21px; }
 .overlay-hero .hero-side .button { width:100%; min-width:0; min-height:54px; padding:16px 18px; font-size:16px; }
 .overlay-hero .hero-facts { display:grid; grid-template-columns:1fr; gap:0; padding:8px 0 20px; font-size:14px; line-height:1.5; border-top:1px solid #34505e; }
 .overlay-hero .hero-facts>span { display:block; padding:7px 0; text-align:left; }
 .overlay-hero .hero-facts>a { width:100%; margin:9px 0 0; padding:12px 16px; min-height:48px; border:1px solid #506570; border-radius:7px; text-decoration:none; text-align:center; font-size:15px; }

 .practice-grid { grid-template-columns:1fr; }
 .illustrated-practices { gap:22px; }
 .illustrated-practices .practice-card { padding:0; min-height:0; }
 .practice-card-copy { padding:23px 23px 22px; }
 .practice-card-copy .practice-number { margin-bottom:13px; font-size:16px; }
 .practice-card-copy h3 { font-size:30px; margin-bottom:12px; }
 .practice-card-copy p { font-size:16px; line-height:1.7; }
 .practice-image { aspect-ratio:16 / 10; }
 .illustrated-practices .practice-more { justify-content:center; padding:16px 20px; min-height:56px; font-size:16px; }
 .about-grid,.contact-grid,.founder-grid,.mission-grid { grid-template-columns:1fr; gap:28px; }
 .about-photo { max-width:100%; }
 .home-about .photo-label { position:static; margin:0; padding:18px 21px; }
 .photo-label>span { font-size:19px; }
 .photo-label small { font-size:12px; }
 .about-copy>p:not(.eyebrow):not(.about-intro),.founder-copy>p:not(.eyebrow) { font-size:16px; line-height:1.75; }
 .about-copy>.about-intro { font-size:18px; }
 .staff-grid { grid-template-columns:1fr 1fr; gap:20px; }
 .staff-info { padding:20px; }
 .staff-info h3 { font-size:26px; }
 .staff-info p { font-size:14px; }
 .mission-grid>article+article { padding:28px 0 0; border-left:0; border-top:1px solid var(--line); }

 .google-reviews-layout { grid-template-columns:1fr; gap:20px; }
 .google-rating { padding:22px; gap:0 18px; border-radius:10px; }
 .rating-count { line-height:1.6; }
 .google-rating-label { font-size:15px; }
 .google-rating-label strong { font-size:19px; }
 .rating-score { font-size:56px; }
 .google-review-card { border-radius:10px; padding:24px; min-height:350px; }
 .google-review-card blockquote { font-size:24px; line-height:1.5; }
 .review-original { min-height:44px; display:flex; align-items:center; font-size:15px; }
 .review-card-top { gap:11px; }
 .review-card-top>div { min-width:0; }
 .review-card-top h3 { font-size:16px; }
 .review-controls { display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; margin-top:14px; }
 .review-step { min-height:48px; font-size:15px; }
 .review-dots { grid-column:1 / -1; grid-row:2; order:initial; width:100%; justify-content:center; gap:2px; }
 .review-dot { width:40px; height:44px; }
 .review-disclaimer { font-size:13px; line-height:1.65; }

 .contact-copy { padding:0; }
 .contact-copy .eyebrow { font-size:12px; margin-bottom:16px; }
 .contact-copy h2 { font-size:42px; line-height:1.1; margin-bottom:20px; }
 .contact-office-phones { display:grid; grid-template-columns:1fr; gap:12px; margin:25px 0 18px; }
 .contact-office-phones a { display:block; width:100%; border:1px solid #47616f; border-radius:8px; padding:16px 18px; font-size:26px; line-height:1.35; }
 .contact-office-phones span { font-size:13px; margin-bottom:7px; }
 .contact-email { max-width:100%; font-size:16px; overflow-wrap:anywhere; min-height:44px; display:inline-flex; align-items:center; margin:0; }
 .contact-hours { margin-top:24px; padding-top:20px; max-width:none; }
 .contact-hours>span { font-size:12px; }
 .contact-hours p { font-size:16px; }
 .contact-panel { min-width:0; padding:26px 22px; border-radius:10px; }
 .contact-panel>h3 { font-size:29px; }
 .contact-panel>p { font-size:16px; line-height:1.65; }
 .form-row { grid-template-columns:1fr; gap:0; }
 .field label { font-size:15px; }
 .field label small { font-size:13px; }
 .field input,.field textarea,.field select { min-height:52px; font-size:16px; border-radius:5px; padding:12px; }
 .field textarea { min-height:120px; }
 .form-note,.form-email-note { font-size:13px; line-height:1.65; }
 .form-submit { justify-content:center; }
 .office-maps { grid-template-columns:1fr; gap:24px; }
 .office-map-card { border-radius:10px; overflow:hidden; }
 .office-map-card iframe { height:230px; }
 .office-details { padding:24px; }
 .office-details h3 { font-size:29px; line-height:1.2; }
 .office-details address { font-size:16px; margin-bottom:16px; }
 .office-local-phone { min-height:44px; font-size:24px; margin-bottom:16px; }
 .button-map { display:flex; width:100%; min-width:0; }

 /* Each office gets the full available width, including its phone and map. */
 .footer-refresh { padding:0 0 30px; }
 .footer-invitation { display:block; padding:36px 0; }
 .footer-invitation .eyebrow { font-size:12px; margin-bottom:12px; }
 .footer-invitation h2 { font-family:var(--serif); font-size:36px; line-height:1.15; letter-spacing:-.025em; }
 .footer-invitation .button { display:flex; width:100%; min-height:54px; margin-top:22px; white-space:normal; }
 .footer-grid { grid-template-columns:1fr; gap:22px; padding:30px 0; }
 .footer-identity { grid-column:auto; padding-bottom:5px; }
 .footer-original-brand { display:flex; flex-direction:row; align-items:center; gap:14px; }
 .footer-original-brand img { width:64px; height:64px; flex-shrink:0; }
 .footer-original-brand .brand-name { font-size:14px; letter-spacing:0; }
 .footer-original-brand .brand-name small { font-size:10px; letter-spacing:.12em; }
 .footer-identity>p { font-size:16px; margin-top:18px; }
 .footer-social-icons { margin-top:17px; gap:12px; }
 .footer-social-icons a { width:46px; height:46px; }
 .footer-office { padding:23px; border:1px solid #38525f; border-radius:10px; background:#102936; }
 .footer-label { font-size:12px; margin-bottom:13px; }
 .footer-office h3 { font-size:21px; line-height:1.4; margin-bottom:8px; }
 .footer-phone { display:flex; align-items:center; min-height:44px; font-size:24px; margin:0 0 12px; white-space:normal; }
 .footer-office address { font-size:16px; line-height:1.7; color:#c8d6dd; }
 .footer-map-link { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; padding:12px; border:1px solid #72828a; border-radius:6px; font-size:15px; margin-top:21px; color:#f0e0bd; }
 .footer-nav { grid-column:auto; display:grid; grid-template-columns:1fr 1fr; gap:4px 20px; padding-top:8px; }
 .footer-nav .footer-label { grid-column:1 / -1; margin-bottom:7px; }
 .footer-nav>a { min-height:44px; margin:0; display:flex; align-items:center; font-size:16px; width:100%; }
 .footer-contact-line { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:18px 0; }
 .footer-contact-line>a { display:flex; align-items:center; min-height:44px; font-size:15px; max-width:100%; overflow-wrap:anywhere; }
 .footer-contact-line>a:first-child { font-size:16px; }
 .footer-refresh .footer-bottom { padding-top:22px; font-size:13px; line-height:1.7; }
 .footer-refresh .legal-note { font-size:13px; line-height:1.75; color:#b3c5ce; }

 .page-intro { padding:22px 0 36px; }
 .breadcrumbs { margin-bottom:24px; font-size:14px; }
 .page-intro .eyebrow { font-size:12px; letter-spacing:.07em; }
 .page-intro h1 { font-size:clamp(34px,8.6vw,48px); line-height:1.12; }
 .page-intro-text { font-size:16px; line-height:1.75; margin-top:20px; }
 .practice-layout { grid-template-columns:1fr; gap:38px; }
 .practice-content { grid-row:1; }
 .practice-sidebar { grid-row:2; position:static; }
 .practice-sidebar nav { display:block; }
 .practice-content>h2 { font-size:34px; }
 .practice-lead { font-size:16px; line-height:1.75; }
 .prepare-panel { padding:24px; border-radius:8px; }
 .faq-item>p { padding-right:0; }
 .founder-copy>h2 { font-size:44px; }

 .office-popup { width:calc(100vw - 28px); max-height:calc(100dvh - 28px); padding:26px 20px 20px; border-radius:16px; }
 .office-popup .welcome-close,.payment-close { width:44px; height:44px; top:4px; right:4px; }
 .welcome-brand { justify-content:flex-start; gap:10px; padding-right:24px; margin-bottom:20px; }
 .welcome-brand img { width:48px; height:48px; flex-shrink:0; }
 .welcome-brand .brand-name { font-size:12px; line-height:1.4; }
 .welcome-brand .brand-name small { font-size:9px; letter-spacing:.1em; }
 .office-popup h2 { font-size:29px; }
 .office-popup>p#welcome-description { font-size:16px; line-height:1.55; margin:12px 0 20px; }
 .welcome-offices { grid-template-columns:1fr; gap:12px; }
 .welcome-office { display:grid; grid-template-columns:60px minmax(0,1fr); gap:3px 14px; padding:16px; text-align:left; align-items:center; border-radius:10px; }
 .welcome-office .state-map { grid-row:1 / 4; width:60px; height:64px; margin:0; }
 .welcome-state { grid-column:2; font-size:20px; }
 .welcome-city { grid-column:2; min-height:0; display:block; margin:0; font-size:13px; line-height:1.5; }
 .welcome-office strong { grid-column:2; font-size:20px; margin-top:3px; }
 .welcome-call { grid-column:1 / -1; min-height:44px; display:flex; align-items:center; justify-content:center; margin-top:10px; padding:10px; font-size:15px; }
 .office-popup .welcome-cta { display:flex; justify-content:center; min-height:48px; font-size:14px; margin-top:12px; padding:12px 0; }
 .payment-dialog { padding:30px 22px 24px; }
 .payment-office-phones a { display:block; font-size:21px; line-height:1.4; padding:15px; }
 .payment-office-phones span { display:block; margin-bottom:4px; font-size:14px; }
 .payment-email { min-height:44px; padding:10px 0; font-size:15px; }
}
@media (max-width:480px) {
 .staff-grid { grid-template-columns:1fr; }
 .staff-info { padding:22px; }
 .staff-info h3 { font-size:29px; }
}
@media (max-width:359px) {
 .shell { width:calc(100% - 32px); }
 .glass-header .shell { width:calc(100% - 20px); }
 .expanded-site .glass-header .nav-inner { gap:4px; }
 .glass-header .header-logo { width:38px; height:38px; flex-basis:38px; }
 .expanded-site .glass-header .brand-name { font-size:11px; }
 .expanded-site .glass-header .brand-name small { font-size:8px; }
 .contact-panel,.office-details,.practice-card-copy,.footer-office { padding:20px; }
 .overlay-hero .full-team-copy h1 { font-size:31px; }
 .welcome-office { padding:13px; gap:3px 10px; grid-template-columns:48px minmax(0,1fr); }
 .welcome-office .state-map { width:48px; height:55px; }
 .welcome-office strong { font-size:18px; }
}

/* Compact, two-column practice cards on phones. */
@media (max-width:760px) {
 .practice-grid.illustrated-practices { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .illustrated-practices .practice-card { background:#eaf3f8; border:1px solid #ccdde7; border-radius:10px; }
 .illustrated-practices .practice-card-copy { padding:16px 13px; }
 .illustrated-practices .practice-number { font-size:13px; margin-bottom:10px; }
 .illustrated-practices h3 { font-size:clamp(20px,4.8vw,27px); line-height:1.15; margin-bottom:10px; overflow-wrap:normal; }
 .illustrated-practices .practice-card-copy p { font-size:13px; line-height:1.5; }
 .illustrated-practices .practice-image { aspect-ratio:4 / 3; }
 .illustrated-practices .practice-more { min-height:48px; padding:12px 9px; font-size:12px; line-height:1.4; background:#deecf5; text-align:center; }
}

/* A clear introduction to the firm, before the founder photograph. */
.firm-section-heading { padding-bottom:40px; margin-bottom:40px; border-bottom:1px solid #cbd5d5; }
.home-about { border-top:5px solid #c4ad78; }
.firm-section-heading h2 { max-width:700px; }
.service-visual-hero { background:#102b39; color:#fff; padding:28px 0 64px; }
.service-visual-hero .breadcrumbs { color:#c4d4dd; margin-bottom:30px; flex-wrap:wrap; }
.service-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; }
.service-hero-copy .eyebrow { color:#d9bf85; margin-bottom:20px; }
.service-hero-copy h1 { font:400 clamp(40px,4.3vw,66px)/1.07 var(--serif); letter-spacing:-.035em; margin-bottom:24px; }
.service-hero-copy>p:not(.eyebrow) { font-size:17px; line-height:1.8; color:#d4dfe4; margin-bottom:28px; }
.service-hero-note { display:block; font-size:13px; color:#bdcfd8; margin-top:18px; }
.service-hero-photo { position:relative; overflow:hidden; border-radius:14px; }
.service-hero-photo img { width:100%; height:480px; object-fit:cover; display:block; }
.service-photo-label { position:absolute; bottom:0; left:0; right:0; padding:45px 25px 22px; background:linear-gradient(transparent,#0b2536e6); font-size:10px; letter-spacing:.12em; line-height:1.9; }
.service-photo-label strong { font-size:15px; font-weight:400; }
.practice-content .detail-items { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:26px 0 40px; }
.practice-content .detail-item { background:#edf4f8; padding:24px; border:1px solid #d5e2e9; border-radius:10px; display:block; }
.practice-content .detail-item>span { display:block; margin-bottom:14px; }
.practice-content .detail-item h3 { font-size:23px; line-height:1.25; }
.practice-content .prepare-panel { border-radius:12px; border-left:4px solid #b69a61; }
@media(max-width:760px) {
 .firm-section-heading { padding-bottom:25px; margin-bottom:28px; }
 .firm-section-heading h2 { font-size:34px; }
 .service-visual-hero { padding:22px 0 32px; }
 .service-hero-grid { grid-template-columns:1fr; gap:28px; }
 .service-hero-copy h1 { font-size:42px; margin-bottom:20px; }
 .service-hero-copy>p:not(.eyebrow) { font-size:16px; line-height:1.7; }
 .service-hero-copy .button { width:100%; }
 .service-hero-note { text-align:center; }
 .service-hero-photo img { height:auto; aspect-ratio:3 / 2; }
 .practice-content .detail-items { grid-template-columns:1fr; gap:12px; }
 .practice-content .detail-item { padding:22px; }
}

/* Restrained footer with compact office information. */
.footer-refresh { padding:32px 0 22px; }
.footer-refresh .footer-grid { padding:0 0 22px; gap:28px; grid-template-columns:1.35fr 1fr 1fr .7fr; }
.footer-refresh .footer-original-brand { flex-direction:row; gap:12px; align-items:center; }
.footer-refresh .footer-original-brand img { width:54px; height:54px; }
.footer-refresh .footer-original-brand .brand-name { font-size:12px; letter-spacing:0; }
.footer-refresh .footer-original-brand .brand-name small { font-size:9px; }
.footer-refresh .footer-social-icons { margin-top:14px; gap:8px; }
.footer-refresh .footer-social-icons a { width:38px; height:38px; }
.footer-refresh .footer-office { padding:0; border:0; border-radius:0; background:none; }
.footer-refresh .footer-label { font-size:10px; margin-bottom:7px; }
.footer-refresh .footer-office h3 { font:400 16px/1.4 var(--serif); margin-bottom:3px; }
.footer-refresh .footer-phone { display:block; font-size:16px; margin:0 0 7px; min-height:0; line-height:1.6; }
.footer-refresh .footer-office address { font-size:12px; line-height:1.65; }
.footer-refresh .footer-map-link { display:inline-flex; width:auto; border:0; padding:6px 0; min-height:32px; margin-top:3px; font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.footer-refresh .footer-nav>a { font-size:13px; margin:0; min-height:30px; display:flex; align-items:center; }
.footer-refresh .footer-contact-line { padding:12px 0; gap:12px; }
.footer-refresh .footer-contact-line>a,.footer-refresh .footer-contact-line>a:first-child { font-size:12px; min-height:30px; }
.footer-refresh .footer-bottom { padding-top:14px; font-size:11px; }
.footer-refresh .legal-note { font-size:10px; line-height:1.6; margin-top:8px; max-width:none; color:#a7bbc6; }
@media(max-width:760px) {
 .footer-refresh { padding:26px 0 20px; }
 .footer-refresh .footer-grid { grid-template-columns:1fr 1fr; gap:22px 18px; padding-bottom:16px; }
 .footer-refresh .footer-identity { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 0 16px; border-bottom:1px solid #34505e; }
 .footer-refresh .footer-original-brand img { width:44px; height:44px; }
 .footer-refresh .footer-original-brand .brand-name { font-size:11px; max-width:140px; }
 .footer-refresh .footer-social-icons { margin:0; gap:3px; }
 .footer-refresh .footer-social-icons a { width:36px; height:40px; }
 .footer-refresh .footer-office h3 { font-size:16px; }
 .footer-refresh .footer-phone { font-size:15px; min-height:36px; display:flex; align-items:center; white-space:nowrap; margin-bottom:3px; }
 .footer-refresh .footer-office address { font-size:12px; }
 .footer-refresh .footer-map-link { min-height:40px; }
 .footer-refresh .footer-nav { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:0 18px; padding:10px 0 0; border-top:1px solid #34505e; }
 .footer-refresh .footer-nav .footer-label { display:none; }
 .footer-refresh .footer-nav>a { width:auto; min-height:36px; font-size:12px; }
 .footer-refresh .footer-contact-line { flex-direction:row; flex-wrap:wrap; justify-content:space-between; align-items:center; padding:8px 0; gap:0 12px; }
 .footer-refresh .footer-bottom { font-size:10px; padding-top:12px; }
}

/* A focused introduction with one main action. */
.concise-hero .full-team-copy h1 { font-size:clamp(38px,4.2vw,64px); line-height:1.08; }
.concise-hero .hero-facts { border:0; padding:0 0 24px; display:block; }
.concise-hero .hero-facts>a { display:inline-flex; margin:0; padding:8px 0; border:0; border-radius:0; width:auto; min-height:40px; font-size:14px; text-decoration:underline; text-underline-offset:5px; }
@media(max-width:760px) {
 .concise-hero .full-team-copy { padding-bottom:8px; }
 .concise-hero .full-team-copy h1 { font-size:clamp(31px,7.4vw,43px); line-height:1.12; }
 .concise-hero .hero-side { margin-top:18px; }
 .concise-hero .hero-side p { font-size:15px; line-height:1.6; margin-bottom:20px; }
 .concise-hero .hero-facts { padding:0 0 20px; }
 .concise-hero .hero-facts>a { justify-content:center; width:100%; font-size:14px; padding:6px 0; min-height:40px; }
}
