:root {
  color-scheme: dark;
  --ink: #030908;
  --panel: rgba(10, 30, 25, 0.72);
  --paper: #effff9;
  --muted: #9bb5ad;
  --mint: #8fffd8;
  --cyan: #7cecff;
  --amber: #ffc47a;
  --line: rgba(166, 255, 226, 0.16);
  --mono: "SFMono-Regular", "Roboto Mono", ui-monospace, monospace;
  font-family: "Avenir Next", "Hiragino Sans", "Yu Gothic UI", Inter, system-ui, sans-serif;
  background: var(--ink);
  color: var(--paper);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 76% 9%, rgba(75, 255, 205, .13), transparent 28%),
    radial-gradient(circle at 10% 1%, rgba(88, 211, 255, .08), transparent 24%),
    linear-gradient(145deg, #030807, #071512 62%, #06100e);
}
body::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  background-image:
    linear-gradient(rgba(147, 255, 219, .03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(147, 255, 219, .03) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(#000, transparent 90%);
  content: "";
}
a { color: inherit; }
img { display: block; max-width: 100%; }
.skip { position: absolute; left: -9999px; }
.skip:focus { z-index: 100; left: 16px; top: 16px; padding: 12px; background: white; color: #07110f; }
.site-header {
  position: relative;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1220px, calc(100% - 40px));
  min-height: 88px;
  margin: auto;
  border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.mark {
  position: relative;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(143,255,216,.54);
  border-radius: 13px;
  box-shadow: inset 0 0 22px rgba(143,255,216,.08), 0 0 26px rgba(143,255,216,.08);
}
.mark::before, .mark::after, .mark i {
  position: absolute;
  top: 10px;
  bottom: 10px;
  width: 2px;
  border-radius: 4px;
  background: var(--mint);
  box-shadow: 0 0 10px var(--mint);
  content: "";
}
.mark::before { left: 10px; top: 15px; bottom: 15px; }
.mark i:first-child { left: 17px; }
.mark i:last-child { right: 17px; top: 7px; bottom: 7px; }
.mark::after { right: 10px; top: 13px; bottom: 13px; }
.brand b { display: block; letter-spacing: .06em; }
.brand small { display: block; margin-top: 2px; color: var(--muted); font: 9px var(--mono); letter-spacing: .16em; }
.site-nav { display: flex; align-items: center; gap: 26px; }
.site-nav a { color: #b7cbc5; font-size: 12px; text-decoration: none; }
.site-nav a:hover, .site-nav a:focus-visible { color: var(--mint); }
.nav-cta, .button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 19px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(115deg, #d9fff1, var(--mint) 64%, #78ebd9);
  color: #07110f !important;
  font-weight: 750;
  text-decoration: none;
  box-shadow: 0 12px 38px rgba(96,255,202,.12), inset 0 1px #fff;
}
.button.secondary { border: 1px solid var(--line); background: rgba(255,255,255,.025); color: var(--paper) !important; }
.menu-button { display: none; border: 1px solid var(--line); background: transparent; color: var(--paper); border-radius: 9px; padding: 9px 11px; }
.hero {
  position: relative;
  display: grid;
  min-height: 690px;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  isolation: isolate;
}
.hero > img { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.94) contrast(1.05); }
.hero::before { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(2,7,6,.95), rgba(2,7,6,.67) 50%, rgba(2,7,6,.31)), linear-gradient(0deg, #030908, transparent 46%); content: ""; }
.hero::after { position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 67% 45%, rgba(143,255,216,.16), transparent 30%); content: ""; }
.hero-inner { width: min(1220px, calc(100% - 40px)); padding: 78px 0 94px; }
.eyebrow, .kicker { color: var(--mint); font: 10px var(--mono); letter-spacing: .2em; text-transform: uppercase; }
.hero h1 { max-width: 850px; margin: 22px 0; font-size: clamp(52px, 7vw, 96px); font-weight: 560; line-height: .96; letter-spacing: -.06em; }
.hero h1 span { display: block; background: linear-gradient(100deg, var(--paper), var(--mint) 70%, var(--amber)); -webkit-background-clip: text; color: transparent; }
.hero p:not(.eyebrow) { max-width: 670px; color: #c0d1cc; font-size: 17px; line-height: 1.9; }
.hero-actions { display: flex; gap: 12px; margin-top: 30px; }
.signal-line { display: flex; width: min(620px, 78vw); gap: 5px; margin-top: 44px; }
.signal-line i { width: 7px; height: 7px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 14px var(--mint); animation: signal 2.6s ease-in-out infinite; animation-delay: calc(var(--i) * -.18s); }
@keyframes signal { 50% { opacity: .25; transform: translateY(-7px); } }
.strip { display: flex; gap: 48px; padding: 18px max(20px, calc((100vw - 1220px)/2)); overflow: hidden; border-bottom: 1px solid var(--line); color: #78928a; font: 9px var(--mono); letter-spacing: .16em; white-space: nowrap; }
.section { width: min(1140px, calc(100% - 40px)); margin: auto; padding: 96px 0; }
.section h2 { max-width: 800px; margin: 14px 0 24px; font-size: clamp(34px, 5vw, 62px); font-weight: 560; line-height: 1.08; letter-spacing: -.045em; }
.intro { max-width: 800px; color: var(--muted); font-size: 17px; line-height: 2; }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 42px; }
.card { position: relative; padding: 28px; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(145deg, rgba(18,47,41,.6), rgba(6,19,16,.72)); box-shadow: inset 0 1px rgba(255,255,255,.04), 0 22px 58px rgba(0,0,0,.2); }
.card::after { position: absolute; right: -30px; bottom: -30px; width: 100px; height: 100px; border: 1px solid rgba(143,255,216,.08); border-radius: 50%; content: ""; }
.card b { color: var(--mint); font: 10px var(--mono); letter-spacing: .12em; }
.card h3 { margin: 18px 0 12px; font-size: 23px; }
.card p { color: var(--muted); line-height: 1.8; }
.card a { display: inline-block; margin-top: 8px; color: var(--mint); font-size: 13px; }
.product { display: grid; grid-template-columns: 1.05fr .95fr; gap: 44px; align-items: center; }
.product-visual { position: relative; min-height: 430px; overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: #06120f; }
.product-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .8; }
.product-visual::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(2,7,6,.92), transparent 62%); content: ""; }
.product-copy p, .principles p { color: var(--muted); line-height: 1.9; }
.facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 34px; border: 1px solid var(--line); background: var(--line); }
.facts div { padding: 22px; background: #06110f; }
.facts b { display: block; color: var(--mint); font-size: 23px; }
.facts span { color: var(--muted); font-size: 11px; }
.article-list { display: grid; gap: 14px; margin-top: 36px; }
.article-link { display: grid; grid-template-columns: 110px 1fr auto; align-items: center; gap: 22px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: rgba(8,28,23,.54); text-decoration: none; }
.article-link time { color: var(--muted); font: 10px var(--mono); }
.article-link strong { font-size: 18px; }
.article-link span { color: var(--mint); }
.cta { text-align: center; padding-block: 90px 110px; }
.cta h2 { margin-inline: auto; }
.cta p { max-width: 650px; margin: 0 auto 28px; color: var(--muted); line-height: 1.8; }
.site-footer { border-top: 1px solid var(--line); background: rgba(2,8,6,.7); }
.footer-inner { display: grid; grid-template-columns: 1fr auto; gap: 30px; width: min(1220px, calc(100% - 40px)); margin: auto; padding: 38px 0; }
.footer-links { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.footer-links a { color: var(--muted); font-size: 12px; text-decoration: none; }
.copyright { grid-column: 1/-1; color: #678078; font: 10px var(--mono); }
.article-hero { width: min(900px, calc(100% - 40px)); margin: auto; padding: 78px 0 48px; }
.article-hero h1 { margin: 18px 0; font-size: clamp(40px, 7vw, 72px); line-height: 1.08; letter-spacing: -.05em; }
.article-hero p { max-width: 730px; color: var(--muted); font-size: 17px; line-height: 1.9; }
.article { width: min(760px, calc(100% - 40px)); margin: auto; padding: 18px 0 100px; }
.article h2 { margin: 58px 0 16px; font-size: 30px; letter-spacing: -.025em; }
.article h3 { margin-top: 34px; color: #dff8ef; }
.article p, .article li { color: #b1c6c0; font-size: 16px; line-height: 2; }
.article li + li { margin-top: 9px; }
.article .note { margin: 30px 0; padding: 22px; border-left: 3px solid var(--mint); background: rgba(143,255,216,.055); }
.article-nav { display: flex; gap: 12px; margin-top: 56px; padding-top: 26px; border-top: 1px solid var(--line); }
.article-nav a { color: var(--mint); }
.contact-box { padding: 26px; border: 1px solid var(--line); border-radius: 18px; background: var(--panel); }
.contact-box a { color: var(--mint); }
@media (max-width: 820px) {
  .site-header { flex-wrap: wrap; padding: 12px 0; }
  .menu-button { display: inline-flex; }
  .site-nav { display: none; width: 100%; flex-direction: column; align-items: stretch; gap: 0; padding-top: 10px; }
  .site-nav.open { display: flex; }
  .site-nav a { padding: 13px 4px; border-top: 1px solid var(--line); }
  .site-nav .nav-cta { margin-top: 8px; }
  .hero { min-height: 650px; }
  .hero::before { background: linear-gradient(0deg, rgba(2,7,6,.98), rgba(2,7,6,.46) 68%, rgba(2,7,6,.34)); }
  .grid { grid-template-columns: 1fr; }
  .product { grid-template-columns: 1fr; }
  .product-visual { min-height: 360px; }
  .article-link { grid-template-columns: 1fr auto; }
  .article-link time { grid-column: 1/-1; }
}
@media (max-width: 520px) {
  .site-header, .hero-inner, .section, .footer-inner, .article-hero, .article { width: calc(100% - 32px); }
  .brand b { font-size: 14px; }
  .brand small { display: none; }
  .hero { min-height: 610px; }
  .hero-inner { padding: 66px 0 74px; }
  .hero h1 { font-size: clamp(44px, 14vw, 60px); }
  .hero p:not(.eyebrow), .intro { font-size: 15px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .section { padding: 68px 0; }
  .section h2 { font-size: 36px; }
  .grid { margin-top: 30px; }
  .card { padding: 23px; }
  .facts { grid-template-columns: 1fr; }
  .product-visual { min-height: 300px; }
  .article-link { grid-template-columns: 1fr; gap: 8px; }
  .footer-inner { grid-template-columns: 1fr; }
  .footer-links { line-height: 1.8; }
  .article-hero { padding-top: 58px; }
  .article-hero h1 { font-size: 42px; }
  .article h2 { font-size: 27px; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; animation: none !important; } }
