:root{color-scheme:light;--bg:#f7efe2;--ink:#312023;--surface:#fff9ef;--panel:#f0e4d0;--muted:#624d4b;--accent:#8b312a;--line:#ccb4a5}
@font-face{font-family:Display;src:url("cinzel.woff2") format("woff2");font-weight:700;font-display:swap}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,h3,p,figure,blockquote{margin:0}
h1,h2,h3{line-height:1.06;overflow-wrap:break-word}
h1,h2,.theme-name{font-family:Display,Georgia,sans-serif;font-weight:700}
h1{font-size:clamp(2.4rem,6vw,5.5rem);letter-spacing:-.035em;text-wrap:balance}
h2{font-size:clamp(1.65rem,3.5vw,3rem);letter-spacing:-.025em}
h3{font-size:1.27rem}
a{color:inherit}
a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
img,amp-img{display:block;max-width:100%}
.wrap{width:min(1200px,calc(100% - 2 * clamp(18px,5vw,66px)));margin-inline:auto}
.skip{position:absolute;z-index:10;left:1rem;top:1rem;transform:translateY(-160%);padding:.55rem .8rem;background:var(--ink);color:var(--bg)}
.skip:focus{transform:none}
.top{position:relative;z-index:2;border-bottom:1px solid var(--line);background:var(--bg)}
.mast,.foot-inner{min-height:73px;display:flex;align-items:center;justify-content:space-between;gap:12px 26px;flex-wrap:wrap;padding-block:12px}
.brand{display:block;flex-shrink:0;width:clamp(151px,17vw,218px);text-decoration:none}
.brand img{width:100%;height:auto}
nav{display:flex;align-items:center;flex-wrap:wrap;gap:3px clamp(10px,2vw,24px)}
nav a{display:inline-block;min-height:36px;padding-block:7px;color:var(--muted);font-size:.83rem;font-weight:650;text-decoration:none}
nav a:hover,nav a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:5px}
.eyebrow,.index-number,.badge,.figure-tag,.stamp,.section-kicker{font:750 .72rem/1.35 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.12em}
.eyebrow,.section-kicker{color:var(--accent)}
.kicker-row{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap}
.badge{border:1px solid var(--line);padding:.4rem .55rem}
.scene{position:relative;isolation:isolate;min-width:0;padding-block:clamp(30px,6vw,82px);border-bottom:1px solid var(--line)}
.hero-grid,.hero-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,5vw,70px);align-items:center}
.hero-copy{position:relative;z-index:1;min-width:0}
.hero-copy h1{margin-top:14px}
.lede,.desc{color:var(--muted);max-width:61ch}
.lede{font-size:clamp(1rem,1.5vw,1.16rem);margin-top:14px}
.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:24px}
.cta{display:inline-flex;align-items:center;min-height:43px;padding:.55rem .9rem;border:1px solid var(--accent);font-size:.9rem;font-weight:800;text-decoration:none;background:var(--accent);color:var(--bg)}
.cta.secondary{background:transparent;color:var(--accent)}
.cta:hover{box-shadow:0 0 0 3px var(--line)}
.art{position:relative;min-width:0}
.art img,.art amp-img{width:100%;aspect-ratio:1}
.art img{height:auto;object-fit:cover}
.art figcaption{padding:.4rem .2rem 0;color:var(--muted);font-size:.72rem}
.art.short img,.art.short amp-img{aspect-ratio:16/7}
.art.short img{height:100%;object-position:center 33%}
.art.short amp-img img{object-fit:cover;object-position:center 33%}
.art.short amp-img{overflow:hidden}
.frame{padding:8px;border:1px solid var(--line);background:var(--surface)}
.ornament{position:relative;display:grid;place-items:center;min-width:0}
.emblem{display:block;width:76px;aspect-ratio:1}
.emblem img{width:100%;height:auto}
.stamp{color:var(--accent)}
.content{padding-block:clamp(29px,5vw,65px)}
.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(13px,3vw,32px);align-items:start}
.content-grid>*,.hero-grid>*,.hero-pair>*{min-width:0}
.panel{padding:clamp(16px,2.6vw,30px);border:1px solid var(--line);background:var(--panel);min-width:0}
.panel h2{margin:.35rem 0 .7rem}
.panel h3{margin-bottom:.45rem}
.panel p+p,.panel p+a{margin-top:.6rem}
.panel .desc{margin-bottom:.8rem}
.feature-panel{grid-column:auto}
.text-link{display:inline-block;color:var(--accent);font-size:.9rem;font-weight:750;text-underline-offset:4px}
.steps{list-style:none;counter-reset:item;display:grid;gap:.48rem;padding:0;margin:.5rem 0 .85rem}
.steps li{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:baseline}
.steps li::before{counter-increment:item;content:"0" counter(item);color:var(--accent);font:750 .73rem ui-monospace,monospace}
.faq-list{border-top:1px solid var(--line);margin-bottom:.7rem}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:750;padding:.65rem 0}
summary::marker{color:var(--accent)}
details p{margin:0 0 .8rem;color:var(--muted)}
.quote{font:1.16rem/1.5 Georgia,serif;margin:.45rem 0}
.fine,.caption{color:var(--muted);font-size:.82rem}
.chapter{padding-block:clamp(24px,5vw,56px);border-bottom:1px solid var(--line);background:var(--surface)}
.chapter h1{margin:.4rem 0}
.breadcrumb{font-size:.82rem;color:var(--muted);margin-bottom:14px}
.breadcrumb a{text-underline-offset:4px}
.reading{max-width:72ch}
.reading section+section{margin-top:1.6rem}
.reading h2{margin-bottom:.48rem;font-size:clamp(1.35rem,3vw,2rem)}
.reading p{color:var(--muted)}
.reading p+a,.reading section+a{margin-top:1.25rem}
.foot{border-top:1px solid var(--line)}
@media(max-width:760px){.hero-grid,.hero-pair,.content-grid{grid-template-columns:1fr;gap:18px}.mast{gap:6px;padding-block:10px}.mast nav{width:100%}.hero-copy h1{margin-top:.55rem}.actions{margin-top:17px}.hero-copy .lede{margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


.palazzo .top .mast,.throne .top .mast{justify-content:center}
.palazzo .scene{background:radial-gradient(ellipse at center,#fff9ef,#ead7bf)}
.palazzo .palace{border:double 5px #a45c51;display:grid;grid-template-columns:1fr minmax(0,1.05fr);gap:clamp(16px,3vw,45px);padding:clamp(13px,3.4vw,42px);align-items:center}
.palazzo .hero-copy{text-align:center}
.palazzo .hero-copy .lede{margin-inline:auto}
.palazzo .hero-copy .actions,.palazzo .kicker-row{justify-content:center}
.palazzo .art img,.palazzo .art amp-img{border-radius:46% 46% 0 0 / 30% 30% 0 0}
.palazzo h1{font-size:clamp(2.2rem,4.5vw,4.35rem)}
.palazzo .content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.palazzo .panel{background:transparent;border:0;border-top:3px double var(--accent);text-align:center}
.palazzo .faq-panel{text-align:left}
.palazzo .steps{justify-content:center}


@media(max-width:760px){
  .arkade .cabinet,.palazzo .palace,.cockpit .hud,.atelier .editorial,.forest .atlas,.throne .royal-room,.archive .archive-grid,.comic .comic-board,.folio .book,.track .track-grid,.broadcast .studio,.deco .deco-grid,.gallery .gallery-strip{grid-template-columns:minmax(0,1fr)}
  .theme .content-grid{grid-template-columns:minmax(0,1fr)}
  .theme .panel{grid-column:auto;grid-row:auto}
  .theme .guide-panel .steps{grid-template-columns:1fr}
  .palazzo .top .mast,.throne .top .mast{justify-content:flex-start}
  .observatorium .art{margin:0 12px 23px;padding:12px}
  .arkade .cabinet .art{margin:0 12px 12px}
  .poster .poster-wrap{min-height:525px}
  .poster .poster-back::after{background:linear-gradient(0deg,#130b20 0%,#130b20e8 30%,#130b2033 100%)}
  .temple .art,.track .track-grid .art,.forest .art,.atelier .art,.comic .comic-board{transform:none}
  .cockpit .rail,.archive .archive-index{display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap;border-right:0}
  .atelier .hero-copy,.atelier .art{margin:0}
  .atelier .art{margin-top:12px}
  .forest .compass{right:0;width:60px}
  .throne .ornament{min-height:72px}
  .throne .royal-room .art{max-width:455px;margin-inline:auto}
  .archive .panel{display:block}
  .folio .book-cover,.broadcast .art{border-left:0}
  .track .track-grid .art{order:0}
  .palazzo .hero-copy,.deco .hero-copy{grid-row:1}
  .gallery .art,.gallery .hero-copy{grid-column:auto;grid-row:auto}
  .gallery .hero-copy{grid-row:2}
  .gallery .gallery-label{grid-template-columns:auto 1fr;align-items:center}
  .gallery .gallery-label .emblem{width:48px}
}
