:root { --ink: #17202b; --paper: #f5f4ef; --blue: #000080; --teal: #008080; --gray: #c0c0c0; --line: #bbc2cb; --yellow: #ffe75a; --shadow: 7px 7px 0 #17202b; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); font-family: "MS Sans Serif", Tahoma, Geneva, sans-serif; line-height: 1.5; margin: 0; }
a { color: var(--blue); }
.site-shell { margin: auto; max-width: 1180px; padding: 0 28px; }
.topbar { align-items: center; border-bottom: 2px solid var(--ink); display: flex; justify-content: space-between; padding: 20px 0; }
.wordmark { align-items: center; color: var(--ink); display: flex; font: 800 20px/1 Arial, sans-serif; gap: 9px; letter-spacing: -1px; text-decoration: none; }
.r-mark { align-items: center; background: var(--blue); box-shadow: inset -2px -2px #000, inset 2px 2px #55aaff; color: white; display: inline-flex; font: 800 21px/1 Arial, sans-serif; height: 31px; justify-content: center; letter-spacing: -4px; width: 31px; }
.r-mark span { color: var(--yellow); font-size: 11px; margin-left: 2px; }
nav { display: flex; gap: 24px; }
nav a { color: var(--ink); font-size: 13px; text-decoration: none; }
nav a:hover { text-decoration: underline; }
.hero { align-items: center; display: grid; gap: 50px; grid-template-columns: 1fr 1fr; min-height: 620px; padding: 75px 0 85px; }
.eyebrow { color: var(--blue); font-size: 12px; font-weight: 700; letter-spacing: 1.6px; margin: 0 0 16px; text-transform: uppercase; }
h1 { font: 800 clamp(46px, 7vw, 82px)/.95 Arial, sans-serif; letter-spacing: -5px; margin: 0 0 24px; max-width: 650px; }
h1 em { color: var(--blue); font-style: normal; }
.hero-copy > p { font-size: 18px; max-width: 510px; }
.cta-row { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 29px; }
.button { background: var(--gray); border: 0; box-shadow: inset -2px -2px #000, inset 2px 2px #fff, inset -3px -3px #808080, inset 3px 3px #dfdfdf; color: var(--ink); display: inline-block; font-weight: 700; padding: 11px 18px; text-decoration: none; }
.button.primary { background: var(--blue); color: #fff; box-shadow: inset -2px -2px #000, inset 2px 2px #55aaff; }
.button:active { transform: translate(2px, 2px); }
.hero-window { background: var(--gray); box-shadow: var(--shadow), inset -2px -2px #000, inset 2px 2px #fff; padding: 4px; transform: rotate(1deg); }
.window-title { align-items: center; background: var(--blue); color: #fff; display: flex; font-weight: 700; justify-content: space-between; padding: 5px 7px; }
.window-title span:last-child { letter-spacing: 3px; }
.window-screen { background: #008080; min-height: 310px; padding: 35px 28px 25px; }
.window-screen::before { color: #d8ffff; content: "C:\\RETR-0\\WEB> retrofy.exe"; display: block; font: 14px/2 "Courier New", monospace; }
.browser-frame { background: #fff; box-shadow: inset 2px 2px #808080, inset -2px -2px #fff; color: var(--ink); margin: 18px 0 0; padding: 12px; }
.browser-head { border-bottom: 1px solid #808080; font-size: 11px; padding-bottom: 7px; }
.browser-lines { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; margin-top: 13px; }
.browser-lines i { background: #d4d0c8; display: block; height: 24px; }
.browser-lines i:first-child { background: #000080; grid-column: span 2; height: 35px; }
.placeholder { border: 2px dashed #808080; color: #555; display: grid; min-height: 230px; place-items: center; padding: 20px; text-align: center; }
.strip { background: var(--blue); color: #fff; font-size: 12px; padding: 10px 0; }
.strip .site-shell { display: flex; justify-content: space-between; }
section { padding: 100px 0; }
.section-label { color: var(--blue); font-size: 12px; font-weight: 700; letter-spacing: 1.4px; margin-bottom: 12px; text-transform: uppercase; }
h2 { font: 800 clamp(31px, 4vw, 52px)/1 Arial, sans-serif; letter-spacing: -2px; margin: 0 0 17px; }
.intro { font-size: 18px; max-width: 650px; }
.feature-grid { display: grid; gap: 17px; grid-template-columns: repeat(4, 1fr); margin-top: 43px; }
.feature-card { border: 1px solid var(--line); padding: 21px; }
.feature-card strong { display: block; font-size: 16px; margin-bottom: 8px; }
.feature-card p { color: #4b5663; font-size: 13px; margin: 0; }
.feature-icon { color: var(--blue); font: 700 23px/1 "Courier New", monospace; margin-bottom: 18px; }
.steps { background: #e5e6e2; }
.step-grid { display: grid; gap: 0; grid-template-columns: repeat(4, 1fr); margin-top: 45px; }
.step { border-top: 2px solid var(--ink); padding: 18px 25px 0 0; position: relative; }
.step:not(:last-child)::after { content: "→"; font-size: 28px; position: absolute; right: 22px; top: 9px; }
.step b { color: var(--blue); display: block; font: 800 35px/1 Arial, sans-serif; margin-bottom: 13px; }
.step strong { display: block; margin-bottom: 4px; }
.comparison { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; margin-top: 42px; }
.comparison figure { margin: 0; }
.comparison figcaption { font-size: 12px; font-weight: 700; margin-top: 10px; }
.dark-placeholder { background: #151b25; color: #fff; }
.repo { background: var(--teal); color: #fff; }
.repo h2 { max-width: 580px; }
.repo .button { color: var(--ink); }
.footer { border-top: 2px solid var(--ink); display: flex; font-size: 12px; justify-content: space-between; padding: 25px 0 35px; }
.footer p { margin: 0; }
.docs-hero { padding: 75px 0 50px; }
.docs-layout { display: grid; gap: 55px; grid-template-columns: 200px 1fr; padding-bottom: 90px; }
.docs-nav { align-self: start; position: sticky; top: 24px; }
.docs-nav a { display: block; font-size: 13px; margin-bottom: 10px; text-decoration: none; }
.docs-nav a:hover { text-decoration: underline; }
.docs-content { max-width: 750px; }
.docs-content h2 { font-size: 30px; margin-top: 52px; }
.docs-content h3 { font-size: 18px; margin-top: 28px; }
.docs-content code { background: #e5e6e2; padding: 2px 4px; }
.code-block { background: #17202b; color: #d8ffff; font: 13px/1.65 "Courier New", monospace; overflow-x: auto; padding: 17px; }
.callout { background: #fffbe0; border-left: 5px solid #d4b600; margin: 22px 0; padding: 15px 17px; }
@media (max-width: 800px) { .hero { gap: 25px; grid-template-columns: 1fr; padding-top: 50px; } .hero-window { max-width: 530px; width: 100%; } .feature-grid { grid-template-columns: 1fr 1fr; } .step-grid { grid-template-columns: 1fr 1fr; row-gap: 30px; } .step:nth-child(2)::after { display: none; } .docs-layout { grid-template-columns: 1fr; } .docs-nav { position: static; } }
@media (max-width: 520px) { .site-shell { padding: 0 18px; } nav { gap: 11px; } nav a:nth-child(2) { display: none; } .feature-grid, .comparison { grid-template-columns: 1fr; } .step-grid { grid-template-columns: 1fr; } .step:not(:last-child)::after { display: none; } h1 { letter-spacing: -3px; } }
