.responsive-home,.responsive-footer{display:none}
nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px;color:#075aa5}
.intro,.about-story,.pure-media article{overflow-wrap:anywhere}
.service-card,.experience-block,.pure-media article,.form-row>*{min-width:0}
.service-choice{min-height:48px;cursor:pointer}
.service-choice input{flex:0 0 20px;width:20px;height:20px;accent-color:#06264c}
.close{width:44px;height:44px;display:grid;place-items:center}
.calc input[type=range]{min-height:44px}
.form-field input,.form-field textarea{font-size:16px}
.footer a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1023px){
 .homevisual{display:none}
 .responsive-home,.responsive-footer{display:block}
 .mobile-home{display:none}
 .responsive-header{padding:18px 20px;background:white;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
 .responsive-brand{display:block;width:210px;max-width:100%;overflow:hidden;line-height:0}
 .responsive-brand img{width:100%;height:auto;display:block;transform:scale(1.15)}
 .responsive-header .yellow{font-size:16px;padding:12px 16px;min-height:48px}
 .responsive-nav{grid-column:1/-1;display:flex;justify-content:space-between;gap:4px;border-bottom:1px solid #dce5ef}
 .responsive-nav a{min-height:48px;display:flex;align-items:center;justify-content:center;flex:1;padding:6px;color:#06264c;text-decoration:none;font-size:16px}
 .responsive-nav a[aria-current=page]{color:#075aa5;box-shadow:inset 0 -3px #24c8e9}
 .responsive-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center;padding:12px 24px 28px}
 .responsive-hero-copy{min-width:0}
 .responsive-kicker{font:bold 18px/1.4 Georgia,serif;letter-spacing:.3px;margin:12px 0}
 .responsive-hero h1{font:700 32px/1.15 Georgia,serif;margin:0 0 20px}
 .responsive-photo{position:relative;overflow:hidden;aspect-ratio:524/388;border-radius:14px;background:#e0eff7}
 .responsive-photo img{position:absolute;width:195.42%;max-width:none;height:auto;right:0;top:-19.588%}
 .responsive-home .pure-home-message{position:static;width:auto;max-width:none;font-size:16px;padding:16px;gap:12px;margin:0;transform:none}
 .responsive-home .pure-home-message strong{font-size:21px}
 .responsive-home .pure-benefit{font-size:15px}
 .responsive-home .pure-cta{font-size:15px;min-height:44px;white-space:normal}
 .responsive-home .pure-drop{flex-basis:30px}
 .responsive-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 24px 28px}
 .responsive-service{padding:20px;border:1px solid #dce5ef;border-radius:14px;background:#f4f8fc;color:#06264c;text-decoration:none}
 .responsive-service svg{width:40px;height:40px;color:#075aa5;display:block;margin-bottom:12px}
 .responsive-service h2{font:700 22px/1.2 Georgia,serif;margin:0 0 10px}
 .responsive-service p{margin:0;font-size:16px;line-height:1.5}
 .responsive-service:last-child{grid-column:1/-1}
 .responsive-more{padding:28px 24px;background:#06264c;color:white}
 .responsive-more h2{font:700 30px/1.2 Georgia,serif;margin:0 0 14px}
 .responsive-more a{display:inline-flex;min-height:48px;align-items:center;background:#ffcf25;color:#06264c;padding:10px 20px;border-radius:28px;text-decoration:none;font-weight:bold}
 .home .calc{position:static;width:auto;height:auto;overflow:visible;margin:0;padding:28px 24px;font-size:16px;border-radius:0}
 .calc h2{font-size:27px}.calc small{font-size:13px}.calc input[type=number]{min-height:44px;font-size:16px}.calc .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.calc label{min-width:0}
 .responsive-footer{padding:24px;background:#06264c;color:white;text-align:center}
 .responsive-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px}
 .responsive-footer a{color:white;min-height:44px;display:inline-flex;align-items:center;overflow-wrap:anywhere;max-width:100%}
 .responsive-footer p{margin:12px 0}
 .site-header{flex-wrap:wrap;gap:12px;padding:12px 20px}
 .site-header img{width:150px}.site-header .yellow{margin-left:auto;min-height:48px}
 .site-header nav{order:3;width:100%;margin:0;justify-content:space-around;gap:4px}
 .site-header nav a{display:flex;align-items:center;min-height:48px;padding:4px 8px}
 .about-hero{grid-template-columns:1fr;gap:24px}.about-photo{max-width:380px;height:360px}
}
@media(max-width:650px){
 .responsive-header{padding:16px;gap:12px}.responsive-brand{width:180px}
 .responsive-header .yellow{font-size:15px;padding:10px 12px}
 .responsive-hero{grid-template-columns:minmax(0,1fr);gap:16px;padding:0 20px 24px}
 .responsive-photo{order:-1}
 .responsive-kicker{text-align:center;font-size:17px;margin:8px 0 12px}
 .responsive-hero h1{text-align:center;font-size:29px;margin-bottom:20px}
 .responsive-home .pure-home-message{padding:15px;gap:10px}
 .responsive-home .pure-home-message strong{font-size:20px}
 .responsive-home .pure-drop{flex-basis:27px}
 .responsive-services{grid-template-columns:minmax(0,1fr);padding:0 20px 24px}
 .responsive-service{display:grid;grid-template-columns:40px minmax(0,1fr);gap:0 16px}
 .responsive-service svg{grid-row:1/3;margin:0}.responsive-service h2{font-size:22px}
 .responsive-more{padding:28px 20px}
 .home .calc{padding:28px 20px}.calc .fields,.calc .results{gap:10px}
 .calc .fields label{font-size:14px}.metric strong{font-size:25px}
 .site-header{padding:12px}.site-header img{width:125px}.site-header .yellow{font-size:15px;padding:10px 12px}
 .intro h1{font-size:32px}.about-hero h1{font-size:34px}.about-hero{padding:26px 20px}
 dialog{padding:40px 18px 24px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);max-height:calc(100vh - 24px)}
 dialog h2{font-size:28px}.services-select{gap:8px}.service-choice{padding:10px 8px;font-size:14px}
 .form-row{gap:0}.form-field input{min-height:46px}.preferred label{display:inline-flex;align-items:center;min-height:44px}
 .preferred input{width:20px;height:20px;margin-right:8px}
 .submit{min-height:48px}.upload{padding:12px}
}
@media(max-width:360px){.services-select{grid-template-columns:1fr}.calc .results{grid-template-columns:1fr}.responsive-home .pure-drop{display:none}.responsive-home .pure-home-message strong{font-size:21px}}
