:root {
  --primary: #044c94;
  --primaryLight: #1c5c9c;
  --secondary: #6494cc;
  --secondaryLight: #cce4f4;
  --headerColor: #141615;
  --bodyTextColor: #585b5d;
  --bodyTextColorWhite: #fff;
  --topperFontSize: clamp(0.8125rem, 1.6vw, 1rem);
  --headerFontSize: clamp(1.9375rem, 3.9vw, 3.0625rem);
  --bodyFontSize: 1rem;
  --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
  --secondaryDark: #044c94;
  --dark: #0b1f33;
  --medium: #14314d;
  --accent: #1c5c9c;
  --headerHeight: 8.5rem;
  --headerFont: "Barlow", Arial, sans-serif;
  --bodyFont: "Roboto", Arial, sans-serif;
  --primaryDark: #033a72;
  --primaryDarker: #022546;
  --light: #ffffff;
  --lightGrey: #f5f5f5;
  --accentColor: #6494cc;
  --tertiary: #6494cc;
  --primaryShade: #0a2e54;
  --secondaryShade: #244f7a;
  --darkPrimary: #062d54;
  --accessible: #044c94;
  --accessible2: #1c5c9c;
  --primaryAccessible: #033a72;
  --headerColorWhite: #ffffff;
  --darkText: #141615;
  --pb-body-font: 'Roboto', 'Roboto', Arial, sans-serif;
  --pb-heading-font: 'Barlow', 'Roboto', Arial, sans-serif;
}

/* Global reset — dropped by this PageStitch export (only body{font-family} survived).
   Restored from the original template. Fixes the ~8px default body margin that showed as
   thin strips on both sides, and hides horizontal overflow from 100vw / full-bleed elements. */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
body { margin: 0; padding: 0; overflow-x: hidden; }

.skip {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
}
.skip:focus {
  left: 1rem;
  top: 1rem;
  width: auto;
  height: auto;
  overflow: visible;
  z-index: 99999;
  padding: 0.75rem 1rem;
  background: var(--primary, #000);
  color: #fff;
  text-decoration: none;
}

/* pb-logo-runtime-v2 */
.logo,.cs-logo,.navbar-brand,.brand,.footer-logo{--pb-logo-hover-scale:1;--pb-logo-hover-y:0rem;--pb-logo-hover-rotate:0deg;--pb-logo-hover-filter:none;--pb-logo-hover-opacity:1}
.logo-slot{position:relative!important;display:inline-block;--pb-logo-tx-active:var(--pb-logo-tx,0);--pb-logo-ty-active:var(--pb-logo-ty,0);--pb-logo-tx-pct-active:var(--pb-logo-tx-pct,0%);--pb-logo-ty-pct-active:var(--pb-logo-ty-pct,0%);--pb-logo-scale-active:var(--pb-logo-scale,1);--pb-logo-slot-width-active:var(--pb-logo-slot-width,100%);width:var(--pb-logo-slot-width-active,100%);height:var(--pb-logo-slot-height,100%);aspect-ratio:var(--pb-logo-aspect-ratio,auto);flex-shrink:0}
.logo-slot>img,.logo-slot>svg,.logo-slot>picture{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain;object-position:center;transform-origin:center center;transform:translate(var(--pb-logo-tx-pct-active,0%),var(--pb-logo-ty-pct-active,0%)) translateY(var(--pb-logo-hover-y,0rem)) rotate(var(--pb-logo-hover-rotate,0deg)) scale(var(--pb-logo-scale-active,1)) scale(var(--pb-logo-hover-scale,1));filter:var(--pb-logo-hover-filter,none);opacity:var(--pb-logo-hover-opacity,1);transition:transform .25s ease,filter .25s ease,opacity .25s ease}
.logo-slot>picture>img{width:100%!important;height:100%!important;object-fit:contain;object-position:center}
.logo:hover,.cs-logo:hover,.navbar-brand:hover,.brand:hover,.footer-logo:hover{cursor:pointer}
.logo[data-logo-hover="scale"]:hover,.cs-logo[data-logo-hover="scale"]:hover,.navbar-brand[data-logo-hover="scale"]:hover,.brand[data-logo-hover="scale"]:hover,.footer-logo[data-logo-hover="scale"]:hover{--pb-logo-hover-scale:1.05}
.logo[data-logo-hover="lift"]:hover,.cs-logo[data-logo-hover="lift"]:hover,.navbar-brand[data-logo-hover="lift"]:hover,.brand[data-logo-hover="lift"]:hover,.footer-logo[data-logo-hover="lift"]:hover{--pb-logo-hover-y:-.125rem;--pb-logo-hover-filter:drop-shadow(0 .5rem .75rem rgba(0,0,0,.18))}
.logo[data-logo-hover="rotate"]:hover,.cs-logo[data-logo-hover="rotate"]:hover,.navbar-brand[data-logo-hover="rotate"]:hover,.brand[data-logo-hover="rotate"]:hover,.footer-logo[data-logo-hover="rotate"]:hover{--pb-logo-hover-rotate:-3deg}
.logo[data-logo-hover="shimmer"]:hover .logo-slot>img,.logo[data-logo-hover="shimmer"]:hover .logo-slot>svg,.logo[data-logo-hover="shimmer"]:hover .logo-slot>picture,.cs-logo[data-logo-hover="shimmer"]:hover .logo-slot>img,.cs-logo[data-logo-hover="shimmer"]:hover .logo-slot>svg,.cs-logo[data-logo-hover="shimmer"]:hover .logo-slot>picture,.navbar-brand[data-logo-hover="shimmer"]:hover .logo-slot>img,.navbar-brand[data-logo-hover="shimmer"]:hover .logo-slot>svg,.navbar-brand[data-logo-hover="shimmer"]:hover .logo-slot>picture,.brand[data-logo-hover="shimmer"]:hover .logo-slot>img,.brand[data-logo-hover="shimmer"]:hover .logo-slot>svg,.brand[data-logo-hover="shimmer"]:hover .logo-slot>picture,.footer-logo[data-logo-hover="shimmer"]:hover .logo-slot>img,.footer-logo[data-logo-hover="shimmer"]:hover .logo-slot>svg,.footer-logo[data-logo-hover="shimmer"]:hover .logo-slot>picture{animation:pb-logo-shimmer .8s ease-in-out}
.logo[data-logo-hover="color-shift"]:hover,.cs-logo[data-logo-hover="color-shift"]:hover,.navbar-brand[data-logo-hover="color-shift"]:hover,.brand[data-logo-hover="color-shift"]:hover,.footer-logo[data-logo-hover="color-shift"]:hover{--pb-logo-hover-filter:hue-rotate(24deg)}
@media (max-width:47.999rem){.logo-slot{--pb-logo-tx-active:var(--pb-logo-tx-mobile,var(--pb-logo-tx,0));--pb-logo-ty-active:var(--pb-logo-ty-mobile,var(--pb-logo-ty,0));--pb-logo-tx-pct-active:var(--pb-logo-tx-pct-mobile,var(--pb-logo-tx-pct,0%));--pb-logo-ty-pct-active:var(--pb-logo-ty-pct-mobile,var(--pb-logo-ty-pct,0%));--pb-logo-scale-active:var(--pb-logo-scale-mobile,var(--pb-logo-scale,1));--pb-logo-slot-width-active:var(--pb-logo-slot-width-mobile,var(--pb-logo-slot-width,100%))}}
@media (min-width:48rem) and (max-width:63.999rem){.logo-slot{--pb-logo-tx-active:var(--pb-logo-tx-tablet,var(--pb-logo-tx,0));--pb-logo-ty-active:var(--pb-logo-ty-tablet,var(--pb-logo-ty,0));--pb-logo-tx-pct-active:var(--pb-logo-tx-pct-tablet,var(--pb-logo-tx-pct,0%));--pb-logo-ty-pct-active:var(--pb-logo-ty-pct-tablet,var(--pb-logo-ty-pct,0%));--pb-logo-scale-active:var(--pb-logo-scale-tablet,var(--pb-logo-scale,1));--pb-logo-slot-width-active:var(--pb-logo-slot-width-tablet,var(--pb-logo-slot-width,100%))}}
@media (min-width:64rem){.logo-slot{--pb-logo-tx-active:var(--pb-logo-tx-desktop,var(--pb-logo-tx,0));--pb-logo-ty-active:var(--pb-logo-ty-desktop,var(--pb-logo-ty,0));--pb-logo-tx-pct-active:var(--pb-logo-tx-pct-desktop,var(--pb-logo-tx-pct,0%));--pb-logo-ty-pct-active:var(--pb-logo-ty-pct-desktop,var(--pb-logo-ty-pct,0%));--pb-logo-scale-active:var(--pb-logo-scale-desktop,var(--pb-logo-scale,1));--pb-logo-slot-width-active:var(--pb-logo-slot-width-desktop,var(--pb-logo-slot-width,100%))}}
@keyframes pb-logo-shimmer{0%,100%{opacity:1}50%{opacity:.68}}
@media (prefers-reduced-motion:reduce){.logo,.logo:hover,.logo[data-logo-hover]:hover,.cs-logo,.cs-logo:hover,.cs-logo[data-logo-hover]:hover,.navbar-brand,.navbar-brand:hover,.navbar-brand[data-logo-hover]:hover,.brand,.brand:hover,.brand[data-logo-hover]:hover,.footer-logo,.footer-logo:hover,.footer-logo[data-logo-hover]:hover{--pb-logo-hover-scale:1;--pb-logo-hover-y:0rem;--pb-logo-hover-rotate:0deg;--pb-logo-hover-filter:none}.logo-slot>img,.logo-slot>svg,.logo-slot>picture{animation:none!important;transition:none!important}}

/* pb-image-runtime-v1 */
img[data-image-edit]{--pb-image-tx-pct:0%;--pb-image-ty-pct:0%;--pb-image-scale:1;--pb-image-hover-scale:1;--pb-image-hover-y:0rem;--pb-image-hover-rotate:0deg;--pb-image-static-filter:brightness(1);--pb-image-hover-filter:brightness(1);--pb-image-hover-opacity:1;transform-origin:center center;transform:translate(var(--pb-image-tx-pct,0%),var(--pb-image-ty-pct,0%)) translateY(var(--pb-image-hover-y,0rem)) rotate(var(--pb-image-hover-rotate,0deg)) scale(var(--pb-image-scale,1)) scale(var(--pb-image-hover-scale,1));filter:var(--pb-image-static-filter,brightness(1)) var(--pb-image-hover-filter,brightness(1));opacity:var(--pb-image-hover-opacity,1);transition:transform .25s ease,filter .25s ease,opacity .25s ease}
img[data-image-dragging]{transition:none!important}
img[data-image-effect="dim"]{--pb-image-static-filter:brightness(.6)}
img[data-image-effect="darken"]{--pb-image-static-filter:brightness(.42)}
img[data-image-effect="grayscale"]{--pb-image-static-filter:grayscale(1)}
img[data-image-effect="warm"]{--pb-image-static-filter:saturate(1.25) sepia(.35) hue-rotate(-10deg)}
img[data-image-effect="cool"]{--pb-image-static-filter:saturate(1.15) hue-rotate(12deg) brightness(1.02)}
img[data-image-hover="scale"]:hover{--pb-image-hover-scale:1.05}
img[data-image-hover="lift"]:hover{--pb-image-hover-y:-.25rem;--pb-image-hover-filter:drop-shadow(0 .5rem .75rem rgba(0,0,0,.18))}
img[data-image-hover="rotate"]:hover{--pb-image-hover-rotate:-2deg}
img[data-image-hover="shimmer"]:hover{animation:pb-image-shimmer .8s ease-in-out}
img[data-image-hover="color-shift"]:hover{--pb-image-hover-filter:hue-rotate(24deg)}
@keyframes pb-image-shimmer{0%,100%{opacity:1}50%{opacity:.68}}
@media (prefers-reduced-motion:reduce){img[data-image-edit],img[data-image-hover]:hover{--pb-image-hover-scale:1;--pb-image-hover-y:0rem;--pb-image-hover-rotate:0deg;--pb-image-hover-filter:brightness(1)}img[data-image-edit]{animation:none!important;transition:none!important}}

/* pb-font-runtime-v1 */

/* Page Builder CodeStitch baseline */
.cs-button-solid{font-size:1rem;line-height:clamp(2.875rem,5.5vw,3.5rem);text-decoration:none;font-weight:700;text-align:center;width:auto;min-width:9.375rem;margin:0;padding:0 1.5rem;background-color:var(--primary);color:#fff;border-radius:.25rem;display:inline-block;position:relative;z-index:1;box-sizing:border-box;transition:color .3s,background-color .3s,border-color .3s}
.cs-button-solid:hover{cursor:pointer}
.cs-button-transparent,.cs-button-outline,.button-transparent,.cs-button-solid.cs-outline{font-size:1rem;line-height:clamp(2.875rem,5.5vw,3.5rem);text-decoration:none;font-weight:700;text-align:center;width:auto;min-width:9.375rem;margin:0;padding:0 1.5rem;background-color:transparent;color:var(--primary);border:1px solid currentColor;border-radius:.25rem;display:inline-block;position:relative;z-index:1;box-sizing:border-box;transition:color .3s,background-color .3s,border-color .3s}
.cs-button-transparent:hover,.cs-button-outline:hover,.button-transparent:hover,.cs-button-solid.cs-outline:hover{cursor:pointer;background-color:var(--primary);border-color:var(--primary);color:#fff}
.cs-button-secondary,.cs-button-solid.cs-secondary{font-size:1rem;line-height:clamp(2.875rem,5.5vw,3.5rem);text-decoration:none;font-weight:700;text-align:center;width:auto;min-width:9.375rem;margin:0;padding:0 1.5rem;background-color:var(--secondary);color:#fff;border-radius:.25rem;display:inline-block;position:relative;z-index:1;box-sizing:border-box;transition:color .3s,background-color .3s,border-color .3s}
.cs-button-secondary:hover,.cs-button-solid.cs-secondary:hover{cursor:pointer;background-color:var(--primary)}

body.dark-mode{background-color:var(--dark, #082032)}
body.dark-mode p,body.dark-mode li,body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4,body.dark-mode h5,body.dark-mode h6{color:#fff}
body.dark-mode .cs-topper{color:var(--primary)}
.cs-dark,.dark{display:none}
body.dark-mode .cs-light,body.dark-mode .light{display:none}
body.dark-mode .cs-dark,body.dark-mode .dark{display:block!important}

@media only screen and (min-width:0em){
  body.dark-mode [id^="dark-mode-toggle"] .cs-sun{transform:translate(-50%,-50%);opacity:1}
  body.dark-mode [id^="dark-mode-toggle"] .cs-moon{transform:translate(-50%,-150%);opacity:0;fill:#fff}
  [id^="dark-mode-toggle"]{display:block;position:absolute;top:50%;right:3.75rem;transform:translateY(-50%);width:3rem;height:3rem;background:transparent;border:none;overflow:hidden;padding:0;z-index:1000}
  [id^="dark-mode-toggle"] img,[id^="dark-mode-toggle"] svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1.5625rem;height:1.5625rem;pointer-events:none}
  [id^="dark-mode-toggle"] .cs-moon{z-index:2;transition:transform .3s,opacity .3s,fill .3s}
  [id^="dark-mode-toggle"] .cs-sun{z-index:1;transform:translate(-50%,100%);opacity:0;transition:transform .3s,opacity .3s}
  .cs-hide-on-mobile{display:none!important}
}
@media only screen and (min-width:64rem){
  [id^="dark-mode-toggle"]{position:relative;top:auto;right:auto;transform:none;margin-left:1.875rem;margin-bottom:0}
  [id^="dark-mode-toggle"]:hover{cursor:pointer}
  .cs-hide-on-mobile{display:initial!important}
  .cs-hide-on-desktop{display:none!important}
}

/* Keep the header "Get a Quote" pill on one line and stop it from shrinking in the flex row */
#cs-navigation .cs-button-border { flex: none; white-space: nowrap; }

/* Mobile nav logo: color logo on the white light-mode bar, white logo on the dark-mode bar */
#cs-navigation .cs-mobile .ww-logo-dark { display: none; }
body.dark-mode #cs-navigation .cs-mobile .ww-logo-light { display: none; }
body.dark-mode #cs-navigation .cs-mobile .ww-logo-dark { display: block; }

body { font-family: 'Roboto', Arial, sans-serif; }

h1,h2,h3,h4,h5,h6,.cs-title,.cs-h3,.cs-topper { font-family: 'Barlow', 'Roboto', Arial, sans-serif; font-weight: 700; }

/* Base CodeStitch section typography — this PageStitch export shipped only per-section
   overrides (e.g. max-width) and dropped the shared .cs-topper / .cs-title / .cs-text
   defaults, leaving toppers and non-hero headings unstyled. Restored verbatim from the
   original template (_reference/clarkes-construction.netlify.app). Section-scoped #id
   rules (like the hero's white title) still win via higher specificity. */
.cs-topper {
  display: block;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
  font-size: var(--topperFontSize);
  line-height: 1.2em;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: var(--primary);
  text-align: inherit;
}

/* Bold header navigation links */
#cs-navigation .cs-li-link { font-weight: 700; }

/* Keep the CTA contact-row icon boxes square — without flex:none the flex row shrinks
   their width (while height stays fixed) when the text column is long, squishing them. */
#cta-2298 .cs-wrapper { flex: none; }
/* The section ships word-break:break-all, which splits words like "Metroplex" mid-letter.
   Break only at word boundaries (still wraps long strings like the email if needed). */
#cta-2298 .cs-link { word-break: normal; overflow-wrap: break-word; }
.cs-title {
  position: relative;
  margin: 0 0 1rem 0;
  max-width: 43.75rem;
  text-transform: uppercase;
  font-family: var(--headerFont);
  font-size: var(--headerFontSize);
  line-height: 1.2em;
  font-weight: 900;
  color: var(--headerColor);
  text-align: inherit;
}
.cs-text {
  margin: 0;
  max-width: 40.625rem;
  width: 100%;
  font-size: var(--bodyFontSize);
  line-height: 1.5em;
  color: var(--bodyTextColor);
  text-align: inherit;
}

/* Primary buttons — the export re-styled these (rounded corners, mixed-case, arrow beside
   the text). Restored to the original CodeStitch style: uppercase, square corners, arrow
   pushed to the right (space-between), plus the slide-fill hover the export had dropped. */
.cs-button-solid {
  z-index: 1;
  position: relative;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  margin: 0;
  padding: 0 1.75rem;
  border: none;
  border-radius: 0;
  overflow: hidden;
  background-color: var(--primary);
  text-decoration: none;
  text-transform: uppercase;
  font-size: 1rem;
  line-height: clamp(2.875rem, 5.5vw, 3.5rem);
  font-weight: 700;
  color: #fff;
  text-align: center;
  transition: color 0.3s;
}
.cs-button-solid::before {
  content: "";
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0%;
  height: 100%;
  background: var(--primaryDarker);
  transition: width 0.3s;
}
.cs-button-solid:hover { color: #fff; }
.cs-button-solid:hover::before { width: 100%; }

/* Footer logo lost its sizing wrapper when the logo-slot markup was removed; the raw
   1024px SVG rendered at natural size. Constrain it to a sensible footer size. */
#cs-footer-2298 .cs-logo { display: inline-block; width: auto; max-width: none; }
#cs-footer-2298 .cs-logo-img {
  display: block;
  width: clamp(9rem, 22vw, 12rem);
  height: auto;
}


.pb-inline-color-accent {
  color: var(--primary, #ff6a3e) !important;
}
.pb-inline-color-heading {
  color: var(--headerColor, #1a1a1a) !important;
}
.pb-inline-color-body {
  color: var(--bodyTextColor, #4e4b66) !important;
}


/* pb-font-runtime-v1 */

@media (hover: none), (pointer: coarse) {
  :is(a[href], button, .cs-button-solid, .cs-button-stroke, .cs-button-transparent, .cs-li-link, .hamburger-menu, .theme-toggle, #dark-mode-toggle, #go-top, #pb-go-top, [data-press]) {
    transform-origin: center;
    transition: transform 160ms ease, filter 160ms ease, background-color 160ms ease, color 160ms ease;
  }

  :is(a[href], button, .cs-button-solid, .cs-button-stroke, .cs-button-transparent, .cs-li-link, .hamburger-menu, .theme-toggle, #dark-mode-toggle, #go-top, #pb-go-top, [data-press]).is-pressed {
    transform: translateY(1px) scale(0.985);
    filter: brightness(0.96);
  }

  :is(.cs-button-solid, .cs-button-stroke, .cs-button-transparent).is-pressed {
    background-color: var(--headerColor, #1a1a1a);
    color: var(--bodyTextColorWhite, #fff);
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(a[href], button, .cs-button-solid, .cs-button-stroke, .cs-button-transparent, .cs-li-link, .hamburger-menu, .theme-toggle, #dark-mode-toggle, #go-top, #pb-go-top, [data-press]) {
    transition-duration: 0s;
  }
}


html.pb-theme-transition-active::view-transition-old(root),
html.pb-theme-transition-active::view-transition-new(root) {
  animation-duration: 520ms;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  animation-fill-mode: both;
  mix-blend-mode: normal;
}

html.pb-theme-transition-active::view-transition-old(root) {
  animation-name: none;
}

html.pb-theme-transition-active::view-transition-new(root) {
  animation-name: pb-theme-wipe-in;
}

@keyframes pb-theme-wipe-in {
  from {
    clip-path: var(--pb-theme-clip-from);
  }
  to {
    clip-path: var(--pb-theme-clip-to);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.pb-theme-transition-active::view-transition-old(root),
  html.pb-theme-transition-active::view-transition-new(root) {
    animation: none !important;
  }
}


@supports selector(label:has(> input)) {
  body:not(.pb-floating-labels-off) form label:has(> input:not([type="checkbox"]):not([type="radio"])),
  body:not(.pb-floating-labels-off) form label:has(> textarea),
  body:not(.pb-floating-labels-off) form label:has(+ input:not([type="checkbox"]):not([type="radio"])),
  body:not(.pb-floating-labels-off) form label:has(+ textarea) {
    display: block;
    color: var(--bodyTextColor, #4e4b66);
    transition: color 180ms ease, font-size 180ms ease, transform 180ms ease;
  }

  body:not(.pb-floating-labels-off) form label:has(> input[placeholder]:not(:focus):placeholder-shown),
  body:not(.pb-floating-labels-off) form label:has(> textarea[placeholder]:not(:focus):placeholder-shown),
  body:not(.pb-floating-labels-off) form label:has(+ input[placeholder]:not(:focus):placeholder-shown),
  body:not(.pb-floating-labels-off) form label:has(+ textarea[placeholder]:not(:focus):placeholder-shown) {
    font-size: 0 !important;
    line-height: 0 !important;
  }

  body:not(.pb-floating-labels-off) form label:has(> input:focus),
  body:not(.pb-floating-labels-off) form label:has(> input:not(:placeholder-shown)),
  body:not(.pb-floating-labels-off) form label:has(> input:not([placeholder])),
  body:not(.pb-floating-labels-off) form label:has(> textarea:focus),
  body:not(.pb-floating-labels-off) form label:has(> textarea:not(:placeholder-shown)),
  body:not(.pb-floating-labels-off) form label:has(> textarea:not([placeholder])),
  body:not(.pb-floating-labels-off) form label:has(+ input:focus),
  body:not(.pb-floating-labels-off) form label:has(+ input:not(:placeholder-shown)),
  body:not(.pb-floating-labels-off) form label:has(+ input:not([placeholder])),
  body:not(.pb-floating-labels-off) form label:has(+ textarea:focus),
  body:not(.pb-floating-labels-off) form label:has(+ textarea:not(:placeholder-shown)),
  body:not(.pb-floating-labels-off) form label:has(+ textarea:not([placeholder])) {
    color: var(--primary, #ff6a3e) !important;
    font-size: 0.78rem !important;
    line-height: 1.2 !important;
    transform: translateY(-0.125rem);
  }

  body:not(.pb-floating-labels-off) form label:has(> :is(input, textarea):focus) > :is(input, textarea)::placeholder,
  body:not(.pb-floating-labels-off) form label:has(+ :is(input, textarea):focus) + :is(input, textarea)::placeholder {
    opacity: 0.18;
  }

  body:not(.pb-floating-labels-off) form input:not([type="checkbox"]):not([type="radio"])::placeholder,
  body:not(.pb-floating-labels-off) form textarea::placeholder {
    transition: opacity 180ms ease, color 180ms ease;
  }

  @media (prefers-reduced-motion: reduce) {
    body:not(.pb-floating-labels-off) form label,
    body:not(.pb-floating-labels-off) form input::placeholder,
    body:not(.pb-floating-labels-off) form textarea::placeholder {
      transition-duration: 0s !important;
    }
  }
}


.pb-go-top-progress {
  --pb-scroll-progress: 0;
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  width: 3rem;
  height: 3rem;
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.5rem) scale(0.96);
  transition: opacity 180ms ease, transform 180ms ease;
  z-index: 9999;
}

.pb-go-top-progress.pb-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.pb-progress-ring {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.pb-progress-ring-track,
.pb-progress-ring-fill {
  fill: none;
  stroke-width: 2.5;
}

.pb-progress-ring-track {
  stroke: rgba(0, 0, 0, 0.16);
}

.pb-progress-ring-fill {
  stroke: var(--primary, #ff6a3e);
  stroke-dasharray: 1;
  stroke-dashoffset: calc(1 - var(--pb-scroll-progress, 0));
  stroke-linecap: round;
}

#pb-go-top {
  position: absolute;
  inset: 0.375rem;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: var(--headerColor, #1a1a1a);
  color: var(--bodyTextColorWhite, #fff);
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.18);
}

#pb-go-top svg {
  width: 1.125rem;
  height: 1.125rem;
}

#pb-go-top path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (prefers-reduced-motion: reduce) {
  .pb-go-top-progress {
    transition-duration: 0s !important;
  }

  #pb-go-top {
    scroll-behavior: auto;
  }
}


@view-transition {
  navigation: auto;
}

main {
  view-transition-name: pb-main;
}

header {
  view-transition-name: pb-header;
}

footer {
  view-transition-name: pb-footer;
}

::view-transition-old(pb-main) {
  animation: pb-fade-out 250ms ease both;
}

::view-transition-new(pb-main) {
  animation: pb-slide-up-fade 300ms ease both;
}

@keyframes pb-fade-out {
  to {
    opacity: 0;
  }
}

@keyframes pb-slide-up-fade {
  from {
    opacity: 0;
    transform: translateY(0.75rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(*),
  ::view-transition-new(*) {
    animation: none !important;
  }
}

/* When a theme toggle is animating, collapse named per-element snapshots into
   the single viewport-sized root snapshot. Otherwise the browser snapshots
   full-height <main> twice per toggle, freezing the page; the wipe is also
   invisible because content lives in the pb-main group instead of root. */
html.pb-theme-transition-active main,
html.pb-theme-transition-active header,
html.pb-theme-transition-active footer {
  view-transition-name: none;
}
