@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 200 800; font-display: swap; src: url('./plus-jakarta-sans-latin.woff2') format('woff2'); }
:root { color-scheme: light; font-family: 'Plus Jakarta Sans', sans-serif; color: #242528; background: #fff; font-synthesis: none; --muted: #707176; --border: #e8e8eb; --yellow: #ffdc55; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; font-size: 14px; line-height: 1.65; letter-spacing: 0; }
button, input, select, textarea { font: inherit; letter-spacing: 0; }
button, a, input, summary { -webkit-tap-highlight-color: transparent; outline-offset: 5px; }
button, summary { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, p, figure, blockquote { margin: 0; }
h1, h2, h3 { line-height: 1.3; font-weight: 700; overflow-wrap: anywhere; }
h1 { font-size: 34px; } h2 { font-size: 24px; } h3 { font-size: 18px; }
:focus-visible { outline: 2px solid #32685c; }
[hidden] { display: none !important; }
.content, .header-inner { width: min(1240px, calc(100% - 96px)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 10; padding: 10px 16px; background: var(--yellow); }
.skip-link:focus { top: 12px; }
.site-header { border-bottom: 1px solid var(--border); }
.header-inner { min-height: 80px; display: flex; align-items: center; gap: 48px; }
.brand { flex: none; }
.brand img { width: 145px; height: auto; aspect-ratio: 241.477 / 50.0002; }
.site-header nav { display: flex; align-items: center; gap: 30px; align-self: stretch; font-size: 13px; font-weight: 600; }
.site-header nav a { display: grid; align-items: center; position: relative; color: var(--muted); }
.site-header nav a:hover, .site-header nav [aria-current] { color: #242528; }
.site-header nav [aria-current]::after { position: absolute; content: ''; height: 3px; background: var(--yellow); bottom: 0; inset-inline: 0; }
.header-inner > .button { margin-left: auto; }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 10px 20px; border: 1px solid transparent; border-radius: 6px; background: #252528; color: #fff; font-size: 13px; font-weight: 650; line-height: 1.5; text-align: center; transition: background .15s; }
.button:hover { background: #49494d; }
.button-small { min-height: 40px; padding: 8px 16px; }
.button-secondary { background: #fff; color: #34353a; border-color: #dcdde1; }
.button-secondary:hover { background: #f4f5f5; border-color: #afb2b6; }
.eyebrow { display: block; margin-bottom: 9px; color: var(--muted); font-size: 11px; font-weight: 650; line-height: 1.5; }
.text-link, .story-link { font-size: 12px; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; }
.text-link:hover, .story-link:hover { color: #32685c; }
.catalog-heading { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 34px 0 28px; }
.catalog-heading p { margin-top: 10px; color: var(--muted); font-size: 14px; }
.search-field { display: flex; align-items: center; gap: 10px; width: 325px; flex: none; border: 1px solid #dedee3; border-radius: 6px; padding: 12px 14px; background: #fff; }
.search-field:focus-within { outline: 2px solid #32685c; outline-offset: 2px; }
.search-field img { opacity: .55; flex: none; }
.search-field input { min-width: 0; width: 100%; padding: 0; border: 0; outline: 0; background: transparent; font-size: 11px; color: #242528; }
.collection-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.collection-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 17px 18px; border: 1px solid var(--border); border-radius: 6px; transition: border-color .15s, background .15s; }
.collection-link:hover, .collection-link.is-active { border-color: #c6c8c4; background: #f7f9f7; }
.collection-link.is-active { box-shadow: inset 0 -3px var(--yellow); }
.collection-link strong { font-size: 13px; font-weight: 650; }
.collection-link small { color: var(--muted); font-size: 10px; white-space: nowrap; }
.characters-section { margin-top: 36px; }
.section-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 24px; }
.section-heading .eyebrow { margin-bottom: 7px; }
.character-section-heading h2 { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 21px; }
#result-count { color: var(--muted); font-size: 11px; font-weight: 500; }
.category-filter { display: flex; gap: 4px; min-width: 0; margin: 0; padding: 3px; border: 0; border-radius: 6px; background: #f3f4f5; }
.category-filter label { position: relative; cursor: pointer; flex: none; }
.category-filter input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; }
.category-filter span { display: block; padding: 7px 11px; border-radius: 4px; font-size: 11px; font-weight: 600; color: var(--muted); }
.category-filter input:checked + span { background: #fff; color: #29292d; box-shadow: 0 1px 3px #00000012; }
.category-filter input:focus-visible + span { outline: 2px solid #32685c; outline-offset: 2px; }
.character-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 36px 24px; }
.character-card { min-width: 0; display: flex; flex-direction: column; }
.character-image { position: relative; display: block; aspect-ratio: 4/4.2; overflow: hidden; border-radius: 8px; background: #f2f2f4; }
.character-image > img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.character-image:hover > img { transform: scale(1.025); }
.image-label { position: absolute; top: 12px; left: 12px; padding: 4px 9px; border-radius: 4px; color: #fff; background: #1c1b20b8; backdrop-filter: blur(8px); font-size: 10px; line-height: 1.5; }
.character-info { padding-top: 16px; display: flex; flex-direction: column; flex: 1; }
.character-role { color: var(--muted); font-size: 10px; margin-bottom: 4px; }
.character-info h3 { font-size: 18px; }
.character-hook { margin-top: 7px; color: #62636a; font-size: 12px; line-height: 1.7; min-height: 41px; }
.character-description { color: var(--muted); font-size: 12px; line-height: 1.9; margin-top: 12px; }
.creator-credit { color: var(--muted); font-size: 11px; margin-top: 9px; overflow-wrap: anywhere; }
.character-info .creator-credit { font-size: 10px; margin-top: 7px; min-height: 17px; }
.character-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.character-info .character-tags { margin-block: 13px 16px; min-height: 56px; align-content: start; }
.character-tags span { font-size: 10px; line-height: 1.5; padding: 4px 8px; border-radius: 4px; background: #f2f3f4; color: #65656d; }
.character-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; }
.character-actions .button { min-height: 36px; padding: 7px 12px; font-size: 11px; }
.character-actions .story-link { font-size: 10px; }
.empty-state { padding: 60px 20px; text-align: center; border-block: 1px solid var(--border); }
.empty-state p { color: var(--muted); margin: 12px 0 24px; }
.worlds-section, .stories-section, .connections-section { padding-top: 38px; margin-top: 48px; border-top: 1px solid var(--border); }
.section-note { color: var(--muted); font-size: 12px; }
.world-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.world-card { min-width: 0; display: flex; flex-direction: column; }
.world-image, .story-cover { display: block; overflow: hidden; border-radius: 8px; aspect-ratio: 1680/944; background: #f0f3f1; }
.world-image img, .story-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.world-image:hover img, .story-cover:hover img { transform: scale(1.025); }
.world-card > div { padding-top: 18px; display: flex; flex-direction: column; flex: 1; }
.world-card .eyebrow { color: #587668; font-size: 10px; margin-bottom: 5px; }
.world-card h3 { font-size: 18px; }
.world-card p { color: var(--muted); font-size: 12px; margin: 10px 0 19px; }
.world-card .button { align-self: flex-start; margin-top: auto; min-height: 38px; padding: 8px 13px; font-size: 11px; }
.story-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 28px; }
.story-teaser { min-width: 0; }
.story-cover { aspect-ratio: 2.15; }
.story-copy { padding-top: 18px; }
.story-identity { display: flex; align-items: center; gap: 11px; margin-bottom: 16px; }
.story-identity > img { width: 42px; height: 48px; border-radius: 4px; object-fit: cover; flex: none; }
.story-identity > div { min-width: 0; }
.story-identity strong { display: block; font-size: 12px; font-weight: 650; }
.story-identity div span { display: block; color: var(--muted); font-size: 10px; margin-top: 3px; }
.story-format { margin-left: auto; flex: none; color: var(--muted); font-size: 10px; }
.story-teaser h3 { font-size: 22px; }
.story-teaser p { margin: 11px 0 20px; color: var(--muted); font-size: 12px; max-width: 520px; }
.story-teaser .button { min-height: 38px; padding: 8px 14px; font-size: 11px; }
.connection-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 34px; margin-top: 26px; }
.connection-grid > div { padding-left: 18px; border-left: 3px solid #b6cec0; }
.connection-grid > div:nth-child(2) { border-color: #e6b8b1; }
.connection-grid > div:nth-child(3) { border-color: #e8ce75; }
.connection-grid h3 { font-size: 16px; }
.connection-grid p { color: var(--muted); font-size: 12px; margin: 10px 0 16px; }
.connection-grid a { font-size: 12px; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; }
.about-band { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin: 48px 0 50px; padding: 30px 0; border-block: 1px solid var(--border); }
.about-band h2 { font-size: 23px; margin-bottom: 9px; }
.about-band p { color: var(--muted); font-size: 13px; }
.about-band .button { flex: none; background: var(--yellow); color: #2f2b1e; }
.about-band .button:hover { background: #f7ce39; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 10px; color: #85858b; font-size: 11px; padding: 25px 0; }
.breadcrumbs a { color: #515159; }
.collection-heading { display: flex; justify-content: space-between; align-items: center; gap: 48px; padding: 8px 0 29px; }
.collection-heading > div { max-width: 710px; }
.collection-heading p { color: var(--muted); font-size: 14px; margin-top: 13px; }
.collection-heading > .button { flex: none; }
.collection-scene { margin-top: 26px; height: 270px; overflow: hidden; border-radius: 8px; }
.collection-scene img { width: 100%; height: 100%; object-fit: cover; }
.collection-characters { padding-top: 34px; }
.collection-character-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px 28px; }
.collection-character-grid .character-image { aspect-ratio: 4/3.8; }
.collection-character-grid .character-description { margin-top: 10px; }
.collection-context { margin-top: 50px; padding-top: 32px; border-top: 1px solid var(--border); }
.context-intro { max-width: 800px; color: #696970; font-size: 14px; }
.context-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; margin-top: 30px; }
.context-number { color: #a0a0a7; font-size: 11px; }
.context-grid h3 { margin-top: 9px; font-size: 16px; }
.context-grid p { margin-top: 12px; color: #707078; font-size: 12px; line-height: 1.9; }
.faq-section { display: grid; grid-template-columns: 1fr 2fr; gap: 50px; margin-top: 44px; padding-top: 34px; border-top: 1px solid var(--border); }
.faq-list details { border-bottom: 1px solid var(--border); }
.faq-list summary { list-style: none; display: flex; align-items: center; gap: 20px; padding: 17px 0; font-size: 13px; font-weight: 600; }
summary::-webkit-details-marker { display: none; }
.disclosure-icon { margin-left: auto; flex: none; width: 24px; height: 24px; display: grid; place-items: center; font: 21px/1 sans-serif; color: #777780; transition: transform .2s; }
details[open] > summary .disclosure-icon { transform: rotate(45deg); }
.faq-list p { color: var(--muted); padding: 0 40px 20px 0; font-size: 12px; line-height: 1.9; }
.related-section { margin: 46px 0 52px; }
.related-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.related-links > a { padding: 16px 0; border-block: 1px solid var(--border); }
.related-links > a:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.related-links .eyebrow { margin-bottom: 6px; font-size: 10px; }
.related-links strong { font-size: 13px; font-weight: 600; }
.profile-sheet { display: grid; grid-template-columns: 320px minmax(0,1fr); gap: 58px; padding: 7px 0 32px; align-items: center; }
.profile-portrait { aspect-ratio: 4/5; border-radius: 8px; overflow: hidden; }
.profile-portrait img { width: 100%; height: 100%; object-fit: cover; }
.profile-summary h1 { font-size: 32px; max-width: 600px; }
.profile-summary > .eyebrow { margin-bottom: 13px; }
.profile-role { font-size: 13px; color: #587668; margin-top: 9px; }
.profile-summary .character-tags { margin-top: 20px; }
.profile-description { margin-top: 20px; max-width: 650px; color: #696970; font-size: 14px; line-height: 1.8; }
.profile-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 26px; }
.profile-actions > .button:first-child { background: var(--yellow); color: #2f2b1e; }
.profile-actions > .button:first-child:hover { background: #f7ce39; }
.profile-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; padding-top: 24px; margin: 28px 0 0; border-top: 1px solid var(--border); }
.profile-facts dt { color: var(--muted); font-size: 10px; }
.profile-facts dd { margin: 6px 0 0; font-size: 11px; font-weight: 600; }
.profile-nav { display: flex; gap: 34px; border-block: 1px solid var(--border); padding: 16px 0; font-size: 12px; font-weight: 600; }
.profile-nav a:hover { text-decoration: underline; text-underline-offset: 4px; }
.profile-nav span { color: #92929a; margin-left: 8px; font-size: 10px; }
.character-context { display: grid; grid-template-columns: 1fr 2fr; gap: 0 50px; padding-top: 36px; }
.character-context > .eyebrow, .character-context h2 { grid-column: 1; }
.character-context h2 { max-width: 300px; }
.character-context > div { grid-column: 2; grid-row: 1 / span 2; color: #696970; font-size: 13px; line-height: 1.9; }
.character-context p + p { margin-top: 15px; }
.scene-section { margin-top: 38px; padding-top: 32px; border-top: 1px solid var(--border); }
.scene-section > .section-heading { margin-bottom: 12px; }
.scene-note { color: var(--muted); font-size: 11px; margin-bottom: 24px; }
.story-scene-image { height: 290px; border-radius: 8px; overflow: hidden; margin-bottom: 30px; }
.story-scene-image img { width: 100%; height: 100%; object-fit: cover; }
.scene-workspace { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 48px; }
.scene-list { border-top: 1px solid var(--border); }
.story-scene { border-bottom: 1px solid var(--border); }
.story-scene summary { display: flex; align-items: center; gap: 20px; list-style: none; padding: 20px 0; }
.scene-number { font-size: 12px; color: #92929a; width: 24px; flex: none; }
.scene-setting { display: block; color: var(--muted); font-size: 10px; margin-bottom: 4px; }
.story-scene summary strong { display: block; font-size: 15px; }
.scene-body { padding: 0 0 26px 44px; }
.scene-body > p { color: #696970; font-size: 13px; line-height: 1.9; }
.scene-body .button { min-height: 38px; padding: 8px 14px; font-size: 11px; }
.opening-line { background: #f1f6f3; border-left: 2px solid #a4c0af; margin: 22px 0; padding: 18px 20px; }
.opening-line .eyebrow { color: #587668; font-size: 10px; }
.opening-line blockquote { color: #43574b; font-size: 13px; line-height: 1.85; }
.scene-aside { border-top: 2px solid var(--yellow); padding-top: 22px; }
.scene-aside > p { font-size: 23px; line-height: 1.5; font-weight: 600; margin-top: 14px; }
.scene-aside > span:not(.eyebrow) { display: block; max-width: 290px; margin-top: 16px; color: var(--muted); font-size: 12px; line-height: 1.9; }
.scene-aside .text-link { display: inline-block; margin-top: 24px; }
.directory-shortcut { display: inline-block; margin: -8px 0 24px; color: #376c5d; font-size: 12px; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; }
.guide-directory { margin-top: 48px; padding-top: 36px; border-top: 1px solid var(--border); }
.directory-intro { max-width: 580px; margin-top: 10px; color: var(--muted); font-size: 13px; }
.locale-links { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; flex: none; font-size: 12px; }
.locale-links a { padding: 6px 0; color: var(--muted); }
.locale-links a:hover, .locale-links [aria-current] { color: #252528; text-decoration: underline; text-decoration-color: var(--yellow); text-decoration-thickness: 3px; text-underline-offset: 7px; }
.directory-filters { display: flex; gap: 12px; align-items: center; margin: 28px 0 20px; }
.directory-search { display: flex; align-items: center; gap: 10px; flex: 1; max-width: 510px; min-width: 0; padding: 10px 14px; border: 1px solid #dcdde1; border-radius: 6px; }
.directory-search input { width: 100%; min-width: 0; border: 0; outline: 0; padding: 0; background: transparent; font-size: 12px; }
.directory-search:focus-within { outline: 2px solid #32685c; outline-offset: 2px; }
.directory-filters select { max-width: 210px; min-height: 42px; border: 1px solid #dcdde1; border-radius: 6px; background: #fff; color: #34353a; padding: 9px 30px 9px 12px; font-size: 12px; }
.directory-count { color: var(--muted); font-size: 11px; margin-left: auto; flex: none; }
.guide-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 28px; }
.guide-card { min-width: 0; border-top: 1px solid var(--border); padding: 18px 0; position: relative; }
.guide-card .eyebrow { font-size: 10px; margin-bottom: 7px; }
.guide-card h3 { font-size: 14px; line-height: 1.6; font-weight: 600; }
.guide-card a::after { content: ''; position: absolute; inset: 0; }
.guide-card:hover h3 { color: #32685c; text-decoration: underline; text-underline-offset: 4px; }
.directory-empty { text-align: center; padding: 40px 0; }
.directory-empty p { margin-bottom: 18px; color: var(--muted); }
.directory-more { display: flex; min-width: 150px; margin: 22px auto 0; }
.guide-topline { display: flex; align-items: center; gap: 24px; justify-content: space-between; }
.guide-topline .breadcrumbs { min-width: 0; flex-wrap: wrap; }
.guide-heading { max-width: 860px; padding: 6px 0 28px; }
.guide-heading h1 { font-size: 34px; }
.guide-heading > p { color: #696970; max-width: 780px; margin-top: 16px; font-size: 14px; line-height: 1.9; }
.guide-setting-image { aspect-ratio: 3.8; overflow: hidden; border-radius: 8px; background: #edf1ee; }
.guide-setting-image img { width: 100%; height: 100%; object-fit: cover; }
.fan-notice { margin: 12px 0 0; color: var(--muted); font-size: 11px; max-width: 940px; line-height: 1.8; }
.guide-overview { display: grid; grid-template-columns: 1fr 2fr; gap: 36px; padding-block: 36px; border-bottom: 1px solid var(--border); }
.guide-overview p { color: #696970; font-size: 13px; line-height: 1.9; }
.guide-overview p + p { margin-top: 14px; }
.guide-overview .younger-note { color: #376c5d; }
.guide-overview .identity-note { color: #816021; }
.guide-profiles, .guide-openings, .comparison-section, .guide-cast { margin-top: 36px; }
.guide-cast .related-links { margin-top: 22px; }
.guide-cast small { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; }
.guide-profiles > p, .comparison-section > p { color: var(--muted); font-size: 13px; margin-top: 12px; max-width: 900px; }
.profile-match-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 22px; }
.profile-match-grid article { padding: 20px; border: 1px solid var(--border); border-radius: 6px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-width: 0; }
.source-label { font-size: 10px; font-weight: 700; color: #376c5d; }
.profile-match-grid h3 { font-size: 16px; margin-bottom: auto; }
.profile-match-grid .button { min-height: 36px; font-size: 11px; padding: 7px 13px; }
.writing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.writing-grid article { min-width: 0; border-top: 2px solid var(--yellow); padding-top: 20px; }
.writing-grid h3 { font-size: 18px; margin-bottom: 12px; }
.writing-grid p { color: #696970; font-size: 13px; line-height: 1.9; }
.brief-tool { display: grid; grid-template-columns: 1fr 2fr; gap: 36px; padding: 30px; margin-top: 36px; background: #f6f8f6; border: 1px solid #e2e8e3; border-radius: 8px; }
.brief-tool > div > p { color: var(--muted); font-size: 12px; margin-top: 12px; }
.brief-tool form { min-width: 0; }
.brief-fields { display: grid; gap: 14px; margin-bottom: 18px; }
.brief-fields label, .brief-output { display: grid; gap: 7px; color: #5c625e; font-size: 12px; }
.brief-fields input, .brief-output textarea { width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid #d6ddd7; border-radius: 4px; color: #242528; background: #fff; font-size: 13px; line-height: 1.65; }
.brief-output { margin-top: 20px; }
.brief-output textarea { resize: vertical; }
.brief-tool [data-copy-brief] { margin-top: 12px; }
.brief-status { display: block; color: #376c5d; margin-top: 10px; font-size: 12px; }
.feature-setting-image { aspect-ratio: 4.5; }
.feature-sections { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin-top: 36px; }
.feature-sections article { min-width: 0; border-top: 1px solid var(--border); padding-top: 22px; }
.feature-sections h2 { font-size: 20px; margin-bottom: 15px; }
.feature-sections p { color: #696970; font-size: 13px; line-height: 1.9; }
.comparison-table-wrap { overflow-x: auto; margin-top: 22px; }
.comparison-section table { width: 100%; border-collapse: collapse; font-size: 12px; text-align: left; }
.comparison-section th, .comparison-section td { padding: 17px 16px; border-bottom: 1px solid var(--border); vertical-align: top; }
.comparison-section thead { background: #f4f5f5; }
.comparison-section tbody th { width: 18%; font-weight: 650; }
.comparison-section td { color: #696970; }
.comparison-section td a { color: #32685c; text-decoration: underline; text-underline-offset: 4px; }
.comparison-section > h3 { margin-top: 26px; font-size: 17px; }
.review-scope { border-block: 1px solid var(--border); padding: 14px 0; color: var(--muted); font-size: 11px; }
.review-verdict, .review-sources { margin-top: 32px; }
.review-verdict p, .review-sources p { max-width: 880px; margin-top: 14px; color: #696970; font-size: 13px; line-height: 1.9; }
.review-sources ul { padding-left: 18px; font-size: 12px; line-height: 2.2; }
.review-sources a { color: #32685c; text-decoration: underline; text-underline-offset: 4px; }
.review-source-address { display: block; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.review-verdict h3 { margin-top: 22px; font-size: 16px; }
.review-verdict .button { margin-top: 20px; }
.localized-directory { padding-bottom: 44px; }
.localized-themes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-top: 10px; }
.localized-themes a { padding: 17px 18px; border: 1px solid var(--border); border-radius: 6px; font-size: 13px; font-weight: 650; }
.localized-themes a:hover { background: #f7f9f7; border-color: #c6c8c4; }
.intent-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.intent-nav { display: flex; flex-wrap: wrap; gap: 8px 30px; padding: 16px 0; border-block: 1px solid var(--border); font-size: 12px; font-weight: 600; }
.intent-nav a { padding: 5px 0; }
.intent-nav a:hover { text-decoration: underline; text-underline-offset: 4px; }
.intent-section, .intent-characters { scroll-margin-top: 24px; margin-top: 44px; padding-top: 34px; border-top: 1px solid var(--border); }
.intent-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 26px 48px; }
.intent-section-heading h2 { font-size: 25px; line-height: 1.4; }
.intent-section-body { color: #62636a; font-size: 14px; line-height: 1.9; }
.intent-section-body p + p { margin-top: 16px; }
.intent-options, .intent-points { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 0; }
.intent-options > div { display: flex; flex-direction: column; align-items: flex-start; padding: 22px 0 0; border-top: 2px solid #b6cec0; }
.intent-options > div:nth-child(2) { border-color: #e8ce75; }
.intent-options > div:nth-child(3) { border-color: #e6b8b1; }
.intent-options h3, .intent-points dt { font-size: 16px; font-weight: 650; }
.intent-options p, .intent-points dd { margin: 10px 0 0; color: var(--muted); font-size: 13px; line-height: 1.85; }
.intent-options .button { margin-top: auto; }
.intent-options p { padding-bottom: 20px; }
.intent-points > div { padding-left: 18px; border-left: 2px solid var(--border); }
.intent-details > .intent-section { margin-top: 52px; padding-top: 38px; border-top: 1px solid var(--border); }
.intent-prompts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.intent-prompts details { border-block: 1px solid var(--border); padding-bottom: 18px; }
.intent-prompts summary { display: flex; align-items: center; gap: 16px; list-style: none; padding: 18px 0; font-size: 15px; font-weight: 600; }
.intent-prompts blockquote { margin: 0 0 16px; border-left: 2px solid #a4c0af; padding-left: 16px; font-size: 14px; line-height: 1.9; }
.intent-prompts .scene-note { font-size: 11px; }
.intent-related-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.intent-related-links > a { border-top: 1px solid var(--border); padding-top: 20px; }
.intent-related-links h3 { font-size: 18px; }
.intent-related-links p { margin-block: 10px 16px; color: var(--muted); font-size: 13px; }
.intent-page .girlfriend-heading > div { flex: 0 1 auto; min-width: 0; }
.intent-page .girlfriend-heading > p { flex: 0 1 420px; }
@media (max-width: 800px) {
  .intent-section { grid-template-columns: 1fr; gap: 18px; }
  .intent-section-heading h2 { max-width: 600px; }
  .intent-nav { gap: 6px 22px; }
}
@media (max-width: 600px) {
  .intent-section, .intent-characters { margin-top: 32px; padding-top: 26px; }
  .intent-section-heading h2 { font-size: 22px; }
  .intent-section-body { font-size: 13px; }
  .intent-options, .intent-points { grid-template-columns: 1fr; gap: 22px; }
  .intent-prompts, .intent-related-links { grid-template-columns: 1fr; }
  .intent-details > .intent-section { margin-top: 32px; padding-top: 26px; }
  .intent-options > div { padding-top: 18px; }
  .intent-options .button { min-height: 40px; }
  .intent-options p { padding-bottom: 14px; }
  .intent-actions { gap: 10px; margin-top: 20px; }
  .intent-actions .button { padding-inline: 14px; font-size: 12px; }
  .intent-nav { gap: 6px 18px; font-size: 11px; }
}
@media (max-width: 1100px) {
  .content, .header-inner { width: calc(100% - 64px); }
  .header-inner { gap: 32px; }
  .collection-link { flex-direction: column; align-items: flex-start; gap: 4px; padding: 13px 16px; }
  .character-grid, .world-grid { column-gap: 18px; }
  .character-info h3 { font-size: 16px; }
  .character-actions { flex-wrap: wrap; }
  .character-actions .story-link { padding-block: 4px; }
  .collection-heading > .button { max-width: 190px; }
  .profile-sheet { grid-template-columns: 280px minmax(0,1fr); gap: 36px; }
  .profile-summary h1 { font-size: 28px; }
}
@media (max-width: 800px) {
  .header-inner { gap: 26px; } .site-header nav { gap: 20px; }
  .catalog-heading { align-items: flex-start; } .search-field { width: 260px; }
  .collection-grid { gap: 10px; }
  .collection-link strong { font-size: 12px; }
  .character-section-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
  .character-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 22px; }
  .world-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 22px; }
  .character-actions { flex-wrap: nowrap; }
  .story-grid { gap: 30px 22px; }
  .story-format { display: none; }
  .story-teaser h3 { font-size: 20px; }
  .connection-grid { gap: 22px; }
  .context-grid { gap: 24px; } .faq-section, .character-context { gap: 24px; }
  .profile-sheet { grid-template-columns: 230px minmax(0,1fr); gap: 28px; align-items: start; }
  .profile-summary h1 { font-size: 25px; }
  .profile-facts { grid-template-columns: 1fr; gap: 10px; padding-top: 16px; margin-top: 20px; }
  .profile-facts > div { display: flex; justify-content: space-between; gap: 14px; } .profile-facts dd { margin: 0; }
  .profile-summary .character-tags { margin-top: 14px; }
  .profile-description { margin-top: 14px; font-size: 12px; } .profile-actions { gap: 10px; margin-top: 18px; }
  .profile-actions .button { font-size: 11px; padding-inline: 12px; }
  .scene-workspace { gap: 28px; } .scene-aside > p { font-size: 19px; }
  .guide-directory > .section-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
  .guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .guide-topline { align-items: flex-start; flex-direction: column; gap: 0; padding-bottom: 20px; }
  .guide-topline .breadcrumbs { padding-bottom: 14px; }
  .guide-overview, .brief-tool { grid-template-columns: 1fr 2fr; gap: 24px; }
  .writing-grid, .feature-sections { gap: 22px; }
  .feature-sections h2 { font-size: 18px; }
}
@media (max-width: 600px) {
  .content, .header-inner { width: calc(100% - 36px); }
  .header-inner { display: grid; grid-template-columns: 1fr auto; gap: 0 20px; min-height: 112px; padding-top: 17px; }
  .brand img { width: 124px; }
  .header-inner > .button { grid-column: 2; grid-row: 1; min-height: 35px; padding: 7px 12px; font-size: 11px; }
  .site-header nav { grid-column: 1/-1; grid-row: 2; display: grid; grid-template-columns: repeat(4,1fr); gap: 0; width: 100%; margin-top: 10px; min-height: 46px; font-size: 11px; text-align: center; }
  .site-header nav [aria-current]::after { inset-inline: 18px; }
  h1 { font-size: 28px; } h2 { font-size: 22px; }
  .catalog-heading { padding: 26px 0 22px; flex-direction: column; gap: 20px; }
  .catalog-heading p { font-size: 12px; max-width: 330px; line-height: 1.8; }
  .search-field { width: 100%; padding: 11px 12px; }
  .collection-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .collection-link { padding: 11px 13px; gap: 3px; }
  .characters-section { margin-top: 28px; }
  .character-section-heading h2 { font-size: 19px; gap: 10px; }
  #result-count { font-size: 10px; }
  .category-filter { gap: 0; } .category-filter span { padding: 8px 10px; font-size: 10px; }
  .section-heading { gap: 16px; margin-bottom: 20px; } .character-grid { gap: 28px 14px; }
  .character-image { aspect-ratio: 3/4; border-radius: 6px; }
  .image-label { top: 8px; left: 8px; padding: 3px 6px; font-size: 9px; }
  .character-info { padding-top: 12px; } .character-role { font-size: 10px; min-height: 30px; line-height: 1.5; }
  .character-info h3 { font-size: 16px; min-height: 42px; }
  .character-hook { font-size: 11px; min-height: 57px; margin-top: 5px; }
  .character-tags { gap: 4px; } .character-tags span { font-size: 9px; padding: 3px 6px; }
  .character-info .character-tags { min-height: 72px; margin-block: 12px; }
  .character-info .creator-credit { font-size: 9px; }
  .character-actions { flex-direction: column; align-items: stretch; gap: 0; }
  .character-actions .button { width: 100%; min-height: 36px; }
  .character-actions .story-link { display: grid; place-items: center; min-height: 33px; padding: 6px 0 0; }
  .worlds-section, .stories-section, .connections-section { padding-top: 28px; margin-top: 34px; }
  .stories-section .section-heading { align-items: flex-start; flex-direction: column; gap: 7px; }
  .section-note { font-size: 11px; }
  .world-grid { gap: 28px 14px; }
  .world-card > div { padding-top: 12px; }
  .world-card h3 { font-size: 16px; }
  .world-card p { font-size: 11px; margin-block: 8px 15px; }
  .world-card .button { width: 100%; padding-inline: 7px; font-size: 10px; }
  .story-grid { grid-template-columns: 1fr; gap: 30px; }
  .story-cover { aspect-ratio: 1.9; }
  .story-copy { padding-top: 15px; }
  .story-identity { margin-bottom: 13px; }
  .story-format { display: block; }
  .story-teaser h3 { font-size: 21px; }
  .story-teaser p { font-size: 12px; margin-block: 10px 16px; }
  .connection-grid { grid-template-columns: 1fr; gap: 24px; }
  .connection-grid p { margin-bottom: 10px; }
  .about-band { align-items: flex-start; flex-direction: column; gap: 20px; margin: 32px 0; padding: 26px 0; }
  .about-band h2 { font-size: 22px; }
  .about-band p { font-size: 12px; }
  .breadcrumbs { font-size: 10px; padding: 20px 0; }
  .collection-heading { padding: 0 0 24px; flex-direction: column; align-items: flex-start; gap: 20px; }
  .collection-heading p { font-size: 12px; } .collection-heading > .button { max-width: none; }
  .collection-scene { margin-top: 22px; height: auto; aspect-ratio: 1.8; }
  .collection-characters { padding-top: 28px; }
  .collection-character-grid { grid-template-columns: 1fr; gap: 30px; }
  .collection-character-grid .character-card { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 18px; align-items: start; }
  .collection-character-grid .character-image { aspect-ratio: 3/4; }
  .collection-character-grid .character-info { padding: 0; }
  .collection-character-grid .character-info h3 { min-height: 0; font-size: 18px; }
  .collection-character-grid .character-role, .collection-character-grid .character-hook { min-height: 0; }
  .collection-character-grid .character-description { font-size: 11px; }
  .collection-character-grid .character-tags { min-height: 0; }
  .collection-character-grid .character-actions { flex-direction: row; flex-wrap: wrap; gap: 10px; }
  .collection-character-grid .character-actions .button { width: auto; }
  .collection-character-grid .character-actions .story-link { padding: 0; }
  .collection-characters .section-heading { flex-direction: column; align-items: flex-start; gap: 8px; }
  .collection-context { margin-top: 34px; padding-top: 25px; } .context-intro { font-size: 12px; line-height: 1.9; }
  .context-grid { grid-template-columns: 1fr; gap: 22px; } .context-grid p { margin-top: 8px; } .context-grid h3 { margin-top: 5px; }
  .faq-section { grid-template-columns: 1fr; gap: 10px; margin-top: 32px; padding-top: 26px; }
  .faq-list summary { font-size: 12px; } .faq-list p { padding-right: 18px; }
  .related-section { margin: 30px 0 36px; } .related-section .section-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .related-links { grid-template-columns: 1fr; gap: 0; } .related-links > a + a { border-top: 0; }
  .profile-sheet { display: flex; flex-direction: column; gap: 24px; padding-top: 0; }
  .profile-portrait { width: min(100%, 340px); aspect-ratio: 4/4.5; } .profile-summary h1 { font-size: 28px; }
  .profile-summary > .eyebrow { font-size: 10px; margin-bottom: 10px; } .profile-role { font-size: 12px; }
  .profile-description { font-size: 13px; } .profile-actions { margin-top: 22px; gap: 10px; }
  .profile-actions .button { max-width: 100%; font-size: 12px; padding-inline: 15px; }
  .profile-facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  .profile-facts > div { display: block; } .profile-facts dd { margin-top: 5px; }
  .profile-nav { gap: 22px; font-size: 11px; } .profile-nav span { display: none; }
  .character-context { display: block; padding-top: 26px; } .character-context > div { margin-top: 16px; font-size: 12px; }
  .character-context h2 { max-width: none; } .scene-section { margin-top: 28px; padding-top: 24px; }
  .scene-section > .section-heading { flex-direction: column; align-items: flex-start; gap: 5px; }
  .scene-note { line-height: 1.8; font-size: 10px; margin-top: 14px; }
  .story-scene-image { height: auto; aspect-ratio: 1.6; margin-bottom: 22px; }
  .scene-workspace { grid-template-columns: 1fr; }
  .scene-aside { padding-top: 18px; } .scene-aside > p { font-size: 20px; }
  .scene-aside > span:not(.eyebrow) { max-width: none; margin-top: 10px; }
  .scene-aside .text-link { margin-top: 14px; }
  .story-scene summary { gap: 10px; padding: 17px 0; } .story-scene summary strong { font-size: 14px; }
  .scene-number { width: 20px; font-size: 11px; } .scene-body { padding-left: 30px; } .scene-body > p { font-size: 12px; }
  .opening-line { padding: 15px; margin-block: 18px; } .opening-line blockquote { font-size: 12px; }
  .directory-shortcut { margin-top: -4px; font-size: 11px; }
  .guide-directory { margin-top: 34px; padding-top: 28px; }
  .directory-intro { font-size: 12px; }
  .locale-links { font-size: 11px; gap: 8px 18px; }
  .directory-filters { flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  .directory-search { flex-basis: 100%; max-width: none; }
  .directory-filters select { max-width: calc(100% - 90px); }
  .guide-grid { gap: 0 18px; }
  .guide-card { padding-block: 15px; }
  .guide-card .eyebrow { font-size: 9px; }
  .guide-card h3 { font-size: 12px; }
  .guide-heading { padding-bottom: 22px; }
  .guide-heading h1 { font-size: 28px; }
  .guide-heading > p { font-size: 12px; margin-top: 12px; }
  .guide-setting-image, .feature-setting-image { aspect-ratio: 1.85; }
  .fan-notice { font-size: 10px; }
  .guide-overview { grid-template-columns: 1fr; padding-block: 26px; gap: 14px; }
  .guide-overview p, .guide-profiles > p, .comparison-section > p { font-size: 12px; }
  .guide-profiles, .guide-openings, .comparison-section { margin-top: 28px; }
  .profile-match-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 18px; }
  .profile-match-grid article { display: grid; grid-template-columns: 1fr auto; gap: 8px 14px; padding: 16px; align-items: center; }
  .profile-match-grid .source-label, .profile-match-grid h3 { grid-column: 1; }
  .profile-match-grid .button { grid-column: 2; grid-row: 1 / span 2; max-width: 120px; }
  .profile-match-grid h3 { font-size: 14px; }
  .writing-grid, .feature-sections { grid-template-columns: 1fr; gap: 24px; }
  .writing-grid article, .feature-sections article { padding-top: 18px; }
  .writing-grid h3, .feature-sections h2 { font-size: 18px; }
  .writing-grid p, .feature-sections p { font-size: 12px; }
  .brief-tool { grid-template-columns: 1fr; gap: 22px; padding: 20px; margin-top: 28px; }
  .brief-tool h2 { font-size: 21px; }
  .brief-fields input, .brief-output textarea { font-size: 16px; }
  .comparison-section th, .comparison-section td { padding: 12px 10px; }
  .comparison-section table { min-width: 420px; font-size: 11px; }
  .localized-themes { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .localized-themes a { padding: 14px; font-size: 12px; }
}
@media (max-width: 360px) {
  .category-filter span { padding-inline: 9px; }
  .character-info h3 { font-size: 15px; }
  .story-identity strong { font-size: 11px; } .story-format { font-size: 9px; }
  .profile-nav { gap: 16px; font-size: 10px; }
  .collection-character-grid .character-card { grid-template-columns: 95px minmax(0,1fr); gap: 14px; }
}
.intent-page .breadcrumbs { margin: 0; padding: 18px 0 16px; }
.girlfriend-heading { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding-bottom: 26px; }
.girlfriend-heading > div { flex: none; }
.girlfriend-heading .eyebrow { margin-bottom: 7px; }
.girlfriend-heading h1 { font-size: 34px; }
.girlfriend-heading > p { max-width: 420px; color: #62636a; font-size: 14px; line-height: 1.8; }
.girlfriend-gallery { padding-bottom: 32px; }
.girlfriend-gallery-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.girlfriend-gallery-heading h2 { font-size: 20px; }
.girlfriend-filters { display: flex; flex-wrap: wrap; gap: 6px 24px; margin: 0 0 20px; padding: 0; border: 0; }
.girlfriend-filters label { position: relative; cursor: pointer; }
.girlfriend-filters input { position: absolute; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.girlfriend-filters span { display: block; min-height: 36px; padding: 6px 0; border-bottom: 3px solid transparent; color: var(--muted); font-size: 12px; font-weight: 650; }
.girlfriend-filters input:checked + span { border-color: var(--yellow); color: #242528; }
.girlfriend-filters input:focus-visible + span { outline: 2px solid #32685c; outline-offset: 4px; }
.girlfriend-grid { columns: 3; column-gap: 20px; }
.girlfriend-grid--compact { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
.girlfriend-grid--compact > .girlfriend-card { margin-bottom: 0; }
.girlfriend-card { display: inline-block; width: 100%; margin-bottom: 20px; break-inside: avoid; vertical-align: top; }
.girlfriend-portrait { display: block; position: relative; width: 100%; min-width: 0; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 8px; background: #f2f2f4; isolation: isolate; }
.girlfriend-card:nth-child(3n + 2) .girlfriend-portrait { aspect-ratio: 3 / 4; }
.girlfriend-card:nth-child(3n) .girlfriend-portrait { aspect-ratio: 4 / 5.5; }
.girlfriend-portrait > img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.girlfriend-portrait::after { content: ''; position: absolute; z-index: 0; inset: 25% 0 0; pointer-events: none; background: linear-gradient(180deg, transparent, #0c10131a 28%, #0c1013e8 100%); }
.girlfriend-caption { position: absolute; z-index: 1; inset: auto 0 0; padding: 24px; color: #fff; }
.girlfriend-connection { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 600; color: #ffffffe0; }
.girlfriend-caption h3 { font-size: 24px; line-height: 1.25; }
.girlfriend-caption > p { max-width: 290px; margin-top: 8px; font-size: 13px; line-height: 1.65; }
.girlfriend-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; margin-top: 18px; padding: 8px 18px; border: 1px solid #ffffff6e; border-radius: 5px; background: #ffffffed; color: #242528; font-size: 12px; font-weight: 700; }
.girlfriend-portrait:hover > img { transform: scale(1.025); }
.girlfriend-portrait:hover .girlfriend-cta { background: var(--yellow); border-color: var(--yellow); }
.girlfriend-card .creator-credit { margin-top: 8px; font-size: 10px; }
.girlfriend-gallery-end { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 16px 24px; padding: 12px 0 8px; }
.girlfriend-gallery-end > p { color: var(--muted); font-size: 13px; }
.girlfriend-gallery-end .button { background: var(--yellow); color: #242528; }
.intent-section--illustrated { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 28px 44px; }
.intent-section-media { position: relative; min-height: 360px; overflow: hidden; border-radius: 8px; }
.intent-section-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.intent-section-copy .intent-section-body { margin-top: 18px; }
.intent-section-copy > .button { margin-top: 22px; }
.intent-life { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 44px; align-items: center; padding-top: 38px; margin-top: 44px; border-top: 1px solid var(--border); }
.intent-life h2 { max-width: 440px; font-size: 25px; line-height: 1.4; }
.intent-life p { margin-top: 18px; color: #62636a; font-size: 14px; line-height: 1.9; }
.intent-life .button { margin-top: 22px; }
.intent-life figure { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 8px; }
.intent-life img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1000px) {
  .girlfriend-grid { columns: 2; }
  .girlfriend-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .girlfriend-heading { align-items: flex-start; gap: 20px; }
  .girlfriend-heading > p { max-width: 320px; font-size: 13px; }
  .girlfriend-caption { padding: 18px; }
  .girlfriend-caption h3 { font-size: 21px; }
  .girlfriend-caption > p { font-size: 12px; }
  .intent-section--illustrated { grid-template-columns: 1fr; }
  .intent-section-media { aspect-ratio: 2 / 1; min-height: 0; }
}
@media (max-width: 700px) {
  .intent-page .breadcrumbs { margin: 0; padding: 16px 0 14px; font-size: 11px; }
  .girlfriend-heading { display: block; padding-bottom: 22px; }
  .girlfriend-heading h1 { font-size: 28px; }
  .girlfriend-heading .eyebrow { font-size: 10px; }
  .girlfriend-heading > p { max-width: 460px; margin-top: 10px; font-size: 13px; line-height: 1.7; }
  .girlfriend-gallery-heading { margin-bottom: 10px; }
  .girlfriend-gallery-heading h2 { font-size: 18px; }
  .girlfriend-gallery-heading .section-note { font-size: 10px; }
  .girlfriend-filters { gap: 4px 12px; margin-bottom: 16px; }
  .girlfriend-filters span { min-width: 44px; min-height: 40px; font-size: 11px; }
  .girlfriend-grid { columns: 2; column-gap: 12px; }
  .girlfriend-grid--compact { gap: 14px 12px; }
  .girlfriend-card { margin-bottom: 14px; }
  .girlfriend-card .girlfriend-portrait { aspect-ratio: 3 / 5; min-height: 284px; }
  .girlfriend-card:nth-child(3n + 2) .girlfriend-portrait { aspect-ratio: 3 / 5.4; }
  .girlfriend-card:nth-child(3n) .girlfriend-portrait { aspect-ratio: 3 / 4.8; }
  .girlfriend-caption { padding: 14px 12px; }
  .girlfriend-connection { font-size: 9px; margin-bottom: 6px; }
  .girlfriend-caption h3 { font-size: 18px; }
  .girlfriend-caption > p { margin-top: 7px; font-size: 11px; line-height: 1.6; }
  .girlfriend-cta { min-height: 34px; margin-top: 12px; padding: 7px 13px; font-size: 11px; }
  .girlfriend-card .creator-credit { font-size: 9px; }
  .girlfriend-gallery-end { gap: 14px; padding-block: 16px; text-align: center; }
  .intent-life { grid-template-columns: 1fr; gap: 24px; margin-top: 32px; padding-top: 26px; }
  .intent-life figure { grid-row: 1; }
  .intent-life h2 { font-size: 22px; }
  .intent-life p { font-size: 13px; }
  .intent-section-media { aspect-ratio: 4 / 3; }
}
.girlfriend-details { margin-top: 52px; }
.girlfriend-details h2 { font-size: 28px; line-height: 1.4; }
.girlfriend-access { scroll-margin-top: 24px; }
.girlfriend-access-lead { display: grid; grid-template-columns: 1.1fr 1fr; background: #f4f6f3; }
.girlfriend-access-copy { padding: 38px; }
.girlfriend-access-copy h2 { max-width: 450px; }
.girlfriend-access-copy .intent-section-body { margin-top: 20px; }
.girlfriend-access-art { position: relative; min-height: 480px; overflow: hidden; background: #f7e999; }
.girlfriend-access-art figcaption { position: absolute; z-index: 1; top: 30px; left: 30px; font-size: 29px; font-weight: 700; line-height: 1.3; }
.girlfriend-access-art .eyebrow { color: #625936; font-size: 10px; }
.girlfriend-access-art > img { position: absolute; width: 100%; height: 95%; bottom: 0; right: 0; object-fit: contain; object-position: right bottom; }
.girlfriend-platforms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding: 28px 0 0; }
.girlfriend-platform { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 24px; background: #f8f9f9; border: 1px solid #e7e9e7; border-radius: 8px; }
.girlfriend-platform-title { display: flex; align-items: center; gap: 12px; }
.girlfriend-platform-title > img { width: 26px; height: 26px; object-fit: contain; }
.girlfriend-platform:nth-child(3) .girlfriend-platform-title > img { filter: brightness(0); }
.girlfriend-platform h3 { font-size: 17px; }
.girlfriend-platform > p { margin: 16px 0 22px; color: #62636a; font-size: 13px; line-height: 1.85; }
.girlfriend-platform .button { margin-top: auto; }
.girlfriend-platform:first-child .button { background: var(--yellow); color: #242528; }
.girlfriend-free { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; margin-top: 64px; padding-top: 40px; border-top: 1px solid var(--border); scroll-margin-top: 24px; }
.girlfriend-free-copy h2 { max-width: 470px; }
.girlfriend-free-copy .intent-section-body { margin-top: 20px; }
.girlfriend-mini-character { display: block; margin-top: 28px; padding: 4px 0 4px 20px; border-left: 3px solid #c8dacd; }
.girlfriend-mini-character > span { display: grid; gap: 6px; max-width: 300px; }
.girlfriend-mini-character .eyebrow { margin: 0; font-size: 10px; }
.girlfriend-mini-character strong { font-size: 19px; }
.girlfriend-mini-character > span > span:not(.eyebrow):not(.text-link) { font-size: 12px; color: #62636a; }
.girlfriend-mini-character .text-link { margin-top: 4px; }
.girlfriend-free-copy .creator-credit { margin-top: 8px; font-size: 10px; }
.girlfriend-free-checklist { padding: 34px; background: #edf4ef; }
.girlfriend-free-checklist > .eyebrow { color: #426451; }
.girlfriend-checklist-title { font-size: 28px; font-weight: 700; line-height: 1.4; }
.girlfriend-free-checklist dl { margin: 26px 0; }
.girlfriend-free-checklist dl > div { padding: 20px 0; border-top: 1px solid #ccdcd0; }
.girlfriend-free-checklist dt { display: flex; align-items: baseline; gap: 16px; font-size: 16px; font-weight: 700; }
.girlfriend-free-checklist dt > span { color: #59806a; font-size: 12px; font-weight: 600; }
.girlfriend-free-checklist dd { margin: 9px 0 0 32px; font-size: 13px; line-height: 1.8; color: #53665a; }
.girlfriend-voice { margin-top: 64px; padding: 36px; background: #f1f4f7; scroll-margin-top: 24px; }
.girlfriend-voice-heading { display: grid; grid-template-columns: 1fr 1.8fr; gap: 48px; }
.girlfriend-voice-heading h2 { max-width: 300px; }
.girlfriend-voice-types { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 30px 0 0; padding-top: 28px; border-top: 1px solid #d9dfe4; }
.girlfriend-voice-types dt { display: grid; gap: 16px; font-size: 18px; font-weight: 700; }
.girlfriend-voice-symbol { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; background: #dcebe3; border-radius: 8px; }
.girlfriend-voice-types > div:nth-child(2) .girlfriend-voice-symbol { background: #f8e9b9; }
.girlfriend-voice-types > div:nth-child(3) .girlfriend-voice-symbol { background: #e9e2ef; }
.girlfriend-voice-symbol > img { width: 28px; height: 28px; }
.girlfriend-voice-types dd { margin: 12px 0 0; color: #62636a; font-size: 13px; line-height: 1.85; }
.girlfriend-voice-note { margin-top: 28px; font-size: 11px; color: #67717a; }
.girlfriend-faq { display: grid; grid-template-columns: 1fr 2fr; gap: 52px; margin-top: 64px; }
.girlfriend-faq-aside h2 { margin-bottom: 24px; }
.girlfriend-faq-art { overflow: hidden; aspect-ratio: 1.12; border-radius: 8px; }
.girlfriend-faq-art > img { width: 100%; height: 100%; object-fit: cover; }
.girlfriend-faq-aside > .text-link { display: inline-block; margin-top: 18px; }
.girlfriend-faq .faq-list > details:first-child { border-top: 1px solid var(--border); }
.girlfriend-faq .faq-list summary { padding: 21px 0; font-size: 13px; }
.girlfriend-outro { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; gap: 48px; padding: 36px; margin-top: 60px; background: #fff6ce; }
.girlfriend-outro h2 { font-size: 28px; line-height: 1.4; }
.girlfriend-outro p { max-width: 440px; margin-top: 14px; color: #726b4f; font-size: 13px; }
.girlfriend-outro .button { margin-top: 24px; }
.girlfriend-outro-scene { display: block; overflow: hidden; border-radius: 6px; aspect-ratio: 4 / 3; }
.girlfriend-outro-scene img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s; }
.girlfriend-outro-scene:hover img { transform: scale(1.025); }
.girlfriend-related { margin-top: 52px; }
.girlfriend-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.girlfriend-related-item { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; }
.girlfriend-related-item figure { width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 6px; margin-bottom: 18px; }
.girlfriend-related-item figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s; }
.girlfriend-related-item:hover figure img { transform: scale(1.025); }
.girlfriend-related-item > .eyebrow { font-size: 10px; }
.girlfriend-related-item h3 { font-size: 19px; }
.girlfriend-related-item p { font-size: 12px; line-height: 1.85; color: var(--muted); margin: 12px 0 18px; }
.girlfriend-related-item > .text-link { margin-top: auto; }
@media (max-width: 1000px) {
  .girlfriend-access-copy { padding: 28px; }
  .girlfriend-access-lead { grid-template-columns: 1.25fr 1fr; }
  .girlfriend-access-art { min-height: 440px; }
  .girlfriend-access-art figcaption { font-size: 25px; top: 24px; left: 24px; }
  .girlfriend-platforms { gap: 16px; }
  .girlfriend-platform { padding: 20px; }
  .girlfriend-free { gap: 28px; }
  .girlfriend-free-checklist { padding: 26px; }
  .girlfriend-voice { padding: 28px; }
  .girlfriend-voice-heading { grid-template-columns: 1fr 1.7fr; gap: 28px; }
  .girlfriend-voice-types { gap: 22px; }
  .girlfriend-faq { gap: 28px; }
  .girlfriend-faq-art { aspect-ratio: 3 / 4; }
  .girlfriend-outro { gap: 28px; padding: 28px; }
  .girlfriend-related-grid { gap: 20px; }
}
@media (max-width: 700px) {
  .girlfriend-details { margin-top: 32px; }
  .girlfriend-details h2 { font-size: 23px; }
  .girlfriend-access-lead { grid-template-columns: 1fr; }
  .girlfriend-access-copy { display: contents; }
  .girlfriend-access-copy > header { grid-row: 1; padding: 24px 20px; }
  .girlfriend-access-copy > .intent-section-body { grid-row: 3; margin: 0; padding: 22px 20px 26px; }
  .girlfriend-access-art { grid-row: 2; min-height: 0; height: 300px; }
  .girlfriend-access-art figcaption { top: 24px; left: 22px; font-size: 26px; }
  .girlfriend-access-art > img { width: auto; height: 96%; max-width: 75%; max-height: none; right: 0; }
  .girlfriend-platforms { grid-template-columns: 1fr; gap: 12px; padding-top: 18px; }
  .girlfriend-platform { padding: 20px; }
  .girlfriend-platform > p { margin-block: 12px 16px; font-size: 12px; }
  .girlfriend-platform .button { font-size: 12px; }
  .girlfriend-free { grid-template-columns: 1fr; margin-top: 36px; padding-top: 28px; gap: 26px; }
  .girlfriend-mini-character strong { font-size: 18px; }
  .girlfriend-checklist-title { font-size: 25px; }
  .girlfriend-free-checklist { padding: 24px; }
  .girlfriend-free-checklist dl { margin: 22px 0; }
  .girlfriend-free-checklist dd { font-size: 12px; }
  .girlfriend-voice { margin-top: 36px; padding: 24px 20px; }
  .girlfriend-voice-heading { grid-template-columns: 1fr; gap: 18px; }
  .girlfriend-voice-heading h2 { max-width: 100%; }
  .girlfriend-voice-types { grid-template-columns: 1fr; gap: 24px; margin-top: 24px; padding-top: 24px; }
  .girlfriend-voice-types dt { display: flex; align-items: center; gap: 14px; font-size: 17px; }
  .girlfriend-voice-symbol { width: 48px; height: 48px; flex: none; }
  .girlfriend-voice-symbol > img { width: 25px; height: 25px; }
  .girlfriend-voice-types dd { margin-left: 62px; font-size: 12px; }
  .girlfriend-voice-note { line-height: 1.8; }
  .girlfriend-faq { grid-template-columns: 1fr; margin-top: 36px; gap: 22px; }
  .girlfriend-faq-aside h2 { margin-bottom: 20px; }
  .girlfriend-faq-art { aspect-ratio: 1.8; }
  .girlfriend-faq .faq-list summary { font-size: 12px; padding-block: 18px; }
  .girlfriend-outro { grid-template-columns: 1fr; padding: 26px 22px; margin-top: 36px; gap: 26px; }
  .girlfriend-outro p { font-size: 12px; }
  .girlfriend-outro-scene { aspect-ratio: 1.8; }
  .girlfriend-related { margin-top: 36px; }
  .girlfriend-related-grid { grid-template-columns: 1fr; gap: 30px; }
  .girlfriend-related-item h3 { font-size: 19px; }
  .girlfriend-related-item figure { aspect-ratio: 1.9; margin-bottom: 16px; }
}
.intent-module { margin-top: 64px; padding-top: 40px; border-top: 1px solid var(--border); scroll-margin-top: 28px; }
.intent-module h2 { font-size: 26px; line-height: 1.4; }
.intent-module-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr); gap: 48px; margin-bottom: 30px; }
.intent-illustrated-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 44px; align-items: center; }
.intent-illustrated-intro > figure { height: 100%; min-height: 380px; border-radius: 8px; overflow: hidden; }
.intent-illustrated-intro > figure > img { width: 100%; height: 100%; object-fit: cover; }
.intent-illustrated-intro .intent-section-body { margin-top: 18px; }
.intent-illustrated-intro .button { margin-top: 24px; }
.intent-relationship-grid, .intent-profile-readings, .intent-format-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.intent-relationship-grid { margin-top: 32px; }
.intent-relationship { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 28px; border: 1px solid #d4e2d8; border-top: 4px solid #8aaf97; border-radius: 6px; background: #f5f9f5; }
.intent-relationship:nth-child(2) { background: #fffcf1; border-color: #ebdfb5; border-top-color: #d0b758; }
.intent-relationship:nth-child(3) { background: #faf5f5; border-color: #ead6d6; border-top-color: #c69e9e; }
.intent-relationship h3 { font-size: 21px; }
.intent-relationship dl, .intent-profile-reading dl, .intent-format-grid dl { margin: 24px 0; width: 100%; }
.intent-relationship dl > div, .intent-profile-reading dl > div, .intent-format-grid dl > div { padding-block: 13px; border-top: 1px solid #dfe3df; }
.intent-relationship dt, .intent-profile-reading dt, .intent-format-grid dt { color: #74767a; font-size: 11px; font-weight: 600; }
.intent-relationship dd, .intent-profile-reading dd, .intent-format-grid dd { margin: 5px 0 0; color: #4d5153; font-size: 13px; line-height: 1.8; }
.intent-first-question { margin-top: auto; padding-bottom: 24px; }
.intent-first-question p { font-size: 14px; line-height: 1.8; }
.intent-relationship .button { margin-top: 0; }
.intent-module--platform { border: 0; padding: 0; }
.intent-boyfriend-art { background: #dceae0; }
.intent-boyfriend-art figcaption { max-width: 210px; }
.intent-boyfriend-art > img { width: 75%; }
.intent-platform-scene { display: grid; grid-template-columns: 1.25fr 1fr; background: #eef3f6; }
.intent-platform-scene > img { width: 100%; height: 260px; object-fit: cover; }
.intent-platform-scene > figcaption { display: flex; flex-direction: column; justify-content: center; gap: 16px; padding: 32px 40px; }
.intent-platform-scene strong { font-size: 26px; line-height: 1.5; white-space: pre-line; }
.intent-platform-scene span { max-width: 300px; font-size: 13px; color: #5f6970; line-height: 1.8; }
.intent-access-check { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 56px; }
.intent-access-check .intent-section-body { margin-top: 22px; }
.intent-checklist { padding: 30px; background: #eef5f0; }
.intent-checklist > h3 { max-width: 320px; font-size: 25px; line-height: 1.45; }
.intent-decision-points { margin: 28px 0 0; display: grid; gap: 20px; }
.intent-decision-points > div { padding-top: 18px; border-top: 1px solid #cfdcd3; }
.intent-decision-points dt { display: flex; gap: 14px; align-items: baseline; font-weight: 700; font-size: 15px; }
.intent-decision-points dt > span { color: #527a60; font-size: 11px; }
.intent-decision-points dd { margin: 9px 0 0 28px; color: #53655b; font-size: 13px; line-height: 1.85; }
.intent-module--definition .intent-decision-points { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.intent-format-grid article { padding: 24px; background: #f5f6f8; border: 1px solid #e2e5e8; border-radius: 6px; }
.intent-format-grid article:nth-child(2) { background: #f7f4fa; }
.intent-format-grid article:nth-child(3) { background: #f2f7f5; }
.intent-format-grid h3 { font-size: 18px; }
.intent-format-grid dl { margin-bottom: 0; }
.intent-profile-reading { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; border: 1px solid #e0e4e3; border-radius: 6px; overflow: hidden; }
.intent-profile-reading > header { width: 100%; padding: 24px; background: #eaf1ec; }
.intent-profile-reading:nth-child(2) > header { background: #f8edec; }
.intent-profile-reading:nth-child(3) > header { background: #efedf7; }
.intent-profile-reading h3 { font-size: 21px; }
.intent-profile-reading dl { padding-inline: 24px; margin-block: 12px 24px; }
.intent-profile-reading .button { margin: auto 24px 24px; }
.intent-scene-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 0; padding: 24px; background: #f1f4f7; }
.intent-scene-principles dt { font-weight: 700; font-size: 16px; }
.intent-scene-principles dd { margin: 8px 0 0; font-size: 13px; color: #606a73; }
.intent-scene-selector { margin-bottom: 24px; }
.intent-scene-selector fieldset { justify-content: flex-start; }
.intent-scene-plans { display: grid; gap: 32px; }
.intent-scene-plan { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); border: 1px solid #dce3e3; border-radius: 8px; overflow: hidden; }
.intent-scene-plan > figure { position: relative; min-height: 500px; background: #f0f3f4; }
.intent-scene-plan > figure > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.intent-scene-plan figcaption { position: absolute; inset: auto 16px 16px; width: fit-content; max-width: calc(100% - 32px); padding: 8px 12px; background: #fffffff2; border-radius: 4px; font-size: 11px; color: #41494b; }
.intent-scene-plan-copy { padding: 32px; }
.intent-scene-plan h3 { font-size: 23px; }
.intent-scene-plan dl { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-block: 24px; }
.intent-scene-plan dt { font-size: 11px; font-weight: 700; color: #697378; }
.intent-scene-plan dd { margin: 6px 0 0; color: #3e484c; font-size: 13px; line-height: 1.8; }
.intent-draft-label { display: block; margin-bottom: 10px; font-size: 12px; font-weight: 700; }
.intent-scene-plan textarea { display: block; width: 100%; min-height: 136px; padding: 14px; resize: vertical; border: 1px solid #c9d3d3; border-radius: 6px; background: #f7faf9; color: #354446; font-size: 14px; line-height: 1.85; }
.intent-draft-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.intent-copy-status { min-height: 24px; padding-top: 5px; color: #376747; font-size: 12px; }
.intent-scene-plan .scene-note { margin: 0; font-size: 11px; }
.intent-rubric-wrap { overflow-x: auto; }
.intent-rubric { width: 100%; border-collapse: collapse; text-align: left; }
.intent-rubric caption { text-align: left; padding-bottom: 16px; font-size: 12px; color: #677178; }
.intent-rubric th, .intent-rubric td { padding: 20px; vertical-align: top; border-bottom: 1px solid #dce3e6; font-size: 13px; line-height: 1.85; }
.intent-rubric thead { background: #edf2f5; }
.intent-rubric tbody th { width: 16%; font-weight: 700; }
.intent-rubric td { width: 42%; color: #59636b; }
.intent-rubric tbody tr:nth-child(even) { background: #f8fafb; }
.intent-rubric-label { display: none; }
.intent-routine-lead { display: grid; grid-template-columns: 1fr 1.1fr; gap: 44px; align-items: center; }
.intent-routine-lead > figure { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 8px; }
.intent-routine-lead img { width: 100%; height: 100%; object-fit: cover; }
.intent-routine-lead .intent-section-body { margin-top: 18px; }
.intent-daily-ideas { margin-top: 32px; }
.intent-daily-ideas article { display: grid; grid-template-columns: 1fr 1.65fr; gap: 48px; padding-block: 28px; border-top: 1px solid var(--border); }
.intent-daily-label h3 { font-size: 20px; margin-bottom: 14px; }
.intent-daily-context { font-size: 12px; color: #717875; }
.intent-daily-ideas blockquote { margin-block: 14px; font-size: 21px; line-height: 1.7; color: #2f4d40; }
.intent-daily-ideas .scene-note { margin: 0; }
.intent-privacy-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 48px; }
.intent-deletion-steps { padding-left: 24px; margin: 20px 0; }
.intent-deletion-steps li { padding-left: 8px; padding-bottom: 22px; }
.intent-deletion-steps li::marker { color: #58755f; font-weight: 700; }
.intent-deletion-steps h3 { font-size: 16px; }
.intent-deletion-steps p, .intent-privacy-aside p { margin-top: 10px; color: #626c67; font-size: 13px; line-height: 1.85; }
.intent-privacy-aside { padding: 28px; background: #f0f5f2; align-self: start; }
.intent-privacy-aside h3 { font-size: 21px; }
.intent-privacy-aside .text-link { display: block; margin-top: 24px; }
@media (max-width: 1000px) {
  .intent-module-head, .intent-access-check, .intent-privacy-grid { gap: 28px; }
  .intent-relationship, .intent-scene-plan-copy { padding: 24px; }
  .intent-relationship-grid, .intent-profile-readings, .intent-format-grid { gap: 16px; }
  .intent-illustrated-intro, .intent-routine-lead { gap: 28px; }
  .intent-illustrated-intro > figure { min-height: 440px; }
  .intent-scene-plan { grid-template-columns: 1fr; }
  .intent-scene-plan > figure { min-height: 0; aspect-ratio: 2.5 / 1; }
  .intent-platform-scene > figcaption { padding: 24px; }
  .intent-platform-scene strong { font-size: 23px; }
}
@media (max-width: 700px) {
  .intent-module { margin-top: 36px; padding-top: 28px; }
  .intent-module h2 { font-size: 22px; }
  .intent-module-head, .intent-access-check, .intent-privacy-grid, .intent-illustrated-intro, .intent-routine-lead { grid-template-columns: 1fr; gap: 22px; }
  .intent-module-head { margin-bottom: 24px; }
  .intent-illustrated-intro > figure { min-height: 0; aspect-ratio: 4 / 3; }
  .intent-relationship-grid, .intent-profile-readings, .intent-format-grid, .intent-module--definition .intent-decision-points { grid-template-columns: 1fr; gap: 18px; }
  .intent-relationship { padding: 24px; }
  .intent-relationship dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-block: 18px; }
  .intent-relationship dl > div:last-child { grid-column: 1 / -1; }
  .intent-relationship h3, .intent-profile-reading h3 { font-size: 22px; }
  .intent-first-question { padding-bottom: 20px; }
  .intent-platform-scene { grid-template-columns: 1fr; }
  .intent-platform-scene > img { height: auto; aspect-ratio: 2 / 1; }
  .intent-platform-scene > figcaption { padding: 24px; }
  .intent-platform-scene strong { font-size: 23px; }
  .intent-module--platform { padding-top: 0; }
  .intent-boyfriend-art figcaption { font-size: 24px; max-width: 160px; }
  .intent-checklist { padding: 24px; }
  .intent-checklist > h3 { font-size: 23px; }
  .intent-profile-reading dl { margin-block: 8px 18px; }
  .intent-scene-principles { grid-template-columns: 1fr; gap: 20px; }
  .intent-scene-selector fieldset { gap: 8px; }
  .intent-scene-plan > figure { aspect-ratio: 4 / 3; }
  .intent-scene-plan-copy { padding: 22px 18px; }
  .intent-scene-plan h3 { font-size: 21px; }
  .intent-scene-plan dl { gap: 20px 16px; }
  .intent-scene-plan textarea { font-size: 16px; min-height: 180px; }
  .intent-rubric th, .intent-rubric td { padding: 14px 12px; font-size: 12px; }
  .intent-rubric thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .intent-rubric tr, .intent-rubric th, .intent-rubric td, .intent-rubric tbody th { display: block; width: 100%; }
  .intent-rubric-label { display: block; font-size: 10px; font-weight: 700; margin-bottom: 6px; color: #687981; }
  .intent-rubric tbody tr { border-top: 2px solid #dce3e6; margin-top: 12px; padding: 4px 8px; }
  .intent-rubric tbody th { font-size: 16px; border-bottom: 0; padding-bottom: 0; }
  .intent-rubric td { border: 0; }
  .intent-rubric td:last-child { border-top: 1px solid #e0e7e9; }
  .intent-daily-ideas article { grid-template-columns: 1fr; gap: 20px; padding-block: 24px; }
  .intent-daily-ideas blockquote { font-size: 20px; }
  .intent-privacy-aside { padding: 24px; }
}
.boyfriend-heading { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding-bottom: 28px; }
.boyfriend-heading h1 { font-size: 36px; }
.boyfriend-heading > p { max-width: 470px; color: #62636a; font-size: 14px; line-height: 1.8; }
.boyfriend-gallery-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 18px; }
.boyfriend-gallery-heading h2 { font-size: 21px; }
#boyfriend-selector fieldset { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; border: 0; padding: 0; margin: 0 0 18px; }
#boyfriend-selector label { position: relative; cursor: pointer; min-width: 0; }
#boyfriend-selector input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
#boyfriend-selector label > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 16px; min-height: 48px; border: 1px solid #dddfdd; border-radius: 6px; font-size: 13px; font-weight: 700; }
#boyfriend-selector small { font-size: 11px; font-weight: 500; color: #6c716b; }
#boyfriend-selector input:checked + span { background: #ffed9d; border-color: #d2b54b; color: #262719; }
#boyfriend-selector input:focus-visible + span { outline: 2px solid #32685c; outline-offset: 3px; }
.boyfriend-cast { display: grid; gap: 20px; }
.boyfriend-cast > .girlfriend-card { display: grid; grid-template-columns: 1fr 1.15fr; grid-template-rows: auto 1fr; min-width: 0; margin: 0; border-radius: 8px; overflow: hidden; background: #f1f4ef; border: 1px solid #dce2d8; }
.boyfriend-cast > .girlfriend-card[data-character-id="biyeon"] { background: #f6f1ec; border-color: #e4dacf; }
.boyfriend-cast > .girlfriend-card[data-character-id="seungha"] { background: #f1f1f7; border-color: #dedee9; }
.boyfriend-portrait { display: block; grid-row: 1 / 3; min-width: 0; min-height: 0; position: relative; overflow: hidden; }
.boyfriend-portrait > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.boyfriend-identity { padding: 26px 28px 0; }
.boyfriend-identity .eyebrow { color: #59705e; font-size: 10px; }
.boyfriend-identity h3 { font-size: 27px; }
.boyfriend-identity > p:not(.creator-credit) { color: #62675f; font-size: 12px; margin-top: 8px; }
.boyfriend-identity .creator-credit { font-size: 10px; color: #6d726b; }
.boyfriend-quick-link { display: none; }
.boyfriend-profile { padding: 18px 28px 24px; min-width: 0; }
.boyfriend-tone { color: #62715e; font-size: 10px; font-weight: 650; }
.boyfriend-profile h4 { font-size: 22px; line-height: 1.45; margin: 8px 0 12px; max-width: 340px; }
.boyfriend-bio, .boyfriend-profile dd { color: #596256; font-size: 12px; line-height: 1.8; }
.boyfriend-profile dl { margin: 16px 0; }
.boyfriend-profile dt { font-size: 10px; font-weight: 700; color: #4d5e48; }
.boyfriend-profile dd { margin: 5px 0 0; }
.boyfriend-question { padding-top: 14px; border-top: 1px solid #d4dccf; }
.boyfriend-question > .eyebrow { font-size: 10px; margin-bottom: 9px; }
.boyfriend-question select { max-width: 100%; padding: 7px 28px 7px 10px; min-height: 36px; border: 1px solid #c9d1c5; border-radius: 4px; background: #ffffffb3; font-size: 12px; color: #384b32; }
.boyfriend-question blockquote { margin-top: 12px; min-height: 50px; font-size: 15px; line-height: 1.65; font-weight: 600; color: #31452c; }
.boyfriend-copy { padding: 4px 0; border: 0; background: none; color: #485c40; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.boyfriend-copy-status { display: inline-block; margin-left: 10px; font-size: 10px; color: #4d6244; }
.boyfriend-meet { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; margin-top: 14px; }
.boyfriend-meet > .button { background: #ffdc55; color: #242528; min-width: 130px; }
.boyfriend-meet > .button:hover { background: #f0ce45; }
.boyfriend-meet .creator-credit { margin: 0; }
.boyfriend-question-note { color: #6c7466; font-size: 9px; line-height: 1.6; margin-top: 10px; }
.is-enhanced .boyfriend-cast { grid-template-columns: minmax(0, 3.15fr) minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 18px; }
.is-enhanced .boyfriend-cast > .is-selected { grid-column: 1; grid-row: 1 / 3; }
.is-enhanced .boyfriend-cast > .girlfriend-card:not(.is-selected) { grid-column: 2; grid-template-columns: 1fr; grid-template-rows: minmax(100px, 1fr) auto; }
.is-enhanced .girlfriend-card:not(.is-selected) .boyfriend-portrait { grid-row: 1; }
.is-enhanced .girlfriend-card:not(.is-selected) .boyfriend-identity { padding: 14px 16px; }
.is-enhanced .girlfriend-card:not(.is-selected) h3 { font-size: 18px; }
.is-enhanced .girlfriend-card:not(.is-selected) .boyfriend-identity > p:not(.creator-credit) { font-size: 11px; }
.is-enhanced .girlfriend-card:not(.is-selected) .boyfriend-meet > .button { display: none; }
.is-enhanced .girlfriend-card:not(.is-selected) .boyfriend-meet { margin-top: 8px; }
.is-enhanced .girlfriend-card:not(.is-selected) .boyfriend-quick-link { display: inline-block; font-size: 11px; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; margin-top: 8px; }
.boyfriend-gallery-end { display: flex; justify-content: space-between; gap: 18px; padding-block: 20px 8px; font-size: 11px; color: #6d716c; }
.boyfriend-page > .intent-nav { margin-top: 24px; }
.boyfriend-chapter { margin-top: 72px; scroll-margin-top: 28px; }
.boyfriend-chapter h2 { font-size: 29px; line-height: 1.4; max-width: 430px; }
.boyfriend-story-lead { display: grid; grid-template-columns: 1fr 1.05fr; align-items: center; gap: 54px; }
.boyfriend-story-lead > figure { position: relative; aspect-ratio: 1.2; border-radius: 8px; overflow: hidden; }
.boyfriend-story-lead > figure > img { width: 100%; height: 100%; object-fit: cover; }
.boyfriend-story-lead figcaption { position: absolute; left: 18px; bottom: 18px; right: 18px; width: fit-content; padding: 8px 12px; background: #fffffff0; font-size: 10px; border-radius: 4px; }
.boyfriend-prose { display: grid; gap: 16px; color: #62666a; font-size: 13px; line-height: 1.9; }
.boyfriend-story-lead .boyfriend-prose, .boyfriend-device-copy .boyfriend-prose { margin-top: 20px; }
.boyfriend-story-lead .text-link { display: inline-block; margin-top: 22px; }
.boyfriend-next-moves { margin-top: 36px; }
.boyfriend-next-moves > article { display: grid; grid-template-columns: 50px minmax(0, 1fr) minmax(0, 1.75fr); gap: 30px; padding: 28px 0; border-top: 1px solid #dde2dd; }
.boyfriend-step-number { color: #81927c; font-size: 25px; font-weight: 500; }
.boyfriend-next-moves h3 { font-size: 20px; max-width: 240px; }
.boyfriend-next-moves p { font-size: 13px; color: #666b64; line-height: 1.9; }
.boyfriend-next-moves blockquote { margin-top: 14px; padding-left: 16px; border-left: 3px solid #dbbc51; font-size: 16px; color: #3b4a35; }
.boyfriend-devices { display: grid; grid-template-columns: 1fr 1.05fr; gap: 32px 54px; }
.boyfriend-devices > figure { aspect-ratio: 1.35; overflow: hidden; border-radius: 8px; }
.boyfriend-devices > figure > img { width: 100%; height: 100%; object-fit: cover; }
.boyfriend-platforms { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.boyfriend-platforms article { display: grid; grid-template-columns: 28px 1fr; gap: 12px 16px; padding-top: 24px; border-top: 1px solid #dce0e4; }
.boyfriend-platforms h3 { font-size: 17px; }
.boyfriend-platforms > article:nth-child(3) > img { filter: brightness(0); }
.boyfriend-platforms p { grid-column: 1 / -1; color: #686d71; font-size: 12px; min-height: 48px; }
.boyfriend-platforms .button { grid-column: 1 / -1; justify-self: start; }
.boyfriend-chapter-heading { display: grid; grid-template-columns: 1fr 1.5fr; gap: 54px; padding-top: 36px; border-top: 1px solid #dee1e3; margin-bottom: 30px; }
.boyfriend-access-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 0; padding: 26px 0 26px 24px; background: #f3f5f8; list-style-position: inside; }
.boyfriend-access-steps li { padding-right: 24px; }
.boyfriend-access-steps li::marker { color: #708097; font-weight: 700; font-size: 12px; }
.boyfriend-access-steps h3 { margin: 12px 0 10px; font-size: 17px; }
.boyfriend-access-steps p { font-size: 12px; line-height: 1.9; color: #626a75; }
.boyfriend-formats > article { display: grid; grid-template-columns: 1fr 3fr; gap: 32px; padding: 24px 0; border-top: 1px solid #e1e1e5; }
.boyfriend-formats h3 { font-size: 18px; }
.boyfriend-formats dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 0; }
.boyfriend-formats dt { font-size: 10px; font-weight: 700; color: #7a7a81; }
.boyfriend-formats dd { margin: 6px 0 0; font-size: 12px; color: #5f6068; line-height: 1.9; }
.boyfriend-faq { display: grid; grid-template-columns: 1fr 1.5fr; gap: 54px; }
.boyfriend-faq .text-link { display: inline-block; margin-top: 22px; }
.boyfriend-faq summary { font-size: 13px; }
.boyfriend-outro { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; margin-top: 64px; background: #fff5cc; }
.boyfriend-outro > figure { aspect-ratio: 1.7; height: 100%; }
.boyfriend-outro img { width: 100%; height: 100%; object-fit: cover; }
.boyfriend-outro > div { padding: 36px 44px; }
.boyfriend-outro h2 { font-size: 27px; }
.boyfriend-outro p { margin-top: 14px; color: #776b41; font-size: 13px; }
.boyfriend-outro .button { margin-top: 22px; }
@media (max-width: 1100px) {
  .is-enhanced .boyfriend-cast { grid-template-columns: minmax(0, 3.6fr) minmax(0, 1.2fr); }
  .boyfriend-cast > .girlfriend-card { grid-template-columns: 0.8fr 1fr; }
  .boyfriend-identity { padding: 22px 22px 0; }
  .boyfriend-profile { padding: 16px 22px 22px; }
  .boyfriend-profile h4 { font-size: 20px; }
  .boyfriend-story-lead, .boyfriend-devices, .boyfriend-chapter-heading, .boyfriend-faq { gap: 28px; }
}
@media (max-width: 900px) {
  .is-enhanced .boyfriend-cast { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
  .is-enhanced .boyfriend-cast > .is-selected { grid-column: 1 / -1; grid-row: 1; }
  .is-enhanced .boyfriend-cast > .girlfriend-card:not(.is-selected) { grid-column: auto; grid-template-columns: 0.75fr 1fr; grid-template-rows: 1fr; }
  .is-enhanced .girlfriend-card:not(.is-selected) .boyfriend-portrait { grid-row: 1; min-height: 160px; }
  .boyfriend-heading { gap: 24px; }
  .boyfriend-heading > p { max-width: 340px; font-size: 13px; }
  .boyfriend-chapter h2 { font-size: 25px; }
  .boyfriend-story-lead, .boyfriend-devices { align-items: start; }
  .boyfriend-next-moves > article { grid-template-columns: 36px minmax(0, 1fr) minmax(0, 1.6fr); gap: 20px; }
  .boyfriend-formats > article { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 600px) {
  .boyfriend-page .breadcrumbs { padding: 16px 0; margin: 0; }
  .boyfriend-heading { display: block; padding-bottom: 22px; }
  .boyfriend-heading h1 { font-size: 30px; }
  .boyfriend-heading > p { max-width: none; margin-top: 10px; font-size: 12px; }
  .boyfriend-gallery-heading { margin-bottom: 14px; }
  .boyfriend-gallery-heading h2 { font-size: 18px; }
  .boyfriend-gallery-heading .section-note { display: none; }
  #boyfriend-selector fieldset { gap: 6px; margin-bottom: 12px; }
  #boyfriend-selector label > span { flex-direction: column; align-items: flex-start; justify-content: center; gap: 3px; padding: 9px 8px; font-size: 10px; min-height: 58px; }
  #boyfriend-selector small { font-size: 10px; }
  .boyfriend-cast > .girlfriend-card { grid-template-columns: 1fr; grid-template-rows: 240px auto 1fr; }
  .boyfriend-portrait { grid-row: 1; }
  .boyfriend-portrait > img { object-position: 50% 28% !important; }
  .boyfriend-identity { padding: 20px 20px 0; }
  .boyfriend-identity h3 { font-size: 25px; }
  .boyfriend-identity > .eyebrow { display: none; }
  .boyfriend-identity > p:not(.creator-credit) { margin-top: 6px; }
  .boyfriend-profile { padding: 14px 20px 20px; }
  .boyfriend-profile h4 { font-size: 19px; margin-block: 8px; }
  .boyfriend-profile > dl { margin-block: 12px; }
  .boyfriend-question blockquote { min-height: 50px; font-size: 14px; }
  .boyfriend-question select { font-size: 16px; }
  .boyfriend-question-note { font-size: 10px; }
  .is-enhanced .boyfriend-cast { gap: 12px; }
  .is-enhanced .boyfriend-cast > .girlfriend-card:not(.is-selected) { grid-template-columns: 1fr; grid-template-rows: 140px 1fr; }
  .is-enhanced .girlfriend-card:not(.is-selected) .boyfriend-portrait { min-height: 0; }
  .is-enhanced .girlfriend-card:not(.is-selected) .boyfriend-identity { padding: 12px; }
  .is-enhanced .girlfriend-card:not(.is-selected) h3 { font-size: 16px; }
  .is-enhanced .girlfriend-card:not(.is-selected) .boyfriend-identity > p:not(.creator-credit) { font-size: 10px; }
  .is-enhanced .girlfriend-card:not(.is-selected) .creator-credit { font-size: 9px; overflow-wrap: anywhere; }
  .boyfriend-gallery-end { flex-direction: column; gap: 10px; font-size: 10px; padding-top: 16px; }
  .boyfriend-chapter { margin-top: 40px; }
  .boyfriend-chapter h2 { font-size: 24px; }
  .boyfriend-story-lead, .boyfriend-devices, .boyfriend-chapter-heading, .boyfriend-faq { grid-template-columns: 1fr; gap: 24px; }
  .boyfriend-story-lead > figure { aspect-ratio: 1.4; }
  .boyfriend-prose { font-size: 12px; }
  .boyfriend-next-moves { margin-top: 28px; }
  .boyfriend-next-moves > article { grid-template-columns: 30px 1fr; gap: 14px; padding-block: 24px; }
  .boyfriend-next-moves > article > div { grid-column: 2; }
  .boyfriend-next-moves h3 { font-size: 18px; max-width: none; }
  .boyfriend-next-moves p { font-size: 12px; }
  .boyfriend-next-moves blockquote { font-size: 14px; }
  .boyfriend-step-number { font-size: 20px; }
  .boyfriend-devices > figure { aspect-ratio: 1.6; }
  .boyfriend-platforms { grid-template-columns: 1fr; gap: 22px; }
  .boyfriend-platforms p { min-height: 0; }
  .boyfriend-access-steps { grid-template-columns: 1fr; gap: 24px; padding: 24px; }
  .boyfriend-access-steps li { padding-right: 0; }
  .boyfriend-access-steps h3 { font-size: 16px; margin-top: 8px; }
  .boyfriend-formats dl { grid-template-columns: 1fr; gap: 14px; }
  .boyfriend-formats h3 { font-size: 18px; }
  .boyfriend-faq .text-link { margin-top: 14px; }
  .boyfriend-outro { grid-template-columns: 1fr; margin-top: 40px; }
  .boyfriend-outro > figure { aspect-ratio: 1.7; }
  .boyfriend-outro > div { padding: 26px 22px; }
  .boyfriend-outro h2 { font-size: 24px; }
}
.intent-gallery { padding-bottom: 24px; }
.intent-gallery > .section-heading { margin-bottom: 16px; }
.intent-gallery h2 { font-size: 22px; }
.intent-gallery-controls { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.intent-gallery-controls .girlfriend-filters { margin: 0; }
.finder-search { display: flex; align-items: center; gap: 10px; border: 1px solid #d8dddf; border-radius: 6px; padding: 10px 12px; width: 310px; flex: none; }
.finder-search:focus-within { outline: 2px solid #32685c; outline-offset: 2px; }
.finder-search > img { opacity: .6; flex: none; }
.finder-search input { min-width: 0; width: 100%; border: 0; background: none; outline: none; color: #30353a; font-size: 12px; }
.intent-gallery .intent-cast { display: grid; columns: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 22px; align-items: start; }
.intent-gallery .girlfriend-card { display: flex; flex-direction: column; margin: 0; min-width: 0; width: 100%; }
.finder-portrait { display: block; position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 8px; background: #f2f3f4; }
.finder-portrait > img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s; }
.finder-portrait:hover > img { transform: scale(1.025); }
.finder-portrait > span { position: absolute; bottom: 12px; left: 12px; background: #ffffffed; color: #343b41; font-size: 10px; padding: 5px 10px; border-radius: 4px; }
.finder-identity { padding: 16px 0 0; }
.finder-identity h3 { font-size: 20px; }
.finder-identity > p { margin-top: 8px; color: #626a70; font-size: 12px; line-height: 1.8; min-height: 44px; }
.finder-identity > .creator-credit { font-size: 10px; min-height: 0; margin-top: 9px; }
.finder-identity details { margin-top: 14px; border-top: 1px solid #dde2e4; }
.finder-identity summary, .companion-copy summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; list-style: none; font-size: 11px; font-weight: 650; }
.finder-identity summary::-webkit-details-marker, .companion-copy summary::-webkit-details-marker { display: none; }
.finder-identity details > p { font-size: 12px; line-height: 1.85; color: #626a70; padding-bottom: 14px; }
.finder-identity details .character-tags { padding-bottom: 16px; }
.finder-identity > .button { margin-top: 2px; min-height: 40px; }
.intent-gallery-end { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-top: 26px; padding-top: 22px; border-top: 1px solid #e1e5e5; }
.intent-gallery-end > p { color: #737b79; font-size: 11px; max-width: 760px; }
.intent-gallery-end > a { flex: none; }
.finder-empty { padding: 40px 24px; background: #f3f6f7; text-align: center; }
.finder-empty h3 { font-size: 20px; }
.finder-empty p { margin-top: 12px; color: #6b7379; font-size: 13px; }
.finder-empty .button { margin-top: 22px; }
.finder-reading-lead { display: grid; grid-template-columns: 1fr 1.2fr; gap: 44px; align-items: center; margin-bottom: 30px; }
.finder-reading-lead > figure { position: relative; aspect-ratio: 1.4; overflow: hidden; border-radius: 8px; }
.finder-reading-lead img { width: 100%; height: 100%; object-fit: cover; }
.finder-reading-lead figcaption { position: absolute; bottom: 16px; left: 16px; right: 16px; padding: 9px 12px; width: fit-content; border-radius: 4px; font-size: 10px; background: #ffffffed; }
.finder-reading-lead .intent-section-body { margin-top: 20px; }
.intent-page--discovery .intent-decision-points, .intent-page--routine #choose .intent-decision-points { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 30px; }
.intent-page--discovery .intent-profile-reading { border: 0; border-radius: 0; }
.intent-page--discovery .intent-profile-reading > header { padding: 22px; }
.intent-page--discovery .intent-profile-reading dl { padding-inline: 0; }
.intent-page--discovery .intent-profile-reading .button { margin-inline: 0; }
.intent-page--scene .intent-cast { align-items: stretch; }
.intent-gallery--scene .girlfriend-card { border: 1px solid #e0e3e5; border-radius: 8px; overflow: hidden; background: #fbfcfc; }
.casting-portrait { display: block; height: 224px; overflow: hidden; flex: none; }
.casting-portrait > img { width: 100%; height: 100%; object-fit: cover; }
.casting-copy { display: flex; flex-direction: column; align-items: flex-start; flex: 1; padding: 22px; }
.casting-copy > .eyebrow { color: #6e647d; font-size: 10px; }
.casting-copy h3 { font-size: 22px; }
.casting-copy > p:not(.creator-credit) { color: #64666e; font-size: 12px; line-height: 1.8; margin-top: 10px; }
.casting-copy dl { display: grid; gap: 12px; margin: 18px 0; width: 100%; }
.casting-copy dt { font-size: 10px; color: #7a7584; font-weight: 650; }
.casting-copy dd { font-size: 12px; line-height: 1.7; color: #46424f; margin: 4px 0 0; }
.casting-copy .creator-credit { font-size: 10px; color: #77737e; margin-top: auto; }
.casting-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 16px; }
.casting-actions .button { font-size: 12px; min-height: 40px; padding: 8px 16px; }
.casting-actions .text-link { font-size: 11px; }
.intent-page--scene .intent-module--workbench { border-top: 0; padding-top: 16px; margin-top: 30px; }
.intent-page--scene .intent-scene-selector .girlfriend-filters { gap: 12px; }
.intent-page--scene .intent-scene-selector label { flex: 1; }
.intent-page--scene .intent-scene-selector span { padding: 12px 16px; border: 1px solid #d9dce3; border-radius: 6px; background: #f7f8fa; }
.intent-page--scene .intent-scene-selector input:checked + span { background: #ffed9d; border-color: #d2b54b; }
.intent-page--scene .intent-scene-plan > figure { min-height: 540px; }
.intent-page--scene .intent-scene-plan-copy { background: #fafbfc; }
.intent-gallery--routine .intent-cast { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.intent-gallery--routine .girlfriend-card { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1fr); border: 1px solid #dce3dc; background: #f5f8f3; border-radius: 8px; overflow: hidden; }
.intent-gallery--routine .girlfriend-card:nth-child(3n + 2) { background: #f4f5f9; border-color: #dfe2ea; }
.intent-gallery--routine .girlfriend-card:nth-child(3n) { background: #fff9e9; border-color: #e8e0c6; }
.companion-portrait { display: block; position: relative; min-height: 330px; }
.companion-portrait > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.companion-copy { padding: 22px; min-width: 0; }
.companion-copy > .eyebrow { color: #6d7d65; font-size: 10px; }
.companion-copy h3 { font-size: 21px; }
.companion-context { font-size: 11px; color: #65705f; line-height: 1.85; margin-top: 10px; }
.companion-copy blockquote { font-size: 16px; line-height: 1.7; font-weight: 600; color: #344830; padding-top: 16px; margin-top: 16px; border-top: 1px solid #d5dfd0; }
.companion-copy details { margin-top: 6px; }
.companion-copy summary { font-size: 10px; color: #5d7055; }
.companion-copy details > p { font-size: 11px; line-height: 1.85; color: #65705f; padding-bottom: 16px; }
.companion-copy > .button { min-height: 40px; padding: 8px 14px; font-size: 12px; margin-top: 8px; }
.companion-copy > .creator-credit { margin-top: 10px; color: #737d6e; font-size: 9px; overflow-wrap: anywhere; }
.intent-page--routine .intent-daily-ideas { border-left: 2px solid #cdd8cb; padding-left: 28px; }
.intent-page--routine .intent-daily-ideas blockquote { font-size: 19px; }
.companion-thread { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-block: 20px; }
.companion-thread .eyebrow { font-size: 10px; color: #7a8576; }
.companion-thread > div + div { border-left: 1px solid #d6dfd2; padding-left: 24px; }
.intent-page--routine .companion-thread blockquote { font-size: 16px; margin-block: 0; }
.intent-page--routine .intent-privacy-aside { background: #fff5d3; }
.intent-page--routine .girlfriend-platform { border-radius: 0; background: transparent; border: 0; border-top: 1px solid #dce2df; padding: 24px 0 0; }
@media (max-width: 1000px) {
  .intent-gallery .intent-cast { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 18px; }
  .intent-gallery-controls { gap: 16px; }
  .finder-search { width: 280px; }
  .finder-reading-lead { gap: 28px; }
  .intent-gallery--routine .girlfriend-card { grid-template-columns: 1fr; }
  .companion-portrait { min-height: 0; aspect-ratio: 1.5; }
  .casting-copy { padding: 20px; }
  .casting-portrait { height: 220px; }
}
@media (max-width: 700px) {
  .intent-gallery-controls { flex-direction: column; align-items: stretch; gap: 14px; }
  .intent-gallery h2 { font-size: 19px; }
  .intent-gallery > .section-heading { gap: 12px; }
  .intent-gallery .section-note { font-size: 10px; white-space: nowrap; }
  .finder-search { width: 100%; }
  .finder-search input { font-size: 16px; }
  .intent-gallery .intent-cast { gap: 24px 12px; }
  .finder-portrait { aspect-ratio: 3 / 4; }
  .finder-portrait > span { font-size: 9px; left: 8px; bottom: 8px; padding: 4px 7px; }
  .finder-identity { padding-top: 12px; }
  .finder-identity h3 { font-size: 17px; }
  .finder-identity > p { font-size: 11px; min-height: 80px; margin-top: 7px; }
  .finder-identity .creator-credit { font-size: 9px; overflow-wrap: anywhere; }
  .finder-identity summary { font-size: 10px; gap: 6px; }
  .finder-identity details > p { font-size: 11px; }
  .finder-identity > .button { width: 100%; padding: 8px; font-size: 11px; }
  .intent-gallery-end { flex-direction: column; gap: 14px; margin-top: 22px; }
  .finder-reading-lead { grid-template-columns: 1fr; gap: 24px; }
  .finder-reading-lead > figure { aspect-ratio: 1.6; }
  .intent-page--discovery .intent-decision-points, .intent-page--routine #choose .intent-decision-points { grid-template-columns: 1fr; gap: 20px; }
  .intent-gallery--scene .intent-cast { grid-template-columns: 1fr; gap: 22px; }
  .casting-portrait { height: 240px; }
  .casting-copy h3 { font-size: 23px; }
  .casting-copy dl { grid-template-columns: 1fr 1fr; gap: 16px; }
  .casting-actions { width: 100%; justify-content: space-between; }
  .intent-page--scene .intent-scene-selector .girlfriend-filters { gap: 6px; }
  .intent-page--scene .intent-scene-selector span { min-height: 64px; padding: 10px; font-size: 10px; }
  .intent-page--scene .intent-scene-plan > figure { min-height: 0; aspect-ratio: 1.6; }
  .intent-gallery--routine .intent-cast { grid-template-columns: 1fr; gap: 18px; }
  .intent-gallery--routine .girlfriend-card { grid-template-columns: minmax(0, .7fr) minmax(0, 1fr); }
  .companion-portrait { aspect-ratio: auto; }
  .companion-copy { padding: 18px; }
  .companion-copy h3 { font-size: 20px; }
  .companion-copy blockquote { font-size: 14px; }
  .companion-copy .companion-context { font-size: 10px; }
  .companion-copy summary { font-size: 10px; line-height: 1.7; }
  .intent-page--routine .intent-daily-ideas { padding-left: 18px; }
  .companion-thread { grid-template-columns: 1fr; gap: 22px; }
  .companion-thread > div + div { border-left: 0; border-top: 1px solid #d6dfd2; padding: 18px 0 0; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }
