:root{
  --paper:#FAF8F3;--ink:#2B3A2E;--ink-soft:#5B7185;--line:#E4DFCF;--accent:#C8794A;
  --maxw:920px;--ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Archivo",system-ui,sans-serif;line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:"Piazzolla",Georgia,serif;font-weight:400;line-height:1.04;color:var(--ink);margin:0;}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(22px,5vw,50px);}
.section{padding-block:clamp(40px,6vw,72px);}
.kick{font-family:"Archivo";font-size:.66rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);}
.num{font-family:"Archivo";font-size:.66rem;font-weight:600;letter-spacing:.2em;color:var(--accent);}
.label{display:flex;align-items:center;gap:14px;padding-bottom:16px;margin-bottom:30px;border-bottom:1px solid var(--line);}
.lnk{font-family:"Archivo";font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;display:inline-flex;align-items:center;gap:9px;padding-bottom:4px;border-bottom:1px solid var(--ink);transition:.3s var(--ease);}
.lnk:hover{color:var(--accent);border-color:var(--accent);gap:14px;}

.top{position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(252,251,248,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.top .bar{display:flex;align-items:center;justify-content:space-between;padding:14px clamp(22px,5vw,50px);max-width:1280px;margin-inline:auto;}
.top .brand{font-family:"Fraunces";font-weight:500;font-size:1.4rem;letter-spacing:.36em;padding-left:.36em;}
.top .back{font-family:"Archivo";font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);display:inline-flex;gap:8px;align-items:center;}
.top .back:hover{color:var(--accent);}

.lang-switch{display:flex;align-items:center;gap:0;font-family:"Archivo";font-size:.68rem;font-weight:600;letter-spacing:.12em;}
.lang-switch button,.lang-switch a{background:none;border:0;padding:4px 9px;color:var(--ink-soft);cursor:pointer;font:inherit;letter-spacing:inherit;}
.lang-switch button.active,.lang-switch a.active{color:var(--accent);}
.lang-switch button:hover,.lang-switch a:hover{color:var(--ink);}
.lang-switch button + button,.lang-switch a + a{border-left:1px solid var(--line);}

.cover{padding-top:0;}
.cover-full{position:relative;aspect-ratio:16/8;overflow:hidden;background:#111;margin-top:0;}
.cover-full img{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:grayscale(1) contrast(1.06);}
.cover-full img.cover-color{filter:contrast(1.05) saturate(1.08) brightness(1.03);object-position:center 20%;}
.cover-full::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(8,8,8,.18) 0%,rgba(9,9,9,.5) 45%,rgba(8,8,8,.72) 62%,rgba(6,6,6,.92) 82%);}
.cover-full .info{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;text-align:right;padding:clamp(80px,12vw,132px) clamp(24px,5vw,64px) 30px;}
.cover-full .info h1{color:#fff;font-size:clamp(2.1rem,4.6vw,3.6rem);text-shadow:0 2px 6px rgba(0,0,0,.9),0 8px 26px rgba(0,0,0,.7);}
.cover-full .info .ov-kick,.cover-full .info .ov-kick-suffix{font-family:"Archivo";font-size:.66rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);text-shadow:0 1px 4px rgba(0,0,0,.9);}
.cover-full .info .ov-kick-suffix{color:#D8D2C4;text-transform:none;letter-spacing:.06em;}
.cover-full .info h1{margin-top:10px;}
.cover-full .info .ov-role{display:block;font-family:"Archivo";font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#D8D2C4;margin-top:8px;text-shadow:0 1px 4px rgba(0,0,0,.9);}
.cover-full .info p{color:#fff;margin:16px 0 0;max-width:44ch;font-family:"Cardo",serif;font-weight:400;font-style:italic;font-size:1.15rem;line-height:1.85;text-shadow:0 1px 4px rgba(0,0,0,.95),0 4px 18px rgba(0,0,0,.7);}

.histoire{display:grid;grid-template-columns:1.5fr 1.4fr;gap:clamp(30px,5vw,60px);align-items:start;}
.histoire .bio p{color:var(--ink-soft);margin:0 0 16px;max-width:62ch;font-size:.8rem;line-height:1.4;}
.histoire-side{display:flex;flex-direction:column;gap:22px;}
.side-card{border:1px solid var(--line);border-radius:3px;padding:18px 20px;}
.side-social{display:flex;gap:14px;}
.side-social a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;color:var(--ink);opacity:.8;transition:.25s;}
.side-social a:hover{opacity:1;color:var(--accent);border-color:var(--accent);}
.side-social svg{fill:currentColor;display:block;}
.side-card .lbl{font-family:"Archivo";font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;display:block;}
.side-card a.ext{font-family:"Piazzolla";font-style:italic;font-size:1.05rem;color:var(--ink);}
.side-card a.ext:hover{color:var(--accent);}
.side-card img.sponsor{height:34px;width:auto;}
.side-video{position:relative;aspect-ratio:16/9;border-radius:3px;overflow:hidden;background:#111;cursor:pointer;border:1px solid var(--line);}
.side-photo{position:relative;border-radius:3px;overflow:hidden;border:1px solid var(--line);}
.side-photo img{width:100%;height:auto;display:block;}
.side-video img{width:100%;height:100%;object-fit:cover;filter:brightness(.75);transition:.5s var(--ease);}
.side-video:hover img{filter:brightness(.6);transform:scale(1.03);}
.side-video .pb{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;background:var(--accent);display:grid;place-items:center;}
.side-video .pb svg{fill:#fff;margin-left:2px;}
.side-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

.gal{columns:3;column-gap:14px;margin-top:6px;}
.gal a{display:block;margin-bottom:14px;break-inside:avoid;overflow:hidden;border-radius:2px;cursor:zoom-in;}
.gal img{width:100%;display:block;filter:grayscale(.1);transition:filter .6s var(--ease),transform .8s var(--ease);}
.gal a:hover img{filter:grayscale(0);transform:scale(1.04);}
.gal-note{font-family:"Piazzolla";font-style:italic;color:var(--ink-soft);font-size:.95rem;margin-top:14px;}

.lb{position:fixed;inset:0;z-index:100;background:rgba(18,15,12,.94);display:none;align-items:center;justify-content:center;padding:30px;}
.lb.open{display:flex;}
.lb img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:2px;}
.lb .x,.lb .prev,.lb .next{position:absolute;background:none;border:0;color:#fff;cursor:pointer;font-family:"Archivo";}
.lb .x{top:22px;right:26px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;opacity:.8;}
.lb .prev,.lb .next{top:50%;transform:translateY(-50%);width:56px;height:56px;font-size:1.8rem;opacity:.7;}
.lb .prev{left:16px;}.lb .next{right:16px;}
.lb .prev:hover,.lb .next:hover,.lb .x:hover{opacity:1;}
.lb .cnt{position:absolute;bottom:24px;left:0;right:0;text-align:center;color:#fff;font-family:"Archivo";font-size:.7rem;letter-spacing:.2em;opacity:.7;}

.othernav{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;}

footer{border-top:1px solid var(--line);padding-block:36px 28px;margin-top:10px;}
.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:"Archivo";font-size:.74rem;color:var(--ink-soft);}
.foot a:hover{color:var(--accent);}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.in{opacity:1;transform:none;}

@media (max-width:720px){
  .histoire{grid-template-columns:1fr;}
  .cover-full{aspect-ratio:4/5;}
  .cover-full .info{align-items:flex-start;text-align:left;}
  .gal{columns:2;}
}
@media (max-width:480px){ .gal{columns:1;} }
@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto;}.reveal{opacity:1;transform:none;}}

/* ===== LOGO OLEO — branche fixe + infini qui respire ===== */
.logo-mark{display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-start;flex:none;line-height:0;}
.logo-mark .lm-branch{width:auto;display:block;}
.logo-mark .lm-inf{height:16%;width:auto;display:block;margin-top:7%;
  animation:infHeartbeat 3.92s ease-in-out infinite;transform-origin:center;}
@keyframes infHeartbeat{
  0%    {opacity:0;   transform:scale(.9);}
  18%   {opacity:0;   transform:scale(.9);}
  30%   {opacity:1;   transform:scale(1.22);}
  44%   {opacity:1;   transform:scale(1.08);}
  56%   {opacity:1;   transform:scale(1.16);}
  72%   {opacity:.5;  transform:scale(1.02);}
  92%   {opacity:0;   transform:scale(.9);}
  100%  {opacity:0;   transform:scale(.9);}
}
@media (prefers-reduced-motion:reduce){ .logo-mark .lm-inf{animation:none;opacity:.85;} }
.top .brand{display:inline-flex;align-items:center;gap:.24em;}
.brand-mark{height:1.95em;}
.brand-mark .lm-branch{height:70%;}
