/* Invitaciones.pe · Portada profesional V34 */
:root{
  --studio-wine:#7d3048;
  --studio-wine-dark:#542233;
  --studio-gold:#b58a52;
  --studio-ink:#33272c;
  --studio-paper:#fbf8f2;
  --studio-line:#e5d9ca;
}

body{
  background:
    radial-gradient(circle at 9% 1%,#fffdf8 0,transparent 24rem),
    linear-gradient(180deg,#fbf8f2 0%,#f9f5ee 100%);
  color:var(--studio-ink);
}

.site-header{
  background:#fbf8f2e8;
  border-bottom-color:#dfd2c3;
  box-shadow:0 8px 30px #4a293008;
}

.nav-row{min-height:78px}
.site-header nav a{position:relative;padding-block:10px}
.site-header nav a:after{
  content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;
  background:var(--studio-wine);transition:right .25s ease;
}
.site-header nav a:hover:after{right:0}
.nav-cta{border-color:#d4bfb7;background:#fffaf3b8;color:#6e3447;font-weight:700}

.showcase:after{
  content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:.25;
  background-image:linear-gradient(90deg,transparent 49.8%,#c9aa7d22 50%,transparent 50.2%);
  background-size:145px 100%;
}
.showcase-grid{min-height:770px}
.showcase-copy{max-width:610px}
.showcase h1{max-width:650px}
.showcase-description{max-width:455px}
.showcase-actions .primary{box-shadow:0 15px 30px #7132452b,0 1px 0 #fff4 inset}
.showcase-actions .outline{backdrop-filter:blur(10px)}
.showcase-stage{filter:drop-shadow(0 32px 35px #62432e0c)}
.showcase-phone{box-shadow:0 40px 85px #4b30332e,0 9px 20px #5f363718}
.showcase-model>a{transition:transform .2s ease,background .2s ease,color .2s ease}
.showcase-model>a:hover{transform:translateY(-2px);background:var(--studio-wine);color:#fff}
.showcase-choices>button{
  display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:9px 13px;
  border:1px solid #dfcfc1;border-radius:30px;background:#fcf8ef;color:#7d6d64;
  font:10px/1.4 Arial,sans-serif;
}
.showcase-choices>button[aria-current="true"]{border-color:#8e4b5f;background:#873e53;color:#fff}

.showcase-proof{
  display:flex;align-items:center;gap:12px;margin-top:24px;width:max-content;max-width:100%;
  padding:10px 15px 10px 10px;border:1px solid #dfd1c1;border-radius:999px;
  background:#fffaf3b8;box-shadow:0 8px 24px #6d4c3510;backdrop-filter:blur(9px);
}
.proof-mark{
  display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;
  color:#fff;background:linear-gradient(145deg,#8d3b54,#65293c);font:700 13px Arial,sans-serif;
  box-shadow:0 6px 14px #7d30482e;
}
.showcase-proof p{font:11px/1.35 Arial,sans-serif;color:#5b454d}
.showcase-proof strong{display:block;font-size:11px}
.showcase-proof small{display:block;margin-top:3px;color:#957e75;font-size:9px;letter-spacing:.2px}
.showcase-promise{margin-top:21px}
.showcase-discover{margin-top:28px}
.showcase-hint{display:flex;justify-content:center;align-items:center;gap:7px}
.showcase-hint span{width:6px;height:6px;border-radius:50%;background:#59a071;box-shadow:0 0 0 4px #59a0711b}

.benefit-strip{background:#f2ebdf;border-color:#dfd2c2}
.benefit-strip>.shell{max-width:1180px}

.portfolio-overview{
  display:grid;grid-template-columns:.9fr 1.35fr;gap:80px;align-items:center;
  padding-block:80px 72px;border-bottom:1px solid var(--studio-line);
}
.portfolio-overview h2{font:400 44px/1.12 Georgia,'Times New Roman',serif;letter-spacing:-1.5px;margin-top:12px}
.portfolio-overview h2 em{color:var(--studio-wine);font-weight:400}
.overview-points{display:grid;gap:0}
.overview-points article{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--studio-line)}
.overview-points article:first-child{border-top:1px solid var(--studio-line)}
.overview-points article>span{font:italic 19px/1.4 Georgia,serif;color:var(--studio-gold)}
.overview-points strong{display:block;font:400 21px/1.25 Georgia,serif;color:#503942}
.overview-points p{margin-top:6px;color:#88767a;font-size:12px;line-height:1.7}

.featured-section{position:relative}
.featured-section:before{
  content:"";position:absolute;left:50%;top:22px;width:calc(100vw - 30px);max-width:1320px;height:calc(100% - 15px);
  transform:translateX(-50%);z-index:-1;border-radius:32px;
  background:linear-gradient(135deg,#f1e8dc96,#fffdf900);border:1px solid #e9ddcf80;
}

.catalog-section>.section-heading{align-items:center}
.catalog-section>.section-heading h2{max-width:680px}
.catalog-section>.section-heading .section-description{max-width:360px}
.catalog-search{box-shadow:0 15px 38px #5c3f2c0b;border-color:#ded0c2;background:#fffdf9e8}
.event-pills{padding-top:25px}
.event-pills>a{transition:transform .18s ease,background .18s ease,border-color .18s ease}
.event-pills>a:hover{transform:translateY(-1px);border-color:#c9aab1}

.model-card{
  position:relative;border-color:#dfd1c2;background:#fffdf9;
  box-shadow:0 18px 45px #57372811,0 1px 0 #fff inset;
}
.model-card:after{
  content:"";position:absolute;inset:0;border:1px solid #fff8;border-radius:inherit;pointer-events:none;
}
.model-card:hover{transform:translateY(-7px);box-shadow:0 25px 55px #57372820,0 1px 0 #fff inset}
.model-cover:after{
  content:"";position:absolute;inset:auto 0 0;height:28%;pointer-events:none;
  background:linear-gradient(transparent,#27161a40);
}
.model-peek{
  z-index:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;
  color:#543943;border-color:#fff9;background:#fffaf2ef;
}
.model-peek i{width:7px;height:7px;border-radius:50%;background:#4d9c68;box-shadow:0 0 0 4px #4d9c6817}
.model-peek b{font:400 15px/1 Georgia,serif}
.model-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}
.model-meta>span{font:8px/1.4 Arial,sans-serif;color:#a38d84;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}
.model-copy h3{margin-bottom:9px}
.model-url{
  display:flex;align-items:center;gap:6px;max-width:100%;margin:0 0 15px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a28d86;font:9px/1.4 Arial,sans-serif;
}
.model-url span{color:#a97f50;font:16px/1 Georgia,serif}
.model-links{display:grid;grid-template-columns:1fr;gap:9px}
.model-open{
  display:flex!important;align-items:center;justify-content:space-between;min-height:44px!important;
  padding:11px 13px;border-radius:9px;background:linear-gradient(115deg,#733044,#914259);
  color:#fff!important;font-weight:700;box-shadow:0 8px 20px #7132451f;
}
.model-open:hover{background:var(--studio-wine-dark)}
.model-quote{background:#f6efea;border-color:#eadcd2;color:#7a4656}

.event-group-heading>h3{color:#4e3740}
.event-group-heading>span{padding:6px 10px;border-radius:999px;background:#f1e9df;color:#846d66}
.experience{background:linear-gradient(135deg,#efe5d8,#f7f0e7)}
.contact-section{box-shadow:0 24px 70px #57243825;background:linear-gradient(135deg,#5e293d,#7f3b53)}

@media(max-width:1050px){
  .portfolio-overview{gap:45px}
  .portfolio-overview h2{font-size:38px}
}

@media(max-width:760px){
  .site-header{box-shadow:0 7px 22px #42262e0c}
  .showcase:after{background-size:76px 100%;opacity:.18}
  .showcase-grid{padding-top:31px}
  .showcase h1{font-size:clamp(40px,10.2vw,55px)}
  .showcase-proof{margin:20px auto 0;padding-right:13px;text-align:left}
  .showcase-proof p{font-size:10px}
  .showcase-proof small{font-size:8px}
  .showcase-promise{margin-top:18px}
  .showcase-phone{box-shadow:0 28px 55px #4b303329,0 7px 16px #5f363716}
  .benefit-strip>.shell{grid-template-columns:1fr 1fr}
  .portfolio-overview{grid-template-columns:1fr;gap:26px;padding-block:49px 43px}
  .portfolio-overview h2{font-size:36px;line-height:1.13}
  .overview-points article{grid-template-columns:34px 1fr;gap:11px;padding-block:17px}
  .overview-points strong{font-size:20px}
  .overview-points p{font-size:11px}
  .featured-section:before{top:5px;width:calc(100vw - 16px);border-radius:22px}
  .catalog-section>.section-heading h2{font-size:34px}
  .catalog-section>.section-heading .section-description{max-width:330px}
  .models-grid,.models-grid[data-count="2"],.models-grid[data-count="3"]{grid-auto-columns:min(84vw,342px)}
  .model-copy{padding:19px 17px 17px}
  .model-meta>span{font-size:7px}
  .model-url{font-size:9px;margin-bottom:13px}
  .model-open{min-height:47px!important;font-size:11px}
  .model-quote{min-height:43px}
}

@media(max-width:360px){
  .showcase h1{font-size:38px}
  .showcase-actions .button{width:100%;max-width:280px}
  .showcase-proof{border-radius:17px}
  .portfolio-overview h2{font-size:32px}
  .models-grid,.models-grid[data-count="2"],.models-grid[data-count="3"]{grid-auto-columns:min(86vw,320px)}
}

@media(prefers-reduced-motion:reduce){
  .site-header nav a:after,.event-pills>a,.showcase-model>a{transition:none}
}
