/* Anamofit — shared styles for subpages (board, contact) */
:root{ color-scheme:dark; --nav-h:88px; }
html,body{ margin:0; background:#050505; }
body{ overflow-x:hidden; font-family:'Hanken Grotesk',sans-serif; color:#e5e2e1; isolation:isolate; }
#stars{ position:fixed; inset:0; z-index:0; width:100%; height:100%; pointer-events:none; opacity:1; }
.mono{ font-family:'JetBrains Mono',monospace; }
.head{ font-family:'Space Grotesk',sans-serif; }
.material-symbols-outlined{ font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24; }

.glass{ background:rgba(18,18,24,0.55); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,0.08); }
.gradient-text{ background:linear-gradient(120deg,#00E0FF 0%,#93ccff 42%,#d97bff 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.glow-cyan{ box-shadow:0 0 60px rgba(0,224,255,0.14); }

.reveal{ opacity:0; transform:translateY(30px); transition:opacity 1s cubic-bezier(.16,1,.3,1), transform 1s cubic-bezier(.16,1,.3,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s } .reveal.d2{ transition-delay:.16s } .reveal.d3{ transition-delay:.24s } .reveal.d4{ transition-delay:.32s }

.nav-link.active{ color:#00E0FF; }

.site-nav{ position:sticky; top:0; z-index:60; min-height:var(--nav-h); width:100%; padding:0 clamp(24px,5.6vw,88px); display:flex; align-items:center; justify-content:space-between; background:transparent; transition:min-height .25s ease; }
.site-nav .brand{ font-family:'Space Grotesk',sans-serif; font-size:clamp(1.35rem,1.7vw,1.9rem); font-weight:700; color:#fff; letter-spacing:0; }
.site-nav .nav-menu{ margin-left:auto; display:flex; align-items:center; gap:clamp(1.6rem,3.6vw,4.8rem); font-family:'JetBrains Mono',monospace; font-size:clamp(13px,1.05vw,15px); text-transform:uppercase; letter-spacing:.16em; }
.site-nav a{ color:rgba(229,226,225,.74); transition:color .2s ease, opacity .2s ease; }
.site-nav a:hover,.site-nav a.active{ color:#00E0FF; }
.site-nav.compact{ min-height:72px; }

.page-hero{ position:relative; z-index:1; min-height:calc(60svh - var(--nav-h)); display:flex; align-items:center; padding:clamp(5rem,12vh,9rem) clamp(24px,7vw,120px) clamp(4rem,10vh,8rem); overflow:hidden; border-bottom:1px solid rgba(255,255,255,.05); }
.page-hero:before{ content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 23% 36%, rgba(0,224,255,.12), transparent 30%), radial-gradient(circle at 83% 62%, rgba(217,123,255,.10), transparent 32%); pointer-events:none; }
.page-hero-inner{ width:min(1240px,100%); margin-inline:auto; display:grid; grid-template-columns:minmax(0,1fr); align-items:start; }
.page-kicker{ grid-column:1 / -1; width:100%; display:grid; grid-template-columns:minmax(4rem,7vw) minmax(0,1fr); align-items:end; column-gap:clamp(1.5rem,4vw,4.5rem); padding-bottom:clamp(1.1rem,2vw,1.7rem); border-bottom:1px solid rgba(0,224,255,.48); font-family:'JetBrains Mono',monospace; text-transform:uppercase; }
.page-kicker.no-number{ grid-template-columns:minmax(0,1fr); }
.page-no{ align-self:center; color:#00E0FF; font-size:clamp(1rem,1.35vw,1.45rem); letter-spacing:.22em; font-weight:600; }
.page-name{ font-family:'Space Grotesk',sans-serif; font-size:clamp(5.2rem,11vw,9rem); line-height:.88; letter-spacing:0; text-transform:none; color:#fff; font-weight:700; }
.page-title{ grid-column:1 / -1; margin-top:clamp(2.1rem,5vw,4.8rem); width:100%; max-width:none; font-family:'Space Grotesk',sans-serif; font-size:clamp(1.9rem,3.25vw,3.8rem); line-height:1.08; font-weight:700; color:#fff; }
.page-copy{ grid-column:1 / -1; margin-top:clamp(1.15rem,2vw,1.8rem); width:100%; max-width:none; color:#bec7d3; font-size:clamp(1.05rem,1.35vw,1.24rem); line-height:1.7; align-self:start; }
.post-toggle{ padding:clamp(1.75rem,2.8vw,2.5rem)!important; gap:clamp(1.25rem,2.2vw,2rem)!important; }
.post-toggle h3{ font-size:clamp(1.25rem,2vw,1.75rem)!important; line-height:1.2; }
.post-body p{ font-size:clamp(1rem,1.2vw,1.13rem); line-height:1.7; padding-bottom:2.25rem!important; }
.post-body-inner{ padding:0 clamp(1.5rem,2.8vw,2.5rem) clamp(2rem,3vw,2.75rem); padding-left:clamp(1.5rem,13vw,165px); color:#bec7d3; font-size:clamp(1rem,1.2vw,1.13rem); line-height:1.7; }
.post-body-inner p{ padding:0!important; margin-top:20px; }
.post-media{ margin-top:1.5rem; width:min(100%,980px); overflow:hidden; border-radius:18px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); box-shadow:0 28px 80px rgba(0,0,0,.35); }
.post-media img,.post-media video{ display:block; width:100%; height:auto; max-height:70svh; object-fit:contain; background:#050505; }

.team-section{ position:relative; overflow:hidden; padding:clamp(1.5rem,3vw,2.5rem); }
.team-section:before{ content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 14% 18%, rgba(0,224,255,.11), transparent 32%), radial-gradient(circle at 88% 68%, rgba(217,123,255,.09), transparent 34%); pointer-events:none; }
.team-header{ display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; padding-bottom:1.35rem; border-bottom:1px solid rgba(255,255,255,.08); }
.team-eyebrow{ font-family:'JetBrains Mono',monospace; color:#00E0FF; font-size:46px; letter-spacing:.2em; text-transform:uppercase; }
.team-title{ margin-top:.45rem; font-family:'Space Grotesk',sans-serif; color:#fff; font-size:clamp(1.8rem,3.4vw,3.6rem); line-height:1; font-weight:700; }
.team-source{ font-family:'JetBrains Mono',monospace; color:rgba(190,199,211,.54); font-size:11px; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; }
.team-groups{ display:flex; flex-direction:column; gap:clamp(2rem,4vw,3.5rem); padding-top:clamp(1.75rem,3vw,2.5rem); }
.team-group-head{ display:flex; align-items:center; gap:1rem; margin-bottom:1rem; font-family:'JetBrains Mono',monospace; text-transform:uppercase; letter-spacing:.18em; }
.team-group-name{ color:#fff; font-size:clamp(1rem,1.35vw,1.35rem); font-weight:600; }
.team-group-label{ color:#00E0FF; font-size:12px; }
.team-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,215px)); gap:clamp(1.75rem,2.3vw,2.1rem); }
.team-slot{ min-width:0; display:flex; min-height:0; }
.team-slot.empty{ visibility:hidden; pointer-events:none; }
/* Fixed height (not aspect-ratio) so narrowing the card doesn't shrink it vertically. */
.team-card{ width:min(100%,220px); height:360px; display:grid; grid-template-rows:minmax(0,1fr) auto; overflow:hidden; border-radius:18px; border:1px solid rgba(255,255,255,.1); background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035)); box-shadow:0 22px 70px rgba(0,0,0,.3); }
.team-photo{ position:relative; min-height:0; overflow:hidden; background:rgba(0,224,255,.07); }
.team-photo img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center 28%; filter:saturate(.92) contrast(1.02); }
.team-fallback{ position:absolute; inset:0; display:grid; place-items:center; font-family:'Space Grotesk',sans-serif; font-size:clamp(1.6rem,3vw,3.25rem); color:#00E0FF; background:radial-gradient(circle at 45% 35%, rgba(0,224,255,.18), transparent 48%), rgba(3,10,13,.78); }
.team-info{ min-width:0; padding:clamp(.55rem,1.1vw,1rem); }
.team-name-ko{ color:#fff; font-family:'Space Grotesk',sans-serif; font-size:clamp(.8rem,1.35vw,1.35rem); font-weight:700; line-height:1.15; overflow-wrap:anywhere; }
.team-name-en{ margin-top:clamp(.35rem,.65vw,.8rem); color:#bec7d3; font-family:'JetBrains Mono',monospace; font-size:clamp(8px,.72vw,11px); letter-spacing:.08em; text-transform:uppercase; word-break:break-word; }
.team-role{ margin-top:clamp(.3rem,.55vw,.65rem); color:rgba(0,224,255,.8); font-family:'JetBrains Mono',monospace; font-size:clamp(8px,.68vw,10px); letter-spacing:.12em; text-transform:uppercase; word-break:break-word; }
.team-message{ color:#bec7d3; font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }

@media (max-width:767px){
  :root{ --nav-h:76px; }
  .site-nav{ min-height:var(--nav-h); padding-inline:5vw; }
  .site-nav .brand{ font-size:1.18rem; }
  .site-nav .nav-menu{ display:none; }
  .page-hero{ min-height:calc(76svh - var(--nav-h)); padding:12vh 5vw 10vh; }
  .page-hero-inner{ display:block; width:100%; }
  .page-kicker{ grid-template-columns:auto minmax(0,1fr); column-gap:1rem; padding-bottom:1rem; }
  .page-no{ font-size:13px; }
  .page-name{ font-size:clamp(3.2rem,16vw,5rem); line-height:.94; }
  .page-title{ margin-top:2rem; font-size:clamp(1.55rem,7vw,2.65rem); line-height:1.12; max-width:100%; }
  .page-copy{ margin-top:1.25rem; font-size:1.02rem; max-width:100%; }
  .post-body-inner{ padding-left:5vw; padding-right:5vw; }
  .team-header{ display:block; }
  .team-source{ margin-top:.9rem; white-space:normal; }
  .team-grid{ gap:.55rem; }
  .team-slot{ min-height:0; }
  .team-card{ width:100%; height:auto; aspect-ratio:25/36; }
  .team-info{ padding:clamp(.4rem,2.2vw,.8rem); }
  .team-name-ko{ font-size:clamp(.68rem,3.1vw,.95rem); }
  .team-name-en{ font-size:clamp(7px,2.4vw,9px); }
}

@media (prefers-reduced-motion: reduce){ .reveal{ transition:none; transform:none; opacity:1 } }
