@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800;900&family=Open+Sans:wght@400;500;600&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--or:#E85000;--or2:#FF6A1A;--or-lt:#FFF3EE;--or-dk:#C43F00;--nv:#0B1E3D;--nv2:#1A3560;--gy:#64748B;--gy-lt:#F8FAFC;--gy-bd:#E2E8F0;--wh:#FFFFFF;--txt:#1E293B;--sh:0 2px 12px rgba(0,0,0,.08);--sh2:0 8px 32px rgba(0,0,0,.12);--sh3:0 20px 60px rgba(0,0,0,.16)}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Open Sans',sans-serif;color:var(--txt);background:var(--wh);overflow-x:hidden;line-height:1.6}
.topbar{background:var(--nv);padding:9px 20px}.tbi{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:.85rem}.tbi span,.tbi a{color:#ffffff;text-decoration:none;font-weight:600}.tbi a:hover{color:var(--or2)}.tbr{display:flex;gap:22px;align-items:center}.tbphone{font-weight:800;color:var(--or2)!important;font-size:1.2rem}
header{background:var(--wh);border-bottom:3px solid var(--or);position:sticky;top:0;z-index:999;box-shadow:var(--sh2)}
.hdr{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;flex-direction:column}
.hdr-row1{display:flex;align-items:center;gap:16px;padding:10px 0;width:100%}
.hdr-row2{display:flex;align-items:center;border-top:1px solid rgba(0,0,0,.07);padding:4px 0}
.logo-wrap{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.logo-img{height:64px;width:auto;display:block}
.brand-name{font-family:'Montserrat',sans-serif;font-size:1.15rem;font-weight:900;color:var(--or);line-height:1.2;white-space:nowrap;letter-spacing:.01em;flex:1;text-transform:uppercase}
.hdrcta{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto}
.mainnav{flex:1;display:flex;align-items:center;justify-content:flex-start;gap:0;flex-wrap:nowrap;width:100%}
.nl{font-family:'Montserrat',sans-serif;font-size:.82rem;font-weight:700;color:var(--nv);text-decoration:none;padding:8px 11px;border-radius:4px;letter-spacing:.02em;white-space:nowrap;transition:color .15s,background .15s}
.nl:hover{color:var(--or);background:var(--or-lt)}.nla{color:var(--or);font-weight:800}
.btn-est{background:var(--or-lt);color:var(--or);border:2px solid var(--or);font-family:'Montserrat',sans-serif;font-size:.85rem;font-weight:700;padding:9px 16px;border-radius:4px;text-decoration:none;white-space:nowrap;transition:.15s}.btn-est:hover{background:var(--or);color:#fff}
.btn-callhdr{background:var(--or);color:#fff;font-family:'Montserrat',sans-serif;font-size:1.35rem;font-weight:900;padding:14px 24px;border-radius:4px;text-decoration:none;white-space:nowrap;transition:background .15s;box-shadow:0 3px 12px rgba(232,80,0,.35);letter-spacing:.01em}.btn-callhdr:hover{background:var(--or-dk)}
.hbg{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-direction:column;gap:5px}.hbg span{width:26px;height:3px;background:var(--nv);border-radius:2px;display:block}
.sec{padding:80px 20px}.sec-alt{background:var(--gy-lt)}.sec-dk{background:var(--nv)}.wrap{max-width:1160px;margin:0 auto}.tc{text-align:center}.tc .ssub{margin:0 auto}
.eyebrow{font-family:'Montserrat',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--or);margin-bottom:10px}.ttl{font-family:'Montserrat',sans-serif;font-size:clamp(1.8rem,3.5vw,2.7rem);font-weight:800;color:var(--nv);line-height:1.12;margin-bottom:14px}.sec-dk .ttl{color:#fff}.ssub{font-size:1.05rem;color:var(--gy);line-height:1.78;max-width:580px}.sec-dk .ssub{color:rgba(255,255,255,.65)}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:'Montserrat',sans-serif;font-weight:700;border-radius:4px;text-decoration:none;border:none;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}.btn-or{background:var(--or);color:#fff;font-size:.95rem;padding:14px 28px;box-shadow:0 4px 16px rgba(232,80,0,.3)}.btn-or:hover{background:var(--or-dk);transform:translateY(-1px)}.btn-or-lg{font-size:1.08rem;padding:17px 36px}.btn-wh{background:#fff;color:var(--nv);border:2px solid var(--gy-bd);font-size:.95rem;padding:13px 28px}.btn-wh:hover{border-color:var(--nv);background:var(--gy-lt)}.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.45);font-size:.95rem;padding:13px 28px}.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}.btn-grp{display:flex;gap:14px;flex-wrap:wrap}
.trust-strip{background:var(--or);padding:13px 20px}.trust-in{max-width:1160px;margin:0 auto;display:flex;justify-content:center;flex-wrap:wrap;gap:26px}.ti{display:flex;align-items:center;gap:8px;color:#fff;font-family:'Montserrat',sans-serif;font-size:.82rem;font-weight:600}.ti-ck{background:rgba(255,255,255,.22);border-radius:50%;width:20px;height:20px;display:grid;place-items:center;font-size:.62rem;flex-shrink:0}
.hero{background:linear-gradient(130deg,var(--nv) 0%,var(--nv2) 100%);min-height:88vh;display:flex;align-items:center;padding:60px 20px;position:relative;overflow:hidden}.hero-in{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 420px;gap:64px;align-items:center;width:100%;position:relative;z-index:1}.hero-kicker{display:inline-flex;align-items:center;gap:8px;background:rgba(232,80,0,.18);border:1px solid rgba(232,80,0,.5);color:var(--or2);font-family:'Montserrat',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.15em;padding:6px 16px;border-radius:20px;margin-bottom:20px;text-transform:uppercase}.hero h1{font-family:'Montserrat',sans-serif;font-size:clamp(2.4rem,5vw,4rem);font-weight:900;color:#fff;line-height:1.05;margin-bottom:18px}.hero h1 em{color:var(--or2);font-style:normal;display:block}.hero-desc{font-size:1.08rem;color:rgba(255,255,255,.75);line-height:1.78;margin-bottom:32px;max-width:520px}.hero-stats{display:flex;gap:32px;margin-top:40px;padding-top:32px;border-top:1px solid rgba(255,255,255,.12);flex-wrap:wrap}.hs-num{font-family:'Montserrat',sans-serif;font-size:2rem;font-weight:900;color:var(--or2);line-height:1}.hs-lbl{font-size:.78rem;color:rgba(255,255,255,.5);margin-top:4px;letter-spacing:.04em}
.hero-card{background:#fff;border-radius:8px;padding:36px 32px;box-shadow:var(--sh3);border-top:5px solid var(--or)}.hero-card h3{font-family:'Montserrat',sans-serif;font-size:1.3rem;font-weight:800;color:var(--nv);margin-bottom:4px}.hero-card>.sub{font-size:.87rem;color:var(--gy);margin-bottom:24px}.fg{margin-bottom:16px}.flbl{display:block;font-family:'Montserrat',sans-serif;font-size:.8rem;font-weight:700;color:var(--nv);margin-bottom:5px}.fc{width:100%;padding:11px 13px;border:2px solid var(--gy-bd);border-radius:4px;font-family:'Open Sans',sans-serif;font-size:.93rem;color:var(--txt);transition:border-color .15s;background:#fff}.fc:focus{outline:none;border-color:var(--or)}.hero-card .btn-or{width:100%;justify-content:center;font-size:1rem;padding:15px}.or-sep{display:flex;align-items:center;gap:10px;color:var(--gy);font-size:.8rem;margin:14px 0}.or-sep::before,.or-sep::after{content:'';flex:1;height:1px;background:var(--gy-bd)}.call-big{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--nv);color:#fff;text-decoration:none;border-radius:4px;padding:14px;font-family:'Montserrat',sans-serif;font-size:1.15rem;font-weight:800;transition:background .2s}.call-big:hover{background:var(--nv2)}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}.g2{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;margin-top:52px}.card{background:#fff;border-radius:8px;border:1px solid var(--gy-bd);padding:32px 26px;transition:transform .2s,box-shadow .2s;box-shadow:var(--sh)}.card:hover{transform:translateY(-4px);box-shadow:var(--sh2)}.card-top{border-top:4px solid var(--or)}.card-lnk{text-decoration:none;color:inherit;display:block}.ci{font-size:2rem;margin-bottom:14px}.card h3{font-family:'Montserrat',sans-serif;font-size:1rem;font-weight:700;color:var(--nv);margin-bottom:9px}.card p{font-size:.91rem;color:var(--gy);line-height:1.65}.card-arrow{display:inline-flex;align-items:center;gap:5px;color:var(--or);font-family:'Montserrat',sans-serif;font-size:.82rem;font-weight:700;margin-top:14px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:52px;position:relative}.steps::before{content:'';position:absolute;top:27px;left:calc(12.5% + 14px);right:calc(12.5% + 14px);height:2px;background:rgba(255,255,255,.15);z-index:0}.step{text-align:center;padding:0 16px;position:relative;z-index:1}.snum{width:56px;height:56px;background:var(--or);border-radius:50%;display:grid;place-items:center;font-family:'Montserrat',sans-serif;font-size:1.3rem;font-weight:900;color:#fff;margin:0 auto 18px;box-shadow:0 4px 16px rgba(232,80,0,.35)}.step h3{font-family:'Montserrat',sans-serif;font-size:.97rem;font-weight:700;color:#fff;margin-bottom:8px}.step p{font-size:.87rem;color:rgba(255,255,255,.6);line-height:1.6}
.review-sum{display:flex;align-items:center;gap:28px;background:#fff;border:2px solid var(--gy-bd);border-radius:8px;padding:26px 32px;margin-bottom:40px;box-shadow:var(--sh)}.big-score{font-family:'Montserrat',sans-serif;font-size:4rem;font-weight:900;color:var(--nv);line-height:1}.stars{color:#F59E0B;font-size:1.1rem;letter-spacing:2px}.rv-meta strong{display:block;color:var(--nv);font-family:'Montserrat',sans-serif;font-size:.97rem;margin-top:6px}.rv-meta span{font-size:.85rem;color:var(--gy)}.rv-card{background:#fff;border-radius:8px;border:1px solid var(--gy-bd);padding:28px;box-shadow:var(--sh)}.rv-card p{font-size:.95rem;color:var(--txt);line-height:1.72;font-style:italic;margin:12px 0 14px}.rv-name{font-family:'Montserrat',sans-serif;font-size:.88rem;font-weight:700;color:var(--nv)}.rv-city{font-size:.82rem;color:var(--gy)}
.ins-strip{background:var(--nv2);padding:54px 20px}.ins-in{max-width:1160px;margin:0 auto;display:flex;align-items:center;gap:48px;flex-wrap:wrap}.ins-in h2{font-family:'Montserrat',sans-serif;font-size:1.75rem;font-weight:800;color:#fff;flex:1;min-width:200px}.ins-in p{color:rgba(255,255,255,.7);flex:2;line-height:1.78;font-size:1rem}
.why-g{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}.why-i{display:flex;gap:16px;align-items:flex-start}.wi-icon{font-size:1.8rem;flex-shrink:0;margin-top:3px}.why-i h3{font-family:'Montserrat',sans-serif;font-size:.97rem;font-weight:700;color:var(--nv);margin-bottom:6px}.why-i p{font-size:.9rem;color:var(--gy);line-height:1.65}
.cta-sec{background:var(--or);padding:86px 20px;text-align:center}.cta-sec h2{font-family:'Montserrat',sans-serif;font-size:clamp(1.9rem,4vw,3rem);font-weight:900;color:#fff;margin-bottom:14px}.cta-sec p{color:rgba(255,255,255,.88);font-size:1.05rem;margin-bottom:36px;max-width:560px;margin-left:auto;margin-right:auto}.btn-cta-wh{background:#fff;color:var(--or);font-family:'Montserrat',sans-serif;font-size:1.2rem;font-weight:800;padding:18px 44px;border-radius:4px;text-decoration:none;display:inline-flex;align-items:center;gap:12px;box-shadow:0 6px 28px rgba(0,0,0,.18);transition:transform .15s}.btn-cta-wh:hover{transform:translateY(-2px)}
.phero{background:linear-gradient(130deg,var(--nv) 0%,var(--nv2) 100%);padding:72px 20px 64px}.phero h1{font-family:'Montserrat',sans-serif;font-size:clamp(2rem,4.5vw,3.2rem);font-weight:900;color:#fff;margin-bottom:14px}.phero p{color:rgba(255,255,255,.75);font-size:1.05rem;max-width:640px;line-height:1.78;margin-bottom:28px}.bc{font-size:.8rem;color:rgba(255,255,255,.45);margin-bottom:18px}.bc a{color:rgba(255,255,255,.7);text-decoration:none}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}textarea.fc{resize:vertical;min-height:110px}
footer{background:var(--nv);padding:64px 20px 28px}.ftgrid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:52px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08)}.ft-logo{height:58px;width:auto;display:block;margin-bottom:18px;filter:none;mix-blend-mode:multiply}.ftbrand p{color:rgba(255,255,255,.55);font-size:.9rem;line-height:1.72;margin-bottom:16px}.ftphone{display:block;color:var(--or2);font-family:'Montserrat',sans-serif;font-size:1.15rem;font-weight:800;text-decoration:none;margin-bottom:6px}.ftphone:hover{color:#fff}.ftemail{display:block;color:rgba(255,255,255,.5);font-size:.87rem;text-decoration:none;margin-bottom:10px}.ftemail:hover{color:rgba(255,255,255,.85)}.ftaddr{color:rgba(255,255,255,.35);font-size:.82rem;line-height:1.6;margin-top:4px}.ftcol h4{font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;color:#fff;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}.ftcol a{display:block;color:rgba(255,255,255,.5);text-decoration:none;font-size:.88rem;margin-bottom:10px;transition:color .15s}.ftcol a:hover{color:var(--or2)}.ftbottom{max-width:1160px;margin:24px auto 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.78rem;color:rgba(255,255,255,.3)}
@media(min-width:961px){.mainnav{display:flex;align-items:center;gap:20px}.hbg{display:none}}
@media(max-width:960px){
  .mainnav{display:none;flex-direction:column;position:fixed;inset-y:0;right:0;width:260px;background:#fff;padding:72px 20px 20px;box-shadow:-8px 0 32px rgba(0,0,0,.18);z-index:2000;gap:2px;overflow-y:auto}
  .mainnav.open{display:flex}
  .nl{font-size:.95rem;padding:11px 14px}
  .hbg{display:flex}
  .g3{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .steps::before{display:none}
  .ftgrid{grid-template-columns:1fr 1fr}
  .why-g{grid-template-columns:1fr 1fr}
  .hero-in{grid-template-columns:1fr}
  .logo-wrap{flex-direction:row;align-items:center;gap:8px}
  .brand-name{font-size:1.1rem;text-align:center;white-space:normal;flex:1}
  .logo-img{height:60px}
  .btn-callhdr{font-size:.95rem;padding:9px 13px}
  .btn-est{display:none}
  .hdr{padding:8px 16px;gap:10px}
}
@media(max-width:600px){
  .g2,.g3,.g4,.why-g,.frow{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .ftgrid{grid-template-columns:1fr}
  .review-sum{flex-direction:column;text-align:center}
  .tbi{flex-direction:column;align-items:flex-start;gap:4px}
  .tbr a:not(.tbphone){display:none}
  .hdr{padding:8px 14px;gap:8px}
  .logo-img{height:84px}
  .brand-name{font-size:.9rem;white-space:normal}
  .btn-callhdr{font-size:.88rem;padding:8px 11px}
}
.why-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px;width:100%;max-width:100%}.why-photos img{width:100%;height:260px;object-fit:cover;object-position:center 20%;border-radius:8px}.why-g .why-photos{grid-column:1/-1}.sec .why-photos{grid-column:1/-1}.g3 .why-photos{grid-column:1/-1}
/* ============================================
   MOBILE MENU & HEADER FIXES — Juan Carlos + Claude
   ============================================ */

/* 1. Hide brand name on mobile — logo carries the brand */
.is-mobile .brand-name {
  display: none !important;
}

/* 2. Keep call button but smaller and repositioned on mobile */
.is-mobile .hdrcta {
  font-size: .8rem !important;
  padding: 6px 10px !important;
}

/* 3. Mobile nav — full screen overlay, hidden by default */
.is-mobile .mainnav,
.is-tablet .mainnav {
  display: none;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background-color: var(--wh) !important;
  z-index: 99999 !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 30px !important;
}

/* 4. Show menu when open class is active */
.is-mobile .mainnav.open,
.is-tablet .mainnav.open {
  display: flex !important;
}

/* 5. Close (X) button — top right, always visible */
.is-mobile .btn-close-menu,
.is-tablet .btn-close-menu {
  display: block !important;
  position: absolute !important;
  top: 20px !important;
  right: 25px !important;
  font-size: 3rem !important;
  background: none !important;
  border: none !important;
  color: var(--nv) !important;
  cursor: pointer !important;
  line-height: 1 !important;
}

/* 6. Larger nav links for easy tapping */
.is-mobile .nl,
.is-tablet .nl {
  font-size: 1.5rem !important;
  padding: 10px 20px !important;
}

/* 7. Prevent horizontal scroll on about and contact pages */
.is-mobile body,
.is-tablet body {
  overflow-x: hidden !important;
}