  :root{
    --cream:#F8F3EC;
    --cream-deep:#EFE4D5;
    --taupe:#95886F;
    --taupe-dark:#6F6553;
    --gold:#B79357;
    --charcoal:#2B2620;
    --blush:#C9A79C;
    --line:rgba(43,38,32,0.12);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Jost',sans-serif;
    background:var(--cream);
    color:var(--charcoal);
    font-weight:300;
    overflow-x:hidden;
  }
  h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;}
  .script{font-family:'Great Vibes',cursive;}
  a{text-decoration:none;color:inherit;}
  img{display:block;max-width:100%;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
  .eyebrow{
    font-family:'Jost',sans-serif;
    letter-spacing:0.32em;
    text-transform:uppercase;
    font-size:12px;
    color:var(--taupe-dark);
  }

  /* NAV */
  nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(248,243,236,0.9);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    max-width:1180px;margin:0 auto;padding:14px 32px;
    display:flex;align-items:center;justify-content:space-between;
  }
  .nav-logo{display:flex;align-items:center;gap:10px;}
  .nav-logo img{height:44px;width:auto;}
  .nav-logo span{font-family:'Cormorant Garamond',serif;font-size:20px;letter-spacing:0.08em;}
  .nav-links{display:flex;gap:36px;font-size:14px;letter-spacing:0.03em;}
  .nav-links a{position:relative;padding:4px 0;transition:color .3s;}
  .nav-links a::after{
    content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;
    background:var(--gold);transition:width .3s;
  }
  .nav-links a:hover::after{width:100%;}
  .nav-cta{
    display:inline-flex;align-items:center;gap:8px;
    border:1px solid var(--taupe);border-radius:30px;
    padding:9px 22px;font-size:13px;letter-spacing:0.04em;
    transition:all .3s;
  }
  .nav-cta:hover{background:var(--charcoal);border-color:var(--charcoal);color:#fff;}
  .nav-toggle{display:none;background:none;border:none;font-size:26px;cursor:pointer;color:var(--charcoal);}

  @media (max-width:860px){
    .nav-inner{flex-wrap:wrap;row-gap:14px;}
    .nav-links{
      order:3;width:100%;
      flex-wrap:wrap;justify-content:center;
      gap:12px 22px;font-size:13px;
      padding-top:14px;border-top:1px solid var(--line);
    }
    .nav-toggle{display:none;}
  }
  @media (max-width:420px){
    .nav-cta{display:none;}
  }

  /* HERO */
  .hero{
    min-height:100vh;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;position:relative;padding:140px 24px 130px;
    background:
      radial-gradient(ellipse at 20% 20%, rgba(183,147,87,0.10), transparent 55%),
      radial-gradient(ellipse at 80% 80%, rgba(149,136,111,0.12), transparent 55%),
      var(--cream);
    overflow:hidden;
  }
  .hero::before, .hero::after{
    content:"";position:absolute;width:520px;height:520px;
    background:var(--cream-deep);opacity:.6;
    transform:rotate(45deg);z-index:0;
  }
  .hero::before{top:-260px;left:-260px;}
  .hero::after{bottom:-260px;right:-260px;}
  .hero-medallion{
    position:absolute;z-index:0;pointer-events:none;
    width:clamp(130px,15vw,190px);aspect-ratio:1/1;
    border-radius:50%;background:var(--cream);padding:6px;
    box-shadow:0 22px 40px rgba(43,38,32,.28);
  }
  .hero-medallion::before{
    content:"";position:absolute;inset:0;border-radius:50%;
    border:1px solid var(--gold);
  }
  .hero-medallion img{
    width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;
  }
  .hero-medallion.corner-tl{top:56px;left:24px;}
  .hero-medallion.corner-br{bottom:70px;right:24px;}
  .hero-medallion.p3{top:64px;right:7%;width:clamp(90px,11vw,130px);}
  .hero-medallion.p4{bottom:88px;left:7%;width:clamp(90px,11vw,130px);}
  .hero-medallion.p5{top:42%;left:1.5%;width:clamp(80px,9vw,110px);}
  .hero-medallion.p6{top:46%;right:1.5%;width:clamp(80px,9vw,110px);}
  .hero-medallion.p7{top:13%;left:13%;width:clamp(58px,7vw,84px);}
  .hero-medallion.p8{top:17%;right:15%;width:clamp(58px,7vw,84px);}
  .hero-medallion.p9{bottom:20%;left:15%;width:clamp(58px,7vw,84px);}
  .hero-medallion.p10{bottom:16%;right:13%;width:clamp(58px,7vw,84px);}
  .hero-dot{
    position:absolute;border-radius:50%;z-index:0;pointer-events:none;
  }
  @media (max-width:900px){
    .hero-medallion.p5,.hero-medallion.p6,
    .hero-medallion.p7,.hero-medallion.p8,.hero-medallion.p9,.hero-medallion.p10{
      display:none;
    }
  }
  @media (max-width:760px){
    .hero-medallion{width:clamp(70px,20vw,95px);}
    .hero-medallion.corner-tl{top:128px;left:16%;}
    .hero-medallion.corner-br{bottom:128px;right:16%;}
    .hero-medallion.p3{top:128px;right:16%;width:clamp(70px,20vw,95px);}
    .hero-medallion.p4{bottom:128px;left:16%;width:clamp(70px,20vw,95px);}
  }
  .hero-content{position:relative;z-index:1;max-width:780px;}
  .hero .eyebrow{margin-bottom:18px;}
  .hero-logo{
    height:auto;width:clamp(240px,28vw,340px);margin:0 auto 34px;
  }
  .hero h1{
    font-size:clamp(48px,9vw,110px);
    font-weight:400;line-height:0.95;
    color:var(--taupe);
    letter-spacing:0.02em;
  }
  .hero .script{
    display:block;font-size:clamp(38px,7vw,72px);
    color:var(--gold);margin:6px 0 26px;
  }
  .hero p{
    font-size:18.5px;line-height:1.8;color:var(--taupe-dark);
    max-width:560px;margin:0 auto 36px;font-weight:300;
  }
  .btn-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:15px 34px;font-size:13px;letter-spacing:0.08em;text-transform:uppercase;
    border-radius:2px;transition:all .35s;
  }
  .btn-primary{background:var(--charcoal);color:#fff;}
  .btn-primary:hover{background:var(--gold);}
  .btn-outline{border:1px solid var(--taupe);color:var(--charcoal);}
  .btn-outline:hover{background:var(--charcoal);border-color:var(--charcoal);color:#fff;}
  .scroll-hint{
    position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
    font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--taupe);
    display:flex;flex-direction:column;align-items:center;gap:10px;
  }
  .scroll-hint::after{
    content:"";width:1px;height:30px;background:var(--taupe);
    animation:scrollLine 1.8s ease-in-out infinite;
  }
  @keyframes scrollLine{
    0%{transform:scaleY(0);transform-origin:top;}
    50%{transform:scaleY(1);transform-origin:top;}
    50.01%{transform-origin:bottom;}
    100%{transform:scaleY(0);transform-origin:bottom;}
  }

  /* QUIENES SOMOS */
  .about{
    padding:120px 0;overflow:hidden;
    background:linear-gradient(150deg,#8B6660,#6E4F49);
  }
  .about .wrap{
    display:grid;grid-template-columns:0.88fr 1.12fr;gap:80px;align-items:center;
  }
  .about-visual{position:relative;height:clamp(420px,50vw,560px);}
  .about-visual-bg{
    position:absolute;top:0;right:0;width:76%;height:88%;border-radius:2px;overflow:hidden;
  }
  .about-visual-bg img{
    width:100%;height:100%;object-fit:cover;
    filter:saturate(.35) brightness(.85);
  }
  .about-visual-bg::after{
    content:"";position:absolute;inset:0;background:rgba(139,102,96,.6);mix-blend-mode:multiply;
  }
  .about-visual-fg{
    position:absolute;left:0;bottom:0;width:56%;aspect-ratio:4/5;
    border:7px solid var(--cream);box-shadow:0 30px 70px rgba(20,14,12,.45);overflow:hidden;
    transition:transform .7s cubic-bezier(.16,.84,.44,1);
  }
  .about-visual-fg img{width:100%;height:100%;object-fit:cover;display:block;}
  .about-visual:hover .about-visual-fg{transform:translate(6px,-6px);}
  .about-visual-dot{
    position:absolute;width:130px;height:130px;border:1px solid var(--gold);
    border-radius:50%;right:-30px;bottom:-30px;z-index:-1;opacity:.7;
  }
  .about-text .eyebrow{color:var(--gold);}
  .about-text h2{
    font-size:clamp(32px,4vw,46px);font-weight:400;color:#fff;
    line-height:1.15;margin:14px 0 22px;
  }
  .about-text h2 em{font-style:normal;color:var(--gold);}
  .about-text p{font-size:17.5px;line-height:1.9;color:#E4D6CF;margin-bottom:16px;max-width:460px;}
  @media (max-width:760px){
    .about .wrap{grid-template-columns:1fr;text-align:center;gap:56px;}
    .about-visual{width:100%;max-width:340px;margin:0 auto;height:400px;}
    .about-text p{margin-left:auto;margin-right:auto;}
  }
  .about-sign{
    font-family:'Great Vibes',cursive;font-size:34px;color:var(--taupe);margin-top:20px;
  }

  /* SECTION SHARED */
  .section{padding:130px 0;position:relative;}
  .section-dark{background:var(--charcoal);color:var(--cream);}
  .section-head{text-align:center;max-width:640px;margin:0 auto 64px;}
  .section-head .eyebrow{margin-bottom:16px;}
  .section-head h2{
    font-size:clamp(36px,5vw,58px);font-weight:400;line-height:1.05;margin-bottom:20px;
  }
  .section-dark .section-head h2{color:var(--cream);}
  .section:not(.section-dark) .section-head h2{color:var(--charcoal);}
  .section-head p{font-size:17.5px;line-height:1.9;color:var(--taupe-dark);}
  .section-dark .section-head p{color:#C7BEB1;}

  .divider{
    width:70px;height:1px;background:var(--gold);margin:0 auto 26px;
  }

  /* FLORAL GALLERY */
  .gallery{
    display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:14px;
  }
  .gallery a{grid-row:span 2;overflow:hidden;position:relative;border-radius:2px;}
  .gallery a:nth-child(1){grid-column:1/3;grid-row:span 3;}
  .gallery a:nth-child(2){grid-row:span 2;}
  .gallery a:nth-child(3){grid-row:span 2;}
  .gallery a:nth-child(4){grid-column:3/5;grid-row:span 2;}
  .gallery img{
    width:100%;height:100%;object-fit:cover;
    transition:transform .7s ease;filter:saturate(0.96);
  }
  .gallery a:hover img{transform:scale(1.06);}
  .gallery a::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(0deg, rgba(43,38,32,0.55), transparent 45%);
    opacity:0;transition:opacity .4s;z-index:1;
  }
  .gallery a:hover::before{opacity:1;}
  .gallery-label{
    position:absolute;left:18px;bottom:16px;z-index:2;color:#fff;
    font-family:'Cormorant Garamond',serif;font-size:20px;
    opacity:0;transform:translateY(8px);transition:all .4s;
  }
  .gallery a:hover .gallery-label{opacity:1;transform:translateY(0);}

  @media (max-width:760px){
    .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px;}
    .gallery a:nth-child(1){grid-column:1/3;grid-row:span 2;}
    .gallery a:nth-child(4){grid-column:1/3;}
  }

  .chip-row{
    display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:50px;
  }
  .chip{
    border:1px solid var(--line);padding:11px 24px;border-radius:30px;
    font-size:13px;letter-spacing:0.03em;color:var(--taupe-dark);
  }
  .section-dark .chip{border-color:rgba(248,243,236,0.25);color:var(--cream);}

  /* GLOBOS - artistic placeholder, no stock photos */
  .balloon-art{
    position:relative;height:560px;margin-bottom:60px;overflow:hidden;
  }
  .balloon{
    position:absolute;left:var(--x);top:var(--y);width:var(--s);height:calc(var(--s) * 1.08);
    border-radius:50%;
    background:var(--grad);
    box-shadow:
      inset -16px -20px 34px rgba(0,0,0,0.24),
      inset 14px 16px 28px rgba(255,255,255,0.4),
      inset 0 -30px 40px rgba(0,0,0,0.08);
    filter:drop-shadow(0 20px 22px rgba(0,0,0,0.3));
    opacity:var(--op,1);
    animation:drift var(--dur,7s) ease-in-out infinite;
    animation-delay:var(--delay,0s);
    z-index:var(--z,1);
  }
  .balloon .hl{
    position:absolute;top:15%;left:24%;width:22%;height:14%;border-radius:50%;
    background:rgba(255,255,255,0.85);filter:blur(3px);
    transform:rotate(-24deg);
  }
  .balloon .hl2{
    position:absolute;top:30%;left:20%;width:10%;height:7%;border-radius:50%;
    background:rgba(255,255,255,0.95);filter:blur(1px);
  }
  .balloon .knot{
    position:absolute;left:50%;bottom:-4%;width:9%;height:6%;
    background:var(--dark);clip-path:polygon(50% 100%, 20% 0, 80% 0);
    transform:translateX(-50%);
  }
  .balloon .string{
    position:absolute;left:50%;top:100%;width:1px;height:60px;
    background:linear-gradient(rgba(255,255,255,0.4), rgba(255,255,255,0));
    transform-origin:top center;transform:translateX(-50%);
    animation:sway var(--sdur,3.4s) ease-in-out infinite;
    animation-delay:var(--delay,0s);
  }
  @keyframes drift{
    0%,100%{transform:translate(0,0) rotate(var(--r1,-3deg));}
    50%{transform:translate(var(--dx,14px), var(--dy,-26px)) rotate(var(--r2,3deg));}
  }
  @keyframes sway{
    0%,100%{transform:translateX(-50%) rotate(-5deg);}
    50%{transform:translateX(-50%) rotate(5deg);}
  }
  .confetti{
    position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);
    background:var(--c);border-radius:50%;opacity:.85;
    animation:driftSmall var(--dur,5s) ease-in-out infinite;
    animation-delay:var(--delay,0s);
  }
  @keyframes driftSmall{
    0%,100%{transform:translateY(0) scale(1);}
    50%{transform:translateY(-16px) scale(1.15);}
  }
  .balloon-note{
    position:absolute;bottom:6px;left:50%;transform:translateX(-50%);
    text-align:center;font-size:12px;letter-spacing:0.08em;color:#C7BEB1;
  }
  @media (max-width:760px){
    .balloon-art{height:420px;}
  }

  /* Balloon backdrop strip - real photos (marquee) */
  .bd-strip{
    margin-top:70px;overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  }
  .bd-strip-track{
    display:flex;gap:24px;width:max-content;
    animation:bdMarquee 42s linear infinite;
  }
  .bd-strip:hover .bd-strip-track{animation-play-state:paused;}
  @keyframes bdMarquee{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }
  .bd-card{width:210px;flex:0 0 auto;}
  .bd-scene{
    position:relative;width:210px;height:260px;border-radius:3px;overflow:hidden;
    box-shadow:0 16px 30px rgba(0,0,0,0.35);
  }
  .bd-scene img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
  .bd-card:hover .bd-scene img{transform:scale(1.06);}
  .bd-label{
    margin-top:14px;text-align:center;font-family:'Cormorant Garamond',serif;
    font-size:17px;color:var(--cream);
  }
  .bd-credit{
    display:block;font-family:'Jost',sans-serif;font-size:10px;letter-spacing:0.05em;
    color:#8A8072;margin-top:2px;
  }
  .bd-strip-caption{
    text-align:center;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
    color:#8A8072;margin-top:24px;
  }

  .service-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
    background:rgba(248,243,236,0.14);
    border:1px solid rgba(248,243,236,0.14);
  }
  .service-item{
    background:var(--charcoal);padding:44px 34px;text-align:center;
  }
  .service-item .num{
    font-family:'Cormorant Garamond',serif;font-size:14px;color:var(--gold);
    letter-spacing:0.15em;
  }
  .service-item h3{
    font-size:26px;font-weight:400;margin:16px 0 12px;color:var(--cream);
  }
  .service-item p{font-size:15.5px;line-height:1.8;color:#B9AF9F;}
  @media (max-width:760px){.service-grid{grid-template-columns:1fr;}}

  /* PRODUCTOS MAGIC */
  .product-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:36px;
  }
  .product-card{text-align:center;}
  .product-img{
    aspect-ratio:3/4;overflow:hidden;border-radius:2px;margin-bottom:20px;
    box-shadow:0 18px 34px rgba(43,38,32,0.16);
  }
  .product-img img{
    width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;
  }
  .product-card:hover .product-img img{transform:scale(1.05);}
  .product-card h3{
    font-size:23px;font-weight:400;color:var(--charcoal);margin-bottom:10px;
  }
  .product-card p{
    font-size:15.5px;line-height:1.75;color:var(--taupe-dark);margin-bottom:16px;
  }
  .product-link{
    font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);
    border-bottom:1px solid transparent;transition:border-color .3s;
  }
  .product-link:hover{border-color:var(--gold);}
  .product-cta{text-align:center;margin-top:56px;}
  @media (max-width:920px){.product-grid{grid-template-columns:repeat(2,1fr);gap:44px 28px;}}
  @media (max-width:560px){.product-grid{grid-template-columns:1fr;max-width:320px;margin:0 auto;}}

  /* WEDDING PLANNER - coming soon */
  .wp-section{
    background:linear-gradient(150deg,#8B6660,#6E4F49);
    padding:120px 0;overflow:hidden;
  }
  .wp-grid{
    display:grid;grid-template-columns:0.88fr 1.12fr;gap:80px;align-items:center;
  }
  .wp-visual{position:relative;height:clamp(420px,50vw,560px);}
  .wp-visual-bg{
    position:absolute;top:0;left:0;width:76%;height:88%;border-radius:2px;overflow:hidden;
  }
  .wp-visual-bg img{
    width:100%;height:100%;object-fit:cover;object-position:top center;
    filter:saturate(.35) brightness(.85);
  }
  .wp-visual-bg::after{
    content:"";position:absolute;inset:0;background:rgba(139,102,96,.6);mix-blend-mode:multiply;
  }
  .wp-visual-fg{
    position:absolute;right:0;bottom:0;width:56%;aspect-ratio:4/5;
    border:7px solid var(--cream);box-shadow:0 30px 70px rgba(20,14,12,.45);overflow:hidden;
    transition:transform .7s cubic-bezier(.16,.84,.44,1);
  }
  .wp-visual-fg img{width:100%;height:100%;object-fit:cover;display:block;}
  .wp-visual:hover .wp-visual-fg{transform:translate(-6px,-6px);}
  .wp-visual-dot{
    position:absolute;width:130px;height:130px;border:1px solid var(--gold);
    border-radius:50%;left:-30px;bottom:-30px;z-index:-1;opacity:.7;
  }
  .wp-copy .eyebrow{color:var(--gold);}
  .wp-copy h2{
    font-size:clamp(32px,4.2vw,50px);font-weight:400;color:#fff;
    margin:16px 0 22px;line-height:1.12;
  }
  .wp-copy h2 .script{color:var(--gold);font-size:1.15em;}
  .wp-copy p{font-size:17.5px;line-height:1.9;color:#E4D6CF;max-width:460px;margin:0 0 34px;}
  .wp-highlight{
    background:rgba(183,147,87,.28);color:#fff;padding:1px 6px;border-radius:3px;
    font-style:normal;box-decoration-break:clone;-webkit-box-decoration-break:clone;
  }
  .btn-pill{
    display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--charcoal);
    padding:16px 38px;border-radius:40px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
    transition:all .35s;
  }
  .btn-pill:hover{background:var(--gold);color:#fff;}
  .reveal-l{
    opacity:0;transform:translateX(-50px) scale(.96);
    transition:opacity 1s cubic-bezier(.16,.84,.44,1), transform 1s cubic-bezier(.16,.84,.44,1);
  }
  .reveal-l.in{opacity:1;transform:translateX(0) scale(1);}
  .reveal-r{
    opacity:0;transform:translateX(46px);
    transition:opacity .9s cubic-bezier(.16,.84,.44,1) .18s, transform .9s cubic-bezier(.16,.84,.44,1) .18s;
  }
  .reveal-r.in{opacity:1;transform:translateX(0);}
  @media (max-width:760px){
    .wp-section{padding:90px 0;}
    .wp-grid{grid-template-columns:1fr;gap:56px;text-align:center;}
    .wp-visual{width:100%;max-width:340px;margin:0 auto;height:400px;}
    .wp-copy p{margin:0 auto 30px;}
  }

  /* CTA STRIP */
  .cta-strip{
    position:relative;padding:180px 0;text-align:center;overflow:hidden;
  }
  .cta-strip-bg{position:absolute;inset:0;z-index:0;}
  .cta-strip-bg img{width:100%;height:100%;object-fit:cover;}
  .cta-strip-bg::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(30,25,21,.5), rgba(30,25,21,.72));
  }
  .cta-strip .wrap{position:relative;z-index:1;}
  .cta-strip .script{font-size:clamp(30px,5vw,52px);color:var(--gold);margin-bottom:8px;display:block;}
  .cta-strip h2{font-size:clamp(26px,3.4vw,38px);font-weight:400;margin-bottom:38px;color:#fff;}

  /* FOOTER */
  footer{
    background:var(--charcoal);color:var(--cream);padding:70px 0 30px;
  }
  .footer-grid{
    display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;margin-bottom:60px;
  }
  .footer-logo{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
  .footer-logo img{height:46px;filter:brightness(0) invert(1) opacity(0.9);}
  .footer-logo span{font-family:'Cormorant Garamond',serif;font-size:21px;}
  footer p{font-size:15px;line-height:1.8;color:#B9AF9F;max-width:320px;}
  .footer-social{display:flex;gap:12px;margin-top:22px;}
  .footer-social a{
    width:40px;height:40px;border-radius:50%;border:1px solid rgba(248,243,236,0.3);
    display:flex;align-items:center;justify-content:center;transition:all .3s;
  }
  .footer-social a:hover{background:var(--gold);border-color:var(--gold);}
  .footer-social svg{width:17px;height:17px;fill:var(--cream);}
  footer h4{
    font-size:12px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);
    margin-bottom:20px;font-weight:400;
  }
  footer ul{list-style:none;}
  footer li{margin-bottom:12px;font-size:15px;color:#DAD2C4;}
  footer a:hover{color:var(--gold);}
  .footer-bottom{
    border-top:1px solid rgba(248,243,236,0.12);padding-top:26px;
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
    font-size:12px;color:#8A8072;
  }
  @media (max-width:760px){.footer-grid{grid-template-columns:1fr;gap:36px;}}

  /* reveal on scroll */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease, transform .9s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}

  .whatsapp-float{
    position:fixed;bottom:26px;right:26px;z-index:90;
    width:56px;height:56px;border-radius:50%;background:#25D366;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 24px rgba(0,0,0,0.25);
  }
  .whatsapp-float svg{width:28px;height:28px;fill:#fff;}

  /* ===== PAQUETES PAGE ===== */
  .pkg-hero{
    position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;
    text-align:center;overflow:hidden;padding:160px 24px 90px;
  }
  .pkg-hero-bg{position:absolute;inset:0;z-index:0;}
  .pkg-hero-bg img{width:100%;height:100%;object-fit:cover;}
  .pkg-hero-bg::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(28,23,19,.5), rgba(28,23,19,.82));
  }
  .pkg-hero-content{position:relative;z-index:1;max-width:760px;}
  .pkg-hero .eyebrow{color:var(--gold);margin-bottom:18px;display:block;}
  .pkg-hero h1{font-size:clamp(44px,7vw,84px);font-weight:400;color:#fff;line-height:1.05;}
  .pkg-hero h1 .script{display:block;color:var(--gold);font-size:clamp(36px,5.5vw,60px);margin-top:8px;}
  .pkg-hero p{font-size:18.5px;line-height:1.85;color:#EDE4DC;max-width:560px;margin:26px auto 40px;}

  .pkg-sparkle{position:absolute;color:var(--gold);opacity:.85;pointer-events:none;animation:pkgFloat 5s ease-in-out infinite;}
  @keyframes pkgFloat{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-16px) rotate(14deg);}}

  .pkg-quicknav{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;position:relative;z-index:1;}
  .pkg-quicknav a{
    border:1px solid rgba(255,255,255,.4);color:#fff;padding:11px 24px;border-radius:30px;
    font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;transition:all .3s;
  }
  .pkg-quicknav a:hover{background:var(--gold);border-color:var(--gold);color:#fff;}

  .pkg-section{padding:130px 0;position:relative;overflow:hidden;}
  .pkg-section.bg-cream{background:var(--cream);}
  .pkg-section.bg-cream-deep{background:var(--cream-deep);}
  .pkg-section.bg-dark{background:linear-gradient(150deg,#8B6660,#6E4F49);}

  .pkg-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:74px;align-items:start;}
  .pkg-grid.pkg-reverse .pkg-visual-col{order:2;}
  .pkg-grid.pkg-reverse .pkg-copy-col{order:1;}

  .pkg-visual{position:relative;border-radius:2px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 30px 60px rgba(43,38,32,.25);}
  .pkg-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.16,.84,.44,1);}
  .pkg-visual:hover img{transform:scale(1.05);}
  .pkg-visual-frame{position:absolute;inset:18px;border:1px solid rgba(255,255,255,.55);pointer-events:none;}
  .pkg-visual-badge{
    position:absolute;bottom:-1px;left:24px;background:var(--charcoal);color:var(--cream);
    padding:14px 26px;font-family:'Great Vibes',cursive;font-size:24px;
    box-shadow:0 14px 26px rgba(0,0,0,.3);
  }

  .pkg-num{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
  .pkg-name{font-size:clamp(30px,4vw,44px);font-weight:400;margin-bottom:8px;line-height:1.1;}
  .pkg-tagline{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:21px;color:var(--gold);margin-bottom:20px;}
  .pkg-desc{font-size:17px;line-height:1.9;max-width:480px;margin-bottom:38px;}
  .bg-cream .pkg-name, .bg-cream-deep .pkg-name{color:var(--charcoal);}
  .bg-cream .pkg-desc, .bg-cream-deep .pkg-desc{color:var(--taupe-dark);}
  .bg-dark .pkg-name{color:#fff;}
  .bg-dark .pkg-desc{color:#E4D6CF;}

  .pkg-lists{display:grid;grid-template-columns:1fr 1fr;gap:40px 36px;margin-bottom:8px;}
  .pkg-list-block h4{
    font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;
    padding-bottom:10px;border-bottom:1px solid rgba(183,147,87,.35);
  }
  .pkg-list{list-style:none;}
  .pkg-list li{
    position:relative;padding-left:22px;margin-bottom:13px;font-size:15.5px;line-height:1.65;
    opacity:0;transform:translateY(14px);transition:opacity .6s ease, transform .6s ease;
  }
  .bg-cream .pkg-list li, .bg-cream-deep .pkg-list li{color:var(--taupe-dark);}
  .bg-dark .pkg-list li{color:#E4D6CF;}
  .pkg-list.in li{opacity:1;transform:translateY(0);}
  .pkg-list li::before{content:"\2726";position:absolute;left:0;top:1px;color:var(--gold);font-size:10px;}
  .pkg-list li:nth-child(1){transition-delay:.03s;}
  .pkg-list li:nth-child(2){transition-delay:.09s;}
  .pkg-list li:nth-child(3){transition-delay:.15s;}
  .pkg-list li:nth-child(4){transition-delay:.21s;}
  .pkg-list li:nth-child(5){transition-delay:.27s;}
  .pkg-list li:nth-child(6){transition-delay:.33s;}
  .pkg-list li:nth-child(7){transition-delay:.39s;}
  .pkg-list li:nth-child(8){transition-delay:.45s;}
  .pkg-list li:nth-child(9){transition-delay:.51s;}
  .pkg-list li:nth-child(10){transition-delay:.57s;}
  .pkg-list li:nth-child(11){transition-delay:.63s;}
  .pkg-list li:nth-child(12){transition-delay:.69s;}

  .pkg-extra{
    margin-top:36px;padding-top:36px;border-top:1px solid rgba(183,147,87,.3);
  }
  .pkg-extra h4{
    font-family:'Great Vibes',cursive;font-size:26px;color:var(--gold);margin-bottom:18px;font-weight:400;
    letter-spacing:normal;text-transform:none;border:none;padding:0;
  }

  .pkg-benefits{display:grid;grid-template-columns:1fr 1fr;gap:30px 36px;margin-bottom:36px;}
  .benefit-item{border-left:2px solid var(--gold);padding-left:18px;}
  .benefit-item h5{font-size:17px;font-weight:400;margin-bottom:6px;color:#fff;font-family:'Cormorant Garamond',serif;}
  .benefit-item p{font-size:15px;line-height:1.75;color:#E4D6CF;margin:0;}

  .pkg-note{
    border:1px solid rgba(248,243,236,.28);border-radius:4px;padding:22px 26px;
    font-size:14.5px;line-height:1.8;color:#E4D6CF;margin-top:10px;
  }
  .pkg-note strong{color:#fff;}

  .pkg-cta-row{margin-top:38px;display:flex;gap:16px;flex-wrap:wrap;}

  @media (max-width:900px){
    .pkg-grid{grid-template-columns:1fr;gap:44px;}
    .pkg-grid.pkg-reverse .pkg-visual-col{order:1;}
    .pkg-grid.pkg-reverse .pkg-copy-col{order:2;}
    .pkg-lists{grid-template-columns:1fr;gap:28px;}
    .pkg-benefits{grid-template-columns:1fr;}
    .pkg-visual{max-width:420px;margin:0 auto;}
  }
  @media (max-width:760px){
    .pkg-section{padding:90px 0;}
    .pkg-hero{padding:150px 24px 70px;}
  }
