
/* consolidation-src/services.css */
:root{--ink:#173646;--slate:#58727f;--blue:#168fca;--blue-dark:#0c729f;--ice:#e7f6fc;--white:#fff;--line:rgba(23,54,70,.15);--shadow:0 20px 60px rgba(34,76,97,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#f5fafc;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}
.site-header{position:fixed;inset:0 0 auto;z-index:20;height:90px;padding:0 clamp(24px,4vw,70px);display:flex;align-items:center;justify-content:space-between;gap:28px;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);box-shadow:0 8px 35px rgba(34,76,97,.07);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:15px;color:#516b78;font-size:clamp(14px,1.05vw,17px);font-weight:600;letter-spacing:.075em;line-height:1;white-space:nowrap}.brand-mark{width:48px;height:48px;flex:0 0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:3px}.brand-mark i{display:block;background:linear-gradient(135deg,#f6fdff 5%,#a9dff2 52%,#48add9 100%);border:1px solid rgba(21,128,174,.28);box-shadow:inset 2px 2px 5px rgba(255,255,255,.8)}
.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2.1vw,36px)}.desktop-nav a{position:relative;padding:35px 0 33px;font-size:clamp(13px,.9vw,15px);letter-spacing:.035em;white-space:nowrap}.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:25px;height:2px;background:var(--blue);transition:right .25s ease}.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after,.desktop-nav a.active::after{right:0}
.quote-link{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;gap:18px;border:1px solid var(--line);background:rgba(247,251,253,.92);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.quote-link span{color:var(--blue);font-size:17px}.menu-toggle{display:none;width:46px;height:46px;padding:12px;border:1px solid var(--line);background:#fff;cursor:pointer}.menu-toggle span{display:block;height:1px;margin:5px 0;background:var(--ink)}.mobile-nav{position:fixed;z-index:19;top:74px;left:0;right:0;padding:10px 24px 24px;display:none;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.mobile-nav.open{display:grid}.mobile-nav a{padding:14px 0;border-bottom:1px solid var(--line)}
.intro{position:relative;min-height:590px;padding:190px clamp(32px,8vw,150px) 90px;overflow:hidden;background:linear-gradient(115deg,#fafdfe 0%,#e5f4f9 75%,#d8edf5 100%)}.intro::after{content:"";position:absolute;width:530px;height:530px;right:-100px;top:80px;border:1px solid rgba(22,143,202,.18);transform:rotate(45deg);box-shadow:inset 0 0 90px rgba(255,255,255,.7)}.intro-grid{position:absolute;inset:90px 0 0 47%;opacity:.6;background-image:linear-gradient(rgba(22,143,202,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(22,143,202,.11) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,#000)}.eyebrow{position:relative;z-index:2;margin:0 0 24px;display:flex;align-items:center;gap:12px;color:#337b9c;font-size:11px;letter-spacing:.2em;text-transform:uppercase}.eyebrow::before{content:"";width:27px;height:1px;background:var(--blue)}.intro-heading{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:end;gap:clamp(50px,8vw,140px)}h1{margin:0;font-size:clamp(58px,7vw,104px);font-weight:300;letter-spacing:-.06em;line-height:.91}h1 em,.cta h2 em{color:var(--blue);font-family:Georgia,"Times New Roman",serif;font-weight:400}.specialist-copy{max-width:470px;margin:0 0 8px;color:var(--slate);font-size:16px;line-height:1.7}.intro-copy{position:relative;z-index:2;max-width:570px;margin:34px 0 0;color:var(--slate);font-size:clamp(16px,1.3vw,20px);line-height:1.7}.scroll-cue{position:absolute;z-index:2;right:clamp(32px,8vw,150px);bottom:64px;display:flex;gap:28px;align-items:center;color:#337b9c;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.scroll-cue span{font-size:18px}
.services{padding:110px clamp(24px,4vw,78px) 130px;background:#fff}.cta h2{margin:0;font-size:clamp(42px,4.8vw,72px);font-weight:300;letter-spacing:-.045em;line-height:.98}.card-grid{max-width:1700px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:#fff}.service-card{position:relative;min-height:400px;overflow:hidden;background:#1c3c4c;isolation:isolate}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.25,1)}.card-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(9,33,45,.9) 100%);transition:background .4s}.card-number{position:absolute;top:25px;left:27px;color:rgba(255,255,255,.78);font-size:10px;letter-spacing:.18em}.card-copy{position:absolute;left:28px;right:65px;bottom:28px;color:#fff}.card-copy strong{display:block;font-size:clamp(25px,2vw,35px);font-weight:300;letter-spacing:-.035em}.card-copy small{display:block;max-width:310px;margin-top:10px;color:rgba(255,255,255,.74);font-size:12px;line-height:1.5}.card-arrow{position:absolute;right:24px;bottom:28px;width:42px;height:42px;display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.5);font-size:19px;transition:background .25s,color .25s,transform .25s}.service-card:hover img,.service-card:focus-visible img{transform:scale(1.055)}.service-card:hover .card-shade,.service-card:focus-visible .card-shade{background:linear-gradient(180deg,transparent 40%,rgba(8,45,61,.93) 100%)}.service-card:hover .card-arrow,.service-card:focus-visible .card-arrow{color:var(--blue-dark);background:#fff;transform:translate(3px,-3px)}
.cta{padding:105px clamp(32px,8vw,150px);display:flex;align-items:flex-end;justify-content:space-between;gap:50px;background:#e8f5fa}.cta .button{min-height:62px;padding:0 25px;display:inline-flex;align-items:center;gap:50px;color:#fff;background:var(--blue);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.cta .button:hover{background:var(--blue-dark)}.cta .button span{font-size:19px}footer{padding:28px clamp(24px,6vw,110px);display:flex;justify-content:space-between;gap:30px;color:#708995;background:#173646;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:1180px){.desktop-nav{display:none}.menu-toggle{display:block}.quote-link{margin-left:auto}.card-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:390px}}
@media(max-width:950px){.intro-heading{display:block}.specialist-copy{margin-top:34px}}
@media(max-width:700px){.site-header{height:74px;padding:0 20px}.brand{font-size:11px}.brand-mark{width:38px;height:38px}.quote-link{display:none}.intro{min-height:650px;padding:150px 24px 80px}.intro-heading{display:block}.specialist-copy{margin-top:34px}.scroll-cue{display:none}.services{padding:78px 18px}.card-grid{display:block;background:transparent}.service-card{display:block;min-height:350px;margin-bottom:3px}.cta{padding:76px 24px;display:block}.cta .button{margin-top:36px}footer{display:block;line-height:2}.intro::after{width:330px;height:330px;right:-190px;top:180px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card img,.card-arrow{transition:none}}

/* consolidation-src/base.css */
:root {
      --ink: #173646;
      --slate: #58727f;
      --blue: #168fca;
      --blue-dark: #0c729f;
      --ice: #e7f6fc;
      --white: #fff;
      --line: rgba(23, 54, 70, .15);
      --shadow: 0 20px 60px rgba(34, 76, 97, .13);
}

/* Products catalogue */
.products-page{background:#f4f9fb}
.products-intro{padding:162px clamp(24px,6vw,96px) 58px;display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,580px);align-items:end;gap:60px;background:linear-gradient(130deg,#eaf7fc 0,#f8fbfc 60%,#e4f1f5 100%);border-bottom:1px solid var(--line)}
.products-intro h1{margin:12px 0 0;font-size:clamp(52px,7vw,104px);font-weight:300;letter-spacing:-.055em;line-height:.9}
.products-lede{margin:0;font-size:clamp(17px,1.4vw,21px);line-height:1.6;color:#506c79}
.catalogue{padding:38px clamp(24px,6vw,96px) 90px;max-width:1600px;margin:auto}
.catalogue-tools{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:22px}
.product-tabs{display:flex;gap:8px;flex-wrap:wrap}
.product-tab{border:1px solid var(--line);background:#fff;color:var(--slate);padding:11px 15px;cursor:pointer}
.product-tab span{margin-left:7px;color:#91a5ae}
.product-tab.active,.product-tab:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.product-tab.active span{color:#a9dfef}
.product-search{position:relative;min-width:260px}
.product-search input{width:100%;padding:12px 40px 12px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);outline:none;font:inherit}
.product-search input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(22,143,202,.12)}
.product-search>span{position:absolute;right:14px;top:10px;color:var(--blue-dark);font-size:20px}
.stock-note{margin:0 0 28px;color:#6a818b;font-size:14px}
.stock-note span{color:#c94f47;font-weight:800}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.product-card{background:#fff;border:1px solid rgba(23,54,70,.11);transition:transform .22s,box-shadow .22s,border-color .22s;min-width:0}
.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(22,143,202,.35)}
.product-image{aspect-ratio:1.18/1;display:grid;place-items:center;background:linear-gradient(145deg,#f9fcfd,#eaf3f6);overflow:hidden;padding:14px}
.product-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.product-info{min-height:104px;padding:17px 18px;border-top:1px solid var(--line)}
.product-collection{margin:0 0 9px;color:var(--blue-dark);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}
.product-info h2{margin:0;font-size:16px;line-height:1.35;font-weight:650}
.product-size{display:block;margin-top:5px;color:#758b94;font-size:13px}
.special{color:#c94f47;margin-left:3px}
.product-empty{text-align:center;padding:60px;color:var(--slate)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1180px){.product-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.products-intro{padding:122px 24px 42px;grid-template-columns:1fr;gap:28px}.products-intro h1{font-size:58px}.catalogue{padding:28px 18px 60px}.catalogue-tools{align-items:stretch;flex-direction:column}.product-tabs{display:grid;grid-template-columns:repeat(2,1fr)}.product-search{min-width:0}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-image{padding:8px}.product-info{padding:13px;min-height:110px}.product-info h2{font-size:14px}}
@media(max-width:420px){.product-grid{grid-template-columns:1fr 1fr}}

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: #edf5f8;
      font-family: Arial, Helvetica, sans-serif;
      -webkit-font-smoothing: antialiased;
    }
    a { color: inherit; text-decoration: none; }
    button { font: inherit; }

    .site-header {
      position: fixed;
      inset: 0 0 auto;
      z-index: 20;
      height: 90px;
      padding: 0 clamp(24px, 4vw, 70px);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
      background: rgba(255, 255, 255, .95);
      border-bottom: 1px solid var(--line);
      box-shadow: 0 8px 35px rgba(34, 76, 97, .07);
      backdrop-filter: blur(18px);
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 15px;
      color: #516b78;
      font-size: clamp(14px, 1.05vw, 17px);
      font-weight: 600;
      letter-spacing: .075em;
      line-height: 1;
      white-space: nowrap;
    }
    .brand-mark {
      width: 48px;
      height: 48px;
      flex: 0 0 auto;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 3px;
    }
    .brand-mark i {
      display: block;
      background: linear-gradient(135deg, #f6fdff 5%, #a9dff2 52%, #48add9 100%);
      border: 1px solid rgba(21, 128, 174, .28);
      box-shadow: inset 2px 2px 5px rgba(255, 255, 255, .8);
    }

    .desktop-nav { display: flex; align-items: center; gap: clamp(18px, 2.1vw, 36px); }
    .desktop-nav a {
      position: relative;
      padding: 35px 0 33px;
      font-size: clamp(13px, .9vw, 15px);
      letter-spacing: .035em;
      white-space: nowrap;
    }
    .desktop-nav a::after {
      content: "";
      position: absolute;
      left: 0;
      right: 100%;
      bottom: 25px;
      height: 2px;
      background: var(--blue);
      transition: right .25s ease;
    }
    .desktop-nav a:hover::after,
    .desktop-nav a:focus-visible::after { right: 0; }

    .quote-link {
      min-height: 48px;
      padding: 0 18px;
      display: inline-flex;
      align-items: center;
      gap: 18px;
      border: 1px solid var(--line);
      background: rgba(247, 251, 253, .92);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
      white-space: nowrap;
      transition: background .2s, border-color .2s;
    }
    .quote-link:hover { background: var(--ice); border-color: rgba(22, 143, 202, .35); }
    .quote-link span { color: var(--blue); font-size: 17px; }

    .menu-toggle {
      display: none;
      width: 46px;
      height: 46px;
      padding: 12px;
      border: 1px solid var(--line);
      background: white;
      cursor: pointer;
    }
    .menu-toggle span { display: block; height: 1px; margin: 5px 0; background: var(--ink); }

    .mobile-nav {
      position: fixed;
      z-index: 19;
      top: 74px;
      left: 0;
      right: 0;
      padding: 10px 24px 24px;
      display: none;
      background: rgba(255, 255, 255, .98);
      border-bottom: 1px solid var(--line);
      box-shadow: var(--shadow);
    }
    .mobile-nav.open { display: grid; }
    .mobile-nav a { padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 16px; }

    .hero {
      position: relative;
      min-height: 760px;
      height: 100svh;
      overflow: hidden;
      background: #eef5f8;
    }
    .hero-image {
      position: absolute;
      inset: 90px 0 0;
      width: 100%;
      height: calc(100% - 90px);
      object-fit: cover;
      object-position: center center;
      filter: saturate(.9) contrast(.98);
    }
    .hero-shade {
      position: absolute;
      inset: 90px 0 0;
      background:
        linear-gradient(90deg, rgba(249,252,253,.99) 0%, rgba(249,252,253,.96) 30%, rgba(249,252,253,.78) 41%, rgba(249,252,253,.16) 59%, rgba(249,252,253,0) 74%),
        linear-gradient(0deg, rgba(232,243,247,.44), transparent 38%);
    }
    .hero-grid {
      position: absolute;
      inset: 90px 45% 0 0;
      opacity: .52;
      background-image:
        linear-gradient(rgba(22, 143, 202, .10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(22, 143, 202, .10) 1px, transparent 1px);
      background-size: 72px 72px;
      mask-image: linear-gradient(90deg, #000, transparent);
      pointer-events: none;
    }
    .hero-content {
      position: absolute;
      z-index: 2;
      top: 50%;
      left: clamp(32px, 6vw, 110px);
      width: min(48vw, 670px);
      transform: translateY(-43%);
    }
    .eyebrow {
      margin: 0 0 28px;
      display: flex;
      align-items: center;
      gap: 12px;
      color: #337b9c;
      font-size: 11px;
      letter-spacing: .2em;
      text-transform: uppercase;
    }
    .eyebrow::before { content: ""; width: 27px; height: 1px; background: var(--blue); }
    h1 {
      margin: 0;
      max-width: 760px;
      color: #143244;
      font-size: clamp(60px, 6.5vw, 106px);
      font-weight: 300;
      letter-spacing: -.058em;
      line-height: .92;
    }
    h1 em { color: var(--blue); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
    .hero-copy {
      max-width: 560px;
      margin: 36px 0 32px;
      color: #506b79;
      font-size: clamp(16px, 1.2vw, 19px);
      line-height: 1.65;
    }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
    .button {
      min-height: 56px;
      padding: 0 22px;
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      gap: 34px;
      border: 1px solid rgba(23, 54, 70, .22);
      background: rgba(255, 255, 255, .62);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .13em;
      text-transform: uppercase;
      transition: transform .2s, box-shadow .2s, background .2s;
    }
    .button:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(26, 86, 116, .14); }
    .button.primary { color: white; border-color: var(--blue); background: var(--blue); }
    .button.primary:hover { background: var(--blue-dark); }
    .button .arrow { font-size: 17px; }

    .trust-strip {
      position: absolute;
      z-index: 3;
      left: clamp(32px, 6vw, 110px);
      bottom: 34px;
      display: flex;
      padding: 18px 8px;
      background: rgba(255, 255, 255, .9);
      border: 1px solid rgba(23, 54, 70, .11);
      box-shadow: var(--shadow);
      backdrop-filter: blur(16px);
    }
    .trust-item {
      min-width: 150px;
      padding: 0 24px;
      display: flex;
      align-items: center;
      gap: 12px;
      border-right: 1px solid var(--line);
    }
    .trust-item:last-child { border-right: 0; }
    .trust-item strong { color: #1c6688; font-size: 21px; }
    .trust-item span { color: #637d8a; font-size: 9px; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; }

    .image-credit {
      position: absolute;
      z-index: 3;
      right: 18px;
      bottom: 13px;
      margin: 0;
      padding: 7px 9px;
      color: #607682;
      background: rgba(255,255,255,.84);
      font-size: 8px;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    @media (max-width: 1180px) {
      .desktop-nav { display: none; }
      .menu-toggle { display: block; }
      .site-header .quote-link { margin-left: auto; }
      .hero-content { width: min(58vw, 660px); }
    }

    @media (max-width: 760px) {
      .site-header { height: 74px; padding: 0 20px; }
      .brand { gap: 9px; font-size: 12px; }
      .brand-mark { width: 38px; height: 38px; }
      .site-header .quote-link { display: none; }
      .hero { min-height: 900px; height: 100svh; }
      .hero-image { inset: 74px 0 auto; height: 39%; object-position: 58% center; }
      .hero-shade {
        inset: 74px 0 0;
        background: linear-gradient(0deg, #f7fbfc 0%, #f7fbfc 61%, rgba(247,251,252,.12) 77%);
      }
      .hero-grid { display: none; }
      .hero-content { top: 41%; left: 22px; right: 22px; width: auto; transform: none; }
      .eyebrow { margin-bottom: 20px; font-size: 9px; }
      h1 { font-size: clamp(48px, 14vw, 66px); }
      .hero-copy { margin: 24px 0; font-size: 15px; }
      .hero-actions { flex-direction: column; }
      .button { width: 100%; }
      .trust-strip { left: 22px; right: 22px; bottom: 28px; }
      .trust-item { min-width: 0; flex: 1; padding: 0 10px; flex-direction: column; align-items: flex-start; gap: 3px; }
      .trust-item strong { font-size: 18px; }
      .trust-item span { font-size: 7px; }
      .image-credit { top: calc(39% + 45px); right: 8px; bottom: auto; font-size: 6px; }
    }

    @media (max-width: 400px) {
      .brand { font-size: 10px; letter-spacing: .045em; }
      .brand-mark { width: 34px; height: 34px; }
      .hero { min-height: 860px; }
      .hero-content { top: 39%; }
      h1 { font-size: 45px; }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
    }

/* consolidation-src/fire-rated.css */
:root{--ink:#173646;--blue:#168fca;--blue-dark:#0c729f;--ice:#e7f6fc;--line:rgba(23,54,70,.15);--shadow:0 18px 45px rgba(34,76,97,.11)}
.fire-page{background:#f5f9fb}.content-wrap{max-width:1500px;margin:auto;padding-left:clamp(24px,6vw,96px);padding-right:clamp(24px,6vw,96px)}.fire-hero{min-height:560px;display:grid;grid-template-columns:1.15fr .85fr;background:var(--ink);color:#fff;overflow:hidden}.fire-hero-copy{padding:clamp(60px,7vw,110px) clamp(24px,6vw,96px);align-self:center}.fire-hero .eyebrow{color:#79cdec}.fire-hero h1{margin:20px 0 30px;font-size:clamp(76px,10vw,150px);font-weight:300;line-height:.73;letter-spacing:-.065em}.fire-hero h1 em{font-style:normal;color:#75c9e9}.fire-hero-copy>p:last-child{max-width:690px;color:#bfd1d8;font-size:20px;line-height:1.65}.rating-visual{position:relative;display:grid;grid-template-columns:repeat(3,1fr);background:linear-gradient(150deg,#244c5f,#102d3b);border-left:1px solid rgba(255,255,255,.13)}.rating-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:48px 48px}.rating-visual div{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:48px 25px;border-right:1px solid rgba(255,255,255,.12)}.rating-visual strong{font-size:clamp(46px,5vw,82px);font-weight:300}.rating-visual span{color:#8fb0bd;font-size:14px}.fire-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding-top:90px;padding-bottom:90px}.section-number{margin:0 0 18px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.14em}.fire-page h2{margin:0;font-size:clamp(36px,4.5vw,70px);font-weight:300;line-height:1.02;letter-spacing:-.045em}.intro-copy>p{font-size:19px;line-height:1.7;color:#506b78;margin:0 0 20px}.credential-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.credential-row span{padding:11px 13px;background:var(--ice);border-left:3px solid var(--blue);font-size:13px;font-weight:700}.rating-section{padding-top:80px;padding-bottom:100px;border-top:1px solid var(--line)}.fire-section-heading{display:grid;grid-template-columns:1fr minmax(280px,510px);align-items:end;gap:50px;margin-bottom:42px}.fire-section-heading>p,.fire-section-heading>div:last-child{margin:0;color:#627b87;line-height:1.6}.rating-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.rating-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);min-width:0}.rating-card-head{display:flex;align-items:baseline;justify-content:space-between;padding:22px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#f8fcfd,#eaf5f8)}.rating-card-head span{font-size:11px;letter-spacing:.13em;color:var(--blue-dark);font-weight:800}.rating-card-head strong{font-size:26px;font-weight:400}.rating-card dl{display:grid;grid-template-columns:42% 58%;margin:0;padding:8px 22px 20px}.rating-card dt,.rating-card dd{margin:0;padding:12px 0;border-bottom:1px solid #e8eef1;font-size:13px;line-height:1.45}.rating-card dt{color:#748b95}.rating-card dd{color:var(--ink);font-weight:600}.rating-card>a{margin-top:auto;padding:17px 22px;background:var(--ink);color:#fff;display:flex;justify-content:space-between;font-size:14px;font-weight:700}.rating-card>a:hover{background:var(--blue-dark)}.bal-note{margin-top:18px;padding:25px 30px;display:flex;align-items:center;gap:30px;background:#dfeff5;border-left:4px solid var(--blue)}.bal-note strong{font-size:27px;white-space:nowrap}.bal-note p{margin:0;color:#496673;line-height:1.55}.coursing-section{padding:90px 0;background:var(--ink);color:#fff}.fire-section-heading.light .section-number{color:#75c9e9}.fire-section-heading.light>div:last-child{color:#afc4cc}.fire-section-heading .small{font-size:13px;margin-top:4px}.coursing-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.65fr);gap:24px}.fire-coursing-table-wrap{overflow-x:auto}.fire-coursing-table{width:100%;border-collapse:collapse;background:#fff;color:var(--ink)}.fire-coursing-table th{padding:18px 16px;background:#e8f4f8;text-align:center;font-size:14px;line-height:1.4}.fire-coursing-table th:first-child{width:22%}.fire-coursing-table th span{font-size:12px;color:#62808d;font-weight:400}.fire-coursing-table td{padding:11px 18px;border-top:1px solid #dfe9ed;text-align:center;font-size:14px}.fire-coursing-table td:first-child{font-weight:800;color:var(--blue-dark)}.fire-coursing-table tr:hover td{background:#f1f8fa}.download-panel{padding:38px;background:#244b5d;align-self:start}.download-panel .eyebrow{color:#79cdec}.download-panel h3{font-size:28px;font-weight:400;margin:18px 0}.download-panel p{color:#b9cdd5;line-height:1.6}.download-button{display:flex;justify-content:space-between;margin-top:30px;padding:15px 17px;background:#fff;color:var(--ink);font-size:14px;font-weight:800}.documents-section{padding-top:90px;padding-bottom:100px}.document-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.document-grid a{position:relative;display:flex;flex-direction:column;min-height:150px;padding:24px;background:#fff;border:1px solid var(--line);transition:.2s}.document-grid a:hover{transform:translateY(-3px);border-color:var(--blue);box-shadow:var(--shadow)}.document-grid span{color:var(--blue-dark);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.document-grid strong{margin-top:15px;font-size:18px;font-weight:600}.document-grid i{position:absolute;right:20px;bottom:18px;color:#75909b;font-style:normal;font-size:12px}.fire-cta{padding:70px clamp(24px,6vw,96px);display:flex;justify-content:space-between;align-items:end;gap:50px;background:linear-gradient(120deg,#dff2f8,#f6fbfc)}.fire-cta h2{font-size:clamp(36px,4vw,62px)}.fire-cta>a{padding:18px 22px;background:var(--blue-dark);color:#fff;font-weight:700;white-space:nowrap}
@media(max-width:1100px){.fire-hero{grid-template-columns:1fr}.rating-visual{min-height:250px;border-left:0;border-top:1px solid rgba(255,255,255,.13)}.rating-cards{grid-template-columns:repeat(2,1fr)}.document-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.fire-hero{min-height:0}.fire-hero-copy{padding-top:58px;padding-bottom:58px}.fire-hero h1{font-size:80px}.rating-visual{min-height:190px}.rating-visual div{padding:30px 15px}.fire-intro,.fire-section-heading{grid-template-columns:1fr;gap:28px;padding-top:60px;padding-bottom:60px}.rating-section{padding-top:60px;padding-bottom:70px}.rating-cards{grid-template-columns:1fr}.coursing-section{padding:60px 0}.coursing-layout{grid-template-columns:1fr}.fire-coursing-table{min-width:640px}.documents-section{padding-top:60px;padding-bottom:70px}.document-grid{grid-template-columns:1fr}.fire-cta{align-items:flex-start;flex-direction:column;padding-top:55px;padding-bottom:55px}}

/* consolidation-src/technical.css */
.desktop-nav a.active::after{right:0}.page-intro{padding:170px clamp(28px,6vw,110px) 76px;display:grid;grid-template-columns:minmax(420px,1fr) minmax(300px,560px);gap:7vw;align-items:end;background:linear-gradient(135deg,#f9fcfd 0%,#edf7fa 62%,#d8eff7 100%);position:relative;overflow:hidden}.page-intro:after{content:"";position:absolute;right:-90px;top:80px;width:430px;height:430px;background-image:linear-gradient(rgba(22,143,202,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(22,143,202,.12) 1px,transparent 1px);background-size:54px 54px;transform:rotate(12deg);mask-image:linear-gradient(135deg,#000,transparent)}.page-intro>*,.content-section>*{position:relative;z-index:1}.page-intro .eyebrow{margin-bottom:22px}.page-intro h1{font-size:clamp(54px,6vw,92px)}.page-intro .intro-copy{margin:0 0 8px;color:var(--slate);font-size:clamp(18px,1.5vw,22px);line-height:1.65}.section-nav{position:sticky;top:90px;z-index:10;padding:0 clamp(28px,6vw,110px);display:flex;overflow:auto;background:#173646;color:white}.section-nav a{padding:18px 26px 16px;border-bottom:3px solid transparent;white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.section-nav a:hover{border-color:var(--blue);background:rgba(255,255,255,.05)}.content-section{padding:90px clamp(28px,6vw,110px);background:#fff}.content-section.alternate{background:#edf5f8}.section-heading{display:flex;gap:24px;align-items:flex-start;margin-bottom:32px}.section-heading>span{color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.12em;padding-top:8px}.kicker{margin:0 0 8px;color:#3480a2;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.section-heading h2{margin:0;color:var(--ink);font:400 clamp(36px,4vw,62px)/1 Georgia,"Times New Roman",serif}.lead{max-width:800px;margin:0 0 38px;color:var(--slate);font-size:18px;line-height:1.65}.data-card{margin:0 0 28px;background:white;border:1px solid var(--line);box-shadow:0 18px 55px rgba(34,76,97,.08)}.card-head{padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.card-head h3,.feature-grid h3,.split-content h3{margin:0;color:var(--ink);font-size:24px;font-weight:400}.download,.resource-links a{color:#0c729f;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.download span,.resource-links span{font-size:17px;margin-left:12px}.table-scroll{overflow-x:auto}.content-section table{width:100%;border-collapse:collapse;min-width:760px;font-size:14px}.content-section th,.content-section td{padding:13px 14px;text-align:center;border-right:1px solid #dce8ed;border-bottom:1px solid #dce8ed}.content-section th{background:#173646;color:white;font-size:11px;letter-spacing:.05em}.content-section thead tr:nth-child(2) th{background:#275468}.content-section tbody tr:nth-child(even){background:#f3f8fa}.content-section td:first-child{font-weight:700;color:#176f99}.feature-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px;margin-bottom:32px}.feature-grid article,.split-content article{padding:30px;background:white;border:1px solid var(--line)}.feature-grid p,.split-content p{color:var(--slate);line-height:1.7}.resource-links{display:grid;gap:10px;margin-top:24px}.resource-links a{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}.performance-card{margin-top:28px}.performance-card td:nth-child(2),.performance-card th:nth-child(2){text-align:left}.unit-note{color:var(--slate);font-size:12px}.split-content{display:grid;grid-template-columns:1fr 1fr;gap:22px}.application-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}.application-columns strong{font-size:12px;letter-spacing:.12em;text-transform:uppercase}.application-columns ul{padding-left:18px;color:var(--slate);line-height:1.8}.curve-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:60px}.formula{margin-top:16px;padding:22px 24px;background:#173646;color:#fff;font:20px/1.5 Georgia,serif}.formula>span{color:#6ed0f4}.definitions{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#cddde4;border:1px solid #cddde4}.definitions div{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:15px;background:#fff}.definitions dt{color:var(--blue);font-weight:700}.definitions dd{margin:0;color:var(--slate);font-size:14px}.final-section{padding-bottom:110px}.callout{padding:38px 42px;display:flex;justify-content:space-between;align-items:center;gap:40px;background:#e6f5fb;border-left:5px solid var(--blue)}.callout p{max-width:820px;margin:0;color:var(--slate);font-size:17px;line-height:1.7}footer{padding:36px clamp(28px,6vw,110px);display:flex;justify-content:space-between;gap:30px;background:#173646;color:white}footer span{font-size:13px;letter-spacing:.12em}footer p{margin:0;color:#b7cbd4;font-size:13px}
@media(max-width:1180px){.page-intro{padding-top:145px}.feature-grid{grid-template-columns:1fr 1fr}.feature-grid article:first-child{grid-column:1/-1}}@media(max-width:760px){.page-intro{padding:125px 24px 50px;grid-template-columns:1fr}.page-intro h1{font-size:52px}.section-nav{top:74px;padding:0 12px}.section-nav a{padding:15px}.content-section{padding:62px 24px}.feature-grid,.split-content,.curve-layout{grid-template-columns:1fr}.feature-grid article:first-child{grid-column:auto}.card-head,.callout,footer{align-items:flex-start;flex-direction:column}.application-columns,.definitions{grid-template-columns:1fr}.download{white-space:nowrap}}

/* consolidation-src/gallery.css */
.desktop-nav a.active::after{right:0}.gallery-intro{padding:165px clamp(28px,6vw,110px) 72px;display:grid;grid-template-columns:1fr minmax(320px,560px);gap:7vw;align-items:end;background:linear-gradient(135deg,#f9fcfd 0%,#edf7fa 62%,#d8eff7 100%);position:relative;overflow:hidden}.gallery-intro:after{content:"";position:absolute;right:-70px;top:70px;width:460px;height:460px;background-image:linear-gradient(rgba(22,143,202,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(22,143,202,.11) 1px,transparent 1px);background-size:58px 58px;transform:rotate(12deg);mask-image:linear-gradient(135deg,#000,transparent)}.gallery-intro>*{position:relative;z-index:1}.gallery-intro h1{font-size:clamp(58px,6vw,94px)}.intro-side>p{margin:0 0 24px;color:var(--slate);font-size:clamp(17px,1.4vw,21px);line-height:1.65}.intro-side>span{display:inline-flex;align-items:baseline;gap:9px;color:#5d7885;font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.intro-side strong{color:var(--blue);font:400 32px Georgia,serif}.gallery-section{padding:78px clamp(20px,4vw,70px) 95px;background:#f6fafb}.gallery-heading{margin:0 auto 38px;max-width:1520px;display:flex;justify-content:space-between;align-items:end;gap:30px}.kicker{margin:0 0 8px;color:#3480a2;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.gallery-heading h2{margin:0;color:var(--ink);font:400 clamp(34px,4vw,58px)/1 Georgia,"Times New Roman",serif}.gallery-heading>p{margin:0 0 6px;color:var(--slate);font-size:14px}.gallery-grid{max-width:1520px;margin:auto;columns:4 280px;column-gap:14px}.gallery-item{width:100%;margin:0 0 14px;padding:0;display:block;break-inside:avoid;overflow:hidden;border:0;background:#dce9ee;cursor:zoom-in;position:relative}.gallery-item img{width:100%;height:auto;display:block;transition:transform .45s ease,filter .35s ease}.gallery-item:after{content:"View";position:absolute;right:12px;bottom:12px;padding:8px 10px;background:rgba(255,255,255,.9);color:var(--ink);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:0;transform:translateY(7px);transition:.25s}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.025);filter:brightness(.92)}.gallery-item:hover:after,.gallery-item:focus-visible:after{opacity:1;transform:none}.lightbox{position:fixed;inset:0;z-index:100;display:grid;grid-template-columns:72px 1fr 72px;align-items:center;padding:32px;background:rgba(8,27,37,.96)}.lightbox[hidden]{display:none}.lightbox figure{margin:0;display:grid;justify-items:center;gap:15px}.lightbox img{max-width:min(86vw,1500px);max-height:84vh;object-fit:contain;box-shadow:0 25px 80px rgba(0,0,0,.4)}.lightbox figcaption{color:#c8d9e0;font-size:12px;letter-spacing:.08em}.lightbox-close,.lightbox-nav{border:0;background:transparent;color:white;cursor:pointer}.lightbox-close{position:absolute;right:23px;top:15px;width:54px;height:54px;font-size:42px;font-weight:200}.lightbox-nav{width:60px;height:80px;font-size:56px;font-weight:200;opacity:.72}.lightbox-nav:hover,.lightbox-close:hover{color:#75d3f5;opacity:1}footer{padding:34px clamp(28px,6vw,110px);display:flex;justify-content:space-between;gap:30px;background:#173646;color:white}footer>span{font-size:13px;letter-spacing:.12em}footer p{margin:0;color:#b7cbd4;font-size:13px}body.lightbox-open{overflow:hidden}
@media(max-width:1180px){.gallery-intro{padding-top:145px}.gallery-grid{columns:3 240px}}@media(max-width:760px){.gallery-intro{padding:120px 24px 50px;grid-template-columns:1fr}.gallery-intro h1{font-size:54px}.gallery-section{padding:55px 14px 70px}.gallery-heading{padding:0 10px;align-items:flex-start;flex-direction:column}.gallery-grid{columns:2 145px;column-gap:8px}.gallery-item{margin-bottom:8px}.lightbox{grid-template-columns:40px 1fr 40px;padding:18px 6px}.lightbox-nav{width:38px;font-size:44px}.lightbox img{max-width:calc(100vw - 92px)}footer{align-items:flex-start;flex-direction:column}}

/* consolidation-src/contactus.css */
.quote-link.active{color:#fff;background:var(--blue);border-color:var(--blue)}.quote-link.active span{color:#fff}.contact-layout{min-height:calc(100svh - 90px);padding:150px clamp(28px,6vw,110px) 80px;display:grid;grid-template-columns:minmax(330px,.82fr) minmax(560px,1.18fr);gap:clamp(45px,7vw,120px);background:linear-gradient(135deg,#f9fcfd 0%,#edf7fa 57%,#d9eff7 100%);position:relative;overflow:hidden}.contact-layout:before{content:"";position:absolute;left:-120px;bottom:-170px;width:560px;height:560px;background-image:linear-gradient(rgba(22,143,202,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(22,143,202,.1) 1px,transparent 1px);background-size:68px 68px;transform:rotate(-8deg);mask-image:linear-gradient(15deg,#000,transparent 75%)}.contact-layout>*{position:relative;z-index:1}.contact-intro{padding-top:42px}.contact-intro .eyebrow{margin-bottom:24px}.contact-intro h1{font-size:clamp(54px,5.7vw,90px)}.contact-intro .intro-copy{max-width:590px;margin:34px 0;color:var(--slate);font-size:18px;line-height:1.7}.contact-card{margin:35px 0 26px;padding:25px 27px;background:rgba(255,255,255,.78);border:1px solid var(--line);box-shadow:0 18px 45px rgba(34,76,97,.08)}.contact-card .label,.kicker{margin:0 0 9px;color:#3480a2;font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.contact-card>a{display:inline-block;color:var(--ink);font:400 clamp(18px,1.55vw,24px)/1.3 Georgia,"Times New Roman",serif;border-bottom:1px solid rgba(22,143,202,.4)}.contact-card>p:last-child{margin:15px 0 0;color:var(--slate);font-size:14px;line-height:1.6}.service-notes{display:flex;flex-wrap:wrap;gap:8px}.service-notes span{padding:9px 12px;background:#dceff6;color:#286985;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.form-panel{padding:clamp(28px,3.5vw,52px);background:#fff;border:1px solid var(--line);box-shadow:0 30px 80px rgba(34,76,97,.14)}.form-heading{margin-bottom:30px}.form-heading h2{margin:0 0 8px;color:var(--ink);font:400 clamp(32px,3vw,48px)/1.08 Georgia,"Times New Roman",serif}.form-heading>p:last-child{margin:0;color:#6d838e;font-size:13px}.form-heading>p span{color:var(--blue)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}label{display:grid;gap:8px}label>span{color:#385967;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}input,select,textarea{width:100%;border:0;border-bottom:1px solid #b9ccd4;border-radius:0;background:#f7fafb;color:var(--ink);font:16px/1.4 Arial,Helvetica,sans-serif;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}input,select{height:50px;padding:0 13px}textarea{padding:13px;resize:vertical;min-height:135px}input:focus,select:focus,textarea:focus{border-color:var(--blue);background:#fff;box-shadow:0 2px 0 var(--blue)}input:invalid:not(:focus):not(:placeholder-shown),textarea:invalid:not(:focus):not(:placeholder-shown){border-color:#b44b4b}.full-field{margin-top:24px}.consent{margin:22px 0;display:flex;grid-template-columns:none;align-items:flex-start;gap:11px}.consent input{width:18px;height:18px;flex:0 0 auto;margin:0;accent-color:var(--blue)}.consent span{font-size:11px;line-height:1.5;letter-spacing:.03em;text-transform:none}.form-footer{padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line)}.form-footer p{max-width:390px;margin:0;color:#718791;font-size:12px;line-height:1.5}.submit-button{min-height:56px;padding:0 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid var(--blue);background:var(--blue);color:white;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background .2s,transform .2s,box-shadow .2s}.submit-button:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 12px 28px rgba(26,86,116,.18)}.submit-button span{font-size:17px}footer{padding:34px clamp(28px,6vw,110px);display:flex;justify-content:space-between;gap:30px;background:#173646;color:#fff}footer>span{font-size:13px;letter-spacing:.12em}footer p{margin:0;color:#b7cbd4;font-size:13px}
@media(max-width:1120px){.contact-layout{grid-template-columns:1fr;padding-top:125px}.contact-intro{padding-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.contact-intro .eyebrow,.contact-intro h1{grid-column:1}.contact-intro .intro-copy{grid-column:1}.contact-card{grid-column:2;grid-row:1/4}.service-notes{grid-column:1/-1}.form-panel{max-width:900px;width:100%}}@media(max-width:760px){.contact-layout{padding:110px 22px 55px;gap:38px}.contact-intro{display:block}.contact-intro h1{font-size:52px}.field-grid{grid-template-columns:1fr}.form-panel{padding:27px 21px}.form-footer,footer{align-items:flex-start;flex-direction:column}.submit-button{width:100%}}

/* EzyLay installation systems */
.ezylay-page{background:#f4f9fb}.ezy-wrap{max-width:1540px;margin:auto;padding-left:clamp(24px,6vw,100px);padding-right:clamp(24px,6vw,100px)}
.ezy-hero{min-height:700px;padding-top:90px;display:grid;grid-template-columns:1.08fr .92fr;background:var(--ink);color:#fff;overflow:hidden}.ezy-hero-copy{padding:clamp(70px,8vw,125px) clamp(28px,7vw,120px);align-self:center}.ezy-hero .eyebrow{color:#76cdec}.ezy-hero h1{max-width:760px;margin:22px 0 32px;font-size:clamp(62px,7.5vw,118px);font-weight:300;line-height:.86;letter-spacing:-.065em}.ezy-hero h1 em{display:block;color:#72caeb;font-family:Georgia,"Times New Roman",serif;font-weight:400}.ezy-hero-copy>p:not(.eyebrow){max-width:710px;color:#bfd1d8;font-size:clamp(18px,1.4vw,22px);line-height:1.65}.ezy-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}.ezy-hero .button{color:#fff;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.06)}.ezy-hero .button.primary{border-color:var(--blue);background:var(--blue)}
.ezy-frame-visual{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;padding:12px;background:linear-gradient(145deg,#244e61,#102f3e);border-left:1px solid rgba(255,255,255,.13)}.ezy-frame-visual:before{content:"";position:absolute;inset:12%;border:14px solid #74aabe;box-shadow:0 0 0 1px rgba(255,255,255,.35),inset 0 0 35px rgba(0,0,0,.25)}.ezy-frame-visual span{background:linear-gradient(135deg,rgba(234,250,255,.82),rgba(92,179,214,.36));border:1px solid rgba(255,255,255,.28)}.ezy-frame-visual strong{position:absolute;left:17%;bottom:17%;padding:18px 22px;background:rgba(15,46,60,.88);font:400 clamp(25px,2.6vw,43px)/1.08 Georgia,serif}
.ezy-intro{padding-top:105px;padding-bottom:105px;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.ezylay-page h2{margin:0;font-size:clamp(38px,4.6vw,70px);font-weight:300;line-height:1.02;letter-spacing:-.045em}.ezy-prose p{margin:0 0 21px;color:#506b78;font-size:18px;line-height:1.75}.ezy-systems{padding:95px 0 110px;background:#e6f3f7;border-block:1px solid var(--line)}.ezy-section-head{display:grid;grid-template-columns:1fr minmax(310px,540px);align-items:end;gap:60px;margin-bottom:42px}.ezy-section-head>p{margin:0;color:#607b87;font-size:17px;line-height:1.7}.ezy-system-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ezy-system-card{position:relative;min-height:520px;padding:44px;display:flex;flex-direction:column;background:#fff;border-top:5px solid var(--blue);box-shadow:0 18px 45px rgba(34,76,97,.08)}.ezy-system-card.ezy-mortar{border-color:var(--ink)}.ezy-label{color:var(--blue-dark);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ezy-system-card h3{margin:22px 0 18px;font-size:clamp(42px,4vw,64px);font-weight:300}.ezy-system-card p{color:#58727f;font-size:17px;line-height:1.7}.ezy-system-card ul{padding-left:20px;color:#405e6c;line-height:2}.ezy-system-card>a{margin-top:auto;padding-top:21px;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:var(--blue-dark);font-size:13px;font-weight:800}
.ezy-service{padding-top:110px;padding-bottom:110px;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:start}.ezy-service-copy>p:not(.section-number){color:#536f7c;font-size:18px;line-height:1.75}.ezy-service-panel{padding:42px;background:var(--ink);color:#fff}.ezy-service-panel>span{color:#75c9e9;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ezy-service-panel ul{margin:24px 0 32px;padding:0;list-style:none}.ezy-service-panel li{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#c6d7de}.ezy-service-panel>a{display:block;padding:17px;text-align:center;background:var(--blue);font-weight:800}
.ezy-frames{padding:105px 0;background:var(--ink);color:#fff}.ezy-section-head.light>p{color:#b7cad2}.ezy-section-head.light .section-number{color:#75c9e9}.ezy-frame-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ezy-frame-grid article{min-height:260px;padding:34px;background:#214758;border:1px solid rgba(255,255,255,.1)}.ezy-frame-grid span{color:#75c9e9;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ezy-frame-grid h3{margin:28px 0 15px;font-size:29px;font-weight:400}.ezy-frame-grid p{color:#b8cbd3;line-height:1.65}.ezy-features{margin-top:12px;padding:36px;background:#183b4b}.ezy-features h3{margin:0 0 25px;font-size:25px;font-weight:400}.ezy-features ul{margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 30px;list-style:none}.ezy-features li{padding-left:18px;position:relative;color:#c3d4db}.ezy-features li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;background:#66c2e6}
.ezy-options{padding-top:105px;padding-bottom:105px;display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.ezy-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ezy-option-grid article{padding:32px;background:#fff;border:1px solid var(--line)}.ezy-option-grid h3{margin:0 0 18px;font-size:27px;font-weight:400}.ezy-option-grid p{margin:0;color:#58727f;line-height:1.75}.ezy-cta{padding:75px clamp(24px,6vw,100px);display:flex;align-items:end;justify-content:space-between;gap:50px;background:#dff2f8}.ezy-cta h2{max-width:980px}.ezy-cta>a{padding:19px 23px;background:var(--blue-dark);color:#fff;font-weight:800;white-space:nowrap}
@media(max-width:1050px){.ezy-hero{grid-template-columns:1fr}.ezy-frame-visual{min-height:390px}.ezy-system-card{min-height:560px}.ezy-features ul{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.ezy-hero{padding-top:74px}.ezy-hero-copy{padding:62px 24px}.ezy-hero h1{font-size:62px}.ezy-frame-visual{min-height:320px}.ezy-intro,.ezy-section-head,.ezy-service,.ezy-options{grid-template-columns:1fr;gap:34px}.ezy-intro,.ezy-service,.ezy-options{padding-top:70px;padding-bottom:70px}.ezy-systems,.ezy-frames{padding:70px 0}.ezy-system-grid,.ezy-frame-grid,.ezy-option-grid{grid-template-columns:1fr}.ezy-system-card{min-height:0;padding:30px}.ezy-features ul{grid-template-columns:1fr}.ezy-cta{align-items:flex-start;flex-direction:column}.ezy-cta>a{width:100%;text-align:center}}

/* Final page layout safeguards: keep these after all shared page styles. */
body.products-page .catalogue{width:100%;max-width:1600px;margin-inline:auto;padding:38px clamp(24px,6vw,96px) 90px}
body.products-page .product-grid{width:100%;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important;align-items:stretch}
body.products-page .product-card{width:auto!important;min-width:0;max-width:none;overflow:hidden;display:flex!important;flex-direction:column;background:#fff}
body.products-page .product-image{width:100%;height:auto;aspect-ratio:1.18/1;display:grid!important;place-items:center;overflow:hidden;padding:14px}
body.products-page .product-image img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
body.products-page .product-info{width:100%;flex:1}
body.ezylay-page .ezy-wrap{box-sizing:border-box;width:100%!important;max-width:1540px!important;margin-left:auto!important;margin-right:auto!important;padding-left:clamp(28px,6vw,100px)!important;padding-right:clamp(28px,6vw,100px)!important}
body.ezylay-page .ezy-hero-copy{box-sizing:border-box;padding-left:clamp(32px,7vw,120px)!important;padding-right:clamp(32px,7vw,120px)!important}
body.ezylay-page .ezy-systems>.ezy-wrap,body.ezylay-page .ezy-frames>.ezy-wrap{margin-inline:auto!important}
@media(max-width:1180px){body.products-page .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){body.products-page .catalogue{padding:28px 18px 60px}body.products-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}body.products-page .product-image{padding:8px}body.ezylay-page .ezy-wrap{padding-left:24px!important;padding-right:24px!important}body.ezylay-page .ezy-hero-copy{padding-left:24px!important;padding-right:24px!important}}

/* Contact location and opening hours */
.contact-details{display:grid;gap:14px;margin:35px 0 26px}.contact-details .contact-card{margin:0}.address-card address{display:grid;gap:4px;margin:0;color:var(--ink);font-style:normal;font-size:17px;line-height:1.45}.address-card address strong{font-weight:700}.address-card .hours-note{margin:20px 0!important;padding-top:18px;border-top:1px solid var(--line);color:#536f7c!important;font-size:14px!important;line-height:1.65!important}.address-card .hours-note strong:first-child{color:var(--ink)}.mailing-address{padding-top:18px;border-top:1px solid var(--line)}.mailing-address>span{display:block;margin-bottom:10px;color:#3480a2;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.mailing-address address{font-size:15px}.email-card>a{overflow-wrap:anywhere}
@media(max-width:1120px){.contact-details{grid-column:2;grid-row:1/5;margin:0}.contact-details .contact-card{grid-column:auto;grid-row:auto}.service-notes{margin-top:22px}}
@media(max-width:760px){.contact-details{display:grid;margin:35px 0 26px}.address-card address{font-size:16px}}

/* Unified EzyLay hero heading colour */
body.ezylay-page .ezy-hero h1,body.ezylay-page .ezy-hero h1 em{color:#72caeb!important}

/* Detailed services page */
.services-breakdown-page{background:#f5f9fb}.breakdown-hero{padding:165px clamp(28px,6vw,110px) 80px;background:linear-gradient(135deg,#f9fcfd 0%,#edf7fa 62%,#d8eff7 100%);position:relative;overflow:hidden}.breakdown-hero:after{content:"";position:absolute;right:-70px;top:65px;width:470px;height:470px;background-image:linear-gradient(rgba(22,143,202,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(22,143,202,.11) 1px,transparent 1px);background-size:58px 58px;transform:rotate(12deg);mask-image:linear-gradient(135deg,#000,transparent)}.breakdown-hero>*{position:relative;z-index:1}.breakdown-hero-grid{display:grid;grid-template-columns:minmax(520px,1fr) minmax(300px,540px);gap:7vw;align-items:end}.breakdown-hero h1{font-size:clamp(56px,6vw,94px)}.breakdown-hero-grid>p{margin:0 0 8px;color:var(--slate);font-size:clamp(17px,1.4vw,21px);line-height:1.7}.breakdown-nav{position:sticky;top:90px;z-index:9;padding:0 clamp(18px,4vw,70px);display:flex;overflow-x:auto;background:var(--ink);color:#fff;scrollbar-width:thin}.breakdown-nav a{padding:18px 20px 16px;border-bottom:3px solid transparent;white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.breakdown-nav a:hover,.breakdown-nav a:focus-visible{border-color:var(--blue);background:rgba(255,255,255,.06)}.breakdown-list{padding:45px clamp(24px,6vw,100px) 100px;max-width:1640px;margin:auto}.breakdown-item{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-height:590px;margin:55px 0;background:#fff;border:1px solid var(--line);box-shadow:0 20px 55px rgba(34,76,97,.09);scroll-margin-top:165px}.breakdown-item:nth-child(even) .breakdown-image{order:2}.breakdown-image{min-height:510px;overflow:hidden;background:#d9e8ed}.breakdown-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s ease}.breakdown-item:hover .breakdown-image img{transform:scale(1.018)}.breakdown-copy{padding:clamp(38px,5vw,78px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.breakdown-copy>span{color:var(--blue-dark);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.breakdown-copy h2{margin:22px 0 25px;color:var(--ink);font:400 clamp(34px,3.5vw,58px)/1.03 Georgia,"Times New Roman",serif;letter-spacing:-.035em}.breakdown-copy p{margin:0 0 18px;color:#526d7a;font-size:17px;line-height:1.72}.breakdown-copy>a{margin-top:14px;padding:15px 0;display:flex;justify-content:space-between;gap:45px;border-bottom:1px solid var(--blue);color:var(--blue-dark);font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.breakdown-copy>a b{font-size:17px}.breakdown-cta{padding:80px clamp(28px,6vw,110px);display:flex;align-items:end;justify-content:space-between;gap:55px;background:#dff2f8}.breakdown-cta h2{margin:0 0 16px;color:var(--ink);font:400 clamp(38px,4vw,64px)/1 Georgia,"Times New Roman",serif}.breakdown-cta>div>p:last-child{max-width:720px;margin:0;color:#536f7c;font-size:17px;line-height:1.7}.breakdown-cta>a{padding:19px 23px;background:var(--blue-dark);color:#fff;font-weight:800;white-space:nowrap}
@media(max-width:1000px){.breakdown-hero-grid{grid-template-columns:1fr}.breakdown-item{grid-template-columns:1fr;min-height:0}.breakdown-item:nth-child(even) .breakdown-image{order:0}.breakdown-image{min-height:420px}}
@media(max-width:760px){.breakdown-hero{padding:120px 24px 55px}.breakdown-hero-grid{gap:30px}.breakdown-hero h1{font-size:51px}.breakdown-nav{top:74px;padding:0 8px}.breakdown-nav a{padding:15px 13px}.breakdown-list{padding:16px 16px 65px}.breakdown-item{margin:34px 0;scroll-margin-top:135px}.breakdown-image{min-height:280px}.breakdown-copy{padding:32px 25px}.breakdown-copy p{font-size:16px}.breakdown-copy>a{width:100%;gap:20px}.breakdown-cta{align-items:flex-start;flex-direction:column;padding:58px 24px}.breakdown-cta>a{width:100%;text-align:center}}
