@charset "UTF-8";
/* A second pass in material, light and hierarchy; the voxel world stays restrained. */
:root { --pixel-warm:#e9dfa9; --pixel-light:#dcf4b8; }
body,body[data-page="home"] { background:#061a14; }
.site-atmosphere { background:#061a14; }
.site-atmosphere::after,body[data-page="home"] .site-atmosphere::after {
  content:""; display:block; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(ellipse at 77% 37%,#42633330 0%,#173b2520 30%,transparent 60%),radial-gradient(ellipse at 12% 85%,#1c453126 0%,transparent 50%),linear-gradient(90deg,#03140d80,transparent 60%);
}
.ambient-grid,body[data-page="home"] .ambient-grid { opacity:.3; background-size:48px 48px; mask-image:linear-gradient(#0006,transparent 90%); }
.pixel-forest { inset:44% -3% 0; opacity:.14; background:#396644; }
.forest-front { inset:84% -5% -5%; opacity:.24; background:#020f0b; }
.site-header,body[data-page] .site-header {
  background-color:#0c261d;
  background-image:linear-gradient(90deg,#d1f6ad05 1px,transparent 1px),linear-gradient(#d1f6ad03 1px,transparent 1px);
  background-size:16px 16px; border:2px solid; border-color:#719166 #2b4b35 #24422e #567d56;
  box-shadow:0 6px 0 #020f0a,0 8px 0 #173322,inset 0 3px 0 #a4c48a13,inset 0 -4px 0 #02130b66;
}
.site-header::before { left:7px; right:7px; top:7px; width:auto; height:7px; border:0; background:linear-gradient(#a7c58c,#a7c58c) left center/7px 7px no-repeat,linear-gradient(#a7c58c,#a7c58c) right center/7px 7px no-repeat; box-shadow:none; filter:drop-shadow(0 2px 0 #05140b); opacity:.65; }
.site-header::after { right:7px; bottom:7px; width:7px; height:7px; border:0; background:#52734a; box-shadow:0 2px 0 #05140b; }
.brand-name { font-size:28px; -webkit-text-stroke:.65px currentColor; text-shadow:2px 0 0 #1e3520,0 3px 0 #020d08; }
.brand-name .brand-pixel { display:inline-grid; place-items:center; width:21px; height:21px; font-size:23px; text-shadow:none; color:#c5e995; background:#aacd7a12; border:1px solid #7e9d5b4d; }
.brand-role { color:#8ba88b; font-size:11px; letter-spacing:3.5px; }
body[data-page] .site-nav .nav-link { transition:background-color .16s,border-color .16s,transform .16s; }
body[data-page] .site-nav .nav-link.is-active,body[data-page] .site-nav .nav-link[data-nav="contact"].is-active {
  color:#172b10; background:#c6ef7a; border-color:#e6ffb4 #8aac51 #769747 #d6f69f;
  box-shadow:0 3px 0 #243e18,inset 0 3px 0 #e9ffc265,inset 0 -3px 0 #93bb4e;
}
body[data-page] .site-nav .nav-link:not(.is-active):hover { background:#21452c; border-color:#7b9c57 #3c5e3f #345438 #587c4e; color:#eef5dd; box-shadow:0 3px 0 #04140b; }
.home-page .hero { min-height:610px; padding-block:43px 32px; }
.hero-copy .eyebrow { position:relative; padding-left:18px; margin-bottom:28px; color:#bbd0ae; letter-spacing:1.05px; font-size:12px; }
.hero-copy .eyebrow::before { content:""; display:block; position:absolute; left:0; top:7px; width:6px; height:6px; background:#d4ef9a; box-shadow:3px 3px 0 #54783c,-3px 3px 0 #27492b; animation:none; }
.hero-title { font-size:clamp(72px,8.8vw,126px); line-height:1.13; -webkit-text-stroke:.012em currentColor; letter-spacing:.015em; text-shadow:1px 1px 0 #78916d,2px 2px 0 #2a482e,4px 4px 0 #020f09; }
.hero-heading-line { width:max-content; max-width:100%; position:relative; animation:pixel-word-arrive .65s steps(9,end) both; }
.hero-heading-line + .hero-heading-line { color:#c3ef72; margin-top:10px; text-shadow:1px 1px 0 #93b94c,2px 2px 0 #436f2d,4px 4px 0 #020f09; animation-delay:.12s; }
.hero-copy .hero-intro { max-width:500px; color:#bccdb7; font-size:15px; line-height:1.95; margin-top:29px; margin-bottom:32px; }
.hero-copy .hero-actions { gap:20px; }
.hero-copy .hero-actions .button { min-height:60px; font-size:19px; padding:15px 24px; gap:24px; background:#0d291f; border-color:#9bb285 #3b5a3b #304e33 #6f9262; box-shadow:0 5px 0 #020e08,inset 0 3px 0 #aacb8d12,inset 0 -3px 0 #04180e; }
.hero-copy .hero-actions .button-primary { color:#18300f; background:#c4ed75; border-color:#efffbd #85aa4d #718e39 #def9a1; box-shadow:0 5px 0 #29431b,inset 0 4px 0 #efffc288,inset 0 -4px 0 #91b951; }
.hero-copy .hero-actions .button > span { display:inline-grid; place-items:center; width:23px; height:23px; font-size:19px; border:1px solid #a6c68d40; background:#98bb7910; }
.hero-copy .hero-actions .button-primary > span { border-color:#3f66282e; background:#4a752a0d; }
.hero-copy .hero-actions .button:hover { transform:translateY(-3px); border-color:#c5e99b; background:#1c3e28; box-shadow:0 8px 0 #020f08; }
.hero-copy .hero-actions .button-primary:hover { color:#18300f; background:#d2f98b; border-color:#efffbd #97bb60 #718e39 #def9a1; box-shadow:0 8px 0 #29431b,inset 0 4px 0 #f5ffd078,inset 0 -4px 0 #a4ca63; }
.hero-copy .hero-actions .button:active { transform:translateY(4px); box-shadow:0 1px 0 #020f08; }
.hero-note { color:#829f80; margin-top:31px; font-size:11px; letter-spacing:.6px; }
.hero-note span { color:#b5d784; }
.home-page .pixel-island-stage { transform:translate(var(--island-look-x,0px),var(--island-look-y,0px)); transition:transform .6s cubic-bezier(.2,.65,.3,1); }
.home-page .pixel-island-stage::before {
  content:""; display:block; position:absolute; z-index:-1; inset:30% 3% 10%; border:1px solid #a7ca7310;
  background-image:linear-gradient(90deg,#a7ca7314 1px,transparent 1px),linear-gradient(#a7ca7314 1px,transparent 1px);
  background-size:46px 46px; transform:rotate(-25deg) skewX(30deg) scaleY(.6); mask-image:radial-gradient(ellipse,#0009,transparent 68%); pointer-events:none;
}
.home-page .pixel-island-stage::after {
  content:""; display:block; position:absolute; z-index:-2; inset:5% 0 4%; pointer-events:none;
  background:radial-gradient(ellipse at 50% 45%,#8aae4a21,transparent 65%),radial-gradient(circle at 35% 64%,#e0b55313,transparent 27%);
  animation:pixel-world-breathe 9s ease-in-out infinite alternate;
}
.pixel-island { filter:drop-shadow(0 24px 13px #0006); animation-duration:8s; }
.island-ground-shadow { inset:auto 25% 7%; height:9%; background:#010c08aa; filter:blur(11px); animation-duration:8s; }
.island-coordinate { top:3%; right:8%; color:#93ad83; background:#082017a6; padding:5px 9px; border-left:3px solid #abc66a; font-size:10px; letter-spacing:1.7px; }
.island-hint { color:#a5ba8c; font-size:11px; letter-spacing:.6px; bottom:0; }
.floating-block { width:17px; height:17px; background:#735334; border-top:5px solid #a3c963; border-right:5px solid #3f6031; box-shadow:4px 4px 0 #021409; }
.block-two { width:11px; height:11px; border-width:3px; }
.block-three { width:22px; height:22px; border-width:6px; }
.home-page .home-index { position:relative; padding:25px 18px; border-color:#58784f #294c36 #23432e #3c6040; background:#0b241be8; box-shadow:0 5px 0 #020e09,inset 0 3px 0 #a6c88113,inset 0 -3px 0 #02140980; }
.home-index .index-item { gap:11px; padding-inline:25px; }
.home-index .index-item + .index-item { padding-inline:25px; border-left-color:#35513a; }
.home-index .index-item span:first-child { color:#8fa98b; font-size:11px; }
.home-index .index-item b { display:inline-block; padding:1px 5px; color:#d9edae; background:#8cad3d1c; border-bottom:2px solid #75934555; margin-right:4px; font-size:16px; }
.home-index .index-item strong { color:#e7eed4; font-size:24px; line-height:1.45; }
.site-footer { margin-top:10px; color:#819e82; border-top-color:#2c4934; }
.motion-toggle { border-color:#3b5a3d; color:#a2b78d; background:#0a2319; box-shadow:2px 2px 0 #020e08; }
.motion-toggle:hover { border-color:#87a561; color:#d6e6b6; }
.motion-disabled .hero-heading-line { animation:none; }
.motion-disabled .home-page .pixel-island-stage,.motion-paused .home-page .pixel-island-stage,.motion-suspended .home-page .pixel-island-stage { transform:none; transition:none; }
.motion-disabled .pixel-island-stage::after,.motion-paused .pixel-island-stage::after,.motion-suspended .pixel-island-stage::after { animation-play-state:paused; }
@keyframes pixel-word-arrive { from { opacity:0; translate:0 9px; clip-path:inset(0 100% 0 0); } to { opacity:1; translate:0 0; clip-path:inset(-12px -12px -12px -12px); } }
@keyframes pixel-world-breathe { from { opacity:.55; } to { opacity:1; } }
@media(max-width:1100px) {
  .brand-name { font-size:24px; }
  .hero-title { font-size:clamp(64px,8.4vw,100px); }
  .hero-copy .eyebrow { font-size:10px; letter-spacing:.65px; }
  .hero-copy .hero-actions .button { font-size:17px; padding:13px 18px; gap:17px; }
  .home-index .index-item strong { font-size:21px; }
}
@media(max-width:800px) {
  .site-header::before { left:6px; top:6px; width:5px; height:5px; box-shadow:none; }
  .site-header::after { width:5px; height:5px; right:6px; bottom:6px; }
  .brand-name { font-size:23px; gap:8px; }
  .brand-name .brand-pixel { width:17px; height:17px; font-size:19px; }
  .brand-role { font-size:10px; letter-spacing:2px; }
  .home-page .hero { min-height:0; padding:42px 0 20px; }
  .hero-copy .eyebrow { margin-bottom:23px; font-size:11px; letter-spacing:.2px; padding-left:14px; }
  .hero-copy .eyebrow::before { width:4px; height:4px; top:6px; }
  .hero-title { font-size:clamp(58px,17vw,96px); line-height:1.15; -webkit-text-stroke:.009em currentColor; text-shadow:1px 1px 0 #67855d,2px 2px 0 #24472a,3px 3px 0 #020e08; }
  .hero-heading-line + .hero-heading-line { margin-top:8px; text-shadow:1px 1px 0 #769d3c,2px 2px 0 #365d25,4px 4px 0 #020e08; }
  .hero-copy .hero-intro { margin:25px 0 26px; max-width:510px; font-size:14px; }
  .hero-copy .hero-actions { gap:16px; }
  .hero-copy .hero-actions .button { min-height:52px; padding:12px 16px; font-size:17px; gap:13px; }
  .hero-copy .hero-actions .button > span { width:20px; height:20px; font-size:17px; }
  .hero-note { font-size:10px; margin-top:29px; }
  .home-page .pixel-island-stage { margin:20px 0 6px; transform:none; }
  .home-page .pixel-island-stage::before { inset:28% 6% 12%; background-size:30px 30px; }
  .island-coordinate { top:2%; right:0; font-size:9px; padding:4px 7px; letter-spacing:.9px; }
  .island-hint { right:0; font-size:9px; }
  .home-page .home-index { padding:0 17px; }
  .home-index .index-item,.home-index .index-item + .index-item { padding:19px 2px; gap:10px; }
  .home-index .index-item span:first-child { font-size:9px; letter-spacing:.6px; }
  .home-index .index-item b { padding-inline:3px; font-size:13px; }
  .home-index .index-item strong { font-size:19px; }
}
@media(max-width:390px) {
  .brand-name { font-size:20px; }
  .hero-copy .eyebrow { font-size:10px; letter-spacing:0; }
  .hero-copy .hero-actions { gap:12px; }
  .hero-copy .hero-actions .button { font-size:16px; padding:12px 11px; gap:10px; }
  .hero-copy .hero-actions .button > span { width:18px; height:18px; font-size:16px; }
  .home-index .index-item strong { font-size:17px; }
}
@media(prefers-reduced-motion:reduce) { .hero-heading-line,.pixel-island-stage::after { animation:none!important; } .home-page .pixel-island-stage { transform:none; transition:none; } }
