/* FRAE v1.1 — softer surfaces and a consistent, restrained motion system. */
:root {
  --paper:#f7f9fc; --line:#e1e8f0; --muted:#536477;
  --radius-sm:14px; --radius:24px; --radius-lg:36px;
  --ease:cubic-bezier(.22,1,.36,1); --fast:180ms; --normal:300ms;
  --shadow:0 8px 32px #102b4710;
}
html{scroll-padding-top:125px}
h1,h2,h3{letter-spacing:-.04em}
p{text-wrap:pretty}
.button{border-radius:999px;padding-inline:25px;transition:background var(--fast),transform var(--normal) var(--ease),box-shadow var(--normal);box-shadow:0 4px 12px #1764d115}
.button.small{padding-inline:20px}
.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #1764d123}
.button:active{transform:translateY(0) scale(.985)}
.button.outline-light{border-color:#c6d7ee80;box-shadow:none}
.text-link{border-bottom:0;text-decoration:underline;text-underline-offset:7px;text-decoration-color:#9aadc5;transition:color var(--fast),text-decoration-color var(--fast)}
.text-link:hover{text-decoration-color:currentColor}
.skip-link{border-radius:999px}
/* A floating navigation surface keeps the top of each page light. */
.utility{background:transparent;color:var(--muted)}
.utility a{color:#385b86}
.site-header{top:12px;margin:0 auto 22px;width:min(1456px,calc(100% - 32px));background:#fff;border:1px solid #e5ebf2;border-radius:999px;box-shadow:var(--shadow)}
.header-inner{width:calc(100% - 48px);height:80px;gap:20px}
.desktop-nav{gap:18px}
.desktop-nav>.nav-link,.mega>summary{border-radius:999px;padding:10px 12px;font-size:.875rem}
.nav-link[aria-current]{box-shadow:none;color:var(--blue)}
.desktop-nav>.nav-link[aria-current],.desktop-nav>.nav-link:hover,.mega>summary:hover,.mega[open]>summary{background:#edf4fd}
.mega-panel{top:calc(100% + 12px);left:16px;right:16px;border-radius:28px;border-color:#e5ebf2;box-shadow:0 16px 50px #142f4d1a;gap:36px;padding:30px}
.mega-panel .nav-link{border:0;border-radius:12px;padding:10px 12px;margin-left:-12px;transition:background var(--fast),color var(--fast)}
.mega-panel .nav-link:hover,.mega-panel .nav-link[aria-current]{background:#edf4fd}
.mega-intro{background:#f1f5fa;border:0;border-radius:20px;padding:25px}
.mega-intro h2{font-size:1.8rem}
.chevron{transition:transform var(--normal) var(--ease)}
.mobile-trigger,.close-button{border-radius:50%;background:#eef3f9;flex-shrink:0}
#mobile-menu{margin:12px 12px 12px auto;width:min(430px,calc(100% - 24px));height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:28px;background:#fff;box-shadow:0 24px 70px #0b233530}
#mobile-menu::backdrop{background:#0b1e3880}
.mobile-top{padding:18px 22px;border-color:#edf1f6}
#mobile-menu nav{padding:12px 18px}
#mobile-menu nav>a,#mobile-menu summary{border:0;border-radius:14px;padding:14px 16px;font-size:1rem}
#mobile-menu nav>a:hover,#mobile-menu nav>a[aria-current],#mobile-menu details[open]>summary{background:#edf4fd}
#mobile-menu details>div{padding-left:26px}
#mobile-menu details .nav-link{border-radius:10px;padding-inline:10px}
.mobile-contact{padding:20px 26px 30px}
/* Curved feature surfaces, separated by open space instead of hard bands. */
.home-hero,.field-section,.local-story,.review-section,.closing,.emergency-hero{width:min(1456px,calc(100% - 32px));margin-inline:auto;border-radius:var(--radius-lg)}
.home-hero>.wrap,.field-section>.wrap,.local-story>.wrap,.review-section>.wrap,.closing>.wrap,.emergency-hero>.wrap{width:calc(100% - 80px);max-width:1320px}
.home-hero{background:#12263d}
.hero-grid{padding-top:48px;padding-bottom:32px;gap:55px}
.hero-copy h1{font-weight:600;letter-spacing:-.045em;line-height:1.12}
.hero-copy>p:not(.eyebrow){line-height:1.8}
.hero-photo{border-radius:28px;height:460px}
.hero-photo figcaption{padding:60px 28px 26px}
.hero-photo figcaption span{font-size:.75rem}
.hero-location{border:0;padding:0;margin-top:30px}
.hero-bottom{border-color:#ffffff18;min-height:65px}
.intent-section{padding-block:90px;align-items:start}
.intent-section h2{font-weight:600}
.intent-list{border:0;display:grid;gap:8px}
.intent-list>a{border:0;padding:18px 22px;background:white;border-radius:18px;box-shadow:0 2px 10px #1b345405;transition:background var(--fast),color var(--fast),transform var(--normal) var(--ease)}
.intent-list>a:hover{padding-left:22px;background:#eaf2ff;transform:translateX(4px)}
.intent-num{width:30px;height:30px;display:grid;place-items:center;background:#f0f4f9;border-radius:50%;flex-shrink:0}
.local-story{background:#edf2f8;padding-block:65px}
.story-grid{gap:70px}
.story-grid figure img,.about-photos img,.application-section>div>img{border-radius:var(--radius)}
.trust-strip{border:0;gap:16px;margin-top:36px;padding-top:0}
.trust-strip>div{background:#ffffffb3;border:0;border-radius:18px;padding:20px 24px}
.capabilities{padding-block:90px}
.capability-feature{border:0;border-radius:var(--radius-lg);box-shadow:var(--shadow);gap:8px;padding:12px;align-items:center}
.capability-feature>figure{border-radius:26px;height:440px}
.capability-feature>div{padding:30px 35px}
.capability-bottom{border:0;gap:20px;margin-top:20px}
.capability-bottom>a,.capability-bottom>a+a{border:0;border-radius:var(--radius);background:#edf2f8;padding:32px 36px;transition:background var(--fast),transform var(--normal) var(--ease)}
.capability-bottom>a:hover{background:#e6eef9;transform:translateY(-3px)}
.field-section{padding-block:65px 36px}
.field-grid{gap:24px}
.field-grid figure{overflow:visible}
.field-grid img{border-radius:var(--radius);transition:none}
.field-grid figure:hover img{transform:none}
.field-grid figcaption{padding:16px 6px 0}
.social-line{border-color:#ffffff1c}
.care-options{border:0;gap:14px}
.care-options>a{border:0;background:#edf2f8;border-radius:20px;padding:24px;margin-bottom:12px;transition:background var(--fast),transform var(--normal) var(--ease)}
.care-options>a:hover{background:#e5eefb;transform:translateX(3px)}
.review-section{background:#edf2f8}
.review-empty{border:0;padding:30px;border-radius:24px;background:#ffffffc9}
.closing{background:#183958;margin-bottom:24px;padding-block:46px}
.site-footer{border-radius:36px 36px 0 0;margin-top:26px}
/* Every interior page shares the softer language. */
.breadcrumb{padding-top:14px}
.page-heading{padding-top:26px}
.context-rail{background:white;border-radius:22px;padding:20px 14px;box-shadow:0 3px 18px #172f4d06;top:120px;max-height:calc(100dvh - 145px)}
.context-rail nav>a{border:0;border-radius:12px;margin:3px 0;padding:10px 12px;transition:background var(--fast),color var(--fast)}
.context-rail nav>a.active{background:#eaf2ff}
.context-rail .eyebrow{letter-spacing:.08em;font-size:.75rem}
.context-rail .on-page{margin-top:22px}
.rail-call{border-color:#edf1f6;padding:18px 12px 0;margin-top:18px}
.mobile-context{border-radius:18px;border-color:#e2e9f2}
.mobile-context nav>a{border:0;border-radius:10px;padding:10px}
.mobile-context a.active{background:#edf4fd}
.service-image>img,.technical-panel{border-radius:var(--radius-lg)}
.content-section{border-color:#e5ebf2}
.scope-number{display:inline-grid;place-items:center;width:34px;height:34px;background:#eaf1fb;border-radius:50%}
.next-note{border:0;border-radius:22px;background:#eaf1fb;padding:30px}
.faq-list{border:0;display:grid;gap:12px}
.faq-list details{border:1px solid #e4ebf3;border-radius:18px;background:white;padding:0 22px;transition:background var(--fast)}
.faq-list details[open]{background:#eef4fc;border-color:transparent}
.faq-list summary{padding:19px 34px 19px 0}
.faq-list summary:after{right:0;top:17px;border-radius:50%;background:#e4edf9;width:28px;height:28px;text-align:center;line-height:27px}
.faq-list p{padding-bottom:22px}
.service-directory,.resource-grid{border:0;gap:18px;margin-bottom:45px}
.service-directory>a,.service-directory>a:nth-child(even),.resource-grid>a,.resource-grid>a:nth-child(even){border:0;background:white;border-radius:24px;padding:32px;transition:background var(--fast),transform var(--normal) var(--ease);box-shadow:0 3px 18px #172f4d05}
.service-directory>a:hover,.resource-grid>a:hover{background:#edf4fd;transform:translateY(-3px)}
.service-directory>a>span:last-child{right:28px;bottom:22px}
.service-directory p:not(.eyebrow){padding-right:12px}
.plan-switch{border-radius:999px;background:#e7edf5;padding:6px;gap:4px}
.plan-switch a{border-radius:999px;transition:background var(--normal),color var(--fast),box-shadow var(--normal)}
.plan-switch a.selected{background:white;color:var(--blue);box-shadow:0 3px 12px #172f4d14}
.plan{border:1px solid #e5ebf2;border-radius:28px;padding:36px;box-shadow:var(--shadow)}
.plan:nth-child(2){border:1px solid #d5e3f6;background:#edf4fd;padding:36px}
.plan h3{font-weight:600}
.plan .button{margin-top:auto}
.process-inline li{border:0;background:white;border-radius:20px;padding:24px}
.process-inline li:before{background:#edf3fc;border-radius:50%;width:34px;height:34px;display:grid;place-items:center}
.process-list section{border:0;border-radius:24px;background:white;padding:35px;margin-bottom:18px;grid-template-columns:95px 1fr;gap:30px}
.process-list section>span{color:#7895b9;font-size:3rem}
.equipment-feature{border:0;border-radius:28px;box-shadow:var(--shadow)}
.finance-panel,.job-banner{border:0;border-radius:28px}
.job-banner{background:#15324f}
.contact-direct{border:0;border-radius:22px;background:#edf3fb;padding:24px}
.request-form{border:1px solid #e5ebf2;border-radius:28px;box-shadow:var(--shadow);padding:32px}
.form-notice{border-radius:14px;background:#edf4fd;line-height:1.7}
input,select,textarea{border-radius:14px;border-color:#c9d5e3;background:#f8fafd;transition:border-color var(--fast),background var(--fast)}
input:hover,select:hover,textarea:hover{border-color:#8aa4c5}
input:focus,select:focus,textarea:focus{outline-offset:3px}
input::file-selector-button{border-radius:8px;padding:7px 12px}
.form-end .button{justify-content:center}
.success-mark{border-radius:50%;width:56px;height:56px}
.form-review dl{border:0;border-radius:16px;background:#f1f6fc;padding:8px 20px 18px}
.form-review dd:last-child{border:0}
.emergency-hero{padding-block:55px}
/* Use animation for feedback and orientation; content is always visible by default. */
@keyframes soft-enter{from{opacity:.25;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes page-arrive{from{opacity:.65;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes page-leave{to{opacity:0}}
@media(prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  .hero-copy,.page-heading{animation:soft-enter 620ms var(--ease) both}
  .hero-photo{animation:soft-enter 760ms var(--ease) both}
  @view-transition{navigation:auto}
  ::view-transition-old(root){animation:page-leave 140ms ease-out both}
  ::view-transition-new(root){animation:page-arrive 280ms var(--ease) both}
  ::view-transition-group(*){animation-duration:280ms}
}
@media(min-width:1260px){.site-header .header-inner{width:calc(100% - 60px)}.desktop-nav{gap:12px}.site-header .brand,.site-header .brand img{width:118px}}
@media(max-width:1250px){.desktop-nav{gap:5px}.desktop-nav>.nav-link,.mega>summary{padding-inline:10px}.header-inner{gap:14px}.hero-grid{gap:30px}.hero-photo{height:425px}.story-grid{gap:45px}.capability-feature>div{padding:25px}.mega-panel{gap:25px}.mega-intro{padding:22px}}
@media(max-width:1050px){.header-inner{height:72px;width:calc(100% - 36px)}.desktop-nav>.nav-link,.mega>summary{font-size:.8rem;padding-inline:8px}.hero-grid{gap:25px}.hero-photo{height:405px}.home-hero>.wrap,.field-section>.wrap,.local-story>.wrap,.review-section>.wrap,.closing>.wrap,.emergency-hero>.wrap{width:calc(100% - 56px)}.plan,.plan:nth-child(2){padding:28px}.request-form{padding:26px}.capability-feature>figure{height:440px}.context-rail{padding:16px 10px}}
@media(max-width:820px){.site-header{top:8px;margin-bottom:16px}.header-inner{height:70px}.hero-grid{gap:22px}.hero-photo{height:400px}.intent-section,.capabilities{padding-block:60px}.capability-feature>figure{height:340px}.capability-feature>div{padding:24px}.capability-bottom>a,.capability-bottom>a+a{padding:28px}.field-grid{gap:16px}.review-empty{padding:24px}.process-list section{grid-template-columns:60px 1fr}.care-options>a{margin:0}.care-options>p{margin-top:4px}}
@media(max-width:600px){
  :root{--radius:20px;--radius-lg:26px}
  .site-header{width:calc(100% - 20px);top:8px;border-radius:24px;margin-bottom:12px}
  .header-inner{width:calc(100% - 24px);height:66px;gap:10px}
  .site-header .brand,.site-header .brand img{width:95px}
  .header-actions{gap:8px}.header-actions .button{font-size:.8125rem;padding:10px 14px;min-height:44px}
  .mobile-trigger{width:42px;height:42px;padding:10px}
  .utility .wrap{font-size:.75rem;min-height:36px;gap:12px}
  .utility .wrap>span{font-size:.6875rem;letter-spacing:-.02em}
  .home-hero,.field-section,.local-story,.review-section,.closing,.emergency-hero{width:calc(100% - 20px)}
  .home-hero>.wrap,.field-section>.wrap,.local-story>.wrap,.review-section>.wrap,.closing>.wrap,.emergency-hero>.wrap{width:calc(100% - 36px)}
  .hero-grid{padding-top:30px;padding-bottom:22px;gap:25px}
  .hero-copy h1{font-size:clamp(2.25rem,9vw,3rem);line-height:1.13}
  .hero-copy .eyebrow{font-size:.75rem;letter-spacing:.06em}
  .hero-copy .actions{gap:16px}.hero-copy .button{padding:14px 20px}
  .hero-location{margin-top:25px;font-size:.75rem}
  .hero-photo{height:260px;border-radius:20px}
  .hero-photo figcaption{padding:45px 20px 20px}
  .hero-bottom{min-height:0;padding-block:14px}
  .intent-section,.capabilities{padding-block:50px}
  .intent-list{gap:8px}.intent-list>a{padding:17px 16px;font-size:.9375rem;gap:12px}.intent-list>a:hover{padding-left:16px;transform:none}
  .intent-num{font-size:.75rem;width:28px;height:28px}
  .local-story{padding-block:36px}.story-grid{gap:26px}
  .trust-strip{gap:10px;margin-top:26px}.trust-strip>div{padding:17px 18px;gap:12px;border-radius:16px}
  .trust-strip strong{font-size:1rem}.trust-strip span{font-size:.75rem}
  .capability-feature{border-radius:26px;padding:8px;gap:0}.capability-feature>figure{height:265px;border-radius:20px}
  .capability-feature>div{padding:24px 18px}
  .capability-bottom{gap:12px;margin-top:12px}.capability-bottom>a,.capability-bottom>a+a{padding:26px;border-radius:22px}
  .field-section{padding-block:38px 30px}.field-grid{gap:22px 14px}.field-grid img{border-radius:18px}
  .field-grid figcaption{padding-inline:2px}.field-grid figcaption span{font-size:.75rem;letter-spacing:.06em}
  .care-options>a{padding:22px;margin-bottom:12px;border-radius:20px}
  .review-section{padding-block:36px}.review-empty{padding:24px;border:0;border-radius:20px}
  .closing{padding-block:32px;margin-bottom:16px}.closing .button{margin-top:24px}
  .site-footer{border-radius:28px 28px 0 0;padding-bottom:115px}
  .mobile-bar{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));border:1px solid #e0e8f2;border-radius:999px;padding:7px;background:#fff;box-shadow:0 6px 30px #102d4c24}
  .mobile-bar>a,.mobile-bar>a:last-child{border-radius:999px;min-height:46px}
  .mobile-context{border-radius:16px}.page-heading{padding-top:18px}
  .service-image>img{height:280px;border-radius:24px}.next-note{padding:24px;border-radius:20px}
  .faq-list details{padding-inline:18px;border-radius:16px}.faq-list summary{font-size:1rem}
  .service-directory,.resource-grid{gap:12px}
  .service-directory>a,.service-directory>a:nth-child(even),.resource-grid>a,.resource-grid>a:nth-child(even){padding:26px;border-radius:22px}
  .service-directory>a>span:last-child{right:22px;bottom:18px}
  .plan-switch>a{font-size:.875rem;padding:12px 18px}.plan,.plan:nth-child(2){padding:26px;border-radius:24px}
  .plan-grid{gap:18px}.plan h3{font-size:2.2rem}
  .process-inline{gap:12px}.process-inline li{padding:24px}
  .process-list section{grid-template-columns:36px 1fr;padding:24px 20px;gap:16px;border-radius:22px}.process-list section>span{font-size:2rem}
  .request-form{padding:24px 20px;border-radius:24px}.form-notice{padding:14px}
  .job-banner,.finance-panel,.equipment-feature{border-radius:24px}
  .emergency-hero{padding-block:36px}.emergency-phone{font-size:clamp(1.9rem,8vw,2.5rem)}
  .eyebrow,.page-heading .eyebrow{font-size:.75rem}.prototype-footnote{font-size:.75rem}
}
@media(max-width:360px){.header-actions .button{font-size:.75rem;padding-inline:11px}.site-header .brand,.site-header .brand img{width:85px}.header-inner{gap:8px}.hero-copy .actions{gap:13px}.hero-copy .button{padding:13px 16px}.trust-strip>div{align-items:start;flex-direction:column;gap:5px}.trust-strip span{text-align:left}}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .button:hover,.button:active,.intent-list>a:hover,.capability-bottom>a:hover,.care-options>a:hover,.service-directory>a:hover,.resource-grid>a:hover{transform:none}
  ::view-transition-old(root),::view-transition-new(root),::view-transition-group(*){animation:none!important}
}
@media print{.site-header,.mobile-bar{display:none!important}.home-hero,.field-section,.local-story,.review-section,.closing,.emergency-hero{width:100%;border-radius:0}.home-hero>.wrap,.field-section>.wrap,.local-story>.wrap,.review-section>.wrap,.closing>.wrap,.emergency-hero>.wrap{width:100%}.context-rail,.request-form,.capability-feature,.plan{box-shadow:none}.hero-copy,.page-heading,.hero-photo{animation:none}}
