:root{
  color-scheme:light;
  --bg:255 255 255;
  --fg:19 23 29;
  --muted:90 98 110;
  --line:226 231 238;
  --accent:25 102 255;
  --card:248 250 252;
  --success:17 122 83;
  --shadow:10 20 30 / .08;
  --radius:14px;
  --maxw:920px;
}
html.theme-dark{
  color-scheme:dark;
  --bg:14 16 20;
  --fg:235 238 244;
  --muted:168 177 189;
  --line:44 49 58;
  --accent:122 162 247;
  --card:19 22 28;
  --success:91 201 151;
  --shadow:0 0 0 / 0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;background:rgb(var(--bg));color:rgb(var(--fg));line-height:1.55}
button,input,select,textarea{font:inherit}
a{color:rgb(var(--accent));text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-style:dashed}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 18px}
hr{border:0;border-top:1px solid rgb(var(--line));margin:0}
.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid rgb(var(--line));background:rgba(var(--bg),.88);backdrop-filter:blur(10px)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:12px}
.logo{display:flex;align-items:baseline;gap:8px;color:rgb(var(--accent));font-weight:700;white-space:nowrap}
.logo:hover{text-decoration:none}
.logo .dir{opacity:.7}
.logo .underscore{display:inline-block;width:10px;animation:blink 1.1s steps(1) infinite;transform:translateY(1px)}
@keyframes blink{50%{opacity:0}}
.nav-links{list-style:none;display:flex;gap:14px;padding:0;margin:0;align-items:center;font-size:13px}
.nav-links a{color:rgb(var(--accent))}
.nav-actions{display:flex;align-items:center;gap:10px}
.mobile-nav{display:none;padding:0 0 14px}
.mobile-nav a{display:block;padding:10px 0;border-top:1px solid rgb(var(--line))}
.hamburger{display:none}
.btn,.linkbtn{border:1px solid rgb(var(--line));background:transparent;color:rgb(var(--fg));border-radius:12px;padding:8px 10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1;min-height:38px;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.btn:hover,.linkbtn:hover{background:rgba(var(--fg),.04);border-color:rgba(var(--accent),.4);text-decoration:none}
.btn:active,.linkbtn:active{transform:translateY(1px)}
.btn svg,.linkbtn svg,.social svg{width:18px;height:18px;fill:currentColor;display:block}
.icon-btn{width:40px;padding:8px}
.linkbtn.primary{background:rgb(var(--accent));border-color:rgb(var(--accent));color:#fff;font-weight:600}
.linkbtn.primary:hover{background:rgba(var(--accent),.9)}
.linkbtn.soft{background:rgba(var(--accent),.08);border-color:rgba(var(--accent),.28);color:rgb(var(--accent))}
.arrow-link{display:inline-flex;align-items:center;gap:6px;padding:8px 2px;font-size:13px;font-weight:600}
main{padding:22px 0 46px}
section{padding:26px 0}
h1{margin:10px 0;font-size:clamp(28px,5vw,44px);line-height:1.06;letter-spacing:-.02em}
h2{margin:0 0 12px;font-size:20px;letter-spacing:.01em}
h3{margin:0 0 8px;font-size:16px}
p{margin:10px 0}
.lead{color:rgb(var(--muted));max-width:78ch}
.hero{padding-top:26px}
.hero-bio{font-size:14px}
.section-intro{margin-top:0}
.hero-actions,.card-actions,.tiny-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;align-items:center}
.tagline{color:rgb(var(--muted));margin-top:6px}
.kicker{color:rgb(var(--muted));font-size:12px}
.card{background:rgb(var(--card));border:1px solid rgb(var(--line));border-radius:var(--radius);padding:16px;box-shadow:0 10px 30px rgb(var(--shadow));transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}
.now-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.now-card{padding:18px}
.now-label{display:block;color:rgb(var(--accent));font-size:12px;margin-bottom:7px}
.project-stack{display:grid;gap:16px;margin-top:16px}
.move-card{padding:20px;overflow:visible}
.move-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.project-title{font-size:22px}
.role-line{color:rgb(var(--accent));font-size:12px;margin-top:7px}
.move-summary{max-width:72ch;margin-top:14px}
.status-pill{background:rgb(var(--card));border:1px solid rgb(var(--line));padding:6px 10px;border-radius:999px;font-size:12px;color:rgb(var(--muted));display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.status-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:rgb(var(--success));box-shadow:0 0 0 4px rgba(var(--success),.12)}
.product-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:16px;width:100%}
.flow-step{border:1px solid rgb(var(--line));border-radius:10px;padding:10px 8px;text-align:center;color:rgb(var(--muted));font-size:11px;background:rgba(var(--bg),.45);min-width:0}
.flow-step span{display:block;color:rgb(var(--accent));margin-bottom:3px;font-weight:700}
.move-actions{position:relative;z-index:1}
.literature-card{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.hike-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.hike-card{padding:16px;min-width:0}
.hike-card:hover{transform:translateY(-3px);border-color:rgba(var(--accent),.42)}
.hike-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.hike-top h3{min-width:0}
.score{color:rgb(var(--accent));font-weight:700;white-space:nowrap}
.hike-label{color:rgb(var(--muted));font-size:11px;white-space:nowrap;border:1px solid rgb(var(--line));border-radius:999px;padding:3px 7px}
.hike-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:13px;font-size:12px}
.more-hikes{margin-top:14px}
.more-hikes[hidden]{display:none}
.hike-toggle-row{display:flex;justify-content:center;margin-top:16px}
.contact-shell{display:grid;grid-template-columns:.85fr 1.15fr;gap:16px;align-items:start}
.contact-details{display:grid;gap:10px;margin-top:15px}
.contact-line{padding:11px 12px;border:1px solid rgb(var(--line));border-radius:12px;background:rgba(var(--bg),.4)}
.contact-line span{display:block;color:rgb(var(--muted));font-size:11px;margin-bottom:3px}
.compact-callout{margin-top:16px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form-field{display:grid;gap:6px;font-size:12px;color:rgb(var(--muted))}
.form-field.full{grid-column:1/-1}
.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid rgb(var(--line));border-radius:12px;background:rgba(var(--bg),.72);color:rgb(var(--fg));padding:10px 12px}
.form-field textarea{min-height:140px;resize:vertical}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid rgba(var(--accent),.35);border-color:rgba(var(--accent),.6)}
.form-help{margin:0;color:rgb(var(--muted));font-size:11px}
.checkbox-row{display:flex;gap:9px;align-items:flex-start;color:rgb(var(--muted));font-size:12px}
.checkbox-row input{width:auto;margin-top:4px;flex:0 0 auto}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.callout{border-left:3px solid rgb(var(--accent));padding:13px 15px;border-radius:0 12px 12px 0;background:rgba(var(--accent),.07);color:rgb(var(--muted))}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.feature-card{border:1px solid rgb(var(--line));border-radius:12px;padding:13px;background:rgba(var(--bg),.42)}
.feature-card strong{display:block;margin-bottom:5px;font-size:13px}
.feature-card p{margin:0;color:rgb(var(--muted));font-size:12px}
.process{counter-reset:process;display:grid;gap:10px}
.process-item{position:relative;padding:13px 13px 13px 49px;border:1px solid rgb(var(--line));border-radius:12px;background:rgb(var(--card))}
.process-item::before{counter-increment:process;content:counter(process,decimal-leading-zero);position:absolute;left:13px;top:13px;color:rgb(var(--accent));font-weight:700}
.site-footer{padding:22px 0 30px;border-top:1px solid rgb(var(--line))}
.footer-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;color:rgb(var(--muted));font-size:12px}
.social{display:flex;gap:10px;align-items:center}
.social a{display:inline-flex;padding:8px;border:1px solid rgb(var(--line));border-radius:12px;color:rgb(var(--fg))}
.social a:hover{background:rgba(var(--fg),.04);text-decoration:none}
.toast{position:fixed;right:18px;bottom:18px;z-index:80;padding:10px 14px;border-radius:999px;background:rgb(var(--fg));color:rgb(var(--bg));font-size:12px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s ease}
.toast.show{opacity:1;transform:translateY(0)}
.dialog{width:min(920px,92vw);max-height:88vh;padding:0;border:1px solid rgb(var(--line));border-radius:16px;background:rgb(var(--bg));color:rgb(var(--fg));overflow:auto}
.dialog::backdrop{background:rgba(0,0,0,.58);backdrop-filter:blur(2px)}
.modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid rgb(var(--line));background:rgba(var(--bg),.96)}
.modal-title{font-weight:600;font-size:12px;color:rgb(var(--muted))}
.modal-actions{display:flex;align-items:center;gap:8px}
.modal-content{padding:16px;display:grid;gap:16px}
.modal-section+.modal-section{padding-top:18px;border-top:1px solid rgb(var(--line))}
.pdf-dialog{overflow:hidden}
.pdf-frame{display:block;width:100%;height:min(76vh,760px);border:0;background:#fff}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-old(root){z-index:1}
::view-transition-new(root){z-index:2}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:860px){.contact-shell{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.hike-grid{grid-template-columns:1fr}.literature-card{grid-template-columns:1fr}}
@media(max-width:760px){.nav-links{display:none}.hamburger{display:inline-flex}.mobile-nav.open{display:block}.now-grid,.feature-grid,.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.product-flow{grid-template-columns:1fr}.flow-step{display:flex;justify-content:space-between;text-align:left}.flow-step span{margin:0}.move-head{display:block}.move-head .status-pill{margin-top:10px}.modal-actions .linkbtn{font-size:11px;padding:8px}.hero-bio{font-size:13px}}
