/* Hallmark v2 · brand: Before We Turn · genre: editorial · hero: cinematic world, logo and direct actions · material: user gameplay recording, game assets · hero-review: fix, mobile header resolved · finish-review: fix, demo size disclosure restored · surface-review: Godot restyle fresh-context ship */
/* Hallmark · pre-emit critique: P4 H5 E4 S4 R4 V4 · weakest: S; actual combat footage and original equipment replace a generic form-led hero. */
/* Hallmark · waive 44c · News is a dated changelog rather than a promotional hero · Readers visiting News need released changes immediately, not a full-screen introduction. */
/* Hallmark · waive 59 · Account help and News use compact reading gaps · The download flow and dated changelog stay concise instead of adding empty promotional space. */
/* Hallmark · dismissed 23 · The amber fill is limited to the 52px primary action, not the viewport; HTTP render shows no excess accent area. */
/* Hallmark · dismissed 3 · The single amber heading marker is the user's requested accent on News; it is not repeated on article cards. */
/* Hallmark · dismissed 41 · Legacy light-help ink token is unused on these controls; rendered buttons explicitly use color-ink on dark ui-fill. */
/* Hallmark · font-face descriptors name BWTBody literally as required by CSS; all applied families use root tokens. */
/* Hallmark · waive 83 · Original 6.6KB UI grain is covered by an86% opaque veil and the small boss vignette is composed from game assets · The user explicitly requested both restrained grunge and a boss-to-loot loop; this does not add photographic sections. */
/* Hallmark · waive 39b · Account submit is56px tall with a22px label and icon · The user explicitly requested a larger registration action; other controls retain their prior height. */
/* Hallmark · material: original Godot UI textures, nine-slice edges; world imagery limited to hero and account. */
/* Hallmark · waive 72 · Expanded help paragraphs are contained at 375px and 1280px · Closed details confuse the text-box measurement; actual open-panel geometry and screenshots show no overflow. */
@import url('landing607.css?v=609');
:root{
--font-body:"BWTBody",Arial,sans-serif; --color-accent:#efa34f;
--surface-join:oklch(23% .008 70); --join-image-left:oklch(23% .008 70 / .78); --join-image-right:oklch(23% .008 70 / .97);
--surface-form:oklch(18% .008 70); --surface-lower:oklch(22% .008 70); --lower-grain-veil:oklch(22% .008 70 / .86); --help-local-shade:oklch(8% .008 70 / .36); --footer-grain-veil:oklch(18% .008 70 / .92); --surface-footer:oklch(18% .008 70);
--ui-fill:oklch(24% .008 70); --ui-hover:oklch(30% .008 70); --ui-pressed:oklch(19% .008 70);
--ui-primary:oklch(34% .055 65); --ui-primary-hover:oklch(40% .065 65); --ui-grain-shade:oklch(18% .008 70 / .75);
--scene-shade:oklch(12% .008 60 / .58);--scene-dark:oklch(12% .008 60 / .82);--scene-panel:oklch(15% .008 60 / .86);--nav-shade:oklch(12% .008 60 / .82);--join-map-shade:oklch(13% .008 60 / .62);--join-map-bottom:oklch(13% .008 60 / .82);--join-panel:oklch(16% .008 60 / .95);--grunge-edge:oklch(58% .055 60);--news-map-shade:oklch(13% .008 60 / .74);--news-map-bottom:oklch(13% .008 60 / .84);--news-chrome:oklch(17% .008 60 / .92);--news-accent-rule:oklch(77% .15 64 / .4);--cinema-top:oklch(12% .008 60 / .18);--cinema-bottom:oklch(15% .008 60 / .86);--cinema-middle:oklch(12% .008 60 / .38);--cinema-shadow:oklch(9% .008 60 / .8);--news-paper:oklch(22% .012 60);--button-edge:oklch(59% .11 64);--button-light:oklch(83% .13 64)}
.site-header{max-width:1600px;min-height:88px}.site-header nav{gap:var(--space-lg)}.brand{width:180px}
.cinema{position:relative;isolation:isolate;display:grid;place-items:center;min-height:calc(100svh - 88px);padding-block:var(--space-xl) 80px;background:var(--color-paper);overflow:clip}
.cinema-poster,#ambient-video,.cinema-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.cinema-poster{z-index:-3;object-position:50% 45%}#ambient-video{z-index:-2;opacity:0;transition:opacity var(--dur-long);object-position:55% 50%}#ambient-video.is-playing{opacity:1}.cinema-shade{z-index:-1;background:linear-gradient(180deg,var(--cinema-top),var(--cinema-middle) 40%,var(--cinema-bottom))}
.cinema-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-lg);text-shadow:0 2px 12px var(--cinema-shadow)}.hero-logo{width:min(680px,75%);height:auto}.cinema h1{font-size:clamp(2.3rem,3.6vw,3.8rem);max-width:28ch}.hero-description{font-size:var(--text-lead);max-width:55ch}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md);text-shadow:none}.hero-actions .button{min-width:230px;min-height:52px;font-size:var(--text-lg);line-height:1.2}.hero-actions .primary{width:auto;border:1px solid var(--button-edge);background:linear-gradient(175deg,var(--button-light),var(--color-accent));box-shadow:inset 0 -4px 0 var(--button-edge);border-radius:2px}.hero-actions .secondary{background:var(--hero-panel);border-color:var(--color-muted)}.hero-note{font-size:var(--text-sm);color:var(--color-ink-2)}
.cinema-controls{position:absolute;right:var(--gutter);bottom:var(--space-md);display:flex;gap:var(--space-sm);align-items:center;max-width:calc(100% - 32px)}.cinema-controls button{min-height:44px;padding:var(--space-xs) var(--space-sm);background:var(--hero-panel);color:var(--color-ink);border:1px solid var(--color-rule);font-size:var(--text-sm)}#ambient-status{max-width:36ch;font-size:var(--text-sm);color:var(--color-ink-2)}
.join-scene{background:var(--color-paper-2)}.join-scene .landing{padding-block:var(--space-2xl);align-items:center}.join-scene .start{background:var(--color-paper);padding:var(--space-lg);border:1px solid var(--color-rule);border-top:3px solid var(--color-accent)}.join-scene .pitch{padding-right:var(--space-lg)}.join-scene h2#title{max-width:15ch}.join-scene .field-kit{margin-block:var(--space-xl)}.join-scene .field-kit img{width:80px;height:80px}.try-demo{border-top:1px solid var(--color-rule)}
.latest-news{padding-block:var(--space-2xl)}.news-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-xl)}.news-preview{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:var(--gap-columns);align-items:center;padding-block:var(--space-lg);border-block:1px solid var(--color-rule);text-decoration:none}.news-preview:hover{background:var(--color-paper-2)}.news-preview p{margin-top:var(--space-xs);color:var(--color-muted)}.news-preview>span{font-size:var(--text-sm);text-decoration:underline}.news-preview time{color:var(--color-muted);font-size:var(--text-sm)}
.news-page .site-header{border-bottom:1px solid var(--color-rule)}.news-intro{padding-block:var(--space-2xl) var(--space-xl)}.news-intro h1{margin-bottom:var(--space-lg)}.news-intro p{color:var(--color-muted);max-width:65ch}.release-list{padding-bottom:var(--space-2xl)}.release{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:var(--gap-columns);border-top:1px solid var(--color-rule);padding-block:var(--space-xl)}.release-meta time{display:block;color:var(--color-muted);margin-bottom:var(--space-xs)}.release-meta span{color:var(--color-accent)}.release h2{font-size:var(--text-display-s);margin-bottom:var(--space-lg)}.release li{margin-block:var(--space-sm);max-width:65ch;color:var(--color-ink-2)}.release ul{padding-left:var(--space-lg)}.release-note{color:var(--color-muted);font-size:var(--text-sm);margin-top:var(--space-lg)}.news-back{min-height:48px;display:inline-flex;align-items:center;margin-bottom:var(--space-lg)}
@media(max-width:1000px){.site-header nav{gap:var(--space-md)}.hero-logo{width:min(580px,80%)}.cinema-content{gap:var(--space-md)}}
@media(max-width:700px){.site-header{padding-block:var(--space-sm);gap:var(--space-xs);min-height:100px}.site-header nav{max-width:none;gap:var(--space-xs);justify-content:flex-start;width:100%;flex-wrap:wrap}.site-header nav>a:first-child{display:flex}.site-header nav a{font-size:var(--text-sm);min-height:36px}.site-header .brand{width:150px}.languages{margin-left:auto}.languages button{min-height:36px}.cinema{min-height:650px;padding-block:var(--space-xl) 112px}.hero-logo{width:100%;max-width:440px}.cinema-content{gap:var(--space-lg)}.cinema h1{font-size:2.5rem;max-width:17ch}.hero-description{font-size:var(--text-md)}.hero-actions{width:100%;flex-direction:column;align-items:center}.hero-actions .button{width:100%;max-width:340px;font-size:var(--text-md);min-height:52px}.hero-note{max-width:32ch}.cinema-controls{right:var(--space-md);left:var(--space-md);justify-content:center;flex-wrap:wrap;text-align:center}.join-scene .pitch{display:block;padding:0}.join-scene .landing{padding-block:var(--space-xl)}.join-scene .start{padding:var(--space-md)}.join-scene .field-kit{margin-block:var(--space-lg)}.news-heading{align-items:flex-start;flex-direction:column;gap:var(--space-md)}.news-preview{grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}.release{grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}.news-intro{padding-top:var(--space-xl)}}

@media(max-width:700px){.site-header{position:relative;min-height:112px;padding-block:var(--space-xs)}.site-header .brand{width:145px;height:48px;display:flex;align-items:center}.site-header .languages{position:absolute;right:var(--gutter);top:var(--space-xs);margin:0}.site-header nav{gap:var(--space-sm)}.site-header nav a{min-height:44px}.site-header .languages button{min-height:44px}}

.hero-facts{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}

.release-lead{font-size:var(--text-lead);line-height:1.55;max-width:60ch;margin-bottom:var(--space-lg);color:var(--color-ink)}

/* News shares the game-world backdrop without competing with article text. */
.news-page{position:relative;isolation:isolate}
.news-page::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,var(--news-map-shade),var(--news-map-bottom)),url('assets/world606.webp') center/cover no-repeat}
.news-page .site-header,.news-page footer{background:var(--news-chrome)}
.news-page .news-intro h1{border-left:4px solid var(--color-accent);padding-left:var(--space-md)}
.news-page .release{border-top-color:var(--news-accent-rule)}
.news-page nav a[aria-current=page]{color:var(--color-accent)}


/* One warm charcoal ground. Godot nine-slice frames carry identity, not coloured bands. */
body:not(.news-page)>.site-header{
 position:absolute;inset:0 0 auto;z-index:var(--z-raised);max-width:none;
 background:linear-gradient(var(--nav-shade),var(--color-clear));border-bottom:0;
 text-shadow:0 2px 6px var(--cinema-shadow);
}
body:not(.news-page) .cinema{min-height:100svh;padding-top:120px}
.join-scene{
 background:linear-gradient(90deg,var(--join-image-left),var(--join-image-right) 65%),url('assets/world606.webp') center/cover no-repeat;
 border:0;
}
.join-scene .start{
 background:linear-gradient(var(--ui-grain-shade),var(--ui-grain-shade)),url('assets/ui609/worn-surface.webp') center/567px 150px,var(--surface-form);
 border:8px solid var(--color-clear);border-image:url('assets/ui609/panel-rim.png') 16 / 8px stretch;
 border-radius:0;box-shadow:none;
}
.join-scene .pitch{text-shadow:none}
.join-scene .downloads{border-top-color:var(--color-rule)}
.outpost-scene,.camp-scene{background:linear-gradient(var(--lower-grain-veil),var(--lower-grain-veil)),url('assets/ui609/worn-surface.webp') center/567px 150px repeat,var(--surface-lower);border:0}
.outpost-scene .try-demo{padding-block:var(--space-2xl) var(--space-lg);border:0;background:var(--color-clear)}
.outpost-scene .demo-layout{align-items:center}
.outpost-scene .demo-layout h2{font-size:var(--text-display-s)}
.outpost-scene .demo-layout p{color:var(--color-ink-2)}
.outpost-scene .help{
 padding-block:var(--space-2xl);color:var(--color-ink);
 background:var(--help-local-shade);
}
.outpost-scene .help-grid{padding:0;background:var(--color-clear);border:0}
.outpost-scene .help p{color:var(--color-ink-2)}
.outpost-scene .help details,.outpost-scene .help details:last-child{border-color:var(--color-rule)}
.outpost-scene .help summary{color:var(--color-ink)}
.camp-scene .community{
 padding-block:var(--space-2xl);
 background:var(--color-clear);
}
.camp-scene .community-layout{align-items:center}
.camp-scene .community p{color:var(--color-ink-2)}
.camp-scene .latest-news{padding-block:var(--space-2xl) var(--space-lg);background:var(--color-clear)}

.camp-scene .news-preview{padding:var(--space-lg) 0;background:var(--color-clear);border-color:var(--color-rule)}
.camp-scene .news-preview:hover{background:var(--color-paper-2)}
.world-close{padding-block:var(--space-lg) var(--space-xl)}
.world-close a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-ink-2)}
body:not(.news-page)>footer{max-width:none;background:linear-gradient(var(--footer-grain-veil),var(--footer-grain-veil)),url('assets/ui609/worn-surface.webp') center/567px 150px repeat,var(--surface-footer);color:var(--color-muted);border-top:1px solid var(--color-rule)}
@media(max-width:700px){
 body:not(.news-page) .cinema{min-height:100svh;padding-top:var(--space-4xl);padding-bottom:88px}
 .cinema-content{gap:var(--space-md)}
 .join-scene{background:linear-gradient(180deg,var(--join-image-left),var(--join-image-right) 45%),url('assets/world606.webp') center top/auto 800px no-repeat,var(--surface-join)}
 .outpost-scene .try-demo,.outpost-scene .help,.camp-scene .community{padding-block:var(--space-xl)}
 .outpost-scene .try-demo{background-position:65% center}
 .outpost-scene .demo-layout,.camp-scene .community-layout{align-items:flex-start}
 .camp-scene .latest-news{padding-top:var(--space-xl)}
 .camp-scene .news-preview{padding-inline:0}
}

/* Match button_surface413 / panel_surface418: texture is static; corners never stretch. */
body .button,body .hero-actions .button,body #account-submit,body #account-submit:not(:disabled),body #account-logout,body .password-row button{
 border:3px solid var(--color-clear);border-image:url('assets/ui609/button-rim.png') 3 / 3px stretch;
 border-radius:0;box-shadow:none;color:var(--color-ink);background-color:var(--ui-fill);
 background-image:linear-gradient(var(--ui-grain-shade),var(--ui-grain-shade)),url('assets/ui609/worn-surface.webp');
 background-size:auto,567px 150px;background-blend-mode:normal,soft-light;
}
body .hero-actions .primary,body #account-submit:not(:disabled){background-color:var(--ui-primary);color:var(--color-ink)}
body .button:hover,body #account-submit:not(:disabled):hover,body #account-logout:hover,body .password-row button:hover{background-color:var(--ui-hover);filter:brightness(1.3)}
body .hero-actions .primary:hover,body #account-submit:not(:disabled):hover{background-color:var(--ui-primary-hover)}
body .button:active,body #account-submit:not(:disabled):active{background-color:var(--ui-pressed)}
body #account-submit:disabled{opacity:.5;cursor:not-allowed}
body .button:focus-visible,body button:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}
.camp-scene .community-layout{position:relative;border-top:0;padding-top:var(--space-xl)}
.camp-scene .community{padding-top:0;padding-bottom:var(--space-lg)}
.camp-scene .latest-news{padding-top:var(--space-xl)}

body .button,body #account-submit{padding-block:var(--space-xs);line-height:1.2;min-height:52px}
@media(max-width:375px){.account-tabs button{padding-inline:var(--space-2xs);font-size:var(--text-sm);white-space:nowrap}.join-scene .start{padding-inline:var(--space-sm)}}

@font-face{font-family:"BWTBody";src:url('assets/ui609/barlow-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"BWTBody";src:url('assets/ui609/barlow-bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
/* Fine worn separators belong to the FAQ rows, not the section boundaries. */
.outpost-scene .help details{border-top:0;position:relative}
.outpost-scene .help details::before,.outpost-scene .help details:last-child::after{
 content:"";display:block;height:4px;background:url('assets/ui609/separator.png') center/100% 4px no-repeat;opacity:.6;pointer-events:none;
}
.outpost-scene .help details:last-child{border-bottom:0}
.outpost-scene .help details:last-child::after{position:absolute;bottom:0;left:0;right:0}
body button:disabled:hover{filter:none}

/* Small composed boss scene; no source sprite atlases shipped to the website. */
.coach-scene{margin:var(--space-lg) 0}
.coach-stage{position:relative;aspect-ratio:16/9;overflow:clip;mask-image:radial-gradient(ellipse at center,var(--color-ink) 48%,var(--color-clear) 73%)}
.coach-stage img,.coach-stage video{display:block;width:100%;height:100%;object-fit:contain}
.coach-stage video{position:absolute;inset:0;opacity:0;pointer-events:none}
.coach-stage video.is-playing{opacity:1}
.coach-scene figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--color-muted)}
#coach-toggle{min-height:44px;padding:var(--space-xs);background:var(--color-clear);color:var(--color-ink-2);border:1px solid var(--color-rule)}
.button svg.platform-icon{fill:currentColor;stroke:none;width:22px;height:22px}

/* Orange follows the game's SELECTION token: actions and current states, not prose. */
.game-link,.account-link,.news-heading>a,.world-close a,.news-back,footer a{color:var(--color-accent)}
.site-header nav>a[href="#account"],.account-tabs button[aria-selected=true]{color:var(--color-accent)}
body .hero-actions .primary,body #account-submit:not(:disabled){color:var(--color-accent)}
.download-title,.download-actions .platform-icon{color:var(--color-accent)}
.outpost-scene .help summary::marker{color:var(--color-accent)}
.outpost-scene .help details[open]>summary{color:var(--color-accent)}
.news-preview>span{color:var(--color-accent)}
.site-header nav>a:hover,.game-link:hover,.account-link:hover,.news-heading>a:hover,.world-close a:hover,.news-back:hover,footer a:hover{color:var(--color-ink)}

/* Quiet calls to action: normal casing, larger account label, movement only on icons. */
body #account-submit{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);font-size:clamp(1.125rem,2vw,1.375rem);padding-inline:var(--space-xs);min-height:56px;text-transform:none}
#account-submit::before{content:"";display:block;flex:0 0 22px;width:22px;height:22px;background:currentColor;mask:url('assets/ui609/account-add.svg') center/contain no-repeat;animation:account-icon609 3.6s ease-in-out infinite}
.hero-actions .primary svg{animation:download-icon609 3.6s ease-in-out infinite}
#account-submit:disabled::before{animation:none}
@keyframes account-icon609{0%,65%,100%{transform:translateY(0)}75%{transform:translateY(-2px)}85%{transform:translateY(0)}}
@keyframes download-icon609{0%,65%,100%{transform:translateY(0)}75%{transform:translateY(3px)}85%{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){#account-submit::before,.hero-actions .primary svg{animation:none}}
