/* Dossier para empresas · Villa Almudena
   Lujo editorial: marfil, petróleo profundo y latón. Serif Newsreader para titulares, Public Sans para texto.
   Tarjetas con doble bisel, botones píldora con icono anidado y entradas suaves al hacer scroll. */

@font-face{font-family:"Newsreader";src:url("fonts/Newsreader-normal.woff2") format("woff2");font-weight:300 600;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url("fonts/Newsreader-italic.woff2") format("woff2");font-weight:300 600;font-style:italic;font-display:swap}
@font-face{font-family:"Public Sans";src:url("fonts/PublicSans-normal.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}

:root{
  color-scheme:light;
  --papel:#F5F2EB;--papel-2:#ECE7DC;--blanco:#FFFDF9;
  --tinta:#131B1E;--tinta-2:#4A585C;--tinta-3:#5E6B6E;
  --petroleo:#0B3338;--petroleo-2:#0F454C;--petroleo-3:#16565E;
  --laton:#8A6A2A;--oro:#E2C68C;--oro-2:#F0DDB4;
  --linea:rgba(19,27,30,.09);--linea-clara:rgba(255,255,255,.12);
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ancho:1240px;--margen:clamp(20px,5vw,64px);--hueco:clamp(48px,5.5vw,80px);
  --curva:cubic-bezier(0.32,0.72,0,1);--salida:cubic-bezier(0.23,1,0.32,1);
  --r-out:28px;--r-in:22px;
  --sombra:0 30px 60px -30px rgba(11,51,56,.28),0 8px 20px -12px rgba(11,51,56,.12);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 1rem/1.7 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:30;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;text-wrap:balance;font-optical-sizing:auto}
h2{font-size:clamp(2.1rem,3.6vw,3.2rem);line-height:1.02;letter-spacing:-.022em;font-weight:300}
h2 em,h1 em{font-style:italic;color:var(--laton)}
.marco{max-width:var(--ancho);margin-inline:auto;padding-inline:var(--margen)}
.saltar{position:absolute;left:-999px;top:8px;background:var(--petroleo);color:#fff;padding:8px 14px;z-index:40;border-radius:99px}
.saltar:focus{left:12px}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px;border-radius:6px}

/* ceja (eyebrow) */
.ceja{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;padding:6px 14px;border-radius:99px;font-size:.6875rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--oro);background:rgba(226,198,140,.1);box-shadow:inset 0 0 0 1px rgba(226,198,140,.28)}
.ceja::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.ceja-clara{color:var(--laton);background:rgba(138,106,42,.07);box-shadow:inset 0 0 0 1px rgba(138,106,42,.2)}
.entrada{max-width:60ch;margin:16px 0 0;font-size:1.0625rem;color:var(--tinta-2)}
.cabeza{max-width:880px}

/* botones píldora con icono anidado */
.boton{display:inline-flex;align-items:center;gap:14px;min-height:54px;padding:6px 6px 6px 26px;border-radius:99px;font:600 .9375rem/1 var(--sans);text-decoration:none;border:0;cursor:pointer;
  transition:transform 500ms var(--curva),background-color 400ms var(--curva),box-shadow 500ms var(--curva)}
.boton:active{transform:scale(.98)}
.boton .ico{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;transition:transform 500ms var(--curva)}
.boton .ico svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.boton:hover .ico{transform:translate(2px,-2px) scale(1.06)}
.boton-oro{background:var(--oro);color:var(--petroleo);box-shadow:0 14px 30px -14px rgba(226,198,140,.7)}
.boton-oro .ico{background:var(--petroleo);color:var(--oro)}
.boton-oro:hover{background:var(--oro-2)}
.boton-vidrio{padding:0 26px;color:#fff;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.boton-vidrio:hover{background:rgba(255,255,255,.12)}
.boton-oscuro{background:var(--petroleo);color:#fff}
.boton-oscuro .ico{background:rgba(255,255,255,.1);color:var(--oro)}
.acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}

/* doble bisel */
.bisel{padding:7px;border-radius:var(--r-out);background:rgba(19,27,30,.035);box-shadow:inset 0 0 0 1px var(--linea)}
.bisel-in{border-radius:var(--r-in);background:var(--blanco);box-shadow:inset 0 1px 1px rgba(255,255,255,.9),var(--sombra);overflow:hidden}
.bisel-oscuro{background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--linea-clara)}
.bisel-oscuro>.bisel-in{background:rgba(255,255,255,.05);box-shadow:inset 0 1px 1px rgba(255,255,255,.08)}

/* isla de navegación */
.isla{position:fixed;z-index:20;top:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:28px;width:max-content;max-width:calc(100% - 24px);
  padding:8px 8px 8px 22px;border-radius:99px;background:rgba(11,51,56,.78);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 20px 40px -20px rgba(0,0,0,.4);color:#fff}
.isla-volver{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:99px;font-size:.8125rem;font-weight:600;text-decoration:none;color:#fff;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);white-space:nowrap;transition:background-color 300ms var(--curva)}
.isla-volver:hover{background:rgba(255,255,255,.16)}
@media (max-width:560px){.isla-volver span{display:none}.isla-marca{display:none}}
.pie-web{display:flex;flex-wrap:wrap;gap:8px 22px;width:100%;margin-top:6px;padding-top:20px;border-top:1px solid var(--linea);font-size:.8125rem}
.pie-web a{color:var(--tinta-2);text-decoration:none}
.pie-web a:hover{color:var(--petroleo)}
.isla-marca img{width:96px;height:auto}
.isla nav{display:flex;gap:4px}
.isla nav a{padding:9px 14px;border-radius:99px;font-size:.875rem;text-decoration:none;color:rgba(255,255,255,.78);transition:background-color 300ms var(--curva),color 300ms}
.isla nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.isla-pdf{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:99px;background:var(--oro);color:var(--petroleo);font-weight:600;font-size:.875rem;text-decoration:none;white-space:nowrap;transition:background-color 300ms var(--curva)}
.isla-pdf span{font-size:.6875rem;letter-spacing:.12em;padding:3px 7px;border-radius:99px;background:rgba(11,51,56,.12)}
.isla-pdf:hover{background:var(--oro-2)}
@media (max-width:980px){.isla nav{display:none}.isla{gap:14px}}

/* portada */
.portada{position:relative;background:radial-gradient(120% 80% at 85% 0%,#14525A 0%,var(--petroleo) 55%,#082629 100%);color:#fff;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(32px,5vw,72px);align-items:center;
  min-height:min(100dvh,820px);padding:clamp(110px,11vw,140px) var(--margen) clamp(96px,9vw,120px);overflow:hidden}
.portada-txt{max-width:600px;justify-self:end;width:100%}
.portada h1{font-weight:300;font-size:clamp(2.9rem,6vw,5.6rem);line-height:.98;letter-spacing:-.03em}
.portada h1 em{color:var(--oro)}
.portada-intro{margin:30px 0 0;max-width:48ch;font-size:1.0938rem;color:rgba(255,255,255,.78)}
.portada-desde{margin:26px 0 0;font-size:.875rem;color:rgba(255,255,255,.62)}
.portada-desde b{font-family:var(--serif);font-weight:400;font-size:1.35rem;color:var(--oro)}
.portada-fotos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:clamp(420px,46vw,640px);max-width:760px}
.portada-fotos figure{margin:0;border-radius:24px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.08)}
.portada-fotos img{width:100%;height:100%;object-fit:cover;transition:transform 1400ms var(--salida)}
.portada-fotos figure:hover img{transform:scale(1.04)}
@media (max-width:900px){.portada{grid-template-columns:1fr;min-height:0}.portada-txt{justify-self:start}.portada-fotos{height:auto;grid-template-rows:auto;grid-template-columns:1fr 1fr}
  .portada-fotos figure{aspect-ratio:1}}

/* datos clave */
.datos-marco{position:relative;z-index:2;max-width:var(--ancho);margin:-64px auto 0;padding-inline:var(--margen)}
.datos{list-style:none;margin:0;padding:8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;border-radius:var(--r-out);background:rgba(255,253,249,.7);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px var(--linea),var(--sombra)}
.datos li{display:flex;flex-direction:column;padding:20px 18px 18px;border-radius:var(--r-in);background:var(--blanco)}
.datos b{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,2.1vw,2rem);line-height:1;letter-spacing:-.02em;color:var(--petroleo);white-space:nowrap}
.datos span{margin-top:10px;font-size:.8125rem;font-weight:600;color:var(--tinta)}
.datos small{font-size:.75rem;color:var(--tinta-3)}

@media (max-width:520px){.datos{grid-template-columns:repeat(2,1fr)}.datos li{padding:16px}}

/* secciones */
.seccion{padding-block:var(--hueco)}
.seccion-papel{background:var(--papel-2)}
.seccion-oscura{background:var(--petroleo);color:#fff}
.seccion-oscura h2 em{color:var(--oro)}
.seccion-oscura .entrada{color:rgba(255,255,255,.72)}

/* días */
.dias{list-style:none;margin:clamp(28px,3.5vw,44px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--linea)}
.dias li{padding:26px 32px 4px 0;border-right:1px solid var(--linea);margin-right:36px}
.dias li:last-child{border-right:0;margin-right:0}
.dia-n{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(2.6rem,4.5vw,3.8rem);line-height:.9;letter-spacing:-.04em;color:var(--laton)}
.dia-t{margin:14px 0 8px;font-family:var(--serif);font-size:1.5rem;line-height:1.15}
.dias p:last-child{margin:0;color:var(--tinta-2);font-size:.9688rem}
@media (max-width:820px){.dias{grid-template-columns:1fr}.dias li{border-right:0;margin-right:0;border-bottom:1px solid var(--linea);padding:28px 0}}

/* configurador */
.config{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:40px;align-items:end}
.config>.sala-cab{grid-column:1}.config>.segmento{grid-column:2;justify-self:end;margin-bottom:6px}.config>.config-paneles{grid-column:1/-1}
.config>input{position:absolute;opacity:0;pointer-events:none}
.segmento{display:inline-flex;flex-wrap:wrap;gap:4px;padding:6px;border-radius:99px;background:var(--blanco);box-shadow:inset 0 0 0 1px var(--linea),var(--sombra)}
.segmento label{padding:12px 22px;border-radius:99px;font-weight:600;font-size:.9375rem;color:var(--tinta-2);cursor:pointer;transition:background-color 450ms var(--curva),color 450ms var(--curva)}
.segmento label:hover{color:var(--tinta)}
#d-aula:checked~.segmento [for=d-aula],#d-u:checked~.segmento [for=d-u],#d-mesa:checked~.segmento [for=d-mesa],#d-teatro:checked~.segmento [for=d-teatro]{background:var(--petroleo);color:#fff}
#d-aula:focus-visible~.segmento [for=d-aula],#d-u:focus-visible~.segmento [for=d-u],#d-mesa:focus-visible~.segmento [for=d-mesa],#d-teatro:focus-visible~.segmento [for=d-teatro]{outline:2px solid var(--laton);outline-offset:2px}
.config-paneles{margin-top:24px}
.disp-panel{display:none;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(24px,4vw,56px);align-items:center}
#d-aula:checked~.config-paneles [data-disp=aula],#d-u:checked~.config-paneles [data-disp=u],#d-mesa:checked~.config-paneles [data-disp=mesa],#d-teatro:checked~.config-paneles [data-disp=teatro]{display:grid;animation:entra 700ms var(--curva)}
@keyframes entra{from{opacity:0;transform:translateY(14px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
.plano{padding:clamp(16px,2.4vw,28px)}
.plano svg{display:block;width:auto;max-width:100%;height:min(52vh,460px);margin-inline:auto}
.plano .muro{fill:#FBF9F4;stroke:var(--tinta-2);stroke-width:3}
.plano .mesa{fill:#E3DED2;stroke:#B7AD98;stroke-width:1.2}
.plano .silla{fill:var(--petroleo-2)}
.plano .pantalla{fill:var(--tinta)}.plano .pantalla2{fill:var(--tinta-2)}
.plano .ventana{fill:#A9C7CB}
.plano .puerta{fill:none;stroke:var(--laton);stroke-width:7;stroke-linecap:round}
.plano .rot{font:600 13px var(--sans);letter-spacing:.14em;fill:var(--tinta-3);text-anchor:middle}
.disp-nombre{margin:0;font-family:var(--serif);font-size:clamp(2rem,3vw,2.6rem);line-height:1;font-weight:300}
.disp-info>p:nth-child(2){margin:8px 0 16px;color:var(--tinta-2);max-width:42ch}
.disp-foto{margin:0}
.disp-foto img{width:100%;aspect-ratio:4/3;max-height:min(46vh,420px);object-fit:cover}
.disp-sin-foto{margin:0;font-size:.875rem;color:var(--tinta-3);padding-left:14px;border-left:2px solid var(--laton)}
@media (max-width:860px){.config{grid-template-columns:1fr}.config>.segmento{grid-column:1;justify-self:start;margin:22px 0 0}.disp-panel{grid-template-columns:1fr}.segmento{display:flex}.segmento label{flex:1;text-align:center;padding:12px 10px}}

/* momentos del offsite */
.momentos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:clamp(24px,3vw,36px)}
.momento .bisel-in{min-height:min(50vh,430px)}
.momento h3{font-size:clamp(1.7rem,2.4vw,2.2rem)}
@media (max-width:820px){.momentos{grid-template-columns:1fr}.momento .bisel-in{min-height:300px}}

/* galería plegable */
.seccion-galeria{padding-block:clamp(36px,4.5vw,60px)}
.galeria summary{list-style:none;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px;cursor:pointer}
.galeria summary::-webkit-details-marker{display:none}
.galeria summary:focus-visible{outline:2px solid var(--laton);outline-offset:8px;border-radius:12px}
.gal-tit{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05;letter-spacing:-.02em}
.gal-tit em{font-style:italic;color:var(--laton)}
.gal-abrir .ocultar,.galeria[open] .gal-abrir .ver{display:none}
.galeria[open] .gal-abrir .ocultar{display:inline}
.galeria[open] .gal-abrir .ico{transform:rotate(90deg)}
.gal-cuerpo{margin-top:clamp(24px,3vw,36px);display:grid;gap:26px;animation:entra 700ms var(--curva)}
.gal-grupo h3{margin:0 0 12px;font-size:1.3rem;line-height:1.1}
.gal-grupo h3 span{margin-left:6px;font-family:var(--sans);font-size:.75rem;font-weight:600;color:var(--tinta-3)}
.gal-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.gal-foto{margin:0;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--papel-2);box-shadow:inset 0 0 0 1px var(--linea)}
.gal-foto img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--salida)}
.gal-foto:hover img{transform:scale(1.04)}
@media (max-width:520px){.gal-rejilla{grid-template-columns:repeat(2,1fr)}}

/* bento de espacios */
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-top:clamp(28px,3.5vw,44px)}
.espacio .bisel{height:100%}
.espacio .bisel-in{position:relative;height:100%;min-height:230px}
.espacio img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1400ms var(--salida)}
.espacio:hover img{transform:scale(1.035)}
.espacio-txt{position:absolute;left:0;right:0;bottom:0;padding:clamp(20px,2.4vw,30px);color:#fff;background:linear-gradient(180deg,rgba(8,26,29,0) 0%,rgba(8,26,29,.55) 45%,rgba(8,26,29,.85) 100%)}
.espacio h3{font-size:clamp(1.35rem,1.8vw,1.7rem);line-height:1.1}
.espacio p{margin:8px 0 0;font-size:.875rem;line-height:1.55;color:rgba(255,255,255,.82);max-width:46ch}
.b-xl{grid-column:span 8;grid-row:span 2}.b-xl .bisel-in{min-height:470px}
.b-md{grid-column:span 4}
.b-lg{grid-column:span 6}.b-sm{grid-column:span 3}.b-wide{grid-column:span 12}.b-wide .bisel-in{min-height:200px}
.b-lg .bisel-in,.b-sm .bisel-in{min-height:360px}
.casa-pie{margin-top:24px;display:grid;gap:6px;font-size:.9375rem;color:var(--tinta-2)}
.casa-pie p{margin:0}
.casa-pie .a-galeria{display:inline-flex;align-items:center;gap:8px;margin-top:8px;text-decoration:none}
.casa-pie .a-galeria span{display:inline-block;transition:transform 400ms var(--curva)}
.casa-pie .a-galeria:hover span{transform:translateY(4px)}
.casa-pie a{color:var(--petroleo-2);font-weight:600;text-underline-offset:4px}
@media (max-width:1000px){.b-xl{grid-column:span 12;grid-row:auto}.b-xl .bisel-in{min-height:440px}.b-md,.b-lg{grid-column:span 6}.b-sm{grid-column:span 6}}
@media (max-width:640px){.bento{grid-template-columns:1fr}.b-xl,.b-md,.b-lg,.b-sm,.b-wide{grid-column:1/-1}.espacio .bisel-in,.b-xl .bisel-in{min-height:340px}}

/* precio */
.aviso-prov{display:inline-block;margin:24px 0 0;padding:7px 14px;border-radius:99px;background:rgba(226,198,140,.14);color:var(--oro-2);font-size:.8125rem;font-weight:600;box-shadow:inset 0 0 0 1px rgba(226,198,140,.3)}
.precio-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;margin-top:clamp(26px,3vw,40px)}
.calc-caja[hidden]{display:none}
.incluye{list-style:none;margin:28px 0 0;padding:24px 0 0;border-top:1px solid var(--linea-clara);display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;font-size:.875rem;color:rgba(255,255,255,.8)}
.incluye li{display:flex;gap:10px;align-items:baseline}.incluye li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--oro);transform:translateY(-1px)}
.calc{padding:clamp(24px,3vw,40px);display:grid;gap:26px;height:100%}
.calc-campo{display:block;border:0;padding:0;margin:0;font-weight:600;color:rgba(255,255,255,.86)}
.calc-campo>span,.calc-campo legend{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.calc-campo legend{padding:0;margin-bottom:12px}
.calc-campo output{float:right;font-family:var(--serif);font-weight:300;font-size:2.2rem;line-height:.9;color:var(--oro)}
.calc-campo input[type=range]{width:100%;margin-top:22px;accent-color:var(--oro);height:30px}
.noches{display:flex;gap:6px;padding:5px;border-radius:99px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--linea-clara)}
.noches label{flex:1;position:relative;cursor:pointer}
.noches input{position:absolute;opacity:0}
.noches span{display:grid;place-items:center;height:44px;border-radius:99px;font-weight:600;transition:background-color 400ms var(--curva),color 400ms var(--curva)}
.noches input:checked+span{background:var(--oro);color:var(--petroleo)}
.noches input:focus-visible+span{outline:2px solid var(--oro);outline-offset:2px}
.calc-res{padding-top:24px;border-top:1px solid var(--linea-clara)}
.calc-total{margin:0;font-family:var(--serif);font-weight:300;font-size:clamp(3.2rem,6vw,4.8rem);line-height:.95;letter-spacing:-.03em;color:#fff}
.calc-pp{margin:12px 0 0;font-weight:600;color:var(--oro)}
.calc-nota{margin:10px 0 0;font-size:.8125rem;color:rgba(255,255,255,.6)}
.precio-desde{padding:clamp(24px,3vw,40px);display:grid;gap:22px;align-content:start;height:100%}
.desde-cifra{margin:0;font-family:var(--serif);font-weight:300;font-size:clamp(3.4rem,7vw,5.4rem);line-height:.95;letter-spacing:-.03em;color:#fff}
.desde-cifra small{font-family:var(--sans);font-size:.95rem;font-weight:600;letter-spacing:.02em;color:var(--oro)}
.desde-iva{margin:-10px 0 0;font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--oro)}
.desde-nota{margin:0;color:rgba(255,255,255,.74);max-width:46ch}
.precio-desde .boton{justify-self:start}
.tabla-caja{padding:clamp(24px,3vw,40px);height:100%}
.tabla-tit{margin:0 0 18px;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.precios{width:100%;border-collapse:collapse;font-size:.9688rem}
.precios th,.precios td{padding:18px 10px 18px 0;text-align:left;border-bottom:1px solid var(--linea-clara)}
.precios thead th{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:600;padding-top:0}
.precios tbody th{font-weight:600}
.precios td b{font-family:var(--serif);font-weight:400;font-size:1.35rem;color:var(--oro)}
.precios tbody tr:last-child>*{border-bottom:0}
.a-medida{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px 48px;margin-top:clamp(26px,3vw,40px);padding-top:26px;border-top:1px solid var(--linea-clara)}
.a-medida p:not(.tabla-tit){margin:0;color:rgba(255,255,255,.72)}
.a-medida ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}
.a-medida li{padding:9px 16px;border-radius:99px;font-size:.875rem;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--linea-clara)}
@media (max-width:860px){.precio-grid,.a-medida{grid-template-columns:1fr}}
@media (max-width:520px){.precios{font-size:.875rem}.precios td b{font-size:1.1rem}}

/* logística */
.logistica-marco{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start}
.logistica-marco .cabeza{position:sticky;top:130px}
.logistica{margin:0;border-top:1px solid var(--linea)}
.logistica div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:20px;padding:15px 0;border-bottom:1px solid var(--linea)}
.logistica dt{font-weight:600;font-size:.9375rem}
.logistica dd{margin:0;color:var(--tinta-2);font-size:.9375rem}
@media (max-width:900px){.logistica-marco{grid-template-columns:1fr}.logistica-marco .cabeza{position:static}.logistica div{grid-template-columns:1fr;gap:4px}}

/* contrastes */
.contrastes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(28px,3.5vw,44px)}
.contrastes .bisel-in{padding:clamp(28px,3vw,40px);height:100%}
.c-n{display:block;font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--laton);margin-bottom:28px}
.contrastes h3{font-size:1.6rem;line-height:1.12}
.contrastes p{margin:14px 0 0;color:var(--tinta-2);font-size:.9375rem}
@media (max-width:860px){.contrastes{grid-template-columns:1fr}}

/* contacto */
.contacto{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px);align-items:start}
.canales{list-style:none;margin:40px 0 0;padding:0;border-top:1px solid var(--linea-clara)}
.canales li{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--linea-clara)}
.canales span{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.canales a{font-family:var(--serif);font-size:1.35rem;text-decoration:none;color:#fff;transition:color 300ms;word-break:break-word}
.canales a:hover{color:var(--oro)}
.form{display:grid;gap:16px;padding:clamp(22px,3vw,36px)}
.form label{display:grid;gap:8px;font-size:.8125rem;font-weight:600;color:rgba(255,255,255,.78)}
.form input,.form textarea{width:100%;font:400 1rem/1.4 var(--sans);color:#fff;background:rgba(255,255,255,.06);border:0;border-radius:14px;padding:14px 16px;box-shadow:inset 0 0 0 1px var(--linea-clara);transition:box-shadow 300ms var(--curva),background-color 300ms}
.form input::placeholder,.form textarea::placeholder{color:rgba(255,255,255,.4)}
.form input:focus,.form textarea:focus{outline:0;background:rgba(255,255,255,.09);box-shadow:inset 0 0 0 1px var(--oro)}
.form-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .boton{justify-self:start;margin-top:6px}
.nota-datos{margin:0;font-size:.75rem;line-height:1.55;color:rgba(255,255,255,.6)}
@media (max-width:860px){.contacto,.form-2{grid-template-columns:1fr}}

/* pie */
.pie{padding:48px 0}
.pie-in{display:flex;flex-wrap:wrap;align-items:center;gap:24px 40px}
.pie-in p{margin:0;font-size:.8125rem;color:var(--tinta-3);flex:1;min-width:240px}

/* foto aérea dentro del precio */
.precio-aerea{margin:22px 0 0;position:relative;border-radius:16px;overflow:hidden}
.precio-aerea img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.precio-aerea figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 16px 12px;font-size:.8125rem;font-weight:600;color:#fff;background:linear-gradient(180deg,rgba(8,26,29,0),rgba(8,26,29,.8))}
.desde-cifra{color:var(--oro)}
.desde-cifra small{color:rgba(255,255,255,.85)}
.incluye li{font-weight:500}

/* logística en fichas: cada dato en su tarjeta, con la etiqueta destacada */
.logistica-marco{display:block}
.logistica-marco .cabeza{position:static}
.logistica{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(24px,3vw,36px);border-top:0}
.logistica div{display:block;padding:20px 20px 18px;border:0;border-radius:18px;background:var(--blanco);box-shadow:inset 0 0 0 1px var(--linea),0 18px 30px -26px rgba(11,51,56,.35)}
.logistica dt{margin-bottom:8px;font-size:.6875rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--laton)}
.logistica dd{font-size:.9375rem;line-height:1.55;color:var(--tinta-2)}
.logistica dd b{color:var(--petroleo);font-weight:600}
@media (max-width:900px){.logistica{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.logistica{grid-template-columns:1fr}}

/* WhatsApp flotante (un solo número: el de empresas) */
.wa-flota{position:fixed;z-index:19;right:calc(env(safe-area-inset-right,0px) + 18px);bottom:calc(env(safe-area-inset-bottom,0px) + 18px);display:grid;place-items:center;
  width:58px;height:58px;border-radius:50%;background:#25D366;box-shadow:0 14px 30px -12px rgba(0,0,0,.45);transition:transform 300ms var(--curva)}
.wa-flota svg{width:30px;height:30px}
.wa-flota:hover{transform:scale(1.06)}
.wa-flota:active{transform:scale(.96)}
.wa-flota:focus-visible{outline:3px solid var(--oro);outline-offset:3px}

/* entradas al hacer scroll (solo con JS) */
.js [data-r]{opacity:0;transform:translateY(40px);filter:blur(6px);transition:opacity 1000ms var(--curva),transform 1000ms var(--curva),filter 1000ms var(--curva)}
.js [data-r].visto{opacity:1;transform:none;filter:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js [data-r]{opacity:1;transform:none;filter:none;transition:none}
  .disp-panel{animation:none!important}*{transition-duration:1ms!important}}

/* visor de fotos */
.ampliable{cursor:zoom-in}
.ampliable:focus-visible{outline:2px solid var(--oro);outline-offset:-4px}
.visor-abierto{overflow:hidden}
.visor{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff}
.visor::backdrop{background:rgba(6,20,23,.92);backdrop-filter:blur(8px)}
.visor[open]{display:grid;place-items:center;animation:visor-entra 450ms var(--curva)}
@keyframes visor-entra{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.visor figure{margin:0;display:grid;place-items:center;gap:14px;width:100%;height:100%;padding:72px clamp(16px,7vw,96px) 56px}
.visor img{max-width:100%;max-height:calc(100dvh - 150px);width:auto;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.visor figcaption{font-size:.9375rem;color:rgba(255,255,255,.8);text-align:center;max-width:60ch}
.visor button{position:absolute;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;font:300 2rem/1 var(--serif);color:#fff;
  background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);transition:background-color 300ms var(--curva),transform 300ms var(--curva)}
.visor button:hover{background:rgba(255,255,255,.16)}
.visor button:active{transform:scale(.95)}
.visor-cerrar{top:16px;right:16px}
.visor-ant{left:16px;top:50%;margin-top:-26px}
.visor-sig{right:16px;top:50%;margin-top:-26px}
.visor-cuenta{position:absolute;top:28px;left:50%;transform:translateX(-50%);margin:0;font-size:.8125rem;letter-spacing:.14em;color:rgba(255,255,255,.6)}
@media (max-width:640px){.visor-ant,.visor-sig{top:auto;bottom:14px;margin:0}.visor figure{padding:64px 12px 84px}}
@media (prefers-reduced-motion:reduce){.visor[open]{animation:none}}

/* ---------- versión PDF: una página A4 ---------- */
.pdf{display:none}
@page{size:A4;margin:0}
/* Fuentes fijas (no variables) solo para el PDF: las variables se incrustan como Type 3 y los visores las dibujan borrosas. */
@font-face{font-family:"Public Sans PDF";src:url("fonts/pdf/PublicSans-400.woff2") format("woff2");font-weight:400;font-style:normal}
@font-face{font-family:"Public Sans PDF";src:url("fonts/pdf/PublicSans-600.woff2") format("woff2");font-weight:600;font-style:normal}
@font-face{font-family:"Public Sans PDF";src:url("fonts/pdf/PublicSans-700.woff2") format("woff2");font-weight:700;font-style:normal}
@font-face{font-family:"Newsreader PDF";src:url("fonts/pdf/Newsreader-300.woff2") format("woff2");font-weight:300;font-style:normal}
@font-face{font-family:"Newsreader PDF";src:url("fonts/pdf/Newsreader-400.woff2") format("woff2");font-weight:400;font-style:normal}
@font-face{font-family:"Newsreader PDF";src:url("fonts/pdf/NewsreaderItalic-300.woff2") format("woff2");font-weight:300;font-style:italic}
@font-face{font-family:"Newsreader PDF";src:url("fonts/pdf/NewsreaderItalic-400.woff2") format("woff2");font-weight:400;font-style:italic}
@media print{
  .pdf{--sans:"Public Sans PDF","Public Sans",system-ui,sans-serif;--serif:"Newsreader PDF","Newsreader",Georgia,serif;font-family:var(--sans)}
  /* En el PDF, ningún texto con transparencia: Chrome lo convierte en imagen y se ve borroso. */
  html,body{background:#fff;width:210mm}
  body::after{display:none}
  body>*:not(.pdf){display:none!important}
  .pdf{display:flex;flex-direction:column;width:210mm;height:297mm;overflow:hidden;font-size:8pt;line-height:1.4;color:var(--tinta);background:var(--papel);
    -webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pdf-cab{display:grid;grid-template-columns:1.05fr 1fr;height:84mm;background:var(--petroleo);color:#fff}
  .pdf-cab-txt{padding:10mm 8mm 8mm 12mm;display:flex;flex-direction:column}
  .pdf-logo{width:30mm;height:auto;margin-bottom:auto}
  .pdf-ceja{margin:0 0 3mm;font-size:6.4pt;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--oro)}
  .pdf h1{font-weight:300;font-size:23pt;line-height:1;letter-spacing:-.02em}
  .pdf h1 em{color:var(--oro)}
  .pdf-intro{margin:3.5mm 0 0;font-size:7.8pt;color:#C9D2D3}
  .pdf-cab-foto img{width:100%;height:100%;object-fit:cover}
  .pdf-datos{list-style:none;margin:-7mm 10mm 0;padding:1.6mm;display:grid;grid-template-columns:repeat(8,1fr);gap:1.4mm;border-radius:4mm;background:var(--blanco);box-shadow:0 3mm 8mm -4mm rgba(11,51,56,.35);position:relative}
  .pdf-datos li{display:flex;flex-direction:column;padding:2.4mm 1.9mm;border-radius:2.8mm;background:var(--papel)}
  .pdf-datos b{font-family:var(--serif);font-weight:400;font-size:11.5pt;line-height:1;color:var(--petroleo);white-space:nowrap}
  .pdf-datos span{margin-top:1mm;font-size:6.6pt;font-weight:600}
  .pdf-datos small{font-size:6pt;color:var(--tinta-3)}
  .pdf-mosaico{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:27mm 27mm;gap:2mm;margin:6mm 10mm 0}
  .pdf-mosaico figure{position:relative;margin:0;border-radius:3mm;overflow:hidden}
  .pdf-mosaico .m1{grid-row:1/3}
  .pdf-mosaico figure:nth-child(4){grid-column:2/4}
  .pdf-mosaico img{width:100%;height:100%;object-fit:cover}
  .pdf-mosaico figcaption{position:absolute;left:0;right:0;bottom:0;padding:5mm 2.5mm 1.8mm;font-size:6.6pt;font-weight:600;color:#fff;background:linear-gradient(180deg,rgba(8,26,29,0),rgba(8,26,29,.8))}
  .pdf-cols{display:grid;grid-template-columns:1fr 1.15fr;gap:7mm;margin:6mm 10mm 0;flex:1}
  .pdf-h{margin:0 0 2.5mm;font-family:var(--serif);font-size:12.5pt;line-height:1}
  .pdf-prov{font-family:var(--sans);font-size:6pt;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--laton);vertical-align:middle;margin-left:2mm;padding:.6mm 2mm;border-radius:99px;box-shadow:inset 0 0 0 .2mm var(--laton)}
  .pdf-desde{margin:1mm 0 2.5mm;font-family:var(--serif);font-weight:300;font-size:22pt;line-height:1;color:var(--petroleo)}
  .pdf-desde span{font-family:var(--sans);font-size:8pt;font-weight:600}
  .pdf-tabla{width:100%;border-collapse:collapse;font-size:7.8pt;border-radius:3mm;overflow:hidden;background:var(--blanco)}
  .pdf-tabla th,.pdf-tabla td{padding:2.1mm 2.4mm;text-align:left;border-bottom:.2mm solid var(--linea)}
  .pdf-tabla thead th{background:var(--petroleo);color:#D3DADB;font-size:6pt;letter-spacing:.12em;text-transform:uppercase}
  .pdf-tabla td b{font-family:var(--serif);font-weight:400;font-size:10.5pt;color:var(--petroleo)}
  .pdf-tabla tbody tr:last-child>*{border-bottom:0}
  .pdf-nota{margin:2.4mm 0 0;font-size:7pt;color:var(--tinta-2)}
  .pdf-precio{display:flex;flex-direction:column;min-height:0}
  .pdf-aerea{position:relative;flex:1;min-height:0;margin:3mm 0 0;border-radius:3mm;overflow:hidden}
  .pdf-aerea img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
  .pdf-aerea figcaption{position:absolute;left:0;right:0;bottom:0;padding:5mm 2.5mm 1.8mm;font-size:6.6pt;font-weight:600;color:#fff;background:linear-gradient(180deg,rgba(8,26,29,0),rgba(8,26,29,.8))}
  .pdf-log dl{margin:0;border-top:.2mm solid var(--linea)}
  .pdf-log dl div{display:grid;grid-template-columns:22mm 1fr;gap:2.5mm;padding:1.5mm 0;border-bottom:.2mm solid var(--linea)}
  .pdf-log dt{font-weight:700;font-size:7.2pt}
  .pdf-log dd{margin:0;font-size:7.2pt;color:var(--tinta-2)}
  .pdf-porque{display:grid;grid-template-columns:repeat(3,1fr);gap:3mm;margin:5mm 10mm 0}
  .pdf-porque div{padding:3mm 3.5mm;border-radius:3mm;background:var(--blanco);border-top:.6mm solid var(--laton)}
  .pdf-porque b{display:block;font-family:var(--serif);font-weight:400;font-size:10pt;line-height:1.1}
  .pdf-porque span{display:block;margin-top:1mm;font-size:6.8pt;color:var(--tinta-2)}
  .pdf-pie{display:flex;justify-content:space-between;align-items:flex-end;gap:8mm;margin-top:5mm;padding:6mm 12mm 7mm;background:var(--petroleo);color:#fff}
  .pdf-pie .pdf-h{color:var(--oro);margin-bottom:1.5mm}
  .pdf-pie p{margin:0;font-size:7pt;color:#BBC6C7}
  .pdf-pie .pdf-contacto{font-family:var(--serif);font-size:12pt;color:#fff;margin-bottom:1mm}
  .pdf-pie .pdf-legal{text-align:right;font-size:6.2pt;color:#91A3A5}
}

@view-transition{navigation:auto}
::view-transition-old(root){animation:wow-sale 240ms ease both}
::view-transition-new(root){animation:wow-entra 560ms cubic-bezier(.2,.8,.2,1) both}
@keyframes wow-sale{to{opacity:0;transform:translateY(-10px)}}
@keyframes wow-entra{from{opacity:0;transform:translateY(22px)}}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
