/* Typical phase 1. Page-scoped styles; no external font or site-wide override. */
.tp-page{--tp-navy:#172333;--tp-gold:#d9bb81;--tp-paper:#f1efe9;--tp-serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;margin:0;background:var(--tp-navy);color:var(--tp-paper);font-family:var(--tp-serif);-webkit-font-smoothing:antialiased}
.tp-page *{box-sizing:border-box}.tp-page a{color:inherit;text-decoration:none}.tp-page a:focus-visible{outline:2px solid var(--tp-gold);outline-offset:6px}.tp-page img{display:block;max-width:100%;height:auto}.tp-page figure,.tp-page p,.tp-page h1,.tp-page h2{margin:0}.tp-page h1,.tp-page h2{font-weight:400}.tp-skip{position:absolute;top:-100px;left:20px;padding:15px;background:#172333;z-index:10}.tp-skip:focus{top:12px}
.tp-header{height:88px;padding:0 clamp(22px,4.5vw,80px);display:flex;align-items:center;justify-content:space-between;background:#111916;border-bottom:1px solid #d9bb8126;font-family:Arial,"Hiragino Kaku Gothic ProN",sans-serif}.tp-brand{display:flex;gap:10px;align-items:center}.tp-brand span{display:flex;flex-direction:column;gap:3px}.tp-brand small{font-size:9px;letter-spacing:.27em;color:var(--tp-gold)}.tp-brand strong{font-size:16px;letter-spacing:.09em}.tp-header nav{display:flex;gap:clamp(18px,3vw,45px);font-size:12px;letter-spacing:.06em}.tp-header nav a{padding:12px 0}.tp-header a:hover,.tp-footer a:hover{color:var(--tp-gold)}
.tp-hero{position:relative;min-height:780px;height:calc(100svh - 88px);max-height:1200px;isolation:isolate;display:flex;align-items:center}.tp-hero-art{position:absolute;z-index:-2;inset:0 0 0 38%;overflow:hidden}.tp-hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 68%}.tp-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#172333 25%,#172333ef 37%,#17233384 52%,#17233306 77%),linear-gradient(0deg,#172333 0%,transparent 18%)}.tp-hero-copy{padding:20px 0 90px;margin-left:clamp(30px,8vw,150px);max-width:650px}.tp-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(88px,9.5vw,152px);font-weight:400;line-height:1.08;letter-spacing:.045em;color:#f7f0df}.tp-subtitle{margin-top:16px!important;font-size:clamp(12px,1.15vw,16px);letter-spacing:.15em;line-height:2}.tp-rule{height:1px;width:58px;background:var(--tp-gold);margin:54px 0 36px}.tp-catch{font-size:clamp(27px,3vw,43px);line-height:1.95;letter-spacing:.12em}.tp-catch span{display:block;white-space:nowrap}.tp-intro{font-size:14px;line-height:2.4;letter-spacing:.09em;margin-top:30px!important;color:#e0e0da}.tp-intro span{display:block}.tp-scroll{position:absolute;bottom:30px;left:clamp(30px,8vw,150px);display:flex;align-items:center;gap:16px;font:9px Arial,sans-serif;letter-spacing:.23em;color:var(--tp-gold)}.tp-scroll span{display:block;width:56px;height:1px;background:#d9bb8155}
.tp-beginning{padding:140px 0 110px}.tp-section-copy{text-align:center;padding:0 24px}.tp-label{font:10px/1.8 Arial,sans-serif;letter-spacing:.23em;color:var(--tp-gold)}.tp-label span{padding:0 12px;color:#aa9877}.tp-page h2{font-size:clamp(26px,3vw,40px);line-height:1.9;letter-spacing:.12em}.tp-section-copy h2{margin:30px 0 35px}.tp-page h2 span{display:inline-block}.tp-prose{font-size:15px;line-height:2.8;letter-spacing:.09em}.tp-prose p+p{margin-top:18px}.tp-village{width:min(1180px,86%);margin:80px auto 0!important;position:relative}.tp-village img{width:100%;aspect-ratio:2.1;object-fit:cover;object-position:center 54%}.tp-village:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 60px #17233336;border:1px solid #d9bb8126;pointer-events:none}
.tp-world{width:min(1200px,88%);margin:0 auto;padding:40px 0 170px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,7vw,110px)}.tp-tavern{position:relative}.tp-tavern:before{content:"";position:absolute;inset:20px -18px -20px 18px;border:1px solid #d9bb8138;z-index:-1}.tp-tavern img{width:100%;aspect-ratio:.85;object-fit:cover;object-position:center 62%}.tp-world-copy h2{margin:30px 0 34px}.tp-world-copy h2 span{display:block}.tp-world-copy .tp-prose{font-size:14px}
.tp-closing{position:relative;isolation:isolate;min-height:900px;height:105svh;max-height:1300px;display:flex;justify-content:center;text-align:center;overflow:hidden}.tp-closing-art{position:absolute;z-index:-2;inset:0;width:100%;height:100%!important;object-fit:cover;object-position:center 63%;opacity:.78}.tp-closing:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#172333 0%,#17233355 24%,#0a142400 48%,#0d182b3b 75%,#101b29 100%)}.tp-closing-copy{padding:100px 24px 0}.tp-closing h2{font-size:clamp(24px,2.8vw,38px);margin-bottom:45px;letter-spacing:.13em}.tp-closing .tp-title{font-size:clamp(76px,8vw,116px)}.tp-closing .tp-subtitle{font-size:13px}.tp-footer{padding:35px clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#101b29;border-top:1px solid #d9bb8121;font-family:Arial,"Hiragino Kaku Gothic ProN",sans-serif}.tp-footer-brand{font-size:13px}.tp-footer-brand strong{font-size:16px}.tp-footer>a:not(.tp-footer-brand),.tp-footer small{font-size:11px;color:#bdc2c9}.tp-footer small{letter-spacing:.05em}
@media(min-width:1600px){.tp-hero-art{left:40%}.tp-hero-art img{object-position:center 65%}}
@media(max-width:900px){.tp-hero{min-height:740px}.tp-hero-copy{margin-left:6vw}.tp-hero-art{left:25%}.tp-catch{font-size:30px}.tp-title{font-size:106px}.tp-world{gap:40px}.tp-world-copy .tp-prose{font-size:13px;letter-spacing:.04em}.tp-page h2{letter-spacing:.07em}.tp-closing{min-height:850px}}
@media(max-width:600px){.tp-header{height:72px;padding:0 20px}.tp-brand img{width:28px;height:28px}.tp-brand strong{font-size:13px}.tp-brand small{font-size:8px}.tp-header nav{gap:16px;font-size:10px}.tp-header nav a:nth-child(1),.tp-header nav a:nth-child(3){display:none}.tp-hero{height:calc(100svh - 72px);min-height:790px;max-height:1050px;align-items:flex-start}.tp-hero-art{inset:0}.tp-hero-art img{object-position:center bottom}.tp-hero:after{background:linear-gradient(180deg,#172333f5 0%,#172333da 20%,#172333b8 36%,#17233378 48%,#17233314 64%,#17233300 78%,#172333 100%)}.tp-hero-copy{margin:0;width:100%;text-align:center;padding:42px 12px 0}.tp-title{font-size:84px;letter-spacing:.035em}.tp-subtitle{font-size:11px;letter-spacing:.08em;margin-top:10px!important}.tp-rule{margin:26px auto 22px;width:34px}.tp-catch{font-size:clamp(23px,6.1vw,31px);letter-spacing:.07em;line-height:1.9}.tp-intro{font-size:11px;letter-spacing:.02em;margin-top:20px!important;line-height:2.2}.tp-scroll{left:24px;bottom:27px;font-size:8px}.tp-beginning{padding:95px 0 80px}.tp-label{font-size:9px;letter-spacing:.16em}.tp-page h2{font-size:25px;line-height:1.9}.tp-section-copy h2 span{display:block}.tp-section-copy h2{margin:24px 0 28px}.tp-prose{font-size:13px;letter-spacing:.03em;line-height:2.5}.tp-prose p+p{margin-top:20px}.tp-village{width:100%;margin-top:50px!important}.tp-village img{aspect-ratio:1.25;object-position:45% center}.tp-world{width:100%;padding:0 24px 85px;grid-template-columns:1fr;gap:54px}.tp-tavern{width:min(360px,88%);margin:0 auto!important}.tp-tavern img{aspect-ratio:1;object-position:center 70%}.tp-tavern:before{inset:14px -14px -14px 14px}.tp-world-copy{text-align:center}.tp-world-copy h2{margin:24px 0 28px}.tp-world-copy .tp-prose{font-size:13px;letter-spacing:.04em}.tp-closing{height:900px;min-height:0;max-height:none}.tp-closing-art{object-position:48% bottom}.tp-closing-copy{padding:65px 18px 0}.tp-closing h2{font-size:25px;line-height:1.8;margin-bottom:30px}.tp-closing h2 span{display:block}.tp-closing .tp-title{font-size:78px}.tp-closing .tp-subtitle{font-size:10px}.tp-footer{padding:30px 20px;flex-direction:column;gap:18px}.tp-footer>a:not(.tp-footer-brand),.tp-footer small{font-size:10px}}
/* Content stays visible without JavaScript and when motion is reduced. */
@media(prefers-reduced-motion:no-preference){.tp-reveal.tp-wait{opacity:0;transform:translateY(18px);transition:opacity 1s ease,transform 1s ease}.tp-reveal.tp-visible{opacity:1;transform:none}}

/* Release plans confirmed by the studio; keep the teaser quiet and readable. */
.tp-page .tp-release{display:flex;flex-direction:column;gap:8px;margin-top:28px;font-family:Arial,"Hiragino Kaku Gothic ProN",sans-serif;font-size:12px;line-height:1.8;letter-spacing:.1em;color:var(--tp-paper)}.tp-release strong{font-size:15px;font-weight:500;color:var(--tp-gold)}
@media(max-width:600px){.tp-page .tp-release{margin-top:22px;font-size:11px;gap:5px}.tp-release strong{font-size:14px}}
