/* Kufam Black, from the Kufam Project. SIL OFL: ../fonts/Kufam_OFL.txt. */
@font-face {
  font-family:PalaceKufam;
  src:url('../fonts/palace-kufam-black.woff2') format('woff2');
  font-style:normal;
  font-weight:900;
  font-display:swap;
}
/* Homepage-only wallpaper and frost. The legacy stage used by downloads is
   unchanged. A contain-sized tile preserves the complete arcade photograph;
   horizontal repeats fill wide screens, with a coastal surround on tall ones. */
.palace-story {
  --story-ink:#f4f9fc;
  --story-muted:#d2e3ec;
  --story-paper:#132c3c;
  --story-line:rgba(220,240,250,.24);
  --story-accent:#a3e5f2;
  --on-image-text:#f4f9fc;
  --on-image-text-muted:#d2e3ec;
  --on-image-border:rgba(220,240,250,.24);
  --story-glass:rgba(8,25,39,.78);
  --story-glass-strong:rgba(6,20,33,.88);
  background:#18384c;
}
[data-theme="dark"] .palace-story {
  --story-ink:#f4f9fc;
  --story-muted:#c4dce8;
  --story-paper:#0a1c29;
  --story-line:rgba(220,240,250,.2);
  --story-accent:#8edce9;
  --story-glass:rgba(4,16,28,.84);
  --story-glass-strong:rgba(3,13,24,.92);
}
/* Website glass follows the selected theme; app previews keep their native UI. */
.palace-story {
  --card-ink:#173548;
  --card-muted:#35566a;
  --card-accent:#0b5b87;
  --card-glass:rgba(234,245,250,.86);
  --card-glass-edge:rgba(219,237,245,.72);
  --card-line:rgba(37,85,111,.19);
  --intro-glass:rgba(236,247,252,.65);
  --intro-glass-edge:rgba(222,240,249,.48);
  --nav-glass:rgba(236,246,250,.94);
  --nav-selected:#12648e;
  --nav-selected-ink:#fff;
  --card-shadow:rgba(14,46,66,.2);
}
[data-theme="dark"] .palace-story {
  --card-ink:#edf6fc;
  --card-muted:#bdcfdd;
  --card-accent:#9cdef0;
  --card-glass:rgba(11,27,42,.84);
  --card-glass-edge:rgba(15,37,54,.68);
  --card-line:rgba(175,216,239,.18);
  --intro-glass:rgba(8,24,38,.54);
  --intro-glass-edge:rgba(14,34,51,.32);
  --nav-glass:rgba(9,23,36,.94);
  --nav-selected:#a3e1ef;
  --nav-selected-ink:#0b2b3d;
  --card-shadow:rgba(0,8,18,.48);
}
.palace-story .header,.palace-story .header.is-scrolled,.palace-story .mobile-nav {
  background:var(--nav-glass);
  border-color:var(--card-line);
  box-shadow:0 5px 24px var(--card-shadow);
  -webkit-backdrop-filter:blur(22px) saturate(1.1);
  backdrop-filter:blur(22px) saturate(1.1);
}
.palace-story .header .logo,.palace-story .header .nav-link,.palace-story .header .theme-toggle {color:var(--card-ink)}
.palace-story .header .nav-link.active,.palace-story .header .nav-link:hover {color:var(--card-accent)}
.palace-story #stage {
  --stage-top:var(--header-height);
  --stage-fit-width:min(var(--stage-inline,100vw),calc((100dvh - var(--stage-top)) * 1.3333333333));
  --wallpaper-blur:0px;
  top:var(--stage-top);
  background:linear-gradient(180deg,#344e60 0%,#53788c 45%,#315e76 65%,#16394e 100%);
  contain:paint;
}
.palace-story #stage-wallpaper {
  position:absolute;
  inset:-32px;
  background-image:url('../images/bg/arcade-1280.webp');
  background-position:center;
  background-repeat:repeat-x;
  background-size:var(--stage-fit-width) auto;
  filter:blur(var(--wallpaper-blur));
  will-change:filter;
  /* The scroll controller eases the frost once per frame. */
  transition:none;
}
@media(min-width:1400px){.palace-story #stage-wallpaper{background-image:url('../images/bg/arcade-1920.webp')}}
@media(min-width:2200px){.palace-story #stage-wallpaper{background-image:url('../images/bg/arcade-2560.webp')}}
@media(max-width:700px){.palace-story #stage-wallpaper{background-image:url('../images/bg/arcade-768.webp')}}
/* Text receives its own glass surface; the wallpaper has no white veil. */
.palace-story .chapter-copy {
  padding:28px;
  background:var(--story-glass);
  border:1px solid var(--story-line);
  -webkit-backdrop-filter:blur(18px) saturate(1.15);
  backdrop-filter:blur(18px) saturate(1.15);
}
.palace-story .chapter-copy h2 {font-size:clamp(2.8rem,4.9vw,5.7rem)}
.palace-story .chapter-intro {font-size:clamp(17px,1.4vw,20px)}
.palace-story .story-figure figcaption {
  background:var(--story-glass-strong);
  padding:13px 16px;
  border-left:2px solid var(--story-accent);
  max-width:none;
  margin-top:18px;
  color:var(--story-muted);
}
.palace-story .story-toolbar {
  background:var(--nav-glass);
  border-color:var(--card-line);
  box-shadow:0 8px 24px var(--card-shadow);
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
}
.palace-story.story-stage-ready .story-toolbar {
  transition:opacity .35s ease,transform .45s cubic-bezier(.16,1,.3,1);
}
.palace-story.story-stage-ready:not(.story-reading) .story-toolbar {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-10px);
}
.palace-story .story-toolbar a,.palace-story .story-toolbar button {color:var(--card-muted);border-color:var(--card-line)}
.palace-story .story-toolbar a:hover,.palace-story .story-toolbar button:hover {background:var(--card-line);color:var(--card-ink)}
.palace-story .story-toolbar a[aria-current="location"] {background:var(--nav-selected);color:var(--nav-selected-ink)}
.palace-story .hero-title {text-shadow:0 2px 10px #04101ee6,0 0 40px #04101e88}
.palace-story .hero-title .text-gradient {background-image:linear-gradient(135deg,#fff,#9ee0f1);filter:drop-shadow(0 2px 3px #071628)}
.palace-story .hero-stage .hero-tagline,.palace-story .hero-stage .hero-value-line {
  background:linear-gradient(135deg,var(--intro-glass),var(--intro-glass-edge));
  color:var(--card-ink);
  text-shadow:none;
  padding:14px 24px;
  border:0;
  clip-path:var(--clip-bvl-md);
  -webkit-backdrop-filter:blur(10px) saturate(1.1);
  backdrop-filter:blur(10px) saturate(1.1);
}
.palace-story .scroll-cue {color:#fff;filter:drop-shadow(0 2px 4px #000)}
.palace-story .platform-intro .section-header {
  width:max-content;
  max-width:100%;
  margin-inline:auto;
  padding:24px 30px;
  background:var(--card-glass);
  border:0;
  clip-path:var(--clip-bvl-md);
}
.palace-story .platform-intro .text-gradient {background:none;color:var(--card-accent);-webkit-text-fill-color:var(--card-accent)}
.palace-story .platform-intro .glass {
  background:linear-gradient(135deg,var(--card-glass),var(--card-glass-edge));
  border:0;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.palace-story .story-platforms,.palace-story .story-cta,.palace-story .story-ending {
  background:var(--story-glass);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  border:1px solid var(--story-line);
  max-width:calc(100% - 10vw);
  margin:50px auto;
  padding:60px 4vw;
}
[data-theme="dark"] .palace-story .platform-card-glass img[src$="/apple.svg"] {filter:brightness(0) invert(1)}
.palace-story .platform-stories p,.palace-story .platform-note {color:var(--story-muted)}
.palace-story .platform-stories img {filter:drop-shadow(0 0 2px #ffffffaa)}
.palace-story .story-ending .container {padding:0;max-width:none}
.palace-story .story-ending .section-header {text-align:left}
.palace-story .story-ending h2 {font-size:clamp(2.7rem,5vw,5.6rem)}
.palace-story .story-ending .text-gradient {background-image:linear-gradient(135deg,#fff,#9ee0f1)}
.palace-story .story-ending .glass {background:rgba(5,19,32,.65);border-color:var(--story-line)}
.palace-story .compare-table-wrap {overflow-x:auto}
.palace-story .compare-table {min-width:620px;margin:12px 0}
.palace-story .compare-table th,.palace-story .compare-table td {padding:20px 15px}
.palace-story .compare-table .col-palace,.palace-story .icon-yes {color:#9ee0f1}
.palace-story .icon-no {color:#c6dbe6}
.palace-story .faq-list {max-width:none}
.palace-story .faq-item summary {font-size:18px;padding:23px 24px;line-height:1.5}
.palace-story .faq-item .faq-body {font-size:16px;line-height:1.8;padding:0 24px 24px;color:var(--story-muted)}
.palace-story .faq-body a {color:var(--story-accent)}
.palace-story .site-footer {background:var(--story-glass-strong);border-color:var(--story-line)}
.story-sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* An accessible five-card fan: hover, keyboard focus, and tap all reveal a
   wallpaper. The buttons change presentation only, not application content. */
.pc-wallpaper-deck {position:relative;height:620px;isolation:isolate;perspective:1200px;min-width:0}
.pc-deck-card {
  --lift:0px;
  --fan-step:44px;
  position:absolute;
  left:50%;
  top:40%;
  width:clamp(260px,80%,640px);
  aspect-ratio:16/10;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  text-align:left;
  z-index:calc(var(--card) + 1);
  transform-origin:50% 108%;
  transform:translate(calc(-50% + calc((var(--card) - 2) * var(--fan-step))),calc(-40% - var(--lift))) rotate(calc(var(--angle) * .65));
  transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s ease;
  filter:drop-shadow(0 18px 20px rgba(0,8,20,.45));
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.pc-deck-paper {position:absolute;inset:0;background:transparent;padding:0;overflow:hidden;border:0;clip-path:polygon(0 12px,12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px))}
.pc-deck-paper>img {height:100%;width:100%;object-fit:cover}
.pc-deck-card:hover,.pc-deck-card:focus-visible,.pc-deck-card.is-picked {
  --lift:48px;
  z-index:20;
  transform:translate(calc(-50% + calc((var(--card) - 2) * var(--fan-step))),calc(-40% - var(--lift))) rotate(calc(var(--angle) * .25)) scale(1.035);
  filter:drop-shadow(0 28px 26px rgba(0,8,20,.65));
}
.pc-deck-card:focus-visible {outline:3px solid var(--nav-selected);outline-offset:8px}
@media(min-width:801px){.pc-deck-card{left:calc(50% - 40px)}}
@media(max-width:1100px){
 .pc-deck-card{width:80%;--fan-step:30px}
 .pc-wallpaper-deck{height:500px}
 .palace-story .chapter-copy{padding:24px}
 .palace-story .chapter-copy h2{font-size:clamp(2.6rem,4.8vw,5rem)}
}
@media(max-width:800px){
 .pc-wallpaper-deck{height:570px}
 .pc-deck-card{width:80%;--fan-step:42px}
 .palace-story .chapter-copy{padding:26px}
 .palace-story .chapter-copy h2{font-size:clamp(2.8rem,7.5vw,4.5rem)}
 .palace-story .story-platforms,.palace-story .story-cta,.palace-story .story-ending{max-width:calc(100% - 48px);padding:40px 24px}
}
@media(max-width:480px){
 .pc-wallpaper-deck{height:420px}
 .pc-deck-card{width:clamp(220px,78vw,360px);--fan-step:16px;top:42%;transform:translate(calc(-50% + (var(--card) - 2) * var(--fan-step)),calc(-40% - var(--lift))) rotate(calc(var(--mobile-angle) * .65))}
 .pc-deck-card:hover,.pc-deck-card:focus-visible,.pc-deck-card.is-picked{--lift:35px;transform:translate(calc(-50% + (var(--card) - 2) * var(--fan-step)),calc(-40% - var(--lift))) rotate(calc(var(--mobile-angle) * .35)) scale(1.035)}
 .palace-story .chapter-copy{padding:24px 21px}
 .palace-story .chapter-copy h2{font-size:clamp(2.6rem,9vw,3.5rem)}
 .palace-story .platform-intro .section-header{padding:20px}
 .palace-story .story-platforms,.palace-story .story-cta,.palace-story .story-ending{max-width:calc(100% - 36px);padding:35px 20px}
 .palace-story .story-ending h2{font-size:2.7rem}
 .palace-story .faq-item summary{font-size:15px;padding:20px 16px}
 .palace-story .faq-item .faq-body{font-size:14px;padding:0 16px 20px}
}
@media(prefers-reduced-motion:reduce){
 .pc-deck-card{transition:none}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .palace-story .chapter-copy,.palace-story .story-platforms,.palace-story .story-cta,.palace-story .story-ending{background:var(--story-glass-strong)}
}

/* Keep title and footer lettering readable in both website themes. */
.palace-story .hero-title {text-shadow:0 2px 7px rgba(2,12,22,.8)}
.palace-story .hero-title .text-gradient {background:none;color:#f4f9fc;-webkit-text-fill-color:#f4f9fc;filter:none}
.palace-story .footer-brand-col .footer-logo span {background:none;color:var(--story-ink);-webkit-text-fill-color:var(--story-ink)}
.palace-story .footer-brand-col p,.palace-story .footer-col h5,
.palace-story .footer-col ul li a,.palace-story .footer-bottom-bar .copy,
.palace-story .footer-badge {color:var(--story-muted)}
.palace-story .footer-col ul li a:hover {color:#fff}
.palace-story .story-ending {scroll-margin-top:calc(var(--header-height) + 100px)}

/* Each explanation arrives as a scene. Scroll controls the outer figure only,
   leaving the app's own demonstrations and interactive controls intact. */
.palace-story.motion-ready:not(.story-motion-paused) .chapter-visual > .story-figure {
  opacity:var(--scene-opacity,1);
  transform:translate3d(0,var(--scene-y,0px),0) scale(var(--scene-scale,1));
  transform-origin:50% 60%;
}
.palace-story.motion-ready:not(.story-motion-paused) .chapter-copy > * {
  opacity:var(--copy-opacity,1);
  transform:translate3d(0,var(--copy-y,0px),0);
}
.palace-story.motion-ready .is-visible .palace-component {animation:none}
.palace-story .chapter-visual:focus-within > .story-figure {opacity:1!important;transform:none!important}
.palace-story .chapter-copy {--story-accent:var(--card-accent);border:0;background:linear-gradient(135deg,var(--card-glass),var(--card-glass-edge));clip-path:var(--clip-bvl-md)}
.palace-story .chapter-copy h2,.palace-story .platform-intro h2,.palace-story .platform-intro h3 {color:var(--card-ink)}
.palace-story .chapter-copy .chapter-intro,.palace-story .platform-intro p {color:var(--card-muted)}
.palace-story .chapter-copy h2 em,.palace-story .chapter-copy .chapter-kicker {color:var(--card-accent)}
.palace-story .chapter-copy .chapter-kicker > span {border-color:var(--card-line)}
.palace-story .chapter-layout {align-items:center}
@media(min-width:1101px) {
  .palace-story .story-chapter.can-pin {min-height:125svh}
}
@media(prefers-reduced-motion:reduce) {
  .palace-story .chapter-visual > .story-figure,.palace-story .chapter-copy > * {opacity:1!important;transform:none!important}
}

/* Closing scenes keep the same quiet arrival, including the final invitation. */
.palace-story.motion-ready:not(.story-motion-paused) :is(.story-ending,.story-platforms,.story-cta).is-visible > * {
  animation:storyClosingArrival .9s cubic-bezier(.16,1,.3,1) both;
}
.palace-story.motion-ready:not(.story-motion-paused) .story-cta.is-visible > :nth-child(2) {animation-delay:.08s}
.palace-story.motion-ready:not(.story-motion-paused) .story-cta.is-visible > :nth-child(n+3) {animation-delay:.16s}
@keyframes storyClosingArrival {
  from {opacity:.5;transform:translate3d(0,30px,0)}
  to {opacity:1;transform:translate3d(0,0,0)}
}
@media(prefers-reduced-motion:reduce) {
  .palace-story :is(.story-ending,.story-platforms,.story-cta) > * {animation:none!important}
}

/* Personalization is an open constellation of app icons, rather than a
   settings page. Each anchored item drifts gently within its own space. */
.pc-settings-orbit {position:relative;min-width:0;height:650px;isolation:isolate}
.pc-floating-setting {
  position:absolute;left:var(--x);top:var(--y);width:var(--size);
  margin-left:calc(var(--size) * -.5);margin-top:calc(var(--size) * -.5);
  display:grid;justify-items:center;gap:12px;color:#ecf7fc;
}
.pc-setting-glyph {
  width:100%;aspect-ratio:1;display:grid;place-items:center;
  background:transparent;
  filter:drop-shadow(0 3px 8px rgba(2,12,24,.45));
}
.pc-setting-glyph > .material-icon {font-size:calc(var(--size) * .42)!important;color:#b6e9fa}
.pc-floating-setting:nth-child(3n+2) .pc-setting-glyph > .material-icon {color:#bfc6ff}
.pc-setting-name {font:500 12px/1.3 PalaceRoboto,Roboto,sans-serif;white-space:nowrap;text-shadow:0 2px 8px #03111f}
.motion-ready .is-visible .pc-floating-setting {
  animation:pcSettingFloat var(--float-time) ease-in-out infinite alternate;
  animation-delay:var(--float-delay);
}
@keyframes pcSettingFloat {
  from {transform:translate3d(-7px,10px,0) rotate(-4deg)}
  to {transform:translate3d(9px,-14px,0) rotate(5deg)}
}
@media(max-width:1100px) and (min-width:801px) {
  .pc-floating-setting {width:calc(var(--size) * .75);margin-left:calc(var(--size) * -.375)}
  .pc-setting-glyph > .material-icon {font-size:calc(var(--size) * .34)!important}
}
@media(max-width:480px) {
  .pc-settings-orbit {height:510px}
  .pc-floating-setting {width:calc(var(--size) * .65);margin-left:calc(var(--size) * -.325);gap:9px}
  .pc-setting-glyph > .material-icon {font-size:calc(var(--size) * .3)!important}
  .pc-setting-name {font-size:10px}
}
@media(prefers-reduced-motion:reduce) {
  .pc-floating-setting {animation:none!important;transform:none!important}
}

.palace-story.story-motion-paused #stage-wallpaper {transition:none}
@media(prefers-reduced-motion:reduce) {
  .palace-story #stage-wallpaper,.palace-story.story-stage-ready .story-toolbar {transition:none}
}
/* The illustrative player follows its clock rather than chapter scroll beats. */
.palace-story #timer .pc-timer-progress i {width:100%;transform-origin:left;transform:scaleX(var(--timer-progress,0));transition:transform 1s linear}


/* Wide centered scenes punctuate the story; paired scenes alternate sides.
   The document keeps copy before its illustration for mobile and assistive tech. */
.palace-story .chapter-centered .chapter-layout {
  grid-template-columns:minmax(0,1fr);gap:38px;
}
.palace-story .chapter-centered .chapter-copy {
  width:100%;max-width:940px;margin-inline:auto;text-align:center;
}
.palace-story .chapter-centered .chapter-kicker {justify-content:center}
.palace-story .chapter-centered .chapter-copy h2 {font-size:clamp(3rem,6vw,6.5rem)}
.palace-story .chapter-centered .chapter-intro {max-width:56ch;margin:0 auto}
.palace-story .chapter-centered .chapter-visual {width:100%;max-width:1240px;margin-inline:auto}
.palace-story .chapter-centered::before {background:linear-gradient(90deg,transparent,var(--story-line),transparent)}
.palace-story .chapter-reversed::before {background:linear-gradient(270deg,var(--story-line),transparent)}
.palace-story #timer .chapter-visual {max-width:780px}
.palace-story #timer .pc-timer-time {font-size:clamp(64px,7vw,96px);color:var(--story-accent)}
@media(min-width:801px) {
  .palace-story .chapter-reversed .chapter-layout {grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:4vw}
  .palace-story .chapter-reversed .chapter-copy {grid-column:2;grid-row:1}
  .palace-story .chapter-reversed .chapter-visual {grid-column:1;grid-row:1}
}
@media(max-width:800px) {
  .palace-story .chapter-centered .chapter-layout {gap:30px}
  .palace-story .chapter-centered .chapter-copy h2 {font-size:clamp(2.6rem,7.5vw,4.5rem)}
}
@media(max-width:480px) {
  .palace-story .chapter-centered .chapter-copy h2 {font-size:clamp(2.3rem,9vw,3.5rem)}
  .palace-story .chapter-centered .chapter-layout {gap:24px}
}

.palace-story #targets .chapter-visual {max-width:1000px;margin-inline:auto}

/* Seven words, set directly on the wallpaper in wide, heavy display type. */
.palace-story .hero-stack {width:100%;max-width:1200px}
.palace-story .hero-stage .hero-statement {
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  font-family:PalaceKufam,'Inter',sans-serif;
  font-size:clamp(2.6rem,6.5vw,6.75rem);
  font-weight:900;
  line-height:1.08;
  letter-spacing:-.025em;
  color:#fff8ed;
  background:transparent;
  border:0;
  clip-path:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  text-shadow:0 2px 4px #041420d9,0 8px 32px #04142080;
  text-wrap:balance;
  transform:none;
}
/* SourceSelector's compact icon toolbar and expanded category branch. */
#sources .pc-selector-compact {margin:0 0 22px;gap:14px;align-items:flex-start;overflow:visible;flex-wrap:wrap;padding:0}
#sources .pc-selector-search-icon {display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;color:#b8cbd8}
#sources .pc-selector-search-icon > .material-icon {font-size:23px!important}
#sources .pc-selector-shuffle {width:40px;height:40px;flex-shrink:0}
#sources .pc-selector-shortcuts {gap:12px;margin-left:auto}
#sources .pc-collection-chip {color:var(--collection-accent,#b8cbd8);border-color:var(--collection-accent,#555);background:color-mix(in srgb,var(--collection-accent,#ffffff) 8%,transparent)}
#sources .pc-collection-chip.selected {background:color-mix(in srgb,var(--collection-accent,#73bbed) 18%,transparent);color:var(--collection-accent,#73bbed);border-color:var(--collection-accent,#0e6ba8)}
#sources .pc-collection-chip > .material-icon:last-child {font-size:16px!important}
#sources .pc-source-branch {flex-basis:100%;min-width:0}
#sources .pc-category-parent {width:max-content;max-width:100%}
#sources .pc-source-children {display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 3px 17px;padding:3px 0 5px 15px;border-left:1px solid #80cbc459}
@media(max-width:480px) {
  .palace-story .hero-stage .hero-statement {font-size:clamp(2.1rem,9.5vw,2.85rem)}
  #sources .pc-selector-compact {gap:8px}
  #sources .pc-selector-search-icon,#sources .pc-selector-shuffle {width:32px;height:37px}
  #sources .pc-selector-shortcuts {gap:6px}
  #sources .pc-selector-shortcuts > span > .material-icon {width:32px;height:37px}
  #sources .pc-source-children {margin-left:12px;padding-left:10px;gap:8px}
}

/* The brand reads like an architectural inscription above the two-line promise. */
.palace-story .hero-stack {gap:clamp(18px,2vw,28px)}
.palace-story .hero-stage .hero-title {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(12px,1.6vw,24px);
  margin:0 0 6px;
  font-family:PalaceKufam,'Inter',sans-serif;
  font-size:clamp(1.8rem,3.7vw,3.3rem);
  font-weight:900;
  line-height:1.1;
  color:#fff3dc;
  text-shadow:0 2px 5px #041420b3,0 6px 24px #04142066;
}
.palace-story .hero-wordmark {
  display:block;
  text-transform:uppercase;
  letter-spacing:.14em;
  padding-left:.14em;
}
.palace-story .hero-title::before,.palace-story .hero-title::after {
  content:'';
  display:block;
  width:clamp(26px,4.2vw,64px);
  height:10px;
  flex-shrink:0;
  background:linear-gradient(90deg,#cbe5e122,#d9eddf);
  clip-path:polygon(0 44%,calc(100% - 12px) 44%,calc(100% - 6px) 0,100% 50%,calc(100% - 6px) 100%,calc(100% - 12px) 56%,0 56%);
  filter:drop-shadow(0 1px 2px #04142066);
}
.palace-story .hero-title::after {transform:scaleX(-1)}
.palace-story .hero-line {display:block}
.palace-story .hero-line-accent {color:#b5e6ef}
.palace-story .hero-stage .hero-buttons {margin-top:14px;gap:16px}
.palace-story .header .logo > span {font-family:PalaceKufam,'Inter',sans-serif;font-weight:900;letter-spacing:-.04em}
@media(max-width:480px) {
  .palace-story .hero-stack {gap:22px}
  .palace-story .hero-stage .hero-title {font-size:clamp(1.65rem,7.4vw,2.15rem);gap:12px;margin-bottom:8px}
  .palace-story .hero-wordmark {letter-spacing:.1em;padding-left:.1em}
  .palace-story .hero-title::before,.palace-story .hero-title::after {width:28px;height:8px}
  .palace-story .hero-line-accent {margin-top:8px}
  .palace-story .hero-stage .hero-buttons {margin-top:6px}
}
