/*
Theme Name: ALMMA • Food & Snacks — Constellation
Theme URI: https://almmafoods.com
Author: ALMMA design studios
Description: Thème one-page sur mesure pour ALMMA Food & Snacks — hero produits en carrousel, carte céleste interactive des marques, sections Le Groupe / Vision / Contact. Bilingue FR/EN, entièrement éditable depuis le Personnaliser.
Version: 2.4.4
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: Propriétaire
Text Domain: almma
*/

/* ═══ Polices ═══ */
@font-face{font-family:'Coconat';src:url('assets/fonts/Coconat-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Coconat';src:url('assets/fonts/Coconat-Demi.otf') format('opentype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Coconat';src:url('assets/fonts/Coconat-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}

/* ═══ Base ═══ */
:root{
  --night:#05060c; --ink:#C7C1B2; --head:#F4EEDF; --gold:#E3C17E;
  --muted:#8a847a; --muted2:#A9A496; --dim:#7e786e;
  --cream:#E7DABE; --cream2:#DFD0AF; --creamInk:#473A22; --creamMute:#7C6B47; --creamGold:#9A8757;
  --line:rgba(227,193,126,.2); --line2:rgba(227,193,126,.42);
}
*{box-sizing:border-box}
/* Les images différées arrivent en fondu sur leur fond nuit. Placée tout en
   haut : les règles de survol plus bas gardent la main sur `transition`. */
img[loading="lazy"]:not(.is-loaded){opacity:0}
.no-js img[loading="lazy"]{opacity:1}
img[loading="lazy"]{transition:opacity 1.1s ease}
html{scroll-behavior:smooth}
body{margin:0;background:#000;color:var(--ink);font-family:'Coconat',Georgia,serif;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%}
a{color:var(--gold)}
a:hover{color:var(--head)}
::selection{background:var(--gold);color:#06080a}
h1,h2,h3,h4{font-weight:600;color:var(--head);margin:0;text-wrap:pretty}
p{margin:0}
button{font-family:inherit}
.almma-shell{position:relative;overflow:hidden;background:#000}
.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}
.eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:12px;color:var(--gold);font-weight:600}
.rule{width:28px;height:1px;background:var(--line2);flex:0 0 auto}
.sec-head{display:flex;align-items:center;gap:15px;margin-bottom:26px}
.sec-head.center{justify-content:center}

/* ═══ Animations ═══ */
@keyframes twinkle{0%,100%{opacity:.18}50%{opacity:1}}
@keyframes heroZoom{from{transform:scale(1.16) translate(1.4%,1%)}to{transform:scale(1.02) translate(-1%,-.6%)}}
@keyframes heroZoomB{from{transform:scale(1.02) translate(-1.2%,.8%)}to{transform:scale(1.17) translate(1%,-.8%)}}
@keyframes heroZoomC{from{transform:scale(1.15) translate(-1.5%,-1%)}to{transform:scale(1.02) translate(1.2%,.8%)}}
@keyframes riseIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes glowpulse{0%,100%{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.09)}}
@keyframes starIn{from{opacity:0;transform:scale(.4) rotate(-30deg)}to{opacity:1;transform:none}}
@keyframes nebula{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(4%,-3%) scale(1.1)}}
@keyframes nebula2{0%,100%{transform:translate(0,0) scale(1.05)}50%{transform:translate(-5%,4%) scale(.95)}}
@keyframes sway{from{transform:translateY(-6px)}to{transform:translateY(6px)}}
@keyframes swaynode{from{transform:translateY(4px)}to{transform:translateY(-4px)}}
@keyframes sheetup{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes silkroad{0%{left:100%;opacity:0}5%{opacity:1}52%{opacity:1}62%{left:-26%;opacity:0}100%{left:-26%;opacity:0}}
@keyframes drawStar{0%{stroke-dashoffset:7000;fill-opacity:0}26%{stroke-dashoffset:0;fill-opacity:0}42%{fill-opacity:1}72%{fill-opacity:1;stroke-dashoffset:0}90%{fill-opacity:0;stroke-dashoffset:7000}100%{fill-opacity:0;stroke-dashoffset:7000}}
@keyframes flowColor{0%{top:-6px;opacity:0}14%{opacity:1}46%{opacity:.85}72%{opacity:.25}100%{top:100%;opacity:0}}
@keyframes flowWhite{0%{top:-6px;opacity:0}44%{opacity:0}78%{opacity:1}100%{top:100%;opacity:.5}}
@keyframes breathPulse{0%{top:108%;opacity:0}10%{opacity:1}52%{opacity:.85}80%{top:-4px;opacity:0}100%{top:-4px;opacity:0}}
@keyframes voyagePing{0%{transform:translate(-50%,-50%) scale(.3);opacity:.32}70%{opacity:.06}100%{transform:translate(-50%,-50%) scale(2.2);opacity:0}}
@keyframes rotslow{to{transform:rotate(360deg)}}
/* Les filantes suivent l'axe de la route de la soie (-16°). */
@keyframes shoot{0%{opacity:0;transform:rotate(-16deg) translate(0,0)}4%{opacity:1}18%{opacity:0;transform:rotate(-16deg) translate(52vw,0)}100%{opacity:0;transform:rotate(-16deg) translate(52vw,0)}}
@keyframes comet{0%{opacity:0;transform:rotate(-16deg) translate(0,0)}6%{opacity:1}54%{opacity:1}70%{opacity:0;transform:rotate(-16deg) translate(140vw,0)}100%{opacity:0;transform:rotate(-16deg) translate(140vw,0)}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* ═══ Navigation ═══ */
.almma-nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;justify-content:space-between;align-items:center;padding:22px 6vw;
  background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,0));backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  border-bottom:1px solid transparent;transform:translateZ(0);transition:background .4s ease,padding .4s ease,border-color .4s ease}
.almma-nav.is-solid{background:rgba(6,8,11,.94);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:rgba(227,193,126,.12);padding:14px 6vw}
.almma-nav__logo img{height:38px;width:auto;display:block;opacity:.95}
.almma-nav__right{display:flex;align-items:center;gap:clamp(14px,2.6vw,40px)}
.almma-nav__links{display:flex;align-items:center;gap:36px}
.almma-nav__links a{color:#C9C3B4;text-decoration:none;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase}
.almma-nav__links a:hover{color:var(--gold)}
.almma-lang{display:inline-flex;align-items:stretch;border:1px solid rgba(227,193,126,.3);border-radius:999px;overflow:hidden;line-height:1}
.almma-lang a{border:none;display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;padding:0 10px 0 calc(10px + .14em);font-size:10.5px;letter-spacing:.14em;text-indent:0;text-decoration:none;color:#9a948a;transition:all .3s}
.almma-lang a.is-on{background:var(--gold);color:#06080a}
.almma-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;background:none;border:none;cursor:pointer;padding:8px 6px}
.almma-burger span{display:block;height:1.5px;width:100%;background:var(--gold);border-radius:2px}
.almma-burger span:last-child{width:64%}
.almma-menu{position:fixed;inset:0;z-index:80;display:none;flex-direction:column;background:rgba(4,6,11,.97);backdrop-filter:blur(18px)}
.almma-menu.is-open{display:flex}
.almma-menu__top{display:flex;justify-content:space-between;align-items:center;padding:22px 6vw}
.almma-menu__top img{height:35px;width:auto;display:block;opacity:.95}
.almma-menu__close{background:none;border:none;color:var(--gold);font-size:32px;line-height:1;cursor:pointer;padding:4px 10px}
.almma-menu nav{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(26px,5vh,40px);padding-bottom:8vh}
.almma-menu nav a{color:var(--head);text-decoration:none;font-size:clamp(22px,6vw,30px);letter-spacing:.06em}

/* ═══ Hero ═══ */
.almma-hero{position:relative;height:100vh;min-height:560px;display:flex;flex-direction:column;overflow:hidden;background:var(--night)}
.almma-hero__stage{position:relative;flex:1;min-height:0;overflow:hidden}
.almma-hero__slide{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity 1.4s ease}
.almma-hero__slide.is-on{opacity:1}
.almma-hero__slide picture{display:block;position:absolute;inset:0}
.almma-hero__slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;
  will-change:transform;animation:heroZoom 13s linear both;animation-play-state:paused}
.almma-hero__slide:nth-of-type(2) img{animation-name:heroZoomB}
.almma-hero__slide:nth-of-type(3) img{animation-name:heroZoomC}
.almma-hero__slide:nth-of-type(4) img{animation-name:heroZoomB}
.almma-hero__slide:nth-of-type(5) img{animation-name:heroZoomC}
.almma-hero__slide.is-on img{animation-play-state:running}
.almma-hero__stars{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;transition:opacity 1.2s ease}
.almma-hero__stars span{position:absolute;border-radius:50%;background:#F4EEDF;animation:twinkle 5s ease-in-out infinite}
.almma-hero__veil{position:absolute;inset:0;z-index:2;pointer-events:none}
.almma-hero__veil--v{background:linear-gradient(180deg,rgba(4,6,12,.78) 0%,rgba(4,6,12,.3) 26%,transparent 50%,rgba(4,6,12,.3) 76%,rgba(4,6,12,.76) 100%)}
.almma-hero__veil--h{background:linear-gradient(94deg,rgba(4,6,12,.34) 0%,rgba(4,6,12,.1) 34%,transparent 60%)}
.almma-hero__blur{position:absolute;left:0;bottom:0;width:52%;height:44%;z-index:3;pointer-events:none;
  backdrop-filter:blur(18px) brightness(.6);-webkit-backdrop-filter:blur(18px) brightness(.6);
  -webkit-mask-image:radial-gradient(ellipse 74% 82% at 12% 92%,rgba(0,0,0,.96) 20%,transparent 78%);
  mask-image:radial-gradient(ellipse 74% 82% at 12% 92%,rgba(0,0,0,.96) 20%,transparent 78%)}
.almma-hero__scrim{position:absolute;left:0;bottom:0;width:48%;height:40%;z-index:3;pointer-events:none;
  background:radial-gradient(ellipse 70% 78% at 10% 94%,rgba(4,6,12,.76) 18%,transparent 76%)}
.almma-hero__setareh{position:absolute;top:34%;right:5.5vw;width:clamp(76px,8.4vw,126px);z-index:3;animation:starIn 1.4s cubic-bezier(.2,.85,.25,1) .3s both}
.almma-hero__setareh .halo{position:absolute;left:50%;top:50%;width:240%;height:240%;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(227,193,126,.34),rgba(227,193,126,.07) 45%,transparent 68%);filter:blur(12px);animation:glowpulse 6s ease-in-out infinite;pointer-events:none}
.almma-hero__setareh .mark{position:relative;color:#F1EBDC;filter:drop-shadow(0 0 22px rgba(241,235,220,.6));animation:floaty 7s ease-in-out 1.7s infinite}
.almma-hero__cartouche{position:absolute;left:6vw;bottom:clamp(30px,4vh,56px);z-index:5;max-width:min(26ch,34vw);
  border-left:1px solid rgba(227,193,126,.8);padding-left:clamp(16px,1.6vw,24px)}
.almma-hero__kicker{text-transform:uppercase;letter-spacing:.3em;font-size:8px;color:var(--gold);font-weight:600;margin-bottom:8px;
  text-shadow:0 1px 12px rgba(4,6,12,.95);animation:riseIn .9s ease-out .25s both}
.almma-hero__line{font-size:clamp(16px,1.35vw,21px);line-height:1.12;margin:0;
  text-shadow:0 2px 26px rgba(4,6,12,.95),0 0 44px rgba(4,6,12,.75);animation:riseIn 1s ease-out .45s both}
.almma-hero__sial{position:absolute;right:6vw;bottom:clamp(96px,11vh,140px);z-index:4;width:clamp(62px,5.6vw,84px);height:auto;display:block;
  opacity:0;transition:opacity .9s ease;filter:drop-shadow(0 2px 18px rgba(4,6,12,.9))}
.almma-hero__sial.is-on{opacity:.92}
.almma-hero__bars{position:absolute;right:6vw;bottom:clamp(30px,4vh,56px);z-index:6;display:flex;align-items:center;justify-content:flex-end;gap:12px;animation:riseIn 1s ease-out .7s both}
.almma-hero__bars button{position:relative;width:clamp(30px,3.2vw,42px);height:44px;border:none;padding:0;cursor:pointer;background:none;-webkit-tap-highlight-color:transparent;
  transition:width 1.1s cubic-bezier(.22,.61,.36,1)}
.almma-hero__bars button::before{content:"";position:absolute;left:0;right:0;top:50%;height:4px;transform:translateY(-50%);
  background:rgba(244,238,223,.26);box-shadow:0 1px 14px rgba(4,6,12,.9);transition:background .8s ease,height .8s ease}
.almma-hero__bars button:hover::before{background:rgba(244,238,223,.55)}
.almma-hero__bars button:focus-visible{outline:none}
.almma-hero__bars button:focus-visible::before{background:rgba(244,238,223,.7)}
.almma-hero__bars button.is-on{width:clamp(52px,5.6vw,74px)}
.almma-hero__bars button.is-on::before{height:5px;background:rgba(244,238,223,.2)}
.almma-hero__bars i{position:absolute;left:0;top:50%;height:4px;transform:translateY(-50%);width:0;display:block;
  background:linear-gradient(90deg,rgba(199,163,90,.75),var(--gold));box-shadow:0 0 12px rgba(199,163,90,.45);transition:height .8s ease}
.almma-hero__bars button.is-on i{height:5px}
.almma-hero__discover{position:absolute;left:50%;transform:translateX(-50%);bottom:clamp(26px,3.4vh,46px);z-index:6;
  display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;animation:riseIn 1s ease-out .9s both}
.almma-hero__discover:hover{opacity:.72}
.almma-hero__discover span{font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);font-weight:600;text-shadow:0 1px 12px rgba(4,6,12,.95)}
.almma-hero__discover i{width:1px;height:clamp(22px,3.4vh,38px);background:linear-gradient(180deg,rgba(227,193,126,.85),rgba(227,193,126,0));animation:bob 2.4s ease-in-out infinite;display:block}

/* ═══ Constellation ═══ */
.almma-constel{position:relative;height:100vh;min-height:680px;overflow:hidden;background:radial-gradient(ellipse at 50% 46%,#0c1226 0%,#070912 50%,#000 100%)}
.almma-constel__neb{position:absolute;pointer-events:none;z-index:1}
.almma-constel__neb i{position:absolute;inset:-8%;border-radius:50%;filter:blur(34px);display:block}
.neb1{left:18%;top:30%;width:46vmin;height:46vmin}
.neb1 i{background:radial-gradient(circle,rgba(116,74,178,.42),transparent 66%);animation:nebula 30s ease-in-out infinite}
.neb2{left:74%;top:62%;width:40vmin;height:40vmin}
.neb2 i{background:radial-gradient(circle,rgba(36,124,140,.42),transparent 66%);animation:nebula2 38s ease-in-out infinite}
.neb3{left:44%;top:78%;width:34vmin;height:34vmin}
.neb3 i{background:radial-gradient(circle,rgba(178,116,72,.34),transparent 68%);animation:nebula 46s ease-in-out infinite}
.almma-constel__stars{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.almma-constel__px{position:absolute;inset:0;pointer-events:none;transition:transform .25s ease-out}
.almma-constel__rot{position:absolute;left:-25%;top:-25%;width:150%;height:150%;transform-origin:50% 50%;
  animation:rotslow 320s linear infinite;pointer-events:none;will-change:transform}
/* Hors champ, on coupe TOUT le mouvement de la section : 250 étoiles dans une
   nappe qui tourne + 15 particules coûtent trop cher pour tourner à vide. */
.almma-constel:not(.is-live) *{animation-play-state:paused!important}
.almma-constel__comet{position:absolute;top:13%;left:-14%;z-index:3;pointer-events:none;opacity:0;animation:comet 34s ease-in 12s infinite}
.almma-constel__comet i{display:block;width:5px;height:5px;border-radius:50%;background:#fff;
  box-shadow:0 0 14px 4px rgba(255,255,255,.9),0 0 40px 12px rgba(190,210,255,.45)}
.almma-constel__comet b{position:absolute;right:100%;top:50%;width:120px;height:1px;transform:translateY(-50%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.7))}
.almma-constel__stars span{position:absolute;border-radius:50%;animation:twinkle 5s ease-in-out infinite}
/* Le scintillement ne concerne qu'une étoile sur trois : 250 opacités animées
   dans une nappe en rotation saturent le rendu. */
.almma-constel__stars span:nth-child(3n+2),
.almma-constel__stars span:nth-child(3n+3){animation:none}
.almma-constel__shoot{position:absolute;height:2px;border-radius:2px;opacity:0;z-index:3;pointer-events:none}
.almma-constel__shoot--w{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,247,232,.95));filter:drop-shadow(0 0 6px rgba(255,247,232,.8))}
.almma-constel__shoot--g{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(227,193,126,.95));filter:drop-shadow(0 0 6px rgba(227,193,126,.8))}
.almma-constel__shoot--p{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.9));filter:drop-shadow(0 0 6px rgba(255,255,255,.8))}
.almma-constel__head{position:absolute;top:0;left:0;right:0;z-index:6;text-align:center;padding:clamp(80px,9.5vh,104px) 6vw 0;pointer-events:none;transition:all .6s ease}
.almma-constel.is-zoomed .almma-constel__head{opacity:0;transform:translateY(-18px)}
.almma-constel__head h2{font-size:clamp(28px,4vw,52px);line-height:1.04;margin:14px auto 12px;max-width:20ch}
.almma-constel__head p{font-size:clamp(12px,1.05vw,15px);line-height:1.55;color:#9a948a;margin:0 auto;letter-spacing:.02em}
.almma-constel__axis{position:absolute;left:50%;top:60%;width:132vmin;transform:translate(-50%,-50%) rotate(-16deg);display:flex;align-items:center;pointer-events:none;z-index:1;transition:opacity .8s ease}
.almma-constel__axis span{font-size:clamp(11px,1.05vw,14px);letter-spacing:.4em;text-transform:uppercase;color:rgba(227,193,126,.58);white-space:nowrap}
.almma-constel__road{position:relative;flex:1;height:1px;border-top:1px dashed rgba(227,193,126,.2);margin:0 18px}
.almma-constel__tracer{position:absolute;top:-1px;left:100%;width:26%;height:1px;opacity:0;animation:silkroad 14s linear infinite}
.almma-constel__tracer i{position:absolute;inset:0;display:block;box-shadow:0 0 12px 1px rgba(227,193,126,.45);
  background:linear-gradient(90deg,#F7F2E4,rgba(244,238,223,.75) 22%,rgba(227,193,126,.4) 58%,transparent)}
.almma-constel__tracer b{position:absolute;left:0;top:-2.5px;width:6px;height:6px;border-radius:50%;background:#F7F2E4;
  box-shadow:0 0 12px 3px rgba(244,238,223,.9),0 0 30px 9px rgba(227,193,126,.45)}
.almma-constel__glow{position:absolute;left:50%;top:60%;width:64vmin;height:64vmin;border-radius:50%;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(120,140,210,.12),rgba(96,72,150,.05) 42%,transparent 70%);filter:blur(30px);pointer-events:none;z-index:0;transition:opacity .8s ease}
.almma-constel__label{position:absolute;left:0;right:0;bottom:clamp(28px,4vh,44px);text-align:center;z-index:5;pointer-events:none;transition:opacity .8s ease}
.almma-constel__label span{font-size:clamp(10px,1vw,12px);letter-spacing:.46em;text-transform:uppercase;color:rgba(227,193,126,.62)}
.almma-constel.is-zoomed .almma-constel__axis,
.almma-constel.is-zoomed .almma-constel__glow,
.almma-constel.is-zoomed .almma-constel__label{opacity:0}
.almma-plane{position:absolute;inset:0;z-index:4;transform-origin:0 0;transition:transform 1.85s cubic-bezier(.6,0,.18,1)}
.almma-orbits{position:absolute;inset:0;perspective:1200px;pointer-events:none;z-index:1;transform-origin:0 0;
  transition:transform 1.85s cubic-bezier(.6,0,.18,1),opacity .8s ease}
/* Setareh central : mêmes proportions que la maquette (halo de 348 px). */
.almma-setareh{position:absolute;left:50%;top:60%;transform:translate(-50%,-50%);z-index:6;cursor:pointer;color:#F4EEDF}
.almma-setareh__in{position:relative;animation:floaty 7s ease-in-out infinite}
.almma-setareh i{position:absolute;left:50%;top:50%;width:348px;height:348px;border-radius:50%;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(227,193,126,.32),transparent 66%);animation:glowpulse 5s ease-in-out infinite;pointer-events:none;display:block}
.almma-setareh__mark{position:relative;width:clamp(112px,12vw,200px);filter:drop-shadow(0 0 26px rgba(241,235,220,.72))}
/* Plan orbital : anneaux en perspective, inclinés dans le sens de la route. */
.almma-orbits__plane{position:absolute;inset:0;transform:rotateX(62deg);transform-origin:50% 60%}
.almma-orbits__ring{position:absolute;left:50%;top:60%;border-radius:50%;transform:translate(-50%,-50%);border:1px dashed rgba(227,193,126,.18)}
.almma-orbits__ring--1{width:32vmin;height:32vmin;animation:spin 120s linear infinite}
.almma-orbits__ring--2{width:48vmin;height:48vmin;border-color:rgba(227,193,126,.13);animation:spinrev 180s linear infinite}
.almma-orbits__ring--3{width:66vmin;height:66vmin;border-color:rgba(227,193,126,.09);animation:spin 260s linear infinite}
.almma-constel.is-zoomed .almma-orbits{opacity:0}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes spinrev{to{transform:translate(-50%,-50%) rotate(-360deg)}}

/* Une marque = un rayon depuis le Setareh : boîte carrée de 2r, pivotée de
   son angle ; le logo est contre-pivoté pour rester droit.
   pointer-events:none sur la boîte — elles se recouvrent (jusqu'à 512 px de
   côté) et la dernière du DOM avalerait tous les clics et tous les survols. */
.almma-brand{position:absolute;left:50%;top:60%;z-index:5;width:var(--d);height:var(--d);pointer-events:none;
  transform:translate(-50%,-50%) rotate(var(--a));transition:opacity .55s ease}
.almma-brand__orbit{position:absolute;inset:0;transform-origin:50% 50%;pointer-events:none;animation:sway 18s ease-in-out infinite alternate}
/* Le rayon : un filet piqué, parcouru par des particules qui descendent
   vers le Setareh — colorées à la marque, puis blanches. */
.almma-brand__line{position:absolute;left:50%;top:0;width:1px;height:50%;transform-origin:50% 0;transform:translate(-50%,0) scaleY(0);
  transition:transform 1.7s cubic-bezier(.5,0,.2,.9);border-left:1px dashed rgba(227,193,126,.32);pointer-events:none}
.almma-brand__line span{position:absolute;left:50%;transform:translateX(-50%);border-radius:2px;opacity:0;display:block}
.almma-brand__line .flow-c{top:0;width:2px;height:22px;animation:flowColor var(--fd) ease-in var(--fdelay) infinite}
.almma-brand__line .flow-w{top:0;width:2px;height:22px;background:linear-gradient(to bottom,transparent,#fff);
  box-shadow:0 0 11px 2px rgba(255,255,255,.9);animation:flowWhite var(--fd) ease-in var(--fdelay) infinite}
.almma-brand__line .flow-b{top:100%;width:3px;height:18px;background:linear-gradient(to top,transparent,rgba(246,234,202,.95));
  box-shadow:0 0 12px 2px rgba(246,234,202,.6);animation:breathPulse 6.5s ease-in-out infinite}

/* Anneaux qui pulsent autour de la marque ouverte — discrets. */
.almma-ping{position:absolute;left:50%;top:34%;width:24vmin;height:24vmin;border-radius:50%;transform:translate(-50%,-50%);
  z-index:7;pointer-events:none;display:none;border:1px solid rgba(227,193,126,.3)}
.almma-ping--2{border-color:rgba(227,193,126,.18)}
.almma-constel.is-zoomed .almma-ping{display:block;animation:voyagePing 4.2s ease-out infinite}
.almma-constel.is-zoomed .almma-ping--2{animation-delay:2.1s}

/* Au zoom, le Setareh s'efface : la marque ouverte doit rester seule. */
.almma-setareh{transition:opacity .8s ease}
.almma-constel.is-zoomed .almma-setareh{opacity:.1}
.almma-constel.is-revealed .almma-brand__line{transform:translate(-50%,0) scaleY(1)}
.almma-brand__node{position:absolute;left:50%;top:0;transform:translate(-50%,-50%) rotate(calc(-1 * var(--a))) scale(.12);opacity:0;
  transition:transform 1.3s cubic-bezier(.34,1.56,.64,1),opacity .9s ease;cursor:pointer;pointer-events:auto;
  -webkit-tap-highlight-color:transparent}
.almma-constel.is-revealed .almma-brand__node{transform:translate(-50%,-50%) rotate(calc(-1 * var(--a))) scale(1);opacity:1}
.almma-brand__inner{animation:swaynode 16s ease-in-out infinite alternate}
.almma-brand__halo{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);filter:blur(9px);
  animation:glowpulse 16s ease-in-out infinite;pointer-events:none}
/* max-width:none : le parent absolu fait 0 px de large, donc la règle
   globale img{max-width:100%} écrasait la largeur en ligne du logo. */
.almma-brand img{position:relative;display:block;height:auto;max-width:none;transition:transform .4s ease}
.almma-brand__node:hover img{transform:scale(1.09)}
.almma-brand__node:focus-visible{outline:2px solid var(--gold);outline-offset:10px;border-radius:4px}
.almma-constel.is-hovering .almma-brand{opacity:.32}
.almma-constel .almma-brand.is-hover{opacity:1}
.almma-constel.is-zoomed .almma-brand{opacity:.08;transition:opacity .55s ease}
.almma-constel.is-zoomed .almma-brand.is-open{opacity:1;z-index:8}
/* La marque ouverte passe devant le voile et reçoit sa propre lumière. */
.almma-brand.is-open img{filter:drop-shadow(0 0 28px rgba(0,0,0,.85)) brightness(1.08)}
.almma-constel.is-zoomed{cursor:zoom-out}
.almma-constel.is-zoomed .almma-sheet,
.almma-constel.is-zoomed .almma-back,
.almma-constel.is-zoomed .almma-brand__node{cursor:auto}
.almma-constel.is-zoomed .almma-brand__node{cursor:pointer}
.almma-constel__topfade{position:absolute;top:0;left:0;right:0;height:38%;z-index:5;pointer-events:none;opacity:0;transition:opacity .6s ease;
  background:linear-gradient(to bottom,rgba(0,0,0,.92) 0%,rgba(4,5,13,.6) 28%,rgba(6,8,16,.22) 58%,transparent)}
.almma-constel.is-zoomed .almma-constel__topfade{opacity:1}
.almma-back{position:absolute;top:104px;left:6vw;z-index:9;display:none;align-items:center;gap:10px;background:rgba(12,15,20,.6);
  backdrop-filter:blur(8px);border:1px solid var(--line2);color:var(--gold);border-radius:999px;padding:10px 20px;cursor:pointer;
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.almma-constel.is-zoomed .almma-back{display:inline-flex}
.almma-back:hover{background:var(--gold);color:#06080a}

/* Fiche marque */
.almma-sheet{position:absolute;left:0;right:0;bottom:0;z-index:8;display:none;
  background:linear-gradient(180deg,rgba(6,8,11,.2),rgba(4,6,9,.98) 34%);backdrop-filter:blur(14px);
  border-top:1px solid var(--line);padding:clamp(26px,3vw,40px) 6vw clamp(30px,3vw,46px);
  max-height:min(60vh,540px);overflow:auto}
.almma-sheet.is-open{display:block;animation:sheetup .55s cubic-bezier(.5,0,.2,1)}
.almma-sheet__tint{position:absolute;left:0;top:0;bottom:0;width:62%;pointer-events:none;z-index:0}
.almma-sheet__grid{position:relative;z-index:1;max-width:1180px;margin:0 auto;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:clamp(20px,2.4vw,40px);align-items:start}
.almma-sheet__logo{position:relative;display:inline-block;margin-bottom:14px}
.almma-sheet__logo i{position:absolute;left:50%;top:50%;width:135%;height:210%;transform:translate(-50%,-50%);border-radius:50%;filter:blur(16px);pointer-events:none;display:block}
.almma-sheet__logo img{position:relative;height:clamp(34px,3.3vw,46px);width:auto;display:block}
.almma-sheet__year{text-transform:uppercase;letter-spacing:.18em;font-size:10.5px;color:#8a857b;margin-bottom:16px}
.almma-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.almma-tags span{border:1px solid rgba(227,193,126,.3);color:#C9C3B4;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.almma-tags span.halal{border-color:rgba(127,184,154,.5);color:#8FBF9F}
.almma-sheet__sig{font-size:clamp(16px,1.5vw,20px);font-weight:600;margin-bottom:18px}
.almma-sheet__site{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);color:var(--gold);text-decoration:none;
  padding:9px 18px;border-radius:999px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;transition:all .3s}
.almma-sheet__site:hover{background:var(--gold);color:#06080a}
.almma-sheet__desc{font-size:clamp(13.5px,1.05vw,15.5px);line-height:1.7;color:#BBB5A6;margin:0 0 20px}
.almma-sheet__ranges{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;border-top:1px solid rgba(227,193,126,.14);padding-top:18px}
.almma-sheet__ranges b{color:var(--gold);font-size:16px;font-weight:600;margin-bottom:6px;display:block}
.almma-sheet__ranges span{font-size:13px;line-height:1.5;color:#928d83}
.almma-sheet__note{font-size:13.5px;line-height:1.65;color:#928d83;border-left:2px solid rgba(227,193,126,.35);padding-left:16px;margin:18px 0 0}
.almma-sheet__packs{align-self:start;display:flex;gap:12px;align-items:stretch;height:clamp(96px,12vh,126px)}
.almma-sheet__packs figure{flex:1;min-width:0;margin:0;height:100%}
.almma-sheet__packs img{width:100%;height:100%;object-fit:contain;display:block;border-radius:4px}

/* ═══ Le Groupe ═══ */
.almma-group{position:relative;padding:clamp(96px,11vw,150px) 6vw 0;overflow:hidden;background:var(--night)}
.almma-group__top{position:absolute;top:0;left:0;right:0;height:1px;z-index:3;background:linear-gradient(90deg,transparent,rgba(201,168,110,.7) 50%,transparent)}
.almma-group__bg{position:absolute;inset:0;background:
  radial-gradient(ellipse 120% 80% at 22% 8%,#152045 0%,rgba(15,20,44,.55) 42%,transparent 72%),
  radial-gradient(ellipse 90% 70% at 84% 62%,#101a3a 0%,rgba(12,18,38,.4) 48%,transparent 76%),
  linear-gradient(180deg,#070a18 0%,#0a0f24 46%,#05060c 100%)}
.almma-group__stars{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.almma-group__stars span{position:absolute;border-radius:50%;background:#F4EEDF;animation:twinkle 5s ease-in-out infinite}
.almma-group__mark{position:absolute;color:#F1EBDC;pointer-events:none;animation:floaty 11s ease-in-out infinite}
.almma-group__inner{position:relative;z-index:2;max-width:1180px;margin:0 auto}
.almma-group__title{position:relative;display:inline-block;margin:0 0 24px}
.almma-group__title i{position:absolute;left:72%;top:54%;width:clamp(300px,38vw,540px);height:clamp(150px,18vw,260px);
  transform:translate(-50%,-50%);border-radius:50%;filter:blur(28px);pointer-events:none;z-index:0;display:block;
  background:radial-gradient(ellipse at center,rgba(227,193,126,.32),rgba(227,193,126,.07) 48%,transparent 70%)}
.almma-group__title h2{position:relative;z-index:1;font-size:clamp(30px,4.6vw,56px);line-height:1.03;letter-spacing:-.01em;max-width:16ch;white-space:pre-line}
.almma-lead{font-size:clamp(18px,1.9vw,25px);line-height:1.4;color:#D2B583;max-width:30ch;font-weight:600}
.almma-intro{font-size:clamp(14.5px,1.1vw,16.5px);line-height:1.8;color:#C2BCAD;max-width:52ch}
.almma-2col{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(28px,4vw,64px);align-items:start;margin-bottom:clamp(80px,9vw,140px)}
.almma-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,168px),1fr));gap:clamp(20px,2.6vw,40px);
  border-top:1px solid rgba(227,193,126,.28);padding-top:clamp(30px,3.4vw,44px);margin-bottom:clamp(86px,10vw,150px)}
.almma-stats b{font-weight:600;color:var(--gold);font-size:clamp(30px,3.6vw,50px);line-height:1;letter-spacing:-.01em;display:block}
.almma-stats span{font-size:12.5px;line-height:1.5;color:var(--muted2);margin-top:10px;max-width:20ch;display:block}
.almma-houses{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(28px,3.4vw,52px);margin-bottom:clamp(64px,7vw,100px)}
.almma-house{border-left:1px solid rgba(227,193,126,.34);padding:2px 0 2px clamp(20px,2.2vw,30px);display:flex;flex-direction:column;gap:clamp(20px,2.2vw,30px)}
.almma-house__photo{position:relative;width:100%;aspect-ratio:3/2;border-radius:4px;overflow:hidden;background:radial-gradient(ellipse 70% 60% at 50% 55%,rgba(227,193,126,.09),rgba(6,8,16,0) 70%) #070a14;
  border:1px solid rgba(227,193,126,.28);box-shadow:0 18px 46px rgba(0,0,0,.5)}
.almma-house__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(.84) contrast(1.05) brightness(.88);transform:scale(1.015);
  transition:filter 1.5s ease,transform 1.7s cubic-bezier(.22,.61,.36,1),opacity 1.1s ease}
.almma-house__photo i{position:absolute;inset:0;display:block;pointer-events:none;
  background:linear-gradient(180deg,rgba(4,6,12,0) 55%,rgba(4,6,12,.5));transition:opacity 1.4s ease}
.almma-house:hover .almma-house__photo img{filter:none;transform:scale(1.055)}
.almma-house:hover .almma-house__photo i{opacity:.4}
.almma-house__body{min-width:0}
.almma-house__head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.almma-house__head h3{font-size:clamp(22px,2.3vw,30px);line-height:1}
.almma-house__head span{text-transform:uppercase;letter-spacing:.2em;font-size:10px;color:var(--gold);font-weight:600}
.almma-house__body p{font-size:clamp(14px,1.05vw,15.5px);line-height:1.75;color:#C2BCAD;max-width:42ch}
.almma-house__site{display:inline-flex;align-items:center;gap:10px;margin-top:clamp(20px,2vw,28px);
  min-height:44px;padding:0 20px;border:1px solid rgba(227,193,126,.42);border-radius:999px;
  text-decoration:none;color:var(--gold);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  background:rgba(227,193,126,.05);transition:background .5s ease,border-color .5s ease,color .5s ease}
.almma-house__site span{white-space:nowrap}
.almma-house__site em{display:inline-flex;align-items:center;flex:0 0 auto;line-height:0;
  transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.almma-house__site em svg{display:block}
.almma-house__site:hover{background:var(--gold);border-color:var(--gold);color:#06080a}
.almma-house__site:hover em{transform:translate(3px,-3px)}
.almma-made{border-top:1px solid var(--line);padding-top:clamp(30px,3.6vw,46px);margin-bottom:clamp(60px,6.5vw,96px)}
.almma-made__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(26px,3.4vw,56px);align-items:start;margin-bottom:clamp(34px,4vw,54px)}
.almma-made h3{font-size:clamp(19px,1.8vw,25px);line-height:1.2;margin-bottom:12px;max-width:26ch}
.almma-made p{font-size:clamp(13.5px,1.05vw,15px);line-height:1.7;color:var(--muted2);max-width:44ch}
.almma-certs__head{display:flex;align-items:center;gap:14px;margin-bottom:clamp(22px,2.4vw,30px)}
.almma-certs__head span{text-transform:uppercase;letter-spacing:.26em;font-size:10px;color:var(--muted);font-weight:600;white-space:nowrap}
.almma-certs__head i{flex:1;height:1px;background:rgba(227,193,126,.16);display:block}
.almma-certs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1px;background:rgba(227,193,126,.16)}
.almma-cert{background:var(--night);padding:clamp(22px,2.4vw,32px) clamp(20px,2.2vw,28px)}
.almma-cert__mark{height:clamp(104px,9.5vw,124px);margin-bottom:clamp(20px,2.2vw,26px);border-radius:10px;
  background:linear-gradient(180deg,#F7F2E6,#EDE5D2);display:flex;align-items:center;justify-content:center;padding:14px 20px;
  box-shadow:0 14px 34px rgba(0,0,0,.42),inset 0 0 0 1px rgba(227,193,126,.3);
  transition:transform 1s cubic-bezier(.22,.61,.36,1),box-shadow 1s ease}
.almma-cert__mark img{width:100%;height:100%;object-fit:contain;display:block}
.almma-cert__mark[data-mark="square"] img{transform:scale(1.06)}
.almma-cert__mark[data-mark="wide"] img{transform:scale(.86)}
.almma-cert:hover .almma-cert__mark{transform:translateY(-3px);box-shadow:0 20px 44px rgba(0,0,0,.5),inset 0 0 0 1px rgba(227,193,126,.55)}
.almma-cert__num{font-size:10px;letter-spacing:.2em;color:rgba(227,193,126,.5);font-weight:600;margin-bottom:14px}
.almma-cert__name{font-weight:600;color:var(--gold);font-size:clamp(15px,1.3vw,18px);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
.almma-cert__scope{font-size:12.5px;line-height:1.6;color:var(--muted2);margin-bottom:12px}
.almma-cert__body{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.almma-circles{display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,72px);align-items:center;justify-content:center;margin-bottom:clamp(60px,6.5vw,96px)}
.almma-circle{flex:0 1 clamp(300px,34vw,520px);max-width:520px;position:relative}
.almma-circle__sweep,.almma-circle__orbit{position:absolute;left:-14px;top:-14px;width:calc(100% + 28px);aspect-ratio:1;
  border-radius:50%;pointer-events:none;animation:rotslow var(--orb,34s) linear infinite;animation-delay:var(--orbd,0s)}
.almma-circle__sweep{background:conic-gradient(from 0turn,rgba(227,193,126,.92) 0%,rgba(227,193,126,.22) 14%,rgba(227,193,126,0) 30%,rgba(227,193,126,0) 72%,rgba(227,193,126,.18) 90%,rgba(227,193,126,.6) 99%,rgba(227,193,126,.92) 100%);
  -webkit-mask:radial-gradient(closest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));
  mask:radial-gradient(closest-side,transparent calc(100% - 2px),#000 calc(100% - 2px))}
.almma-circle__orbit b{position:absolute;left:50%;top:0;width:7px;height:7px;border-radius:50%;display:block;
  transform:translate(-50%,-50%);background:#F4EEDF;
  box-shadow:0 0 8px 2px rgba(244,238,223,.85),0 0 22px 6px rgba(227,193,126,.5);
  animation:glowpulse 4.2s ease-in-out infinite}
.almma-circle__in{position:relative;width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:1px solid var(--line2);background:radial-gradient(circle at 50% 45%,rgba(227,193,126,.1),rgba(6,8,16,0) 70%) #070a14;
  box-shadow:0 0 0 6px rgba(227,193,126,.05),0 18px 50px rgba(0,0,0,.5);animation:floaty 9s ease-in-out infinite}
.almma-circle__in img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05) brightness(.84);transition:opacity 1.1s ease}
.almma-circle__in i{position:absolute;inset:0;display:block;pointer-events:none;
  background:radial-gradient(circle at 50% 32%,rgba(4,6,14,0) 40%,rgba(4,6,14,.68) 100%);box-shadow:inset 0 0 34px rgba(4,6,14,.75)}
.almma-quote{margin:0;border-left:2px solid var(--gold);padding-left:clamp(22px,2.6vw,36px)}
.almma-rd{margin-bottom:0}
.almma-rd .almma-quote{margin-bottom:clamp(34px,4vw,58px)}
.almma-rd__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(14px,1.5vw,22px)}
.almma-rd__fig{margin:0;display:flex;flex-direction:column;gap:13px;min-width:0}
.almma-rd__frame{position:relative;overflow:hidden;border-radius:4px;height:clamp(300px,31vw,440px);background:radial-gradient(ellipse 70% 60% at 50% 55%,rgba(227,193,126,.09),rgba(6,8,16,0) 70%) #070a14;
  border:1px solid rgba(227,193,126,.28);box-shadow:0 18px 46px rgba(0,0,0,.5)}
.almma-rd__frame img{width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(.84) contrast(1.05) brightness(.88);transform:scale(1.015);
  transition:filter 1.5s ease,transform 1.7s cubic-bezier(.22,.61,.36,1),opacity 1.1s ease}
.almma-rd__frame::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(4,6,12,0) 58%,rgba(4,6,12,.46));
  transition:opacity 1.4s ease}
.almma-rd__fig:hover .almma-rd__frame img{filter:none;transform:scale(1.055)}
.almma-rd__fig:hover .almma-rd__frame::after{opacity:.35}

.almma-quote p:first-child{font-weight:600;color:var(--head);font-size:clamp(21px,2.5vw,34px);line-height:1.25;letter-spacing:-.01em;margin-bottom:16px;max-width:34ch}
.almma-quote p:last-child{font-size:clamp(13.5px,1.05vw,15.5px);line-height:1.75;color:var(--muted2);max-width:50ch}

/* ═══ Vision ═══ */
.almma-vision{position:relative;padding:clamp(110px,13vw,180px) 6vw clamp(90px,10vw,140px);overflow:hidden;text-align:center}
.almma-vision__top{position:absolute;top:0;left:0;right:0;height:1px;z-index:5;background:linear-gradient(90deg,transparent,rgba(201,168,110,.7) 50%,transparent)}
.almma-vision>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}
.almma-vision__veil{position:absolute;inset:0;background:linear-gradient(180deg,#080b0d,rgba(8,11,13,.6) 45%,#06080a)}
.almma-vision__inner{position:relative;z-index:2;max-width:1240px;margin:0 auto}
.almma-vision h2{font-size:clamp(30px,4.6vw,56px);line-height:1.03;margin:0 auto 26px;white-space:pre-line;max-width:18ch}
.almma-vision__lead{font-size:clamp(18px,1.9vw,25px);line-height:1.4;color:#D2B583;max-width:34ch;margin:0 auto clamp(56px,7vw,90px);font-weight:600}
.almma-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));text-align:left}
.almma-pillar{border-top:1px solid rgba(227,193,126,.22);padding:28px clamp(20px,2.4vw,34px) 0 0;margin-right:clamp(20px,2.4vw,34px)}
.almma-pillar b{font-weight:600;color:var(--gold);font-size:14px;letter-spacing:.08em;margin-bottom:16px;display:block}
.almma-pillar h4{font-size:clamp(17px,1.5vw,20px);line-height:1.12;margin-bottom:10px}
.almma-pillar p{font-size:13.5px;line-height:1.65;color:var(--muted2)}

/* ═══ Contact ═══ */
.almma-contact{position:relative;padding:clamp(100px,11vw,150px) 6vw;overflow:hidden;
  background:radial-gradient(ellipse at 50% -8%,#0d1430 0%,#080b16 52%,#05060c 100%)}
.almma-contact__top{position:absolute;top:0;left:0;right:0;height:1px;z-index:5;background:linear-gradient(90deg,transparent,rgba(201,168,110,.7) 50%,transparent)}
.almma-contact__inner{position:relative;z-index:2;max-width:1120px;margin:0 auto}
.almma-contact__head{text-align:center;margin-bottom:clamp(68px,8vw,104px)}
.almma-contact__star{width:40px;color:var(--gold);margin:0 auto 26px;filter:drop-shadow(0 0 14px rgba(227,193,126,.55))}
.almma-contact__head h2{font-size:clamp(28px,4vw,46px);line-height:1.08;letter-spacing:-.01em;margin:0 auto 18px;max-width:22ch}
.almma-contact__head>p{font-size:clamp(15px,1.4vw,18px);line-height:1.6;color:#B6B0A0;margin:0 auto;max-width:46ch}
.almma-form{max-width:720px;margin:0 auto}
.almma-form__who{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:10.5px;color:#8F8A80;font-weight:600;margin-bottom:14px}
.almma-pills{display:flex;flex-wrap:nowrap;gap:8px;margin-bottom:clamp(26px,3vw,40px)}
.almma-pill{position:relative;display:flex;flex:1 1 0;min-width:0;cursor:pointer}
.almma-pill input{position:absolute;opacity:0;width:1px;height:1px}
.almma-pill span{flex:1;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(227,193,126,.28);background:transparent;color:#C9C3B4;
  font-size:12px;font-weight:600;letter-spacing:.02em;padding:0 14px;min-height:40px;border-radius:999px;transition:all .3s;white-space:nowrap}
.almma-pill input:checked+span{background:var(--gold)!important;border-color:var(--gold)!important;color:#06080a!important}
.almma-pill:hover input:not(:checked)+span{border-color:rgba(227,193,126,.7)!important;color:var(--head)!important}
.almma-pill input:focus-visible+span{outline:2px solid var(--gold);outline-offset:4px}
.almma-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(16px,2vw,22px);margin-bottom:clamp(16px,2vw,22px)}
.almma-form label.lbl{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:10.5px;color:#8F8A80;font-weight:600;margin-bottom:9px}
.almma-form input[type=text],.almma-form input[type=email],.almma-form textarea{width:100%;background:rgba(255,255,255,.04);
  border:1px solid rgba(227,193,126,.28);border-radius:3px;padding:14px 16px;color:var(--head);font-family:inherit;font-size:15px;transition:border-color .3s}
.almma-form input:focus,.almma-form textarea:focus{outline:none;border-color:var(--gold)}
.almma-form textarea{resize:vertical;min-height:150px}
.almma-form__send{display:inline-flex;align-items:center;gap:12px;background:var(--gold);color:#06080a;border:none;border-radius:999px;
  padding:15px 36px;font-size:14px;letter-spacing:.1em;font-weight:600;cursor:pointer;transition:opacity .3s;margin-top:clamp(24px,2.6vw,32px)}
.almma-form__send:hover{opacity:.85}
.almma-form__ok{border:1px solid var(--line2);border-radius:6px;background:rgba(227,193,126,.06);padding:clamp(28px,3vw,40px);text-align:center;max-width:560px;margin:0 auto}
.almma-form__ok b{display:block;color:var(--gold);font-size:clamp(19px,1.8vw,24px);margin-bottom:10px}
.almma-form__ok span{font-size:14.5px;line-height:1.7;color:var(--muted2)}
.almma-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,258px),1fr));gap:clamp(16px,2vw,24px);margin-top:clamp(40px,5vw,64px)}
.almma-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;
  background:rgba(255,255,255,.03);padding:clamp(24px,2.4vw,32px);min-height:212px;transition:border-color .35s ease,background .35s ease}
.almma-card:hover{border-color:rgba(227,193,126,.45);background:rgba(255,255,255,.05)}
.almma-card__eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:10.5px;color:var(--gold);font-weight:600;margin-bottom:12px}
.almma-card h3{font-size:clamp(19px,1.7vw,23px);line-height:1.15;margin-bottom:10px}
.almma-card p{font-size:13.5px;line-height:1.65;color:var(--muted2);margin-bottom:24px}
.almma-card a{margin-top:auto;display:inline-flex;align-items:center;gap:9px;color:var(--gold);text-decoration:none;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.almma-card a:hover{color:var(--head)}
.almma-card__soon{margin-top:auto;display:inline-flex;align-items:center;gap:10px}
.almma-card__soon i{width:5px;height:5px;border-radius:50%;background:rgba(227,193,126,.55);flex:0 0 auto;display:block}
.almma-card__soon span{color:var(--muted);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}

/* ═══ Le sceau : un grand Setareh qui se dessine, fin de section ═══ */
/* Pleine largeur, bords fondus dans la nuit : aucune arête, aucune marge. */
.almma-seal{position:relative;left:50%;width:100vw;margin-left:-50vw;margin-bottom:0;
  display:grid;place-items:center;height:clamp(320px,36vw,460px);overflow:hidden;
  -webkit-mask:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(180deg,transparent,#000 26%,#000 74%,transparent);
  mask:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(180deg,transparent,#000 26%,#000 74%,transparent);
  -webkit-mask-composite:source-in;mask-composite:intersect}
.almma-seal__axis{position:absolute;left:0;right:0;top:50%;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(227,193,126,.04) 10%,rgba(227,193,126,.36) 50%,rgba(227,193,126,.04) 90%,transparent)}
.almma-seal__glow{position:absolute;left:50%;top:50%;width:min(52vw,470px);aspect-ratio:1;transform:translate(-50%,-50%);
  border-radius:50%;pointer-events:none;animation:glowpulse 9s ease-in-out infinite;
  background:radial-gradient(circle,rgba(227,193,126,.3),rgba(227,193,126,.1) 34%,rgba(227,193,126,.03) 56%,transparent 72%)}
.almma-seal__ring{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;
  border:1px solid rgba(227,193,126,.13)}
.almma-seal__ring--1{width:min(36vw,300px);aspect-ratio:1;border-style:dashed;animation:spin 150s linear infinite}
.almma-seal__ring--2{width:min(50vw,420px);aspect-ratio:1;border-color:rgba(227,193,126,.07);animation:spinrev 260s linear infinite}
.almma-seal__mark{position:relative;width:min(31vw,286px);color:var(--gold);
  filter:drop-shadow(0 0 34px rgba(227,193,126,.5));animation:floaty 11s ease-in-out infinite}
.almma-seal__dust{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.almma-seal.has-dust .almma-seal__mark{display:none}



/* ═══ 404 ═══ */
.almma-404{display:grid;place-items:center;text-align:center;padding:clamp(120px,16vh,180px) 6vw clamp(80px,10vh,120px)}
.almma-404__in{position:relative;z-index:1;max-width:36ch}
.almma-404__mark{width:clamp(120px,14vw,170px);margin:0 auto clamp(28px,3vw,40px);color:var(--gold);filter:drop-shadow(0 0 24px rgba(227,193,126,.4))}
.almma-404__code{display:block;text-transform:uppercase;letter-spacing:.3em;font-size:11px;color:var(--gold);font-weight:600;margin-bottom:18px}
.almma-404 h1{font-size:clamp(28px,3.6vw,46px);line-height:1.1;margin:0 0 16px;color:var(--head)}
.almma-404 p{font-size:clamp(15px,1.2vw,17px);line-height:1.7;color:var(--muted2);margin:0 0 clamp(30px,3.4vw,44px)}
.almma-404__btn{display:inline-flex;align-items:center;min-height:46px;padding:0 26px;border:1px solid rgba(227,193,126,.5);border-radius:999px;
  color:var(--gold);text-decoration:none;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;transition:all .5s ease}
.almma-404__btn:hover{background:var(--gold);border-color:var(--gold);color:#06080a}

/* ═══ Pied de page ═══ */
.almma-footer{position:relative;padding:clamp(88px,10vw,132px) 6vw 0;background:linear-gradient(180deg,var(--cream) 0%,var(--cream2) 100%);overflow:hidden}
.almma-footer__mark{position:absolute;left:50%;top:34%;width:min(52vw,470px);transform:translate(-50%,-50%);color:var(--creamInk);opacity:.075;pointer-events:none}
.almma-footer__inner{position:relative;max-width:1180px;margin:0 auto}
.almma-footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:clamp(34px,4.5vw,72px);align-items:start}
.almma-footer__col h4{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--creamGold);font-weight:600;white-space:nowrap}
.almma-footer__colhead{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.almma-footer__colhead i{flex:1;height:1px;background:rgba(71,58,34,.16);display:block}
.almma-footer__list{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.almma-footer__list a,.almma-footer__list span{color:var(--creamInk);text-decoration:none;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.almma-footer__list a:hover{color:#9A7322}
.almma-footer__addr{font-size:13px;line-height:1.7;color:var(--creamInk)}
.almma-footer__sep{height:1px;background:linear-gradient(90deg,rgba(71,58,34,.05),rgba(71,58,34,.22) 50%,rgba(71,58,34,.05));margin:clamp(44px,5.5vw,74px) 0 22px}
.almma-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px}
.almma-footer__bottom>div:first-child{font-size:12px;color:var(--creamMute);letter-spacing:.05em}
.almma-footer__legal{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}
.almma-footer__legal a{color:var(--creamMute);text-decoration:none;font-size:12px;letter-spacing:.06em}
.almma-footer__legal a:hover{color:var(--creamInk)}
.almma-footer__legal i{width:3px;height:3px;border-radius:50%;background:rgba(71,58,34,.3);display:block}
.almma-footer__wordmark{margin:clamp(34px,4.4vw,62px) 0 0;overflow:hidden;line-height:0}
.almma-footer__wordmark img{display:block;width:100%;height:auto;opacity:.92}

/* ═══ Bandeau cookies ═══ */
.almma-cookies{position:fixed;left:6vw;bottom:22px;z-index:70;max-width:min(90vw,352px);display:none;gap:14px;align-items:flex-start;
  padding:15px 17px;border:1px solid rgba(227,193,126,.24);border-radius:5px;background:rgba(8,10,18,.9);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 46px rgba(0,0,0,.55);
  opacity:0;transform:translateY(14px);transition:opacity .8s cubic-bezier(.22,.8,.24,1),transform .8s cubic-bezier(.22,.8,.24,1)}
.almma-cookies.is-shown{display:flex}
.almma-cookies.is-visible{opacity:1;transform:none}
.almma-cookies__mark{flex:0 0 auto;width:40px;color:var(--gold);opacity:.9;margin-top:2px}
.almma-cookies p{font-size:12.5px;line-height:1.55;color:#B6B0A2;margin:0 0 6px}
.almma-cookies__more{display:inline-block;color:var(--muted);font-size:11.5px;line-height:1.5;text-decoration:none;
  border-bottom:1px solid rgba(227,193,126,.35);padding-bottom:1px;margin-bottom:14px;transition:color .3s,border-color .3s}
.almma-cookies__more:hover{color:var(--gold);border-color:var(--gold)}
.almma-cookies__btns{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.almma-cookies__btns button{border-radius:999px;cursor:pointer;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.almma-cookies__yes{background:var(--gold);color:#06080a;border:none;padding:7px 16px;transition:opacity .3s}
.almma-cookies__yes:hover{opacity:.82}
.almma-cookies__no{background:none;border:1px solid rgba(227,193,126,.3);color:#C9C3B4;padding:6px 15px;transition:border-color .3s,color .3s}
.almma-cookies__no:hover{border-color:rgba(227,193,126,.6);color:var(--head)}

/* ═══ Pages légales ═══ */
.almma-legal{position:relative;min-height:100vh;overflow:hidden;background:
  radial-gradient(ellipse 120% 70% at 24% 0%,#131c3d 0%,rgba(12,18,38,.5) 44%,transparent 74%),
  linear-gradient(180deg,#070a18 0%,#0a0f24 40%,#05060c 100%)}
.almma-legal__stars{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.almma-legal__stars span{position:absolute;border-radius:50%;background:#F4EEDF;animation:twinkle 5s ease-in-out infinite}
.almma-legal__nav{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:22px 6vw;border-bottom:1px solid rgba(227,193,126,.14)}
.almma-legal__nav img{height:34px;width:auto;display:block;opacity:.95}
.almma-legal__nav a.back{color:#C9C3B4;text-decoration:none;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase}
.almma-legal__nav a.back:hover{color:var(--gold)}
.almma-legal__main{position:relative;z-index:4;max-width:820px;margin:0 auto;padding:clamp(64px,9vw,120px) 6vw clamp(80px,10vw,140px)}
.almma-legal__main h1{font-size:clamp(32px,4.6vw,58px);line-height:1.02;letter-spacing:-.01em;margin-bottom:20px}
.almma-legal__date{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:clamp(52px,6.5vw,86px)}
.almma-legal__intro{font-size:15px;line-height:1.7;color:#B6B0A2;margin-bottom:12px;max-width:56ch}
.almma-legal section{margin-bottom:clamp(44px,5.5vw,72px)}
.almma-legal section>div:first-child{display:flex;align-items:baseline;gap:14px;margin-bottom:18px}
.almma-legal section h2{font-size:clamp(18px,1.8vw,24px);line-height:1.2;letter-spacing:.01em}
.almma-legal__num{font-size:10px;letter-spacing:.2em;color:rgba(227,193,126,.5);font-weight:600;flex:0 0 auto}
.almma-legal__body{border-left:1px solid rgba(227,193,126,.22);padding-left:clamp(18px,2vw,28px)}
.almma-legal__body p{font-size:14.5px;line-height:1.8;color:#C2BCAD;margin-bottom:16px}
.almma-legal__row{display:flex;flex-wrap:wrap;gap:6px 20px;padding:11px 0;border-bottom:1px dotted rgba(227,193,126,.14)}
.almma-legal__row dt{flex:0 0 auto;min-width:190px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:2px;margin:0}
.almma-legal__row dd{flex:1;min-width:min(100%,220px);font-size:14.5px;line-height:1.65;color:#DCD6C8;white-space:pre-line;margin:0}
.almma-legal__box{border:1px solid rgba(227,193,126,.28);border-radius:6px;background:rgba(255,255,255,.03);padding:clamp(24px,2.6vw,34px);margin-bottom:clamp(30px,3.5vw,46px)}
.almma-legal__box b{display:block;text-transform:uppercase;letter-spacing:.22em;font-size:10.5px;color:var(--gold);font-weight:600;margin-bottom:12px}
.almma-legal__box p{font-size:14.5px;line-height:1.75;color:#C2BCAD;margin-bottom:16px;max-width:52ch}
.almma-legal__sep{height:1px;background:linear-gradient(90deg,rgba(227,193,126,.05),rgba(227,193,126,.3) 50%,rgba(227,193,126,.05));margin:clamp(24px,3vw,40px) 0 26px}
.almma-legal__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px}
.almma-legal__foot span{font-size:12px;color:var(--dim);letter-spacing:.05em}
.almma-legal__foot a{color:var(--gold);text-decoration:none;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}

/* ═══ Révélation au scroll ═══ */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity 1.25s cubic-bezier(.22,.8,.24,1),transform 1.25s cubic-bezier(.22,.8,.24,1)}
[data-reveal].is-in{opacity:1;transform:none}
.no-js [data-reveal]{opacity:1;transform:none}
/* Filet de sécurité : si le script n'a pas révélé un bloc (JS en cache,
   erreur, observateur en défaut), il apparaît de lui-même après 4 s. */
@keyframes almmaFailsafe{to{opacity:1;transform:none}}
[data-reveal]:not(.is-in){animation:almmaFailsafe 1.25s cubic-bezier(.22,.8,.24,1) 1.6s forwards}

/* ═══ Mobile ═══ */
@media (max-width:880px){
  .almma-nav__links{display:none}
  .almma-burger{display:flex}
  .almma-hero__setareh{top:24%;right:7vw;width:64px}
  /* En étroit, le cartouche et les barrettes ne tiennent plus côte à côte :
     on les empile — texte au-dessus, barrettes à gauche, SIAL à droite. */
  .almma-hero__cartouche{max-width:min(30ch,82vw);bottom:clamp(84px,10.5vh,112px)}
  .almma-hero__line{font-size:19px}
  .almma-hero__discover{display:none}
  .almma-hero__bars{left:6vw;right:auto;justify-content:flex-start;gap:10px;bottom:clamp(22px,3vh,38px)}
  .almma-hero__bars button{width:32px}
  .almma-hero__bars button.is-on{width:52px}
  .almma-hero__sial{bottom:clamp(24px,3.2vh,40px);width:52px}
  /* ── La constellation existe aussi sur mobile : même ciel, mêmes rayons,
        à plat et resserré. Tout est plus près du Setareh, les logos sont
        calibrés pour le pouce (92 px), et la fiche s'ouvre en plein écran. ── */
  .almma-constel{height:auto;min-height:0;padding:clamp(92px,13vh,124px) 0 clamp(44px,7vh,74px)}
  .almma-constel__head{position:relative;padding:0 6vw clamp(18px,3vh,30px)}
  .almma-plane{position:relative;inset:auto;height:92vw;max-height:450px}
  /* Un pentagone régulier : les angles du ciel incliné ne tombent pas juste
     sur un cercle à plat. Cinq marques, 72° d'écart, le Setareh au centre. */
  .almma-brand{--d:min(62vmin,400px)!important}
  .almma-brand[data-brand="fooseng"]{--a:0deg!important}
  .almma-brand[data-brand="zumu"]{--a:72deg!important}
  .almma-brand[data-brand="habibi"]{--a:144deg!important}
  .almma-brand[data-brand="gojo"]{--a:216deg!important}
  .almma-brand[data-brand="varachaux"]{--a:288deg!important}
  /* Retour tactile : l'étoile s'enfonce sous le doigt. */
  .almma-constel.is-revealed .almma-brand__node:active{transform:translate(-50%,-50%) rotate(calc(-1 * var(--a))) scale(.93);transition-duration:.18s}
  .almma-brand__node img{max-width:92px;height:auto}
  .almma-brand__halo{max-width:118px;max-height:118px}
  .almma-setareh{top:60%}
  .almma-setareh__mark{width:84px}
  .almma-setareh i{width:196px;height:196px}
  /* Les anneaux du plan 3D ne sont pas recentrables ici : on les remplace
     par deux cercles à plat, posés sur le même centre que les marques. */
  .almma-orbits{display:none}
  .almma-plane::before,.almma-plane::after{content:"";position:absolute;left:50%;top:60%;border-radius:50%;
    transform:translate(-50%,-50%);pointer-events:none;border:1px dashed rgba(227,193,126,.17)}
  .almma-plane::before{width:min(62vmin,400px);height:min(62vmin,400px);animation:spin 150s linear infinite}
  .almma-plane::after{width:min(88vmin,568px);height:min(88vmin,568px);border-style:solid;border-color:rgba(227,193,126,.07);
    animation:spinrev 240s linear infinite}
  .almma-constel__axis,.almma-constel__glow,.almma-constel__label,.almma-constel__comet,.almma-constel__shoot{display:none}
  .almma-constel__rot{animation:none}
  .almma-ping{width:52vmin;height:52vmin;top:50%}
  .almma-seal{height:clamp(250px,62vw,340px);
    -webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);
    mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent)}
  .almma-seal__mark{width:44vw}
  .almma-rd__grid{grid-template-columns:1fr 1fr}
  .almma-rd__fig--big{grid-column:1 / -1}
  .almma-rd__frame{height:auto;aspect-ratio:427/640}
  .almma-rd__fig--big .almma-rd__frame{aspect-ratio:3/2}
  /* Le bandeau de navigation fait 83 px : le bouton Retour se pose dessous,
     et la fiche décale son contenu d'autant. */
  .almma-sheet{position:fixed;inset:0;max-height:none;padding:clamp(150px,19vh,172px) 6vw clamp(30px,5vh,50px)}
  .almma-back{position:fixed;top:97px;z-index:61}
  .almma-sheet__packs{height:clamp(120px,18vh,170px)}
  .almma-pillar{margin-right:0;padding-right:0;padding-bottom:30px}
  .almma-pillar:first-child{border-top:none;padding-top:0}
  /* Les deux ateliers gardent leur rond étoilé, un peu plus généreux. */
  .almma-circles{gap:34px}
  .almma-circle{flex:0 1 300px;max-width:min(82vw,340px)}
  /* 3. Sous la barre Safari, la toile montrait du noir après le pied crème :
     le bas du canevas devient crème, le haut reste nuit. */
  html{background:linear-gradient(180deg,#05060c 0%,#05060c 60%,var(--cream2) 60%)}
  .almma-footer{padding-bottom:env(safe-area-inset-bottom)}
  .almma-cookies{left:4vw;right:4vw;max-width:none;bottom:16px}
  /* Un champ sous 16 px déclenche le zoom automatique de Safari iOS. */
  .almma-form input[type="text"],.almma-form input[type="email"],.almma-form textarea{font-size:16px}
  /* Les cibles tactiles du menu passent à 46 px. */
  #almma-menu nav a{min-height:46px;display:flex;align-items:center}
  .almma-who{gap:6px}
  .almma-who label{min-height:44px;font-size:9.5px;letter-spacing:.06em;padding:0 8px}
  .almma-pills{gap:6px}
  .almma-footer__wordmark{margin-top:clamp(28px,6vw,44px)}
  /* Les pages légales partagent le bandeau fixe du site (83 px) : sans ça,
     le sur-titre « Informations légales » passait dessous. */
  .almma-legal__main{padding-top:clamp(120px,15vh,148px)}
}
@media print{
  .almma-nav,.almma-cookies,.almma-hero__bars,.almma-hero__discover,.almma-burger{display:none!important}
  body{background:#fff;color:#111}
}

/* Sous 560 px, quatre pastilles ne tiennent plus sur une ligne : 2 × 2. */
@media (max-width:560px){
  .almma-pills{flex-wrap:wrap}
  .almma-pill{flex:1 1 calc(50% - 3px)}
}
