/* ============================================================
   ARCADIA — shared page styles (member / investor / journey)
   Brand: Arcadian Nouveau · deep forest, beige, brass
   ============================================================ */
@font-face{ font-family:"Arcadia Serif"; src:url("./fonts/NanumMyeongjo-Regular.ttf") format("truetype");
  font-weight:400; font-display:swap; }
@font-face{ font-family:"Arcadia Serif"; src:url("./fonts/NanumMyeongjo-Bold.ttf") format("truetype");
  font-weight:700; font-display:swap; }
@font-face{ font-family:"Arcadia Serif"; src:url("./fonts/NanumMyeongjo-ExtraBold.ttf") format("truetype");
  font-weight:800; font-display:swap; }

:root{
  --forest:#304632; --charcoal:#33373C; --beige:#F6E8DC; --teal:#2D5848;
  --gold:#DCB464; --coral:#E67858; --arcadia-gold:#D4A653; --ink:#0a0c0a;
  --hairline:rgba(212,166,83,.28); --hairline-soft:rgba(212,166,83,.14);
  --ease-out:cubic-bezier(.19,.7,.22,1);
}
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html,body{ background:var(--ink); color:var(--beige); font-family:"Jost",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body{ overflow-x:hidden;
  background-image:radial-gradient(120% 70% at 50% -10%, rgba(48,70,50,.35), transparent 60%); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
::selection{ background:var(--arcadia-gold); color:#1a1710; }

/* grain */
#grain{ position:fixed; inset:-60px; z-index:2; pointer-events:none; opacity:.045; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* ---------- chrome ---------- */
.topbar{ position:fixed; top:0; left:0; right:0; z-index:40; display:flex; align-items:center;
  justify-content:space-between; padding:clamp(1rem,2.4vw,1.5rem) clamp(1.3rem,4vw,3rem);
  background:linear-gradient(180deg, rgba(10,12,10,.85), rgba(10,12,10,0));
  pointer-events:none; }
.topbar > *{ pointer-events:auto; }
.wordmark{ font-family:"Arcadia Serif"; font-weight:800; text-transform:uppercase;
  letter-spacing:.22em; line-height:1; display:inline-block; color:var(--beige);
  padding-bottom:.34em; border-bottom:1px solid rgba(246,232,220,.85); font-size:clamp(1rem,1.8vw,1.3rem); }
.topbar nav{ display:flex; gap:clamp(.9rem,2.4vw,2rem); align-items:center; }
.topbar nav a{ font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:rgba(246,232,220,.8);
  transition:color .3s; }
.topbar nav a:hover{ color:var(--arcadia-gold); }
.topbar .pill{ border:1px solid rgba(246,232,220,.32); padding:.55rem 1.15rem; border-radius:999px;
  color:var(--beige); background:rgba(10,12,10,.25); transition:background .3s,border-color .3s,color .3s; }
.topbar .pill:hover{ background:var(--arcadia-gold); border-color:var(--arcadia-gold); color:#1a1710; }
@media (max-width:820px){ .topbar nav a:not(.pill){ display:none; } }

/* ---------- typography ---------- */
.kicker{ display:flex; align-items:center; gap:.85rem; font-weight:400; letter-spacing:.42em;
  text-transform:uppercase; font-size:clamp(.6rem,1.05vw,.74rem); color:var(--arcadia-gold); }
.kicker::after{ content:""; flex:0 0 clamp(2rem,4vw,3.4rem); height:1px;
  background:linear-gradient(90deg, var(--hairline), transparent); }
.kicker.center{ justify-content:center; }
.kicker.center::before{ content:""; flex:0 0 clamp(2rem,4vw,3.4rem); height:1px;
  background:linear-gradient(270deg, var(--hairline), transparent); }
h1,h2,h3,.serif{ font-family:"Arcadia Serif"; color:#fff; }
h1{ font-weight:700; font-size:clamp(2.1rem,5vw,3.9rem); line-height:1.08; letter-spacing:.004em; }
h2{ font-weight:700; font-size:clamp(1.6rem,3.4vw,2.7rem); line-height:1.12; margin-top:1rem; }
h3{ font-weight:700; font-size:clamp(1.1rem,1.9vw,1.45rem); line-height:1.25; }
.lede{ font-weight:300; font-size:clamp(1.05rem,1.7vw,1.3rem); line-height:1.7; color:rgba(246,232,220,.94); }
p{ font-weight:400; line-height:1.7; color:rgba(246,232,220,.88); }
.goldline{ width:clamp(90px,10vw,140px); height:auto; color:var(--arcadia-gold); margin:1.4rem 0; }

/* ---------- layout ---------- */
section.block{ position:relative; z-index:3; padding:clamp(4rem,9vw,8rem) clamp(1.3rem,6vw,4.5rem); }
.wrap{ max-width:72rem; margin:0 auto; }
.wrap.narrow{ max-width:52rem; }
.grid2{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.6rem,4vw,3.5rem); align-items:center; }
@media (max-width:880px){ .grid2{ grid-template-columns:1fr; } }
.hr{ height:1px; background:linear-gradient(90deg, transparent, var(--hairline), transparent);
  border:0; margin:0 auto; max-width:72rem; }

/* reveal on scroll */
.rv{ opacity:0; transform:translateY(26px); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); }
.rv.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .rv{ opacity:1; transform:none; transition:none; } }

/* ---------- buttons ---------- */
.btn{ display:inline-block; cursor:pointer; border:1px solid var(--hairline); border-radius:2px;
  background:rgba(10,12,10,.35); color:var(--beige); font-family:"Jost"; font-weight:500;
  letter-spacing:.22em; text-transform:uppercase; font-size:.7rem; padding:1rem 2.1rem;
  transition:background .35s,border-color .35s,color .35s,transform .35s; }
.btn:hover{ background:var(--arcadia-gold); border-color:var(--arcadia-gold); color:#1a1710; }
.btn.solid{ background:var(--arcadia-gold); border-color:var(--arcadia-gold); color:#1a1710; }
.btn.solid:hover{ background:var(--gold); border-color:var(--gold); }
.btn.ghost{ background:transparent; }

/* ---------- cards & panels ---------- */
.panel{ background:linear-gradient(135deg, rgba(48,70,50,.30), rgba(20,30,22,.20));
  border:1px solid var(--hairline-soft); border-left:1px solid var(--hairline);
  border-radius:0 20px 20px 0; padding:clamp(1.4rem,2.6vw,2.3rem);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  box-shadow:0 18px 50px -24px rgba(0,0,0,.6); }
figure.slide{ border:1px solid var(--hairline-soft); border-radius:6px; overflow:hidden;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.75); background:#101410; }
figure.slide figcaption{ padding:.7rem 1rem; font-size:.62rem; letter-spacing:.3em; text-transform:uppercase;
  color:rgba(246,232,220,.55); border-top:1px solid var(--hairline-soft); }

/* ---------- forms ---------- */
label{ display:block; font-size:.62rem; letter-spacing:.3em; text-transform:uppercase;
  color:rgba(212,166,83,.9); margin:1.15rem 0 .45rem; }
input[type=text],input[type=email],input[type=tel],textarea,select{
  width:100%; background:rgba(246,232,220,.05); border:1px solid rgba(246,232,220,.18);
  border-radius:2px; color:var(--beige); font-family:"Jost"; font-weight:400; font-size:1rem;
  padding:.85rem 1rem; outline:none; transition:border-color .3s, background .3s; }
input:focus,textarea:focus,select:focus{ border-color:var(--arcadia-gold); background:rgba(246,232,220,.08); }
input.err{ border-color:var(--coral); }
.fieldmsg{ font-size:.72rem; color:var(--coral); margin-top:.4rem; display:none; }
.fieldmsg.show{ display:block; }
select option{ background:#141814; color:var(--beige); }
textarea{ min-height:6.5rem; resize:vertical; }

/* ---------- gate overlay ---------- */
.gate{ position:fixed; inset:0; z-index:60; display:grid; place-items:center; padding:1.2rem;
  background-size:cover; background-position:center; }
.gate::before{ content:""; position:absolute; inset:0; background:rgba(8,10,8,.55);
  backdrop-filter:blur(14px) saturate(1.05); -webkit-backdrop-filter:blur(14px) saturate(1.05); }
.gate .win{ position:relative; width:min(34rem,94vw); max-height:88vh; overflow:auto;
  background:linear-gradient(160deg, rgba(24,32,24,.92), rgba(12,16,12,.94));
  border:1px solid var(--hairline); border-radius:8px; padding:clamp(1.6rem,3.4vw,2.8rem);
  box-shadow:0 60px 120px -40px rgba(0,0,0,.9); text-align:center;
  transition:opacity .5s var(--ease-out), transform .5s var(--ease-out); }
.gate.hide{ opacity:0; pointer-events:none; transition:opacity .8s; }
.gate .eyebrow{ font-size:.62rem; letter-spacing:.42em; text-transform:uppercase; color:var(--arcadia-gold); }
.gate h1{ font-size:clamp(1.4rem,3vw,2rem); margin-top:1rem; line-height:1.3; }
.gate p{ margin-top:1rem; font-weight:300; }
.gate .step{ display:none; }
.gate .step.on{ display:block; animation:gstep .6s var(--ease-out); }
@keyframes gstep{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:none;} }

/* word / archetype clouds */
.cloud{ display:flex; flex-wrap:wrap; gap:.45rem; justify-content:center; margin-top:1.3rem;
  max-height:38vh; overflow:auto; padding:.2rem; }
.cloud button{ all:unset; cursor:pointer; font-family:"Jost"; font-weight:400; font-size:.78rem;
  letter-spacing:.06em; color:rgba(246,232,220,.82); border:1px solid rgba(246,232,220,.16);
  border-radius:999px; padding:.42rem .95rem; transition:all .25s; }
.cloud button:hover{ border-color:var(--hairline); color:#fff; }
.cloud button.sel{ background:var(--arcadia-gold); border-color:var(--arcadia-gold); color:#1a1710; }

/* ---------- counters ---------- */
.counters{ display:flex; gap:clamp(1.6rem,6vw,5rem); justify-content:center; flex-wrap:wrap; }
.counter .num{ font-family:"Arcadia Serif"; font-weight:800; font-size:clamp(2.4rem,6vw,4.4rem); color:#fff; }
.counter .cap{ margin-top:.4rem; font-size:.64rem; letter-spacing:.34em; text-transform:uppercase;
  color:rgba(212,166,83,.9); }

/* ---------- footer ---------- */
footer.site{ position:relative; z-index:3; border-top:1px solid var(--hairline-soft);
  padding:clamp(2.5rem,6vw,4rem) clamp(1.3rem,6vw,4.5rem); text-align:center; }
footer.site .small{ margin-top:1.2rem; font-size:.72rem; line-height:1.8; color:rgba(246,232,220,.5);
  max-width:52rem; margin-left:auto; margin-right:auto; }
footer.site .links{ margin-top:1rem; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase;
  color:rgba(246,232,220,.6); }
footer.site .links a:hover{ color:var(--arcadia-gold); }
