:root {
  --navy: #1B2A4A; --navy-dark: #111d33; --navy-light: #243660;
  --gold: #C9A84C; --gold-lt: #e0bc6a; --gold-dk: #a8852e;
  --white: #ffffff; --cream: #f8f6f1; --gray-lt: #e5e7eb;
  --gray-md: #9ca3af; --gray-dk: #6b7280; --text: #1a1a2e;
  --max-w: 1200px; --nav-h: 72px;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Barlow',sans-serif; color:var(--text); background:var(--white); overflow-x:hidden; }
img { display:block; max-width:100%; }
a { text-decoration:none; }
.container { width:100%; max-width:var(--max-w); margin:0 auto; padding:0 48px; }

.btn { display:inline-flex; align-items:center; gap:8px; padding:15px 32px; border-radius:4px; font-size:13px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; transition:all .25s ease; border:2px solid transparent; white-space:nowrap; cursor:pointer; font-family:'Barlow',sans-serif; }
.btn-gold { background:var(--gold); color:var(--navy); border-color:var(--gold); }
.btn-gold:hover { background:var(--gold-lt); transform:translateY(-2px); box-shadow:0 8px 24px rgba(201,168,76,.35); }
.btn-outline { background:transparent; color:var(--white); border-color:rgba(255,255,255,.3); }
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }
.btn-navy { background:var(--navy); color:var(--gold); border-color:var(--navy); }
.btn-navy:hover { background:var(--navy-light); transform:translateY(-2px); }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* NAV */
.nav { position:fixed; top:0; left:0; right:0; z-index:1000; height:var(--nav-h); background:var(--navy); display:flex; align-items:center; padding:0 48px; box-shadow:0 2px 20px rgba(0,0,0,.25); transition:height .3s ease, background .3s ease; }
.nav.scrolled { height:60px; background:rgba(17,29,51,.96); backdrop-filter:blur(12px); }
.nav-inner { width:100%; display:flex; align-items:center; justify-content:space-between; }
.nav-logo { display:flex; align-items:center; gap:12px; }
.nav-logo svg { flex-shrink:0; }
.nav-logo-name { font-family:'Bebas Neue',sans-serif; font-size:20px; color:var(--white); letter-spacing:2px; display:block; }
.nav-logo-sub { font-size:9px; font-weight:700; color:var(--gold); letter-spacing:3px; text-transform:uppercase; display:block; }
.nav-links { display:flex; align-items:center; gap:32px; list-style:none; }
.nav-links a { color:rgba(255,255,255,.75); font-size:12px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; transition:color .2s; }
.nav-links a:hover { color:var(--gold); }
.nav-cta { background:var(--gold) !important; color:var(--navy) !important; padding:9px 22px; border-radius:4px; }
.nav-cta:hover { background:var(--gold-lt) !important; color:var(--navy) !important; }
.nav-hamburger { display:none; flex-direction:column; gap:5px; background:none; border:none; padding:4px; cursor:pointer; }
.nav-hamburger span { display:block; width:24px; height:2px; background:var(--white); border-radius:2px; transition:all .3s ease; }
.nav-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.nav-mobile { display:none; position:fixed; top:var(--nav-h); left:0; right:0; background:var(--navy-dark); z-index:999; padding:20px 24px 28px; border-top:1px solid rgba(255,255,255,.08); opacity:0; transform:translateY(-8px); transition:all .3s ease; pointer-events:none; }
.nav-mobile.open { opacity:1; transform:translateY(0); pointer-events:auto; }
.nav-mobile ul { list-style:none; }
.nav-mobile ul li { border-bottom:1px solid rgba(255,255,255,.06); }
.nav-mobile ul a { display:block; padding:14px 0; color:rgba(255,255,255,.8); font-size:15px; font-weight:600; letter-spacing:1px; text-transform:uppercase; transition:color .2s; }
.nav-mobile ul a:hover { color:var(--gold); }
.nav-mobile .btn { width:100%; justify-content:center; margin-top:18px; }

/* HERO */
.hero { display:grid; grid-template-columns:1fr 1fr; min-height:100vh; padding-top:var(--nav-h); }
.hero-visual { position:relative; overflow:hidden; background:var(--navy-dark); }
.hero-visual img { width:100%; height:100%; object-fit:cover; object-position:center top; animation:zoomIn 8s ease forwards; }
@keyframes zoomIn { from { transform:scale(1.04); } to { transform:scale(1); } }
.hero-badges { position:absolute; bottom:28px; left:28px; display:flex; gap:8px; z-index:2; }
.hero-badge { background:rgba(201,168,76,.9); color:var(--navy); font-size:10px; font-weight:800; letter-spacing:2px; text-transform:uppercase; padding:5px 14px; border-radius:100px; }
.hero-content { background:var(--navy); display:flex; flex-direction:column; justify-content:center; padding:72px 64px 72px 52px; position:relative; overflow:hidden; }
.hero-content::before { content:''; position:absolute; top:-100px; right:-100px; width:460px; height:460px; border-radius:50%; background:radial-gradient(circle, rgba(201,168,76,.05) 0%, transparent 70%); pointer-events:none; }
.hero-eyebrow { font-size:11px; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:var(--gold); margin-bottom:18px; display:flex; align-items:center; gap:10px; animation:fadeUp .7s ease .2s both; }
.hero-eyebrow::before { content:''; width:28px; height:2px; background:var(--gold); flex-shrink:0; }
.hero-headline { font-family:'Bebas Neue',sans-serif; font-size:80px; line-height:.92; letter-spacing:1px; color:var(--white); margin-bottom:24px; animation:fadeUp .7s ease .35s both; }
.hero-headline span { color:var(--gold); display:block; }
.hero-sub { font-size:16px; line-height:1.75; color:rgba(255,255,255,.68); max-width:400px; margin-bottom:36px; animation:fadeUp .7s ease .5s both; }
.hero-ctas { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:44px; animation:fadeUp .7s ease .65s both; }
.hero-trust { display:flex; flex-wrap:wrap; gap:20px; animation:fadeUp .7s ease .8s both; }
.trust-item { display:flex; align-items:center; gap:7px; color:rgba(255,255,255,.55); font-size:11px; font-weight:600; }
.trust-dot { width:4px; height:4px; border-radius:50%; background:var(--gold); flex-shrink:0; }
@keyframes fadeUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

/* TRUST STRIP */
.trust-strip { background:var(--gold); display:flex; flex-wrap:wrap; align-items:center; justify-content:center; }
.trust-strip-item { display:flex; align-items:center; gap:9px; padding:18px 32px; color:var(--navy); font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase; border-right:1px solid rgba(27,42,74,.2); }
.trust-strip-item:last-child { border-right:none; }
.ts-dot { width:5px; height:5px; border-radius:50%; background:rgba(27,42,74,.3); flex-shrink:0; }

/* LOGO TICKER
   KEY FIX: No transform:scale(). No filter:invert. 
   SVGs are pre-cropped to content. Use grayscale filter only.
   img is sized with explicit px, object-fit:contain for crisp render */
.logos-section { background:var(--navy); padding:44px 0; overflow:hidden; }
.logos-label { text-align:center; padding:0 24px; margin-bottom:28px; font-size:10px; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:rgba(255,255,255,.3); }
.logos-wrap { overflow:hidden; mask-image:linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%); -webkit-mask-image:linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%); }
.logos-track { display:flex; align-items:center; animation:ticker 36s linear infinite; width:max-content; }
.logos-track:hover { animation-play-state:paused; }
@keyframes ticker { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.logo-item { display:flex; align-items:center; justify-content:center; padding:0 40px; height:108px; flex-shrink:0; }
.logo-item img {
  display:block;
  width:auto;
  height:56px;
  max-width:160px;
  object-fit:contain;
  filter:brightness(0) invert(1) opacity(0.55);
  transition:filter .3s;
}
.logo-item:hover img {
  filter:brightness(0) invert(1) opacity(0.9);
}
.logo-div { width:1px; height:28px; flex-shrink:0; background:rgba(255,255,255,.1); }

/* PROOF CARDS - native/grayscale, NO invert, NO transform scale
   SVGs pre-cropped so they fill container naturally */
.proof-section { background:var(--cream); border-top:4px solid var(--gold); padding:80px 0; text-align:center; }
.proof-logos { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:16px; margin-top:48px; }
.proof-card {
  background:var(--white);
  border:2px solid var(--gray-lt);
  border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  width:200px; height:120px;
  padding:20px 24px;
  overflow:hidden;
  transition:all .3s;
}
.proof-card:hover { border-color:var(--gold); box-shadow:0 6px 24px rgba(201,168,76,.15); transform:translateY(-3px); }
.proof-card img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  transition:transform .3s;
}
.proof-card:hover img {
  transform:scale(1.03);
}

/* SECTIONS */
.eyebrow { font-size:11px; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:var(--gold-dk); margin-bottom:14px; display:flex; align-items:center; gap:10px; }
.eyebrow::before { content:''; width:28px; height:2px; background:var(--gold); flex-shrink:0; }
.eyebrow-center { justify-content:center; }
.eyebrow-center::before { display:none; }
.eyebrow-light { color:var(--gold); }
.sec-title { font-family:'Bebas Neue',sans-serif; font-size:58px; line-height:1; letter-spacing:1px; color:var(--navy); margin-bottom:16px; }
.sec-title-white { color:var(--white); }
.sec-title span { color:var(--gold); }
.sec-sub { font-size:16px; color:var(--gray-dk); max-width:560px; line-height:1.75; }
.sec-sub-white { color:rgba(255,255,255,.6); }
.sec-header { margin-bottom:52px; }
.sec-header-center { text-align:center; display:flex; flex-direction:column; align-items:center; }

/* SERVICES */
.services-section { background:var(--cream); padding:88px 0; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--gray-lt); border-radius:8px; overflow:hidden; }
.svc-card { background:var(--white); padding:40px 32px; position:relative; overflow:hidden; transition:background .3s, transform .3s, box-shadow .3s; }
.svc-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.svc-card:hover { background:var(--navy); transform:translateY(-4px); box-shadow:0 20px 48px rgba(27,42,74,.18); z-index:1; }
.svc-card:hover::after { transform:scaleX(1); }
.svc-card:hover .svc-name { color:var(--gold); }
.svc-card:hover .svc-desc { color:rgba(255,255,255,.6); }
.svc-icon { font-size:28px; margin-bottom:16px; }
.svc-name { font-family:'Barlow Condensed',sans-serif; font-size:18px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--navy); margin-bottom:10px; transition:color .3s; }
.svc-desc { font-size:14px; line-height:1.7; color:var(--gray-dk); transition:color .3s; }

/* WHY */
.why-section { background:var(--navy); padding:88px 0; }
.why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:rgba(255,255,255,.06); border-radius:8px; overflow:hidden; }
.why-card { padding:40px 28px; background:rgba(255,255,255,.025); border-bottom:3px solid transparent; transition:background .3s, border-color .3s; }
.why-card:hover { background:rgba(201,168,76,.07); border-bottom-color:var(--gold); }
.why-num { font-family:'Bebas Neue',sans-serif; font-size:52px; color:var(--gold); line-height:1; margin-bottom:6px; }
.why-label { font-family:'Barlow Condensed',sans-serif; font-size:16px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--white); margin-bottom:10px; }
.why-desc { font-size:13px; color:rgba(255,255,255,.45); line-height:1.7; }

/* REVIEWS */
.reviews-section { background:var(--white); padding:88px 0; }
.reviews-rating { display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:44px; }
.r-stars { color:var(--gold); font-size:22px; letter-spacing:3px; }
.r-score { font-family:'Bebas Neue',sans-serif; font-size:30px; color:var(--navy); }
.r-count { font-size:13px; color:var(--gray-md); }
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:44px; }
.review-card { background:var(--cream); padding:32px 28px; border-radius:8px; border-top:3px solid var(--gold); transition:transform .3s, box-shadow .3s; }
.review-card:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(0,0,0,.08); }
.r-card-stars { color:var(--gold); font-size:13px; letter-spacing:2px; margin-bottom:14px; }
.r-card-text { font-size:14px; line-height:1.8; color:#374151; margin-bottom:22px; font-style:italic; }
.r-card-author { display:flex; align-items:center; gap:12px; }
.r-card-avatar { width:42px; height:42px; border-radius:50%; background:var(--navy); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue',sans-serif; font-size:17px; color:var(--gold); }
.r-card-name { font-weight:700; font-size:13px; color:var(--navy); }
.r-card-loc { font-size:11px; color:var(--gray-md); margin-top:2px; }

/* GALLERY */
.gallery-section { background:var(--navy-dark); padding:88px 0; }
.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; border-radius:8px; overflow:hidden; margin-bottom:36px; }
.g-item { position:relative; overflow:hidden; background:var(--navy-light); height:260px; }
.g-item.g-featured { grid-column:span 2; }
.g-item img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.g-item:hover img { transform:scale(1.05); }
.g-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(17,29,51,.85) 0%, transparent 55%); opacity:0; transition:opacity .3s; display:flex; align-items:flex-end; padding:22px; }
.g-item:hover .g-overlay { opacity:1; }
.g-label { font-family:'Barlow Condensed',sans-serif; font-size:15px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--white); }

/* FORM */
.form-section { background:var(--cream); padding:88px 0; }
.form-box { background:var(--white); border-radius:12px; padding:52px 56px; box-shadow:0 4px 40px rgba(0,0,0,.07); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.form-group { display:flex; flex-direction:column; gap:7px; }
.form-full { grid-column:1/-1; }
.form-group label { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--navy); }
.form-group input, .form-group select, .form-group textarea { padding:13px 16px; border:2px solid var(--gray-lt); border-radius:4px; font-family:'Barlow',sans-serif; font-size:15px; color:var(--text); outline:none; transition:border-color .2s, box-shadow .2s; -webkit-appearance:none; background:var(--white); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,168,76,.12); }
.form-group textarea { resize:vertical; min-height:110px; }
.form-submit { width:100%; padding:17px; margin-top:8px; background:var(--gold); color:var(--navy); border:none; border-radius:4px; font-family:'Barlow',sans-serif; font-size:14px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; cursor:pointer; transition:all .25s; }
.form-submit:hover { background:var(--gold-lt); transform:translateY(-2px); box-shadow:0 8px 24px rgba(201,168,76,.35); }
.form-submit:disabled { opacity:.7; transform:none; cursor:not-allowed; }
.form-success { display:none; text-align:center; padding:40px 20px; }
.form-success-icon { width:64px; height:64px; border-radius:50%; background:var(--gold); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-size:28px; color:var(--navy); font-weight:900; }
.form-success h3 { font-family:'Bebas Neue',sans-serif; font-size:36px; color:var(--navy); margin-bottom:12px; }
.form-success p { font-size:15px; color:var(--gray-dk); line-height:1.7; }
.form-error { background:#fef2f2; border:1px solid #fecaca; color:#dc2626; padding:12px 16px; border-radius:4px; font-size:13px; margin-top:12px; display:none; }
.form-note { text-align:center; margin-top:20px; font-size:13px; color:var(--gray-md); }
.form-note a { color:var(--navy); font-weight:700; }

/* AREAS */
.areas-section { background:var(--white); padding:56px 0; text-align:center; }
.areas-label { font-size:10px; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:var(--gold-dk); margin-bottom:20px; }
.areas-list { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; max-width:760px; margin:0 auto; }
.area-pill { background:var(--cream); border:2px solid var(--gray-lt); color:var(--navy); padding:7px 18px; border-radius:100px; font-size:12px; font-weight:600; transition:all .2s; }
.area-pill:hover { border-color:var(--gold); background:var(--navy); color:var(--gold); }

/* CTA */
.cta-section { background:var(--navy); padding:88px 0; text-align:center; position:relative; overflow:hidden; }
.cta-section::before { content:''; position:absolute; top:-240px; left:50%; transform:translateX(-50%); width:900px; height:900px; border-radius:50%; background:radial-gradient(circle, rgba(201,168,76,.06) 0%, transparent 70%); pointer-events:none; }
.cta-section .sec-title { font-size:70px; }
.cta-section p { font-size:17px; color:rgba(255,255,255,.62); max-width:520px; margin:0 auto 44px; line-height:1.75; }
.cta-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* FOOTER */
.footer { background:var(--navy-dark); padding:64px 0 28px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:44px; margin-bottom:44px; }
.footer-logo { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.footer-logo svg { flex-shrink:0; }
.footer-brand-name { font-family:'Bebas Neue',sans-serif; font-size:22px; color:var(--white); letter-spacing:2px; display:block; }
.footer-brand-sub { font-size:9px; color:var(--gold); letter-spacing:3px; text-transform:uppercase; font-weight:700; display:block; }
.footer-brand p { font-size:13px; line-height:1.8; color:rgba(255,255,255,.4); max-width:260px; margin-bottom:22px; }
.footer-contact { display:flex; align-items:center; gap:9px; font-size:13px; color:rgba(255,255,255,.55); margin-bottom:9px; transition:color .2s; }
.footer-contact:hover { color:var(--gold); }
.footer-social { display:flex; gap:12px; margin-top:16px; }
.footer-social a { width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; transition:background .2s; }
.footer-social a:hover { background:var(--gold); }
.footer-social svg { width:16px; height:16px; fill:var(--white); }
.footer-col-title { font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--white); margin-bottom:18px; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:9px; }
.footer-links a { font-size:13px; color:rgba(255,255,255,.4); transition:color .2s; }
.footer-links a:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.07); padding-top:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; font-size:11px; color:rgba(255,255,255,.28); }
.footer-bottom a { color:rgba(255,255,255,.28); transition:color .2s; }
.footer-bottom a:hover { color:var(--gold); }
.footer-bottom-links { display:flex; gap:20px; }
.sticky-bar { display:none; position:fixed; bottom:0; left:0; right:0; z-index:998; background:var(--gold); color:var(--navy); padding:14px 24px; text-align:center; font-family:'Barlow',sans-serif; font-size:15px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }

/* LARGE DESKTOP */
@media (min-width:1400px) {
  :root { --max-w:1340px; }
  .hero-headline { font-size:96px; }
  .sec-title { font-size:68px; }
  .cta-section .sec-title { font-size:84px; }
  .logo-item img { height:68px; }
  .proof-card { width:220px; height:130px; }
}

/* TABLET */
@media (max-width:1024px) {
  :root { --nav-h:64px; }
  .container { padding:0 32px; }
  .nav { padding:0 32px; }
  .hero { grid-template-columns:1fr; min-height:auto; }
  .hero-visual { height:56vw; min-height:300px; max-height:500px; }
  .hero-content { padding:52px 40px; }
  .hero-headline { font-size:64px; }
  .hero-sub { max-width:100%; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .why-grid { grid-template-columns:repeat(2,1fr); }
  .reviews-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-grid { grid-template-columns:1fr 1fr; }
  .g-item.g-featured { grid-column:span 2; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:32px; }
  .footer-grid > div:first-child { grid-column:span 2; }
  .proof-card { width:160px; height:110px; padding:16px 18px; }
  .trust-strip-item { padding:14px 20px; font-size:11px; }
  .logo-item { padding:0 28px; height:90px; }
  .logo-item img { height:48px; }
  .services-section, .why-section, .proof-section, .reviews-section,
  .gallery-section, .form-section, .areas-section, .cta-section { padding:72px 0; }
}

/* MOBILE */
@media (max-width:767px) {
  :root { --nav-h:60px; }
  .container { padding:0 20px; }
  .nav { padding:0 20px; }
  .nav-links { display:none; }
  .nav-hamburger { display:flex; }
  .nav-mobile { display:block; }
  .hero { grid-template-columns:1fr; }
  .hero-visual { height:64vw; min-height:240px; }
  .hero-content { padding:40px 20px 48px; }
  .hero-headline { font-size:52px; }
  .hero-ctas { flex-direction:column; }
  .hero-ctas .btn { width:100%; justify-content:center; }
  .hero-badges { bottom:16px; left:16px; }
  .trust-strip { flex-direction:column; }
  .trust-strip-item { border-right:none; border-bottom:1px solid rgba(27,42,74,.15); width:100%; justify-content:center; padding:12px 20px; font-size:11px; }
  .trust-strip-item:last-child { border-bottom:none; }
  .logos-section { padding:28px 0; }
  .logo-item { padding:0 20px; height:72px; }
  .logo-item img { height:40px; max-width:100px; }
  .services-section, .why-section, .proof-section, .reviews-section,
  .gallery-section, .form-section, .areas-section, .cta-section { padding:56px 0; }
  .services-grid { grid-template-columns:1fr; }
  .svc-card { padding:28px 24px; }
  .why-grid { grid-template-columns:1fr 1fr; }
  .why-card { padding:24px 20px; }
  .why-num { font-size:40px; }
  .reviews-grid { grid-template-columns:1fr; }
  .gallery-grid { grid-template-columns:1fr; }
  .g-item { height:220px; }
  .g-item.g-featured { grid-column:span 1; height:260px; }
  .proof-logos { gap:10px; }
  .proof-card { width:calc(50% - 5px); height:90px; padding:12px 14px; }
  .form-box { padding:32px 20px; }
  .form-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:28px; }
  .footer-grid > div:first-child { grid-column:span 1; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .footer { padding:48px 0 24px; }
  .cta-section .sec-title { font-size:48px; }
  .cta-btns { flex-direction:column; align-items:center; }
  .cta-btns .btn { width:100%; max-width:320px; justify-content:center; }
  .sticky-bar { display:block; }
  body { padding-bottom:52px; }
  .sec-title { font-size:44px; }
}

@media (max-width:380px) {
  .hero-headline { font-size:42px; }
  .sec-title { font-size:36px; }
  .btn { padding:13px 22px; font-size:12px; }
  .why-grid { grid-template-columns:1fr; }
  .proof-card { width:100%; }
}

/* ===== V2 ADDITIONS ===== */

/* NAV DROPDOWN */
.nav-drop { position:relative; }
.nav-drop > a::after { content:'▾'; font-size:9px; margin-left:5px; opacity:.6; }
.nav-drop-menu { position:absolute; top:100%; left:-16px; min-width:240px; background:var(--navy-dark); border:1px solid rgba(255,255,255,.08); border-radius:6px; padding:8px 0; opacity:0; transform:translateY(8px); pointer-events:none; transition:all .2s ease; box-shadow:0 16px 40px rgba(0,0,0,.35); list-style:none; }
.nav-drop:hover .nav-drop-menu, .nav-drop:focus-within .nav-drop-menu { opacity:1; transform:translateY(0); pointer-events:auto; }
.nav-drop-menu li a { display:block; padding:11px 20px; font-size:11px; color:rgba(255,255,255,.7); letter-spacing:1.5px; }
.nav-drop-menu li a:hover { background:rgba(201,168,76,.08); color:var(--gold); }

/* PAGE HERO (interior pages) */
.page-hero { background:var(--navy); padding:calc(var(--nav-h) + 72px) 0 64px; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; top:-140px; right:-140px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(201,168,76,.06) 0%, transparent 70%); pointer-events:none; }
.page-hero h1 { font-family:'Bebas Neue',sans-serif; font-size:64px; line-height:.95; letter-spacing:1px; color:var(--white); margin-bottom:20px; max-width:820px; }
.page-hero h1 span { color:var(--gold); }
.page-hero .lede { font-size:17px; line-height:1.75; color:rgba(255,255,255,.68); max-width:640px; margin-bottom:32px; }
.breadcrumb { display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:11px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:26px; }
.breadcrumb a { color:rgba(255,255,255,.4); transition:color .2s; }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb .bc-sep { color:var(--gold); opacity:.6; }
.breadcrumb .bc-current { color:var(--gold); }

/* SPLIT SECTION */
.split-section { padding:88px 0; }
.split-section.bg-cream { background:var(--cream); }
.split-section.bg-white { background:var(--white); }
.split-section.bg-navy { background:var(--navy); }
.split-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.split-grid.split-media { align-items:center; }
.split-grid img { border-radius:8px; width:100%; height:100%; object-fit:cover; }
.body-copy p { font-size:15.5px; line-height:1.85; color:#374151; margin-bottom:18px; }
.body-copy p:last-child { margin-bottom:0; }
.body-copy strong { color:var(--navy); }
.bg-navy .body-copy p { color:rgba(255,255,255,.65); }
.bg-navy .body-copy strong { color:var(--white); }

/* CHECKLIST */
.checklist { list-style:none; display:flex; flex-direction:column; gap:14px; }
.checklist li { display:flex; gap:12px; font-size:14.5px; line-height:1.7; color:#374151; }
.checklist li::before { content:'✓'; flex-shrink:0; width:22px; height:22px; border-radius:50%; background:var(--gold); color:var(--navy); font-size:12px; font-weight:900; display:flex; align-items:center; justify-content:center; margin-top:2px; }
.bg-navy .checklist li { color:rgba(255,255,255,.65); }

/* PROCESS STEPS */
.steps-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:2px; background:var(--gray-lt); border-radius:8px; overflow:hidden; }
.step-card { background:var(--white); padding:32px 24px; }
.step-num { font-family:'Bebas Neue',sans-serif; font-size:40px; color:var(--gold); line-height:1; margin-bottom:10px; }
.step-name { font-family:'Barlow Condensed',sans-serif; font-size:15px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--navy); margin-bottom:8px; }
.step-desc { font-size:13px; line-height:1.65; color:var(--gray-dk); }

/* STATS BAND */
.stats-band { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:rgba(255,255,255,.06); border-radius:8px; overflow:hidden; }
.stat-cell { background:rgba(255,255,255,.025); padding:32px 24px; text-align:center; }
.stat-val { font-family:'Bebas Neue',sans-serif; font-size:46px; color:var(--gold); line-height:1; margin-bottom:6px; }
.stat-label { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.5); }

/* CASE STUDY */
.case-card { background:var(--white); border-radius:10px; overflow:hidden; box-shadow:0 4px 40px rgba(0,0,0,.08); display:grid; grid-template-columns:1fr 1fr; }
.case-card-media { background:var(--navy-dark); min-height:340px; }
.case-card-media img { width:100%; height:100%; object-fit:cover; }
.case-card-body { padding:44px 48px; }
.case-tag { display:inline-block; background:var(--navy); color:var(--gold); font-size:10px; font-weight:800; letter-spacing:2px; text-transform:uppercase; padding:6px 14px; border-radius:100px; margin-bottom:18px; }
.case-title { font-family:'Bebas Neue',sans-serif; font-size:34px; color:var(--navy); line-height:1; margin-bottom:14px; }
.case-meta { font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--gold-dk); margin-bottom:16px; }
.case-card-body p { font-size:14.5px; line-height:1.8; color:#374151; margin-bottom:20px; }
.case-stats { display:flex; gap:28px; flex-wrap:wrap; margin-bottom:24px; }
.case-stat b { display:block; font-family:'Bebas Neue',sans-serif; font-size:28px; color:var(--navy); line-height:1; }
.case-stat span { font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--gray-md); }

/* FORM PAGE LAYOUT */
.form-page-grid { display:grid; grid-template-columns:1.6fr 1fr; gap:40px; align-items:start; }
.form-aside { background:var(--navy); border-radius:12px; padding:40px 36px; position:sticky; top:calc(var(--nav-h) + 24px); }
.form-aside h3 { font-family:'Bebas Neue',sans-serif; font-size:28px; color:var(--white); letter-spacing:1px; margin-bottom:20px; }
.aside-steps { list-style:none; display:flex; flex-direction:column; gap:18px; margin-bottom:28px; counter-reset:astep; }
.aside-steps li { display:flex; gap:14px; font-size:13.5px; line-height:1.65; color:rgba(255,255,255,.65); counter-increment:astep; }
.aside-steps li::before { content:counter(astep); flex-shrink:0; width:26px; height:26px; border-radius:50%; border:2px solid var(--gold); color:var(--gold); font-family:'Bebas Neue',sans-serif; font-size:14px; display:flex; align-items:center; justify-content:center; }
.form-aside .footer-contact { font-size:14px; }

/* AUDIENCE SPLIT (home) */
.audience-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.aud-card { border-radius:10px; padding:48px 44px; position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:flex-start; transition:transform .3s, box-shadow .3s; }
.aud-card:hover { transform:translateY(-4px); box-shadow:0 20px 48px rgba(27,42,74,.22); }
.aud-card.aud-com { background:var(--navy); }
.aud-card.aud-res { background:var(--white); border:2px solid var(--gray-lt); }
.aud-kicker { font-size:10px; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:14px; }
.aud-title { font-family:'Bebas Neue',sans-serif; font-size:38px; line-height:1; letter-spacing:1px; margin-bottom:14px; }
.aud-com .aud-title { color:var(--white); }
.aud-res .aud-title { color:var(--navy); }
.aud-desc { font-size:14.5px; line-height:1.75; margin-bottom:26px; }
.aud-com .aud-desc { color:rgba(255,255,255,.62); }
.aud-res .aud-desc { color:var(--gray-dk); }
.aud-card .btn { margin-top:auto; }

/* THANKS PAGE */
.thanks-hero { min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--navy); text-align:center; padding:120px 24px 80px; }
.thanks-icon { width:72px; height:72px; border-radius:50%; background:var(--gold); color:var(--navy); font-size:32px; font-weight:900; display:flex; align-items:center; justify-content:center; margin:0 auto 28px; }
.thanks-hero h1 { font-family:'Bebas Neue',sans-serif; font-size:64px; color:var(--white); letter-spacing:1px; margin-bottom:18px; }
.thanks-hero p { font-size:16px; line-height:1.8; color:rgba(255,255,255,.65); max-width:520px; margin:0 auto 36px; }

/* RESPONSIVE ADDITIONS */
@media (max-width:1024px) {
  .split-grid { grid-template-columns:1fr; gap:44px; }
  .steps-grid { grid-template-columns:repeat(2,1fr); }
  .stats-band { grid-template-columns:repeat(2,1fr); }
  .case-card { grid-template-columns:1fr; }
  .case-card-media { min-height:260px; }
  .form-page-grid { grid-template-columns:1fr; }
  .form-aside { position:static; }
  .page-hero h1 { font-size:52px; }
}
@media (max-width:767px) {
  .page-hero { padding:calc(var(--nav-h) + 48px) 0 48px; }
  .page-hero h1 { font-size:42px; }
  .split-section { padding:56px 0; }
  .steps-grid { grid-template-columns:1fr; }
  .audience-grid { grid-template-columns:1fr; }
  .aud-card { padding:36px 26px; }
  .case-card-body { padding:32px 24px; }
  .thanks-hero h1 { font-size:44px; }
  .stats-band { grid-template-columns:1fr 1fr; }
}

/* CASE BEFORE/AFTER PAIR */
.case-media-pair { display:grid; grid-template-columns:1fr 1fr; min-height:340px; }
.cmp-item { position:relative; overflow:hidden; }
.cmp-item img { width:100%; height:100%; object-fit:cover; }
.cmp-item .hero-badge { position:absolute; bottom:14px; left:14px; }
@media (max-width:1024px) { .case-media-pair { min-height:260px; } }

/* PROOF SECTION - navy treatment, white logos (matches home ticker) */
.proof-section { background:var(--navy); }
.proof-section .sec-title { color:var(--white); }
.proof-section .sec-sub { color:rgba(255,255,255,.65); }
.proof-section .eyebrow { color:var(--gold); }
.proof-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); }
.proof-card:hover { border-color:var(--gold); box-shadow:0 6px 24px rgba(201,168,76,.15); }
.proof-card img { filter:brightness(0) invert(1) opacity(.92); }
.proof-card:hover img { filter:brightness(0) invert(1) opacity(1); }

/* MOBILE CONVERSION */
.form-group input, .form-group select, .form-group textarea { font-size:16px; }
.sticky-bar2 { display:none; position:fixed; bottom:0; left:0; right:0; z-index:998; box-shadow:0 -4px 20px rgba(0,0,0,.18); }
.sticky-bar2 a { flex:1; text-align:center; padding:16px 8px; font-family:'Barlow',sans-serif; font-size:13px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.sticky-call { background:var(--navy); color:var(--gold); }
.sticky-cta { background:var(--gold); color:var(--navy); }
@media (max-width:767px) {
  .sticky-bar2 { display:flex; }
  body { padding-bottom:56px; }
}

/* HERO VIDEO */
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-visual { position:relative; }
.hero-visual video ~ img { display:none; }
@media (max-width:767px) {
  .hero-video { display:none; }
  .hero-visual video ~ img { display:block; }
}
