:root{
  --bg:#0a0c0d;--bg2:#111415;--text:#f2efe8;--muted:#a9aca7;--line:rgba(255,255,255,.12);
  --paper:#d3c6aa;--rust:#7f4434;--ice:#9ab6c1;--max:1240px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#b7bbb7}
.serif{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400}

/* Navigation */
.nav{position:fixed;inset:0 0 auto;z-index:50;background:linear-gradient(rgba(7,9,10,.86),rgba(7,9,10,.28),transparent);backdrop-filter:blur(3px)}
.navin{height:78px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;gap:13px;align-items:center;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:13px}
.brand img{width:31px;height:31px}
.navlinks{display:flex;gap:26px;color:#d5d6d3;font-size:13px;align-items:center}
.navlinks a:hover,.navlinks a:focus-visible{color:#fff}
.menu-button{display:none;background:rgba(8,10,11,.7);border:1px solid rgba(255,255,255,.18);color:var(--text);width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;cursor:pointer}
.menu-button span,.menu-button span:before,.menu-button span:after{display:block;width:18px;height:1px;background:currentColor;content:"";position:relative}
.menu-button span:before{position:absolute;top:-6px}.menu-button span:after{position:absolute;top:6px}
.mobile-menu{display:none;position:absolute;top:64px;left:12px;right:12px;background:rgba(10,12,13,.97);border:1px solid var(--line);padding:12px;box-shadow:0 16px 50px rgba(0,0,0,.35)}
.mobile-menu.open{display:grid}
.mobile-menu a{padding:15px 12px;border-bottom:1px solid rgba(255,255,255,.08);font-size:15px}.mobile-menu a:last-child{border-bottom:0}

/* Hero */
.hero{min-height:760px;position:relative;display:flex;align-items:center;border-bottom:1px solid var(--line);overflow:hidden;background:#080a0b}
.hero-art{position:absolute;inset:0 0 0 36%;background:url('../images/hero.jpg') center/cover no-repeat;filter:saturate(.82) contrast(1.04);transform:scale(1.03)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080a0b 0%,#080a0b 29%,rgba(8,10,11,.86) 43%,rgba(8,10,11,.28) 70%,rgba(8,10,11,.2) 100%),linear-gradient(0deg,#080a0b 0%,transparent 22%,rgba(0,0,0,.12) 100%)}
.hero-copy{position:relative;z-index:3;padding:120px 0 86px;max-width:780px}
h1{font-size:clamp(64px,10.5vw,138px);line-height:.85;letter-spacing:-.067em;margin:18px 0 0;font-weight:650}
.lede{font-size:clamp(18px,2vw,24px);line-height:1.52;color:#c9cbc6;max-width:700px;margin:30px 0 0}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 19px;border:1px solid rgba(255,255,255,.2);font-size:12px;text-transform:uppercase;letter-spacing:.15em;transition:.2s}
.btn.primary{background:#f0ede6;color:#0b0d0d;border-color:#f0ede6}
.btn:hover,.btn:focus-visible{transform:translateY(-2px)}
.hero-side{position:absolute;right:5.5%;bottom:12%;z-index:4;text-align:right;color:#d0d3ce}
.hero-side .words{font-size:10px;letter-spacing:.26em;line-height:1.75;text-transform:uppercase;color:#a9afab}
.hero-side .script{font-family:Georgia,serif;font-style:italic;font-size:22px;margin-top:28px;color:#eee9df}
.scroll{position:absolute;left:50%;bottom:18px;z-index:5;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:#bfc2bd}
.scroll:after{content:"";display:block;width:1px;height:44px;background:#8e938f;margin:10px auto 0}

/* Games */
.games{padding:0}.games-grid{display:grid;grid-template-columns:1fr 1fr}
.game{min-height:620px;position:relative;overflow:hidden;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.game:last-child{border-right:0}
.game-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .65s ease}
.game:hover .game-bg{transform:scale(1.03)}
.dand .game-bg{background-image:url('../images/dandelion.jpg');background-position:center}
.elen .game-bg{background-image:url('../images/elen.jpg');background-position:center}
.dand:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,8,10,.93) 0%,rgba(4,8,10,.72) 48%,rgba(4,8,10,.2) 100%),linear-gradient(0deg,rgba(4,8,10,.9),transparent 55%)}
.elen:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,18,14,.95) 0%,rgba(26,18,14,.72) 48%,rgba(26,18,14,.18) 100%),linear-gradient(0deg,rgba(27,18,13,.78),transparent 58%)}
.game-copy{position:relative;z-index:3;min-height:620px;display:flex;flex-direction:column;justify-content:flex-end;padding:58px;max-width:620px}
.game h2{font-size:clamp(44px,5.4vw,72px);line-height:.95;letter-spacing:-.048em;margin:14px 0 18px}.game p{font-size:17px;line-height:1.58;color:#d6d8d4;max-width:520px}.elen p{color:#eee7da}
.game-link{margin-top:20px;display:inline-flex;gap:12px;align-items:center;text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:#f3f0e9}
.game-link span{font-size:17px}.game .label{position:absolute;top:28px;left:32px;z-index:4;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#d3d5d1}.elen .label{color:#eee7da}

.traceband{padding:54px 0;border-bottom:1px solid var(--line);background:#0e1112;overflow:hidden}
.traceband .inner{display:flex;gap:42px;align-items:center;white-space:nowrap;color:#9da39f;font-size:10px;letter-spacing:.28em;text-transform:uppercase}
.traceband .dot{width:5px;height:5px;border-radius:50%;background:#69716d;flex:0 0 auto}

/* About */
.purpose{position:relative;min-height:520px;display:flex;align-items:center;border-bottom:1px solid var(--line);overflow:hidden}
.purpose-art{position:absolute;inset:0;background:url('../images/landscape.jpg') center/cover no-repeat;filter:saturate(.55) contrast(1.08) brightness(.72)}
.purpose:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,8,9,.92),rgba(6,8,9,.46) 56%,rgba(6,8,9,.65)),linear-gradient(0deg,#090b0c 0%,transparent 48%,rgba(9,11,12,.18))}
.purpose-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.06fr .94fr;gap:80px;padding:90px 0}
.purpose h2{font-size:clamp(46px,6vw,78px);line-height:.96;letter-spacing:-.05em;margin:14px 0 0}
.purpose-copy{align-self:end;color:#d3d5d1;font-size:17px;line-height:1.65;max-width:520px}

.principles{padding:76px 0 92px;background:#0b0e0f}
.principles-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.principle{padding:30px 26px;min-height:180px;border-right:1px solid var(--line)}.principle:last-child{border-right:0}
.icon{font-family:Georgia,serif;font-size:27px;color:#c9cec9;margin-bottom:23px}.principle strong{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:12px}.principle p{margin:0;color:#a9afab;line-height:1.55;font-size:14px}

/* Closing */
.closing{padding:92px 0;background:#d9d3c5;color:#171714;position:relative;overflow:hidden}
.closing:before,.closing:after{content:"";position:absolute;border-top:1px solid rgba(20,20,18,.34);width:46%;height:120px;border-radius:50%;transform:rotate(8deg)}
.closing:before{left:-8%;bottom:12%}.closing:after{right:-10%;top:20%;transform:rotate(-12deg)}
.closing blockquote{font-family:Georgia,serif;font-size:clamp(30px,4vw,52px);line-height:1.18;text-align:center;max-width:850px;margin:0 auto}
.closing .sig{text-align:center;margin-top:22px;text-transform:uppercase;letter-spacing:.24em;font-size:10px}
footer{background:#090b0c;padding:28px 0;color:#9ea49f;border-top:1px solid var(--line)}
.footerin{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px}

:focus-visible{outline:2px solid #f2efe8;outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.game-bg,.btn{transition:none}}
@media(max-width:900px){
  .navlinks{display:none}.menu-button{display:flex}.hero{min-height:720px}.hero-art{inset:0;opacity:.72;background-position:58% center}.hero:after{background:linear-gradient(90deg,#080a0b 0%,rgba(8,10,11,.9) 38%,rgba(8,10,11,.4) 100%),linear-gradient(0deg,#080a0b,transparent 42%)}.hero-side,.scroll{display:none}.games-grid{grid-template-columns:1fr}.game{min-height:560px;border-right:0}.game-copy{min-height:560px;padding:42px}.purpose-grid{grid-template-columns:1fr;gap:28px}.purpose-copy{max-width:720px}.principles-grid{grid-template-columns:1fr 1fr}.principle:nth-child(2){border-right:0}.principle:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:560px){
  .wrap{width:min(var(--max),calc(100% - 24px))}.navin{height:64px}h1{font-size:60px}.hero{min-height:680px}.hero-copy{padding:100px 0 66px}.game,.game-copy{min-height:500px}.game-copy{padding:28px}.game h2{font-size:46px}.principles-grid{grid-template-columns:1fr}.principle{border-right:0!important;border-bottom:1px solid var(--line)}.principle:last-child{border-bottom:0}.purpose-grid{padding:70px 0}.closing{padding:70px 0}
}
