/* PulpTheory — Homepage and Character Pages */
* { box-sizing: border-box; }
body { min-height: 100vh; margin: 0; padding: 7vh 7vw; background: linear-gradient(90deg,#0b0a10c0 0%,#0b0a1078 42%,#0b0a1022 100%),linear-gradient(#09081122,#09081144),url("Assets/pulptheory-home.png") center center / cover fixed,radial-gradient(ellipse at 72% 39%,#6b5168,#2b293c 40%,#111018 78%); color: #f7f3ef; font-family: "Segoe UI",Arial,Helvetica,sans-serif; }
main { max-width: 360px; }
h1 { margin: 0; font-family: "Segoe UI Light","Helvetica Neue",Arial,sans-serif; font-size: clamp(30px,3.3vw,48px); font-weight: 300; letter-spacing: .25em; text-transform: uppercase; }
.tagline { margin: 8px 0 34px; color: #d8d1d9; font-size: clamp(15px,1.5vw,20px); font-weight: 300; letter-spacing: .06em; }
h2 { margin: 0 0 10px; font-size: 15px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.introduction p { margin: 0 0 22px; font-size: 14px; line-height: 1.65; color: #d8d1d9; }
.menu-title { margin: 28px 0 11px; color: #bfb2c9; font-size: 12px; }
.main-menu { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.main-menu a { display: block; width: min(220px,82vw); min-height: 34px; padding: 7px 14px; border: 1px solid #ffffff33; border-radius: 0; color: #fff; box-shadow: 0 7px 18px #00000055; font-size: 14px; font-weight: 700; letter-spacing: .1em; text-align: left; text-decoration: none; text-transform: uppercase; transition: transform 180ms ease,border-color 180ms ease,filter 180ms ease; }
.main-menu a:hover { transform: translateX(7px); border-color: #fff; filter: brightness(1.2); }
.main-menu a:nth-child(1) { background: #5b476d; }
.main-menu a:nth-child(2) { background: #4c3e62; }
.main-menu a:nth-child(3) { background: #352b47; }
.main-menu a:nth-child(4) { background: #211b2e; }
.main-menu a:nth-child(5) { background: #181523; }
footer { margin-top: 34px; color: #a79cae; font-size: 11px; letter-spacing: .09em; }
@media (max-width:640px) { body { padding: 34px 25px 65px; background-attachment: scroll; } h1 { letter-spacing: .16em; } }

/* Shared Characters */
.characters-page { padding: 0; min-height: 100vh; background: #08080c; position: relative; }
.character-hero { position: absolute; inset: 0 0 auto; height: min(860px,110vh); pointer-events: none; background: linear-gradient(90deg,#08080de8 0%,#08080dc2 30%,#08080d45 74%,#08080d32 100%),linear-gradient(180deg,#08080d15 0%,#08080d15 35%,#08080dcb 75%,#08080c 100%),url("Assets/cole-day-banner.png") center top / cover no-repeat; }
.characters-layout { position: relative; z-index: 1; min-height: 100vh; }
.characters-intro { padding: 7vh 7vw 0; max-width: 590px; }
.characters-intro .tagline { margin-bottom: 34px; }
.characters-intro > p:not(.tagline) { max-width: 425px; color: #ded7dc; font-size: 14px; line-height: 1.65; margin: 0 0 21px; }
.characters-intro h2 { margin-bottom: 10px; }
.characters-intro .menu-title { margin-top: 26px; }
.brand-link { color: inherit; text-decoration: none; display: inline-block; }
.text-link,.gallery-footer a,.back-link { color: #e6ccec; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.text-link:hover,.gallery-footer a:hover,.back-link:hover { color: #fff; }
.characters-page .main-menu a:nth-child(1) { background: #5b476d; }
.characters-page .main-menu a:nth-child(2) { background: #4c3e62; }
.characters-page .main-menu a:nth-child(3) { background: #181523; }
.character-content { margin: 64px auto 0; padding: 0 7vw 60px; max-width: 1500px; }
.gallery-switch { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 50px; }
.gallery-switch a { padding: 13px 18px; min-width: 180px; text-align: center; text-transform: uppercase; text-decoration: none; letter-spacing: .12em; font-size: 12px; font-weight: 700; color: #f8f4f9; background: #241c2c; border: 1px solid #685676; transition: background 180ms,transform 180ms; }
.gallery-switch a:hover,.gallery-switch .gallery-switch-active { background: #604d73; }
.gallery-switch a:hover { transform: translateY(-3px); }
.section-heading { margin: 0 0 25px; }
.eyebrow { text-transform: uppercase; font-size: 11px; letter-spacing: .24em; font-weight: 700; color: #b6a3c4; }
.section-heading h2 { font-size: clamp(24px,3vw,39px); letter-spacing: .16em; font-weight: 300; margin: 7px 0 12px; }
.section-heading > p:last-child { color: #cfc7d1; font-size: 14px; line-height: 1.6; }
.character-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,270px),1fr)); gap: clamp(20px,3vw,42px); }
.character-card { display: block; color: #fff; text-decoration: none; border: 1px solid #675474; background: #17121c; box-shadow: 0 20px 60px #0008; transition: transform 200ms,border-color 200ms,box-shadow 200ms; }
.character-card:hover { transform: translateY(-7px); border-color: #c3a7d9; box-shadow: 0 26px 70px #000b,0 0 22px #815b9b40; }
.character-card:focus-visible,.gallery-switch a:focus-visible,.main-menu a:focus-visible { outline: 3px solid #e1c5ff; outline-offset: 3px; }
.character-art { min-height: 330px; aspect-ratio: 3 / 4; display: flex; justify-content: center; align-items: center; overflow: hidden; background-size: cover; background-position: center; }
.ravenna-art { background: url("Assets/ravenna-card.png") center center / cover,radial-gradient(ellipse at 67% 24%,#7b4540 0%,#30212b 38%,#100e14 78%); }
.frankie-art { background: url("Assets/frankie-card.png") center 26% / cover,radial-gradient(ellipse at 63% 23%,#8b715b 0%,#342c37 39%,#110e17 78%); }
.art-placeholder { display: block; padding: 25px; text-align: center; font-size: 12px; line-height: 1.8; letter-spacing: .14em; text-transform: uppercase; color: #e2d5df; border: 1px solid #ffffff4d; background: #08080a55; }
.character-card-label { display: flex; justify-content: space-between; align-items: center; padding: 17px 20px; font-size: 15px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.character-card-label span:last-child { color: #bd9bce; }
.gallery-footer { margin-top: 65px; border-top: 1px solid #ffffff25; padding-top: 25px; color: #a79cae; font-size: 12px; letter-spacing: .09em; }
.collection-subpage { padding: 0; background: radial-gradient(ellipse at 78% 0%,#302436,#0b0a10 65%); min-height: 100vh; }
.subpage-shell { max-width: 1200px; margin: auto; padding: 65px 7vw 70px; }
.subpage-shell h1 { margin: 15px 0 25px; }
.subpage-lead { max-width: 680px; color: #d8d1d9; line-height: 1.75; }
.back-link { display: inline-block; margin-bottom: 45px; }
.profile-layout { display: grid; grid-template-columns: minmax(220px,380px) minmax(200px,1fr); gap: 50px; max-width: 950px; margin-top: 55px; }
.profile-layout p,.subpage-shell > p { font-size: 15px; line-height: 1.75; color: #d8d1d9; }
.profile-layout .character-art { border: 1px solid #685676; }
.future-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: 18px; margin-top: 28px; }
.future-grid > div { min-height: 160px; padding: 25px; display: grid; place-items: center; border: 1px solid #56415d; background: #211a28; text-transform: uppercase; letter-spacing: .15em; }
.contact-note { border-left: 3px solid #745a88; padding: 20px 25px; margin: 42px 0; background: #211a28; max-width: 600px; }
.contact-note p { color: #d8d1d9; }
/* Current character-card positioning: preserve Shawn's 300px setting */
.characters-layout { display: grid; grid-template-columns: minmax(340px,35%) minmax(0,1fr); align-items: start; }
.characters-intro { padding-right: 20px; }
.characters-page .character-content { width: 100%; margin: 0; padding: 300px 6vw 60px 1vw; }
.characters-page .character-grid { grid-template-columns: repeat(2,minmax(0,280px)); justify-content: center; gap: clamp(16px,2vw,30px); }
.characters-page .section-heading { text-align: center; }
.characters-page .character-art { min-height: 0; }
@media (max-width:700px) { .characters-intro { padding: 35px 25px 0; } .character-content { padding: 0 25px 50px; margin-top: 48px; } .character-hero { height: 850px; background-position: center top; } .gallery-switch a { flex: 1 1 180px; } .profile-layout { grid-template-columns: 1fr; } .subpage-shell { padding: 40px 25px 65px; } .character-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); } }
@media (max-width:850px) { .characters-layout { display: block; } .characters-page .character-content { padding: 0 25px 50px; margin: 48px auto 0; } .characters-page .character-grid { grid-template-columns: repeat(2,minmax(0,280px)); } }
@media (max-width:530px) { .characters-page .character-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; } .characters-page .character-card-label { font-size: 11px; letter-spacing: .07em; padding: 12px 10px; } .characters-page .art-placeholder { font-size: 10px; padding: 12px; } }
/* Ravenna profile additions. Existing styles.css remains unchanged. */
.ravenna-page { position: relative; isolation: isolate; background: #08080c; }
.ravenna-page .ravenna-hero { position: absolute; z-index: -1; inset: 0 0 auto; height: min(880px, 105vh); background: linear-gradient(90deg, #08080cf2, #08080cc8 47%, #08080c8a), linear-gradient(180deg, #08080c14 0%, #08080caa 66%, #08080c 100%), url("Assets/cole-day-agency.png") center 22% / cover no-repeat; }
.ravenna-shell { max-width: 1280px; padding-top: 44px; }
.ravenna-navigation { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.ravenna-navigation .back-link { margin-bottom: 46px; }
.ravenna-heading { max-width: 760px; margin-bottom: clamp(76px, 12vh, 150px); }
.ravenna-heading h1 { font-size: clamp(38px, 5.2vw, 76px); margin: 14px 0 20px; line-height: 1.1; }
.ravenna-subtitle { color: #f1dbe5; font-size: 15px; letter-spacing: .13em; line-height: 1.7; text-transform: uppercase; }
.ravenna-section { margin-top: 70px; }
.ravenna-section h2, .ravenna-panel h2 { font-size: clamp(23px, 2.6vw, 36px); font-weight: 300; letter-spacing: .1em; margin: 6px 0 20px; }
.ravenna-section-title { margin-bottom: 26px; }
.ravenna-section-title > p:last-child { color: #cfc5d1; font-size: 14px; line-height: 1.7; }
.ravenna-panel { background: #14111adf; border: 1px solid #5d4a67; box-shadow: 0 18px 50px #0009; padding: clamp(22px, 3vw, 38px); }
.ravenna-intro { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(240px, 1fr); gap: clamp(25px, 4vw, 70px); }
.ravenna-intro p, .ravenna-coming p { color: #e1dce3; line-height: 1.85; font-size: 15px; }
.ravenna-facts { border-left: 1px solid #69576c; padding-left: 25px; }
.ravenna-facts dl { margin: 24px 0 0; }
.ravenna-facts dl > div { padding: 13px 0; border-bottom: 1px solid #ffffff25; }
.ravenna-facts dt { color: #bca4c5; font-size: 11px; letter-spacing: .17em; text-transform: uppercase; }
.ravenna-facts dd { margin: 5px 0 0; font-size: 14px; }
.ravenna-prompts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; align-items: start; }
.ravenna-prompt-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.ravenna-prompt h3 { font-size: 17px; font-weight: 600; letter-spacing: .08em; margin: 0; }
.copy-prompt { padding: 10px 13px; border: 1px solid #aa8dbc; color: #fff; background: #4b3858; cursor: pointer; white-space: nowrap; font-weight: 600; }
.copy-prompt:hover, .copy-prompt:focus-visible { background: #685079; outline-offset: 3px; }
.prompt-text { white-space: pre-line; user-select: text; color: #e1dbe4; line-height: 1.8; font-size: 14px; }
.ravenna-reference { display: block; border: 1px solid #66546f; background: #17131d; }
.ravenna-reference img { display: block; width: 100%; height: auto; }
.ravenna-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.ravenna-gallery figure { margin: 0; border: 1px solid #66546f; background: #17131d; }
.ravenna-gallery a { display: block; overflow: hidden; }
.ravenna-gallery img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; transition: transform 200ms; }
.ravenna-gallery a:hover img { transform: scale(1.025); }
.ravenna-gallery figcaption { padding: 16px 18px; text-transform: uppercase; font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.ravenna-coming { border-left: 3px solid #a989b4; }
@media (max-width: 800px) { .ravenna-intro, .ravenna-prompts { grid-template-columns: 1fr; } .ravenna-facts { border-left: 0; border-top: 1px solid #69576c; padding: 15px 0 0; } .ravenna-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 540px) { .ravenna-page .ravenna-hero { height: 760px; background-position: 57% top; } .ravenna-shell { padding: 32px 22px 55px; } .ravenna-heading { margin-bottom: 70px; } .ravenna-gallery { grid-template-columns: 1fr; } .ravenna-prompt-heading { align-items: start; flex-direction: column; } .ravenna-subtitle { font-size: 12px; } }
.gallery-image-awaiting { display:grid;place-items:center;min-height:340px;aspect-ratio:3/4;padding:24px;color:#bbafc2;background:linear-gradient(145deg,#2d2233,#100f16 75%);font-size:12px;letter-spacing:.17em;text-transform:uppercase;text-align:center }
.resource-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:35px 0 60px }
.resource-card { display:block;text-decoration:none;color:#f8f4f8;background:#1b1522;border:1px solid #66516f;overflow:hidden;transition:border-color .2s,transform .2s }
.resource-card:hover { border-color:#d4b6dd;transform:translateY(-4px) }
.resource-card img { display:block;width:100%;aspect-ratio:5/3;object-fit:cover }
.resource-card-content { padding:26px }
.resource-card h2 { font-size:21px;line-height:1.4;font-weight:400;letter-spacing:.06em }
.resource-card p,.resource-panel p,.resource-panel li { color:#d8d1db;line-height:1.75;font-size:15px }
.resource-label { display:inline-block;color:#cdb1d8;text-transform:uppercase;font-size:11px;letter-spacing:.15em;margin:0 0 14px }
.resource-panel { padding:clamp(24px,4vw,46px);background:#15111b;border:1px solid #5d4a67;margin:28px 0 }
.resource-panel h2 { font-size:clamp(21px,2.5vw,31px);font-weight:400 }
.resource-panel a { color:#ecd0f5 }
.resource-panel ul { padding-left:23px }
.status-label { color:#dec9e4;font-size:12px;text-transform:uppercase;letter-spacing:.15em }
