:root{
  --bg:#ffffff;
  --bg-2:#f6f4ef;
  --ink:#0d0d0d;
  --ink-2:#1f1f1f;
  --ink-mute:#666666;
  --rule:#e6e3dc;
  --rule-2:#efece5;
  --accent:#c9301c;       /* deep industrial red */
  --on-ink:#ffffff;
  --maxw:1320px;
  --pad: clamp(20px, 3.5vw, 48px);
  --nav-h: 76px;
  --ff: "Helvetica Neue", Helvetica, Arial, "Liberation Sans", sans-serif;
}
[data-theme="dark"]{
  --bg:#0c0c0c;
  --bg-2:#161614;
  --ink:#f4f2ed;
  --ink-2:#dad7d0;
  --ink-mute:#9a978f;
  --rule:#262624;
  --rule-2:#1d1d1b;
  --on-ink:#0c0c0c;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);
  font-family:var(--ff); font-size:16px; line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  transition:background .25s ease, color .25s ease;
  font-feature-settings:"kern" 1, "liga" 1;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:default}

/* Type ------------------------------------------------------------ */
.h-display{font-weight:500;letter-spacing:-.025em;line-height:.98}
.h-1{font-size:clamp(48px, 7.2vw, 116px); font-weight:500; letter-spacing:-.028em; line-height:.96}
.h-2{font-size:clamp(34px, 4.4vw, 64px); font-weight:500; letter-spacing:-.022em; line-height:1.02}
.h-3{font-size:clamp(22px, 2.2vw, 32px); font-weight:500; letter-spacing:-.012em; line-height:1.15}
.lede{font-size:clamp(17px, 1.4vw, 22px); line-height:1.45; color:var(--ink-2); font-weight:400}
.small{font-size:13px; color:var(--ink-mute)}
.label{font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-mute); font-weight:500}
.tabular{font-variant-numeric:tabular-nums}

.wrap{max-width:var(--maxw); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad)}
.section{padding:clamp(64px,7vw,112px) 0}
.rule-t{border-top:1px solid var(--rule)}
.rule-b{border-bottom:1px solid var(--rule)}

/* Buttons -------------------------------------------------------- */
.btn{display:inline-flex; align-items:center; gap:10px; padding:14px 20px;
  font-size:14px; font-weight:500; line-height:1; border:1px solid var(--ink);
  background:var(--ink); color:var(--on-ink); transition:background .2s ease, color .2s ease, border-color .2s ease}
.btn:hover{background:var(--accent); border-color:var(--accent); color:#fff}
.btn.ghost{background:transparent; color:var(--ink)}
.btn.ghost:hover{background:var(--ink); color:var(--on-ink); border-color:var(--ink)}
.btn .arr{display:inline-block; transition:transform .2s ease}
.btn:hover .arr{transform:translateX(3px)}

.link-ul{position:relative; padding-bottom:2px; border-bottom:1px solid var(--ink); transition:border-color .2s ease}
.link-ul:hover{border-color:var(--accent); color:var(--accent)}

/* Logo plate ----------------------------------------------------- */
.brand-logo{height:44px;width:auto;display:block}
[data-theme="dark"] .brand-logo-wrap{background:#fff;padding:5px 9px;border-radius:5px;line-height:0}

/* Footer logo (white version) */
.brand-logo-footer{height:64px;width:auto;display:block}

/* Selection */
::selection{background:var(--accent);color:#fff}
