/* The WellDone Weddings — sitio v1
   Concepto: revista de bodas de destino. Piedra caliza de hacienda como fondo, verde de cenote como tinta,
   latón como acento. Newsreader para titulares, Figtree para texto, Plex Mono para cifras (capacidad, precios). */
:root{
  --stone:#EEF0E9;      /* fondo: piedra caliza */
  --paper:#FFFFFF;      /* tarjetas, formularios */
  --ink:#13302C;        /* texto y bandas oscuras: cenote profundo */
  --cenote:#1E6B66;     /* enlaces, estados */
  --sage:#8B9A70;       /* henequén: apoyos */
  --brass:#A4742A;      /* acento: CTA y detalles */
  --brass-ink:#7E5719;
  --muted:#5A6863;
  --line:#D5DAD0;
  --on-ink:#EEF0E9;
  --on-ink-muted:#AFC2BC;
  --display:"Newsreader", Georgia, "Times New Roman", serif;
  --body:"Figtree", "Segoe UI", system-ui, -apple-system, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --r:6px;
  --wrap:1180px;
  color-scheme: light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--stone);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--cenote)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.chip:focus-within{outline:2px solid var(--brass);outline-offset:2px}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,5.2vw,4.1rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}
h3{font-size:1.45rem}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.eyebrow{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-ink)}
.lead{font-size:1.12rem;color:var(--muted);max-width:60ch}
.section{padding-block:clamp(56px,8vw,104px)}
.section-head{display:grid;gap:14px;margin-bottom:36px;max-width:760px}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--body);font-weight:600;font-size:.98rem;padding:13px 22px;border-radius:999px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.btn-primary{background:var(--brass);color:#fff}
.btn-primary:hover{background:var(--brass-ink)}
.btn-ghost{background:transparent;border-color:currentColor;color:inherit}
.btn-ghost:hover{background:rgba(19,48,44,.06)}
.btn-sm{padding:9px 16px;font-size:.88rem}

/* header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--stone)}
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(238,240,233,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;gap:20px;min-height:68px;flex-wrap:wrap}
.brand{display:flex;flex-direction:column;line-height:1;text-decoration:none;color:var(--ink);margin-right:auto}
.brand b{font-family:var(--display);font-weight:600;font-size:1.32rem;letter-spacing:.01em}
.brand small{font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.nav{display:flex;gap:18px;flex-wrap:wrap}
.nav a{color:var(--ink);text-decoration:none;font-size:.93rem;font-weight:500}
.nav a:hover,.nav a[aria-current="page"]{color:var(--brass-ink)}
.top-actions{display:flex;gap:10px;align-items:center}
.lang{font-family:var(--mono);font-size:.78rem;color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:6px 10px}
.call{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font-size:.88rem;font-weight:600;border:1px solid var(--ink);border-radius:999px;padding:8px 14px}
.call svg{width:15px;height:15px}
@media (max-width:860px){.nav{order:3;width:100%;gap:14px;overflow-x:auto;padding-bottom:10px}.call span{display:none}}

/* hero */
.hero{padding-block:clamp(32px,5vw,64px)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr}}
.hero-copy{display:grid;gap:20px;min-width:0}
.hero-copy .lead{font-size:1.15rem}
.integral{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.92rem;color:var(--muted);padding:0;margin:0;list-style:none}
.integral li{display:flex;align-items:center;gap:8px}
.integral li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--sage)}
.hero-media{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;background:var(--ink);max-width:100%}
.hero-media video,.hero-media .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media figcaption{position:absolute;left:16px;right:16px;bottom:16px;color:var(--on-ink);font-size:.86rem;display:flex;justify-content:space-between;gap:12px;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.hero-media figcaption a{color:inherit}

/* planner (5 preguntas) */
.planner{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,3vw,28px);display:grid;gap:18px;box-shadow:0 18px 40px -28px rgba(19,48,44,.45)}
.planner-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.planner-head h2{font-size:1.6rem}
.steps-dots{display:flex;gap:6px}
.steps-dots i{width:22px;height:3px;border-radius:2px;background:var(--line)}
.steps-dots i.on{background:var(--brass)}
.q{display:grid;gap:12px}
.q legend,.q .qlabel{font-weight:600;font-size:1rem;padding:0}
fieldset.q{border:0;margin:0;padding:0;min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip span{display:inline-block;padding:9px 15px;border:1px solid var(--line);border-radius:999px;font-size:.92rem;background:var(--stone);transition:all .15s}
.chip input:checked+span{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.chip:hover span{border-color:var(--ink)}
.guests-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.guests-row input[type=range]{flex:1;min-width:160px;accent-color:var(--brass)}
.guests-out{font-family:var(--mono);font-size:1.5rem;min-width:4ch;text-align:right;font-variant-numeric:tabular-nums}
.hint{font-size:.84rem;color:var(--muted)}
.hint b{font-family:var(--mono);font-weight:500;color:var(--ink)}
.planner-nav{display:flex;justify-content:space-between;gap:10px;align-items:center}
.linkish{background:none;border:0;color:var(--muted);font:inherit;cursor:pointer;text-decoration:underline;padding:0}

/* trust strip */
.facts{border-block:1px solid var(--line);background:var(--paper)}
.facts .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.fact{padding:22px 18px;border-left:1px solid var(--line);display:grid;gap:4px}
.fact:first-child{border-left:0}
.fact b{font-family:var(--display);font-size:1.7rem;font-weight:500}
.fact span{font-size:.88rem;color:var(--muted)}
@media (max-width:760px){.facts .wrap{grid-template-columns:1fr 1fr}.fact:nth-child(3){border-left:0}.fact{border-top:1px solid var(--line)}.fact:nth-child(-n+2){border-top:0}}

/* cinturón de hoteles: dos líneas en sentidos opuestos */
.belt{overflow:hidden;padding-block:26px;display:grid;gap:14px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.belt-track{display:flex;gap:44px;width:max-content;animation:belt 70s linear infinite}
.belt-track.rev{animation-direction:reverse;animation-duration:80s}
.belt-track span{font-family:var(--display);font-size:1.25rem;color:var(--muted);white-space:nowrap;letter-spacing:.02em}
.belt-track span:nth-child(3n){font-style:italic}
@keyframes belt{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.belt:hover .belt-track{animation-play-state:paused}

/* experiencias */
.xp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.xp-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.xp-grid{grid-template-columns:1fr}}
.xp{display:grid;grid-template-rows:auto 1fr;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s, box-shadow .2s}
.xp:hover{transform:translateY(-3px);box-shadow:0 16px 30px -22px rgba(19,48,44,.5)}
.xp .media{aspect-ratio:3/2}
.xp .body{padding:18px 18px 20px;display:grid;gap:8px;align-content:start}
.xp .body p{color:var(--muted);font-size:.94rem}
.xp .more{font-size:.88rem;font-weight:600;color:var(--brass-ink)}

/* imagen con respaldo */
.media{position:relative;background:var(--ink);overflow:hidden}
.media img{width:100%;height:100%;object-fit:cover}
.media>.ph,.slide>.ph{position:absolute;inset:0}
.g-thumbs .ph em,.vmini .ph em{display:none}
.ph{display:flex;align-items:flex-end;padding:14px;color:var(--on-ink);background:
  radial-gradient(120% 90% at 85% 0%, rgba(164,116,42,.35), transparent 55%),
  radial-gradient(90% 70% at 0% 100%, rgba(30,107,102,.65), transparent 60%),
  var(--ink)}
.ph em{font-family:var(--display);font-style:italic;font-size:1.05rem;opacity:.9}

/* banda haciendas */
.band{background:var(--ink);color:var(--on-ink)}
.band .eyebrow{color:#D3AE6C}
.band .lead{color:var(--on-ink-muted)}
.band a{color:var(--on-ink)}
.h-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:960px){.h-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.h-grid{grid-template-columns:1fr}}
.h-card{display:grid;gap:10px;text-decoration:none;color:var(--on-ink)}
.h-card .media{aspect-ratio:4/5;border-radius:var(--r)}
.h-card b{font-family:var(--display);font-weight:500;font-size:1.2rem}
.h-card small{font-size:.84rem;color:var(--on-ink-muted)}
.cap{font-family:var(--mono);font-size:.78rem;letter-spacing:.04em}

/* buscador */
.finder{display:grid;grid-template-columns:320px 1fr;gap:28px;align-items:start}
@media (max-width:900px){.finder{grid-template-columns:1fr}}
.filters{position:sticky;top:90px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:18px}
@media (max-width:900px){.filters{position:static}}
.field{display:grid;gap:6px}
.field label{font-size:.86rem;font-weight:600}
.field input,.field select,.field textarea{font:inherit;padding:11px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--stone);color:var(--ink);width:100%}
.field textarea{min-height:96px;resize:vertical}
.results{display:grid;gap:16px;min-width:0}
.results-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.results-head p{color:var(--muted);font-size:.92rem}
.pk{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;grid-template-columns:1fr auto;gap:10px 24px}
.pk.top{border-color:var(--brass)}
.pk h3{font-size:1.35rem}
.pk .where{font-size:.88rem;color:var(--muted);grid-column:1/-1}
.pk .price{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}
.pk .price b{display:block;font-size:1.25rem;font-weight:500}
.pk .price small{font-size:.74rem;color:var(--muted)}
.pk .tags{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}
.tag{font-size:.78rem;padding:4px 10px;border-radius:999px;background:var(--stone);border:1px solid var(--line)}
.tag.no{background:transparent;border-style:dashed;color:var(--muted)}
.pk .row{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
.badge{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-ink)}
.empty{background:var(--paper);border:1px dashed var(--line);border-radius:var(--r);padding:24px;color:var(--muted)}
.venue-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:640px){.venue-strip{grid-template-columns:1fr}}
.vmini{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:8px;text-decoration:none;color:inherit}
.vmini .media{aspect-ratio:1;border-radius:4px}
.vmini b{font-family:var(--display);font-weight:500;font-size:1.05rem;display:block}
.vmini small{font-size:.8rem;color:var(--muted)}
.disclaimer{font-size:.82rem;color:var(--muted)}

/* destinos */
.dest{display:grid;grid-template-columns:repeat(7,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);overflow:hidden}
.dest div{padding:18px 14px;border-left:1px solid var(--line);display:grid;gap:4px}
.dest div:first-child{border-left:0}
.dest b{font-family:var(--display);font-weight:500;font-size:1.15rem}
.dest small{font-size:.8rem;color:var(--muted)}
@media (max-width:900px){.dest{grid-template-columns:repeat(2,1fr)}.dest div{border-top:1px solid var(--line)}.dest div:nth-child(odd){border-left:0}}
.more-dest{margin-top:16px;color:var(--muted);font-size:.95rem}

/* modelo integral */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
@media (max-width:860px){.pillars{grid-template-columns:1fr 1fr}}
.pillar{display:grid;gap:8px;border-top:1px solid var(--ink);padding-top:16px}
.pillar b{font-family:var(--display);font-weight:500;font-size:1.2rem}
.pillar p{color:var(--muted);font-size:.94rem}

/* formulario */
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,5vw,64px);align-items:start}
@media (max-width:900px){.contact{grid-template-columns:1fr}}
.form{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,3vw,28px);display:grid;gap:14px}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.form .two{grid-template-columns:1fr}}
.form .ok{background:var(--stone);border-radius:var(--r);padding:14px;font-size:.94rem}
.contact-list{display:grid;gap:14px;margin-top:20px}
.contact-list div{display:grid;gap:2px}
.contact-list small{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.contact-list span{font-size:1.05rem;user-select:all}
.copy{font:inherit;font-size:.8rem;background:none;border:1px solid var(--line);border-radius:999px;padding:3px 10px;cursor:pointer;color:var(--muted);margin-left:8px}

/* footer */
footer{background:var(--ink);color:var(--on-ink-muted);padding-block:48px;font-size:.9rem}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr}}
footer b{color:var(--on-ink);font-family:var(--display);font-weight:500;font-size:1.25rem}
footer a{color:var(--on-ink);text-decoration:none}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}

/* ---------- páginas de villa / hacienda ---------- */
.crumbs{font-size:.84rem;color:var(--muted);padding-top:22px;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--muted)}
.v-hero{display:grid;gap:18px;padding-block:18px 28px}
.v-hero .meta{display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--muted);font-size:.95rem}
.gallery{position:relative;display:grid;gap:10px}
.g-main{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--ink);max-width:100%}
.g-main .slide{position:absolute;inset:0;opacity:0;transition:opacity .45s}
.g-main .slide.on{opacity:1}
.g-main .slide img,.g-main .slide .ph{width:100%;height:100%;object-fit:cover}
.g-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(238,240,233,.92);color:var(--ink);cursor:pointer;font-size:1.2rem;display:grid;place-items:center}
.g-prev{left:12px}.g-next{right:12px}
.g-count{position:absolute;right:14px;bottom:12px;font-family:var(--mono);font-size:.78rem;background:rgba(19,48,44,.75);color:var(--on-ink);padding:4px 10px;border-radius:999px}
.g-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.g-thumbs button{flex:0 0 92px;aspect-ratio:3/2;border:2px solid transparent;border-radius:4px;padding:0;overflow:hidden;cursor:pointer;background:var(--ink)}
.g-thumbs button.on{border-color:var(--brass)}
.g-thumbs img,.g-thumbs .ph{width:100%;height:100%;object-fit:cover}
.v-body{display:grid;grid-template-columns:1fr 360px;gap:clamp(24px,4vw,56px);padding-block:28px 72px;align-items:start}
@media (max-width:960px){.v-body{grid-template-columns:1fr}}
.v-main{display:grid;gap:36px;min-width:0}
.v-main .lead{max-width:none}
.specs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.specs div{padding:16px;border-left:1px solid var(--line);display:grid;gap:2px}
.specs div:first-child{border-left:0}
.specs small{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.specs b{font-family:var(--mono);font-weight:500;font-size:1.3rem;font-variant-numeric:tabular-nums}
@media (max-width:560px){.specs{grid-template-columns:1fr}.specs div{border-left:0;border-top:1px solid var(--line)}.specs div:first-child{border-top:0}}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media (max-width:640px){.cols{grid-template-columns:1fr}}
.list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.list li{display:grid;grid-template-columns:18px 1fr;gap:8px;font-size:.96rem}
.list li::before{content:"";width:7px;height:7px;margin-top:9px;border-radius:50%;background:var(--sage)}
.list.yes li::before{content:"✓";width:auto;height:auto;margin:0;background:none;color:var(--cenote);font-weight:700}
.list.no li::before{content:"–";width:auto;height:auto;margin:0;background:none;color:var(--muted);font-weight:700}
.list.no li{color:var(--muted)}
.subhead{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-ink);margin-bottom:12px}
.note{font-size:.88rem;color:var(--muted);background:var(--paper);border:1px dashed var(--line);border-radius:var(--r);padding:12px 14px}
.aside{position:sticky;top:90px;display:grid;gap:14px}
@media (max-width:960px){.aside{position:static}}
.aside .form h3{font-size:1.4rem}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:760px){.related{grid-template-columns:1fr}}

/* índices */
.idx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:900px){.idx-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.idx-grid{grid-template-columns:1fr}}
.card{display:grid;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit}
.card .media{aspect-ratio:4/3}
.card .body{padding:16px 18px 18px;display:grid;gap:6px}
.card b{font-family:var(--display);font-weight:500;font-size:1.3rem}
.card small{color:var(--muted);font-size:.86rem}
.card .tagline{font-size:.93rem}
.group-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:8px 0 18px;flex-wrap:wrap}
.group-title h2{font-size:1.8rem}
.hero-media .ph em{display:none}

/* ---------- v2 ---------- */
.dest a{padding:18px 14px;border-left:1px solid var(--line);display:grid;gap:4px;text-decoration:none;color:inherit;transition:background .15s}
.dest a:first-child{border-left:0}
.dest a:hover{background:var(--stone)}
@media (max-width:900px){.dest a{border-top:1px solid var(--line)}.dest a:nth-child(odd){border-left:0}}
.specs b.txt{font-family:var(--body);font-size:1.02rem;font-weight:600;line-height:1.3}
.specs .hint{font-size:.76rem}
/* tarjetas de paquete en resultados */
.pk{grid-template-columns:150px 1fr;padding:0;overflow:hidden;gap:0}
.pk-media{display:block;min-height:100%;border-radius:0}
.pk-media img,.pk-media .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pk-body{display:grid;grid-template-columns:1fr auto;gap:10px 24px;padding:18px 20px;min-width:0}
.pk-body h3 a{color:inherit;text-decoration:none}
.pk-body h3 a:hover{text-decoration:underline}
@media (max-width:620px){.pk{grid-template-columns:1fr}.pk-media{aspect-ratio:16/7;min-height:0}}
.pk .where,.pk .tags,.pk .row{grid-column:1/-1}
.linkish{color:var(--brass-ink);font-weight:600;text-decoration:none}
/* tarjetas de paquete en índices */
.pcard .pprice{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-block:1px solid var(--line);padding-block:8px;margin-block:4px}
.pcard .pprice span{font-family:var(--mono);font-size:1.05rem;font-variant-numeric:tabular-nums}
.pcard .pprice small{font-size:.8rem}
/* lista de paquetes en página de hotel */
.pk-list{display:grid;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);overflow:hidden}
.pk-row{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:baseline;padding:12px 16px;border-top:1px solid var(--line);text-decoration:none;color:inherit}
.pk-row:first-child{border-top:0}
.pk-row:hover{background:var(--stone)}
.pk-row b{font-family:var(--display);font-weight:500;font-size:1.1rem}
.pk-row span{font-size:.86rem;color:var(--muted)}
.pk-row .cap{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}
@media (max-width:560px){.pk-row{grid-template-columns:1fr auto}.pk-row span:nth-child(2){grid-column:1/-1;order:3}}
/* landings */
.land-hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;padding-block:22px 40px}
@media (max-width:900px){.land-hero{grid-template-columns:1fr}}
.land-hero .hero-media{aspect-ratio:4/3}
.land-hero .hero-media img,.land-hero .hero-media .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.section-sm{padding-block:clamp(32px,5vw,56px);border-top:1px solid var(--line);display:grid;gap:14px}
.section-sm h2{margin-bottom:6px}
.days{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--ink)}
.day{padding:16px 18px 18px 0;display:grid;gap:6px;align-content:start;position:relative}
.day::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--brass);border:2px solid var(--stone)}
.day .cap{color:var(--brass-ink);margin-top:8px}
.day b{font-family:var(--display);font-weight:500;font-size:1.3rem}
.day p{color:var(--muted);font-size:.95rem}
@media (max-width:860px){.days{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--ink)}.day{padding:6px 0 18px 22px}.day::before{top:12px;left:-7px}}
a.tag{text-decoration:none;color:var(--ink)}
a.tag:hover{border-color:var(--ink)}
/* ---------- v3: logos ---------- */
.brand{flex-direction:row;align-items:center;gap:10px}
.brand span{display:flex;flex-direction:column;line-height:1}
.brand img{width:22px;height:auto}
.belt-track{align-items:center;gap:28px}
.belt img.logo{width:133px;height:75px;object-fit:contain;border-radius:6px;background:#fff;border:1px solid var(--line);padding:4px;flex:none}
.flogo{width:180px;height:auto;margin-bottom:6px}
/* v4: experiencia de invitados */
.gx{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:start}
.gx-list{list-style:none;counter-reset:gx;padding:0;margin:8px 0 0;display:grid;gap:18px}
.gx-list li{counter-increment:gx;display:grid;grid-template-columns:40px 1fr;column-gap:14px}
.gx-list li::before{content:counter(gx,decimal-leading-zero);grid-row:span 2;font-family:var(--mono);color:var(--brass);font-size:.9rem;padding-top:3px}
.gx-list b{font-weight:600}.gx-list p{margin:4px 0 0;color:var(--muted)}
.gx-demo{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 18px 40px -28px rgba(19,48,44,.35)}
.gx-demo h3{font-family:var(--display);font-size:2rem;margin:6px 0 2px}.gx-demo small{color:var(--muted)}
.gx-days{list-style:none;padding:0;margin:22px 0;display:grid;gap:0;border-top:1px solid var(--line)}
.gx-days li{display:grid;grid-template-columns:52px 1fr;padding:12px 0;border-bottom:1px solid var(--line)}
.gx-days span{font-family:var(--mono);color:var(--cenote);font-size:.85rem;text-transform:uppercase}
.gx-btns{display:flex;flex-wrap:wrap;gap:10px}.gx-btns .btn{pointer-events:none}
@media (max-width:860px){.gx{grid-template-columns:1fr;gap:32px}}
/* v4: tiras de fotos en landings y créditos */
.ph-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:18px}
.ph-fig{margin:0;display:grid;gap:8px}
.ph-fig>img,.ph-fig>.ph{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px;position:relative;inset:auto}
.ph-fig figcaption{font-size:.86rem;color:var(--ink)}
.credit{color:var(--muted);font-size:.76rem}.credit a{color:inherit}
.hero-media .credit-cap{position:absolute;right:10px;bottom:8px;font-size:.7rem;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.hero-media .credit-cap a{color:inherit}
.hero-media::after{content:"";position:absolute;inset:auto 0 0 0;height:34%;background:linear-gradient(to top,rgba(10,26,24,.62),transparent);pointer-events:none}
.hero-media figcaption,.hero-media .credit-cap{z-index:1}
.hero-media figcaption.credit-cap{left:auto;right:12px;bottom:auto;top:10px;display:block;font-size:.7rem}
/* v5: hero con video de fondo (Vimeo, como wdweddings.com) */
.hero-video{position:relative;isolation:isolate;overflow:hidden;color:var(--on-ink);padding-block:clamp(48px,8vw,110px);min-height:min(88vh,860px);display:flex;align-items:center}
.hero-video>.wrap{width:100%}
.hero-bg{position:absolute;inset:0;z-index:-1;background:var(--ink);container-type:size}
.hero-bg img,.hero-bg iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:0;pointer-events:none}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-bg iframe{width:max(100cqw,177.78cqh);height:max(56.25cqw,100cqh)}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,26,24,.72) 0%,rgba(10,26,24,.48) 48%,rgba(10,26,24,.18) 100%),linear-gradient(0deg,rgba(10,26,24,.35),transparent 40%)}
.hero-video .hero-grid{align-items:center}
.hero-video .eyebrow{color:#E8C98F}
.hero-video h1{color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.hero-video .lead{color:rgba(255,255,255,.9);max-width:52ch}
.hero-video .integral li{color:rgba(255,255,255,.88)}
.hero-video .integral li::before{background:#E8C98F}
.hero-side{min-width:0}
.hero-side .planner{color:var(--ink);box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
@media (max-width:960px){.hero-bg::after{background:linear-gradient(180deg,rgba(10,26,24,.55),rgba(10,26,24,.78))}.hero-video{min-height:0}}
@media (prefers-reduced-motion:reduce){.hero-bg iframe{display:none}}
.hero-video .hero-side .eyebrow{color:var(--brass-ink)}

/* ---------- v4: ajustes de Luis (30 oct 2026) ---------- */
/* logo real en el encabezado; el texto queda solo para lectores de pantalla */
.brand img{width:auto;height:40px}
.brand span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:560px){.brand img{height:34px}}
/* hero: servicios destacados */
.hero-copy .services{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;font-size:1.05rem;color:var(--ink)}
.hero-copy .services b{font-weight:600;letter-spacing:.01em}
.hero-copy .services i{font-style:normal;color:var(--brass)}
.hero-tag{font-family:var(--display);font-style:italic;font-size:1.3rem;color:var(--brass-ink);margin:0}
.couple-page{display:grid;gap:6px;padding:16px 18px;border:1px solid var(--brass);border-radius:var(--r);background:var(--paper);text-decoration:none;color:inherit}
.couple-page b{font-family:var(--display);font-weight:500;font-size:1.45rem;line-height:1.2}
.couple-page span{font-size:.95rem;color:var(--muted)}
/* precios de referencia */
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:1000px){.price-grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.price-grid{grid-template-columns:1fr}}
.pref{display:grid;align-content:start;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.pref h3{font-family:var(--mono);font-weight:500;font-size:1.3rem;font-variant-numeric:tabular-nums}
.pref>small{color:var(--muted);font-size:.86rem}
.pref .list{margin:6px 0 4px;font-size:.92rem}
.price-note{margin-top:16px}
/* experiencias y tours */
.tour-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:900px){.tour-grid{grid-template-columns:1fr 1fr}}
.tour{display:grid;gap:6px;text-decoration:none;color:inherit}
.tour .media{aspect-ratio:4/5;border-radius:var(--r)}
.tour b{font-family:var(--display);font-weight:500;font-size:1.2rem}
.tour small{color:var(--muted);font-size:.88rem}
/* paquetes: hotel primero */
.hhead{display:flex;align-items:center;gap:12px;margin-top:6px}
.hlogo{width:72px;height:auto;flex:0 0 auto;border:1px solid var(--line);border-radius:4px;background:#fff}
.hhead b,.hhead h3{font-family:var(--display);font-weight:500;font-size:1.3rem;line-height:1.15}
.hhead h3 a{color:inherit;text-decoration:none}
.hmore{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}
.pkname{display:block;font-size:.92rem;color:var(--ink);margin-top:2px}
.pk .pkname{margin:4px 0 0}
.gbadge{display:inline-block;justify-self:start;margin-top:8px;padding:3px 10px;border-radius:999px;background:var(--stone);font-size:.82rem;font-weight:600}
.ref-note{display:block;font-size:.8rem;color:var(--muted);margin-top:4px}
/* créditos de fotografía */
.credits{grid-column:1/-1;margin-top:28px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15);font-size:.8rem;opacity:.85}
.credits summary{cursor:pointer}
.credits p{margin-top:8px;max-width:80ch}
/* móvil: fotos más grandes */
@media (max-width:640px){
  .g-main{aspect-ratio:4/5}
  .g-thumbs{display:none}
  .g-count{font-size:.85rem}
  .xp .media{aspect-ratio:4/3}
  .card .media{aspect-ratio:4/3}
  .pk-media{aspect-ratio:4/3}
  .h-card .media{aspect-ratio:4/5}
}
.topbar .brand{padding-block:8px}
.topbar .brand img{display:block}
@media (max-width:640px){
  .pk-body{grid-template-columns:1fr}
  .pk .price{text-align:left}
  .hhead b,.hhead h3{font-size:1.2rem}
}


/* v4 sobre hero con video */
.hero-video .hero-copy .services{color:#fff}
.hero-video .hero-copy .services i{color:#E8C98F}
.hero-video .hero-tag{color:#E8C98F}
.hero-video .couple-page{background:rgba(255,255,255,.1);border-color:rgba(232,201,143,.7);color:#fff;backdrop-filter:blur(4px)}
.hero-video .couple-page span{color:rgba(255,255,255,.85)}
.budget-out{min-width:9ch}
