/*
Theme Name: Nodes
Theme URI: https://nonantecinq.store
Author: Julie
Description: Thème vitrine de la marque Nodes : slider plein écran, archives des drops, astrologie, alerte « prochain drop ». Blanc Pantone Stalactite et noir.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: nodes
License: Tous droits réservés
*/

/* ---------- Polices (hébergées dans le thème, aucune requête externe) ---------- */
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url(assets/fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:600;font-style:normal;font-display:swap;src:url(assets/fonts/inter-latin-600-normal.woff2) format("woff2")}

/* ---------- Palette : blanc Pantone 11-4101 Stalactite + noir. Le marron n'apparaît qu'en filet. ---------- */
:root{
	--white:#F7F6F3;      /* Pantone 11-4101 TCX Stalactite : fond de page */
	--cream:#F7F6F3;
	--ink:#0D0D0D;        /* noir */
	--sand:#ECEBE7;       /* fond des photos */
	--line:#D9D7D1;
	--muted:#6E6A64;
	--brown:#5A3E32;      /* marron : touche rare (filets, sélection) */
	--rose:#0D0D0D;       /* soulignements : noir sur fond clair (blanc sur fond sombre, voir plus bas) */
	--rose-soft:#6E6A64;
	--header-h:76px;
	--f-ui:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
	--f-big:"Inter",system-ui,sans-serif;
	--f-serif:var(--f-ui);
	--f-label:var(--f-ui);
}
.hero,.notify-section,.arch-next,.site-footer,.drawer,body:has(.hero) .site-header:not(.is-solid){--rose:#F7F6F3;--rose-soft:rgba(247,246,243,.72)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--f-ui);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--brown);color:var(--white)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3{margin:0;font-weight:inherit}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--white);padding:8px 14px;z-index:200}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
section[id]{scroll-margin-top:var(--header-h)}

/* ---------- Petits éléments communs ---------- */
.kicker{margin:0;display:flex;align-items:center;gap:12px;font:600 11px/1 var(--f-label);letter-spacing:.26em;text-transform:uppercase;color:var(--ink)}
.kicker::before{content:"";width:28px;height:1px;background:var(--brown)}
.section-title{margin-top:20px;font-weight:600;font-size:clamp(2.3rem,6.4vw,5.2rem);line-height:.98;letter-spacing:-.045em;text-wrap:balance}
.lead{margin:24px 0 0;max-width:34em;font-family:var(--f-serif);font-size:clamp(1.3rem,2.3vw,1.85rem);line-height:1.28;color:var(--ink)}
.sec{max-width:1500px;margin:0 auto;padding:88px 24px}
.section-head{margin-bottom:56px}
@media(min-width:900px){.sec{padding:128px 48px}}

/* ---------- En-tête ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:1px solid var(--line)}
.header-inner{max-width:1800px;margin:0 auto;height:var(--header-h);padding:0 16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.hl,.hr{display:flex;align-items:center;gap:28px}
.hr{justify-content:flex-end}
.nav-desk{display:none;gap:32px;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.nav-desk a{position:relative;padding:6px 0}
.nav-desk a::after,.head-cta::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.nav-desk a:hover::after,.head-cta:hover::after{transform:scaleX(1)}
.head-cta{position:relative;display:none;padding:6px 0;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.lang{display:flex;gap:6px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.1em}
.lang span{opacity:.4}
.lang button{opacity:.5;transition:opacity .2s}
.lang button[aria-pressed="true"]{opacity:1;text-decoration:underline;text-underline-offset:5px}
.menu-btn{width:42px;height:42px;display:flex;flex-direction:column;justify-content:center;gap:7px;align-items:flex-start}
.menu-btn span{display:block;height:1.5px;width:26px;background:currentColor;transition:transform .3s}
.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(4.2px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-4.2px) rotate(-45deg)}
@media(min-width:900px){
	:root{--header-h:92px}
	.header-inner{padding:0 48px}
	.menu-btn{display:none}
	.nav-desk,.head-cta{display:flex}
}

/* Logo : le logo validé, sans animation */
.logo-cell{justify-self:center}
.wm{--wm-size:36px;display:inline-flex;align-items:flex-start;font-size:var(--wm-size);line-height:1;color:var(--ink)}
.wm-word{display:block;height:.9em;width:auto;aspect-ratio:1072/300}
.wm-badge{flex:none;height:.56em;width:auto;aspect-ratio:182/190;margin:-.07em 0 0 -.02em}
.wm-txt{font-weight:600;letter-spacing:-.06em}
.site-header .wm{color:currentColor}
.wm-header{--wm-size:36px}
@media(min-width:900px){.wm-header{--wm-size:44px}}

/* En-tête transparent sur le slider (accueil) ; il devient blanc quand on descend */
body:has(.hero) .site-header{position:fixed;left:0;right:0;top:0;background:transparent;border-bottom-color:transparent;color:#fff;transition:background-color .35s,color .35s,border-color .35s}
body:has(.hero) .site-header.on-light{color:var(--ink)}
body:has(.hero) .site-header.is-solid,body.menu-open .site-header{background:var(--white);color:var(--ink);border-bottom-color:var(--line)}

/* Menu mobile */
.drawer{position:fixed;inset:var(--header-h) 0 0 0;z-index:49;background:var(--ink);color:var(--white);padding:40px 24px;display:flex;flex-direction:column;overflow:auto}
.drawer[hidden]{display:none}
.drawer-symbol{width:56px;height:68px;margin-bottom:36px}
.drawer nav{display:flex;flex-direction:column;gap:16px;font-weight:600;font-size:clamp(2.2rem,11vw,3.2rem);letter-spacing:-.045em;line-height:1}
.drawer .drawer-cta{margin-top:24px;font:600 12px var(--f-label);letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid currentColor;align-self:flex-start;padding-bottom:6px}
.drawer-tag{margin:auto 0 0;font:600 10px var(--f-label);letter-spacing:.3em;text-transform:uppercase;opacity:.6}
body.menu-open{overflow:hidden}
body.admin-bar .site-header{top:32px}
body.admin-bar .drawer{top:calc(var(--header-h) + 32px)}
@media(max-width:782px){body.admin-bar .site-header{top:46px}body.admin-bar .drawer{top:calc(var(--header-h) + 46px)}}

/* ---------- Slider ---------- */
.hero{position:relative;height:100svh;min-height:620px;overflow:hidden;background:var(--ink);touch-action:pan-y;color:#fff}
.slide{position:absolute;inset:0;overflow:hidden;transition:transform 1.1s cubic-bezier(.7,0,.2,1);will-change:transform}
.slide::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,.18) 42%,rgba(0,0,0,0) 62%)}
.slide:not(.is-dark)::before{content:"";position:absolute;inset:0 0 auto;height:26%;z-index:5;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.28),rgba(0,0,0,0))}
.slide-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.1) translate(var(--bx,0px),var(--by,0px));transition:transform .7s ease-out}
.layer-wrap{position:absolute;inset:0;transform:translate(var(--px,0px),var(--py,0px));transition:transform .5s ease-out;pointer-events:none}
.layer{position:absolute;object-fit:contain;opacity:0}
.slide.is-active .layer-wrap{animation:slidein 1.4s cubic-bezier(.2,.7,.1,1) both}
.slide.is-active .layer-wrap:nth-of-type(2){animation-delay:.2s}
.slide.is-active .layer-wrap:nth-of-type(3){animation-delay:.38s}
.slide.is-active .layer{opacity:1}
.float{animation:floaty 7s ease-in-out infinite}
@keyframes slidein{from{opacity:0;transform:translateY(80px) scale(.96)}to{opacity:1;transform:translate(var(--px,0),var(--py,0))}}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -16px}}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes reveal{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* éléments détourés : sur mobile ils restent dans la moitié haute, le texte vit en bas */
.l-planet{left:0;right:0;margin:auto;top:11%;width:62%}
.l-couple{left:0;right:0;margin:auto;top:36%;height:24%}
.l-birds{left:8%;top:40%;width:84%;opacity:.9}
.l-mermaid{left:0;right:0;margin:auto;top:9%;height:46%}
.l-child{left:0;right:0;margin:auto;top:7%;height:54%}
.l-cloud{left:6%;top:9%;width:88%}
.l-field{left:0;right:0;bottom:0;width:100%}
@media(min-width:900px){
	.l-planet{top:12%;width:30%}
	.l-couple{top:auto;bottom:0;height:40%}
	.l-birds{left:30%;top:auto;bottom:4%;width:42%}
	.l-mermaid{top:11%;height:78%}
	.l-child{top:2%;height:92%}
	.l-cloud{left:28%;top:6%;width:60%}
}

.slide-tagline{position:absolute;left:12px;top:50%;z-index:10;margin:0;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);font:600 10px var(--f-label);letter-spacing:.34em;text-transform:uppercase;white-space:nowrap}
.slide.is-active .slide-tagline{animation:fadein 1.1s .1s ease both}

/* Texte : deux blocs dans une colonne (mobile) ou deux colonnes (bureau). Ils ne peuvent plus se chevaucher. */
.slide-ui{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;justify-content:flex-end;gap:22px;padding:calc(var(--header-h) + 8px) 24px 92px 44px}
.slide-kicker{margin:0 0 18px;display:flex;align-items:center;gap:12px;font:600 11px/1 var(--f-label);letter-spacing:.26em;text-transform:uppercase}
.slide-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.8}
.slide-h{display:block;font-weight:600;font-size:clamp(2.8rem,13.5vw,5.4rem);line-height:.92;letter-spacing:-.05em}
.slide-h span{display:block}
.slide-h span+span{font-family:var(--f-ui);font-style:normal;font-weight:400;letter-spacing:-.025em;font-size:1.08em;line-height:.9}
.slide-text{margin:0;font-size:15px;line-height:1.5;max-width:26rem}
.slide-text span{display:block}
.slide-cta{display:inline-flex;align-items:center;gap:12px;margin-top:20px;padding-bottom:8px;font:600 12px var(--f-label);letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid currentColor;transition:gap .3s}
.slide-cta i{font-style:normal;font-size:15px;line-height:1}
.slide-cta:hover{gap:20px}
.slide.is-active .slide-kicker{animation:reveal 1s both}
.slide.is-active .slide-h{animation:reveal 1s .1s both}
.slide.is-active .slide-body{animation:reveal 1s .3s both}
.slide:not(.is-active) .slide-ui{opacity:0}

.hero-bar{position:absolute;z-index:20;left:24px;right:24px;bottom:28px;display:flex;align-items:center;justify-content:space-between;color:#fff;pointer-events:none}
.hero-bar>*{pointer-events:auto}
.count{font:600 13px var(--f-label);letter-spacing:.16em}
.count span{opacity:.6}
.hero-ctrl{display:flex;align-items:center;gap:14px}
.arrow{padding:6px 8px;font-size:18px;line-height:1;transition:transform .2s}
.arrow.prev:hover{transform:translateX(-3px)}
.arrow.next:hover{transform:translateX(3px)}
.dots{display:flex;gap:8px}
.dot{height:14px;width:16px;background:currentColor;opacity:.45;transition:all .3s;padding:6px 0;background-clip:content-box}
.dot.is-on{width:32px;opacity:1}
@media(min-width:900px){
	.slide-tagline{left:28px}
	.slide-ui{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:48px;padding:calc(var(--header-h) + 16px) 48px 112px 104px}
	.slide-copy{max-width:46vw}
	.slide-h{font-size:clamp(3.2rem,7.2vw,8.4rem)}
	.slide-body{flex:none;width:min(25rem,30vw);padding-bottom:6px}
	.slide-text{font-size:17px}
	.hero-bar{left:48px;right:48px}
}
.slide.is-dark .slide-ui{color:#fff}

/* ---------- Archives (accueil) et astrologie ---------- */
.home-arch .lead{max-width:30em}
.astro{display:grid;gap:48px;border-top:1px solid var(--line)}
.astro-links{list-style:none;margin:0;padding:0;align-self:end}
.astro-links li{border-top:1px solid var(--line)}
.astro-links li:last-child{border-bottom:1px solid var(--line)}
.astro-links a{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font-weight:500;font-size:clamp(1.3rem,2.4vw,1.8rem);letter-spacing:-.02em;transition:padding .35s}
.astro-links a:hover{padding-left:16px}
.astro-links i{font-style:normal;transition:transform .35s}
.astro-links a:hover i{transform:translateX(6px)}
@media(min-width:900px){.astro{grid-template-columns:1.1fr .9fr;gap:96px;align-items:end}}

/* ---------- Alerte « prochain drop » ---------- */
.notify-section{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:112px 24px}
.notify-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.notify-inner{position:relative;max-width:1500px;margin:0 auto}
.notify-kicker{margin:0;display:flex;align-items:center;gap:12px;font:600 11px/1 var(--f-label);letter-spacing:.26em;text-transform:uppercase}
.notify-kicker::before{content:"";width:28px;height:1px;background:currentColor}
.notify-title{margin-top:24px;font-weight:600;font-size:clamp(3rem,12vw,9rem);line-height:.9;letter-spacing:-.055em}
.notify-title span{display:block}
.notify-title span+span{font-family:var(--f-ui);font-style:normal;font-weight:400;letter-spacing:-.03em;font-size:1.06em}
.notify-side{margin:56px 0 0 auto;max-width:28rem}
.notify-text{margin:0 0 28px;font-size:18px;line-height:1.5}
@media(min-width:900px){.notify-section{padding:152px 48px}.notify-inner{padding:0 2%}.notify-text{font-size:20px}}

.notify-form{display:flex;flex-direction:column;gap:22px}
.notify-form input[type=email]{width:100%;background:transparent;border:0;border-bottom:1px solid rgb(255 255 255/.5);padding:12px 0;color:inherit;font:inherit;font-size:18px;outline:none;border-radius:0}
.notify-form input[type=email]::placeholder{color:rgb(255 255 255/.55)}
.notify-form input[type=email]:focus{border-color:#fff}
.notify-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cta{align-self:flex-start;padding-bottom:8px;font:600 12px var(--f-label);letter-spacing:.22em;text-transform:uppercase;color:inherit;border-bottom:1px solid currentColor;transition:opacity .2s}
.cta:hover{opacity:.7}
.cta[disabled]{opacity:.5;cursor:wait}
.notify-msg{min-height:1.4em;margin:0;font-size:14px}
.notify-msg.is-error{text-decoration:underline}
.notify-form.is-compact input[type=email]{border-bottom-color:rgb(255 255 255/.5)}

/* ---------- Pied de page ---------- */
.site-footer{position:relative;z-index:1;background:var(--ink);color:var(--white);padding:72px 24px 28px}
.site-footer a{transition:opacity .2s}
.foot-main{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px 24px}
.foot-brand{grid-column:1/-1}
.foot-brand .wm-footer{--wm-size:44px;color:var(--white)}
.foot-tag{margin:24px 0 0;font:600 10px var(--f-label);letter-spacing:.3em;text-transform:uppercase}
.foot-ig{display:inline-block;margin-top:20px;font:600 11px var(--f-label);letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px}
.foot-ig:hover,.foot-col a:hover,.foot-legal a:hover,.foot-top:hover{opacity:.65}
.foot-h{margin:0 0 18px;font:600 10px var(--f-label);letter-spacing:.26em;text-transform:uppercase;opacity:.6}
.foot-col ul,.foot-legal{list-style:none;margin:0;padding:0}
.foot-col li{margin:0 0 12px}
.foot-col a{font-size:15px;line-height:1.35}
.foot-bottom{max-width:1500px;margin:64px auto 0;padding-top:24px;border-top:1px solid rgb(247 246 243/.18);display:flex;flex-wrap:wrap;gap:14px 32px;align-items:center;justify-content:space-between;font-size:12px}
.foot-bottom p{margin:0}
.foot-copy{opacity:.6}
.foot-legal{display:flex;flex-wrap:wrap;gap:8px 24px}
.foot-top{border-bottom:1px solid currentColor;padding-bottom:2px}
@media(min-width:900px){
	.site-footer{padding:96px 48px 32px}
	.foot-main{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px}
	.foot-brand{grid-column:auto}
	.foot-brand .wm-footer{--wm-size:52px}
}

/* ---------- Pages de texte (légales, aide, astrologie, contact) ---------- */
.page-wrap{padding-top:56px}
.entry-content{font-size:17px;line-height:1.7;color:var(--ink)}
.entry-content .lead{font-family:var(--f-serif);font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.3}
.entry-content h2{font-family:var(--f-big);font-weight:600;letter-spacing:-.02em;font-size:clamp(1.5rem,3vw,2rem);margin:40px 0 12px;line-height:1}
.entry-content p,.entry-content ul{margin:0 0 16px}
.entry-content ul{padding-left:20px}
.entry-content li{margin-bottom:6px}
.entry-content mark.todo{background:var(--sand);color:var(--ink);padding:0 4px;outline:1px dashed var(--muted)}
.entry-content a.cta{display:inline-block;margin-top:8px;text-decoration:none}
.entry-content .contact-alt{color:var(--muted);font-size:15px;margin-top:28px}
.entry-content details{border-bottom:1px solid var(--line);padding:16px 0}
.entry-content details summary{cursor:pointer;font-weight:600;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.entry-content details summary::-webkit-details-marker{display:none}
.entry-content details summary::after{content:"+";color:var(--rose);font-size:24px;line-height:1}
.entry-content details[open] summary::after{content:"–"}
.entry-content details p{margin:12px 0 0;color:var(--muted)}
.contact-form{display:grid;gap:18px;max-width:640px;margin:28px 0}
.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cf-row{display:grid;gap:6px}
.cf-grid{display:grid;gap:18px}
@media (min-width:700px){.cf-grid{grid-template-columns:repeat(3,1fr)}}
.cf-row label{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cf-row input,.cf-row select,.cf-row textarea{width:100%;font:inherit;color:var(--ink);background:var(--sand);border:1px solid var(--line);border-radius:0;padding:12px 14px}
.cf-row input:focus,.cf-row select:focus,.cf-row textarea:focus{outline:2px solid var(--brown);outline-offset:1px}
.contact-form .cta{justify-self:start;background:none;cursor:pointer}
.contact-form .notify-msg{color:var(--muted)}

/* ---------- Archives des drops ---------- */
.arch{--accent:var(--ink)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 28px}
.crumbs a{color:var(--muted)} .crumbs a:hover{color:var(--ink)}
.arch-hero{max-width:1500px;margin:0 auto;padding:48px 24px 72px;display:grid;gap:40px}
.arch-title{font-weight:600;letter-spacing:-.05em;line-height:.94;font-size:clamp(2.8rem,8vw,6.6rem);margin:20px 0 28px;text-wrap:balance}
.arch-lead{font-family:var(--f-serif);font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.28;color:var(--ink);max-width:32em;margin:0}
.arch-meta{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:10px;font-size:16px}
.arch-meta b{display:inline-block;min-width:92px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sw{display:inline-flex;gap:6px;margin-left:10px;vertical-align:middle}
.sw i{width:16px;height:16px;border-radius:50%;border:1px solid var(--line)}
.arch-hero-media img,.arch-card-media img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;background:var(--sand)}
.ph{display:grid;place-items:center;aspect-ratio:3/4;width:100%;background:var(--sand);color:var(--muted);font-size:15px;letter-spacing:.1em;text-transform:uppercase}
.arch-story{max-width:1100px;margin:0 auto;padding:24px 24px 80px;display:grid;gap:56px}
.arch-block{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:24px}
.arch-block h2{font-family:var(--f-big);font-weight:600;letter-spacing:-.045em;font-size:clamp(1.7rem,3.4vw,2.4rem);line-height:1;margin:0}
.arch-block p{font-size:19px;line-height:1.7;margin:0 0 16px;max-width:38em}
.arch-pieces{max-width:1500px;margin:0 auto;padding:40px 24px 80px}
.arch-h2{font-family:var(--f-big);font-weight:600;letter-spacing:-.045em;font-size:clamp(2.2rem,6vw,4rem);line-height:.9;margin:0 0 32px}
.arch-piece{margin-bottom:64px}
.arch-piece header{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.arch-piece h3{font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:600;margin:0}
.arch-tag{font:600 10px var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);border:1px solid var(--ink);padding:5px 12px;border-radius:99px}
.arch-gallery{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
.arch-gallery figure{margin:0;background:var(--sand);overflow:hidden}
.arch-gallery img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:transform .8s}
.arch-gallery figure:hover img{transform:scale(1.03)}
.arch-gallery--extra{margin-top:8px}
.ph-fig{grid-column:1/-1}
.arch-nav{max-width:1500px;margin:0 auto;padding:0 24px 72px;display:grid;gap:12px}
.arch-nav a{display:grid;gap:6px;padding:24px;border:1px solid var(--line);transition:border-color .2s,background .2s}
.arch-nav a:hover{border-color:var(--ink);background:var(--sand)}
.arch-nav span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.arch-nav b{font-weight:600;font-size:clamp(1.6rem,4vw,2.6rem);letter-spacing:-.045em;line-height:1}
.arch-nav a[rel=next]{text-align:right}
.arch-next{background:var(--ink);color:var(--white);padding:72px 24px;display:grid;gap:40px;max-width:none}
.arch-next>*{max-width:1500px}
.arch-next .arch-h2{color:var(--white);font-size:clamp(2rem,5vw,3.4rem)}
.arch-next p{max-width:34em;margin:0 0 20px;font-size:18px}
.arch-links{list-style:none;margin:0;padding:0;display:grid;gap:12px;align-content:start}
.arch-links a{font-size:18px;border-bottom:1px solid currentColor;padding-bottom:2px}
.arch-links a:hover{opacity:.65}

.arch-next .notify-form input[type=email]{background:transparent;color:var(--white);border-color:rgba(255,255,255,.4);border-width:0 0 1px}
.arch-cards{max-width:1500px;margin:0 auto;padding:0 24px 96px;display:grid;gap:40px}
.arch-card{display:grid;gap:16px;color:inherit}
.arch-card-media{overflow:hidden;background:var(--sand)}
.arch-card-media img{transition:transform .7s}
.arch-card:hover .arch-card-media img{transform:scale(1.04)}
.arch-n{font:600 10px var(--f-label);letter-spacing:.24em;text-transform:uppercase;color:var(--ink)}
.arch-card-title{font-weight:600;letter-spacing:-.045em;font-size:clamp(2rem,4vw,3rem);line-height:.95;margin:6px 0 10px}
.arch-card-body p{margin:0 0 14px;color:var(--muted);line-height:1.5}
.arch-more{font:600 11px var(--f-label);letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:4px}
.home-arch{padding-bottom:40px}
.arch-hero--hub{padding-bottom:48px;max-width:1100px}
.arch-hero--hub .arch-title{font-size:clamp(2.6rem,6.6vw,5.4rem)}
@media(min-width:700px){
	.arch-gallery{grid-template-columns:repeat(3,1fr)}
	.arch-cards{grid-template-columns:repeat(3,1fr);gap:28px}
	.arch-nav{grid-template-columns:1fr 1fr}
	.arch-block{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:40px}
}
@media(min-width:900px){
	.arch-hero:not(.arch-hero--hub){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;padding:72px 48px 96px;gap:72px}
	.arch-pieces,.arch-nav,.arch-cards{padding-left:48px;padding-right:48px}
	.arch-next{padding:96px 48px;grid-template-columns:2fr 1fr;align-items:start}
}
@media (prefers-reduced-motion:reduce){.arch-gallery img,.arch-card-media img{transition:none}}
.arch-gallery img.contain{object-fit:contain;background:#fff}

.arch-card-media{aspect-ratio:3/4}
.arch-card-media .ph{height:100%;aspect-ratio:auto}

/* ---------- Page graphique des designs (Moonchild) ---------- */
.arch-designs-link{max-width:1500px;margin:0 auto;padding:0 24px 40px}
.arch-designs-link a{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-weight:600;font-size:clamp(1.6rem,4.4vw,3.4rem);letter-spacing:-.045em;transition:padding .35s}
.arch-designs-link a:hover{padding-left:16px}
.arch-designs-link i{font-style:normal}
.dz-head{padding-bottom:56px}
.dz{position:relative;overflow:hidden;padding:80px 24px;display:grid;gap:40px;justify-items:center;--dz-bg:var(--sand);--dz-fg:var(--ink);background:var(--dz-bg);color:var(--dz-fg)}
.dz--lilac{--dz-bg:#B9A9DE;--dz-fg:#0D0D0D}
.dz--ink{--dz-bg:#0D0D0D;--dz-fg:#F7F6F3}
.dz--type{--dz-bg:#F7F6F3;--dz-fg:#0D0D0D;border-top:1px solid var(--line)}
.dz-word{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:0;white-space:nowrap;font-weight:600;font-size:clamp(7rem,34vw,34rem);letter-spacing:-.07em;line-height:.8;text-transform:lowercase;color:transparent;-webkit-text-stroke:1.5px currentColor;opacity:.35;pointer-events:none;user-select:none}
.dz-card{position:relative;z-index:1;margin:0;width:min(88vw,460px);background:var(--white);padding:28px;box-shadow:0 30px 80px -30px rgba(0,0,0,.45);transform:rotate(-1.2deg)}
.dz--ink .dz-card{transform:rotate(1.2deg)}
.dz-card img{display:block;width:100%;height:auto}
.dz-cap{position:relative;z-index:1;max-width:30rem;text-align:left}
.dz-cap .arch-n{color:inherit;opacity:.8}
.dz-cap h2{margin:10px 0 14px;font-weight:600;font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:-.05em;line-height:.95}
.dz-cap p{margin:0 0 18px;font-family:var(--f-serif);font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.3}
.dz-words{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.dz-words li{font:600 10px var(--f-label);letter-spacing:.2em;text-transform:uppercase;border:1px solid currentColor;padding:7px 12px;border-radius:99px}
.dz-prints{position:relative;z-index:1;display:grid;gap:28px;width:min(92vw,1100px)}
.dz-prints figure{margin:0}
.dz-prints img{display:block;width:100%;height:auto}
@media(min-width:900px){
	.dz{padding:128px 48px;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;gap:64px}
	.dz .dz-card{justify-self:end}
	.dz .dz-cap{justify-self:start}
	.dz--ink .dz-card{order:2;justify-self:start}
	.dz--ink .dz-cap{order:1;justify-self:end}
	.dz--type{grid-template-columns:1fr}
	.dz--type .dz-cap{justify-self:center;text-align:center}
	.dz--type .dz-cap p{margin-inline:auto}
	.dz-prints{grid-template-columns:1fr 1fr;align-items:center}
	.arch-designs-link{padding:0 48px 56px}
}

/* Typo unique : Inter */
.lead,.arch-lead,.entry-content .lead,.dz-cap p{font-family:var(--f-ui);font-weight:400;letter-spacing:-.02em}
.slide-h span+span,.notify-title span+span{font-weight:400;font-size:1em;letter-spacing:-.04em;opacity:.78}
/* Logo : les variantes apparaissent au survol */
.wm{position:relative}
.wm-alt{position:absolute;left:0;top:50%;transform:translateY(-50%);height:1.15em;width:auto;max-width:none;pointer-events:none}
.wm-alt[hidden]{display:none}
.wm.is-cycling .wm-word,.wm.is-cycling .wm-badge{visibility:hidden}
body:has(.hero) .site-header:not(.on-light):not(.is-solid) .wm-alt,.wm-footer .wm-alt{filter:invert(1)}

/* Étrange Enfant : entrée avec ou sans son */
.ee-gate{position:fixed;inset:0;z-index:200;background:#0D0D0D;color:#F7F6F3;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;transition:opacity .7s}
.ee-gate[hidden]{display:none}
.ee-gate.is-out{opacity:0;pointer-events:none}
.ee-gate-k{margin:0 0 18px;font:600 11px/1 var(--f-ui);letter-spacing:.3em;text-transform:uppercase;opacity:.7}
.ee-gate-t{margin:0;font:600 clamp(2.6rem,9vw,6.5rem)/.9 var(--f-ui);letter-spacing:-.05em}
.ee-gate-p{margin:22px 0 0;font-size:clamp(1rem,2vw,1.25rem);opacity:.8}
.ee-gate-b{margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.ee-btn{font:600 12px var(--f-ui);letter-spacing:.2em;text-transform:uppercase;color:#F7F6F3;background:transparent;border:1px solid rgba(247,246,243,.6);border-radius:0;padding:16px 28px;cursor:pointer;transition:background .2s,color .2s}
.ee-btn:hover,.ee-btn:focus-visible{background:#F7F6F3;color:#0D0D0D}
.ee-btn.is-main{background:#F7F6F3;color:#0D0D0D}
body.ee-lock{overflow:hidden}
.ee-toggle{position:fixed;right:16px;bottom:16px;z-index:90;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:0;border:1px solid var(--ink);border-radius:0;background:var(--white);color:var(--ink);font:600 10px var(--f-ui);letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
.ee-toggle[hidden]{display:none}
.ee-eq{display:flex;align-items:flex-end;gap:2px;height:12px}
.ee-eq i{width:2px;background:currentColor;height:100%;animation:eq 1s ease-in-out infinite}
.ee-eq i:nth-child(2){animation-delay:.25s}.ee-eq i:nth-child(3){animation-delay:.5s}
.ee-toggle[aria-pressed="false"] .ee-eq i{animation:none;height:2px}
@keyframes eq{0%,100%{height:25%}50%{height:100%}}
@media(prefers-reduced-motion:reduce){.ee-eq i{animation:none}}
