/*
Theme Name: QPRO
Author: Quick Protection Inc.
Description: QPRO WordPress theme converted directly from the supplied Quick Protection Inc. source pages.
Version: 4.0.1
Text Domain: qpro
*/
:root{
    --navy:#1B3A5C;
    --navy-deep:#12283F;
    --steel:#5B84AA;
    --amber:#E8A33D;
    --paper:#F4F7F9;
    --ink:#16202B;
    --rule:#CBD9E4;
    --display:'Barlow Condensed',Impact,sans-serif;
    --body:'Source Sans 3',system-ui,sans-serif;
    --mono:'IBM Plex Mono',ui-monospace,monospace;
    --wrap:1140px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--body);
    font-size:17px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px;}

  a{color:inherit;}
  :focus-visible{outline:3px solid var(--amber);outline-offset:3px;}

  /* eyebrow: the mono voice — used for anything that behaves like a record entry */
  .eyebrow{
    font-family:var(--mono);
    font-size:.72rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--steel);
    margin:0 0 14px;
  }

  h2{
    font-family:var(--display);
    font-weight:700;
    font-size:clamp(2rem,4.2vw,3rem);
    line-height:1.04;
    letter-spacing:-.005em;
    text-transform:uppercase;
    color:var(--navy);
    margin:0 0 22px;
  }

  /* ---------- masthead ---------- */
  .masthead{background:var(--navy-deep);border-bottom:1px solid rgba(255,255,255,.1);}
  .masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap;}
  .brand{font-family:var(--display);font-weight:700;font-size:1.35rem;letter-spacing:.04em;text-transform:uppercase;color:#fff;text-decoration:none;}
  .brand span{color:var(--amber);}
  .nav{display:flex;gap:26px;list-style:none;margin:0;padding:0;}
  .nav a{
    font-family:var(--mono);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;
    color:rgba(255,255,255,.72);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;
    transition:color .18s,border-color .18s;
  }
  .nav a:hover{color:#fff;border-color:var(--amber);}
  .nav a[aria-current="page"]{color:#fff;border-color:var(--amber);}

  /* ---------- hero ---------- */
  .hero{background:var(--navy-deep);color:#fff;padding:88px 0 0;position:relative;overflow:hidden;}
  .hero::after{
    content:"";position:absolute;right:-140px;top:-80px;width:520px;height:520px;
    border:1px solid rgba(232,163,61,.16);border-radius:50%;pointer-events:none;
  }
  .hero-inner{position:relative;z-index:1;max-width:760px;}
  .hero .eyebrow{color:var(--amber);}
  .hero h1{
    font-family:var(--display);font-weight:700;
    font-size:clamp(2.8rem,7.2vw,5.4rem);
    line-height:.98;letter-spacing:-.01em;text-transform:uppercase;
    margin:0 0 26px;
  }
  .hero h1 em{font-style:normal;color:var(--steel);}
  .hero p{font-size:1.14rem;line-height:1.7;color:rgba(255,255,255,.86);max-width:60ch;margin:0 0 40px;}

  /* credential strip — reads as a stamped record, not a badge row */
  .creds{
    display:grid;grid-template-columns:repeat(4,1fr);
    border-top:1px solid rgba(255,255,255,.16);
    margin-top:56px;
  }
  .cred{padding:22px 22px 30px 0;border-right:1px solid rgba(255,255,255,.1);}
  .cred:last-child{border-right:0;}
  .cred dt{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin-bottom:7px;}
  .cred dd{margin:0;font-family:var(--display);font-weight:600;font-size:1.22rem;letter-spacing:.01em;color:#fff;line-height:1.15;}

  /* ---------- generic section ---------- */
  section{padding:88px 0;}
  .lede{font-size:1.24rem;line-height:1.66;color:var(--navy);max-width:56ch;}
  .cols{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:34px;}
  .cols p{margin:0 0 18px;}
  .pull{
    border-left:3px solid var(--amber);padding-left:20px;
    font-family:var(--display);font-weight:500;font-size:1.5rem;line-height:1.3;
    text-transform:uppercase;color:var(--navy);
  }

  /* ---------- SIGNATURE: the acrostic ---------- */
  .values{background:#fff;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
  .values-head{max-width:60ch;margin-bottom:46px;}
  .acrostic{border-top:1px solid var(--rule);}
  .val{
    display:grid;grid-template-columns:130px 210px 1fr;align-items:center;gap:0 28px;
    border-bottom:1px solid var(--rule);padding:26px 0;
    transition:background .2s;
  }
  .val:hover{background:#F8FAFC;}
  .val .letter{
    font-family:var(--display);font-weight:700;
    font-size:clamp(3.6rem,7vw,5.6rem);line-height:.8;
    color:var(--navy);text-align:center;
    transition:color .2s;
  }
  .val:hover .letter{color:var(--amber);}
  .val .name{
    font-family:var(--display);font-weight:600;font-size:1.7rem;
    text-transform:uppercase;letter-spacing:.02em;color:var(--navy);line-height:1.1;
  }
  .val .what{margin:0;color:#3A4A5C;max-width:52ch;}

  /* ---------- founders: two-column profile treatment ---------- */
  .founders-layout{
    display:grid;
    grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
    gap:64px;
    align-items:start;
  }

  .founders-intro h2{
    color:#fff;
    text-shadow:0 2px 8px rgba(0,0,0,.35);
  }

  .founders-intro{
    position:relative;
    align-self:stretch;
    box-sizing:border-box;
    padding:30px 34px;
    background:rgba(15,33,54,.50);
    border:1px solid rgba(255,255,255,.14);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
  }

  .founders-intro .lede{
    color:rgba(255,255,255,.88);
  }

  .people{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    margin-top:0;
  }

  .person{
    background:#fff;
    border:1px solid var(--rule);
    border-top:4px solid var(--navy);
    padding:0;
  }

  .person summary{
    display:block;
    cursor:pointer;
    list-style:none;
    padding:26px 32px 22px;
  }

  .person summary::-webkit-details-marker{
    display:none;
  }

  .person summary::marker{
    content:"";
  }

  .person summary h3{
    font-family:var(--display);
    font-weight:700;
    font-size:1.72rem;
    text-transform:uppercase;
    letter-spacing:.01em;
    color:var(--navy);
    margin:0 0 4px;
    line-height:1.1;
  }

  .person .role{
    font-family:var(--mono);
    font-size:.74rem;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:var(--steel);
    margin:0 0 14px;
  }

  .person .bio{
    font-size:.97rem;
    color:#3A4A5C;
    margin:0 0 18px;
    line-height:1.58;
  }

  .view-profile{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:9px;
    width:100%;
    font-family:var(--mono);
    font-size:.72rem;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:var(--navy);
    border-bottom:2px solid var(--amber);
    padding-bottom:5px;
    text-align:right;
  }

  .view-profile-arrow{
    display:inline-block;
    width:14px;
    height:14px;
    position:relative;
    flex:0 0 14px;
  }

  .view-profile-arrow::before{
    content:"";
    position:absolute;
    left:1px;
    top:6px;
    width:11px;
    height:2px;
    background:var(--navy);
  }

  .view-profile-arrow::after{
    content:"";
    position:absolute;
    left:1px;
    top:3px;
    width:7px;
    height:7px;
    border-left:2px solid var(--navy);
    border-bottom:2px solid var(--navy);
    transform:rotate(45deg);
  }

  .person[open] .view-profile-arrow::before{
    left:6px;
    top:1px;
    width:2px;
    height:11px;
  }

  .person[open] .view-profile-arrow::after{
    left:2px;
    top:6px;
    width:7px;
    height:7px;
    transform:rotate(-45deg);
  }

  .person-details{
    display:grid;
    grid-template-rows:0fr;
    transition:grid-template-rows .35s ease;
  }

  .person[open] .person-details{
    grid-template-rows:1fr;
  }

  .person-details-inner{
    min-height:0;
    overflow:hidden;
    padding:0 32px;
  }

  .person[open] .person-details-inner{
    padding-bottom:30px;
  }

  .record{
    margin:0;
    padding:22px 0 0;
    list-style:none;
    border-top:1px solid var(--rule);
  }

  .record li{
    display:flex;
    align-items:baseline;
    gap:10px;
    padding:11px 0;
    border-bottom:1px solid #EAF0F5;
    font-size:.95rem;
  }

  .record .org{color:var(--ink);}
  .record .org b{font-weight:600;}
  .record .dots{
    flex:1;
    border-bottom:1px dotted var(--rule);
    transform:translateY(-3px);
    min-width:16px;
  }

  .record .term{
    font-family:var(--mono);
    font-size:.8rem;
    color:var(--steel);
    white-space:nowrap;
  }

  .person .reach{
    margin:22px 0 0;
    font-family:var(--mono);
    font-size:.8rem;
    color:var(--navy);
    word-break:break-word;
  }

  .person .reach a{
    color:var(--navy);
    text-decoration-color:var(--amber);
    text-underline-offset:3px;
  }

  /* ---------- closing ---------- */
  .cta{background:var(--navy);color:#fff;text-align:left;}
  .cta h2{color:#fff;}
  .cta p{color:rgba(255,255,255,.85);max-width:54ch;font-size:1.1rem;}
  .btn{
    display:inline-block;margin-top:24px;
    background:var(--amber);color:var(--navy-deep);text-decoration:none;
    font-family:var(--display);font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:.06em;
    padding:15px 34px;border:2px solid var(--amber);
    transition:background .18s,color .18s;
  }
  .btn:hover{background:transparent;color:var(--amber);}

  footer{background:var(--navy-deep);color:rgba(255,255,255,.68);padding:44px 0;font-size:.92rem;}
  footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-start;}
  footer .motto{font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;color:var(--steel);font-size:1.05rem;}
  footer .lic{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;margin-top:10px;color:rgba(255,255,255,.45);}
  footer a{color:rgba(255,255,255,.82);}

  /* ---------- request proposal button override ---------- */
  .cta .btn{
    display:inline-block;
    margin-top:24px;
    background:var(--amber);
    color:var(--navy-deep);
    text-decoration:none;
    font-family:var(--display);
    font-weight:700;
    font-size:1.1rem;
    text-transform:uppercase;
    letter-spacing:.06em;
    padding:15px 34px;
    border:2px solid var(--amber);
    transition:background .18s ease,color .18s ease;
  }

  .cta .btn:hover{
    background:transparent;
    color:var(--amber);
  }

  /* ---------- reveal ---------- */
  .rise{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
  .rise.in{opacity:1;transform:none;}

  /* ---------- responsive ---------- */
  @media (max-width:900px){
    .cols,.people{grid-template-columns:1fr;gap:28px;}
    .creds{grid-template-columns:1fr 1fr;}
    .cred{border-right:0;border-bottom:1px solid rgba(255,255,255,.1);padding-right:0;}
    .val{grid-template-columns:78px 1fr;gap:0 20px;padding:22px 0;}
    .val .letter{font-size:3.2rem;text-align:left;}
    .val .name{font-size:1.35rem;margin-bottom:6px;}
    .val .what{grid-column:2;}
    section{padding:60px 0;}
    .hero{padding-top:60px;}
  }
  @media (max-width:560px){
    .creds{grid-template-columns:1fr;}
    .nav{gap:16px;}
  }
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    .rise{opacity:1;transform:none;transition:none;}
    *{transition-duration:.01ms !important;}
  }


/* QPRO WordPress integration layer */
.wp-site-blocks,
.site,
.site-content,
main {
  margin: 0;
  padding: 0;
}

html, body {
  margin: 0 !important;
  padding: 0 !important;
}

.masthead .nav,
.masthead .nav ul {
  display: flex;
  align-items: center;
  gap: 26px;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.masthead .nav li {
  position: relative;
  list-style: none !important;
  margin: 0;
  padding: 0;
}

.masthead .nav li::marker {
  content: "";
}

.masthead .nav a {
  display: block;
}

.masthead .nav .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 100;
  min-width: 220px;
  margin: 0;
  padding: 8px 0 !important;
  background: var(--navy-deep);
  border-top: 2px solid var(--amber);
  box-shadow: 0 12px 30px rgba(0,0,0,.20);
  list-style: none !important;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

.masthead .nav li:hover > .sub-menu,
.masthead .nav li:focus-within > .sub-menu {
  display: flex;
}

.masthead .nav .sub-menu li a {
  padding: 9px 16px;
  border-bottom: 0;
  white-space: nowrap;
}

.masthead .nav .sub-menu .sub-menu {
  top: -8px;
  right: 100%;
}

@media (max-width: 900px) {
  .founders-layout{
    grid-template-columns:1fr;
    gap:34px;
  }

  .founders-intro{
    padding:26px 24px;
  }


  .masthead .wrap {
    flex-direction: column;
    align-items: flex-start;
  }

  .masthead .nav {
    flex-wrap: wrap;
    gap: 12px 22px;
  }
}

@media (max-width: 560px) {
  .masthead .nav {
    width: 100%;
    gap: 10px 16px;
  }

  .masthead .nav .sub-menu {
    position: static;
    display: flex;
    min-width: 0;
    padding-left: 12px !important;
    border-top: 0;
    box-shadow: none;
  }
}

/* Preserve the source page as the visual authority. */
.qpro-source-content {
  margin: 0;
  padding: 0;
}



/* Careers source stylesheet */
:root{
    --navy:#0F2136; --steel:#5B84AA; --steel-light:#AFC6DA;
    --paper:#F4F2EC; --paper-dim:#EAE7DE; --ink:#20262E; --ink-soft:#5B6570;
    --amber:#C98A3E; --line:rgba(15,33,54,0.14);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  body{background:var(--paper); color:var(--ink); font-family:'Source Sans 3', sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased;}
  h1,h2,h3,.disp{font-family:'Barlow Condensed', sans-serif; text-transform:uppercase; letter-spacing:0.03em;}
  .wrap{max-width:1080px; margin:0 auto; padding:0 40px;}

  header{background:var(--navy); color:var(--paper); padding:22px 0; border-bottom:3px solid var(--amber);}
  header .wrap{display:flex; align-items:center; justify-content:space-between;}
  .brand{display:flex; align-items:center; gap:14px;}
  .brand-mark{width:44px; height:44px; flex-shrink:0;}
  .brand-mark img{width:100%; height:100%; object-fit:contain;}
  .brand-name{font-size:20px; font-weight:600; letter-spacing:0.04em;}
  .brand-motto{font-size:12px; color:var(--steel-light); letter-spacing:0.08em; text-transform:uppercase;}
  header nav{font-size:13px; letter-spacing:0.08em; text-transform:uppercase;}
  header nav a{color:var(--steel-light); text-decoration:none; margin-left:24px; transition:color .15s;}
  header nav a:hover, header nav a.active{color:var(--paper);}

  .hero{position:relative; padding:70px 0 0;}
  .hero-inner{
    position:relative; color:var(--paper); padding:60px 0 84px;
    background-image:linear-gradient(100deg, rgba(15,33,54,0.94) 0%, rgba(15,33,54,0.88) 45%, rgba(15,33,54,0.55) 100%), url('assets/foot-patrol.jpg');
    background-size:cover; background-position:center 30%;
  }
  .eyebrow{font-size:13px; letter-spacing:0.18em; text-transform:uppercase; color:var(--amber); font-weight:600; margin-bottom:18px;}
  h1{font-size:48px; font-weight:700; line-height:1.05; max-width:720px; color:var(--paper);}
  .hero-sub{max-width:580px; margin-top:20px; font-size:17px; color:var(--steel-light); font-family:'Source Sans 3', sans-serif; text-transform:none; letter-spacing:normal;}

  section{padding:60px 0;}
  .section-head{margin-bottom:32px; max-width:640px;}
  .kicker{font-size:12.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--steel); font-weight:600; margin-bottom:10px;}
  h2{font-size:30px; color:var(--navy); font-weight:700;}

  .why{background:var(--paper-dim);}
  .pillars{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); margin-top:10px;}
  .pillar{background:var(--paper-dim); padding:28px 30px;}
  .pillar-tag{font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--amber); font-weight:700; margin-bottom:12px;}
  .pillar h3{font-size:19px; color:var(--navy); font-weight:600; margin-bottom:8px; text-transform:none; letter-spacing:normal;}
  .pillar p{color:var(--ink-soft); font-size:14.5px;}

  .reqs{background:var(--paper);}
  .reqs .wrap{max-width:720px;}
  .reqs ul{list-style:none; margin-top:8px;}
  .reqs li{
    padding:16px 0 16px 30px; border-bottom:1px solid var(--line);
    position:relative; font-size:15.5px;
  }
  .reqs li::before{
    content:""; position:absolute; left:0; top:22px;
    width:8px; height:8px; background:var(--steel);
  }

  .roles{background:var(--paper-dim);}
  .role-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:10px;}
  .role-card{background:var(--paper); border:1px solid var(--line); padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px;}
  .role-title{font-family:'Barlow Condensed', sans-serif; font-size:18px; font-weight:600; color:var(--navy); text-transform:uppercase; letter-spacing:0.02em;}
  .role-type{font-size:12.5px; color:var(--ink-soft); margin-top:4px;}
  .role-link{font-size:13px; color:var(--amber); font-weight:600; text-decoration:none; white-space:nowrap;}

  .apply{background:var(--navy); color:var(--paper);}
  .apply h2{color:var(--paper);}
  .apply .section-head{margin-bottom:28px;}
  .apply .kicker{color:var(--steel-light);}
  form{max-width:640px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
  label{display:block; font-size:12.5px; letter-spacing:0.05em; text-transform:uppercase; color:var(--steel-light); margin-bottom:6px;}
  input, select, textarea{
    width:100%; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.25);
    color:var(--paper); font-family:'Source Sans 3', sans-serif; font-size:15px;
    padding:11px 12px; border-radius:2px;
  }
  input:focus, select:focus, textarea:focus{outline:none; border-color:var(--amber);}
  textarea{resize:vertical; min-height:100px;}
  .field{margin-bottom:16px;}
  .btn{
    display:inline-block; background:var(--amber); color:var(--navy);
    font-family:'Barlow Condensed', sans-serif; font-weight:700; text-transform:uppercase;
    letter-spacing:0.06em; font-size:14px; padding:13px 28px; border-radius:2px;
    border:none; cursor:pointer;
  }
  .form-note{font-size:12.5px; color:var(--steel-light); margin-top:12px;}

  footer{background:var(--navy); color:var(--paper); padding:34px 0 30px; border-top:1px solid rgba(255,255,255,0.14);}
  .foot-meta{display:flex; justify-content:space-between; font-size:13px; color:var(--steel-light); flex-wrap:wrap; gap:8px;}

  @media (max-width:720px){
    header .wrap{flex-direction:column; align-items:flex-start; gap:14px;}
    header nav a{margin-left:0; margin-right:18px;}
    .wrap{padding:0 22px;}
    h1{font-size:34px;}
    .pillars{grid-template-columns:1fr;}
    .role-grid{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
  }

/* Contact source stylesheet */
:root{
    --navy:#0F2136; --steel:#5B84AA; --steel-light:#AFC6DA;
    --paper:#F4F2EC; --paper-dim:#EAE7DE; --ink:#20262E; --ink-soft:#5B6570;
    --amber:#C98A3E; --line:rgba(15,33,54,0.14);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  body{background:var(--paper); color:var(--ink); font-family:'Source Sans 3', sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased;}
  h1,h2,h3,.disp{font-family:'Barlow Condensed', sans-serif; text-transform:uppercase; letter-spacing:0.03em;}
  .wrap{max-width:1080px; margin:0 auto; padding:0 40px;}

  header{background:var(--navy); color:var(--paper); padding:22px 0; border-bottom:3px solid var(--amber);}
  header .wrap{display:flex; align-items:center; justify-content:space-between;}
  .brand{display:flex; align-items:center; gap:14px;}
  .brand-mark{width:44px; height:44px; flex-shrink:0;}
  .brand-mark img{width:100%; height:100%; object-fit:contain;}
  .brand-name{font-size:20px; font-weight:600; letter-spacing:0.04em;}
  .brand-motto{font-size:12px; color:var(--steel-light); letter-spacing:0.08em; text-transform:uppercase;}
  header nav{font-size:13px; letter-spacing:0.08em; text-transform:uppercase;}
  header nav a{color:var(--steel-light); text-decoration:none; margin-left:24px; transition:color .15s;}
  header nav a:hover, header nav a.active{color:var(--paper);}

  .hero{position:relative; padding:70px 0 0;}
  .hero-inner{
    position:relative; color:var(--paper); padding:56px 0 70px;
    background-image:linear-gradient(100deg, rgba(15,33,54,0.94) 0%, rgba(15,33,54,0.88) 45%, rgba(15,33,54,0.55) 100%), url('assets/patrol-cars.jpg');
    background-size:cover; background-position:center 40%;
  }
  .eyebrow{font-size:13px; letter-spacing:0.18em; text-transform:uppercase; color:var(--amber); font-weight:600; margin-bottom:18px;}
  h1{font-size:46px; font-weight:700; line-height:1.05; max-width:680px; color:var(--paper);}
  .hero-sub{max-width:560px; margin-top:20px; font-size:17px; color:var(--steel-light); font-family:'Source Sans 3', sans-serif; text-transform:none; letter-spacing:normal;}

  .contact-body{padding:56px 0 70px;}
  .split{display:grid; grid-template-columns:1fr 1.3fr; gap:48px;}

  .info-block{border-top:3px solid var(--amber); padding-top:22px;}
  .info-block h2{font-size:24px; color:var(--navy); margin-bottom:20px;}
  .info-row{padding:16px 0; border-bottom:1px solid var(--line);}
  .info-label{font-size:11.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--steel); font-weight:600; margin-bottom:4px;}
  .info-value{font-size:15.5px; color:var(--ink);}
  .info-value a{color:var(--navy); text-decoration:none; border-bottom:1px solid var(--steel);}

  form{}
  .form-head{font-size:24px; color:var(--navy); font-family:'Barlow Condensed', sans-serif; text-transform:uppercase; font-weight:700; margin-bottom:20px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
  label{display:block; font-size:12.5px; letter-spacing:0.05em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:6px;}
  input, select, textarea{
    width:100%; background:var(--paper); border:1px solid var(--line);
    color:var(--ink); font-family:'Source Sans 3', sans-serif; font-size:15px;
    padding:11px 12px; border-radius:2px;
  }
  input:focus, select:focus, textarea:focus{outline:none; border-color:var(--steel);}
  textarea{resize:vertical; min-height:120px;}
  .field{margin-bottom:16px;}
  .btn{
    display:inline-block; background:var(--navy); color:var(--paper);
    font-family:'Barlow Condensed', sans-serif; font-weight:700; text-transform:uppercase;
    letter-spacing:0.06em; font-size:14px; padding:13px 30px; border-radius:2px;
    border:none; cursor:pointer;
  }
  .form-note{font-size:12.5px; color:var(--ink-soft); margin-top:12px;}

  footer{background:var(--navy); color:var(--paper); padding:34px 0 30px;}
  .foot-meta{display:flex; justify-content:space-between; font-size:13px; color:var(--steel-light); flex-wrap:wrap; gap:8px;}

  @media (max-width:820px){
    .split{grid-template-columns:1fr;}
  }
  @media (max-width:720px){
    header .wrap{flex-direction:column; align-items:flex-start; gap:14px;}
    header nav a{margin-left:0; margin-right:18px;}
    .wrap{padding:0 22px;}
    h1{font-size:32px;}
    .form-row{grid-template-columns:1fr;}
  }


/* =========================================================
   APPROVED HOME HEADER AND HERO BUILD
   This final block intentionally overrides only the approved
   top header and Home hero presentation.
   ========================================================= */

.masthead .wrap {
  position: relative;
}

.brand-area {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.brand-logo {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.brand-logo .custom-logo-link,
.brand-logo .custom-logo {
  display: block;
  width: 100%;
  height: 100%;
}

.brand-logo .custom-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.masthead .brand {
  white-space: nowrap;
}

.masthead .nav > .menu-item-has-children > a,
.masthead .nav > .menu-item-has-children > a:hover,
.masthead .nav > .menu-item-has-children > a[aria-current="page"] {
  border-color: transparent !important;
}

.masthead .nav > .menu-item > a[href*="request-quote"] {
  border-color: transparent !important;
}

.masthead .nav .sub-menu {
  left: 0 !important;
  right: auto !important;
}

.hero {
  background: var(--navy-deep) !important;
  color: #fff;
  padding: 0 !important;
  position: relative;
  overflow: hidden;
}

.hero::after {
  content: "";
  position: absolute;
  right: -180px;
  top: -150px;
  width: 560px;
  height: 560px;
  border: 1px solid rgba(232,163,61,.16);
  border-radius: 50%;
  pointer-events: none;
}

.hero-main {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 540px) minmax(420px, 1fr);
  align-items: center;
  min-height: 560px;
}

.hero-copy {
  position: relative;
  z-index: 3;
  max-width: 540px;
  padding: 42px 0 46px;
}

.hero .eyebrow {
  color: var(--amber) !important;
  margin-bottom: 14px;
}

.hero h1 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(3.15rem, 5.2vw, 5.25rem) !important;
  line-height: .96 !important;
  letter-spacing: -.01em;
  text-transform: uppercase;
  margin: 0 0 20px !important;
}

.hero h1 em {
  font-style: normal;
  color: var(--steel) !important;
}

.hero-description {
  position: relative;
  z-index: 4;
  max-width: 55ch !important;
  margin: 0 0 24px !important;
  font-size: 1rem !important;
  line-height: 1.62 !important;
  color: rgba(255,255,255,.86) !important;
}

.hero-action {
  margin: 0 !important;
}

.hero-quote-button {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  background: var(--amber);
  color: var(--navy-deep) !important;
  text-decoration: none !important;
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 14px 20px;
  border: 0 !important;
  border-radius: 2px;
  transition: transform .18s ease, background .18s ease;
}

.hero-quote-button:hover {
  color: var(--navy-deep) !important;
  background: #e2a34b;
  transform: translateY(-1px);
}

.hero-quote-button span {
  font-size: 1.15rem;
  line-height: 1;
}

.hero-slideshow {
  position: relative;
  z-index: 2;
  min-width: 0;
  height: 560px;
  overflow: hidden;
  margin-right: calc((100vw - var(--wrap)) / -2);
}

.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.025);
  transition: opacity 1200ms ease, transform 1200ms ease;
}

.hero-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

.hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(90deg,
    var(--navy-deep) 0%,
    rgba(18,40,63,.92) 8%,
    rgba(18,40,63,.48) 25%,
    rgba(18,40,63,0) 55%);
}

.hero-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #102942 0%, #1a3957 50%, #0a1d31 100%);
}

.hero-placeholder span {
  position: relative;
  z-index: 3;
  color: rgba(255,255,255,.62);
  font-family: var(--mono);
  font-size: .78rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,.18);
  padding: 14px 18px;
}

.creds {
  position: relative;
  z-index: 4;
  margin-top: 0 !important;
}

@media (max-width: 1100px) {
  .hero-main {
    grid-template-columns: minmax(0, 500px) minmax(360px, 1fr);
  }

  .hero-slideshow {
    height: 540px;
  }
}

@media (max-width: 900px) {
  .brand-logo {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
  }

  .hero-main {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .hero-copy {
    max-width: 720px;
    padding: 34px 0 28px;
  }

  .hero-slideshow {
    height: 420px;
    margin-right: 0;
  }

  .hero-slide::before {
    background: linear-gradient(180deg,
      var(--navy-deep) 0%,
      rgba(18,40,63,.24) 35%,
      rgba(18,40,63,0) 70%);
  }
}

@media (max-width: 560px) {
  .brand-logo {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }

  .hero-copy {
    padding: 26px 0 24px;
  }

  .hero h1 {
    font-size: 2.85rem !important;
  }

  .hero-description {
    font-size: .95rem !important;
  }

  .hero-slideshow {
    height: 300px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slide {
    transition: none;
  }
}

/* Our Philosophy only, subtle text protection over rotating background */
.philosophy-section {
  position: relative;
  isolation: isolate;
}

.philosophy-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: transparent;
  pointer-events: none;
}

.philosophy-section > .wrap .eyebrow,
.philosophy-section > .wrap h2,
.philosophy-section > .wrap p {
  text-shadow: 0 2px 5px rgba(0,0,0,.45);
}

.philosophy-section > .wrap {
  position: relative;
  z-index: 1;
}

.philosophy-section > .wrap {
  background: linear-gradient(
    135deg,
    rgba(70, 78, 88, 0.58) 0%,
    rgba(95, 102, 110, 0.48) 50%,
    rgba(55, 63, 72, 0.42) 100%
  );
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 8px;
  box-shadow:
    0 18px 50px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 38px 42px;
}

.philosophy-section .cols p {
  color: rgba(255, 255, 255, 0.88);
}

.philosophy-section h2 {
  color: rgba(255, 255, 255, 0.96);
}
