:root{
  --steel:#1a1a1a; --steel-deep:#0f0f0f; --orange:#e30000; --orange-deep:#c40000;
  --concrete:#f3f1f1; --ink:#1a1a1a; --muted:#5c5c5c; --line:#dcd8d8; --bg:#fff;
  --head:'Barlow Condensed','Arial Narrow',sans-serif; --body:'Source Sans 3',system-ui,sans-serif; --brand:'Montserrat',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:400 1.0625rem/1.6 var(--body);color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--orange-deep)}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:10}
h1,h2,h3{font-family:var(--head);color:var(--steel);line-height:1.02;margin:0 0 .5em;text-transform:uppercase;letter-spacing:.01em}
h1{font-size:clamp(2.8rem,8vw,5.6rem);font-weight:800}
h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:700}
h3{font-size:1.5rem;font-weight:700}
.lead{font-size:1.25rem;color:var(--muted);max-width:40rem}

.site-header{position:sticky;top:0;z-index:5;background:#fff;border-bottom:4px solid var(--orange)}
.bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0}
.brand{text-decoration:none;font:800 1.1rem var(--brand);letter-spacing:.22em;color:var(--orange);text-transform:uppercase}
.brand b{font-weight:600;color:var(--ink)}
.nav{display:flex;align-items:center;gap:1.6rem}
.nav a{text-decoration:none;color:var(--ink);font:600 1.1rem var(--head);letter-spacing:.06em;text-transform:uppercase;padding:.3rem 0;border-bottom:3px solid transparent}
.nav a:hover,.nav a[aria-current=page]{border-color:var(--orange)}
.nav a.btn{color:#fff;padding:.5rem 1.1rem;border-bottom:0}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:4px;padding:.45rem .9rem;font:600 1.05rem var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}

.btn{display:inline-block;background:var(--orange-deep);color:#fff;text-decoration:none;font:700 1.15rem var(--head);letter-spacing:.06em;text-transform:uppercase;
  padding:.75rem 1.6rem;border:0;border-radius:3px;cursor:pointer;transition:background .15s}
.btn:hover{background:#a30000}
.btn:disabled{opacity:.6;cursor:wait}
.hero .btn{background:var(--orange);color:#fff}.hero .btn:hover{background:#ff2a2a}
.hero .btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.75)}
.hero .btn-ghost:hover{background:rgba(255,255,255,.14)}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}

.hero{background:var(--steel) center/cover no-repeat;color:#fff}
.hero{position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,15,15,.35),rgba(15,15,15,.85))}
.hero-inner{position:relative;z-index:1;padding:9rem 0 6rem;min-height:70vh;display:flex;flex-direction:column;justify-content:flex-end}
.hero h1{color:#fff;max-width:13ch}
.hero .lead{color:#e3e7ea}
.hero-sm .hero-inner{padding:6rem 0 4rem;min-height:0}
.hero-sm h1{font-size:clamp(2.6rem,6vw,4.2rem)}

.section{padding:4.5rem 0}
.band{background:var(--concrete)}
.dark{background:var(--steel);color:#dcdcdc}.dark h2,.dark h3{color:#fff}
.page-head{background:var(--steel);padding:4rem 0 3rem;border-bottom:4px solid var(--orange)}
.page-head h1{color:#fff;font-size:clamp(2.6rem,6vw,4.2rem)}.page-head .lead{color:#cfcfcf}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.prose p,.prose li{max-width:60ch}
.plain{list-style:none;padding:0;margin:0}
.plain li{padding:.8rem 0;border-bottom:1px solid var(--line)}
.ph img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;background:var(--concrete)}

.rows{list-style:none;margin:0 0 2rem;padding:0;border-top:3px solid var(--steel)}
.rows li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:2rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}
.rows h3{margin:0}.rows p{margin:0;color:var(--muted)}

.grid3{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;margin:0 0 2rem}
.proj h3{margin:1rem 0 .2rem}.proj p{margin:.3rem 0;color:var(--muted)}
.proj .meta{color:var(--orange-deep);font:700 1rem var(--head);letter-spacing:.06em;text-transform:uppercase}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem!important}
.tags span{background:var(--concrete);color:var(--steel);font-size:.85rem;padding:.15rem .6rem;border-radius:3px}
.textlink{font:700 1.15rem var(--head);letter-spacing:.06em;text-transform:uppercase}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.steps li{counter-increment:s;border-top:3px solid var(--orange);padding-top:1rem}
.steps li::before{content:counter(s);font:800 2.2rem var(--head);color:var(--orange)}
.steps h3{margin:.2rem 0 .4rem}.steps p{margin:0}

form label{display:block;font:700 1.1rem var(--head);letter-spacing:.05em;text-transform:uppercase;color:var(--steel);margin-bottom:1.1rem}
input,textarea{display:block;width:100%;margin-top:.35rem;padding:.7rem .8rem;font:400 1.0625rem var(--body);text-transform:none;letter-spacing:0;color:var(--ink);border:1px solid #b3b3b3;border-radius:3px;background:#fff}
input:focus,textarea:focus{border-color:var(--orange)}
.hp{position:absolute;left:-9999px}
#form-status{margin-top:1rem;font-weight:600}
#form-status.ok{color:#17724a}#form-status.err{color:#b3261e}

.site-footer{background:var(--steel-deep);color:#c9c9c9;padding-top:2.5rem}
.site-footer a{color:#fff}.site-footer p{margin:.2rem 0}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;padding-bottom:1.5rem}
.foot strong{color:#fff;font:700 1.3rem var(--head);letter-spacing:.06em;text-transform:uppercase}
.legal{border-top:1px solid rgba(255,255,255,.15);padding:1rem 0;font-size:.9rem}

@media (max-width:860px){.grid3,.steps{grid-template-columns:1fr 1fr}}
@media (max-width:760px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:4px solid var(--orange);padding:.5rem 1.25rem 1rem}
  .nav.open{display:flex}
  .nav a{padding:.8rem 0;border-bottom:1px solid var(--line)}
  .nav a.btn{margin-top:.8rem;text-align:center}
  .split,.rows li,.grid3,.steps{grid-template-columns:1fr;gap:1.25rem}
  .hero-inner{padding:5rem 0 3.5rem;min-height:60vh}
  .section{padding:3rem 0}
  .brand{font-size:.95rem;letter-spacing:.16em}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.steps.nonum li::before{content:none}