:root{--bg:#0b0d12;--surface:#12151d;--surface2:#181821;--border:#282d39;--text:#efede9;--muted:#9daec7;--accent:#ee895d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#090b10;color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%;display:block}button{font:inherit}.site-shell{max-width:1440px;margin:10px auto;border:1px solid var(--border);border-radius:20px;overflow:hidden;background:var(--bg)}.wrap{width:min(100% - 72px,1240px);margin:auto}.site-header{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{font:30px Georgia,serif;white-space:nowrap;color:white}.brand span{color:var(--accent)}.brand img{max-height:60px;width:auto}.site-nav .nav{display:flex;gap:28px;list-style:none;padding:0;margin:0}.site-nav a{color:var(--muted)}.site-nav a:hover{color:var(--accent)}.button{border:1px solid var(--accent);border-radius:999px;padding:14px 28px;display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:55px;font-weight:600;font-size:17px;transition:transform .15s,background .15s;line-height:1.3}.button:hover{transform:translateY(-2px)}.button-solid{background:var(--accent);color:#100c0a}.button-solid:hover{color:#100c0a;background:#f7a27b}.button-outline{background:transparent;color:#f4ab87}.button-outline:hover{background:rgba(238,137,93,.08)}.mobile-menu-button{display:none;background:none;color:white;border:0;font-size:29px;cursor:pointer}.hero{border-block:1px solid var(--border);background:radial-gradient(ellipse at 50% 0%,#171923 0%,#0e1016 68%)}.hero-inner{text-align:center;padding:80px 0 61px}.eyebrow{font-size:14px;letter-spacing:.23em;color:var(--accent);text-transform:uppercase;font-weight:600}.hero h1{font:700 clamp(40px,5vw,65px)/1.04 Georgia,serif;max-width:950px;margin:24px auto 30px}.hero-description{color:var(--muted);font-size:23px;line-height:1.55;max-width:960px;margin:0 auto}.hero-actions{display:flex;justify-content:center;gap:16px;margin-top:40px;flex-wrap:wrap}.benefits{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--border)}.benefit{text-align:center;padding:27px 38px 24px;border-right:1px solid var(--border)}.benefit:last-child{border:0}.benefit strong{display:block;font-size:19px}.benefit span{display:block;color:var(--muted);margin-top:7px;font-size:17px}.section-heading{margin-bottom:32px}.section-heading h2,.faq h2{font:normal 40px/1.15 Georgia,serif;margin:4px 0 14px}.section-heading>p:not(.eyebrow){color:var(--muted);font-size:20px}.latest-section,.stories-section{padding-block:80px}.featured-post{display:grid;grid-template-columns:1.12fr 1fr;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--surface)}.featured-image,.post-image{overflow:hidden;background:#21212b}.featured-image{min-height:420px}.featured-image img,.post-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.featured-image:hover img,.post-image:hover img{transform:scale(1.035)}.featured-info{display:flex;flex-direction:column;align-items:start;justify-content:center;padding:48px}.featured-info h3{font:normal clamp(30px,3.4vw,50px)/1.1 Georgia,serif;margin:14px 0}.featured-info>p:not(.post-meta){color:var(--muted);font-size:19px}.featured-info .button{margin-top:22px}.post-meta{font-size:13px;text-transform:uppercase;color:var(--accent);letter-spacing:.09em}.image-placeholder{height:100%;min-height:180px;display:grid;place-items:center;font:70px Georgia,serif;color:#3c3a45;background:linear-gradient(130deg,#211a21,#111722)}.family-banner{background:linear-gradient(105deg,#27191a,#16151c 70%);border-block:1px solid #4c302b}.family-banner-inner{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-block:30px}.family-banner h2{font:normal 31px Georgia,serif;margin:3px 0}.family-banner p{margin:4px 0;color:var(--muted)}.family-banner .eyebrow{color:var(--accent)}.post-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.post-card{background:var(--surface);border:1px solid var(--border);border-radius:15px;overflow:hidden;display:flex;flex-direction:column}.post-image{height:200px}.post-card-body{padding:22px;display:flex;flex:1;flex-direction:column}.post-card h3{font:normal 25px/1.18 Georgia,serif;margin:12px 0}.post-card-body>p:not(.post-meta){font-size:16px;color:var(--muted);margin-top:6px}.post-card .text-link{color:var(--accent);font-size:16px;font-weight:600;margin-top:auto;padding-top:14px}.archive-link{display:block;text-align:center;color:var(--accent);margin-top:34px}.membership-section{padding-block:80px 55px}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.price-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:30px 27px 26px;display:flex;flex-direction:column;min-height:435px}.price-card.popular{border-color:var(--accent);background:#1b1921}.price-card h3{font-size:21px;margin:0 0 20px}.price-line{display:flex;align-items:baseline;gap:5px}.price-line strong{font:normal 37px Georgia,serif}.price-line span{font-size:16px;color:var(--muted)}.price-card ul{padding-left:24px;color:var(--muted);margin:25px 0;flex:1;line-height:1.8}.price-card li{padding:4px 0}.price-card .button{width:100%}.pricing-note{color:var(--muted);margin-top:22px}.faq{margin-top:60px}.faq h2{margin-bottom:27px}.faq details{border-bottom:1px solid var(--border);padding:18px 0}.faq summary{cursor:pointer;color:var(--text);font-size:19px}.faq details p{color:var(--muted);margin:12px 0 4px 24px}.site-footer{min-height:100px;border-top:1px solid var(--border);display:flex;gap:30px;justify-content:space-between;align-items:center;color:var(--muted);font-size:16px}.listing-page{padding-block:55px 85px}.listing-head{padding-top:65px}.listing-head h1,.listing-page h1{font:normal 50px Georgia,serif;margin:5px 0}.listing-head p{color:var(--muted)}.listing-page .post-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pagination{margin-top:35px;display:flex;gap:20px;justify-content:center}.pagination a{color:var(--accent)}.article-page{padding:70px 25px}.article-wrap{max-width:900px;margin:auto}.article-header{text-align:center}.article-header h1{font:normal clamp(38px,5vw,64px)/1.12 Georgia,serif}.article-excerpt{color:var(--muted);font-size:21px}.article-cover{margin:42px 0}.article-cover img{width:100%;border-radius:14px}.gh-content{font:21px/1.85 Georgia,serif;overflow-wrap:anywhere}.gh-content h2,.gh-content h3{line-height:1.25}.gh-content a{color:var(--accent);text-decoration:underline}.gh-content img{margin:auto}.gh-content blockquote{border-left:3px solid var(--accent);padding-left:22px;color:var(--muted)}.gh-content .kg-width-wide,.gh-content .kg-width-full{max-width:100%}.article-after{display:flex;justify-content:space-between;margin-top:50px;padding-top:25px;border-top:1px solid var(--border);font-size:17px;color:var(--accent)}.error-page{text-align:center;padding-block:140px}.error-page h1{font:normal 50px Georgia,serif}@media(max-width:1000px){.wrap{width:min(100% - 42px,1240px)}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-post{grid-template-columns:1fr 1fr}.featured-info{padding:30px}.site-header{gap:16px}.site-nav .nav{gap:15px}.brand{font-size:25px}}@media(max-width:740px){.site-shell{margin:0;border-radius:0}.site-header{min-height:77px;flex-wrap:wrap}.mobile-menu-button{display:block;margin-left:auto}.header-cta{padding:10px 17px;min-height:43px;font-size:14px}.site-nav{order:4;width:100%;display:none;padding-bottom:18px}.site-nav.is-open{display:block}.site-nav .nav{flex-direction:column;gap:12px}.hero-inner{padding:67px 0 51px}.hero-description{font-size:19px}.hero-actions{gap:12px}.hero-actions .button{width:100%}.benefits{grid-template-columns:1fr}.benefit{border-right:0;border-bottom:1px solid var(--border);padding:18px}.benefit:last-child{border:0}.latest-section,.stories-section,.membership-section{padding-block:58px}.featured-post{grid-template-columns:1fr}.featured-image{min-height:260px;height:270px}.featured-info{padding:28px}.family-banner-inner{flex-direction:column;align-items:flex-start}.post-grid,.listing-page .post-grid{grid-template-columns:1fr}.post-image{height:230px}.pricing-grid{grid-template-columns:1fr}.price-card{min-height:0}.site-footer{flex-direction:column;align-items:flex-start;justify-content:center;padding-block:23px}.section-heading h2,.faq h2{font-size:35px}.article-page{padding:45px 20px}.gh-content{font-size:19px}}

/* Meet the Families: vertically stacked character dossiers */
.families-page{padding-top:75px;padding-bottom:95px}.families-header{text-align:center;margin:0 auto 56px;max-width:960px}.families-header h1{font:normal clamp(42px,6vw,76px)/1.12 Georgia,serif;margin:12px 0 22px}.families-subtitle{color:var(--muted);font-size:21px}.families-intro{font:18px/1.75 Arial,Helvetica,sans-serif;color:var(--muted)}.families-intro:empty{display:none}.characters-stack{display:flex;flex-direction:column;gap:25px}.character-card{display:grid;grid-template-columns:minmax(230px,37%) minmax(0,1fr);background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;min-height:360px}.character-portrait{background:radial-gradient(circle at 50% 48%,#2a2931,#13131b 70%);display:flex;justify-content:center;align-items:flex-end;min-height:350px;overflow:hidden}.character-portrait img{width:100%;height:100%;max-height:620px;object-fit:contain;object-position:bottom center}.character-image-empty{min-height:350px;width:100%;display:grid;place-items:center;color:#777787;font:normal 28px Georgia,serif;text-align:center;padding:20px}.character-details{padding:40px clamp(24px,4.2vw,60px);align-self:center;min-width:0}.character-details .eyebrow{margin:0 0 10px}.character-details h1,.character-details h2{font:normal clamp(31px,3.5vw,49px)/1.12 Georgia,serif;margin:0 0 18px}.character-teaser{font-size:19px;color:var(--muted);margin:0 0 20px}.character-biography{font:17px/1.75 Arial,Helvetica,sans-serif;color:var(--text)}.character-biography h2,.character-biography h3{font-family:Georgia,serif}.character-biography p{margin:0 0 14px}.character-biography ul{padding-left:20px}.character-more{display:inline-block;margin-top:18px;font-size:16px;color:var(--accent);font-weight:600}.characters-empty{border:1px dashed var(--border);border-radius:15px;padding:40px;text-align:center;color:var(--muted)}.characters-empty h2{font:normal 32px Georgia,serif;color:var(--text)}.character-single-page{padding-block:60px 100px}.characters-back{display:inline-block;color:var(--accent);margin-bottom:25px}.character-card-single{min-height:480px}
@media(max-width:740px){.families-page{padding-top:45px;padding-bottom:65px}.families-header{margin-bottom:35px}.characters-stack{gap:20px}.character-card{grid-template-columns:1fr}.character-portrait{height:330px;min-height:330px}.character-portrait img{max-height:330px}.character-details{padding:27px 25px 34px}.character-details h1,.character-details h2{font-size:35px}.character-single-page{padding-block:35px 65px}}

/* v1.0.8: concise family cards and centered full-profile layout */
.characters-stack .character-details{align-self:center}
.characters-stack .character-teaser{font:18px/1.7 Arial,Helvetica,sans-serif;color:var(--muted);max-width:62ch}
.character-profile-page{padding-block:55px 105px}
.character-profile-article{max-width:920px;margin:0 auto}
.character-profile-header{text-align:center;margin:15px auto 42px;max-width:850px}
.character-profile-header h1{font:normal clamp(42px,5.5vw,76px)/1.12 Georgia,serif;margin:14px 0 18px}
.character-profile-header .character-teaser{max-width:700px;margin:0 auto;color:var(--muted);font-size:21px}
.character-profile-cover{margin:0 auto 46px;max-width:760px;text-align:center}
.character-profile-cover img{display:block;width:auto;height:auto;max-width:100%;max-height:780px;object-fit:contain;margin:0 auto;border-radius:14px}
.character-profile-content{max-width:780px;margin:0 auto}
@media(max-width:740px){.character-profile-page{padding-block:35px 70px}.character-profile-header{margin:10px auto 30px}.character-profile-cover{margin-bottom:30px}.character-profile-cover img{max-height:550px}.character-profile-header .character-teaser{font-size:18px}}

/* Direct speech between straight double quotes follows the theme accent. */
.gh-content .dialogue-accent { color: var(--accent, #ee895d); }
