/* ============================================================
   Il Castello, « Les Portes du Château »
   Pierre calcaire / ivoire pour la lecture, encre de nuit pour la couverture.
   Cormorant Garamond (titres) · Work Sans (corps, étiquettes, UI).
   Signature : croissant de lune (clin d'œil à Diane de Poitiers et au
   Château d'Anet), grilles en fer forgé à l'ouverture de l'accueil,
   rail de rubriques en chiffres romains, panorama horizontal.
   ============================================================ */

:root{
  --night:#10131C;
  --night-2:#1B2338;
  --night-3:#221B14;
  --ivory:#F6F0E1;
  --ivory-2:#EFE6D2;
  --ivory-3:#E6DAB8;
  --ink:#221D16;
  --ink-2:#4F473A;
  --ink-3:#71675A;
  --gold:#B4903F;
  --gold-2:#D4B36B;
  --gold-3:#805F28;
  --bronze:#7C5A32;
  --card:#FBF7EC;
  --line:#E1D6BE;
  --line-dark:rgba(246,240,225,.16);
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --body:"Work Sans","Helvetica Neue",Arial,sans-serif;
  --ui:"Work Sans","Helvetica Neue",Arial,sans-serif;
  --maxw:1180px;
  --maxw-narrow:780px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --dur:.7s;
  --header-h:76px;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;font-family:var(--body);font-size:17px;line-height:1.65;
  color:var(--ink);background:var(--ivory);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
body.ica-cover{background:var(--night);color:var(--ivory)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.1;margin:0 0 .5em;letter-spacing:-.005em}
h1{font-size:clamp(2.3rem,5.2vw,4.4rem);font-weight:500}
h2{font-size:clamp(1.85rem,3.4vw,2.85rem)}
h3{font-size:clamp(1.3rem,2.1vw,1.75rem)}
h1 em,h2 em,h3 em{font-style:normal;font-weight:600;color:var(--gold);text-decoration:underline;text-decoration-style:wavy;text-decoration-color:var(--gold-2);text-decoration-thickness:1.5px;text-underline-offset:.12em}
p{margin:0 0 1.15em}
.ica-wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.ica-wrap--narrow{max-width:var(--maxw-narrow)}
.ica-skip{position:absolute;left:-9999px;top:0;background:var(--gold);color:var(--night);padding:10px 16px;z-index:200;font-family:var(--ui)}
.ica-skip:focus{left:12px;top:12px}
.ica-img-placeholder{display:block;width:100%;height:100%;min-height:200px;background:linear-gradient(135deg,var(--night-2),var(--night-3));}
.ica-eyebrow{
  display:inline-block;font-family:var(--ui);font-weight:600;font-size:.72rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold-3);
}
.ica-eyebrow--light,.ica-cover .ica-eyebrow{color:var(--gold)}
.ica-chapter__num{
  display:inline-flex;align-items:center;gap:12px;font-family:var(--ui);font-size:.72rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;
}
.ica-chapter__num::before{content:"";width:34px;height:1px;background:currentColor;opacity:.7}
.ica-link{font-family:var(--ui);font-size:.86rem;letter-spacing:.04em;color:var(--gold);border-bottom:1px solid transparent;transition:border-color .2s}
.ica-link:hover{border-color:currentColor}
.ica-mark{display:block}

/* ---------- boutons ---------- */
.ica-btn{
  --bg:var(--gold);--fg:var(--night);
  position:relative;display:inline-flex;align-items:center;gap:10px;
  font-family:var(--ui);font-weight:600;font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;
  padding:15px 26px;border:1px solid var(--bg);border-radius:2px;background:var(--bg);color:var(--fg);
  overflow:hidden;isolation:isolate;transition:color .35s var(--ease),transform .25s var(--ease);
  cursor:pointer;
}
.ica-btn::before{content:"";position:absolute;inset:0;background:var(--ivory);transform:translateY(102%);transition:transform .45s var(--ease-out);z-index:-1}
.ica-btn:hover{transform:translateY(-1px)}
.ica-btn:hover::before{transform:translateY(0)}
.ica-btn--gold:hover{color:var(--night)}
.ica-btn--ghost{--bg:transparent;--fg:currentColor;border-color:currentColor}
.ica-btn--ghost::before{background:currentColor;opacity:.08}
.ica-paper .ica-btn--ghost{color:var(--ink)}
.ica-btn__arrow{transition:transform .3s var(--ease)}
.ica-btn:hover .ica-btn__arrow{transform:translateX(4px)}

/* ============================================================
   GRILLES D'ENTRÉE (accueil uniquement) — ≤1,3 s au total en production
   ============================================================ */
.ica-gate{position:fixed;inset:0;z-index:120;overflow:hidden;background:linear-gradient(#0B0E17,#171B2C 55%,#20283F 100%);isolation:isolate}
.ica-gate__stars{position:absolute;inset:0;
  background-image:
    radial-gradient(1.5px 1.5px at 12% 22%,#F3E7C4 100%,transparent),
    radial-gradient(1.5px 1.5px at 28% 14%,#F3E7C4 100%,transparent),
    radial-gradient(1px 1px at 44% 30%,#F3E7C4 100%,transparent),
    radial-gradient(1.5px 1.5px at 62% 10%,#F3E7C4 100%,transparent),
    radial-gradient(1px 1px at 76% 26%,#F3E7C4 100%,transparent),
    radial-gradient(1.5px 1.5px at 88% 16%,#F3E7C4 100%,transparent),
    radial-gradient(1px 1px at 6% 40%,#F3E7C4 100%,transparent),
    radial-gradient(1px 1px at 94% 38%,#F3E7C4 100%,transparent);
  opacity:.85}
.ica-gate__moon{position:absolute;top:13%;left:80%;transform:translateX(-50%);width:56px;height:56px;border-radius:50%;
  background:#F3E6BC;box-shadow:0 0 44px 14px rgba(243,230,188,.4),inset 14px -5px 0 0 #171B2C;
  opacity:0;animation:icaMoonIn .35s var(--ease-out) .05s forwards}
@keyframes icaMoonIn{to{opacity:1}}
.ica-gate__skyline{position:absolute;left:0;right:0;bottom:0;height:46%;z-index:2}
.ica-gate__skyline svg{position:absolute;bottom:0;width:100%;height:100%;display:block}
.ica-gate__stag{position:absolute;bottom:9%;left:-12%;width:56px;opacity:0;z-index:3;animation:icaStagWalk 1.2s linear .12s forwards}
@keyframes icaStagWalk{0%{opacity:0;transform:translateX(0) scaleX(-1)}8%{opacity:.5}88%{opacity:.5}100%{opacity:0;transform:translateX(132vw) scaleX(-1)}}
.ica-gate__fog{position:absolute;inset:auto 0 0 0;height:36%;z-index:4;pointer-events:none;
  background:linear-gradient(to top,rgba(11,14,23,.85),rgba(11,14,23,0));
  animation:icaFogClear .5s ease-out .1s forwards}
@keyframes icaFogClear{to{opacity:.3}}
.ica-gate__doors{position:absolute;inset:0;z-index:5;display:flex;perspective:1400px}
.ica-gate__leaf{width:50%;height:100%;position:relative;background:linear-gradient(180deg,#171310,#221B14 60%,#171310);border-bottom:6px solid #0E0B08}
.ica-gate__leaf::before{content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(90deg,rgba(180,144,63,.28) 0 2px,transparent 2px 46px),
                    repeating-linear-gradient(0deg,rgba(180,144,63,.16) 0 2px,transparent 2px 64px)}
.ica-gate__leaf--left{transform-origin:left center;animation:icaOpenLeft .55s cubic-bezier(.62,0,.3,1) .12s forwards}
.ica-gate__leaf--right{transform-origin:right center;animation:icaOpenRight .55s cubic-bezier(.62,0,.3,1) .12s forwards}
@keyframes icaOpenLeft{to{transform:rotateY(-108deg)}}
@keyframes icaOpenRight{to{transform:rotateY(108deg)}}
.ica-gate__plaque{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:6;text-align:center;color:#EFE2BC;
  display:flex;flex-direction:column;align-items:center;gap:4px;animation:icaPlaqueOut .25s ease-in .3s forwards}
.ica-gate__plaque .ica-mark{color:var(--gold);margin-bottom:2px}
.ica-gate__word{font-family:var(--serif);font-size:clamp(24px,4.2vw,36px);letter-spacing:.1em;font-weight:600}
.ica-gate__sub{font-family:var(--ui);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#B7AC98;opacity:.8}
@keyframes icaPlaqueOut{to{opacity:0;visibility:hidden}}
.ica-gate__skip{position:absolute;bottom:20px;right:20px;z-index:7;background:rgba(0,0,0,.35);color:#EFE2BC;
  border:1px solid rgba(239,226,188,.4);border-radius:99px;padding:8px 16px;font-size:12px;letter-spacing:.05em;
  font-family:var(--ui);cursor:pointer;backdrop-filter:blur(3px)}
.ica-gate__skip:hover{background:rgba(0,0,0,.55)}
.ica-gate.is-done{display:none}
html:not(.js) .ica-gate,html.ica-seen .ica-gate{display:none}
.ica-gate{animation:icaGateFallback .4s ease 1.6s forwards}
@keyframes icaGateFallback{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.ica-gate{display:none}}

/* ---------- header ---------- */
.ica-header{
  position:fixed;top:0;left:0;right:0;z-index:90;
  background:var(--ivory);color:var(--ink);border-bottom:1px solid var(--line);
  transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease),transform .4s var(--ease);
}
.ica-header--over{background:transparent;color:var(--ivory);border-color:transparent}
.ica-header--over.is-solid{background:rgba(16,19,28,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:var(--line-dark)}
.ica-header.is-hidden{transform:translateY(-100%)}
.ica-header__inner{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,40px);height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:24px}
.ica-logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.28rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}
.ica-logo em{font-style:italic;font-weight:500;color:var(--gold)}
.ica-logo .ica-mark{color:var(--gold)}
.ica-nav{margin-left:auto}
.ica-menu{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-family:var(--ui);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
.ica-menu a{position:relative;padding:8px 0;opacity:.85;transition:opacity .2s}
.ica-menu a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--gold);transition:right .35s var(--ease)}
.ica-menu a:hover{opacity:1}
.ica-menu a:hover::after{right:0}
.ica-nav__foot{display:none}
.ica-burger{display:none;position:relative;width:44px;height:44px;background:none;border:0;cursor:pointer;color:inherit;padding:0;margin-right:-8px}
.ica-burger span{position:absolute;left:11px;right:11px;height:1.5px;background:currentColor;transition:transform .35s var(--ease),top .35s var(--ease)}
.ica-burger span:first-child{top:18px}.ica-burger span:last-child{top:26px}
.ica-burger[aria-expanded="true"] span:first-child{top:22px;transform:rotate(45deg)}
.ica-burger[aria-expanded="true"] span:last-child{top:22px;transform:rotate(-45deg)}

@media(max-width:900px){
  .ica-burger{display:block}
  .ica-nav{
    position:fixed;inset:0;z-index:80;background:var(--night);color:var(--ivory);
    display:flex;flex-direction:column;justify-content:center;padding:100px clamp(24px,7vw,56px) 40px;
    clip-path:inset(0 0 100% 0);transition:clip-path .6s var(--ease-out);
  }
  body.ica-menu-open .ica-nav{clip-path:inset(0 0 0 0)}
  body.ica-menu-open{overflow:hidden}
  body.ica-menu-open .ica-header{background:transparent;color:var(--ivory);border-color:transparent}
  .ica-menu{flex-direction:column;gap:0;font-family:var(--serif);font-size:clamp(1.7rem,7vw,2.5rem);text-transform:none;letter-spacing:0;font-weight:500}
  .ica-menu li{border-bottom:1px solid var(--line-dark);opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
  body.ica-menu-open .ica-menu li{opacity:1;transform:none}
  body.ica-menu-open .ica-menu li:nth-child(1){transition-delay:.2s}
  body.ica-menu-open .ica-menu li:nth-child(2){transition-delay:.26s}
  body.ica-menu-open .ica-menu li:nth-child(3){transition-delay:.32s}
  body.ica-menu-open .ica-menu li:nth-child(4){transition-delay:.38s}
  body.ica-menu-open .ica-menu li:nth-child(5){transition-delay:.44s}
  body.ica-menu-open .ica-menu li:nth-child(6){transition-delay:.5s}
  .ica-menu a{display:block;padding:14px 0;opacity:1}
  .ica-menu a::after{display:none}
  .ica-nav__foot{display:block;margin-top:34px;opacity:0;transition:opacity .5s .55s}
  body.ica-menu-open .ica-nav__foot{opacity:1}
  .ica-nav__foot p{font-size:.92rem;color:rgba(246,240,225,.65);margin:18px 0 0}
}

/* ---------- hero (accueil) ---------- */
.ica-hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;color:var(--ivory);padding-top:var(--header-h);background:linear-gradient(#0B0E17,#171B2C 55%,#20283F 100%)}
.ica-hero__stars{position:absolute;inset:0;z-index:0;
  background-image:
    radial-gradient(1.5px 1.5px at 12% 22%,#F3E7C4 100%,transparent),
    radial-gradient(1.5px 1.5px at 28% 14%,#F3E7C4 100%,transparent),
    radial-gradient(1px 1px at 44% 30%,#F3E7C4 100%,transparent),
    radial-gradient(1.5px 1.5px at 62% 10%,#F3E7C4 100%,transparent),
    radial-gradient(1px 1px at 76% 26%,#F3E7C4 100%,transparent),
    radial-gradient(1.5px 1.5px at 88% 16%,#F3E7C4 100%,transparent);
  opacity:.7;animation:icaTwinkle 5s ease-in-out infinite alternate}
@keyframes icaTwinkle{from{opacity:.45}to{opacity:.85}}
.ica-hero__moon{position:absolute;top:13%;left:80%;transform:translateX(-50%);width:56px;height:56px;border-radius:50%;z-index:0;
  background:#F3E6BC;box-shadow:0 0 44px 14px rgba(243,230,188,.4),inset 14px -5px 0 0 #171B2C}
.ica-hero__skyline{position:absolute;left:0;right:0;bottom:0;height:46%;z-index:1}
.ica-hero__skyline svg{position:absolute;bottom:0;width:100%;height:100%;display:block}
.ica-hero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,19,28,.15) 0%,rgba(16,19,28,.05) 35%,rgba(16,19,28,.55) 75%,rgba(16,19,28,.96) 100%)}
.ica-hero__inner{position:relative;z-index:2;width:100%;padding-bottom:clamp(80px,11vh,130px);padding-top:110px}
.ica-hero__eyebrow{font-family:var(--ui);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.ica-hero__title{margin-bottom:.4em;font-size:clamp(2.4rem,6.4vw,5.4rem);font-weight:500;line-height:1.05}
.ica-hero__title em{font-weight:500}
.ica-hero__lead{font-size:clamp(1.02rem,1.3vw,1.2rem);color:rgba(246,240,225,.82);margin-bottom:2em}
.ica-hero__actions{display:flex;flex-wrap:wrap;gap:14px}
.ica-hero__cue{position:absolute;right:clamp(20px,4vw,40px);bottom:34px;z-index:2;display:flex;align-items:center;gap:14px;font-family:var(--ui);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(246,240,225,.7)}
.ica-hero__cue i{width:1px;height:52px;background:linear-gradient(var(--gold),transparent);position:relative;overflow:hidden;font-style:normal}
.ica-hero__cue i::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--ivory);animation:icaCue 2.2s var(--ease) infinite}
@keyframes icaCue{to{top:100%}}

/* lignes masquées (titres) — apparition ≤ 1,3 s au total */
html.js [data-lines]{opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
html.js [data-lines].is-in{opacity:1;transform:none}
[data-lines]:nth-child(2){transition-delay:.08s}[data-lines]:nth-child(3){transition-delay:.16s}[data-lines]:nth-child(4){transition-delay:.24s}

/* ---------- marquee ---------- */
.ica-marquee{overflow:hidden;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);background:var(--night);color:var(--ivory)}
.ica-marquee__track{display:flex;align-items:center;gap:34px;width:max-content;padding:18px 0;font-family:var(--serif);font-size:1.4rem;font-style:italic;font-weight:500;animation:icaMarquee 42s linear infinite;will-change:transform}
.ica-marquee__track i{font-style:normal;color:var(--gold);font-size:.7rem}
.ica-marquee:hover .ica-marquee__track{animation-play-state:paused}
@keyframes icaMarquee{to{transform:translateX(-50%)}}

/* ---------- chapitres ---------- */
.ica-chapter{padding:clamp(74px,10vw,140px) 0;position:relative}
.ica-chapter__head{margin-bottom:clamp(38px,5.5vw,64px)}
.ica-chapter__head p{font-size:1.08rem;color:rgba(246,240,225,.72);max-width:none}
.ica-paper .ica-chapter__head p{color:var(--ink-2)}

/* ---------- scrollytelling (chapitre I, patrimoine) ---------- */
.ica-scrolly{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,90px);max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,40px);align-items:start}
.ica-scrolly__steps{display:flex;flex-direction:column;gap:13vh;padding:7vh 0 1vh}
.ica-step{max-width:480px;opacity:.28;transition:opacity .6s var(--ease)}
.ica-step.is-active{opacity:1}
.ica-step h3{font-size:clamp(1.55rem,2.5vw,2.2rem);margin:12px 0 16px}
.ica-step p{color:rgba(246,240,225,.78)}
.ica-step__links{display:flex;flex-wrap:wrap;gap:10px}
.ica-step__links a{font-family:var(--ui);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border:1px solid var(--line-dark);border-radius:999px;color:var(--gold-2);transition:background .25s,color .25s,border-color .25s}
.ica-step__links a:hover{background:var(--gold);color:var(--night);border-color:var(--gold)}
.ica-scrolly__media{position:sticky;top:calc(var(--header-h) + 24px);height:calc(100vh - var(--header-h) - 48px);min-height:400px;border-radius:4px;overflow:hidden;background:var(--night-2)}
.ica-scrolly__img{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.06);transition:opacity 1s var(--ease),transform 1.6s var(--ease)}
.ica-scrolly__img img{width:100%;height:100%;object-fit:cover}
.ica-scrolly__img.is-active{opacity:1;transform:none}
.ica-scrolly__label{position:absolute;left:22px;bottom:22px;z-index:2;font-family:var(--ui);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ivory);background:rgba(16,19,28,.55);backdrop-filter:blur(6px);padding:9px 14px;border-radius:2px}
@media(max-width:900px){
  .ica-scrolly{grid-template-columns:1fr}
  .ica-scrolly__media{position:relative;top:auto;height:auto;aspect-ratio:4/3;min-height:0;order:-1;margin-bottom:20px}
  .ica-scrolly__steps{gap:44px;padding:0}
  .ica-step{opacity:1}
}

/* ---------- mosaïque des rubriques (chapitre II) ----------
   Volontairement différent du panorama à défilement horizontal : une grille
   asymétrique statique, une pierre d'angle (Patrimoine) posée en évidence,
   pas de glisser-scroller ni de boutons flèche. */
.ica-mosaic{background:var(--night)}
.ica-mosaic__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:16px}
.ica-mosaic__tile{
  position:relative;grid-column:span 1;grid-row:span 1;overflow:hidden;border-radius:3px;
  background:var(--night-2);color:var(--ivory);isolation:isolate;display:block;
  box-shadow:inset 0 0 0 1px rgba(212,179,107,.32);
}
.ica-mosaic__go{position:absolute;top:14px;right:14px;z-index:2;width:26px;height:26px;border-radius:50%;
  border:1px solid rgba(212,179,107,.55);color:var(--gold-2);background:rgba(16,19,28,.35);
  display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1}
.ica-mosaic__tile--big{grid-column:1 / 3;grid-row:1 / 3}
.ica-mosaic__tile--wide{grid-column:1 / 5;grid-row:3 / 4}
.ica-mosaic__img{position:absolute;inset:0;z-index:0}
.ica-mosaic__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.ica-mosaic__tile:hover .ica-mosaic__img img{transform:scale(1.05)}
.ica-mosaic__tile::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,19,28,.1) 40%,rgba(16,19,28,.88) 100%)}
.ica-mosaic__tile--wide::after{background:linear-gradient(90deg,rgba(16,19,28,.92) 0%,rgba(16,19,28,.35) 55%,rgba(16,19,28,.1) 100%)}
.ica-mosaic__body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:16px 18px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.ica-mosaic__tile--big .ica-mosaic__body,.ica-mosaic__tile--wide .ica-mosaic__body{flex-direction:column;align-items:flex-start;padding:26px 28px;gap:6px}
.ica-mosaic__num{font-family:var(--serif);font-size:1rem;color:var(--gold-2);line-height:1}
.ica-mosaic__tile--big .ica-mosaic__num,.ica-mosaic__tile--wide .ica-mosaic__num{font-size:1.3rem}
.ica-mosaic__name{font-family:var(--serif);font-size:1.05rem;font-weight:600;line-height:1.15}
.ica-mosaic__tile--big .ica-mosaic__name{font-size:2rem}
.ica-mosaic__tile--wide .ica-mosaic__name{font-size:1.6rem}
.ica-mosaic__tag{font-size:.92rem;font-style:italic;color:rgba(246,240,225,.75);max-width:44ch}
@media(max-width:900px){
  /* grid-auto-rows passe en auto : chaque vignette a désormais un aspect-ratio explicite
     (fixe 170px sur desktop plus haut), donc une hauteur de ligne figée créerait le même
     chevauchement qu'en mobile. */
  .ica-mosaic__grid{grid-template-columns:1fr 1fr;grid-auto-rows:auto}
  .ica-mosaic__tile{aspect-ratio:16/10;height:auto}
  .ica-mosaic__tile--big{grid-column:1/3;grid-row:auto}
  .ica-mosaic__tile--wide{grid-column:1/3;grid-row:auto}
}
@media(max-width:560px){
  .ica-mosaic__grid{grid-template-columns:1fr;grid-auto-rows:auto}
  .ica-mosaic__tile,.ica-mosaic__tile--big,.ica-mosaic__tile--wide{grid-column:1/2!important;grid-row:auto!important;aspect-ratio:16/10;height:auto}
}

/* ---------- manifeste ---------- */
.ica-manifest{background:var(--night);padding:clamp(66px,9vw,110px) 0;text-align:center;border-top:1px solid var(--line-dark)}
.ica-manifest__mark{color:var(--gold);margin:0 auto 24px}
.ica-manifest__text{font-family:var(--serif);font-size:clamp(1.35rem,2.4vw,1.9rem);font-weight:500;line-height:1.35;color:var(--ivory);margin-bottom:24px}

/* ---------- reveal ---------- */
html.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out);transition-delay:calc(var(--i,0) * 80ms)}
html.js [data-reveal].is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  [data-reveal],[data-lines]{opacity:1;transform:none;transition:none}
  .ica-marquee__track{animation:none}
  .ica-hero__stars{animation:none}
}

/* ============================================================
   PAGES DE LECTURE (ivoire)
   ============================================================ */
.ica-paper .ica-main{padding-top:var(--header-h)}
.ica-band{position:relative;color:var(--ivory);background:var(--night);overflow:hidden}
.ica-band__media{position:absolute;inset:-8% 0;z-index:0}
.ica-band__media img{width:100%;height:100%;object-fit:cover}
.ica-band__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,19,28,.35),rgba(16,19,28,.2) 40%,rgba(16,19,28,.88))}
.ica-hero-credit{position:absolute;right:14px;bottom:14px;z-index:1;font-family:var(--ui);font-size:11px;letter-spacing:.02em;color:rgba(246,240,225,.85);background:rgba(16,19,28,.45);padding:3px 10px;border-radius:99px;backdrop-filter:blur(2px)}
.ica-band__inner{position:relative;z-index:1;min-height:clamp(360px,48vh,600px);display:flex;flex-direction:column;justify-content:flex-end;padding-top:60px;padding-bottom:clamp(34px,5vw,56px)}
.ica-band--plain .ica-band__inner{min-height:0;padding-top:clamp(50px,8vw,90px)}
.ica-band h1{font-size:clamp(2.1rem,4.6vw,3.8rem)}
.ica-band__num{display:inline-block;font-family:var(--ui);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.ica-band__tag{font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,1.9vw,1.5rem);color:rgba(246,240,225,.85);margin:0}
.ica-byline{font-family:var(--ui);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(246,240,225,.7);margin:6px 0 0}
.ica-crumbs{font-family:var(--ui);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px;color:rgba(246,240,225,.65)}
.ica-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ica-crumbs li+li::before{content:"·";margin-right:8px;color:var(--gold)}
.ica-crumbs a:hover{color:var(--ivory)}

/* mise en page lecture : prose pleine largeur, rail à partir de 1180px */
.ica-read{padding:clamp(28px,5vw,56px) clamp(20px,4vw,40px) clamp(56px,8vw,100px)}
.ica-read--single .ica-prose{max-width:none}
@media(min-width:1180px){
  .ica-read{display:grid;grid-template-columns:200px minmax(0,1fr);gap:56px;align-items:start}
  .ica-read--single{display:block}
  .ica-read__rail{position:sticky;top:calc(var(--header-h) + 28px)}
}
@media(max-width:1179px){.ica-read__rail{margin-bottom:30px}}
.ica-toc__title{display:block;font-family:var(--ui);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-3);margin-bottom:12px}
.ica-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.ica-toc a{display:block;padding:7px 0 7px 16px;font-family:var(--ui);font-size:.84rem;color:var(--ink-2);border-left:1px solid transparent;margin-left:-1px;transition:color .2s,border-color .2s}
.ica-toc a:hover,.ica-toc a.is-active{color:var(--ink);border-left-color:var(--gold)}
@media(max-width:1179px){.ica-toc ol{display:flex;flex-wrap:wrap;gap:6px;border:0}.ica-toc a{border:1px solid var(--line);border-radius:999px;padding:7px 14px;margin:0}}

.ica-prose{font-size:17px;line-height:1.65}
.ica-prose > *:first-child{margin-top:0}
.ica-prose h2{font-size:clamp(1.65rem,2.9vw,2.3rem);margin:1.9em 0 .6em;scroll-margin-top:calc(var(--header-h) + 20px)}
.ica-prose h2::before{content:"";display:block;width:40px;height:1px;background:var(--gold);margin-bottom:16px}
.ica-prose h3{font-size:clamp(1.25rem,1.9vw,1.5rem);margin:1.5em 0 .5em}
.ica-prose p,.ica-prose li{max-width:none}
.ica-prose a{color:var(--gold-3);border-bottom:1px solid rgba(140,110,46,.4);transition:border-color .2s}
.ica-prose a:hover{border-color:var(--gold-3)}
.ica-prose ul,.ica-prose ol{padding-left:1.25em;margin:0 0 1.3em}
.ica-prose li{margin-bottom:.45em}
.ica-prose li::marker{color:var(--gold-3)}
.ica-prose strong{font-weight:600}
.ica-prose blockquote{margin:2em 0;padding:0 0 0 24px;border-left:2px solid var(--gold);font-family:var(--serif);font-size:1.3rem;font-style:italic;line-height:1.35;color:var(--ink-2)}
.ica-lead{font-family:var(--serif);font-size:clamp(1.2rem,1.9vw,1.5rem);line-height:1.4;color:var(--ink-2);margin-bottom:1.6em}
.ica-prose--intro{font-size:1.05rem}
.ica-prose img{max-height:900px;width:auto;max-width:100%}
.ica-figure{margin:2.2em 0}
.ica-figure img{width:100%;height:auto;border-radius:4px;aspect-ratio:16/10;object-fit:cover}
.ica-figure figcaption{font-family:var(--ui);font-size:.76rem;letter-spacing:.02em;color:var(--ink-3);margin-top:10px;padding-left:14px;border-left:1px solid var(--gold)}

.ica-essentiel{position:relative;margin:0 0 2.4em;padding:28px 30px 22px;background:var(--card);border:1px solid var(--line);border-radius:4px}
.ica-essentiel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--gold),var(--gold-2))}
.ica-essentiel .ica-eyebrow{margin-bottom:12px}
.ica-essentiel ul{margin:0;padding-left:1.1em}
.ica-essentiel li{margin-bottom:.5em}
.ica-callout{margin:2.2em 0;padding:24px 28px;background:var(--night);color:var(--ivory);border-radius:4px;position:relative}
.ica-callout::after{content:"";position:absolute;inset:10px;border:1px solid rgba(180,144,63,.35);pointer-events:none}
.ica-callout strong{display:block;font-family:var(--serif);font-size:1.3rem;font-weight:600;margin-bottom:8px}
.ica-callout p{margin:0;color:rgba(246,240,225,.82)}
.ica-prose table{width:100%;border-collapse:collapse;margin:2em 0;font-size:.95rem;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ica-prose thead th{font-family:var(--ui);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-3);text-align:left;border-bottom:1px solid var(--ink);padding:12px 14px}
.ica-prose td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.ica-prose tbody tr:hover{background:var(--card)}
.ica-faq{margin:3em 0 1em}
.ica-faq details{border-bottom:1px solid var(--line)}
.ica-faq details:first-of-type{border-top:1px solid var(--line)}
.ica-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:18px 0;font-family:var(--serif);font-size:1.25rem;font-weight:600;line-height:1.25}
.ica-faq summary::-webkit-details-marker{display:none}
.ica-faq summary::after{content:"+";font-family:var(--ui);font-weight:400;font-size:1.5rem;color:var(--gold-3);flex:none;line-height:1;transition:transform .3s}
.ica-faq details[open] summary::after{transform:rotate(45deg)}
.ica-faq .faq-a{padding:0 0 20px;color:var(--ink-2)}
.ica-faq .faq-a p:last-child{margin-bottom:0}

/* auteur */
.ica-author{display:flex;gap:18px;align-items:flex-start;margin:3em 0 0;padding:24px 0 0;border-top:1px solid var(--line)}
.ica-author__pic{flex:none;width:64px;height:64px;border-radius:50%;background:var(--night);color:var(--gold);display:grid;place-items:center;font-family:var(--serif);font-size:1.35rem;letter-spacing:.03em}
.ica-author strong{font-family:var(--serif);font-size:1.2rem;font-weight:600}
.ica-author p{margin:4px 0 0;font-size:.95rem;color:var(--ink-2)}

/* carnet / cartes article */
.ica-carnet{background:var(--night-2)}
.ica-paper .ica-carnet{background:var(--ivory-2)}
.ica-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:900px){.ica-posts{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ica-posts{grid-template-columns:1fr}}
.ica-post{display:flex;flex-direction:column}
.ica-post__thumb{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:4px;background:var(--night-3)}
.ica-post__thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.ica-post:hover .ica-post__thumb img{transform:scale(1.05)}
.ica-post__body{padding:18px 0 0}
.ica-post__body h3{font-size:1.4rem;margin:8px 0 8px}
.ica-post__body h3 a{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .4s var(--ease)}
.ica-post:hover .ica-post__body h3 a{background-size:100% 1px}
.ica-post__body p{font-size:.98rem;color:rgba(246,240,225,.68);margin-bottom:10px}
.ica-paper .ica-post__body p{color:var(--ink-2)}
.ica-post__meta{font-family:var(--ui);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.ica-cover .ica-post__meta{color:rgba(246,240,225,.5)}

/* continuer la visite */
.ica-more{background:var(--ivory-2);padding:clamp(56px,7.5vw,96px) 0;border-top:1px solid var(--line)}
.ica-more__head{margin-bottom:32px}
.ica-more__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:800px){.ica-more__grid{grid-template-columns:1fr}}
.ica-rub-mini{position:relative;display:grid;grid-template-columns:88px 1fr;grid-template-rows:auto auto;column-gap:18px;align-items:center;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:4px;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.ica-rub-mini:hover{transform:translateY(-3px);box-shadow:0 24px 40px -30px rgba(16,19,28,.4)}
.ica-rub-mini__img{grid-row:1/3;aspect-ratio:1;border-radius:2px;overflow:hidden;background:var(--night-3)}
.ica-rub-mini__img img{width:100%;height:100%;object-fit:cover}
.ica-rub-mini__num{font-family:var(--ui);font-size:.66rem;letter-spacing:.16em;color:var(--gold-3)}
.ica-rub-mini__name{font-family:var(--serif);font-size:1.35rem;line-height:1.1}
.ica-rub-mini__tag{grid-column:2;font-size:.9rem;color:var(--ink-2);font-style:italic}

/* archive */
.ica-band--archive{background:var(--night)}
.ica-archive{padding:clamp(40px,6vw,68px) clamp(20px,4vw,40px) clamp(68px,9vw,116px)}
.ica-empty{font-family:var(--serif);font-size:1.25rem}
.ica-empty a{color:var(--gold-3);border-bottom:1px solid currentColor}
.ica-pagination{margin-top:50px;font-family:var(--ui);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
.ica-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.ica-pagination .page-numbers{padding:10px 16px;border:1px solid var(--line);border-radius:2px}
.ica-pagination .page-numbers.current{background:var(--night);color:var(--ivory);border-color:var(--night)}

/* 404 */
.ica-404{padding:clamp(88px,13vw,170px) 0;text-align:center}
.ica-404__mark{color:var(--gold);margin:0 auto 22px}
.ica-404 h1{font-size:clamp(1.9rem,4.3vw,3.2rem)}
.ica-404 .ica-hero__actions{justify-content:center;margin-top:24px}

/* ---------- footer ---------- */
.ica-footer{background:var(--night);color:var(--ivory);padding:clamp(56px,7.5vw,96px) 0 30px;overflow:hidden}
.ica-paper .ica-footer{margin-top:0}
.ica-footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:46px;border-bottom:1px solid var(--line-dark)}
@media(max-width:800px){.ica-footer__top{grid-template-columns:1fr 1fr}.ica-footer__brand{grid-column:1/-1}}
.ica-footer__brand p{font-size:.98rem;color:rgba(246,240,225,.62);margin-top:16px}
.ica-footer h4{font-family:var(--ui);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 16px;font-weight:600}
.ica-footer ul{list-style:none;margin:0;padding:0}
.ica-footer li{margin-bottom:9px;font-size:.96rem}
.ica-footer li a{color:rgba(246,240,225,.78);transition:color .2s}
.ica-footer li a:hover{color:var(--gold-2)}
.ica-footer__rule{display:flex;align-items:center;gap:18px;margin:36px 0 0;color:var(--gold)}
.ica-footer__rule span{flex:1;height:1px;background:var(--line-dark)}
.ica-footer__base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:24px;font-family:var(--ui);font-size:.74rem;letter-spacing:.03em;color:rgba(246,240,225,.5)}
