@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--bg:#101123;--bg2:#17172e;--surface:#1c1d37;--surface-light:#262744;--line:rgba(238,228,255,.13);--text:#f8f2ff;--muted:#b4aec6;--pink:#f5a1d7;--lav:#c5b1ff;--mint:#b2e2d1;--gold:#f4db9a;--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 'DM Sans',sans-serif;overflow-x:hidden}body:has(dialog[open]){overflow:hidden}::selection{background:#aa7fe3;color:#151329}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}.section-wrap{position:relative;padding:112px 0}.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:absolute;left:12px;top:-70px;z-index:99;background:white;color:#111;padding:8px}.skip-link:focus{top:12px}.cosmic-glow{position:absolute;inset:0 0 auto;pointer-events:none;height:850px;background:radial-gradient(ellipse 39% 44% at 80% 34%,rgba(163,94,210,.18),transparent 75%),radial-gradient(ellipse 35% 35% at 23% 10%,rgba(119,104,220,.11),transparent 82%)}.noise{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.085;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}
.site-header{position:sticky;top:0;z-index:60;background:rgba(16,17,35,.83);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid rgba(255,255,255,.07)}.header-inner{height:85px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:13px;min-width:max-content}.brand-symbol{width:45px;height:45px;display:grid;place-items:center;border:1px solid rgba(237,209,255,.5);background:linear-gradient(155deg,rgba(252,180,212,.21),rgba(148,117,215,.14));border-radius:15px;color:var(--pink);font-size:30px;line-height:1}.brand strong,.brand small{display:block;letter-spacing:.24em;line-height:1.25}.brand strong{font-size:14px;font-weight:700}.brand small{font-size:9px;color:var(--muted);letter-spacing:.31em;margin-top:4px}.main-nav{display:flex;align-items:center;gap:30px}.main-nav a{color:#c8c1d7;font-size:12px;font-weight:700;white-space:nowrap;transition:color .2s}.main-nav a:hover{color:white}.main-nav .nav-contact{padding:11px 17px;border:1px solid rgba(213,178,247,.48);border-radius:30px;color:#fff}.nav-contact span{margin-left:8px;color:var(--pink)}.menu-toggle{display:none;background:none;border:0;width:42px;height:42px;padding:10px}.menu-toggle span{display:block;height:2px;width:23px;background:#fff;margin:5px 0}
.hero{min-height:710px;padding-top:116px;padding-bottom:45px}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:30px;min-height:505px;align-items:center}.hero-copy{z-index:2}.eyebrow,.kicker{color:var(--pink);font-size:11px;font-weight:700;letter-spacing:.21em}.eyebrow{display:flex;align-items:center;gap:11px;margin-bottom:26px}.eyebrow-star{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:rgba(248,160,216,.14);color:var(--pink);font-size:15px}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.04em;font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.1}h1{font-size:clamp(56px,5.3vw,84px);max-width:760px;margin:0 0 29px}h1 em,h2 i{font-weight:400;color:var(--pink)}.hero-intro{color:#c9c2d7;font-size:16px;line-height:1.9;max-width:510px;margin-bottom:32px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.button{min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:19px;padding:12px 21px;border-radius:50px;font-size:12px;font-weight:700;border:1px solid transparent;transition:transform .2s,background .2s,color .2s;white-space:nowrap}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--pink);color:#22152c}.button-primary:hover{background:#ffbde7}.button-ghost{color:var(--text);background:rgba(255,255,255,.025);border-color:rgba(238,221,255,.27)}.button-ghost:hover{background:rgba(255,255,255,.07)}.hero-note{margin-top:31px;font-size:11px;color:#9d97ae;letter-spacing:.06em}.tiny-star{color:var(--gold);font-size:20px;margin-right:6px}.hero-stage{position:relative;height:530px;min-width:0}.stage-orbit{position:absolute;border:1px solid rgba(203,171,255,.19);border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-21deg)}.orbit-one{width:500px;height:330px}.orbit-two{width:400px;height:495px;transform:translate(-50%,-50%) rotate(35deg)}.stage-spark{position:absolute;color:var(--gold)}.spark-one{left:2%;top:21%;font-size:32px}.spark-two{right:4%;top:11%;font-size:45px;color:var(--pink)}.spark-three{left:38%;bottom:9%;font-size:23px}.hero-card{position:absolute;width:250px;height:345px;border:1px solid rgba(255,255,255,.22);border-radius:132px 132px 25px 25px;box-shadow:0 28px 68px rgba(0,0,0,.35);overflow:hidden;transition:transform .35s}.hero-card:hover{transform:translateY(-10px) rotate(0deg)}.card-serena{left:9%;top:35px;transform:rotate(-9deg);background:radial-gradient(circle at 50% 35%,#ffe1f0 0,#d89ed9 39%,#805aab 96%)}.card-gladion{right:3%;top:112px;transform:rotate(9deg);background:radial-gradient(circle at 55% 37%,#8684cd,#41406e 55%,#1e2040)}.card-overline{position:absolute;top:18px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.2em;font-weight:700;color:#26203d;z-index:2}.card-gladion .card-overline{color:#ece8ff}.person-circle{position:absolute;left:50%;top:53px;width:122px;height:122px;display:grid;place-items:center;transform:translateX(-50%);border:1px solid rgba(255,255,255,.6);border-radius:50%;font:italic 75px/1 'DM Serif Display',serif;color:rgba(255,255,255,.6);background:rgba(255,255,255,.12)}.person-gladion{color:rgba(255,255,255,.37)}.pokemon-art{position:absolute;bottom:38px;left:50%;width:235px;height:200px;transform:translateX(-50%);display:grid;place-items:center;filter:drop-shadow(0 18px 13px rgba(20,10,45,.27))}.pokemon-art img{width:100%;height:100%;object-fit:contain}.card-identity{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:13px 17px;background:rgba(22,14,43,.73);color:#fff}.card-identity strong{font-family:'DM Serif Display',serif;font-size:20px;font-weight:400}.card-identity span{font-size:10px;color:#f7d7ee}.stage-stamp{position:absolute;z-index:4;bottom:28px;left:31%;width:102px;height:102px;border:1px solid rgba(250,229,180,.65);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#24213c;transform:rotate(-16deg);box-shadow:0 12px 45px rgba(0,0,0,.3)}.stage-stamp span,.stage-stamp small{font-size:8px;letter-spacing:.12em;color:var(--gold)}.stage-stamp strong{font:48px/.9 'DM Serif Display',serif;color:var(--gold)}.hero-bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:21px;display:flex;align-items:center;gap:20px;color:#aaa4bd;font-size:9px;font-weight:700;letter-spacing:.2em}.scroll-line{flex:1;height:1px;background:rgba(240,224,255,.14)}.marquee-strip{overflow:hidden;border-block:1px solid rgba(255,255,255,.085);background:#1a1932;white-space:nowrap}.marquee-inner{padding:15px 0;display:inline-block;min-width:200%;animation:marquee 43s linear infinite;font-size:12px;font-weight:700;letter-spacing:.25em;color:#c3b7d9}.marquee-inner span{color:var(--pink);margin:0 35px}@keyframes marquee{to{transform:translateX(-50%)}}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:65px;margin-bottom:39px}.section-heading>div{max-width:690px}.section-heading h2,h2{font-size:clamp(42px,4.6vw,68px)}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:295px;color:var(--muted);font-size:13px;line-height:1.95;margin-bottom:4px}.kicker{margin-bottom:16px}.chapter{background:radial-gradient(circle at 98% 90%,rgba(131,112,194,.09),transparent 45%)}.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.pillar{position:relative;min-height:305px;padding:27px 25px;display:flex;flex-direction:column;align-items:flex-start;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.12);transition:transform .3s,border-color .3s}.pillar:hover{transform:translateY(-7px);border-color:rgba(255,255,255,.35)}.pillar-one{background:linear-gradient(145deg,#423157,#231c37)}.pillar-two{background:linear-gradient(145deg,#4b324f,#2b1e37)}.pillar-three{background:linear-gradient(145deg,#2d4e56,#202c3d)}.pillar-four{background:linear-gradient(145deg,#554b32,#312738)}.pillar-icon{font-size:57px;color:rgba(255,229,245,.7);line-height:1}.pillar-number{position:absolute;right:23px;top:25px;font-size:10px;color:rgba(255,255,255,.48)}.pillar h3{font:28px/1.1 'DM Serif Display',serif;margin:30px 0 13px}.pillar p{font-size:12px;color:#d1c7d8;line-height:1.8}.pillar-link{font-size:11px;font-weight:700;margin-top:auto;color:#f8c7e8}
.archive{background:#17182d}.archive-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter{border:1px solid #45415c;background:transparent;color:#c3b9d3;border-radius:30px;padding:9px 14px;font-size:11px}.filter.active,.filter:hover{background:var(--pink);border-color:var(--pink);color:#22152c}.search-field{border:1px solid #48445e;border-radius:40px;display:flex;align-items:center;padding:0 14px;gap:8px;min-width:235px;color:var(--pink);font-size:22px}.search-field input{background:none;border:0;outline:none;color:#fff;min-width:0;width:100%;padding:8px 0;font-size:12px}.search-field input::placeholder{color:#8f8ba0}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.archive-card{min-height:340px;display:flex;flex-direction:column;text-align:left;padding:0;background:#22223c;color:#fff;border:1px solid var(--line);border-radius:21px;overflow:hidden;transition:transform .25s,border-color .25s}.archive-card:hover{transform:translateY(-5px);border-color:rgba(245,161,215,.6)}.archive-card-art{height:156px;padding:20px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.archive-card-art span{font:100px/.8 'DM Serif Display',serif;color:rgba(255,255,255,.18)}.archive-card-art::after{content:'✦';font-size:24px;position:absolute;top:15px;right:22px;color:rgba(255,255,255,.6)}.tone-rose{background:linear-gradient(145deg,#ad718d,#614771)}.tone-lavender{background:linear-gradient(145deg,#7866ad,#373659)}.tone-sea{background:linear-gradient(145deg,#497884,#30455c)}.tone-gold{background:linear-gradient(145deg,#a58b68,#5b526e)}.archive-card-content{padding:22px 23px 25px;display:flex;flex-direction:column;flex:1}.archive-topline{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--pink);font-weight:700;margin-bottom:12px}.archive-card h3{font:25px/1.2 'DM Serif Display',serif;margin:0 0 12px}.archive-card p{font-size:12px;line-height:1.8;color:#bdb7d0;margin-bottom:22px}.archive-read{font-size:10px;letter-spacing:.1em;font-weight:700;color:#e7d2f5;margin-top:auto}.archive-empty{grid-column:1/-1;padding:50px 20px;text-align:center;border:1px dashed #605778;border-radius:20px;color:#ccc4d8}.archive-after{display:flex;align-items:center;gap:17px;max-width:660px;margin-top:25px;color:#a9a2bc}.archive-after span{color:var(--pink);font-size:22px}.archive-after p{font-size:12px;margin:0}
.duo-section{background:radial-gradient(ellipse at 25% 20%,rgba(155,108,176,.12),transparent 55%),#101123}.duo-layout{display:grid;grid-template-columns:1fr .8fr .8fr;gap:20px;align-items:stretch}.duo-intro{padding:35px 32px 25px 0}.duo-intro h2{font-size:clamp(45px,4vw,61px)}.duo-intro>p:not(.kicker){color:#bbb3cd;font-size:13px;line-height:1.95;max-width:320px}.duo-decoration{font-size:36px;letter-spacing:.23em;color:rgba(246,176,219,.5);margin-top:28px}.duo-pair{position:relative;min-height:380px;border-radius:180px 180px 20px 20px;border:1px solid rgba(255,255,255,.21);overflow:hidden;display:flex;align-items:center;flex-direction:column;padding-top:26px}.duo-pink{background:radial-gradient(circle at 50% 46%,#f4b8dc 0%,#af75bd 55%,#573d74)}.duo-purple{background:radial-gradient(circle at 50% 46%,#7774b2 0%,#484673 58%,#222544)}.duo-person{font:28px 'DM Serif Display',serif;letter-spacing:.025em}.duo-person span{font-size:18px;color:#ffe7c0}.duo-pair img{width:95%;height:265px;object-fit:contain;filter:drop-shadow(0 15px 13px rgba(15,10,38,.3));margin-top:-7px}.duo-label{position:absolute;bottom:0;left:0;right:0;background:rgba(19,17,43,.62);padding:14px 20px;display:flex;align-items:center;justify-content:space-between}.duo-label strong{font:24px 'DM Serif Display',serif}.duo-label small{font-size:8px;letter-spacing:.13em;color:#ebdae9}
.lab{background:#19192f}.lab-panel{background:linear-gradient(135deg,#24243d,#1e1f37);border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:26px;box-shadow:0 25px 65px rgba(0,0,0,.14)}.lab-header{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:19px;margin-bottom:25px;font-size:10px;letter-spacing:.16em;font-weight:700;color:#c9bedc}.lab-live-dot{display:inline-block;width:8px;height:8px;background:var(--mint);border-radius:50%;margin-right:8px;box-shadow:0 0 18px var(--mint)}.team-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}.team-slot{border:1px dashed rgba(235,210,255,.28);background:rgba(11,12,32,.23);border-radius:15px;height:174px;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;overflow:hidden}.team-slot.occupied{border-style:solid;border-color:rgba(241,210,255,.4);background:radial-gradient(circle at 50% 35%,rgba(182,152,238,.18),rgba(10,11,35,.26))}.team-slot img{height:105px;width:100%;object-fit:contain;filter:drop-shadow(0 8px 10px #111)}.slot-index{position:absolute;top:9px;left:11px;color:#918ba8;font-size:9px;font-weight:700}.slot-empty{color:#a3a0b8;font-size:30px;font-weight:300}.team-slot strong{font-size:10px;letter-spacing:.02em;margin-top:3px}.remove-slot{position:absolute;top:7px;right:7px;background:#36314e;border:0;color:#f4def8;border-radius:50%;width:24px;height:24px;line-height:1;font-size:14px}.lab-controls{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:25px}.team-search-wrap{position:relative;flex:1;max-width:420px}.team-search-wrap label,.contact-card label{display:block;color:#c5bcd2;font-size:10px;font-weight:700;letter-spacing:.13em;margin-bottom:9px}.team-search-wrap input,.contact-card input,.contact-card select,.contact-card textarea{background:rgba(10,12,31,.35);border:1px solid rgba(245,225,255,.21);border-radius:10px;width:100%;color:#f8f2ff;padding:13px 14px;outline:none;transition:border .2s}.team-search-wrap input:focus,.contact-card input:focus,.contact-card select:focus,.contact-card textarea:focus{border-color:var(--pink)}.team-search-wrap input::placeholder,.contact-card input::placeholder,.contact-card textarea::placeholder{color:#89849e}.pokemon-results{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:#302c49;z-index:8;max-height:230px;overflow:auto;border-radius:11px;box-shadow:0 13px 35px #0c0b1b;display:none}.pokemon-results.open{display:block}.pokemon-suggestion{padding:9px 13px;background:none;border:0;color:#eee5f9;display:flex;align-items:center;gap:10px;width:100%;text-align:left;font-size:12px}.pokemon-suggestion:hover{background:#494161}.pokemon-suggestion img{width:39px;height:39px;object-fit:contain}.lab-actions{display:flex;gap:10px;flex-wrap:wrap}.lab-feedback{font-size:11px;color:#a9a2ba;margin:15px 0 0}
.gallery{background:#101123}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery-item{border:1px solid var(--line);background:#23233d;color:#fff;border-radius:19px;overflow:hidden;padding:0;text-align:left;transition:transform .25s}.gallery-item:hover{transform:translateY(-5px)}.gallery-art{height:235px;display:grid;place-items:center;position:relative}.gallery-art img{width:86%;height:88%;object-fit:contain;filter:drop-shadow(0 13px 12px rgba(30,10,40,.22));transition:transform .25s}.gallery-item:hover img{transform:scale(1.07)}.gallery-art:after{content:'↗';position:absolute;top:13px;right:17px;color:white}.gallery-info{padding:16px 19px;display:flex;align-items:center;justify-content:space-between;gap:12px}.gallery-info strong{font:22px 'DM Serif Display',serif}.gallery-info small{font-size:9px;letter-spacing:.1em;color:#c0b7ce}.gallery-caption{color:#9089a6;font-size:10px;margin:17px 0 0}.gallery-rose{background:linear-gradient(150deg,#cf91b8,#7a548e)}.gallery-indigo{background:linear-gradient(150deg,#656799,#353556)}.gallery-peach{background:linear-gradient(150deg,#caa37e,#947395)}.gallery-teal{background:linear-gradient(150deg,#82a5a7,#487584)}
.about{background:radial-gradient(circle at 18% 40%,rgba(151,116,206,.16),transparent 40%),#18182e}.about-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:100px;align-items:center}.about-visual{max-width:480px}.about-frame{height:535px;position:relative;border:1px solid rgba(246,194,230,.24);border-radius:260px 260px 24px 24px;background:linear-gradient(150deg,#514467,#302744 60%,#26243e);padding:22px;overflow:hidden}.portrait-placeholder{height:100%;border:1px solid rgba(255,255,255,.16);border-radius:250px 250px 12px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 51% 37%,rgba(241,187,215,.25),transparent 48%)}.portrait-placeholder span{font:italic 190px/1 'DM Serif Display',serif;color:rgba(253,215,240,.68)}.portrait-placeholder small{font-size:9px;color:#e5bcdc;letter-spacing:.22em;margin-top:20px}.portrait-star{position:absolute;color:var(--gold);z-index:2}.star-a{top:12%;left:15%;font-size:45px}.star-b{top:27%;right:11%;font-size:30px}.portrait-label{position:absolute;bottom:40px;left:0;right:0;text-align:center;color:#fae1f8;font:italic 18px 'DM Serif Display',serif}.portrait-label span{margin-left:10px;color:var(--gold)}.about-copy h2{margin-bottom:25px}.about-copy p:not(.kicker){color:#c3bbd0;line-height:2;font-size:14px}.about-signature{font:italic 28px 'DM Serif Display',serif;color:var(--pink);margin-top:30px}.about-signature span{margin-left:15px}
.contact{background:radial-gradient(ellipse at 0% 100%,rgba(155,89,175,.14),transparent 55%),#111222}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.contact-copy{padding-top:32px}.contact-copy h2{max-width:450px}.contact-copy>p:not(.kicker){max-width:420px;color:#bbb3c9;font-size:14px;line-height:1.95}.contact-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:27px}.contact-pills span{padding:8px 13px;border:1px solid #51435d;color:#e4c7dd;border-radius:30px;font-size:10px}.contact-card{border:1px solid rgba(255,255,255,.17);border-radius:23px;padding:29px;background:linear-gradient(135deg,#28233d,#201e35)}.contact-card-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:21px;color:var(--pink);font-size:10px;font-weight:700;letter-spacing:.16em}.contact-card-head span+span{color:#a29ab3}.contact-card label{margin:18px 0 8px}.contact-card input,.contact-card select,.contact-card textarea{font-size:12px;resize:vertical}.contact-card select option{background:#24213b;color:white}.contact-submit{width:100%;margin-top:20px}.contact-status{color:#aaa2be;font-size:10px;line-height:1.7;margin:12px 0 0}
.footer{border-top:1px solid var(--line);padding:35px 0 20px;background:#0c0d1b}.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:35px}.footer-grid>p{max-width:290px;font-size:11px;color:#a6a0b8;margin:0}.back-top{font-size:10px;letter-spacing:.15em;color:#f7c4dd;font-weight:700}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:40px;margin-top:34px;padding-top:22px;color:#89839d;font-size:9px;line-height:1.7}.footer-bottom span:last-child{max-width:500px;text-align:right}
dialog{border:1px solid #5d516d;border-radius:24px;background:#201e36;color:#fff;box-shadow:0 25px 90px #080716;max-height:min(85vh,900px);overflow:auto}dialog::backdrop{background:rgba(5,5,18,.81);backdrop-filter:blur(6px)}.article-dialog{width:min(700px,calc(100% - 30px));padding:0}.dialog-inner{position:relative;padding:48px}.dialog-inner h2{font-size:clamp(33px,4vw,55px);margin:10px 35px 13px 0}.dialog-close{position:absolute;top:16px;right:17px;border:1px solid #73637d;color:#f4eafa;background:#352c4a;border-radius:50%;width:34px;height:34px}.article-meta{font-size:11px;color:#ada3bd;padding-bottom:20px;border-bottom:1px solid var(--line)}.article-body{padding-top:12px;color:#d2cbdd;font-size:14px;line-height:2}.article-body p{margin:16px 0}.image-dialog{width:min(520px,calc(100% - 30px));padding:0}.image-dialog-inner{position:relative;text-align:center;padding:50px 30px 25px}.image-dialog-inner img{height:325px;object-fit:contain;margin:auto}.image-dialog-inner h2{font-size:35px;margin:15px 0 0}.image-dialog-inner p{font-size:12px;color:#bdb3cd}.reveal{animation:riseIn .75s both}@keyframes riseIn{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
@media(max-width:1090px){.main-nav{gap:18px}.main-nav a{font-size:11px}.hero-grid{grid-template-columns:1fr 1fr}.hero-stage{transform:scale(.84);transform-origin:center left}.pillars-grid{grid-template-columns:repeat(2,1fr)}.duo-layout{grid-template-columns:1fr 1fr}.duo-intro{grid-column:1/-1;padding:0 0 15px}.duo-intro h2{max-width:600px}.about-layout{gap:55px}.contact-layout{gap:45px}.team-slots{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.container{width:min(100% - 32px,570px)}.section-wrap{padding:77px 0}.header-inner{height:70px}.brand-symbol{height:40px;width:40px}.menu-toggle{display:block}.main-nav{position:absolute;top:70px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px 25px 24px;background:#151528;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.main-nav a{font-size:14px;padding:11px}.main-nav .nav-contact{margin-top:9px;text-align:center}.hero{padding-top:65px;padding-bottom:31px}.hero-grid{display:flex;flex-direction:column;gap:0}.hero-copy{width:100%}.hero h1{font-size:clamp(48px,12vw,68px)}.hero-intro{font-size:14px;line-height:1.85}.hero-stage{width:100%;height:420px;transform:none;margin-top:5px}.hero-card{width:205px;height:291px}.card-serena{left:3%;top:33px}.card-gladion{right:2%;top:81px}.pokemon-art{width:188px;height:178px;bottom:31px}.person-circle{width:100px;height:100px;top:48px;font-size:64px}.stage-stamp{width:79px;height:79px;bottom:21px}.stage-stamp strong{font-size:36px}.stage-stamp small,.stage-stamp span{font-size:6px}.orbit-one{width:350px;height:240px}.orbit-two{width:290px;height:355px}.hero-bottom{margin-top:0;font-size:8px}.hero-bottom span:last-child{display:none}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:clamp(39px,10vw,53px)}.section-heading>p{margin:18px 0 0;max-width:490px}.pillars-grid{grid-template-columns:1fr 1fr;gap:11px}.pillar{min-height:260px;padding:20px}.pillar h3{font-size:23px;margin-top:18px}.pillar p{font-size:11px}.pillar-icon{font-size:43px}.archive-controls{align-items:stretch;flex-direction:column}.search-field{width:100%}.archive-grid{grid-template-columns:1fr 1fr;gap:12px}.archive-card{min-height:318px}.archive-card-art{height:115px}.archive-card-content{padding:17px}.archive-card h3{font-size:23px}.archive-card p{font-size:11px}.duo-layout{grid-template-columns:1fr 1fr;gap:12px}.duo-pair{min-height:270px}.duo-person{font-size:22px}.duo-pair img{height:200px}.duo-label{padding:10px;display:block}.duo-label strong{font-size:22px}.duo-label small{display:block;margin-top:2px}.lab-panel{padding:18px}.team-slot{height:142px}.team-slot img{height:84px}.lab-controls{display:block}.team-search-wrap{max-width:none}.lab-actions{margin-top:15px}.lab-actions .button{flex:1}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-art{height:200px}.gallery-info{padding:12px}.gallery-info strong{font-size:20px}.about-layout{grid-template-columns:1fr;gap:46px}.about-visual{width:min(100%,400px);margin:auto}.about-frame{height:445px}.about-copy h2{font-size:52px}.contact-layout{grid-template-columns:1fr;gap:25px}.contact-copy{padding:0}.footer-grid{flex-wrap:wrap;gap:20px}.footer-grid>p{flex:1;min-width:160px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:10px}.footer-bottom span:last-child{text-align:left}.dialog-inner{padding:45px 23px 22px}}
@media(max-width:450px){.hero h1{font-size:49px}.hero-stage{height:375px}.hero-card{width:176px;height:263px}.card-serena{left:2%}.card-gladion{right:0;top:73px}.pokemon-art{width:165px;height:164px}.card-identity{padding:10px}.card-identity strong{font-size:18px}.card-identity span{font-size:9px}.pillars-grid{grid-template-columns:1fr}.pillar{min-height:225px}.archive-grid{grid-template-columns:1fr}.archive-card{min-height:0}.archive-card-art{height:150px}.duo-pair{min-height:230px}.duo-pair img{height:165px}.duo-person{font-size:18px}.team-slots{grid-template-columns:repeat(2,1fr)}.gallery-art{height:160px}.gallery-info small{font-size:8px}.footer-grid>p{min-width:100%}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.archive-card-art.has-cover{padding:0}.archive-card-art.has-cover img{width:100%;height:100%;object-fit:cover}.archive-card-art.has-cover::after{background:rgba(17,13,33,.55);border-radius:50%;width:30px;height:30px;display:grid;place-items:center}


/* Gallery correction: constrain artwork to a real image region, keep the
   caption in document flow, and prevent portrait photos covering headings. */
.gallery-item{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.gallery-item .gallery-art{
  flex:0 0 235px;
  height:235px;
  min-height:0;
  min-width:0;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gallery-item .gallery-art img{
  display:block;
  flex:none;
  width:auto;
  height:auto;
  max-width:calc(100% - 22px);
  max-height:calc(100% - 22px);
  object-fit:contain;
}
.gallery-item .gallery-info{
  position:relative;
  z-index:1;
  flex:1 0 auto;
  min-height:68px;
  background:#23233d;
}
.image-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 42px);overflow:auto}
.image-dialog .image-dialog-inner{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:49px 25px 24px;
}
.image-preview-stage{
  position:relative;
  display:flex;
  flex:none;
  align-items:center;
  justify-content:center;
  width:100%;
  height:min(56vh,430px);
  max-height:430px;
  min-height:120px;
  overflow:hidden;
  border-radius:15px;
  background:rgba(8,7,21,.35);
}
.image-dialog .image-preview-stage img{
  display:block;
  position:static;
  flex:none;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  margin:0 auto;
  object-fit:contain;
  transform:none;
}
.image-dialog .image-dialog-inner h2{
  position:relative;
  z-index:1;
  width:100%;
  max-width:100%;
  flex:none;
  font-size:clamp(23px,5vw,33px);
  line-height:1.2;
  margin:20px 0 6px;
  text-align:center;
  overflow-wrap:anywhere;
}
.image-dialog .image-dialog-inner p{
  position:relative;
  z-index:1;
  flex:none;
  max-width:100%;
  line-height:1.65;
  margin:0;
  text-align:center;
}
@media(max-width:760px){
  .gallery-item .gallery-art{flex-basis:200px;height:200px}
  .image-preview-stage{height:min(54vh,360px)}
}
@media(max-width:450px){
  .gallery-item .gallery-art{flex-basis:160px;height:160px}
  .image-dialog .image-dialog-inner{padding:48px 14px 22px}
  .image-preview-stage{height:min(48vh,310px)}
}

/* Featured fanfiction series */
.featured-episode{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch;position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 55%,rgba(243,158,211,.14),transparent 62%),linear-gradient(140deg,#36304f,#212038 64%);border:1px solid rgba(238,197,242,.33);border-radius:24px;min-height:310px;margin:0 0 34px;color:#f9f1ff;transition:transform .25s,border-color .25s}
.featured-episode:hover{transform:translateY(-4px);border-color:rgba(247,183,230,.73)}
.featured-episode-copy{padding:38px 14px 36px 41px;position:relative;z-index:2}
.featured-kicker{display:block;font-size:10px;letter-spacing:.17em;color:#f2b5d8;font-weight:700;margin-bottom:18px}
.featured-kicker span{color:#ab9dbd;margin-left:15px}
.featured-episode h3{font:normal clamp(37px,4vw,58px)/1.06 'DM Serif Display',Georgia,serif;letter-spacing:-.025em;margin:0 0 20px}
.featured-episode h3 em{color:#f2afda;font-weight:400}
.featured-episode-copy p{max-width:490px;font-size:13px;line-height:1.85;color:#d1c5df;margin:0 0 26px}
.featured-episode-action{display:inline-block;background:#f4b5dd;color:#211727;border-radius:30px;padding:12px 18px;font-size:11px;font-weight:700;letter-spacing:.06em}
.featured-episode-action span{margin-left:10px}
.featured-episode-art{position:relative;min-height:310px;overflow:hidden}
.featured-portrait{position:absolute;width:190px;height:255px;overflow:hidden;border:1px solid rgba(255,255,255,.25);border-radius:100px 100px 15px 15px;box-shadow:0 12px 28px rgba(0,0,0,.27)}
.featured-portrait img{width:100%;height:100%;object-fit:cover}
.featured-portrait:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(12,11,27,.8))}
.featured-portrait span{position:absolute;bottom:10px;left:14px;z-index:2;font:19px 'DM Serif Display',Georgia,serif;color:white}
.featured-serena{left:12%;top:24px;transform:rotate(-9deg)}
.featured-gladion{right:11%;top:53px;transform:rotate(8deg)}
.featured-star{position:absolute;z-index:4;color:#f5cf99;font-size:40px;bottom:17px;left:41%}
.archive-series-card{border-color:rgba(246,175,220,.4)}
.archive-series-card .archive-topline{color:#f2b5d8}
@media(max-width:800px){.featured-episode{grid-template-columns:1fr;gap:0}.featured-episode-copy{padding:32px 27px 8px}.featured-episode-art{height:232px;min-height:232px}.featured-portrait{width:160px;height:208px}.featured-serena{left:18%;top:2px}.featured-gladion{right:18%;top:17px}}
@media(max-width:480px){.featured-kicker span{display:block;margin:5px 0 0}.featured-episode h3{font-size:43px}.featured-episode-copy{padding:28px 21px 5px}.featured-serena{left:11%}.featured-gladion{right:10%}}


/* Refined design system: no artificial sparkle badges or patterned overlays. */
.noise,
.stage-spark,
.stage-orbit,
.stage-stamp,
.featured-star,
.portrait-star,
.orbit-mark,
.preview-star,
.duo-decoration,
.eyebrow-star,
.tiny-star,
.pillar-icon {display:none!important}
.archive-card-art::after,
.gallery-art::after {content:none!important;display:none!important}
body::before,body::after{pointer-events:none}
.brand-symbol{font-family:'DM Serif Display',Georgia,serif;font-size:25px;font-style:italic;letter-spacing:-.03em;font-weight:400}
.pillar h3{margin-top:66px}
.hero-stage .hero-card{box-shadow:0 22px 57px rgba(0,0,0,.32)}
.archive-card-art>.archive-type-illustration{
  font-family:'DM Sans',sans-serif;
  font-size:12px!important;
  font-weight:700;
  font-style:normal;
  line-height:1.5;
  letter-spacing:.24em;
  color:rgba(255,250,255,.85);
  text-transform:uppercase;
  border-top:1px solid rgba(255,255,255,.44);
  border-bottom:1px solid rgba(255,255,255,.44);
  padding:10px 12px;
  text-align:center;
  max-width:85%;
}
.archive-card-art.has-cover{background:linear-gradient(145deg,#ae81ad,#4f3e76)}
.archive-series-card .archive-card-art.has-cover img{width:auto;height:100%;max-width:100%;object-fit:contain;object-position:center}
.archive-after{gap:0}
.gallery-art img{object-fit:contain}
.featured-episode-art .featured-portrait img{object-fit:contain;object-position:center;background:rgba(37,30,58,.28)}
.featured-episode-art .featured-serena{background:#995d86}
.featured-episode-art .featured-gladion{background:#52537d}
.hero-note{letter-spacing:.04em}
.eyebrow{gap:0}
