@font-face{font-family:'Limelight';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/polices/limelight-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Limelight';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/polices/limelight-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/polices/eb-garamond-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/polices/eb-garamond-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400 600;font-display:swap;src:url(/assets/polices/eb-garamond-italique-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400 600;font-display:swap;src:url(/assets/polices/eb-garamond-italique-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Josefin Sans';font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/polices/josefin-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Josefin Sans';font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/polices/josefin-sans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Mise en page : les toits du Marais en plein cadre, de nuit ou de jour selon l'heure de Paris, puis les hôtels quartier par quartier.
   Direction : affiche Belle Époque et Art déco — papier ancien, encre sépia, or, plaques émaillées de la Ville. */
:root{
  --fond:#1d2846; --surface:#24305a; --surface-2:#2c3a68;
  --texte:#f1e6cf; --texte-doux:#b8b09d; --accent:#e2ad5b; --accent-texte:#21170b; --or:#e2ad5b; --rouge:#c4553a; --vert:#4f8a72;
  --plaque:#23458c; --plaque-bord:#4f8a72; --plaque-texte:#f6f1e4;
  --filet:rgba(241,230,207,.16); --filet-fort:rgba(241,230,207,.36);
  --affiche-1:#b6452f; --affiche-2:#d4a243; --affiche-3:#23458c; --affiche-4:#ece2cb; --affiche-encre:#1f1812; --affiche-clair:#f6efe0;
  --colonne:#2c5a47; --colonne-sombre:#1d3f31;
  --m1:#ffce00; --m3:#9f9825; --m5:#f28e42; --m8:#ceadd2; --m9:#d5c900; --m11:#8d5e2a; --m-encre:#15131a; --m-clair:#ffffff;
  --vignette:rgba(8,12,30,.42);
  --f-titre:"Limelight","Broadway",Georgia,serif;
  --f-texte:"EB Garamond",Garamond,Georgia,serif;
  --f-plaque:"Josefin Sans","Futura","Century Gothic",sans-serif;
  --gouttiere-g:max(16px, env(safe-area-inset-left, 0px));
  --gouttiere-d:max(16px, env(safe-area-inset-right, 0px));
  --tour:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='32' viewBox='0 0 24 32'><g fill='%23e2ad5b' stroke='%2321170b' stroke-width='1.1' stroke-linejoin='round' paint-order='stroke'><path d='M12 .8l.7 3.7.6 5 1.6 4.1 1.4 5.2 1.8 5 2.5 6.8h-3.7Q14.8 25.8 12 25.8T7.1 30.6H3.4l2.5-6.8 1.8-5 1.4-5.2 1.6-4.1.6-5z'/><path d='M8.6 12.9h6.8v1.5H8.6zM6.6 18.4h10.8v1.7H6.6z'/></g></svg>") 12 1;
  --tour-lien:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='32' viewBox='0 0 24 32'><g fill='%23cf5a3c' stroke='%23f6efe0' stroke-width='1.1' stroke-linejoin='round' paint-order='stroke'><path d='M12 .8l.7 3.7.6 5 1.6 4.1 1.4 5.2 1.8 5 2.5 6.8h-3.7Q14.8 25.8 12 25.8T7.1 30.6H3.4l2.5-6.8 1.8-5 1.4-5.2 1.6-4.1.6-5z'/><path d='M8.6 12.9h6.8v1.5H8.6zM6.6 18.4h10.8v1.7H6.6z'/></g></svg>") 12 1;
  color-scheme:dark;
}
:root[data-ambiance="jour"]{
  --fond:#efe4cc; --surface:#f7efdc; --surface-2:#e9dcc0;
  --texte:#2b2117; --texte-doux:#6a5844; --accent:#9c3b25; --accent-texte:#fbf3e2; --or:#a8741f; --rouge:#9c3b25; --vert:#3d6b57;
  --filet:rgba(43,33,23,.18); --filet-fort:rgba(43,33,23,.42);
  --colonne:#2f5e4a; --colonne-sombre:#214636;
  --vignette:rgba(110,78,36,.2);
  color-scheme:light;
}
:root{
  --fa-ciel:#17203f;--fa-ciel-trait:#1e2950;--fa-etoile:#f1e6cf;
  --fa-encre:#0c1124;--fa-joint:#3c4672;--fa-ombre:#0c1124;--fa-chassis:#0c1124;
  --fa-pierre-1:#4f5b88;--fa-pierre-2:#5b5682;--fa-pierre-3:#47647f;--fa-pierre-clair:#6c78a3;
  --fa-enduit-1:#5c5a79;--fa-enduit-2:#635670;--fa-tuile:#4e3446;--fa-tuile-trait:#2a1c2c;
  --fa-voisin-1:#343e68;--fa-voisin-2:#2f385f;
  --fa-zinc:#2b3557;--fa-zinc-trait:#1d2543;--fa-cheminee:#4b5079;--fa-terre:#8a4d3c;
  --fa-fen:#141a34;--fa-fen-on:#f2c46b;
  --fa-volet-1:#2c4d47;--fa-volet-2:#3e5274;--fa-volet-3:#76603f;
  --fa-fer:#0c1124;--fa-store-a:#82372f;--fa-store-b:#2e534b;--fa-store-raie:#b3a88f;
  --fa-porte-1:#2c2238;--fa-porte-2:#1f3531;--fa-devanture-1:#24433c;--fa-devanture-2:#5c2b2b;
  --fa-dore:#c9984f;--fa-plaque:#23458c;--fa-plaque-texte:#f1e6cf;
  --fa-fonte:#0c1124;--fa-lanterne:#f6cf78;
  --fa-trottoir:#29325a;--fa-pave:#222a4c;--fa-pave-trait:#10162e;
}
:root[data-ambiance="jour"]{
  --fa-ciel:#f3ead6;--fa-ciel-trait:#ddcca9;--fa-etoile:#f3ead6;
  --fa-encre:#3a291b;--fa-joint:#b6a07c;--fa-ombre:#3a291b;--fa-chassis:#f4ecd9;
  --fa-pierre-1:#e6d6b4;--fa-pierre-2:#dbc095;--fa-pierre-3:#d9d3c4;--fa-pierre-clair:#f2e8cf;
  --fa-enduit-1:#e8c896;--fa-enduit-2:#dfc0a6;--fa-tuile:#a8573c;--fa-tuile-trait:#6b3222;
  --fa-voisin-1:#cfbb97;--fa-voisin-2:#d6c6a8;
  --fa-zinc:#8d98a2;--fa-zinc-trait:#6b7782;--fa-cheminee:#d9c8a5;--fa-terre:#b5603f;
  --fa-fen:#4f5f6e;--fa-fen-on:#4f5f6e;
  --fa-volet-1:#43694f;--fa-volet-2:#7088a0;--fa-volet-3:#c18f45;
  --fa-fer:#2d2118;--fa-store-a:#a9452c;--fa-store-b:#3d6b57;--fa-store-raie:#f3ead6;
  --fa-porte-1:#5b3525;--fa-porte-2:#2f4d40;--fa-devanture-1:#2f5546;--fa-devanture-2:#7d2f22;
  --fa-dore:#b07a2a;--fa-plaque:#23458c;--fa-plaque-texte:#f7efdc;
  --fa-fonte:#2b3a33;--fa-lanterne:#efe2b8;
  --fa-trottoir:#d8c9a8;--fa-pave:#c4b391;--fa-pave-trait:#8e7a5b;
}
:root[data-ambiance="jour"] .facade .fa-etoile{opacity:0}
:root{
  --ca-papier:#1f2d58;
  --ca-encre:#f1e6cf;
  --ca-hachure:rgba(241,230,207,.30);
  --ca-ilot:#23336a;
  --ca-monument:#2c3c72;
  --ca-monument-trait:rgba(226,173,91,.78);
  --ca-eau:#19254c;
  --ca-vague:rgba(241,230,207,.30);
  --ca-jardin:#264a58;
  --ca-arbre:#93c9ad;
  --ca-arbre-bd:rgba(147,201,173,.75);
  --ca-texte:#f1e6cf;
  --ca-texte-doux:#c4baa3;
  --ca-texte-rue:#f1e6cf;
  --ca-texte-lieu:#f0cf8e;
  --ca-texte-eau:rgba(241,230,207,.78);
  --ca-arr:rgba(241,230,207,.075);
  --ca-limite:#e08a6c;
  --ca-limite-fond:rgba(224,138,108,.17);
  --ca-or:#e2ad5b;
  --ca-cadre:#e2ad5b;
  --ca-plaque:#23458c;
  --ca-plaque-bord:#f1e6cf;
  --ca-plaque-texte:#f1e6cf;
  --ca-hors:rgba(241,230,207,.26);
  --ca-filet:rgba(226,173,91,.45);
  --ca-l1:#ffce00;--ca-l3:#9f9825;--ca-l5:#f28e42;--ca-l8:#ceadd2;--ca-l9:#d5c900;--ca-l11:#8d5e2a;
  --ca-num-ligne:#1d1a14;--ca-num-ligne-clair:#fff8e8;
  --ca-repere:var(--accent);
}
:root[data-ambiance="jour"]{
  --ca-papier:#f4ead3;
  --ca-encre:#3b2b1b;
  --ca-hachure:rgba(59,43,27,.40);
  --ca-ilot:#efe2c6;
  --ca-monument:#e9d6b3;
  --ca-monument-trait:rgba(156,59,37,.72);
  --ca-eau:#d3ddd3;
  --ca-vague:rgba(35,69,140,.34);
  --ca-jardin:#e1e2bd;
  --ca-arbre:#3d6b57;
  --ca-arbre-bd:rgba(61,107,87,.8);
  --ca-texte:#2b2117;
  --ca-texte-doux:#6a5844;
  --ca-texte-rue:#2b2117;
  --ca-texte-lieu:#86321d;
  --ca-texte-eau:rgba(35,69,140,.8);
  --ca-arr:rgba(59,43,27,.075);
  --ca-limite:#9c3b25;
  --ca-limite-fond:rgba(156,59,37,.13);
  --ca-or:#b07a2a;
  --ca-cadre:#3b2b1b;
  --ca-plaque:#23458c;
  --ca-plaque-bord:#f7efdc;
  --ca-plaque-texte:#f7efdc;
  --ca-hors:rgba(59,43,27,.3);
  --ca-filet:rgba(59,43,27,.35);
}
*,*::before,*::after{box-sizing:border-box}
html{cursor:var(--tour),auto}
a,button,select,label,input,[role="link"],.pin{cursor:var(--tour-lien),pointer}
body{margin:0;background:var(--fond);color:var(--texte);font-family:var(--f-texte);font-size:19px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip;transition:background-color .8s ease,color .8s ease}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--fond)}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.enveloppe{max-width:1280px;margin-inline:auto;padding-left:var(--gouttiere-g);padding-right:var(--gouttiere-d)}
.oeil{display:inline-flex;align-items:center;gap:12px;font-family:var(--f-plaque);font-weight:600;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.oeil::before{content:"";flex:none;width:44px;height:10px;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 10'><path d='M0 4.5h28v1H0zM30 5l4-4 4 4-4 4zM40 4h3v2h-3z'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 10'><path d='M0 4.5h28v1H0zM30 5l4-4 4 4-4 4zM40 4h3v2h-3z'/></svg>") center/contain no-repeat}
h1,h2,h3{font-family:var(--f-titre);font-weight:400;text-wrap:balance;margin:0}
h2{font-size:clamp(2rem,4.2vw,3.7rem);line-height:1.04}
h2 em,h1 em{font-family:var(--f-texte);font-style:italic;font-weight:500;font-size:1.1em;color:var(--accent)}
p{margin:0}

/* Papier : grain et vignettage d'ancienne épreuve */
.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:70;opacity:.06;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
.vignette{position:fixed;inset:0;pointer-events:none;z-index:69;background:radial-gradient(ellipse 120% 100% at 50% 45%,transparent 58%,var(--vignette) 100%)}

/* Ornement Art déco (éventail) */
.ornement{display:block;width:240px;max-width:70%;height:40px;margin:0 auto 46px;background:var(--or);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 40'><path d='M0 32.5h94v1H0zM146 32.5h94v1h-94zM24 36.5h70v.8H24zM146 36.5h70v.8h-70zM97 33a23 23 0 0 1 46 0h-1.3a21.7 21.7 0 0 0-43.4 0zM124.6 31.0L136.4 28.6L125.0 32.4zM124.0 29.9L134.7 24.5L124.7 31.1zM123.0 28.9L132.0 21.0L124.1 30.0zM121.9 28.3L128.5 18.3L123.1 29.0zM120.6 28.0L124.4 16.6L122.0 28.4zM119.2 28.0L120.0 16.0L120.8 28.0zM118.0 28.4L115.6 16.6L119.4 28.0zM116.9 29.0L111.5 18.3L118.1 28.3zM115.9 30.0L108.0 21.0L117.0 28.9zM115.3 31.1L105.3 24.5L116.0 29.9zM115.0 32.4L103.6 28.6L115.4 31.0zM116.5 33a3.5 3.5 0 0 1 7 0zM120 2l3 3-3 3-3-3z'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 40'><path d='M0 32.5h94v1H0zM146 32.5h94v1h-94zM24 36.5h70v.8H24zM146 36.5h70v.8h-70zM97 33a23 23 0 0 1 46 0h-1.3a21.7 21.7 0 0 0-43.4 0zM124.6 31.0L136.4 28.6L125.0 32.4zM124.0 29.9L134.7 24.5L124.7 31.1zM123.0 28.9L132.0 21.0L124.1 30.0zM121.9 28.3L128.5 18.3L123.1 29.0zM120.6 28.0L124.4 16.6L122.0 28.4zM119.2 28.0L120.0 16.0L120.8 28.0zM118.0 28.4L115.6 16.6L119.4 28.0zM116.9 29.0L111.5 18.3L118.1 28.3zM115.9 30.0L108.0 21.0L117.0 28.9zM115.3 31.1L105.3 24.5L116.0 29.9zM115.0 32.4L103.6 28.6L115.4 31.0zM116.5 33a3.5 3.5 0 0 1 7 0zM120 2l3 3-3 3-3-3z'/></svg>") center/contain no-repeat}

/* Plaques émaillées */
.plaque{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background:var(--plaque);color:var(--plaque-texte);font-family:var(--f-plaque);text-transform:uppercase;line-height:1;border-radius:2px;box-shadow:inset 0 0 0 2px var(--plaque),inset 0 0 0 3.5px var(--plaque-texte),0 0 0 3px var(--plaque-bord),0 6px 18px rgba(0,0,0,.22);padding:8px 14px 6px;white-space:nowrap}
.plaque small{white-space:nowrap;font-size:.58em;font-weight:600;letter-spacing:.1em;margin-bottom:4px}
.plaque small sup{font-size:.75em}
.plaque b{font-weight:700;letter-spacing:.08em}

/* Navigation */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background-color .5s,border-color .5s,backdrop-filter .5s;border-bottom:1px solid transparent}
.nav.pleine{background:color-mix(in srgb,var(--fond) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--filet-fort);box-shadow:0 4px 0 -3px var(--filet)}
.nav .enveloppe{display:flex;align-items:center;gap:28px;padding-block:14px}
.logo{text-decoration:none;font-size:1rem}
.logo .plaque{padding:7px 12px 5px}
.nav-liens{display:flex;gap:26px;margin-left:auto;font-family:var(--f-plaque);font-weight:600;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase}
.nav-liens a{text-decoration:none;position:relative;padding-block:4px}
.nav-liens a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.7,0,.2,1)}
.nav-liens a:hover::after{transform:scaleX(1);transform-origin:left}
.ambiance{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--filet-fort);outline:1px solid var(--filet);outline-offset:2px;color:var(--texte);font-family:var(--f-plaque);font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:.74rem;padding:7px 12px 6px}
.ambiance svg{width:16px;height:22px}
.ambiance .flamme{fill:var(--accent);transition:opacity .4s}
:root[data-ambiance="jour"] .ambiance .flamme{opacity:.25}
.bouton{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--accent);color:var(--accent-texte);font-family:var(--f-plaque);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;padding:13px 20px 11px;border:0;text-decoration:none;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px var(--accent),inset 0 0 0 4px var(--accent-texte);transition:color .3s}
.bouton span{position:relative}
.bouton{transition:color .3s,box-shadow .3s}
.bouton:hover{box-shadow:inset 0 0 0 3px var(--accent),inset 0 0 0 5px var(--accent-texte)}
.nav .bouton{padding:10px 16px 8px}

/* Héros */
.heros{position:relative;height:clamp(640px,92svh,960px);overflow:hidden;isolation:isolate}
#ciel{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:-1}
.heros-contenu{position:relative;padding-top:clamp(112px,16vh,170px);pointer-events:none}
.heros-contenu > *{pointer-events:auto}
.coordonnees{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-bottom:28px}
.coordonnees .geo{font-family:var(--f-plaque);font-size:.78rem;letter-spacing:.2em;color:var(--texte-doux);font-variant-numeric:tabular-nums}
.heros h1{font-size:clamp(2.4rem,5.6vw,5.5rem);line-height:1.04;max-width:12em}
.mot{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.mot > span{display:inline-block}
.chapo{max-width:33em;margin-top:24px;font-size:clamp(1.08rem,1.45vw,1.28rem);color:var(--texte)}
.recherche{margin-top:34px;display:grid;grid-template-columns:1.15fr 1fr 1.5fr auto;max-width:980px;border:1px solid var(--filet-fort);outline:1px solid var(--filet);outline-offset:4px;background:color-mix(in srgb,var(--fond) 78%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.champ{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-right:1px solid var(--filet);min-width:0}
.champ label{font-family:var(--f-plaque);font-weight:600;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--texte-doux)}
.champ input,.champ select{background:transparent;border:0;color:var(--texte);font-family:var(--f-texte);font-size:1.08rem;padding:2px 0;min-width:0;width:100%}
.champ select option{background:var(--surface);color:var(--texte)}
.recherche .bouton{height:100%;padding-inline:26px}
.heros-pied{position:absolute;left:0;right:0;bottom:22px;pointer-events:none}
.heros-pied .enveloppe{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;font-family:var(--f-plaque);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--texte-doux)}
.descendre{display:flex;align-items:center;gap:12px}
.descendre i{display:block;width:1px;height:42px;background:var(--filet-fort);position:relative;overflow:hidden}
.descendre i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--accent);animation:goutte 2.2s cubic-bezier(.6,0,.3,1) infinite}
@keyframes goutte{to{top:110%}}
.legende,.descendre{background:var(--fond);background:color-mix(in srgb,var(--fond) 88%,transparent);border:1px solid var(--filet-fort);outline:1px solid var(--filet);outline-offset:3px;padding:9px 14px}
.legende{text-align:right;line-height:1.7}
.heros .coordonnees .geo{color:var(--texte)}
.legende em{font-family:var(--f-texte);font-style:italic;text-transform:none;letter-spacing:0;font-size:1rem;color:var(--texte)}
.horloge{color:var(--accent)}

/* Défilé des rues */
.defile{overflow:hidden;border-block:1px solid var(--filet-fort);box-shadow:inset 0 4px 0 -3px var(--filet),inset 0 -4px 0 -3px var(--filet);padding-block:22px;background:var(--surface)}
.piste{display:flex;gap:34px;width:max-content;align-items:center;will-change:transform}
.piste .plaque{font-size:.95rem}
.piste .sep{width:8px;height:8px;flex:none;transform:rotate(45deg);border:1px solid var(--or)}
.sans-gsap .piste{animation:defile 60s linear infinite}
@keyframes defile{to{transform:translateX(-50%)}}

/* Sections */
.section{padding-block:clamp(80px,11vw,150px)}
.entete{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px 60px;align-items:end;margin-bottom:40px}
.entete p{color:var(--texte-doux);max-width:34em}
.entete .oeil{margin-bottom:18px}

/* Filtres */
.filtres{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:18px}
.filtre{background:none;border:1px solid var(--filet-fort);color:var(--texte);font-family:var(--f-plaque);font-weight:600;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;padding:9px 14px 7px;transition:background-color .3s,color .3s,box-shadow .3s}
.filtre:hover{border-color:var(--texte)}
.filtre[aria-pressed="true"]{background:var(--plaque);color:var(--plaque-texte);border-color:var(--plaque);box-shadow:inset 0 0 0 2px var(--plaque),inset 0 0 0 3px var(--plaque-texte),0 0 0 2px var(--plaque-bord)}
.tri{margin-left:auto;display:flex;align-items:center;gap:10px;font-family:var(--f-plaque);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--texte-doux)}
.tri select{background:var(--surface);color:var(--texte);border:1px solid var(--filet-fort);font-family:var(--f-texte);font-size:1.02rem;padding:5px 10px}
.compte{width:100%;font-family:var(--f-plaque);letter-spacing:.16em;text-transform:uppercase;font-size:.7rem;color:var(--texte-doux)}
.compte b{color:var(--accent);font-weight:700}
.releve{display:flex;align-items:center;gap:10px;margin-bottom:34px;font-style:italic;color:var(--texte-doux);font-size:1.04rem}
.releve svg{width:18px;height:18px;flex:none;color:var(--or)}

/* Fiches hôtel : cartes droites, double filet et coins dorés */
.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:30px}
.hotel{position:relative;display:flex;min-width:0;padding:7px;background:var(--surface);border:1px solid var(--filet-fort);transition:border-color .4s}
.hotel::before{content:"";position:absolute;inset:3px;pointer-events:none;z-index:3;
  background:linear-gradient(var(--or),var(--or)) left top/16px 1px no-repeat,linear-gradient(var(--or),var(--or)) left top/1px 16px no-repeat,
  linear-gradient(var(--or),var(--or)) right top/16px 1px no-repeat,linear-gradient(var(--or),var(--or)) right top/1px 16px no-repeat,
  linear-gradient(var(--or),var(--or)) left bottom/16px 1px no-repeat,linear-gradient(var(--or),var(--or)) left bottom/1px 16px no-repeat,
  linear-gradient(var(--or),var(--or)) right bottom/16px 1px no-repeat,linear-gradient(var(--or),var(--or)) right bottom/1px 16px no-repeat}
.hotel:hover,.hotel.repere{border-color:var(--accent)}
.hotel.masque{display:none}
.cadre{flex:1;display:flex;flex-direction:column;min-width:0;border:1px solid var(--filet)}
/* Façades vintage : nuit (défaut) */

/* Façades vintage : jour */

.facade{position:relative;aspect-ratio:5/4;overflow:hidden;background:var(--fa-ciel)}
.facade svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.facade .fa-f{fill:var(--fa-fen);transition:fill .7s}
.facade .fa-f.fa-on{fill:var(--fa-fen-on)}
.facade .fa-etoile{opacity:1;transition:opacity .7s}

.facade .fa-lettre{font-family:var(--f-plaque);font-weight:700}
.facade{border-bottom:1px solid var(--filet-fort)}
.facade .numero{position:absolute;top:11px;left:11px;z-index:2;font-size:.9rem;padding:7px 10px 5px}
sup{text-transform:none}
:root[data-ambiance="jour"] .facade .etoiles{color:var(--accent)}
.facade .etoiles{position:absolute;top:11px;right:11px;z-index:2;font-family:var(--f-plaque);font-weight:700;letter-spacing:.18em;color:var(--or);font-size:.78rem;line-height:1;background:var(--surface);border:1px solid var(--filet-fort);padding:6px 5px 5px 8px}
.infos{padding:18px 20px 20px;display:flex;flex-direction:column;gap:11px;flex:1}
.infos .rue{font-family:var(--f-plaque);font-weight:600;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--texte-doux)}
.infos h3{font-size:1.42rem;line-height:1.1}
.meta{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:1rem;color:var(--texte-doux)}
.meta b{color:var(--texte);font-weight:600;font-variant-numeric:lining-nums tabular-nums}
.etiquettes{display:flex;flex-wrap:wrap;gap:6px}
.etiquettes span{font-family:var(--f-plaque);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--filet);padding:4px 8px 3px;color:var(--texte-doux)}
.lien-offre{font-family:var(--f-plaque);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.68rem;color:var(--texte);border:1px solid var(--filet-fort);outline:1px solid var(--filet);outline-offset:2px;padding:10px 12px 8px;text-decoration:none;transition:background-color .3s,color .3s}
.lien-offre:hover{color:var(--accent);border-color:var(--accent)}
.note-bas{margin-top:26px;font-family:var(--f-plaque);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--texte-doux)}

/* Plan */
.plan{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:50px;align-items:start}
.plan-texte{display:flex;flex-direction:column;gap:22px}
.plan-texte > p{color:var(--texte-doux)}
.acces{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--filet);display:grid;grid-template-columns:1fr 1fr;column-gap:26px}
.acces li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 9px;border-bottom:1px solid var(--filet);font-size:1rem;min-width:0}
.lignes{display:flex;gap:4px;flex:none}
.acces .ligne{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-plaque);font-weight:700;font-size:.72rem;padding-top:2px;color:var(--m-encre)}
.acces .ligne.l1{background:var(--m1)}.acces .ligne.l3{background:var(--m3)}.acces .ligne.l5{background:var(--m5)}.acces .ligne.l8{background:var(--m8)}.acces .ligne.l9{background:var(--m9)}.acces .ligne.l11{background:var(--m11);color:var(--m-clair)}
/* ===== Plan du Marais : couleurs (nuit = cyanotype, jour = encre sépia) ===== */



/* ===== Cadre de la figure ===== */
.carte{margin:0;padding:7px;background:var(--ca-papier);border:4px double var(--ca-cadre);overflow-x:auto;color:var(--ca-texte)}
.carte svg{display:block;width:100%;height:auto;min-width:520px}
.carte-legende{margin:7px 2px 0;padding:7px 4px 2px;border-top:1px solid var(--ca-filet);font-family:var(--f-texte);font-style:italic;font-size:.95rem;line-height:1.35;color:var(--ca-texte-doux);text-align:center}

/* ===== Papier, îlots, eau ===== */
.carte .ca-papier{fill:var(--ca-papier)}
.carte .ca-p-ilot{fill:var(--ca-ilot)}
.carte .ca-p-trait{stroke:var(--ca-hachure);stroke-width:.55}
.carte .ca-p-monument{fill:var(--ca-monument)}
.carte .ca-p-trait-m{stroke:var(--ca-monument-trait);stroke-width:.5}
.carte .ca-p-jardin{fill:var(--ca-jardin)}
.carte .ca-p-arbre{fill:none;stroke:var(--ca-arbre);stroke-width:.45}
.carte .ca-p-arbre-pt{fill:var(--ca-arbre)}
.carte .ca-p-eau{fill:var(--ca-eau)}
.carte .ca-p-vague{fill:none;stroke:var(--ca-vague);stroke-width:.42}
.carte .ca-eau{fill:url(#ca-eau)}
.carte .ca-berge{fill:none;stroke:var(--ca-encre);stroke-width:.9}
.carte .ca-ile{fill:var(--ca-papier);stroke:var(--ca-encre);stroke-width:.9}
.carte .ca-ilots{fill:url(#ca-hachure)}
.carte .ca-ilots.ile{fill:url(#ca-hachure-ile)}
.carte .ca-hors-bord{fill:none;stroke:var(--ca-hors);stroke-width:5.2;stroke-linecap:round}
.carte .ca-hors-trace{fill:none;stroke:var(--ca-papier);stroke-width:3.8;stroke-linecap:round}
.carte .ca-quartier{font-family:var(--f-texte);font-style:italic;font-size:8px;letter-spacing:.3em;fill:var(--ca-texte-doux);text-anchor:middle;opacity:.8}
.carte .ca-arr text{font-family:var(--f-titre);font-size:96px;fill:var(--ca-arr);text-anchor:middle}
.carte .ca-pont-bord{fill:none;stroke:var(--ca-encre);stroke-width:7.4}
.carte .ca-pont{fill:none;stroke:var(--ca-papier);stroke-width:5.8}

/* ===== Rues : bord encre + chaussée papier (tracés animés) ===== */
.carte .rue-bord{fill:none;stroke:var(--ca-encre);stroke-width:8.6;stroke-linecap:round;stroke-linejoin:round}
.carte .rue-bord.majeure{stroke-width:10.6}
.carte .rue-bord.bd{stroke-width:13.4}
.carte .rue-bord.mineure{stroke-width:5}
.carte .rue-trace{fill:none;stroke:var(--ca-papier);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.carte .rue-trace.majeure{stroke-width:8.8}
.carte .rue-trace.bd{stroke-width:11.6}
.carte .rue-trace.mineure{stroke-width:3.6}
.carte .ca-alignement{fill:none;stroke:var(--ca-arbre-bd);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:0 3.4}

/* ===== Lieux ===== */
.carte .lieu{fill:url(#ca-croise);stroke:var(--ca-encre);stroke-width:.7;stroke-linejoin:round}
.carte .lieu.vert{fill:url(#ca-arbres)}
.carte g.lieu{fill:none;stroke:none}
.carte .ca-monument{fill:url(#ca-croise);stroke:var(--ca-encre);stroke-width:.7;stroke-linejoin:round}
.carte .ca-toit{fill:url(#ca-toit)}
.carte .ca-place{fill:var(--ca-papier);stroke:none}
.carte .ca-place-bord{fill:none;stroke:var(--ca-encre);stroke-width:.8}
.carte .ca-jardin{fill:url(#ca-arbres);stroke:var(--ca-encre);stroke-width:.5}
.carte .ca-dome{fill:var(--ca-monument);stroke:var(--ca-encre);stroke-width:.7}
.carte .ca-colonne{fill:var(--ca-or);stroke:var(--ca-encre);stroke-width:.5}
.carte .ca-statue{fill:var(--ca-encre)}

/* ===== Limite IIIe / IVe ===== */
.carte .ca-limite-fond{fill:none;stroke:var(--ca-limite-fond);stroke-width:5.5;stroke-linecap:round}
.carte .ca-limite{fill:none;stroke:var(--ca-limite);stroke-width:1.1;stroke-dasharray:7 2.2 1.2 2.2}

/* ===== Écritures ===== */
.carte .nom-rue{font-family:var(--f-plaque);font-weight:600;font-size:6.3px;letter-spacing:.13em;text-transform:uppercase;fill:var(--ca-texte-rue)}
.carte .nom-rue.bd{font-size:6.5px;letter-spacing:.24em}
.carte .nom-rue.sec{font-size:5.3px;letter-spacing:.09em}
.carte .nom-rue.mini{font-size:4.7px;letter-spacing:.05em}
.carte .nom-rue.court{paint-order:stroke;stroke:var(--ca-papier);stroke-width:2.2px;stroke-linejoin:round}
.carte .nom-lieu{font-family:var(--f-texte);font-style:italic;font-weight:500;font-size:8px;fill:var(--ca-texte-lieu);paint-order:stroke;stroke:var(--ca-papier);stroke-width:2.6px;stroke-linejoin:round}
.carte .nom-lieu.grand{font-size:9.5px}
.carte .nom-lieu.petit{font-size:7px}
.carte .nom-lieu.ile{font-size:8.5px;letter-spacing:.05em;fill:var(--ca-texte)}
.carte .ca-seine-nom{font-family:var(--f-texte);font-style:italic;font-size:11.5px;letter-spacing:.38em;fill:var(--ca-texte-eau)}

/* ===== Métro ===== */
.carte .metro rect{fill:var(--ca-plaque);stroke:var(--ca-plaque-bord);stroke-width:.7}
.carte .metro .m{font-family:var(--f-plaque);font-weight:700;font-size:6px;fill:var(--ca-plaque-texte);text-anchor:middle}
.carte .nom-station{font-family:var(--f-plaque);font-weight:600;font-size:5.5px;letter-spacing:.05em;text-transform:uppercase;fill:var(--ca-texte);paint-order:stroke;stroke:var(--ca-papier);stroke-width:2.2px;stroke-linejoin:round}
.carte .ligne{stroke:var(--ca-papier);stroke-width:.6}
.carte .ligne.l1{fill:var(--ca-l1)}.carte .ligne.l3{fill:var(--ca-l3)}.carte .ligne.l5{fill:var(--ca-l5)}
.carte .ligne.l8{fill:var(--ca-l8)}.carte .ligne.l9{fill:var(--ca-l9)}.carte .ligne.l11{fill:var(--ca-l11)}
.carte .num-ligne{font-family:var(--f-plaque);font-weight:700;font-size:4.3px;text-anchor:middle;fill:var(--ca-num-ligne)}
.carte .num-ligne.n11{fill:var(--ca-num-ligne-clair)}

/* ===== Rose des vents, cartouche, cadre ===== */
.carte .ca-rose-cercle{fill:var(--ca-papier);stroke:var(--ca-encre);stroke-width:.9}
.carte .ca-rose-cercle.fin{fill:none;stroke-width:.45}
.carte .ca-rose-trait{fill:none;stroke:var(--ca-encre);stroke-width:.5}
.carte .ca-rose-clair{fill:var(--ca-papier);stroke:var(--ca-encre);stroke-width:.6;stroke-linejoin:round}
.carte .ca-rose-fonce{fill:var(--ca-or);stroke:var(--ca-encre);stroke-width:.6;stroke-linejoin:round}
.carte .ca-rose-centre{fill:var(--ca-encre)}
.carte .ca-rose-n{font-family:var(--f-titre);font-size:10px;text-anchor:middle;fill:var(--ca-or)}
.carte .ca-cart-fond{fill:var(--ca-papier)}
.carte .ca-cart-trait{fill:none;stroke:var(--ca-or);stroke-width:1.1}
.carte .ca-cart-trait.fin{stroke-width:.5}
.carte .ca-cart-titre{font-family:var(--f-titre);font-size:24px;letter-spacing:.03em;text-anchor:middle;fill:var(--ca-texte)}
.carte .ca-cart-sous{font-family:var(--f-texte);font-style:italic;font-size:10px;text-anchor:middle;fill:var(--ca-texte-doux)}
.carte .ca-cart-sous .exp{font-size:6.5px}
.carte .ca-cart-ville{font-family:var(--f-plaque);font-weight:700;font-size:6px;letter-spacing:.6em;text-anchor:middle;fill:var(--ca-or)}
.carte .ca-cart-losange{fill:var(--ca-or)}
.carte .ca-cadre-trait{fill:none;stroke:var(--ca-encre);stroke-width:.9}
.carte .ca-cadre-trait.fin{stroke-width:.45}
.carte .ca-cadre-barres{fill:none;stroke:var(--ca-encre);stroke-width:3.5}

/* ===== Légende ===== */
.carte .ca-leg-titre{font-family:var(--f-titre);font-size:9.5px;text-anchor:middle;fill:var(--ca-texte)}
.carte .ca-leg-texte{font-family:var(--f-texte);font-style:italic;font-size:6.3px;fill:var(--ca-texte-doux)}
.carte .ca-leg-repere{fill:var(--ca-repere);stroke:var(--ca-papier);stroke-width:1}
.carte .ca-leg-metro{fill:var(--ca-plaque);stroke:var(--ca-plaque-bord);stroke-width:.6}
.carte .ca-leg-m{font-family:var(--f-plaque);font-weight:700;font-size:5.4px;fill:var(--ca-plaque-texte);text-anchor:middle}
.carte .ca-leg-bord{stroke:var(--ca-encre);stroke-width:.5}

/* ===== Repères hôtels (ajoutés par script dans #pins) ===== */
.carte .pin{cursor:var(--tour-lien),pointer}
.carte .pin .coeur{fill:var(--accent);stroke:var(--ca-papier);stroke-width:2;transition:r .25s ease}
.carte .pin .onde{fill:none;stroke:var(--accent);stroke-width:1.4;opacity:0;transform-box:fill-box;transform-origin:center;animation:onde 2.6s ease-out infinite;pointer-events:none}
.carte .pin .etiquette-pin{font-family:var(--f-plaque);font-weight:700;font-size:7px;letter-spacing:.08em;text-transform:uppercase;fill:var(--ca-texte);paint-order:stroke;stroke:var(--ca-papier);stroke-width:3px;stroke-linejoin:round;opacity:0;pointer-events:none;transition:opacity .2s ease}
.carte .pin.repere .etiquette-pin,.carte .pin:hover .etiquette-pin{opacity:1}
.carte .pin.repere .coeur{r:9}
@keyframes onde{0%{transform:scale(1);opacity:.85}100%{transform:scale(3.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.carte .pin .onde{animation:none}}

/* Colonne Morris */
.journal{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 60px;align-items:center}
.scene-colonne{position:relative;height:620px;perspective:1300px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:var(--tour),grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.scene-colonne:active{cursor:grabbing}
.morris{--w:120px;--r:185px;--h:340px;position:relative;transform-style:preserve-3d;display:flex;flex-direction:column;align-items:center}
.morris .dome{width:calc(var(--r)*2 + 34px);height:auto;display:block;margin-bottom:-2px}
.morris .dome .vert{fill:var(--colonne)}
.morris .dome .sombre{fill:var(--colonne-sombre)}
.morris .dome .trait{stroke:var(--colonne-sombre);stroke-width:2;fill:none}
.frise{width:calc(var(--r)*2 + 14px);background:var(--colonne);color:var(--affiche-4);font-family:var(--f-plaque);font-weight:700;letter-spacing:.3em;font-size:.66rem;text-align:center;padding:7px 0 5px;border-block:2px solid var(--colonne-sombre)}
.cylindre{position:relative;width:var(--w);height:var(--h);transform-style:preserve-3d;margin-top:10px}
.affiche{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;padding:12px 10px;display:flex;flex-direction:column;gap:8px;text-decoration:none;border-left:1px solid rgba(0,0,0,.25);filter:brightness(var(--l,1));overflow:hidden}
.affiche::after{content:"";position:absolute;inset:5px;border:1px solid currentColor;opacity:.35;pointer-events:none}
.affiche .cat{font-family:var(--f-plaque);font-weight:700;font-size:.54rem;letter-spacing:.2em;text-transform:uppercase}
.affiche .titre{font-family:var(--f-titre);font-weight:400;font-size:.9rem;overflow-wrap:anywhere;hyphens:auto;line-height:1.12;text-wrap:balance}
.affiche .date{margin-top:auto;font-family:var(--f-plaque);font-weight:600;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;display:flex;justify-content:space-between;gap:6px;white-space:nowrap}
.affiche.c1{background:var(--affiche-1);color:var(--affiche-clair)}
.affiche.c2{background:var(--affiche-2);color:var(--affiche-encre)}
.affiche.c3{background:var(--affiche-3);color:var(--affiche-clair)}
.affiche.c4{background:var(--affiche-4);color:var(--affiche-encre)}
.socle{width:calc(var(--r)*2 + 22px);height:30px;background:linear-gradient(var(--colonne),var(--colonne-sombre));clip-path:polygon(4% 0,96% 0,100% 100%,0 100%);margin-top:10px}
.indice-colonne{margin-top:14px;font-family:var(--f-plaque);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--texte-doux)}
.liste-articles{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--filet)}
.liste-articles li{border-bottom:1px solid var(--filet)}
.liste-articles a{display:grid;grid-template-columns:5.5em minmax(0,1fr);gap:2px 16px;padding:14px 0;text-decoration:none;transition:padding .4s cubic-bezier(.2,.8,.2,1),color .3s}
.liste-articles a:hover{padding-left:10px;color:var(--accent)}
.liste-articles .d{font-family:var(--f-plaque);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--texte-doux);font-variant-numeric:tabular-nums;grid-row:span 2;padding-top:4px}
.liste-articles .c{font-family:var(--f-plaque);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.liste-articles .t{font-size:1.24rem;line-height:1.25;font-weight:500}

/* Repères */
.reperes{overflow-x:auto;overflow-y:hidden;padding-block:clamp(70px,9vw,120px);border-top:1px solid var(--filet)}
.reperes.h-anime{overflow:hidden}
.reperes .entete{margin-bottom:30px}
.piste-h{display:flex;gap:0;width:max-content;padding-left:max(var(--gouttiere-g),calc((100vw - 1280px) / 2 + var(--gouttiere-g)));padding-right:var(--gouttiere-d)}
.repere-an{width:min(78vw,520px);padding:10px 48px 10px 0;margin-right:48px;border-right:1px solid var(--filet);display:flex;flex-direction:column;gap:14px;flex:none}
.repere-an .annee{font-family:var(--f-titre);font-weight:400;font-size:clamp(4.5rem,10.5vw,9rem);line-height:.95;color:transparent;-webkit-text-stroke:1.2px var(--texte);transition:color .8s,-webkit-text-stroke-color .8s;font-variant-numeric:lining-nums}
.repere-an.actif .annee{color:var(--accent);-webkit-text-stroke-color:var(--accent)}
.repere-an h3{font-size:1.45rem;line-height:1.12}
.repere-an p{color:var(--texte-doux);max-width:30em}

/* Pied */
.pied{border-top:1px solid var(--filet);padding-block:70px 40px;overflow:hidden}
.pied .ornement{margin-bottom:36px}
.grand-nom{font-family:var(--f-titre);font-weight:400;font-size:clamp(2.6rem,11vw,10.4rem);line-height:1;white-space:nowrap;display:flex;justify-content:center;margin-bottom:50px}
.grand-nom span{color:transparent;-webkit-text-stroke:1px var(--texte-doux);transition:color .6s,-webkit-text-stroke-color .6s;display:inline-block}
.grand-nom span.allumee{color:var(--accent);-webkit-text-stroke-color:var(--accent)}
.pied-cols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px 50px}
.pied-cols .pied-titre{margin:0 0 12px;font-family:var(--f-plaque);font-weight:600;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.pied-cols p,.pied-cols li{color:var(--texte-doux);font-size:1.02rem}
.pied-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pied-cols a{text-decoration:none}
.pied-cols a:hover{color:var(--texte)}
.mentions{margin-top:44px;padding-top:18px;border-top:1px solid var(--filet);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-family:var(--f-plaque);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--texte-doux)}

@media (max-width:980px){
  .recherche{grid-template-columns:1fr 1fr}
  .champ:nth-child(2n){border-right:0}
  .recherche .champ:nth-child(3){grid-column:1/-1;border-right:0}
  .champ{border-bottom:1px solid var(--filet)}
  .recherche .bouton{grid-column:1/-1;padding-block:15px}
  .plan,.journal,.entete{grid-template-columns:minmax(0,1fr)}
  .pied-cols{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  body{font-size:18px}
  .nav-liens{display:none}
  .nav .enveloppe{gap:12px;justify-content:space-between}
  .ambiance .amb-txt{display:none}
  .nav .bouton{display:none}
  .heros{height:auto;min-height:780px}
  .heros-contenu{padding-bottom:130px}
  .heros-pied .legende{display:none}
  .tri{margin-left:0}
  .acces{grid-template-columns:1fr}
  .scene-colonne{height:520px}
  .piste-h{flex-direction:column;width:auto}
  .repere-an{width:auto;border-right:0;border-bottom:1px solid var(--filet);margin:0 0 28px;padding:0 0 28px}
  .pied-cols{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .grain,.descendre i::after,.pin .onde,.sans-gsap .piste{animation:none}
  *{transition-duration:.01ms!important}
}


/* ===== Cartes d'hôtel : informations vérifiables ===== */
.offre{margin-top:auto;padding-top:12px;border-top:1px solid var(--filet);display:flex;align-items:end;justify-content:space-between;gap:12px}
.offre .des{font-family:var(--f-plaque);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--texte-doux)}
.offre .des strong{display:block;margin-top:4px;font-family:var(--f-titre);font-size:1.9rem;line-height:1;color:var(--texte);text-transform:none;letter-spacing:0;font-weight:400;font-variant-numeric:lining-nums}
.infos h3 a{text-decoration:none}
.infos h3 a:hover{color:var(--accent)}
.facade .etoiles.sans{letter-spacing:.12em;font-size:.6rem;padding:7px 8px 5px}
.hotel.masque,.carte .pin.masque{display:none}

/* ===== Plan : repères nombreux ===== */
.carte .pin .coeur{r:4.6px}
.carte .pin .onde{animation:none}
.carte .pin.repere .onde,.carte .pin.actif .onde{animation:onde 2.6s ease-out infinite}
.carte .pin:focus{outline:none}
.carte .pin:focus-visible .coeur{stroke:var(--texte);stroke-width:3}
.carte .pin.autre .coeur{r:3px;opacity:.6}
.carte .pin.autre.repere .coeur,.carte .pin.autre:hover .coeur{r:7px;opacity:1}
.carte .pin.actif .coeur{r:8px}
.carte .pin.actif .etiquette-pin{opacity:1}
@media (prefers-reduced-motion:reduce){.carte .pin.repere .onde,.carte .pin.actif .onde{animation:none}}

/* ===== Pages intérieures ===== */
[id]{scroll-margin-top:84px}
.evitement{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--accent);color:var(--accent-texte);padding:8px 14px;font-family:var(--f-plaque);font-weight:700}
.evitement:focus{left:8px}
.visuellement-cache{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.page-tete{padding-top:clamp(112px,15vh,160px);padding-bottom:clamp(28px,4vw,48px);border-bottom:1px solid var(--filet)}
.page-tete h1{font-size:clamp(2rem,4.6vw,4rem);line-height:1.06;max-width:16em;margin-top:18px}
.page-tete .chapo{margin-top:18px;max-width:38em;color:var(--texte-doux);font-size:clamp(1.08rem,1.4vw,1.24rem)}
.fil ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 10px;margin:0 0 20px;padding:0;font-family:var(--f-plaque);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--texte-doux)}
.fil li+li::before{content:"›";margin-right:10px;color:var(--or)}
.fil a{text-decoration:none}.fil a:hover{color:var(--accent)}
.page-corps{padding-block:clamp(40px,6vw,80px)}
.page-texte{max-width:46em}
.page-texte h2{font-size:clamp(1.4rem,2.4vw,1.9rem);margin:2em 0 .6em;line-height:1.15}
.page-texte h2:first-child{margin-top:0}
.page-texte p,.page-texte li{color:var(--texte)}
.page-texte p+p{margin-top:1em}
.page-texte ul,.page-texte ol{padding-left:1.2em;margin:.8em 0}
.page-texte li{margin:.35em 0}
.page-texte a,.lien-souligne{color:var(--accent);text-underline-offset:3px}
.page-texte .chapeau{font-size:1.25rem;color:var(--texte);margin-bottom:1.2em}
.tableau{width:100%;border-collapse:collapse;font-size:.96rem}
.tableau th,.tableau td{text-align:left;padding:9px 12px 8px 0;border-bottom:1px solid var(--filet);vertical-align:top}
.tableau th{font-family:var(--f-plaque);font-weight:600;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--texte-doux)}
.note{font-style:italic;color:var(--texte-doux);font-size:.98rem}
.bouton--fantome{background:transparent;color:var(--texte);box-shadow:inset 0 0 0 1px var(--filet-fort)}
.bouton--fantome:hover{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent)}

/* Fiche d'un hôtel */
.fiche-grille{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,4vw,60px);align-items:start}
.fiche-facade{position:relative;padding:7px;background:var(--surface);border:1px solid var(--filet-fort)}
.fiche-facade .facade{border:1px solid var(--filet)}
.fiche-facade .legende-facade{margin:10px 4px 2px;font-size:.88rem;font-style:italic;color:var(--texte-doux)}
.donnees{margin:0;display:grid;grid-template-columns:minmax(8.5em,.45fr) minmax(0,1fr);border-top:1px solid var(--filet)}
.donnees dt,.donnees dd{margin:0;padding:11px 0 10px;border-bottom:1px solid var(--filet)}
.donnees dt{font-family:var(--f-plaque);font-weight:600;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--texte-doux);padding-top:14px}
.donnees dd a{color:var(--accent);text-underline-offset:3px;overflow-wrap:anywhere}
.bloc-fiche{margin-top:clamp(36px,5vw,60px)}
.bloc-fiche h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:18px}
.proches{list-style:none;margin:0;padding:0;border-top:1px solid var(--filet)}
.proches li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0 10px;border-bottom:1px solid var(--filet)}
.proches .detail{font-family:var(--f-plaque);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--texte-doux);white-space:nowrap}
.proches .lignes{margin-left:10px}
.proches .nom{display:flex;align-items:center;gap:10px;min-width:0}
.proches .ligne{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-plaque);font-weight:700;font-size:.72rem;padding-top:2px;color:var(--m-encre)}
.proches .ligne.l1{background:var(--m1)}.proches .ligne.l3{background:var(--m3)}.proches .ligne.l5{background:var(--m5)}.proches .ligne.l8{background:var(--m8)}.proches .ligne.l9{background:var(--m9)}.proches .ligne.l11{background:var(--m11);color:var(--m-clair)}
.proches .ligne.lx{background:var(--filet-fort);color:var(--texte)}
.carte-fiche{margin:0}
.avertissement{margin-top:clamp(28px,4vw,48px);padding:16px 20px;border:1px solid var(--filet-fort);outline:1px solid var(--filet);outline-offset:3px;font-size:.98rem;color:var(--texte-doux)}
.avertissement a{color:var(--accent)}
.liste-rues{display:flex;flex-wrap:wrap;gap:8px}
.liste-rues span{font-family:var(--f-plaque);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--filet);padding:5px 9px 4px;color:var(--texte-doux)}

/* Journal et articles */
.liste-journal{list-style:none;margin:0;padding:0;border-top:1px solid var(--filet)}
.liste-journal li{border-bottom:1px solid var(--filet)}
.liste-journal a{display:grid;grid-template-columns:7em minmax(0,1fr);gap:4px 20px;padding:20px 0;text-decoration:none;transition:padding .4s cubic-bezier(.2,.8,.2,1),color .3s}
.liste-journal a:hover{padding-left:10px;color:var(--accent)}
.liste-journal .d{font-family:var(--f-plaque);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--texte-doux);padding-top:6px}
.liste-journal .c{font-family:var(--f-plaque);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.liste-journal .t{display:block;font-family:var(--f-titre);font-size:1.4rem;line-height:1.2;margin:4px 0}
.liste-journal .r{display:block;color:var(--texte-doux);font-size:1.02rem}
.article-corps{max-width:42em}
.article-corps h2{font-size:clamp(1.35rem,2.3vw,1.8rem);margin:1.9em 0 .55em;line-height:1.18}
.article-corps p{margin-top:1em}
.article-corps a{color:var(--accent);text-underline-offset:3px}
.article-meta{margin-top:14px;font-family:var(--f-plaque);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--texte-doux)}
.faq details{border-bottom:1px solid var(--filet);padding:12px 0}
.faq summary{cursor:var(--tour-lien),pointer;font-weight:600}
.faq details p{margin-top:.6em;color:var(--texte-doux)}
.sources-article{margin-top:2.2em;padding-top:1em;border-top:1px solid var(--filet);font-size:.98rem;color:var(--texte-doux)}
.sources-article ul{padding-left:1.1em}
.credit-photo{margin-top:8px;font-size:.84rem;color:var(--texte-doux)}
.article-image{margin:24px 0 0}
.article-image img{display:block;width:100%;height:auto;border:1px solid var(--filet-fort)}

/* Formulaire de contact */
.formulaire{display:grid;gap:18px;max-width:34em}
.formulaire .champ{display:flex;flex-direction:column;gap:6px;padding:0;border:0;margin:0}
.formulaire label{font-family:var(--f-plaque);font-weight:600;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--texte-doux)}
.formulaire input,.formulaire textarea{background:var(--surface);border:1px solid var(--filet-fort);color:var(--texte);font:inherit;padding:10px 12px;width:100%;min-width:0}
.formulaire .champ--piege{position:absolute;left:-9999px;height:0;overflow:hidden}
.captcha{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.captcha input{width:6em}
.formulaire .bouton{border:0}

@media (max-width:980px){
  .fiche-grille{grid-template-columns:minmax(0,1fr)}
  .liste-journal a{grid-template-columns:minmax(0,1fr)}
}

/* Petits écrans : aucun texte courant sous 12 px (les affiches de la colonne, décoratives, gardent leur échelle) */
@media (max-width:700px){
  .oeil,.ambiance,.coordonnees .geo,.champ label,.heros-pied .enveloppe,.filtre,.tri,.compte,.facade .etoiles,.infos .rue,.etiquettes span,.lien-offre,
  .note-bas,.acces .ligne,.frise,.indice-colonne,.liste-articles .d,.liste-articles .c,.pied-cols .pied-titre,.mentions,.offre .des,.fil ol,
  .tableau th,.donnees dt,.proches .detail,.proches .ligne,.liste-rues span,.liste-journal .d,.liste-journal .c,.article-meta,.formulaire label{font-size:.76rem}
}

/* En-tête sur tablette : rien ne dépasse de l'écran */
.nav-liens a{white-space:nowrap}
@media (max-width:1100px){
  .nav .bouton{display:none}
  .nav-liens{gap:20px}
}
@media (max-width:900px){
  .nav-liens{display:none}
  .nav .enveloppe{gap:12px;justify-content:space-between}
}

/* Affiches décoratives sur mobile : la mention « Lire » n'a pas la place de s'afficher entière */
@media (max-width:700px){
  .affiche .date span:last-child{display:none}
}
