/* Titus Orion creator redesign, September 2026. Shared layout plus homepage. */
:root { color-scheme: light; --bg:#fafaf7; --ink:#111; --red:#c62828; --muted:#60605b; --card:#fff; --soft:#f0eee6; --line:#111; --rule:#d8d6cf; --gold:#f2b233; --gutter:24px; }
.wrap { max-width:1280px; }
body { font-size:1rem; }
.site-header { border-bottom:1px solid var(--rule); background:var(--bg); }
.site-header .wrap { min-height:94px; gap:20px; }
.brand { gap:12px; }
.brand .mark { width:43px; height:43px; }
.brand-name { font-family:var(--display); font-size:2rem; line-height:1; letter-spacing:.01em; }
.brand-name small { display:block; font-family:var(--sans); font-size:.57rem; font-weight:600; letter-spacing:.22em; margin-top:7px; }
.site-nav a { font-size:.82rem; padding:10px 0; }
.site-nav ul { gap:6px 23px; }
.site-nav .nav-cta a { padding:11px 16px; border-radius:2px; }
.btn { border-width:1px; border-radius:2px; padding:16px 23px; font-size:.85rem; }
.btn-ink:hover { background:#333; border-color:#333; }
.btn-arrow::after { content:'↗'; padding-left:17px; }
.kicker { font-family:var(--sans); font-size:.68rem; font-weight:700; letter-spacing:.17em; color:var(--muted); }
.section { padding:80px 0; }
.page-head { padding:64px 0 18px; }
.page-head h1 { font-size:clamp(2.8rem,6vw,4.5rem); letter-spacing:-.04em; }
.page-head .lead { color:var(--muted); }
.wrap.prose { max-width:1000px; }
.article-head { padding:70px 0 20px; }
.article-head h1 { font-size:clamp(2.5rem,6vw,4.5rem); letter-spacing:-.035em; }
.article-body { font-size:1.08rem; }
.card, .board { border-width:1px; border-radius:2px; box-shadow:none; }
.card { padding:32px; }
.board { border:2px solid #111; }
.sign .board { padding:30px 24px; }
.band { padding:64px 0; }
.letter { padding:64px 0; background:#111; color:#fafaf7; }
.letter h2 { color:#fafaf7; max-width:900px; font-size:clamp(2.4rem,6vw,4.8rem); }
.letter p { color:#d3d1c8; }
.letter .small { max-width:700px; }
.letter .wrap { display:grid; grid-template-columns:1fr auto; gap:14px 60px; align-items:center; }
.letter .wrap>div { max-width:800px; }
.letter .btn { color:#111; }
.site-footer { border-top:1px solid var(--rule); padding:60px 0 36px; font-size:.86rem; }
.site-footer .verse { max-width:700px; border-top:1px solid var(--rule); padding-top:28px; font-size:1rem; }
.foot-grid { gap:40px; }
/* A masthead with room to breathe, and an editorial image rather than a card. */
.creator-hero { background:#111; color:#fafaf7; overflow:hidden; }
.hero-topline { display:flex; justify-content:space-between; gap:20px; padding:25px 0; border-bottom:1px solid #3b3a35; font-size:.65rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#b6b4ac; }
.status-dot { display:inline-block; width:6px; height:6px; background:#f2b233; border-radius:100%; margin-right:9px; }
.creator-hero-grid { display:grid; grid-template-columns:1fr 1.03fr; gap:54px; align-items:center; padding:65px 0 74px; }
.creator-hero h1 { font-family:var(--display); font-weight:400; text-transform:uppercase; font-size:clamp(4.8rem,8.4vw,7.8rem); letter-spacing:-.018em; line-height:.99; margin:0 0 28px; }
.creator-hero h1 .go-word { color:#ef5350; }
.creator-hero .hero-copy { color:#cfcdc5; max-width:440px; font-size:1.04rem; line-height:1.8; }
.creator-hero .hero-copy strong { color:#fafaf7; font-weight:600; }
.creator-hero .btn-line { border-color:#66645f; color:#fafaf7; }
.creator-hero .btn-line:hover { background:#fafaf7; color:#111; }
.creator-hero .btns { gap:10px; }
.hero-photo { margin:0; position:relative; }
.hero-photo img { display:block; width:100%; aspect-ratio:5/5.2; object-fit:cover; object-position:57% center; }
.hero-photo figcaption { color:#b6b4ac; font-size:.64rem; letter-spacing:.13em; text-transform:uppercase; padding:17px 0 0; display:flex; justify-content:space-between; gap:20px; }
.hero-photo .photo-note { position:absolute; bottom:74px; left:-25px; color:#111; background:#f2b233; padding:19px 24px; font-family:var(--serif); font-size:1.3rem; transform:rotate(-3deg); max-width:280px; line-height:1.2; }
.manifesto-strip { background:var(--gold); color:#111; padding:17px 0; }
.manifesto-strip .wrap { display:flex; justify-content:space-between; gap:14px; font-size:.65rem; letter-spacing:.13em; font-weight:700; text-transform:uppercase; }
.section-head { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:36px; }
.section-head h2 { font-family:var(--serif); letter-spacing:-.035em; font-size:clamp(2rem,4.3vw,3.5rem); margin:0; max-width:740px; }
.section-head .text-link { flex:none; font-size:.85rem; font-weight:600; }
.featured-story { display:grid; grid-template-columns:1.08fr 1fr; border-top:1px solid #111; border-bottom:1px solid #111; text-decoration:none; }
.story-poster { min-height:330px; padding:45px; background:#eeeae0; display:flex; flex-direction:column; justify-content:space-between; }
.story-poster span { font-family:var(--display); font-size:clamp(3.1rem,6.4vw,5.6rem); line-height:1.02; text-transform:uppercase; }
.story-poster small { font-size:.67rem; letter-spacing:.17em; text-transform:uppercase; }
.story-copy { padding:46px; display:flex; flex-direction:column; justify-content:center; }
.story-copy h3 { font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.5rem); font-weight:600; letter-spacing:-.025em; }
.story-copy p { color:var(--muted); }
.story-copy .story-read { font-size:.85rem; font-weight:700; color:#111; margin-top:12px; }
.featured-story:hover .story-read { text-decoration:underline; text-underline-offset:6px; }
.challenge-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.challenge-tile { color:var(--ink); text-decoration:none; display:flex; flex-direction:column; }
.challenge-poster { background:#fff; border:1px solid #111; aspect-ratio:1.24; padding:27px; display:flex; flex-direction:column; justify-content:space-between; }
.challenge-poster .tile-no { color:var(--muted); font-size:.65rem; letter-spacing:.12em; }
.challenge-poster .poster-words { font-family:var(--display); font-size:clamp(1.9rem,3.4vw,3.05rem); line-height:1.04; text-transform:uppercase; }
.challenge-poster .tile-ref { font-size:.67rem; letter-spacing:.12em; text-transform:uppercase; }
.challenge-tile h3 { font-family:var(--serif); font-size:1.35rem; font-weight:600; margin:22px 0 10px; }
.challenge-tile p { font-size:.9rem; color:var(--muted); }
.challenge-tile .tile-link { font-size:.78rem; font-weight:700; margin-top:auto; }
.challenge-tile:hover .tile-link { text-decoration:underline; text-underline-offset:5px; }
.book-section { background:#ece9df; }
.book-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; align-items:center; }
.book-art { max-width:320px; padding:50px 32px 30px; min-height:420px; background:#111; color:#fafaf7; box-shadow:10px 10px 0 #d3cdbc; margin:0 auto; transform:rotate(-4deg); display:flex; flex-direction:column; }
.book-art .book-title { font-family:var(--display); font-size:4.4rem; text-transform:uppercase; line-height:1; }
.book-art .book-sub { font-family:var(--serif); font-size:1.08rem; line-height:1.4; color:#dedbd1; margin-top:20px; }
.book-art .book-author { margin-top:auto; padding-top:35px; font-size:.7rem; letter-spacing:.13em; text-transform:uppercase; color:#f2b233; }
.book-copy h2 { font-size:clamp(2.3rem,4.4vw,3.8rem); letter-spacing:-.035em; }
.book-copy p { max-width:510px; color:var(--muted); }
.book-copy .small { margin-top:22px; }
.about-home { display:grid; grid-template-columns:1fr 1.05fr; gap:80px; align-items:start; }
.about-home h2 { font-family:var(--display); font-size:clamp(3.3rem,6vw,5.4rem); font-weight:400; text-transform:uppercase; line-height:1.05; }
.about-home p { color:var(--muted); }
.about-home .plain-link { font-weight:600; font-size:.88rem; }
.weekly-step { padding:35px 38px; background:#f2b233; margin-top:28px; }
.weekly-step .kicker { color:#111; }
.weekly-step p.kicker { font-family:var(--sans); font-size:.68rem; margin-bottom:12px; }
.weekly-step p { color:#111; margin:0; font-family:var(--serif); font-size:1.3rem; }
.field-feature { margin-top:32px; padding-top:24px; border-top:1px solid var(--rule); }
.field-feature h3 { font-size:1rem; }
.portrait-brand { padding:40px; background:#ece9df; }
.portrait-brand img { display:block; width:200px; margin:0 auto; }
.portrait-brand p { margin:25px 0 0; text-align:center; font-family:var(--display); font-size:1.8rem; text-transform:uppercase; }
@media (min-width:1500px) { .creator-hero h1 { font-size:8rem; } }
@media (max-width:1000px) { .site-nav ul { gap:5px 14px; } .creator-hero-grid { gap:32px; } .creator-hero h1 { font-size:clamp(4.8rem,8.6vw,6.8rem); } .book-grid { gap:55px; } .story-copy { padding:32px; } }
@media (max-width:760px) {
 :root { --gutter:20px; }
 .site-header .wrap { align-items:flex-start; flex-direction:column; gap:16px; padding-top:20px; padding-bottom:16px; }
 .brand .mark { width:36px; height:36px; }
 .brand-name { font-size:1.8rem; }
 .site-nav { width:100%; }
 .site-nav ul { gap:5px 18px; }
 .site-nav a { font-size:.75rem; }
 .site-nav .nav-cta a { padding:8px 12px; }
 .hero-topline { padding:20px 0; font-size:.55rem; letter-spacing:.1em; }
 .creator-hero-grid { grid-template-columns:1fr; padding:38px 0 40px; gap:34px; }
 .creator-hero h1 { font-size:clamp(4.7rem,17vw,7rem); }
 .creator-hero .hero-copy { max-width:560px; }
 .hero-photo img { aspect-ratio:1.2; }
 .hero-photo .photo-note { left:14px; bottom:56px; font-size:1.1rem; padding:16px 20px; }
 .manifesto-strip .wrap { flex-wrap:wrap; gap:10px 22px; justify-content:flex-start; font-size:.55rem; }
 .section { padding:55px 0; }
 .section-head { align-items:start; flex-direction:column; gap:17px; }
 .featured-story,.book-grid,.about-home { grid-template-columns:1fr; gap:0; }
 .story-poster { min-height:260px; padding:32px; }
 .story-poster span { font-size:3.7rem; }
 .story-copy { padding:32px 4px; }
 .challenge-grid { grid-template-columns:1fr; gap:36px; }
 .challenge-poster { aspect-ratio:1.6; }
 .challenge-poster .poster-words { font-size:2.9rem; }
 .book-grid { gap:55px; }
 .book-art { min-height:380px; width:275px; }
 .book-art .book-title { font-size:3.8rem; }
 .about-home { gap:28px; }
 .letter .wrap { grid-template-columns:1fr; gap:18px; }
 .letter .btn { justify-self:start; }
 .weekly-step { padding:27px; }
}
@media (prefers-reduced-motion:no-preference) { .challenge-poster { transition:transform .18s; } .challenge-tile:hover .challenge-poster { transform:translateY(-4px); } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* The name is the mark. */
.footer-wordmark { font-family:var(--display); font-size:2rem; line-height:1; margin:0 0 20px; }
.name-plate { background:#111; color:#fafaf7; font-family:var(--display); font-size:clamp(3.5rem,7vw,5rem); line-height:1.06; letter-spacing:-.02em; text-align:center; padding:38px 24px; }
