/* Home "respected creators" showcase. Every rule is scoped to .home-snap, .creator-*, .scroll-cue or .snap-rail. */
html:has(main.home-snap) { --creator-header:87px; scroll-snap-type:y mandatory; scroll-padding-top:var(--creator-header); scroll-behavior:smooth; }
/* .home-landing's overflow:hidden would make <main> the snap container; clip keeps the viewport in charge. */
main.home-snap { overflow:visible; overflow-x:clip; }
.home-snap .snap-section { scroll-snap-align:start; min-height:calc(100vh - var(--creator-header,87px)); min-height:calc(100svh - var(--creator-header,87px)); }
main.home-snap > :not(.snap-section):not(.snap-rail) { scroll-snap-align:start; }
/* The last snap view holds the closing section and the footer together. */
.home-snap .snap-section.creator-closing { min-height:calc(100vh - var(--creator-header,87px) - var(--creator-footer,72px)); min-height:calc(100svh - var(--creator-header,87px) - var(--creator-footer,72px)); }
html:has(main.home-snap) .site-footer { scroll-snap-align:end; }

/* Hero indicator */
.scroll-cue { display:inline-flex; flex-direction:column; align-items:center; gap:2px; min-height:44px; padding:9px 24px 5px; border:1px solid #b5a6f45c; border-radius:999px; background:linear-gradient(180deg,#b5a6f41c,#0d101bcc); color:#ddd5ff; font-size:11px; font-weight:600; line-height:1.4; letter-spacing:.2em; text-transform:uppercase; text-align:center; text-decoration:none; backdrop-filter:blur(10px); box-shadow:0 12px 40px -22px #9e8ee5; animation:creator-cue-glow 3.2s ease-in-out infinite; transition:color .25s,background .25s,border-color .25s,box-shadow .25s; }
.scroll-cue:hover,.scroll-cue:focus-visible { color:#17162b; background:#b5a6f4; border-color:#d4c9ff; box-shadow:0 0 34px #9e8ee570; animation:none; }
.scroll-cue:focus-visible { outline:3px solid #b3c8ff; outline-offset:5px; }
.scroll-cue-chevron { display:grid; place-items:center; height:20px; }
.scroll-cue-chevron svg { display:block; overflow:visible; }
.scroll-cue-chev { animation:creator-cue-bob 1.8s ease-in-out infinite; }
.scroll-cue-chev-late { animation-delay:.18s; opacity:.55; }
.scroll-cue:hover .scroll-cue-chev,.scroll-cue:focus-visible .scroll-cue-chev { animation-duration:1s; }
.home-snap .home-stage > .scroll-cue { grid-column:1 / -1; justify-self:center; align-self:end; position:sticky; bottom:max(14px,env(safe-area-inset-bottom)); z-index:3; margin-top:4px; }
@keyframes creator-cue-bob { 0%,100% { transform:translateY(-2px); opacity:.35; } 50% { transform:translateY(3px); opacity:1; } }
@keyframes creator-cue-glow { 0%,100% { box-shadow:0 12px 40px -22px #9e8ee5,0 0 0 0 #b5a6f400; } 50% { box-shadow:0 12px 40px -22px #9e8ee5,0 0 0 6px #b5a6f414; } }

/* Creator sections */
.creator-section { --creator-accent:#b5a6f4; --creator-warm:#edcc93; --creator-soft:#b5a6f424; --creator-line:#b5a6f466; --creator-glow:#9e8ee5aa; --creator-deep:#1b1733; position:relative; isolation:isolate; display:grid; align-content:center; width:calc(100% - clamp(32px,6vw,120px)); max-width:none; margin:0 auto; padding:clamp(18px,4svh,48px) 0; }
.creator-section::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(ellipse 60% 70% at 28% 50%,var(--creator-soft),transparent 70%); pointer-events:none; }
.creator-section::after { content:""; position:absolute; top:0; left:20%; right:20%; height:1px; background:linear-gradient(90deg,transparent,#ffffff1c,transparent); }
.creator-theme-azure { --creator-accent:#8fc2ff; --creator-warm:#f2c58c; --creator-soft:#5f9cff1f; --creator-line:#8fc2ff66; --creator-glow:#5f9cffaa; --creator-deep:#0f1b33; }
.creator-theme-ember { --creator-accent:#f6b36e; --creator-warm:#8fe0d0; --creator-soft:#f6b36e1c; --creator-line:#f6b36e66; --creator-glow:#e8955099; --creator-deep:#2a1a16; }
.creator-theme-jade { --creator-accent:#8fe0c6; --creator-soft:#8fe0c61c; --creator-line:#8fe0c666; --creator-glow:#5fc7a699; --creator-deep:#10241f; }
.creator-theme-rose { --creator-accent:#f0a6c8; --creator-soft:#f0a6c81c; --creator-line:#f0a6c866; --creator-glow:#d77aa699; --creator-deep:#2a1424; }
.creator-inner { display:grid; grid-template-columns:minmax(0,11fr) minmax(0,9fr); gap:clamp(28px,4.4vw,72px); align-items:center; }
.creator-sr { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }

/* The massive main hyperlink */
.creator-preview { position:relative; display:block; isolation:isolate; height:clamp(340px,calc(100svh - var(--creator-header,87px) - 120px),680px); border:1px solid #ffffff1c; border-radius:24px; overflow:hidden; color:#f4f2ff; background:var(--creator-deep); box-shadow:0 28px 70px -42px #000,inset 0 1px 0 #ffffff14; transform:perspective(1400px) rotateX(0) rotateY(0) translateY(0); transform-origin:60% 50%; transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s,border-color .3s; text-decoration:none; }
.creator-preview:hover,.creator-preview:focus-visible { color:#fff; border-color:var(--creator-line); transform:perspective(1400px) rotateX(2deg) rotateY(-5deg) translateY(-6px); box-shadow:0 44px 90px -46px var(--creator-glow),0 0 0 1px var(--creator-line),0 0 70px -18px var(--creator-glow); }
.creator-preview:focus-visible { outline:3px solid #b3c8ff; outline-offset:6px; }
.creator-art { position:absolute; inset:0; z-index:-1; }
.creator-art-svg,.creator-image { display:block; width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .6s; }
.creator-preview:hover :is(.creator-art-svg,.creator-image),.creator-preview:focus-visible :is(.creator-art-svg,.creator-image) { transform:scale(1.045); filter:saturate(1.2) brightness(1.08); }
.creator-preview-label { position:absolute; inset:auto 0 0; display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:12px 20px; padding:clamp(18px,3vw,34px); background:linear-gradient(to top,#090c17f2 8%,#090c17b0 50%,#090c1700); }
.creator-preview-name { font-family:Georgia,"Times New Roman",serif; font-style:italic; font-size:clamp(34px,4.4vw,64px); line-height:1; letter-spacing:-.045em; color:#f7f4ff; text-shadow:0 2px 30px #000a; }
.creator-preview-visit { display:inline-flex; align-items:center; gap:10px; min-height:40px; padding:9px 18px; border:1px solid var(--creator-line); border-radius:999px; background:#0d101bb8; backdrop-filter:blur(8px); font-size:12px; font-weight:600; letter-spacing:.06em; color:#ece8ff; transition:background .3s,color .3s,transform .3s,border-color .3s; }
.creator-arrow { display:inline-block; transition:transform .3s; }
.creator-preview:hover .creator-preview-visit,.creator-preview:focus-visible .creator-preview-visit { background:var(--creator-accent); border-color:transparent; color:#111426; transform:translateY(-2px); }
.creator-preview:hover .creator-arrow,.creator-preview:focus-visible .creator-arrow { transform:translate(3px,-3px); }

/* Copy column */
.creator-copy { min-width:0; }
.creator-eyebrow { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin:0 0 14px; color:#ac9ee9; font-size:10px; font-weight:600; letter-spacing:.19em; text-transform:uppercase; }
.creator-count { color:var(--creator-accent); font-variant-numeric:tabular-nums; }
.creator-count + .creator-eyebrow-text::before { content:""; display:inline-block; width:18px; height:1px; margin:0 12px 3px 0; background:currentColor; opacity:.5; vertical-align:middle; }
.creator-section .creator-title { margin:0; color:#f1f0fa; font-size:clamp(2.1rem,3.5vw,3.3rem); font-weight:500; line-height:1.05; letter-spacing:-.05em; }
.creator-tagline { margin:10px 0 14px; color:#c2b3ef; font-family:Georgia,"Times New Roman",serif; font-style:italic; font-size:clamp(1.05rem,1.45vw,1.3rem); line-height:1.4; }
.creator-blurb { max-width:580px; margin:0 0 18px; color:#a4acc3; font-size:14.5px; line-height:1.75; }
.creator-highlights { display:grid; gap:4px; margin:0; padding:12px 0 0; list-style:none; border-top:1px solid #ffffff12; }
.creator-highlight { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; padding:9px 10px 9px 16px; border:1px solid transparent; border-radius:14px; transition:background .25s,border-color .25s,transform .25s; }
.creator-highlight::before { content:""; position:absolute; left:0; top:22%; bottom:22%; width:2px; border-radius:2px; background:var(--creator-accent); opacity:0; transform:scaleY(.3); transition:opacity .25s,transform .25s; }
.creator-highlight:hover,.creator-highlight:focus-within { background:linear-gradient(90deg,var(--creator-soft),#ffffff05); border-color:#ffffff14; transform:translateX(4px); }
.creator-highlight:hover::before,.creator-highlight:focus-within::before { opacity:1; transform:none; }
.creator-highlight-text { min-width:0; }
.creator-section .creator-highlight-label { margin:0 0 2px; color:#eeeef7; font-size:14px; font-weight:600; line-height:1.35; letter-spacing:-.01em; }
.creator-highlight-description { margin:0; color:#a4acc3; font-size:12.5px; line-height:1.6; }
/* Static on purpose: its ::after stretches over the whole row (a transform here would trap it). */
.creator-symbol { display:grid; place-items:center; width:52px; height:52px; border:1px solid var(--creator-line); border-radius:15px; color:var(--creator-accent); background:linear-gradient(145deg,#ffffff0f,#ffffff03); transition:background .25s,color .25s,border-color .25s,box-shadow .25s; }
.creator-symbol::after { content:""; position:absolute; inset:0; border-radius:14px; }
.creator-symbol:focus-visible { outline:none; }
.creator-symbol:focus-visible::after { outline:3px solid #b3c8ff; outline-offset:2px; }
.creator-symbol svg { display:block; overflow:visible; transition:transform .4s cubic-bezier(.3,1.6,.5,1); }
.creator-highlight:hover .creator-symbol,.creator-symbol:focus-visible { color:#111426; background:var(--creator-accent); border-color:transparent; box-shadow:0 0 28px -4px var(--creator-glow); }
.creator-highlight:hover .creator-symbol svg,.creator-symbol:focus-visible svg { transform:scale(1.12) rotate(-6deg); }
.creator-sym-fill { fill:currentColor; }
/* Projects that are not live yet: no link, dimmed symbol, no hover fill. */
.creator-image { object-position:center 30%; }
.creator-soon { display:inline-block; margin-left:8px; padding:2px 8px; border:1px solid var(--creator-line); border-radius:999px; color:var(--creator-accent); font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; vertical-align:2px; }
.creator-highlight.is-pending .creator-symbol,.creator-highlight.is-pending:hover .creator-symbol { color:var(--creator-accent); background:transparent; border-style:dashed; box-shadow:none; opacity:.55; }
.creator-highlight.is-pending:hover .creator-symbol svg { transform:none; }
.creator-sym-spin,.creator-sym-pulse,.creator-sym-nudge,.creator-sym-rise,.creator-sym-dots circle,.creator-sym-twinkle { transform-box:fill-box; transform-origin:center; }
.creator-highlight:is(:hover,:focus-within) .creator-sym-spin { animation:creator-sym-wobble 1.6s ease-in-out infinite; }
.creator-highlight:is(:hover,:focus-within) .creator-sym-pulse { animation:creator-sym-pulse 1.2s ease-in-out infinite; }
.creator-highlight:is(:hover,:focus-within) .creator-sym-nudge { animation:creator-sym-nudge .9s ease-in-out infinite; }
.creator-highlight:is(:hover,:focus-within) .creator-sym-draw { animation:creator-sym-draw 1.1s ease-out both; }
.creator-highlight:is(:hover,:focus-within) .creator-sym-rise { animation:creator-sym-rise 1.4s ease-in-out infinite; }
.creator-highlight:is(:hover,:focus-within) :is(.creator-sym-dots circle,.creator-sym-twinkle) { animation:creator-twinkle 1.2s ease-in-out infinite; }
.creator-sym-dots circle:nth-child(3n+2) { animation-delay:.2s!important; }
.creator-sym-dots circle:nth-child(3n) { animation-delay:.4s!important; }
.creator-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 18px; margin-top:12px; }
.creator-note { flex:1 1 260px; margin:0; color:#7f88a4; font-size:10.5px; line-height:1.55; }
.creator-next { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#a69cc6; font-size:10px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; transition:color .2s; }
.creator-next span { display:inline-block; transition:transform .25s; }
.creator-next:hover,.creator-next:focus-visible { color:var(--creator-accent); }
.creator-next:hover span,.creator-next:focus-visible span { transform:translateY(3px); }

/* Closing section */
.creator-closing { text-align:center; }
.creator-closing::before { background:radial-gradient(ellipse 50% 60% at 50% 50%,#b5a6f41f,transparent 70%); }
.creator-closing-inner { display:grid; justify-items:center; max-width:640px; margin:0 auto; }
.creator-closing-inner .creator-eyebrow { justify-content:center; }
.creator-closing-inner .creator-blurb { margin:16px auto 26px; }
.creator-closing-art { width:96px; height:96px; margin-bottom:22px; fill:none; stroke:#b5a6f4; overflow:visible; }
.creator-closing-ring { stroke-opacity:.35; stroke-dasharray:2 6; }
.creator-closing-dot { fill:#c2b3ef; stroke:none; }
.creator-closing-spark { fill:#e9ddff; stroke:none; filter:drop-shadow(0 0 8px #b5a6f4); }
.creator-closing-spin { transform-origin:60px 60px; animation:creator-turn 40s linear infinite; }
.creator-top { display:inline-flex; align-items:center; gap:12px; min-height:44px; padding:10px 22px; border:1px solid #c7baff; border-radius:7px; color:#17162b; background:#b5a6f4; font-size:12px; font-weight:600; text-decoration:none; box-shadow:0 6px 28px #8671d320; transition:background .2s,box-shadow .2s; }
.creator-top:hover,.creator-top:focus-visible { color:#17162b; background:#cbbdff; box-shadow:0 0 24px #9e8ee54a; }
.creator-top:focus-visible { outline:3px solid #b3c8ff; outline-offset:5px; }

/* Original artwork */
.creator-fourier-grid { fill:none; stroke:#8fb8ff; stroke-opacity:.07; stroke-width:1; }
.creator-fourier-axis { fill:none; stroke:#8fb8ff; stroke-opacity:.2; stroke-width:1; }
.creator-fourier-field { fill:none; stroke:#8fc2ff; stroke-opacity:.34; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }
.creator-fourier-far { stroke-opacity:.18; }
.creator-fourier-halo { fill:none; stroke:#5f9cff; stroke-opacity:.55; stroke-width:8; }
.creator-fourier-curve { fill:none; stroke:#cfe3ff; stroke-width:2.2; stroke-linejoin:round; }
.creator-epi { transform-box:view-box; transform-origin:0 0; animation:creator-turn 36s linear infinite; }
.creator-epi-2 { animation-duration:12s; animation-direction:reverse; }
.creator-epi-3 { animation-duration:6s; }
.creator-epi-orbit { fill:none; stroke:#8fc2ff; stroke-opacity:.38; stroke-width:1.1; }
.creator-epi-arm { stroke:#e6efff; stroke-opacity:.85; stroke-width:1.6; stroke-linecap:round; }
.creator-epi-joint { fill:#e6efff; }
.creator-epi-pen { fill:#f2c58c; }
.creator-epi-pen-glow { fill:#f2c58c; opacity:.25; }
.creator-preview:hover .creator-fourier-curve,.creator-preview:focus-visible .creator-fourier-curve { animation:creator-curve-draw 2.6s cubic-bezier(.4,0,.2,1) both; stroke:#fff; }
.creator-preview:hover .creator-fourier-field,.creator-preview:focus-visible .creator-fourier-field { stroke-opacity:.55; }
.creator-net-ring { fill:none; stroke:#f6b36e; stroke-opacity:.28; stroke-width:1; stroke-dasharray:3 7; }
.creator-net-ring-alt { stroke:#8fe0d0; stroke-opacity:.2; }
.creator-net-moon { fill:#8fe0d0; }
.creator-net-orbit { transform-box:view-box; transform-origin:0 0; animation:creator-turn 90s linear infinite; }
.creator-net-edge { fill:none; stroke:#f3cfa6; stroke-opacity:.3; stroke-width:1.1; stroke-dasharray:5 6; animation:creator-flow 9s linear infinite; }
.creator-net-spoke { stroke:#8fe0d0; stroke-opacity:.26; }
.creator-net-star { fill:#ffe7c7; filter:drop-shadow(0 0 5px #f6b36e); }
.creator-twinkle-0 { animation:creator-twinkle 3.2s ease-in-out infinite; }
.creator-twinkle-1 { animation:creator-twinkle 3.2s ease-in-out .9s infinite; }
.creator-twinkle-2 { animation:creator-twinkle 3.2s ease-in-out 1.9s infinite; }
.creator-net-label { fill:#e8cfb2; fill-opacity:.62; font:600 10px Inter,"Segoe UI",Arial,sans-serif; letter-spacing:.18em; }
.creator-net-halo { fill:none; stroke:#f6b36e; stroke-opacity:.45; stroke-width:1.2; stroke-dasharray:2 5; }
.creator-net-question { fill:none; stroke:#ffe1bd; stroke-width:9; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 12px #f6b36e); }
.creator-net-dot { fill:#ffe1bd; filter:drop-shadow(0 0 10px #f6b36e); }
.creator-preview:hover .creator-net-edge,.creator-preview:focus-visible .creator-net-edge { stroke-opacity:.6; animation-duration:3s; }
.creator-preview:hover .creator-net-label,.creator-preview:focus-visible .creator-net-label { fill-opacity:.95; }
.creator-orbit-ring { fill:none; stroke:#c2b3ef; stroke-opacity:.3; stroke-dasharray:3 7; }
.creator-orbit-moon { fill:#e9ddff; }
.creator-orbit-spin { transform-box:view-box; transform-origin:0 0; animation:creator-turn 24s linear infinite; }
.creator-orbit-spin-slow { animation-duration:60s; animation-direction:reverse; }
.creator-orbit-initial { fill:#e9ddff; font:italic 96px Georgia,"Times New Roman",serif; }
@keyframes creator-turn { to { transform:rotate(360deg); } }
@keyframes creator-flow { to { stroke-dashoffset:-110; } }
@keyframes creator-twinkle { 0%,100% { opacity:1; } 50% { opacity:.35; } }
@keyframes creator-curve-draw { from { stroke-dasharray:1; stroke-dashoffset:1; } to { stroke-dasharray:1; stroke-dashoffset:0; } }
@keyframes creator-sym-wobble { 0%,100% { transform:rotate(0); } 30% { transform:rotate(38deg); } 60% { transform:rotate(-22deg); } 80% { transform:rotate(8deg); } }
@keyframes creator-sym-pulse { 0%,100% { transform:scale(1); opacity:1; } 50% { transform:scale(1.22); opacity:.7; } }
@keyframes creator-sym-nudge { 0%,100% { transform:translate(0,0); } 50% { transform:translate(1.5px,-1.5px); } }
@keyframes creator-sym-draw { from { stroke-dasharray:1; stroke-dashoffset:1; } to { stroke-dasharray:1; stroke-dashoffset:0; } }
@keyframes creator-sym-rise { 0% { transform:translateY(1px); opacity:.4; } 60% { opacity:1; } 100% { transform:translateY(-2.5px); opacity:.2; } }

/* Section-progress rail (built by creators.js; purely an enhancement) */
.snap-rail { position:fixed; z-index:15; top:50%; right:18px; transform:translateY(-50%); }
.snap-rail ol { display:grid; gap:2px; margin:0; padding:8px 4px; list-style:none; border:1px solid #ffffff14; border-radius:999px; background:#0d101b99; backdrop-filter:blur(10px); }
.snap-rail a { position:relative; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#e4e0fa; text-decoration:none; }
.snap-rail a::before { content:""; width:7px; height:7px; border-radius:999px; background:#77728f; transition:height .3s,background .3s,box-shadow .3s; }
.snap-rail a:hover::before { background:#c2b3ef; }
.snap-rail a[aria-current]::before { height:18px; background:#c2b3ef; box-shadow:0 0 12px #b5a6f4; }
.snap-rail a:focus-visible { outline:2px solid #b3c8ff; outline-offset:1px; }
.snap-rail-label { position:absolute; top:50%; right:38px; padding:6px 10px; border:1px solid #ffffff1a; border-radius:8px; background:#191e30; color:#e4e0fa; font-size:11px; line-height:1.3; white-space:nowrap; opacity:0; pointer-events:none; transform:translate(6px,-50%); transition:opacity .2s,transform .2s; }
.snap-rail a:hover .snap-rail-label,.snap-rail a:focus-visible .snap-rail-label { opacity:1; transform:translate(0,-50%); }

/* Pure-CSS drift as each section scrolls in; browsers without scroll timelines simply show it. */
@supports (animation-timeline:view()) {
  @media (prefers-reduced-motion:no-preference) {
    .creator-section > .creator-inner,.creator-section > .creator-closing-inner { animation:creator-drift linear both; animation-timeline:view(); animation-range:entry 0% cover 30%; }
  }
}
@keyframes creator-drift { from { opacity:.25; transform:translateY(56px) scale(.97); } to { opacity:1; transform:none; } }

/* Short desktop viewports */
@media (min-width:961px) and (max-height:820px) {
  .creator-section { padding:10px 0; }
  .creator-section .creator-title { font-size:clamp(1.9rem,3vw,2.7rem); }
  .creator-tagline { margin:6px 0 8px; font-size:1.05rem; }
  .creator-blurb { margin-bottom:10px; font-size:13.5px; line-height:1.6; }
  .creator-highlights { padding-top:8px; gap:2px; }
  .creator-highlight { padding:5px 8px 5px 14px; }
  .creator-highlight-description { line-height:1.5; }
  .creator-symbol { width:44px; height:44px; border-radius:12px; }
  .creator-meta { margin-top:6px; }
}
@media (max-width:1100px),(max-height:520px) { .snap-rail { display:none; } }
@media (max-width:1100px) { .creator-inner { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; } }
@media (max-width:960px) {
  .creator-inner { grid-template-columns:minmax(0,1fr); gap:22px; }
  .creator-preview { height:clamp(200px,32svh,360px); }
}
/* Tablets: preview beside the intro, highlight rows full width beneath. */
@media (min-width:601px) and (max-width:960px) {
  .creator-section .creator-inner { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 26px; align-items:start; }
  .creator-copy { display:contents; }
  .creator-copy > * { grid-column:2; }
  .creator-inner > .creator-preview { grid-column:1; grid-row:1 / span 4; align-self:stretch; height:auto; min-height:240px; }
  .creator-copy > :is(.creator-highlights,.creator-meta) { grid-column:1 / -1; }
}
@media (max-width:760px) {
  html:has(main.home-snap) { --creator-header:97px; --creator-footer:100px; }
  .creator-section { width:calc(100% - 32px); padding:12px 0 16px; }
  .creator-inner { gap:12px; }
  .creator-preview { height:clamp(140px,21svh,220px); border-radius:18px; }
  .creator-preview:hover,.creator-preview:focus-visible { transform:translateY(-3px); }
  .creator-preview-label { gap:8px; padding:12px 14px; }
  .creator-preview-name { font-size:clamp(26px,8vw,38px); }
  .creator-preview-visit { min-height:32px; padding:5px 12px; font-size:10.5px; }
  .creator-eyebrow { margin-bottom:6px; font-size:9px; }
  .creator-section .creator-title { font-size:clamp(1.6rem,7.5vw,2.2rem); }
  .creator-tagline { margin:4px 0 6px; font-size:.98rem; }
  .creator-blurb { margin-bottom:8px; font-size:13px; line-height:1.5; }
  .creator-highlights { gap:0; padding-top:4px; }
  .creator-highlight { gap:10px; padding:4px 4px 4px 10px; }
  .creator-highlight:hover,.creator-highlight:focus-within { transform:none; }
  .creator-section .creator-highlight-label { font-size:13px; }
  .creator-highlight-description { font-size:11.5px; line-height:1.45; }
  .creator-symbol { width:40px; height:40px; border-radius:12px; }
  .creator-meta { margin-top:6px; }
  .creator-note { font-size:10px; }
  .creator-next { display:none; }
  .creator-closing-art { width:72px; height:72px; }
  .scroll-cue { padding:9px 16px 6px; font-size:10px; letter-spacing:.14em; }
  /* The phone hero is taller than the screen; a sticky cue would cover the hexagon. */
  .home-snap .home-stage > .scroll-cue { position:static; margin-top:22px; }
}
@media (max-width:399px) {
  .creator-section { width:calc(100% - 24px); }
  .creator-blurb { font-size:12.5px; }
  .scroll-cue { letter-spacing:.1em; }
}
@media (prefers-reduced-motion:reduce) {
  html:has(main.home-snap) { scroll-behavior:auto; scroll-snap-type:y proximity; }
  :is(.scroll-cue,.creator-section,.snap-rail),:is(.scroll-cue,.creator-section,.snap-rail) * { animation:none!important; transition:none!important; }
  .creator-preview:hover,.creator-preview:focus-visible,.creator-highlight:hover,.creator-highlight:focus-within { transform:none; }
  .creator-preview:hover :is(.creator-art-svg,.creator-image),.creator-preview:focus-visible :is(.creator-art-svg,.creator-image) { transform:none; }
}
@media (forced-colors:active) {
  .creator-preview,.creator-symbol,.scroll-cue,.creator-top { border:1px solid CanvasText; }
  .creator-preview:focus-visible,.scroll-cue:focus-visible,.creator-top:focus-visible,.creator-symbol:focus-visible::after { outline:3px solid Highlight; }
}
@media print {
  .snap-rail,.scroll-cue,.creator-next { display:none!important; }
  .home-snap .snap-section { min-height:0; break-inside:avoid; }
}
