/* ═══════════════════════════════════════════════════════════════════
   Talnet V1 shared black / silver theme */
/* Talnet V1 · black / silver · shared static-site theme */
:root {
  color-scheme: dark;
  --ink: #080808; --surface: #111111; --card: #171717;
  --text: #f3f3f3; --muted: #b0b0b0; --dim: #929292; --line: #3e3e3e;
  --silver: #dddddd; --radius: 20px; --width: 1240px;
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-synthesis: none; -webkit-font-smoothing: antialiased;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--ink); color: var(--text); font-size: 16px; line-height: 1.7; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; cursor: pointer; }
button:disabled { cursor: default; opacity: .5; }
:focus-visible { outline: 2px solid #eeeeee; outline-offset: 5px; }
::selection { background: #555555; color: #ffffff; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { line-height: 1.15; font-weight: 600; letter-spacing: -.035em; text-wrap: balance; }
h1 { font-size: clamp(2.7rem, 5.8vw, 5.3rem); }
h2 { font-size: clamp(2rem, 3.5vw, 3rem); }
h3 { font-size: 1.28rem; }
p { color: var(--muted); }
p + p { margin-top: 16px; }
img, svg { display: block; max-width: 100%; }
code { font-family: "Cascadia Mono", Consolas, monospace; font-size: .9em; overflow-wrap: anywhere; }
.container { width: min(100% - 64px, var(--width)); margin-inline: auto; }
.narrow { max-width: 870px; }
.icon { width: 22px; height: 22px; flex-shrink: 0; }
.eyebrow, .index { display: block; font-size: .66rem; line-height: 1.6; font-weight: 600; letter-spacing: .2em; color: #bdbdbd; }
.eyebrow + h2, .eyebrow + h1 { margin-top: 18px; }
.silver-text { color: #dedede; background: linear-gradient(135deg, #ffffff 10%, #cccccc 40%, #808080 70%, #e4e4e4 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.lead { font-size: clamp(1.02rem, 1.5vw, 1.14rem); line-height: 1.85; max-width: 580px; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 100; padding: 10px 18px; color: #111111; background: #eeeeee; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.navbar { position: sticky; top: 0; z-index: 50; background: rgba(8,8,8,.93); backdrop-filter: blur(18px); border-bottom: 1px solid #303030; }
.navbar.scrolled { box-shadow: 0 12px 32px rgba(0,0,0,.45); }
.nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 86px; }
.logo { display: inline-flex; align-items: center; gap: 12px; font-weight: 600; letter-spacing: .18em; font-size: 1.18rem; line-height: 1.3; flex-shrink: 0; }
.logo small { display: block; color: #aaaaaa; font-size: .47rem; letter-spacing: .16em; margin-top: 5px; }
.logo-mark { display: grid; place-items: center; width: 43px; height: 43px; border: 1px solid #939393; border-radius: 11px; background: linear-gradient(135deg,#5c5c5c,#111111 47%,#050505 50%,#313131); box-shadow: inset 1px 1px 1px #afafaf, 0 3px 14px #000000; font-size: 25px; color: #eeeeee; }
.logo-mark img { width:29px; height:29px; }
.nav-links { display: flex; align-items: center; gap: 27px; padding: 0; margin: 0; list-style: none; }
.nav-links a { display: block; padding-block: 14px; font-size: .82rem; color: #b1b1b1; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: #ffffff; }
.nav-links a[aria-current="page"] { text-decoration: underline; text-underline-offset: 9px; text-decoration-color: #999999; }
.btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 48px; padding: 12px 22px; border: 1px solid #656565; border-radius: 10px; background: linear-gradient(165deg, #292929, #111111 47%, #080808 49%, #1b1b1b); box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 6px 15px rgba(0,0,0,.2); font-size: .82rem; font-weight: 600; line-height: 1.4; text-align: center; transition: border-color .2s, box-shadow .2s, transform .2s; }
.btn:hover { border-color: #dddddd; box-shadow: inset 0 1px 0 #999999, 0 0 25px rgba(255,255,255,.08); transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn-primary { border-color: #c2c2c2; background: linear-gradient(155deg, #606060, #222222 46%, #111111 48%, #242424); }
.nav-cta { min-height: 40px; padding: 9px 16px; font-size: .75rem; }
.nav-cta .icon { width: 17px; }
.mobile-menu-btn { display: none; width: 44px; height: 44px; padding: 12px 9px; border: 1px solid var(--line); border-radius: 8px; background: #171717; flex-shrink: 0; }
.mobile-menu-btn span { display: block; height: 1px; width: 23px; background: #eeeeee; margin: 6px 0; transition: transform .2s; }
.mobile-menu-btn[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
.mobile-menu-btn[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.text-link { display: inline-flex; align-items: center; gap: 12px; padding-block: 10px; font-size: .85rem; font-weight: 600; border-bottom: 1px solid #555555; }
.text-link:hover { border-color: #ffffff; }
.hero { position: relative; padding: 86px 0 82px; background: radial-gradient(ellipse at 75% 42%,#202020 0%,transparent 58%); }
.hero-grid { display: grid; grid-template-columns: 1.08fr 1fr; align-items: center; gap: 60px; }
.hero-content { min-width: 0; }
.hero-badge { display: inline-flex; align-items: center; gap: 10px; padding: 6px 12px; margin-bottom: 27px; border: 1px solid #444444; border-radius: 6px; color: #c3c3c3; background: rgba(255,255,255,.03); font-size: .63rem; letter-spacing: .12em; }
.status-dot { width: 5px; height: 5px; border-radius: 50%; background: #dedede; box-shadow: 0 0 9px #aaaaaa; }
.hero h1 { margin-bottom: 28px; }
.hero .lead { max-width: 500px; font-size: 1rem; }
.hero-buttons { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 30px; }
.hero-note { margin-top: 28px; font-size: .7rem; color: #a0a0a0; }
.chrome-panel { position: relative; min-width: 0; border: 1px solid #5a5a5a; border-radius: var(--radius); background: linear-gradient(140deg, #252525 0%, #121212 34%, #090909 62%, #161616 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.23), inset 1px 0 0 rgba(255,255,255,.06), 0 15px 35px rgba(0,0,0,.25); }
.protocol-art { min-height: 480px; padding: 26px; overflow: hidden; isolation: isolate; }
.protocol-art::after { content: ""; position: absolute; inset: -100% -70%; z-index: -1; pointer-events: none; background: linear-gradient(115deg,transparent 46%,rgba(255,255,255,.075) 48%,transparent 52%); animation: gleam 12s ease-in-out infinite; }
.art-top, .art-bottom { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.micro-tag { display: inline-block; font-size: .58rem; font-weight: 600; letter-spacing: .12em; line-height: 1.5; padding: 6px 9px; border: 1px solid #505050; border-radius: 5px; color: #c1c1c1; }
.orbital { position: relative; height: 325px; display: grid; place-items: center; perspective: 800px; }
.planet { position: relative; width: 255px; height: 255px; border-radius: 50%; overflow: hidden; border: 1px solid #8a8a8a; background: radial-gradient(circle at 29% 20%,#767676 0%,#2a2a2a 28%,#101010 53%,#020202 76%); box-shadow: inset 10px 8px 17px rgba(255,255,255,.12), inset -20px -9px 30px #000000, 0 0 35px rgba(255,255,255,.055); animation: sphere-float 7s ease-in-out infinite; }
.planet::after { content:""; position:absolute; inset:0; border-radius:50%; background:radial-gradient(ellipse at 33% 15%,rgba(255,255,255,.19),transparent 40%); }
.planet-letter { position: absolute; inset: 0; display: grid; place-items: center; color: #e4e4e4; font-size: 115px; font-weight: 700; text-shadow: 2px 5px 1px #000000, 0 0 25px rgba(255,255,255,.13); transform: rotate(-8deg); }
.meridian { position:absolute; width:55%; height:100%; left:22.5%; border-radius:50%; border:1px solid rgba(255,255,255,.19); }
.meridian.two { width:85%; left:7.5%; transform:rotate(-30deg); }
.latitude { position:absolute; width:100%; height:30%; top:35%; border-radius:50%; border:1px solid rgba(255,255,255,.18); transform:rotate(-22deg); }
.latitude.two { top:13%; }.latitude.three { top:57%; }
.orb-ring { position:absolute; width:94%; height:96px; max-width:415px; border-radius:50%; border:1px solid rgba(255,255,255,.24); transform:rotate(-25deg); }
.ring-two { transform:rotate(35deg); opacity:.4; height:240px; }
.cube { position:absolute; stroke:#bcbcbc; stroke-width:1.15; filter:drop-shadow(0 0 6px rgba(255,255,255,.17)); width:68px; }
.cube-one { left:0; bottom:38px; animation:cube-float 6s ease-in-out infinite; }
.cube-two { right:0; top:27px; width:48px; animation:cube-float 6s -3s ease-in-out infinite; }
.art-bottom { border-top:1px solid #3b3b3b; padding-top:20px; font-size:.61rem; line-height:1.9; color:#b4b4b4; letter-spacing:.09em; }
.art-bottom strong { color:#dfdfdf; font-weight:500; }.art-caption { text-align:right; font-size:.6rem; letter-spacing:0; color:#969696; }
@keyframes sphere-float { 50% { transform:translateY(-7px) rotate(3deg); } }
@keyframes cube-float { 50% { transform:translateY(-12px) rotate(6deg); } }
@keyframes gleam { 0%,100% { transform:translateX(-7%); } 50% { transform:translateX(10%); } }
.protocol-strip { border-block:1px solid #343434; background:linear-gradient(105deg,#191919,#0b0b0b 52%,#131313); padding:29px 0; }
.strip-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) 1.1fr; align-items:center; gap:30px; }
.strip-grid > div + div, .strip-grid > p { border-left:1px solid #3c3c3c; padding-left:30px; }
.strip-grid .eyebrow { font-size:.56rem; letter-spacing:.15em; }
.strip-grid strong { display:block; font-size:2.35rem; font-weight:500; line-height:1.4; margin-top:8px; }
.strip-grid strong span { font-size:.84rem; color:#b5b5b5; }
.strip-grid p { font-size:.74rem; }.strip-grid a { display:block; color:#e0e0e0; margin-top:9px; }
.section { padding:92px 0; }.section-compact { padding-top:30px; }.section-divider { border-top:1px solid #303030; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:38px; }
.section-heading p { max-width:360px; font-size:.91rem; }
.features-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.feature-card { min-width:0; padding:29px; border:1px solid #414141; border-radius:15px; background:linear-gradient(145deg,#202020,#0c0c0c 65%); box-shadow:inset 0 1px rgba(255,255,255,.08); transition:transform .25s,border-color .25s,box-shadow .25s; }
.feature-card:hover { transform:translateY(-4px); border-color:#939393; box-shadow:inset 0 1px rgba(255,255,255,.22),0 14px 25px rgba(0,0,0,.3); }
.card-top { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:30px; }
.icon-box { display:inline-grid; place-items:center; width:45px; height:45px; border:1px solid #646464; border-radius:11px; background:linear-gradient(145deg,#3a3a3a,#111111 60%); color:#d4d4d4; }
.feature-card h3 { margin-bottom:14px; }.feature-card p { font-size:.86rem; line-height:1.85; }.feature-card > .index { margin-bottom:24px; }
.split-section { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.split-section h2 { margin-bottom:25px; }.split-section .text-link { margin-top:25px; }
.split-section > div, .docs-content { min-width:0; }
.workflow-card { padding:31px; }.workflow { list-style:none; padding:0; margin:32px 0 22px; }
.workflow li { display:flex; gap:23px; padding-bottom:28px; }.workflow li + li { padding-top:24px; border-top:1px solid #363636; }
.workflow li > span { font-size:.7rem; color:#9a9a9a; padding-top:5px; }.workflow h3 { font-size:1.08rem; margin-bottom:9px; }.workflow p { font-size:.85rem; }
.fine-print, .disclaimer { font-size:.75rem; color:#9d9d9d; line-height:1.8; }
.fine-print { margin-top:20px; }.disclaimer { text-align:center; margin:22px auto 0; max-width:850px; }
.cta-panel { padding:40px 44px; display:flex; justify-content:space-between; align-items:center; gap:35px; }
.cta-panel h2 { margin:10px 0 16px; }.cta-panel p { font-size:.9rem; }.cta-panel .btn { flex-shrink:0; }
.footer { background:#0d0d0d; border-top:1px solid #3b3b3b; padding:55px 0 20px; }
.footer-main { display:flex; justify-content:space-between; gap:60px; padding-bottom:43px; }
.footer-wordmark { display:inline-block; font-size:1.7rem; letter-spacing:.3em; font-weight:600; }
.footer-main p { margin:14px 0 20px; font-size:.84rem; }
.footer-navigation { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.footer-navigation h2 { font-size:.72rem; letter-spacing:.06em; margin-bottom:15px; }
.footer-navigation a { display:block; font-size:.78rem; padding:5px 0; color:#a5a5a5; }.footer-navigation a:hover { color:#ffffff; }
.footer-bottom { border-top:1px solid #303030; padding-top:20px; display:flex; justify-content:space-between; gap:25px; font-size:.64rem; }
.page-hero { padding:68px 0 42px; background:radial-gradient(ellipse at top right,#212121,transparent 65%); }
.breadcrumb { display:inline-block; font-size:.65rem; letter-spacing:.17em; color:#aaaaaa; margin-bottom:24px; }
.page-hero h1 { font-size:clamp(2.6rem,4.8vw,4.2rem); margin-bottom:23px; }.page-hero .lead { max-width:740px; }
.reading-card { padding:32px; }.reading-card h2 { font-size:1.6rem; margin-bottom:25px; }.reading-card h3 { margin-bottom:15px; }
.reading-card .icon-box { margin-bottom:27px; }.reading-card .btn { margin-top:28px; }
.stack { display:grid; gap:18px; }.stack p { font-size:.9rem; }
.spec-list { margin:0; }.spec-list > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:20px; padding:15px 0; border-bottom:1px solid #353535; }
.spec-list dt { color:#b0b0b0; font-size:.86rem; }.spec-list dd { margin:0; font-size:.86rem; color:#ededed; overflow-wrap:anywhere; }
.hash-card { margin:20px 0; padding:21px 24px; border:1px solid #4d4d4d; border-radius:12px; background:linear-gradient(125deg,#1c1c1c,#0e0e0e); }
.hash-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:15px; }.hash-heading h3 { font-size:.8rem; letter-spacing:0; }
.hash-card code { display:block; font-size:.74rem; word-break:break-all; color:#cccccc; line-height:1.8; }
.copy-button { border:1px solid #616161; border-radius:6px; background:#242424; color:#dddddd; padding:6px 12px; font-size:.72rem; min-height:34px; }
.copy-button:hover { border-color:#eeeeee; }.copy-status { display:block; font-size:.7rem; color:#bcbcbc; }.copy-status:not(:empty) { margin-top:10px; }
.quote-panel { margin:35px 0 22px; padding:22px 0 22px 25px; border-left:2px solid #808080; }
blockquote { margin:14px 0; color:#d2d2d2; font-size:1.03rem; }.quote-panel p { font-size:.78rem; }
.docs-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:68px; }
.docs-sidebar { align-self:start; position:sticky; top:112px; }.docs-sidebar .eyebrow { margin-bottom:17px; }
.docs-sidebar a, .faq-guide > a { display:block; padding:9px 15px; border-left:1px solid #383838; font-size:.79rem; color:#afafaf; }
.docs-sidebar a:hover, .docs-sidebar a[aria-current="location"], .faq-guide > a:hover { border-left-color:#eeeeee; background:#171717; color:#ffffff; }
.docs-section { padding-bottom:42px; margin-bottom:40px; border-bottom:1px solid #353535; scroll-margin-top:120px; }
.docs-section:last-child { border:0; margin-bottom:0; }.docs-section h2 { margin:15px 0 24px; font-size:2.05rem; }.docs-section p, .docs-section li { font-size:.92rem; }
.docs-section .spec-list { margin-top:26px; }.docs-section p + p { margin-top:17px; }
.callout { border:1px solid #565656; border-left:3px solid #aaaaaa; background:#191919; border-radius:0 10px 10px 0; padding:24px; margin:25px 0; }
.callout strong { font-weight:600; font-size:.94rem; }.callout p { margin-top:10px; font-size:.86rem; }.callout a { text-decoration:underline; text-underline-offset:3px; }
.numbered-list, .plain-list { padding-left:20px; color:#bdbdbd; margin:24px 0; }.numbered-list li, .plain-list li { margin-bottom:12px; padding-left:5px; }
.calculation { margin:25px 0; border:1px solid #484848; border-radius:10px; padding:23px; background:#101010; }
.calculation span, .calculation small { display:block; font-size:.73rem; color:#a8a8a8; }.calculation code { display:block; margin:12px 0; font-size:1rem; color:#eeeeee; }
.download-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.download-card { display:flex; flex-direction:column; padding:28px; }.download-card h2 { font-size:1.5rem; margin-bottom:14px; }.download-card p, .download-card li { font-size:.85rem; }.download-card .plain-list { margin-block:22px 30px; }
.download-action { margin-top:auto; }.download-action .btn { width:100%; }.download-meta { display:block; text-align:center; font-size:.65rem; line-height:1.8; margin-top:14px; color:#aaaaaa; }
.release-note { margin-bottom:0; }.setup-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; padding:0; list-style:none; margin-top:40px; }.step-number { display:block; color:#9a9a9a; font-size:.74rem; padding-bottom:17px; border-bottom:1px solid #4b4b4b; margin-bottom:22px; }.setup-grid p { font-size:.86rem; margin-top:14px; }
.community-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }.community-grid .reading-card { padding:38px; }
.maintainer { display:flex; align-items:center; gap:30px; }.maintainer h2 { margin:8px 0 12px; }.maintainer .logo-mark { width:64px; height:64px; flex-shrink:0; }.maintainer .text-link { margin-left:auto; }.maintainer p { font-size:.85rem; }
.faq-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:60px; }.faq-guide { position:sticky; top:115px; align-self:start; }.faq-guide .eyebrow { margin-bottom:20px; }.faq-guide p { margin-top:25px; font-size:.77rem; line-height:2; }
.faq-group { margin-bottom:48px; scroll-margin-top:120px; }.faq-group h2 { font-size:1.8rem; margin-bottom:23px; }
.faq-item { margin-bottom:12px; border:1px solid #414141; border-radius:11px; background:linear-gradient(140deg,#202020,#101010); }
.faq-item[open] { border-color:#858585; }
.faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:21px 24px; cursor:pointer; list-style:none; font-size:.91rem; font-weight:500; line-height:1.55; }
.faq-item summary::-webkit-details-marker { display:none; }.faq-item summary span { width:13px; height:13px; position:relative; flex-shrink:0; }
.faq-item summary span::before, .faq-item summary span::after { position:absolute; content:""; top:6px; left:0; width:13px; height:1px; background:#cccccc; }.faq-item summary span::after { transform:rotate(90deg); }.faq-item[open] summary span::after { transform:rotate(0); }
.faq-answer { padding:0 24px 24px; }.faq-answer p { font-size:.87rem; }.faq-answer a { text-decoration:underline; text-underline-offset:3px; }
.error-page { padding:65px 0 100px; text-align:center; }.error-code { font-size:clamp(6rem,20vw,12rem); line-height:1.3; letter-spacing:-.08em; }.error-page h1 { font-size:clamp(2rem,4vw,3rem); }.error-page .lead { margin:22px auto; }.error-page .hero-buttons { justify-content:center; }
@media (max-width:1100px) {
  .hero-grid { gap:30px; }.protocol-art { padding:21px; min-height:442px; }.orbital { height:294px; }.planet { width:222px; height:222px; }.planet-letter { font-size:100px; }
  .nav-inner { gap:20px; }.nav-links { gap:19px; }.logo { font-size:1.05rem; }.nav-cta { padding-inline:13px; gap:12px; }
  .split-section { gap:45px; }.docs-layout { gap:40px; grid-template-columns:190px minmax(0,1fr); }
  .download-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .download-card { padding:22px; }.strip-grid { gap:20px; }.strip-grid > div + div, .strip-grid > p { padding-left:20px; }
}
@media (max-width:860px) {
  .container { width:calc(100% - 40px); }.nav-inner { min-height:76px; flex-wrap:wrap; padding-block:12px; }.nav-cta { display:none; }.navbar nav { order:3; flex-basis:100%; }.nav-links { flex-wrap:wrap; justify-content:center; gap:10px 26px; }
  .js .mobile-menu-btn { display:block; }.js .navbar nav { order:initial; flex-basis:auto; }.js .nav-links { display:none; position:absolute; top:100%; left:0; right:0; padding:15px 20px 25px; background:#111111; border-bottom:1px solid #555555; box-shadow:0 18px 24px #00000080; max-height:calc(100dvh - 76px); overflow-y:auto; }
  .js .nav-links.active { display:flex; flex-direction:column; align-items:stretch; gap:0; }.js .nav-links a { padding:13px 16px; }
  .hero { padding:54px 0; }.hero-grid { grid-template-columns:1fr 1fr; gap:25px; }.hero h1 { font-size:3.1rem; }.hero .lead { font-size:.88rem; }.hero-badge { font-size:.55rem; letter-spacing:.05em; padding-inline:8px; }
  .protocol-art { min-height:380px; padding:17px; }.orbital { height:255px; }.planet { width:190px; height:190px; }.planet-letter { font-size:87px; }.cube-one { width:45px; }.cube-two { width:35px; }.art-bottom { font-size:.48rem; }.art-caption { font-size:.48rem; }.art-top .eyebrow { font-size:.51rem; }.micro-tag { font-size:.5rem; }
  .hero-buttons { gap:16px; }.hero-buttons .btn { padding-inline:18px; }.hero-buttons .text-link { font-size:.75rem; }
  .strip-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.strip-grid > p { grid-column:1/-1; display:flex; gap:20px; border:0; padding:0; font-size:.72rem; }.strip-grid > p br { display:none; }.strip-grid a { margin-top:0; }
  .section { padding:65px 0; }.section-compact { padding-top:20px; }.section-heading { display:block; }.section-heading p { margin-top:24px; max-width:600px; }.features-grid { gap:15px; }.feature-card { padding:23px; }.feature-card h3 { font-size:1.1rem; }.feature-card p { font-size:.8rem; }
  .split-section { gap:32px; }.reading-card { padding:25px; }.workflow-card { padding:25px; }.workflow li { gap:15px; }.cta-panel { padding:32px; }
  .download-card { padding:30px; }.download-action .btn { width:auto; }.download-meta { text-align:left; }.download-card .card-top { margin-bottom:20px; }.download-card .plain-list { margin-block:10px 20px; }
  .docs-layout, .faq-layout { grid-template-columns:1fr; gap:35px; }.docs-sidebar, .faq-guide { position:static; }.docs-sidebar nav { display:flex; flex-wrap:wrap; gap:4px 10px; }.docs-sidebar .eyebrow { width:100%; margin-bottom:8px; }.docs-sidebar a { border:1px solid #414141; border-radius:6px; padding:7px 10px; }.faq-guide > a { display:inline-block; padding:7px 12px; }.faq-guide p { margin-top:10px; }
  .footer-navigation { gap:45px; }.footer-main { gap:30px; }.footer-bottom { flex-direction:column; gap:10px; }.footer-bottom p + p { margin:0; }
}
/* Compact phone layout. Keep desktop geometry and animation definitions intact. */
@media (max-width:640px) {
  :root { --radius:14px; }
  html { scroll-padding-top:82px; }
  body { line-height:1.65; }
  .container { width:calc(100% - 32px); }
  .nav-inner { min-height:64px; padding-block:9px; gap:12px; }
  .logo { gap:9px; font-size:1rem; }
  .logo small { font-size:.44rem; margin-top:4px; }
  .logo-mark { width:36px; height:36px; border-radius:9px; }
  .logo-mark img { width:25px; height:25px; }
  .js .nav-links { padding:8px 16px 12px; max-height:calc(100dvh - 64px); }
  .js .nav-links a { min-height:44px; padding:10px 12px; font-size:.85rem; }

  /* Compact visual treatment while retaining comfortable tap targets. */
  .btn { min-height:44px; max-width:100%; padding:9px 13px; gap:9px; border-radius:8px; font-size:.8rem; }
  .btn .icon, .text-link .icon { width:18px; height:18px; }
  .text-link { min-height:44px; padding-block:9px; gap:8px; font-size:.8rem; }
  .hero-buttons { gap:8px 12px; margin-top:18px; }
  .hero-buttons .btn { padding-inline:12px; }
  .hero-buttons .text-link { font-size:.78rem; }

  h1, .page-hero h1 { font-size:clamp(1.85rem,7.8vw,2.4rem); }
  h2 { font-size:clamp(1.55rem,6.5vw,1.9rem); }
  h3 { font-size:1.1rem; }
  .lead, .page-hero .lead, .hero .lead { font-size:.92rem; line-height:1.7; }
  .eyebrow { font-size:.61rem; letter-spacing:.15em; }
  .eyebrow + h2, .eyebrow + h1 { margin-top:12px; }
  .hero { padding:28px 0 30px; }
  .hero-grid { grid-template-columns:1fr; gap:22px; }
  .hero-content { margin:0; }
  .hero h1 { font-size:clamp(2rem,8.8vw,2.65rem); margin-bottom:18px; }
  .hero-badge { margin-bottom:18px; padding:5px 9px; gap:8px; font-size:.58rem; letter-spacing:.08em; }
  .hero-note { margin-top:14px; font-size:.69rem; line-height:1.65; }
  .page-hero { padding:28px 0 20px; }
  .page-hero h1 { margin-bottom:16px; }
  .breadcrumb { margin-bottom:15px; font-size:.59rem; letter-spacing:.12em; }

  .protocol-art { min-height:0; padding:14px 16px; }
  .orbital { height:180px; }
  .planet { width:150px; height:150px; }
  .planet-letter { font-size:72px; }
  .orb-ring { max-width:280px; height:65px; }
  .ring-two { height:145px; }
  .art-top .eyebrow { font-size:.57rem; }
  .micro-tag { font-size:.56rem; padding:5px 7px; }
  .art-bottom { padding-top:10px; font-size:.58rem; letter-spacing:.05em; line-height:1.7; }
  .art-caption { font-size:.58rem; line-height:1.7; }
  .cube-one { width:40px; left:3px; bottom:20px; }
  .cube-two { width:30px; right:3px; top:17px; }
  .protocol-strip { padding:20px 0; }
  .strip-grid { gap:12px; }
  .strip-grid > div + div { padding-left:10px; }
  .strip-grid .eyebrow { font-size:.51rem; letter-spacing:.05em; }
  .strip-grid strong { font-size:1.6rem; margin-top:6px; }
  .strip-grid strong span { display:block; font-size:.71rem; }
  .strip-grid > p { display:block; }
  .strip-grid a { display:inline-flex; align-items:center; min-height:44px; margin-top:0; }

  .section { padding:34px 0; }
  .section-compact { padding-top:12px; }
  .section-heading { margin-bottom:22px; }
  .section-heading p { margin-top:16px; font-size:.9rem; }
  .features-grid, .split-section, .community-grid, .setup-grid { grid-template-columns:1fr; gap:14px; }
  .split-section { gap:24px; }
  .split-section h2 { margin-bottom:18px; }
  .split-section .text-link { margin-top:14px; }
  .feature-card, .reading-card, .workflow-card, .community-grid .reading-card { padding:20px; border-radius:14px; }
  .feature-card h3 { font-size:1.1rem; margin-bottom:10px; }
  .feature-card p { font-size:.88rem; line-height:1.7; }
  .card-top { margin-bottom:16px; }
  .icon-box { width:36px; height:36px; border-radius:9px; }
  .icon-box .icon { width:20px; height:20px; }
  .reading-card h2 { font-size:1.35rem; margin-bottom:18px; }
  .reading-card h3 { margin-bottom:12px; }
  .reading-card .icon-box { margin-bottom:18px; }
  .reading-card .btn { margin-top:18px; }
  .stack { gap:14px; }
  .workflow { margin:22px 0 14px; }
  .workflow li { gap:14px; padding-bottom:16px; }
  .workflow li + li { padding-top:16px; }
  .workflow li:last-child { padding-bottom:0; }
  .workflow h3 { font-size:1rem; margin-bottom:8px; }
  .workflow p { font-size:.86rem; }
  .fine-print { margin-top:14px; }
  .cta-panel { display:block; padding:22px; }
  .cta-panel h2 { margin:10px 0 12px; }
  .cta-panel .btn { margin-top:18px; }
  .disclaimer { margin-top:16px; font-size:.73rem; }

  .docs-layout, .faq-layout { gap:24px; }
  .docs-sidebar nav { gap:6px; }
  .docs-sidebar a { min-height:44px; display:inline-flex; align-items:center; padding:8px 10px; font-size:.77rem; }
  .docs-section { padding-bottom:24px; margin-bottom:24px; scroll-margin-top:0; }
  .docs-section h2 { font-size:1.55rem; margin:10px 0 18px; }
  .docs-section p, .docs-section li { font-size:.9rem; }
  .spec-list > div { grid-template-columns:1fr; gap:4px; padding:11px 0; }
  .spec-list dt { font-size:.77rem; }
  .spec-list dd { font-size:.88rem; }
  .hash-card { margin:16px 0; padding:16px; }
  .hash-card code { font-size:.74rem; }
  .hash-heading { align-items:center; margin-bottom:12px; }
  .hash-heading h3 { font-size:.79rem; }
  .copy-button { min-height:44px; min-width:44px; padding:7px 10px; flex-shrink:0; }
  .callout { padding:16px; margin:18px 0; }
  .calculation { padding:16px; margin:18px 0; }
  .calculation code { font-size:.84rem; }
  .quote-panel { margin:24px 0 18px; padding:16px 0 16px 18px; }
  blockquote { font-size:.95rem; }
  .numbered-list, .plain-list { margin:18px 0; padding-left:18px; }
  .numbered-list li, .plain-list li { margin-bottom:8px; }

  .download-grid { grid-template-columns:1fr; gap:14px; }
  .download-card { padding:20px; }
  .download-card h2 { font-size:1.3rem; margin-bottom:10px; }
  .download-card .card-top { margin-bottom:16px; }
  .download-card .plain-list { margin-block:12px 18px; }
  .download-card li { margin-bottom:6px; }
  .download-action .btn { width:auto; }
  .download-meta { margin-top:9px; font-size:.69rem; line-height:1.65; }
  .setup-grid { margin-top:24px; gap:20px; }
  .step-number { padding-bottom:10px; margin-bottom:14px; }
  .setup-grid p { margin-top:10px; }
  .maintainer { flex-wrap:wrap; gap:16px; }
  .maintainer .logo-mark { width:44px; height:44px; }
  .maintainer .text-link { margin-left:0; }
  .faq-guide > a { min-height:44px; display:inline-flex; align-items:center; padding:8px 10px; }
  .faq-group { margin-bottom:30px; scroll-margin-top:0; }
  .faq-group h2 { font-size:1.5rem; margin-bottom:18px; }
  .faq-item { margin-bottom:10px; }
  .faq-item summary { min-height:48px; padding:13px 16px; font-size:.87rem; gap:14px; }
  .faq-answer { padding:0 16px 16px; }

  .footer { padding:32px 0 18px; }
  .footer-main { flex-direction:column; gap:24px; padding-bottom:26px; }
  .footer-main p { margin:10px 0 14px; }
  .footer-main .eyebrow { font-size:.6rem; }
  .footer-wordmark { font-size:1.35rem; }
  .footer-navigation { gap:18px; }
  .footer-navigation h2 { margin-bottom:8px; }
  .footer-navigation a { min-height:44px; display:flex; align-items:center; padding:8px 0; }
  .footer-bottom { padding-top:16px; font-size:.69rem; }
  .error-page { padding:32px 0 45px; }
  .error-code { font-size:6rem; }
  .error-page h1 { font-size:1.75rem; }
}
/* A touch device should not retain a lifted hover state after a tap. */
@media (hover:none) and (max-width:860px) {
  .btn:hover, .feature-card:hover { transform:none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation:none !important; transition:none !important; }
}
