/* Invitaciones.pe · Portada Luxury V35 */
:root{
  --luxury-night:#1b0710;
  --luxury-night-2:#300d1b;
  --luxury-wine:#7e2947;
  --luxury-wine-light:#a74666;
  --luxury-gold:#d5ad68;
  --luxury-gold-light:#f0d9a7;
  --luxury-cream:#fbf6ed;
  --luxury-paper:#fffaf2;
  --luxury-ink:#33262c;
}

body.catalog-luxury{background:var(--luxury-cream);color:var(--luxury-ink)}
.studio-ribbon{background:var(--luxury-night);color:#e8cfaa;border-bottom:1px solid #d5ad6830}
.studio-ribbon>.shell{min-height:33px;display:flex;align-items:center;justify-content:center;gap:46px}
.studio-ribbon span{position:relative;font:700 8px/1.4 Arial,sans-serif;letter-spacing:1.55px;text-transform:uppercase;white-space:nowrap}
.studio-ribbon span+span:before{content:"";position:absolute;left:-24px;top:50%;width:3px;height:3px;border-radius:50%;background:#cfaa6f}
.site-header{background:#fffaf2f2;border-bottom-color:#dfd0bd;box-shadow:0 8px 32px #2c10160d}
.nav-row{min-height:76px}
.site-header nav{gap:24px}
.nav-cta{background:var(--luxury-night);border-color:var(--luxury-night);color:#fff3df;padding-inline:21px}
.nav-cta:hover{background:var(--luxury-wine);border-color:var(--luxury-wine)}

/* Hero de alto impacto */
.luxury-showcase{background:var(--luxury-night);border:0;color:#fff5e8;min-height:790px}
.luxury-showcase:after{opacity:.15;background-image:linear-gradient(90deg,transparent 49.8%,#e3ba7520 50%,transparent 50.2%);background-size:120px 100%}
.luxury-showcase .showcase-glow{
  background:
    radial-gradient(circle at 82% 46%,#a34b6866 0,transparent 31%),
    radial-gradient(circle at 23% 15%,#7e29472b 0,transparent 31%),
    radial-gradient(circle at 50% 100%,#d4a75f18 0,transparent 33%),
    linear-gradient(135deg,#16060d 0%,#2d0b18 48%,#18070f 100%);
}
.luxury-noise{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;background-image:radial-gradient(#f3d9a717 .7px,transparent .7px);background-size:11px 11px;mask-image:linear-gradient(90deg,#0008,transparent 42%,#0006)}
.luxury-showcase .showcase-grid{grid-template-columns:.94fr 1.06fr;gap:38px;min-height:790px;padding-block:62px 48px}
.luxury-showcase .showcase-copy{max-width:610px;padding-bottom:5px}
.luxury-showcase .eyebrow{color:var(--luxury-gold-light);font-size:9px;letter-spacing:2.5px}
.luxury-showcase .eyebrow-spark{color:var(--luxury-gold);font-size:20px}
.luxury-showcase h1{color:#fff9ef;font-size:clamp(58px,5.4vw,80px);line-height:1.01;letter-spacing:-3px;margin-top:27px;text-wrap:balance}
.luxury-showcase h1 em{color:var(--luxury-gold-light);font-style:italic;text-shadow:0 8px 34px #d5ad6822}
.luxury-showcase .showcase-description{max-width:485px;color:#d6c3c8;font-size:15px;line-height:1.9;margin-top:27px}
.hero-feature-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}
.hero-feature-chips span{padding:7px 11px;border:1px solid #e3c58a35;border-radius:99px;background:#fff7e908;color:#ead8bd;font:700 9px/1.4 Arial,sans-serif;letter-spacing:.35px;backdrop-filter:blur(8px)}
.luxury-showcase .showcase-actions{margin-top:27px;gap:11px}
.luxury-showcase .showcase-actions .button{min-height:54px;padding-inline:21px}
.luxury-showcase .showcase-actions .primary{color:#2a1118;background:linear-gradient(135deg,#f0dab0,#cda05b);border-color:#f6e3b8;box-shadow:0 18px 40px #0005,0 1px 0 #fff9 inset}
.luxury-showcase .showcase-actions .primary:hover{background:#f2dcae}
.luxury-showcase .showcase-actions .outline{color:#fff5e7;background:#fff8ed0b;border-color:#e4c99761}
.luxury-showcase .showcase-actions .outline:hover{background:#fff8ed17}
.luxury-showcase .showcase-proof{background:#fff9ef0b;border-color:#e6c68730;box-shadow:none;margin-top:24px}
.luxury-showcase .proof-mark{background:linear-gradient(145deg,#d8b36f,#9c6d35);color:#281018}
.luxury-showcase .showcase-proof p{color:#f4e9da}
.luxury-showcase .showcase-proof small{color:#bdaeb2}
.luxury-showcase .showcase-discover{color:#cfb985;margin-top:24px}

.luxury-showcase .showcase-stage{min-height:682px;padding-top:51px;overflow:visible;filter:none}
.luxury-showcase .stage-arch{width:88%;height:610px;left:6%;top:35px;border-color:#d9b36f47;background:linear-gradient(145deg,#fff8eb08,#b75f7a14);box-shadow:inset 0 0 60px #c3924720;transform:rotate(4deg)}
.luxury-showcase .stage-arch:after{border-color:#e0bc7940}
.luxury-showcase .stage-star{color:var(--luxury-gold)}
.luxury-showcase .star-a{right:0;top:75px;font-size:43px}
.luxury-showcase .star-b{left:2%;bottom:155px}
.luxury-showcase .try-label{z-index:6;top:-1px;color:var(--luxury-gold-light)}
.luxury-showcase .try-label small{color:#cdbdc0}
.luxury-showcase .showcase-phone{z-index:5;width:300px;height:534px;border-color:#fff9ef;outline-color:#ddb96980;box-shadow:0 40px 100px #0009,0 0 0 1px #e2c28146,0 0 80px #af466124}
.luxury-showcase .phone-camera{background:#1d1115}
.side-invitation{position:absolute;z-index:2;width:185px;aspect-ratio:9/16;padding:5px;border:1px solid #e6c27f63;border-radius:24px;background:#fff9ed;box-shadow:0 35px 70px #0008;overflow:hidden;transition:transform .35s ease,opacity .35s ease;opacity:.78}
.side-invitation img{width:100%;height:100%;object-fit:cover;border-radius:18px}
.side-invitation>span{position:absolute;left:13px;right:13px;bottom:13px;padding:7px 8px;border:1px solid #fff8;border-radius:99px;background:#1c0912b8;color:#fff4dd;text-align:center;font:700 8px/1.3 Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;backdrop-filter:blur(8px)}
.side-invitation:hover{opacity:1}
.side-left{left:-2%;top:137px;transform:rotate(-11deg) translateX(5px)}
.side-left:hover{transform:rotate(-7deg) translateY(-5px)}
.side-right{right:-2%;top:122px;transform:rotate(11deg) translateX(-5px)}
.side-right:hover{transform:rotate(7deg) translateY(-5px)}
.luxury-showcase .showcase-model{z-index:6;width:285px;color:#fff;margin-top:3px}
.luxury-showcase .showcase-model>small{color:#d3ad70}
.luxury-showcase .showcase-model>strong{color:#fff5e8}
.luxury-showcase .showcase-model>a{background:#f5dfb8;border-color:#e5c488;color:#3c1724}
.luxury-showcase .showcase-model>a:hover{background:var(--luxury-wine-light);color:#fff}
.luxury-showcase .showcase-choices{position:relative;z-index:6}
.luxury-showcase .showcase-choices>button{border-color:#e3c48838;background:#fff8ed0a;color:#d5c4c5}
.luxury-showcase .showcase-choices>button[aria-current="true"]{border-color:#ddba79;background:linear-gradient(135deg,#95506a,#722640);color:#fff}
.luxury-showcase .showcase-hint{position:relative;z-index:6;color:#baa9ad}
.luxury-showcase .showcase-hint span{background:#d9b269;box-shadow:0 0 0 4px #d9b2691e}

.benefit-strip{background:#2b0c18;border-color:#c89c5838;color:#f0dfc8}
.benefit-strip>.shell{min-height:68px;gap:24px}
.benefit-strip span{color:#d6ad6a;font-size:20px}
.benefit-strip b{color:#eadfd9;font-size:10px;letter-spacing:.25px}

/* Categorías visuales */
.celebration-showcase{padding-block:92px 86px}
.luxury-heading{display:grid;grid-template-columns:1fr minmax(260px,390px);gap:45px;align-items:end;margin-bottom:38px}
.luxury-heading h2{font:400 51px/1.06 Georgia,'Times New Roman',serif;letter-spacing:-2px;margin-top:12px;color:#3a2930}
.luxury-heading h2 em{color:var(--luxury-wine);font-weight:400}
.luxury-heading>p{color:#837276;font-size:13px;line-height:1.85;max-width:370px;justify-self:end}
.celebration-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:17px;align-items:start}
.celebration-card{position:relative;aspect-ratio:9/14;border-radius:22px;overflow:hidden;background:#30101c;box-shadow:0 20px 45px #4a2a2419;isolation:isolate;transition:transform .28s ease,box-shadow .28s ease}
.celebration-card:nth-child(even){margin-top:28px}
.celebration-card:hover{transform:translateY(-7px);box-shadow:0 28px 55px #4a2a2430}
.celebration-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.celebration-card:hover img{transform:scale(1.045)}
.celebration-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,#1d0912e8 100%);z-index:1}
.celebration-copy{position:absolute;z-index:2;left:17px;right:17px;bottom:16px;color:#fff}
.celebration-copy small{display:block;color:#e2c38d;font:700 7px/1.4 Arial,sans-serif;letter-spacing:1.3px;text-transform:uppercase}
.celebration-copy strong{display:block;margin-top:4px;font:400 21px/1.1 Georgia,serif;overflow-wrap:anywhere}
.celebration-copy i{display:flex;align-items:center;justify-content:space-between;margin-top:11px;padding-top:10px;border-top:1px solid #fff4;font:normal 8px/1.4 Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#e7d8cf}
.celebration-copy i b{font:400 13px Georgia,serif;color:#ebcd96}

/* Todo incluido */
.all-inclusive{position:relative;overflow:hidden;padding-block:93px;background:var(--luxury-night);color:#fff;border-block:1px solid #caa15832}
.all-inclusive:before,.all-inclusive:after{content:"";position:absolute;width:520px;height:520px;border:1px solid #d1a65d20;border-radius:50%;pointer-events:none}
.all-inclusive:before{left:-330px;top:-160px;box-shadow:0 0 0 55px #d1a65d08}
.all-inclusive:after{right:-350px;bottom:-280px;box-shadow:0 0 0 65px #8e3c580a}
.luxury-heading.light{position:relative;z-index:1}
.luxury-heading.light .eyebrow{color:#d7b272}
.luxury-heading.light h2{color:#fff8ed}
.luxury-heading.light h2 em{color:var(--luxury-gold-light)}
.luxury-heading.light>p{color:#c9b8bc}
.included-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #d7b57530;border-left:1px solid #d7b57530}
.included-grid article{min-height:220px;padding:27px 25px;border-right:1px solid #d7b57530;border-bottom:1px solid #d7b57530;background:#fff8ef05;transition:background .25s ease,transform .25s ease}
.included-grid article:hover{background:#fff8ef0c;transform:translateY(-2px)}
.included-grid article>span{display:grid;place-items:center;width:43px;height:43px;border:1px solid #dab7745c;border-radius:50%;color:#e7c889;font:21px/1 Georgia,serif}
.included-grid h3{margin-top:25px;color:#fff7ec;font-size:21px}
.included-grid p{margin-top:9px;color:#bbaeb0;font-size:11px;line-height:1.8;max-width:220px}

/* Refinamientos comerciales */
.catalog-section{padding-top:91px}
.catalog-section>.section-heading h2{font-size:49px}
.featured-section:before{background:linear-gradient(135deg,#f1e4d3,#fffaf2)}
.contact-section{margin-top:25px;background:linear-gradient(135deg,#240a15,#7b2c48 67%,#a66a49);border-color:#d9ae6f5c;box-shadow:0 32px 90px #4a152837}
.contact-section h2{max-width:760px;margin-inline:auto}
.contact-section>p:not(.eyebrow){max-width:520px;color:#e1cfd1;font-size:13px}
.contact-actions{display:flex;align-items:center;justify-content:center;gap:19px;flex-wrap:wrap}
.contact-actions>span{color:#d4bdc0;font:9px/1.6 Arial,sans-serif;letter-spacing:.8px;text-transform:uppercase}
.site-footer{padding-bottom:48px}
.mobile-sales-bar{display:none}

@media(max-width:1120px){
  .luxury-showcase .showcase-grid{grid-template-columns:.9fr 1.1fr;gap:15px}
  .luxury-showcase h1{font-size:59px}
  .side-invitation{width:160px;opacity:.63}
  .side-left{left:0}.side-right{right:0}
  .celebration-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .celebration-card:nth-child(even){margin-top:0}.celebration-card:nth-child(3n+2){margin-top:28px}
}

@media(max-width:760px){
  body.catalog-luxury{padding-bottom:78px}
  .studio-ribbon>.shell{min-height:29px;justify-content:center}
  .studio-ribbon span{font-size:7px;letter-spacing:1.2px}
  .studio-ribbon span:not(:first-child){display:none}
  .nav-row{min-height:67px}
  .nav-cta{background:var(--luxury-wine);border-color:var(--luxury-wine);padding-inline:14px}
  .luxury-showcase{min-height:0}
  .luxury-showcase .showcase-grid{grid-template-columns:1fr;gap:24px;padding-block:42px 30px}
  .luxury-showcase .showcase-copy{text-align:center;max-width:none}
  .luxury-showcase .eyebrow{justify-content:center;font-size:7.5px;letter-spacing:1.65px}
  .luxury-showcase h1{font-size:clamp(45px,12.4vw,62px);line-height:1.01;letter-spacing:-2px;margin-top:20px}
  .luxury-showcase .showcase-description{max-width:345px;margin:21px auto 0;font-size:13px;line-height:1.8}
  .hero-feature-chips{justify-content:center;max-width:365px;margin:20px auto 0;gap:7px}
  .hero-feature-chips span{font-size:8px;padding:7px 9px}
  .luxury-showcase .showcase-actions{justify-content:center;margin-top:22px}
  .luxury-showcase .showcase-actions .button{min-height:49px;font-size:10px}
  .luxury-showcase .showcase-proof{margin:20px auto 0;text-align:left}
  .luxury-showcase .showcase-discover{display:none}
  .luxury-showcase .showcase-stage{min-height:664px;padding-top:53px;max-width:430px}
  .luxury-showcase .stage-arch{width:98%;left:1%;height:570px;top:48px}
  .luxury-showcase .showcase-phone{width:276px;height:491px}
  .side-invitation{width:129px;top:146px;opacity:.53;border-radius:17px;padding:3px}
  .side-invitation img{border-radius:13px}
  .side-invitation>span{display:none}
  .side-left{left:-4%;transform:rotate(-12deg)}.side-right{right:-4%;transform:rotate(12deg)}
  .luxury-showcase .try-label{top:3px}
  .luxury-showcase .showcase-model{width:267px}
  .luxury-showcase .showcase-choices{padding-inline:9px}
  .luxury-showcase .showcase-choices>button{font-size:9px;padding:8px 10px;min-height:38px}
  .luxury-showcase .showcase-hint{font-size:8px}
  .benefit-strip>.shell{display:flex;overflow-x:auto;justify-content:flex-start;gap:28px;padding-block:18px;scrollbar-width:none}
  .benefit-strip>.shell::-webkit-scrollbar{display:none}
  .benefit-strip span{flex:0 0 auto}
  .celebration-showcase{padding-block:58px 55px}
  .luxury-heading{display:block;margin-bottom:27px}
  .luxury-heading h2{font-size:39px;line-height:1.08;letter-spacing:-1.4px}
  .luxury-heading>p{justify-self:auto;margin-top:15px;max-width:340px;font-size:12px}
  .celebration-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(67vw,250px);gap:15px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:2px 18px 20px 1px;scrollbar-width:thin;scroll-padding-left:1px}
  .celebration-card,.celebration-card:nth-child(3n+2){margin-top:0;scroll-snap-align:start;border-radius:19px}
  .celebration-copy strong{font-size:24px}
  .all-inclusive{padding-block:60px}
  .included-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .included-grid article{min-height:196px;padding:20px 17px}
  .included-grid article>span{width:38px;height:38px;font-size:18px}
  .included-grid h3{font-size:18px;line-height:1.15;margin-top:19px}
  .included-grid p{font-size:10px;line-height:1.65}
  .catalog-section{padding-top:57px}
  .catalog-section>.section-heading h2{font-size:35px}
  .contact-section{margin-top:8px}
  .contact-section h2{font-size:39px}
  .contact-actions{display:block}
  .contact-actions>span{display:block;margin-top:16px;font-size:7px}
  .mobile-sales-bar{position:fixed;z-index:50;display:flex;align-items:center;justify-content:space-between;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));min-height:61px;padding:10px 13px 10px 17px;border:1px solid #f2d49d73;border-radius:17px;background:linear-gradient(115deg,#552035,#842f4d);color:#fff7e9;box-shadow:0 15px 42px #280b1890;backdrop-filter:blur(12px)}
  .mobile-sales-bar b{display:block;font:700 12px/1.3 Arial,sans-serif}
  .mobile-sales-bar small{display:block;margin-top:3px;color:#dbc8cd;font:8px/1.3 Arial,sans-serif}
  .mobile-sales-bar i{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#edd29f;color:#401725;font:normal 18px/1 Georgia,serif}
  .site-footer{padding-bottom:23px}
}

@media(max-width:360px){
  .luxury-showcase h1{font-size:42px}
  .luxury-showcase .showcase-actions .button{width:100%;max-width:286px}
  .luxury-showcase .showcase-stage{min-height:617px}
  .luxury-showcase .showcase-phone{width:252px;height:448px}
  .side-invitation{width:112px}
  .luxury-showcase .stage-arch{height:530px}
  .luxury-showcase .showcase-model{width:245px}
  .celebration-grid{grid-auto-columns:min(72vw,235px)}
  .included-grid{grid-template-columns:1fr}
  .included-grid article{min-height:0;padding:20px;display:grid;grid-template-columns:42px 1fr;column-gap:13px}
  .included-grid article>span{grid-row:1/3}
  .included-grid h3{margin:2px 0 0;font-size:18px}
  .included-grid p{margin-top:6px}
}

@media(prefers-reduced-motion:reduce){
  .side-invitation,.celebration-card,.celebration-card img,.included-grid article{transition:none!important}
}
