/* ============================================================
   ELITE PERFORMANCE & REPAIR — Design System
   Dark, bold, Corvette-centric. No build step — edit directly.
   ============================================================ */

/* Corvette factory paint codes — every color below maps to a real GM RPO/paint code.
   GM does not publish official hex/RGB for metallic paints, so these hex values are
   close screen approximations; the RPO and WA codes (used throughout the UI as labels)
   are the real, verifiable identifiers.
   RED    Torch Red                — RPO GKZ / WA9075
   BLUE   Elkhart Lake Blue Metallic — RPO GS7 / WA625D
   YELLOW Accelerate Yellow Metallic — RPO GD0 / WA622D
   SILVER Silver Flare Metallic      — RPO GSJ / WA251F  */
:root{
  --blk:        #08090b;
  --blk-2:      #0e1013;
  --blk-3:      #15171c;
  --blk-4:      #1c1f26;

  --red:        #c2211a;   /* Torch Red — GKZ / WA9075 */
  --red-lt:     #e2382f;
  --red-dk:     #8a1712;
  --red-glow:   rgba(194,33,26,0.38);

  --blue:       #1e4d9b;   /* Elkhart Lake Blue Metallic — GS7 / WA625D */
  --blue-lt:    #3e72c9;
  --blue-dk:    #123063;
  --blue-glow:  rgba(30,77,155,0.38);

  --yellow:     #d9c400;   /* Accelerate Yellow Metallic — GD0 / WA622D */
  --yellow-lt:  #f0da2b;
  --yellow-dk:  #a89900;
  --yellow-glow:rgba(217,196,0,0.32);

  --silver:     #b8bcc0;   /* Silver Flare Metallic — GSJ / WA251F */
  --silver-lt:  #d3d6d9;
  --silver-dim: rgba(184,188,192,0.16);

  --white:      #f4f5f7;
  --muted:      rgba(244,245,247,0.68);
  --muted-2:    rgba(244,245,247,0.46);
  --bdr:        rgba(244,245,247,0.09);
  --bdr-2:      rgba(244,245,247,0.16);
  --fd:         'Anton', sans-serif;
  --fb:         'Inter', sans-serif;
  --fm:         'JetBrains Mono', monospace;
  --mw:         1280px;
  --g:          clamp(1.25rem, 4vw, 3rem);
  --radius:     3px;
}

/* Racing-stripe divider — Torch Red / Elkhart Lake Blue / Accelerate Yellow / Silver Flare */
.flag-bar{ height:9px; display:flex; }
.flag-bar span{ flex:1; }
.flag-bar span:nth-child(1){ background:var(--red); }
.flag-bar span:nth-child(2){ background:var(--blue); }
.flag-bar span:nth-child(3){ background:var(--yellow); }
.flag-bar span:nth-child(4){ background:var(--silver); }

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  background:var(--blk);
  color:var(--white);
  font-family:var(--fb);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
.wrap{ max-width:var(--mw); margin:0 auto; padding:0 var(--g); }

/* ---------- Typography ---------- */
.sec-tag{
  font-family:var(--fm); font-size:.66rem; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:#0a0a0a; background:var(--yellow); display:inline-flex; align-items:center;
  padding:.4rem .8rem; margin-bottom:1.2rem; border-radius:2px;
}
.sec-hl{
  font-family:var(--fd); font-weight:400; text-transform:uppercase;
  font-size:clamp(2.4rem,5.4vw,4.6rem); line-height:.92; letter-spacing:.01em;
}
.sec-hl em{ font-style:normal; color:var(--red-lt); }
.sec-hd{ margin-bottom:3rem; max-width:640px; }
.sec-sub{ color:var(--muted); font-size:1rem; margin-top:1.1rem; max-width:560px; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family:var(--fb); font-weight:700; font-size:.85rem; letter-spacing:.03em;
  text-transform:uppercase; padding:.95rem 1.9rem; border-radius:var(--radius);
  border:1px solid transparent; cursor:pointer; transition:all .18s ease; white-space:nowrap;
}
.btn-lg{ padding:1.15rem 2.4rem; font-size:.9rem; }
.btn-sm{ padding:.65rem 1.3rem; font-size:.75rem; }
.btn-red{ background:var(--red); color:#fff; }
.btn-red:hover{ background:var(--red-lt); box-shadow:0 6px 26px -4px var(--red-glow); transform:translateY(-1px); }
.btn-blue{ background:var(--blue); color:#fff; }
.btn-blue:hover{ background:var(--blue-lt); box-shadow:0 6px 26px -4px var(--blue-glow); transform:translateY(-1px); }
.btn-yellow{ background:var(--yellow); color:#0a0a0a; }
.btn-yellow:hover{ background:var(--yellow-lt); box-shadow:0 6px 26px -4px var(--yellow-glow); transform:translateY(-1px); }
.btn-ghost{ background:transparent; border-color:var(--bdr-2); color:var(--white); }
.btn-ghost:hover{ border-color:var(--silver-lt); background:var(--silver-dim); }
.btn-dark{ background:var(--blk-4); color:var(--white); border-color:var(--bdr); }
.btn-dark:hover{ border-color:var(--bdr-2); }

/* ---------- Nav ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:1.1rem 0; transition:all .25s ease; border-bottom:1px solid transparent;
}
.nav.scrolled{ background:rgba(8,9,11,0.88); backdrop-filter:blur(14px); border-color:var(--bdr); padding:.75rem 0; }
.nav .wrap{ display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.brand{ display:flex; flex-direction:column; line-height:1; }
.brand-name{ font-family:var(--fd); font-size:1.5rem; letter-spacing:.02em; }
.brand-name em{ font-style:normal; color:var(--blue-lt); }
.brand-sub{ font-family:var(--fm); font-size:.55rem; letter-spacing:.28em; color:var(--yellow); margin-top:.15rem; }
.nav-links{ display:flex; align-items:center; gap:2.1rem; }
.nav-link{ font-size:.82rem; font-weight:600; letter-spacing:.02em; text-transform:uppercase; color:var(--muted); transition:color .15s; }
.nav-link:hover, .nav-link.active{ color:var(--white); }
.nav-actions{ display:flex; align-items:center; gap:1rem; }
.ham{ display:none; width:38px; height:32px; position:relative; background:none; border:none; cursor:pointer; }
.ham span{ position:absolute; left:0; right:0; height:2px; background:var(--white); transition:all .25s; }
.ham span:nth-child(1){ top:4px; } .ham span:nth-child(2){ top:15px; } .ham span:nth-child(3){ top:26px; }
.ham.open span:nth-child(1){ top:15px; transform:rotate(45deg); }
.ham.open span:nth-child(2){ opacity:0; }
.ham.open span:nth-child(3){ top:15px; transform:rotate(-45deg); }

/* ---------- Mobile Drawer ---------- */
.mdr{ position:fixed; inset:0; z-index:99; visibility:hidden; }
.mdr.open{ visibility:visible; }
.mdr-scrim{ position:absolute; inset:0; background:rgba(0,0,0,0.6); opacity:0; transition:opacity .25s; }
.mdr.open .mdr-scrim{ opacity:1; }
.mdr-panel{
  position:absolute; top:0; right:0; bottom:0; width:min(320px,84vw); background:var(--blk-2);
  padding:6rem 2rem 2rem; display:flex; flex-direction:column; gap:1.6rem;
  transform:translateX(100%); transition:transform .3s ease; border-left:1px solid var(--bdr);
}
.mdr.open .mdr-panel{ transform:translateX(0); }
.mdr-link{ font-family:var(--fd); font-size:1.6rem; text-transform:uppercase; color:var(--white); }
.mdr-contact{ margin-top:auto; font-family:var(--fm); font-size:.78rem; color:var(--muted); line-height:1.9; }

/* ---------- Hero ---------- */
.hero{ position:relative; min-height:100svh; display:flex; align-items:flex-end; padding:9rem 0 5rem; overflow:hidden; }
.hero-bg{ position:absolute; inset:0; z-index:0; }
.hero-bg img{ width:100%; height:100%; object-fit:cover; filter:brightness(.42) saturate(1.05); }
.hero-bg::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,9,11,.55) 0%, rgba(8,9,11,.15) 40%, rgba(8,9,11,.95) 100%),
             linear-gradient(90deg, rgba(8,9,11,.85) 0%, rgba(8,9,11,.15) 55%);
}
.hero-content{ position:relative; z-index:1; }
.hero-eyebrow{ display:inline-flex; align-items:center; margin-bottom:1.6rem; background:var(--yellow); padding:.45rem .9rem; border-radius:2px; }
.hero-eyebrow-line{ display:none; }
.hero-eyebrow-text{ font-family:var(--fm); font-size:.72rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#0a0a0a; }
.hero-hl{ font-family:var(--fd); font-weight:400; text-transform:uppercase; font-size:clamp(3.2rem,8.4vw,7.6rem); line-height:.88; max-width:960px; letter-spacing:.005em; }
.hero-hl em{ font-style:normal; color:var(--red-lt); text-shadow:0 0 56px var(--red-glow); }
.hero-sub{ color:var(--muted); font-size:1.1rem; max-width:520px; margin-top:1.5rem; }
.hero-ctas{ display:flex; gap:1rem; margin-top:2.4rem; flex-wrap:wrap; }
.hero-small{ min-height:52vh; padding-top:10rem; }
.hero-small .hero-hl{ font-size:clamp(2.6rem,6.2vw,4.8rem); }

/* ---------- Trust Strip — bold full-bleed color blocks ---------- */
.trust-grid{ display:grid; grid-template-columns:repeat(4,1fr); }
.trust-block{ padding:2.6rem 1rem; text-align:center; }
.trust-num{ font-family:var(--fd); font-size:2.6rem; letter-spacing:.01em; }
.trust-block:nth-child(4n+1){ background:var(--red); } .trust-block:nth-child(4n+1) .trust-num{ color:#fff; }
.trust-block:nth-child(4n+1) .trust-lbl{ color:rgba(255,255,255,.78); }
.trust-block:nth-child(4n+2){ background:var(--blue); } .trust-block:nth-child(4n+2) .trust-num{ color:#fff; }
.trust-block:nth-child(4n+2) .trust-lbl{ color:rgba(255,255,255,.78); }
.trust-block:nth-child(4n+3){ background:var(--yellow); } .trust-block:nth-child(4n+3) .trust-num{ color:#0a0a0a; }
.trust-block:nth-child(4n+3) .trust-lbl{ color:rgba(10,10,10,.6); }
.trust-block:nth-child(4n+4){ background:var(--silver); } .trust-block:nth-child(4n+4) .trust-num{ color:#0a0a0a; }
.trust-block:nth-child(4n+4) .trust-lbl{ color:rgba(10,10,10,.6); }
.trust-lbl{ font-family:var(--fm); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-top:.4rem; }

/* ---------- Section Base ---------- */
section{ padding:6.5rem 0; position:relative; }
.sec-alt{ background:var(--blk-2); }

/* ---------- Packages ---------- */
.pkg-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(300px,1fr)); gap:1.75rem; align-items:stretch; }
.pkg-card{
  background:var(--blk-2); border:1px solid var(--bdr); border-top:5px solid var(--bdr-2); border-radius:var(--radius);
  padding:2.4rem 2rem; display:flex; flex-direction:column; position:relative; transition:border-color .2s, transform .2s;
}
.pkg-card:hover{ transform:translateY(-4px); }
.pkg-card:nth-child(4n+1){ border-top-color:var(--red); }
.pkg-card:nth-child(4n+2){ border-top-color:var(--blue); }
.pkg-card:nth-child(4n+3){ border-top-color:var(--yellow); }
.pkg-card:nth-child(4n+4){ border-top-color:var(--silver); }
.pkg-card.featured{ border-color:var(--red); border-top-color:var(--red); background:linear-gradient(160deg, var(--blk-3), var(--blk-2)); }
.pkg-card.featured-blue{ border-color:var(--blue-lt); border-top-color:var(--blue-lt); background:linear-gradient(160deg, var(--blk-3), var(--blk-2)); }
.pkg-badge{ position:absolute; top:-13px; right:1.6rem; background:var(--yellow); color:#0a0a0a; font-family:var(--fm); font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:.35rem .8rem; border-radius:2px; }
.pkg-name{ font-family:var(--fd); font-size:1.5rem; text-transform:uppercase; margin-bottom:.5rem; }
.pkg-desc{ color:var(--muted); font-size:.88rem; margin-bottom:1.4rem; min-height:2.6rem; }
.pkg-price{ font-family:var(--fd); font-size:2.6rem; color:var(--white); line-height:1; margin-bottom:.3rem; }
.pkg-price span{ font-family:var(--fb); font-size:.85rem; color:var(--muted-2); font-weight:600; }
.pkg-note{ font-family:var(--fm); font-size:.68rem; color:var(--silver); margin-bottom:1.6rem; }
.pkg-list{ display:flex; flex-direction:column; gap:.7rem; margin-bottom:2rem; flex:1; }
.pkg-list li{ font-size:.87rem; color:var(--white); display:flex; gap:.6rem; align-items:flex-start; }
.pkg-list li::before{ content:'▸'; color:var(--red-lt); flex-shrink:0; }

/* ---------- Services Grid ---------- */
.svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.svc-card{ background:var(--blk-2); border:1px solid var(--bdr); border-radius:var(--radius); padding:2rem 1.8rem; transition:border-color .2s, transform .2s; }
.svc-card:hover{ transform:translateY(-3px); }
.svc-icon{ width:52px; height:52px; border-radius:2px; display:flex; align-items:center; justify-content:center; font-family:var(--fd); font-size:1.5rem; margin-bottom:1.3rem; }
.svc-title{ font-family:var(--fd); font-size:1.3rem; text-transform:uppercase; margin-bottom:.6rem; letter-spacing:.01em; }
.svc-desc{ color:var(--muted); font-size:.87rem; }
.svc-list{ margin-top:.9rem; display:flex; flex-direction:column; gap:.4rem; }
.svc-list li{ font-size:.8rem; color:var(--muted); padding-left:1rem; position:relative; }
.svc-list li::before{ content:'—'; position:absolute; left:0; color:var(--yellow); }
/* Cycle service card accents through the 4 Corvette colors — solid fills, not tints */
.svc-card:nth-child(4n+1) .svc-icon{ background:var(--red); color:#fff; }
.svc-card:nth-child(4n+1){ border-left:3px solid var(--red); } .svc-card:nth-child(4n+1):hover{ border-color:var(--red); border-left-color:var(--red); }
.svc-card:nth-child(4n+2) .svc-icon{ background:var(--blue); color:#fff; }
.svc-card:nth-child(4n+2){ border-left:3px solid var(--blue); } .svc-card:nth-child(4n+2):hover{ border-color:var(--blue-lt); border-left-color:var(--blue-lt); }
.svc-card:nth-child(4n+3) .svc-icon{ background:var(--yellow); color:#0a0a0a; }
.svc-card:nth-child(4n+3){ border-left:3px solid var(--yellow); } .svc-card:nth-child(4n+3):hover{ border-color:var(--yellow); border-left-color:var(--yellow); }
.svc-card:nth-child(4n+4) .svc-icon{ background:var(--silver); color:#0a0a0a; }
.svc-card:nth-child(4n+4){ border-left:3px solid var(--silver); } .svc-card:nth-child(4n+4):hover{ border-color:var(--silver-lt); border-left-color:var(--silver-lt); }

/* ---------- Generations ---------- */
.gen-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; }
.gen-card{ background:var(--blk); border:1px solid var(--bdr); border-radius:var(--radius); padding:1.6rem 1.4rem; transition:border-color .2s,background .2s,transform .2s; }
.gen-card:hover{ background:var(--blk-3); transform:translateY(-3px); }
.gen-code{ font-family:var(--fd); font-size:1.5rem; line-height:1; display:inline-block; padding:.3rem .65rem; border-radius:2px; margin-bottom:.7rem; }
.gen-years{ font-family:var(--fm); font-size:.66rem; letter-spacing:.1em; color:var(--muted-2); margin:0 0 .8rem; text-transform:uppercase; }
.gen-name{ font-weight:700; font-size:.92rem; margin-bottom:.5rem; }
.gen-desc{ font-size:.8rem; color:var(--muted); line-height:1.55; }
/* Cycle generation-card accents through the 4 Corvette colors — C1–C8 = 2 full cycles */
.gen-card:nth-child(4n+1) .gen-code{ background:var(--red); color:#fff; } .gen-card:nth-child(4n+1):hover{ border-color:var(--red); }
.gen-card:nth-child(4n+2) .gen-code{ background:var(--blue); color:#fff; } .gen-card:nth-child(4n+2):hover{ border-color:var(--blue-lt); }
.gen-card:nth-child(4n+3) .gen-code{ background:var(--yellow); color:#0a0a0a; } .gen-card:nth-child(4n+3):hover{ border-color:var(--yellow); }
.gen-card:nth-child(4n+4) .gen-code{ background:var(--silver); color:#0a0a0a; } .gen-card:nth-child(4n+4):hover{ border-color:var(--silver-lt); }

/* ---------- Gallery ---------- */
.gal-grid{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:220px; gap:.85rem; }
.gal-item{ overflow:hidden; border-radius:var(--radius); position:relative; cursor:pointer; }
.gal-item img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease, filter .3s ease; filter:brightness(.88); }
.gal-item:hover img{ transform:scale(1.06); filter:brightness(1); }
.gal-item.wide{ grid-column:span 2; }
.gal-item.tall{ grid-row:span 2; }
.gal-cap{ position:absolute; left:0; right:0; bottom:0; padding:.8rem 1rem; background:linear-gradient(0deg, rgba(0,0,0,.75), transparent); font-family:var(--fm); font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; color:var(--white); opacity:0; transition:opacity .2s; }
.gal-item:hover .gal-cap{ opacity:1; }

/* ---------- About split ---------- */
.about-split{ display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.about-photo{ border-radius:var(--radius); overflow:hidden; aspect-ratio:4/5; }
.about-photo img{ width:100%; height:100%; object-fit:cover; }
.about-body p{ color:var(--muted); margin-bottom:1.1rem; font-size:.98rem; }
.about-body p:last-child{ margin-bottom:0; }
.stat-row{ display:flex; gap:2.5rem; margin-top:2.2rem; }
.stat-num{ font-family:var(--fd); font-size:2.4rem; line-height:1; }
.stat-row div:nth-child(1) .stat-num{ color:var(--red-lt); }
.stat-row div:nth-child(2) .stat-num{ color:var(--blue-lt); }
.stat-row div:nth-child(3) .stat-num{ color:var(--yellow); }
.stat-row div:nth-child(4) .stat-num{ color:var(--silver-lt); }
.stat-lbl{ font-family:var(--fm); font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); margin-top:.4rem; }

/* ---------- CTA Band ---------- */
.cta-band{ background:linear-gradient(135deg, var(--red-dk), var(--blk) 65%); border-top:1px solid var(--bdr); border-bottom:1px solid var(--bdr); text-align:center; }
.cta-band.blue{ background:linear-gradient(135deg, var(--blue-dk), var(--blk) 65%); }
.cta-hl{ font-family:var(--fd); text-transform:uppercase; font-size:clamp(2rem,4.5vw,3.4rem); line-height:.95; margin-bottom:1.2rem; }
.cta-sub{ color:var(--muted); max-width:520px; margin:0 auto 2rem; }
.cta-btns{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* ---------- Footer w/ Contact Form ---------- */
.ftr{ background:var(--blk-2); border-top:1px solid var(--bdr); padding-top:5rem; }
.ftr-grid{ display:grid; grid-template-columns:1fr 1fr; gap:4rem; padding-bottom:3.5rem; }
.ftr-info-title{ font-family:var(--fd); font-size:1.8rem; text-transform:uppercase; margin-bottom:1rem; }
.ftr-info p{ color:var(--muted); font-size:.92rem; margin-bottom:1.6rem; max-width:420px; }
.ftr-detail{ display:flex; flex-direction:column; gap:.9rem; margin-bottom:2rem; }
.ftr-detail a, .ftr-detail span{ font-size:.92rem; color:var(--white); display:flex; gap:.7rem; align-items:center; }
.ftr-detail .lbl{ font-family:var(--fm); font-size:.62rem; letter-spacing:.1em; color:var(--yellow); text-transform:uppercase; width:70px; flex-shrink:0; }
.ftr-social{ display:flex; gap:.8rem; }
.ftr-social a{ width:38px; height:38px; border:1px solid var(--bdr-2); border-radius:2px; display:flex; align-items:center; justify-content:center; transition:border-color .2s, background .2s; }
.ftr-social a:hover{ border-color:var(--red-lt); background:var(--red-glow); }
.ftr-cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; padding:2.5rem 0; border-top:1px solid var(--bdr); }
.ftr-col-title{ font-family:var(--fm); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-2); margin-bottom:1rem; }
.ftr-col a{ display:block; font-size:.87rem; color:var(--muted); padding:.35rem 0; transition:color .15s; }
.ftr-col a:hover{ color:var(--white); }
.ftr-bottom{ border-top:1px solid var(--bdr); padding:1.6rem 0; display:flex; justify-content:space-between; align-items:center; font-size:.78rem; color:var(--muted-2); flex-wrap:wrap; gap:.8rem; }

.frm{ background:var(--blk-3); border:1px solid var(--bdr); border-radius:var(--radius); padding:2.4rem; }
.frm-title{ font-family:var(--fd); font-size:1.4rem; text-transform:uppercase; margin-bottom:.4rem; }
.frm-sub{ font-size:.85rem; color:var(--muted); margin-bottom:1.6rem; }
.frm-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.frm label{ font-family:var(--fm); font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2); display:block; margin-bottom:.5rem; }
.frm-field{ margin-bottom:1.2rem; }
.frm input, .frm select, .frm textarea{
  width:100%; background:var(--blk); border:1px solid var(--bdr-2); border-radius:2px; color:var(--white);
  font-family:var(--fb); font-size:.92rem; padding:.85rem 1rem; transition:border-color .15s;
}
.frm input:focus, .frm select:focus, .frm textarea:focus{ outline:none; border-color:var(--blue-lt); }
.frm textarea{ resize:vertical; min-height:110px; }
.frm-hp{ position:absolute; left:-9999px; opacity:0; height:0; width:0; }
.frm button[type="submit"]{ width:100%; border:none; }

/* ---------- Scroll reveal ---------- */
.fu{ opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
.fu.on{ opacity:1; transform:translateY(0); }
.d1{ transition-delay:.07s; } .d2{ transition-delay:.14s; } .d3{ transition-delay:.21s; }
.d4{ transition-delay:.28s; } .d5{ transition-delay:.35s; }

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .nav-links{ display:none; }
  .ham{ display:block; }
  .trust-grid{ grid-template-columns:repeat(2,1fr); }
  .pkg-grid{ grid-template-columns:1fr; }
  .svc-grid{ grid-template-columns:repeat(2,1fr); }
  .gen-grid{ grid-template-columns:repeat(2,1fr); }
  .gal-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:180px; }
  .gal-item.wide{ grid-column:span 2; }
  .about-split{ grid-template-columns:1fr; gap:2.5rem; }
  .ftr-grid{ grid-template-columns:1fr; gap:2.5rem; }
  .ftr-cols{ grid-template-columns:1fr 1fr; }
  .frm-row{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .svc-grid, .gen-grid{ grid-template-columns:1fr; }
  .gal-grid{ grid-template-columns:1fr 1fr; }
  .ftr-cols{ grid-template-columns:1fr; }
  .ftr-bottom{ flex-direction:column; align-items:flex-start; }
  section{ padding:4.5rem 0; }
}
