:root{--cream:#f8f3e8;--paper:#fffdf8;--green:#3f8f38;--green-dark:#1d4c2a;--red:#ed0b18;--ink:#252525;--muted:#706b61;--line:#d8d0c2;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);overflow-x:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:1000;background:var(--ink);color:#fff;padding:.75rem 1rem}.skip-link:focus{top:1rem}.splash{position:fixed;inset:0;z-index:99;display:grid;place-items:center;background:var(--cream);animation:splashOut .7s 1.4s forwards;pointer-events:none}.splash__logo{width:96px;animation:logoIn 1s cubic-bezier(.2,.8,.2,1) both}.site-header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:1rem 3vw;color:#fff;background:linear-gradient(#1118,transparent);transition:background .25s}.brand,.footer-brand{display:flex;align-items:center;gap:.55rem;color:inherit;text-decoration:none;letter-spacing:.12em;font-size:.78rem;font-weight:bold}.brand em,.footer-brand em{font-style:normal;font-weight:normal}.brand__mark{width:34px;height:42px;object-fit:contain}.nav{display:flex;gap:1.25rem;margin-left:auto;margin-right:1.4rem}.nav a,.portal-link,.mobile-nav a,.footer-actions a{color:inherit;text-decoration:none;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.nav a:hover,.portal-link:hover,.footer-actions a:hover,.text-link:hover{color:#ffd1c8}.header-actions{display:flex;align-items:center;gap:.75rem}.language-picker select{border:1px solid #fff8;background:#0004;color:#fff;padding:.55rem .3rem;font-weight:bold}.language-picker option{color:var(--ink)}.portal-link{border:1px solid #fff8;padding:.62rem .75rem}.menu-button{display:none;background:none;border:0;color:#fff;width:44px;height:44px;padding:.55rem}.menu-button span:not(.sr-only){display:block;height:1px;background:currentColor;margin:.35rem 0}.mobile-nav{position:fixed;inset:70px 1rem auto 1rem;z-index:19;background:var(--green-dark);color:#fff;padding:1rem;box-shadow:0 10px 24px #0003}.mobile-nav a{display:block;padding:.9rem 0;border-bottom:1px solid #fff3}.scene{position:relative;min-height:100svh;color:#fff;isolation:isolate;overflow:hidden}.scene__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.scene__veil{position:absolute;inset:0;background:linear-gradient(90deg,#152016b5 0%,#15201642 50%,transparent 100%);z-index:-1}.scene__veil--bottom{background:linear-gradient(0deg,#152016b8 0%,transparent 62%)}.scene__veil--left{background:linear-gradient(90deg,#152016c2 0%,transparent 70%)}.scene__content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:8vw}.scene__content--hero{max-width:650px}.scene__content--bottom{justify-content:flex-end;padding-bottom:10vw}.scene__content--left{max-width:680px}.scene__content--dock{max-width:650px}.eyebrow{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:bold;margin:0 0 1.6rem}.scene h1,.scene h2{font-family:var(--serif);font-size:clamp(3.6rem,8vw,8rem);line-height:.9;letter-spacing:-.045em;margin:0}.scene h2{font-size:clamp(3rem,7vw,7rem)}h1 i,h2 i{font-weight:normal;color:#f9c6b5}.lede{max-width: thirty;max-width:31rem;font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.5;margin:2rem 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.85rem 1.2rem;border:1px solid transparent;text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;font-weight:bold;cursor:pointer}.button--light{background:#fff;color:var(--ink)}.button--dark{background:var(--green-dark);color:#fff}.button:hover{transform:translateY(-2px)}.hero-facts{position:absolute;right:5vw;bottom:2.4rem;display:flex;gap:1rem;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}.hero-facts span+span{border-left:1px solid #fff8;padding-left:1rem}.scene__caption{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.chapter{padding:clamp(5rem,12vw,11rem) clamp(1.25rem,8vw,9rem);background:var(--cream);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,7vw,9rem);align-items:start}.chapter--notes{display:block}.chapter--process{background:var(--green-dark);color:#f8f3e8}.chapter--audience{background:var(--paper)}.chapter--faq{grid-template-columns:.8fr 1.2fr}.chapter--contact{background:var(--red);color:#fff}.chapter-number{font-size:.7rem;letter-spacing:.12em;color:var(--muted);margin:0 0 2.8rem}.chapter--process .chapter-number{color:#b5cfb3}.chapter--contact .chapter-number{color:#ffd1c8}.chapter h2{font-family:var(--serif);font-size:clamp(3rem,6vw,6.5rem);line-height:.92;letter-spacing:-.045em;margin:0}.chapter h2 i{color:var(--red);font-weight:normal}.chapter--process h2 i{color:#b4d69f}.chapter--contact h2 i{color:#ffd1c8}.chapter-copy{max-width:35rem;margin-top:4rem}.chapter-copy p,.contact-intro{font-family:var(--serif);font-size:clamp(1.25rem,2.3vw,2rem);line-height:1.2;margin:0 0 2rem}.text-link{color:var(--red);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:bold;text-decoration:none}.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:5rem;border-top:1px solid var(--line)}.notes article{padding-top:1.5rem;border-top:2px solid var(--green)}.notes span,.audience-grid span{font-size:.7rem;letter-spacing:.12em;color:var(--red)}.notes h3{font-family:var(--serif);font-size:1.8rem;font-weight:normal;margin:1rem 0 .6rem}.notes p,.audience-grid p,.process-list p{line-height:1.55;color:var(--muted);margin:0}.process-list{list-style:none;padding:0;margin:0}.process-list li{display:flex;gap:1.5rem;border-top:1px solid #fff4;padding:1.3rem 0}.process-list li>span{color:#b4d69f;font-size:.7rem}.process-list strong{font-family:var(--serif);font-size:1.9rem;font-weight:normal}.process-list p{color:#d6e0d1;margin-top:.45rem}.audience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 3rem}.audience-grid div{border-top:1px solid var(--line);padding-top:1.25rem}.audience-grid p{font-family:var(--serif);font-size:1.7rem;color:var(--ink);margin-top:1rem}.faq-list details{border-top:1px solid var(--line);padding:1.2rem 0}.faq-list summary{cursor:pointer;font-family:var(--serif);font-size:1.45rem;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';float:right;font-family:var(--sans);color:var(--red)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{max-width:42rem;color:var(--muted);line-height:1.55;margin:1rem 0 0}.contact-links{display:grid;gap:.65rem}.contact-links a{color:#fff;text-decoration:none;font-size:1.1rem}.contact-links a:hover{text-decoration:underline}.contact-form{display:grid;gap:.55rem;max-width:32rem}.contact-form label{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;margin-top:.6rem}.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;border:1px solid #fff9;background:#fff1;color:#fff;padding:.85rem;font:inherit;min-height:46px}.contact-form textarea{resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#fff9}.consent{display:flex;align-items:flex-start;gap:.6rem;font-size:.68rem!important;letter-spacing:0!important;text-transform:none!important;line-height:1.4}.consent input{margin-top:.18rem;accent-color:var(--green)}.honeypot{position:absolute;left:-10000px}.form-status{font-size:.78rem;min-height:1.2rem}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#182118;color:#fff;padding:2rem clamp(1.25rem,8vw,9rem);font-size:.7rem;line-height:1.6}.footer-actions{display:flex;align-items:center;gap:1.25rem}.footer-actions a{font-size:.68rem}@keyframes logoIn{from{opacity:0;transform:scale(.72) rotate(-8deg)}to{opacity:1;transform:none}}@keyframes splashOut{to{opacity:0;visibility:hidden}}@media (max-width:850px){.nav,.portal-link{display:none}.menu-button{display:block}.chapter{grid-template-columns:1fr;gap:3rem}.chapter-copy{margin-top:0}.chapter--faq{grid-template-columns:1fr}.notes{grid-template-columns:1fr;gap:0}.notes article{padding:1.4rem 0}.scene__content{padding:6rem 1.25rem 2.5rem}.scene__image{object-position:58% center}.scene--hero .scene__image{object-position:55% center}.scene h1{font-size:clamp(3.3rem,14vw,6rem)}.scene h2{font-size:clamp(2.8rem,12vw,5rem)}.hero-facts{left:1.25rem;right:auto;bottom:1.5rem;gap:.6rem;flex-wrap:wrap}.hero-facts span+span{padding-left:.6rem}.audience-grid{grid-template-columns:1fr}.site-footer{align-items:flex-start;flex-direction:column}.footer-actions{flex-wrap:wrap}.chapter--contact{padding-bottom:4rem}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}@media (max-height:600px) and (orientation:landscape){.scene{min-height:620px}.scene__content{padding-top:5rem;padding-bottom:3rem}}
 .splash__video{width:140px;height:140px;object-fit:contain;animation:logoIn 1s cubic-bezier(.2,.8,.2,1) both}.splash__logo{display:none}
/* Splash, campaign banner and legal chapter */
.splash{background:#fff;animation:splashOut .6s 4.2s forwards}.splash__video{width:min(42vw,320px);height:min(42vw,320px);object-fit:contain;mix-blend-mode:normal;background:#fff}
.fair-banner[hidden]{display:none}.fair-banner{position:fixed;inset:auto 1.25rem 1.25rem;z-index:30;display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:center;padding:1.25rem 3.5rem 1.25rem 1.5rem;background-color:var(--paper);background-image:linear-gradient(90deg,rgba(255,253,248,.28),rgba(255,253,248,.68)),url('banner.webp');background-size:cover;background-position:center;background-blend-mode:normal;color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 50px #1b281b33;opacity:0;transform:translateY(1rem);transition:opacity .25s ease,transform .25s ease}.fair-banner.is-visible{opacity:1;transform:none}.fair-banner__logos{display:flex;align-items:center;gap:.7rem}.fair-banner__logos img:first-child{width:210px;height:82px;object-fit:contain}.fair-banner__logos img:last-child{width:175px;height:82px;object-fit:contain}.fair-banner__logos span{font-family:var(--serif);font-size:1.8rem;color:var(--red)}.fair-banner__copy .eyebrow{margin-bottom:.35rem;color:var(--red)}.fair-banner__copy h2{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);line-height:.95;margin:0 0 .45rem}.fair-banner__copy p{margin:.35rem 0 1rem;color:var(--muted);font-size:.88rem}.fair-banner .button{min-height:40px}.fair-banner__close{position:absolute;top:.55rem;right:.7rem;border:0;background:transparent;color:var(--muted);font-size:1.7rem;line-height:1;cursor:pointer;width:44px;height:44px}.legal{background:var(--paper);padding:clamp(4.5rem,9vw,8rem) clamp(1.25rem,8vw,9rem)}.legal h2{font-family:var(--serif);font-size:clamp(2.8rem,6vw,6rem);line-height:.92;letter-spacing:-.045em;margin:0 0 3rem}.legal-grid{max-width:58rem}.legal details{border-top:1px solid var(--line);padding:1rem 0}.legal summary{cursor:pointer;font-family:var(--serif);font-size:1.35rem;list-style:none}.legal summary::-webkit-details-marker{display:none}.legal summary:after{content:'+';float:right;font-family:var(--sans);color:var(--red)}.legal details[open] summary:after{content:'−'}.legal details p{max-width:52rem;color:var(--muted);line-height:1.55;margin:1rem 0 0}
@media (min-width:851px){.scene__content--hero{justify-content:flex-start;padding-top:clamp(7rem,16vh,11rem)}}
.scene--hero{min-height:max(100svh,860px)}.scene--hero .scene__content--hero{position:relative;inset:auto;min-height:max(100svh,860px);padding-top:clamp(9rem,18vh,13rem);padding-bottom:6rem;justify-content:flex-start}
@media (max-width:850px){.scene--hero{min-height:100svh}.scene--hero .scene__content--hero{position:relative;inset:auto;min-height:100svh;padding-top:7rem;padding-bottom:6rem;justify-content:flex-start}}
@media (max-width:850px){.scene--facility,.scene--cold{min-height:74svh}.scene--facility .scene__image,.scene--cold .scene__image{object-position:center center}.scene--facility .scene__content--left,.scene--cold .scene__content--left{justify-content:flex-end;padding:5rem 1.25rem 3rem}.scene--facility h2,.scene--cold h2{font-size:clamp(2.6rem,11vw,4.8rem)}}
html[dir="rtl"] .scene__content--left,html[dir="rtl"] .scene__content--hero,html[dir="rtl"] .chapter-copy,html[dir="rtl"] .contact-addresses{text-align:right}
@media (max-width:850px){.fair-banner{inset:auto .75rem .75rem;grid-template-columns:1fr;gap:.5rem;padding:1rem 2.75rem 1rem 1rem}.fair-banner__logos{justify-content:flex-start}.fair-banner__logos img:first-child{width:145px;height:56px}.fair-banner__logos img:last-child{width:125px;height:56px}.fair-banner__copy p{font-size:.78rem}.fair-banner .button{width:100%}}
.fair-highlight{font-size:1.08em;font-weight:800;color:var(--ink)}
.contact-addresses{margin-top:2rem;max-width:34rem;border-top:1px solid #fff5;padding-top:1rem}.contact-addresses h3{font-family:var(--serif);font-size:1.5rem;font-weight:normal;margin:0 0 1rem}.contact-addresses p{font-size:.82rem;line-height:1.5;margin:.9rem 0}.contact-addresses strong{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.contact-addresses a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.cookie-consent{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 1.25rem;background:#182118;color:#fff;box-shadow:0 18px 45px #0005}.cookie-consent h2{font-family:var(--serif);font-size:1.25rem;font-weight:normal;margin:0 0 .35rem}.cookie-consent p{font-size:.78rem;line-height:1.45;margin:0 0 .35rem;color:#e8eee5}.cookie-consent a{color:#b4d69f;font-size:.72rem}.cookie-consent__actions{display:flex;gap:.6rem;flex-shrink:0}.cookie-consent .button{min-height:40px;padding:.65rem .85rem}.cookie-consent .button--light{background:#fff;color:var(--ink)}
.experience-note{font-family:var(--sans)!important;font-size:.9rem!important;line-height:1.5!important;color:var(--green-dark)!important;border-left:3px solid var(--red);padding-left:1rem;margin:2rem 0!important}
.copyright{margin:0;padding:1rem 1.25rem 1.5rem;background:#182118;color:#fff9;text-align:center;font-size:.7rem;letter-spacing:.08em}
@media (max-width:650px){.cookie-consent{align-items:stretch;flex-direction:column;gap:.75rem;bottom:.75rem;margin:0}.cookie-consent__actions{display:grid;grid-template-columns:1fr 1fr}.cookie-consent .button{width:100%}}

/* Accesibilidad: contraste reforzado y foco visible para teclado. */
.chapter-number{color:#4f4a42}
.text-link,.notes span,.audience-grid span{color:#8f0a12}
.chapter--contact .chapter-number{color:#ffe8e2}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.chapter--contact :focus-visible,.site-footer :focus-visible{outline-color:#fff}

/* El honeypot no debe crear un desplazamiento horizontal, especialmente con dir=rtl. */
.honeypot{position:absolute!important;left:auto!important;right:auto!important;top:auto!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

/* Ajustes de composición móvil por escena. */
@media (max-width:850px){
  .scene--dock .scene__image{object-position:40% center}
  .scene--dock .scene__content--dock{max-width:none;justify-content:flex-end;padding:5rem 1.25rem 3.5rem}
  .scene--dock .scene__veil{background:linear-gradient(0deg,#152016e8 0%,#1520169c 42%,#15201620 76%,transparent 100%)}
  .scene--macro .scene__image{object-position:58% center}
  .scene--facility .scene__image,.scene--cold .scene__image{object-position:50% center}
}
html[dir="rtl"] .scene__content--dock{text-align:right}

/* Composición final de las imágenes actuales en pantallas pequeñas. */
@media (max-width:850px){
  /* El nuevo transport.webp es más vertical: mantenemos centrados el muelle y la entrada con el logotipo. */
  .scene--dock .scene__image{object-position:43% 50%}
  .scene--dock .scene__content--dock{padding:5rem 1.25rem 3.5rem}
  /* En estas dos fotografías el motivo principal queda en el eje central. */
  .scene--facility .scene__image,.scene--cold .scene__image{object-position:50% 50%}
}
