:root{
  --text-xs:clamp(0.75rem,0.7rem + 0.25vw,0.875rem);
  --text-sm:clamp(0.875rem,0.8rem + 0.35vw,1rem);
  --text-base:clamp(1rem,0.95rem + 0.25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + 0.75vw,1.5rem);
  --text-xl:clamp(1.75rem,1.2rem + 1.8vw,2.75rem);
  --text-hero:clamp(2.1rem,0.8rem + 4.6vw,5.25rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;

  /* Brand: logo red #EC0928, logo black #050708 */
  --color-bg:#ffffff;
  --color-surface:#f3f3f2;
  --color-ink:#050708;
  --color-text:#1b1d1e;
  --color-muted:#575b5e;
  --color-line:#dcdcdb;
  --color-red:#ec0928;
  --color-red-strong:#c7061f;
  --color-red-hover:#a5051a;
  --color-dark:#050708;
  --color-on-dark:#f2f2f1;
  --color-on-dark-muted:#a9adb0;

  --font-display:'Archivo',sans-serif;
  --font-body:'Archivo',system-ui,sans-serif;
  --radius:4px;
  --wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{margin:0;color:var(--color-ink);line-height:1.05;text-wrap:balance}
h2{font-family:var(--font-display);font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;font-size:var(--text-xl);letter-spacing:-0.01em;text-transform:uppercase}
h3{font-size:var(--text-lg);font-weight:700;line-height:1.25}
p{margin:0}
figure{margin:0}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(var(--space-5),4vw,var(--space-10))}
.skip{position:absolute;left:-999px;top:0;background:var(--color-ink);color:#fff;padding:var(--space-2) var(--space-4);z-index:100}
.skip:focus{left:var(--space-4)}
:focus-visible{outline:2px solid var(--color-red-strong);outline-offset:3px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:76px}
.brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none}
.brand img{height:48px;width:auto}
.footer-logo{height:28px;width:auto}
.nav{display:flex;align-items:center;gap:var(--space-6);list-style:none;margin:0;padding:0;font-size:var(--text-sm);font-weight:500}
.nav a{text-decoration:none;color:var(--color-text)}
.nav a:hover{color:var(--color-red-strong)}
.nav-cta{background:var(--color-ink);color:var(--color-on-dark)!important;padding:var(--space-2) var(--space-4);border-radius:var(--radius)}
.nav-cta:hover{background:var(--color-red-strong)}
.nav a:not(.nav-cta):hover{color:var(--color-red-strong)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:var(--space-3) var(--space-6);border-radius:var(--radius);font-weight:700;font-size:var(--text-sm);text-decoration:none;transition:background .18s ease,color .18s ease,border-color .18s ease}
.btn-primary{background:var(--color-red-strong);color:#fff}
.btn-primary:hover{background:var(--color-red-hover)}
.btn-ghost{border:1.5px solid rgba(255,255,255,.7);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--color-ink)}

/* Hero */
.hero{position:relative;min-height:min(86vh,820px);display:flex;align-items:flex-end;overflow:hidden;background:var(--color-dark)}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,19,17,.15) 0%,rgba(20,19,17,.35) 40%,rgba(20,19,17,.88) 100%)}
.hero-content{position:relative;padding-block:var(--space-24) clamp(var(--space-12),7vw,var(--space-20));color:#fff;width:100%}
.eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-3)}
.eyebrow::before{content:'';width:32px;height:4px;background:var(--color-red)}
.hero h1{font-family:var(--font-display);font-weight:900;font-stretch:125%;font-variation-settings:'wdth' 125;font-size:var(--text-hero);letter-spacing:-0.02em;line-height:.95;color:#fff;max-width:15ch;text-transform:uppercase}
.hero h1 em{font-style:normal;color:var(--color-red)}
.lede{margin-top:var(--space-6);max-width:52ch;font-size:var(--text-base);color:#e7e4de}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}

/* Facts */
.facts{background:var(--color-dark);color:var(--color-on-dark);border-top:4px solid var(--color-red)}
.facts-grid{display:grid;grid-template-columns:repeat(2,1fr)}
.facts-grid>div{padding:var(--space-8) var(--space-6) var(--space-8) 0;display:flex;flex-direction:column;gap:var(--space-1)}
.facts-grid>div+div{padding-left:var(--space-6);border-left:1px solid #34322d}
.facts strong{font-family:var(--font-display);font-weight:800;font-variation-settings:'wdth' 125;text-transform:uppercase;letter-spacing:.01em;font-size:var(--text-lg);color:#fff}
.facts span{font-size:var(--text-sm);color:var(--color-on-dark-muted)}

/* Sections */
.section{padding-block:clamp(var(--space-16),9vw,var(--space-32))}
.section-head{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:end;margin-bottom:var(--space-12)}
.section-head p{color:var(--color-muted);max-width:44ch;justify-self:end}

.services{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:4px solid var(--color-ink)}
.services li{padding:var(--space-8) var(--space-6) var(--space-10) 0;border-bottom:1px solid var(--color-line)}
.services li:not(:nth-child(3n+1)){padding-left:var(--space-6);border-left:1px solid var(--color-line)}
.num{display:block;font-size:var(--text-xs);font-weight:800;color:var(--color-red-strong);letter-spacing:.08em;margin-bottom:var(--space-4)}
.services h3{margin-bottom:var(--space-3)}
.services p{color:var(--color-muted);font-size:var(--text-sm);max-width:36ch}

.services-intro{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(var(--space-8),6vw,var(--space-20));padding-top:var(--space-10);border-top:4px solid var(--color-ink)}
.services-lead{font-size:var(--text-lg);font-weight:700;color:var(--color-ink);line-height:1.3;margin-bottom:var(--space-4);padding-left:var(--space-4);border-left:4px solid var(--color-red)}
.services-copy p:not(.services-lead){color:var(--color-muted);max-width:62ch}
@media (max-width:900px){.services-intro{grid-template-columns:1fr;gap:var(--space-6)}}

/* About */
.about{background:var(--color-surface)}
.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(var(--space-8),6vw,var(--space-20));align-items:center}
.about-img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.about-copy h2{margin-bottom:var(--space-6);max-width:16ch}
.about-copy p{color:var(--color-text);max-width:56ch}
.about-copy p+p{margin-top:var(--space-4);color:var(--color-muted)}

/* Band */
.band{height:clamp(220px,38vw,460px);overflow:hidden}
.band img{width:100%;height:100%;object-fit:cover;object-position:center 52%}

/* Process */
.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-8),6vw,var(--space-20));align-items:center}
.process-copy>p{margin-top:var(--space-5);color:var(--color-muted);max-width:48ch}
.steps{list-style:none;margin:var(--space-10) 0 0;padding:0;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding:var(--space-5) 0 var(--space-5) var(--space-12);border-top:1px solid var(--color-line)}
.steps li:last-child{border-bottom:1px solid var(--color-line)}
.steps li::before{content:counter(s);position:absolute;left:0;top:var(--space-5);width:32px;height:32px;display:grid;place-items:center;background:var(--color-red-strong);color:#fff;font-weight:800;font-size:var(--text-sm);border-radius:2px}
.steps h3{font-size:var(--text-base);margin-bottom:var(--space-1)}
.steps p{color:var(--color-muted);font-size:var(--text-sm)}
.process-img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius)}

/* Contact */
.contact{background:var(--color-dark);color:var(--color-on-dark);padding-block:clamp(var(--space-16),9vw,var(--space-24))}
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(var(--space-8),6vw,var(--space-20));align-items:start}
.contact h2{color:#fff;max-width:14ch}
.contact-grid>div>p{margin:var(--space-5) 0 var(--space-8);color:var(--color-on-dark-muted);max-width:44ch}
.contact-list{margin:0;display:grid;gap:0}
.contact-list>div{padding:var(--space-4) 0;border-top:1px solid #3a3833}
.contact-list>div:last-child{border-bottom:1px solid #3a3833}
.contact-list dt{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-on-dark-muted);margin-bottom:var(--space-1)}
.contact-list dd{margin:0;font-size:var(--text-base);color:#fff;overflow-wrap:anywhere}
.contact-list a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}
.contact-list a:hover{color:#fff;border-color:var(--color-red)}

/* Footer */
.site-footer{background:#000;border-top:1px solid #222;color:var(--color-on-dark-muted);font-size:var(--text-xs)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-6);flex-wrap:wrap}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:#fff}

/* Responsive */
@media (max-width:900px){
  .nav li:not(:last-child){display:none}
  .section-head,.about-grid,.process-grid,.contact-grid{grid-template-columns:1fr}
  .section-head p{justify-self:start}
  .services{grid-template-columns:1fr 1fr}
  .services li,.services li:not(:nth-child(3n+1)){padding:var(--space-6) var(--space-4) var(--space-8) 0;border-left:0}
  .services li:nth-child(2n){padding-left:var(--space-4);border-left:1px solid var(--color-line)}
  .process-img img{aspect-ratio:4/3}
}
@media (max-width:600px){
  .facts-grid{grid-template-columns:1fr}
  .facts-grid>div,.facts-grid>div+div{padding:var(--space-5) 0;border-left:0}
  .facts-grid>div+div{border-top:1px solid #34322d}
  .services{grid-template-columns:1fr}
  .services li,.services li:nth-child(2n){padding:var(--space-6) 0;border-left:0}
  .hero{min-height:88vh}
  .hero-actions .btn{flex:1 1 100%}
  .brand img{height:30px}
  .nav-cta{padding:var(--space-2) var(--space-3)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
