:root{
    --navy-black:#0B1420;
    --navy:#132743;
    --navy-mid:#1D3A5F;
    --steel:#3A5674;
    --silver:#C7CDD3;
    --silver-dim:#8C97A2;
    --white:#F7F8F9;
    --bronze:#9A7B4F;
    --line:rgba(199,205,211,0.18);
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background:var(--white);
    color:var(--navy-black);
    font-family:'Public Sans', sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:'Archivo Expanded', sans-serif;
    font-weight:800;
    letter-spacing:-0.01em;
    line-height:1.05;
    margin:0;
  }
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1240px;margin:0 auto;padding:0 32px;}

  /* ===== NAV ===== */
  nav.site{
    position:sticky;top:0;z-index:50;
    background:var(--navy-black);
    border-bottom:1px solid var(--line);
  }
  nav.site .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;}
  .logo{color:var(--white);font-family:'Archivo Expanded';font-weight:800;font-size:20px;letter-spacing:0.02em;}
  .logo span{color:var(--bronze);}
  .navlinks{display:flex;gap:36px;}
  .navlinks a{color:var(--silver);font-size:14px;font-weight:600;}
  .navlinks a:hover{color:var(--white);}
  .nav-cta{
    background:var(--white);color:var(--navy-black);
    padding:11px 22px;font-weight:700;font-size:14px;
    border:1px solid var(--white);
  }
  .nav-cta:hover{background:transparent;color:var(--white);}

  /* ===== HERO ===== */
  .hero{
    position:relative;
    min-height:88vh;
    display:flex;align-items:flex-end;
    background:
      linear-gradient(180deg, rgba(11,20,32,0.35) 0%, rgba(11,20,32,0.55) 40%, rgba(11,20,32,0.96) 100%),
      repeating-linear-gradient(115deg, #1D3A5F 0px, #1D3A5F 2px, #16273F 2px, #16273F 80px),
      #16273F;
    overflow:hidden;
  }
  .hero::before{
    /* simulated "active job site" motion layer, replaces literal video bg */
    content:"";
    position:absolute;inset:0;
    background-image:
      linear-gradient(90deg, transparent 0%, transparent 96%, rgba(199,205,211,0.06) 96%, rgba(199,205,211,0.06) 100%);
    background-size: 60px 100%;
    animation: crawl 14s linear infinite;
    opacity:0.5;
  }
  @keyframes crawl{ from{background-position:0 0;} to{background-position:600px 0;} }
  .hero-inner{position:relative;z-index:2;padding:80px 0 72px;width:100%;}
  .hero-tag{
    color:var(--bronze);font-weight:700;font-size:13px;
    text-transform:uppercase;letter-spacing:0.14em;margin-bottom:18px;
    display:block;
  }
  .hero h1{
    color:var(--white);
    font-size:clamp(38px,5.4vw,64px);
    max-width:820px;
  }
  .hero p{
    color:var(--silver);
    font-size:18px;line-height:1.6;
    max-width:520px;
    margin-top:22px;
  }
  .hero-actions{display:flex;gap:16px;margin-top:34px;flex-wrap:wrap;}
  .btn-primary{
    background:var(--bronze);color:var(--navy-black);
    padding:16px 30px;font-weight:700;font-size:15px;border:none;cursor:pointer;
  }
  .btn-primary:hover{background:#B08F5F;}
  .btn-ghost{
    background:transparent;color:var(--white);border:1px solid var(--silver-dim);
    padding:16px 30px;font-weight:700;font-size:15px;cursor:pointer;
  }
  .btn-ghost:hover{border-color:var(--white);}
  .hero-stats{
    display:flex;gap:56px;margin-top:56px;padding-top:28px;
    border-top:1px solid var(--line);max-width:720px;
  }
  .hero-stats div b{
    display:block;color:var(--white);font-family:'Archivo Expanded';font-size:30px;
  }
  .hero-stats div span{color:var(--silver-dim);font-size:13px;}

  /* ===== TRUST BAR ===== */
  .trust{background:var(--navy);padding:26px 0;}
  .trust .wrap{
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;
  }
  .trust-item{display:flex;align-items:center;gap:10px;color:var(--silver);font-size:13px;font-weight:600;}
  .trust-dot{width:7px;height:7px;background:var(--bronze);border-radius:50%;}

  /* ===== SECTION HEADER ===== */
  .section{padding:96px 0;}
  .section-head{
    display:flex;justify-content:space-between;align-items:flex-end;
    gap:40px;margin-bottom:52px;border-bottom:1px solid #E3E6E9;padding-bottom:28px;
  }
  .section-head h2{font-size:clamp(28px,3.4vw,40px);max-width:560px;color:var(--navy-black);}
  .section-head p{color:#5B6570;font-size:15px;max-width:340px;line-height:1.6;}
  .section-num{
    font-family:'Archivo Expanded';font-size:13px;color:var(--bronze);
    letter-spacing:0.1em;margin-bottom:14px;display:block;font-weight:700;
  }

  /* ===== SERVICE GRID ===== */
  .services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#E3E6E9;border:1px solid #E3E6E9;}
  .svc{background:var(--white);padding:40px 34px;transition:background .2s;}
  .svc:hover{background:#FAFBFC;}
  .svc-icon{
    width:44px;height:44px;border:1.5px solid var(--navy);
    display:flex;align-items:center;justify-content:center;margin-bottom:26px;
    color:var(--navy);font-family:'Archivo Expanded';font-weight:800;font-size:15px;
  }
  .svc h3{font-size:20px;margin-bottom:12px;color:var(--navy-black);}
  .svc p{color:#5B6570;font-size:14.5px;line-height:1.65;margin-bottom:18px;}
  .svc-link{font-size:13.5px;font-weight:700;color:var(--navy);border-bottom:1.5px solid var(--bronze);padding-bottom:2px;}

  /* ===== BEFORE/AFTER SLIDER ===== */
  .gallery-block{background:var(--navy-black);padding:96px 0;}
  .gallery-block .section-head h2, .gallery-block .section-head p{color:var(--white);}
  .gallery-block .section-head p{color:var(--silver-dim);}
  .gallery-block .section-head{border-bottom-color:var(--line);}
  .ba-wrap{position:relative;width:100%;aspect-ratio:16/8;overflow:hidden;user-select:none;cursor:ew-resize;border:1px solid var(--line);}
  .ba-img{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:'Archivo Expanded';font-weight:800;font-size:15px;letter-spacing:0.08em;}
  .ba-before{background:linear-gradient(135deg,#3A3F45,#20242A);color:#8B939B;}
  .ba-after{background:linear-gradient(135deg,#1D3A5F,#0B1420);color:var(--silver);}
  .ba-after-clip{position:absolute;inset:0;overflow:hidden;}
  .ba-handle{
    position:absolute;top:0;bottom:0;width:3px;background:var(--bronze);
    left:50%;transform:translateX(-50%);
  }
  .ba-handle::after{
    content:"↔";
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:44px;height:44px;background:var(--bronze);color:var(--navy-black);
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-size:18px;font-weight:800;font-family:'Public Sans';
  }
  .ba-label{
    position:absolute;top:18px;font-size:11px;font-weight:700;letter-spacing:0.1em;
    padding:6px 12px;background:rgba(11,20,32,0.7);color:var(--white);
  }
  .ba-label.left{left:18px;}
  .ba-label.right{right:18px;}

  /* ===== ESTIMATE CALCULATOR ===== */
  .calc-section{padding:96px 0;background:var(--white);}
  .calc-card{
    background:var(--navy);color:var(--white);
    display:grid;grid-template-columns:1fr 1fr;
    border:1px solid var(--navy);
  }
  .calc-left{padding:56px 48px;border-right:1px solid var(--line);}
  .calc-left .section-num{color:var(--bronze);}
  .calc-left h2{color:var(--white);font-size:30px;max-width:360px;}
  .calc-left p{color:var(--silver-dim);font-size:14.5px;line-height:1.7;margin-top:18px;max-width:340px;}
  .calc-steps{margin-top:40px;display:flex;flex-direction:column;gap:14px;}
  .calc-step-row{display:flex;align-items:center;gap:14px;font-size:13.5px;color:var(--silver-dim);}
  .calc-step-row.active{color:var(--white);}
  .step-dot{width:22px;height:22px;border:1.5px solid var(--silver-dim);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
  .calc-step-row.active .step-dot{border-color:var(--bronze);background:var(--bronze);color:var(--navy-black);}
  .calc-step-row.done .step-dot{border-color:var(--bronze);color:var(--bronze);}

  .calc-right{padding:56px 48px;}
  .q-title{font-size:13px;color:var(--silver-dim);font-weight:700;letter-spacing:0.08em;margin-bottom:20px;}
  .opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .opt{
    border:1.5px solid var(--line);padding:20px 16px;cursor:pointer;
    font-size:14.5px;font-weight:600;color:var(--white);transition:all .15s;
  }
  .opt:hover{border-color:var(--silver-dim);}
  .opt.selected{border-color:var(--bronze);background:rgba(154,123,79,0.14);}
  .sqft-input{
    width:100%;background:transparent;border:none;border-bottom:2px solid var(--line);
    color:var(--white);font-family:'Archivo Expanded';font-size:38px;font-weight:800;
    padding:10px 0;outline:none;
  }
  .sqft-input:focus{border-bottom-color:var(--bronze);}
  .sqft-label{font-size:13px;color:var(--silver-dim);margin-top:8px;}
  .calc-nav{display:flex;justify-content:space-between;margin-top:36px;}
  .calc-btn{
    background:var(--bronze);color:var(--navy-black);border:none;
    padding:13px 26px;font-weight:700;font-size:14px;cursor:pointer;
  }
  .calc-btn:disabled{background:#3B4859;color:var(--silver-dim);cursor:not-allowed;}
  .calc-back{background:transparent;color:var(--silver-dim);border:none;font-size:13.5px;font-weight:600;cursor:pointer;}
  .result-price{font-family:'Archivo Expanded';font-size:44px;color:var(--white);margin-top:6px;}
  .result-sub{color:var(--silver-dim);font-size:13.5px;margin-top:10px;line-height:1.6;}

  /* ===== FOOTER CTA ===== */
  .cta-strip{background:var(--navy-black);padding:80px 0;text-align:left;}
  .cta-strip h2{color:var(--white);font-size:clamp(26px,3.6vw,40px);max-width:600px;}
  .cta-strip-row{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;}

  footer{background:var(--navy-black);border-top:1px solid var(--line);padding:36px 0;}
  footer .wrap{display:flex;justify-content:space-between;color:var(--silver-dim);font-size:12.5px;}

  @media (max-width:880px){
    .services{grid-template-columns:1fr;}
    .calc-card{grid-template-columns:1fr;}
    .calc-left{border-right:none;border-bottom:1px solid var(--line);}
    .opt-grid{grid-template-columns:1fr;}
    .hero-stats{flex-wrap:wrap;gap:32px;}
  }
