/* Service, regional coverage and inquiry paths. */
.hero h1{font-size:clamp(44px,4.5vw,68px);line-height:1.05;letter-spacing:-2px}.hero-motto{font-weight:700;font-size:14px;margin:23px 0 0;color:var(--teal)}.hero-summary>p{font-size:20px;line-height:1.4}.hero-summary{max-width:440px}.route-strip{border-block:1px solid var(--line);padding-block:28px;display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr 1.2fr;gap:22px;align-items:center}.route-strip>p{font-size:13px;margin:0;font-weight:700;text-transform:lowercase}.route-strip>a{font-size:13px;line-height:1.4;display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--teal)}.about{border-top:0}.history{margin-top:30px;border-block:1px solid var(--line);padding-block:17px}.history summary{font-size:14px;font-weight:700;cursor:pointer;color:var(--teal)}.about .history p{font-size:16px;line-height:1.7;margin:18px 0 0}.coverage{padding-block:85px}.coverage h2{font-weight:700}.coverage-intro{max-width:365px;font-size:17px;line-height:1.6;margin-bottom:0}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.area-link{padding:30px 25px;display:flex;flex-wrap:wrap;align-items:center;gap:20px;border-right:1px solid var(--line)}.area-link:last-child{border:0}.area-link h3{font-size:23px;margin:0;flex:1;letter-spacing:-.6px;text-transform:lowercase}.area-link>span:last-child{color:var(--teal);font-size:24px}.area-link:hover{background:#ededeb}.process{padding-bottom:80px}.process h2{font-weight:700}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px}.process-grid h3{margin-top:15px;font-weight:700;font-size:22px}.process-grid p{font-size:16px;line-height:1.7}.membership{border-top:1px solid var(--line)}select{font:inherit;display:block;width:100%;min-height:46px;padding:11px;margin-top:8px;border:1px solid #cccdca;background:#fff;border-radius:0;color:var(--navy)}select:focus-visible,details summary:focus-visible{outline:3px solid #e00000;outline-offset:4px}.quote-intro{font-size:15px;line-height:1.6;margin-bottom:16px}.back-link{font-size:12px;display:block;width:max-content;margin-bottom:35px;color:var(--muted)}.detail-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px;padding-block:40px 75px}.detail-hero h1,.area-hero h1{font-size:clamp(39px,4.4vw,64px);letter-spacing:-2px;line-height:1.08;font-weight:700;margin-bottom:25px}.detail-hero .eyebrow{color:var(--teal);font-size:12px;letter-spacing:.3px}.detail-intro{font-size:20px;line-height:1.5;max-width:650px;margin-bottom:30px}.detail-image{margin:0;background:#fff;overflow:hidden}.detail-image img{width:100%;height:auto;aspect-ratio:1.25;object-fit:cover}.detail-image.alta img{object-fit:contain;padding:25px}.detail-section{padding-block:60px;display:grid;grid-template-columns:1fr 1.3fr;gap:65px;border-top:1px solid var(--line)}.detail-section h2{font-size:32px;font-weight:700;color:var(--teal)}.detail-section p{font-size:20px;line-height:1.45;margin-bottom:24px}.detail-section p:last-child{margin:0}.detail-columns{padding-block:25px 65px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.detail-columns h2{font-size:26px;font-weight:700}.detail-columns ul{margin:0;padding:0;list-style:none}.detail-columns li{padding:14px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.5}.faq{padding-block:45px 70px;border-top:1px solid var(--line)}.faq h2{font-size:32px;font-weight:700}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{font-size:19px;line-height:1.4;cursor:pointer;font-weight:700}.faq details p{font-size:18px;line-height:1.5;max-width:800px;margin:20px 0 0}.source-note{font-size:12px;margin-top:25px}.source-note a{text-decoration:underline}.page-cta{background:var(--teal);color:#fff;padding-block:65px}.page-cta h2{font-weight:700}.page-cta .button{border-color:#fff;background:#fff;color:var(--teal);font-size:17px;padding:17px 25px}.page-cta .button:hover{background:#323232;color:#fff;border-color:#323232}.page-cta>div>div{display:flex;gap:35px;align-items:center;flex-wrap:wrap}.cta-phone{font-size:23px;font-weight:700}.related{padding-block:55px}.related h2{font-size:32px;font-weight:700}.related-links{display:grid;grid-template-columns:1fr 1fr;gap:0 45px}.related-links a{display:flex;justify-content:space-between;padding-block:19px;border-bottom:1px solid var(--line);font-size:18px;text-transform:lowercase}.related-links span{color:var(--teal)}.area-hero{padding-block:35px 75px}.area-hero .eyebrow{color:var(--teal);letter-spacing:.5px;font-size:12px}.area-hero h1{max-width:850px}.area-hero .detail-intro{max-width:700px}
@media(min-width:1100px){.site-header{gap:30px}.site-header nav,.site-header nav[hidden]{position:static;display:flex;flex-direction:row;min-width:0;padding:0;border:0;box-shadow:none;gap:24px;font-size:14px;background:none;margin-left:auto;align-items:center}.site-header .header-phone{margin-left:0;font-size:19px;white-space:nowrap}.site-header .menu-toggle{display:none}}
@media(max-width:1000px){.route-strip{grid-template-columns:1fr 1fr;gap:22px}.route-strip>p{grid-column:1/-1}.hero h1{font-size:49px}.hero-summary>p{font-size:18px}.area-link{padding:25px 15px;gap:10px}.area-link h3{font-size:19px}.detail-hero{gap:35px}.detail-hero h1,.area-hero h1{font-size:45px}.detail-section{gap:35px}.detail-section p{font-size:18px}.detail-columns{gap:40px}}
@media(max-width:700px){.hero h1{font-size:clamp(40px,10vw,58px);letter-spacing:-1.8px}.hero-summary>p{font-size:18px;line-height:1.5}.hero-motto{font-size:13px;margin-top:20px}.route-strip{padding-block:22px;gap:20px}.route-strip>a{font-size:12px}.coverage{padding-block:45px}.coverage-intro{font-size:16px;margin-top:15px}.area-grid{grid-template-columns:1fr}.area-link{border-right:0;border-bottom:1px solid var(--line);padding:23px 0;gap:17px}.area-link h3{font-size:23px}.process{padding-bottom:45px}.process-grid{grid-template-columns:1fr;gap:25px;margin-top:25px}.process-grid h3{font-size:22px;margin-bottom:10px}.process-grid p{font-size:16px;margin-bottom:0}.detail-hero{grid-template-columns:1fr;gap:30px;padding-block:25px 40px}.back-link{margin-bottom:30px}.detail-hero h1,.area-hero h1{font-size:43px;letter-spacing:-1.5px}.detail-intro{font-size:18px}.detail-image img{aspect-ratio:1.7}.detail-section{grid-template-columns:1fr;gap:10px;padding-block:35px}.detail-section h2{font-size:28px;margin-bottom:15px}.detail-section p{font-size:18px;line-height:1.5}.detail-columns{grid-template-columns:1fr;gap:35px;padding-block:10px 40px}.detail-columns h2{font-size:25px}.detail-columns li{font-size:16px}.faq{padding-block:35px 45px}.faq h2{font-size:29px}.faq summary{font-size:17px}.faq details p{font-size:17px}.page-cta{padding-block:40px}.page-cta h2{font-size:31px}.page-cta .button{font-size:16px}.cta-phone{font-size:21px}.related{padding-block:40px}.related-links{grid-template-columns:1fr}.related-links a{font-size:17px}.area-hero{padding-block:25px 45px}}
.hero-summary>.hero-motto{font-size:15px;font-weight:700;line-height:1.5;color:var(--teal)}.detail-hero .button,.area-hero .button{font-size:17px;min-height:60px;padding:17px 25px;gap:30px}
.hero-summary>.firm-credential{font-size:14px;line-height:1.5;font-weight:400;color:#323232;margin:15px 0 0}.firm-credential strong{font-weight:700;white-space:nowrap}footer>.firm-registration{font-size:13px;line-height:1.6;margin-left:0}footer>.firm-registration strong{font-weight:700}
.capability-panel{aspect-ratio:2/1;position:relative;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:30px 35px;background:#e9e8e4;overflow:hidden;color:#e00000}.capability-panel .eyebrow{margin:0;font-size:11px;letter-spacing:.7px;color:#323232}.capability-panel strong{font-size:48px;line-height:1.05;letter-spacing:-1.5px;font-weight:700}.capability-cross{position:absolute;right:30px;bottom:22px;font-size:40px;font-weight:400}.capability-panel.aerial{background:#e6eaeb}.detail-capability{aspect-ratio:1.25}.detail-capability strong{font-size:58px}@media(min-width:1100px){.site-header{height:130px;gap:25px}.site-header nav{gap:20px;font-size:14px}}@media(max-width:700px){.capability-panel{padding:25px;gap:13px}.capability-panel strong{font-size:39px}.capability-panel .eyebrow{font-size:10px}.detail-capability{aspect-ratio:1.7}.detail-capability strong{font-size:43px}}
.hero-photo{align-self:center}.hero-photo img{width:100%;height:auto;max-height:none;aspect-ratio:2025/1901;object-fit:contain;object-position:center}@media(max-width:700px){.hero-photo img{height:auto;aspect-ratio:2025/1901;object-fit:contain}}
.community-marks{display:flex;align-items:center;gap:28px;flex-shrink:0}
.community-marks .community-chamber{width:190px}
.community-marks .community-flag{width:160px;height:auto;border:1px solid #32323218}
.membership-copy{min-width:0}
@media(max-width:1000px){.membership{gap:32px}.community-marks{gap:22px}.community-marks .community-chamber{width:150px}.community-marks .community-flag{width:135px}}
@media(max-width:700px){.membership{flex-direction:column;align-items:flex-start;gap:24px}.community-marks{gap:28px}.community-marks .community-chamber{width:140px}.community-marks .community-flag{width:136px}}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:1099px){
  html{scroll-behavior:auto}
  .site-header .menu-toggle{width:44px;height:44px}
  .site-header .header-phone{display:inline-flex;align-items:center;min-height:44px}
  .site-header nav{max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain}
  .site-header nav a{display:flex;align-items:center;min-height:44px}
  .form-grid label{min-width:0}
  .form-grid input,.form-grid select,.form-grid textarea{font-size:16px;min-width:0;max-width:100%}
  .route-strip>a,.text-link,.back-link,.service-link,.social a,.footer-bottom a{min-height:44px;display:flex;align-items:center}
  .route-strip>a,.text-link,.service-link,.social a{font-size:14px}
  .service p{font-size:16px;line-height:1.6}
  .back-link{font-size:14px;max-width:100%}
}
@media(max-width:700px){
  .site-header .wordmark{min-height:44px;align-items:center}
  .form-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .form-grid label{font-size:14px;min-width:0}
  .form-grid input,.form-grid select,.form-grid textarea{font-size:16px;min-width:0;max-width:100%;min-height:48px}
  .form-grid input[type=date]{text-align:left}
  .form-grid input[type=date]::-webkit-date-and-time-value{min-height:1.5em;text-align:left}
  .footer-bottom{font-size:11px}
  .community-marks{width:100%;max-width:360px;gap:24px}
  .community-marks .community-chamber,.community-marks .community-flag{width:calc((100% - 24px)/2);min-width:0;flex-shrink:1}
  .community-marks .community-chamber{max-width:140px}
  .community-marks .community-flag{max-width:136px}
}
.site-header .header-quote{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:13px 18px;flex-shrink:0;background:var(--teal);color:#fff;font-size:14px;font-weight:700;white-space:nowrap}
.site-header .header-quote:hover{background:#323232}
.header-quote span{font-size:20px}
.secondary-phone{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:400}
#quote-request{scroll-margin-top:24px}
#quote-request:focus-visible{outline:3px solid #323232;outline-offset:5px}
.mobile-quote-bar{display:none}
@media(min-width:1100px){.site-header nav a[href$="#quote-request"]{display:none}}
@media(max-width:1099px){
  body{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
  .site-header .header-quote{display:none}
  .site-header nav{top:calc(100% - 4px);max-height:calc(100vh - 230px);max-height:calc(100dvh - 230px)}
  .mobile-quote-bar{display:block;position:fixed;inset:auto 0 0;z-index:40;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -4px 18px #0000000a}
  .mobile-quote-bar .button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;padding:15px 22px;font-size:17px;line-height:24px}
  .mobile-quote-bar .button span{font-size:23px;line-height:24px}
}
@media(max-width:700px){
  .site-header{height:96px;row-gap:0}
  .contact-grid .quote-panel{order:-1}
}
.quote-in-view .mobile-quote-bar,.quote-input-active .mobile-quote-bar,.inline-quote-visible .mobile-quote-bar{display:none}
@media(min-width:701px){
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service{min-width:0}
  .capability-panel strong{font-size:clamp(32px,4vw,48px)}
  .detail-capability strong{font-size:clamp(32px,4vw,58px)}
}
@media(max-width:700px){
  .route-strip{grid-template-columns:1fr;gap:0}
  .route-strip>p{font-size:14px;margin-bottom:12px}
  .route-strip>a{min-height:52px;padding-block:12px;border-bottom:1px solid var(--line);gap:16px}
  .service-grid{grid-template-columns:minmax(0,1fr);max-width:100%}
  .service-grid>.service{width:100%;max-width:100%;min-width:0}
  .service-image{width:100%;max-width:100%;height:auto;aspect-ratio:auto;background:#fff;border:1px solid #d7d7d2}
  .service-image img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
}
/* Responsive encoding preserves the approved image frame and red highlight. */
html{background:#fff}
body{width:calc(100% - 48px);max-width:1600px;margin-inline:auto}
.route-strip>a{font-size:16px;font-weight:700;min-height:48px;color:#e00000}
.hero-summary>p,.about p:not(.eyebrow),.service p,.detail-intro,.detail-section p,.detail-columns li,.faq details p,.process-grid p,.coverage-intro{color:#242424}
.hero-summary>.hero-motto{color:var(--teal)}
.service p{font-size:17px}
@media(min-width:701px) and (max-width:1099px){.mobile-quote-bar{left:24px;right:24px}}
@media(max-width:700px){body{width:calc(100% - 16px)}.wrap{width:calc(100% - 32px)}.mobile-quote-bar{left:8px;right:8px}.service p{font-size:16px}}
.hero-art{position:relative;isolation:isolate;width:100%;aspect-ratio:2025/1901;overflow:hidden}
.hero-art picture{display:block;width:100%;height:100%}
.hero-art picture img{display:block;width:100%;height:100%;max-height:none;aspect-ratio:2025/1901;object-fit:cover;object-position:center}
.hero-highlight{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:multiply}
.hero-art picture img{filter:grayscale(1);object-position:center}
.field{min-width:0}
.field-help{display:block;font-size:12px;font-weight:400;line-height:1.5;color:#323232;margin-top:7px;text-transform:none}
.quote-extras{margin-top:24px;border-block:1px solid var(--line);padding-block:5px}
.quote-extras>summary{min-height:44px;padding-block:11px;line-height:22px;font-size:14px;font-weight:700;color:#323232;cursor:pointer}
.quote-extras>.form-grid{margin-block:12px 18px}
.quote-extras .field{margin-bottom:18px}
.quote-extras .field:last-child{margin-bottom:0}
.history summary,.faq summary{min-height:44px;padding-block:10px}
.history a,.history-sources a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px;line-height:1.5}
.secondary-email{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:400;overflow-wrap:anywhere}
.secondary-email:hover{color:var(--teal)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #323232;outline-offset:4px}
.contact-info a:focus-visible,.contact-info button:focus-visible{outline-color:#fff}
.button:disabled{cursor:not-allowed;opacity:.65}
select,summary{touch-action:manipulation}
@media(max-width:1099px){.quote-extras input,.quote-extras select,.quote-extras textarea{font-size:16px;min-width:0;max-width:100%}.field-help{font-size:13px}}
/* A heavier wordmark gives the company name a distinct visual weight. */
.wordmark>span{font-family:"DM Sans",Arial,sans-serif;font-weight:900;letter-spacing:-.045em;-webkit-text-stroke:0}
.site-header .wordmark{column-gap:10px}
.site-header .wordmark>span{font-size:clamp(54px,5vw,72px);line-height:1}
@media(max-width:700px){
  .site-header .wordmark{column-gap:7px}
  .site-header .wordmark>span{font-size:clamp(28px,8.6vw,37px);letter-spacing:-.04em}
}
/* Larger navigation, form text and paragraph copy for easier reading. */
@media(min-width:1100px){
  .site-header nav a{display:flex;align-items:center;min-height:48px;font-size:17px;font-weight:700;white-space:nowrap}
  .site-header .header-quote{font-size:16px;min-height:52px}
}
@media(min-width:1100px) and (max-width:1240px){.site-header{gap:16px}.site-header nav{gap:16px}}
.service p,.process-grid p,.coverage-intro,.quote-intro,.contact-info>p:not(.eyebrow){font-size:18px;line-height:1.6}
#quote-form label,.form-grid label{font-size:16px;line-height:1.5}
#quote-form label>span,.field-help,.upload small{font-size:14px;line-height:1.5}
#quote-form input,#quote-form select,#quote-form textarea{font-size:18px;line-height:1.5}
.form-note{font-size:14px;line-height:1.6}
.quote-extras>summary{font-size:16px}
@media(max-width:1099px){
  .site-header .menu-toggle{width:44px;height:64px;min-height:64px;padding:8px 5px;gap:5px}
  .menu-toggle::after{content:"menu";display:block;font-size:14px;line-height:16px;font-weight:700;color:#323232;text-transform:lowercase}
}
/* Keep secondary actions and practical information readable at every size. */
.service-link,.text-link,.back-link{font-size:18px;line-height:1.5;min-height:48px}
.hero-scroll{font-size:16px;line-height:1.5;min-height:48px}
.route-strip>p{font-size:18px;line-height:1.5}
.route-strip>a{font-size:18px;line-height:1.5}
.history summary,.source-note,.firm-credential,.firm-registration,.secondary-email,.secondary-phone,.social,.footer-bottom{font-size:16px;line-height:1.6}
.firm-credential strong,.firm-registration strong{font-weight:700}
.firm-registration strong{font-size:inherit}
.contact dt{font-size:16px;line-height:1.5;letter-spacing:.4px}
.contact dd{font-size:18px;line-height:1.6;overflow-wrap:anywhere}
.capability-panel .eyebrow{font-size:16px;line-height:1.5}
#form-status{font-size:18px;line-height:1.6}
.form-note,#quote-form label>span,.field-help,.upload small{font-size:16px;line-height:1.6}
.history li,.history a{font-size:16px;line-height:1.6}
.social a,.source-note a{min-height:44px;display:inline-flex;align-items:center}
.hero-summary>.firm-credential,.hero-summary>.hero-motto{font-size:16px;line-height:1.6}
.eyebrow,.hero .eyebrow,.section-heading .eyebrow,.membership .eyebrow{font-size:16px;line-height:1.5;letter-spacing:1px}
.preview-bar{font-size:14px;line-height:1.5}
@media(max-width:1099px){.menu-toggle::after{font-size:16px;line-height:19px}}
/* The community section is the last main section, with readable captions. */
.membership{display:block;text-align:center;padding-block:64px;border-top:1px solid var(--line)}
.membership-copy h2{font-size:clamp(28px,3vw,40px);line-height:1.2;margin:0 0 18px}
.membership-copy p{font-size:18px;line-height:1.6;color:#242424;margin:0}
.community-marks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;max-width:none;gap:28px 20px;margin-top:36px}
.community-mark{margin:0;min-width:0}
.community-art{height:132px;display:flex;align-items:center;justify-content:center;padding:6px;background:#fff}
.membership .community-mark img{display:block;width:auto;height:auto;max-width:100%;max-height:120px;object-fit:contain;border:0}
.community-mark figcaption{margin-top:14px;font-size:16px;line-height:1.5;font-weight:700;color:#242424}
@media(max-width:1000px){.community-marks{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}}
@media(max-width:700px){
 .membership{padding-block:48px}
 .community-marks{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;margin-top:30px}
 .community-art{height:124px;padding:4px}
 .membership .community-mark img{max-height:112px}
}
/* Keep survey choices compact and service actions aligned across each row. */
.hero{padding-bottom:24px}
.route-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 20px;padding-block:18px}
.route-strip>p{grid-column:1/-1;margin:0}
.route-strip>a{min-width:0;min-height:48px;padding-block:8px}
.about{padding-top:48px}
.service{display:flex;flex-direction:column;min-width:0}
.service-image,.service>.capability-panel{flex-shrink:0}
.service>.service-link{margin-top:auto}
.detail-visual{margin:0;min-width:0}
.detail-visual .detail-image img{height:auto;aspect-ratio:auto;object-fit:contain}
.image-credit{font-size:16px;line-height:1.5;color:#242424;margin-top:12px}
.image-credit a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.section-heading .text-link{font-size:18px;min-height:48px}
.contact .eyebrow,.detail-hero .eyebrow,.area-hero .eyebrow{font-size:16px;line-height:1.5}
@media(max-width:1000px){.route-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .hero{padding-bottom:24px}
 .route-strip{grid-template-columns:minmax(0,1fr);gap:0}
 .route-strip>p{margin-bottom:8px}
 .route-strip>a:last-child{border-bottom:0}
}

/* Production-only form helpers. */
.quote-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #b00000}
