/* Thème Obsidienne et or */
:root{--ink:#0c0b0d;--deep:#171417;--panel:#211c1b;--line:#655643;--gold:#e7c68e;--cream:#faf2e4;--muted:#d5c9b9}
 body{background:#0c0b0d;color:#faf2e4}
 header{background:#100e0de8;border-bottom-color:#655643}
 .hero{background:linear-gradient(90deg,#0b0a0af0 0%,#0b0a0ab9 43%,#09132155 100%),url('music.webp') center 33%/cover no-repeat}
 .hero:after{background:linear-gradient(transparent,#0c0b0d)}
 .hero p,.subtitle,.intro p,.intro .wrap p,.section-intro,.book p,.card p,.feature p,.profile-copy p,.copy p,.flag-story p,.section-note,.note,.music p,.merch p{color:#d5c9b9}
 .book{background:radial-gradient(ellipse at 10% 47%,#51402d 0%,#171417 55%,#0c0b0d 100%)}
 .characters,.profile,.music,.merch,.intro,.flag-history,.nine-lands,.lands{background-color:#0c0b0d}
 .characters{background:#171417}
 .card:after{background:linear-gradient(transparent,#0c0b0df5 85%)}
 .music{background:#211c1b}
 .merch{background:linear-gradient(130deg,#51402d,#0c0b0d)}
 .intro{background:radial-gradient(ellipse at 78% 12%,#51402d,#171417 62%,#0c0b0d)}
 .profile{background:radial-gradient(ellipse at 75% 20%,#51402d,#171417 62%,#0c0b0d)}
 .card,.reaction-card,.known-land,.unknown-lands li,.feature figure,.flag-comparison figure,.profile-portrait,.gallery-grid figure,.merch-panel{background-color:#211c1b;border-color:#655643}
 .unknown-lands li{background:linear-gradient(145deg,#211c1b,#171417)}
 .gallery-grid img,.theia-images img,.flag-comparison img,.known-land img{background:#0c0b0d}
 .eyebrow,.card small,.card-action,.land-action,.flag-story strong,.brand small,.track span,.question,.unknown-lands .question,.known-land small{color:#e7c68e}
 .flag-story strong{color:#faf2e4}
 .back-link,.button,.intro .bundle{background:#e7c68e;color:#0c0b0d;border-color:#e7c68e}
 .button.outline{background:transparent;color:#e7c68e}
 .button.outline:hover{background:#e7c68e;color:#0c0b0d}
 .back-link:hover{background:#faf2e4;color:#0c0b0d}
 .profile-facts div,.facts div,.feature,.lands,.nine-lands,.flag-history,.track{border-color:#655643}
 .audio-toggle{background:#171417f2!important;color:#e7c68e!important;border-color:#e7c68e!important}
 .audio-toggle[aria-pressed="true"],.audio-toggle:hover{background:#e7c68e!important;color:#0c0b0d!important}
 .page{background:radial-gradient(ellipse at 80% 28%,#51402d,#171417 47%,#0c0b0d 85%)}
 .page:before{background:linear-gradient(90deg,#0b0a0af0 0%,#0b0a0ab9 48%,#09132155),url('music.webp') 60% center/cover no-repeat}

/* Navigation plus visible et confortable au toucher. */
header{background:#100e0df2}
header .nav{gap:18px}
header .links{gap:8px;flex-wrap:wrap;justify-content:flex-end}
header .links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border:1px solid #e7c68e8c;background:#211c1bcc;color:#faf2e4;font:700 14px/1.25 Arial,sans-serif;letter-spacing:.06em;text-align:center;transition:background .2s,color .2s,border-color .2s}
header .links a:hover,header .links a:focus-visible{background:#e7c68e;color:#0c0b0d;border-color:#e7c68e}
@media(max-width:800px){header .nav{align-items:flex-start}header .links a{font-size:14px;min-height:44px;padding:9px 11px}.hero-inner{padding-top:190px}}
@media(max-width:550px){header .links{justify-content:flex-start;gap:7px}header .links a{font-size:13px;min-height:44px;padding:9px 10px}.hero-inner{padding-top:260px}.hero{min-height:760px}}

/* Note éditoriale sous les huit chansons. */
.music .music-voice-note{max-width:620px;margin-top:30px;padding:21px 24px 23px;border:1px solid #655643;border-left:3px solid #e7c68e;background:linear-gradient(125deg,#2b241f,#171417);box-shadow:0 12px 30px #0003}
.music .music-voice-note strong{display:block;color:#e7c68e;font:700 13px/1.4 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.music .music-voice-note p{margin:12px 0 0;color:#faf2e4;font-size:16px;line-height:1.65;text-align:justify;text-justify:inter-word;hyphens:auto;overflow-wrap:break-word}
@media(max-width:550px){.music .music-voice-note{margin-top:25px;padding:19px 18px 21px}}

/* Music gateway and dedicated collection. */
.music-gateway{background:#100e10;padding:84px 0}.music-portal{position:relative;isolation:isolate;display:flex;align-items:center;min-height:560px;overflow:hidden;border:1px solid #a78959;border-radius:5px;text-decoration:none;color:#faf2e4;box-shadow:0 24px 65px #0005}.music-portal>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;transition:transform .5s}.music-portal:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#060b15ed 0%,#070e19b8 40%,#070e1914 75%)}.music-portal-copy{padding:55px 48px;width:65%}.music-portal .eyebrow{font-size:11px;line-height:1.7;letter-spacing:.17em}.music-portal h2{font-size:clamp(35px,4.4vw,61px);line-height:1.1;margin:15px 0 20px}.music-portal p{font-size:20px;color:#f1e8db;line-height:1.5}.music-portal-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;min-height:62px;padding:17px 24px;background:#e7c68e;color:#18120b;border:1px solid #ffe6b3;border-radius:3px;font:700 17px/1.4 Arial,sans-serif;box-shadow:0 8px 30px #0005}.music-portal-button svg{width:23px;height:23px}.music-portal-platforms{display:block;margin-top:19px;color:#e6d9c8;font:12px/1.7 Arial,sans-serif}.music-portal:hover>img{transform:scale(1.025)}.music-portal:hover .music-portal-button{background:#ffe6b3}.music-portal:focus-visible{outline:3px solid #ffe6b3;outline-offset:6px}.music-back{position:fixed;top:18px;left:18px;z-index:50;display:inline-flex;align-items:center;min-height:52px;padding:13px 20px;background:#e7c68e;color:#18120b;border:2px solid #fae6bf;border-radius:3px;text-decoration:none;font:700 14px/1.4 Arial,sans-serif;box-shadow:0 9px 30px #0009}.music-page-intro{padding:118px 0 40px;text-align:center;background:radial-gradient(ellipse at 70% 15%,#3a2d21,#100e10 70%)}.music-page-intro h1{font-size:clamp(48px,7vw,88px);font-weight:normal;line-height:1.1;margin:17px 0 22px}.music-page-intro p{max-width:660px;margin:0 auto;color:#d5c9b9;font-size:20px}.music-page .music{padding-top:55px}.music-page .music-cover{align-self:start;position:sticky;top:40px}.music-page .track{padding:19px 0}.music-page .music-stores{gap:10px}
@media(max-width:800px){.music-portal{min-height:540px}.music-portal-copy{padding:36px 30px;width:75%}.music-portal:before{background:linear-gradient(90deg,#060b15ed,#070e198c 65%,#070e1922)}.music-page .music-cover{position:static}}
@media(max-width:550px){.music-gateway{padding:56px 0}.music-portal{min-height:620px;align-items:flex-end}.music-portal>img{object-position:72% top;height:75%;object-fit:cover}.music-portal:before{background:linear-gradient(0deg,#070d17 0%,#070d17f5 28%,#070d1788 59%,#070d1700 84%)}.music-portal-copy{width:100%;padding:30px 22px}.music-portal h2{font-size:34px;margin:13px 0}.music-portal p{font-size:18px}.music-portal-button{display:flex;padding:16px 12px;font-size:16px;gap:9px}.music-portal-platforms{font-size:11px}.music-back{top:12px;left:12px}.music-page-intro{padding-top:110px}.music-page-intro p{font-size:18px}}
@media(prefers-reduced-motion:reduce){.music-portal>img{transition:none}.music-portal:hover>img{transform:none}}

/* Aligned music releases. */
.music-page .song-collection{padding:35px 0 95px;background:#100e10}.song-list{display:grid;gap:30px}.song-card{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:36px;align-items:center;padding:28px;border:1px solid #655643;border-radius:5px;background:linear-gradient(120deg,#25201c,#171417);box-shadow:0 15px 38px #0003}.song-art{margin:0;aspect-ratio:1/1;background:#08090c;border:1px solid #655643;display:flex;align-items:center;justify-content:center;overflow:hidden}.song-art img{width:100%;height:100%;object-fit:contain}.song-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.song-number{color:#d7bb82;font:11px/1.5 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}.song-status{padding:6px 11px;background:#223527;color:#c2e8b6;border:1px solid #55764e;border-radius:30px;font:700 12px/1.4 Arial,sans-serif}.song-card .song-details h2{margin:17px 0 26px;font-size:clamp(35px,4.5vw,58px)}.song-platforms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.song-platform{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;padding:14px 15px;border:1px solid #8d744e;border-radius:4px;background:#211c1b;color:#faf2e4;font:700 14px/1.4 Arial,sans-serif;text-decoration:none}.song-platform>span:nth-child(2){flex:1}.song-platform:hover{background:#e7c68e;color:#17110a;border-color:#ffe6b3}.song-platform:focus-visible{outline:3px solid #ffe6b3;outline-offset:4px}.platform-icon{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;flex-shrink:0;font-size:20px}.platform-icon.youtube{background:#ff0033;color:white;border-radius:7px;font-size:15px}.platform-icon.spotify{color:#1ed760}.song-platform.pending{color:#b6aa9b;border-color:#4a4037;background:#1b1816}.song-platform.pending small{font:10px/1.4 Arial,sans-serif;text-align:right}.song-platform.pending:hover{color:#b6aa9b;background:#1b1816}.upcoming-collection{margin-top:65px}.upcoming-collection h2{font-size:36px;margin-bottom:25px}.upcoming-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.upcoming-song{display:flex;align-items:center;gap:17px;padding:22px 19px;border:1px solid #4b4035;background:#191614;border-radius:4px}.upcoming-song>span{color:#ad8b58;font:24px Georgia,serif}.upcoming-song strong{font:16px/1.5 Georgia,serif;color:#d5c9b9}.upcoming-song small{display:block;font:12px/1.5 Arial,sans-serif;color:#9e9182;margin-top:5px}.music-collection-footer{margin:40px auto 0;max-width:720px}.collection-youtube{justify-content:center;padding:18px;min-height:68px}.music-page .music-collection-footer .music-voice-note{max-width:none}
@media(max-width:900px){.song-card{gap:25px;padding:22px;grid-template-columns:.8fr 1.2fr}.song-platforms{gap:9px}.song-platform{padding:12px 10px;font-size:13px;gap:7px}.upcoming-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.song-card{grid-template-columns:1fr;padding:18px;gap:24px}.song-art{width:100%;max-width:420px;margin:0 auto}.song-card .song-details h2{font-size:38px;margin:15px 0 22px}.song-platform{min-height:60px}.song-number{font-size:10px}.upcoming-song{padding:17px 12px;gap:12px}.upcoming-song strong{font-size:15px}.upcoming-collection h2{font-size:30px}}
@media(max-width:360px){.song-platforms{grid-template-columns:1fr}.upcoming-grid{grid-template-columns:1fr}}

.lands-gateway{padding-top:0}.lands-portal .music-portal-copy{text-align:left}.lands-portal .music-portal-button{font-size:16px}@media(max-width:550px){.lands-portal>img{object-position:83% top}.lands-portal{min-height:600px}.lands-portal .music-portal-button{font-size:15px}}

.shop-gateway{padding-top:0}.shop-portal:before{background:linear-gradient(90deg,#100c08ed,#100c08b0 42%,#100c0800 78%)}.shop-portal .music-portal-copy{text-align:left}.shop-preview-section{padding:28px 0 95px;background:#100e10}.shop-preview-art{margin:0;border:1px solid #8d744e;border-radius:5px;overflow:hidden}.shop-preview-art img{width:100%;height:auto}.shop-coming{max-width:720px;margin:40px auto 0;padding:32px 25px;text-align:center;border:1px solid #655643;border-radius:5px;background:#211c1b}.shop-coming h2{font-size:clamp(30px,4vw,45px);font-weight:normal;line-height:1.2;margin:15px 0 22px}.shop-coming p{color:#d5c9b9;margin:0 0 27px}.explore-links{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:550px){.shop-portal>img{object-position:79% top}.shop-portal:before{background:linear-gradient(0deg,#100c08 0%,#100c08f5 28%,#100c0880 59%,#100c0800 84%)}.shop-coming{padding:25px 18px}.explore-links{grid-template-columns:1fr}}

/* Clickable Luna Reactions feature on the home page. */
.reactions-gateway{padding-top:0}.reactions-portal{background:radial-gradient(ellipse at 80% 30%,#544238,#211a1c 64%);min-height:500px}.reactions-portal:before{background:linear-gradient(90deg,#100e10f5,#100e10bd 40%,#100e1000 68%)}.reactions-portal .music-portal-copy{position:relative;z-index:2;width:55%}.reactions-portal-art{position:absolute;right:1%;top:8%;width:53%;height:84%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;align-items:center;justify-items:center;z-index:-2;transition:transform .5s}.reactions-portal-art img{width:100%;height:100%;max-height:255px;object-fit:contain;filter:drop-shadow(0 12px 18px #0006)}.reactions-portal-art img:first-child{grid-row:1/3;max-height:360px}.reactions-portal:hover .reactions-portal-art{transform:scale(1.025)}
@media(max-width:850px){.reactions-portal .music-portal-copy{padding:35px 25px;width:59%}.reactions-portal .music-portal-button{font-size:15px}.reactions-portal-art{right:-5%;width:55%}}
@media(max-width:550px){.reactions-portal{min-height:650px}.reactions-portal .music-portal-copy{width:100%;padding:28px 22px}.reactions-portal-art{top:0;right:2%;width:96%;height:355px;grid-template-columns:1.1fr 1fr;grid-template-rows:1fr 1fr}.reactions-portal-art img{max-height:175px}.reactions-portal-art img:first-child{max-height:290px}.reactions-portal:before{background:linear-gradient(0deg,#100e10 0%,#100e10f5 36%,#100e1040 65%,#100e1000 80%)}}
@media(prefers-reduced-motion:reduce){.reactions-portal-art{transition:none}.reactions-portal:hover .reactions-portal-art{transform:none}}

/* Character gallery headings, separate from portraits and photo captions. */
.profile-gallery > h3,.algor-gallery > h2,.algor-video > h2{
 display:block;width:100%;max-width:none;box-sizing:border-box;text-align:center;
 color:#ead5af;font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3.4vw,42px);
 font-weight:normal;line-height:1.25;letter-spacing:.025em;margin:0 auto 34px;padding:0 12px;
}
.profile-gallery > h3::after,.algor-gallery > h2::after,.algor-video > h2::after{
 content:"";display:block;width:108px;height:1px;margin:20px auto 0;
 background:linear-gradient(90deg,transparent,#b8955e,transparent);
}
.algor-gallery > figure{margin-inline:auto}
@media(max-width:550px){
 .profile-gallery > h3,.algor-gallery > h2,.algor-video > h2{margin-bottom:26px}
}

/* Full-width official realistic portrait, following Luna's childhood gallery. */
.luna-realistic{width:100vw;margin-left:calc(50% - 50vw);padding-top:16px}
.luna-realistic > figure{width:100%;max-width:1080px;margin:0 auto;border:0;background:transparent}
.luna-realistic > figure > img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:0;user-select:none;-webkit-user-drag:none}
.luna-realistic > h3{padding-inline:24px}

/* Borderless childhood artwork with an intrinsic cropped viewport. */
.childhood-crop{width:100%;background:#171417}
.profile-gallery .childhood-crop > img{position:static;display:block;width:100%;height:auto;max-width:100%;aspect-ratio:auto;object-fit:contain;border:0;border-radius:0}
/* Consistent, centered editorial captions throughout character galleries. */
.profile-gallery figure > figcaption,.algor-gallery figure > figcaption,.algor-video figure > figcaption{
 text-align:center;color:#ead5af;background:linear-gradient(180deg,#211c1b,#171417);
 font:normal clamp(16px,1.6vw,19px)/1.5 Georgia,"Times New Roman",serif;
 letter-spacing:.025em;padding:18px 20px;border-top:1px solid #a789593d;
}

/* Larger centered Algor gallery, followed by the full training scene. */
.algor-gallery > figure{width:min(100%,780px);margin:0 auto 36px}
.algor-gallery > figure.algor-family,.algor-gallery > figure.algor-training{width:100%;max-width:none}
.algor-gallery > figure.algor-training{margin-bottom:0}
.algor-gallery > figure > img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}

/* Match Aska's second gallery portrait to the centered Algor portrait. */
.profile-gallery .gallery-grid > figure.aska-centered{grid-column:1/-1;justify-self:center;width:min(100%,780px);margin:0 auto}
.profile-gallery .gallery-grid > figure.aska-centered > img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}

/* Stable opening artwork and shared book margins on tablet and mobile. */
.hero{display:block;min-height:0;height:auto;background:#100e10;overflow:hidden}
.hero > .hero-image{display:block;position:static;width:100%;max-width:100%;height:auto;max-height:none;aspect-ratio:2048/1462;object-fit:contain;margin:0}
.hero > .hero-inner{padding:32px max(32px,calc((100% - 1256px)/2)) 40px;min-height:0}
.section.book{display:block}
.book > .book-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,90px);width:100%;box-sizing:border-box}
.book-layout > *{min-width:0}
.book-layout .book-copy{width:100%;max-width:100%}
.book-layout .book-copy p{max-width:none}
@media(max-width:1000px){
 .book > .book-layout{grid-template-columns:1fr;gap:40px}
 .book-layout .book-art{width:100%;max-width:520px;box-sizing:border-box;margin-inline:auto}
 .hero > .hero-inner{padding:28px 32px 36px;display:block}
}
@media(max-width:800px){.book > .book-layout{padding-inline:22px}.hero > .hero-inner{padding-inline:22px}}

/* Let the wrapping navigation occupy its actual height above the artwork. */
body:has(.hero) header{position:relative;inset:auto;width:100%}
.hero{padding-top:0}

/* Character portraits first on phones and tablets, matching Algor's profile. */
@media(max-width:1100px){
 .profile .profile-layout,.profile > .layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .profile-layout > .profile-portrait,.profile > .layout > .wordmark,.profile > .layout > .symbol{order:-1;justify-self:center;width:100%;max-width:550px;box-sizing:border-box;margin:0 auto}
 .profile-layout > .profile-copy,.profile > .layout > .copy{min-width:0}
 .profile-layout > .profile-portrait > img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
}
