:root {
  color-scheme: dark;
  --navy: #002635;
  --navy-deep: #001c28;
  --panel: #062f3e;
  --panel-soft: rgba(7, 50, 65, .7);
  --cyan: #079eb0;
  --teal: #32bb99;
  --lime: #78dc4d;
  --text: #f7f9fa;
  --muted: #91a4ac;
  --line: rgba(255, 255, 255, .12);
  --gradient: linear-gradient(100deg, var(--cyan), var(--teal) 52%, var(--lime));
  --max: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; overflow-x: hidden; background: var(--navy); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; }
body::before { content: ""; position: fixed; inset: 0; z-index: -2; background: radial-gradient(circle at 80% 10%, rgba(50,187,153,.11), transparent 28%), radial-gradient(circle at 10% 50%, rgba(7,158,176,.08), transparent 32%), linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: auto, auto, 54px 54px, 54px 54px; }
a { color: inherit; }

.site-header, main, .site-footer { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.site-header { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 30px; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.brand-icon { width: 46px; height: 42px; flex: 0 0 auto; background: var(--navy) url("./assets/opendrift-mark-cropped.png") center / 88% auto no-repeat; border-radius: 8px; }
.flash-page .brand-icon { background-image: url("./assets/opendrift-mark-cropped.png"); }
.brand-name { font-size: 17px; font-weight: 500; letter-spacing: -.04em; }
.brand-name span { background: var(--gradient); color: transparent; background-clip: text; -webkit-background-clip: text; }
nav { display: flex; align-items: center; gap: 26px; }
nav a { color: #c3ced2; font-size: 13px; text-decoration: none; }
nav a:hover { color: var(--lime); }
.nav-cta { padding: 10px 15px; border: 1px solid rgba(120,220,77,.45); border-radius: 6px; color: var(--text); }
.mobile-menu-toggle { display: none; }

.home-hero { min-height: 700px; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 70px; padding: 80px 0 100px; }
.eyebrow, .kicker, .section-label, .card-label, .feature-number, .telemetry-tag, .card-topline, .install-card small { font: 700 10px/1.3 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0; color: #b5c4c9; }
.eyebrow > span { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 16px rgba(120,220,77,.8); }
.hero-wordmark { width: min(650px, 100%); height: clamp(100px, 12vw, 150px); margin: 25px auto 0; background: url("./assets/opendrift-wordmark-cropped.png") center / contain no-repeat; }
h1 { margin: 10px 0 24px; font-size: clamp(48px, 6.2vw, 82px); line-height: .94; letter-spacing: -.065em; }
h1 em { color: transparent; font-style: normal; -webkit-text-stroke: 1px rgba(247,249,250,.55); }
.lede { max-width: 650px; margin: 0; color: #adc0c6; font-size: clamp(17px, 1.8vw, 21px); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.button, .install-button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 28px; padding: 0 22px; border: 0; border-radius: 6px; font-family: inherit; font-size: 13px; font-weight: 750; line-height: 1; text-decoration: none; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.button:hover, .install-button:hover { transform: translateY(-2px); }
.button.primary, .install-button { background: var(--gradient); color: #00242f; box-shadow: 0 16px 45px rgba(50,187,153,.14); }
.button.ghost { border: 1px solid var(--line); background: rgba(255,255,255,.025); color: var(--text); }
.button.ghost:hover { border-color: rgba(50,187,153,.55); }
.hero-art { position: relative; min-height: 510px; display: grid; place-items: center; }
.hero-mark { position: relative; z-index: 2; width: min(500px, 100%); aspect-ratio: 1; background: url("./assets/opendrift-mark.png") center / 138% auto no-repeat; filter: drop-shadow(0 35px 70px rgba(0,0,0,.35)); }
.orbit { position: absolute; border: 1px solid rgba(50,187,153,.16); border-radius: 50%; }
.orbit-one { width: 390px; height: 390px; }
.orbit-two { width: 510px; height: 510px; border-style: dashed; }
.telemetry-tag { position: absolute; z-index: 3; padding: 8px 10px; border: 1px solid var(--line); background: rgba(0,28,40,.75); color: #89a1a9; }
.tag-one { top: 70px; right: 5px; }.tag-two { bottom: 70px; left: 0; }

.metric-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--line); }
.metric-strip div { min-height: 126px; display: flex; flex-direction: column; justify-content: center; padding: 22px 28px; }
.metric-strip div + div { border-left: 1px solid var(--line); }
.metric-strip strong { font-size: 25px; letter-spacing: -.04em; }
.metric-strip span { color: var(--muted); font-size: 12px; }

.section-grid { display: grid; grid-template-columns: 150px minmax(0, .8fr) minmax(400px, 1.2fr); gap: 45px; padding: 120px 0; border-bottom: 1px solid var(--line); }
.section-label { color: #5e7a84; }
.kicker { margin: 0 0 12px; background: var(--gradient); color: transparent; background-clip: text; -webkit-background-clip: text; }
h2 { margin: 0; font-size: clamp(36px, 5.2vw, 62px); line-height: .98; letter-spacing: -.058em; }
.section-copy > p:last-child, .section-heading-row > p, .open-section p, .finish-section > p { color: var(--muted); }
.section-copy > p:last-child { margin: 24px 0 0; font-size: 16px; }
.principles { display: grid; }
.principles article { display: grid; grid-template-columns: 42px 140px 1fr; align-items: baseline; gap: 14px; padding: 25px 0; border-top: 1px solid var(--line); }
.principles article:last-child { border-bottom: 1px solid var(--line); }
.principles span { color: var(--teal); font: 700 10px/1 ui-monospace, monospace; }
.principles h3, .principles p { margin: 0; }.principles h3 { font-size: 16px; }.principles p { color: var(--muted); font-size: 13px; }

.features-section, .workflow-section, .installer-section { padding: 120px 0; border-bottom: 1px solid var(--line); }
.section-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 50px; }
.section-heading-row > p { max-width: 500px; margin: 0; }
.feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.feature { position: relative; min-height: 290px; padding: 28px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: linear-gradient(145deg, rgba(7,50,65,.82), rgba(0,28,40,.72)); }
.feature-wide { grid-column: 1 / -1; min-height: 330px; display: grid; grid-template-columns: 60px minmax(0, .75fr) minmax(300px, 1.25fr); align-items: center; gap: 24px; }
.feature-number { color: #5e7a84; }
.feature h3 { margin: 45px 0 10px; font-size: 25px; letter-spacing: -.035em; }
.feature-wide h3 { margin-top: 0; font-size: 33px; }
.feature p { max-width: 540px; margin: 0; color: var(--muted); font-size: 14px; }
.feature-badge, .pill { display: inline-flex; padding: 6px 8px; border: 1px solid rgba(120,220,77,.35); border-radius: 999px; color: var(--lime); font: 700 9px/1 ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.experimental .feature-badge { position: absolute; top: 27px; right: 27px; }
.trace { height: 150px; display: flex; align-items: center; background: repeating-linear-gradient(0deg, transparent 0 29px, rgba(255,255,255,.05) 30px), repeating-linear-gradient(90deg, transparent 0 59px, rgba(255,255,255,.05) 60px); }
.trace i { display: block; width: 100%; height: 80px; background: var(--gradient); clip-path: polygon(0 51%, 8% 50%, 14% 69%, 22% 23%, 31% 52%, 39% 45%, 47% 68%, 56% 17%, 64% 50%, 72% 55%, 82% 31%, 90% 61%, 100% 44%, 100% 48%, 90% 65%, 82% 35%, 72% 59%, 64% 54%, 56% 21%, 47% 72%, 39% 49%, 31% 56%, 22% 27%, 14% 73%, 8% 54%, 0 55%); filter: drop-shadow(0 0 8px rgba(50,187,153,.6)); }

.hardware-cards { display: grid; gap: 14px; }
.hardware-card { display: grid; grid-template-columns: 220px 1fr; align-items: center; gap: 28px; min-height: 300px; padding: 25px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-soft); }
.legacy-card { min-height: 220px; opacity: .78; }
.board-render { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; margin: auto; border: 5px solid #183f4c; background: radial-gradient(circle at 30% 25%, rgba(50,187,153,.35), transparent 35%), radial-gradient(circle at 70% 75%, rgba(120,220,77,.18), transparent 35%), var(--navy-deep); box-shadow: 0 24px 48px rgba(0,0,0,.3); }
.amoled-render { width: 125px; height: 205px; border-radius: 24px; transform: rotate(4deg); }
.amoled-render span, .amoled-render strong { line-height: .9; font-size: 17px; }.amoled-render strong { color: var(--teal); }.amoled-render i { width: 60px; height: 2px; margin-top: 18px; background: var(--gradient); }
.round-render { width: 150px; height: 150px; border-radius: 50%; }.round-render strong { font-size: 30px; }
.card-label { margin: 0 0 6px; color: var(--teal); }.hardware-card h3, .install-card h3 { margin: 0; font-size: 27px; letter-spacing: -.04em; }.hardware-card ul { padding: 0; margin: 18px 0 0; list-style: none; color: var(--muted); font-size: 13px; }.hardware-card li { padding: 5px 0; }.hardware-card li::before { content: "—"; margin-right: 8px; color: var(--teal); }.hardware-card p:last-child { color: var(--muted); }

.workflow-section > h2 { max-width: 850px; }
.workflow-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 55px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.workflow-grid article { min-height: 260px; padding: 25px; background: rgba(0,28,40,.38); }.workflow-grid article + article { border-left: 1px solid var(--line); }.workflow-grid strong { color: var(--teal); font: 700 11px/1 monospace; }.workflow-grid h3 { margin: 55px 0 10px; font-size: 21px; }.workflow-grid p { margin: 0; color: var(--muted); font-size: 13px; }
.open-section { min-height: 420px; display: grid; grid-template-columns: 180px minmax(0, 1fr) 260px; align-items: center; gap: 42px; padding: 80px 0; }
.open-logo { width: 180px; aspect-ratio: 1; background: url("./assets/opendrift-mark-cropped.png") center / 88% auto no-repeat; }
.open-section p { max-width: 620px; }.open-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }.text-link { color: #b9c8cd; font-size: 12px; text-underline-offset: 5px; }

.site-footer { min-height: 170px; display: flex; align-items: center; justify-content: space-between; gap: 30px; border-top: 1px solid var(--line); }.site-footer p { color: #66818a; font-size: 12px; }.site-footer > div { display: flex; gap: 18px; color: #82979e; font-size: 11px; }.site-footer a { text-decoration: none; }

/* Installer */
.flash-hero { min-height: 570px; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 70px; padding: 60px 0 90px; border-bottom: 1px solid var(--line); }
.installer-lockup { min-height: 430px; background: url("./assets/opendrift-installer-mark-cropped.png") center / contain no-repeat; }
.flash-intro h1 { margin-top: 24px; }.flash-intro > p:not(.eyebrow) { max-width: 620px; color: var(--muted); font-size: 18px; }.flash-intro .button { margin-top: 20px; }
.prep-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }.prep-grid article { min-height: 220px; padding: 28px; background: rgba(0,28,40,.4); }.prep-grid article + article { border-left: 1px solid var(--line); }.prep-grid strong { color: var(--teal); font: 700 11px/1 monospace; }.prep-grid h3 { margin: 50px 0 10px; }.prep-grid p { margin: 0; color: var(--muted); font-size: 13px; }
.board-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }.install-card { display: flex; flex-direction: column; min-height: 690px; padding: 25px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-soft); }.install-card.recommended { border-color: rgba(50,187,153,.42); }.card-topline { display: flex; justify-content: space-between; align-items: center; color: #63808a; }.legacy .pill { border-color: rgba(145,164,172,.35); color: #a0b0b6; }.board-stage { min-height: 280px; display: grid; place-items: center; margin: 22px 0; border-radius: 10px; background: rgba(0,28,40,.62); }.card-copy { flex: 1; color: var(--muted); font-size: 14px; }
esp-web-install-button { display: block; margin-top: 18px; }.install-button { width: 100%; justify-content: space-between; font-family: inherit; }.install-button.secondary { background: #194352; color: var(--text); box-shadow: none; }.install-card small { display: block; margin-top: 11px; color: #66818a; }.browser-warning { padding: 13px; border: 1px solid rgba(120,220,77,.35); border-radius: 6px; color: #c9efb8; font-size: 12px; }.notice { display: flex; gap: 14px; margin-top: 16px; padding: 17px 20px; border-left: 2px solid var(--teal); background: rgba(50,187,153,.06); color: var(--muted); font-size: 13px; }.notice strong { color: var(--text); }
.release-pause { display: flex; gap: 14px; margin-bottom: 18px; padding: 18px 20px; border: 1px solid rgba(255,183,77,.34); border-radius: 8px; background: rgba(255,183,77,.07); color: #c5d0d3; font-size: 13px; }.release-pause strong { color: #ffd18a; }.install-disabled { display: block; margin-top: 18px; }.install-button:disabled { transform: none; background: #173643; color: #78909a; box-shadow: none; cursor: not-allowed; opacity: .72; }.install-button:disabled span { font: 700 9px/1 ui-monospace, monospace; letter-spacing: .12em; }
.recovery-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }.recovery-list li { min-height: 90px; display: grid; grid-template-columns: 70px 1fr; align-items: center; border-bottom: 1px solid var(--line); }.recovery-list span { color: var(--teal); font: 700 11px/1 monospace; }.recovery-list p { margin: 0; color: #b8c7cc; }
.finish-section { min-height: 500px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }.finish-section h2 { max-width: 850px; }.finish-section .button { margin-top: 24px; }

/* Tuning guide */
.guide-hero { min-height: 610px; display: flex; flex-direction: column; justify-content: center; padding: 95px 0 105px; }
.guide-hero h1 { max-width: 900px; margin-top: 28px; }
.guide-hero .lede { max-width: 780px; }
.guide-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.guide-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 75px; border-top: 1px solid var(--line); }
.guide-nav { position: sticky; top: 0; align-self: start; display: flex; flex-direction: column; gap: 4px; padding: 90px 0 30px; }
.guide-nav .kicker { margin-bottom: 15px; }
.guide-nav a { padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.07); color: #91a4ac; font-size: 12px; text-decoration: none; }
.guide-nav a:hover { color: var(--lime); }
.guide-content { min-width: 0; }
.guide-section { padding: 90px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 24px; }
.guide-section h2 { max-width: 820px; }
.guide-intro { max-width: 790px; margin: 24px 0 0; color: #adc0c6; font-size: 18px; }
.check-grid, .setting-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 42px; }
.check-grid article, .setting-grid article { min-height: 155px; padding: 24px; border: 1px solid var(--line); border-radius: 10px; background: rgba(0,28,40,.42); }
.check-grid strong { color: var(--teal); font: 700 11px/1 ui-monospace, monospace; letter-spacing: .12em; text-transform: uppercase; }
.check-grid p, .setting-grid p { margin: 17px 0 0; color: var(--muted); font-size: 14px; }
.setting-grid h3 { margin: 0; font-size: 20px; }
.guide-callout { display: grid; grid-template-columns: 190px 1fr; gap: 24px; margin-top: 30px; padding: 22px 24px; border-left: 2px solid var(--teal); background: rgba(50,187,153,.07); color: #afc0c5; font-size: 14px; }
.guide-callout strong { color: var(--text); }
.guide-callout.warning { border-color: #ffd18a; background: rgba(255,183,77,.07); }
.guide-callout.warning strong { color: #ffd18a; }
.table-wrap { max-width: 100%; margin-top: 42px; overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; }
.tuning-table { width: 100%; border-collapse: collapse; background: rgba(0,28,40,.4); font-size: 14px; }
.tuning-table th { padding: 15px 18px; background: rgba(50,187,153,.08); color: #7f9aa3; font: 700 10px/1.3 ui-monospace, monospace; letter-spacing: .13em; text-align: left; text-transform: uppercase; }
.tuning-table td { padding: 16px 18px; border-top: 1px solid var(--line); color: #bac8cd; vertical-align: top; }
.tuning-table td:first-child { color: var(--text); font-weight: 650; }
.tuning-table code, .tuning-steps code, .experimental-guide code { color: var(--lime); font: 700 13px/1 ui-monospace, monospace; }
.start-values th:nth-child(2), .start-values td:nth-child(2) { width: 150px; }
.tuning-steps { margin-top: 45px; border-top: 1px solid var(--line); }
.tuning-steps article { display: grid; grid-template-columns: 60px 1fr; gap: 22px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.tuning-steps article > span { color: var(--teal); font: 700 11px/1 ui-monospace, monospace; }
.tuning-steps h3 { margin: 0 0 7px; font-size: 20px; }
.tuning-steps p { max-width: 760px; margin: 0; color: var(--muted); font-size: 14px; }
.throttle-note { margin: 28px 0 0; padding: 23px; border: 1px solid rgba(50,187,153,.25); border-radius: 9px; color: #aebfc5; }
.throttle-note strong { color: var(--teal); }
.symptom-table td:last-child { color: #c7efb7; }
.experimental-guide > p:not(.kicker) { max-width: 800px; margin: 24px 0 0; color: #adc0c6; font-size: 17px; }
.guide-finish { min-height: 520px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.guide-finish h2 { max-width: 850px; }
.guide-finish > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 30px; }

@media (max-width: 960px) {
  .home-hero, .flash-hero { grid-template-columns: 1fr; }.home-hero { padding-bottom: 60px; }.hero-art { min-height: 430px; }.flash-hero { gap: 0; }.installer-lockup { min-height: 260px; background-size: 100% auto; }
  .section-grid { grid-template-columns: 110px 1fr; }.section-grid > :last-child { grid-column: 2; }.feature-wide { grid-template-columns: 45px 1fr; }.feature-wide .trace { grid-column: 1 / -1; }.open-section { grid-template-columns: 130px 1fr; }.open-logo { width: 130px; }.open-actions { grid-column: 2; }
  .workflow-grid { grid-template-columns: repeat(2, 1fr); }.workflow-grid article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }.workflow-grid article:nth-child(4) { border-top: 1px solid var(--line); }
  .guide-layout { grid-template-columns: 1fr; gap: 0; }.guide-nav { position: static; flex-direction: row; flex-wrap: wrap; padding: 35px 0; border-bottom: 1px solid var(--line); }.guide-nav .kicker { flex-basis: 100%; }.guide-nav a { margin-right: 18px; }
}

@media (max-width: 720px) {
  .site-header, main, .site-footer { width: min(calc(100% - 28px), var(--max)); }.site-header { position: relative; z-index: 30; min-height: 74px; }
  .mobile-menu-toggle { position: relative; z-index: 32; width: 44px; height: 44px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 0; border: 1px solid var(--line); border-radius: 8px; background: rgba(0,28,40,.72); color: var(--text); cursor: pointer; }
  .mobile-menu-toggle span { width: 19px; height: 2px; display: block; border-radius: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
  body.menu-open .mobile-menu-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  body.menu-open .mobile-menu-toggle span:nth-child(2) { opacity: 0; }
  body.menu-open .mobile-menu-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .site-header nav { position: fixed; z-index: 31; top: 0; right: 0; width: min(82vw, 320px); height: 100vh; height: 100dvh; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 92px 24px 30px; border-left: 1px solid var(--line); background: rgba(0,28,40,.98); box-shadow: -24px 0 70px rgba(0,0,0,.42); transform: translateX(105%); visibility: hidden; transition: transform .24s ease, visibility 0s linear .24s; }
  .site-header nav a { width: 100%; padding: 15px 2px; border-bottom: 1px solid var(--line); color: #d3dde0; font-size: 15px; }
  .site-header nav .nav-cta { margin-top: 14px; padding: 14px 15px; border: 1px solid rgba(120,220,77,.45); text-align: center; }
  body.menu-open { overflow: hidden; }
  body.menu-open::after { content: ""; position: fixed; z-index: 20; inset: 0; background: rgba(0,14,21,.68); backdrop-filter: blur(2px); }
  body.menu-open .site-header nav { transform: translateX(0); visibility: visible; transition-delay: 0s; }
  .home-hero { min-height: auto; padding: 55px 0 70px; }.hero-wordmark { height: 95px; }.hero-art { min-height: 330px; }.hero-mark { width: 340px; }.orbit-one { width: 270px; height: 270px; }.orbit-two { width: 340px; height: 340px; }.telemetry-tag { display: none; }
  h1 { font-size: 48px; }.metric-strip { grid-template-columns: repeat(2, 1fr); }.metric-strip div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }.metric-strip div:nth-child(4) { border-top: 1px solid var(--line); }
  .section-grid { grid-template-columns: 1fr; gap: 24px; padding: 85px 0; }.section-grid > :last-child { grid-column: auto; }.section-heading-row { align-items: flex-start; flex-direction: column; gap: 20px; }.features-section, .workflow-section, .installer-section { padding: 85px 0; }.feature-grid, .board-grid { grid-template-columns: 1fr; }.feature-wide { grid-column: auto; display: block; }.feature-wide .feature-number { display: block; margin-bottom: 40px; }.feature-wide .trace { margin-top: 35px; }.hardware-card { grid-template-columns: 1fr; }.principles article { grid-template-columns: 34px 1fr; }.principles p { grid-column: 2; }
  .workflow-grid, .prep-grid { grid-template-columns: 1fr; }.workflow-grid article + article, .prep-grid article + article { border-left: 0; border-top: 1px solid var(--line); }.workflow-grid article:nth-child(4) { border-left: 0; }.open-section { grid-template-columns: 1fr; padding: 80px 0; }.open-logo { width: 150px; }.open-actions { grid-column: auto; }
  .flash-hero { padding-top: 25px; }.installer-lockup { min-height: 220px; }.install-card { min-height: 650px; }.notice, .release-pause { flex-direction: column; }.site-footer { align-items: flex-start; flex-direction: column; justify-content: center; padding: 35px 0; }
  .guide-hero { width: 100%; min-width: 0; min-height: auto; padding: 70px 0 80px; }.guide-hero h1 { width: 100%; max-width: 100%; margin-top: 24px; white-space: normal; }.guide-hero h1 em { display: block; }.guide-hero .lede { width: 100%; max-width: 100%; }.guide-nav { display: none; }.guide-content, .guide-section { width: 100%; min-width: 0; }.guide-section { padding: 75px 0; }.guide-section h2 { max-width: 100%; overflow-wrap: break-word; }.guide-intro { max-width: 100%; font-size: 16px; }.check-grid, .setting-grid { grid-template-columns: minmax(0, 1fr); }.guide-callout { grid-template-columns: 1fr; gap: 8px; }.tuning-table { min-width: 620px; }.tuning-steps article { grid-template-columns: 42px minmax(0, 1fr); }.guide-finish { min-height: 480px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
