:root {
  --night: #100a17; --night-plum: #1b1024; --night-soft: #25162d; --forest: #162521;
  --copper: #a95e37; --copper-dark: #63351f; --copper-light: #d39a62;
  --parchment: #d9bd84; --parchment-light: #f2dfb0; --ink: #392619;
  --violet: #a65cff; --violet-soft: #d7b3ff; --amber: #f0a94b; --cream: #f5e9cc; --muted: #c8c0b3;
  --shadow: 0 24px 65px rgba(0,0,0,.48); --serif: Georgia,"Times New Roman",serif; --sans: "Segoe UI",Tahoma,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;overflow-x:hidden;isolation:isolate;color:var(--cream);font-family:var(--sans);line-height:1.65;background:radial-gradient(circle at 14% 18%,rgba(88,42,107,.2),transparent 25rem),radial-gradient(circle at 88% 42%,rgba(34,84,72,.14),transparent 28rem),radial-gradient(circle at 50% 100%,rgba(117,60,27,.13),transparent 35rem),linear-gradient(rgba(14,8,21,.96),rgba(10,7,15,.99)),var(--night)}
body::before{content:"";position:fixed;z-index:-1;inset:0;opacity:.45;pointer-events:none;background-image:radial-gradient(circle at 13% 24%,rgba(255,211,135,.65) 0 1px,transparent 1.5px),radial-gradient(circle at 76% 38%,rgba(199,144,255,.6) 0 1px,transparent 1.5px),radial-gradient(circle at 45% 70%,rgba(255,214,153,.45) 0 1px,transparent 1.5px);background-size:210px 210px,280px 280px,350px 350px}
.shooting-stars{position:fixed;z-index:-1;inset:0;overflow:hidden;pointer-events:none}.shooting-star{position:absolute;left:-14vw;top:var(--star-y);width:var(--star-length);height:1px;opacity:0;transform:rotate(-8deg) translateX(0);transform-origin:left center;background:linear-gradient(90deg,transparent,var(--star-color) 72%,rgba(255,255,255,.96));filter:drop-shadow(0 0 2px var(--star-color));animation:shooting-star var(--star-duration) linear forwards}
a{color:inherit} img{display:block;max-width:100%} button,input{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;top:-5rem;left:1rem;padding:.7rem 1rem;background:var(--parchment-light);color:var(--ink)}.skip-link:focus{top:1rem}

/* Navigation Art déco */
.site-header{position:sticky;z-index:100;top:0;min-height:88px;padding:.55rem clamp(1rem,4vw,4.5rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;background:rgba(18,10,25,.94);border-top:1px solid rgba(211,154,98,.55);border-bottom:1px solid var(--copper);box-shadow:0 10px 35px rgba(0,0,0,.42);backdrop-filter:blur(14px)}
.site-header::after{content:"";position:absolute;left:clamp(1rem,3vw,3rem);right:clamp(1rem,3vw,3rem);bottom:5px;height:1px;background:linear-gradient(90deg,transparent,var(--copper-dark) 10%,var(--copper-light) 50%,var(--copper-dark) 90%,transparent)}
.brand{display:flex;align-items:center;gap:.85rem;flex:0 0 auto;text-decoration:none}.brand-copy{display:grid;line-height:1.2}.brand-copy strong{color:var(--parchment-light);font:700 1.04rem var(--serif);letter-spacing:.02em}.brand-copy small{color:#ad9c99;font-size:.66rem;letter-spacing:.13em;text-transform:uppercase}
.emblem{position:relative;width:76px;aspect-ratio:1;flex:0 0 auto;filter:drop-shadow(0 5px 12px #000)}.emblem::after{content:"";position:absolute;z-index:-1;left:32%;top:19%;width:36%;height:60%;border-radius:50%;background:rgba(176,93,255,.28);filter:blur(10px);animation:emblem-halo 5s ease-in-out infinite}.emblem img{width:100%;height:100%;object-fit:contain;animation:emblem-breathe 5s ease-in-out infinite}
.main-nav{display:flex;align-items:center;gap:clamp(.55rem,1.6vw,1.55rem)}.main-nav a{position:relative;padding:.65rem .15rem;color:#d9cdbb;font:600 .88rem var(--serif);text-decoration:none;white-space:nowrap}.main-nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:.15rem;height:1px;background:var(--copper-light);transition:.25s ease}.main-nav a::before{content:"◆";position:absolute;left:50%;bottom:-.13rem;color:var(--copper);font-size:.4rem;opacity:0;transform:translateX(-50%);transition:.25s}.main-nav a:hover::after,.main-nav a:focus-visible::after,.main-nav a.active::after{left:0;right:0}.main-nav a:hover::before,.main-nav a:focus-visible::before,.main-nav a.active::before{opacity:1}.main-nav a.active{color:var(--parchment-light)}
.menu-toggle{display:none;padding:.65rem;border:1px solid var(--copper);background:rgba(33,18,40,.85)}.menu-toggle span:not(.sr-only){display:block;width:24px;height:1px;margin:5px;background:var(--parchment)}
main,.site-footer{width:min(1480px,calc(100% - clamp(1rem,3vw,3rem)));margin-inline:auto}.slate-frame{border:1px solid var(--copper);outline:1px solid rgba(211,154,98,.32);outline-offset:-7px;box-shadow:var(--shadow),inset 0 0 0 1px rgba(40,16,31,.8)}.eyebrow{margin:0 0 .7rem;color:var(--copper-light);font-size:.72rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase}

/* Grande arche de la Vallée */
.hero{position:relative;min-height:min(720px,calc(100vh - 88px));overflow:hidden;isolation:isolate;border-radius:46% 46% 0 0/7% 7% 0 0;border-width:2px}.hero::before{content:"";position:absolute;z-index:2;top:1.2rem;left:50%;width:115px;height:34px;transform:translateX(-50%);background:linear-gradient(var(--copper-light),var(--copper-light)) center 17px/100% 1px no-repeat;clip-path:polygon(0 48%,39% 48%,50% 0,61% 48%,100% 48%,100% 53%,61% 53%,50% 100%,39% 53%,0 53%)}
.hero>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,6,19,.45),rgba(7,5,10,.1) 50%,rgba(10,6,16,.36)),linear-gradient(0deg,rgba(12,6,17,.72),transparent 58%)}.hero-content{width:min(790px,92%);min-height:inherit;margin:0 auto;padding:5.8rem 1rem 4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-shadow:0 4px 20px #000}.hero h1{margin:0;color:#f2d9a4;font:500 clamp(4rem,8.5vw,7.8rem)/.8 var(--serif);letter-spacing:-.04em}.hero h1 span{color:#f5dfb0;font-size:.82em}.hero-content>p:not(.eyebrow){margin:1.7rem 0;color:#f5ead4;font:italic clamp(1rem,2vw,1.3rem) var(--serif)}
.copper-button{display:inline-block;padding:.84rem 1.7rem;border:1px solid var(--copper-light);outline:1px solid var(--copper-dark);outline-offset:4px;background:linear-gradient(180deg,rgba(132,70,38,.96),rgba(75,36,25,.98));color:#ffebc8;text-decoration:none;font:700 1rem var(--serif);box-shadow:inset 0 1px rgba(255,255,255,.15),0 11px 28px rgba(0,0,0,.36);transition:transform .2s,filter .2s;cursor:pointer}.copper-button:hover,.copper-button:focus-visible{transform:translateY(-2px);filter:brightness(1.13)}

/* Grimoire enluminé */
.welcome{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);align-items:stretch;margin-top:1.3rem;overflow:hidden;color:var(--ink);background:radial-gradient(circle at 16% 20%,rgba(255,255,255,.2),transparent 22rem),linear-gradient(90deg,#d2b477,#e8d19b 48%,#d4b778 100%)}.welcome::before,.welcome::after{content:"";position:absolute;z-index:3;pointer-events:none}.welcome::before{inset:17px;border:1px solid rgba(111,58,28,.55)}.welcome::after{top:30px;bottom:30px;left:65%;width:1px;background:linear-gradient(transparent,rgba(104,55,29,.25) 12%,rgba(104,55,29,.25) 88%,transparent)}
.grimoire{position:relative;z-index:2;padding:clamp(3rem,6vw,6rem) clamp(2rem,5vw,5rem);background:transparent}.grimoire h2{margin:0 0 1.6rem;color:#4c2b1a;font:500 clamp(2.4rem,4.7vw,4.6rem)/1 var(--serif)}.grimoire p{margin:0 0 1rem;font-family:var(--serif)}.grimoire .eyebrow{color:#864923;font-family:var(--sans)}.grimoire a{color:#703277;font-weight:700;text-decoration-thickness:1px;text-underline-offset:.2em}.illuminated-margin{position:relative;z-index:2;min-height:100%;overflow:hidden}.illuminated-margin img{width:100%;height:100%;object-fit:cover;object-position:52% center;mix-blend-mode:multiply;filter:saturate(.9) contrast(.98)}

/* Médaillons */
.residents-preview{position:relative;padding:clamp(4rem,7vw,7rem) 1rem 5rem;text-align:center}.residents-preview::before{content:"";position:absolute;left:8%;right:8%;top:2.2rem;height:1px;background:linear-gradient(90deg,transparent,var(--copper),transparent)}.residents-preview h2,.pathways h2{margin:0 0 2.6rem;color:var(--parchment-light);font:500 clamp(2.6rem,5vw,4.8rem)/1 var(--serif)}.medallion-row{display:flex;justify-content:center;align-items:start;gap:clamp(1.2rem,5vw,5rem);flex-wrap:wrap}.portrait-medallion{width:min(250px,27vw);min-width:190px;text-align:center;text-decoration:none}.portrait-medallion>span{position:relative;display:block;aspect-ratio:.88;padding:9px;border:2px solid var(--copper);border-radius:48% 48% 42% 42%/42% 42% 50% 50%;background:linear-gradient(145deg,#5f3423,#c2834d 35%,#49251c 72%,#a55d34);box-shadow:0 15px 35px rgba(0,0,0,.45),inset 0 0 0 5px #160d19,inset 0 0 0 6px var(--copper-light);transition:transform .3s,box-shadow .3s}.portrait-medallion>span::before,.portrait-medallion>span::after{content:"◆";position:absolute;left:50%;z-index:3;color:var(--copper-light);text-shadow:0 0 8px var(--violet);transform:translateX(-50%)}.portrait-medallion>span::before{top:-1.35rem}.portrait-medallion>span::after{bottom:-1.35rem}.portrait-medallion img{width:100%;height:100%;object-fit:cover;object-position:center 40%;border-radius:inherit;filter:saturate(.88) sepia(.07)}.portrait-medallion:hover>span,.portrait-medallion:focus-visible>span{transform:translateY(-5px);box-shadow:0 20px 45px rgba(0,0,0,.52),0 0 18px rgba(166,92,255,.18),inset 0 0 0 5px #160d19,inset 0 0 0 6px var(--copper-light)}.portrait-medallion strong{display:block;margin-top:1.2rem;color:#efd7a6;font:600 1.55rem var(--serif)}.portrait-medallion small{color:#a99c98}.fine-link{display:inline-block;margin-top:2.5rem;color:var(--copper-light);font:600 .95rem var(--serif);text-underline-offset:.3em}

/* Deux salons */
.pathways{padding:2.5rem 0 clamp(4rem,7vw,7rem);text-align:center}.path-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;text-align:left}.path-card{position:relative;min-height:430px;padding:2.5rem;overflow:hidden;display:flex;flex-direction:column;justify-content:end;border:1px solid var(--copper);outline:1px solid rgba(211,154,98,.35);outline-offset:-8px;background-position:center;background-size:cover;text-decoration:none;box-shadow:var(--shadow);isolation:isolate;transition:transform .25s,filter .25s}.path-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(13,6,16,.96),rgba(13,6,16,.12) 72%),linear-gradient(90deg,rgba(50,25,16,.45),transparent)}.path-card::after{content:"";position:absolute;inset:16px;border:1px solid rgba(203,130,75,.45);pointer-events:none}.path-card:hover,.path-card:focus-visible{transform:translateY(-4px);filter:brightness(1.08)}.story-path{background-image:url("gallery/04-ars-nouveau.png")}.gallery-path{background-image:url("gallery/01-quartier-myrrha.png")}.path-card>span{color:var(--violet-soft);font:600 2.8rem/1 var(--serif);opacity:.55}.path-card h3{margin:.55rem 0;color:#f0d59d;font:600 clamp(1.8rem,3vw,2.6rem) var(--serif)}.path-card p{max-width:550px;margin:0 0 1.2rem;color:#d2c9bb}.path-card b{width:fit-content;padding:.5rem 1rem;border:1px solid var(--copper-dark);color:var(--copper-light);font:600 .86rem var(--serif)}

/* Pied de page */
.site-footer{position:relative;min-height:220px;margin-top:1.5rem;margin-bottom:1.5rem;padding:2rem clamp(1.2rem,4vw,4rem) 2rem clamp(260px,28vw,430px);display:flex;align-items:center;justify-content:space-between;gap:2rem;background:linear-gradient(100deg,rgba(25,13,31,.97),rgba(12,18,22,.96))}.site-footer::before{content:"◆";position:absolute;left:50%;top:-12px;padding:0 1rem;color:var(--copper-light);background:var(--night);transform:translateX(-50%)}.site-footer img{position:absolute;left:2rem;bottom:1rem;width:clamp(220px,26vw,390px);height:calc(100% - 2rem);object-fit:cover;object-position:45% 59%;border-radius:3px;mask-image:linear-gradient(to right,#000 82%,transparent 100%)}.site-footer p{margin:0 0 .6rem;color:#c8b98e;font:1.05rem var(--serif)}.site-footer strong{color:var(--parchment-light);font-size:1.2rem}.site-footer small{color:#90888d}.site-footer>a{color:var(--copper-light);font-size:.85rem;text-align:right}.contact-mail{display:block;width:fit-content;margin-top:.7rem;color:#d0b3ee;font-size:.84rem;text-decoration-color:rgba(208,179,238,.45);text-underline-offset:.22em;transition:color .2s,text-shadow .2s}.contact-mail:hover,.contact-mail:focus-visible{color:#f0ddff;text-shadow:0 0 10px rgba(166,92,255,.5)}
.footer-sun{position:absolute;z-index:10;top:50%;left:50%;width:174px;height:58px;pointer-events:none;transform:translate(-50%,-50%);background:linear-gradient(var(--deco-gold),var(--deco-gold)) left 7px top 29px/56px 1px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) right 7px top 29px/56px 1px no-repeat,linear-gradient(145deg,transparent 48%,var(--deco-gold) 49% 51%,transparent 52%) left 18px top 17px/38px 13px no-repeat,linear-gradient(35deg,transparent 48%,var(--deco-gold) 49% 51%,transparent 52%) right 18px top 17px/38px 13px no-repeat}.footer-sun::before{content:"";position:absolute;z-index:2;top:15px;left:50%;width:28px;height:28px;transform:translateX(-50%) rotate(45deg);border:1px solid var(--deco-gold);box-shadow:inset 0 0 0 4px #171018,inset 0 0 0 5px rgba(240,209,146,.74);--core-radius:5px;--core-glow:.58;background:radial-gradient(circle at 50% 50%,rgba(255,250,255,var(--core-glow)) 0 2px,rgba(177,99,255,var(--core-glow)) 3px var(--core-radius),#201323 calc(var(--core-radius) + 1px) 100%);animation:core-light-pulse 4.6s ease-in-out infinite}.footer-sun::after{content:"";position:absolute;z-index:1;top:2px;left:50%;width:54px;height:54px;transform:translateX(-50%);opacity:.72;background:repeating-conic-gradient(from 0deg,transparent 0 9deg,rgba(216,180,109,.9) 10deg 11deg,transparent 12deg 20deg);-webkit-mask:radial-gradient(circle,transparent 0 19px,#000 20px 25px,transparent 26px);mask:radial-gradient(circle,transparent 0 19px,#000 20px 25px,transparent 26px)}.site-footer::before{display:none}

/* Entrée vidéo */
.arrival{position:fixed;z-index:500;inset:0;display:grid;place-items:center;padding:1rem;color:var(--cream);transition:opacity .5s,visibility .5s}.arrival[hidden]{display:none}.arrival.leaving{opacity:0;visibility:hidden}.arrival-backdrop{position:absolute;inset:0;background:linear-gradient(rgba(13,7,18,.78),rgba(8,5,12,.93)),url("images/vallee-enchantee.png") center/cover;filter:saturate(.9)}.arrival-gate{position:relative;width:min(780px,100%);min-height:440px;padding:clamp(2rem,6vw,5rem);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden;background:radial-gradient(circle at 50% 100%,rgba(166,92,255,.18),transparent 45%),rgba(23,12,29,.96)}.arrival-gate::before{content:"";position:absolute;inset:15px;border:1px solid rgba(211,154,98,.5);pointer-events:none}.arrival-gate h2{margin:0;color:var(--parchment-light);font:500 clamp(2.7rem,7vw,5rem)/.98 var(--serif)}.arrival-gate>p:not(.eyebrow){color:#c9bdba;font:italic 1.1rem var(--serif)}.arrival-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1.2rem;margin-top:1.2rem}.text-button{padding:.45rem .1rem;border:0;border-bottom:1px solid #9c858e;background:transparent;color:#c8bdc3;cursor:pointer}.arrival video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;opacity:0;visibility:hidden;transition:opacity .4s}.arrival.playing .arrival-gate>:not(video):not(.intro-close){opacity:0;pointer-events:none}.arrival.playing video{opacity:1;visibility:visible}.intro-close{position:absolute;z-index:4;top:1rem;right:1rem;width:42px;height:42px;border:1px solid var(--copper);border-radius:50%;background:rgba(17,9,22,.85);color:var(--parchment);font-size:1.7rem;cursor:pointer;opacity:0;pointer-events:none}.arrival.playing .intro-close{opacity:1;pointer-events:auto}.crystal-cluster{display:none}

/* Pages intérieures */
.inner-page main{padding-top:1.3rem}.page-banner{position:relative;min-height:410px;padding:clamp(3rem,8vw,7rem);display:flex;align-items:center;overflow:hidden;isolation:isolate;background-position:center;background-size:cover;border-radius:42% 42% 0 0/9% 9% 0 0}.page-banner::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,8,21,.9),rgba(11,7,15,.4))}.page-banner>div{max-width:820px}.page-banner h1{margin:0;color:var(--parchment-light);font:500 clamp(3.5rem,8vw,7rem)/.9 var(--serif)}.page-banner p:not(.eyebrow),.page-banner blockquote{color:#ddd3c4;font:1.08rem/1.7 var(--serif)}.residents-banner{background-image:url("images/berry-darian.png");background-position:50% 48%}.gallery-banner{background-image:url("gallery/04-ars-nouveau.png")}.story-banner{background-image:url("images/vallee-enchantee.png")}.gallery-banner blockquote{margin:1.2rem 0 0;color:#edcf9a;font-style:italic}

/* Habitants */
.residents{padding:clamp(3rem,6vw,6rem) 0;display:grid;gap:3rem}.resident-card,.resident-card.reverse{position:relative;display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);min-height:520px;align-items:center;gap:clamp(2rem,5vw,5rem);padding:clamp(2rem,5vw,5rem);border-left:0;border-right:0;background:linear-gradient(90deg,rgba(40,21,45,.72),rgba(17,12,22,.82))}.resident-card.reverse{grid-template-columns:minmax(0,1fr) minmax(260px,360px)}.resident-card.reverse .resident-image{order:2}.resident-image{position:relative;width:100%;aspect-ratio:.82;padding:10px;overflow:visible;border:2px solid var(--copper);border-radius:48% 48% 43% 43%/42% 42% 50% 50%;background:linear-gradient(145deg,#6a3824,#ca884e 36%,#4d281e 74%,#a45c35);box-shadow:0 18px 40px rgba(0,0,0,.5),inset 0 0 0 6px #170e19,inset 0 0 0 7px var(--copper-light)}.resident-image::before,.resident-image::after{content:"◆";position:absolute;left:50%;z-index:3;color:var(--copper-light);transform:translateX(-50%);text-shadow:0 0 9px var(--violet)}.resident-image::before{top:-1.4rem}.resident-image::after{bottom:-1.4rem}.resident-image img{width:100%;height:100%;object-fit:cover;object-position:center 42%;border-radius:inherit;filter:saturate(.85) sepia(.05)}.resident-copy{padding:1rem 0}.resident-copy h2{margin:0 0 1.4rem;color:var(--parchment-light);font:500 clamp(2.2rem,4.5vw,4.4rem)/1 var(--serif)}.resident-copy p{color:#cdc6ba}.resident-aside{padding:1rem 1.2rem;border-left:2px solid var(--violet);background:rgba(126,69,175,.1);color:#e2d6e8!important;font-style:italic}.duo-memory{display:grid;grid-template-columns:minmax(280px,.7fr) 1fr;align-items:center;width:min(1050px,92%);margin:1rem auto;background:linear-gradient(90deg,#271521,#15101a);border:1px solid var(--copper);box-shadow:var(--shadow)}.duo-memory img{width:100%;max-height:360px;object-fit:cover}.duo-memory p{padding:2rem;color:#d8c99e;font:italic clamp(1.2rem,2.4vw,1.8rem)/1.5 var(--serif)}.duo-memory.wide{width:min(1250px,96%)}

/* Salon d’exposition */
.gallery-room{margin-top:1.3rem;padding:clamp(3rem,6vw,6rem) clamp(.5rem,3vw,3rem);background:linear-gradient(rgba(47,27,20,.92),rgba(23,14,18,.96)),repeating-linear-gradient(90deg,transparent 0 140px,rgba(211,154,98,.06) 141px 142px);border:1px solid rgba(169,94,55,.6)}.gallery-hint{margin:0 0 2.5rem;text-align:center;color:#c4b8af;font-style:italic}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.2rem,3vw,3rem);align-items:start}.artwork{grid-column:span 6;margin:0;padding:clamp(.65rem,1.2vw,1.1rem);background:linear-gradient(135deg,#9e6038,#3d241b 15%,#784427 50%,#291812 85%,#b07142);border:2px solid #d19a62;box-shadow:0 20px 45px rgba(0,0,0,.52),inset 0 0 0 4px #2a1812;transform:rotate(var(--tilt,-.3deg))}.artwork:nth-child(3n){--tilt:.35deg}.artwork:nth-child(5n){grid-column:3/span 8;--tilt:0deg}.artwork button{width:100%;padding:0;overflow:hidden;border:0;background:#020304;cursor:zoom-in}.artwork img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .35s,filter .35s}.artwork button:hover img,.artwork button:focus-visible img{transform:scale(1.025);filter:brightness(1.08)}.artwork figcaption{padding:1rem .8rem .35rem}.artwork h2{margin:0;color:var(--parchment-light);font:600 1.45rem var(--serif)}.artwork p{margin:.45rem 0 0;color:#cec3b4;font-size:.92rem}
.lightbox{width:min(1400px,96vw);max-width:none;height:min(90vh,920px);padding:clamp(1rem,3vw,3rem);border:2px solid var(--copper);outline:1px solid var(--copper-light);outline-offset:-9px;background:#110a16;color:var(--parchment);box-shadow:0 30px 100px #000}.lightbox::backdrop{background:rgba(5,2,7,.9);backdrop-filter:blur(6px)}.lightbox figure{height:100%;margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.lightbox img{width:100%;height:100%;object-fit:contain}.lightbox figcaption{padding:1rem 4rem 0;text-align:center}.lightbox h2{margin:0;color:var(--parchment-light);font:600 1.7rem var(--serif)}.lightbox p{margin:.35rem 0;color:#c1b9b1}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;z-index:2;border:1px solid var(--copper);background:rgba(19,10,24,.9);color:var(--parchment);cursor:pointer}.lightbox-close{top:.7rem;right:.7rem;width:44px;height:44px;font-size:1.7rem}.lightbox-prev,.lightbox-next{top:50%;width:50px;height:70px;font-size:2.5rem;transform:translateY(-50%)}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}

/* Verrière mécanique */
.cinema-room{margin:1.3rem 0 0;padding:clamp(1.5rem,5vw,5rem);display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.55fr);gap:clamp(2rem,5vw,5rem);align-items:center;background:radial-gradient(circle at 28% 45%,rgba(129,61,170,.18),transparent 25rem),linear-gradient(135deg,#211329,#0f0b14)}.mechanical-window{position:relative;padding:clamp(.7rem,1.4vw,1.3rem);background:linear-gradient(135deg,#b66b3c,#44261c 14%,#2a1830 35%,#100b15 65%,#985731);border:2px solid var(--copper-light);border-radius:50% 50% 2% 2%/9% 9% 2% 2%;box-shadow:var(--shadow),inset 0 0 0 6px #100a15,inset 0 0 0 7px var(--copper)}.mechanical-window video{width:100%;max-height:72vh;border-radius:inherit;background:#000}.window-gear{position:absolute;z-index:2;top:50%;width:42px;aspect-ratio:1;display:grid;place-items:center;border:5px dotted var(--copper-light);border-radius:50%;background:#211329;color:var(--violet);box-shadow:0 0 14px rgba(166,92,255,.5);animation:gear-spin 12s linear infinite}.gear-left{left:-22px}.gear-right{right:-22px;animation-direction:reverse}.film-copy h2{margin:0 0 1rem;color:var(--parchment-light);font:500 clamp(2.3rem,4vw,4.2rem)/1 var(--serif)}.film-copy>p{color:#c8bfb8}.credits{margin-top:2rem;padding:1.5rem;border-left:2px solid var(--copper);background:rgba(168,99,58,.08)}.credits h3{margin:0;color:var(--parchment-light);font:600 1.35rem var(--serif)}.credits p{margin:.4rem 0;color:#c4bbb5}.credits a{color:var(--copper-light)}

.steam{position:fixed;z-index:-1;width:90px;height:170px;opacity:.13;filter:blur(12px);background:radial-gradient(ellipse,#eee6dd 0 18%,transparent 55%);animation:steam-rise 10s linear infinite}.steam-one{right:3vw;bottom:-100px}.steam-two{left:4vw;bottom:-150px;animation-delay:-4s}

/* Cadres géométriques Art déco */
:root{--deco-gold:#d8b46d;--deco-shadow:#4f2b1d}
.residents-banner{background-image:url("gallery/01-quartier-myrrha.png");background-position:50% 48%}
.story-banner{background-image:url("images/vallee-cerisiers-histoire.png");background-position:center 48%}

.portrait-medallion{position:relative;padding-top:31px}
.portrait-medallion::before{content:"";position:absolute;z-index:3;top:0;left:50%;width:92px;height:42px;transform:translateX(-50%);background:repeating-conic-gradient(from 270deg at 50% 100%,var(--deco-gold) 0 2deg,transparent 2deg 10deg);clip-path:polygon(0 100%,8% 76%,18% 100%,28% 48%,38% 100%,50% 0,62% 100%,72% 48%,82% 100%,92% 76%,100% 100%);filter:drop-shadow(0 2px 2px #000)}
.portrait-medallion>span{position:relative;isolation:isolate;aspect-ratio:.78;padding:15px;border:0;border-radius:0;clip-path:polygon(18% 0,82% 0,100% 15%,100% 85%,82% 100%,18% 100%,0 85%,0 15%);background:linear-gradient(135deg,var(--deco-gold),#6f3c24 17%,#171018 18% 82%,#6f3c24 83%,var(--deco-gold));box-shadow:none;filter:drop-shadow(0 17px 22px rgba(0,0,0,.55));transition:transform .3s,filter .3s}
.portrait-medallion>span::before,.portrait-medallion>span::after{content:"";position:absolute;pointer-events:none;transform:none;text-shadow:none;color:transparent}
.portrait-medallion>span::before{z-index:3;inset:5px;clip-path:inherit;box-shadow:inset 0 0 0 1px var(--deco-gold),inset 0 0 0 5px #171018,inset 0 0 0 6px rgba(216,180,109,.72)}
.portrait-medallion>span::after{z-index:3;inset:14px;clip-path:inherit;box-shadow:inset 0 0 0 1px rgba(240,209,146,.78)}
.portrait-medallion img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center 40%;border-radius:0;clip-path:polygon(14% 0,86% 0,100% 12%,100% 88%,86% 100%,14% 100%,0 88%,0 12%);filter:saturate(.92) sepia(.04)}
.portrait-medallion:hover>span,.portrait-medallion:focus-visible>span{transform:translateY(-5px);box-shadow:none;filter:drop-shadow(0 22px 28px rgba(0,0,0,.62)) drop-shadow(0 0 9px rgba(166,92,255,.24))}

.resident-card,.resident-card.reverse{border:1px solid var(--deco-gold);outline:1px solid rgba(216,180,109,.36);outline-offset:-9px;clip-path:polygon(30px 0,calc(100% - 30px) 0,100% 30px,100% calc(100% - 30px),calc(100% - 30px) 100%,30px 100%,0 calc(100% - 30px),0 30px)}
.resident-image{position:relative;isolation:isolate;aspect-ratio:.78;padding:17px;overflow:hidden;border:0;border-radius:0;clip-path:polygon(18% 0,82% 0,100% 15%,100% 85%,82% 100%,18% 100%,0 85%,0 15%);background:linear-gradient(135deg,var(--deco-gold),#754126 17%,#181019 18% 82%,#754126 83%,var(--deco-gold));box-shadow:none;filter:drop-shadow(0 18px 26px rgba(0,0,0,.58))}
.resident-image::before,.resident-image::after{content:"";position:absolute;pointer-events:none;left:auto;transform:none;text-shadow:none;color:transparent}
.resident-image::before{z-index:3;inset:6px;clip-path:inherit;box-shadow:inset 0 0 0 1px var(--deco-gold),inset 0 0 0 6px #181019,inset 0 0 0 7px rgba(216,180,109,.72)}
.resident-image::after{z-index:3;inset:16px;clip-path:inherit;box-shadow:inset 0 0 0 1px rgba(240,209,146,.78)}
.resident-image img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center 42%;border-radius:0;clip-path:polygon(14% 0,86% 0,100% 12%,100% 88%,86% 100%,14% 100%,0 88%,0 12%);filter:saturate(.91) sepia(.03)}
.duo-memory{display:none}

.artwork,.artwork:nth-child(3n),.artwork:nth-child(5n){position:relative;margin:0;padding:17px;border:1px solid var(--deco-gold);outline:1px solid rgba(216,180,109,.42);outline-offset:-8px;clip-path:polygon(24px 0,calc(100% - 24px) 0,100% 24px,100% calc(100% - 24px),calc(100% - 24px) 100%,24px 100%,0 calc(100% - 24px),0 24px);background:linear-gradient(145deg,#24151d,#110c13 55%,#281712);box-shadow:0 20px 45px rgba(0,0,0,.52);transform:none}
.artwork::before{content:"";position:absolute;z-index:3;inset:7px;pointer-events:none;clip-path:inherit;box-shadow:inset 0 0 0 1px rgba(216,180,109,.72)}
.artwork::after{content:"◆";position:absolute;z-index:4;top:-4px;left:50%;width:42px;text-align:center;transform:translateX(-50%);background:#171018;color:var(--deco-gold);font-size:.65rem;letter-spacing:.3em}
.artwork button{clip-path:polygon(13px 0,calc(100% - 13px) 0,100% 13px,100% calc(100% - 13px),calc(100% - 13px) 100%,13px 100%,0 calc(100% - 13px),0 13px)}
.path-card{clip-path:polygon(24px 0,calc(100% - 24px) 0,100% 24px,100% calc(100% - 24px),calc(100% - 24px) 100%,24px 100%,0 calc(100% - 24px),0 24px)}
.mechanical-window{border-radius:0;clip-path:polygon(6% 0,94% 0,100% 10%,100% 90%,94% 100%,6% 100%,0 90%,0 10%)}
.mechanical-window video{border-radius:0;clip-path:polygon(4% 0,96% 0,100% 7%,100% 93%,96% 100%,4% 100%,0 93%,0 7%)}

.site-footer{min-height:160px;padding:2.25rem clamp(1.5rem,5vw,5rem);clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,20px 100%,0 calc(100% - 20px),0 20px)}
.site-footer img{display:none}

/* Le métal suit réellement les diagonales des angles coupés. */
.resident-card,.resident-card.reverse{isolation:isolate;border:0;outline:0;background:linear-gradient(135deg,#f0d18e 0%,var(--deco-gold) 26%,#8d512e 50%,var(--deco-gold) 74%,#f0d18e 100%)}
.resident-card::before,.resident-card.reverse::before{content:"";position:absolute;z-index:-1;inset:2px;clip-path:polygon(28px 0,calc(100% - 28px) 0,100% 28px,100% calc(100% - 28px),calc(100% - 28px) 100%,28px 100%,0 calc(100% - 28px),0 28px);background:linear-gradient(90deg,rgba(40,21,45,.97),rgba(17,12,22,.98));box-shadow:inset 0 0 0 7px #171018,inset 0 0 0 8px rgba(216,180,109,.62)}

.artwork,.artwork:nth-child(3n),.artwork:nth-child(5n){isolation:isolate;border:0;outline:0;background:linear-gradient(135deg,#f0d18e 0%,var(--deco-gold) 24%,#784629 50%,var(--deco-gold) 76%,#f0d18e 100%)}
.artwork::before{z-index:-1;inset:2px;clip-path:polygon(22px 0,calc(100% - 22px) 0,100% 22px,100% calc(100% - 22px),calc(100% - 22px) 100%,22px 100%,0 calc(100% - 22px),0 22px);background:linear-gradient(145deg,#24151d,#110c13 55%,#281712);box-shadow:inset 0 0 0 7px #171018,inset 0 0 0 8px rgba(216,180,109,.58)}

/* Cadres complets de la page Histoire et du message final. */
.story-page .page-banner{border:0;outline:0;border-radius:0;clip-path:polygon(34px 0,calc(100% - 34px) 0,100% 34px,100% calc(100% - 34px),calc(100% - 34px) 100%,34px 100%,0 calc(100% - 34px),0 34px)}
.story-page .cinema-room{position:relative;border:0;outline:0;clip-path:polygon(30px 0,calc(100% - 30px) 0,100% 30px,100% calc(100% - 30px),calc(100% - 30px) 100%,30px 100%,0 calc(100% - 30px),0 30px)}
.story-page .page-banner::after,.story-page .cinema-room::after,.site-footer::after,.mechanical-window::before{content:"";position:absolute;z-index:5;inset:0;padding:2px;pointer-events:none;clip-path:inherit;background:linear-gradient(135deg,#f3d89a,var(--deco-gold) 34%,#8b4d2c 50%,var(--deco-gold) 66%,#f3d89a);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
.mechanical-window::after{content:"";position:absolute;z-index:5;inset:10px;padding:1px;pointer-events:none;clip-path:polygon(5.5% 0,94.5% 0,100% 9%,100% 91%,94.5% 100%,5.5% 100%,0 91%,0 9%);background:rgba(240,209,146,.78);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
.site-footer{border:0;outline:0;isolation:isolate}

/* La même finition encadre désormais toutes les grandes scènes du site. */
.hero,.welcome,.arrival-gate,.inner-page .page-banner,.gallery-room,.lightbox{border:0;outline:0;border-radius:0;clip-path:polygon(30px 0,calc(100% - 30px) 0,100% 30px,100% calc(100% - 30px),calc(100% - 30px) 100%,30px 100%,0 calc(100% - 30px),0 30px)}
.gallery-room,.lightbox{position:relative}
.hero::after,.welcome::before,.arrival-gate::before,.inner-page .page-banner::after,.gallery-room::after,.lightbox::after,.path-card::after{content:"";position:absolute;z-index:8;inset:0;padding:2px;border:0;pointer-events:none;clip-path:inherit;background:linear-gradient(135deg,#f3d89a,var(--deco-gold) 34%,#8b4d2c 50%,var(--deco-gold) 66%,#f3d89a);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
.path-card{border:0;outline:0}

/* Contour extérieur continu : il suit aussi chaque diagonale. */
.hero,.welcome,.arrival-gate,.inner-page .page-banner,.cinema-room,.gallery-room,.site-footer,.lightbox,.path-card{filter:drop-shadow(1px 0 0 var(--deco-gold)) drop-shadow(-1px 0 0 var(--deco-gold)) drop-shadow(0 1px 0 var(--deco-gold)) drop-shadow(0 -1px 0 var(--deco-gold)) drop-shadow(1px 1px 0 var(--deco-gold)) drop-shadow(-1px -1px 0 var(--deco-gold)) drop-shadow(1px -1px 0 var(--deco-gold)) drop-shadow(-1px 1px 0 var(--deco-gold))}
.path-card:hover,.path-card:focus-visible{filter:brightness(1.08) drop-shadow(1px 0 0 var(--deco-gold)) drop-shadow(-1px 0 0 var(--deco-gold)) drop-shadow(0 1px 0 var(--deco-gold)) drop-shadow(0 -1px 0 var(--deco-gold)) drop-shadow(1px 1px 0 var(--deco-gold)) drop-shadow(-1px -1px 0 var(--deco-gold))}

/* Huit segments dorés raccordés exactement aux angles coupés. */
.hero,.welcome,.arrival-gate,.inner-page .page-banner,.cinema-room,.gallery-room,.site-footer,.lightbox{--deco-cut:30px;--deco-cut-double:60px;filter:none}
.path-card{--deco-cut:24px;--deco-cut-double:48px;filter:none}
.site-footer{--deco-cut:20px;--deco-cut-double:40px}
.hero::after,.welcome::before,.arrival-gate::before,.inner-page .page-banner::after,.cinema-room::after,.gallery-room::after,.site-footer::after,.lightbox::after,.path-card::after{content:"";position:absolute;z-index:8;inset:0;padding:0;border:0;pointer-events:none;clip-path:none;-webkit-mask:none;mask:none;background:linear-gradient(var(--deco-gold),var(--deco-gold)) top center/calc(100% - var(--deco-cut-double)) 2px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) bottom center/calc(100% - var(--deco-cut-double)) 2px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) center left/2px calc(100% - var(--deco-cut-double)) no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) center right/2px calc(100% - var(--deco-cut-double)) no-repeat,linear-gradient(135deg,transparent 47%,var(--deco-gold) 48% 52%,transparent 53%) top left/var(--deco-cut) var(--deco-cut) no-repeat,linear-gradient(45deg,transparent 47%,var(--deco-gold) 48% 52%,transparent 53%) top right/var(--deco-cut) var(--deco-cut) no-repeat,linear-gradient(45deg,transparent 47%,var(--deco-gold) 48% 52%,transparent 53%) bottom left/var(--deco-cut) var(--deco-cut) no-repeat,linear-gradient(135deg,transparent 47%,var(--deco-gold) 48% 52%,transparent 53%) bottom right/var(--deco-cut) var(--deco-cut) no-repeat}
.path-card:hover,.path-card:focus-visible{filter:brightness(1.08)}

/* Le cadre de la verrière reprend exactement les huit segments dorés. */
.story-page .cinema-room::after{content:"";position:absolute;z-index:8;inset:0;padding:0;border:0;pointer-events:none;clip-path:none;-webkit-mask:none;mask:none;background:linear-gradient(var(--deco-gold),var(--deco-gold)) top center/calc(100% - var(--deco-cut-double)) 2px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) bottom center/calc(100% - var(--deco-cut-double)) 2px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) center left/2px calc(100% - var(--deco-cut-double)) no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) center right/2px calc(100% - var(--deco-cut-double)) no-repeat,linear-gradient(135deg,transparent 47%,var(--deco-gold) 48% 52%,transparent 53%) top left/var(--deco-cut) var(--deco-cut) no-repeat,linear-gradient(45deg,transparent 47%,var(--deco-gold) 48% 52%,transparent 53%) top right/var(--deco-cut) var(--deco-cut) no-repeat,linear-gradient(45deg,transparent 47%,var(--deco-gold) 48% 52%,transparent 53%) bottom left/var(--deco-cut) var(--deco-cut) no-repeat,linear-gradient(135deg,transparent 47%,var(--deco-gold) 48% 52%,transparent 53%) bottom right/var(--deco-cut) var(--deco-cut) no-repeat}
.film-copy h2{font-size:clamp(1.9rem,2.65vw,2.85rem);line-height:1.06}

/* Soleil-diamant Art déco : le diamant chevauche le cadre sans être rogné. */
.portrait-medallion{padding-top:54px;overflow:visible}
.resident-portrait-wrap{position:relative;width:100%;padding-top:54px;overflow:visible}
.resident-card.reverse .resident-portrait-wrap{order:2}
.portrait-medallion::before,.resident-portrait-wrap::before{content:"";position:absolute;z-index:7;top:9px;left:50%;width:38px;height:38px;transform:translateX(-50%) rotate(45deg);clip-path:none;border:2px solid var(--deco-gold);background:radial-gradient(circle at 50% 50%,#f2dcff 0 2px,#9c55d3 3px 6px,#201323 7px 100%);box-shadow:inset 0 0 0 5px #171018,inset 0 0 0 6px rgba(240,209,146,.82),0 0 11px rgba(166,92,255,.3);filter:drop-shadow(0 2px 2px #000)}
.portrait-medallion::after,.resident-portrait-wrap::after{content:"";position:absolute;z-index:6;top:17px;left:50%;width:146px;height:38px;transform:translateX(-50%);pointer-events:none;background:linear-gradient(var(--deco-gold),var(--deco-gold)) left 0 top 5px/47px 1px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) left 9px top 16px/38px 1px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) left 20px top 27px/27px 1px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) right 0 top 5px/47px 1px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) right 9px top 16px/38px 1px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) right 20px top 27px/27px 1px no-repeat}

/* Soleil-diamant miniature des tableaux de la galerie. */
.artwork-wrap{position:relative;grid-column:span 6;justify-self:stretch;align-self:start;min-width:0;width:100%;padding-top:38px;overflow:visible}
.artwork-wrap:nth-child(5n){grid-column:3/span 8}
.artwork-wrap .artwork,.artwork-wrap .artwork:nth-child(3n),.artwork-wrap .artwork:nth-child(5n){width:100%;grid-column:auto}
.artwork-wrap .artwork::after{display:none}
.artwork-wrap::before{content:"";position:absolute;z-index:7;top:7px;left:50%;width:27px;height:27px;transform:translateX(-50%) rotate(45deg);border:1px solid var(--deco-gold);background:radial-gradient(circle at 50% 50%,#f2dcff 0 1px,#9c55d3 2px 4px,#201323 5px 100%);box-shadow:inset 0 0 0 3px #171018,inset 0 0 0 4px rgba(240,209,146,.76),0 0 8px rgba(166,92,255,.24);filter:drop-shadow(0 2px 2px #000);pointer-events:none}
.artwork-wrap::after{content:"";position:absolute;z-index:6;top:12px;left:50%;width:112px;height:29px;transform:translateX(-50%);pointer-events:none;background:linear-gradient(var(--deco-gold),var(--deco-gold)) left 0 top 5px/37px 1px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) left 8px top 14px/29px 1px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) left 17px top 23px/20px 1px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) right 0 top 5px/37px 1px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) right 8px top 14px/29px 1px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) right 17px top 23px/20px 1px no-repeat}

/* Nouvel emblème cristal-soleil et respiration magique du violet. */
.emblem{width:82px}
.emblem img{animation:none;filter:drop-shadow(0 3px 4px rgba(0,0,0,.58))}
.emblem::before{content:"";position:absolute;z-index:2;left:38%;top:24%;width:24%;height:56%;pointer-events:none;clip-path:polygon(50% 0,100% 28%,92% 85%,50% 100%,8% 85%,0 28%);background:radial-gradient(ellipse at 50% 52%,#fff 0 7%,rgba(245,227,255,.98) 12%,rgba(194,119,255,.72) 31%,rgba(150,63,231,.28) 54%,transparent 74%);mix-blend-mode:screen;transform-origin:50% 52%;animation:emblem-core-pulse 4.6s ease-in-out infinite}
.video-frame-wrap{position:relative;min-width:0;width:100%;padding-top:50px;overflow:visible}
.video-frame-wrap::before{content:"";position:absolute;z-index:9;top:8px;left:50%;width:36px;height:36px;transform:translateX(-50%) rotate(45deg);border:2px solid var(--deco-gold);background:radial-gradient(circle at 50% 50%,#f5e8ff 0 2px,#a85dde 3px 6px,#221526 7px 100%);box-shadow:inset 0 0 0 5px #171018,inset 0 0 0 6px rgba(240,209,146,.82);pointer-events:none}
.video-frame-wrap::after{content:"";position:absolute;z-index:8;top:16px;left:50%;width:138px;height:36px;transform:translateX(-50%);pointer-events:none;background:linear-gradient(var(--deco-gold),var(--deco-gold)) left 0 top 5px/45px 1px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) left 9px top 16px/36px 1px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) left 20px top 27px/25px 1px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) right 0 top 5px/45px 1px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) right 9px top 16px/36px 1px no-repeat,linear-gradient(var(--deco-gold),var(--deco-gold)) right 20px top 27px/25px 1px no-repeat}
.portrait-medallion::before,.resident-portrait-wrap::before,.artwork-wrap::before,.video-frame-wrap::before{--core-radius:5px;--core-glow:.58;background:radial-gradient(circle at 50% 50%,rgba(255,250,255,var(--core-glow)) 0 2px,rgba(177,99,255,var(--core-glow)) 3px var(--core-radius),#201323 calc(var(--core-radius) + 1px) 100%);animation:core-light-pulse 4.6s ease-in-out infinite}
@keyframes emblem-breathe{0%,100%{filter:brightness(.92) saturate(.95)}50%{filter:brightness(1.13) saturate(1.12) drop-shadow(0 0 8px rgba(177,99,255,.46))}}@keyframes emblem-halo{0%,100%{opacity:.35;transform:scale(.9)}50%{opacity:.8;transform:scale(1.14)}}@keyframes steam-rise{from{transform:translateY(0) scale(.7);opacity:0}25%{opacity:.13}to{transform:translateY(-105vh) scale(1.5);opacity:0}}@keyframes gear-spin{to{transform:translateY(-50%) rotate(360deg)}}
@property --core-radius{syntax:"<length>";inherits:false;initial-value:5px}
@property --core-glow{syntax:"<number>";inherits:false;initial-value:.58}
@keyframes core-light-pulse{0%,100%{--core-radius:5px;--core-glow:.58;filter:drop-shadow(0 2px 2px #000) drop-shadow(0 0 2px rgba(166,92,255,.12))}50%{--core-radius:9px;--core-glow:1;filter:drop-shadow(0 2px 2px #000) drop-shadow(0 0 6px rgba(177,99,255,.44))}}
@keyframes emblem-core-pulse{0%,100%{opacity:.2;transform:scale(.84);filter:brightness(.78) saturate(1.45) drop-shadow(0 0 2px rgba(156,67,241,.28))}50%{opacity:1;transform:scale(1.12);filter:brightness(1.75) saturate(.15) drop-shadow(0 0 9px rgba(240,215,255,.95))}}
@keyframes shooting-star{0%{opacity:0;transform:rotate(-8deg) translateX(0)}7%{opacity:.78}82%{opacity:.42}100%{opacity:0;transform:rotate(-8deg) translateX(152vw)}}

@media(max-width:1060px){.brand-copy{display:none}.main-nav{gap:.75rem}.welcome{grid-template-columns:1fr}.welcome::after{display:none}.illuminated-margin{max-height:760px}.illuminated-margin img{object-fit:contain}.resident-card,.resident-card.reverse{grid-template-columns:minmax(240px,320px) 1fr}.resident-card.reverse .resident-portrait-wrap{order:0}.duo-memory{grid-template-columns:1fr}.site-footer{padding-left:2rem;padding-top:250px;text-align:center;flex-direction:column}.site-footer img{top:1rem;left:50%;bottom:auto;height:220px;transform:translateX(-50%);mask-image:none}.site-footer>a{text-align:center}.contact-mail{margin-inline:auto}}
@media(max-width:780px){.site-header{min-height:72px}.emblem{width:56px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:1rem;flex-direction:column;align-items:stretch;background:rgba(17,9,23,.99);border-bottom:1px solid var(--copper)}.main-nav.open{display:flex}.main-nav a{padding:.75rem 1rem}.hero{min-height:650px;border-radius:40% 40% 0 0/4% 4% 0 0}.hero h1{font-size:clamp(3.4rem,17vw,5rem)}.welcome{display:block}.grimoire{padding:3rem 1.5rem}.illuminated-margin{height:630px}.medallion-row{gap:3rem}.portrait-medallion{width:min(270px,72vw)}.path-grid{grid-template-columns:1fr}.resident-card,.resident-card.reverse{grid-template-columns:1fr}.resident-portrait-wrap{width:min(360px,90%);margin-inline:auto}.resident-image{width:100%;margin-inline:auto}.resident-copy{padding:1rem}.gallery-grid{grid-template-columns:1fr}.artwork,.artwork:nth-child(5n){grid-column:1;transform:none}.cinema-room{grid-template-columns:1fr}}
@media(max-width:560px){main,.site-footer{width:calc(100% - 1rem)}.page-banner{min-height:340px;padding:2rem;border-radius:30% 30% 0 0/4% 4% 0 0}.page-banner h1{font-size:3.1rem}.grimoire h2{font-size:2.5rem}.arrival-gate{min-height:520px}.path-card{min-height:390px;padding:1.5rem}.lightbox{padding:.6rem}.lightbox figcaption{padding:.8rem 2.5rem 0}.lightbox p{display:none}}
@media(max-width:1060px){.site-footer{padding:2.25rem;text-align:center;flex-direction:column;gap:1.6rem}.site-footer>div{order:1}.footer-sun{position:relative;top:auto;left:auto;order:2;flex:0 0 58px;transform:none}.site-footer>a{order:3;text-align:center}.contact-mail{margin-inline:auto}}
@media(max-width:780px){.hero,.welcome,.arrival-gate,.inner-page .page-banner,.gallery-room,.lightbox{--deco-cut:20px;--deco-cut-double:40px;border-radius:0;clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,20px 100%,0 calc(100% - 20px),0 20px)}}
@media(max-width:780px){.artwork-wrap,.artwork-wrap:nth-child(5n){grid-column:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media(prefers-reduced-motion:reduce){.portrait-medallion::before,.resident-portrait-wrap::before,.artwork-wrap::before,.video-frame-wrap::before,.footer-sun::before,.emblem::before,.emblem::after{animation-duration:4.6s!important;animation-iteration-count:infinite!important}.shooting-star{animation-duration:var(--star-duration)!important;animation-iteration-count:1!important}}
