:root{
  --paper:#242220;
  --paper-2:#2c2926;
  --ink:#e8e3db;
  --ink-soft:#a09890;
  --taupe:#8a8072;
  --taupe-line:#3d3934;
  --terracotta:#c97456;
  --terracotta-soft:#e0916a;
  --card:#2c2926;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);color:var(--ink);
  font-family:'IBM Plex Mono',monospace;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
.wrap{max-width:760px;margin:0 auto;padding:0 24px;}
.eyebrow{
  font-size:12.5px;letter-spacing:0.14em;color:var(--terracotta);
  font-weight:600;text-transform:lowercase;
}
h1,h2,h3{font-weight:600;letter-spacing:-0.01em;line-height:1.2;}
h1{font-size:clamp(30px,5vw,44px);margin:14px 0 16px;}
h2{font-size:24px;margin:0 0 12px;}
h3{font-size:16px;margin:0 0 8px;color:var(--terracotta);text-transform:lowercase;}
p{color:var(--ink-soft);font-size:15.5px;line-height:1.7;}
.center{text-align:center;}

header{
  position:sticky;top:0;z-index:50;background:rgba(36,34,32,0.92);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--taupe-line);
}
nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 24px;max-width:1180px;margin:0 auto;
}
.brand{font-weight:700;font-size:19px;color:var(--terracotta);}
nav a.back{font-size:13.5px;color:var(--ink-soft);}
nav a.back:hover{color:var(--terracotta);}

main{padding:64px 0 96px;}

.btn{
  font-size:14.5px;text-transform:lowercase;padding:14px 26px;border-radius:2px;
  display:inline-block;letter-spacing:0.01em;transition:all .2s;cursor:pointer;
  border:1px solid var(--ink);background:none;color:var(--ink);font-family:inherit;
}
.btn-primary{background:var(--terracotta);color:#fff;border-color:var(--terracotta);}
.btn-primary:hover{background:var(--terracotta-soft);}
.btn-primary:disabled{opacity:0.5;cursor:not-allowed;}
.btn-secondary:hover{background:var(--ink);color:var(--paper);}

.card{
  background:var(--card);border:1px solid var(--taupe-line);border-radius:6px;
  padding:28px;text-align:left;
}

.dropzone{
  border:1.5px dashed var(--taupe-line);border-radius:8px;padding:48px 24px;
  text-align:center;cursor:pointer;transition:border-color .2s,background .2s;
}
.dropzone:hover,.dropzone.drag{border-color:var(--terracotta);background:rgba(201,116,86,0.06);}
.dropzone input{display:none;}
.filelist{margin-top:16px;text-align:left;font-size:13.5px;color:var(--ink-soft);}
.filelist div{padding:6px 0;border-bottom:1px solid var(--taupe-line);}

.progress-step{
  font-size:14px;color:var(--ink-soft);padding:10px 0;opacity:0.35;transition:opacity .4s;
}
.progress-step.active{opacity:1;color:var(--ink);}
.progress-step.done{opacity:0.6;}
.progress-step.done::before{content:'✓ ';color:var(--terracotta);}

.verdict-badge{
  display:inline-block;font-size:13px;letter-spacing:0.06em;text-transform:lowercase;
  border:1px solid var(--terracotta);color:var(--terracotta);border-radius:20px;
  padding:8px 18px;margin-bottom:20px;
}

.obs-card{border-top:1px solid var(--taupe-line);padding:20px 0;text-align:left;}
.obs-card h4{font-size:16px;color:var(--ink);margin-bottom:10px;text-transform:lowercase;}
.obs-card .label{font-size:11.5px;letter-spacing:0.08em;color:var(--terracotta);text-transform:lowercase;display:block;margin-top:10px;}
.obs-card p{margin-top:2px;}

.route-card{
  border:1px solid var(--taupe-line);border-radius:6px;padding:16px 18px;
  margin-top:10px;text-align:left;
}
.route-card h4{font-size:14.5px;color:var(--ink);margin-bottom:4px;text-transform:lowercase;}

.section{margin-top:56px;text-align:left;}
.section h3{border-bottom:1px solid var(--taupe-line);padding-bottom:10px;margin-bottom:16px;}
.section ul{list-style:none;}
.section li{padding:8px 0;border-bottom:1px solid var(--taupe-line);color:var(--ink-soft);font-size:14.5px;}
.section li:last-child{border-bottom:none;}

table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:8px;}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--taupe-line);}
th{color:var(--terracotta);font-weight:600;text-transform:lowercase;letter-spacing:0.04em;font-size:12px;}
td{color:var(--ink-soft);}

input[type=text],input[type=email]{
  width:100%;padding:12px 14px;background:var(--card);border:1px solid var(--taupe-line);
  border-radius:4px;color:var(--ink);font-family:inherit;font-size:14.5px;
}
input::placeholder{color:var(--taupe);}

.gate{
  border:1px solid var(--terracotta);border-radius:8px;padding:32px;
  text-align:center;margin-top:40px;background:rgba(201,116,86,0.05);
}

footer{border-top:1px solid var(--taupe-line);padding:40px 0;margin-top:80px;}
footer p{font-size:12.5px;color:var(--taupe);}

@media (max-width:600px){
  main{padding:40px 0 64px;}
  .card{padding:20px;}
}
