/* ============================================================
   CLEAN CUT BOILER MAKING + LINE BORING — site styles
   Brand: Orange #F7941D · Carbon #0C0D10 · White
   Type: Oswald (headings) · Inter (body)
   ============================================================ */
:root{
  --orange:#F7941D;
  --orange-bright:#FBA63A;
  --black:#0C0D10;
  --ink:#16171B;
  --surface:#1A1B20;
  --panel:#202229;
  --line:#2B2D34;
  --white:#FAFAFA;
  --grey:#A7A8B0;
  --grey-d:#74757D;
  --light:#F5F3EF;
  --light-card:#FCFBF9;
  --light-line:#E4E0D8;
  --ink-on-light:#1A1A1E;
  --body-on-light:#45454D;
  --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;font-weight:300;color:var(--ink-on-light);
  background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
h1,h2,h3,h4,.font-head{font-family:'Oswald',sans-serif;text-transform:uppercase;line-height:1.05;font-weight:600}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.eyebrow{display:inline-flex;align-items:center;gap:11px;font-family:'Inter';font-weight:600;
  font-size:12px;letter-spacing:2.6px;text-transform:uppercase;color:var(--orange)}
.eyebrow::before{content:"";width:30px;height:2px;background:var(--orange)}
.eyebrow.center::before{display:none}

/* buttons */
.btn{display:inline-block;font-family:'Inter';font-weight:600;font-size:13px;letter-spacing:1.2px;
  text-transform:uppercase;padding:14px 26px;border-radius:2px;transition:.2s;cursor:pointer;border:none}
.btn-primary{background:var(--orange);color:#111}
.btn-primary:hover{background:var(--orange-bright)}
.btn-ghost{background:transparent;border:1px solid #46474E;color:var(--white)}
.btn-ghost:hover{border-color:var(--orange);color:var(--orange-bright)}
.btn-dark{background:var(--black);color:var(--white)}
.btn-dark:hover{background:var(--ink)}

/* ---------- HEADER ---------- */
header.site{position:sticky;top:0;z-index:100;background:rgba(10,11,13,.97);
  border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.nav{display:flex;align-items:center;justify-content:space-between;height:96px}
.brand img{height:69px;width:auto}
nav.links{display:flex;align-items:center;gap:30px}
nav.links a{color:var(--white);font-family:'Inter';font-size:14px;font-weight:400;
  letter-spacing:.3px;opacity:.86;transition:.15s}
nav.links a:hover,nav.links a.active{opacity:1;color:var(--orange-bright)}
nav.links .phone{font-family:'Oswald';font-weight:500;font-size:15px;letter-spacing:.5px;
  color:var(--white);opacity:1;white-space:nowrap}
nav.links .phone:hover{color:var(--orange-bright)}
.menu-toggle{display:none}

/* ---------- HERO ---------- */
.hero{position:relative;background-color:var(--black);background-size:cover;background-position:center;
  color:var(--white);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(8,9,11,.94) 0%, rgba(8,9,11,.72) 48%, rgba(8,9,11,.34) 100%),
    linear-gradient(0deg, rgba(8,9,11,.90) 2%, rgba(8,9,11,.10) 60%),
    radial-gradient(120% 95% at 82% 8%, rgba(247,148,29,.16), transparent 55%)}
.hero .wrap{position:relative;padding:74px 32px 78px}
.hero h1{font-size:62px;font-weight:700;max-width:16ch;letter-spacing:.5px}
.hero h1 .o{color:var(--orange)}
.hero .lede{font-family:'Inter';font-weight:300;font-size:19px;color:#D4D5DB;max-width:56ch;margin:24px 0 36px}
.hero .cta{display:flex;gap:15px;flex-wrap:wrap}
.hero .stats{display:flex;gap:46px;margin-top:44px;padding-top:30px;border-top:1px solid var(--line);flex-wrap:wrap}
.hero .stat .n{font-family:'Oswald';font-weight:700;font-size:34px;color:var(--white)}
.hero .stat .n i{color:var(--orange);font-style:normal}
.hero .stat .l{font-size:13px;color:var(--grey);margin-top:2px;letter-spacing:.3px}

/* page hero (interior, shorter) */
.page-hero{background-color:var(--black);background-size:cover;background-position:center 35%;
  color:var(--white);position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;
  background:
  linear-gradient(90deg, rgba(8,9,11,.92) 0%, rgba(8,9,11,.70) 55%, rgba(8,9,11,.40) 100%),
  linear-gradient(0deg, rgba(8,9,11,.85), rgba(8,9,11,.20) 70%),
  radial-gradient(120% 120% at 85% 0%, rgba(247,148,29,.14), transparent 55%)}
.page-hero .wrap{position:relative;padding:78px 32px 70px}
.page-hero h1{font-size:48px;font-weight:700;max-width:18ch}
.page-hero h1 .o{color:var(--orange)}
.page-hero p{font-family:'Inter';font-weight:300;font-size:17px;color:#CFD0D6;max-width:60ch;margin-top:16px}

/* ---------- TRADE STRIP ---------- */
.strip{background:var(--orange)}
.strip .wrap{display:flex;flex-wrap:wrap;gap:12px 38px;justify-content:center;padding:15px 32px}
.strip span{font-family:'Oswald';font-weight:500;text-transform:uppercase;letter-spacing:1.4px;
  font-size:14px;color:#111;display:flex;align-items:center;gap:14px}
.strip span::after{content:"\2715";font-size:10px;opacity:.45}
.strip span:last-child::after{display:none}

/* ---------- SECTIONS ---------- */
section{padding:92px 0}
section.dark{background:var(--black);color:var(--white)}
section.ink{background:var(--ink);color:var(--white)}
.shead{max-width:680px;margin-bottom:50px}
.shead h2{font-size:40px;color:inherit;margin-top:16px}
section:not(.dark):not(.ink) .shead h2{color:var(--ink-on-light)}
.shead p{font-family:'Inter';font-weight:300;font-size:17px;margin-top:14px}
section.dark .shead p,section.ink .shead p{color:var(--grey)}
section:not(.dark):not(.ink) .shead p{color:var(--body-on-light)}

/* service cards (dark grid) */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.card{background:var(--black);color:var(--white);padding:38px;transition:.25s;position:relative}
.card:hover{background:#1b1c22}
.card .tag{position:absolute;top:32px;right:36px;font-family:'Inter';font-weight:600;font-size:11px;
  letter-spacing:1.4px;color:var(--orange);text-transform:uppercase}
.card .ic{width:44px;height:44px;color:var(--orange);margin-bottom:20px;stroke:var(--orange)}
.card h3{font-size:23px;color:var(--white);margin-bottom:11px}
.card p{font-family:'Inter';font-weight:300;font-size:15px;color:#B6B7BE}

/* why grid (3 col, on dark) */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.why .item{border-top:3px solid var(--orange);padding-top:22px}
.why .item h3{font-size:20px;color:var(--white);margin-bottom:9px}
.why .item p{font-family:'Inter';font-weight:300;font-size:15px;color:#A9AAB1}

/* split (about) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.media{background:#15161b center/cover no-repeat;border:1px solid var(--line);
  border-radius:4px;min-height:440px;position:relative;overflow:hidden}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gallery figure{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:4/3;margin:0;background:#111}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;display:block}
.gallery figure:hover img{transform:scale(1.06)}
.media::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(135deg,rgba(247,148,29,.05) 0 2px,transparent 2px 22px)}
.media .lbl{position:absolute;left:24px;bottom:22px;font-family:'Inter';font-size:12px;
  letter-spacing:1px;color:#62636B}
.media .lbl b{display:block;font-family:'Oswald';font-weight:500;color:var(--orange);
  font-size:13px;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:4px}

/* detailed service rows */
.srow{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;padding:54px 0;
  border-bottom:1px solid var(--light-line)}
.srow:last-child{border-bottom:none}
.srow .num{font-family:'Oswald';font-weight:700;font-size:60px;color:var(--light-line);line-height:1}
.srow h3{font-size:30px;color:var(--ink-on-light);margin:6px 0 16px}
.srow .body p{font-family:'Inter';font-weight:300;font-size:16px;color:var(--body-on-light);margin-bottom:14px}
.srow ul{list-style:none;margin-top:8px}
.srow li{font-family:'Inter';font-weight:400;font-size:15px;color:var(--ink-on-light);
  padding:9px 0 9px 26px;position:relative;border-bottom:1px solid var(--light-line)}
.srow li::before{content:"";position:absolute;left:0;top:16px;width:9px;height:9px;
  background:var(--orange);border-radius:50%}

/* scope chips */
.scope{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.chip{background:var(--panel);border-radius:3px;padding:18px 20px;font-family:'Inter';font-weight:600;
  font-size:15px;color:#E8E8EC;border-left:3px solid var(--orange)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.step .n{font-family:'Oswald';font-weight:700;font-size:18px;color:#111;background:var(--orange);
  width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.step h3{font-size:19px;color:var(--white);margin-bottom:9px}
.step p{font-family:'Inter';font-weight:300;font-size:15px;color:var(--grey)}

/* CTA band */
.ctaband{background:var(--black);color:var(--white);text-align:center}
.ctaband .wrap{padding:84px 32px}
.ctaband h2{font-size:42px;max-width:20ch;margin:0 auto 14px;color:var(--white)}
.ctaband h2 .o{color:var(--orange)}
.ctaband p{font-family:'Inter';font-weight:300;color:var(--grey);font-size:17px;margin-bottom:32px}
.ctaband .cta{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start}
.cinfo .block{margin-bottom:30px}
.cinfo .k{font-family:'Inter';font-weight:600;font-size:12px;letter-spacing:2px;color:var(--orange);
  text-transform:uppercase;margin-bottom:7px}
.cinfo .v{font-family:'Oswald';font-weight:500;font-size:22px;color:var(--ink-on-light);letter-spacing:.4px}
.cinfo .v a:hover{color:var(--orange)}
.cinfo .sub{font-family:'Inter';font-weight:300;font-size:15px;color:var(--body-on-light);margin-top:4px}
form .field{margin-bottom:18px}
form label{display:block;font-family:'Inter';font-weight:600;font-size:13px;letter-spacing:.4px;
  color:var(--ink-on-light);margin-bottom:7px}
form input,form select,form textarea{width:100%;font-family:'Inter';font-weight:300;font-size:15px;
  padding:13px 15px;border:1px solid var(--light-line);border-radius:3px;background:#fff;color:var(--ink-on-light)}
form input:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--orange)}
form textarea{min-height:130px;resize:vertical}
.form-note{font-family:'Inter';font-weight:300;font-size:12.5px;color:var(--grey-d);margin-top:12px}

/* ---------- FOOTER ---------- */
footer.site{background:#08090B;color:var(--grey);padding:62px 0 28px;font-size:14px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:42px;padding-bottom:42px;border-bottom:1px solid var(--line)}
footer.site .flogo img{height:54px;margin-bottom:16px}
footer.site .flogo p{font-family:'Inter';font-weight:300;color:#83848C;max-width:34ch;font-size:14px}
footer.site h4{font-family:'Oswald';font-weight:600;color:var(--white);font-size:15px;
  letter-spacing:1.4px;text-transform:uppercase;margin-bottom:16px}
footer.site a{display:block;color:var(--grey);margin-bottom:9px;transition:.15s}
footer.site a:hover{color:var(--orange-bright)}
.fbar{display:flex;justify-content:space-between;padding-top:22px;color:#5A5B63;font-size:12.5px;flex-wrap:wrap;gap:8px}
.fbar .ajm{color:#5A5B63}.fbar .ajm:hover{color:var(--orange)}

/* ---------- RESPONSIVE ---------- */
@media(max-width:880px){
  .menu-toggle{display:block;background:none;border:none;color:#fff;font-size:26px;cursor:pointer}
  nav.links{display:none;position:absolute;top:96px;left:0;right:0;flex-direction:column;
    align-items:flex-start;gap:0;background:var(--ink);border-bottom:1px solid var(--line);padding:8px 0}
  nav.links.open{display:flex}
  nav.links a{width:100%;padding:14px 32px;opacity:1}
  .hero h1{font-size:40px}.hero .wrap{padding:80px 32px}
  .page-hero h1{font-size:34px}
  .cards,.why,.split,.scope,.steps,.contact-grid,.srow,.fgrid{grid-template-columns:1fr}
  .scope,.gallery{grid-template-columns:1fr 1fr}
  .shead h2,.ctaband h2{font-size:30px}
  section{padding:62px 0}
  .split{gap:30px}.media{min-height:260px}
}
