/* HOME — sole owner of Homepage visual/layout rules.
   Shared canvas rotation/scale/scroll mechanics live in stage.css. */

/* =========================================================
   HERO + PORTAL HOTSPOTS
   ========================================================= */
.home-page{
  background:#241914;
}

.home-page .site-shell{
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}

.home-page main{
  width:100%;
}

.home-page .topbar{
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:20;
  padding:24px clamp(24px,3vw,54px);
  background:transparent;
  color:var(--ivory);
  text-shadow:0 2px 12px rgba(0,0,0,.72);
}

.home-page .brand-mini,
.home-page .nav-social,
.home-page .nav-official{
  color:#f4e5c8;
}

.home-page .nav-official{
  order:1;
  white-space:nowrap;
  border-color:transparent;
  background:transparent;
  padding:7px 11px 5px;
  font-family:"Cormorant Garamond",Garamond,Georgia,"Times New Roman",serif;
  font-size:17px;
  font-weight:400;
  line-height:1.08;
  letter-spacing:.015em;
}

.home-page .nav-social{
  order:2;
  white-space:nowrap;
  border-color:transparent;
  background:transparent;
  padding:3px 11px 5px;
  font-family:"Cinzel",Georgia,"Times New Roman",serif;
  font-size:11px;
  font-weight:400;
  line-height:1.15;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.62;
}

.home-page .mini-sigil{
  background:rgba(8,6,15,.12);
  border-color:rgba(239,198,107,.55);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}

.home-page .home-account-slot{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-height:44px;
  margin-left:auto;
}

.home-page .home-account-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 11px 5px;
  border:1px solid transparent;
  border-radius:999px;
  color:#f4dfb4;
  background:transparent;
  font-family:"Cinzel",Georgia,"Times New Roman",serif;
  font-size:12px;
  font-weight:400;
  line-height:1.15;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-shadow:0 2px 11px rgba(0,0,0,.92),0 0 9px rgba(59,35,8,.28);
  transition:.22s ease;
}

.home-page .home-account-link:hover,
.home-page .home-account-link:focus-visible{
  color:#fff0cb;
  border-color:rgba(239,198,107,.34);
  background:rgba(8,6,15,.16);
  text-shadow:0 2px 11px rgba(0,0,0,.94),0 0 12px rgba(239,198,107,.24);
  outline:none;
}

.home-page .nav-official:hover,
.home-page .nav-official:focus-visible{
  border-color:rgba(239,198,107,.34);
  background:rgba(8,6,15,.16);
}

.home-page .nav-social:hover,
.home-page .nav-social:focus-visible{
  color:#fff1cf;
  opacity:.94;
  border-color:transparent;
  background:transparent;
}

.home-page .hero-stage{
  position:relative;
  width:100%;
  height:auto;
  min-height:0;
  margin:0;
  border:0;
  border-radius:0;
  overflow:visible;
  box-shadow:none;
  background:#070510;
  line-height:0;
}

.home-page .hero-stage::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(4,3,8,.20) 0%,rgba(4,3,8,.04) 18%,rgba(4,3,8,0) 38%,rgba(3,3,6,.08) 100%);
}

.hero-art-picture{
  display:block;
}

.home-page .hero-art{
  position:relative;
  z-index:0;
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  object-fit:cover;
  object-position:center top;
}

.hit{
  position:absolute;
  z-index:5;
  border-radius:16px;
  outline:none;
}

.hit::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:rgba(255,255,255,0);
  box-shadow:0 0 0 0 rgba(239,198,107,0);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.hit:not(.door-arch-hit):hover::after,
.hit:not(.door-arch-hit):focus-visible::after{
  background:rgba(255,255,255,.02);
  box-shadow:0 0 0 2px rgba(239,198,107,.72),0 0 28px rgba(239,198,107,.16) inset;
}

.door-arch-hit{
  border-radius:0;
  overflow:visible;
  isolation:auto;
}

.door-arch-hit::before,
.door-arch-hit::after{
  content:none;
  display:none;
}

.door-arch-hit:focus-visible{
  outline:none;
}

.door-gallery{
  left:30.3%;
  top:21.9%;
  width:10.9%;
  height:43%;
}

.door-library{
  left:48.8%;
  top:14.9%;
  width:13.4%;
  height:50.7%;
}

.door-about{
  left:70.45%;
  top:21.9%;
  width:10.45%;
  height:43%;
}

/* Hall of Prophecy — hotspot over the small castle on the far-right horizon.
   Kept independent from the three main doorway hotspots so it can be tuned
   without affecting Gallery / Library / About Sonam. */
.home-page .home-prophecy-hotspot{
  position:absolute;
  left:87.85%;
  top:25.8%;
  width:11.65%;
  height:32.6%;
  z-index:6;
  display:block;
  border:0;
  outline:none;
  border-radius:48% 48% 24% 24%;
  background:transparent;
  text-decoration:none;
  cursor:pointer;
}

.home-page .home-prophecy-label{
  position:absolute;
  left:50%;
  top:78%;
  transform:translate(-50%, calc(-50% - 65px));
  width:max-content;
  max-width:145%;
  padding:.24em .50em .28em;
  font-family:"Cinzel",Georgia,"Times New Roman",serif;
  font-size:clamp(13px,1.08vw,24px);
  font-weight:500;
  line-height:1;
  letter-spacing:.045em;
  color:#f5df9d;
  white-space:nowrap;
  text-align:center;
  text-shadow:
    0 1px 0 rgba(255,248,217,.34),
    0 2px 7px rgba(37,13,58,.92),
    0 0 13px rgba(65,31,100,.68),
    0 0 24px rgba(238,196,103,.22);
  pointer-events:none;
  transition:color .26s ease,text-shadow .26s ease,transform .26s ease,filter .26s ease;
}

.home-page .home-prophecy-hotspot::before{
  content:"";
  position:absolute;
  left:50%;
  top:42%;
  width:88%;
  height:74%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(246,211,126,.13) 0%,rgba(197,157,239,.065) 40%,transparent 72%);
  opacity:0;
  filter:blur(5px);
  pointer-events:none;
  transition:opacity .28s ease;
}

.home-page .home-prophecy-hotspot:hover::before,
.home-page .home-prophecy-hotspot:focus-visible::before{
  opacity:1;
}

.home-page .home-prophecy-hotspot:hover .home-prophecy-label,
.home-page .home-prophecy-hotspot:focus-visible .home-prophecy-label{
  color:#fff1bd;
  transform:translate(-50%,calc(-54% - 65px)) scale(1.035);
  text-shadow:
    0 1px 0 rgba(255,250,226,.46),
    0 2px 8px rgba(31,9,48,.96),
    0 0 16px rgba(239,198,107,.52),
    0 0 30px rgba(189,147,235,.34);
}

.home-page .home-prophecy-hotspot:focus-visible{
  outline:1px solid rgba(239,198,107,.76);
  outline-offset:4px;
}

/* Library doorway hover lighting. */
.library-light-layer,
.library-table-candle{
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  opacity:0;
  transition:opacity .22s ease;
  mix-blend-mode:screen;
}

.library-light-layer::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 2.0% 3.5% at 52.49% 21.18%,rgba(255,181,55,.34) 0%,rgba(255,158,35,.17) 38%,transparent 76%),
    radial-gradient(ellipse 2.0% 3.5% at 53.91% 19.97%,rgba(255,187,63,.36) 0%,rgba(255,162,38,.18) 38%,transparent 76%),
    radial-gradient(ellipse 2.0% 3.5% at 57.28% 20.14%,rgba(255,187,63,.36) 0%,rgba(255,162,38,.18) 38%,transparent 76%),
    radial-gradient(ellipse 2.0% 3.5% at 58.79% 21.44%,rgba(255,181,55,.34) 0%,rgba(255,158,35,.17) 38%,transparent 76%);
}

.library-light-layer::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse .52% 1.02% at 52.49% 21.18%,rgba(255,252,221,.78) 0%,rgba(255,213,111,.50) 31%,transparent 72%),
    radial-gradient(ellipse .52% 1.02% at 53.91% 19.97%,rgba(255,252,221,.82) 0%,rgba(255,216,118,.52) 31%,transparent 72%),
    radial-gradient(ellipse .52% 1.02% at 57.28% 20.14%,rgba(255,252,221,.82) 0%,rgba(255,216,118,.52) 31%,transparent 72%),
    radial-gradient(ellipse .52% 1.02% at 58.79% 21.44%,rgba(255,252,221,.78) 0%,rgba(255,213,111,.50) 31%,transparent 72%);
}

.library-table-candle-left::before,
.library-table-candle-left::after,
.library-table-candle-right::before,
.library-table-candle-right::after{
  content:"";
  position:absolute;
  inset:0;
}

.library-table-candle-left::before{
  background:radial-gradient(ellipse 1.8% 3.1% at 53.32% 54.90%,rgba(255,171,43,.30) 0%,rgba(240,126,22,.13) 42%,transparent 78%);
}

.library-table-candle-left::after{
  background:radial-gradient(ellipse .42% .86% at 53.32% 54.90%,rgba(255,247,201,.68) 0%,rgba(255,184,62,.37) 38%,transparent 76%);
}

.library-table-candle-right::before{
  background:radial-gradient(ellipse 1.8% 3.1% at 57.71% 54.90%,rgba(255,171,43,.30) 0%,rgba(240,126,22,.13) 42%,transparent 78%);
}

.library-table-candle-right::after{
  background:radial-gradient(ellipse .42% .86% at 57.71% 54.90%,rgba(255,247,201,.68) 0%,rgba(255,184,62,.37) 38%,transparent 76%);
}

.door-library:hover ~ .library-light-layer,
.door-library:focus-visible ~ .library-light-layer,
.door-library:hover ~ .library-table-candle,
.door-library:focus-visible ~ .library-table-candle{
  opacity:1;
}

.library-book-page{
  position:absolute;
  z-index:4;
  display:block;
  pointer-events:none;
  overflow:hidden;
  opacity:0;
  transition:opacity .18s ease;
  mix-blend-mode:screen;
}

.library-book-page::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse at 50% 42%,rgba(255,248,211,.32) 0%,rgba(255,220,132,.18) 54%,rgba(255,188,72,.06) 82%,transparent 100%);
}

.door-library:hover ~ .library-book-page,
.door-library:focus-visible ~ .library-book-page{
  opacity:1;
}

.library-book-page-left{
  left:53.91%;
  top:33.07%;
  width:1.86%;
  height:3.30%;
  clip-path:polygon(5% 10%,31% 2%,59% 0%,82% 7%,94% 18%,99% 42%,98% 92%,88% 100%,58% 91%,29% 94%,9% 90%,0% 79%,2% 31%);
}

.library-book-page-right{
  left:55.62%;
  top:33.07%;
  width:1.86%;
  height:3.30%;
  clip-path:polygon(1% 18%,13% 7%,38% 0%,67% 2%,93% 10%,98% 31%,100% 79%,91% 90%,71% 94%,42% 91%,12% 100%,2% 92%,1% 42%);
}

/* =========================================================
   WELCOME TITLE
   ========================================================= */
.home-page .welcome-home{
  position:absolute;
  left:8.1%;
  top:25.8%;
  width:17.2%;
  z-index:4;
  text-align:center;
  white-space:nowrap;
  pointer-events:none;
}

.home-page .welcome-home .welcome-word,
.home-page .welcome-home .home-word,
.home-page .welcome-home .welcome-slogan{
  display:block;
  width:max-content;
  margin-left:auto;
  margin-right:auto;
  pointer-events:auto;
  transition:color .70s cubic-bezier(.22,.61,.36,1),text-shadow .70s cubic-bezier(.22,.61,.36,1),filter .70s cubic-bezier(.22,.61,.36,1);
}

.home-page .welcome-home .welcome-word{
  font-family:"Cormorant Infant",Garamond,Georgia,"Times New Roman",serif;
  font-size:clamp(22.5px,1.962vw,45px);
  font-weight:500;
  line-height:.96;
  letter-spacing:.085em;
  color:#d9b56a;
  text-shadow:0 1px 0 rgba(255,242,204,.12),0 2px 8px rgba(35,14,47,.46);
  transform:translate(-0.12em,-0.52em);
}

.home-page .welcome-home .home-word{
  margin-top:.22em;
  font-family:"Ballet",cursive;
  font-size:clamp(45.1px,4.092vw,93.5px);
  font-weight:400;
  line-height:.80;
  letter-spacing:0;
  color:#f0d38d;
  text-shadow:
    0 1px 0 rgba(255,244,214,.12),
    0 2px 2px rgba(38,12,49,.78),
    1px 2px 3px rgba(31,9,43,.52),
    -1px 2px 3px rgba(31,9,43,.52),
    0 5px 11px rgba(24,6,34,.38);
}

.home-page .welcome-home .welcome-slogan{
  position:relative;
  isolation:isolate;
  margin-top:.68em;
  font-family:"Cormorant Garamond",Garamond,Georgia,"Times New Roman",serif;
  font-size:clamp(19.5px,1.38vw,31.5px);
  font-weight:400;
  font-style:italic;
  line-height:1.1;
  letter-spacing:.012em;
  color:#f3cf6a;
  text-shadow:
    0 1px 0 rgba(255,247,211,.34),
    0 1px 1px rgba(38,12,49,.78),
    1px 1px 2px rgba(31,9,43,.48),
    -1px 1px 2px rgba(31,9,43,.48),
    0 3px 8px rgba(24,6,34,.42),
    0 0 7px rgba(243,207,106,.18);
}

@media (hover:hover) and (pointer:fine){
  .home-page .welcome-home:has(.welcome-word:hover,.home-word:hover,.welcome-slogan:hover) .welcome-word,
  .home-page .welcome-home:has(.welcome-word:hover,.home-word:hover,.welcome-slogan:hover) .home-word,
  .home-page .welcome-home:has(.welcome-word:hover,.home-word:hover,.welcome-slogan:hover) .welcome-slogan{
    transition-duration:.45s;
  }

  .home-page .welcome-home:has(.welcome-word:hover,.home-word:hover,.welcome-slogan:hover) .welcome-word{
    color:#ffe19a;
    filter:brightness(1.08);
    text-shadow:0 0 1px rgba(255,250,224,.50),0 0 2px rgba(255,224,142,.38),0 1px 2px rgba(48,18,57,.72),0 0 4px rgba(229,174,71,.16);
  }

  .home-page .welcome-home:has(.welcome-word:hover,.home-word:hover,.welcome-slogan:hover) .home-word{
    color:#fff0bd;
    filter:brightness(1.14);
    text-shadow:0 1px 0 rgba(255,255,241,.76),0 0 1.5px rgba(255,242,184,.82),0 0 3px rgba(255,218,118,.56),0 2px 2px rgba(47,16,57,.82),0 4px 7px rgba(28,7,39,.46),0 0 7px rgba(119,61,126,.12);
  }

  .home-page .welcome-home:has(.welcome-word:hover,.home-word:hover,.welcome-slogan:hover) .welcome-slogan{
    color:transparent;
    -webkit-text-fill-color:transparent;
    background-image:linear-gradient(100deg,#ffdc78 0%,#ffdc78 40%,#ffe49a 44%,#fff0bc 47%,#fffdf1 49.5%,#fff 50%,#fff6cf 51.5%,#ffe9a3 55%,#ffdc78 60%,#ffdc78 100%);
    background-size:285% 100%;
    background-position:155% 50%;
    -webkit-background-clip:text;
    background-clip:text;
    animation:sloganFairyTextTrail 2.65s cubic-bezier(.32,.02,.20,1) infinite;
    filter:brightness(1.20);
    text-shadow:0 0 1px rgba(255,255,238,.78),0 0 2px rgba(255,226,128,.50),0 0 2.5px rgba(51,17,59,.52);
  }

  .home-page .welcome-home .welcome-slogan::after{
    content:"";
    position:absolute;
    z-index:2;
    top:calc(100% + .14em);
    left:-1.5%;
    width:3px;
    height:3px;
    border-radius:50%;
    opacity:0;
    pointer-events:none;
    background:radial-gradient(circle,rgba(255,255,247,.98) 0 38%,rgba(255,236,169,.94) 52%,rgba(255,214,104,.62) 72%,rgba(255,214,104,0) 100%);
    box-shadow:0 0 2px rgba(255,244,192,.88),0 0 4px rgba(244,192,73,.32);
  }

  .home-page .welcome-home .welcome-slogan::before{
    content:"";
    position:absolute;
    z-index:1;
    top:calc(100% + .16em);
    left:-3%;
    width:20px;
    height:10px;
    transform:translate(-50%,-50%);
    opacity:0;
    pointer-events:none;
    background:
      radial-gradient(circle at 18% 52%,rgba(255,249,220,.92) 0 .8px,transparent 1.5px),
      radial-gradient(circle at 48% 28%,rgba(255,231,150,.86) 0 .7px,transparent 1.3px),
      radial-gradient(circle at 78% 66%,rgba(255,245,202,.82) 0 .75px,transparent 1.4px);
    filter:drop-shadow(0 0 2px rgba(255,220,110,.42));
  }

  .home-page .welcome-home:has(.welcome-word:hover,.home-word:hover,.welcome-slogan:hover) .welcome-slogan::after{
    animation:sloganFairyStar 2.65s cubic-bezier(.32,.02,.20,1) infinite;
  }

  .home-page .welcome-home:has(.welcome-word:hover,.home-word:hover,.welcome-slogan:hover) .welcome-slogan::before{
    animation:sloganFairyDust 2.65s cubic-bezier(.32,.02,.20,1) infinite;
  }
}

@keyframes sloganFairyTextTrail{
  0%,8%{background-position:155% 50%;}
  66%,100%{background-position:-55% 50%;}
}

@keyframes sloganFairyStar{
  0%,7%{left:-1.5%;opacity:0;transform:translate(-50%,-50%) scale(.65);}
  11%{opacity:.98;}
  30%{transform:translate(-50%,-56%) scale(1);}
  49%{transform:translate(-50%,-46%) scale(1.06);}
  64%{left:99%;opacity:.98;transform:translate(-50%,-52%) scale(.96);}
  64.01%,100%{left:99%;opacity:0;transform:translate(-50%,-52%) scale(.55);}
}

@keyframes sloganFairyDust{
  0%,7%{left:-3%;opacity:0;transform:translate(-50%,-50%) scale(.70);}
  12%{opacity:.82;}
  34%{transform:translate(-50%,-58%) scale(.95);}
  52%{transform:translate(-50%,-44%) scale(1.02);}
  64%{left:98%;opacity:.78;transform:translate(-50%,-50%) scale(.90);}
  69%,100%{left:100%;opacity:0;transform:translate(-50%,-50%) scale(.66);}
}

@media (prefers-reduced-motion:reduce){
  .home-page .welcome-home:has(.welcome-word:hover,.home-word:hover,.welcome-slogan:hover) .welcome-slogan{
    animation:none;
    background-position:50% 50%;
  }

  .home-page .welcome-home:has(.welcome-word:hover,.home-word:hover,.welcome-slogan:hover) .welcome-slogan::before,
  .home-page .welcome-home:has(.welcome-word:hover,.home-word:hover,.welcome-slogan:hover) .welcome-slogan::after{
    animation:none;
    opacity:0;
  }
}

/* =========================================================
   LATEST UPDATE
   ========================================================= */
.home-page .home-latest-update{
  display:block;
  position:absolute;
  z-index:8;
  left:0;
  right:0;
  bottom:calc(6.25% + 50px);
  width:100%;
  box-sizing:border-box;
  padding:0;
  background:none;
  border:0;
  overflow:visible;
  pointer-events:none;
}

.home-page .home-latest-update-inner{
  position:relative;
  left:55%;
  z-index:1;
  width:min(864px,57.6vw);
  height:186px;
  min-height:186px;
  margin:0;
  padding:10px 24px 10px 18px;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:24px;
  align-items:center;
  overflow:visible;
  transform:translateX(-50%);
  background:rgba(11,5,24,.70);
  border:1px solid rgba(239,198,107,.58);
  border-radius:0;
  -webkit-backdrop-filter:blur(5px) saturate(1.08);
  backdrop-filter:blur(5px) saturate(1.08);
  box-shadow:inset 0 1px 0 rgba(255,226,151,.14),inset 0 0 22px rgba(98,49,132,.18),0 16px 34px rgba(0,0,0,.36);
  pointer-events:auto;
}

.home-page .home-latest-cover-wrap{
  position:relative;
  grid-column:1;
  width:94.875px;
  justify-self:center;
  align-self:center;
  perspective:1200px;
}

.home-page .home-latest-cover-glow{
  position:absolute;
  z-index:0;
  inset:8% -12% -6%;
  border-radius:48%;
  opacity:.18;
  pointer-events:none;
  background:radial-gradient(ellipse,rgba(173,88,220,.26) 0%,rgba(232,169,78,.13) 37%,transparent 72%);
  filter:blur(12px);
  transition:opacity .4s ease,transform .45s ease;
}

.home-page .home-latest-cover-link{
  position:relative;
  z-index:1;
  display:block;
  line-height:0;
  text-decoration:none;
}

.home-page .home-latest-cover-link:focus-visible{
  outline:2px solid rgba(255,224,153,.9);
  outline-offset:4px;
  border-radius:5px;
}

.home-latest-cover-picture{
  display:block;
  line-height:0;
}

.home-page .home-latest-cover{
  position:relative;
  z-index:1;
  width:100%;
  height:auto;
  border:1px solid rgba(239,198,107,.42);
  border-radius:5px;
  transform:translateY(0) rotateY(0);
  box-shadow:0 14px 30px rgba(0,0,0,.52),0 0 0 1px rgba(255,225,157,.05) inset;
  transition:transform .42s cubic-bezier(.2,.7,.2,1),box-shadow .42s ease;
}

.home-page .home-latest-cover-wrap:hover .home-latest-cover-glow{
  opacity:1;
  transform:scale(1.04);
}

.home-page .home-latest-cover-wrap:hover .home-latest-cover{
  transform:translateY(-5px) rotateY(-.8deg);
  box-shadow:0 24px 48px rgba(0,0,0,.60),0 0 0 1px rgba(255,225,157,.10) inset,0 0 24px rgba(128,71,171,.12);
}

.home-page .home-latest-copy{
  position:relative;
  z-index:1;
  grid-column:2;
  width:100%;
  max-width:none;
  justify-self:start;
  align-self:center;
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  grid-template-rows:auto auto auto auto;
  column-gap:20px;
  row-gap:0;
  align-items:start;
  padding:0;
}

.home-page .home-latest-eyebrow{
  display:flex;
  grid-column:1;
  grid-row:1;
  width:auto;
  margin:0 0 7px;
  align-items:center;
  align-self:end;
  gap:8px;
  color:#d8b864;
  font-family:"Cormorant Infant",Garamond,Georgia,serif;
  font-size:11.5px;
  font-weight:600;
  line-height:1;
  letter-spacing:.18em;
  white-space:nowrap;
}

.home-page .home-latest-date{
  grid-column:2;
  grid-row:1;
  justify-self:start;
  align-self:end;
  margin:0 0 7px;
  color:rgba(231,216,190,.70);
  font-size:11.5px;
  line-height:1;
  letter-spacing:.18em;
}

.home-page .home-latest-copy h2{
  grid-column:1/-1;
  grid-row:2;
  max-width:none;
  margin:0 0 7px;
  color:#f4d078;
  font-family:"Cormorant Infant",Garamond,Georgia,serif;
  font-size:clamp(29.9px,2.047vw,39.1px);
  font-weight:600;
  line-height:1;
  letter-spacing:.025em;
  text-shadow:0 2px 12px rgba(0,0,0,.62),0 0 14px rgba(234,166,56,.10);
}

.home-page .home-latest-genre{
  grid-column:1;
  grid-row:3;
  margin:0;
  padding-top:1px;
  color:rgba(240,218,181,.90);
  font-family:Garamond,Georgia,"Times New Roman",serif;
  font-size:16.1px;
  font-style:italic;
  font-weight:400;
  line-height:1.35;
  letter-spacing:.03em;
  white-space:nowrap;
}

.home-page .home-latest-intro{
  grid-column:2;
  grid-row:3;
  width:min(100%,520px);
  max-width:520px;
  margin:0;
  color:rgba(243,235,222,.88);
  font-family:"Cormorant Garamond",Garamond,"Times New Roman",serif;
  font-size:16.56px;
  font-weight:400;
  font-style:normal;
  line-height:1.38;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  text-shadow:0 2px 8px rgba(0,0,0,.72);
}

.home-page .home-latest-actions{
  grid-column:1/-1;
  grid-row:4;
  display:flex;
  flex-wrap:wrap;
  gap:30px;
  align-items:center;
  margin-top:10px;
}

.home-page .home-latest-action{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:0 0 3px;
  font-family:"Cormorant Infant",Garamond,Georgia,serif;
  line-height:1.15;
  letter-spacing:.13em;
  text-shadow:0 1px 8px rgba(0,0,0,.65);
  transition:color .22s ease,text-shadow .22s ease,transform .22s ease;
}

.home-page .home-latest-action-primary{
  color:#f2cb70;
  font-size:13.8px;
}

.home-page .home-latest-action-secondary{
  color:rgba(238,224,197,.70);
  font-size:12.65px;
}

.home-page .home-latest-action::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  transform-origin:left center;
  transition:transform .26s ease,opacity .26s ease;
}

.home-page .home-latest-action-primary::after{
  background:linear-gradient(90deg,#efc66b,rgba(239,198,107,.18));
}

.home-page .home-latest-action-secondary::after{
  background:linear-gradient(90deg,rgba(238,224,197,.52),rgba(238,224,197,.08));
}

.home-page .home-latest-action:hover,
.home-page .home-latest-action:focus-visible{
  transform:translateX(3px);
  outline:none;
}

.home-page .home-latest-action-primary:hover,
.home-page .home-latest-action-primary:focus-visible{
  color:#ffe099;
  text-shadow:0 0 14px rgba(239,198,107,.28);
}

.home-page .home-latest-action-secondary:hover,
.home-page .home-latest-action-secondary:focus-visible{
  color:#f2e4cb;
}

.home-page .home-latest-action:hover::after,
.home-page .home-latest-action:focus-visible::after{
  transform:scaleX(.72);
  opacity:.9;
}

/* =========================================================
   HOMEPAGE FOOTER — one intentional royal navigation group.
   The links share one type system and remain fully visible.
   ========================================================= */
.home-page .site-footer{
  position:absolute;
  left:50%;
  right:auto;
  bottom:22px;
  z-index:18;
  width:min(760px,calc(100% - 48px));
  margin:0;
  padding:12px 28px 0;
  transform:translateX(-50%);
  pointer-events:auto;
  background:transparent;
  text-align:center;
  isolation:isolate;
}

.home-page .site-footer::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-22px;
  z-index:-1;
  width:min(820px,calc(100vw - 24px));
  height:108px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse at 50% 100%,rgba(7,4,12,.72) 0%,rgba(7,4,12,.46) 42%,rgba(7,4,12,.14) 68%,transparent 82%);
  pointer-events:none;
}

.home-page .home-footer-actions{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:0 0 9px;
}

.home-page .home-footer-actions .nav-official,
.home-page .home-footer-actions .nav-social{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:auto;
  margin:0;
  padding:2px 0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#f4dfb4;
  opacity:1;
  font-family:"Cormorant Garamond",Garamond,Georgia,"Times New Roman",serif;
  font-size:18px;
  font-weight:500;
  line-height:1.15;
  letter-spacing:.035em;
  text-transform:none;
  text-align:center;
  white-space:nowrap;
  text-shadow:0 2px 11px rgba(0,0,0,.92),0 0 9px rgba(59,35,8,.28);
  transition:color .18s ease,text-shadow .18s ease;
}

.home-page .home-footer-actions .nav-official:hover,
.home-page .home-footer-actions .nav-official:focus-visible,
.home-page .home-footer-actions .nav-social:hover,
.home-page .home-footer-actions .nav-social:focus-visible{
  color:#fff0cb;
  opacity:1;
  background:transparent;
  border-color:transparent;
  text-shadow:0 2px 11px rgba(0,0,0,.94),0 0 12px rgba(239,198,107,.24);
  outline:none;
}

.home-page .home-footer-separator{
  display:inline-block;
  color:#cfa85f;
  font-size:10px;
  line-height:1;
  text-shadow:0 1px 8px rgba(0,0,0,.9);
  transform:translateY(1px);
}

.home-page .site-footer p{
  margin:0;
  color:#e7d8bf;
  font-family:"Cormorant Garamond",Garamond,Georgia,"Times New Roman",serif;
  font-size:14px;
  font-weight:400;
  line-height:1.2;
  letter-spacing:.025em;
  text-align:center;
  white-space:nowrap;
  text-shadow:0 2px 11px rgba(0,0,0,.94);
}

@media (max-width:620px){
  .home-page .site-footer{
    bottom:16px;
    width:calc(100% - 24px);
    padding-inline:12px;
  }

  .home-page .home-footer-actions{
    flex-direction:column;
    gap:3px;
    margin-bottom:8px;
  }

  .home-page .home-footer-separator{
    display:none;
  }

  .home-page .home-footer-actions .nav-official,
  .home-page .home-footer-actions .nav-social{
    font-size:17px;
  }

  .home-page .site-footer p{
    font-size:13px;
    white-space:normal;
  }
}


/* =========================================================
   TOUCH MASTER CANVAS — HOME CONTENT ONLY
   Generic rotation/scale/scroll mechanics live in stage.css.
   ========================================================= */
html.sz-stage-active .home-page .site-shell{
  position:relative;
  display:block;
  width:2048px;
  height:1152px;
  max-width:none;
  margin:0;
  padding:0;
  overflow:hidden;
}

html.sz-stage-active .home-page main{
  position:absolute;
  left:0;
  top:0;
  width:2048px;
  height:1152px;
  margin:0;
  padding:0;
  overflow:hidden;
}

html.sz-stage-active .home-page .hero-stage{
  position:absolute;
  left:0;
  top:0;
  width:2048px;
  height:1152px;
  margin:0;
  padding:0;
  overflow:hidden;
}

html.sz-stage-active .home-page .hero-art-picture,
html.sz-stage-active .home-page .hero-art{
  display:block;
  width:2048px;
  height:1152px;
  max-width:none;
  object-fit:fill;
  object-position:0 0;
}

html.sz-stage-active .home-page .topbar{
  display:flex;
  position:absolute;
  left:0;
  right:auto;
  top:0;
  width:2048px;
  box-sizing:border-box;
  padding:24px 54px;
  z-index:20;
}

html.sz-stage-active .home-page .home-prophecy-label{
  font-size:22px;
}

html.sz-stage-active .home-page .welcome-home .welcome-word{
  font-size:40.18px;
}

html.sz-stage-active .home-page .welcome-home .home-word{
  font-size:83.80px;
}

html.sz-stage-active .home-page .welcome-home .welcome-slogan{
  font-size:28.26px;
}

html.sz-stage-active .home-page .home-latest-update{
  bottom:122px;
  width:2048px;
}

html.sz-stage-active .home-page .home-latest-update-inner{
  width:864px;
}

html.sz-stage-active .home-page .home-latest-copy{
  min-width:0;
}

html.sz-stage-active .home-page .home-latest-copy h2{
  font-size:39.1px;
}

html.sz-stage-active .home-page .home-latest-intro{
  width:auto;
  max-width:100%;
  min-width:0;
}

html.sz-stage-active .home-page .site-footer{
  display:block;
  position:absolute;
  left:50%;
  right:auto;
  top:auto;
  bottom:24px;
  width:760px;
  height:auto;
  margin:0;
  padding:12px 28px 0;
  transform:translateX(-50%);
  background:transparent;
}

html.sz-stage-active .home-page .site-footer::before{
  width:820px;
}

html.sz-stage-active .home-page .site-footer p{
  margin:0;
  font-size:14px;
  text-align:center;
}

/* v16.42 — Returning-home artwork cycle */
html.home-art-cycle-js .home-page .home-art-base-picture{
  opacity:0;
}

html.home-art-cycle-js.home-art-cycle-ready .home-page .home-art-base-picture{
  opacity:1;
  transition:opacity .32s ease;
}

.home-page .home-art-transition-picture{
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  width:100%;
  height:100%;
  opacity:0;
  pointer-events:none;
  transition:opacity .78s ease;
}

.home-page .home-art-transition-picture[hidden]{
  display:none;
}

.home-page .home-art-transition-picture.is-active{
  opacity:1;
}

.home-page .home-art-transition{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

html.sz-stage-active .home-page .home-art-transition-picture,
html.sz-stage-active .home-page .home-art-transition{
  width:2048px;
  height:1152px;
  max-width:none;
  object-fit:fill;
  object-position:0 0;
}

@media (prefers-reduced-motion: reduce){
  html.home-art-cycle-js.home-art-cycle-ready .home-page .home-art-base-picture,
  .home-page .home-art-transition-picture{
    transition:none;
  }
}
