/* Shared legibility and flexible layouts, desktop through narrow mobile. */
:root{--text-body:1.125rem;--text-ui:1rem;--text-caption:.875rem}
.button,.text-link,.main-nav,.community .main-nav{font-size:var(--text-ui)}
.button{min-height:54px;padding:14px 24px;line-height:1.45;gap:24px;border-radius:3px;max-width:100%}
.text-link{min-height:44px;line-height:1.5}
.concept-bar{padding:10px 24px;gap:16px;flex-wrap:wrap;letter-spacing:.02em}
.concept-bar nav{gap:8px;flex-wrap:wrap}
.concept-bar nav a{font-size:var(--text-caption);min-height:42px;display:flex;align-items:center;white-space:normal}
.concept-label,.preview-label{font-size:var(--text-caption)}
.site-header,.community .site-header{height:auto;min-height:104px;padding-top:20px;padding-bottom:20px}
.brand small{letter-spacing:.03em;font-size:var(--text-caption)}
.brand{letter-spacing:.05em}.main-nav{gap:26px}.nav-cta{white-space:nowrap}
.eyebrow,.hero-content .eyebrow,.community .eyebrow{font-size:var(--text-caption);letter-spacing:.09em;line-height:1.65}
.hero-intro,.community-hero-copy>p:not(.eyebrow):not(.join-note){font-size:1.25rem;line-height:1.7;max-width:50ch}
.hero-caption{margin-top:58px;flex-wrap:wrap}.hero-caption span:first-child{font-size:var(--text-caption)}
.guild-facts .wrap{gap:25px}.guild-facts b{font-size:var(--text-caption);letter-spacing:.05em}
.intro-grid,.addon-grid{gap:64px}.intro-copy{font-size:var(--text-body)}
.values h3{font-size:1.25rem;line-height:1.35}.values p{font-size:var(--text-ui);line-height:1.7}
.section-aside{font-size:var(--text-ui);max-width:33ch}.editor-note{font-size:var(--text-caption)!important}
.event-row{grid-template-columns:52px minmax(0,1.3fr) minmax(0,1fr) 108px 22px;gap:22px;padding:30px 0}
.event-title strong{font-size:1.5rem;line-height:1.35;display:block}.event-desc{font-size:var(--text-ui);line-height:1.65}
.event-title small,.event-status{font-size:var(--text-caption);letter-spacing:.04em}
.visual-caption,.project-meta,.article-meta{flex-wrap:wrap;line-height:1.6;letter-spacing:.04em}
.visual-caption span,.version-stamp,.project-meta,.article-meta,.article-meta span{font-size:var(--text-caption)}
.addon-copy>p:not(.eyebrow),.project-copy>p,.manifesto-copy,.journal-card>p{font-size:var(--text-body);line-height:1.75}
.feature-list,.community .feature-list{font-size:var(--text-ui);line-height:1.65;display:grid;gap:12px}
.discord-grid{gap:60px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.discord-grid p:not(.eyebrow){font-size:var(--text-body);line-height:1.75}
.channel-board p{font-size:var(--text-body)!important}.channel-board small{font-size:var(--text-caption)}
.faq details{font-size:var(--text-body)}.faq summary{min-height:32px;line-height:1.5}.faq summary:after{flex-shrink:0}
.site-footer>div+div{font-size:var(--text-ui);flex-wrap:wrap}.site-footer button,.site-footer>div+div>a{min-height:44px;display:inline-flex;align-items:center}
.site-footer>p,.footer-brand span{font-size:var(--text-caption);line-height:1.75}.footer-brand{letter-spacing:.03em}
dialog{width:min(760px,calc(100% - 32px));padding:48px;overflow-wrap:anywhere}
dialog p,dialog li{font-size:var(--text-body);line-height:1.75}dialog .callout{font-size:var(--text-ui)}
.dialog-close{width:44px;height:44px;top:5px;right:8px}.dialog-kicker{padding-right:20px}
.community dialog .editor-note,.ideas dialog .editor-note{color:#4f6252!important}
.community-hero{grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);gap:64px;padding-top:40px;padding-bottom:75px}
.community-hero h1{font-size:clamp(2.6rem,4.6vw,4.4rem);line-height:1.06;letter-spacing:-.045em}
.community .community-hero-copy .join-note{font-size:var(--text-caption);color:#4f6252;margin:16px 0 0;max-width:none}
.hero-tags{font-size:var(--text-caption);gap:14px;flex-wrap:wrap;margin-top:24px}
.editorial-art{width:100%;max-width:530px;padding:20px 20px 18px}
.editorial-art>img{height:460px;width:100%;object-position:62% 60%;border-radius:180px 180px 6px 6px;filter:none}
.art-index{position:static;max-width:none;font-size:var(--text-caption);padding:0 0 16px;letter-spacing:.06em}
.art-sticker{width:178px;height:auto;min-height:165px;padding:20px;bottom:65px;left:-28px}
.art-sticker>span:first-child{font-size:var(--text-caption);letter-spacing:.06em}.art-sticker strong{font-size:2rem;line-height:1.1}.art-sticker>span:last-child{right:13px;bottom:8px}
.art-bottom{font-size:var(--text-caption);line-height:1.5;gap:10px}
.editorial-marquee{font-size:var(--text-caption);letter-spacing:.07em;flex-wrap:wrap;gap:15px}
.welcome-section{padding-bottom:76px}.welcome-section h2{font-size:clamp(2.1rem,3.5vw,3rem)}
.welcome-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.welcome-grid article{border-top:1px solid #acb9a8;padding-top:24px}.welcome-grid article>span{color:#9d4329;font-size:var(--text-caption)}
.welcome-grid h3{font-size:1.55rem;line-height:1.3;margin:14px 0}.welcome-grid p{font-size:var(--text-body);color:#4f6252;line-height:1.75}
.welcome-foot{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:36px;padding-top:22px;border-top:1px solid #c5cebd}
.welcome-foot p{font-size:var(--text-ui);color:#4f6252;max-width:52ch}.welcome-foot a{flex-shrink:0}
.project-feature{grid-template-columns:1fr 1fr}.project-copy{padding:40px}.project-image{padding:38px;overflow:visible}
.project-meta{gap:10px}.project-copy>small{font-size:var(--text-caption);line-height:1.6}
.project-image .screenshot-button{transform:none;box-shadow:0 10px 26px #334e3521}.image-footnote{position:static;font-size:var(--text-caption);margin-top:24px;text-align:center}
.project-image .screenshot-button>span{font-size:var(--text-ui);line-height:1.5;padding:10px 12px;margin:0}
.filter-tabs button{font-size:var(--text-ui);min-height:46px;padding:9px 20px}
.journal-grid{gap:28px}.journal-visual{height:270px}.journal-card h3{font-size:1.5rem;line-height:1.35}
.paper{min-height:230px;height:auto;width:90%;padding:22px 16px;transform:rotate(-4deg)}.paper>small{font-size:var(--text-caption);letter-spacing:0}
.paper>span{font-size:1rem;line-height:1.8}.paper>b{display:none}
.story-landscape{background-image:linear-gradient(0deg,#0d2423e6,transparent),url('assets/wow-darkshore.webp')}
.story-community{background:linear-gradient(0deg,#14261bea,transparent),url('assets/wow-camp.webp') 30% 50%/cover}
.story-community strong{font-size:1.65rem;line-height:1.2;left:22px;right:22px;bottom:22px;letter-spacing:-.02em}
.community-discord>.wrap{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:65px}
.community-discord h2{font-size:3.1rem}.community-discord h2 em{font-size:3.4rem}
.community-discord p:not(.eyebrow){font-size:var(--text-body)}.community-discord small{font-size:var(--text-caption);line-height:1.6}
.first-steps{padding-bottom:20px!important}.first-steps ol{list-style:none;counter-reset:start;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;gap:32px;margin:35px 0 0}
.first-steps li{counter-increment:start;border-top:1px solid #bbc6b2;padding-top:24px}.first-steps li:before{content:'0'counter(start);display:block;color:#a04a2c;font-size:var(--text-caption);margin-bottom:14px}
.first-steps strong{font-size:1.25rem;line-height:1.4}.first-steps p{font-size:var(--text-ui);color:#4f6252;margin-top:12px;line-height:1.7}
.idea-table{font-size:var(--text-body)}.idea-table td:last-child{font-size:var(--text-ui)}.idea-checklist p,.comparison p,.ideas .section>p,.plan-callout{font-size:var(--text-body)}
.plan-callout a,.idea-checklist a{text-decoration:underline}.comparison a{min-height:44px}
@media(min-width:1800px){.wrap,.community .wrap,.ideas .wrap{width:min(1480px,calc(100% - 160px))}.community-hero h1{font-size:5rem}.community-hero-copy>p:not(.eyebrow):not(.join-note){font-size:1.4rem}.editorial-art{max-width:620px}.editorial-art>img{height:520px}.main-nav,.community .main-nav,.button,.text-link{font-size:1.125rem}}
@media(max-width:1250px){.concept-label,.preview-label{display:none}.selected-bar nav{width:100%;justify-content:center}.brand small{max-width:240px}.main-nav{gap:18px}.intro-grid,.addon-grid{gap:40px}.community-hero{gap:40px}.community-hero h1{font-size:3.5rem}.project-copy{padding:32px}.project-image{padding:28px}.site-footer{grid-template-columns:1fr}.journal-grid{gap:20px}.journal-visual{height:260px}.paper{padding:16px 10px}.community-discord>.wrap{gap:38px}}
@media(max-width:1000px){.site-header{position:relative}.menu-toggle{display:block;min-width:46px;min-height:46px;flex-shrink:0}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:8;flex-direction:column;align-items:stretch;gap:0;padding:12px;background:#1c302b;border:1px solid #63715f}.main-nav.open{display:flex}.main-nav>a{padding:14px}.community .main-nav{background:#f4f1e9}.community-hero h1{font-size:3rem}.community-hero{gap:30px}.art-sticker{left:-12px;width:158px;min-height:150px}.art-sticker strong{font-size:1.7rem}.welcome-grid,.first-steps ol{gap:24px}.welcome-grid h3{font-size:1.35rem}.journal-grid{grid-template-columns:1fr 1fr}.journal-visual{height:280px}.paper{padding:22px;max-width:280px}.community-discord h2{font-size:2.6rem}.community-discord h2 em{font-size:2.8rem}.event-row{grid-template-columns:45px minmax(0,1.2fr) minmax(0,1fr) 90px 20px;gap:16px}.event-title strong{font-size:1.25rem}}
@media(max-width:760px){.wrap,.community .wrap,.ideas .wrap{width:calc(100% - 40px)}.concept-bar{padding:10px 12px}.concept-bar nav{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:100%}.concept-bar nav a{font-size:var(--text-caption);padding:8px;justify-content:center;text-align:center}.concept-bar nav a:last-child{grid-column:1/-1}.concept-bar .plan-link{font-size:var(--text-caption)}.site-header,.community .site-header{min-height:92px;padding:16px 0}.brand{font-size:1.05rem}.brand small{font-size:var(--text-caption);max-width:210px;line-height:1.5}.community-brand{font-size:1rem}.hero-content{padding-top:42px;padding-bottom:28px}.hero-content .eyebrow{font-size:var(--text-caption);gap:8px;letter-spacing:.04em}.small-line{display:none}.hero-intro,.community-hero-copy>p:not(.eyebrow):not(.join-note){font-size:var(--text-body);line-height:1.75;max-width:none}.hero-caption{margin-top:42px;display:block}.hero-caption span+span{display:block;border-left:0;padding-left:0;margin-top:12px;font-size:var(--text-caption)}.guild-facts .wrap{gap:20px}.guild-facts b{letter-spacing:.02em}.guild-facts span{font-size:var(--text-ui)}.actions{gap:14px}.button{font-size:var(--text-ui);min-height:54px;padding:14px 20px}.text-link{font-size:var(--text-ui)}.section-aside{font-size:var(--text-ui)}.values{grid-template-columns:1fr;gap:22px}.event-row{grid-template-columns:32px minmax(0,1fr) 18px;gap:14px}.event-title strong{font-size:1.35rem}.event-desc{font-size:var(--text-ui)}.event-status{font-size:var(--text-caption);margin-top:0}.event-title small{font-size:var(--text-caption)}.visual-caption{display:block}.visual-caption span{display:block;margin-bottom:5px}.addon-copy h2{font-size:2.2rem}.discord-grid,.faq-section,.intro-grid,.addon-grid{grid-template-columns:1fr;gap:32px}.channel-board{padding:22px}.board-label{letter-spacing:.05em}.community-hero{grid-template-columns:1fr;gap:38px;padding-top:26px;padding-bottom:42px}.community-hero h1{font-size:clamp(2.3rem,9.6vw,3.4rem)}.community .eyebrow{font-size:var(--text-caption)}.hero-tags{font-size:var(--text-caption)}.editorial-art{width:calc(100% - 12px);margin-left:12px;padding:18px}.editorial-art>img{height:340px;object-position:60% 60%}.art-sticker{left:-12px;bottom:65px}.art-index,.art-bottom{font-size:var(--text-caption)}.editorial-marquee{font-size:var(--text-caption);gap:12px;letter-spacing:.02em}.editorial-marquee b{display:none}.welcome-grid,.first-steps ol{grid-template-columns:1fr;gap:28px}.welcome-grid h3{font-size:1.5rem}.welcome-foot{display:block}.welcome-foot>a{margin-top:16px}.project-feature{grid-template-columns:1fr}.project-copy{padding:28px 22px}.project-meta>span+span{padding-left:10px}.project-image{padding:24px 22px}.project-copy h3{font-size:3.2rem}.project-copy>p br{display:none}.filter-tabs button{font-size:var(--text-ui);padding:9px 15px}.journal-grid{grid-template-columns:1fr}.journal-card{max-width:none}.journal-visual{height:290px}.journal-card>p{font-size:var(--text-body)}.paper{padding:22px;max-width:280px}.community-discord>.wrap{grid-template-columns:1fr;gap:30px}.community-discord h2{font-size:2.7rem}.community-discord h2 em{font-size:2.8rem}.community-discord p:not(.eyebrow){font-size:var(--text-body)}.first-steps h2{font-size:2.1rem}.site-footer>p,.footer-brand span{font-size:var(--text-caption)}.site-footer>div+div{gap:12px 20px}dialog{padding:48px 22px 28px}dialog p,dialog li{font-size:var(--text-ui)}.idea-table td:last-child{font-size:var(--text-ui)}.idea-checklist{overflow-wrap:anywhere}.ideas-header h1{font-size:2.6rem}.ideas-header>p:not(.eyebrow){font-size:var(--text-body)}}
@media(max-width:380px){.wrap,.community .wrap,.ideas .wrap{width:calc(100% - 32px)}.community-hero h1{font-size:2.3rem}.actions>.button{width:100%}.community h2{font-size:2rem}.art-sticker{width:145px}.project-copy{padding:24px 18px}.brand small{max-width:180px}.event-title strong{font-size:1.2rem}.community-discord h2 em{font-size:2.4rem}}
