
  :root{
    --bg:#1B1B1D;
    --bg-deep:#131315;
    --bg-raise:#242427;
    --line:#35353A;
    --orange1:#F49D3D;
    --orange2:#E2571D;
    --orange-grad:linear-gradient(180deg,#F49D3D 0%,#E2571D 100%);
    --orange-grad-h:linear-gradient(115deg,#F49D3D 0%,#E2571D 100%);
    --white:#FFFFFF;
    --text:#EDEDEC;
    --grey:#A9A9AE;
    --radius:10px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:"Poppins","Montserrat","Segoe UI","Helvetica Neue",Arial,sans-serif;
    color:var(--text);
    background:var(--bg);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{font-weight:700;line-height:1.18;color:var(--white);}
  a{color:inherit;}
  .grad-text{
    background:var(--orange-grad);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
  }

  /* ---------- Header ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(19,19,21,.97);
    border-bottom:2px solid var(--orange2);
  }
  .header-inner{
    max-width:1140px;margin:0 auto;padding:12px 24px;
    display:flex;align-items:center;justify-content:space-between;gap:16px;
  }
  .brand{display:flex;align-items:center;gap:12px;cursor:pointer;user-select:none;}
  .brand-mark{width:74px;height:auto;flex:none;display:block;}
  .brand-text{line-height:1;}
  .brand-text .pga{
    font-size:1.7rem;font-weight:800;letter-spacing:.02em;display:block;
  }
  .brand-text .installations{
    display:block;font-size:.55rem;font-weight:600;letter-spacing:.44em;
    color:var(--orange1);text-transform:uppercase;margin-top:3px;
  }
  nav{display:flex;align-items:center;gap:4px;}
  nav .navlink{
    background:none;border:none;color:var(--grey);font:inherit;font-weight:600;
    font-size:.93rem;padding:9px 14px;cursor:pointer;border-radius:6px;letter-spacing:.02em;
  }
  nav .navlink:hover{color:var(--white);background:rgba(255,255,255,.06);}
  nav .navlink.active{color:var(--orange1);}
  .header-phone{
    display:flex;align-items:center;gap:8px;
    background:var(--orange-grad-h);color:var(--white);
    font-weight:700;font-size:.93rem;text-decoration:none;
    padding:10px 16px;border-radius:7px;white-space:nowrap;
  }
  .header-phone:hover{filter:brightness(1.08);}

  /* ---------- Layout helpers ---------- */
  .page{display:none;}
  .page.active{display:block;animation:fadein .35s ease;}
  @keyframes fadein{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
  .wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
  section{padding:76px 0;}
  .kicker{
    display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.32em;
    text-transform:uppercase;color:var(--orange1);margin-bottom:14px;
  }
  .lead{font-size:1.1rem;color:var(--grey);max-width:46em;}
  .btn{
    display:inline-block;font-weight:700;font-size:.98rem;text-decoration:none;
    padding:14px 28px;border-radius:8px;cursor:pointer;border:none;font-family:inherit;
    letter-spacing:.01em;
  }
  .btn-orange{background:var(--orange-grad-h);color:var(--white);}
  .btn-orange:hover{filter:brightness(1.08);}
  .btn-ghost{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.3);}
  .btn-ghost:hover{border-color:var(--orange1);color:var(--orange1);}

  /* ---------- Hero ---------- */
  .hero{
    background:
      radial-gradient(ellipse at 75% -20%, rgba(226,87,29,.22) 0%, rgba(226,87,29,0) 55%),
      var(--bg-deep);
    padding:92px 0 0;
  }
  .hero h1{font-size:clamp(2.1rem,4.6vw,3.3rem);max-width:16em;margin-bottom:20px;font-weight:800;}
  .hero .lead{font-size:1.13rem;margin-bottom:34px;}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:64px;}
  .hero-strip{
    background:rgba(255,255,255,.04);
    border-top:1px solid rgba(255,255,255,.09);
    padding:20px 0;
  }
  .hero-strip .wrap{display:flex;gap:36px;flex-wrap:wrap;}
  .strip-item{font-size:.92rem;color:var(--grey);display:flex;align-items:center;gap:10px;}
  .strip-item strong{color:var(--white);}
  .tick{
    width:20px;height:20px;flex:none;border-radius:50%;
    border:2px solid var(--orange1);position:relative;
  }
  .tick::after{
    content:"";position:absolute;left:4px;top:4.5px;width:8px;height:4px;
    border-left:2px solid var(--orange1);border-bottom:2px solid var(--orange1);
    transform:rotate(-45deg);
  }

  /* ---------- Cards ---------- */
  .grid{display:grid;gap:22px;}
  .grid-4{grid-template-columns:repeat(4,1fr);}
  @media(max-width:900px){.grid-4{grid-template-columns:1fr 1fr;}}
  @media(max-width:640px){.grid-4{grid-template-columns:1fr;}}
  .card{
    background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius);
    padding:28px;
  }
  .card h3{font-size:1.08rem;margin:14px 0 10px;}
  .card p{font-size:.92rem;color:var(--grey);}
  .icon{
    width:46px;height:46px;border-radius:9px;background:var(--orange-grad);
    display:flex;align-items:center;justify-content:center;
  }
  .icon svg{width:24px;height:24px;stroke:#1B1B1D;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

  /* ---------- Split feature ---------- */
  .split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
  @media(max-width:820px){.split{grid-template-columns:1fr;}}
  .split h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:18px;}
  .checklist{list-style:none;margin-top:20px;}
  .checklist li{
    padding-left:34px;position:relative;margin-bottom:13px;color:var(--text);font-size:.98rem;
  }
  .checklist li::before{
    content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;
    border:2px solid var(--orange1);
  }
  .checklist li::after{
    content:"";position:absolute;left:5px;top:9px;width:9px;height:5px;
    border-left:2.5px solid var(--orange1);border-bottom:2.5px solid var(--orange1);
    transform:rotate(-45deg);
  }
  .stat-panel{
    background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--radius);
    padding:40px;display:grid;gap:28px;
  }
  .stat .num{
    font-size:2.5rem;font-weight:800;line-height:1;
    background:var(--orange-grad);-webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;display:inline-block;
  }
  .stat .lbl{font-size:.9rem;color:var(--grey);margin-top:6px;max-width:24em;}

  /* ---------- Band / CTA ---------- */
  .band{
    background:
      radial-gradient(ellipse at 50% 130%, rgba(226,87,29,.28) 0%, rgba(226,87,29,0) 60%),
      var(--bg-deep);
    text-align:center;border-top:2px solid var(--orange2);
  }
  .band h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:14px;}
  .band p{color:var(--grey);max-width:40em;margin:0 auto 30px;}
  .band .hero-ctas{justify-content:center;margin-bottom:0;}

  /* ---------- Quote pull ---------- */
  .pull{
    border-left:5px solid var(--orange2);background:var(--bg-raise);
    border-radius:0 var(--radius) var(--radius) 0;
    padding:30px 34px;font-size:1.2rem;font-weight:600;line-height:1.55;
    max-width:46em;color:var(--white);
  }
  .pull span{color:var(--orange1);}

  /* ---------- Team ---------- */
  .team-card{text-align:center;padding:24px 14px;}
  .team-card h3{font-size:.98rem;margin:12px 0 4px;}
  .team-card p{font-size:.8rem;color:var(--grey);}
  .avatar{
    width:56px;height:56px;border-radius:50%;margin:0 auto;
    background:var(--orange-grad);color:#1B1B1D;
    display:flex;align-items:center;justify-content:center;
    font-weight:800;font-size:1.05rem;letter-spacing:.04em;
  }
  .team-grid{grid-template-columns:repeat(5,1fr);}
  @media(max-width:900px){.team-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.team-grid{grid-template-columns:1fr;}}

  /* ---------- Services page ---------- */
  .page-hero{
    background:
      radial-gradient(ellipse at 75% -20%, rgba(226,87,29,.22) 0%, rgba(226,87,29,0) 55%),
      var(--bg-deep);
    padding:72px 0 64px;border-bottom:2px solid var(--orange2);
  }
  .page-hero h1{font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:14px;font-weight:800;}
  .svc{
    background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius);
    padding:40px;margin-bottom:26px;
    display:grid;grid-template-columns:64px 1fr;gap:26px;align-items:start;
  }
  @media(max-width:640px){.svc{grid-template-columns:1fr;}}
  .svc .icon{width:64px;height:64px;border-radius:12px;}
  .svc .icon svg{width:32px;height:32px;}
  .svc h2{font-size:1.45rem;margin-bottom:8px;}
  .svc .tag{
    display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.14em;
    text-transform:uppercase;background:rgba(244,157,61,.12);border:1px solid rgba(244,157,61,.4);
    color:var(--orange1);border-radius:99px;padding:4px 12px;margin-left:10px;vertical-align:middle;
  }
  .svc p.desc{color:var(--grey);margin-bottom:18px;max-width:52em;font-size:.97rem;}
  .svc-list{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
    gap:10px 24px;list-style:none;
  }
  .svc-list li{padding-left:24px;position:relative;font-size:.93rem;color:var(--text);}
  .svc-list li::before{
    content:"";position:absolute;left:0;top:9px;width:9px;height:9px;
    background:var(--orange-grad);border-radius:2px;transform:rotate(45deg);
  }
  .note{
    background:rgba(244,157,61,.08);border:1px solid rgba(244,157,61,.35);border-radius:8px;
    padding:16px 20px;font-size:.92rem;color:var(--text);margin-top:18px;max-width:56em;
  }
  .note strong{color:var(--orange1);}

  /* ---------- Contact page ---------- */
  .contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start;}
  @media(max-width:820px){.contact-grid{grid-template-columns:1fr;}}
  .contact-card{
    background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius);
    padding:24px;display:flex;gap:18px;align-items:center;margin-bottom:16px;
  }
  .contact-card .icon{flex:none;}
  .contact-card .cc-label{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--grey);}
  .contact-card .cc-value{font-size:1.12rem;font-weight:700;text-decoration:none;display:block;color:var(--white);}
  .contact-card .cc-value:hover{color:var(--orange1);}
  .contact-card .cc-sub{font-size:.83rem;color:var(--grey);}
  form{
    background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius);
    padding:36px;
  }
  form h3{font-size:1.3rem;margin-bottom:6px;}
  form p.formsub{color:var(--grey);font-size:.92rem;margin-bottom:24px;}
  .frow{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media(max-width:560px){.frow{grid-template-columns:1fr;}}
  .field{margin-bottom:16px;}
  .field label{display:block;font-size:.8rem;font-weight:600;margin-bottom:6px;letter-spacing:.03em;color:var(--white);}
  .field input,.field select,.field textarea{
    width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:8px;
    font:inherit;font-size:.95rem;background:var(--bg);color:var(--text);
  }
  .field input::placeholder,.field textarea::placeholder{color:#6E6E74;}
  .field input:focus,.field select:focus,.field textarea:focus{
    outline:none;border-color:var(--orange1);
  }
  .field textarea{min-height:120px;resize:vertical;}
  .steps{counter-reset:step;list-style:none;margin-top:22px;}
  .steps li{counter-increment:step;position:relative;padding-left:52px;margin-bottom:20px;}
  .steps li::before{
    content:counter(step);position:absolute;left:0;top:0;
    width:36px;height:36px;border-radius:50%;background:var(--orange-grad);color:#1B1B1D;
    font-weight:800;display:flex;align-items:center;justify-content:center;font-size:1rem;
  }
  .steps li strong{display:block;color:var(--white);}
  .steps li span{font-size:.92rem;color:var(--grey);}

  /* ---------- Footer ---------- */
  footer{background:var(--bg-deep);color:var(--grey);padding:56px 0 32px;border-top:1px solid var(--line);}
  .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:36px;margin-bottom:40px;}
  @media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.footer-grid{grid-template-columns:1fr;}}
  footer h4{color:var(--white);font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;}
  footer ul{list-style:none;}
  footer li{margin-bottom:9px;font-size:.9rem;}
  footer a{text-decoration:none;}
  footer a:hover{color:var(--orange1);}
  footer .flink{
    background:none;border:none;color:var(--grey);font:inherit;font-size:.9rem;cursor:pointer;padding:0;
  }
  footer .flink:hover{color:var(--orange1);}
  .footer-legal{
    border-top:1px solid rgba(255,255,255,.1);padding-top:22px;
    font-size:.78rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  }
  .footer-brand p{font-size:.88rem;max-width:30em;margin-top:14px;}
  .tagline{
    font-size:.85rem;color:var(--orange1);font-weight:600;letter-spacing:.06em;margin-top:6px;
  }

  /* multi-page build */
  .page{display:block;}
  a.navlink,a.flink{text-decoration:none;display:inline-block;}
