/* Interaction states share the site's existing ink and gold palette. */
:root{--motion-fast:180ms;--motion-ease:cubic-bezier(.2,.7,.2,1)}
:is(.button,.growth-actions a,.growth-actions button,.growth-form button,.navLinks a,.mobileNavPanel a,.growth-header nav a,.growth-chapters a){transition:background-color var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast) var(--motion-ease)}
:is(a,button,input,textarea,select):focus-visible{outline:3px solid #9a793f;outline-offset:5px}
:is(.button,.growth-actions a,.growth-actions button,.growth-form button):active{transform:translateY(1px) scale(.985)}
:is(.navLinks,.mobileNavPanel,.growth-header nav) a[aria-current="page"]{color:inherit;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
button:disabled{cursor:wait;opacity:.7}
form[aria-busy="true"] button{box-shadow:inset 0 0 0 1px #e3ce9f}
.motion-status{min-height:1.6em;margin:12px 0 0;font:inherit;font-size:.9rem;line-height:1.6;color:inherit}
.motion-media-status{font-size:.8rem;letter-spacing:.02em;color:inherit;opacity:.8}
.motion-toggle{display:block;margin:12px auto;padding:8px 14px;border:1px solid #74674b;border-radius:999px;background:#12110f;color:#e3ce9f;font:inherit;font-size:.8rem;cursor:pointer}
.motion-paused :is(.portraitMonogram,.oracleVisual img,.star,.marqueeTrack,.siteSoundtrack.isBlocked button,.mythicTorch){animation-play-state:paused!important}
@media(hover:hover){
 :is(.button,.growth-actions a,.growth-actions button,.growth-form button):hover{transform:translateY(-2px);box-shadow:0 5px 20px #e3ce9f18;border-color:#efd8a4}
 :is(.navLinks,.mobileNavPanel,.growth-header nav) a:hover{text-decoration:underline;text-underline-offset:7px}
 .growth-chapters a:hover{border-color:#efd8a4}
}
@media(prefers-reduced-motion:no-preference){
 .hero>.kicker,.hero>h1,.hero>.heroCTA,.growth-shell>h1{animation:motion-enter 540ms var(--motion-ease) both}
 .hero>h1{animation-delay:50ms}.hero>.heroCTA{animation-delay:100ms}
 .motion-enter{animation:motion-enter 540ms var(--motion-ease) both}
 @keyframes motion-enter{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){
 .motion-toggle{display:none}
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 :is(.button,.growth-actions a,.growth-actions button,.growth-form button):is(:hover,:active){transform:none}
}

/* The entrance follows the reading order: artist, invitation, then next action.
   Artwork is unchanged; the light and rule belong to the surrounding layout. */
.heroCopy{position:relative;isolation:isolate}
.heroCopy::before{content:"";position:absolute;z-index:-1;inset:-40px -12px auto;height:420px;max-height:70%;pointer-events:none;background:radial-gradient(ellipse at 20% 15%,#c7983a22,transparent 65%)}
.heroCopy::after{content:"";display:block;width:104px;height:2px;margin:28px 0;background:linear-gradient(90deg,#b4914a,#f3ddaa,transparent);transform-origin:left}
.property-map{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));align-items:stretch}
.property-card{overflow:hidden;cursor:default;min-width:0}
.property-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 25%,#e8c67f1c 48%,transparent 70%);opacity:0}
.property-card:focus-within{border-color:#efd8a4;box-shadow:0 0 0 2px #dec79240}
.property-card a{display:inline-block;text-underline-offset:5px}
.growth-primary-nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
@media(hover:hover){.property-card:hover::before{opacity:1}.property-card:hover a{color:#fff1cd}.wiki-entry:hover{border-color:#dec792}}
@media(prefers-reduced-motion:no-preference){
 .heroCopy>.kicker,.heroCopy>.heroWordmark,.heroCopy>.heroStatement,.heroCopy>.lede,.heroCopy>.heroActions{animation:world-arrive 1s var(--motion-ease) both}
 .heroCopy>.heroWordmark{animation-delay:.10s}.heroCopy>.heroStatement{animation-delay:.23s}.heroCopy>.lede{animation-delay:.35s}.heroCopy>.heroActions{animation-delay:.46s}
 .heroCopy::before{animation:world-light 3.6s ease-out both}.heroCopy::after{animation:world-line 1.4s .4s var(--motion-ease) both}
 .property-card.motion-enter{animation:world-card 900ms calc(var(--motion-order,0)*130ms) var(--motion-ease) backwards}
 .property-card.motion-enter::before{animation:world-shimmer 1.6s calc(var(--motion-order,0)*130ms) ease-out backwards}
 .growth-shell>h1{animation:world-arrive .8s var(--motion-ease) both}
 @keyframes world-arrive{from{opacity:.12;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
 @keyframes world-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
 @keyframes world-light{from{opacity:0;transform:scale(.75)}40%{opacity:1}to{opacity:1;transform:scale(1)}}
 @keyframes world-card{from{opacity:.2;transform:translateY(42px) rotate(-1deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
 @keyframes world-shimmer{from{opacity:0;transform:translateX(-100%)}35%{opacity:1}to{opacity:0;transform:translateX(100%)}}
}
.motion-paused *::before,.motion-paused *::after{animation:none!important;transition:none!important;transform:none!important}
.motion-paused .property-card::before{opacity:0}
@media(prefers-reduced-motion:reduce){.layer-reveal{opacity:1;transform:none}.property-card::before{animation:none!important;transform:none!important}}

/* Wiki controls retain the archive's ink and gold while exposing filter state. */
.wiki-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;margin:30px 0 18px;padding:24px;border:1px solid #756342;border-radius:16px;background:#121211;color:#faf9f5;color-scheme:dark}
.wiki-controls label{grid-column:1/-1;font:600 .9rem/1.5 system-ui,sans-serif;color:#e8d4ab}
.wiki-controls input,.wiki-controls select,.wiki-controls button{box-sizing:border-box;min-width:0;min-height:44px;border:1px solid #756342;border-radius:8px;font:400 1rem/1.4 system-ui,sans-serif}
.wiki-controls input,.wiki-controls select{padding:12px 14px;background:#090909;color:#faf9f5}
.wiki-controls input{grid-column:1/-1;width:100%}
.wiki-controls input::placeholder{color:#a9a59d;opacity:1}
.wiki-filters{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 8px}
.wiki-controls button{padding:10px 15px;background:transparent;color:#e8d4ab;cursor:pointer;transition:background-color var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast)}
.wiki-filters button[aria-pressed="true"]{background:#e3ce9f;border-color:#e3ce9f;color:#15120d;font-weight:600}
#wiki-count{font:500 .9rem/1.5 system-ui,sans-serif;color:#dec792}
#wiki-empty{padding:24px;border:1px dashed #756342;border-radius:12px;font:1rem/1.6 system-ui,sans-serif}
@media(hover:hover){.wiki-controls button:hover{border-color:#efd8a4;background:#e3ce9f1a}.wiki-filters button[aria-pressed="true"]:hover{background:#efdcb3}}
@media(max-width:560px){.wiki-controls{grid-template-columns:minmax(0,1fr);padding:18px}.wiki-controls select,.wiki-controls #wiki-reset{width:100%}.wiki-filters button{flex:1 1 auto}}
