/* Le Nid à Paris : système typographique et couleurs alignés sur Émeraude (Sen, mesures relevées le 12/11/2026),
   palette marine propre au Nid. Variantes 21st.dev portées nativement plus bas. */
:root{--nid-ink:#1e2b45;--nid-deep:#121c2f;--nid-cream:#f2e7d6;--nid-paper:#faf5ec;--nid-sand:#f3eadc;--nid-brass:#a9823a;--nid-brass-soft:#c9a666;--nid-ease:cubic-bezier(.22,1,.36,1)}
body{background:var(--nid-sand);color:#2b303b}
h1,h2,h3{font-family:'Sen',sans-serif;color:var(--nid-ink)}
h2{font-size:clamp(36px,3.75vw,54px);font-weight:600;line-height:1;letter-spacing:-.025em}
h3{font-weight:600;letter-spacing:-.02em}
.pam-section-intro h2,.pam-split-copy h2{font-size:clamp(34px,3.25vw,46.8px);line-height:1.1;letter-spacing:-.04em}
.pam-eyebrow{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--nid-brass)}
.pam-prose{font-size:16px;line-height:1.6}

/* Header : transparent sur les bannières photo/vidéo, marine profond au défilement (comme Émeraude). */
.pam-header{background:var(--nid-deep);color:var(--nid-cream)}
.pam-header:not(.is-scrolled) .pam-desktop-nav,.pam-header:not(.is-scrolled) .pam-header-tools{color:var(--nid-cream)}
body:has(.pam-hero.has-image) .pam-header:not(.is-scrolled){background:transparent;box-shadow:none}
body:has(.pam-hero.has-image) .pam-header:not(.is-scrolled)::before{content:"";position:absolute;inset:0 0 -40px;background:linear-gradient(180deg,#0b122080,transparent);pointer-events:none;z-index:-1}
.pam-header.is-scrolled{background:#121c2fed;color:var(--nid-cream);min-height:90px;box-shadow:0 8px 30px #0b12201f}
.pam-header .pam-desktop-nav,.pam-header .pam-header-tools,.pam-header.is-scrolled .pam-desktop-nav,.pam-header.is-scrolled .pam-header-tools{color:var(--nid-cream)}
.pam-desktop-nav a,.pam-desktop-nav button{font-size:16px;font-weight:400}
.pam-brand{width:auto}.pam-brand img,.pam-header.is-scrolled .pam-brand img{height:62px;width:auto;max-width:none}
.pam-header.is-scrolled .pam-brand{width:auto}.pam-header.is-scrolled .pam-brand img{height:52px}
.pam-subnav{background:var(--nid-paper);color:var(--nid-ink);border-top-color:var(--nid-brass)}
.pam-header .pam-languages a{color:inherit}
.pam-menu-toggle{color:var(--nid-cream)}

/* Bannière d'accueil : grand titre Sen 700, sous-titre 30 px, un seul appel à l'action souligné. */
.pam-hero.has-image::before{background:linear-gradient(180deg,#0b122059 0,#0b122014 35%,#0b122026 65%,#0b122073 100%)}
.pam-hero.is-home .pam-eyebrow{font-size:20px;font-weight:500;letter-spacing:.08em;line-height:1.4;margin:0 auto 18px;color:var(--nid-cream);max-width:none}
.pam-hero-brand-title{font-family:'Sen',sans-serif;font-size:clamp(58px,6.7vw,96px);font-weight:700;line-height:.9;letter-spacing:-.02em;color:var(--nid-cream);margin:0 auto}
.pam-hero-brand-title .pam-hero-small{display:inline;font-size:1em;color:inherit}
.pam-hero-subtitle{max-width:1000px;margin:24px auto 0;font-size:clamp(20px,2.1vw,30px);line-height:1.3;font-weight:400;color:var(--nid-cream);text-shadow:0 1px 18px #0b122066}
.pam-hero.is-home .pam-actions{margin-top:42px}
.pam-hero .pam-actions .pam-button{font-size:15px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;padding:10px 0;color:var(--nid-cream)}
.pam-hero .pam-actions .pam-button svg{display:none}
.pam-hero-benefits{display:none!important}
.pam-hero h1{font-weight:700;letter-spacing:-.025em;color:var(--nid-cream)}
.pam-hero.is-inner .pam-eyebrow{color:var(--nid-cream)}
.nid-scroll-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--nid-cream)}
.nid-scroll-cue::before{content:"";width:1px;height:46px;background:linear-gradient(var(--nid-cream),transparent);animation:nid-cue 2.4s var(--nid-ease) infinite}
@keyframes nid-cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* Bandeau de repères marine (Émeraude : section « proof ») avec pictogrammes laiton. */
.pam-stats{background:var(--nid-deep);color:var(--nid-cream);padding:54px max(30px,calc((100vw - 1200px)/2))}
.pam-stats strong{font-family:'Sen',sans-serif;font-size:46px;font-weight:600;letter-spacing:-.01em;color:var(--nid-cream)}
.pam-stats span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#d8c9ad;max-width:240px;margin:12px auto 0}
.pam-stats>div+div{border-left-color:#f2e7d61f}
.pam-stats .nid-icon{width:30px;height:30px;margin:0 auto 14px;color:var(--nid-brass-soft)}

/* Icônes SVG générées (Higgsfield, gpt_image_2_6) : trait laiton constant quelle que soit la taille. */
.nid-icon{display:block;flex:none;color:var(--nid-brass)}
.nid-icon svg{width:100%;height:100%;display:block}
.nid-icon svg *{stroke:currentColor!important;vector-effect:non-scaling-stroke;stroke-width:var(--nid-stroke,1.3px)!important}
.nid-ornament{width:clamp(110px,11vw,170px);height:clamp(110px,11vw,170px);--nid-stroke:1px;color:var(--nid-brass)}

/* Fill Button (mirukullacode) : copie inversée révélée par clip-path, du bas vers le haut. */
.nid-fill{position:relative;overflow:hidden;isolation:isolate;border:1px solid currentColor;border-radius:999px;padding:11px 22px!important;min-height:46px}
.nid-fill::after{display:none}
.nid-fill-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:inherit;background:var(--nid-fill-bg,var(--nid-ink));color:var(--nid-fill-ink,var(--nid-ivory));clip-path:inset(100% 0 0 0);transition:clip-path .45s var(--nid-ease);pointer-events:none}
.nid-fill-layer svg{width:1.1em;height:1.1em}
.nid-fill:hover .nid-fill-layer,.nid-fill:focus-visible .nid-fill-layer{clip-path:inset(0 0 0 0)}
.pam-hero .nid-fill{--nid-fill-bg:var(--nid-ivory);--nid-fill-ink:var(--nid-ink)}

/* Spine Accordion (crafterui) : tranches verticales, une seule ouverte en image encadrée. */
.nid-spine-section .pam-section-intro{margin-bottom:38px}
.nid-spine{--spine:5.25rem;display:flex;gap:0;height:min(76vh,640px);min-height:520px;border-top:1px solid var(--pam-line);border-bottom:1px solid var(--pam-line)}
.nid-spine-panel{position:relative;flex:0 1 var(--spine);min-width:var(--spine);border-right:1px solid var(--pam-line);transition:flex-basis .7s var(--nid-ease),flex-grow .7s var(--nid-ease);overflow:hidden}
.nid-spine-panel:last-child{border-right:0}
.nid-spine-panel.is-open{flex:1 1 100%}
.nid-spine-toggle{position:absolute;inset:0 auto 0 0;width:var(--spine);display:flex;flex-direction:column-reverse;justify-content:space-between;align-items:center;padding:22px 0;background:transparent;color:var(--pam2-body);z-index:2}
.nid-spine-title{writing-mode:vertical-rl;transform:rotate(180deg);font-family:'Sen',sans-serif;font-weight:600;font-size:clamp(20px,1.7vw,27px);letter-spacing:-.005em;white-space:nowrap;transition:color .4s}
.nid-spine-num{font-size:12px;letter-spacing:.14em;color:var(--pam2-small-terra)}
.nid-spine-panel.is-open .nid-spine-title{color:var(--nid-ink)}
.nid-spine-toggle:focus-visible{outline:2px solid var(--nid-ink);outline-offset:-4px}
.nid-spine-body{position:absolute;top:12px;bottom:12px;left:var(--spine);right:12px;opacity:0;transition:opacity .7s var(--nid-ease);overflow:hidden;background:#d9d3c7}
.nid-spine-panel.is-open .nid-spine-body{opacity:1}
.nid-spine-photo{position:absolute;inset:0}
.nid-spine-photo img{transform:scale(1.06);transition:transform 1.4s var(--nid-ease)}
.nid-spine-panel.is-open .nid-spine-photo img{transform:scale(1)}
.nid-spine-copy{position:absolute;left:0;right:0;bottom:0;padding:120px clamp(24px,3vw,44px) clamp(24px,3vw,40px);color:#fbf8f2;background:linear-gradient(180deg,transparent 0,#0f162670 45%,#0f1626c8 100%)}
.nid-spine-copy h3{color:inherit;font-size:clamp(28px,2.6vw,40px);max-width:640px}
.nid-spine-copy .pam-prose{max-width:620px;font-size:16px;margin-top:14px}
.nid-spine-copy .pam-actions{margin-top:18px}

/* Smooth Scroll Hero (ishamsu) : le cadre s'ouvre en plein écran au défilement. */
.nid-expand{position:relative;height:165vh;background:var(--pam2-sand)}
.nid-expand-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:end start}
.nid-expand-media{position:absolute;inset:0;--e:0;clip-path:inset(calc((1 - var(--e)) * 9%) calc((1 - var(--e)) * 14%) round calc((1 - var(--e)) * 28px));will-change:clip-path}
.nid-expand-media .pam-picture,.nid-expand-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(calc(1.22 - var(--e) * .22));transform-origin:center}
.nid-expand-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0f1626b8 0,#0f162670 38%,transparent 66%),linear-gradient(180deg,transparent 40%,#0f162680 100%);opacity:var(--e)}
.nid-expand-copy h2,.nid-expand-copy .pam-prose{text-shadow:0 1px 18px #0f162699}
.nid-expand-copy{position:relative;z-index:2;max-width:760px;margin:0 0 clamp(40px,8vh,90px) max(24px,calc((100vw - 1320px)/2));color:#fbf8f2;opacity:var(--c,0);transform:translateY(calc((1 - var(--c,0)) * 30px))}
.nid-expand-copy h2{color:inherit;font-size:clamp(38px,4.2vw,62px)}
.nid-expand-copy .pam-prose{font-size:17px;line-height:1.55}
.nid-expand-copy .pam-button{color:#fbf8f2}

/* Card Deck Carousel (kedhareswer) : pile de tirages, glisser pour lancer la carte du dessus. */
.nid-deck-section{background:var(--pam2-paper);overflow:hidden}
.nid-deck-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,90px);align-items:center;max-width:1320px;margin:0 auto}
.nid-deck{position:relative;display:flex;flex-direction:column;align-items:center;gap:34px;outline:none}
.nid-deck:focus-visible{box-shadow:0 0 0 2px var(--nid-ink);border-radius:8px}
.nid-deck-cards{position:relative;width:min(78vw,420px);aspect-ratio:3/4;touch-action:pan-y}
.nid-deck-card{position:absolute;inset:0;margin:0;border-radius:6px;overflow:hidden;background:#d9d3c7;border:10px solid #fffdf8;box-shadow:0 1px 2px #0f162614,0 30px 60px -30px #0f162673;transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .4s ease,filter .4s ease;will-change:transform;cursor:grab;user-select:none}
.nid-deck-card .pam-picture{position:absolute;inset:0}
.nid-deck-card img{pointer-events:none;-webkit-user-drag:none}
.nid-deck-card[data-drag="1"]{cursor:grabbing;transition:none}
.nid-deck-card[data-fly="1"]{transition:transform .45s cubic-bezier(.3,.5,.3,1),opacity .45s ease}
.nid-deck-card[data-snap="1"]{transition:none}
.nid-deck-meta{display:grid;grid-template-columns:1fr auto;gap:14px 24px;align-items:center;width:min(78vw,520px)}
.nid-deck-cap{min-height:52px}
.nid-deck-caption{margin:0;animation:nid-in .6s var(--nid-ease) both}
.nid-deck-caption strong{display:block;font-family:'Sen',sans-serif;font-weight:600;font-weight:500;font-size:22px;line-height:1.2;color:var(--nid-ink)}
.nid-deck-caption span{display:block;font-size:13px;line-height:1.4;margin-top:3px;opacity:.75}
.nid-deck-count{margin:0;font-size:12px;letter-spacing:.16em}
.nid-deck-count b{font-weight:600;color:var(--nid-ink)}
.nid-deck-buttons{grid-column:1/-1;display:flex;gap:12px}
.nid-deck-btn{min-height:44px;padding:9px 20px;border:1px solid var(--pam-line);border-radius:999px;background:transparent;color:var(--nid-ink);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;transition:background .2s,color .2s}
.nid-deck-btn:hover,.nid-deck-btn:focus-visible{background:var(--nid-ink);color:var(--nid-ivory)}
@keyframes nid-in{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}

/* Motion Footer (jahed) : bandeau de services et grande signature qui monte au défilement. */
.nid-marquee{overflow:hidden;background:var(--nid-ink);color:var(--nid-ivory);padding:18px 0;border-top:1px solid #ffffff1a}
.nid-marquee-track{display:flex;width:max-content;animation:nid-marquee 46s linear infinite}
.nid-marquee-row{display:flex;gap:56px;padding-right:56px}
.nid-marquee-row span{font-family:'Sen',sans-serif;font-weight:600;font-size:clamp(15px,1.2vw,18px);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
@keyframes nid-marquee{to{transform:translateX(-50%)}}
.nid-footer{position:relative;overflow:hidden;isolation:isolate}
.nid-footer-giant{position:absolute;left:0;right:0;bottom:56px;z-index:-1;display:flex;justify-content:center;pointer-events:none;opacity:var(--g,0);transform:translateY(calc((1 - var(--g,0)) * 8vh)) scale(calc(.86 + var(--g,0) * .14))}
.nid-footer-giant span{font-family:'Sen',sans-serif;font-weight:600;font-size:clamp(70px,13.5vw,230px);line-height:.8;white-space:nowrap;color:transparent;-webkit-text-stroke:1px #1e2b4524;background:linear-gradient(180deg,#1e2b4520 0,transparent 75%);-webkit-background-clip:text;background-clip:text}
.nid-footer .pam-footer-brand>a:first-child{width:240px}
.nid-footer .pam-footer-brand p{max-width:360px}
p.pam-signature{margin:0}

@media(max-width:900px){
  .nid-spine{flex-direction:column;height:auto;min-height:0;--spine:4.25rem;border-bottom:0}
  .nid-spine-panel{flex:0 0 auto;min-height:var(--spine);border-right:0;border-bottom:1px solid var(--pam-line);transition:none}
  .nid-spine-panel.is-open{flex:0 0 auto}
  .nid-spine-toggle{position:relative;width:100%;height:var(--spine);flex-direction:row;justify-content:flex-start;gap:16px;padding:0 4px}
  .nid-spine-title{writing-mode:horizontal-tb;transform:none;font-size:23px}
  .nid-spine-body{position:relative;left:auto;right:auto;top:auto;bottom:auto;height:0;margin:0 0 0;transition:opacity .5s var(--nid-ease)}
  .nid-spine-panel.is-open .nid-spine-body{height:min(118vw,560px);margin-bottom:14px}
  .nid-spine-copy{padding:90px 22px 24px}
  .nid-deck-layout{grid-template-columns:1fr}
  .nid-expand{height:150vh}
  .nid-expand-media{clip-path:inset(calc((1 - var(--e)) * 12%) calc((1 - var(--e)) * 7%) round calc((1 - var(--e)) * 18px))}
  .nid-expand-copy{margin:0 22px 46px}
  .nid-footer-giant{bottom:120px}
}
@media(prefers-reduced-motion:reduce){
  .nid-spine-panel,.nid-spine-body,.nid-spine-photo img,.nid-fill-layer,.nid-deck-card,.nid-deck-caption{transition:none!important;animation:none!important}
  .nid-expand{height:auto}.nid-expand-sticky{position:relative;height:auto;min-height:620px}
  .nid-expand-media{--e:1}.nid-expand-copy{--c:1}
  .nid-marquee-track{animation:none}
  .nid-footer-giant{--g:1}
}
@media(max-width:700px){.nid-footer .pam-footer-brand>a:first-child{width:150px}}
.pam-stats strong span{display:inline;margin:0;font-size:inherit;letter-spacing:inherit;text-transform:none;color:inherit;max-width:none}
.pam-hero .pam-actions .pam-button{background:none;border:0;border-radius:0;box-shadow:none;min-height:0}
.pam-hero .pam-actions .pam-button::after{display:block;height:1px;background:currentColor}
.pam-hero .pam-actions .pam-button:hover::after{height:2px}
/* Voile léger sur toutes les bannières photo/vidéo (retour de Mejdi : texte illisible sans overlay). */
.pam-hero.has-image::before{background:linear-gradient(180deg,#0b12208c 0,#0b122059 28%,#0b122061 62%,#0b1220a6 100%)!important;z-index:-1}
.pam-hero.has-image .pam-hero-copy{text-shadow:0 2px 22px #0b122080}
.pam-hero.has-image .pam-eyebrow,.pam-hero.has-image h1,.pam-hero.has-image .pam-hero-subtitle,.pam-hero.has-image .pam-prose{color:var(--nid-cream)}
.pam-photo-story::before{background:linear-gradient(180deg,#0b122040 0,#0b122066 45%,#0b1220a6 100%)!important}
.pam-photo-story .pam-story-copy{text-shadow:0 2px 18px #0b122080}
