*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0D0A14;--surface:#1A1525;--pink:#E8628A;--amber:#FFBE4A;--text:#E8E0EC;--text-dim:#9A8EA8;--pink-glow:rgba(232, 98, 138, 0.15);--amber-glow:rgba(255, 190, 74, 0.1);--font-heading:'Press Start 2P', monospace;--font-body:'Silkscreen', monospace;--font-ui:'Inter', system-ui, sans-serif}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--bg);color:var(--text);font-size:.85rem;line-height:1.7;min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--text)}a{color:var(--pink);text-decoration:none;transition:color .2s ease}a:hover{color:var(--amber)}img{max-width:100%;height:auto;display:block}.age-gate-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg);z-index:10000;display:flex;align-items:center;justify-content:center;padding:2rem}.age-gate-inner{max-width:520px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.age-gate-title{font-family:var(--font-heading);font-size:1.5rem;color:var(--pink);text-shadow:0 0 20px rgba(232,98,138,.5),0 0 60px rgba(232,98,138,.25),0 0 100px rgba(232,98,138,.1);letter-spacing:.05em}.age-gate-desc{color:var(--text-dim);font-family:var(--font-body);font-size:.8rem;line-height:1.7;max-width:380px}.age-gate-inner .btn-enter{display:inline-block;background:0 0;color:var(--pink);font-family:var(--font-body);font-weight:400;font-size:.8rem;padding:.85rem 2.5rem;border-radius:8px;border:2px solid var(--pink);cursor:pointer;transition:background .2s ease,color .2s ease,transform .15s ease,box-shadow .2s ease;letter-spacing:.02em}.age-gate-inner .btn-enter:hover{background:var(--pink);color:var(--bg);transform:translateY(-1px);box-shadow:0 0 20px rgba(232,98,138,.3)}.age-gate-back{color:var(--text-dim);font-size:.75rem;font-family:var(--font-body);transition:color .2s ease}.age-gate-back:hover{color:var(--text)}.site-header{position:relative;padding:1.25rem 2rem;display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto}.site-header-left{display:flex;align-items:center;gap:1.5rem}.site-title{font-family:var(--font-heading);font-size:.65rem;font-weight:400;text-decoration:none;letter-spacing:.02em}.title-52{color:var(--amber)}.title-ah{color:var(--pink)}.site-title:hover .title-52{color:var(--amber-bright,#ffd080)}.site-title:hover .title-ah{color:var(--pink-bright,#ff8aaa)}.site-nav{margin-left:auto}.site-nav{display:flex;gap:1.5rem}.site-nav a{font-family:var(--font-body);color:var(--text-dim);font-size:.75rem;font-weight:400;text-decoration:none;transition:color .2s ease;letter-spacing:.02em}.site-nav a:hover{color:var(--pink)}.hero{position:relative;width:100%}.hero-img-wrap{max-height:60vh;overflow:hidden}.hero-img-wrap{position:relative;width:100%;max-height:70vh;overflow:hidden}.hero-img-wrap img{width:100%;height:70vh;object-fit:cover;object-position:center 20%;display:block}.hero-img-wrap::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,var(--bg) 0%,transparent 100%);pointer-events:none}.hero-content{position:relative;max-width:800px;margin:-6rem auto 0;padding:0 2rem 3rem;text-align:center;z-index:2}.hero-content h1{font-size:1.5rem;margin-bottom:.5rem;letter-spacing:.02em}.hero-content h1 span{color:var(--pink);font-family:var(--font-heading);font-size:1.5rem;letter-spacing:.02em}.hero-content .subtitle{font-family:var(--font-body);font-style:normal;color:var(--text-dim);font-size:.85rem;margin-bottom:1.5rem}.hero-content .pitch{color:var(--text-dim);font-size:.85rem;line-height:1.8;max-width:600px;margin:0 auto 2rem}.btn-cta{display:inline-block;background:0 0;color:var(--pink);font-family:var(--font-body);font-weight:400;font-size:.8rem;padding:.8rem 2rem;border-radius:8px;border:2px solid var(--pink);transition:background .2s ease,color .2s ease,transform .15s ease,box-shadow .2s ease;letter-spacing:.02em}.btn-cta:hover{background:var(--pink);color:var(--bg);transform:translateY(-1px);box-shadow:0 0 20px rgba(232,98,138,.3)}.section-what{max-width:700px;margin:0 auto;padding:2rem 2rem 3rem;text-align:center}.section-what h2{font-size:1.1rem;margin-bottom:1rem;color:var(--pink)}.section-what p{color:var(--text-dim);font-size:.85rem;line-height:1.8}.section-pillars{max-width:1e3px;margin:0 auto;padding:1rem 2rem 3rem}.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.pillar-card{background:var(--surface);border:1px solid rgba(232,98,138,8%);border-radius:10px;padding:2rem 1.75rem;text-align:center}.pillar-card h3{font-size:.9rem;margin-bottom:.75rem;color:var(--text)}.pillar-card p{color:var(--text-dim);font-size:.8rem;line-height:1.7}.about-link{color:var(--text-dim);font-family:var(--font-body);font-size:.75rem;text-decoration:none;transition:color .2s}.about-link:hover{color:var(--pink)}.section-characters{max-width:1e3px;margin:0 auto;padding:1rem 2rem;text-align:center}.section-characters h2{font-size:1.1rem;margin-bottom:1.5rem;color:var(--pink)}.char-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.char-preview-card{text-decoration:none;color:inherit;display:block;padding:.5rem;transition:transform .25s ease}.char-preview-card:hover{transform:translateY(-3px);color:inherit}.char-preview-card img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;border:1px solid rgba(232,98,138,8%);transition:border-color .25s ease}.char-preview-card:hover img{border-color:rgba(232,98,138,.25)}.char-preview-card .char-name{font-family:var(--font-body);font-size:.8rem;font-weight:700;margin-top:.5rem}.char-preview-card .char-role{font-family:var(--font-body);font-size:.7rem;color:var(--text-dim);margin-top:.2rem;letter-spacing:.02em;line-height:1.4}.section-bottom-cta{max-width:700px;margin:0 auto;padding:.5rem 2rem 4rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.status-badge{display:inline-block;font-family:var(--font-body);font-size:.7rem;color:var(--amber);border:1px solid rgba(255,190,74,.3);border-radius:4px;padding:.3rem .75rem;letter-spacing:.05em}.back-link{font-size:.85rem;color:var(--text-dim)}.back-link:hover{color:var(--pink)}.characters-page{max-width:1100px;margin:0 auto;padding:2rem 2rem 4rem}.characters-page h1{text-align:center;font-size:1.5rem;margin-bottom:.5rem}.characters-page .page-intro{text-align:center;color:var(--text-dim);font-size:.85rem;max-width:600px;margin:0 auto 2.5rem}.character-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.character-card{background:var(--surface);border-radius:10px;overflow:hidden;border:1px solid rgba(232,98,138,6%);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;text-decoration:none;color:inherit;display:block}.character-card:hover{transform:translateY(-3px);border-color:rgba(232,98,138,.2);box-shadow:0 8px 32px rgba(232,98,138,8%);color:inherit}.character-card-img{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden}.character-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.character-card:hover .character-card-img img{transform:scale(1.03)}.character-card-img::after{content:'';position:absolute;inset:0;border-radius:0;opacity:0;box-shadow:inset 0 0 30px rgba(232,98,138,.15);transition:opacity .3s ease;pointer-events:none}.character-card:hover .character-card-img::after{opacity:1}.character-card-info{padding:1rem 1.25rem 1.25rem}.character-card-info h3{font-size:.8rem;margin-bottom:.25rem;font-family:var(--font-body)}.character-card-info .role{font-family:var(--font-body);color:var(--text-dim);font-size:.7rem;font-style:normal;letter-spacing:.02em}.sam-cycle{position:relative;overflow:hidden;width:100%;height:100%}.sam-cycle .sam-portrait{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease-in-out}.sam-cycle .sam-portrait.active{position:relative;opacity:1}.character-page{max-width:900px;margin:0 auto;padding:2rem 2rem 4rem}.character-header{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;margin-bottom:3rem}.character-portrait{border-radius:10px;overflow:hidden;border:1px solid rgba(232,98,138,8%)}.character-portrait img{width:100%;display:block}.character-details h1{font-size:1.4rem;margin-bottom:.35rem}.character-details .role{font-family:var(--font-body);font-style:normal;color:var(--pink);font-size:.8rem;margin-bottom:1.5rem;letter-spacing:.02em}.character-bio{color:var(--text-dim);line-height:1.8}.character-bio p{margin-bottom:1rem}.character-bio p:last-child{margin-bottom:0}.character-nav{margin-top:3rem;text-align:center}.character-nav a{font-size:.9rem;color:var(--text-dim)}.character-nav a:hover{color:var(--pink)}.page-content{max-width:740px;margin:0 auto;padding:2rem 2rem 4rem}.page-content h1{font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.page-content h2{font-size:1.1rem;margin-top:2.5rem;margin-bottom:.75rem;color:var(--pink)}.page-content h3{font-size:.9rem;margin-top:2rem;margin-bottom:.5rem}.page-content p{color:var(--text-dim);margin-bottom:1rem;font-size:.85rem;line-height:1.8}.page-content img{border-radius:8px;margin:1.5rem auto;border:1px solid rgba(232,98,138,8%);display:block}.page-content ul,.page-content ol{color:var(--text-dim);margin-bottom:1rem;padding-left:1.5rem}.page-content li{margin-bottom:.35rem}.page-content blockquote{border-left:3px solid var(--pink);padding-left:1.25rem;margin:1.5rem 0;color:var(--text-dim);font-style:italic}.studio-footer-logo img{width:32px;height:32px}.studio-footer-logo span{font-size:1.1rem}@media(max-width:900px){.character-grid{grid-template-columns:repeat(2,1fr)}.character-header{grid-template-columns:1fr}.character-portrait{max-width:400px}.hero-content h1{font-size:1.2rem}.hero-content h1 span{font-size:1.2rem}.pillar-grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}.char-preview-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.char-preview-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.character-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}.site-header{flex-wrap:wrap;gap:.75rem;padding:1rem 1.5rem}.site-header-left{width:100%;justify-content:space-between}.hero-content h1{font-size:1rem}.hero-content h1 span{font-size:1rem}.hero-content .pitch{font-size:.9rem}.hero-img-wrap img{height:50vh}.hero-content{margin-top:-4rem}.page-content,.characters-page,.character-page{padding-left:1.25rem;padding-right:1.25rem}.age-gate-title{font-size:1.2rem}}