@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#0b0712;--panel:#171020;--ink:#f7f2ff;--muted:#b4a9c1;--purple:#aa45fb;--purple2:#7715d8;--border:#3b2851}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}.wrap{max-width:1130px;margin-inline:auto;padding-inline:28px}.header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;width:196px;height:92px;overflow:visible}.brand img{width:196px;height:90px;object-fit:contain;transform:none}.nav{display:flex;gap:24px;align-items:center;font-size:14px}.nav a{text-decoration:none;color:#e8d5ff}.nav a:hover{color:white}.hero{min-height:550px;display:flex;align-items:center;position:relative;isolation:isolate;padding-block:70px 100px}.hero-glow{position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 78% 40%,#8221bb6b 0%,#4b137b2d 33%,transparent 65%),linear-gradient(135deg,#0b0712,#170c26);border-radius:34px}.hero-inner{max-width:760px}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:800;color:#cb93ff}.hero h1{font-size:clamp(44px,6.2vw,85px);line-height:1.04;letter-spacing:-.055em;margin:20px 0 24px}.lede{font-size:clamp(17px,2.2vw,22px);color:#ddd0e9;line-height:1.6;max-width:630px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:15px 23px;background:#281839;border:1px solid #57406b;border-radius:9px;text-decoration:none;color:white;font:inherit;font-weight:800;cursor:pointer;transition:transform .15s,background .15s}.btn:hover{transform:translateY(-2px);background:#3c2254}.btn-primary{background:linear-gradient(110deg,#8a25e7,#c14fff);border-color:transparent;box-shadow:0 5px 30px #8b23cd54}.btn-primary:hover{background:#b23bff}.section{padding-block:85px}.section h2{font-size:clamp(28px,4vw,43px);letter-spacing:-.035em;margin:12px 0 25px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.steps>div{background:#171020;border:1px solid var(--border);padding:28px;border-radius:17px;min-height:150px}.steps span{font-size:13px;font-weight:800;color:var(--purple)}.steps h3{font-size:23px;letter-spacing:-.02em}.fine{color:var(--muted);font-size:13px;line-height:1.6}.newsletter{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;background:linear-gradient(130deg,#1d1229,#100c18);border:1px solid var(--border);border-radius:20px;margin-block:30px 85px}.newsletter p{color:var(--muted);line-height:1.65}.signup{display:grid;gap:15px}.signup label:not(.check){display:grid;gap:8px;font-size:13px;font-weight:700;color:#e6daef}.signup input[type=email],.signup select{width:100%;background:#100b18;border:1px solid #5a456f;border-radius:8px;padding:15px 14px;color:white;font:inherit;font-size:15px}.signup input:focus-visible,.signup select:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.check{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;color:#c5b7d0}.check input{margin-top:3px;accent-color:var(--purple);width:16px;height:16px;flex-shrink:0}.check a{color:#d7aaff}.signup .btn{width:100%}.form-status{min-height:1.5em;font-size:13px;color:#ffbbc7;margin:0}.form-status.ok{color:#b2f0d0}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.footer{min-height:125px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted);font-size:12px}.footer div{display:flex;gap:24px}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}.reading{min-height:55vh;max-width:870px;padding-block:85px}.reading h1{font-size:clamp(30px,5vw,55px)}.reading p{line-height:1.8;color:#c6bad3}.popup-backdrop[hidden]{display:none}.popup-backdrop{position:fixed;z-index:30;inset:0;background:#050309d9;display:grid;place-items:center;padding:18px}.dialog-open{overflow:hidden}.popup{position:relative;width:min(100%,480px);padding:32px;background:#180f24;border:1px solid #6e3e98;border-radius:18px;box-shadow:0 20px 100px #12001ad9;max-height:90vh;overflow:auto}.popup h2{font-size:31px;margin:12px 0}.popup>p{color:#c9b7d8}.close{position:absolute;right:16px;top:13px;border:0;background:transparent;color:#f5e5ff;font-size:30px;cursor:pointer}@media(max-width:760px){.header{min-height:90px}.hero{min-height:460px;padding-block:45px 65px}.steps{grid-template-columns:1fr}.steps>div{min-height:110px}.newsletter{grid-template-columns:1fr;gap:20px;padding:30px 22px}.section{padding-block:55px}.footer{flex-direction:column;justify-content:center;text-align:center}.footer div{flex-wrap:wrap;justify-content:center}.wrap{padding-inline:20px}}

/* PARTE 04 - Orden y visibilidad de las secciones del CMS */
.cms-sections{display:flex;flex-direction:column}
.cms-sections>.section{width:100%}
.cms-preview-notice{position:sticky;top:0;z-index:200;text-align:center;background:#6d28d9;color:white;padding:13px 20px;font-weight:750;box-shadow:0 8px 26px #0008}
.cms-preview-notice a{color:white;text-decoration:underline}
.is-cms-preview [data-newsletter-form],.is-cms-preview [data-booking-link]{pointer-events:none;opacity:.7}

.hero .lede,.steps .fine,.newsletter p,.popup>p{white-space:pre-line}

.cms-form-preview{margin:0;border:0;padding:0;min-width:0;display:grid;gap:15px;opacity:.75}.cms-form-preview legend{color:#d9b3ff;font-size:12px;margin-bottom:12px}.cms-preview-open-popup{position:fixed;right:14px;bottom:14px;z-index:90;border:1px solid #c599ff;border-radius:9px;padding:12px 16px;color:white;background:#512278;cursor:pointer;font-weight:750}.is-cms-preview .popup-backdrop{z-index:250}

/* Parte 05: Galeria pública de fotografías */
.pm-photo-gallery{padding-block:22px 76px}.pm-photo-gallery h2{margin:0 0 22px;font-size:clamp(26px,3vw,38px)}.pm-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pm-photo-grid figure{margin:0;background:#1b1226;border:1px solid #38264d;border-radius:14px;overflow:hidden}.pm-photo-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.pm-photo-grid figcaption{padding:12px 15px;color:#d8cce2;font-size:13px;min-height:42px}.pm-photo-grid figure:first-child{grid-column:span 2;grid-row:span 2}.pm-photo-grid figure:first-child img{aspect-ratio:unset;height:calc(100% - 42px);min-height:290px}@media(max-width:720px){.pm-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-photo-grid figure:first-child{grid-column:span 2;grid-row:span 1}.pm-photo-grid figure:first-child img{height:auto;aspect-ratio:16/9}.brand{width:152px}.brand img{width:152px}}

/* Parte 10C: galería que respeta fotos verticales (stories) y sin nombres de archivo */
.pm-photo-grid-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:220px;grid-auto-flow:dense;gap:14px}
.pm-photo-grid-v2 figure{margin:0;position:relative;background:#1b1226;border:1px solid #38264d;border-radius:14px;overflow:hidden;grid-column:span 1;grid-row:span 1}
.pm-photo-grid-v2 figure:first-child{grid-column:span 1;grid-row:span 1}
.pm-photo-grid-v2 img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.pm-photo-grid-v2 figure.is-portrait{grid-row:span 3}
.pm-photo-grid-v2 figure.is-landscape.is-first{grid-column:span 2;grid-row:span 2}
.pm-photo-grid-v2 figure.is-square.is-first{grid-column:span 2;grid-row:span 2}
.pm-photo-grid-v2 figure:first-child img{height:100%;min-height:0;aspect-ratio:auto}
.pm-photo-grid-v2 figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;font-size:13px;color:#f3eafc;background:linear-gradient(180deg,transparent,#0b071299);min-height:0}
@media(max-width:720px){
  .pm-photo-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px;gap:10px}
  .pm-photo-grid-v2 figure.is-landscape.is-first,.pm-photo-grid-v2 figure.is-square.is-first{grid-column:span 2;grid-row:span 2}
  .pm-photo-grid-v2 figure.is-portrait{grid-row:span 2}
  .pm-photo-grid-v2 figcaption{font-size:12px;padding:22px 10px 9px}
}

/* Parte 10D: crédito de desarrollo */
.footer{flex-wrap:wrap}.footer-credit{font-size:11px;color:#8d7f9b;flex-basis:100%;text-align:center;padding-top:6px}.footer-credit a{color:#b59ad2;text-decoration:none}.footer-credit a:hover{text-decoration:underline}
@media(min-width:761px){.footer-credit{flex-basis:auto;text-align:right;padding-top:0}}
