/* Accepted outlines with an embedded white/orange colour-font palette. */
@font-face{font-family:"ProSafe Stencil";src:url("./assets/fonts/prosafe-stencil-clean.ttf") format("truetype");font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:"ProSafe Color Marks";src:url("./assets/fonts/prosafe-color-marks.woff?v=12") format("woff");font-style:normal;font-weight:400;font-display:block}
@font-face{font-family:"ProSafe Stencil Color";src:url("./assets/fonts/prosafe-stencil-color.woff?v=12") format("woff");font-style:normal;font-weight:800;font-display:block}
:root{color-scheme:dark;--paper:#fff;--brand-white:var(--paper);--orange:#ff5000;--orange-light:var(--orange);--brand-display:"ProSafe Stencil","Arial Black",Arial,sans-serif}
/* Explicit authored themes prevent WebView algorithmic colour inversion. */
@media(prefers-color-scheme:dark){:root{color-scheme:dark}}
@media(prefers-color-scheme:light){:root{color-scheme:dark}}
html,body{background:#080808}
body::before{display:none}
.prosafe-logo{display:block;position:relative;aspect-ratio:var(--logo-ratio);container-type:size;color:var(--brand-white);color-scheme:dark;isolation:isolate}
.prosafe-logo .logo-character{display:block;position:absolute;inset:0;font-family:"ProSafe Color Marks";font-size:100cqh;font-style:normal;font-weight:400;line-height:1;letter-spacing:0;white-space:nowrap;font-synthesis:none;font-palette:normal;pointer-events:none}
.hero h1{color:var(--brand-white)}
.hero h1>span{font-family:"ProSafe Stencil Color",var(--brand-display);font-palette:normal;color:var(--orange)}
[data-brand-control]{isolation:isolate}
.button,.top-line,.gallery-filter,.mobile-contact a{position:relative}
.button,.button:hover,.top-line,.skip-link,.mobile-contact a:last-child,.gallery-filter[aria-pressed=true],.gallery-zoom{background:transparent;border-color:transparent}
.brand-control-paint{display:block;position:absolute;inset:-1px;z-index:-1;container-type:size;overflow:hidden;pointer-events:none}
.brand-control-paint::before{content:"\e004";position:absolute;left:0;top:0;width:1em;height:1em;display:block;font-family:"ProSafe Color Marks";font-size:100cqh;font-style:normal;font-weight:400;line-height:1;letter-spacing:0;white-space:nowrap;font-synthesis:none;font-palette:normal;color:var(--orange);transform:scaleX(128);transform-origin:top left}
.gallery-filter[aria-pressed=false]>.brand-control-paint,.mobile-contact a:first-child>.brand-control-paint{display:none}
.header-inner{gap:24px}
.brand{width:260px;flex:0 0 auto}
.brand .brand-lockup{display:block;width:100%;height:auto}
h1,h2,h3,legend,.eyebrow,.small-label,.service-row summary strong,.credentials strong,.service-option strong,.coverage-regions strong,.faq summary,.footer-call>span:first-child{font-family:var(--brand-display);font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:0}
h1,h2{line-height:1.35}
.hero h1{font-size:clamp(28px,3.3vw,41px);line-height:1.35;letter-spacing:0;text-shadow:none}
.hero h1>span{white-space:nowrap}
.section-heading h2,h2,.quote h2{font-size:clamp(24px,2.8vw,38px);letter-spacing:0;line-height:1.4}
.section-heading>div{display:block}
.section-heading>div>p{max-width:600px;margin-top:24px}
.eyebrow,.small-label,.hero .eyebrow,.section-heading>.eyebrow{font-size:13px;line-height:1.8;letter-spacing:.02em}
.service-row summary strong{display:block;font-size:19px;line-height:1.65}
.service-row summary>span:nth-child(2){min-width:0}
.process-grid h3{font-size:21px;line-height:1.6}
.gallery-card h3{font-size:17px;line-height:1.9;letter-spacing:0}
.area-group>h3{font-size:18px;line-height:1.7}
.coverage-base>h3{font-size:24px;line-height:1.6;letter-spacing:0}
.coverage-regions strong{font-size:17px;line-height:1.8}
.credentials strong{font-size:16px;line-height:1.7;letter-spacing:0}
.service-option strong{font-size:15px;line-height:1.8}
legend{font-size:20px;line-height:1.7}
.faq summary{font-size:17px;line-height:1.9}
.footer-call>span:first-child{font-size:12px;line-height:1.8}
.hero-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;aspect-ratio:1;min-height:0;padding:24px 20px}
.hero-art::after{display:none}
.hero-emblem{display:block;width:65%;max-width:340px;height:auto;flex:0 0 auto}
.hero-wordmark{display:block;width:100%;height:auto;flex:0 0 auto}
.brand-lockup,.hero-emblem,.hero-wordmark,.footer-wordmark{filter:none;mix-blend-mode:normal;opacity:1}
.footer-top .footer-brand{margin:0;width:min(420px,100%);line-height:1}
.footer-brand>.footer-wordmark{display:block;width:100%;height:auto}
.button:hover{background:transparent}
@media(max-width:1100px){.brand{width:230px}}
@media(max-width:1000px){.brand{width:250px}}
@media(max-width:700px){
  .header-inner{gap:14px}
  .brand{width:clamp(174px,52vw,210px)}
  .hero h1{font-size:clamp(29px,7.7vw,44px);line-height:1.4;letter-spacing:0}
  .section-heading h2,h2,.quote h2{font-size:clamp(24px,6vw,34px);line-height:1.5;letter-spacing:0}
  .service-row summary strong{font-size:17px;line-height:1.8}
  .process-grid h3{font-size:19px;line-height:1.7}
  .gallery-card h3{font-size:clamp(14px,3.6vw,17px);line-height:2}
  .service-option strong{font-size:14px;line-height:1.8}
  .hero-art{width:min(400px,100%);padding:20px 16px;gap:26px}
  .footer-top .footer-brand{width:min(360px,100%)}
}
