/*
Theme Name: Allied Nations — Frontier
Author: OpenACAI Inc
Description: A game-first editorial theme for Allied Nations: Reborn and its development journal.
Version: 1.5.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: allied-nations
*/
@font-face{font-family:Source Sans;src:url('assets/fonts/source-sans-3-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Source Sans;src:url('assets/fonts/source-sans-3-semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Alegreya SC;src:url('assets/fonts/alegreya-sans-sc-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--ink:#101a16;--deep:#0c1411;--surface:#18241d;--paper:#eee5d3;--muted:#b4bdac;--gold:#d1ab71;--gold-light:#e6c591;--line:rgba(215,188,138,.23);--display:'Alegreya SC',Georgia,serif;--body:'Source Sans',Arial,sans-serif;--wrap:1180px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;color:var(--paper);background:var(--ink);font-family:var(--body);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{background:#b69260;color:var(--deep)}
a{color:inherit;text-underline-offset:.22em}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold-light);outline-offset:5px}
img{display:block;width:100%;height:auto}
picture{display:block}
h1,h2,h3,p,figure{margin:0}
h1{font-family:var(--display);font-size:clamp(42px,4.8vw,66px);font-weight:700;line-height:1.08;letter-spacing:-.015em;text-wrap:balance}
h2,h3{font-family:var(--body);font-weight:600;line-height:1.2;letter-spacing:-.02em;text-wrap:balance}
h2{font-size:clamp(29px,3vw,40px)}
h3{font-size:24px}
p{color:var(--muted)}
h1 em,h2 em{font:inherit;color:var(--gold)}
.wrap{width:min(var(--wrap),calc(100% - 96px));margin-inline:auto}
.section{padding-block:76px}
.eyebrow{font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.lead{font-size:22px;line-height:1.55;color:var(--paper)}
.text-link{display:inline-flex;align-items:center;gap:16px;text-decoration:none;font-size:16px;font-weight:600;color:var(--gold-light);padding-block:10px;line-height:1.45}
.text-link span{font-size:21px}
.text-link:hover{text-decoration:underline}
.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:50px;padding:12px 22px;background:var(--gold);color:#172017;border:1px solid var(--gold);text-decoration:none;font-weight:600;font-size:16px;line-height:1.45;transition:background .15s}
.button:hover{background:var(--gold-light)}
.button span{font-size:21px}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}
.skip-link{position:fixed;top:12px;left:16px;z-index:100;padding:12px 20px;background:var(--paper);color:var(--ink);transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.anchor-alias{display:block;position:relative;top:-28px}

/* Navigation stays familiar; the artwork carries the identity. */
.site-header{position:relative;z-index:20;background:#0d1612;border-bottom:1px solid var(--line)}
.header-inner{width:min(1380px,calc(100% - 80px));height:78px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.wordmark{display:inline-flex;align-items:center;flex-direction:column;text-decoration:none;color:var(--paper);line-height:1;font-family:var(--display);text-transform:uppercase}
.wordmark>span{font-size:25px;letter-spacing:.045em}
.wordmark small{font-family:var(--body);font-weight:600;font-size:9px;letter-spacing:.44em;color:var(--gold);margin-top:7px;margin-left:5px}
.site-nav{display:flex;gap:34px;align-items:center}
.site-nav>a{position:relative;padding-block:12px;text-decoration:none;font-size:16px;color:#d5d8ca}
.site-nav>a:hover,.site-nav>a[aria-current]{color:var(--gold-light)}
.site-nav>a[aria-current]::after{content:'';position:absolute;bottom:5px;left:0;right:0;height:1px;background:var(--gold)}
.menu-toggle{display:none}

/* A compact opening, without another headline competing with the game logo. */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#18251c;min-height:550px}
.hero-art,.hero-shade{position:absolute;inset:0;z-index:-2}
.hero-art picture,.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.hero-shade{z-index:-1;background:linear-gradient(90deg,#09130ef2 0%,#09130ed6 31%,#09130e26 72%),linear-gradient(0deg,#101a16 0%,transparent 42%)}
.hero-content{position:relative;padding-block:34px 56px}
.hero-logo{width:240px;margin:0 0 21px -7px}
.hero-logo img{filter:drop-shadow(0 3px 8px #07100f80)}
.hero-kicker{max-width:500px;font-size:14px;color:#e8d9bc;margin-bottom:13px}
.hero-description{font-size:clamp(25px,2.65vw,34px);line-height:1.3;color:var(--paper);max-width:565px;text-wrap:pretty;letter-spacing:-.015em}
.hero .button{margin-top:25px}
.hero-status{font-size:13px;line-height:1.65;color:#c3cbb9;margin-top:20px;max-width:530px}
.hero-status span{color:var(--gold);padding-inline:4px}
.art-note{position:absolute;bottom:20px;right:40px;font-size:11px;color:#c9d0bf;letter-spacing:.015em}

/* Current development: uncropped evidence, then concise context. */
.section-row{display:flex;justify-content:space-between;align-items:baseline;gap:28px;margin-bottom:29px}
.section-date{font-size:14px;white-space:nowrap}
.build-section{padding-top:58px}
.media-image-link{display:block;border:1px solid var(--line);background:var(--deep)}
.development-media img{width:100%;height:auto;object-fit:contain}
.development-world img{max-width:1920px;margin-inline:auto}
.development-caption{font-size:16px}
.development-caption h2{font-size:clamp(29px,3vw,38px)}
.development-caption h3{font-size:22px}
.development-caption p{color:#c4ccba;line-height:1.6}
.development-caption .media-credit{font-size:14px;color:#bcc6b2;margin-top:15px}
.development-caption .text-link{font-size:14px;gap:12px;margin-top:8px}
.development-world .development-caption{display:grid;grid-template-columns:.72fr 1.28fr;gap:48px;margin-top:22px}
.build-notes{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:38px;padding-top:31px;border-top:1px solid var(--line)}
.build-notes h3{font-size:23px;margin-bottom:13px}
.build-notes p{font-size:18px}
.build-notes .text-link{margin-top:10px}
.art-study{background:var(--deep);border-block:1px solid var(--line);padding-block:56px}
.development-art{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px}
.development-art .media-art-surface{padding:18px;background:#d9d5c9}
.development-art img{max-width:1254px;margin-inline:auto}
.development-art h2{margin-bottom:20px}
.home-trees{grid-template-columns:minmax(0,400px) minmax(0,530px);gap:80px;justify-content:center}

/* The journal is editorial, not three equally weighted promotional cards. */
.journal-section,.developer-section{--paper:#253429;--muted:#465443;--gold:#735126;--gold-light:#68471f;--line:#b4a68c;background:#e7dfce;color:var(--paper)}
.journal-section a:focus-visible,.developer-section a:focus-visible{outline-color:#654923}
.home-journal{display:grid;grid-template-columns:1.2fr 1fr;column-gap:80px}
.journal-lead{grid-row:span 2}
.update-card{border-top:1px solid var(--line);padding-top:23px}
.post-meta{font-size:12px;letter-spacing:.045em;display:flex;flex-wrap:wrap;gap:10px 20px;color:var(--gold);line-height:1.5}
.post-meta time{color:var(--muted)}
.update-card h2,.update-card h3{margin-block:17px 15px;line-height:1.23}
.update-card h3{font-size:29px}
.update-card h2{font-size:32px}
.update-card h2 a,.update-card h3 a,.journal-brief h3 a{text-decoration:none}
.update-card h2 a:hover,.update-card h3 a:hover,.journal-brief h3 a:hover{text-decoration:underline}
.update-card p{font-size:18px;margin-bottom:17px}
.journal-lead .update-card{border-top:0;padding:0}
.journal-lead .update-card h3{font-size:32px;max-width:540px}
.journal-lead .update-card p{max-width:530px}
.journal-brief{border-top:1px solid var(--line);padding-block:20px 28px}
.journal-brief time{font-size:13px;color:var(--muted)}
.journal-brief h3{font-size:23px;margin-top:9px}
.journal-subscribe{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:23px;margin-top:32px}
.journal-subscribe p{font-size:15px}
.journal-subscribe .text-link{font-size:15px}
.home-developer{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}
.home-developer h2{font-family:var(--display);font-size:44px}
.developer-handle{font-size:15px;margin-top:13px}
.home-developer>div p+p{margin-top:17px}
.home-developer .text-link{margin-top:18px}

/* Interior pages use descriptive headings and a readable text measure. */
.page-heading{padding-top:62px;padding-bottom:48px}
.page-heading h1{max-width:950px}
.page-heading .lead{max-width:780px;margin-top:23px;font-size:21px}
.page-heading>.text-link{margin-top:17px}
.development-note{font-size:14px;color:var(--muted);margin-top:18px}
.prose{font-size:19px;line-height:1.7;color:var(--paper)}
.prose p{margin-bottom:1em;color:var(--muted)}
.prose p:last-child{margin-bottom:0}
.prose h2,.prose h3{margin-top:1.5em;margin-bottom:.65em;color:var(--paper)}
.prose h2{font-size:29px}
.prose h3{font-size:24px}
.prose a{color:var(--gold-light)}
.prose img{max-width:100%;height:auto}
.prose ul,.prose ol{padding-left:1.4em}
.developer-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}
.developer-section h2{font-family:var(--display);font-size:48px}
.developer-alias{font-size:16px;margin-top:16px}
.developer-quote{margin-top:27px;border-left:2px solid #947344;padding-left:23px}
.developer-quote blockquote{margin:0}
.developer-quote p{color:#253429;font-size:23px;line-height:1.5}
.developer-quote figcaption{font-size:13px;color:#58624f;margin-top:13px}
.developer-history{list-style:none;padding:0;margin:44px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.developer-history li{border-top:1px solid var(--line);padding-top:21px}
.developer-history .eyebrow{font-size:11px;margin-bottom:11px}
.developer-history h3{font-size:24px;margin-bottom:14px}
.developer-history p:not(.eyebrow){font-size:17px}
.developer-history .text-link{font-size:14px;gap:10px;margin-top:12px}
.game-systems>header{margin-bottom:29px}
.about-chapter{padding-block:29px;display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;border-top:1px solid var(--line)}
.about-chapter h3{font-size:26px;max-width:350px}
.engine-section{background:var(--deep);border-block:1px solid var(--line)}
.engine-section>.wrap,.direction-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}
.engine-section h2,.direction-section h2{max-width:360px}
.direction-section .text-link{margin-top:16px}
.development-gallery{display:grid;gap:65px;padding-bottom:68px}
.media-section-heading{border-top:1px solid var(--line);padding-top:45px;margin-bottom:30px}
.media-section-heading>p:last-child{margin-top:15px;max-width:730px}
.promotional-gallery{display:grid;grid-template-columns:1.25fr 1.25fr .7fr;align-items:start;gap:27px}
.promotional-gallery img{border:1px solid var(--line);height:auto}
.promotional-gallery figcaption{display:flex;flex-direction:column;margin-top:13px;font-size:13px;color:var(--muted)}
.promotional-gallery figcaption span{font-size:18px;color:var(--paper);margin-bottom:3px}
.promotional-gallery .text-link{font-size:14px;margin-top:4px}
.journal-note{border-top:1px solid var(--line);padding-block:28px 50px;display:flex;align-items:flex-start;gap:23px;margin-top:38px}
.journal-note p{font-size:16px;max-width:830px}
.journal-note a{color:var(--gold-light)}
.ornament{color:var(--gold);font-size:23px;line-height:1.5}
.archive-section{padding-bottom:50px}
.archive-section .update-card{display:grid;grid-template-columns:150px minmax(0,1fr) 145px;column-gap:40px;padding-block:29px}
.archive-section .post-meta{grid-column:1;grid-row:1 / span 2;flex-direction:column;gap:8px;padding-top:4px}
.archive-section .update-card h2{grid-column:2;grid-row:1;font-size:29px;max-width:650px;margin:0 0 13px}
.archive-section .update-card>p{grid-column:2;grid-row:2;max-width:660px;margin:0;font-size:17px}
.archive-section .update-card>.text-link{grid-column:3;grid-row:1 / span 2;align-self:center;gap:12px;font-size:15px}
.article-main{max-width:1000px}
.article-heading{padding-top:42px;padding-bottom:35px;border-bottom:1px solid var(--line)}
.back-link{margin-bottom:27px;font-size:15px}
.article-heading h1{font-size:clamp(38px,4.5vw,59px);margin-top:19px}
.article-heading .lead{margin-top:24px;max-width:790px;font-size:21px}
.article-byline{font-size:14px;margin-top:22px}
.article-byline span{padding-inline:7px}
.article-body{max-width:730px;margin:36px auto 48px;font-size:19px}
.article-body>p:first-child{font-size:22px;color:var(--paper)}
.article-follow{border-top:1px solid var(--line);padding-block:23px 45px;display:flex;gap:28px;justify-content:space-between;flex-wrap:wrap}
.navigation.pagination{margin-top:35px}
.nav-links{display:flex;gap:12px}
.page-numbers{padding:5px 12px;border:1px solid var(--line)}
.page-numbers.current{background:var(--gold);color:var(--ink)}
.error-page{min-height:500px}
.error-page .button{margin-top:28px}

/* Quiet, practical footer; credit and provenance stay visible. */
.site-footer{background:var(--deep);border-top:1px solid var(--line)}
.footer-top{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:55px;padding-block:49px}
.footer-top .wordmark{align-items:flex-start}
.footer-top .wordmark small{margin-left:0}
.footer-top p{font-size:15px;margin-top:23px}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.footer-links .eyebrow{margin-bottom:7px;font-size:10px}
.footer-links a{font-size:14px;text-decoration:none;color:#c5ccb9;line-height:1.5;padding-block:3px}
.footer-links a:hover{color:var(--gold-light);text-decoration:underline}
.footer-links small{font-size:12px;color:#aab69f}
.footer-bottom{border-top:1px solid var(--line);padding-block:20px;display:flex;justify-content:space-between;gap:35px;color:#aab69f;font-size:12px}
.footer-bottom span:last-child{text-align:right;max-width:630px}

@media(max-width:1050px){
  .wrap{width:calc(100% - 64px)}
  .hero-description{max-width:520px}
  .home-trees,.development-art{gap:45px}
  .home-trees{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .home-journal{column-gap:45px}
  .home-developer,.developer-story,.about-chapter,.engine-section>.wrap,.direction-section{gap:45px}
  .archive-section .update-card{grid-template-columns:130px minmax(0,1fr);column-gap:32px}
  .archive-section .update-card>.text-link{grid-column:2;grid-row:3;justify-self:start;margin-top:10px}
}
@media(max-width:800px){
  .wrap{width:calc(100% - 40px)}
  .section{padding-block:48px}
  .header-inner{height:72px;width:calc(100% - 40px)}
  .wordmark>span{font-size:23px}
  .menu-toggle{display:flex;align-items:center;gap:11px;border:1px solid var(--line);min-height:44px;padding:9px 12px;background:transparent;color:var(--paper);font-size:13px;cursor:pointer}
  .menu-icon{display:block;width:15px;height:9px;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
  .site-nav{position:absolute;top:100%;left:0;right:0;background:#101c15;border-bottom:1px solid var(--line);padding:12px 20px 18px;flex-direction:column;align-items:stretch;gap:0}
  .js .site-nav:not(.is-open){display:none}
  .site-nav>a{padding:12px 4px}
  .site-nav>a[aria-current]::after{display:none}
  html:not(.js) .header-inner{height:auto;min-height:72px;flex-wrap:wrap;padding-top:16px}
  html:not(.js) .site-nav{position:static;width:100%;border:0;padding-inline:0}
  html:not(.js) .menu-toggle{display:none}
  .hero{min-height:0}
  .hero-content{padding-block:27px 63px}
  .hero-logo{width:190px;margin:0 0 19px -4px}
  .hero-kicker{font-size:13px;max-width:320px}
  .hero-description{font-size:28px;line-height:1.3;max-width:560px}
  .hero .button{margin-top:22px}
  .hero-status{font-size:12px;max-width:430px}
  .hero-status span{padding-inline:1px}
  .hero-art img{object-position:59% center}
  .hero-shade{background:linear-gradient(90deg,#09130edf,#09130e80),linear-gradient(0deg,#101a16,transparent 80%)}
  .art-note{right:auto;left:20px;bottom:18px;font-size:10px}
  .section-row{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:23px}
  .section-date{white-space:normal;font-size:13px}
  .section-row .text-link{padding-top:0}
  .development-world .development-caption{grid-template-columns:1fr;gap:11px;margin-top:18px}
  .development-caption{font-size:16px}
  .build-notes{grid-template-columns:1fr;gap:26px;margin-top:25px;padding-top:26px}
  .build-notes p{font-size:17px}
  .development-art,.home-trees{grid-template-columns:1fr;gap:24px}
  .development-art .media-art-surface{padding:14px;width:100%;max-width:520px;justify-self:center}
  .development-art h2{margin-bottom:15px}
  .home-journal{grid-template-columns:1fr;gap:0}
  .journal-lead{grid-row:auto;padding-bottom:27px}
  .journal-lead .update-card h3{font-size:28px}
  .journal-brief{padding-block:20px}
  .journal-brief h3{font-size:23px}
  .journal-subscribe{align-items:flex-start;flex-direction:column;gap:3px;margin-top:15px;padding-top:19px}
  .home-developer,.developer-story,.about-chapter,.engine-section>.wrap,.direction-section{grid-template-columns:1fr;gap:24px}
  .home-developer h2{font-size:38px}
  .home-developer>div p{font-size:17px}
  .page-heading{padding-block:41px 35px}
  .page-heading h1{font-size:clamp(37px,7.5vw,53px)}
  .page-heading .lead{font-size:19px;margin-top:20px}
  .developer-section h2{font-size:42px}
  .developer-alias{margin-top:12px}
  .developer-quote{padding-left:18px}
  .developer-quote p{font-size:21px}
  .developer-history{grid-template-columns:1fr;gap:27px;margin-top:32px}
  .developer-history li{padding-top:18px}
  .developer-history h3{font-size:25px}
  .game-systems>header{margin-bottom:22px}
  .about-chapter{padding-block:25px;gap:16px}
  .about-chapter h3{font-size:24px}
  .prose{font-size:18px}
  .engine-section h2,.direction-section h2{max-width:none}
  .development-gallery{gap:42px;padding-bottom:45px}
  .media-section-heading{padding-top:33px;margin-bottom:25px}
  .promotional-gallery{grid-template-columns:1fr 1fr;gap:27px 22px}
  .promotional-gallery .media-wide{grid-column:1/-1}
  .journal-note{margin-top:29px;padding-block:25px 38px;gap:15px}
  .archive-section .update-card{display:block;padding-block:25px}
  .archive-section .post-meta{flex-direction:row;gap:17px;padding-top:0}
  .archive-section .update-card h2{font-size:27px;margin-block:14px 12px}
  .archive-section .update-card>.text-link{margin-top:10px}
  .article-heading{padding-top:28px;padding-bottom:27px}
  .article-heading h1{font-size:clamp(35px,7.5vw,52px)}
  .back-link{margin-bottom:22px}
  .article-heading .lead{font-size:20px}
  .article-body{margin-block:28px 35px;font-size:18px}
  .article-body>p:first-child{font-size:20px}
  .article-follow{gap:5px;flex-direction:column;padding-bottom:30px}
  .footer-top{grid-template-columns:1fr 1fr;gap:30px;padding-block:38px}
  .footer-top>div:first-child{grid-column:1/-1}
  .footer-top p{margin-top:17px}
  .footer-bottom{flex-direction:column;gap:8px}
  .footer-bottom span:last-child{text-align:left}
}
@media(max-width:380px){
  .wordmark>span{font-size:20px}
  .wordmark small{font-size:8px}
  .header-inner{gap:15px}
  .hero-description{font-size:26px}
  .hero-kicker{max-width:250px}
  .hero-status{max-width:270px}
  .footer-top,.promotional-gallery{grid-template-columns:1fr}
  .footer-top>div:first-child,.promotional-gallery .media-wide{grid-column:auto}
  .promotional-gallery .media-portrait{max-width:240px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
@media print{
  .site-header,.site-footer,.button,.article-follow,.back-link{display:none}
  body{background:white;color:black}
  .wrap{width:100%}
  .prose p,.lead,p,h1,h2,h3{color:black}
  .article-heading{padding:0}
  .article-body{max-width:none}
  a{color:black}
}
