
  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body {
    font-family: 'Montserrat', sans-serif;
    color:#102039;
    background:#fff;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img { display:block; max-width:100%; }
  a { color:inherit; text-decoration:none; }
  button { font-family:inherit; cursor:pointer; border:none; background:none; }

  :root {
    --navy:#102039;
    --navy-deep:#091528;
    --red:#EE2E2E;
    --red-bright:#FF0000;
    --cream:#FBFBFB;
    --border:rgba(16,32,57,0.12);
  }

  /* ================= HEADER ================= */
  .header {
    position:sticky; top:0; z-index:100;
    background:#fff;
    border-bottom:1px solid rgba(16,32,57,0.06);
  }
  .header-inner {
    max-width:1920px;
    margin:0 auto;
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 53px;
    gap:24px;
  }
  .logo { display:flex; align-items:center; gap:10px; flex-shrink:0; }
  .logo-mark {
    display:flex; align-items:center; gap:6px;
  }
  .logo-triangles {
    display:flex; align-items:flex-end; gap:3px;
  }
  .logo-tri {
    width:0; height:0;
    border-left:10px solid transparent;
    border-right:10px solid transparent;
    border-bottom:18px solid var(--navy);
  }
  .logo-tri.red { border-bottom-color:var(--red); }
  .logo-tri.small { border-left-width:7px; border-right-width:7px; border-bottom-width:12px; }
  .logo-divider {
    width:2px; height:44px;
    background:var(--navy);
    margin:0 4px;
  }
  .logo-text {
    display:flex; flex-direction:column; line-height:1;
  }
  .logo-wordmark {
    font-family:'Syne', sans-serif;
    font-weight:800;
    font-size:28px;
    letter-spacing:-0.01em;
    color:var(--navy);
  }
  .logo-wordmark .can { color:var(--red); }
  .logo-sub {
    display:flex; align-items:center; gap:6px;
    margin-top:6px;
  }
  .logo-sub .bar {
    width:18px; height:1.5px; background:var(--red);
  }
  .logo-sub .flat {
    font-family:'Poppins', sans-serif;
    font-size:9px;
    letter-spacing:0.23em;
    font-weight:500;
    color:var(--navy);
  }
  .logo-tag {
    font-family:'Poppins', sans-serif;
    font-size:7px;
    letter-spacing:0.07em;
    font-weight:500;
    color:var(--navy);
    text-align:center;
    margin-top:3px;
  }
  nav.primary {
    display:flex; align-items:center; gap:38px;
    flex:1;
    justify-content:center;
  }
  nav.primary a {
    font-family:'Poppins', sans-serif;
    font-size:16px;
    font-weight:500;
    color:var(--navy);
    transition:color .2s;
    white-space:nowrap;
  }
  nav.primary a:hover { color:var(--red); }

  .btn {
    display:inline-flex; align-items:center; justify-content:center;
    font-family:'Poppins', sans-serif;
    font-weight:500;
    border-radius:999px;
    transition:transform .2s, box-shadow .2s, background .2s;
    cursor:pointer;
  }
  .btn:hover { transform:translateY(-1px); box-shadow:0 8px 20px rgba(16,32,57,.25); }
  .btn-navy { background:var(--navy); color:#fff; padding:15px 32px; font-size:17px; }
  .btn-red  { background:var(--red); color:#fff; padding:20px 36px; font-size:18px; }
  .btn-red:hover { background:#d42828; }

  .btn-cta { padding:22px 40px; font-size:20px; }

  .hamburger {
    display:none;
    width:40px; height:40px;
    flex-direction:column; justify-content:center; align-items:center; gap:5px;
    cursor:pointer;
  }
  .hamburger span {
    width:26px; height:2.5px; background:var(--navy);
    border-radius:2px;
    transition:transform .3s, opacity .3s;
  }
  .hamburger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .hamburger.open span:nth-child(2){ opacity:0; }
  .hamburger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  /* Mobile menu */
  .mobile-menu {
    display:none;
    position:fixed; inset:70px 0 0 0;
    background:#fff;
    padding:32px 24px;
    z-index:99;
    overflow-y:auto;
  }
  .mobile-menu.open { display:block; }
  .mobile-menu a {
    display:block;
    font-family:'Syne', sans-serif;
    font-weight:600;
    font-size:22px;
    color:var(--navy);
    padding:18px 0;
    border-bottom:1px solid rgba(16,32,57,.08);
  }
  .mobile-menu .btn {
    margin-top:24px; width:100%;
  }

  /* ================= HERO ================= */
  .hero {
    position:relative;
    background:
      linear-gradient(rgba(9,21,40,.55), rgba(9,21,40,.78)),
      url('../images/hero-bg.png') center/cover no-repeat;
    padding:70px 53px 80px;
    min-height:720px;
    display:grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 56px;
    align-items:center;
    color:#fff;
  }
  .hero::before {
    content:'';
    position:absolute; inset:0;
    background: linear-gradient(90deg, rgba(9,21,40,.85) 0%, rgba(9,21,40,.55) 45%, rgba(9,21,40,.2) 100%);
    pointer-events:none;
  }
  .hero > * { position:relative; z-index:1; }
  .hero-title {
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size:clamp(34px, 4.5vw, 62px);
    line-height:1.05;
    letter-spacing:-0.01em;
    text-align:center;
  }
  .hero-title .amp { color:var(--red); }
  .hero-sub {
    margin:20px auto 0;
    font-family:'Montserrat', sans-serif;
    font-size:20px;
    line-height:1.7;
    max-width:720px;
    color:rgba(255,255,255,.85);
    text-align:center;
  }
  .hero-cta-row {
    margin-top:36px;
    display:flex; gap:18px; flex-wrap:wrap;
    justify-content:center;
  }
  .hero-copy { width:100%; text-align:center; }

  .quote-card {
    background:#fff;
    color:var(--navy);
    border-radius:20px;
    padding:36px 40px 32px;
    box-shadow:0 20px 60px rgba(0,0,0,.35);
    max-width:780px;
    width:100%;
    margin-top:40px;
  }
  .quote-card .phone {
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size:28px;
    color:var(--red-bright);
    text-align:center;
    margin-bottom:28px;
  }
  .form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
  }
  .form-grid .full { grid-column:1 / -1; }
  .form-input, .form-textarea {
    width:100%;
    padding:16px 18px;
    border:1px solid rgba(16,32,57,.3);
    border-radius:5px;
    font-family:'Poppins', sans-serif;
    font-size:15px;
    color:var(--navy);
    background:#fff;
    transition:border-color .2s, box-shadow .2s;
  }
  .form-input:focus, .form-textarea:focus {
    outline:none;
    border-color:var(--red);
    box-shadow:0 0 0 3px rgba(238,46,46,.1);
  }
  .form-textarea { min-height:90px; resize:vertical; font-family:'Poppins', sans-serif; }
  .form-submit {
    margin-top:18px;
    background:var(--navy);
    color:#fff;
    border:1px solid var(--red);
    padding:16px 36px;
    border-radius:90px;
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size:16px;
    display:block;
    margin-left:auto; margin-right:auto;
    transition:all .2s;
  }
  .form-submit:hover { background:var(--red); border-color:var(--red); }

  /* ================= TRUST BAR ================= */
  .trust {
    padding:36px 53px;
    background:#fff;
  }
  .trust-row {
    display:flex; align-items:center; justify-content:center; gap:40px;
    flex-wrap:wrap;
    max-width:1800px; margin:0 auto;
  }
  .trust-row img { height:70px; width:auto; object-fit:contain; filter:grayscale(.1); }
  .trust-logos-img { width:100%; max-width:1680px; height:auto !important; }
  .trust-badge {
    height:96px;
    display:flex; align-items:center; justify-content:center;
    flex-direction:column;
    min-width:120px;
    padding:8px 12px;
    border-radius:10px;
    border:1px solid rgba(16,32,57,.08);
    background:#fff;
    text-align:center;
  }
  .trust-badge .lbl {
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size:14px;
    color:var(--navy);
    line-height:1.15;
    margin-top:4px;
  }
  .trust-badge .star {
    color:#FFC107; font-size:18px; letter-spacing:2px;
  }
  .trust-badge.bbb {
    background:var(--navy); color:#fff;
  }
  .trust-badge.bbb .lbl { color:#fff; }
  .trust-badge.homestars { background:#fff; }
  .trust-badge.homestars .lbl { color:#E82C2C; }

  /* ================= LIVE PROJECT ================= */
  .live {
    background:var(--cream);
    padding:80px 53px 100px;
    text-align:center;
  }
  .section-title {
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size:clamp(28px, 4.5vw, 52px);
    line-height:1.14;
    color:var(--red-bright);
    text-align:center;
  }
  .section-title.white { color:#fff; }
  .section-title.dark  { color:var(--navy); }

  .countdown {
    margin:36px auto 56px;
    display:inline-flex; flex-direction:column; align-items:center;
  }
  .countdown-label {
    font-family:'Montserrat', sans-serif;
    font-weight:500;
    font-size:22px;
    color:var(--red);
    margin-bottom:12px;
  }
  .countdown-card {
    background:#fff;
    border-radius:18px;
    box-shadow:0 1px 52px #F5F5F5;
    padding:30px 44px;
    display:flex; gap:32px;
  }
  .countdown-unit {
    display:flex; flex-direction:column; align-items:center;
    min-width:56px;
  }
  .countdown-num {
    font-family:'Teko', 'Syne', sans-serif;
    font-weight:600;
    font-size:44px;
    color:var(--navy);
    line-height:1;
  }
  .countdown-sep {
    font-size:44px; color:var(--navy); line-height:1;
  }
  .countdown-lbl {
    font-family:'Montserrat', sans-serif;
    font-size:12px;
    letter-spacing:0.2em;
    color:rgba(16,32,57,.6);
    margin-top:6px;
    text-transform:uppercase;
  }
  .project-grid {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:32px;
    max-width:1800px;
    margin:0 auto;
  }
  .project-card {
    position:relative;
    aspect-ratio:576/430;
    border-radius:16px;
    overflow:hidden;
    background:#1A1A1A;
    cursor:pointer;
    transition:transform .3s;
  }
  .project-card:hover { transform:translateY(-4px); }
  .project-card img {
    width:100%; height:100%; object-fit:cover;
    transition:transform .5s;
  }
  .project-card:hover img { transform:scale(1.04); }
  .project-card::after {
    content:'';
    position:absolute; inset:0;
    background:rgba(0,0,0,.35);
  }
  .project-play {
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    z-index:2;
  }
  .project-play svg {
    width:72px; height:72px;
    filter: drop-shadow(0 4px 14px rgba(0,0,0,.5));
  }
  .project-live {
    position:absolute;
    top:20px; left:27px;
    z-index:3;
    display:flex; align-items:center; gap:10px;
    color:var(--red-bright);
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size:16px;
    letter-spacing:.04em;
  }
  .project-live-icon {
    width:30px; height:22px;
    filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));
    animation: livePulse 1.6s ease-in-out infinite;
  }
  @keyframes livePulse {
    0%, 100% { opacity:1; }
    50%      { opacity:.5; }
  }

  /* ================= OUR PROCESS ================= */
  .process {
    background:var(--navy);
    padding:100px 53px 110px;
    position:relative;
    color:#fff;
  }
  .process-grid {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
    max-width:1800px;
    margin:64px auto 50px;
    position:relative;
  }
  .process-card {
    background:#fff;
    border-radius:20px;
    padding:40px;
    display:flex; gap:18px;
    box-shadow:0 4px 6px rgba(218,218,218,.5);
    color:var(--navy);
    position:relative;
  }
  .process-icon {
    width:78px; height:78px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--red);
  }
  .process-icon svg { display:block; }
  .process-card h3 {
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size:22px;
    margin-bottom:10px;
    color:var(--navy-deep);
  }
  .process-card p {
    font-family:'Montserrat', sans-serif;
    font-size:16px;
    line-height:1.65;
    color:#000;
  }
  .process-num {
    position:absolute;
    top:-18px; right:24px;
    width:36px; height:36px;
    border-radius:50%;
    background:var(--navy);
    border:1.5px solid var(--red);
    color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-family:'Montserrat', sans-serif;
    font-size:14px;
    font-weight:600;
  }
  .process-arrow {
    position:absolute;
    top:50%; transform:translateY(-50%);
    color:rgba(255,255,255,.5);
    font-size:28px;
  }
  .process-arrow.a1 { left:calc(33.333% - 16px); }
  .process-arrow.a2 { left:calc(66.667% - 16px); }
  .process-cta { text-align:center; }

  /* ================= COMMITMENT ================= */
  .commitment {
    padding:100px 53px;
    background:#fff;
    text-align:center;
  }
  .commitment-inner {
    max-width:1200px; margin:0 auto;
  }
  .commitment .eyebrow {
    font-family:'Montserrat', sans-serif;
    font-size:16px;
    letter-spacing:0.3em;
    text-transform:uppercase;
    color:#000;
    margin-bottom:20px;
  }
  .commitment h2 {
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size:clamp(28px, 4vw, 48px);
    line-height:1.14;
    color:var(--navy);
    margin-bottom:36px;
  }
  .commitment p {
    font-family:'Montserrat', sans-serif;
    font-size:18px;
    line-height:1.82;
    color:#000;
    margin-bottom:22px;
    text-wrap:pretty;
  }

  /* ================= BANNER ================= */
  .banner {
    margin:0 53px;
    background:var(--navy);
    color:#fff;
    padding:28px 44px;
    display:flex; align-items:center; gap:20px;
  }
  .banner-icon {
    width:46px; height:46px;
    color:var(--red);
    flex-shrink:0;
  }
  .banner-text {
    font-family:'Syne', sans-serif;
    font-weight:500;
    font-size:clamp(20px, 2.4vw, 40px);
    line-height:1.15;
  }
  .banner-image {
    width:calc(100% - 106px);
    margin:0 53px 80px;
    aspect-ratio:829/500;
    background:url('https://promptgaragedoors.com/wp-content/uploads/2023/12/florida-home-1689859_1920-e1703614768655.jpg') center/cover no-repeat;
  }

  /* ================= SERVICES ================= */
  .services {
    background:var(--navy);
    padding:90px 53px 100px;
    color:#fff;
    text-align:center;
  }
  .services .eyebrow {
    font-family:'Montserrat', sans-serif;
    font-size:16px;
    letter-spacing:0.3em;
    text-transform:uppercase;
    color:#fff;
    margin-bottom:20px;
  }
  .services h2 {
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size:clamp(28px, 4.2vw, 52px);
    line-height:1.14;
    color:#fff;
    margin-bottom:16px;
  }
  .services-lead {
    font-family:'Montserrat', sans-serif;
    font-size:18px;
    line-height:1.7;
    color:rgba(255,255,255,.8);
    max-width:900px; margin:0 auto 56px;
  }
  .services-grid {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:37px;
    max-width:1800px; margin:0 auto;
    text-align:left;
  }
  .service-card {
    background:#fff;
    color:var(--navy);
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 5px 28px -6px rgba(0,0,0,.25);
    display:flex; flex-direction:column;
    transition:transform .3s, box-shadow .3s;
  }
  .service-card:hover { transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.35); }
  .service-img {
    aspect-ratio:575/314;
    background:url('https://promptgaragedoors.com/wp-content/uploads/elementor/thumbs/%D7%AA%D7%9E%D7%95%D7%A0%D7%94-%D7%A9%D7%9C-WhatsApp%E2%80%8F-2024-09-20-%D7%91%D7%A9%D7%A2%D7%94-14.32.22_e74d8e67-r01dou2rnyqg3k4riuir2ojukzz0hyvqt6pzjfepzo.jpg') center/cover no-repeat;
  }
  .services-grid .service-card:nth-child(2) .service-img { background-image:url('https://promptgaragedoors.com/wp-content/uploads/elementor/thumbs/%D7%AA%D7%9E%D7%95%D7%A0%D7%94-%D7%A9%D7%9C-WhatsApp%E2%80%8F-2024-09-17-%D7%91%D7%A9%D7%A2%D7%94-12.37.38_c5b9a023-r01dpcvjgng6jrdgh2nagjt2gpecrwydjrrp4ymuj8.jpg'); }
  .services-grid .service-card:nth-child(3) .service-img { background-image:url('https://promptgaragedoors.com/wp-content/uploads/2023/12/florida-home-1689859_1920-e1703614768655.jpg'); }
  .service-body {
    padding:36px 36px 40px;
    display:flex; flex-direction:column; flex:1; gap:18px;
  }
  .service-card h3 {
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size:26px;
    line-height:1.2;
    color:var(--navy);
  }
  .service-card p {
    font-family:'Montserrat', sans-serif;
    font-size:17px;
    line-height:1.7;
    color:var(--navy);
    flex:1;
  }
  .service-card .btn {
    align-self:flex-start;
    background:var(--red);
    color:#fff;
    padding:16px 40px;
    font-size:18px;
    font-family:'Montserrat', sans-serif;
  }
  .service-card .btn:hover { background:#d42828; }

  /* ================= REVIEWS ================= */
  .reviews {
    padding:90px 53px 110px;
    background:#fff;
    text-align:center;
  }
  .review-grid {
    margin-top:56px;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:32px;
    max-width:1700px; margin:56px auto 0;
    position:relative;
  }
  .review-card {
    background:#fff;
    border-radius:8px;
    box-shadow:0 12px 42px rgba(0,0,0,.08);
    padding:28px 32px 36px;
    position:relative;
    text-align:left;
  }
  .review-head {
    display:flex; align-items:center; gap:12px;
  }
  .review-avatar {
    width:40px; height:40px; border-radius:50%;
    background:#811EA1;
    flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    color:#fff;
    font-family:'Syne', sans-serif; font-weight:700; font-size:16px;
  }
  .review-name {
    font-family:'Syne', sans-serif; font-weight:700; font-size:18px;
    color:var(--navy-deep);
    flex:1;
  }
  .review-google {
    width:28px; height:28px;
  }
  .review-stars {
    color:#FFC107;
    font-size:18px;
    letter-spacing:3px;
    margin:16px 0 10px;
  }
  .review-divider {
    height:1px; background:rgba(0,0,0,.12); margin:12px 0 18px;
  }
  .review-body {
    font-family:'Montserrat', sans-serif;
    font-weight:300;
    font-style:italic;
    font-size:15px;
    line-height:1.72;
    color:#000;
  }
  .review-dots {
    display:flex; gap:8px; justify-content:center;
    margin-top:36px;
  }
  .review-dot {
    width:10px; height:10px; border-radius:50%;
    background:rgba(16,32,57,.2);
    cursor:pointer;
    transition:background .2s;
  }
  .review-dot.active { background:var(--navy); }

  /* ================= COMPLETED PROJECTS ================= */
  .completed {
    padding:96px 53px 120px;
    background:
      linear-gradient(rgba(16,32,57,.92) 0%, rgba(16,32,57,.86) 100%),
      url('https://promptgaragedoors.com/wp-content/uploads/elementor/thumbs/%D7%AA%D7%9E%D7%95%D7%A0%D7%94-%D7%A9%D7%9C-WhatsApp%E2%80%8F-2025-01-09-%D7%91%D7%A9%D7%A2%D7%94-16.44.32_4f3d92ff-r01cub9eis5theb4c8ophszn487aw1ht2bi7dk6q0c.jpg') center/cover no-repeat;
    color:#fff;
    text-align:center;
    position:relative;
  }
  .completed::before {
    content:"";
    position:absolute; left:50%; top:46px; transform:translateX(-50%);
    width:64px; height:3px; background:var(--red-bright); border-radius:2px;
  }
  .completed h2 {
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size:clamp(26px, 4vw, 48px);
    color:var(--red-bright);
    line-height:1.14;
    margin-bottom:14px;
    letter-spacing:-0.02em;
  }
  .completed p.lead {
    font-family:'Montserrat', sans-serif;
    font-size:18px;
    line-height:1.5;
    color:rgba(255,255,255,.82);
    margin-bottom:64px;
    max-width:560px;
    margin-left:auto; margin-right:auto;
  }
  .completed-grid {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
    max-width:1400px;
    margin:0 auto;
  }
  .completed-card {
    display:flex; flex-direction:column; align-items:stretch; gap:16px;
    text-align:left;
  }
  .completed-img {
    position:relative;
    width:100%;
    aspect-ratio:4/3;
    background-color:#0e1c33;
    background-size:cover;
    background-position:center;
    border-radius:14px;
    box-shadow:0 18px 50px rgba(0,0,0,.45);
    overflow:hidden;
    cursor:pointer;
    transition:transform .35s ease, box-shadow .35s ease;
  }
  .completed-img::after {
    content:"";
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(16,32,57,0) 55%, rgba(16,32,57,.75) 100%);
    pointer-events:none;
  }
  .completed-card:hover .completed-img {
    transform:translateY(-4px);
    box-shadow:0 24px 60px rgba(238,46,46,.25), 0 18px 50px rgba(0,0,0,.5);
  }
  .completed-play {
    position:absolute;
    top:50%; left:50%;
    transform:translate(-50%, -50%);
    width:72px; height:72px;
    display:grid; place-items:center;
    z-index:2;
    transition:transform .25s ease;
  }
  .completed-play svg { width:100%; height:100%; filter:drop-shadow(0 4px 12px rgba(0,0,0,.4)); }
  .completed-card:hover .completed-play { transform:translate(-50%, -50%) scale(1.08); }
  .completed-badge {
    position:absolute;
    top:14px; left:14px;
    z-index:2;
    font-family:'Poppins', sans-serif;
    font-weight:600;
    font-size:11px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#fff;
    background:var(--red-bright);
    padding:6px 12px;
    border-radius:999px;
  }
  .completed-card h4 {
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size:18px;
    color:#fff;
    line-height:1.3;
    margin:4px 2px 0;
  }
  .completed-meta {
    font-family:'Montserrat', sans-serif;
    font-size:13px;
    font-weight:500;
    color:rgba(255,255,255,.55);
    margin:0 2px;
    letter-spacing:.01em;
  }
  .completed-cta { margin-top:56px; }

  /* ================= WHY US ================= */
  .why {
    background:var(--navy);
    padding:90px 53px 110px;
    text-align:center;
    color:#fff;
    position:relative;
  }
  .why h2 {
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size:clamp(28px, 4.2vw, 52px);
    line-height:1.14;
    max-width:1080px;
    margin-left:auto; margin-right:auto;
    margin-bottom:24px;
  }
  .why .lead {
    font-family:'Montserrat', sans-serif;
    font-size:18px;
    line-height:1.82;
    color:rgba(255,255,255,.85);
    max-width:1240px;
    margin:0 auto 60px;
  }
  .why-list {
    max-width:1200px;
    margin:0 auto;
    display:flex; flex-direction:column; gap:32px;
    text-align:left;
  }
  .why-item {
    display:flex; gap:26px;
    align-items:flex-start;
  }
  .why-check {
    width:34px; height:34px; flex-shrink:0;
    margin-top:4px;
    color:var(--red-bright);
  }
  .why-item h3 {
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size:24px;
    color:#fff;
    margin-bottom:8px;
  }
  .why-item p {
    font-family:'Montserrat', sans-serif;
    font-size:22px;
    line-height:1.82;
    color:rgba(255,255,255,.9);
    max-width:1080px;
  }

  /* ================= FREE ESTIMATE ================= */
  .estimate {
    background:#fff;
    padding:64px 53px 80px;
  }
  .estimate-grid {
    max-width:1720px; margin:0 auto;
    display:grid;
    grid-template-columns:1fr 600px;
    gap:80px;
    align-items:center;
  }
  .estimate h2 {
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size:clamp(28px, 4.2vw, 52px);
    line-height:1.14;
    color:var(--red-bright);
    margin-bottom:30px;
  }
  .estimate .sub {
    font-family:'Syne', sans-serif;
    font-weight:400;
    font-size:clamp(20px, 2.4vw, 36px);
    line-height:1.2;
    color:var(--navy);
    margin-bottom:56px;
  }

  /* Give CTA buttons breathing room when they follow a paragraph */
  p + .btn-cta,
  .sub + .btn-cta,
  .lead + .btn-cta,
  p + .hero-cta-row,
  .sub + .hero-cta-row {
    margin-top:32px;
  }
  .section-title + .btn-cta,
  h2 + .btn-cta {
    margin-top:40px;
  }

  .contact-card {
    background:#fff;
    border-radius:20px;
    padding:48px 56px 56px;
    box-shadow:0 0 34px rgba(0,0,0,.2);
  }
  .contact-card h3 {
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size:32px;
    color:var(--navy-deep);
    margin-bottom:28px;
  }
  .contact-grid {
    display:flex; flex-direction:column; gap:14px;
  }
  .contact-grid .form-input, .contact-grid .form-textarea, .contact-grid select {
    width:100%;
    padding:18px 20px;
    border:1px solid rgba(0,0,0,.19);
    border-radius:5px;
    font-family:'Poppins', sans-serif;
    font-size:16px;
    color:var(--navy);
    background:#fff;
  }
  .contact-grid select {
    appearance:none;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'><path d='M1 1l7 7 7-7' stroke='%23024B70' stroke-width='1.5' fill='none' stroke-linecap='round'/></svg>");
    background-repeat:no-repeat;
    background-position:right 20px center;
    padding-right:48px;
  }
  .contact-grid .form-textarea { min-height:110px; }
  .contact-grid .submit {
    margin-top:14px;
    background:var(--navy);
    color:#fff;
    padding:22px 40px;
    border-radius:90px;
    font-family:'Poppins', sans-serif;
    font-size:18px;
    align-self:center;
    min-width:200px;
  }

  /* ================= FOOTER ================= */
  footer {
    background:#1A1A1A;
    color:#fff;
    padding:72px 53px 40px;
  }
  .footer-grid {
    max-width:1720px; margin:0 auto;
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1fr;
    gap:48px;
  }
  .footer-col h4 {
    font-family:'Poppins', sans-serif;
    font-weight:500;
    font-size:17px;
    letter-spacing:0.06em;
    color:var(--red-bright);
    margin-bottom:18px;
  }
  .footer-col p, .footer-col a, .footer-col li {
    font-family:'Poppins', sans-serif;
    font-weight:300;
    font-size:16px;
    line-height:1.94;
    color:#fff;
  }
  .footer-col ul { list-style:none; }
  .footer-col a:hover { color:var(--red); }

  .footer-logo .logo-wordmark { color:#fff; }
  .footer-logo .logo-sub .flat { color:#fff; }
  .footer-logo .logo-tag { color:#fff; }
  .footer-logo .logo-tri { border-bottom-color:#fff; }
  .footer-logo .logo-tri.red { border-bottom-color:var(--red); }
  .footer-logo .logo-divider { background:#fff; }

  .footer-desc {
    margin:24px 0 28px;
    max-width:460px;
  }
  .footer-social { display:flex; gap:12px; }
  .footer-social a {
    width:40px; height:40px;
    border-radius:50%;
    background:var(--red);
    display:flex; align-items:center; justify-content:center;
    color:#fff;
    transition:transform .2s;
  }
  .footer-social a:hover { transform:translateY(-3px); }
  .footer-social svg { width:18px; height:18px; }

  .footer-bottom {
    max-width:1720px; margin:48px auto 0;
    padding-top:28px;
    border-top:1px solid rgba(255,255,255,.18);
    display:flex; flex-direction:column; align-items:center; gap:8px;
    text-align:center;
    font-family:'Montserrat', sans-serif;
    font-size:15px;
    color:rgba(255,255,255,.8);
  }

  /* =========== RESPONSIVE =========== */
  @media (max-width: 1200px) {
    nav.primary a { font-size:14px; }
    nav.primary { gap:24px; }
    .hero { padding:60px 32px 60px; }
    .process-grid, .services-grid, .completed-grid, .review-grid, .project-grid {
      grid-template-columns:repeat(2, 1fr); gap:24px;
    }
    .process-arrow { display:none; }
    .estimate-grid { grid-template-columns:1fr; gap:40px; }
    .footer-grid { grid-template-columns:1fr 1fr; }
  }
  @media (max-width: 960px) {
    nav.primary, .header .btn { display:none; }
    .hamburger { display:flex; }
    .header-inner { padding:14px 20px; }
    .hero {
      padding:24px 20px 40px;
      min-height:auto;
      grid-template-columns:1fr;
      gap:0;
    }
    .hero-copy { display:block; text-align:center; margin-bottom:20px; }
    .hero-copy .hero-sub { display:none; }
    .hero-cta-row { display:none; }
    .hero-title { font-size:28px; line-height:1.18; word-spacing:0.04em; text-align:center; }
    .hero-title .amp { display:inline-block; padding:0 0.12em; }
    .hero-sub { font-size:16px; margin-left:auto; margin-right:auto; }
    .hero-cta-row { justify-content:center; }
    .quote-card { padding:28px 24px; }
    .form-grid { grid-template-columns:1fr; }

    .trust { padding:24px 20px; }
    .trust-row { gap:24px; }
    .trust-badge { height:80px; min-width:100px; }

    .live, .process, .services, .reviews, .completed, .why, .estimate { padding:64px 20px; }
    .banner, .banner-image { margin-left:20px; margin-right:20px; }
    .banner { padding:18px 20px; flex-direction:column; align-items:flex-start; text-align:left; }
    .banner-icon { width:34px; height:34px; }
    .banner-image { width:calc(100% - 40px); margin-bottom:56px; }

    .project-grid, .process-grid, .services-grid, .completed-grid, .review-grid {
      grid-template-columns:1fr; gap:22px;
    }
    .countdown-card { padding:20px 24px; gap:18px; }
    .countdown-num, .countdown-sep { font-size:32px; }

    .process-card {
      padding:32px 24px;
      flex-direction:column;
      align-items:center;
      text-align:center;
      gap:18px;
    }
    .process-text { display:flex; flex-direction:column; align-items:center; }
    .process-num { right:16px; top:-16px; }

    .service-card h3 { font-size:22px; }
    .service-card p { font-size:15px; }

    .contact-card { padding:32px 22px; }
    .contact-card h3 { font-size:22px; }

    footer { padding:48px 20px 30px; }
    .footer-grid { grid-template-columns:1fr; gap:32px; }
    .footer-bottom { flex-direction:column; gap:12px; text-align:center; }
  }


  /* ===== Shared page shell ===== */
  nav.primary a.active { color: var(--red); }
  .mobile-menu a.active { color: var(--red); }

  .page-hero {
    background: var(--navy);
    color:#fff;
    padding: 90px 53px 100px;
    text-align:center;
  }
  .page-hero h1 {
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size: clamp(38px, 4.5vw, 62px);
    line-height: 1.05;
    letter-spacing:-0.01em;
  }
  .page-hero p {
    margin: 18px auto 0;
    max-width: 820px;
    font-family:'Montserrat', sans-serif;
    font-size: 18px;
    line-height: 1.7;
    color: rgba(255,255,255,.78);
  }

  .container-wide { max-width:1720px; margin:0 auto; padding:0 53px; }

  /* Generic card-grid tiles for services/areas lists */
  .tile-grid {
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
  }
  .tile {
    background:#fff;
    border:1px solid var(--border);
    border-radius: 16px;
    padding: 32px 28px;
    display:flex; flex-direction:column;
    gap: 14px;
    transition: box-shadow .25s, transform .25s;
  }
  .tile:hover { box-shadow: 0 14px 36px rgba(16,32,57,.10); transform:translateY(-2px); }
  .tile h3 {
    font-family:'Syne', sans-serif;
    font-weight:700;
    font-size: 22px;
    color: var(--navy);
  }
  .tile p {
    font-family:'Poppins', sans-serif;
    font-size: 15px;
    line-height: 1.55;
    color: rgba(16,32,57,.75);
    flex:1;
  }
  .tile .btn-red {
    align-self: flex-start;
    padding: 12px 26px;
    font-size: 15px;
    margin-top: 6px;
  }

  @media (max-width: 1200px) { .tile-grid { grid-template-columns: repeat(2, 1fr); } .container-wide { padding: 0 32px; } }
  @media (max-width: 720px)  { .tile-grid { grid-template-columns: 1fr; } .page-hero { padding: 60px 20px 70px; } .container-wide { padding: 0 20px; } }
