/* ============================================================
   AZUR Circulo Mediterraneo · Hoja de estilos global (V4)
   Fondo crema · navy como puntuacion institucional (pie)
   Home e interiores con el mismo tratamiento de titulo y texto.
   ============================================================ */
@font-face{font-family:'Newsreader Display';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/newsreader-display.woff2') format('woff2');}
@font-face{font-family:'Newsreader Display';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/newsreader-display-italic.woff2') format('woff2');}
@font-face{font-family:'Newsreader Text';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/newsreader-text.woff2') format('woff2');}
@font-face{font-family:'Newsreader Text';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/newsreader-text-italic.woff2') format('woff2');}

:root{
  --navy:#0F2A3A; --azur:#0040B8; --cream:#F7F6F2; --grey:#7A7A7A;
  --navy-soft:rgba(15,42,58,.66); --navy-faint:rgba(15,42,58,.10);
  --cream-soft:rgba(247,246,242,.72); --cream-faint:rgba(247,246,242,.22);
  --serif:'Newsreader Display',Georgia,'Times New Roman',serif;
  --sans:'Newsreader Text',Georgia,'Times New Roman',serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--cream);color:var(--navy);font-family:var(--sans);font-weight:400;line-height:1.7;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;
  text-rendering:optimizeLegibility;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
main{flex:1;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none;transition:color .4s ease,opacity .4s ease}
::selection{background:var(--azur);color:var(--cream)}

/* Header (logo mas grande) */
.site-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(20px,4vw,48px);
  padding:clamp(24px,2.8vw,34px) clamp(24px,5vw,80px);background:var(--cream)}
.brand{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:16px;align-items:center;color:var(--azur)}
.brand-enso{grid-row:1 / span 2;width:clamp(62px,5.5vw,76px);height:auto;display:block}
.brand-mark{grid-column:2;grid-row:1;align-self:end;font-family:var(--serif);font-weight:400;font-size:clamp(21px,2vw,26px);letter-spacing:.18em;color:var(--azur);line-height:1}
.brand-tag{grid-column:2;grid-row:2;align-self:start;margin-top:5px;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(9.5px,.8vw,11px);letter-spacing:.04em;color:var(--azur);line-height:1}
.site-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(18px,2.6vw,34px)}
.site-nav a{font-family:var(--sans);font-size:clamp(11px,.85vw,12.5px);font-weight:400;text-transform:uppercase;letter-spacing:.14em;color:var(--navy-soft);transition:color .35s ease}
.site-nav a:hover{color:var(--navy)}
.site-nav a.active{color:var(--navy)}
.nav-toggle{display:none}
.lang{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:clamp(11px,.85vw,12.5px);letter-spacing:.06em;justify-self:end}
.lang a{color:var(--navy-soft);position:relative;padding-bottom:4px;transition:color .35s ease}
.lang a:hover{color:var(--navy)}
.lang a.active{color:var(--azur)}
.lang a.active::after{content:'';position:absolute;left:50%;bottom:0;width:10px;height:1px;background:var(--azur);transform:translateX(-50%)}
.lang span{color:var(--navy-faint)}

/* Titulo de pagina (las 6 + legales, todos alineados) */
.page-heading{width:100%;max-width:600px;margin:0 auto;padding:clamp(32px,4vw,56px) clamp(24px,5vw,32px) clamp(20px,2.5vw,32px);text-align:left}
.page-heading h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4.4vw,46px);letter-spacing:-.005em;line-height:1.12;color:var(--navy)}

/* Editorial (Home e interiores, mismo tratamiento) */
.editorial{width:100%;max-width:600px;margin:0 auto;padding:clamp(10px,1.5vw,18px) clamp(24px,5vw,32px) clamp(80px,12vw,150px);text-align:left}
.editorial p{font-family:var(--sans);font-weight:400;font-size:clamp(16.5px,1.15vw,18px);line-height:1.74;color:var(--navy);opacity:.90;margin-bottom:26px}
.editorial p:last-child{margin-bottom:0}
/* Ritmo interiores: vacío inferior medido (excluye Home y legales) */
body:not(.page-home):not(.page-legal) .editorial{padding-bottom:clamp(64px,8vw,104px)}
body:not(.page-home):not(.page-legal) .page-heading{padding-top:clamp(36px,4.4vw,60px)}
.editorial p.closing-statement{margin-bottom:26px}
.editorial p.lead-out{margin-top:8px;margin-bottom:0}
.editorial p.lead-out a{font-family:var(--serif);font-style:italic;font-size:clamp(15px,1.05vw,17px);color:var(--azur)}
.editorial p.lead-out a:hover{color:var(--navy)}
.editorial a[href^="mailto:"]{color:var(--azur);transition:color .4s ease}
.editorial a[href^="mailto:"]:hover{color:var(--navy)}

/* Imagenes */
.hero-image{width:100%;margin:0 0 clamp(8px,2vw,24px);padding:0;height:clamp(320px,52vh,560px);overflow:hidden}
.hero-image img{width:100%;height:100%;object-fit:cover;display:block}
.lemon-tree,.gathering-image,.page-image{order:-1;width:100%;max-width:100%;margin:0 0 clamp(20px,3vw,40px);padding:0}
.lemon-tree img,.gathering-image img,.page-image img,.page-image video{display:block;width:100%;height:clamp(300px,42vh,468px);object-fit:cover;-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
/* Interiores en escritorio: mas altura para no recortar; siempre por debajo del hero de Home. Movil/tablet sin cambios. */
@media (min-width:1025px){.lemon-tree img,.gathering-image img,.page-image img{height:clamp(400px,55vh,580px)}}

/* Legales */
.page-legal .editorial{padding-bottom:clamp(72px,10vw,128px)}
.page-legal .editorial p{margin-bottom:18px}
.page-legal .editorial h2{font-family:var(--serif);font-weight:400;font-size:clamp(18px,1.9vw,22px);line-height:1.35;color:var(--navy);margin-top:clamp(28px,4vw,40px);margin-bottom:clamp(14px,1.8vw,20px)}
.page-legal .editorial dl{margin:24px 0 64px}
.page-legal .editorial dt{font-family:var(--sans);font-weight:400;font-size:clamp(13px,.95vw,14px);color:var(--grey);margin-bottom:6px}
.page-legal .editorial dd{font-family:var(--sans);font-weight:400;font-size:clamp(16px,1.15vw,18px);line-height:1.65;color:var(--navy);opacity:.90;margin-bottom:22px}
.page-legal .editorial dd:last-child{margin-bottom:0}
.page-legal .editorial p a{text-decoration:underline;text-decoration-color:rgba(15,42,58,.30);text-underline-offset:4px;text-decoration-thickness:1px;transition:text-decoration-color .4s ease}
.page-legal .editorial p a:hover{text-decoration-color:rgba(15,42,58,.70)}
.page-legal .editorial ol{list-style:none;counter-reset:legal-counter;padding-left:1.8em;margin:0 0 18px}
.page-legal .editorial ol li{counter-increment:legal-counter;font-family:var(--sans);font-weight:400;font-size:clamp(16px,1.15vw,18px);line-height:1.74;color:var(--navy);opacity:.90;margin-bottom:8px;position:relative}
.page-legal .editorial ol li::before{content:counter(legal-counter,lower-alpha) ")";position:absolute;left:-1.8em;color:var(--grey)}
.page-legal .editorial ol li:last-child{margin-bottom:0}

/* Footer — navy */
.site-footer{background:var(--navy);color:var(--cream-soft);padding:clamp(58px,6vw,84px) clamp(24px,5vw,80px);display:grid;grid-template-columns:1fr auto;gap:clamp(40px,8vw,96px);align-items:end;font-family:var(--sans);font-size:clamp(12px,.9vw,13.5px);letter-spacing:.03em;line-height:1.75}
.footer-brand{font-family:var(--serif);font-style:normal;text-transform:uppercase;letter-spacing:.16em;color:var(--cream);font-size:15px}
.footer-motto{margin-top:7px;font-size:clamp(11.5px,.85vw,13px);letter-spacing:.03em;color:var(--cream-soft)}
.footer-meta-block{text-align:right}
.footer-contact a{color:var(--cream)}
.footer-legal{display:flex;gap:22px;margin-top:12px;justify-content:flex-end}
.footer-legal a{color:var(--cream-soft)}
.footer-legal a:hover{color:var(--cream)}
.footer-legal a.active{color:var(--cream)}
.footer-copy{margin-top:18px;font-size:clamp(11px,.78vw,12px);color:rgba(247,246,242,.55);letter-spacing:.04em}

/* Responsive */
@media (max-width:1024px){
  .site-header{padding:26px 32px}
  .page-heading{padding:clamp(28px,4vw,48px) 32px clamp(18px,2.5vw,28px)}
  .editorial{padding:12px 32px clamp(72px,11vw,130px)}
  .site-footer{padding:58px 32px;gap:48px}
}
@media (max-width:960px){
  .site-footer{grid-template-columns:1fr;gap:36px;text-align:left}
  .footer-meta-block{text-align:left}
  .footer-legal{justify-content:flex-start;flex-wrap:wrap;gap:16px}
}
@media (max-width:940px){
  .site-header{grid-template-columns:1fr auto auto;gap:0 clamp(16px,3vw,32px)}
  .brand{justify-content:start}
  .nav-toggle{display:inline-flex;align-items:center;position:relative;background:none;border:0;cursor:pointer;font-family:var(--sans);font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.14em;color:var(--navy-soft);padding:4px 0 8px}
  .nav-toggle::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100%,44px);height:44px}
  .nav-toggle[aria-expanded="true"]{color:var(--navy)}
  .site-nav{grid-column:1 / -1;grid-row:2;display:none;flex-direction:column;align-items:flex-start;gap:6px;padding-top:16px;margin-top:10px;border-top:1px solid var(--navy-faint)}
  .site-nav.is-open{display:flex}
  .site-nav a{font-size:13px;letter-spacing:.12em;padding:8px 0}
}
@media (max-width:720px){
  .site-header{column-gap:14px;padding:18px 24px 14px}
  .brand{column-gap:11px}
  .brand-enso{width:50px}
  .brand-mark{font-size:20px}
  .brand-tag{font-size:10px}
  .lang{font-size:12px}
  .page-heading{padding:28px 28px 20px}
  .page-heading h1{font-size:clamp(28px,7.5vw,36px)}
  .editorial{padding:10px 28px 72px;max-width:560px}
  .editorial p{font-size:16.5px;line-height:1.72;margin-bottom:22px}
  .hero-image{height:clamp(240px,42vh,360px)}
  .site-footer{grid-template-columns:1fr;gap:28px;padding:46px 24px;text-align:left}
  .footer-meta-block{text-align:left}
  .footer-legal{justify-content:flex-start;flex-wrap:wrap;gap:16px}
}

/* ============================================================
   HOME — gesto de portada (solo body.page-home)
   Respiración mayor, titular con prominencia de cubierta,
   y una entrada pausada (ceremonia de tiempo, no de adorno).
   ============================================================ */
.page-home .page-heading{padding-top:clamp(52px,7vw,92px)}
.page-home .page-heading h1{font-size:clamp(32px,4.1vw,44px);line-height:1.14}
.page-home .editorial{padding-top:clamp(20px,2.8vw,34px)}
/* Hero en bucle sin costura: dos vídeos que se relevan por opacidad */
.hero-loop{position:relative;height:clamp(340px,56vh,600px);overflow:hidden}
.hero-loop .hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s linear}
.hero-loop .hero-vid.is-front{opacity:1}

@keyframes azur-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.page-home .page-heading h1{animation:azur-rise 1.5s cubic-bezier(.22,.61,.36,1) .2s both}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none !important;animation:none !important}}

/* Accesibilidad: foco de teclado y salto al contenido */
:focus-visible{outline:2px solid var(--azur);outline-offset:3px}
:focus:not(:focus-visible){outline:none}
.skip-link{position:absolute;top:10px;left:10px;z-index:1000;background:var(--cream);color:var(--navy);font-family:var(--sans);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:10px 16px;border:1px solid var(--navy-faint);transform:translateY(-160%);transition:transform .25s ease}
.skip-link:focus{transform:translateY(0)}
