:root{color-scheme:dark;--bg:#101c2a;--paper:#e5e3d9;--muted:#a3b0bd;--gold:#cabd98;--line:rgba(197,206,217,.19);--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;--roman:Baskerville,"Palatino Linotype","Book Antiqua",Georgia,serif;--sans:"Helvetica Neue","Hiragino Kaku Gothic ProN",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--serif);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:1px solid var(--gold);outline-offset:7px}::selection{background:#637488;color:white}img{display:block;width:100%;height:auto}h1,h2,p,figure{margin:0}h2{font-size:36px;font-weight:400;line-height:1.9;letter-spacing:.13em}.eyebrow,.section-marker,.hero-bottom,.hero-side,.fragment-category,.fragments-note,.interlude>span,.site-footer,.dialog-navigation{font-family:var(--sans);font-weight:400}.eyebrow{font-size:10px;letter-spacing:.22em;color:var(--gold)}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--bg);padding:16px}.skip-link:focus{top:12px}.site-header{position:absolute;z-index:5;top:0;left:0;width:100%;height:108px;padding:0 4.6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(216,224,235,.1)}.brand{display:flex;align-items:center;gap:14px}.brand img{width:51px}.brand>span{font-family:var(--roman);font-size:24px;letter-spacing:.08em}.site-header nav{display:flex;gap:42px;position:absolute;left:50%;transform:translateX(-50%)}.site-header nav a{font-family:var(--roman);font-size:14px;letter-spacing:.06em;padding:14px 0;position:relative}.site-header nav a:after{content:"";position:absolute;bottom:7px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}.site-header nav a:hover:after{width:100%}
.hero{height:max(780px,100svh);max-height:1100px;min-height:740px;position:relative;overflow:hidden;background:#111f31}.hero-art{position:absolute;right:0;top:0;width:83%;height:100%;object-fit:cover;object-position:56% 56%;animation:drift 16s ease-in-out infinite alternate;animation-play-state:running}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#101c2af5 0%,#101c2ac9 25%,#101c2a5c 52%,#101c2a0a 78%),linear-gradient(0deg,#101c2a 0%,#101c2a00 25%,#101c2a25 75%,#101c2a88 100%)}.hero-content{position:absolute;left:10.1%;top:25%;z-index:1}.hero-content>.eyebrow{display:flex;align-items:center;gap:13px;font-size:9px;letter-spacing:.22em}.tiny-star{font-family:var(--roman);font-size:23px}.hero h1{font-family:var(--roman);font-size:clamp(84px,8.8vw,138px);font-weight:400;letter-spacing:.025em;font-kerning:normal;text-rendering:optimizeLegibility;white-space:nowrap;line-height:1.25;margin:11px 0 22px;position:relative;width:fit-content}.title-star{position:absolute;right:-25px;top:24px;font-size:22px;color:var(--gold)}.hero-japanese{font-size:clamp(29px,2.6vw,42px);line-height:1.8;letter-spacing:.16em}.hero-description{margin-top:23px;font-size:12px;line-height:2.35;letter-spacing:.11em;color:#c0cbd6}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;font-size:11px;letter-spacing:.12em;padding:0 0 14px;border-bottom:1px solid #b6bea276;transition:color .3s,gap .3s}.text-link:hover{color:var(--gold);gap:52px}.text-link>span{font-family:var(--sans);font-size:20px}.hero-link{margin-top:38px}.hero-bottom{position:absolute;bottom:36px;left:4.6%;right:4.6%;display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#a8b6c5;letter-spacing:.2em}.hero-bottom a{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:18px}.hero-bottom a span{font-size:18px}.hero-bottom>span:last-child{font-family:var(--serif);letter-spacing:.16em;font-size:10px}.hero-side{position:absolute;right:35px;top:45%;writing-mode:vertical-rl;color:#d1d9df9c;letter-spacing:.28em;font-size:8px}.dust{position:absolute;inset:0;pointer-events:none}.dust i{position:absolute;left:47%;top:26%;width:3px;height:3px;background:#e7dbb5;box-shadow:0 0 8px #f1dfb7;border-radius:50%;opacity:.5;animation:float 6s ease-in-out infinite alternate;animation-play-state:running}.dust i:nth-child(2){left:68%;top:43%;animation-delay:-3s}.dust i:nth-child(3){left:82%;top:25%;width:2px;height:2px;animation-delay:-6s}.dust i:nth-child(4){left:53%;top:68%;animation-delay:-4s}.dust i:nth-child(5){left:91%;top:76%;animation-delay:-7s}.dust i:nth-child(6){left:37%;top:83%;width:2px;height:2px;animation-delay:-1s}.dust i:nth-child(7){left:15%;top:23%;width:2px;height:2px;animation-delay:-5s}.dust i:nth-child(8){left:73%;top:87%;animation-delay:-2s}
.section-shell{max-width:1440px;margin:0 auto;padding-left:8%;padding-right:8%}.section-marker{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding-top:20px;font-size:9px;letter-spacing:.16em;color:var(--muted)}.section-marker>span:last-child{font-family:var(--serif);letter-spacing:.15em;font-size:10px}.concept{padding-top:86px;padding-bottom:126px;position:relative;overflow:hidden}.concept-body{text-align:center;padding-top:76px;position:relative;z-index:1}.orbit{height:92px;width:92px;position:relative;margin:0 auto 38px;border:1px solid #cabc944a;border-radius:50%;transform:rotate(-30deg)}.orbit:before{content:"";position:absolute;inset:17px -14px;border:1px solid #cabc9445;border-radius:50%}.orbit>span{display:block;line-height:88px;font-family:var(--roman);font-size:35px;color:var(--gold)}.orbit i{position:absolute;width:6px;height:6px;background:var(--gold);border-radius:50%;top:15px;left:5px}.orbit b{position:absolute;inset:6px;border:1px solid #cabc941a;border-radius:50%}.concept h2{margin-top:26px;margin-bottom:33px}.concept-prose{font-size:13px;line-height:2.6;letter-spacing:.08em;color:#bac4ce}.concept-prose p+p{margin-top:20px}.concept-signature{display:block;font-family:var(--roman);font-size:18px;font-style:italic;color:var(--gold);margin-top:41px;letter-spacing:.02em}.concept-decoration{position:absolute;left:-31px;top:43%;font-family:var(--roman);font-size:150px;line-height:.92;letter-spacing:-.06em;color:#b2bfcb04;transform:rotate(-90deg);pointer-events:none}.fragments{padding-bottom:75px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:54px 0 43px}.section-heading h2{font-size:30px;margin-top:13px}.section-heading>p{font-size:11px;line-height:2.1;color:var(--muted);letter-spacing:.1em;margin-bottom:9px}.fragment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.fragment{padding:0;border:0;background:transparent;text-align:left;min-width:0}.fragment:nth-child(2){margin-top:66px}.fragment:nth-child(3){margin-top:132px}.fragment-image{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;background:#253448}.fragment-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#101c2a4a,transparent 40%);box-shadow:inset 0 0 0 1px #e4e5e018;pointer-events:none}.fragment-image img{height:100%;object-fit:cover;filter:saturate(.72) brightness(.85);transition:transform 1.1s,filter .7s}.fragment:hover img,.fragment:focus-visible img{transform:scale(1.045);filter:saturate(.9) brightness(1)}.fragment-number{position:absolute;top:17px;left:19px;color:#fff6e7;font-family:var(--roman);font-size:17px;text-shadow:0 1px 12px #172032}.fragment-open{position:absolute;bottom:17px;right:18px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #eee8d75e;border-radius:50%;font-family:var(--sans);background:#101c2a29}.fragment-category{display:block;font-size:8px;letter-spacing:.17em;color:var(--gold);margin-top:24px}.fragment-title{display:block;font-size:23px;letter-spacing:.11em;margin-top:13px}.fragment-description{display:block;font-size:11px;letter-spacing:.06em;color:var(--muted);margin-top:12px}.fragments-note{margin-top:49px;text-align:right;font-size:9px;letter-spacing:.09em;color:var(--muted)}.fragments-note>span{margin-right:8px;color:var(--gold);font-size:16px}.interlude{padding:78px 20px 124px;text-align:center}.interlude-line{height:56px;width:1px;background:linear-gradient(var(--line),#ffffff02);margin:0 auto 30px}.interlude-line:last-child{margin:30px auto 0;transform:rotate(180deg)}.interlude p{font-size:24px;letter-spacing:.2em;line-height:1.9}.interlude>span{display:block;font-size:8px;letter-spacing:.25em;color:var(--gold);margin-top:19px}.mobile-break{display:none}.about-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:12%;padding-top:66px;align-items:center}.about-image img{aspect-ratio:1/1.12;height:auto;object-fit:cover;filter:saturate(.7)}.about-image figcaption{font-size:9px;letter-spacing:.12em;color:var(--muted);margin-top:15px}.about-content h2{font-size:30px;margin:22px 0 27px}.about-content>p:not(.eyebrow){font-size:12px;line-height:2.5;letter-spacing:.06em;color:#bac4ce}.about-content>p+p{margin-top:20px}.about-signature{display:flex;align-items:center;gap:19px;margin-top:29px}.about-signature img{width:66px}.about-signature>span{font-family:var(--roman);font-size:30px;letter-spacing:.03em}.closing{text-align:center;padding:140px 20px 105px}.closing>.tiny-star{display:block;color:var(--gold);margin-bottom:25px}.closing p{font-size:19px;letter-spacing:.17em}.closing .text-link{margin-top:35px;font-size:10px}.site-footer{margin:0 4.6%;padding:28px 0 34px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:8px;letter-spacing:.14em}.footer-wordmark{font-family:var(--roman);font-size:25px;letter-spacing:.04em;color:var(--paper)}.site-footer small{font-size:9px;letter-spacing:.04em}
.story-dialog{padding:0;border:1px solid #8e9aa052;background:#152331;color:var(--paper);width:min(1000px,90vw);max-height:90svh;overflow:auto}.story-dialog::backdrop{background:#050d18de;backdrop-filter:blur(10px)}.dialog-layout{display:grid;grid-template-columns:1fr 1fr;min-height:530px}.dialog-image{height:100%;min-height:530px;object-fit:cover;max-height:700px}.dialog-copy{padding:84px 12% 35px;display:flex;flex-direction:column;justify-content:center}.dialog-copy h2{font-size:26px;margin:20px 0 24px;letter-spacing:.08em}.dialog-copy #dialog-scenario{font-size:12px;line-height:2.6;letter-spacing:.06em;color:#c1cbd3;white-space:pre-line}.dialog-signature{font-family:var(--roman);font-style:italic;color:var(--gold);font-size:15px;margin-top:30px}.dialog-close{position:absolute;right:17px;top:15px;display:flex;align-items:center;gap:15px;padding:7px 10px;border:0;background:#152331de;font-family:var(--sans);font-size:10px;z-index:2}.dialog-close span{font-size:25px}.dialog-navigation{margin-top:30px;display:flex;align-items:center;gap:20px;font-size:10px;color:var(--muted)}.dialog-navigation button{width:40px;height:40px;border:1px solid var(--line);background:transparent}.dialog-navigation button:hover{color:var(--paper);border-color:var(--gold)}
@keyframes drift{from{transform:scale(1)}to{transform:scale(1.05)}}@keyframes float{from{transform:translateY(0);opacity:.15}to{transform:translateY(-22px);opacity:.65}}
@media(min-width:1600px){.hero-content{left:calc((100% - 1280px)/2)}.section-shell{padding-left:100px;padding-right:100px}}
@media(max-width:1000px){.hero-content{left:8%;top:25%}.hero h1{font-size:105px}.hero-art{width:100%;object-position:62% 50%}.hero-shade{background:linear-gradient(90deg,#101c2aed,#101c2a84 48%,#101c2a16),linear-gradient(0deg,#101c2a,transparent 30%)}.section-shell{padding-left:7%;padding-right:7%}.fragment-grid{gap:22px}.fragment-title{font-size:20px}.about-grid{gap:7%}.about-content h2{font-size:25px}.about-content>.eyebrow{font-size:8px}.hero-side{right:22px}}
@media(max-width:650px){html{scroll-padding-top:25px}.site-header{height:88px;padding:0 6%}.brand{gap:9px}.brand img{width:39px}.brand>span{font-size:21px}.site-header nav{position:static;transform:none;gap:19px}.site-header nav a{font-size:12px}.hero{height:850px;height:100svh;min-height:730px;max-height:980px}.hero-art{width:100%;object-position:61% 50%;opacity:.85}.hero-shade{background:linear-gradient(90deg,#101c2abb,#101c2a51 70%),linear-gradient(0deg,#101c2a 0%,#101c2a52 31%,#101c2a00 65%,#101c2a9c)}.hero-content{left:8%;top:24%}.hero-content>.eyebrow{font-size:7px;letter-spacing:.13em;gap:8px}.hero h1{font-size:clamp(64px,21vw,89px);margin:10px 0 27px}.title-star{font-size:17px;right:-20px;top:22px}.hero-japanese{font-size:30px;line-height:1.85}.hero-description{font-size:11px;margin-top:24px;line-height:2.4}.hero-link{margin-top:31px;font-size:10px}.hero-bottom{bottom:25px;left:8%;right:8%;font-size:7px;letter-spacing:.13em}.hero-bottom>a{position:static;transform:none;font-size:7px;gap:10px}.hero-bottom>span:last-child,.hero-side{display:none}.concept{padding-top:50px;padding-bottom:82px}.section-shell{padding-left:7%;padding-right:7%}.section-marker{font-size:8px;letter-spacing:.08em;padding-top:17px}.section-marker>span:last-child{font-size:8px;letter-spacing:.04em}.concept-body{padding-top:58px}.orbit{width:72px;height:72px;margin-bottom:31px}.orbit>span{line-height:70px;font-size:27px}.eyebrow{font-size:8px}.concept h2{font-size:27px;letter-spacing:.09em;margin-top:24px;margin-bottom:27px}.concept-prose{font-size:11px;line-height:2.7;letter-spacing:.015em}.concept-prose p+p{margin-top:20px}.concept-signature{font-size:16px;margin-top:30px}.concept-decoration{display:none}.section-heading{margin:39px 0 29px;display:block}.section-heading h2{font-size:24px;letter-spacing:.08em;margin-top:12px}.section-heading>p{font-size:10px;margin:15px 0 0}.section-heading>p br{display:none}.fragment-grid{grid-template-columns:1fr;gap:44px}.fragment{max-width:90%;width:100%}.fragment:nth-child(2){margin:0 0 0 auto}.fragment:nth-child(3){margin:0}.fragment-image{aspect-ratio:1/.98}.fragment-category{margin-top:20px}.fragment-title{font-size:22px;margin-top:11px}.fragment-description{font-size:11px;margin-top:10px}.fragments-note{text-align:center;font-size:8px;letter-spacing:0;margin-top:35px}.fragments{padding-bottom:25px}.interlude{padding:60px 20px 74px}.interlude p{font-size:21px;letter-spacing:.13em}.mobile-break{display:block}.interlude>span{font-size:7px}.interlude-line{height:40px}.about-grid{grid-template-columns:1fr;padding-top:35px;gap:40px}.about-image{width:91%}.about-image img{aspect-ratio:1.05/1}.about-content{padding-left:6%}.about-content h2{font-size:28px;margin:20px 0 24px}.about-content>p:not(.eyebrow){font-size:12px}.closing{padding:91px 20px 73px}.closing p{font-size:16px;letter-spacing:.08em}.site-footer{margin:0 7%;flex-wrap:wrap;gap:23px;padding:26px 0}.site-footer>span{order:3;width:100%;font-size:7px;letter-spacing:.12em}.site-footer small{font-size:8px}.story-dialog{width:91vw;max-height:90svh}.dialog-layout{grid-template-columns:1fr;min-height:0}.dialog-image{height:245px;min-height:0;object-position:center 50%}.dialog-copy{padding:32px 8%}.dialog-copy h2{font-size:25px;margin:15px 0 20px}.dialog-copy #dialog-scenario{font-size:11px}.dialog-signature{margin-top:22px}.dialog-navigation{margin-top:22px}.dialog-close{position:sticky;top:8px;float:right;margin-bottom:-50px;right:8px}.dialog-copy>.eyebrow{font-size:8px}}
.hero-art{width:100%}.fragment-grid{align-items:start}
@media(max-width:360px){.brand img{width:32px}.brand>span{font-size:19px}.brand{gap:7px}.site-header nav{gap:12px}.site-header nav a{font-size:11px}.hero h1{font-size:clamp(64px,21vw,76px)}}
/* Keep the supplied logo intact and give prose a comfortable reading size. */
:root{--muted:#bbc6d0}
body{font-size:18px}
.brand img{width:64px}
.brand>span{font-size:28px}
.about-signature img{width:96px}
.site-header nav a{font-size:18px}
.eyebrow,.hero-content>.eyebrow,.about-content>.eyebrow,.dialog-copy>.eyebrow{font-size:13px;line-height:1.8;letter-spacing:.14em}
.section-marker,.section-marker>span:last-child{font-size:13px;line-height:1.7;letter-spacing:.08em;gap:18px}
.hero{min-height:900px}
.hero-description,.concept-prose,.about-content>p:not(.eyebrow),.dialog-copy #dialog-scenario{font-size:18px;line-height:2.2;letter-spacing:.045em;color:#d1d9e0}
.concept-prose{max-width:42rem;margin-inline:auto}
.concept-prose p+p{margin-top:28px}
.text-link,.hero-link,.closing .text-link{font-size:16px;min-height:44px}
.hero-bottom,.hero-bottom>span:last-child,.hero-side{font-size:12px;letter-spacing:.1em}
.fragment-category{font-size:12px;line-height:1.8;letter-spacing:.1em}
.fragment-description,.section-heading>p{font-size:16px;line-height:1.9}
.fragments-note,.about-image figcaption{font-size:14px;line-height:1.9}
.interlude>span{font-size:12px;line-height:1.8}
.site-footer,.site-footer small{font-size:12px;line-height:1.8;letter-spacing:.07em}
.dialog-copy{padding:78px 9% 35px}
.dialog-close{font-size:14px;min-height:44px}
.dialog-navigation{font-size:14px}
.dialog-navigation button{width:44px;height:44px}
.dialog-signature{font-size:18px}
@media(max-width:1000px){
  .site-header nav{gap:25px}
  .site-header nav a{font-size:16px}
  .about-grid{gap:6%}
  .about-content>p:not(.eyebrow) br{display:none}
  .hero-bottom>span:last-child{display:none}
  .hero-bottom>a{position:static;transform:none}
}
@media(max-width:650px){
  body{font-size:16px}
  .site-header{height:145px;align-items:flex-start;padding-top:20px}
  .brand{gap:10px;align-items:center}
  .brand img{width:54px}
  .brand>span{font-size:25px}
  .site-header nav{position:absolute;top:91px;left:6%;right:6%;gap:30px;transform:none}
  .site-header nav a{font-size:16px;min-height:44px;padding:10px 0}
  .hero{min-height:930px;max-height:none}
  .hero-content{top:210px;left:8%;right:8%}
  .hero-content>.eyebrow{font-size:12px;letter-spacing:.05em;align-items:flex-start}
  .eyebrow,.about-content>.eyebrow,.dialog-copy>.eyebrow{font-size:12px;letter-spacing:.1em}
  .hero-description,.concept-prose,.about-content>p:not(.eyebrow),.dialog-copy #dialog-scenario{font-size:16px;line-height:2.15;letter-spacing:.025em}
  .concept-prose{text-align:left;max-width:24rem}
  .concept-prose br{display:none}
  .concept-prose p+p{margin-top:25px}
  .section-marker,.section-marker>span:last-child{font-size:12px;letter-spacing:0}
  .section-marker{flex-wrap:wrap;gap:8px 15px}
  .hero-bottom,.hero-bottom>a{font-size:12px;letter-spacing:.04em}
  .hero-bottom>span:first-child{display:none}
  .hero-bottom{justify-content:center;bottom:30px}
  .text-link,.hero-link,.closing .text-link{font-size:16px}
  .hero-link{margin-top:30px}
  .section-heading>p,.fragment-description{font-size:16px}
  .fragment-category{font-size:12px}
  .fragments-note,.about-image figcaption{font-size:14px}
  .fragments-note{text-align:left}
  .about-content{padding-left:0}
  .about-signature img{width:88px}
  .site-footer>span{font-size:12px;letter-spacing:.05em}
  .site-footer small{font-size:12px}
  .dialog-copy{padding:32px 8%}
  .dialog-copy #dialog-scenario{white-space:pre-line;overflow-wrap:anywhere}
}
@media(max-width:360px){
  .brand img{width:46px}
  .brand>span{font-size:22px}
  .brand{gap:8px}
  .hero-content{top:205px}
}
.stories{padding-bottom:110px}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:54px 34px}
.story-card{display:flex;flex-direction:column;align-items:stretch;min-width:0;border:0;padding:0;background:transparent;text-align:left}
.story-thumbnail{display:block;aspect-ratio:1;overflow:hidden;background:#162433;border:1px solid var(--line)}
.story-thumbnail img{width:100%;height:100%;object-fit:cover;object-position:center;transition:filter .4s}
.story-card:hover .story-thumbnail img,.story-card:focus-visible .story-thumbnail img{filter:brightness(1.12)}
.story-number{margin-top:24px;font-family:var(--sans);font-size:12px;letter-spacing:.12em;color:var(--gold)}
.story-title{font-size:25px;letter-spacing:.08em;line-height:1.7;margin-top:10px}
.story-summary{font-size:16px;line-height:1.9;margin:12px 0 24px;color:var(--muted)}
.story-read{align-self:flex-start;margin-top:auto;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.8}
.story-title+.story-read{margin-top:auto;padding-top:24px}
.story-card:hover .story-read{color:var(--gold);border-color:var(--gold)}
.story-empty{grid-column:1/-1;font-size:18px;color:var(--muted);padding:40px 0}
.dialog-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}
.dialog-image{position:sticky;top:0;min-height:0;height:auto;max-height:none;aspect-ratio:1;object-fit:contain;background:#162433}
.dialog-copy #dialog-scenario{white-space:pre-wrap;overflow-wrap:anywhere}
.dialog-navigation[hidden]{display:none}
.story-dialog .dialog-close{position:sticky;top:12px;float:right;right:12px;margin:12px 12px -60px 0}
@media(max-width:1000px){.story-grid{gap:40px 24px}.story-title{font-size:23px}}
@media(max-width:800px){.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
  .stories{padding-bottom:75px}
  .story-grid{grid-template-columns:1fr;gap:46px}
  .story-title{font-size:25px}
  .story-number{margin-top:20px}
  .dialog-layout{grid-template-columns:minmax(0,1fr)}
  .dialog-image{position:static;height:260px;aspect-ratio:auto}
}
/* Blue mist dissolves into the compact white footer without a hard seam. */
:root{--footer-dissolve:260px}
.stories{padding-bottom:calc(var(--footer-dissolve) + 36px)}
.site-footer{position:relative;display:block;margin:0;padding:0;border:0;background:#fff;color:#45515c}
.site-footer::before{
  content:"";position:absolute;inset:auto 0 calc(100% - 1px);height:calc(var(--footer-dissolve) + 1px);pointer-events:none;
  background:
    linear-gradient(180deg,#ffffff00 65%,#fff 100%),
    radial-gradient(ellipse 75% 85% at 18% 95%,#dee8fb99 0%,#dee8fb00 72%),
    radial-gradient(ellipse 65% 95% at 88% 110%,#e5def266 0%,#e5def200 75%),
    linear-gradient(180deg,#101c2a 0%,#122034 12%,#1c324b 28%,#365170 43%,#6981a1 56%,#9fb2cb 69%,#d6e0ec 83%,#f6f8fb 94%,#fff 100%);
}
.footer-details{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 4.6%;padding:20px 0 22px;border:0}
.footer-details .footer-wordmark{color:#101c2a}
.site-footer a:focus-visible{outline-color:#101c2a}
.logo-panel{display:flex;align-items:center;justify-content:center;gap:64px;min-height:260px;padding:20px 24px;background:#fff;color:#101c2a}
.footer-logo{display:block;width:220px;max-width:100%}
.footer-logo img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.footer-logo:focus-visible{outline-color:#101c2a}
.music-credits{flex:none}
.music-credits>p{font-size:14px;letter-spacing:.08em;line-height:1.6;margin-bottom:20px;color:#45515c}
.music-credits-logos{--credit-logo-height:40px;display:flex;align-items:center;gap:28px}
.music-credits-logos a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:48px;border-radius:4px}
.music-credits-logos img{width:auto;height:var(--credit-logo-height);object-fit:contain}
.music-credits-logos .credit-chatgpt{gap:calc(var(--credit-logo-height)*.12);color:#000}
.credit-chatgpt span{font-family:Arial,Helvetica,sans-serif;font-size:calc(var(--credit-logo-height)*.9);font-weight:600;line-height:1;letter-spacing:0;white-space:nowrap}
.music-credits-logos a:hover{outline:1px solid #d8e0e8;outline-offset:7px}
@media(min-width:651px) and (max-width:1000px){
  .logo-panel{gap:32px}
  .footer-logo{width:190px}
  .music-credits-logos{--credit-logo-height:28px;gap:20px}
}
@media(max-width:650px){
  .site-header .brand{min-height:54px}
  .hero-japanese{font-size:clamp(20px,5.8vw,30px);letter-spacing:.08em}
  :root{--footer-dissolve:200px}
  .logo-panel{min-height:210px;padding:10px 20px 28px;flex-direction:column;gap:12px}
  .footer-logo{width:190px}
  .music-credits>p{text-align:center;margin-bottom:14px}
  .music-credits-logos{--credit-logo-height:clamp(18px,4.8vw,24px);gap:12px}
  .footer-details{margin:0 7%;padding:15px 0;flex-wrap:wrap;gap:10px 23px}
  .footer-details>span{order:3;width:100%;font-size:12px;letter-spacing:.05em}
}
/* Gallery themes are selected from the visible image behind the main copy. */
:root{--hero-ink:#f0eee6;--hero-muted:#d0d9e1;--hero-accent:#dfcea4;--hero-line:#c5cfdb70;--hero-veil:rgba(16,28,42,.94);--hero-veil-soft:rgba(16,28,42,.82);--hero-button:rgba(16,28,42,.8)}
:root[data-hero-tone="light"]{--hero-ink:#182c3a;--hero-muted:#314553;--hero-accent:#61502e;--hero-line:#263d4c66;--hero-veil:rgba(248,244,232,.94);--hero-veil-soft:rgba(248,244,232,.88);--hero-button:rgba(248,244,232,.8)}
.hero,.site-header{color:var(--hero-ink)}
.site-header{border-bottom-color:var(--hero-line)}
.site-header a:focus-visible,.site-header button:focus-visible,.hero-content a:focus-visible{outline-color:var(--hero-ink)}
.hero .hero-description{color:var(--hero-muted)}
.hero .eyebrow,.hero .title-star{color:var(--hero-accent)}
.hero .text-link{color:var(--hero-ink);border-color:var(--hero-line)}
.hero .text-link:hover{color:var(--hero-accent)}
.hero-art{opacity:1}
.hero-art.hero-art-inactive{opacity:0}
.hero-shade{z-index:2}
.dust{z-index:3}
.hero-content,.hero-bottom,.hero-side{z-index:4}
.hero-shade{background:linear-gradient(0deg,#101c2a 0%,#101c2af2 5%,transparent 17%),linear-gradient(180deg,var(--hero-veil) 0%,transparent 24%),linear-gradient(90deg,var(--hero-veil) 0%,var(--hero-veil-soft) 52%,transparent 85%)}
.hero .hero-bottom{color:#d0d9e1;gap:24px}
.hero .hero-bottom>[data-hero-caption]{display:block;max-width:32%;font-size:12px;letter-spacing:.06em;line-height:1.6}
.hero-side{color:#f0eee6;text-shadow:0 1px 5px #101c2a}
.hero-slide-controls{display:flex;align-items:center;gap:15px;flex-shrink:0}
.hero-slide-controls[hidden]{display:none}
.hero-slide-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #c5cfdb70;border-radius:50%;background:#101c2a66;color:#f0eee6;font:18px var(--sans)}
.hero-slide-controls button:hover{border-color:#f0eee6;background:#263c53}
.hero-slide-controls [data-hero-count]{font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:.06em;font-size:12px}
@media(min-width:651px){.hero-content{top:22%}}
@media(max-width:1000px){.hero-bottom>a{display:none}.hero .hero-bottom>[data-hero-caption]{max-width:55%}}
@media(max-width:650px){
  .hero .hero-bottom{justify-content:space-between;gap:12px;left:6%;right:6%}
  .hero .hero-bottom>[data-hero-caption]{max-width:50%;font-size:12px;overflow-wrap:anywhere}
  .hero-slide-controls{gap:8px}
}

/* Keep the copy compact so the artwork has the larger share of the hero. */
.hero h1 ruby{ruby-position:over;ruby-align:center}
.hero h1 rt{font-family:var(--sans);font-size:12px;font-weight:400;letter-spacing:.16em;color:var(--hero-muted)}
.hero-content{left:7%;right:auto;top:27%;width:min(360px,42vw)}
.hero h1{font-size:clamp(64px,6vw,88px);line-height:1.15;margin:12px 0 22px}
.hero .title-star{font-size:17px;top:17px;right:-21px}
.hero .hero-japanese{font-size:clamp(22px,1.8vw,26px);line-height:1.8;letter-spacing:.07em}
.hero .hero-description{font-size:16px;line-height:2;letter-spacing:.025em;margin-top:20px}
.hero-content>.eyebrow{font-size:12px;letter-spacing:.08em;gap:9px}
.hero .hero-link{font-size:15px;margin-top:24px;padding-bottom:10px;gap:32px}
.hero-shade{background:linear-gradient(0deg,#101c2a 0%,#101c2af2 5%,transparent 17%),linear-gradient(90deg,var(--hero-veil) 0%,var(--hero-veil-soft) calc(7% + 360px),transparent calc(7% + 600px))}
@media(max-width:650px){
  .hero-content{top:150px;left:20px;right:auto;width:min(300px,calc(100% - 40px))}
  .hero h1{font-size:60px;margin:10px 0 20px}
  .hero .hero-japanese{font-size:20px;line-height:1.8;letter-spacing:.04em}
  .hero .hero-description{font-size:16px;line-height:1.95;letter-spacing:0;margin-top:18px}
  .hero-content>.eyebrow{font-size:12px;letter-spacing:.035em;gap:7px}
  .hero .hero-link{margin-top:20px}
  .hero-shade{background:linear-gradient(0deg,#101c2a 0%,#101c2af2 5%,transparent 17%),radial-gradient(ellipse 600px 440px at 0 330px,var(--hero-veil) 0%,var(--hero-veil-soft) 50%,transparent 100%)}
}
