
:root{
 --ink:#0a1f39; --green:#006a4e; --green2:#0b7b5c; --gold:#a96908; --sand:#f7f2e9;
 --line:#e8e5df; --muted:#617083; --white:#fff; --shadow:0 18px 45px rgba(18,42,58,.10);
 --serif:Georgia,'Times New Roman',serif; --sans:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);line-height:1.45}
a{text-decoration:none;color:inherit} img{display:block;max-width:100%}
.container{width:min(1500px,calc(100% - 48px));margin:auto}
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid #eee}
.nav{height:74px;display:grid;grid-template-columns:290px 1fr 310px;align-items:center;gap:24px}
.logo{display:flex;align-items:center;gap:12px}.palm{font-size:2.5rem;color:var(--green);line-height:1}
.logo-copy b{font-family:var(--serif);font-size:1.6rem;letter-spacing:-.03em}.logo-copy small{display:block;font-size:.58rem;letter-spacing:.32em;font-weight:800}
.menu{display:flex;justify-content:center;gap:34px;font-size:.9rem;font-weight:650}.menu a.active{color:var(--green);border-bottom:2px solid var(--green);padding-bottom:6px}
.nav-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 25px;border-radius:999px;border:1px solid var(--green);font-weight:800;transition:.2s}
.btn.green{background:linear-gradient(135deg,#0a7a58,#005b45);color:#fff;box-shadow:0 8px 24px rgba(0,106,78,.18)}
.btn.white{background:#fff;color:var(--green)}.btn:hover{transform:translateY(-1px)}
.lang{font-size:.78rem;font-weight:900;letter-spacing:.08em;color:var(--muted)}
.mobile-toggle{display:none;font-size:1.65rem;color:var(--green)}
.hero{position:relative;min-height:650px;overflow:hidden;background:#fff}
.hero-grid{display:grid;grid-template-columns:42% 58%;min-height:650px}
.hero-copy{padding:68px 34px 48px max(48px,calc((100vw - 1500px)/2));position:relative;z-index:3;background:
linear-gradient(90deg,#fff 0%,#fff 82%,rgba(255,255,255,.82) 100%)}
.hero-copy:before{content:"";position:absolute;left:0;top:0;bottom:0;width:120px;background:
radial-gradient(ellipse at left,rgba(7,106,78,.11),transparent 70%);pointer-events:none}
.kicker{font-size:.76rem;font-weight:900;letter-spacing:.3em;color:var(--green);text-transform:uppercase;margin-bottom:12px}
h1,h2,h3{font-family:var(--serif);margin:0;letter-spacing:-.035em}
h1{font-size:clamp(3.2rem,4.9vw,5.55rem);line-height:.92;max-width:780px}
h2{font-size:clamp(2rem,3vw,3.5rem);line-height:1}.hero-copy p{font-size:1.16rem;max-width:610px;margin:22px 0 28px;color:#263a51}
.hero-image{background:url('img/hero.jpg') center/cover no-repeat;min-height:650px;position:relative}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.34),transparent 22%)}
.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}.features{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:white}
.feature{padding:22px 24px;display:flex;gap:12px;align-items:center;border-right:1px solid var(--line)}.feature:last-child{border-right:0}
.icon{width:42px;height:42px;min-width:42px;border-radius:50%;background:#fbf3e4;color:var(--gold);display:grid;place-items:center;font-size:1.15rem;font-weight:900}
.feature b{display:block;font-family:var(--serif);font-size:1rem}.feature span{font-size:.78rem;color:var(--muted)}
section{padding:70px 0}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:28px}
.section-head p{color:var(--muted);max-width:570px}.models{display:grid;grid-template-columns:1.06fr 1fr 1fr 1fr;gap:22px;align-items:stretch}
.models-intro{padding:20px 8px 0 0}.models-intro p{color:var(--muted);font-size:1rem}.text-link{display:inline-block;margin-top:15px;color:var(--green);font-weight:800;border-bottom:1px solid var(--green);padding-bottom:4px}
.card{background:#fff;border:1px solid #ece9e3;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.card img{width:100%;height:190px;object-fit:cover}.card-body{padding:16px 18px 18px;position:relative}.card h3{font-size:1.45rem}.card p{margin:4px 42px 0 0;color:var(--muted);font-size:.9rem}
.arrow{position:absolute;right:16px;bottom:18px;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:1.3rem}
.why{background:#fbfaf7;border-top:1px solid #eee;border-bottom:1px solid #eee}
.why-grid{display:grid;grid-template-columns:1.1fr repeat(4,.72fr);gap:0;align-items:center}.why-title{padding-right:36px}
.why-item{padding:12px 26px;border-left:1px solid #ddd;display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center}.why-item .icon{background:transparent;color:var(--green);font-size:1.6rem}
.why-item b{font-family:var(--serif);font-size:1.05rem}.why-item span{font-size:.82rem;color:var(--muted)}
.banner{padding:0;background:#e9f5f8}.banner-grid{display:grid;grid-template-columns:1fr 1.15fr;min-height:285px}
.banner-copy{padding:46px max(48px,calc((100vw - 1500px)/2));padding-right:46px;display:flex;flex-direction:column;justify-content:center;background:
linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.72)),url('img/riviera-coast.jpg') center/cover}
.banner-copy h2{font-size:2.55rem}.banner-copy p{max-width:600px;color:#345}
.banner-img{background:url('img/lifestyle-couple.jpg') center/cover no-repeat}
.cta-band{background:var(--green);color:white;padding:30px 0}.cta-band .container{display:flex;justify-content:space-between;align-items:center;gap:20px}.cta-band h3{font-size:1.7rem}.cta-band p{margin:4px 0 0;color:#d8efe8}
.seo-block{padding:54px 0}.seo-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.seo-box{background:#fbfaf7;border:1px solid #eee;border-radius:18px;padding:26px}.seo-box p{color:var(--muted)}
footer{padding:34px 0 42px;border-top:1px solid #eee;background:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;align-items:center}.footer-contact{text-align:center;font-size:.9rem;color:var(--muted)}.powered{text-align:right;font-size:.78rem;color:#8a95a3}
.float-wa{position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#17a469;color:white;font-weight:900;z-index:60;box-shadow:0 14px 30px rgba(0,0,0,.22)}
.inner-hero{padding:80px 0 54px;background:linear-gradient(135deg,#fff,#f5f7f4)}.inner-hero .container{display:grid;grid-template-columns:1fr .9fr;gap:50px;align-items:center}.inner-hero img{border-radius:18px;box-shadow:var(--shadow)}.inner-copy p{color:var(--muted);font-size:1.1rem}.bullet-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.bullet{padding:14px 16px;border:1px solid #e7e4de;border-radius:12px;background:white}
@media(max-width:1050px){
 .nav{grid-template-columns:1fr auto}.menu{display:none}.nav-actions .lang{display:none}.mobile-toggle{display:block}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:54px 24px 34px}.hero-image{min-height:430px}.hero{min-height:0}
 .features{grid-template-columns:1fr 1fr}.models{grid-template-columns:1fr 1fr}.models-intro{grid-column:1/-1}.why-grid{grid-template-columns:1fr 1fr}.why-title{grid-column:1/-1;padding-bottom:18px}.why-item{border-left:0;border-top:1px solid #ddd}
 .banner-grid{grid-template-columns:1fr}.banner-img{min-height:280px}.footer-grid{grid-template-columns:1fr;text-align:center}.powered{text-align:center}.logo{justify-content:center}
 .inner-hero .container{grid-template-columns:1fr}
}
@media(max-width:650px){
 .container{width:min(100% - 28px,1500px)}.nav{height:68px}.logo-copy b{font-size:1.28rem}.logo-copy small{font-size:.48rem}.palm{font-size:2rem}.nav-actions .btn{display:none}
 .hero-grid{display:flex;flex-direction:column}.hero-copy{order:1;padding:34px 18px 20px}.hero-image{order:2;min-height:330px;background-position:58% center}.hero-copy p{font-size:1rem}.hero-buttons{display:grid}.hero-buttons .btn{width:100%}
 h1{font-size:3.35rem}.features{grid-template-columns:1fr 1fr}.feature{padding:18px 10px;align-items:flex-start}.feature .icon{width:35px;height:35px;min-width:35px}.feature b{font-size:.92rem}
 section{padding:48px 0}.section-head{display:block}.models{grid-template-columns:1fr}.models-intro{padding:0}.card{display:grid;grid-template-columns:44% 56%}.card img{height:100%;min-height:145px}.card-body{display:flex;flex-direction:column;justify-content:center}.card p{margin-right:38px}
 .why-grid{grid-template-columns:1fr 1fr}.why-item{padding:14px 8px;grid-template-columns:38px 1fr}.why-item .icon{width:32px;height:32px}.why-item b{font-size:.95rem}.why-item span{font-size:.75rem}
 .banner-copy{padding:34px 22px}.banner-copy h2{font-size:2.25rem}.banner-img{min-height:230px}.cta-band .container{display:block}.cta-band .btn{margin-top:16px;width:100%}
 .seo-grid,.bullet-list{grid-template-columns:1fr}.inner-hero{padding:42px 0}.footer-contact{font-size:.82rem}
}


/* ===== Riviera Carts corrections v2 ===== */
.palm{display:none!important}
.palm-logo{
  width:48px;height:58px;object-fit:contain;flex:0 0 auto;
}
.logo{gap:10px}
.logo-copy b{color:#0a1f39}
.logo-copy small{color:#0a1f39}

/* Prevent any duplicate/ghost copy from image crops in the lifestyle section. */
.banner-copy{
  background:#fff!important;
  position:relative;
  overflow:hidden;
}
.banner-copy:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 76%,rgba(255,255,255,.88) 100%);
  z-index:0;
}
.banner-copy>*{position:relative;z-index:1}
.banner-img{
  background-image:url('img/lifestyle-couple.jpg')!important;
  background-size:cover!important;
  background-position:center center!important;
}

/* Better desktop spacing in banner. */
.banner-grid{min-height:310px}
.banner-copy{padding-top:44px;padding-bottom:44px}
.banner-copy h2{max-width:720px}

/* Mobile: actual one-column landing instead of a squeezed desktop layout. */
@media(max-width:650px){
  body{overflow-x:hidden}
  header{position:sticky;top:0}
  .container{width:calc(100% - 28px)}
  .nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:72px;
    gap:8px;
  }
  .logo{min-width:0}
  .palm-logo{width:38px;height:46px}
  .logo-copy b{font-size:1.18rem;white-space:nowrap}
  .logo-copy small{font-size:.42rem;letter-spacing:.22em;white-space:nowrap}
  .mobile-toggle{display:block;margin-left:4px}
  .menu{display:none}
  .nav-actions{margin-left:auto}
  .nav-actions .btn,.nav-actions .lang{display:none}

  .hero{background:#fff}
  .hero-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .hero-copy{
    grid-column:1;
    padding:34px 18px 24px!important;
    background:#fff!important;
  }
  .hero-copy:before{display:none}
  .hero-copy h1{
    font-size:clamp(2.8rem,13vw,4rem)!important;
    line-height:.94!important;
    max-width:none;
  }
  .hero-copy p{
    font-size:1rem!important;
    margin:16px 0 20px!important;
  }
  .hero-buttons{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .hero-buttons .btn{
    width:100%;
    min-height:50px;
  }
  .hero-image{
    grid-column:1;
    min-height:315px!important;
    background-position:center center!important;
  }
  .hero-image:after{display:none}

  .features{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    border-top:1px solid var(--line);
  }
  .feature{
    border-right:0!important;
    border-bottom:1px solid var(--line);
    padding:17px 14px!important;
    min-height:105px;
  }
  .feature:nth-child(odd){border-right:1px solid var(--line)!important}
  .feature .icon{width:34px;height:34px;min-width:34px}
  .feature b{font-size:.9rem}
  .feature span{font-size:.73rem}

  section{padding:44px 0}
  .models{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .models-intro{grid-column:auto!important;padding:0 0 6px!important}
  .models-intro h2{font-size:2.45rem}
  .card{
    display:grid!important;
    grid-template-columns:44% 56%!important;
    min-height:145px;
    border-radius:16px;
  }
  .card img{
    width:100%!important;
    height:100%!important;
    min-height:145px!important;
    object-fit:cover!important;
  }
  .card-body{padding:14px 14px!important}
  .card h3{font-size:1.35rem}
  .card p{font-size:.83rem;margin-right:36px}
  .arrow{width:36px;height:36px;right:12px;bottom:12px}

  .why{padding:42px 0}
  .why-grid{
    grid-template-columns:1fr 1fr!important;
    gap:0!important;
  }
  .why-title{
    grid-column:1/-1!important;
    padding:0 0 22px!important;
  }
  .why-title h2{font-size:2.4rem}
  .why-item{
    border-left:0!important;
    border-top:1px solid #dedbd4!important;
    padding:16px 8px!important;
    grid-template-columns:36px 1fr!important;
  }
  .why-item:nth-child(even){border-right:1px solid #dedbd4!important}
  .why-item .icon{font-size:1.25rem}
  .why-item b{font-size:.93rem}
  .why-item span{font-size:.72rem}

  .banner{padding:0!important}
  .banner-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .banner-copy{
    padding:38px 22px 28px!important;
    min-height:auto!important;
    background:#fff!important;
  }
  .banner-copy:after{display:none!important}
  .banner-copy h2{
    font-size:2.55rem!important;
    line-height:.96!important;
    max-width:none!important;
  }
  .banner-copy p{font-size:.95rem;margin:14px 0 20px}
  .banner-copy .btn{width:100%}
  .banner-img{
    min-height:265px!important;
    background-position:center center!important;
  }

  .cta-band{padding:26px 0}
  .cta-band .container{display:block!important}
  .cta-band h3{font-size:1.65rem}
  .cta-band .btn{width:100%;margin-top:14px}

  .seo-block{padding:42px 0}
  .seo-grid{grid-template-columns:1fr!important}

  footer{padding:28px 0 36px}
  .footer-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    text-align:center!important;
    gap:18px!important;
  }
  footer .logo{justify-content:center}
  .powered{text-align:center!important}

  .inner-hero{padding:38px 0!important}
  .inner-hero .container{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .inner-copy h1{font-size:2.9rem!important}
  .bullet-list{grid-template-columns:1fr!important}
}

/* Small phones */
@media(max-width:390px){
  .logo-copy small{display:none}
  .hero-copy h1{font-size:2.7rem!important}
  .models-intro h2,.why-title h2,.banner-copy h2{font-size:2.15rem!important}
}


/* ===== FIX DEFINITIVO DESPUÉS DE PRUEBA REAL ===== */
html, body { overflow-x:hidden !important; max-width:100% !important; }
.logo{display:flex !important;align-items:center !important;gap:10px !important;}
.logo img.palm-logo{display:block !important;width:38px !important;height:48px !important;min-width:38px !important;max-width:38px !important;min-height:48px !important;max-height:48px !important;object-fit:contain !important;object-position:center !important;position:static !important;inset:auto !important;margin:0 !important;padding:0 !important;transform:none !important;float:none !important;}
.logo-copy{display:block!important;position:static!important}.logo-copy b{display:block!important;white-space:nowrap!important}.logo-copy small{display:block!important;white-space:nowrap!important}
@media (min-width:761px){header .nav{display:grid!important;grid-template-columns:280px minmax(0,1fr) 300px!important;align-items:center!important;gap:18px!important;}header .menu{display:flex!important;justify-content:center!important;align-items:center!important;gap:24px!important;white-space:nowrap!important}.hero-grid{display:grid!important;grid-template-columns:42% 58%!important;align-items:stretch!important}.hero-copy{position:relative!important;overflow:hidden!important;background:#fff!important;z-index:2!important}.hero-copy:before{display:none!important}.hero-image{position:relative!important;z-index:1!important;min-height:610px!important;background-position:center!important}.banner-grid{display:grid!important;grid-template-columns:50% 50%!important;align-items:stretch!important;min-height:315px!important}.banner-copy{position:relative!important;overflow:hidden!important;background:#fff!important;z-index:2!important}.banner-copy:before,.banner-copy:after{display:none!important}.banner-copy>*{position:relative!important;z-index:3!important}.banner-img{min-height:315px!important;background:url('img/lifestyle-couple.jpg') center/cover no-repeat!important}}
@media (max-width:760px){header .nav{width:calc(100% - 24px)!important;min-height:68px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}header .logo{flex:1!important;min-width:0!important}header .logo img.palm-logo{width:30px!important;height:38px!important;min-width:30px!important;max-width:30px!important;min-height:38px!important;max-height:38px!important}header .logo-copy b{font-size:1.05rem!important}header .logo-copy small{font-size:.38rem!important;letter-spacing:.16em!important}header .menu{display:none!important}header .nav-actions .btn,header .nav-actions .lang{display:none!important}.mobile-toggle{display:block!important}.hero-grid{display:flex!important;flex-direction:column!important;min-height:0!important}.hero-copy{order:1!important;width:100%!important;padding:30px 18px 20px!important;background:#fff!important;overflow:visible!important}.hero-copy:before{display:none!important}.hero-copy h1{font-size:clamp(2.5rem,12vw,3.45rem)!important;line-height:.95!important}.hero-copy p{font-size:1rem!important;margin:15px 0 20px!important}.hero-buttons{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.hero-buttons .btn{width:100%!important}.hero-image{order:2!important;width:100%!important;min-height:280px!important;background-position:center!important}.hero-image:after{display:none!important}.features{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important}.feature{min-height:98px!important;padding:14px 10px!important}.models{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.models-intro{grid-column:auto!important;padding:0 0 8px!important}.card{display:grid!important;grid-template-columns:42% 58%!important;min-height:138px!important}.card img{width:100%!important;height:100%!important;min-height:138px!important;object-fit:cover!important}.why-grid{display:grid!important;grid-template-columns:1fr!important}.why-title{grid-column:auto!important;padding:0 0 18px!important}.why-item{border-left:0!important;border-right:0!important;border-top:1px solid #ddd!important}.banner-grid{display:flex!important;flex-direction:column!important;min-height:0!important}.banner-copy{order:1!important;width:100%!important;padding:34px 20px 24px!important;background:#fff!important;overflow:visible!important}.banner-copy:before,.banner-copy:after{display:none!important}.banner-copy h2{font-size:2.25rem!important;line-height:.98!important}.banner-img{order:2!important;width:100%!important;min-height:240px!important;background:url('img/lifestyle-couple.jpg') center/cover no-repeat!important}.seo-grid,.footer-grid{grid-template-columns:1fr!important}footer .logo{justify-content:center!important}}
