@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --mold-version: 9;
  /* font-preset: elegant */
  --lh-body: 2.00;
  --lh-display: 1.40;
  --ls-en: .16em;
  --ls-body: .03em;
  --ls-display: .08em;
  --fw-strong: 600;
  --fw-body: 400;
  --fw-display: 400;
  --font-en: "Cormorant Garamond", serif;
  --ink:#161513;
  --indigo:#14263d;
  --vermilion:#a7261d;
  --gold:#c9a65a;
  --paper:#f4ebdd;
  --paper-2:#fffaf0;
  --font-display:"Cormorant Garamond","Shippori Mincho B1",serif;
  --font-body:"Inter","Noto Sans JP",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip;scrollbar-width:none}
html::-webkit-scrollbar{display:none}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.65;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit}
.site-header{position:fixed;z-index:50;inset:0 0 auto;display:flex;align-items:center;gap:26px;min-height:76px;padding:0 4vw;background:rgba(244,235,221,.92);border-bottom:1px solid rgba(201,166,90,.45);backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand__seal{display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--gold);border-radius:50%;color:var(--vermilion)}.brand__text{font:600 clamp(.88rem,1.35vw,1.24rem)/1 var(--font-display);letter-spacing:.08em}
.nav{display:flex;gap:24px;margin-left:auto}.nav a,.header-cta{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.nav a{padding:26px 0}.header-cta{padding:11px 17px;color:#fff;background:var(--vermilion);border:1px solid var(--gold)}
.nav-toggle{display:none}.nav-overlay{display:none}
.language-switch{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:.68rem;font-weight:700;letter-spacing:.08em}
.language-switch button{appearance:none;padding:5px 3px;border:0;border-bottom:1px solid transparent;background:transparent;color:#756958;font:inherit;cursor:pointer}
.language-switch button[aria-pressed="true"]{border-color:var(--vermilion);color:var(--vermilion)}
.language-switch span{color:#b5a995}
.language-switch[hidden],.quiz__actions [hidden]{display:none!important}
.hero{position:relative;display:grid;grid-template-columns:35% 42% 23%;min-height:clamp(680px,62.55vw,992px);margin-top:0;padding-top:76px;background:url('assets/fv-bg.jpg') center/cover no-repeat;overflow:hidden}
.hero::after{content:"";position:absolute;inset:76px auto 0 0;width:35%;z-index:0;background:linear-gradient(90deg,rgba(244,235,221,.98),rgba(244,235,221,.93))}
.hero__copy{position:relative;z-index:3;align-self:center;padding:4vw 2vw 5vw 4vw}.hero__kicker,.eyebrow{margin:0 0 20px;color:#8d5e22;font-size:.72rem;font-weight:700;letter-spacing:.38em}.hero h1{margin:0;font:600 clamp(2.5rem,4.15vw,5.1rem)/.98 var(--font-display);letter-spacing:-.04em}.hero h1 span{display:block}.hero h1 span:last-child{color:var(--vermilion)}.hero__lead{max-width:520px;margin:28px 0;color:#2d2924;font-size:clamp(.95rem,1.2vw,1.24rem)}.hero__note{margin:12px 0 0;text-align:center;font-size:.76rem;letter-spacing:.06em;color:#6f6458}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:14px 24px;text-decoration:none;font-weight:700;letter-spacing:.08em;border:0;cursor:pointer}.btn--primary{color:#fff;background:var(--vermilion);border:2px solid var(--gold);box-shadow:inset 0 0 0 3px rgba(20,38,61,.15)}.btn--primary b,.btn--dark b{transition:transform .25s}.btn:hover b{transform:translateX(4px)}.btn--dark{color:var(--paper);background:var(--indigo);border:1px solid var(--gold)}.hero__cta{width:100%;max-width:470px}
.hero__visual{position:relative;z-index:2;min-width:0}.hero__previews{position:relative;z-index:2;display:grid;grid-template-rows:repeat(3,1fr);gap:6px;padding:84px 0 28px 6px}.hero__previews article{position:relative;min-height:0;overflow:hidden;border-left:4px solid var(--paper)}.hero__previews img{width:100%;height:100%;object-fit:cover}.hero__previews span{position:absolute;left:18px;bottom:16px;padding:7px 13px;background:rgba(244,235,221,.94);font-size:.7rem;font-weight:800;letter-spacing:.25em}
.hero__canvas{display:none}
.hero__photo{aspect-ratio:657 / 879}
.mission-marquee{overflow:hidden;padding:12px 0;background:var(--vermilion);color:#f7e5ae;border-block:1px solid var(--gold)}
.mission-marquee__track{width:max-content;font:600 .76rem/1 var(--font-display);letter-spacing:.28em;white-space:nowrap;animation:mission-scroll 28s linear infinite}
.content-language{display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:18px clamp(22px,4vw,64px);background:var(--paper);border-bottom:1px solid rgba(201,166,90,.35);color:#756958;font-size:.67rem;font-weight:700;letter-spacing:.18em}
.content-language .language-switch{font-size:.72rem;letter-spacing:.1em}
@keyframes mission-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.mission-marquee__track{animation:none}}
.scroll-cue{position:absolute;z-index:5;left:4vw;bottom:20px;display:flex;gap:12px;align-items:center;text-decoration:none;text-transform:uppercase;font-size:.68rem;letter-spacing:.18em}.scroll-cue__line{display:block;width:40px;height:1px;background:var(--gold)}
.section{padding:clamp(76px,9vw,140px) max(5vw,24px)}.section__head{max-width:760px}.section h2{margin:.15em 0 .5em;font:600 clamp(2rem,4.1vw,4.8rem)/1.08 var(--font-display)}.section h3{font-family:var(--font-display)}.section__head>p:last-child{max-width:650px;color:#61584e}
.path{position:relative;background:var(--paper-2)}.path__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:60px}.path__grid article{position:relative;padding:34px;border:1px solid rgba(201,166,90,.55);background:#fff}.path__grid article>span{font:600 2rem var(--font-display);color:var(--gold)}.path__grid h3{font-size:1rem;letter-spacing:.05em}.path__grid p{color:#655c52}.path__line{position:absolute;left:8%;right:8%;top:52%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.path__grid article.is-visible{opacity:1!important;transform:none!important;clip-path:none!important;transition-delay:0s!important}
.quiz{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;background:var(--indigo);color:#fff}.quiz .eyebrow{color:var(--gold)}.quiz__intro>p{max-width:520px;color:#d6dce4}.quiz__progress{margin-top:36px;font-size:.8rem;letter-spacing:.12em}.quiz__progress i{display:block;max-width:320px;height:4px;margin-top:12px;background:rgba(255,255,255,.2)}.quiz__progress b{display:block;width:25%;height:100%;background:var(--gold)}
.quiz__card{padding:clamp(28px,4vw,54px);background:var(--paper);color:var(--ink);border:1px solid var(--gold)}.quiz__card fieldset{border:0;padding:0;margin:0 0 30px}.quiz__card legend{margin-bottom:22px;font:600 clamp(1.3rem,2vw,2rem)/1.25 var(--font-display)}.quiz__card label{display:block;margin:10px 0}.quiz__card input{position:absolute;opacity:0}.quiz__card label span{display:block;padding:16px 18px;border:1px solid #cabfae;cursor:pointer;transition:.2s}.quiz__card input:checked+span{border-color:var(--vermilion);background:#fff4e9;box-shadow:inset 4px 0 var(--vermilion)}.quiz__result{min-height:1.6em;margin:18px 0 0;color:var(--vermilion);font-weight:700}
.quiz__card label,.quiz__card label span{color:#161513!important}
.quiz-step[hidden]{display:none}.quiz__actions{display:flex;align-items:center;gap:18px}.quiz__back,.quiz__restart{padding:12px 4px;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font-weight:700;letter-spacing:.12em;cursor:pointer}.quiz__actions .btn{margin-left:auto}.quiz__result{grid-column:1/-1}
.destiny-result{background:#efe2cd;color:var(--ink)}.destiny-result[hidden]{display:none}.destiny-result__scroll{max-width:1120px;margin:0 auto;padding:clamp(32px,6vw,76px);text-align:center;background:linear-gradient(145deg,#fffaf0,#ead9bd);border:1px solid var(--gold);box-shadow:0 28px 80px rgba(20,38,61,.15)}.destiny-result__mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border:2px solid var(--gold);border-radius:50%;color:var(--vermilion);font-size:1.35rem}.destiny-result h2{margin:.1em 0;font-size:clamp(2.6rem,6vw,6.6rem);color:var(--vermilion)}.destiny-result__tagline{font:600 clamp(1.1rem,2vw,1.7rem) var(--font-display)}.destiny-result__scroll>p:not(.eyebrow):not(.destiny-result__mark):not(.destiny-result__tagline):not(.destiny-result__note){max-width:760px;margin:20px auto}.destiny-result__figure{max-width:760px;margin:36px auto;padding:24px;border-block:1px solid rgba(201,166,90,.7)}.destiny-result__figure span,.destiny-result__missions span{display:block;color:var(--vermilion);font-size:.68rem;font-weight:800;letter-spacing:.2em}.destiny-result__figure strong{display:block;margin:6px;font:600 clamp(1.5rem,3vw,2.7rem) var(--font-display)}.destiny-result__figure p{margin:8px 0;color:#5f5548}.destiny-result__missions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:34px 0}.destiny-result__missions article{padding:26px 20px;background:rgba(255,255,255,.62);border-top:3px solid var(--gold)}.destiny-result__missions h3{margin:9px 0;font-size:1.25rem}.destiny-result__missions p{margin:0;color:#665b4e;font-size:.9rem}.destiny-result__voices{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}.destiny-result__voices p{padding:18px 20px;background:var(--indigo);color:#fff}.destiny-result__voices strong,.destiny-result__voices span{display:block}.destiny-result__voices strong{color:var(--gold);letter-spacing:.16em}.destiny-result__note{margin-top:28px;color:#766b5e;font-size:.75rem}.destiny-result__buttons{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:28px}
.mission{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center;background:var(--paper)}.mission__image{position:sticky;top:108px;align-self:start;margin:0;overflow:hidden;border:8px solid #fff;box-shadow:0 24px 70px rgba(20,38,61,.18)}.mission__image img{aspect-ratio:4/3;width:100%;object-fit:cover}.mission__copy h3{margin-top:-18px;color:var(--vermilion);font-size:1.2rem}.mission__copy ul{list-style:none;padding:0;margin:30px 0}.mission__copy li{display:grid;grid-template-columns:90px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid rgba(22,21,19,.16)}.mission__copy li strong{color:var(--vermilion);letter-spacing:.16em}
.story-invitation{position:relative;overflow:hidden;padding-block:clamp(80px,10vw,150px);text-align:center;background:var(--indigo);color:#fff}.story-invitation::before,.story-invitation::after{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(201,166,90,.24);border-radius:50%}.story-invitation::before{left:-90px;top:-100px}.story-invitation::after{right:-80px;bottom:-110px}.story-invitation .eyebrow{color:var(--gold)}.story-invitation h2{max-width:980px;margin:.2em auto .45em;font-size:clamp(2.3rem,5vw,5.8rem);line-height:1.02;white-space:pre-line}.story-invitation>p:last-child{max-width:720px;margin:0 auto;color:#d9dfe6;font-size:clamp(.95rem,1.3vw,1.18rem);line-height:1.9;white-space:pre-line}.mission__sample{margin:0 0 16px;color:#766b5e;font-size:.65rem;font-weight:800;letter-spacing:.16em}
.guides{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:center;background:#ede1cf}.guide-notes{display:grid;gap:16px}.guide-notes article{padding:22px 24px;background:rgba(255,255,255,.66);border-left:4px solid var(--vermilion)}.guide-notes h3{margin:0}.guide-notes small{font-family:var(--font-body);font-weight:500;color:#756958}.guide-notes blockquote{margin:14px 0 0;color:var(--vermilion);font-family:var(--font-display)}.guides__image{margin:0;overflow:hidden}.guides__image img{width:100%;aspect-ratio:2/3;object-fit:cover;object-position:center top}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;background:var(--paper-2)}.story-grid article{background:#fff;border-bottom:3px solid var(--gold)}.story-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.story-grid span,.story-grid h3{display:block;margin:18px 20px}.story-grid span{font-size:.7rem;font-weight:800;letter-spacing:.2em;color:var(--vermilion)}
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--indigo);color:#fff}.about h2{font-size:clamp(2rem,3.5vw,4rem)}.about>p{color:#ccd4dd;align-self:center}.final-cta{text-align:center;background:linear-gradient(rgba(244,235,221,.96),rgba(244,235,221,.96)),url('assets/mission-kyoto.png') center/cover}.destiny-seal{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 22px;border:2px solid var(--gold);border-radius:50%;color:var(--vermilion);font-size:1.5rem}.final-cta h2{max-width:850px;margin:0 auto 34px}
.footer{padding:64px 5vw 24px;background:#0c1725;color:#dce1e6;display:grid;grid-template-columns:1.1fr .7fr 1fr;gap:40px}.footer__brand strong{font-family:var(--font-display);color:#fff}.footer nav{display:grid;gap:8px}.footer a{text-decoration:none}.footer__info{font-size:.76rem;color:#9da8b3}.footer__bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:22px;border-top:1px solid rgba(255,255,255,.15);font-size:.7rem}
@media(max-width:1040px){
  .nav,.header-cta{display:none}.site-header>.language-switch{margin-left:auto}.nav-toggle{display:block;margin-left:0}.language-switch--mobile{display:none}.hero{display:block;min-height:0;padding-top:76px;background:var(--paper)}.hero::after{display:none}.hero__copy{padding:70px 7vw 44px}.hero__visual{position:relative!important;inset:auto!important;display:block!important;width:100%;height:72svh;min-height:0}.hero__photo{display:block!important;width:100%;height:100%;object-fit:cover;object-position:47% 40%;animation:none!important;opacity:1!important;transform:none!important}.hero__previews{display:none}.scroll-cue{display:none}.quiz,.mission,.guides,.about{grid-template-columns:1fr}.mission__image{position:static;top:auto}.guides__image img{aspect-ratio:16/10}.path__grid,.story-grid{grid-template-columns:1fr}.path__line{display:none}.footer{grid-template-columns:1fr 1fr}.footer__info{grid-column:1/-1}
}
@media(max-width:520px){.content-language{justify-content:center;padding:14px 18px}.content-language>span{display:none}}
@media(max-width:640px){
  .site-header{min-height:66px;max-width:100vw;padding:0 18px;gap:8px}.brand{gap:8px;min-width:0}.brand__seal{width:34px;height:34px;flex:0 0 34px}.brand__text{max-width:145px;font-size:.62rem;line-height:1.2;white-space:normal}.nav-toggle{display:none}.site-header>.language-switch{margin-left:auto;font-size:.62rem;gap:3px}.hero{max-width:100vw;padding-top:66px}.hero__copy{width:100%;min-width:0;max-width:100%;padding:46px 22px 32px}.hero__kicker{max-width:100%;letter-spacing:.16em}.hero h1{width:100%;max-width:100%;font-size:2.05rem}.hero__lead{width:100%;max-width:100%;font-size:.9rem;overflow-wrap:anywhere}.hero__cta{max-width:100%}.hero__visual{height:58svh}.hero__previews{grid-template-columns:1fr;grid-template-rows:repeat(3,150px)}.section{padding:72px 22px}.path__grid article{padding:26px}.mission__copy li{grid-template-columns:1fr;gap:4px}.story-grid{gap:28px}.footer{grid-template-columns:1fr}.footer__bottom{flex-direction:column;gap:8px}.btn{width:100%;font-size:.78rem}.quiz__actions{flex-wrap:wrap}.quiz__back{order:2}.quiz__actions .btn{margin-left:0}.destiny-result__missions,.destiny-result__voices{grid-template-columns:1fr}.destiny-result__buttons{flex-direction:column}.destiny-result__buttons .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn b{transition:none}}
.policy-page{max-width:860px;margin:0 auto;padding:clamp(44px,8vw,110px) 24px}.policy-page__brand{margin-bottom:80px}.policy-page h1{margin:.1em 0 .6em;font:600 clamp(2.8rem,7vw,6rem)/.98 var(--font-display)}.policy-page h2{margin:2em 0 .4em;font:600 clamp(1.4rem,3vw,2rem) var(--font-display)}.policy-page p{color:#544c43}.policy-page__updated{margin:50px 0 24px;font-size:.8rem}

/* FV exact-fit corrections after visual verification */
.hero__copy{width:auto;inset:auto;display:block}
.hero h1{font-size:clamp(2.15rem,3.25vw,3.9rem);line-height:1.02;letter-spacing:-.025em}
.hero h1 span{word-break:keep-all;overflow-wrap:normal}
.hero__lead{max-width:470px;margin:24px 0;font-size:clamp(.88rem,1.05vw,1.08rem);line-height:1.65}
.hero__previews{pointer-events:none}
.hero__previews article{display:none}

@media(min-width:1041px){
  .site-header{min-height:82px;height:82px;padding:0;background:transparent;border-bottom:0;backdrop-filter:none}
  .brand__seal{display:none}
  .brand{gap:0;margin-left:11.35vw}
  .brand__text{font-size:1.55vw}
  .nav{position:absolute;left:63%;right:7.2%;width:29.8%;justify-self:auto;justify-content:space-between;gap:0;margin:0}
  .nav a{padding:1.8vw 0;font-size:.72vw}
  .header-cta{display:none}
  .site-header>.language-switch{display:none}
  .hero{display:block;width:100%;height:992px!important;aspect-ratio:auto;min-height:992px!important;margin:0;padding:0;background-position:center top;background-size:100% 100%}
  .hero__canvas{display:block;position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:fill}
  .hero::after{display:none}
  .hero__copy{position:absolute;z-index:3;inset:0;width:100%;height:100%;padding:0}
  .hero__kicker{position:absolute;left:3.3%;top:20.4%;width:18%;margin:0;font-size:.72vw;line-height:1.2;letter-spacing:.34em}
  .hero h1{position:absolute;left:3.3%;top:27.1%;width:31.5%;margin:0;font-size:4.35vw;line-height:.92;letter-spacing:-.035em}
  .hero__lead{position:absolute;left:3.35%;top:52.8%;width:29.5%;max-width:none;margin:0;font-size:1.08vw;line-height:1.55}
  .hero__cta{position:absolute;left:2.6%;top:64.3%;width:30.7%;max-width:none;min-height:7.7%;padding:0 2.1vw;border:3px solid #c39a45;border-radius:999px;background:linear-gradient(#a9231c,#8f1713);box-shadow:inset 0 0 0 3px #f2d99b,inset 0 0 0 6px #6f120f,0 1px 0 rgba(255,255,255,.45);font:600 1.45vw/1 var(--font-display)}
  .hero__cta::before,.hero__cta::after{content:"✦";position:absolute;top:50%;transform:translateY(-50%);color:#e5c46f;font-size:.85vw}
  .hero__cta::before{left:1.05vw}.hero__cta::after{right:1.05vw}
  .hero__cta span{white-space:nowrap;letter-spacing:.06em}
  .hero__cta b{font-size:1.5vw;color:#f5dfa2}
  .hero__note{position:absolute;left:8.9%;top:74.5%;width:18%;margin:0;font-size:.7vw;line-height:1.3}
  .hero__visual,.hero__previews{position:absolute;inset:0;pointer-events:none}
  .hero__photo{display:none}
  .scroll-cue{display:none}
  .mission__image{position:sticky;top:108px;align-self:start}
}

/* v11: browser-only birth reading and nationwide result scroll */
.birth-scroll{margin:0 0 34px;padding:24px;border:1px solid rgba(167,38,29,.28);background:#fffaf0}
.birth-scroll__kicker{margin:0 0 6px;color:var(--vermilion);font-size:.68rem;font-weight:800;letter-spacing:.18em}
.birth-scroll h3{margin:0 0 8px;font-size:1.3rem}.birth-scroll__lead,.birth-scroll__hint{color:#665b4e;font-size:.82rem}
.birth-scroll__grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:12px;margin:20px 0 12px}
.birth-scroll__grid label>span{display:block;margin-bottom:6px;font-size:.66rem;font-weight:800;letter-spacing:.1em}.birth-scroll__grid b{color:var(--vermilion)}.birth-scroll__grid small{color:#776b5c}
.birth-scroll input,.birth-scroll select{position:static;width:100%;min-height:46px;padding:10px;opacity:1;border:1px solid #cabfae;border-radius:0;background:#fff;color:#161513;font:inherit}
.birth-date-parts{display:grid!important;grid-template-columns:1.25fr .8fr 1fr;gap:6px;margin:0!important;font-size:1rem!important;font-weight:400!important;letter-spacing:normal!important}.birth-date-parts select{min-width:0}.birth-date-parts #birth-month{order:1}.birth-date-parts #birth-day{order:2}.birth-date-parts #birth-year{order:3}html[lang="ja"] .birth-date-parts{grid-template-columns:1fr .75fr .75fr}html[lang="ja"] .birth-date-parts #birth-year{order:1}html[lang="ja"] .birth-date-parts #birth-month{order:2}html[lang="ja"] .birth-date-parts #birth-day{order:3}
.destiny-result__signs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:34px 0;text-align:left}
.destiny-result__signs article{padding:18px;background:rgba(20,38,61,.92);color:#fff}.destiny-result__signs span{display:block;color:var(--gold);font-size:.65rem;font-weight:800;letter-spacing:.15em}.destiny-result__signs strong{display:block;margin:7px 0;font:600 1.25rem var(--font-display)}.destiny-result__signs p{margin:0;color:#d7dde4;font-size:.78rem}
.destiny-result__missions{grid-template-columns:repeat(2,1fr);text-align:left}.destiny-result__missions .result-card--wide{grid-column:1/-1}.destiny-result__missions article{padding:28px}
.result-card__links{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.result-card__links a,.result-card__link{display:inline-block;margin-top:18px;padding:9px 12px;border:1px solid var(--vermilion);color:var(--vermilion);font-size:.67rem;font-weight:800;letter-spacing:.08em;text-decoration:none}.result-card__voice{margin-top:14px!important;padding-top:14px;border-top:1px solid rgba(201,166,90,.55);font-style:italic}.destiny-result__affiliate{max-width:760px;margin:10px auto;color:#766b5e;font-size:.72rem}
@media(max-width:1040px){.birth-scroll__grid{grid-template-columns:1fr 1fr}.birth-scroll__grid label:last-child{grid-column:1/-1}}
@media(max-width:640px){.birth-scroll__grid,.destiny-result__signs,.destiny-result__missions{grid-template-columns:1fr}.birth-scroll__grid label:last-child,.destiny-result__missions .result-card--wide{grid-column:auto}}
@media(max-width:420px){.birth-date-parts,html[lang="ja"] .birth-date-parts{grid-template-columns:1fr}}
.destiny-reveal{position:fixed;z-index:100;inset:0;display:grid;place-items:end center;overflow:hidden;background:radial-gradient(circle at 50% 35%,#344b65 0,#101f32 50%,#07101d 100%);color:#fff}
.destiny-reveal[hidden]{display:none}.destiny-reveal::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 42%,rgba(7,16,29,.88));pointer-events:none}
.destiny-reveal__guides{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%;opacity:0;filter:saturate(.75) contrast(1.05);animation:guides-enter 4.6s ease-out forwards}
.destiny-reveal__mist{position:absolute;z-index:2;inset:-30%;background:radial-gradient(ellipse,rgba(244,235,221,.2),transparent 55%);animation:mist-drift 5s ease-in-out infinite}
.destiny-reveal__copy{position:relative;z-index:4;width:min(900px,88vw);padding:0 20px 10vh;text-align:center;text-shadow:0 3px 22px #07101d}
.destiny-reveal__copy p,.destiny-reveal__copy h2{opacity:0;transform:translateY(18px);animation:line-rise .8s ease forwards}.destiny-reveal__copy p:first-child{color:var(--gold);font-size:.75rem;font-weight:800;letter-spacing:.28em;animation-delay:.6s}.destiny-reveal__copy h2{margin:.25em 0;font:600 clamp(2.2rem,7vw,6.8rem)/.95 var(--font-display);animation-delay:1.5s}.destiny-reveal__copy p:last-child{animation-delay:2.7s}
.destiny-reveal__skip{position:absolute;z-index:5;right:24px;top:24px;padding:10px 12px;border:1px solid rgba(255,255,255,.5);background:rgba(7,16,29,.35);color:#fff;font-size:.68rem;letter-spacing:.12em;cursor:pointer}
@keyframes guides-enter{0%{opacity:0;transform:scale(1.1)}28%{opacity:.72}100%{opacity:.88;transform:scale(1.01)}}@keyframes line-rise{to{opacity:1;transform:none}}@keyframes mist-drift{50%{transform:translate3d(4%,-2%,0) scale(1.05)}}
@media(prefers-reduced-motion:reduce){.destiny-reveal__guides,.destiny-reveal__mist,.destiny-reveal__copy p,.destiny-reveal__copy h2{animation:none;opacity:1;transform:none}}

/* v13: hover-expand back-to-top control */
.back-to-top{position:fixed;z-index:40;right:clamp(16px,2.4vw,36px);bottom:clamp(16px,2.4vw,36px);display:flex;align-items:center;justify-content:flex-end;width:52px;height:52px;overflow:hidden;border:1px solid rgba(229,196,111,.72);border-radius:999px;background:rgba(12,23,37,.94);box-shadow:0 12px 34px rgba(7,16,29,.26);color:#fff;text-decoration:none;opacity:0;visibility:hidden;transform:translateY(14px);transition:width .28s ease,opacity .28s ease,transform .28s ease,visibility .28s ease,background .2s ease}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}.back-to-top span{max-width:0;overflow:hidden;white-space:nowrap;color:var(--gold);font-size:.68rem;font-weight:800;letter-spacing:.16em;opacity:0;transition:max-width .28s ease,opacity .2s ease,margin .28s ease}.back-to-top b{display:grid;place-items:center;flex:0 0 50px;height:50px;font-size:1.15rem}.back-to-top:hover,.back-to-top:focus-visible{width:142px;background:var(--vermilion)}.back-to-top:hover span,.back-to-top:focus-visible span{max-width:76px;margin-left:18px;opacity:1;color:#fff}.back-to-top:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:640px){.back-to-top{width:46px;height:46px}.back-to-top b{flex-basis:44px;height:44px}.back-to-top:hover,.back-to-top:focus-visible{width:124px}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}
