/*
 Secure Bytes Solutions
 R4.0.1.2 — Unified Public Website Contract Repair
*/

:root {
    --r401-bg: #071120;
    --r401-bg-2: #091727;
    --r401-panel: rgba(13, 27, 47, .88);
    --r401-line: rgba(148, 163, 184, .18);
    --r401-line-blue: rgba(56, 189, 248, .36);
    --r401-blue: #38bdf8;
    --r401-blue-strong: #0ea5e9;
    --r401-text: #f8fafc;
    --r401-muted: #a9b8cb;
    --r401-shadow: 0 28px 70px rgba(0, 0, 0, .30);
}

/* Shared header/footer */
.r4012-site-header {
    position: sticky;
    top: 0;
    z-index: 5000;
}
.r4-site-header {
    border-bottom: 1px solid var(--r401-line) !important;
    background: rgba(7, 17, 32, .90) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 12px 35px rgba(0, 0, 0, .14);
}
.r4-header-inner {
    width: min(1240px, calc(100% - 32px));
    min-height: 80px;
    margin-inline: auto;
    display: flex;
    align-items: center;
    gap: 22px;
}
.r4-brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    text-decoration: none;
}
.r4-brand img {
    display: block;
    width: 138px;
    max-height: 58px;
    object-fit: contain;
}
.r4-desktop-nav {
    display: flex;
    flex: 1;
    justify-content: center;
    align-items: center;
    gap: 3px;
}
.r4-desktop-nav a {
    padding: 10px 10px;
    border-radius: 10px;
    color: #c8d5e4 !important;
    text-decoration: none !important;
    font-size: .88rem;
    font-weight: 760;
    line-height: 1.2;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}
.r4-desktop-nav a:hover,
.r4-desktop-nav a[aria-current="page"] {
    color: #fff !important;
    background: rgba(56, 189, 248, .10);
    transform: translateY(-1px);
}
.r4-header-cta,
.r4-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border: 1px solid transparent;
    border-radius: 12px;
    text-decoration: none !important;
    font-weight: 850;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.r4-header-cta,
.r4-button-primary {
    color: #03101d !important;
    background: linear-gradient(135deg, var(--r401-blue), var(--r401-blue-strong));
    box-shadow: 0 12px 34px rgba(14, 165, 233, .22);
}
.r4-header-cta:hover,
.r4-button:hover {
    transform: translateY(-2px);
}
.r4-button-secondary {
    color: #eaf6ff !important;
    border-color: var(--r401-line-blue);
    background: rgba(56, 189, 248, .05);
}
.r4-mobile-menu {
    display: none;
    position: relative;
}
.r4-mobile-menu summary {
    list-style: none;
    cursor: pointer;
    padding: 10px 14px;
    border: 1px solid var(--r401-line-blue);
    border-radius: 10px;
    color: #fff;
    font-weight: 850;
}
.r4-mobile-menu summary::-webkit-details-marker {
    display: none;
}
.r4-mobile-menu-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 12px);
    width: min(300px, calc(100vw - 32px));
    padding: 10px;
    border: 1px solid var(--r401-line);
    border-radius: 16px;
    background: #0a1627;
    box-shadow: var(--r401-shadow);
}
.r4-mobile-menu-panel a {
    display: block;
    padding: 11px 12px;
    border-radius: 10px;
    color: #d8e4f2 !important;
    text-decoration: none !important;
    font-weight: 760;
}
.r4-mobile-menu-panel a:hover {
    background: rgba(56, 189, 248, .09);
}
.r4-mobile-menu-panel .r4-mobile-cta {
    margin-top: 6px;
    color: #061321 !important;
    text-align: center;
    background: var(--r401-blue);
}
.r4-shell {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}
.r4-footer {
    border-top: 1px solid var(--r401-line) !important;
    background: #040b14 !important;
    color: var(--r401-text);
}
.r4-footer-grid {
    display: grid;
    grid-template-columns: 1.5fr repeat(3, 1fr);
    gap: 42px;
    padding-block: 54px;
}
.r4-footer h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: .95rem;
}
.r4-footer a,
.r4-footer span {
    display: block;
    margin: 7px 0;
    color: #97a9bd !important;
    text-decoration: none !important;
}
.r4-footer a:hover {
    color: var(--r401-blue) !important;
}
.r4-footer-brand img {
    width: 150px;
    max-height: 70px;
}
.r4-footer-brand p {
    max-width: 360px;
    color: #93a6ba;
}
.r4-footer-brand strong {
    color: #dff6ff;
}
.r4-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-block: 18px;
    border-top: 1px solid var(--r401-line);
    color: #71859b;
    font-size: .82rem;
}

/* Homepage bridge */
body.r4-home-unified {
    margin: 0;
    background:
        radial-gradient(circle at 78% 0%, rgba(14, 165, 233, .12), transparent 34rem),
        linear-gradient(180deg, #071120, #081525 55%, #050d18);
    color: var(--r401-text);
}
body.r4-home-unified .site-header,
body.r4-home-unified .mobile-menu-overlay,
body.r4-home-unified .mobile-navigation,
body.r4-home-unified footer.footer {
    display: none !important;
}
body.r4-home-unified .page-loader {
    z-index: 9000;
}
body.r4-home-unified .hero {
    min-height: min(820px, 92vh);
    padding-top: 0;
    border-bottom: 1px solid var(--r401-line);
    background-color: #071120;
}
body.r4-home-unified .hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 220px;
    pointer-events: none;
    background: linear-gradient(180deg, transparent, rgba(7, 17, 32, .88));
}
body.r4-home-unified .hero-content {
    position: relative;
    z-index: 4;
    width: min(1180px, calc(100% - 40px));
    max-width: none;
    margin-inline: auto;
    padding-top: clamp(86px, 12vh, 145px);
}
body.r4-home-unified .hero-content .eyebrow {
    color: var(--r401-blue);
    letter-spacing: .14em;
}
body.r4-home-unified .hero-content h1 {
    max-width: 900px;
    color: #fff;
    font-size: clamp(3.1rem, 7vw, 6.7rem);
    line-height: .98;
    letter-spacing: -.055em;
}
body.r4-home-unified .hero-content h2 {
    color: #d8e8f6;
}
body.r4-home-unified .hero-content p {
    max-width: 760px;
    color: #b4c4d6;
    font-size: clamp(1.02rem, 1.8vw, 1.22rem);
}
body.r4-home-unified .systems-section,
body.r4-home-unified .workmanship-section,
body.r4-home-unified .why-us-section,
body.r4-home-unified .individual-services-section,
body.r4-home-unified .securecare-section,
body.r4-home-unified .project-section {
    border-top: 1px solid var(--r401-line);
    background: linear-gradient(180deg, rgba(7,17,32,.96), rgba(7,17,32,.90));
}
body.r4-home-unified .system-card,
body.r4-home-unified .workmanship-card,
body.r4-home-unified .why-card,
body.r4-home-unified .individual-service-card,
body.r4-home-unified .securecare-card,
body.r4-home-unified .project-card,
body.r4-home-unified .project-form-shell,
body.r4-home-unified .form-container,
body.r4-home-unified .form-step {
    border-color: var(--r401-line) !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(13,27,47,.92), rgba(8,20,36,.88)) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .18);
}
body.r4-home-unified .system-card,
body.r4-home-unified .workmanship-card,
body.r4-home-unified .why-card,
body.r4-home-unified .individual-service-card,
body.r4-home-unified .securecare-card {
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
body.r4-home-unified .system-card:hover,
body.r4-home-unified .workmanship-card:hover,
body.r4-home-unified .why-card:hover,
body.r4-home-unified .individual-service-card:hover,
body.r4-home-unified .securecare-card:hover {
    transform: translateY(-4px);
    border-color: var(--r401-line-blue) !important;
    box-shadow: 0 28px 58px rgba(0, 0, 0, .25);
}
body.r4-home-unified input,
body.r4-home-unified select,
body.r4-home-unified textarea {
    border-color: rgba(148, 163, 184, .24) !important;
    border-radius: 11px !important;
}
body.r4-home-unified input:focus,
body.r4-home-unified select:focus,
body.r4-home-unified textarea:focus {
    border-color: rgba(56, 189, 248, .72) !important;
    box-shadow: 0 0 0 3px rgba(56, 189, 248, .10) !important;
}

/* Existing R3.5.6 service + service-area bridge */
body.r4-r356-page {
    margin: 0 !important;
    min-height: 100%;
    background:
        radial-gradient(circle at 82% 0%, rgba(14,165,233,.11), transparent 30rem),
        linear-gradient(180deg, #071120 0%, #081525 52%, #050d18 100%) !important;
    color: var(--r401-text) !important;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
body.r4-r356-page .r356-main {
    width: min(1180px, calc(100% - 40px)) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding: 54px 0 76px !important;
}
body.r4-r356-page .r356-breadcrumbs {
    margin-bottom: 22px;
    color: #7f93aa;
}
body.r4-r356-page .r356-breadcrumbs a {
    color: #b7c9db !important;
    text-decoration: none;
}
body.r4-r356-page .r356-breadcrumbs a:hover {
    color: var(--r401-blue) !important;
}
body.r4-r356-page .r356-service-hero,
body.r4-r356-page .r356-area-hero,
body.r4-r356-page .r356-empty {
    border: 1px solid var(--r401-line-blue) !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 88% 12%, rgba(56,189,248,.12), transparent 24rem),
        linear-gradient(180deg, rgba(13,27,47,.94), rgba(8,20,36,.90)) !important;
    box-shadow: var(--r401-shadow) !important;
}
body.r4-r356-page .r356-service-hero h1,
body.r4-r356-page .r356-area-hero h1,
body.r4-r356-page .r356-empty h1 {
    color: #fff !important;
    font-size: clamp(2.45rem, 5vw, 4.8rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
}
body.r4-r356-page .r356-service-hero p,
body.r4-r356-page .r356-area-hero p,
body.r4-r356-page .r356-empty p {
    color: #b4c4d6 !important;
}
body.r4-r356-page .r356-eyebrow,
body.r4-r356-page .r356-panel-label {
    color: var(--r401-blue) !important;
}
body.r4-r356-page .r356-panel {
    border-color: var(--r401-line) !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(13,27,47,.92), rgba(8,20,36,.87)) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .16);
}
body.r4-r356-page .r356-panel h2 {
    color: #fff !important;
}
body.r4-r356-page .r356-panel p,
body.r4-r356-page .r356-panel li {
    color: #a9b8cb !important;
}
body.r4-r356-page .r356-button {
    border-radius: 12px !important;
    border-color: var(--r401-line-blue) !important;
    background: rgba(56, 189, 248, .05) !important;
    color: #eaf6ff !important;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
body.r4-r356-page .r356-button:hover {
    transform: translateY(-2px);
}
body.r4-r356-page .r356-button-primary {
    border-color: transparent !important;
    background: linear-gradient(135deg, var(--r401-blue), var(--r401-blue-strong)) !important;
    color: #03101d !important;
    box-shadow: 0 12px 30px rgba(14, 165, 233, .20);
}
body.r4-r356-page .r356-price-grid > div,
body.r4-r356-page .r356-related-grid > a,
body.r4-r356-page .r356-hero-facts > span,
body.r4-r356-page .r356-area-grid > div,
body.r4-r356-page .r356-area-summary > div {
    border-color: var(--r401-line) !important;
    border-radius: 13px !important;
    background: rgba(7, 17, 32, .58) !important;
}
body.r4-r356-page .r356-related-grid > a {
    color: #e7f5ff !important;
    text-decoration: none !important;
}
body.r4-r356-page .r356-final-cta {
    border: 1px solid var(--r401-line-blue) !important;
    border-radius: 20px !important;
    background: #081524 !important;
}
body.r4-r356-page .r356-final-cta h2 {
    color: #fff !important;
}
body.r4-r356-page .r356-final-cta p {
    color: var(--r401-muted) !important;
}

/* R4.0.0 multipage polish */
body.r4-public-page .r4-page-hero {
    background: radial-gradient(circle at 82% 4%, rgba(56,189,248,.08), transparent 28rem);
}
body.r4-public-page .r4-card {
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
body.r4-public-page .r4-card:hover {
    transform: translateY(-4px);
}

@media (max-width: 1080px) {
    .r4-desktop-nav { display: none !important; }
    .r4-header-cta { margin-left: auto; }
    .r4-mobile-menu { display: block; }
}
@media (max-width: 780px) {
    .r4-header-inner {
        width: min(100% - 24px, 1240px);
        min-height: 70px;
    }
    .r4-brand img { width: 114px; }
    .r4-header-cta { display: none; }
    .r4-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.r4-home-unified .hero { min-height: auto; }
    body.r4-home-unified .hero-content {
        width: min(100% - 28px, 1180px);
        padding-top: 70px;
        padding-bottom: 80px;
    }
    body.r4-r356-page .r356-main {
        width: min(100% - 28px, 1180px) !important;
        padding-top: 36px !important;
    }
}
@media (max-width: 520px) {
    .r4-footer-grid { grid-template-columns: 1fr; }
    .r4-footer-bottom { display: block; }
    body.r4-home-unified .hero-content h1 {
        font-size: clamp(2.6rem, 13vw, 4.2rem);
    }
}
@media (prefers-reduced-motion: reduce) {
    body.r4-home-unified *,
    body.r4-r356-page *,
    body.r4-public-page * {
        transition: none !important;
        scroll-behavior: auto !important;
    }
}


/* ---------------------------------------------------------
   R4.0.1.2 — ACTUAL R4.0.0 MULTIPAGE MARKUP BRIDGE
   The installed R4.0.0 layout uses:
   .r4-header, .r4-header-in, .r4-nav, .r4-top-cta, .r4-menu,
   .r4-copy, rather than the later shared-chrome class names.
--------------------------------------------------------- */

body.r4-public-page .r4-header {
    position: sticky;
    top: 0;
    z-index: 5000;
    border-bottom: 1px solid var(--r401-line) !important;
    background: rgba(7, 17, 32, .90) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 12px 35px rgba(0, 0, 0, .14);
}

body.r4-public-page .r4-header-in {
    width: min(1240px, calc(100% - 32px));
    min-height: 80px;
    margin-inline: auto;
    display: flex;
    align-items: center;
    gap: 22px;
}

body.r4-public-page .r4-nav {
    display: flex;
    flex: 1;
    justify-content: center;
    align-items: center;
    gap: 3px;
}

body.r4-public-page .r4-nav a {
    padding: 10px 10px;
    border-radius: 10px;
    color: #c8d5e4 !important;
    text-decoration: none !important;
    font-size: .88rem;
    font-weight: 760;
    line-height: 1.2;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

body.r4-public-page .r4-nav a:hover,
body.r4-public-page .r4-nav a[aria-current="page"] {
    color: #fff !important;
    background: rgba(56, 189, 248, .10);
    transform: translateY(-1px);
}

body.r4-public-page .r4-top-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 12px;
    color: #03101d !important;
    text-decoration: none !important;
    font-weight: 850;
    background: linear-gradient(135deg, var(--r401-blue), var(--r401-blue-strong));
    box-shadow: 0 12px 34px rgba(14, 165, 233, .22);
    transition: transform .2s ease, box-shadow .2s ease;
}

body.r4-public-page .r4-top-cta:hover {
    transform: translateY(-2px);
}

body.r4-public-page .r4-menu {
    display: none;
    position: relative;
}

body.r4-public-page .r4-menu summary {
    list-style: none;
    cursor: pointer;
    padding: 10px 14px;
    border: 1px solid var(--r401-line-blue);
    border-radius: 10px;
    color: #fff;
    font-weight: 850;
}

body.r4-public-page .r4-menu summary::-webkit-details-marker {
    display: none;
}

body.r4-public-page .r4-menu > div {
    position: absolute;
    right: 0;
    top: calc(100% + 12px);
    width: min(300px, calc(100vw - 32px));
    padding: 10px;
    border: 1px solid var(--r401-line);
    border-radius: 16px;
    background: #0a1627;
    box-shadow: var(--r401-shadow);
}

body.r4-public-page .r4-menu > div > a {
    display: block;
    padding: 11px 12px;
    border-radius: 10px;
    color: #d8e4f2 !important;
    text-decoration: none !important;
    font-weight: 760;
}

body.r4-public-page .r4-menu > div > a:hover {
    background: rgba(56, 189, 248, .09);
}

body.r4-public-page .r4-menu .r4-menu-cta {
    margin-top: 6px;
    color: #061321 !important;
    text-align: center;
    background: var(--r401-blue);
}

body.r4-public-page .r4-footer .r4-copy {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-block: 18px;
    border-top: 1px solid var(--r401-line);
    color: #71859b;
    font-size: .82rem;
}

@media (max-width: 1080px) {
    body.r4-public-page .r4-nav {
        display: none !important;
    }

    body.r4-public-page .r4-top-cta {
        margin-left: auto;
    }

    body.r4-public-page .r4-menu {
        display: block;
    }
}

@media (max-width: 780px) {
    body.r4-public-page .r4-header-in {
        width: min(100% - 24px, 1240px);
        min-height: 70px;
    }

    body.r4-public-page .r4-top-cta {
        display: none;
    }
}

@media (max-width: 520px) {
    body.r4-public-page .r4-footer .r4-copy {
        display: block;
    }
}

/* SBS-R4033332-CANONICAL-MOBILE-NAV */
.sbs-public-mobile-nav{display:none}

@media (max-width:1080px){
  .r4-header-cta{display:none!important}
  .sbs-public-mobile-nav{
    position:static!important;display:block!important;flex:0 0 auto!important;
    margin:0!important;padding:0!important;z-index:9100!important
  }
  .sbs-public-mobile-nav>summary{list-style:none!important}
  .sbs-public-mobile-nav>summary::-webkit-details-marker{display:none!important}
  .sbs-public-mobile-nav-trigger{
    box-sizing:border-box!important;display:inline-flex!important;
    align-items:center!important;justify-content:center!important;
    min-width:70px!important;min-height:42px!important;margin:0!important;
    padding:9px 13px!important;border:1px solid rgba(56,189,248,.62)!important;
    border-radius:9px!important;background:rgba(7,24,43,.98)!important;
    color:#edf8ff!important;font-family:inherit!important;font-size:.88rem!important;
    font-weight:850!important;line-height:1!important;letter-spacing:.01em!important;
    text-align:center!important;text-decoration:none!important;cursor:pointer!important;
    user-select:none!important;opacity:1!important;visibility:visible!important;
    transform:none!important
  }
  .sbs-public-mobile-nav-panel{
    box-sizing:border-box!important;position:fixed!important;top:104px!important;
    left:10px!important;right:10px!important;bottom:auto!important;width:auto!important;
    min-width:0!important;max-width:none!important;max-height:calc(100dvh - 116px)!important;
    margin:0!important;padding:10px!important;display:none!important;
    flex-direction:column!important;gap:4px!important;overflow-x:hidden!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;
    border:1px solid rgba(56,189,248,.36)!important;border-radius:15px!important;
    background:#071321!important;box-shadow:0 28px 80px rgba(0,0,0,.58)!important;
    opacity:1!important;visibility:visible!important;transform:none!important;
    translate:none!important;text-indent:0!important;z-index:9200!important
  }
  .sbs-public-mobile-nav[open]>.sbs-public-mobile-nav-panel{display:flex!important}
  .sbs-public-mobile-nav-panel>a{
    box-sizing:border-box!important;position:relative!important;inset:auto!important;
    display:flex!important;align-items:center!important;justify-content:flex-start!important;
    width:100%!important;min-width:0!important;max-width:100%!important;
    min-height:43px!important;margin:0!important;padding:10px 12px!important;
    border:1px solid transparent!important;border-radius:9px!important;
    background:rgba(255,255,255,.018)!important;color:#edf8ff!important;
    font-family:inherit!important;font-size:.94rem!important;font-weight:800!important;
    line-height:1.2!important;letter-spacing:0!important;text-align:left!important;
    text-decoration:none!important;text-transform:none!important;white-space:normal!important;
    overflow:visible!important;opacity:1!important;visibility:visible!important;
    transform:none!important;translate:none!important;text-indent:0!important;
    pointer-events:auto!important
  }
  .sbs-public-mobile-nav-panel>a:hover,
  .sbs-public-mobile-nav-panel>a:focus-visible{
    border-color:rgba(56,189,248,.32)!important;
    background:rgba(56,189,248,.09)!important;color:#fff!important;outline:none!important
  }
  .sbs-public-mobile-nav-panel>.sbs-public-mobile-nav-cta{
    justify-content:center!important;margin-top:5px!important;border-color:transparent!important;
    background:linear-gradient(135deg,#38bdf8,#0ea5e9)!important;color:#04111e!important;
    font-weight:900!important;text-align:center!important
  }
}
@media (max-width:480px){
  .sbs-public-mobile-nav-panel{
    top:98px!important;left:7px!important;right:7px!important;
    max-height:calc(100dvh - 108px)!important;padding:8px!important;border-radius:13px!important
  }
  .sbs-public-mobile-nav-trigger{
    min-width:64px!important;min-height:40px!important;padding:8px 11px!important;font-size:.84rem!important
  }
  .sbs-public-mobile-nav-panel>a{
    min-height:42px!important;padding:10px 11px!important;font-size:.92rem!important
  }
}
@media (min-width:1081px){.sbs-public-mobile-nav{display:none!important}}
