@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:wght@300;400;500;600&family=Noto+Sans+SC:wght@300;400;500&display=swap');

:root {
  --orange:      #F47B20;
  --orange-dark: #D4640D;
  --black:       #141210;
  --gray-dark:   #2E2A26;
  --gray-mid:    #6B6560;
  --gray-light:  #F2EDE8;
  --white:       #FFFDFB;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:"DM Sans",sans-serif; background:var(--white); color:var(--black); overflow-x:hidden; }

/* ── NAV ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  height:72px; display:flex; align-items:center; justify-content:space-between;
  padding:0 64px;
  background:rgba(20,18,16,0.0);
  transition:background 0.4s, border-color 0.4s;
  border-bottom:1px solid transparent;
}
nav.scrolled, nav.solid {
  background:rgba(255,253,251,0.97);
  border-bottom-color:rgba(244,123,32,0.12);
  backdrop-filter:blur(20px);
}
.logo {
  text-decoration:none;
  display:inline-flex; align-items:center;
}
.logo img {
  height:42px; width:auto; display:block;
  transition:filter 0.3s;
}

.nav-links { display:flex; align-items:center; gap:36px; list-style:none; }
.nav-links a {
  font-size:13px; font-weight:500; letter-spacing:0.4px;
  color:rgba(255,255,255,0.85); text-decoration:none; transition:color 0.2s;
}
nav.scrolled .nav-links a, nav.solid .nav-links a { color:var(--gray-mid); }
.nav-links a:hover { color:var(--orange) !important; }
.nav-links a.active { color:var(--orange) !important; }
.nav-cta {
  background:var(--orange) !important; color:var(--white) !important;
  padding:10px 24px; border-radius:4px; font-weight:600 !important;
  transition:background 0.2s !important;
}
.nav-cta:hover { background:var(--orange-dark) !important; }

/* ── SHARED UTILITIES ── */
.sec-label {
  font-size:11px; font-weight:700; letter-spacing:3px; text-transform:uppercase;
  color:var(--orange); margin-bottom:14px;
}
.sec-title {
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(44px,4.5vw,66px); line-height:0.92; letter-spacing:0.5px;
}
.reveal { opacity:0; transform:translateY(26px); transition:opacity 0.7s, transform 0.7s; }
.reveal.visible { opacity:1; transform:none; }
.d1{transition-delay:.1s} .d2{transition-delay:.2s} .d3{transition-delay:.3s}

/* ── PAGE HERO (inner pages) ── */
.page-hero {
  height:320px; display:flex; align-items:flex-end;
  padding:0 64px 56px; position:relative; overflow:hidden;
  background:var(--black);
  margin-top:72px;
}
.page-hero::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(20,18,16,0.9) 30%, rgba(20,18,16,0.4));
}
.page-hero-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  filter:brightness(0.45);
}
.page-hero-content { position:relative; z-index:2; }
.page-hero h1 {
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(56px,6vw,88px); line-height:0.9;
  color:var(--white); letter-spacing:1px;
}
.page-hero h1 em { color:var(--orange); font-style:normal; }

/* ── BUTTONS ── */
.btn-orange {
  display:inline-block; background:var(--orange); color:var(--white);
  padding:16px 38px; border-radius:4px; font-size:14px; font-weight:600;
  text-decoration:none; transition:background 0.2s, transform 0.2s;
}
.btn-orange:hover { background:var(--orange-dark); transform:translateY(-2px); }
.btn-white {
  display:inline-block; background:var(--white); color:var(--orange);
  padding:18px 44px; border-radius:4px; font-size:15px; font-weight:700;
  text-decoration:none; transition:transform 0.2s, box-shadow 0.2s; white-space:nowrap;
}
.btn-white:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(0,0,0,0.15); }
.btn-ghost {
  display:inline-block; color:rgba(255,255,255,0.82);
  border:1px solid rgba(255,255,255,0.32); padding:15px 32px;
  border-radius:4px; font-size:14px; font-weight:500; text-decoration:none; transition:all 0.2s;
}
.btn-ghost:hover { border-color:var(--orange); color:var(--orange); }

/* ── FOOTER ── */
footer {
  background:var(--gray-dark); padding:32px 64px;
  display:flex; align-items:center; justify-content:space-between;
}
footer .logo img { height:32px; }
footer p { font-size:12px; color:rgba(255,255,255,0.22); }
.cert { font-size:11px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,0.16); }

/* ── HAMBURGER ── */
.hamburger {
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:36px; height:36px; cursor:pointer; background:none; border:none; padding:4px;
  z-index:300;
}
.hamburger span {
  display:block; height:2px; width:100%; background:var(--white);
  border-radius:2px; transition:transform 0.3s, opacity 0.3s, background 0.3s;
}
nav.scrolled .hamburger span, nav.solid .hamburger span { background:var(--black); }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

@media(max-width:900px){
  nav { padding:0 24px; }
  .hamburger { display:flex; }
  .nav-links {
    display:none; flex-direction:column; gap:0;
    position:fixed; top:72px; left:0; right:0;
    background:rgba(20,18,16,0.97); backdrop-filter:blur(20px);
    padding:16px 0 24px; list-style:none;
    border-bottom:1px solid rgba(244,123,32,0.15);
    z-index:199;
  }
  .nav-links.open { display:flex; }
  .nav-links li { width:100%; }
  .nav-links a {
    display:block; padding:14px 28px;
    color:rgba(255,255,255,0.85) !important;
    font-size:15px; border-bottom:1px solid rgba(255,255,255,0.05);
  }
  .nav-links li:last-child a { border-bottom:none; }
  .nav-links a.nav-cta {
    margin:12px 28px 0; padding:12px 24px;
    display:inline-block; width:auto; border-radius:4px;
  }
  .page-hero { padding:0 24px 40px; }
  footer { flex-direction:column; gap:12px; text-align:center; padding:28px 24px; }
}
