:root {
  color-scheme: dark;
  --bg: #101310;
  --panel: #171b17;
  --panel-soft: #1b211b;
  --panel-raised: #202720;
  --line: #2a322b;
  --text: #eef2ea;
  --muted: #a3ada0;
  --subtle: #788276;
  --accent: #b8f36b;
  --accent-2: #ddffad;
  --accent-ink: #15210d;
  --orange: #f2ad78;
  --blue: #9cc9ed;
  --red: #ed958a;
  --shadow: 0 22px 70px rgba(0,0,0,.25);
  --radius: 22px;
  --mono: 'DM Mono', 'Cascadia Code', monospace;
  --sans: 'DM Sans', 'Segoe UI', sans-serif;
  --display: 'Manrope', 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body {
  margin: 0; background: var(--bg); color: var(--text); font: 15px/1.65 var(--sans);
  background-image: radial-gradient(ellipse at 78% 0%, rgba(100,140,68,.10), transparent 36rem);
}
body.light {
  color-scheme: light;
  --bg: #f4f5ef; --panel: #fff; --panel-soft: #f7f9f3; --panel-raised: #edf2e8; --line: #dce4d7;
  --text: #1b241a; --muted: #566153; --subtle: #748070; --accent: #456f1f; --accent-2: #28480f;
  --accent-ink: #f6faef; --orange: #a95720; --blue: #286487; --red: #aa4439; --shadow: 0 22px 70px rgba(40,60,30,.10);
  background-image: radial-gradient(ellipse at 78% 0%, rgba(100,140,68,.10), transparent 36rem);
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img, svg { max-width: 100%; }
.loading { color: var(--muted); padding: 3rem; text-align: center; }
.dot { display:inline-block; width:.55rem; height:.55rem; margin-right:.6rem; border-radius:50%; background:var(--accent); }
.wrap { width: min(1160px, calc(100% - 44px)); margin: 0 auto; }
.wrap.narrow { width: min(900px, calc(100% - 44px)); }
.topbar {
  position: sticky; top: 0; z-index: 20; border-bottom: 1px solid rgba(255,255,255,.06);
  background: color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter: blur(18px);
}
.nav-row { display:flex; align-items:center; justify-content:space-between; min-height:76px; gap:1.2rem; }
.brand { display:flex; align-items:center; gap:.7rem; flex:0 0 auto; font-weight:700; letter-spacing:-.03em; }
.brand-mark { display:grid; place-items:center; width:40px; height:40px; border:1px solid #475640; border-radius:13px; color:var(--accent); font:500 .72rem var(--mono); background:linear-gradient(145deg, #222c20, #141a14); }
.brand-copy { display:flex; flex-direction:column; line-height:1.2; }
.brand-copy small { margin-top:.25rem; color:var(--subtle); font: .55rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.nav-links { display:flex; align-items:center; justify-content:center; gap:clamp(.6rem, 1.3vw, 1.25rem); }
.nav-links a { color:var(--muted); font-size:.78rem; transition:color .2s ease; white-space:nowrap; }
.nav-links a:hover, .nav-links a.active { color:var(--accent); }
.nav-actions { display:flex; align-items:center; gap:.55rem; }
.icon-button, .menu-button {
  width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%;
  background:var(--panel); cursor:pointer; color:var(--muted); transition:.2s ease;
}
.icon-button:hover, .menu-button:hover { border-color:var(--accent); color:var(--accent); }
.menu-button { display:none; border-radius:12px; }
.eyebrow { display:flex; align-items:center; gap:.65rem; color:var(--accent); font: .67rem var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.eyebrow:before { content:''; display:inline-block; width:24px; height:1px; background:var(--accent); }
.kicker { color:var(--subtle); font: .65rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.muted { color:var(--muted); }
.subtle { color:var(--subtle); }
h1,h2,h3,h4,p { margin-top:0; }
h1,h2,h3 { font-family:var(--display); letter-spacing:-.055em; line-height:1.08; }
h1 { margin-bottom:1.25rem; font-size:clamp(3rem, 7vw, 6.6rem); font-weight:600; }
h2 { margin-bottom:1rem; font-size:clamp(2.2rem, 4vw, 3.8rem); font-weight:600; }
h3 { margin-bottom:.65rem; font-size:1.2rem; font-weight:600; }
.lead { max-width:670px; color:var(--muted); font-size:1.05rem; }
.section { padding:7.5rem 0; }
.section.compact { padding:5rem 0; }
.section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.section-head > div { max-width:740px; }
.section-head p { max-width:550px; margin-bottom:0; color:var(--muted); }
.section-index { display:block; margin-bottom:1rem; color:var(--accent); font: .67rem var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.divider { height:1px; border:0; background:var(--line); margin:0; }
.button-row { display:flex; align-items:center; flex-wrap:wrap; gap:.7rem; margin-top:1.7rem; }
.btn {
  min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:.55rem; padding:.65rem 1rem;
  border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--text); cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease; font-size:.83rem; font-weight:600;
}
.btn:hover { transform:translateY(-2px); border-color:var(--accent); }
.btn.primary { background:var(--accent); color:var(--accent-ink); border-color:var(--accent); }
.btn.primary:hover { background:var(--accent-2); }
.btn.small { min-height:35px; padding:.42rem .72rem; font-size:.74rem; }
.btn.ghost { color:var(--muted); }
.chip, .tag { display:inline-flex; align-items:center; gap:.35rem; border:1px solid var(--line); border-radius:999px; padding:.28rem .58rem; color:var(--muted); font: .64rem var(--mono); }
.tag { border-radius:8px; padding:.25rem .45rem; }
.badge { border:1px solid #526443; border-radius:999px; padding:.3rem .65rem; color:var(--accent); background:rgba(161,220,103,.08); font: .64rem var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.grid { display:grid; gap:1rem; }
.grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.card {
  min-width:0; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(145deg,var(--panel-soft),var(--panel));
  padding:1.35rem; box-shadow:0 8px 30px rgba(0,0,0,.06);
}
.card.hover { transition:transform .22s ease, border-color .22s ease; }
.card.hover:hover { transform:translateY(-4px); border-color:#657c52; }
.card-label { display:flex; justify-content:space-between; gap:1rem; margin-bottom:1.2rem; color:var(--accent); font: .64rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.hero { position:relative; min-height:680px; display:grid; align-items:center; padding:5.5rem 0 5rem; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr); align-items:center; gap:3rem; }
.hero h1 span { color:var(--accent); }
.hero-copy { max-width:700px; color:var(--muted); font-size:1.12rem; }
.hero-meta { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.7rem; }
.hero-visual {
  min-height:380px; display:flex; flex-direction:column; justify-content:space-between; padding:1.4rem;
  border:1px solid var(--line); border-radius:28px; position:relative; overflow:hidden;
  background:
    linear-gradient(rgba(184,243,107,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184,243,107,.055) 1px, transparent 1px),
    radial-gradient(ellipse at 60% 50%, rgba(112,169,66,.22), transparent 55%),
    #151b15;
  background-size:32px 32px,32px 32px,auto,auto; box-shadow:var(--shadow);
}
.visual-top { display:flex; justify-content:space-between; color:var(--muted); font: .65rem var(--mono); letter-spacing:.08em; }
.visual-center { display:grid; place-items:center; position:relative; height:210px; }
.orbit { position:absolute; width:210px; height:210px; border:1px solid rgba(184,243,107,.22); border-radius:50%; transform:rotate(-20deg) scaleY(.52); }
.orbit.two { width:260px; height:260px; transform:rotate(35deg) scaleY(.52); border-color:rgba(184,243,107,.14); }
.core { z-index:1; width:110px; height:110px; display:grid; place-items:center; border:1px solid #6b8f4c; border-radius:30px; background:rgba(184,243,107,.09); color:var(--accent); font:500 1rem var(--mono); box-shadow:0 0 55px rgba(184,243,107,.11); }
.orbit-node { position:absolute; width:9px; height:9px; border-radius:50%; background:var(--accent); box-shadow:0 0 18px var(--accent); }
.orbit-node.a { top:15%; left:34%; } .orbit-node.b { bottom:17%; right:25%; background:#e6ad72; }
.visual-bottom { display:flex; justify-content:space-between; gap:1rem; color:var(--muted); font: .67rem var(--mono); }
.scroll-note { display:flex; justify-content:center; align-items:center; gap:.5rem; margin-top:3.5rem; color:var(--subtle); font: .62rem var(--mono); letter-spacing:.1em; }
.scroll-note:before { content:''; width:25px; height:1px; background:var(--line); }
.marquee { border-block:1px solid var(--line); padding:1.5rem 0; color:var(--muted); font: .75rem var(--mono); text-align:center; letter-spacing:.1em; text-transform:uppercase; }
.about-layout { display:grid; grid-template-columns:1fr .85fr; gap:3rem; align-items:start; }
.about-copy p { color:var(--muted); }
.stat-row { display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; margin-top:2rem; }
.stat { border-top:1px solid var(--line); padding-top:.85rem; }
.stat strong { display:block; color:var(--accent); font:500 1.7rem var(--display); }
.stat span { color:var(--muted); font-size:.72rem; }
.quote-card { padding:2rem; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(140deg,rgba(184,243,107,.09),var(--panel)); }
.quote-card p { margin:0; color:var(--text); font:500 clamp(1.45rem,2.6vw,2.2rem)/1.25 var(--display); letter-spacing:-.045em; }
.project-tools { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; margin-bottom:1.4rem; }
.search { min-width:210px; flex:1; }
.search-wrap { display:flex; align-items:center; position:relative; }
.search-wrap span { position:absolute; left:.85rem; color:var(--subtle); }
.search-wrap input { padding-left:2.35rem; }
input, textarea, select {
  width:100%; border:1px solid var(--line); border-radius:12px; padding:.75rem .85rem; background:var(--bg);
  color:var(--text); outline:none; transition:border-color .18s ease, box-shadow .18s ease;
}
input:focus, textarea:focus, select:focus { border-color:#7b995d; box-shadow:0 0 0 3px rgba(184,243,107,.10); }
textarea { min-height:115px; resize:vertical; }
label { display:grid; gap:.42rem; color:var(--muted); font-size:.76rem; }
.filter-row { display:flex; flex-wrap:wrap; gap:.45rem; }
.filter { border:1px solid var(--line); border-radius:999px; background:transparent; padding:.46rem .75rem; color:var(--muted); cursor:pointer; font-size:.72rem; }
.filter.active,.filter:hover { color:var(--accent); border-color:#637b50; background:rgba(184,243,107,.07); }
.project-card { display:flex; flex-direction:column; min-height:270px; }
.project-number { color:var(--subtle); font: .72rem var(--mono); }
.project-card h3 { margin-top:.45rem; }
.project-card p { color:var(--muted); font-size:.83rem; }
.project-card .tag-list { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:auto; padding:.6rem 0 1rem; }
.project-card .project-links { display:flex; flex-wrap:wrap; gap:.5rem; }
.text-link { color:var(--accent); font-size:.75rem; font-weight:600; cursor:pointer; border:0; background:none; padding:0; }
.text-link:hover { text-decoration:underline; }
.skills-card { min-height:210px; }
.skills-number { color:var(--accent); font: .7rem var(--mono); }
.skills-card .tag-list { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:1rem; }
.timeline { position:relative; display:grid; gap:.8rem; }
.timeline:before { content:''; position:absolute; top:.6rem; bottom:.6rem; left:7px; width:1px; background:var(--line); }
.timeline-item { position:relative; padding-left:2rem; }
.timeline-item:before { content:''; position:absolute; left:1px; top:.4rem; width:13px; height:13px; border:2px solid var(--accent); border-radius:50%; background:var(--bg); }
.timeline-item .date { color:var(--accent); font: .65rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.timeline-item p { color:var(--muted); font-size:.84rem; margin-bottom:0; }
.cert-list { display:grid; gap:.5rem; }
.cert-row { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:.8rem 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:.82rem; }
.cert-row a { color:var(--accent); }
.range-row { display:flex; justify-content:space-between; color:var(--muted); font-size:.75rem; }
input[type=range] { accent-color:var(--accent); padding:0; border:0; box-shadow:none; background:transparent; }
.result-box { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:1rem; padding:1rem; border:1px solid var(--line); border-radius:14px; background:var(--bg); }
.result-box strong { color:var(--accent); font:500 1.35rem var(--display); }
.demo-note { margin:.8rem 0 0; color:var(--subtle); font-size:.72rem; }
.bar-list { display:grid; gap:.55rem; margin-top:1rem; }
.bar-row { display:grid; grid-template-columns:minmax(125px, .85fr) 2fr 35px; align-items:center; gap:.55rem; color:var(--muted); font-size:.71rem; }
.bar-track { height:7px; background:var(--panel-raised); border-radius:9px; overflow:hidden; }
.bar-fill { height:100%; border-radius:9px; background:var(--accent); }
.tool-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.tool-card { min-width:0; }
.tool-card p { color:var(--muted); font-size:.8rem; }
.tool-card .field-row { display:grid; grid-template-columns:1fr auto; align-items:end; gap:.5rem; }
.output { margin-top:.75rem; border:1px solid var(--line); border-radius:12px; background:var(--bg); padding:.75rem; color:var(--muted); font: .72rem/1.6 var(--mono); white-space:pre-wrap; overflow:auto; max-height:260px; }
.output.success { color:var(--accent); }
.output.error { color:var(--red); }
.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:13px; }
table { width:100%; border-collapse:collapse; font-size:.76rem; }
th,td { padding:.65rem .75rem; border-bottom:1px solid var(--line); text-align:left; }
th { color:var(--accent); background:var(--panel); font: .62rem var(--mono); text-transform:uppercase; letter-spacing:.08em; }
td { color:var(--muted); }
tr:last-child td { border-bottom:0; }
.terminal { border:1px solid #29372a; border-radius:18px; overflow:hidden; background:#101610; color:#d5e5ce; font: .76rem/1.7 var(--mono); }
.terminal-head { padding:.7rem 1rem; border-bottom:1px solid #263327; display:flex; justify-content:space-between; color:#92a38a; }
.terminal-body { min-height:135px; max-height:270px; overflow:auto; padding:1rem; }
.terminal-line { white-space:pre-wrap; }
.terminal-prompt { color:var(--accent); }
.terminal-entry { display:flex; gap:.7rem; padding:.8rem 1rem; border-top:1px solid #263327; }
.terminal-entry input { border:0; background:transparent; padding:0; color:#e4f2df; font: .76rem var(--mono); }
.terminal-entry input:focus { box-shadow:none; }
.contact-layout { display:grid; grid-template-columns:.8fr 1fr; gap:2rem; }
.contact-info { display:grid; align-content:start; gap:.8rem; }
.contact-link { display:flex; justify-content:space-between; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); color:var(--muted); }
.contact-link strong { color:var(--text); font-weight:500; }
.contact-form { display:grid; gap:.8rem; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.footer { padding:2rem 0 3rem; border-top:1px solid var(--line); color:var(--muted); font-size:.74rem; }
.footer-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.footer-links { display:flex; flex-wrap:wrap; gap:1rem; }
.footer a:hover { color:var(--accent); }
.assistant {
  position:fixed; right:22px; bottom:20px; z-index:30; display:flex; align-items:center; gap:.5rem;
  border:1px solid #536b41; border-radius:999px; padding:.62rem .9rem; color:var(--accent); background:#1b2418; cursor:pointer;
  box-shadow:var(--shadow); font-size:.75rem; font-weight:600;
}
.assistant-panel { position:fixed; right:22px; bottom:75px; z-index:30; width:min(330px,calc(100vw - 36px)); padding:1rem; border:1px solid var(--line); border-radius:18px; background:var(--panel); box-shadow:var(--shadow); }
.assistant-panel p { color:var(--muted); font-size:.8rem; }
.assistant-panel[hidden] { display:none; }
.page-hero { padding:5rem 0 3rem; border-bottom:1px solid var(--line); }
.page-hero h1 { max-width:880px; font-size:clamp(2.6rem,5.5vw,5rem); }
.page-hero .lead { margin-bottom:0; }
.breadcrumb { display:flex; gap:.5rem; margin-bottom:1.2rem; color:var(--subtle); font: .68rem var(--mono); }
.breadcrumb a { color:var(--accent); }
.dashboard-top { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.8rem; margin-bottom:1.2rem; }
.table-controls { display:grid; grid-template-columns:1fr 190px; gap:.6rem; margin-bottom:.8rem; }
.split { display:grid; grid-template-columns:1.15fr .85fr; gap:1rem; }
.mini-tabs { display:flex; gap:.4rem; flex-wrap:wrap; margin-bottom:1rem; }
.mini-tab { border:1px solid var(--line); border-radius:9px; padding:.45rem .65rem; background:transparent; color:var(--muted); cursor:pointer; font-size:.72rem; }
.mini-tab.active { color:var(--accent); border-color:#62794d; }
.architecture { display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem; margin:1.2rem 0; }
.arch-node { min-height:76px; display:grid; align-content:center; justify-items:center; padding:.65rem; border:1px solid var(--line); border-radius:12px; text-align:center; background:var(--bg); font-size:.7rem; }
.arch-node strong { color:var(--accent); font: .63rem var(--mono); text-transform:uppercase; }
.arch-arrow { color:var(--subtle); text-align:center; margin:.1rem 0; }
.check-list { display:grid; gap:.6rem; color:var(--muted); font-size:.82rem; }
.check-list span:before { content:'✓'; color:var(--accent); margin-right:.55rem; }
.tracker-list { display:grid; gap:.5rem; }
.tracker-item { display:grid; grid-template-columns:1.3fr .8fr .9fr auto; gap:.5rem; align-items:center; padding:.7rem; border:1px solid var(--line); border-radius:12px; font-size:.75rem; }
.status-pill { width:max-content; border-radius:999px; padding:.2rem .5rem; background:rgba(184,243,107,.1); color:var(--accent); font: .62rem var(--mono); }
.status-pill.interview { color:var(--blue); background:rgba(156,201,237,.1); }
.status-pill.rejected { color:var(--red); background:rgba(237,149,138,.1); }
.status-pill.offer { color:var(--orange); background:rgba(242,173,120,.1); }
.resume-sheet { background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:clamp(1.3rem,4vw,3.5rem); }
.resume-sheet h2 { font-size:1.6rem; }
.resume-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; border-bottom:2px solid var(--accent); padding-bottom:1rem; margin-bottom:1.2rem; }
.resume-head h1 { margin:0; font-size:2.5rem; }
.resume-contact { text-align:right; color:var(--muted); font-size:.76rem; }
.resume-section { margin:1.4rem 0; }
.resume-section h3 { padding-bottom:.4rem; border-bottom:1px solid var(--line); color:var(--accent); font: .7rem var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.resume-entry { margin:.9rem 0; }
.resume-entry strong { display:block; }
.resume-entry small { color:var(--subtle); }
.resume-entry p { margin:.3rem 0; color:var(--muted); font-size:.8rem; }
.canvas-chart { min-height:185px; display:flex; align-items:end; gap:.5rem; padding:1rem .3rem .2rem; border-bottom:1px solid var(--line); }
.chart-column { flex:1; min-width:20px; display:flex; flex-direction:column; justify-content:end; align-items:center; gap:.4rem; height:160px; color:var(--muted); font-size:.63rem; }
.chart-column span { overflow:hidden; max-width:100%; text-overflow:ellipsis; white-space:nowrap; }
.chart-bar { width:min(42px,70%); min-height:3px; border-radius:8px 8px 2px 2px; background:linear-gradient(180deg,var(--accent),#688d43); }
.progress { height:6px; background:var(--panel-raised); border-radius:9px; overflow:hidden; }
.progress i { display:block; height:100%; background:var(--accent); }
.toast { position:fixed; left:50%; bottom:24px; z-index:60; transform:translate(-50%,20px); opacity:0; padding:.7rem 1rem; border:1px solid var(--line); border-radius:999px; background:var(--panel); color:var(--text); box-shadow:var(--shadow); font-size:.78rem; pointer-events:none; transition:.2s ease; }
.toast.show { opacity:1; transform:translate(-50%,0); }
.privacy-note { color:var(--subtle); font-size:.68rem; }
.hidden { display:none !important; }
.print-only { display:none; }
dialog { width:min(620px,calc(100% - 28px)); max-height:85vh; padding:0; border:1px solid var(--line); border-radius:24px; color:var(--text); background:var(--panel); box-shadow:var(--shadow); }
dialog::backdrop { background:rgba(4,8,4,.78); backdrop-filter:blur(4px); }
dialog .card { border:0; box-shadow:none; }
.qr { display:block; width:180px; height:180px; object-fit:contain; margin:.4rem auto; border-radius:10px; background:#fff; }
@media (max-width: 1040px) {
  .nav-links { gap:.65rem; }
  .nav-links a { font-size:.7rem; }
  .grid.four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-grid { gap:1.5rem; }
}
@media (max-width: 820px) {
  .menu-button { display:grid; }
  .nav-links {
    display:none; position:absolute; left:0; right:0; top:76px; flex-direction:column; align-items:stretch; gap:0;
    padding:.5rem 22px 1rem; border-bottom:1px solid var(--line); background:var(--bg);
  }
  .nav-links.open { display:flex; }
  .nav-links a { padding:.7rem .2rem; border-bottom:1px solid var(--line); font-size:.84rem; }
  .hero { min-height:auto; padding:4.2rem 0; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-visual { min-height:320px; }
  .about-layout,.contact-layout,.split { grid-template-columns:1fr; }
  .grid.three { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .section { padding:5.4rem 0; }
  .section-head { align-items:flex-start; flex-direction:column; gap:.5rem; }
}
@media (max-width: 560px) {
  .wrap,.wrap.narrow { width:calc(100% - 30px); }
  .nav-row { min-height:68px; }
  .brand-copy small { display:none; }
  .nav-links { top:68px; }
  .hero h1 { font-size:clamp(2.8rem,15vw,4.1rem); }
  .hero-visual { min-height:280px; }
  .visual-center { height:160px; }
  .section { padding:4.3rem 0; }
  .grid.two,.grid.three,.grid.four,.tool-grid { grid-template-columns:1fr; }
  .stat-row { grid-template-columns:repeat(3,1fr); }
  .form-grid,.table-controls { grid-template-columns:1fr; }
  .architecture { grid-template-columns:repeat(2,1fr); }
  .tracker-item { grid-template-columns:1fr 1fr; }
  .footer-row { align-items:flex-start; flex-direction:column; }
  .assistant { right:14px; bottom:14px; }
  .assistant-panel { right:14px; bottom:67px; }
  .resume-head { flex-direction:column; }
  .resume-contact { text-align:left; }
  .bar-row { grid-template-columns:110px 1fr 28px; }
}
@media print {
  :root { color-scheme:light; --bg:#fff; --panel:#fff; --panel-soft:#fff; --panel-raised:#eee; --line:#ddd; --text:#121212; --muted:#444; --subtle:#555; --accent:#315e13; --accent-ink:#fff; }
  body { background:#fff !important; color:#121212; font-size:10pt; }
  .topbar,.footer,.assistant,.assistant-panel,.no-print,.page-hero .button-row { display:none !important; }
  .wrap,.wrap.narrow { width:100%; }
  .section { padding:1.3rem 0; }
  .resume-sheet { border:0; border-radius:0; padding:0; }
  .resume-head h1 { font-size:24pt; }
  .resume-section { break-inside:avoid; }
  a { color:inherit; }
}
