@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&family=Noto+Serif+JP:wght@500;600;700&display=swap');
:root{--navy:#13243e;--blue:#2e5077;--cyan:#68c6df;--ink:#19304b;--paper:#f6f8fa;--line:#d8e2eb;--muted:#617286;color-scheme:light;font-family:'Noto Sans JP','Yu Gothic',sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #1cb3d3;outline-offset:6px}a:hover .arrow{transform:translate(4px,-4px)}.arrow{display:inline-block;transition:transform .2s}.wrap{width:min(1120px,calc(100% - 112px));margin:auto}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.24em}.serif{font-family:'Noto Serif JP','Yu Mincho',serif}.header{height:88px;display:flex;justify-content:space-between;align-items:center;padding:0 44px;gap:30px;position:relative;z-index:10}.header .logo{width:224px;height:auto}.nav{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:600;letter-spacing:.07em}.nav a{padding:10px 0}.nav .shop-link{padding:13px 21px;background:#fff;color:var(--blue);border-radius:2px;display:flex;align-items:center;gap:17px}.menu-button{display:none;background:none;color:inherit;border:1px solid currentColor;padding:8px 14px;font-size:12px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.section-head h2{font-size:48px;line-height:1;margin:0;letter-spacing:.04em;font-weight:800}.section-head .jp{font-size:13px;margin:12px 0 0;letter-spacing:.12em}.more{font-size:11px;letter-spacing:.12em;font-weight:600;display:flex;align-items:center;gap:22px;padding:12px 0;border-bottom:1px solid #a7bacb}.more .arrow{font-size:23px;line-height:1}.meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:11px;letter-spacing:.04em}.category{font-weight:700;color:#2e6686}.category:before{content:'';width:6px;height:6px;border-radius:50%;display:inline-block;background:#5aa6c0;margin-right:7px;vertical-align:1px}.category.event:before{background:#bc8caa}.category.news:before{background:#8c9fc2}.closed{font-size:10px;color:#536373;border:1px solid #ced8e1;padding:3px 6px;background:#fff}.news-card h3{font-size:15px;font-weight:600;line-height:1.9;margin:12px 0 0}.news-card .news-image{aspect-ratio:16/9;overflow:hidden;background:#dae3ed;margin-bottom:18px}.news-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.news-card:hover img{transform:scale(1.035)}.footer{color:#d2dce8;background:#14243c;padding:40px 0;font-size:11px}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:26px}.footer img{width:178px}.footer-links{display:flex;gap:26px;flex-wrap:wrap}.copyright{margin-top:30px;font-size:10px;letter-spacing:.08em;color:#9aacc2}.review-note{padding:15px 26px;background:#e5ebf2;color:#52647d;font-size:11px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.review-note a{border-bottom:1px solid}.link-button{font-size:12px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid #aebdcd;padding:17px 22px;letter-spacing:.04em}.link-button.dark{background:#2e5077;color:#fff;border-color:#2e5077}.link-button.light{color:#fff;border-color:#8195ae;background:#ffffff06}.link-button .arrow{font-size:17px}.sp-only{display:none}
/* 星空シネマ：既存のメインビジュアルを大きく使用 */
.cinema{background:#f7f9fb}.cinema .header{background:#182b47;color:#fff;border-bottom:1px solid #ffffff15}.cinema-hero{height:610px;background:#14213e;position:relative;overflow:hidden;color:#fff}.cinema-hero>.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute}.cinema-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#10203ba6 0%,#10203b3d 37%,#10203b00 62%),linear-gradient(0deg,#0d1d3cee,transparent 38%);pointer-events:none}.orbit{position:absolute;width:580px;height:580px;border:1px solid #c6defb35;border-radius:50%;z-index:1;top:35px;left:-170px}.orbit:before{content:'';position:absolute;inset:23px;border:1px solid #c6defb20;border-radius:50%}.orbit:after{content:'✦';color:#b9e5f8;font-size:22px;position:absolute;top:48px;right:92px}.hero-frame{position:absolute;inset:32px 32px 39px;border:1px solid #e5f4ff30;z-index:1;pointer-events:none}.hero-content{position:relative;z-index:2;padding-top:91px;margin-left:8.4%;width:54%}.hero-content .eyebrow{display:flex;align-items:center;gap:17px;color:#d4e9fa;font-size:10px}.hero-content .eyebrow:before{content:'';display:block;width:45px;height:1px;background:#b5d6ed}.hero-content h1{font-size:clamp(40px,4.5vw,68px);line-height:1.6;letter-spacing:.11em;font-weight:600;margin:25px 0 25px;text-shadow:0 2px 30px #10224788}.hero-content .intro{font-size:13px;line-height:2.1;letter-spacing:.12em;margin:0 0 28px;color:#e0eaf7}.hero-content .link-button{padding:14px 20px;font-size:11px;background:#fff;color:#21415c;border:0;gap:36px}.hero-credit{position:absolute;right:55px;bottom:104px;z-index:3;font-size:10px;letter-spacing:.18em;text-align:right}.hero-credit strong{display:block;font-size:18px;font-weight:500;letter-spacing:.13em;margin-top:7px}.scroll-mark{position:absolute;z-index:3;left:56px;bottom:109px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em;display:flex;align-items:center;gap:12px}.scroll-mark:after{content:'';height:39px;width:1px;background:#caddeb}.hero-news{position:absolute;z-index:3;bottom:0;left:0;right:0;display:grid;grid-template-columns:135px 1fr 46px;align-items:center;padding:20px 8.4%;border-top:1px solid #ffffff35;gap:22px;background:#10213b75;backdrop-filter:blur(8px)}.hero-news>.eyebrow{font-size:10px}.hero-news .headline{font-size:12px;display:flex;gap:20px;align-items:center;line-height:1.6}.hero-news .date{font-size:10px;color:#a6dce9;white-space:nowrap}.hero-news .arrow{font-size:23px;text-align:right}.cinema .news-section{padding:70px 0 72px;position:relative;overflow:hidden}.section-decoration{position:absolute;right:-28px;top:10px;color:#e9eef4;font-size:125px;font-weight:900;letter-spacing:-.03em;z-index:0;pointer-events:none;line-height:1}.news-section .wrap{position:relative;z-index:1}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:29px}.news-tabs{display:flex;gap:25px;align-items:center;margin-bottom:24px;font-size:11px;letter-spacing:.08em}.news-tabs button{background:none;border:0;padding:8px 2px;color:#688096;font-size:11px;border-bottom:2px solid transparent;cursor:pointer}.news-tabs button[aria-pressed=true]{color:#203f5d;border-color:#497896}.news-tabs .caption{margin-left:auto;font-size:10px;color:#8292a3}.talents-section{background:#eaf0f5;padding:71px 0 76px;position:relative}.talents-section:before{content:'';width:160px;height:160px;border:1px solid #b0c6db;border-radius:50%;position:absolute;right:95px;top:20px;opacity:.4}.talents-section .section-head{position:relative}.talent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.talent-card{position:relative;min-width:0;background:white}.talent-image{height:282px;overflow:hidden;position:relative;background:#58b1c4}.talent-image img{height:100%;width:100%;object-fit:cover;object-position:50% 48%;transition:transform .4s}.talent-card:hover img{transform:scale(1.04)}.talent-number{position:absolute;left:16px;top:16px;color:#fff;border:1px solid #ffffff88;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:10px}.talent-info{padding:23px 22px 26px;position:relative}.talent-info .en{font-size:10px;letter-spacing:.1em;color:#7d94a5}.talent-info h3{font-weight:600;font-size:24px;letter-spacing:.07em;margin:7px 0 10px}.talent-info .profile{font-size:11px;color:#546c82;line-height:1.9;min-height:42px;margin:0 0 21px}.talent-info .foot{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.13em;border-top:1px solid #dbe6ef;padding-top:15px}.talent-info .arrow{font-size:17px}.talent-card:nth-child(1){border-bottom:3px solid #5cc0d3}.talent-card:nth-child(2){border-bottom:3px solid #3d9aa7}.talent-card:nth-child(3){border-bottom:3px solid #cd686b}.about-section{padding:78px 0;background:#fff}.about-layout{display:grid;grid-template-columns:.75fr 1fr;gap:80px}.about-head h2{font-weight:600;font-size:34px;line-height:1.8;margin:20px 0;letter-spacing:.04em}.about-copy{padding-top:8px;font-size:13px;line-height:2.3;color:#5b7186}.about-copy p{margin:0 0 23px}.about-copy .more{width:max-content}.shop-section{padding:0 0 78px;background:#fff}.shop-banner{display:grid;grid-template-columns:1.1fr 1fr;background:#203b5b;color:#fff;position:relative;overflow:hidden}.shop-banner>img{width:100%;height:100%;object-fit:cover}.shop-copy{padding:40px;position:relative}.shop-copy h2{font-size:30px;line-height:1.5;margin:14px 0;letter-spacing:.04em}.shop-copy p{font-size:12px;line-height:2;color:#d1e0ec;margin:0 0 24px}.shop-copy .eyebrow{color:#9dc8e4;font-size:10px}.shop-copy .link-button{font-size:10px;padding:13px 18px}.audition-strip{border-top:1px solid #d4e0ec;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:27px;margin-top:35px}.audition-strip strong{font-size:20px;letter-spacing:.1em;margin-right:20px}.audition-strip .closed{background:none;font-size:11px;padding:4px 9px}.audition-strip p{font-size:11px;color:#6b7f92;letter-spacing:.04em}.audition-strip .more{min-width:150px}
/* タレントショーケース：現行の3名のヘッダー素材を画面全体へ */
.showcase{background:#f9fafc}.showcase .header{background:white;border-bottom:1px solid #e5ecf2}.showcase .header .logo{filter:brightness(0) saturate(100%) invert(25%) sepia(21%) saturate(1485%) hue-rotate(172deg) brightness(92%) contrast(87%)}.showcase .nav .shop-link{background:var(--blue);color:#fff}.showcase-hero{position:relative;background:#2e5077;height:610px;color:#fff;overflow:hidden}.showcase-panels{position:absolute;inset:0 0 96px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:#fff}.showcase-panel{position:relative;overflow:hidden}.showcase-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#122e50bd,transparent 40%)}.showcase-panel>img{width:100%;height:100%;object-fit:cover;object-position:50% 46%;transition:transform .5s}.showcase-panel:hover>img{transform:scale(1.04)}.panel-id{position:absolute;top:26px;left:26px;z-index:1;font-size:11px;letter-spacing:.15em;font-weight:600}.panel-id span{font-size:9px;display:block;margin-top:9px;letter-spacing:.08em;opacity:.8}.panel-label{position:absolute;bottom:42px;left:27px;z-index:1}.panel-label .en{font-size:10px;letter-spacing:.2em}.panel-label h2{font-size:27px;letter-spacing:.08em;margin:8px 0;font-weight:500}.panel-link{position:absolute;bottom:45px;right:25px;z-index:1;border:1px solid #ffffff7a;border-radius:50%;display:grid;place-items:center;width:36px;height:36px;font-size:18px}.showcase-tagline{position:absolute;bottom:0;inset-inline:0;height:96px;display:flex;align-items:center;justify-content:center;background:#2e5077;gap:28px}.showcase-tagline .serif{font-size:34px;letter-spacing:.14em;margin:0;font-weight:600}.showcase-tagline .spark{font-size:25px;color:#93d9e8}.showcase-tagline .eyebrow{font-size:9px;letter-spacing:.14em;margin-left:25px;color:#c5e2ef;max-width:100px;line-height:1.9}.showcase-ticker{display:flex;gap:27px;align-items:center;padding:23px 0;border-bottom:1px solid #dde6ef;font-size:11px}.showcase-ticker>.eyebrow{font-size:10px;color:#52738d;white-space:nowrap}.showcase-ticker .date{font-size:10px;color:#718aa0}.showcase-ticker .text{flex:1;line-height:1.7}.showcase-ticker .arrow{font-size:21px}.showcase .news-section{padding:66px 0 78px}.showcase .section-head h2{font-size:54px;font-weight:800;letter-spacing:.02em}.showcase .section-head .jp{color:#698297}.editorial-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:38px}.editorial-feature{border-right:1px solid #dbe5ee;padding-right:38px}.editorial-feature h3{font-size:21px;line-height:1.8;margin-top:17px}.editorial-list .news-card{display:grid;grid-template-columns:46% 1fr;gap:21px;padding:0 0 26px;margin-bottom:25px;border-bottom:1px solid #dbe5ee}.editorial-list .news-card:last-child{margin-bottom:0;padding-bottom:0;border:0}.editorial-list .news-image{margin:0;align-self:start}.editorial-list .news-card h3{font-size:13px;line-height:1.9;margin-top:9px}.editorial-list .meta{font-size:10px;gap:7px}.editorial-list .closed{font-size:9px}.showcase-about{background:#edf2f7;padding:65px 0;position:relative;overflow:hidden}.showcase-about:after{content:'✦';font-size:350px;line-height:1;position:absolute;right:-30px;top:-20px;color:#dfe8f1;transform:rotate(-15deg)}.showcase-about .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:70px}.showcase-about h2{font-size:32px;line-height:1.9;margin:16px 0 0;font-weight:600;letter-spacing:.08em}.showcase-about p{font-size:13px;line-height:2.2;color:#5a7188;margin:0 0 23px}.showcase-shop{padding:74px 0;background:#fff}.shop-pair{display:grid;grid-template-columns:1.2fr .85fr;gap:37px;align-items:center}.shop-pair img{width:100%;box-shadow:16px 16px 0 #edf2f7}.shop-pair h2{font-size:37px;margin:18px 0;line-height:1.35;letter-spacing:.04em}.shop-pair p{font-size:12px;line-height:2;color:#6e8396;margin:0 0 25px}.review-only{display:none}
@media(min-width:1500px){.cinema-hero{height:740px}.hero-content{padding-top:125px}.showcase-hero{height:740px}}
@media(max-width:1050px){.nav{gap:18px;font-size:10px}.header{padding:0 28px}.header .logo{width:195px}.wrap{width:calc(100% - 72px)}.hero-content{margin-left:8%;width:58%}.hero-content h1{font-size:51px}.showcase-tagline .eyebrow{display:none}.talent-info{padding:19px 17px}.talent-info h3{font-size:21px}.talent-image{height:245px}.shop-copy{padding:30px}.about-layout{gap:45px}.editorial-grid{gap:25px}.editorial-feature{padding-right:25px}.editorial-list .news-card{gap:15px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:72px;padding:0 20px}.header .logo{width:184px}.menu-button{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#18314f;color:white;padding:22px;flex-wrap:wrap;gap:18px;font-size:12px}.nav.open{display:flex}.nav a{padding:12px}.nav .shop-link{margin-left:auto}.cinema-hero{height:690px}.cinema-hero>.hero-photo{object-position:64% 0%;height:520px}.cinema-hero:after{background:linear-gradient(0deg,#10213b 2%,#10213bd9 30%,transparent 65%),linear-gradient(90deg,#14244380,transparent 70%)}.hero-frame{inset:20px 14px 92px}.orbit{width:360px;height:360px;left:-170px;top:250px}.hero-content{padding-top:270px;margin-left:9%;width:84%}.hero-content .eyebrow{font-size:8px;gap:10px}.hero-content .eyebrow:before{width:25px}.hero-content h1{font-size:34px;line-height:1.65;letter-spacing:.08em;margin:20px 0 15px}.hero-content .intro{font-size:10px;line-height:1.9;margin:0 0 20px}.hero-content .link-button{font-size:10px;padding:11px 16px;gap:28px}.hero-credit{top:25px;bottom:auto;right:46%;font-size:8px}.hero-credit strong{font-size:13px}.scroll-mark{display:none}.hero-news{padding:14px 20px;grid-template-columns:1fr 24px;gap:8px;background:#152b48}.hero-news>.eyebrow{font-size:8px;grid-column:1/-1}.hero-news .headline{font-size:10px;display:block;line-height:1.7}.hero-news .date{margin-right:10px;font-size:9px}.hero-news .arrow{font-size:18px}.cinema .news-section{padding:43px 0}.section-head{margin-bottom:23px;gap:16px}.section-head h2,.showcase .section-head h2{font-size:36px}.section-head .jp{font-size:11px;margin-top:9px}.more{font-size:9px;gap:13px}.more .arrow{font-size:19px}.section-decoration{font-size:85px}.news-grid{grid-template-columns:1fr;gap:25px}.news-grid .news-card{display:grid;grid-template-columns:42% 1fr;gap:15px;padding-bottom:21px;border-bottom:1px solid #dce6ed}.news-grid .news-image{margin:0}.news-card h3{font-size:12px;margin-top:8px;line-height:1.8}.meta{font-size:9px;gap:7px}.closed{font-size:8px}.news-tabs{gap:24px;margin-bottom:20px}.news-tabs .caption{display:none}.talents-section{padding:43px 0}.talent-grid{grid-template-columns:1fr;gap:22px}.talent-card{display:grid;grid-template-columns:44% 1fr}.talent-image{height:210px}.talent-image img{object-position:51% 48%}.talent-info{padding:20px 14px}.talent-info h3{font-size:19px;margin-bottom:8px}.talent-info .en{font-size:8px}.talent-info .profile{font-size:10px;margin-bottom:12px;min-height:40px}.talent-info .foot{font-size:8px}.talent-number{top:10px;left:10px;width:22px;height:22px;font-size:8px}.about-section{padding:45px 0}.about-layout{grid-template-columns:1fr;gap:10px}.about-head h2{font-size:28px;margin:14px 0}.about-copy{font-size:12px;line-height:2.1}.shop-section{padding-bottom:45px}.shop-banner{grid-template-columns:1fr}.shop-copy{padding:28px}.shop-copy h2{font-size:27px}.shop-copy p{font-size:11px}.audition-strip{gap:14px;flex-wrap:wrap;margin-top:28px;padding-top:22px}.audition-strip strong{font-size:18px;margin-right:15px}.audition-strip p{font-size:10px;line-height:1.9}.audition-strip .more{min-width:unset;margin-left:auto}.footer{padding:30px 0}.footer-row{display:block}.footer img{width:168px;margin-bottom:25px}.footer-links{gap:18px;font-size:10px}.copyright{font-size:8px;margin-top:25px}.review-note{font-size:10px;padding:17px 20px;line-height:1.8}.showcase-hero{height:560px}.showcase-panels{inset:0 0 115px;gap:2px}.showcase-panel>img{object-position:50% 50%}.panel-id{top:15px;left:10px;font-size:9px;letter-spacing:.02em}.panel-id span{display:none}.panel-label{bottom:25px;left:12px}.panel-label h2{font-size:19px;writing-mode:vertical-rl;letter-spacing:.16em;white-space:nowrap;margin:0}.panel-label .en{display:none}.panel-link{right:9px;bottom:19px;width:24px;height:24px;font-size:12px}.showcase-tagline{height:115px;gap:13px;padding:20px 12px}.showcase-tagline .serif{font-size:27px;letter-spacing:.06em;line-height:1.8;text-align:center}.showcase-tagline .spark{font-size:17px}.showcase-tagline .sp-only{display:block}.showcase-ticker{gap:12px;flex-wrap:wrap;padding:18px 0}.showcase-ticker .text{flex-basis:85%;font-size:10px}.showcase-ticker>.eyebrow{font-size:9px}.showcase-ticker .date{font-size:9px}.showcase .news-section{padding:43px 0}.editorial-grid{grid-template-columns:1fr;gap:28px}.editorial-feature{border-right:0;padding-right:0}.editorial-feature h3{font-size:18px;margin-top:13px}.editorial-list .news-card{padding-bottom:19px;margin-bottom:19px;grid-template-columns:42% 1fr}.editorial-list .meta{font-size:9px}.editorial-list .news-card h3{font-size:11px}.showcase-about{padding:43px 0}.showcase-about .wrap{grid-template-columns:1fr;gap:25px}.showcase-about h2{font-size:27px}.showcase-about p{font-size:12px}.showcase-shop{padding:45px 0}.shop-pair{grid-template-columns:1fr;gap:35px}.shop-pair img{box-shadow:9px 9px 0 #edf2f7}.shop-pair h2{font-size:30px;margin:12px 0}.shop-pair p{font-size:11px}.eyebrow{font-size:10px}}
/* Each banner has a different portrait position. Keep faces inside narrow cards. */
@media(max-width:760px){
 .cinema .talent-card{grid-template-columns:44% minmax(0,1fr)}
 .cinema .talent-card .talent-image img{object-position:var(--portrait-focus,50%) top}
 .cinema .talent-card[data-talent="issa"]{--portrait-focus:51%}
 .cinema .talent-card[data-talent="kishitaku"]{--portrait-focus:50%}
 .cinema .talent-card[data-talent="uruu"]{--portrait-focus:32%}
 .cinema .talent-info{min-width:0}
}
@media(max-width:360px){
 .cinema .talent-card{grid-template-columns:46% minmax(0,1fr)}
 .cinema .talent-image{height:195px}
 .cinema .talent-info{padding:18px 10px}
 .cinema .talent-info h3{font-size:17px;letter-spacing:.03em}
 .cinema .talent-info .en{font-size:7px}
 .cinema .talent-info .profile{font-size:9px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
[hidden]{display:none!important}
/* Horizontal entrances: observe in JS; no-JS pages remain fully readable. */
.cinema main{overflow-x:clip}
[data-scroll-reveal]{--reveal-distance:110px;--reveal-offset:var(--reveal-distance);--reveal-duration:900ms}
[data-scroll-reveal="left"]{--reveal-offset:calc(-1 * var(--reveal-distance))}
[data-scroll-reveal].reveal-pending{opacity:0;pointer-events:none}
[data-scroll-reveal].reveal-entering{animation:stellar-slide-in var(--reveal-duration) cubic-bezier(.2,.75,.2,1) var(--reveal-delay,0ms) both}
@keyframes stellar-slide-in{from{opacity:0;translate:var(--reveal-offset) 0}to{opacity:1;translate:0 0}}
[data-scroll-reveal]:focus-within{opacity:1;translate:none;animation:none;pointer-events:auto}
@media(max-width:760px){[data-scroll-reveal]{--reveal-distance:42px;--reveal-duration:760ms}}
@media(prefers-reduced-motion:reduce){[data-scroll-reveal].reveal-pending,[data-scroll-reveal].reveal-entering{opacity:1;translate:none;animation:none;pointer-events:auto}}
@media print{[data-scroll-reveal].reveal-pending,[data-scroll-reveal].reveal-entering{opacity:1;translate:none;animation:none;pointer-events:auto}}
/* Subtle light over the existing galaxy; text and links stay above it. */
.starfield{position:absolute;inset:0 0 70px;z-index:1;pointer-events:none;overflow:hidden;contain:layout paint}
.starlight{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);opacity:0;animation:stellar-twinkle var(--duration) ease-in-out var(--delay) infinite;pointer-events:none}
.starlight-dust{border-radius:50%;background:#e5f8ff;box-shadow:0 0 5px 1px #b2e7ff85;animation-name:stellar-drift}
.starlight-glint{filter:drop-shadow(0 0 5px #9edfffaa)}
.starlight-glint:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#fff,#bceaff 80%);clip-path:polygon(50% 0,60% 37%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}
.starlight-glint:after{content:'';position:absolute;inset:40%;border-radius:50%;background:#fff;box-shadow:0 0 8px 3px #c5ecff66}
.sparkle-toggle{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-left:16px;padding:8px 11px;background:#142b4970;border:1px solid #c7e4f64d;border-radius:2px;color:#d6eafb;font-size:10px;letter-spacing:.05em;line-height:1.4;cursor:pointer;transition:background .2s,border-color .2s}
.sparkle-toggle:hover{background:#25476cbd;border-color:#d4efff9e}
.sparkle-toggle[aria-pressed=false]{color:#b4c6d9;background:#10213b8c}
.starfield.is-paused .starlight,.starfield.is-away .starlight,.starfield.is-hidden-tab .starlight{animation-play-state:paused}
@keyframes stellar-twinkle{0%,100%{opacity:.08;transform:translate(0,0) scale(.55) rotate(0deg)}38%{opacity:.28}56%{opacity:.94;transform:translate(var(--drift-x),var(--drift-y)) scale(1.08) rotate(12deg)}78%{opacity:.2}}
@keyframes stellar-drift{0%,100%{opacity:.12;transform:translate(0,0) scale(.75)}50%{opacity:.77;transform:translate(var(--drift-x),var(--drift-y)) scale(1.12)}}
@media(max-width:760px){.starfield{bottom:96px}.starlight{left:var(--mobile-x);top:var(--mobile-y)}.starlight-glint{width:calc(var(--size)*.75);height:calc(var(--size)*.75)}.starlight-dust:nth-child(even),.starlight-glint:nth-child(n+9){display:none}.sparkle-toggle{margin-left:10px;font-size:9px;padding:7px 9px}}
@media(prefers-reduced-motion:reduce){.starfield:not(.motion-enabled) .starlight{animation:none;opacity:.25;transform:none}}
img{height:auto}
@media(max-width:760px){.showcase-hero{height:670px}.showcase-panels{grid-template-columns:1fr;grid-template-rows:repeat(3,1fr)}.showcase-panel>img{object-position:center}.panel-id{font-size:8px;top:12px;left:14px}.panel-label{bottom:13px;left:14px}.panel-label h2{writing-mode:horizontal-tb;font-size:19px;letter-spacing:.07em}.panel-link{bottom:14px;right:16px}.showcase-panel:after{background:linear-gradient(0deg,#112e5080,transparent 55%)}}
