/* Shared visual language across the cinematic site. */
:root{--panel-radius:12px;--panel-border:#ffe43035;--panel-surface:#11130f}
@media(max-width:420px){body .header nav{gap:6px}body .header nav a{font-size:12px}}
.external-arrow{display:inline-block;width:19px;height:19px;vertical-align:middle;flex-shrink:0;color:var(--accent)}
.primary .external-arrow{color:inherit}
.button,.header-cta{border-radius:8px}
.button{min-height:48px;font-size:15px;line-height:1.4}
.cover-card,.creation-card,.token-page .contract,.token-artwork,.neon-phase article{border-radius:var(--panel-radius);border-color:var(--panel-border);background:var(--panel-surface);box-shadow:none}
.cover-card{border-top:2px solid var(--accent);overflow:hidden}
.cover-copy{padding-bottom:22px}.cover-art{border-radius:6px;overflow:hidden}
.project-action{width:100%;justify-content:space-between;align-self:stretch}
.neon-phase{--phase:#ffe430}.neon-phase article{border-top:2px solid var(--accent)}
.neon-phase ul li{padding-bottom:18px;border-bottom:1px solid #ffffff12}
.milestone-status{color:#aeb3a2;font-size:14px}
.neon-phase ul li.milestone-pending{padding:18px;border:1px solid #ffe43080;border-radius:8px;background:#ffe4300b}
.milestone-pending .milestone-status{display:inline-block;color:#090a08;background:var(--accent);padding:3px 10px;border-radius:4px;font-weight:700}
.story,.showcase,.editorial-project{border-color:var(--panel-border)}
.showcase{padding-top:64px;padding-bottom:64px}
body .simple-footer{border-top:1px solid var(--panel-border);padding-block:28px;gap:16px 28px;align-items:center;font-size:14px}
.simple-footer a{display:inline-flex;align-items:center;min-height:44px}
/* Bound the portrait width so it balances the token details on desktop. */
@media(min-width:801px){.token-page .token-stage{grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:clamp(32px,5vw,72px)}.token-artwork{width:100%;align-self:center}.token-details{padding-top:0}}
@media(max-width:700px){
body>.header{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;padding-inline:4%}
body .header .header-brand-group{gap:6px;min-width:0}
body .header .header-brand{width:76px}
body .header .header-socials{gap:0}
body .header .header-socials a{width:32px;min-width:32px;height:44px}
body .header .header-socials img{width:17px;height:17px}
body[class]>.header .header-cta{display:flex;align-items:center;justify-content:center;grid-column:2;grid-row:1;width:112px;min-height:48px;padding:7px 8px;font-size:14px;line-height:1.2;gap:6px;white-space:normal}
body[class]>.header .header-cta .telegram-icon{width:17px;height:17px}
body .header nav{grid-column:1/-1;grid-row:2;min-width:0;width:100%;gap:12px;justify-content:space-between}
body .header nav a{min-height:44px;font-size:14px}
.showcase{padding-block:44px}.cover-card{padding:20px}.project-action{font-size:15px;min-height:48px}
body .simple-footer{display:flex;flex-wrap:wrap;justify-content:space-between;padding-block:22px}
body .simple-footer>span{text-align:left;font-size:13px;line-height:1.6}
}
@media(max-width:360px){body .header .header-brand{width:60px}body .header .header-brand-group{gap:4px}body .header .header-socials a{width:28px;min-width:28px}body[class]>.header .header-cta{width:98px;font-size:14px;padding-inline:6px}}

/* One CTA typography rule outranks page-specific legacy sizing. */
body[class]>.header .header-cta{font-family:inherit;font-size:14px;font-weight:400;line-height:1.2;letter-spacing:0}

/* Resources precede the poster in reading order; desktop retains two columns. */
.token-page .token-stage{grid-template-areas:"details artwork" "resources resources"}
.token-details{grid-area:details}.token-artwork{grid-area:artwork}
.token-page .token-stage>.editorial-project{grid-area:resources;width:100%;padding:36px 0 0;margin:0}
.phase-complete{font-size:14px;font-weight:600;color:var(--accent);border:1px solid var(--panel-border);border-radius:5px;padding:5px 10px}
@media(min-width:901px){.cover-card{display:grid;grid-template-rows:subgrid;grid-row:span 3}.cover-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.cover-art{align-self:center}.project-action{align-self:end;margin-top:22px}}
@media(min-width:701px) and (max-width:1100px){.header{padding:20px 5%;gap:16px}.header nav{gap:20px}.story-grid{gap:36px}.neon-phase article{padding:28px}.neon-phase ul{gap:22px}.token-page .token-stage{gap:32px}}
@media(min-width:701px) and (max-width:900px){.cover-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:22px}.cover-card{display:flex;grid-row:auto}.cover-card:last-child{grid-column:1/-1;width:calc((100% - 22px)/2);justify-self:center}.cover-copy h3{font-size:30px}.cover-art{margin-top:auto}.cover-copy p:not(.eyebrow){font-size:16px}}
@media(max-width:800px){.token-page .token-stage{grid-template-columns:minmax(0,1fr);grid-template-areas:"details" "resources" "artwork";gap:32px}.token-page .token-stage>.editorial-project{padding-top:28px}.token-artwork{max-width:520px}}
/* Let the top row scroll away naturally, leaving the tabs pinned. */
@media(max-width:700px){body[class]>.header{top:var(--tabs-sticky-top,0px)}body[class]>.header:focus-within{top:0}html,html.whitepaper-document{scroll-padding-top:76px}.cover-grid{grid-template-columns:minmax(0,1fr);max-width:620px}.cover-card:last-child{width:auto;grid-column:auto}.phase-header{flex-wrap:wrap}.phase-complete{font-size:14px}}

/* Premiere showcase: full artwork, restrained gold light and motion. */
.home-page .showcase{background:radial-gradient(ellipse at 50% 0,#ffe4300a,transparent 65%),#0d0f0b}
.home-page .cover-card{position:relative;background:linear-gradient(150deg,#1a1d12,#10120e 48%);border-color:#ffe43040;border-top-color:var(--accent);box-shadow:0 16px 40px #0003;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;transform-origin:center}
.home-page .cover-copy h3{color:var(--fg)}
.home-page .cover-art{border:1px solid #ffe43020;box-shadow:0 0 28px #ffe43008}
.home-page .cover-card:focus-within{border-color:#ffe430a0;box-shadow:0 18px 48px #0005,0 0 28px #ffe43010}
@media(hover:hover) and (pointer:fine){.home-page .cover-card:hover{transform:perspective(1200px) translateY(-7px) rotateX(1deg);border-color:#ffe430a0;box-shadow:0 24px 50px #0006,0 0 34px #ffe43014}.home-page .cover-card:hover .cover-copy h3{color:var(--accent)}}
@keyframes showcase-arrive{from{opacity:.3;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.home-page .cover-card.showcase-arriving{animation:showcase-arrive .65s cubic-bezier(.2,.7,.2,1) both}
@media(prefers-reduced-motion:reduce){.home-page .cover-card,.home-page .cover-card:hover{animation:none!important;transition:none!important;transform:none!important}}

/* Mobile project gallery; native scrolling works without scripts. */
.gallery-controls{display:none}
@media(max-width:700px){
.home-page .cover-grid{display:flex;gap:16px;max-width:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;padding:8px 0 20px;scrollbar-width:thin;scrollbar-color:#ffe43070 transparent}
.home-page .cover-card,.home-page .cover-card:last-child{flex:0 0 90%;width:90%;min-width:0;scroll-snap-align:start;display:flex;grid-column:auto;transform:none}
.home-page .cover-art{width:100%;margin-top:auto}
.home-page .cover-card.showcase-arriving{animation:none}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
.gallery-controls button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px;border:1px solid #ffe43060;border-radius:8px;background:#15180f;color:var(--accent)}
.gallery-controls button:disabled{opacity:.3;cursor:default}
.gallery-controls svg{width:20px;height:20px}
.gallery-dots{display:flex;gap:4px}
.gallery-dots button{border:0;background:transparent;padding:16px;min-width:36px}
.gallery-dots button::before{content:"";width:7px;height:7px;border-radius:50%;background:#ffffff45}
.gallery-dots button[aria-pressed="true"]::before{background:var(--accent);box-shadow:0 0 10px #ffe43040}
.gallery-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}

/* Two aligned rows now that project actions live on the artwork. */
@media(min-width:901px){.home-page .cover-card{grid-row:span 2}}
.home-page a.cover-art:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

/* Align mobile socials toward the community button with clearer icons. */
@media(max-width:700px){
body .header .header-brand-group{width:100%;justify-content:space-between}
body .header .header-socials{margin-left:auto;flex-shrink:0}
body .header .header-socials a{width:34px;min-width:34px;height:44px}
body .header .header-socials img{width:20px;height:20px}
}
@media(max-width:380px){body .header .header-socials a{width:28px;min-width:28px}body .header .header-socials img{width:19px;height:19px}}

/* Entrance replaces continuous zoom; blink and smoke remain independent. */
.home-page .hero-art{animation:none;transform:none}

.hero-address-row{position:relative;padding-right:48px;max-width:100%}.hero-address-row .hero-address{max-width:100%}.hero-copy-address{position:absolute;right:0;top:50%;transform:translateY(-50%);width:40px;height:44px;display:grid;place-items:center;background:#ffe4300c;border:1px solid #ffe43040;border-radius:7px;color:var(--accent);padding:0}.hero-copy-address:hover{background:#ffe43020}.hero-copy-status{min-height:20px;margin:6px 0 0;font-size:13px;line-height:20px;color:var(--accent)}

/* A traveling light follows the artwork coordinates, including mobile cropping. */
.hero-trace{overflow:hidden;pointer-events:none;mix-blend-mode:screen}
.hero-trace use{stroke-linecap:round;stroke-linejoin:round;animation:hero-contour-travel 14s linear infinite;animation-delay:1.2s;opacity:0}
.hero-trace .trace-glow{stroke:#ffcb32;stroke-width:7;stroke-dasharray:62 938;filter:blur(5px)}
.hero-trace .trace-trail{stroke:#ffe430;stroke-width:2;stroke-dasharray:36 964}
.hero-trace .trace-tip{stroke:#fff4b0;stroke-width:1.4;stroke-dasharray:9 991}
@keyframes hero-contour-travel{0%{stroke-dashoffset:75;opacity:0}8%{opacity:.7}76%{opacity:.7}88%,100%{stroke-dashoffset:-1000;opacity:0}}
.paused .hero-trace use{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.hero-trace{display:none}}
.homepage-entry{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}.journey-link{border:1px solid #ffe631;color:#ffe631;padding:16px 22px;text-decoration:none;border-radius:6px}[data-content]{white-space:pre-line}
/* Bring the desktop story copy closer to its heading. */
@media(min-width:701px){
.home-page .story-grid{grid-template-columns:clamp(180px,24vw,300px) minmax(0,760px);gap:clamp(28px,3.5vw,48px);justify-content:start}
.home-page .story-copy{max-width:70ch;text-align:left}
.home-page .story-copy>p{text-indent:0}
}

.homepage-entry .button{font-family:inherit;font-size:16px;font-weight:700;line-height:1.25;min-height:54px;padding:16px 22px;justify-content:center;border:1px solid #ffe631;border-radius:6px}.homepage-entry .button span{font:inherit;line-height:inherit}.homepage-entry .journey-link{background:transparent;color:#ffe631}@media(max-width:600px){.homepage-entry{gap:12px}.homepage-entry .button{flex:1 1 210px;max-width:340px}}

/* Open editorial story with comfortable reading width. */
.home-page .story{background:#0b0d09}
.home-page .story::before{content:none}
.home-page .story-grid{display:block;max-width:780px;margin-inline:auto}
.home-page .story-grid>h2{position:static;padding:0;margin:0 0 32px;border:0;border-radius:0;background:none;box-shadow:none}
.home-page .story-copy{max-width:70ch;padding:0;border:0;border-radius:0;background:none;box-shadow:none;text-align:left}
.home-page .story-copy>p{margin:0 0 1.25em;padding:0;border:0;font-size:18px;line-height:1.8;color:#c6c9bc;text-indent:0}
.home-page .story-copy>p::before{content:none}
.home-page .story-copy>p:last-child{margin-bottom:0}
@media(max-width:700px){
 .home-page .story{padding-top:40px;padding-bottom:48px}
 .home-page .story-grid>h2{font-size:clamp(44px,13vw,58px);margin-bottom:24px}
 .home-page .story-copy>p{font-size:16px;line-height:1.8}
}

@media(min-width:701px){.home-page .hero-bottom #motion{width:44px;height:44px;min-width:44px;padding:10px;border:1px solid #ffe43066;border-radius:50%;background:#090a08cc;color:#ffe430}.home-page #motion svg{display:block;flex-shrink:0}}

/* Story and portrait montage share the stage. */
.home-page .story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);max-width:1180px;gap:clamp(36px,5vw,80px);align-items:start}
.home-page .story-text{min-width:0}
.home-page .story-text>h2{padding:0;margin:0 0 32px;border:0;background:none;box-shadow:none}
.home-page .story-copy>p{text-indent:1.6em;white-space:pre-line}
.home-page .story-video{width:100%;max-width:360px;justify-self:end}
.home-page .story-video video{display:block;width:100%;height:auto;aspect-ratio:512/910;object-fit:contain;background:#090a08;border-radius:12px}
@media(max-width:800px){.home-page .story-grid{grid-template-columns:1fr;gap:32px}.home-page .story-video{justify-self:center}.home-page .story-text>h2{margin-bottom:24px}}

/* Contract verification controls share a row below the full address. */
.hero-address-row{padding-right:0}
.hero-address-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}
.hero-address-actions .hero-copy-address,.hero-address-actions .hero-etherscan{position:static;transform:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-height:44px;height:auto;padding:10px 14px;border:1px solid #ffe43040;border-radius:7px;background:#ffe4300c;color:var(--accent);font-size:14px;line-height:1.4;font-weight:600;white-space:nowrap}
.hero-address-actions .hero-copy-address:hover,.hero-address-actions .hero-etherscan:hover{background:#ffe43020}
.hero-address-actions svg{flex:none}
