/* Readability, keyboard use and small-screen corrections from the user-flow review. */
.mobile-menu{display:none}
.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}
.button,.nav-cta,.main-nav{font-size:14px}
.main-nav>a{min-height:44px;display:inline-flex;align-items:center}
a[aria-current="page"]{font-weight:600;text-decoration:underline;text-underline-offset:6px}
.eyebrow,.hero .eyebrow,.footer-top .eyebrow,.contact-strip .eyebrow,.person .eyebrow{font-size:11px}
.text-link,.hero-link,.specialist-link .text-link,.about-copy .text-link{font-size:14px;min-height:44px;align-items:center}
.hero-link{display:flex}
.hero-lead{font-size:16px}
.hero .button,.philosophy .button,.detail-aside .button,.contact-strip .button{font-size:14px}
.hero-note{font-size:12px}
.hero-label{font-size:12px}
.hero-label strong{font-size:16px}
.photo-caption{font-size:11px}
.trust-line>.wrap{font-size:12px}
.section-intro>p,.service-row p,.specialist-link p,.philosophy-title>p:not(.eyebrow),
.principles p,.about-copy .prose,.location p,.location a,.footer-top p:not(.eyebrow),
.footer-top a:not(.brand),.person p:not(.eyebrow),.person a,.contact-note p,
.contact-details>p:not(.eyebrow),.admin-title p,.admin-status p,.admin-section>p,
.admin-two-columns p{font-size:14px;line-height:1.8}
.location a,.footer-top a:not(.brand),.footer-bottom a,.person a{min-height:44px;display:flex;align-items:center;max-width:100%;overflow-wrap:anywhere}
.location a{margin-top:0}
.location,.person,.hero-copy,.hero-visual,.contact-details,.contact-form-panel,.detail-aside{min-width:0}
.footer-bottom{font-size:12px;flex-wrap:wrap;align-items:center}
.footer-bottom>div{flex-wrap:wrap}
.service-row{grid-template-columns:24px 140px minmax(0,1.1fr) minmax(0,1fr) 44px;gap:24px}
.service-row h3{overflow-wrap:anywhere;hyphens:auto}
.service-row p{max-width:none}
.service-image:empty{background:transparent}
.service-number{font-size:12px}
.round-arrow{min-width:40px;min-height:40px}
label,.checkbox,.admin-shortcuts,.admin-record>summary>span{font-size:14px}
.optional,.form-note{font-size:12px}
.form-intro{font-size:14px;margin:0;color:var(--muted)}
.field-error{display:block;color:#853c2a;font-size:13px;margin-top:7px;line-height:1.6}
[aria-invalid="true"]{border-color:#9c4934!important;border-width:2px!important}
.error-summary h2{font:24px/1.3 var(--serif);letter-spacing:-.02em;margin-bottom:10px}
.error-summary,.notice[data-error-summary]{scroll-margin-top:24px}
.error-summary p:last-child{margin-bottom:0}
.error-summary ul{padding-left:20px;margin-bottom:0}
.error-summary li a{display:block;padding-block:7px;text-decoration:underline}
.notice{font-size:14px}
.breadcrumb{font-size:14px;min-height:44px;display:flex;align-items:center}
.text-button{font-size:14px;min-height:44px;padding:8px 12px}
.notice:focus{outline:3px solid #b46b25;outline-offset:4px}
.prose h2{font-size:32px;margin-top:38px;line-height:1.25}
.prose h3{font-size:23px;margin-top:25px}
.prose li{padding-left:5px;margin-block:9px}
.contact-phone{overflow-wrap:anywhere}
.launch-checklist{padding-left:18px;font-size:14px;line-height:1.8;margin-block:18px}
.launch-checklist li{margin-bottom:10px}
.button:disabled{opacity:.5;cursor:not-allowed;transform:none}
.admin-form>.full{grid-column:1/-1}
.admin-record{scroll-margin-top:25px}
.admin-record>summary{min-height:58px;align-items:center}
.admin-shortcuts a{display:flex;align-items:center;min-height:44px}
.inline-success{font-size:14px;color:#21583d;margin:0}
.preview-banner{padding:12px 20px;text-align:center;font-size:14px;line-height:1.7;background:#e9eee5;border-bottom:1px solid #bdcbc1;color:#123d43}
@media(max-width:1000px){
  .service-row{grid-template-columns:24px 110px minmax(0,1fr) 44px;gap:18px}
  .service-number{grid-column:1;grid-row:1/3}
  .service-image{grid-column:2;grid-row:1/3;height:110px}
  .service-row h3{grid-column:3;grid-row:1;margin:0;font-size:28px}
  .service-row p{grid-column:3;grid-row:2;margin:0}
  .service-row .round-arrow{grid-column:4;grid-row:1/3}
}
@media(max-width:850px){
  .site-header{height:84px;min-height:84px}
  .header-inner{height:100%;min-height:0;flex-wrap:nowrap}
  .site-header .desktop-nav{display:none}
  .site-header .mobile-menu{display:block}
  .menu-toggle{display:flex;min-height:44px;align-items:center;font-size:14px;cursor:pointer;list-style:none}
  .menu-toggle::-webkit-details-marker{display:none}
  .mobile-menu .main-nav{display:none;position:absolute;top:83px;left:0;right:0;padding:20px 24px;border-bottom:1px solid var(--line);box-shadow:0 18px 20px #123d4310;flex-direction:column;align-items:stretch;gap:8px}
  .mobile-menu[open] .main-nav{display:flex}
  .hero{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;padding-block:40px}
  .hero h1{font-size:clamp(48px,7vw,66px)}
  .hero-lead{max-width:570px}
  .hero .eyebrow{font-size:11px}
  .hero-photo{height:auto;aspect-ratio:1.65}
  .hero-label{bottom:55px;left:0;padding:16px 22px}
  .hero-note{font-size:12px}
  .location p,.location a,.person p:not(.eyebrow),.person a{font-size:14px}
  .contact-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
}
@media(max-width:600px){
  .site-header,.header-inner{min-height:78px}
  .site-header{height:78px}
  .mobile-menu .main-nav{top:77px}
  .brand-words{display:none}
  .hero{gap:32px;padding-top:32px}
  .hero h1{font-size:clamp(44px,12vw,56px)}
  .hero .eyebrow{font-size:11px}
  .hero-lead{font-size:16px}
  .hero .button{font-size:14px}
  .hero-note{font-size:12px;gap:14px}
  .hero-label{font-size:12px;bottom:48px;padding:13px 16px}
  .hero-label strong{font-size:15px}
  .photo-caption{font-size:11px;flex-wrap:wrap}
  .trust-line>.wrap{font-size:12px;gap:20px}
  .section-intro>p,.about-copy .prose,.specialist-link p{font-size:15px}
  .service-row{grid-template-columns:24px minmax(0,1fr) 44px;gap:12px;padding-block:26px}
  .service-image{display:none}
  .service-row h3{grid-column:2;grid-row:1;font-size:clamp(23px,5.8vw,28px);line-height:1.25}
  .service-row p{grid-column:2;grid-row:2;font-size:14px;line-height:1.8}
  .service-row .round-arrow{grid-column:3;grid-row:1/3}
  .service-number{font-size:12px}
  .location-grid{grid-template-columns:minmax(0,1fr);gap:26px}
  .location h3{font-size:26px;margin-bottom:12px}
  .location p{min-height:0;margin-bottom:12px}
  .location a{font-size:15px}
  .footer-top{grid-template-columns:minmax(0,1fr);gap:25px}
  .footer-top>div:first-child{grid-column:auto}
  .footer-top>div:first-child p{font-size:13px}
  .footer-top .eyebrow{font-size:11px}
  .footer-top a:not(.brand),.footer-top p:not(.eyebrow){font-size:14px}
  .footer-top .footer-contact{font-size:26px!important}
  .footer-bottom{font-size:12px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-block:16px}
  .footer-bottom>div{gap:20px}
  .person h2{font-size:21px;overflow-wrap:anywhere}
  .person a{font-size:14px;line-height:1.7}
  .person .eyebrow{font-size:11px}
  .team-grid{gap:35px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-layout{display:flex}
  .admin-title h1{font-size:36px}
  .admin-actions{flex-wrap:wrap}
  .admin-record>summary{gap:12px;flex-wrap:wrap;font-size:15px}
  .admin-record>summary>span{font-size:13px}
  .admin-shortcuts{gap:0 20px;font-size:14px}
}
