
:root{
 --ink:#090d0f;--ink-2:#0e1518;--ink-3:#151e22;--panel:#182226;--paper:#eee6d5;--paper-2:#c8beaa;--muted:#9e978a;
 --ember:#d85a1b;--ember-2:#f28a33;--ember-dark:#87310e;--gold:#d2a85b;--moss:#355f42;--moss-bright:#8fc18d;
 --line:rgba(238,230,213,.12);--line-strong:rgba(238,230,213,.23);--shadow:0 28px 70px rgba(0,0,0,.34);
 --wrap:1280px;--text:72ch;--radius:10px;--display:"Trebuchet MS","Segoe UI",sans-serif;--body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;background:linear-gradient(180deg,#091013,#10181c 48%,#0a1013);color:var(--paper);font-family:var(--body);line-height:1.68;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 14% 0%,rgba(216,90,27,.07),transparent 28%),radial-gradient(circle at 88% 18%,rgba(94,132,127,.05),transparent 24%)}
a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}button,input,summary{font:inherit}.wrap{width:min(calc(100% - 48px),var(--wrap));margin-inline:auto}.narrow{width:min(calc(100% - 48px),960px);margin-inline:auto}.section-pad{padding:clamp(72px,9vw,132px) 0}.main{min-height:50vh}.section-label,.eyebrow{display:block;margin:0 0 14px;color:var(--ember-2);font-size:.73rem;line-height:1.2;font-weight:900;letter-spacing:.17em;text-transform:uppercase}.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,560px);gap:28px 70px;align-items:end;margin-bottom:42px}.section-heading .section-label{grid-column:1/-1;margin-bottom:-10px}.section-heading h2{margin:0;font-family:var(--display);font-size:clamp(2.8rem,6vw,5.7rem);line-height:.91;letter-spacing:-.055em}.section-heading>p:last-child{margin:0;color:var(--paper-2);font-size:1.06rem;max-width:55ch}
/* header */
.site-header{position:sticky;top:0;z-index:300;background:rgba(7,11,13,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.header-inner{min-height:72px;display:flex;align-items:center;gap:24px}.site-brand{display:flex;align-items:center;gap:11px;margin-right:auto}.site-brand-mark{width:42px;height:42px;overflow:hidden;border:1px solid var(--line-strong);background:#111}.site-brand-mark img{width:100%;height:100%;object-fit:cover}.site-brand-copy strong{display:block;font-family:var(--display);font-size:1.08rem;letter-spacing:.05em}.site-brand-copy span{display:block;color:var(--muted);font-size:.7rem;letter-spacing:.04em}.site-nav{display:flex;align-items:center;gap:22px}.nav-link,.nav-cluster>summary{position:relative;padding:25px 0 22px;color:#c6beae;font-size:.87rem;font-weight:800;letter-spacing:.015em;list-style:none;cursor:pointer}.nav-cluster>summary::-webkit-details-marker{display:none}.nav-link:after,.nav-cluster>summary:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ember);transform:scaleX(0);transform-origin:left;transition:.2s}.nav-link:hover,.nav-link.is-active,.nav-cluster:hover>summary,.nav-cluster.is-active>summary{color:#fff}.nav-link:hover:after,.nav-link.is-active:after,.nav-cluster:hover>summary:after,.nav-cluster.is-active>summary:after{transform:scaleX(1)}.nav-cluster{position:relative}.nav-cluster>summary:before{content:"+";position:absolute;right:-13px;color:var(--ember-2);font-weight:500}.nav-cluster[open]>summary:before{content:"−"}.nav-panel{position:absolute;top:62px;right:-20px;width:260px;padding:10px;background:#10171a;border:1px solid var(--line-strong);box-shadow:var(--shadow)}.nav-panel a{display:block;padding:13px 14px;border-left:2px solid transparent}.nav-panel a+a{border-top:1px solid var(--line)}.nav-panel a:hover,.nav-panel a.is-active{background:rgba(255,255,255,.035);border-left-color:var(--ember)}.nav-panel span{display:block;font-weight:850}.nav-panel small{display:block;color:var(--muted);font-size:.75rem;margin-top:2px}.nav-action{padding:11px 17px;border:1px solid var(--ember);background:linear-gradient(180deg,#df6120,#a83b0e);color:#fff;font-size:.82rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 10px 28px rgba(216,90,27,.15)}.nav-action:hover,.nav-action.is-active{filter:brightness(1.12)}.menu-btn{display:none;width:44px;height:40px;padding:8px;border:1px solid var(--line-strong);background:transparent;color:#fff}.menu-btn span{display:block;width:22px;height:2px;background:currentColor;margin:4px auto}.menu-btn b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
/* homepage */
.world-intro{position:relative;height:min(82vh,920px);min-height:580px;background:#080d0f;overflow:hidden}.world-intro-image{position:absolute;inset:0;background:url('/images/build-berk-01.jpg') center 43%/cover no-repeat;transform:scale(1.015)}.world-intro-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,5,6,.03),rgba(3,5,6,.03) 52%,rgba(3,5,6,.70) 100%),linear-gradient(90deg,rgba(3,5,6,.18),transparent 35%)}.world-intro:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.06);pointer-events:none}.world-intro-meta{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);display:flex;justify-content:space-between;color:#e8decb;font-size:.7rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.world-intro-meta span:last-child{color:var(--ember-2)}.enter-project{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:none}.brand-statement{border-bottom:1px solid var(--line)}.brand-statement-inner{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(360px,1.05fr);gap:clamp(50px,8vw,120px);align-items:center}.statement-wordmark{display:block}.statement-wordmark img{width:100%;filter:drop-shadow(0 24px 34px rgba(0,0,0,.45))}.statement-copy h1{font-family:var(--display);font-size:clamp(2.7rem,5vw,5.2rem);line-height:.94;letter-spacing:-.055em;margin:0 0 22px}.statement-copy>p:not(.section-label){font-size:1.08rem;color:var(--paper-2);max-width:58ch}.action-row{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}.button,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border:1px solid var(--line-strong);font-weight:900;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}.button-primary,.btn.primary{border-color:var(--ember);background:var(--ember);color:white}.button-primary:hover,.btn.primary:hover{background:var(--ember-2)}.button-ghost,.btn.secondary{background:rgba(255,255,255,.025)}.button-ghost:hover,.btn.secondary:hover{border-color:var(--ember-2)}.project-paths{background:linear-gradient(180deg,rgba(255,255,255,.015),transparent)}.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.path-story{position:relative;min-height:640px;overflow:hidden;border:1px solid var(--line);background:#0a0f11}.path-image{position:absolute;inset:0}.path-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,7,8,.05),rgba(4,7,8,.12) 42%,rgba(4,7,8,.94) 90%)}.path-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.path-story:hover .path-image img{transform:scale(1.035)}.path-copy{position:absolute;z-index:2;left:34px;right:34px;bottom:32px}.path-copy>span{color:var(--ember-2);font-size:.72rem;font-weight:900;letter-spacing:.16em}.path-copy h3{font-family:var(--display);font-size:clamp(2.2rem,4vw,4.2rem);line-height:.92;letter-spacing:-.045em;margin:10px 0 13px}.path-copy p{max-width:54ch;color:#d1c8b8}.path-copy b{display:block;margin-top:20px;color:white;font-size:.85rem}.state-strip{border-block:1px solid var(--line);background:#090e10}.state-strip-grid{display:grid;grid-template-columns:repeat(4,1fr)}.state-strip-grid>div{padding:27px 24px;border-right:1px solid var(--line)}.state-strip-grid>div:last-child{border-right:0}.state-strip span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.state-strip strong{display:block;margin-top:6px;font-family:var(--display);font-size:1.1rem}.state-strip .state-accent{background:linear-gradient(135deg,rgba(216,90,27,.16),transparent)}.state-strip .state-accent strong{color:#ff9a55}.featured-editorial{border-bottom:1px solid var(--line)}.featured-editorial-grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(440px,1.22fr);gap:clamp(46px,8vw,110px);align-items:center}.featured-copy h2{font-family:var(--display);font-size:clamp(3rem,6vw,6rem);line-height:.88;letter-spacing:-.06em;margin:0 0 20px}.featured-copy>p:not(.section-label){color:var(--paper-2);font-size:1.08rem}.text-link{display:inline-flex;gap:10px;margin-top:20px;color:white;font-weight:900;border-bottom:1px solid var(--ember);padding-bottom:5px}.text-link span{color:var(--ember-2)}.featured-visual{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line-strong);box-shadow:var(--shadow)}.featured-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.8))}.featured-visual img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.featured-visual:hover img{transform:scale(1.025)}.featured-visual span{position:absolute;z-index:2;left:22px;bottom:18px;font-weight:900}.project-foundation{background:#0a0f11}.foundation-grid{display:grid;grid-template-columns:220px minmax(0,820px);gap:60px}.foundation-grid h2{font-family:var(--display);font-size:clamp(2.7rem,5vw,5.4rem);line-height:.9;letter-spacing:-.05em;margin:0 0 20px}.foundation-grid p{font-size:1.08rem;color:var(--paper-2);max-width:72ch}
/* inner heroes */
.page-hero{position:relative;min-height:390px;display:flex;align-items:flex-end;padding:110px 0 52px;border-bottom:1px solid var(--line);background-color:#0b1114;background-size:cover!important;background-position:center!important;overflow:hidden}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,10,.92),rgba(5,8,10,.63) 56%,rgba(5,8,10,.25)),linear-gradient(180deg,rgba(5,8,10,.12),rgba(5,8,10,.78));pointer-events:none}.page-hero .wrap{position:relative;z-index:1}.page-hero h1{max-width:920px;font-family:var(--display);font-size:clamp(3.4rem,7vw,7rem);line-height:.88;letter-spacing:-.06em;margin:0 0 18px}.page-hero p{max-width:760px;margin:0;color:#d2c8b7;font-size:1.05rem}.compact-hero{min-height:360px}.main{padding:clamp(48px,6vw,82px) 0}
/* docs */
.doc-layout{display:grid;grid-template-columns:245px minmax(0,860px);gap:clamp(38px,6vw,86px);align-items:start;justify-content:center}.side-nav{position:sticky;top:104px;padding:4px 24px 10px 0;border-right:1px solid var(--line)}.side-nav h3{margin:0 0 17px;color:var(--ember-2);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}.side-nav a{display:block;position:relative;padding:9px 0 9px 15px;color:#aaa294;font-size:.9rem;border-left:1px solid transparent}.side-nav a:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:var(--ember);transform:scaleY(0);transition:.2s}.side-nav a:hover,.side-nav a.active{color:white}.side-nav a:hover:before,.side-nav a.active:before{transform:scaleY(1)}.article{min-width:0}.article section{padding:0 0 44px;margin:0 0 44px;border-bottom:1px solid var(--line)}.article section:last-child{border-bottom:0}.article h2{font-family:var(--display);font-size:clamp(2.1rem,4vw,3.7rem);line-height:.95;letter-spacing:-.045em;margin:0 0 18px}.article h3{font-family:var(--display);font-size:1.35rem;margin:30px 0 9px}.article p,.article li{max-width:var(--text);color:#cec5b5;font-size:1.01rem}.article strong{color:white}.article figure,.media-wide{margin:28px 0 0;border:1px solid var(--line-strong);background:#070a0c;overflow:hidden}.article figure img,.article figure video,.media-wide img{width:100%;max-height:560px;object-fit:cover}.article figcaption{padding:12px 14px;color:var(--muted);font-size:.85rem}.image-slot{min-height:260px;display:grid;place-items:center;border:1px solid var(--line);background:rgba(255,255,255,.02);overflow:hidden}.image-slot img{width:100%;height:100%;object-fit:cover}.image-slot>div{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.73rem}.image-slot-dual{display:grid;grid-template-columns:1fr 1fr;gap:10px}.aside-note,.note-line{margin:22px 0;padding:16px 18px;border-left:3px solid var(--ember);background:rgba(216,90,27,.06);color:#d7cebd}.clean-table,.tech-table{width:100%;border-collapse:collapse;margin:24px 0;border-top:2px solid var(--ember-dark)}.clean-table th,.clean-table td,.tech-table th,.tech-table td{padding:14px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.clean-table th,.tech-table th{color:var(--ember-2);font-size:.69rem;text-transform:uppercase;letter-spacing:.13em}.clean-table td:first-child,.tech-table td:first-child{width:26%;font-weight:900;color:white}.system-list{display:grid;grid-template-columns:1fr 1fr;gap:18px 34px}.system-list div{padding-top:13px;border-top:1px solid var(--line)}.system-list strong{display:block}.system-list span{color:var(--muted)}.pill-list{display:flex;gap:8px;flex-wrap:wrap}.pill-list span{padding:7px 10px;border:1px solid var(--line-strong);color:#ddd4c4;font-size:.82rem}
/* roadmap */
.roadmap-v2{max-width:1040px}.roadmap-track-section{padding:0 0 78px}.roadmap-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.roadmap-section-head h2{font-family:var(--display);font-size:clamp(2.4rem,5vw,4.6rem);line-height:.9;margin:0}.roadmap-current-pill{padding:8px 11px;border:1px solid rgba(143,193,141,.35);background:rgba(53,95,66,.22);color:#b9dfb7;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.roadmap-track{list-style:none;margin:0;padding:0 0 0 34px;position:relative}.roadmap-track:before{content:"";position:absolute;left:10px;top:12px;bottom:12px;width:1px;background:var(--line-strong)}.track-item{position:relative;padding:0 0 14px}.track-node{position:absolute;left:-30px;top:25px;width:13px;height:13px;border:3px solid #1d282c;background:#5b6262;z-index:1}.track-item.complete .track-node{background:var(--moss);box-shadow:0 0 0 5px rgba(53,95,66,.16)}.track-item.current .track-node{background:var(--moss-bright);box-shadow:0 0 0 6px rgba(143,193,141,.14)}.track-card{padding:19px 21px;border:1px solid var(--line);border-left:3px solid #444c4c;background:rgba(255,255,255,.024)}.track-item.complete .track-card{border-left-color:var(--moss);background:linear-gradient(90deg,rgba(53,95,66,.14),rgba(255,255,255,.02))}.track-item.current .track-card{border-left-color:var(--moss-bright);background:linear-gradient(90deg,rgba(83,128,86,.18),rgba(255,255,255,.025))}.track-top{display:flex;justify-content:space-between;gap:18px;align-items:center}.track-top h3{margin:0;font-family:var(--display);font-size:1.18rem}.track-card p{margin:5px 0 0;color:var(--muted);font-size:.92rem}.track-status{font-size:.64rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#8c928f}.track-status.complete{color:#8fc18d}.track-status.current{color:#c6e3c5}
/* gallery */
.page-gallery .page-hero{min-height:290px;padding-bottom:38px}.tab-row,.section-tabs{display:flex;gap:6px;flex-wrap:wrap}.tab,.section-tab{appearance:none;border:0;border-bottom:1px solid var(--line-strong);background:transparent;color:#9f9788;padding:11px 13px;cursor:pointer;font-weight:850;font-size:.82rem}.tab:hover,.tab.active,.section-tab:hover,.section-tab.active{color:white;border-bottom-color:var(--ember)}.gallery-pane,.gallery-section{display:none}.gallery-pane.active,.gallery-section.active{display:block}.gallery-head{padding:38px 0 22px}.gallery-head h2{font-family:var(--display);font-size:clamp(2.6rem,5vw,5rem);margin:0;line-height:.9}.gallery-head p{color:var(--muted)}.section-tabs{margin:0 0 28px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gallery-thumb{appearance:none;border:0;background:transparent;padding:0;text-align:left;color:inherit;cursor:pointer;min-width:0}.gallery-card{height:100%;border:1px solid var(--line);background:#0a1013;overflow:hidden;transition:border-color .2s,transform .2s}.gallery-card>img,.gallery-card>video,.gallery-card>div:first-child{width:100%;aspect-ratio:4/3;object-fit:cover;background:#050708}.gallery-card strong{display:block;padding:13px 14px;font-size:.9rem}.gallery-thumb:hover .gallery-card{border-color:rgba(216,90,27,.55);transform:translateY(-2px)}.gif-thumb-wrap,.youtube-thumb-wrap{position:relative}.gif-play-badge,.youtube-play-badge{position:absolute;left:12px;bottom:12px;padding:6px 8px;background:rgba(5,8,9,.8);border:1px solid var(--line-strong);font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.lightbox{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px}.lightbox.active{display:flex}.lightbox-bg{position:absolute;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(10px)}.lightbox-panel{position:relative;z-index:1;width:min(1180px,94vw);max-height:92vh}.lightbox-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.lightbox-title{font-weight:900}.lightbox-close,.lightbox-nav{border:1px solid var(--line-strong);background:#10171a;color:white;cursor:pointer}.lightbox-close{padding:8px 11px}.lightbox-nav{position:absolute;top:50%;z-index:3;width:48px;height:60px;font-size:2rem}.lightbox-prev{left:-60px}.lightbox-next{right:-60px}.lightbox-media,#lightboxMedia img,#lightboxMedia video{display:block;max-width:100%;max-height:82vh;margin:auto;object-fit:contain}.youtube-embed-wrap,.youtube-frame-wrap{aspect-ratio:16/9;background:#000}.youtube-embed,.youtube-frame-wrap iframe{width:100%;height:100%;border:0}
/* updates */
.updates-hero-clean,.update-post-hero-clean{padding:95px 0 44px;border-bottom:1px solid var(--line)}.updates-hero-clean h1,.update-title-wrap h1{font-family:var(--display);font-size:clamp(3.7rem,8vw,8rem);line-height:.86;letter-spacing:-.06em;margin:0 0 18px}.updates-hero-clean p{color:var(--paper-2);max-width:72ch}.updates-board-clean{padding:60px 0 100px}.update-spotlight-link,.featured-update-link{display:block}.update-spotlight-card{display:grid;grid-template-columns:minmax(320px,520px) 1fr;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.update-spotlight-media{position:relative;min-height:320px;overflow:hidden}.update-spotlight-media img{width:100%;height:100%;object-fit:cover}.update-spotlight-copy{padding:40px 0 40px 45px;display:flex;flex-direction:column;justify-content:center}.update-spotlight-copy h2{font-family:var(--display);font-size:clamp(3rem,6vw,6rem);line-height:.88;margin:12px 0 20px}.update-spotlight-copy p{color:var(--paper-2)}.update-type{position:absolute;left:14px;top:14px;padding:6px 8px;background:#0b1012;border:1px solid var(--line-strong);font-size:.64rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.update-meta{display:flex;gap:13px;flex-wrap:wrap;color:var(--ember-2);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.update-title-wrap h2{font-family:var(--display);font-size:clamp(2.4rem,5vw,4.8rem);line-height:.9;margin:0 0 18px;color:var(--paper-2)}.update-post-body{padding:52px 0 90px}.update-video{margin-bottom:34px;border:1px solid var(--line-strong)}.credits-card{margin:28px 0;padding:22px;border-left:3px solid var(--ember);background:rgba(255,255,255,.025)}.credits-card h2{margin-top:0}.credits-card ul{margin:0;padding-left:18px;color:var(--paper-2)}.update-link-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
/* staff */
.staff-section{padding:0 0 58px}.staff-section h2{font-family:var(--display);font-size:clamp(2.2rem,4vw,4rem);margin:0 0 23px}.staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}.person{display:flex;align-items:center;gap:15px;padding:18px;background:#0d1417;min-width:0}.pfp{flex:0 0 64px;width:64px;height:64px;display:grid;place-items:center;overflow:hidden;background:#151d21;color:var(--ember-2);font-family:var(--display);font-size:1.25rem;border:1px solid var(--line)}.pfp img{width:100%;height:100%;object-fit:cover}.person strong{display:block;font-size:.96rem;overflow-wrap:anywhere}.roles{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}
/* apply + links */
.apply-page{max-width:900px}.apply-card{padding:clamp(32px,5vw,68px);border-left:3px solid var(--ember);background:linear-gradient(110deg,rgba(216,90,27,.09),rgba(255,255,255,.02));box-shadow:var(--shadow)}.apply-card h2{font-family:var(--display);font-size:clamp(2.4rem,5vw,4.8rem);line-height:.9;margin:0 0 20px}.apply-card p{color:var(--paper-2)}.links-page{max-width:980px}.links-list{counter-reset:links}.link-row{counter-increment:links;display:grid;grid-template-columns:70px 220px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid var(--line);align-items:center}.link-row:before{content:"0" counter(links);color:var(--ember-2);font-family:var(--display);font-size:1.3rem}.link-row strong{font-family:var(--display);font-size:1.15rem}.link-row span{color:var(--muted)}.link-row:hover strong{color:var(--ember-2)}.application-link{margin-top:28px;border-top:1px solid var(--line)}
/* map hold */
.map-hold-image{min-height:calc(100vh - 72px);display:flex;align-items:end;padding:90px 0 70px;background:linear-gradient(90deg,rgba(5,8,10,.92),rgba(5,8,10,.38)),url('/images/build-berk-01.jpg') center/cover no-repeat}.map-hold-copy{width:min(calc(100% - 48px),1280px)}.map-hold-copy h1{font-family:var(--display);font-size:clamp(4.2rem,10vw,10rem);line-height:.82;letter-spacing:-.065em;margin:0 0 22px;max-width:850px}.map-hold-copy>p:not(.section-label){font-size:1.12rem;color:#d6cdbc;max-width:54ch}.map-status{display:flex;gap:18px;align-items:center;margin-top:28px}.map-status span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.map-status strong{color:var(--moss-bright)}
/* footer */
.site-footer{border-top:1px solid var(--line);background:#070b0d;padding:54px 0 22px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr .65fr;gap:60px}.footer-brand{display:flex;align-items:center;gap:13px}.footer-brand img{width:48px;height:48px;object-fit:cover;border:1px solid var(--line)}.footer-brand strong{display:block;font-family:var(--display)}.footer-brand small{display:block;color:var(--muted)}.footer-identity p{color:var(--muted);max-width:52ch;font-size:.88rem}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:28px}.footer-nav strong{display:block;color:var(--ember-2);font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;margin-bottom:10px}.footer-nav a{display:block;color:#bdb4a4;font-size:.87rem;padding:3px 0}.footer-nav a:hover{color:white}.footer-state>strong{display:block;color:var(--ember-2);font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;margin-bottom:12px}.footer-state>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.84rem}.footer-state span{color:var(--muted)}.footer-legal{padding-top:28px;margin-top:36px;border-top:1px solid var(--line);color:#777267;font-size:.72rem}
/* responsive */
@media(max-width:1050px){.site-nav{gap:15px}.site-brand-copy span{display:none}.brand-statement-inner,.featured-editorial-grid{grid-template-columns:1fr}.statement-wordmark{max-width:720px}.path-story{min-height:560px}.doc-layout{grid-template-columns:1fr}.side-nav{position:relative;top:auto;border-right:0;border-bottom:1px solid var(--line);padding:0 0 16px;display:flex;gap:10px;overflow:auto}.side-nav h3{display:none}.side-nav a{white-space:nowrap;padding:8px 10px;border:1px solid var(--line)}.side-nav a:before{display:none}.staff-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-state{grid-column:1/-1}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.wrap,.narrow{width:min(calc(100% - 30px),var(--wrap))}.menu-btn{display:block;margin-left:auto}.site-header{background:#080d0f}.header-inner{min-height:64px;flex-wrap:wrap}.site-nav{display:none;position:absolute;left:0;right:0;top:64px;padding:18px 20px 24px;background:#0a1012;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.nav-link,.nav-cluster>summary{padding:13px 3px;border-bottom:1px solid var(--line)}.nav-link:after,.nav-cluster>summary:after{display:none}.nav-cluster>summary:before{right:5px}.nav-panel{position:static;width:auto;padding:0 0 8px;border:0;box-shadow:none;background:transparent}.nav-panel a{padding:10px 12px}.nav-action{margin-top:14px;text-align:center}.world-intro{height:68vh;min-height:480px}.world-intro-meta{bottom:22px}.brand-statement-inner{grid-template-columns:1fr;gap:42px}.statement-wordmark{max-width:620px;margin:auto}.statement-copy{text-align:center}.statement-copy>p{margin-inline:auto}.action-row{justify-content:center}.section-heading{grid-template-columns:1fr}.path-grid{grid-template-columns:1fr}.path-story{min-height:520px}.state-strip-grid{grid-template-columns:1fr 1fr}.state-strip-grid>div:nth-child(2){border-right:0}.state-strip-grid>div{border-bottom:1px solid var(--line)}.foundation-grid{grid-template-columns:1fr;gap:20px}.page-hero{min-height:330px;padding-top:90px}.page-hero h1{font-size:clamp(3rem,13vw,5.3rem)}.roadmap-section-head{align-items:start;flex-direction:column}.update-spotlight-card{grid-template-columns:1fr}.update-spotlight-copy{padding:30px 0}.staff-grid{grid-template-columns:1fr}.link-row{grid-template-columns:45px 1fr}.link-row span{grid-column:2}.footer-grid{grid-template-columns:1fr}.footer-state{grid-column:auto}.lightbox-prev{left:5px}.lightbox-next{right:5px}}
@media(max-width:560px){.world-intro{height:60vh;min-height:430px}.world-intro-meta{font-size:.58rem}.section-pad{padding:68px 0}.path-story{min-height:500px}.path-copy{left:22px;right:22px;bottom:22px}.state-strip-grid{grid-template-columns:1fr}.state-strip-grid>div{border-right:0}.image-slot-dual,.system-list{grid-template-columns:1fr}.clean-table,.tech-table{font-size:.86rem}.clean-table th,.clean-table td,.tech-table th,.tech-table td{padding:10px 7px}.gallery-grid{grid-template-columns:1fr}.footer-nav{grid-template-columns:1fr 1fr}.update-title-wrap h1{font-size:4rem}.map-hold-copy h1{font-size:4.8rem}}


/* -----------------------------------------------------------------
   v104 — Foundry design pass
   A warmer, sharper editorial system built around the actual BDA
   wordmark, atmospheric world imagery, and separated page grammars.
------------------------------------------------------------------ */

/* access and focus */
.skip-link{
  position:fixed;left:18px;top:-70px;z-index:2000;
  padding:10px 14px;background:var(--paper);color:var(--ink);
  font-weight:900;border:2px solid var(--ember);
  transition:top .18s ease;
}
.skip-link:focus{top:14px}
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:2px solid var(--ember-2);outline-offset:4px;
}

/* a more deliberate site chrome */
.site-header.is-scrolled{
  background:rgba(6,10,12,.96);
  box-shadow:0 12px 36px rgba(0,0,0,.24);
}
.site-brand-mark{
  border-radius:3px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.site-brand-copy strong{letter-spacing:.09em}
.nav-action{
  clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);
}
.button,.btn{
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
}
.button-ghost,.btn.secondary{background:rgba(255,255,255,.018)}

/* atmospheric opening */
.world-intro-image{
  filter:saturate(.86) contrast(1.03);
  animation:intro-drift 18s ease-out both;
}
.world-intro-shade{
  background:
    linear-gradient(180deg,rgba(3,5,6,.01),rgba(3,5,6,.02) 48%,rgba(3,5,6,.76) 100%),
    linear-gradient(90deg,rgba(3,5,6,.20),transparent 36%),
    radial-gradient(circle at 58% 34%,transparent 0 28%,rgba(4,7,8,.16) 74%);
}
@keyframes intro-drift{
  from{transform:scale(1.055)}
  to{transform:scale(1.015)}
}
.brand-statement{
  position:relative;
  background:
    linear-gradient(90deg,rgba(216,90,27,.025),transparent 36%),
    linear-gradient(180deg,#0a1114,#0c1417);
}
.brand-statement:before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--ember),transparent);
  opacity:.44;
}
.statement-wordmark img{
  transform:rotate(-.5deg);
}
.statement-copy h1{max-width:13ch}
.project-paths{position:relative}
.path-story{
  border-radius:2px;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
}
.path-story:focus-visible{outline-offset:7px}
.path-copy b{color:var(--ember-2)}
.state-strip-grid>div{min-height:100px}
.featured-visual{
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
}
.project-foundation{
  background:
    linear-gradient(90deg,rgba(216,90,27,.035),transparent 28%),
    #080d0f;
}

/* inner pages should not all look like the same template */
.page-mod .page-hero{
  min-height:500px;
  background:
    linear-gradient(90deg,#060a0c 0%,rgba(6,10,12,.93) 49%,rgba(6,10,12,.25) 100%),
    url('/images/night-fury-render-preview.png') 89% 56%/min(47vw,710px) auto no-repeat;
}
.page-mod .page-hero:before{
  background:
    linear-gradient(90deg,rgba(5,8,10,.94),rgba(5,8,10,.72) 57%,rgba(5,8,10,.08)),
    linear-gradient(180deg,rgba(5,8,10,.02),rgba(5,8,10,.72));
}
.page-gallery .page-hero{
  min-height:440px;
  background:
    linear-gradient(90deg,rgba(5,8,10,.94),rgba(5,8,10,.55) 56%,rgba(5,8,10,.22)),
    url('/images/gallery-mod-preview.jpg') center 41%/cover no-repeat;
}
.page-roadmap .page-hero{
  background:
    linear-gradient(90deg,rgba(5,8,10,.96),rgba(5,8,10,.66) 64%,rgba(5,8,10,.38)),
    url('/images/roadmap-mod.jpg') center 45%/cover no-repeat;
}
.page-staff .page-hero{
  background:
    radial-gradient(circle at 82% 12%,rgba(216,90,27,.11),transparent 22%),
    linear-gradient(125deg,#080d0f,#10191d);
}
.page-apply .page-hero{
  background:
    linear-gradient(90deg,rgba(5,8,10,.96),rgba(5,8,10,.74) 64%,rgba(5,8,10,.48)),
    url('/images/project-mod-detail.jpg') center 38%/cover no-repeat;
}
.page-links .page-hero{
  background:
    radial-gradient(circle at 84% 22%,rgba(216,90,27,.12),transparent 24%),
    linear-gradient(125deg,#080d0f,#111b1f);
}

/* documentation: stronger reading rhythm */
.doc-content{
  max-width:820px;
}
.doc-content h2{
  padding-top:6px;
}
.doc-content p,.doc-content li{
  color:#c9c0af;
}
.side-nav a{
  transition:color .18s,border-color .18s,background .18s;
}
.side-nav a:hover{
  color:#fff;background:rgba(255,255,255,.018);
}

/* roadmap: less card grid, more actual progression */
.roadmap-track:before{
  background:linear-gradient(180deg,var(--moss),rgba(238,230,213,.12) 43%);
}
.track-card{
  border-radius:2px;
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
}
.track-item.current .track-card{
  box-shadow:inset 4px 0 0 var(--moss-bright),0 14px 36px rgba(0,0,0,.14);
}

/* gallery: visual density, no oversized blank template feeling */
.page-gallery .main>.wrap{padding-top:42px;padding-bottom:90px}
.gallery-head h2{
  font-size:clamp(2.4rem,5vw,4.8rem);
}
.tab-row,.section-tabs{
  scrollbar-width:thin;
  scrollbar-color:var(--ember) transparent;
}
.tab,.section-tab{
  border-radius:0;
  clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);
}
.gallery-card{
  border-radius:1px;
  background:#0b1114;
}
.gallery-card img,.gallery-card video{
  background:
    linear-gradient(135deg,rgba(216,90,27,.03),transparent),
    #080c0e;
}
.gallery-card strong{
  border-top-color:rgba(238,230,213,.08);
}

/* updates: editorial publication rather than dashboard card */
.update-spotlight-card{
  position:relative;
}
.update-spotlight-card:before{
  content:"01";position:absolute;right:12px;top:-30px;
  color:rgba(238,230,213,.035);
  font-family:var(--display);font-weight:900;
  font-size:clamp(8rem,20vw,18rem);line-height:1;
  pointer-events:none;
}
.update-spotlight-copy{position:relative;z-index:1}
.update-spotlight-media{
  clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);
}

/* people: compact roster but with stronger category rhythm */
.staff-section{margin-top:12px}
.staff-section+ .staff-section{padding-top:18px;border-top:1px solid var(--line)}
.person{
  transition:background .18s,transform .18s;
}
.person:hover{
  background:#121b1f;
  transform:translateY(-1px);
}
.pfp{border-radius:2px}

/* footer */
.site-footer{
  background:
    linear-gradient(90deg,rgba(216,90,27,.025),transparent 28%),
    #060a0c;
}
.footer-brand img{border-radius:3px}

/* smoother, safer motion */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media(max-width:820px){
  .page-mod .page-hero{
    min-height:420px;
    background:
      linear-gradient(90deg,rgba(5,8,10,.96),rgba(5,8,10,.72)),
      url('/images/night-fury-render-preview.png') 82% 52%/auto 70% no-repeat;
  }
  .page-gallery .page-hero,.page-roadmap .page-hero,.page-apply .page-hero{
    min-height:360px;
  }
}


/* -----------------------------------------------------------------
   v105 — targeted polish after live visual review
------------------------------------------------------------------ */

/* Preserve the real wordmark proportions. The HTML height attribute
   previously remained active after width:100%, vertically stretching it. */
.statement-wordmark{
  width:100%;
  aspect-ratio:2047 / 871;
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  overflow:visible;
}
.statement-wordmark img{
  display:block;
  width:100%;
  height:auto !important;
  max-height:none;
  object-fit:contain;
  object-position:center;
}

/* Make the two halves legible as product types before the poetic copy. */
.path-copy>span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 8px;
  border:1px solid rgba(242,138,51,.5);
  background:rgba(7,11,13,.72);
  backdrop-filter:blur(8px);
}
.path-copy p{font-size:1rem;line-height:1.55}

/* Both update placements use a true 16:9 thumbnail and stop allowing the
   copy column to stretch the image into an arbitrary crop. */
.featured-visual img{
  object-fit:cover;
  object-position:center center;
}
.update-spotlight-card{
  grid-template-columns:minmax(360px,48%) minmax(0,1fr);
  align-items:center;
  column-gap:42px;
}
.update-spotlight-media{
  min-height:0;
  aspect-ratio:16 / 9;
  align-self:center;
}
.update-spotlight-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.update-spotlight-copy{padding:38px 0}

/* A grid background painted empty implicit cells gray. Borders now belong
   to actual people only, so incomplete rows simply end. */
.staff-grid{
  gap:10px;
  background:transparent;
  align-items:stretch;
}
.person{
  border:1px solid var(--line);
  min-height:100px;
}

@media(max-width:1050px){
  .statement-wordmark{max-width:720px;aspect-ratio:2047 / 871}
  .update-spotlight-card{grid-template-columns:minmax(300px,44%) minmax(0,1fr);column-gap:30px}
}
@media(max-width:820px){
  .statement-wordmark{width:min(100%,680px);aspect-ratio:2047 / 871}
  .update-spotlight-card{grid-template-columns:1fr;gap:24px}
  .update-spotlight-copy{padding:0 0 18px}
}

/* BDA build v106 — cache-busted visual fixes */


/* ================================================================
   BDA build v107
   Exact-image update posters, native-resolution Berk hero,
   and role-based staff structure.
================================================================ */

/* The hero source was never reduced: it remains 1920x1017.
   Remove transform/filter rasterisation and use a fresh sharpened asset. */
.world-intro-image {
  background-image:url('/images/build-berk-hero-v107.webp') !important;
  background-position:center 43% !important;
  background-size:cover !important;
  transform:none !important;
  animation:none !important;
  filter:none !important;
  will-change:auto !important;
}

/* Display the complete update image exactly as supplied.
   No object-fit crop, no forced aspect-ratio, no stretched height. */
.featured-visual {
  aspect-ratio:auto !important;
  height:auto !important;
  min-height:0 !important;
  line-height:0;
  background:#070b0d;
}
.featured-visual img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:initial !important;
  object-position:initial !important;
  transform:none !important;
}
.featured-visual span {
  line-height:1.2;
}
.update-spotlight-media {
  aspect-ratio:auto !important;
  min-height:0 !important;
  height:auto !important;
  align-self:center;
  clip-path:none !important;
  background:#070b0d;
}
.update-spotlight-media img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  object-fit:initial !important;
  object-position:initial !important;
}
.update-spotlight-card {
  align-items:center !important;
}

/* Department-based staff architecture. */
.staff-directory {
  padding-top:18px;
}
.staff-section {
  padding:48px 0 66px;
  margin:0;
}
.staff-section + .staff-section {
  padding-top:66px;
}
.staff-section-head {
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:22px;
  align-items:end;
  margin-bottom:28px;
}
.staff-section-head h2 {
  margin:4px 0 0;
}
.staff-index {
  color:var(--ember-2);
  font-family:var(--display);
  font-size:2.4rem;
  font-weight:900;
  line-height:1;
  opacity:.75;
}
.staff-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  background:transparent !important;
}
.staff-grid-owners,
.staff-grid-heads,
.staff-grid-trial {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.person {
  min-height:112px;
  border:1px solid var(--line);
  background:#0d1417;
}
.person .roles {
  line-height:1.45;
}
.staff-grid-heads .person {
  border-left:3px solid var(--ember);
  background:
    linear-gradient(90deg,rgba(216,90,27,.08),transparent 58%),
    #0d1417;
}
.staff-grid-trial .person {
  border-style:dashed;
  background:rgba(255,255,255,.018);
}

@media(max-width:1050px) {
  .staff-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:680px) {
  .staff-section-head {
    grid-template-columns:46px minmax(0,1fr);
    gap:14px;
  }
  .staff-index {
    font-size:1.8rem;
  }
  .staff-grid,
  .staff-grid-owners,
  .staff-grid-heads,
  .staff-grid-trial {
    grid-template-columns:1fr;
  }
}


/* ================================================================
   BDA build v108
   Exact Berk source, living-world atmosphere, consistent staff cards.
================================================================ */

/* Exact uploaded source. No sharpening, recompression, zoom, filter,
   or transform-based resampling. */
.world-intro-image {
  background-image:url('/images/project-server-original-v108.jpg') !important;
  background-position:center 43% !important;
  background-size:cover !important;
  transform:none !important;
  animation:none !important;
  filter:none !important;
  will-change:auto !important;
}

/* Quiet environmental motion — the layout remains still. */
.world-intro-atmosphere {
  position:absolute;
  inset:0;
  z-index:2;
  overflow:hidden;
  pointer-events:none;
}

.world-intro-atmosphere::before {
  content:"";
  position:absolute;
  left:-28%;
  bottom:5%;
  width:78%;
  height:24%;
  background:
    radial-gradient(ellipse at center,
      rgba(225,235,236,.18) 0%,
      rgba(184,205,211,.10) 36%,
      rgba(150,176,184,0) 72%);
  filter:blur(24px);
  opacity:.32;
  animation:bda-mist-drift 28s ease-in-out infinite alternate;
}

.world-intro-atmosphere::after {
  content:"";
  position:absolute;
  left:-18%;
  bottom:-2%;
  width:72%;
  height:31%;
  background:
    linear-gradient(108deg,
      transparent 12%,
      rgba(190,219,228,.00) 31%,
      rgba(211,232,236,.13) 48%,
      rgba(211,232,236,.025) 58%,
      transparent 76%);
  mix-blend-mode:screen;
  opacity:.46;
  transform:skewX(-13deg);
  animation:bda-water-light 17s ease-in-out infinite alternate;
}

/* One distant pass every 36 seconds. The uploaded dragon faces left,
   so only the image is mirrored while the wrapper controls motion. */
.world-intro-dragon {
  position:absolute;
  z-index:3;
  top:22%;
  left:-24vw;
  width:clamp(120px,15vw,255px);
  pointer-events:none;
  opacity:0;
  animation:bda-night-fury-pass 36s linear infinite;
  filter:drop-shadow(0 7px 9px rgba(0,0,0,.38));
}

.world-intro-dragon img {
  display:block;
  width:100%;
  height:auto;
  transform:scaleX(-1);
  opacity:.72;
}

@keyframes bda-mist-drift {
  from { transform:translate3d(-2%,0,0) scaleX(1); opacity:.22; }
  to   { transform:translate3d(38%,2%,0) scaleX(1.14); opacity:.38; }
}

@keyframes bda-water-light {
  from { transform:translate3d(-8%,0,0) skewX(-13deg); opacity:.20; }
  to   { transform:translate3d(58%,-1%,0) skewX(-13deg); opacity:.48; }
}

@keyframes bda-night-fury-pass {
  0%, 9% {
    transform:translate3d(-10vw,20px,0) scale(.72);
    opacity:0;
  }
  11% { opacity:.26; }
  18% {
    transform:translate3d(38vw,-4px,0) scale(.78);
    opacity:.56;
  }
  31% {
    transform:translate3d(92vw,-34px,0) scale(.84);
    opacity:.58;
  }
  42% {
    transform:translate3d(145vw,-52px,0) scale(.90);
    opacity:0;
  }
  100% {
    transform:translate3d(145vw,-52px,0) scale(.90);
    opacity:0;
  }
}

/* Staff categories are already communicated by headings.
   All cards therefore share one structure and one hover response. */
.staff-grid-heads .person,
.staff-grid-trial .person {
  border:1px solid var(--line) !important;
  border-left:1px solid var(--line) !important;
  border-style:solid !important;
  background:#0d1417 !important;
  box-shadow:none !important;
}

/* Department heads retain a restrained identity marker without becoming
   a different component. */
.staff-grid-heads .person {
  box-shadow:inset 3px 0 0 rgba(216,90,27,.82) !important;
}

.person,
.staff-grid-heads .person,
.staff-grid-trial .person {
  transition:
    background .18s ease,
    border-color .18s ease,
    transform .18s ease,
    box-shadow .18s ease !important;
}

.person:hover,
.staff-grid-heads .person:hover,
.staff-grid-trial .person:hover {
  background:#131d21 !important;
  border-color:rgba(240,143,75,.52) !important;
  transform:translateY(-2px) !important;
  box-shadow:
    inset 0 0 0 1px rgba(240,143,75,.08),
    0 12px 26px rgba(0,0,0,.22) !important;
}

.staff-grid-heads .person:hover {
  box-shadow:
    inset 3px 0 0 var(--ember-2),
    0 12px 26px rgba(0,0,0,.22) !important;
}

@media(max-width:820px) {
  .world-intro-dragon {
    top:19%;
    width:clamp(105px,27vw,180px);
    animation-duration:31s;
  }
  .world-intro-atmosphere::before {
    height:18%;
    opacity:.24;
  }
}

@media(prefers-reduced-motion:reduce) {
  .world-intro-atmosphere::before,
  .world-intro-atmosphere::after,
  .world-intro-dragon {
    animation:none !important;
  }
  .world-intro-dragon {
    display:none;
  }
}


/* ================================================================
   BDA build v109
   Real animated Night Fury, visible layered fog, Alpha Berk imagery.
================================================================ */

/* New Alpha Berk image used where the Map / Build path is presented. */
.path-world .path-image img {
  object-position:center 49% !important;
}

.map-hold-image {
  background:
    linear-gradient(90deg,
      rgba(5,8,10,.95) 0%,
      rgba(5,8,10,.73) 40%,
      rgba(5,8,10,.28) 73%,
      rgba(5,8,10,.15) 100%),
    linear-gradient(180deg,
      rgba(5,8,10,.03),
      rgba(5,8,10,.55)),
    url('/images/berk-alpha-overview-v109.png')
      center 48% / cover no-repeat !important;
}

/* Explicit hero stacking. */
.world-intro-image { z-index:0; }
.world-intro-shade { z-index:1; }
.world-intro-atmosphere { z-index:2; }
.world-intro-dragon { z-index:3; }
.world-intro-meta,
.enter-project { z-index:5; }

/* Remove the nearly invisible legacy pseudo-fog. */
.world-intro-atmosphere::before,
.world-intro-atmosphere::after {
  content:none !important;
}

/* Visible layered mist, concentrated over the water and cliff bases. */
.world-intro-atmosphere {
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  isolation:isolate;
}

.world-mist {
  position:absolute;
  display:block;
  pointer-events:none;
  mix-blend-mode:screen;
  will-change:transform,opacity;
}

.world-mist-a {
  left:-34%;
  bottom:0;
  width:104%;
  height:34%;
  opacity:.62;
  filter:blur(28px);
  background:
    radial-gradient(ellipse at 46% 62%,
      rgba(241,248,249,.54) 0%,
      rgba(211,228,232,.34) 30%,
      rgba(171,200,209,.16) 55%,
      transparent 77%);
  animation:bda-fog-a-v109 27s ease-in-out infinite alternate !important;
}

.world-mist-b {
  right:-39%;
  bottom:10%;
  width:96%;
  height:27%;
  opacity:.52;
  filter:blur(25px);
  background:
    radial-gradient(ellipse at 50% 52%,
      rgba(238,246,248,.48) 0%,
      rgba(197,219,225,.28) 34%,
      rgba(153,187,198,.12) 59%,
      transparent 79%);
  animation:bda-fog-b-v109 34s ease-in-out infinite alternate !important;
}

.world-mist-c {
  left:10%;
  bottom:18%;
  width:84%;
  height:17%;
  opacity:.41;
  filter:blur(18px);
  background:
    linear-gradient(90deg,
      transparent 0%,
      rgba(206,226,231,.18) 16%,
      rgba(239,247,248,.40) 49%,
      rgba(201,222,228,.17) 78%,
      transparent 100%);
  animation:bda-fog-c-v109 22s ease-in-out infinite alternate !important;
}

.world-water-light {
  position:absolute;
  left:-24%;
  bottom:-3%;
  width:86%;
  height:32%;
  opacity:.52;
  background:
    linear-gradient(108deg,
      transparent 8%,
      rgba(199,227,234,0) 27%,
      rgba(222,240,244,.20) 47%,
      rgba(222,240,244,.05) 59%,
      transparent 79%);
  mix-blend-mode:screen;
  transform:skewX(-12deg);
  animation:bda-water-light-v109 18s ease-in-out infinite alternate !important;
}

@keyframes bda-fog-a-v109 {
  from {
    transform:translate3d(-8%,0,0) scaleX(1);
    opacity:.46;
  }
  to {
    transform:translate3d(49%,2%,0) scaleX(1.18);
    opacity:.70;
  }
}

@keyframes bda-fog-b-v109 {
  from {
    transform:translate3d(8%,1%,0) scaleX(1.08);
    opacity:.38;
  }
  to {
    transform:translate3d(-47%,-2%,0) scaleX(.95);
    opacity:.59;
  }
}

@keyframes bda-fog-c-v109 {
  from {
    transform:translate3d(-17%,2%,0);
    opacity:.26;
  }
  to {
    transform:translate3d(26%,-3%,0);
    opacity:.47;
  }
}

@keyframes bda-water-light-v109 {
  from {
    transform:translate3d(-10%,0,0) skewX(-12deg);
    opacity:.25;
  }
  to {
    transform:translate3d(67%,-1%,0) skewX(-12deg);
    opacity:.58;
  }
}

/* The wrapper crosses the hero while the genuine GIF animates internally.
   The transparent canvas in the source is intentional and kept intact. */
.world-intro-dragon {
  position:absolute;
  top:12%;
  left:-48vw;
  width:clamp(520px,47vw,900px);
  pointer-events:none;
  opacity:0;
  filter:drop-shadow(0 8px 11px rgba(0,0,0,.40));
  animation:bda-night-fury-pass-v109 29s linear infinite !important;
  will-change:transform,opacity;
}

.world-intro-dragon img {
  display:block;
  width:100%;
  height:auto;
  opacity:.84;
  transform:scaleX(-1);
}

@keyframes bda-night-fury-pass-v109 {
  0%, 5% {
    transform:translate3d(-10vw,18px,0) scale(.75) rotate(-1deg);
    opacity:0;
  }
  8% {
    opacity:.42;
  }
  18% {
    transform:translate3d(51vw,-4px,0) scale(.82) rotate(0deg);
    opacity:.78;
  }
  31% {
    transform:translate3d(112vw,-43px,0) scale(.90) rotate(1.5deg);
    opacity:.80;
  }
  42% {
    transform:translate3d(173vw,-67px,0) scale(.97) rotate(2deg);
    opacity:0;
  }
  100% {
    transform:translate3d(173vw,-67px,0) scale(.97) rotate(2deg);
    opacity:0;
  }
}

/* Keep the entire living-world hero moving even when the operating
   system asks other interface animations to stop. */
@media (prefers-reduced-motion: reduce) {
  .world-intro-dragon {
    display:block !important;
    animation:bda-night-fury-pass-v109 29s linear infinite !important;
  }

  .world-mist-a {
    animation:bda-fog-a-v109 27s ease-in-out infinite alternate !important;
  }

  .world-mist-b {
    animation:bda-fog-b-v109 34s ease-in-out infinite alternate !important;
  }

  .world-mist-c {
    animation:bda-fog-c-v109 22s ease-in-out infinite alternate !important;
  }

  .world-water-light {
    animation:bda-water-light-v109 18s ease-in-out infinite alternate !important;
  }
}

@media (max-width:820px) {
  .world-intro-dragon {
    top:9%;
    left:-78vw;
    width:clamp(470px,88vw,680px);
    animation-duration:25s !important;
  }

  .world-mist-a {
    height:27%;
    opacity:.54;
  }

  .world-mist-b {
    height:22%;
    opacity:.45;
  }

  .world-mist-c {
    bottom:15%;
    opacity:.34;
  }
}


/* ================================================================
   BDA build v110
   Fragmented fog and restrained environmental Easter eggs.
================================================================ */

/* Fog should read as local pockets, not a translucent moving sheet. */
.world-mist-a {
  left:5% !important;
  right:auto !important;
  bottom:12% !important;
  width:34% !important;
  height:13% !important;
  opacity:.24 !important;
  filter:blur(24px) !important;
  background:
    radial-gradient(ellipse at center,
      rgba(239,247,248,.36) 0%,
      rgba(205,223,228,.18) 40%,
      rgba(166,194,203,.07) 62%,
      transparent 78%) !important;
  animation:bda-fog-pocket-left-v110 32s ease-in-out infinite alternate !important;
}

.world-mist-b {
  left:43% !important;
  right:auto !important;
  bottom:16% !important;
  width:29% !important;
  height:10% !important;
  opacity:.18 !important;
  filter:blur(20px) !important;
  background:
    radial-gradient(ellipse at center,
      rgba(238,246,247,.31) 0%,
      rgba(196,216,222,.14) 43%,
      transparent 76%) !important;
  animation:bda-fog-pocket-center-v110 38s ease-in-out infinite alternate !important;
}

.world-mist-c {
  left:auto !important;
  right:1% !important;
  bottom:11% !important;
  width:35% !important;
  height:13% !important;
  opacity:.21 !important;
  filter:blur(25px) !important;
  background:
    radial-gradient(ellipse at center,
      rgba(237,246,247,.34) 0%,
      rgba(201,221,226,.16) 42%,
      rgba(162,192,201,.06) 64%,
      transparent 80%) !important;
  animation:bda-fog-pocket-right-v110 35s ease-in-out infinite alternate !important;
}

.world-water-light {
  left:12% !important;
  bottom:0 !important;
  width:43% !important;
  height:18% !important;
  opacity:.16 !important;
  background:
    linear-gradient(108deg,
      transparent 7%,
      rgba(211,232,237,0) 30%,
      rgba(219,238,242,.13) 49%,
      rgba(219,238,242,.025) 63%,
      transparent 82%) !important;
  animation:bda-water-glint-v110 24s ease-in-out infinite alternate !important;
}

@keyframes bda-fog-pocket-left-v110 {
  from { transform:translate3d(-4%,0,0) scaleX(1); opacity:.16; }
  to   { transform:translate3d(11%,1%,0) scaleX(1.08); opacity:.27; }
}

@keyframes bda-fog-pocket-center-v110 {
  from { transform:translate3d(-5%,1%,0); opacity:.12; }
  to   { transform:translate3d(8%,-1%,0); opacity:.20; }
}

@keyframes bda-fog-pocket-right-v110 {
  from { transform:translate3d(5%,0,0) scaleX(1.04); opacity:.14; }
  to   { transform:translate3d(-10%,-1%,0) scaleX(.97); opacity:.24; }
}

@keyframes bda-water-glint-v110 {
  from { transform:translate3d(-4%,0,0) skewX(-10deg); opacity:.08; }
  to   { transform:translate3d(18%,-1%,0) skewX(-10deg); opacity:.18; }
}

/* Shared environmental stage. */
.ambient-stage {
  position:relative;
  overflow:hidden;
  pointer-events:none;
  isolation:isolate;
}

.ambient-stage::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--line),transparent);
}

.ambient-stage img,
.ambient-creature img {
  display:block;
  height:auto;
  filter:drop-shadow(0 10px 13px rgba(0,0,0,.38));
}

/* Map / Build: sleeping yak anchored against the hero floor. */
.map-hold-image {
  position:relative;
  overflow:hidden;
}

.map-hold-copy {
  position:relative;
  z-index:3;
}

.ambient-yak {
  position:absolute;
  z-index:2;
  right:clamp(18px,5vw,96px);
  bottom:-5px;
  width:clamp(260px,31vw,470px);
  opacity:.82;
  pointer-events:none;
}

.ambient-yak img {
  width:100%;
}

/* Updates and Gallery: a single animal crosses only after the visitor
   scrolls near the stage. */
.ambient-runway {
  height:132px;
  margin-top:34px;
}

.ambient-runner {
  position:absolute;
  bottom:0;
  right:-280px;
  animation-play-state:paused !important;
  will-change:transform;
}

.ambient-stage.is-active .ambient-runner {
  animation-play-state:running !important;
}

.ambient-updates-chicken {
  max-width:var(--wide);
  width:calc(100% - 40px);
  margin-left:auto;
  margin-right:auto;
}

.ambient-updates-chicken .ambient-runner {
  width:118px;
  animation:bda-chicken-cross-v110 22s linear infinite;
}

.ambient-gallery-sheep {
  height:155px;
  margin:46px 0 -1px;
}

.ambient-gallery-sheep .ambient-runner {
  width:220px;
  right:-270px;
  animation:bda-sheep-cross-v110 32s linear infinite;
}

.ambient-runner img {
  width:100%;
}

/* Links: a quiet chicken perched on the last divider. */
.ambient-perch {
  height:132px;
  margin-top:26px;
}

.ambient-links-chicken img {
  position:absolute;
  left:clamp(24px,11vw,160px);
  bottom:1px;
  width:112px;
}

@keyframes bda-chicken-cross-v110 {
  0%,8% { transform:translate3d(0,0,0); opacity:0; }
  10% { opacity:.86; }
  84% { opacity:.86; }
  92%,100% { transform:translate3d(calc(-100vw - 380px),0,0); opacity:0; }
}

@keyframes bda-sheep-cross-v110 {
  0%,6% { transform:translate3d(0,0,0); opacity:0; }
  8% { opacity:.78; }
  86% { opacity:.78; }
  94%,100% { transform:translate3d(calc(-100vw - 560px),0,0); opacity:0; }
}

@media(max-width:820px) {
  .world-mist-a {
    left:-4% !important;
    width:47% !important;
    opacity:.19 !important;
  }

  .world-mist-b {
    left:38% !important;
    width:38% !important;
    opacity:.14 !important;
  }

  .world-mist-c {
    right:-8% !important;
    width:48% !important;
    opacity:.17 !important;
  }

  .ambient-yak {
    right:-46px;
    width:clamp(230px,61vw,360px);
    opacity:.62;
  }

  .ambient-runway {
    height:112px;
  }

  .ambient-gallery-sheep {
    height:130px;
  }

  .ambient-gallery-sheep .ambient-runner {
    width:180px;
  }
}


/* ================================================================
   BDA build v111
   Seamless banner-to-content transitions.
================================================================ */

/* Remove the hard horizontal cut beneath inner-page banners. */
.page-hero {
  border-bottom:0 !important;
}

/* Let the image dissolve into the page background instead of ending
   against a line followed by a large empty band. */
.page-hero::after {
  content:"";
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  bottom:-1px;
  height:44px;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(10,17,20,0) 0%,
    rgba(10,17,20,.56) 50%,
    #0a1114 100%
  );
}

/* Standard pages: content now begins directly after the banner.
   A small amount of deliberate breathing room remains, rather than
   the previous 48–82 px empty strip. */
.page-hero + .main {
  padding-top:0 !important;
  margin-top:-1px;
}

.page-hero + .main > .wrap {
  position:relative;
  z-index:2;
  padding-top:clamp(18px,2vw,28px);
}

/* Gallery previously added another 42 px inside its wrapper. */
.page-gallery .page-hero + .main > .wrap {
  padding-top:clamp(18px,2vw,28px) !important;
}

/* Staff had an additional internal top offset. */
.page-staff .staff-directory {
  padding-top:0 !important;
}

/* Updates and update posts place their banner inside <main>, so their
   outer main padding and board/body padding need separate correction. */
.updates-main,
.update-post-main {
  padding-top:0 !important;
}

.updates-hero-clean + .updates-board-clean {
  padding-top:clamp(18px,2vw,28px) !important;
}

.update-post-hero-clean + .update-post-body {
  padding-top:clamp(22px,2.4vw,34px) !important;
}

/* Keep the transition tight on smaller screens as well. */
@media(max-width:820px) {
  .page-hero::after {
    height:32px;
  }

  .page-hero + .main > .wrap,
  .page-gallery .page-hero + .main > .wrap {
    padding-top:16px !important;
  }

  .updates-hero-clean + .updates-board-clean,
  .update-post-hero-clean + .update-post-body {
    padding-top:18px !important;
  }
}
