/* Yazhi Engineering — shared design tokens & base styles */
:root{
  --paper:#F5F7F7;
  --surface:#FFFFFF;
  --ink:#1B1F23;
  --ink-soft:#4A5560;
  --ink-faint:#7C8891;
  --blue:#215F9A;
  --blue-deep:#13263B;
  --blue-dark:#0E1D2E;
  --red:#C00000;
  --line:#C7D0D6;
  --line-soft:#DEE4E7;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Source Sans 3',sans-serif;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Archivo',sans-serif;margin:0;letter-spacing:-0.01em;}
a{color:var(--blue);text-decoration:none;}
a:hover{color:var(--red);}
.mono{font-family:'IBM Plex Mono',monospace;}
.page{width:100%;max-width:1440px;margin:0 auto;}
.spine{padding-left:96px;padding-right:96px;}
@media (max-width:900px){.spine{padding-left:28px;padding-right:28px;}}

/* nav */
.nav{display:flex;align-items:center;justify-content:space-between;padding:22px 96px;border-bottom:1px solid var(--line);background:var(--paper);}
.nav-mark{display:flex;align-items:center;gap:12px;}
.nav-mark img{height:34px;width:auto;display:block;}
.nav-word{font-family:'Archivo',sans-serif;font-weight:700;font-size:18px;letter-spacing:0.01em;color:var(--ink);}
.nav-word span{color:var(--ink-faint);font-weight:500;}
.nav-links{display:flex;gap:40px;}
.nav-links a{font-size:15px;color:var(--ink-soft);font-weight:600;}
.nav-links a.current{color:var(--blue);}
@media (max-width:900px){.nav{padding:18px 28px;}.nav-links{gap:20px;}.nav-links a{font-size:13px;}}

/* contour rule — varying weight section dividers, literal to elevation/hydraulic contour lines */
.contour{border:none;height:1px;background:var(--line);margin:0;}
.contour.heavy{height:3px;background:var(--blue);}
.contour.mid{height:2px;background:var(--line);}

/* titleblock stat strip */
.titleblock{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.titleblock .cell{padding:26px 32px;border-left:1px solid var(--line);}
.titleblock .cell:first-child{border-left:none;}
.titleblock .cell .val{font-family:'IBM Plex Mono',monospace;font-size:28px;font-weight:500;color:var(--blue);}
.titleblock .cell .lbl{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.08em;color:var(--ink-faint);margin-top:6px;text-transform:uppercase;}
@media (max-width:900px){.titleblock{grid-template-columns:repeat(2,1fr);}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;font-family:'Source Sans 3',sans-serif;font-weight:600;font-size:15px;border:1.5px solid var(--ink);color:var(--ink);background:transparent;}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;}
.btn.primary:hover{background:var(--red);border-color:var(--red);color:#fff;}
.btn:hover{border-color:var(--red);color:var(--red);}

/* cards */
.card{background:var(--surface);border:1px solid var(--line);padding:36px;}

/* footer */
.footer{background:var(--blue-deep);color:#DCE6EE;padding:56px 96px 32px;}
.footer a{color:#DCE6EE;}
.footer a:hover{color:#fff;}
.footer .mono{color:#9FB4C6;}
@media (max-width:900px){.footer{padding:40px 28px 24px;}}

label{display:block;font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:8px;}
input,textarea{width:100%;border:1.5px solid var(--line);background:#fff;padding:13px 14px;font-family:'Source Sans 3',sans-serif;font-size:15px;color:var(--ink);}
input:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue);}
