:root {
  --bg:#0b0c10;
  --panel: rgba(31,32,38,.70);
  --text:#FAFAFA;
  --muted:#A1A1AA;
  --accent:#5E6AD2;
  --accent2:#8a5cff;
  --border: rgba(63,63,70,.85);
}

*{margin:0;padding:0;box-sizing:border-box}
html{color-scheme:dark}
body{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  background:
    radial-gradient(1000px 520px at 12% 18%, rgba(94,106,210,.14), transparent 60%),
    radial-gradient(900px 520px at 80% 86%, rgba(138,92,255,.10), transparent 62%),
    linear-gradient(180deg, #0c0d12 0%, #0f1016 30%, #0b0c10 100%);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
}

.scroll-indicator{
  position:fixed;top:0;left:0;height:3px;width:0%;
  background: linear-gradient(90deg, var(--accent), var(--accent2));
  z-index:9999;transition:width .08s linear;
}

.katana-cut{
  position:fixed;inset:-20vh -20vw;pointer-events:none;z-index:9998;opacity:0;
}
.katana-cut::before{
  content:"";position:absolute;left:-40%;top:40%;width:180%;height:6px;transform:rotate(-18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.22), rgba(94,106,210,.70), rgba(255,255,255,.14), transparent);
  filter: drop-shadow(0 0 18px rgba(94,106,210,.45));
}
.katana-cut.is-active{opacity:1;animation: katanaSwipe .55s ease-out forwards;}
@keyframes katanaSwipe{0%{transform:translateY(-12px);opacity:0}18%{opacity:1}100%{transform:translateY(26px);opacity:0}}

a{color:inherit}
.secondary-link{
  color:var(--muted);text-decoration:none;font-weight:750;
  border-bottom:1px solid rgba(161,161,170,.35);padding-bottom:2px;
}
.secondary-link:hover{color:var(--text);border-color:rgba(250,250,250,.55)}

.hero{
  min-height:100svh;display:flex;align-items:center;justify-content:space-between;gap:56px;
  position:relative;overflow:hidden;padding:0 8%;
}
.hero::after{
  content:"";position:absolute;inset:auto -160px -160px auto;width:720px;height:720px;
  background: radial-gradient(closest-side, rgba(94,106,210,.16), transparent 70%);
  pointer-events:none;
}
.hero-content{max-width:680px;z-index:2;animation: slideInLeft .95s ease-out;}
.hero-logo{font-size:14px;font-weight:900;letter-spacing:2.6px;color:var(--accent);margin-bottom:22px;text-transform:uppercase;}
.hero h1{font-size:clamp(42px,5.2vw,68px);font-weight:900;line-height:1.04;margin-bottom:18px;letter-spacing:-0.025em;}
.hero-subtitle{font-size:clamp(18px,2vw,24px);color:var(--muted);margin-bottom:34px;font-weight:600;max-width:42ch;}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.cta-button{
  display:inline-flex;align-items:center;justify-content:center;padding:16px 34px;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent2) 100%);
  color:#fff;text-decoration:none;border-radius:12px;font-weight:900;font-size:16px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow: 0 18px 44px rgba(0,0,0,.38);
  transition: transform .22s ease, filter .22s ease, box-shadow .22s ease;
}
.cta-button:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 24px 56px rgba(0,0,0,.50), 0 0 34px rgba(94,106,210,.18);}
.cta-button:active{transform:translateY(0)}

.hero-tagline{margin-top:18px;color:rgba(161,161,170,.92);font-weight:750;display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.hero-tagline .chip{
  border:1px solid var(--border);background:rgba(31,32,38,.58);border-radius:999px;padding:8px 12px;
  backdrop-filter: blur(8px);
}
.hero-tagline .chip strong{color:var(--text)}

.ninja-visual{position:absolute;right:-54px;top:50%;width:560px;height:560px;transform:translateY(-50%);z-index:1;opacity:1;}
.ninja-img{
  width:100%;height:100%;object-fit:cover;border-radius:28px;border:1px solid var(--border);
  filter: drop-shadow(0 0 44px rgba(94,106,210,.34));
}
body:not(.is-awake) .ninja-img{opacity:0;transform:scale(1.02);filter:blur(14px) grayscale(.2) contrast(.95);}
body.is-awake .ninja-img{opacity:1;transform:scale(1);filter:blur(0) grayscale(0) contrast(1.02) drop-shadow(0 0 44px rgba(94,106,210,.34));transition: opacity .85s ease, transform .85s ease, filter .85s ease;}

.stats-bar{background:var(--panel);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:26px 8%;backdrop-filter: blur(10px);}
.stats-inner{display:flex;justify-content:center;gap:64px;flex-wrap:wrap;}
.stat-item{display:flex;align-items:center;gap:14px;}
.stat-text{font-size:20px;font-weight:900;letter-spacing:-0.01em;}
.stat-sub{font-size:18px;font-weight:750;color:rgba(161,161,170,.95);margin-left:6px;}
.stat-icon{
  width:26px;height:26px;display:inline-block;
  background: linear-gradient(135deg, rgba(94,106,210,.95), rgba(138,92,255,.85));
  -webkit-mask: var(--icon) center/contain no-repeat;
  mask: var(--icon) center/contain no-repeat;
  filter: drop-shadow(0 0 14px rgba(94,106,210,.22));
}
.icon-film{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 6h16v12H4zM6 8h2v2H6zm0 4h2v2H6zm0 4h2v2H6zm10-8h2v2h-2zm0 4h2v2h-2zm0 4h2v2h-2z'/%3E%3C/svg%3E")}
.icon-globe{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z'/%3E%3Cpath fill='black' d='M4 12h16M12 4c2.5 2.6 2.5 12.4 0 16M12 4c-2.5 2.6-2.5 12.4 0 16'/%3E%3C/svg%3E")}
.icon-bolt{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13 2 3 14h7l-1 8 12-14h-7z'/%3E%3C/svg%3E")}

.section-label{font-size:14px;font-weight:900;letter-spacing:2.6px;color:var(--accent);margin-bottom:16px;text-transform:uppercase;}
.techniques{padding:110px 8%;text-align:center;position:relative;}
.techniques h2{font-size:clamp(34px,3.6vw,52px);font-weight:950;margin-bottom:76px;letter-spacing:-0.03em;}
.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:1200px;margin:0 auto;}
.card{
  background: linear-gradient(180deg, rgba(39,39,42,.85) 0%, rgba(31,32,38,.78) 100%);
  border:1px solid var(--border);border-radius:16px;padding:48px 34px;position:relative;overflow:hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.card:hover{border-color:rgba(94,106,210,.75);transform:translateY(-5px);box-shadow:0 28px 60px rgba(0,0,0,.50);}
.card-icon{
  width:38px;height:38px;display:inline-block;margin-bottom:18px;
  background: linear-gradient(135deg, rgba(94,106,210,.95), rgba(138,92,255,.85));
  -webkit-mask: var(--cardicon) center/contain no-repeat;
  mask: var(--cardicon) center/contain no-repeat;
  filter: drop-shadow(0 0 18px rgba(94,106,210,.22));
}
.card-icon.katana{--cardicon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21 3 10 14l-1-1L20 2zM9 15l-3 3-2-2 3-3z'/%3E%3C/svg%3E")}
.card-icon.bolt{--cardicon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13 2 3 14h7l-1 8 12-14h-7z'/%3E%3C/svg%3E")}
.card-icon.target{--cardicon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z'/%3E%3Cpath fill='black' d='M12 7a5 5 0 1 0 5 5 5 5 0 0 0-5-5zm0 8a3 3 0 1 1 3-3 3 3 0 0 1-3 3z'/%3E%3C/svg%3E")}
.card h3{font-size:26px;font-weight:950;margin-bottom:12px;letter-spacing:-0.02em;}
.card p{color:rgba(161,161,170,.95);font-size:18px;line-height:1.65;}

.video-section{padding:110px 0 120px;background:linear-gradient(180deg, rgba(12,13,18,0) 0%, rgba(26,26,46,.68) 40%, rgba(12,13,18,0) 100%);text-align:center;}
.video-section h2{font-size:36px;margin-bottom:42px;font-weight:950;letter-spacing:-0.02em;padding:0 8%;}
.video-wrap{width:100%;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:rgba(12,13,18,.55);}
.video-container{width:min(1220px, 100% - 16%);margin:0 auto;padding:28px 0;}
.video-shell{border-radius:18px;overflow:hidden;border:1px solid var(--border);box-shadow:0 34px 76px rgba(0,0,0,.60);background:rgba(31,32,38,.75);transform:translateY(14px);opacity:0;}
.video-shell.is-revealed{transform:translateY(0);opacity:1;transition: transform .7s ease, opacity .7s ease;}
.video{width:100%;display:block;aspect-ratio:16/9;background:#0b0c10;}
.video-caption{padding:16px 18px 18px;text-align:left;color:rgba(161,161,170,.95);border-top:1px solid var(--border);}
.video-caption strong{color:var(--text);font-weight:950;}
.video-caption .line{margin-top:6px;font-weight:850;color:rgba(250,250,250,.92);}

.cta-section{padding:110px 8%;text-align:center;background:linear-gradient(135deg, rgba(94,106,210,1) 0%, rgba(138,92,255,.95) 100%);}
.cta-section h2{font-size:clamp(34px,3.8vw,52px);margin-bottom:26px;font-weight:975;letter-spacing:-0.03em;}

footer{padding:54px 8% 42px;border-top:1px solid var(--border);text-align:center;}
.social-label{font-size:14px;color:rgba(161,161,170,.95);margin-bottom:18px;letter-spacing:.02em;}
.social-links{display:flex;justify-content:center;gap:22px;margin-bottom:34px;flex-wrap:wrap;}
.social-link{color:rgba(161,161,170,.95);text-decoration:none;font-size:16px;font-weight:800;}
.social-link:hover{color:rgba(94,106,210,.95);}
.copyright{color:rgba(161,161,170,.9);font-size:14px;}

@keyframes slideInLeft{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}

@media (max-width:1024px){.ninja-visual{width:440px;height:440px;right:-34px}.stat-text{font-size:18px}.stat-sub{font-size:16px}}
@media (max-width:900px){
  .hero{flex-direction:column;justify-content:center;text-align:center;padding:78px 6% 56px;gap:22px}
  .hero-subtitle{margin-left:auto;margin-right:auto}
  .hero-ctas{justify-content:center}
  .hero-tagline{justify-content:center}
  .ninja-visual{position:relative;right:auto;top:auto;transform:none;width:320px;height:320px;margin:0 auto 22px}
  .stats-bar{padding:22px 6%}
  .stats-inner{gap:30px}
  .video-container{width:min(900px, 100% - 12%)}
}
@media (max-width:860px){.cards-grid{grid-template-columns:1fr}.card p{font-size:17px}}

/* HERO CAROUSEL */
.hero-carousel{
  position:relative;
  width:100%;
  height:100%;
  border-radius:28px;
  overflow:hidden;
  border:1px solid var(--border);
  background: rgba(12,13,18,.55);
}
.hero-slide,
.hero-fallback{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
}
.hero-slide{
  opacity:0;
  transform:scale(1.03);
  transition: opacity .9s ease, transform 1.2s ease;
  filter: drop-shadow(0 0 44px rgba(94,106,210,.34));
}
.hero-slide.is-active{
  opacity:1;
  transform:scale(1);
}
.hero-fallback{
  opacity:0;
}
.hero-carousel.is-fallback .hero-slide{ opacity:0 !important; }
.hero-carousel.is-fallback .hero-fallback{ opacity:1; }

body:not(.is-awake) .hero-slide,
body:not(.is-awake) .hero-fallback{
  opacity:0;
  transform:scale(1.02);
  filter:blur(14px) grayscale(.2) contrast(.95);
}
body.is-awake .hero-slide,
body.is-awake .hero-fallback{
  filter:blur(0) grayscale(0) contrast(1.02) drop-shadow(0 0 44px rgba(94,106,210,.34));
  transition: opacity .85s ease, transform .85s ease, filter .85s ease;
}

/* PATHS */
.split-section{ padding:110px 8%; text-align:center; }
.split-title{ font-size:clamp(34px,3.6vw,52px); font-weight:975; letter-spacing:-0.03em; margin-bottom:48px; }
.path-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.path-card{
  text-decoration:none;
  background: linear-gradient(180deg, rgba(39,39,42,.82) 0%, rgba(31,32,38,.76) 100%);
  border:1px solid var(--border);
  border-radius:18px;
  padding:28px;
  text-align:left;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.path-card:hover{ transform:translateY(-4px); border-color:rgba(94,106,210,.75); box-shadow:0 28px 60px rgba(0,0,0,.45); }
.path-kicker{ color:rgba(161,161,170,.92); font-weight:850; letter-spacing:.02em; font-size:14px; text-transform:uppercase; }
.path-name{ margin-top:10px; font-weight:975; font-size:22px; letter-spacing:-0.02em; }
.path-desc{ margin-top:10px; color:rgba(161,161,170,.96); font-weight:650; line-height:1.65; }
.path-cta{ margin-top:16px; font-weight:950; color:rgba(250,250,250,.92); }

/* DETAILS */
.details-section{ padding:0 8% 110px; }
.details-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.15fr .85fr; gap:22px; }
.details-block{
  background: linear-gradient(180deg, rgba(39,39,42,.80) 0%, rgba(31,32,38,.72) 100%);
  border:1px solid var(--border);
  border-radius:18px;
  padding:34px;
  text-align:left;
}
.details-block h3{ font-size:28px; font-weight:975; letter-spacing:-0.02em; margin-bottom:12px; }
.details-block p{ color:rgba(161,161,170,.96); font-weight:650; font-size:18px; line-height:1.7; margin-top:10px; }
.mini-list{ margin-top:14px; display:flex; flex-direction:column; gap:10px; }
.mini-row{ display:flex; align-items:flex-start; gap:10px; color:rgba(161,161,170,.96); font-weight:750; }
.dot{ width:8px; height:8px; border-radius:999px; margin-top:8px; background: linear-gradient(135deg, rgba(94,106,210,.95), rgba(138,92,255,.85)); box-shadow:0 0 16px rgba(94,106,210,.25); }

/* FAQ */
.faq-section{ padding:0 8% 120px; text-align:center; }
.faq-section h2{ font-size:clamp(30px,3.1vw,44px); font-weight:975; letter-spacing:-0.03em; margin-bottom:26px; }
.faq{ max-width:960px; margin:0 auto; text-align:left; display:flex; flex-direction:column; gap:12px; }
details{
  border:1px solid var(--border);
  border-radius:16px;
  background: rgba(31,32,38,.62);
  padding:14px 18px;
}
summary{
  cursor:pointer;
  list-style:none;
  font-weight:950;
  font-size:18px;
  letter-spacing:-0.01em;
}
summary::-webkit-details-marker{ display:none; }
.faq-body{
  margin-top:12px;
  color:rgba(161,161,170,.96);
  font-weight:650;
  font-size:17px;
  line-height:1.7;
}
details[open]{ border-color:rgba(94,106,210,.70); box-shadow:0 18px 40px rgba(0,0,0,.35); }

@media (max-width: 980px){
  .path-grid{ grid-template-columns:1fr; }
  .details-grid{ grid-template-columns:1fr; }
}

/* TYPE SYSTEM - unify fonts */
body{ font-size: 17px; }
h1,h2,h3{ font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; }
.section-label{ font-weight: 900; }
.big-title{ font-size: clamp(34px, 3.8vw, 54px); font-weight: 975; letter-spacing: -0.03em; margin-bottom: 30px; }
p{ font-weight: 600; }

/* TOPBAR */
.topbar{
  position: sticky;
  top: 0;
  z-index: 9997;
  background: rgba(12,13,18,.62);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(12px);
}
.topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding: 14px 8%;
}
.brand{
  display:flex; align-items:center; gap:10px;
  text-decoration:none;
}
.brand-mark{
  width:28px; height:28px; border-radius:10px;
  background: radial-gradient(12px 12px at 30% 30%, rgba(255,255,255,.18), transparent 60%),
              linear-gradient(135deg, rgba(94,106,210,1), rgba(138,92,255,.95));
  box-shadow: 0 0 22px rgba(94,106,210,.18);
  position:relative;
}
.brand-mark::after{
  content:"";
  position:absolute; inset:7px 6px 7px 6px;
  border-radius:8px;
  background: rgba(11,12,16,.55);
  border: 1px solid rgba(255,255,255,.08);
}
.brand-text{
  font-weight: 950;
  letter-spacing: 1.2px;
  font-size: 13px;
  color: rgba(250,250,250,.92);
}

.nav{
  display:flex;
  align-items:center;
  gap:14px;
  position:relative;
}
.nav-link{
  text-decoration:none;
  color: rgba(161,161,170,.92);
  font-weight: 850;
  font-size: 14px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: transparent;
}
.nav-link:hover{
  color: rgba(250,250,250,.92);
  border-color: rgba(94,106,210,.28);
  background: rgba(31,32,38,.38);
}
.nav-link.is-active{
  color: rgba(250,250,250,.92);
  border-color: rgba(94,106,210,.55);
  background: rgba(31,32,38,.52);
  box-shadow: 0 0 20px rgba(94,106,210,.12);
}
.nav-more{ cursor:pointer; }
.nav-dropdown{
  position:absolute;
  top: 48px;
  right: 0;
  min-width: 220px;
  display:none;
  background: rgba(18,19,26,.92);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 10px;
  box-shadow: 0 28px 64px rgba(0,0,0,.60);
}
.nav-dropdown a{
  display:block;
  padding: 10px 12px;
  border-radius: 12px;
  text-decoration:none;
  color: rgba(161,161,170,.95);
  font-weight: 850;
  font-size: 14px;
}
.nav-dropdown a:hover{
  color: rgba(250,250,250,.92);
  background: rgba(31,32,38,.55);
}
.nav-dropdown.is-open{ display:block; }

.topbar-cta{
  display:flex;
  align-items:center;
  gap:10px;
}
.cta-mini{
  text-decoration:none;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 950;
  font-size: 14px;
  background: rgba(31,32,38,.55);
  border: 1px solid rgba(94,106,210,.40);
  color: rgba(250,250,250,.92);
}
.cta-mini:hover{
  background: rgba(31,32,38,.75);
  border-color: rgba(94,106,210,.65);
  box-shadow: 0 0 24px rgba(94,106,210,.14);
}

.burger{
  display:none;
  width:42px; height:42px;
  border-radius: 12px;
  border: 1px solid rgba(63,63,70,.85);
  background: rgba(31,32,38,.45);
  cursor:pointer;
}
.burger span{
  display:block;
  height:2px;
  background: rgba(250,250,250,.88);
  margin: 6px 10px;
  border-radius: 2px;
}
.mobile-drawer{
  display:none;
  padding: 10px 8% 18px;
  border-top: 1px solid rgba(63,63,70,.75);
  background: rgba(12,13,18,.72);
}
.mobile-drawer a{
  display:block;
  padding: 12px 0;
  color: rgba(161,161,170,.95);
  text-decoration:none;
  font-weight: 900;
  letter-spacing: -.01em;
}
.mobile-drawer a:hover{ color: rgba(250,250,250,.92); }
.drawer-cta{
  margin-top: 10px;
  padding: 14px 16px !important;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(94,106,210,1), rgba(138,92,255,.95));
  color:#fff !important;
}

@media (max-width: 980px){
  .nav{ display:none; }
  .burger{ display:block; }
  .mobile-drawer.is-open{ display:block; }
}

/* NINJA + MINING MOTIFS (subtle) */
.hero::before{
  content:"";
  position:absolute;
  inset:-30px -30px -30px -30px;
  background:
    radial-gradient(600px 260px at 18% 22%, rgba(94,106,210,.14), transparent 60%),
    linear-gradient(135deg, rgba(255,255,255,.03) 0%, transparent 35%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.02) 0px, rgba(255,255,255,.02) 1px, transparent 1px, transparent 52px);
  opacity:.55;
  pointer-events:none;
  mask: radial-gradient(ellipse at 20% 25%, black 0%, transparent 70%);
}

/* ABOUT / AIR / DEVFEE / LIBRARY / LEGAL */
.about-section{ padding:110px 8% 80px; text-align:center; }
.about-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.about-card{
  background: linear-gradient(180deg, rgba(39,39,42,.82) 0%, rgba(31,32,38,.74) 100%);
  border:1px solid var(--border);
  border-radius:18px;
  padding:34px;
  text-align:left;
}
.about-card h3{ font-size:28px; font-weight:975; letter-spacing:-0.02em; margin-bottom:10px; }
.about-card p{ color: rgba(161,161,170,.96); font-weight:650; font-size:18px; line-height:1.7; margin-top:10px; }
.about-stats{ max-width:1200px; margin:22px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.about-stat{
  border:1px solid rgba(63,63,70,.75);
  background: rgba(31,32,38,.45);
  border-radius:16px;
  padding:18px 16px;
  display:flex; align-items:baseline; justify-content:space-between;
}
.about-stat .k{ font-weight:950; color: rgba(250,250,250,.92); }
.about-stat .v{ font-weight:850; color: rgba(161,161,170,.95); }

.air-section{ padding:0 8% 110px; text-align:center; }
.air-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.air-panel{
  background: rgba(31,32,38,.62);
  border:1px solid rgba(63,63,70,.85);
  border-radius:18px;
  padding:30px;
  text-align:left;
}
.air-panel h3{ font-size:24px; font-weight:975; letter-spacing:-0.02em; }
.air-panel p{ color:rgba(161,161,170,.96); font-weight:650; font-size:18px; line-height:1.7; margin-top:10px; }
.air-highlight{
  grid-column: 1 / -1;
  display:flex; align-items:center; gap:14px;
  border-color: rgba(94,106,210,.55);
  background: linear-gradient(135deg, rgba(94,106,210,.18), rgba(31,32,38,.58));
}
.air-icon{
  width:46px; height:46px; border-radius:16px;
  background: radial-gradient(18px 18px at 30% 30%, rgba(255,255,255,.16), transparent 60%),
              linear-gradient(135deg, rgba(94,106,210,1), rgba(138,92,255,.95));
  box-shadow: 0 0 28px rgba(94,106,210,.16);
}
.air-kicker{ font-weight:950; color: rgba(250,250,250,.92); letter-spacing:.02em; }
.air-quote{ font-weight:950; font-size:18px; color: rgba(250,250,250,.92); margin-top:2px; }

.devfee-section{ padding:0 8% 110px; text-align:center; }
.devfee-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.devfee-card{
  background: rgba(31,32,38,.62);
  border:1px solid rgba(63,63,70,.85);
  border-radius:18px;
  padding:30px;
  text-align:left;
}
.devfee-card h3{ font-size:24px; font-weight:975; letter-spacing:-0.02em; }
.devfee-card p{ color:rgba(161,161,170,.96); font-weight:650; font-size:18px; line-height:1.7; margin-top:10px; }
.devfee-card .note{ background: rgba(12,13,18,.45); border: 1px solid rgba(63,63,70,.75); border-radius: 14px; padding: 14px; }

.library-section{ padding:0 8% 110px; text-align:center; }
.library-toolbar{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin: 18px 0 26px; }
.pill{
  border:1px solid rgba(63,63,70,.85);
  background: rgba(31,32,38,.45);
  color: rgba(161,161,170,.95);
  font-weight:950;
  padding:10px 14px;
  border-radius:999px;
  cursor:pointer;
}
.pill.is-active{ color: rgba(250,250,250,.92); border-color: rgba(94,106,210,.60); box-shadow: 0 0 18px rgba(94,106,210,.10); }
.library-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; }
.model-card{
  background: rgba(31,32,38,.62);
  border:1px solid rgba(63,63,70,.85);
  border-radius:18px;
  overflow:hidden;
  text-align:left;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.model-card:hover{ transform: translateY(-4px); border-color: rgba(94,106,210,.70); box-shadow: 0 28px 60px rgba(0,0,0,.45); }
.model-hero{
  height: 128px;
  background:
    radial-gradient(220px 120px at 20% 30%, rgba(94,106,210,.20), transparent 65%),
    radial-gradient(260px 140px at 85% 75%, rgba(138,92,255,.16), transparent 68%),
    linear-gradient(180deg, rgba(12,13,18,.40), rgba(12,13,18,.75));
  position:relative;
}
.model-hero::after{
  content:"";
  position:absolute; inset:0;
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.02) 0px, rgba(255,255,255,.02) 1px, transparent 1px, transparent 38px);
  opacity:.45;
}
.model-badge{
  position:absolute; left:14px; top:14px;
  font-weight:975;
  letter-spacing:-0.02em;
  font-size: 38px;
  color: rgba(250,250,250,.92);
  text-shadow: 0 12px 30px rgba(0,0,0,.55);
}
.model-chip{
  position:absolute; left:14px; bottom:14px;
  padding: 8px 10px;
  border-radius: 999px;
  border:1px solid rgba(63,63,70,.85);
  background: rgba(31,32,38,.55);
  font-weight:950;
  color: rgba(250,250,250,.90);
  z-index:1;
}
.model-body{ padding: 14px 14px 16px; }
.model-title{ font-weight:975; font-size:18px; letter-spacing:-0.01em; }
.model-sub{ color: rgba(161,161,170,.95); font-weight:750; margin-top:4px; }
.model-row{ display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.tag{
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(94,106,210,.35);
  background: rgba(94,106,210,.10);
  font-weight:950;
  color: rgba(250,250,250,.90);
  font-size: 12px;
}
.tag.ghost{
  border-color: rgba(63,63,70,.85);
  background: rgba(31,32,38,.38);
  color: rgba(161,161,170,.95);
}
.model-cta{
  display:inline-block;
  margin-top:12px;
  font-weight:975;
  text-decoration:none;
  color: rgba(250,250,250,.92);
}
.library-note{ max-width:900px; margin: 16px auto 0; color: rgba(161,161,170,.95); font-weight:650; }

.legal-section{ padding:0 8% 110px; text-align:center; }
.legal-section h2{ margin-bottom: 18px; }
.legal-grid{ max-width:960px; margin:0 auto; text-align:left; display:flex; flex-direction:column; gap:12px; }
.legal-body{ margin-top:12px; color: rgba(161,161,170,.96); font-weight:650; line-height:1.7; }
.legal-small{ margin-top:10px; font-size: 14px; color: rgba(161,161,170,.92); border-top: 1px solid rgba(63,63,70,.75); padding-top: 10px; }

@media (max-width: 980px){
  .about-grid, .air-grid, .devfee-grid{ grid-template-columns: 1fr; }
  .about-stats{ grid-template-columns: 1fr; }
  .library-grid{ grid-template-columns: 1fr; }
}
@media (min-width: 981px) and (max-width: 1200px){
  .library-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* JAPANESE PATTERN OVERLAY (subtle seigaiha-like arcs) */
body::after{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  opacity:.08;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='white' stroke-opacity='.35' stroke-width='2'%3E%3Cpath d='M0 120c40 0 40-80 80-80s40 80 80 80 40-80 80-80'/%3E%3Cpath d='M0 200c40 0 40-80 80-80s40 80 80 80 40-80 80-80'/%3E%3Cpath d='M0 40c40 0 40-80 80-80s40 80 80 80 40-80 80-80'/%3E%3C/g%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}

/* Chips with Kanji */
.chip-kanji{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.chip-kanji .kanji{
  width:28px;height:28px;
  display:grid;place-items:center;
  border-radius:10px;
  font-weight:950;
  color:rgba(250,250,250,.92);
  background:linear-gradient(135deg, rgba(94,106,210,.45), rgba(138,92,255,.35));
  border:1px solid rgba(94,106,210,.35);
  box-shadow:0 0 18px rgba(94,106,210,.10);
}

/* Legal subtle */
.legal-section.is-subtle{ opacity:.62; }
.legal-section.is-subtle summary{ font-size:15px; }
.legal-section.is-subtle .legal-body{ font-size:14px; }

/* Dojo */
.dojo-section{ padding:0 8% 110px; text-align:center; }
.dojo-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; }
.dojo-card{ background:rgba(31,32,38,.62); border:1px solid rgba(63,63,70,.85); border-radius:18px; padding:30px; text-align:left; }
.dojo-card h3{ font-size:22px; font-weight:975; letter-spacing:-0.02em; }
.dojo-card p{ margin-top:10px; color:rgba(161,161,170,.96); font-weight:650; font-size:18px; line-height:1.7; }
@media (max-width:980px){ .dojo-grid{ grid-template-columns:1fr; } }

/* LEGAL: keep it unobtrusive */
.legal-section{ opacity:.78; }
.legal-section .section-label{ font-size:12px; letter-spacing:2.4px; }
.legal-section h2{ font-size:clamp(22px,2.2vw,30px); margin-bottom:12px; }
.legal-grid details{ background: rgba(18,19,26,.52); }
.legal-grid summary{ font-size:15px; }
.legal-body{ font-size:14px; }

/* Japanese wave pattern + ink glow */
:root{ --ink: rgba(0,0,0,.55); }
.pattern-layer{ position:absolute; inset:0; pointer-events:none; opacity:.22; }
.dojo-section::before,
.katas-section::before,
.library-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='80' viewBox='0 0 160 80'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.25' stroke-width='1'%3E%3Cpath d='M0 40c20-20 40-20 60 0s40 20 60 0 40-20 60 0'/%3E%3Cpath d='M0 80c20-20 40-20 60 0s40 20 60 0 40-20 60 0'/%3E%3Cpath d='M0 0c20-20 40-20 60 0s40 20 60 0 40-20 60 0'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 220px 110px;
  mix-blend-mode: overlay;
}
.dojo-section,
.katas-section{ position:relative; }

/* Reveal */
[data-reveal]{
  opacity:0;
  transform: translateY(18px);
  filter: blur(6px);
  transition: opacity .8s ease, transform .8s ease, filter .8s ease;
}
[data-reveal].is-in{ opacity:1; transform: translateY(0); filter: blur(0); }

/* DOJO styles */
.dojo-section{ padding:0 8% 110px; text-align:center; }
.dojo-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.dojo-panel{ background: rgba(31,32,38,.62); border:1px solid rgba(63,63,70,.85); border-radius:18px; padding:32px; text-align:left; }
.dojo-panel h3{ font-size:26px; font-weight:975; letter-spacing:-0.02em; }
.dojo-panel p{ color:rgba(161,161,170,.96); font-weight:650; font-size:18px; line-height:1.7; margin-top:10px; }
.dojo-kana{ font-weight:975; font-size:44px; letter-spacing:-0.02em; color: rgba(250,250,250,.88); opacity:.9; }
.dojo-wide{ grid-column:1/-1; border-color: rgba(94,106,210,.55); background: linear-gradient(135deg, rgba(94,106,210,.12), rgba(31,32,38,.62)); }
.dojo-badge{ display:inline-block; font-weight:950; font-size:12px; letter-spacing:2.2px; text-transform:uppercase; color: rgba(250,250,250,.85); border:1px solid rgba(94,106,210,.45); border-radius:999px; padding:8px 12px; margin-bottom:14px; }
.dojo-wide-inner{ display:grid; grid-template-columns:1.2fr .8fr; gap:18px; }
.dojo-mini{ border:1px solid rgba(63,63,70,.75); border-radius:16px; padding:14px; background: rgba(12,13,18,.32); }
.dojo-mini-row{ display:flex; align-items:center; gap:10px; padding:8px 0; color:rgba(161,161,170,.96); font-weight:850; }
.slash{ width:10px; height:2px; border-radius:2px; background: linear-gradient(135deg, rgba(94,106,210,1), rgba(138,92,255,.95)); box-shadow:0 0 18px rgba(94,106,210,.12); }

/* KATAS */
.katas-section{ padding:0 8% 110px; text-align:center; }
.katas-section h2{ font-size:clamp(30px,3.1vw,44px); font-weight:975; letter-spacing:-0.03em; margin-bottom:26px; }
.katas-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; }
.kata{ background: rgba(31,32,38,.62); border:1px solid rgba(63,63,70,.85); border-radius:18px; padding:26px; text-align:left; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.kata:hover{ transform: translateY(-4px); border-color: rgba(94,106,210,.70); box-shadow:0 28px 60px rgba(0,0,0,.45); }
.kata-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.kata-icon{ font-weight:975; font-size:12px; letter-spacing:2.2px; text-transform:uppercase; color: rgba(250,250,250,.85); border:1px solid rgba(94,106,210,.45); border-radius:999px; padding:8px 12px; }
.kata-title{ font-weight:975; font-size:20px; letter-spacing:-0.01em; }
.kata p{ margin-top:12px; color:rgba(161,161,170,.96); font-weight:650; font-size:17px; line-height:1.7; }

@media (max-width: 980px){
  .dojo-grid{ grid-template-columns:1fr; }
  .dojo-wide-inner{ grid-template-columns:1fr; }
  .katas-grid{ grid-template-columns:1fr; }
}


/* JAPANESE MOTIFS */

:root{ --sumi: rgba(0,0,0,.55); }

/* subtle seigaiha-like wave pattern using CSS gradients */
.wave-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 0 100%, rgba(255,255,255,.04) 0 2px, transparent 3px 100%),
    radial-gradient(circle at 0 100%, rgba(255,255,255,.03) 0 10px, transparent 11px 100%),
    radial-gradient(circle at 0 100%, rgba(255,255,255,.02) 0 18px, transparent 19px 100%),
    radial-gradient(circle at 0 100%, rgba(255,255,255,.015) 0 26px, transparent 27px 100%);
  opacity:.55;
  pointer-events:none;
  mix-blend-mode: screen;
  transform: translateZ(0);
}

/* DOJO */
.dojo-section{ padding: 0 8% 110px; text-align:center; position:relative; }
.dojo-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.dojo-card{ background: linear-gradient(180deg, rgba(39,39,42,.82) 0%, rgba(31,32,38,.74) 100%);
  border:1px solid var(--border);
  border-radius:18px;
  padding:34px;
  text-align:left;
  position:relative;
  overflow:hidden;
}
.dojo-card::after{
  content:"";
  position:absolute; inset:-1px;
  background: linear-gradient(135deg, rgba(94,106,210,.18), transparent 45%, rgba(138,92,255,.10));
  opacity:.55;
  pointer-events:none;
}
.dojo-card h3{ font-size:28px; font-weight:975; letter-spacing:-0.02em; margin-bottom:10px; }
.dojo-card p{ color: rgba(161,161,170,.96); font-weight:650; font-size:18px; line-height:1.7; margin-top:10px; position:relative; }

.sumi-strip{ max-width:1200px; margin:22px auto 0; display:flex; align-items:center; justify-content:center; gap:14px; opacity:.9; }
.sumi-strip .kanji{ font-weight:975; font-size:26px; letter-spacing:.02em; color: rgba(250,250,250,.90); }
.sumi-strip .stroke{ height:1px; width:120px; background: linear-gradient(90deg, transparent, rgba(94,106,210,.55), transparent); }

/* HARDWARE */
.hardware-section{ padding: 0 8% 110px; text-align:center; }
.hardware-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.hardware-block{ background: rgba(31,32,38,.62); border:1px solid rgba(63,63,70,.85); border-radius:18px; padding:24px; text-align:left; }
.hardware-title{ font-weight:975; font-size:18px; letter-spacing:-0.01em; }
.hardware-list{ margin-top:10px; color: rgba(161,161,170,.96); font-weight:750; font-size:16px; line-height:1.7; }
.hardware-note{ max-width:900px; margin:14px auto 0; color: rgba(161,161,170,.90); font-weight:650; }

/* make legal less prominent */
.legal-section{ opacity:.72; }
.legal-section .section-label{ opacity:.75; }
.legal-section h2{ font-size: clamp(22px, 2.3vw, 30px); }
.legal-grid details{ background: rgba(18,19,26,.55); }
.legal-body, .legal-small{ font-size: 14px; }

/* reveal animation */
[data-reveal]{
  opacity:0; transform: translateY(18px);
  transition: opacity .8s ease, transform .8s ease;
}
[data-reveal].in-view{ opacity:1; transform: translateY(0); }

@media (max-width: 980px){
  .dojo-grid{ grid-template-columns:1fr; }
  .hardware-grid{ grid-template-columns:1fr; }
  .sumi-strip .stroke{ width:70px; }
}
