@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;900&display=swap");

:root { --ink:#0a0c10; --paper:#f2f1ed; --white:#fff; --muted:#65696f; --line:#d5d4cf; --chrome-blue:#4285f4; --chrome-blue-light:#8ab4f8; --blue:#5b7cff; --panel:#12151a; --mono:"IBM Plex Mono",monospace; --sans:"Manrope","Noto Sans SC",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,a { -webkit-tap-highlight-color:transparent; }
.skip-link { position:fixed; z-index:999; top:10px; left:10px; padding:10px 14px; background:var(--chrome-blue); transform:translateY(-160%); }
.skip-link:focus { transform:none; }

.site-header { height:76px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(22px,5vw,80px); border-bottom:1px solid rgba(255,255,255,.14); color:white; position:absolute; inset:0 0 auto; z-index:10; }
.brand { display:flex; align-items:center; gap:11px; font-size:22px; font-weight:800; letter-spacing:-.05em; }
.brand-mark { width:28px; height:28px; display:grid; grid-template-columns:repeat(3,1fr); align-items:end; gap:3px; transform:skew(-8deg); }
.brand-mark i { display:block; background:var(--chrome-blue); height:52%; }
.brand-mark i:nth-child(2) { height:100%; }.brand-mark i:nth-child(3) { height:75%; }
.nav { display:flex; gap:38px; font-size:13px; font-weight:600; }
.nav a { opacity:.72; transition:opacity .2s; }.nav a:hover { opacity:1; }
.header-actions { display:flex; align-items:center; gap:16px; }
.lang-switch { padding:0; background:transparent; border:0; color:white; display:flex; gap:5px; font:600 11px var(--mono); cursor:pointer; }
.lang-switch span { padding:6px 7px; opacity:.45; border:1px solid transparent; border-radius:999px; }.lang-switch .active { opacity:1; border-color:rgba(255,255,255,.5); }
.github-link { font:500 12px var(--mono); padding:9px 13px; border:1px solid rgba(255,255,255,.34); border-radius:999px; }

.hero { min-height:900px; height:100svh; max-height:1040px; color:white; background:#07090c; position:relative; overflow:hidden; padding:150px clamp(22px,7vw,120px) 34px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); grid-template-rows:1fr; align-items:center; }
.hero-grid { position:absolute; inset:0; opacity:.19; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to right,black,transparent 75%); }
.hero-glow { position:absolute; width:700px; height:700px; right:-260px; top:0; background:radial-gradient(circle,rgba(91,124,255,.24),transparent 68%); }
.hero-copy { position:relative; z-index:2; max-width:760px; }
.eyebrow { margin:0 0 26px; display:flex; align-items:center; gap:10px; font:600 11px var(--mono); letter-spacing:.16em; text-transform:uppercase; }
.hero-copy .eyebrow { font-size:16.5px; }
.eyebrow > span { width:34px; height:2px; background:var(--chrome-blue); }
h1,h2 { letter-spacing:-.065em; line-height:.96; margin:0; font-weight:700; }
h1 { font-size:clamp(58px,7.25vw,118px); } h1 em,h2 em { font-style:normal; } h1 em,h2 em { color:var(--chrome-blue); }
h1 sup { display:inline-block; margin-left:.12em; font:700 .24em var(--mono); letter-spacing:.04em; text-transform:uppercase; vertical-align:top; transform:translateY(.24em); }
.hero-intro { max-width:670px; margin:35px 0 0; color:#aeb3bd; font-size:clamp(16px,1.35vw,20px); line-height:1.85; }
.hero-size-note { max-width:670px; margin:20px 0 0; padding-left:14px; border-left:2px solid var(--chrome-blue); color:#7f8691; font:500 14px/1.7 var(--mono); }
.hero-size-note span,.hero-size-note small { display:block; }
.hero-size-note small { margin-top:2px; font-size:12px; }
.hero-poster { width:min(41.58vw,571px); margin:0; justify-self:end; position:relative; z-index:1; transform:rotate(2deg); }
.poster-frame { position:relative; padding:10px; background:#11141a; border:1px solid #333842; }
.poster-frame img { display:block; width:100%; height:auto; background:#090b0f; }

.section { padding:130px clamp(22px,7vw,120px); }
.section-heading { display:grid; grid-template-columns:1.25fr .75fr; align-items:end; gap:60px; margin-bottom:70px; }
.section-heading .eyebrow { margin-bottom:22px; font-size:16.5px; }.section-heading h2 { font-size:clamp(45px,5.3vw,78px); }.section-heading h2 em { color:var(--blue); }
.section-heading > p { color:var(--muted); font-size:16px; line-height:1.8; max-width:520px; margin:0 0 8px; }

.product-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.product-card { position:relative; min-height:420px; padding:42px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:78px 1fr; gap:28px; background:rgba(255,255,255,.22); transition:background .25s,transform .25s; }
.product-card:hover { background:white; transform:translateY(-3px); z-index:2; }.product-featured { grid-column:1/-1; min-height:380px; grid-template-columns:110px 1fr; background:var(--ink); color:white; }.product-featured:hover { background:#12151a; }
.product-card img { width:78px; height:78px; object-fit:contain; border-radius:16px; }.product-featured img { width:110px; height:110px; }
.product-number { position:absolute; right:25px; top:25px; font:500 10px var(--mono); color:#92969d; }
.product-body { min-width:0; display:flex; flex-direction:column; }.product-title { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.product-title h3 { margin:0; font-size:clamp(25px,2.2vw,34px); letter-spacing:-.05em; }.product-title span { padding:5px 8px; border:1px solid var(--line); color:var(--muted); font:500 9px var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.product-featured .product-title span { border-color:#3c4048; color:#a3a8b0; }.product-body > p { max-width:620px; color:var(--muted); line-height:1.72; margin:22px 0; }.product-featured .product-body > p { color:#aeb2bb; }
.tags { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:30px; }.tags span { background:#e5e4df; padding:7px 10px; font:500 12px var(--mono); }.product-featured .tags span { background:#22262d; color:#c7ccd4; }
.card-links { margin-top:auto; display:flex; gap:23px; flex-wrap:wrap; }.card-links a { font:400 16px var(--sans); border-bottom:1px solid currentColor; padding-bottom:4px; }
.card-links .store-link { display:inline-flex; align-items:center; gap:7px; }
.card-links .store-link img { width:16px; height:16px; object-fit:contain; flex:0 0 auto; }

.technology { background:#e7e6e0; }.tech-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:50px; align-items:stretch; }
.code-panel { background:var(--panel); color:#d9dde5; box-shadow:18px 18px 0 #c8c6bd; min-height:490px; }.code-top { height:55px; border-bottom:1px solid #2b2f36; display:flex; align-items:center; padding:0 20px; gap:7px; }
.code-top span { width:8px; height:8px; border-radius:50%; background:#414650; }.code-top span:first-child { background:var(--chrome-blue); }.code-top b { margin-left:auto; color:#777d87; font:500 10px var(--mono); }
.code-panel pre { margin:0; padding:50px 38px; overflow:auto; }.code-panel code { font:500 clamp(11px,1.1vw,15px)/2 var(--mono); }.code-panel code i { color:#555b65; font-style:normal; user-select:none; margin-right:14px; }
.c-key { color:#95a9ff; }.c-string { color:var(--chrome-blue-light); }.c-comment { color:#727883; }
.advantage-grid { display:grid; grid-template-columns:repeat(2,1fr); }.advantage { padding:8px 28px 34px; border-bottom:1px solid #c9c7be; }.advantage:nth-child(odd) { border-right:1px solid #c9c7be; padding-left:0; }.advantage:nth-child(n+3) { padding-top:34px; border-bottom:0; }
.advantage > b { color:var(--blue); font:600 10px var(--mono); }.advantage h3 { margin:28px 0 12px; font-size:19px; }.advantage p { color:var(--muted); line-height:1.65; font-size:13px; margin:0; }

.groups { background:#0a0c10; color:white; }
.groups .section-heading > p { color:#9da2ac; }
.groups .section-heading h2 em { color:var(--chrome-blue); }
.group-images { display:grid; grid-template-columns:repeat(2,minmax(0,340px)); justify-content:center; align-items:center; gap:clamp(30px,6vw,90px); }
.group-image { display:flex; align-items:center; justify-content:center; }
.group-image img { display:block; width:100%; max-width:320px; height:320px; object-fit:contain; }

footer { min-height:110px; background:#07090c; color:white; padding:0 clamp(22px,7vw,120px); display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; } footer p { margin:0; color:#747983; font:500 10px var(--mono); letter-spacing:.06em; } footer p:nth-child(2) { text-align:center; } footer p:last-child { text-align:right; }
.reveal { opacity:0; transform:translateY(20px); transition:opacity .7s ease,transform .7s ease; }.reveal.is-visible { opacity:1; transform:none; }
.hero-poster.reveal { transform:translateY(20px) rotate(2deg); }
.hero-poster.reveal.is-visible { transform:rotate(2deg); }

@media (max-width:980px) {
  .hero { min-height:860px; height:auto; max-height:none; grid-template-columns:1fr; padding-top:140px; }.hero-poster { position:absolute; width:428px; right:-80px; top:145px; opacity:.42; }.hero-copy { max-width:760px; }
  .section-heading { grid-template-columns:1fr; gap:24px; }.product-card { grid-template-columns:64px 1fr; padding:30px; }.product-card img { width:64px; height:64px; }.product-featured { grid-template-columns:85px 1fr; }.product-featured img { width:85px; height:85px; }.tech-layout { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .site-header { height:64px; }.nav,.github-link { display:none; }.hero { min-height:auto; padding-top:96px; padding-bottom:80px; display:flex; flex-direction:column; align-items:stretch; }.hero-intro { line-height:1.7; }.desktop-break { display:none; }.hero-poster { position:relative; width:min(100%,344px); right:auto; top:auto; align-self:center; order:-1; opacity:1; margin-bottom:52px; }
  .section { padding-top:85px; padding-bottom:85px; }.product-grid { grid-template-columns:1fr; }.product-featured { grid-column:auto; }.product-card,.product-featured { min-height:420px; grid-template-columns:1fr; gap:20px; }.product-card img,.product-featured img { width:70px; height:70px; }
  .advantage-grid { grid-template-columns:1fr; }.advantage,.advantage:nth-child(odd),.advantage:nth-child(n+3) { padding:28px 0; border-right:0; border-bottom:1px solid #c9c7be; }.advantage h3 { margin-top:14px; }.code-panel { min-height:0; box-shadow:10px 10px 0 #c8c6bd; }.code-panel pre { padding:32px 17px; }
  .group-images { grid-template-columns:1fr; }.group-image img { width:min(100%,300px); height:300px; }
  footer { padding-top:35px; padding-bottom:35px; grid-template-columns:1fr; gap:20px; } footer p:nth-child(2),footer p:last-child { text-align:left; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.reveal { opacity:1; transform:none; transition:none; } }
