/* OLIVA — a two-ink cut-paper camera journey. The drawings are isolated image layers. */
body.intro-active{overflow:hidden!important}
body.intro-active nav.top,body.intro-active #fab{visibility:hidden!important}
.olive-story{height:0;min-height:0!important;background:#b2c493;position:relative;overflow:visible!important}
.olive-intro{position:fixed;inset:0;z-index:1000;overflow:hidden;background:#254b3b;color:#b2c493;touch-action:none;isolation:isolate}
.intro-filter{position:absolute;pointer-events:none}
.intro-world{position:absolute;inset:0;transform-origin:50% 0;will-change:transform}
.intro-tree{position:absolute;top:76svh;left:50%;height:160svh;width:auto;aspect-ratio:2/3;transform:translateX(-50%);transform-origin:50% 96%;overflow:visible;will-change:transform}
.intro-hill{position:absolute;top:220svh;left:-70vw;width:240vw;height:38svh;fill:#b2c493;z-index:1}
.intro-ground{position:absolute;top:240svh;left:-70vw;width:240vw;height:250svh;background:#b2c493;z-index:1}
.intro-roots{position:absolute;top:230.4svh;left:50%;width:77.8svh;height:auto;aspect-ratio:700/130;transform:translateX(-50%);fill:none;stroke:#254b3b;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;z-index:2;opacity:0}
.intro-olive{position:absolute;left:calc(50% + 15px);top:85svh;width:20px;height:27px;border-radius:48% 52% 51% 49%;background:#101a14;transform:rotate(16deg);transform-origin:50% 15%;z-index:4;will-change:top,transform}
.intro-olive:before{content:"";position:absolute;left:9px;top:-6px;width:2px;height:9px;background:#101a14;transform:rotate(25deg)}
.intro-man{position:absolute;top:203svh;left:calc(50% + 130px);height:31svh;width:auto;aspect-ratio:543/724;background:#b2c493;-webkit-mask-image:url('/story/harvester-cut.png');mask-image:url('/story/harvester-cut.png');-webkit-mask-size:400% 100%;mask-size:400% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:0 0;mask-position:0 0;transform-origin:50% 96%;will-change:transform}
.intro-walker{position:absolute;top:203svh;left:calc(50% + 130px);height:31svh;width:auto;aspect-ratio:495/793;opacity:0;will-change:transform;z-index:3}
.intro-walk-sprite{display:block;width:100%;height:100%;background:#b2c493;-webkit-mask-image:url('/story/harvester-walk.png');mask-image:url('/story/harvester-walk.png');-webkit-mask-size:400% 100%;mask-size:400% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:0 0;mask-position:0 0;transform:scaleX(-1)}
.intro-brand{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);z-index:6;display:flex;align-items:center;gap:18px;white-space:nowrap;pointer-events:none;will-change:opacity,transform}
.intro-brand svg{width:62px;height:62px;color:#b2c493;fill:currentColor}
.intro-brand strong{font:700 clamp(86px,13vw,190px)/.85 Georgia,serif;letter-spacing:-.075em;color:#b2c493}
.intro-cue{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:18px;padding:12px 18px;border-radius:50px;background:#254b3b;font:600 11px/1.2 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;color:#b2c493}
.intro-cue span{font-size:22px;line-height:.5;animation:cue-drift 1.6s ease-in-out infinite}
.intro-skip{position:absolute;right:3%;top:3%;z-index:7;padding:12px;border:0;background:transparent;color:#b2c493;font:500 12px Arial,sans-serif;cursor:pointer}
.olive-intro.is-shaking .intro-olive{animation:olive-shiver .13s ease-in-out 6 alternate}
.olive-intro.is-shaking .intro-tree{animation:canopy-shiver .16s ease-in-out 5 alternate}
.olive-intro.is-shaking .intro-man{animation:harvester-shake .16s ease-in-out 5 alternate}
.olive-intro.is-transitioning{pointer-events:none}
@keyframes olive-shiver{to{transform:translateX(5px) rotate(-19deg)}}
@keyframes canopy-shiver{to{transform:translateX(-50%) rotate(1.3deg)}}
@keyframes harvester-shake{to{transform:translateX(-5px) rotate(-3deg)}}
@keyframes cue-drift{50%{transform:translateY(6px)}}
@media(max-width:640px){
  .intro-tree{top:72svh;height:110svh}
  .intro-hill{top:168svh;height:34svh}
  .intro-ground{top:185svh}
  .intro-roots{top:168.2svh;width:55svh;stroke-width:6}
  .intro-olive{left:calc(50% + 7px);top:85svh;width:14px;height:20px}
  .intro-man{top:155svh;left:calc(50% + 55px);height:24svh}
  .intro-walker{top:155svh;left:calc(50% + 55px);height:24svh}
  .intro-brand{top:45%;gap:10px}
  .intro-brand svg{width:35px;height:35px}
  .intro-brand strong{font-size:clamp(64px,20vw,100px)}
  .intro-cue{bottom:8%;font-size:10px}
}
@media(prefers-reduced-motion:reduce){.olive-intro,.olive-story{display:none!important}body.intro-active{overflow:auto!important}}

/* The real page sits immediately behind the paper scene. The pale soil and
   the landing section therefore share one colour during the whole reveal. */
.lieu{background:#b2c493!important;color:#254b3b!important;padding:clamp(60px,7vw,104px) 0!important;min-height:100svh;overflow:visible!important}
.lieu .lieu-grid{display:grid!important;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr)!important;gap:clamp(38px,6vw,96px)!important;align-items:center!important;width:min(1200px,88vw)!important;max-width:1200px!important;min-height:calc(100svh - 140px)!important;height:auto!important;margin:0 auto!important;padding:0!important;overflow:visible!important}
.lieu .lieu-pics{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;padding:0 12% 12% 0!important;overflow:visible!important}
.lieu .terrace-pic{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;aspect-ratio:1.02!important;border-radius:47% 47% 5px 5px!important;overflow:hidden;box-shadow:0 28px 50px -36px #254b3b88}
.lieu #terrImg{background-position:center 48%!important}
.lieu .salle-pic{position:absolute!important;left:auto!important;top:auto!important;right:0!important;bottom:0!important;width:47%!important;height:49%!important;aspect-ratio:auto!important;transform:rotate(4deg)!important;border:8px solid #dce6cc!important;border-radius:3px!important;box-shadow:0 18px 36px -20px #254b3bbb;z-index:2}
.lieu .cap2{display:block!important;position:absolute;bottom:2%;left:0;font-size:clamp(17px,2vw,26px);color:#254b3b;transform:rotate(-5deg);z-index:3}
.lieu .origin-copy{position:relative!important;inset:auto!important;padding:0!important;width:auto!important;max-width:520px!important;z-index:3;background:none!important;color:#254b3b!important}
.lieu .origin-kicker{display:block;font:700 11px/1.4 var(--mono);letter-spacing:.12em;color:#254b3b!important;margin-bottom:22px}
.lieu .ol-lines{font-size:clamp(54px,5.7vw,86px)!important;line-height:1.04;margin:0 0 28px!important;letter-spacing:-.055em;color:#254b3b}
.lieu .origin-body{max-width:460px!important}
.lieu .origin-intro{font-size:clamp(17px,1.45vw,21px)!important;line-height:1.55!important;color:#254b3b}
.lieu .origin-cuisine,.lieu .origin-end{display:none!important}
body.intro-active .lieu .lieu-pics,body.intro-active .lieu .origin-copy{transform:translateY(95svh)!important;transition:transform .95s cubic-bezier(.18,.72,.18,1)}
body.intro-revealing .lieu .lieu-pics,body.intro-revealing .lieu .origin-copy{transform:translateY(0)!important;transition-delay:.03s}
@media(max-width:760px){
  .lieu{padding:58px 0 76px!important}
  .lieu .lieu-grid{display:flex!important;flex-direction:column;align-items:stretch!important;gap:34px!important;width:min(600px,88vw)!important;min-height:0!important}
  .lieu .origin-copy{order:0}
  .lieu .lieu-pics{order:1;width:100%!important;padding:0 12% 10% 0!important}
  .lieu .terrace-pic{aspect-ratio:1.17!important;border-radius:44% 44% 4px 4px!important}
  .lieu .salle-pic{width:45%!important;height:46%!important;border-width:5px!important}
  .lieu .ol-lines{font-size:clamp(49px,10.3vw,74px)!important;max-width:600px}
  .lieu .origin-intro{font-size:17px!important;max-width:510px!important}
  .lieu .cap2{font-size:18px}
}
