:root{--paper:#f5f3e9;--ink:#080909;--red:#f5ff00;--line:#30322b}body{background:#080909}.site-header{max-width:none;padding:19px 5%;background:#080909;position:relative;z-index:3}.wordmark{letter-spacing:-.055em;font-size:26px}.site-header nav{font-size:12px}.nav-cta,.button{clip-path:polygon(0 0,100% 0,100% 75%,calc(100% - 12px) 100%,0 100%)}.nav-cta:hover,.button:hover{background:#fff;color:#080909}.festival-hero{max-width:1600px;margin:auto}.hero-overline{display:flex;justify-content:space-between;padding:15px 5%;font:10px var(--mono);letter-spacing:.13em;color:#c2c4b6}.hero-overline span:first-child{color:var(--red)}.festival-art{position:relative}.festival-art img{width:100%;height:auto}.festival-art:after{content:'';position:absolute;inset:85% 0 0;background:linear-gradient(transparent,#080909);pointer-events:none}.hero-declaration{position:relative;padding:25px 6% 60px;display:flex;justify-content:space-between;align-items:center;gap:30px}.hero-declaration .eyebrow{margin:0 0 10px;font-size:10px}.hero-declaration h1{font-size:clamp(36px,5.4vw,76px);line-height:1.25;letter-spacing:-.06em}.hero-declaration h1 em{display:inline}.hero-declaration p:last-child{margin:20px 0 0;color:#c9c9bd;font-size:13px;line-height:1.9}.festival-round{border:1px solid var(--red);border-radius:50%;width:112px;height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.6;font-size:12px;transform:rotate(-9deg);flex-shrink:0}.festival-round span{font-size:24px;color:var(--red)}.festival-round:hover{background:var(--red);color:#080909}.festival-round:hover span{color:#080909}.ribbon{font-size:15px;padding:14px 0;border-top:3px solid #080909;border-bottom:3px solid #080909}.section{padding-top:100px;padding-bottom:100px}.section-label{margin-bottom:55px}.section-label>span{font-size:20px}.story{position:relative;overflow:hidden;background:radial-gradient(ellipse at 0 100%,#22201066,transparent 60%)}.story:after{content:'祈';font-family:'Yuji Syuku',serif;position:absolute;bottom:-100px;left:-30px;font-size:360px;line-height:1;color:#f5ff0006;pointer-events:none}.story h2{font-size:clamp(36px,4.8vw,66px);letter-spacing:-.06em}.story-code{font-size:36px;color:#737660}.prose p{font-size:14px;color:#cccfc3}.prose .story-last{color:#f5f3e9}.belief{background:#11130f;color:var(--paper);position:relative;border-top:1px solid #42462a;border-bottom:1px solid #42462a}.belief:before{content:'';position:absolute;top:0;left:6%;width:80px;height:4px;background:#ff4d20;box-shadow:0 0 24px #ff6a1755}.belief .section-label{border-color:#454934}.belief .section-label>span,.belief .chapter{color:var(--red)}.belief .section-label small,.belief-heading .eyebrow{color:#b5b99d}.belief h2{font-size:clamp(30px,4.4vw,60px);color:var(--paper)}.belief h2 span{color:#d0d4bb;font-size:.68em;letter-spacing:-.035em}.belief-grid{gap:40px}.belief-grid article{border-color:#4b4f35}.belief h3{font-size:24px;color:#f2f0e3}.belief-grid p{color:#bec3ac;font-size:13px}.belief-foot{color:var(--red);font-size:21px}.feast .section-heading h2{font-size:clamp(38px,5vw,68px)}.gallery{gap:32px}.gallery figure img{filter:saturate(.85);border:0}.gallery .photo-wide img{filter:saturate(.85)}.gallery figcaption{font-size:12px}.host{background:var(--red);color:#080909;position:relative;overflow:hidden}.host .section-label{border-color:#8d9400}.host .section-label>span,.host .section-label small,.host-name>p,.host-badge,.host-layout>div>p:not(:first-child){color:#3a3c04}.host-name h2 span{color:#080909}.host .button{background:#080909;color:#f5ff00}.host .button:hover{background:#fff;color:#080909}.host-social{display:flex;gap:25px;margin-top:24px;font:13px var(--mono)}.host-social a{border-bottom:1px solid #080909;padding-bottom:5px}.host-social a:hover{color:#080909;opacity:.65}.next{background:linear-gradient(#080909e8,#080909ed),url('magjam-main-visual.jpg') center 40%/cover;padding-top:125px;padding-bottom:125px}.next h2{font-size:clamp(38px,5.5vw,76px)}.next>p:not(.eyebrow){color:#c6c9b8}.site-footer{background:#060706}.artist-hero,.archive-page{background:radial-gradient(ellipse at 100% 0,#28291766,transparent 60%)}.artist-layout figure{background:#151710}.social-section{background:#0d0f0c}.social-links>a:hover h3{color:var(--red)}
@media(min-width:1600px){.festival-art img{max-height:980px;object-fit:contain}}
@media(max-width:650px){.site-header{padding:17px 5%}.site-header nav{font-size:10px;gap:8px}.wordmark{font-size:24px}.hero-overline{font-size:8px;padding:13px 5%}.hero-overline span:last-child{font-size:7px;letter-spacing:0}.hero-declaration{padding:22px 6% 35px;gap:10px}.hero-declaration h1{font-size:37px}.hero-declaration h1 em{display:block}.hero-declaration .eyebrow{font-size:8px}.hero-declaration p:last-child{font-size:11px;margin-top:15px}.festival-round{width:78px;height:78px;font-size:10px}.festival-round span{font-size:19px}.ribbon{font-size:13px;gap:26px}.ribbon span:nth-child(even){font-size:20px}.section{padding-top:60px;padding-bottom:60px}.section-label{margin-bottom:32px}.story h2{font-size:39px}.story-code{font-size:30px}.prose p{font-size:13px}.belief h2{font-size:31px}.belief h2 span{font-size:.63em}.belief-grid article{padding:23px 0}.belief h3{font-size:25px;margin:16px 0}.belief-grid p{font-size:12px}.belief-foot{font-size:18px}.gallery{gap:25px 14px}.gallery figcaption{font-size:10px}.host h3{font-size:25px}.host .host-layout>div>p:not(:first-child){font-size:12px}.host-social{font-size:12px}.next{padding-top:75px;padding-bottom:75px}.next h2{font-size:39px}.next>p:not(.eyebrow){font-size:12px}.footer-links{font-size:11px}}
@media(max-width:370px){.hero-declaration h1{font-size:32px}.hero-overline span:last-child{display:none}.festival-round{width:65px;height:65px}.story h2{font-size:33px}.belief h2{font-size:27px}.next h2{font-size:33px}}

/* Founder’s roots, in the approved silver / black / acid-yellow world. */
.roots{background:#0a0c0b;border-top:1px solid #30322b}.roots-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.roots h2{font-size:clamp(40px,5vw,70px);line-height:1.45;letter-spacing:-.06em;margin-top:20px}.roots .eyebrow{color:#b5b99d}.roots-symbol{font-family:'Yuji Syuku',serif;font-size:160px;line-height:1;margin-top:50px;color:#f5ff0033}.roots-kicker{display:block;color:var(--red);font-size:11px;letter-spacing:.14em;margin:0 0 25px}.roots-letter p{font-size:15px;line-height:2.25;margin-bottom:25px}.roots-letter .roots-promise{font-size:19px;font-weight:700;color:var(--paper);line-height:2.1;border-left:2px solid var(--red);padding-left:24px;margin-top:35px}.roots-context{margin-top:65px;padding-top:35px;border-top:1px solid #30322b}.roots-context-heading h3{font-size:25px;margin:15px 0 30px;letter-spacing:-.035em}.roots-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.roots-cards article{border-top:1px solid #454934;padding-top:22px;display:flex;flex-direction:column;align-items:flex-start}.roots-cards article>span{font-size:11px;color:var(--red)}.roots-cards h4{font-size:19px;line-height:1.7;margin:17px 0 12px;letter-spacing:-.04em}.roots-cards p{font-size:13px;line-height:2.1;color:#bec3ac;margin:0 0 20px}.roots-cards a{font-size:11px;color:#d2d5c4;border-bottom:1px solid #74785c;padding-bottom:4px;margin-top:auto}.roots-cards a:hover{color:var(--red)}.roots-invite{margin-top:50px;padding-top:25px;border-top:1px solid #30322b}.roots-invite>p{font-size:16px;line-height:2;color:#cccfc3;margin:0 0 20px}.roots-invite .text-link{font-size:14px}@media(max-width:650px){.roots-layout{grid-template-columns:1fr;gap:25px}.roots h2{font-size:42px}.roots-symbol{display:none}.roots-letter p{font-size:14px}.roots-letter .roots-promise{font-size:17px;padding-left:17px}.roots-context{margin-top:40px;padding-top:25px}.roots-context-heading h3{font-size:22px}.roots-cards{grid-template-columns:1fr;gap:28px}.roots-cards h4{font-size:21px;margin:14px 0}.roots-cards p{font-size:13px}.roots-invite{margin-top:35px}.roots-invite>p{font-size:14px}.site-header nav{flex-wrap:wrap}.site-header nav a{white-space:nowrap}}
@media(min-width:651px) and (max-width:1000px){.roots-layout{grid-template-columns:1fr;gap:32px}.roots-symbol{display:none}.roots h2{font-size:48px}.roots-cards{grid-template-columns:1fr;gap:30px}.roots-cards h4{font-size:23px}.roots-cards p{font-size:14px;max-width:620px}.roots-letter p{font-size:16px}}

/* Approved palette: silver and ink, yellow energy, violet atmosphere. */
:root{--paper:#efedf5;--ink:#09080e;--line:#383043;--violet:#c49af5;--violet-deep:#2b183c}
body.festival-home{background:#09080e}.festival-home .site-header{background:#09080e}.festival-art:after{background:linear-gradient(transparent,#09080e)}.festival-home .hero-declaration{background:radial-gradient(ellipse at 78% 0,#38204766,transparent 60%)}
.festival-home .ribbon{background:#16101f;color:#eee9f4;border-top:1px solid #6e488c;border-bottom:1px solid #6e488c}.festival-home .ribbon span:nth-child(even){color:var(--red)}
.festival-home .story{background:radial-gradient(ellipse at 0 90%,#35204477,transparent 65%)}.festival-home .story:after{color:#c49af50a}.festival-home .story-code{color:#a38eb6}.festival-home .prose p{color:#cfc8d8}.festival-home .story-last{color:#f4f0fa;font-weight:700}.festival-home .belief{background:#120d1a;border-color:#40304f}.festival-home .belief:before{background:#c49af5;box-shadow:0 0 24px #b06af577}.festival-home .belief h2 span{color:#c9b6de}.festival-home .belief .section-label,.festival-home .belief-grid article{border-color:#483653}.festival-home .belief .section-label small,.festival-home .belief-heading .eyebrow{color:#bfa6d2}.festival-home .belief-grid p{color:#c4b6cf}
.festival-home .host{background:radial-gradient(ellipse at 80% 20%,#4c286c66,transparent 65%),#15101e;color:#f2edf7;border-block:1px solid #604175}.festival-home .host .section-label{border-color:#604175}.festival-home .host .section-label>span,.festival-home .host-name h2 span{color:var(--red)}.festival-home .host .section-label small,.festival-home .host-name>p,.festival-home .host-badge,.festival-home .host-layout>div>p:not(:first-child){color:#c5afd6}.festival-home .host .button{background:var(--red);color:#09080e}.festival-home .host-social a{border-color:#aa84c5}.festival-home .host-social a:hover{color:var(--violet);opacity:1}.festival-home .next{background:linear-gradient(#09080ee8,#190f23ed),url('magjam-yellow-purple-hounou.png') center 40%/cover}.festival-home .site-footer{background:#08060c}.festival-home .next>p:not(.eyebrow){color:#c9bed3}
.origin-note{width:100%;border-top:1px solid #3e304c;margin-top:40px;color:#c6b5d2}.origin-note summary{cursor:pointer;list-style:none;font-size:12px;display:flex;justify-content:space-between;padding:22px 0;letter-spacing:.08em}.origin-note summary::-webkit-details-marker{display:none}.origin-note summary:hover{color:#f5ff00}.origin-note summary:focus-visible{outline:2px solid #c49af5;outline-offset:5px}.origin-note[open] summary span{transform:rotate(45deg)}.origin-body{max-width:1000px;padding:25px 0}.origin-body .roots-letter{max-width:700px}.origin-body .roots-promise{border-left:2px solid #a278c5;padding-left:20px}.origin-body .roots-context{margin-top:40px}.origin-body .roots-cards p{color:#bcb1c8}.origin-body .roots-cards article{border-color:#4a345b}.origin-body .roots-cards a{color:#c5afd6}.origin-body h3,.origin-body h4{color:#eee8f5}.festival-home .site-footer{flex-wrap:wrap}.origin-note .roots-kicker{color:#c49af5}

/* Immersive opening: full-width desktop, uncropped portrait on phones. */
.festival-home .site-header{padding-top:12px;padding-bottom:12px}
.festival-home .festival-hero{max-width:none;width:100%}
.festival-home .hero-overline{display:none}
.festival-home .festival-art{overflow:hidden;background:#21102f}
.festival-home .festival-art picture{display:block}
.festival-home .festival-art img{display:block;width:100%;height:clamp(540px,calc(100svh - 65px),1200px);max-height:none;object-fit:cover;object-position:50% 20%}
.festival-home .festival-art:after{inset:94% 0 0}
.festival-home .hero-declaration{max-width:1400px;margin-inline:auto}
@media(max-width:650px){
  .festival-home .site-header{padding:10px 5%;gap:12px}
  .festival-home .festival-art img{height:auto;aspect-ratio:2/3;object-fit:contain;object-position:center}
  .festival-home .hero-declaration{padding-top:20px}
}
