:root{--bg:#070c19;--bg2:#0b1428;--panel:#101d35;--panel2:#142440;--line:#294467;--line2:#41658e;--text:#f2f6ff;--muted:#aabbd1;--gold:#ffb94f;--cyan:#5dd8e8;--violet:#9b72ed;--max:1240px;--shadow:0 24px 70px #0008}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input{font:inherit}.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}.eyebrow,.tag,.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.12em}.eyebrow{font-size:.72rem;color:var(--cyan);font-weight:700}.muted{color:var(--muted)}.small{font-size:.88rem}
.site-header{height:74px;position:sticky;top:0;z-index:50;background:#070c19ed;border-bottom:1px solid #243653;backdrop-filter:blur(18px)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.09em}.brand-mark{width:38px;height:30px;display:block;position:relative;border:3px solid var(--cyan);border-radius:50%;transform:rotate(-25deg);box-shadow:0 0 18px #45d5ec55}.brand-mark:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--gold);top:-8px;right:0;box-shadow:0 0 12px #ffb94f}.brand small{display:block;color:#a9c0d9;font:700 9px ui-monospace,monospace;letter-spacing:.22em;margin-top:1px}.nav-links{display:flex;align-items:center;gap:28px;color:#c8d5e8;font-size:.9rem}.nav-links a{transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--gold)}.nav-cta{border:1px solid var(--gold);border-radius:7px;padding:10px 16px;color:var(--gold)!important;box-shadow:inset 0 0 18px #ffb94f0c}.menu-toggle{display:none;background:none;color:white;border:1px solid var(--line);padding:8px 11px;border-radius:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 19px;border-radius:7px;border:1px solid transparent;font-weight:800;font-size:.9rem;transition:.2s transform,.2s box-shadow,.2s background;cursor:pointer}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0008}.btn-primary{background:var(--gold);color:#11182a}.btn-secondary{border-color:var(--cyan);color:var(--cyan);background:#0a1428d9}.btn-ghost{border-color:var(--line2);color:var(--text);background:#101d35}
.hero{min-height:620px;position:relative;display:flex;align-items:center;overflow:hidden;background:#080e20}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 47%;opacity:.88}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#070c19 0%,#070c19e8 24%,#070c1950 54%,#070c1920 100%),linear-gradient(0deg,#070c19 0%,transparent 28%,#070c1940 100%)}.hero-content{position:relative;z-index:2;padding:85px 0 72px;max-width:600px}.hero h1{font-size:clamp(3.8rem,8vw,7rem);line-height:.86;letter-spacing:-.075em;margin:18px 0 22px;text-shadow:0 5px 30px #0009}.hero h1 span{display:block;color:var(--gold)}.hero-kicker{font-weight:800;letter-spacing:.2em;color:#e4edf9}.hero-lead{max-width:520px;font-size:1.15rem;color:#d5dfef;text-shadow:0 2px 12px #000}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}.hero-meta{display:flex;gap:0;margin-top:38px;max-width:510px;border:1px solid #6883a755;background:#081328b8;backdrop-filter:blur(12px);border-radius:10px;overflow:hidden}.meta-item{padding:13px 17px;flex:1;border-right:1px solid #6883a744}.meta-item:last-child{border:0}.meta-item strong{display:block;color:var(--gold);font-size:1.08rem}.meta-item span{font-size:.73rem;color:#c2d0e3}
.section{padding:74px 0;position:relative}.section.alt{background:linear-gradient(180deg,#0a1326,#0b1427)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.section h2,.page-hero h1{font-size:clamp(2rem,4vw,3.35rem);line-height:1.05;letter-spacing:-.05em;margin:8px 0 14px}.section-intro{max-width:650px;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.feature,.card,.panel{background:linear-gradient(145deg,#142541f2,#0c172b);border:1px solid var(--line);border-radius:11px;box-shadow:0 12px 32px #0003}.feature{padding:20px 17px;min-height:185px}.feature-icon{font-size:1.7rem;color:var(--gold);filter:drop-shadow(0 0 10px #ffb94f66)}.feature h3{font-size:1rem;margin:9px 0 6px}.feature p{font-size:.83rem;color:var(--muted);margin:0}.split{display:grid;grid-template-columns:1fr 1.1fr;gap:36px;align-items:center}.art-frame{border:1px solid var(--line2);border-radius:12px;overflow:hidden;box-shadow:var(--shadow);background:var(--panel)}.art-frame img{width:100%;aspect-ratio:16/9;object-fit:cover}.split-copy p{color:var(--muted)}.check-list{padding:0;list-style:none}.check-list li{padding:9px 0;border-bottom:1px solid #263b59;color:#d0dced}.check-list li:before{content:'✦';color:var(--gold);margin-right:12px}
.home-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.home-card{overflow:hidden}.home-card .card-image{width:100%;height:210px;object-fit:cover}.home-card-body{padding:22px}.home-card h3{margin:5px 0 8px;font-size:1.35rem}.home-card p{margin:0;color:var(--muted)}.home-stack{display:grid;gap:16px}.dev-banner{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:26px 28px;border:1px solid var(--line2);border-radius:12px;background:linear-gradient(105deg,#122440eF,#171d3ceF),url('/assets/images/rover-expedition.webp') center/cover}.status{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #d4a64f;border-radius:5px;color:var(--gold);font:700 .7rem ui-monospace,monospace;letter-spacing:.08em}.status:before{content:'';width:7px;height:7px;background:#53df9b;border-radius:50%;box-shadow:0 0 12px #53df9b}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.news-card{overflow:hidden;transition:.2s transform,.2s border-color}.news-card:hover{transform:translateY(-4px);border-color:#6f95c5}.news-card img{width:100%;height:185px;object-fit:cover;border-bottom:1px solid var(--line)}.news-card-body{padding:18px}.news-card h3{font-size:1.05rem;margin:7px 0}.news-card p{color:var(--muted);font-size:.87rem}.tag{font-size:.65rem;color:var(--cyan)}.beta-strip{padding:0;border:1px solid #8a6b42;border-radius:13px;overflow:hidden;background:#111a31;display:grid;grid-template-columns:1fr 1fr;min-height:250px}.beta-strip-copy{padding:32px}.beta-strip-art{min-height:250px;background:url('/assets/images/rover-expedition.webp') center/cover}.beta-strip h2{margin:7px 0}.site-footer{border-top:1px solid var(--line);padding:30px 0 22px;background:#060b16}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:28px}.footer-links{display:flex;gap:24px;color:var(--muted);font-size:.85rem}.footer-links a:hover{color:var(--gold)}.copyright{border-top:1px solid #253650;margin-top:22px;padding-top:15px;color:#8193ab;font-size:.74rem;display:flex;justify-content:space-between;gap:15px}
.page-hero{position:relative;padding:95px 0 65px;overflow:hidden;background:linear-gradient(90deg,#080f20f2,#0b1428b5),url('/assets/images/colony-overview.webp') center 48%/cover;border-bottom:1px solid var(--line)}.page-hero p{max-width:720px;color:#c1cee0;font-size:1.08rem}.page-hero h1{font-size:clamp(2.7rem,6vw,4.7rem);margin:12px 0}.content{padding:48px 0 80px}.content h2{margin-top:32px}.content p,.content li{color:#c2cee0}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}.panel{padding:24px}.panel h2,.panel h3{margin-top:0}.roadmap{display:grid;gap:11px}.roadmap-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;background:#0c182d;border:1px solid var(--line);border-radius:8px}.pill{font:700 .68rem ui-monospace,monospace;padding:5px 8px;border-radius:4px;background:#203b3d;color:#8ee0c9}.pill.progress{background:#493b20;color:#f6c76d}.pill.active{background:#1c3553;color:#89cfff}.beta-callout{padding:28px;border:1px solid var(--gold);border-radius:10px;text-align:center;background:linear-gradient(120deg,#191d37,#172947)}.beta-callout strong{display:block;color:var(--gold);font-size:1.2rem;letter-spacing:.04em}.access-layout{display:grid;grid-template-columns:1fr .8fr;gap:22px}.field{width:100%;padding:13px 14px;border:1px solid #506b90;border-radius:7px;background:#081327;color:white;margin:8px 0 13px}.field:focus{outline:2px solid var(--cyan);outline-offset:2px}.notice{padding:14px;border:1px solid #416b7d;background:#12283a;color:#cce7ec;border-radius:7px;font-size:.88rem;margin-top:15px}.notice.error{border-color:#9c6555;background:#321f2a;color:#ffd3c5}.notice[hidden]{display:none}.post-meta{color:var(--gold);font:700 .72rem ui-monospace,monospace;letter-spacing:.08em}.post-body{max-width:800px}.post-body p{font-size:1.02rem;line-height:1.85}.not-found{text-align:center;padding:100px 0}.not-found strong{font-size:clamp(5rem,20vw,10rem);line-height:1;color:var(--violet);text-shadow:0 0 40px #9b72ed66}.reveal{opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.feature-grid{grid-template-columns:repeat(3,1fr)}.hero{min-height:590px}.home-grid{grid-template-columns:1fr 1fr}.nav-links{gap:17px}.hero:after{background:linear-gradient(90deg,#070c19 0%,#070c19d8 35%,#070c1940 100%),linear-gradient(0deg,#070c19 0%,transparent 35%)}}
@media(max-width:760px){.site-header{height:66px}.nav-links{display:none;position:absolute;top:66px;left:0;right:0;background:#091226;padding:18px 22px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.menu-toggle{display:block}.nav-cta{display:none}.hero{min-height:650px;align-items:end}.hero-bg{object-position:58% center}.hero:after{background:linear-gradient(0deg,#070c19 0%,#070c19e8 30%,#070c1950 100%)}.hero-content{padding:100px 0 40px}.hero h1{font-size:clamp(3.7rem,15vw,5.8rem)}.hero-meta{max-width:none}.split,.two-col,.access-layout{grid-template-columns:1fr}.feature-grid{grid-template-columns:repeat(2,1fr)}.home-grid{grid-template-columns:1fr}.news-grid{grid-template-columns:repeat(2,1fr)}.beta-strip{grid-template-columns:1fr}.beta-strip-art{min-height:190px;grid-row:1}.footer-main{align-items:flex-start;flex-direction:column}.footer-links{flex-wrap:wrap}.section{padding:56px 0}}
@media(max-width:520px){.wrap{width:calc(100% - 30px)}.hero-meta{display:grid;grid-template-columns:1fr 1fr}.meta-item{border-bottom:1px solid #6883a744}.meta-item:nth-child(2){border-right:0}.meta-item:last-child{grid-column:span 2;border-bottom:0}.feature-grid,.news-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.copyright{flex-direction:column}.page-hero{padding:68px 0 42px}.panel{padding:19px}.beta-strip-copy{padding:23px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}


/* ---------------------------------------------------------
   CATVOLT STUDIO — layout refinement / 2026-11-06
   Shared rhythm, responsive containers and editorial cards.
   --------------------------------------------------------- */
:root {
  --max: 1200px;
  --gutter: clamp(20px, 4vw, 40px);
  --space-1: 8px;
  --space-2: 12px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
  --space-7: 64px;
  --space-8: 88px;
}
html { scroll-padding-top: 82px; }
body { font-size: 16px; line-height: 1.7; letter-spacing: .005em; -webkit-font-smoothing: antialiased; }
.wrap { width: min(var(--max), calc(100% - 2 * var(--gutter))); margin-inline: auto; }

/* Header: one consistent, centered navigation bar on every page. */
.site-header { height: 76px; position: sticky; top: 0; z-index: 100; }
.site-header .nav { min-height: 76px; }
.brand { flex: 0 0 auto; line-height: 1.15; }
.nav-links { gap: clamp(14px, 2.1vw, 28px); font-size: .86rem; white-space: nowrap; }
.nav-links a:not(.nav-cta) { padding-block: 10px; }
.nav-cta { padding: 9px 14px; }

/* Type scale: expressive display headings, calm and readable body copy. */
h1, h2, h3, h4 { color: var(--text); font-weight: 800; line-height: 1.12; letter-spacing: -.035em; }
h1 { text-wrap: balance; }
h2 { font-size: clamp(1.8rem, 3.2vw, 2.65rem); margin: 0 0 16px; }
h3 { font-size: 1.16rem; margin: 0 0 10px; }
p { margin: 0 0 16px; }
.eyebrow, .tag, .post-meta { font-size: .68rem; line-height: 1.5; letter-spacing: .14em; }
.eyebrow { margin-bottom: 12px; }
.muted, .section-intro { color: var(--muted); }

/* Home hero: full-bleed art, no intrinsic-image width cap or floating image. */
.hero {
  min-height: clamp(610px, calc(100svh - 76px), 790px);
  display: flex;
  align-items: center;
  isolation: isolate;
}
.hero-bg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
  opacity: .92;
}
.hero:after {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(7,12,25,.96) 0%, rgba(7,12,25,.78) 30%, rgba(7,12,25,.20) 68%, rgba(7,12,25,.08) 100%),
    linear-gradient(0deg, rgba(7,12,25,.88) 0%, transparent 38%, rgba(7,12,25,.12) 100%);
}
.hero > .wrap { position: relative; z-index: 2; }
.hero-content { width: min(100%, 620px); max-width: 620px; padding: clamp(64px, 9vh, 100px) 0; }
.hero h1 { font-size: clamp(3.5rem, 7.2vw, 6.4rem); line-height: .91; letter-spacing: -.065em; margin: 18px 0 20px; }
.hero-lead { max-width: 540px; font-size: clamp(1rem, 1.4vw, 1.18rem); line-height: 1.65; }
.hero-actions { gap: 12px; margin-top: 26px; }
.hero-meta { margin-top: 34px; max-width: 560px; }

/* Sections and grids use a consistent vertical rhythm. */
.section { padding: clamp(56px, 7vw, 88px) 0; }
.section-head { align-items: end; margin-bottom: 30px; }
.section-head > div { max-width: 720px; }
.section-intro { max-width: 650px; margin-top: 12px; }
.home-grid { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 22px; align-items: stretch; }
.home-stack { gap: 22px; }
.home-card { display: flex; flex-direction: column; min-width: 0; }
.home-card .card-image { height: clamp(190px, 22vw, 270px); object-fit: cover; }
.home-card-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: clamp(20px, 2.3vw, 30px); }
.home-card h3 { font-size: clamp(1.18rem, 1.6vw, 1.45rem); margin: 8px 0 10px; }
.home-card p { line-height: 1.65; }
.home-card-body > p:last-child { margin-top: auto !important; padding-top: 12px; margin-bottom: 0; }
.feature-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.feature { min-width: 0; min-height: 190px; padding: 22px 19px; }
.feature h3 { margin: 12px 0 8px; }
.feature p { line-height: 1.6; }

/* News index: balanced two-column editorial cards, equal card rhythm. */
.news-index .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; align-items: stretch; }
.news-card { display: flex; flex-direction: column; min-width: 0; height: 100%; }
.news-card img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; flex: 0 0 auto; }
.news-card-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: clamp(20px, 2.3vw, 28px); }
.news-card h3 { margin: 10px 0 10px; font-size: clamp(1.12rem, 1.6vw, 1.35rem); line-height: 1.25; }
.news-card p { margin: 0 0 16px; font-size: .94rem; line-height: 1.7; }
.news-card-body > .tag:last-child { margin-top: auto; padding-top: 8px; }
.news-grid:not(.news-index .news-grid) { gap: 20px; }

/* Page mastheads and reading column. */
.page-hero { padding: clamp(66px, 8vw, 100px) 0 clamp(42px, 5vw, 66px); }
.page-hero .wrap { max-width: var(--max); }
.page-hero h1 { max-width: 900px; font-size: clamp(2.65rem, 5.4vw, 4.4rem); line-height: 1.04; margin: 12px 0 16px; }
.page-hero p { max-width: 700px; font-size: clamp(1rem, 1.3vw, 1.12rem); line-height: 1.75; margin: 0; }
.content { padding: clamp(38px, 5vw, 60px) 0 clamp(64px, 7vw, 88px); }
.content > .wrap > .split,
.content > .wrap > .two-col,
.content > .wrap > .access-layout { gap: clamp(24px, 3vw, 40px); }
.content h2 { margin: 0 0 16px; }
.content p, .content li { line-height: 1.75; }
.split { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); }
.split > div:first-child p:last-child { margin-bottom: 0; }
.art-frame { border-radius: 12px; }
.art-frame img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

/* News article pages: readable measure and deliberate spacing around media/actions. */
.post-body { width: min(100%, 820px); margin-inline: auto; }
.post-meta { margin-bottom: 22px; }
.post-body p { font-size: 1rem; line-height: 1.85; margin: 0 0 20px; }
.post-body h2 { margin: 38px 0 14px; font-size: clamp(1.55rem, 2.6vw, 2rem); }
.post-body h3 { margin: 28px 0 12px; }
.post-body .art-frame { margin: 26px 0 32px !important; }
.post-body .art-frame img { aspect-ratio: 16 / 9; object-fit: cover; }
.post-body .btn, .post-body p > .btn { margin-top: 12px; }
.post-body > p:last-child { margin-bottom: 0; }

/* Buttons never collapse against nearby copy or one another. */
.btn { min-height: 44px; padding: 11px 18px; line-height: 1.25; white-space: normal; text-align: center; }
.hero-actions .btn { min-height: 46px; }
.panel { padding: clamp(22px, 2.6vw, 32px); }
.panel h2, .panel h3 { margin-top: 0; }
.roadmap { gap: 12px; }
.roadmap-row { min-height: 56px; }
.access-layout { align-items: start; }
.field { display: block; margin: 8px 0 16px; }

/* Footer: stable alignment and generous breathing room. */
.site-footer { padding: 36px 0 24px; }
.footer-main { align-items: center; }
.footer-links { gap: clamp(14px, 2vw, 26px); flex-wrap: wrap; }
.copyright { margin-top: 26px; padding-top: 18px; line-height: 1.5; }

@media (max-width: 980px) {
  .feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-grid { grid-template-columns: 1fr 1fr; }
  .nav-links { gap: 14px; }
  .hero { min-height: 620px; }
}
@media (max-width: 760px) {
  .site-header, .site-header .nav { height: 68px; min-height: 68px; }
  .nav-links { top: 68px; gap: 8px; padding: 16px var(--gutter) 22px; }
  .nav-links a { padding: 9px 0; }
  .hero { min-height: min(760px, calc(100svh - 68px)); align-items: end; }
  .hero-bg { object-position: 60% center; }
  .hero:after { background: linear-gradient(0deg, rgba(7,12,25,.98) 0%, rgba(7,12,25,.80) 38%, rgba(7,12,25,.18) 100%); }
  .hero-content { padding: 100px 0 38px; }
  .hero h1 { font-size: clamp(3.4rem, 13vw, 5.5rem); }
  .home-grid, .split, .two-col, .access-layout { grid-template-columns: 1fr; }
  .home-stack { gap: 18px; }
  .home-card .card-image { height: auto; aspect-ratio: 16 / 9; }
  .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .news-index .news-grid { grid-template-columns: 1fr; gap: 22px; }
  .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .beta-strip { grid-template-columns: 1fr; }
  .beta-strip-art { grid-row: 1; min-height: 220px; }
  .footer-main { align-items: flex-start; flex-direction: column; }
  .footer-links { gap: 12px 20px; }
}
@media (max-width: 520px) {
  :root { --gutter: 18px; }
  .hero { min-height: 690px; }
  .hero-meta { display: grid; grid-template-columns: 1fr 1fr; }
  .meta-item { min-width: 0; padding: 12px; }
  .feature-grid, .news-grid { grid-template-columns: 1fr; }
  .section-head { align-items: flex-start; flex-direction: column; gap: 16px; }
  .page-hero { padding: 62px 0 42px; }
  .content { padding: 34px 0 60px; }
  .panel { padding: 20px; }
  .beta-strip-copy { padding: 24px; }
  .copyright { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
