*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#111510;color:#e9e4d7;font-family:system-ui,sans-serif;line-height:1.75}header{position:fixed;z-index:5;width:100%;padding:20px 5vw;display:flex;justify-content:space-between;background:#0a0d0ac9}header a{color:inherit;text-decoration:none;margin-left:20px}.brand{font-family:Georgia,serif;letter-spacing:.15em}.hero{min-height:100vh;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 50% 60%,#45503255,transparent 40%),#101510}.hero>div{max-width:1000px;padding:90px 24px}.hero h1{font:400 clamp(4rem,10vw,8rem)/.9 Georgia,serif;margin:.25em 0}.hero h1 em{color:#c4a363}.lead{font-size:1.2rem;max-width:700px;margin:20px auto 30px}section{padding:100px max(8vw,24px);max-width:1100px;margin:auto}.dark{max-width:none;background:#090c09;padding-left:max(calc((100vw - 1100px)/2),24px);padding-right:max(calc((100vw - 1100px)/2),24px)}h2{font:400 clamp(2.4rem,5vw,4.5rem)/1.08 Georgia,serif;margin:.2em 0 .5em}h3{font:400 2rem Georgia,serif}.eyebrow{color:#c4a363;font-size:.72rem;letter-spacing:.22em;font-weight:800}p{color:#bdc0b5;font-size:1.05rem}strong{color:#eee8d9}blockquote{font:400 clamp(1.5rem,3vw,2.2rem)/1.35 Georgia,serif;border-left:2px solid #c4a363;margin:1.6em 0;padding-left:22px}.btn{display:inline-block;padding:12px 18px;background:#b89755;color:#10130f;border:1px solid #b89755;text-decoration:none;font-weight:800;font-size:.75rem;letter-spacing:.08em;cursor:pointer}.alt{background:transparent;color:#eee8d9}.placeholder{height:360px;margin-top:45px;border:1px solid #41483a;background:linear-gradient(145deg,#2a3225,#151a15);display:grid;place-items:center;color:#71796b;letter-spacing:.15em;font-size:.7rem}.cost{border:1px solid #474d3e;padding:30px;margin:40px 0;display:flex;flex-direction:column;max-width:500px}.cost small{color:#c4a363;letter-spacing:.15em}.cost b{font:400 6rem Georgia,serif;line-height:1.2}.cost span{color:#aeb2a7}.final{text-align:center;min-height:80vh;display:grid;align-content:center}.final p{max-width:700px;margin:15px auto}footer{background:#070907;text-align:center;padding:50px 20px;display:flex;flex-direction:column;gap:8px;color:#8e9588}footer b{font-family:Georgia,serif;letter-spacing:.15em;color:#e9e4d7}footer i{font-family:Georgia,serif;color:#c4a363}footer small{max-width:700px;margin:auto}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#eee8d9;color:#111;padding:10px 15px;opacity:0;transition:.2s}#toast.show{opacity:1}@media(max-width:700px){header nav a:not(:last-child){display:none}.hero h1{font-size:15vw}section{padding-top:75px;padding-bottom:75px}}
.media{margin:42px 0 0;border:1px solid #41483a;background:#151a15;min-height:280px;overflow:hidden;position:relative}
.media img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover}
.media figcaption{padding:10px 12px;color:#7d8576;font-size:.72rem}
.media:not(.missing) figcaption{display:none}
.media.missing{display:grid;place-items:center}
.gallery-section{max-width:1400px}
.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}
.gallery-grid .media{margin-top:18px}
.support-actions{margin-top:28px}.support-btn{min-width:220px;text-align:center}.small-note{font-size:.82rem;color:#8f9688}
@media(max-width:800px){.gallery-grid{grid-template-columns:1fr}}

.future-image{margin-top:45px;min-height:330px;border:1px solid #41483a;background:radial-gradient(circle at 50% 80%,#35402d55,transparent 45%),#111610;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}
.future-image strong{font:400 clamp(2rem,4vw,3.5rem) Georgia,serif;color:#e9e4d7;margin:8px 0}
.future-image p{max-width:570px;margin:0}
.future-kicker{font-size:.68rem;letter-spacing:.2em;color:#c4a363;font-weight:800}
.future-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:35px}
.future-slot{min-height:230px;border:1px solid #3c4337;background:#101510;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}
.future-slot span{font:400 1.2rem Georgia,serif;color:#d7d2c6}
.future-slot small{color:#777f72;margin-top:8px}
@media(max-width:800px){.future-grid{grid-template-columns:1fr}.future-slot{min-height:150px}}

.future-image p{max-width:680px;margin:7px auto}
.future-image .future-promise{margin-top:20px}
.grounded{max-width:none;background:#171b16;padding:110px max(calc((100vw - 900px)/2),24px)}
.grounded-inner{max-width:900px;margin:auto}
.grounded h2{font:400 clamp(3rem,7vw,6rem)/1 Georgia,serif;margin:.18em 0 .55em}
.grounded p{color:#bdc0b5;font-size:1.07rem}
.grounded blockquote{margin:1.8em 0}

/* V7: modern Minecraft-inspired visual language, without stock game assets */
:root{
  --fv-bg:#0d110d;
  --fv-panel:#141a13;
  --fv-panel-2:#192018;
  --fv-stone:#3f463b;
  --fv-moss:#758268;
  --fv-gold:#c4a363;
  --fv-cream:#e9e4d7;
  --fv-muted:#9aa193;
  --fv-pixel:4px;
}
body{
  background:
    linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),
    var(--fv-bg);
  background-size:32px 32px;
}
header{
  border-bottom:1px solid rgba(196,163,99,.16);
  box-shadow:0 8px 0 rgba(0,0,0,.10);
}
.brand:before{
  content:"F";
  display:inline-grid;place-items:center;
  width:28px;height:28px;margin-right:10px;
  background:var(--fv-gold);color:#10140f;
  font-family:Georgia,serif;font-weight:800;
  clip-path:polygon(0 0,100% 0,100% 75%,75% 75%,75% 100%,0 100%);
}
.hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(13,17,13,.35),var(--fv-bg) 94%),
    radial-gradient(circle at 50% 65%,rgba(117,130,104,.25),transparent 38%),
    #101510;
}

.hero>div{position:relative;z-index:1}
.server-chips{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-bottom:18px}
.server-chips span{
  font:800 .66rem/1 system-ui,sans-serif;
  letter-spacing:.14em;padding:8px 10px;
  border:1px solid #4b5546;background:#141a13;color:#aeb7a7;
  box-shadow:3px 3px 0 #080b08;
}
.server-chips span:last-child{border-color:#78866d;color:#d7dfcf}
.server-address{
  display:flex;align-items:center;justify-content:center;
  width:max-content;max-width:100%;margin:18px auto 0;
  border:1px solid #465040;background:#0b0f0b;
  box-shadow:5px 5px 0 #070907;
}
.server-address code{padding:11px 14px;color:#dfe4d9;font-size:.88rem}
.copy-mini{
  align-self:stretch;border:0;border-left:1px solid #465040;
  background:#1b2319;color:#c4a363;padding:0 13px;
  font-size:.65rem;font-weight:900;letter-spacing:.12em;cursor:pointer;
}
.status-dot{width:8px;height:8px;background:#8da17c;margin-left:13px;box-shadow:0 0 8px rgba(141,161,124,.35)}
.eyebrow{display:flex;align-items:center;gap:10px}
.hero .eyebrow{justify-content:center}
.block-index{
  display:inline-grid;place-items:center;
  min-width:28px;height:24px;padding:0 5px;
  border:1px solid #5b634f;background:#171d15;
  color:#7f8977;font:800 .62rem/1 ui-monospace,monospace;
  box-shadow:3px 3px 0 rgba(0,0,0,.25)
}
section{position:relative}
section:not(.hero):not(.dark):not(.grounded):not(.final):before{
  content:"";position:absolute;left:0;top:0;width:54px;height:4px;background:var(--fv-gold);
}
.dark{border-top:1px solid #20271f;border-bottom:1px solid #20271f}
.btn{
  box-shadow:4px 4px 0 #080a08;
  clip-path:polygon(0 0,calc(100% - 5px) 0,calc(100% - 5px) 5px,100% 5px,100% 100%,5px 100%,5px calc(100% - 5px),0 calc(100% - 5px));
  transition:transform .12s ease,box-shadow .12s ease;
}
.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #080a08}
blockquote{
  background:linear-gradient(90deg,rgba(196,163,99,.06),transparent);
  padding-top:18px;padding-bottom:18px;
}
.chunk-grid{
  position:relative;
  background-color:#111610;
  background-image:
    linear-gradient(rgba(196,163,99,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(196,163,99,.055) 1px,transparent 1px),
    linear-gradient(135deg,rgba(117,130,104,.12),transparent 60%);
  background-size:48px 48px,48px 48px,100% 100%;
}
.chunk-grid:before,.chunk-grid:after{
  content:"";position:absolute;width:48px;height:48px;border:1px solid rgba(196,163,99,.18)
}
.chunk-grid:before{top:47px;left:calc(50% - 96px)}
.chunk-grid:after{bottom:47px;right:calc(50% - 96px)}
.future-grid{gap:14px}
.future-slot{
  position:relative;
  min-height:250px;
  border:1px solid #394236;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
    #101510;
  background-size:24px 24px;
  box-shadow:6px 6px 0 #080a08;
}
.future-slot:after{
  content:"";position:absolute;inset:8px;border:1px dashed rgba(117,130,104,.15);pointer-events:none
}
.undiscovered{
  display:grid;place-items:center;width:44px;height:44px;margin-bottom:16px;
  border:1px solid #4d5848;background:#171e16;color:#6e7868;
  font:400 1.5rem Georgia,serif;box-shadow:4px 4px 0 #090c09
}
.future-slot span{letter-spacing:.06em}
.future-slot small{
  font:700 .62rem/1.4 ui-monospace,monospace;
  letter-spacing:.13em;color:#697263
}
.cost{
  background:
    linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),
    #111610;
  background-size:100% 32px;
  box-shadow:7px 7px 0 #080a08
}
.grounded{border-top:1px solid #333a30;border-bottom:1px solid #333a30}
.footer-mark{display:flex;justify-content:center;margin-bottom:5px}
.fv-cube{
  display:grid;place-items:center;width:42px;height:42px;
  background:#b89755;color:#10130f;
  font:800 1.4rem Georgia,serif;
  box-shadow:6px 6px 0 #111510;
  clip-path:polygon(0 0,100% 0,100% 76%,76% 76%,76% 100%,0 100%)
}
@media(max-width:700px){
  .server-address{width:100%}
  .server-address code{font-size:.75rem;overflow:hidden;text-overflow:ellipsis}
  
}

/* V11 additions */
.launch-hero{
  min-height:82vh;
  display:grid;
  place-items:center;
  text-align:center;
  padding:120px 24px 90px;
  background:
    radial-gradient(circle at 50% 65%,rgba(117,130,104,.2),transparent 38%),
    #0d110d;
}
.hero-inner{width:min(980px,100%);margin:auto}
.launch-hero h1{
  font:400 clamp(4rem,10vw,8.8rem)/.88 Georgia,serif;
  letter-spacing:-.055em;
  margin:.18em 0 .25em;
}
.launch-hero h1 em{color:#c4a363;font-weight:400}
.hero-copy{
  max-width:720px;
  margin:0 auto 28px;
  color:#aeb5a8;
  font-size:clamp(1rem,2vw,1.22rem)
}
.join-panel{
  width:min(650px,100%);
  margin:34px auto 18px;
  padding:15px;
  border:1px solid #4a5544;
  background:#0a0e0a;
  box-shadow:8px 8px 0 #060806;
  text-align:left
}
.join-panel>small{
  display:block;
  margin:0 0 9px 2px;
  font:800 .62rem/1 ui-monospace,monospace;
  letter-spacing:.16em;
  color:#7f8977
}
.join-address{
  display:flex;
  align-items:stretch;
  border:1px solid #5d6955;
  background:#141a13
}
.join-address code{
  flex:1;
  padding:16px 18px;
  font-size:clamp(1rem,3vw,1.35rem);
  font-weight:800;
  color:#f0eadc;
  letter-spacing:.02em;
  overflow:auto
}
.copy-server{
  border:0;
  border-left:1px solid #5d6955;
  background:#252e22;
  color:#d3b36f;
  padding:0 20px;
  font:900 .7rem/1 system-ui,sans-serif;
  letter-spacing:.14em;
  cursor:pointer
}
.copy-server:hover{background:#303a2c}
.join-hint{
  display:block;
  margin:10px 2px 0;
  color:#727b6d;
  font-size:.75rem
}
.hero-discord{display:inline-block;margin-top:8px}
#economy{
  background:linear-gradient(135deg,rgba(196,163,99,.035),transparent 45%)
}
@media(max-width:600px){
  .launch-hero{min-height:auto;padding-top:100px}
  .join-address{display:block}
  .copy-server{
    width:100%;
    height:44px;
    border-left:0;
    border-top:1px solid #5d6955
  }
  .join-address code{display:block;text-align:center}
}

/* V12 reference sections */
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:34px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}
.faq-grid>div{padding:28px;background:#101510}
.faq-grid h3{margin:0 0 10px;font-size:1rem;letter-spacing:.02em}
.faq-grid p{margin:0;color:#9ea699}
#rules,#roles,#faq{scroll-margin-top:80px}
@media(max-width:720px){.faq-grid{grid-template-columns:1fr}}

.cost-strip{margin:30px 0;padding:22px 24px;border:1px solid rgba(196,163,99,.35);background:rgba(196,163,99,.045);display:flex;align-items:center;justify-content:space-between;gap:24px}
.cost-strip div{display:flex;align-items:baseline;gap:14px}.cost-strip small{font-size:.62rem;font-weight:800;letter-spacing:.14em;color:#8f9788}.cost-strip strong{font-size:2rem;color:#d3b36f}.cost-strip>span{font-size:.8rem;color:#899183;text-align:right}.support-note{margin-top:12px;font-size:.78rem;color:#7f8779}
@media(max-width:700px){.cost-strip{display:block}.cost-strip div{margin-bottom:8px}.cost-strip>span{display:block;text-align:left;line-height:1.6}}

/* V15: no decorative generated artwork. Real Foundersvale screenshots can replace empty space later. */
.art,.artwork,.pixel-art,.scene,.landscape-art,.visual-placeholder,.image-placeholder{display:none!important}
.backup-chapter{position:relative}

.cost-strip-simple{justify-content:flex-start}
.cost-strip-simple div{width:100%;justify-content:space-between}

.site-container{width:min(700px,calc(100% - 48px));margin-left:auto;margin-right:auto}

/* V19 targeted fixes */
html{scroll-behavior:smooth}
#vale{scroll-margin-top:90px}
#support{width:auto;max-width:none}
#support > .wrap,
#support > .section-inner,
#support > .site-container{
  box-sizing:border-box;
}

/* V22: intentionally no fake/generated hero artwork */
.hero::before,
.hero:before{
  content:none !important;
  display:none !important;
  background:none !important;
  clip-path:none !important;
}

/* V23: make the server type obvious immediately */
.minecraft-badge{
  width:max-content;
  max-width:100%;
  margin:0 auto 16px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 14px 10px 12px;
  border:1px solid #596553;
  background:#111710;
  box-shadow:5px 5px 0 #070907;
  text-align:left;
}
.minecraft-badge-main{
  display:inline-block;
  padding:7px 9px;
  background:#d6d0c2;
  color:#141814;
  font:900 .78rem/1 system-ui,sans-serif;
  letter-spacing:.12em;
}
.minecraft-badge-sub{
  color:#9fa898;
  font:800 .64rem/1.3 ui-monospace,monospace;
  letter-spacing:.13em;
}
@media(max-width:540px){
  .minecraft-badge{
    gap:9px;
    padding-right:11px;
  }
  .minecraft-badge-main{font-size:.7rem}
  .minecraft-badge-sub{font-size:.58rem}
}

/* V25: single compact hero metadata bar */
.server-meta{
  width:max-content;
  max-width:100%;
  margin:0 auto 30px;
  display:flex;
  align-items:stretch;
  border:1px solid #596553;
  background:#111710;
  box-shadow:5px 5px 0 #070907;
}
.server-meta > span{
  display:flex;
  align-items:center;
  padding:10px 13px;
  font:800 .64rem/1 ui-monospace,monospace;
  letter-spacing:.13em;
  white-space:nowrap;
}
.server-meta-game{
  background:#d6d0c2;
  color:#141814;
  font-family:system-ui,sans-serif!important;
  font-weight:900!important;
  font-size:.76rem!important;
}
.server-meta-type{
  color:#aab2a3;
  border-left:1px solid #596553;
}
.server-meta-access{
  color:#d3b36f;
  border-left:1px solid #596553;
}
.hero-name{
  margin-bottom:22px!important;
}
@media(max-width:600px){
  .server-meta{
    width:min(100%,390px);
  }
  .server-meta > span{
    padding:9px 8px;
    font-size:.54rem;
    letter-spacing:.08em;
  }
  .server-meta-game{
    font-size:.64rem!important;
  }
}
@media(max-width:390px){
  .server-meta{
    display:grid;
    grid-template-columns:auto 1fr;
  }
  .server-meta-access{
    grid-column:1 / -1;
    justify-content:center;
    border-left:0;
    border-top:1px solid #596553;
  }
}
