/* TOKENS */
:root {
  --red: #C8111E;
  --dark: #07091b;
  --ink: #0d0f1a;
  --ink-mid: #3a3d4a;
  --ink-light: #5c5f6e;
  --border: #d8dae4;
  --bg: #ffffff;
  --bg-subtle: #f5f6f9;
  --white: #ffffff;
  --green: #3a8a3a;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Roboto Flex', sans-serif; font-weight: 400; color: var(--ink); }

/* TYPOGRAPHY */
h1,h2,h3,h4 { font-family: 'Barlow', sans-serif; color: var(--ink); }
h1 { font-size: clamp(2.6rem,6vw,5rem); font-weight:900; line-height:1.02; letter-spacing:-0.02em; }
h2 { font-size: clamp(1.8rem,3.8vw,2.9rem); font-weight:800; line-height:1.1; }
h3 { font-size: clamp(1rem,1.8vw,1.35rem); font-weight:700; }
p  { line-height:1.78; color: var(--ink-mid); }
a  { text-decoration:none; }

.container { max-width:1200px; margin:0 auto; padding:0 2.25rem; }

/* BUTTONS */
.btn { display:inline-flex; align-items:center; gap:0.45rem; font-family:'Barlow',sans-serif;
  font-weight:700; font-size:0.88rem; letter-spacing:0.03em; padding:0.84rem 1.9rem;
  border-radius:2px; cursor:pointer; transition:all .22s ease; border:2px solid transparent; }
.btn--red { background:var(--red); color:#fff; border-color:var(--red); }
.btn--red:hover { background:#a50e18; border-color:#a50e18; }
.btn--outline { background:transparent; color:var(--ink); border-color:var(--border); }
.btn--outline:hover { border-color:var(--ink); background:var(--bg-subtle); }
.btn--white { background:#fff; color:var(--red); border-color:#fff; }
.btn--white:hover { background:transparent; color:#fff; }
.btn--ghost-white { background:transparent; color:#fff; border-color:rgba(255,255,255,0.45); }
.btn--ghost-white:hover { border-color:#fff; }

/* SCROLL REVEAL */
.reveal { opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease; }
.reveal.active { opacity:1; transform:translateY(0); }
.d1 { transition-delay:.1s; } .d2 { transition-delay:.22s; } .d3 { transition-delay:.34s; }

.dlc-hero,
.dlc-dotpoints,
.dlc-gallery,
.dlc-logos,
.dlc-profile,
.dlc-form,
.dlc-closing {
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
}
@media (max-width: 640px) {
  .dlc-hero,
  .dlc-dotpoints,
  .dlc-gallery,
  .dlc-logos,
  .dlc-profile,
  .dlc-form,
  .dlc-closing {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .dlc-hero { min-height: auto !important; padding-top: 5rem !important; }
/* Collapse empty anchor-only theme sections */
.dnd-section:has(> .row-fluid > .dnd-column > .dnd-row .kl-custom-anchor:only-child),
.row-fluid-wrapper:has(.kl-custom-anchor) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}
  @media (max-width: 640px) {
  .dlc-logos {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
}
  @media (max-width: 640px) {
  .dnd-section:has(.dlc-closing) {
    padding-bottom: 0 !important;
  }
}
  .breadcrumb { display: none; }
.child-page-header { padding-top: 3rem; }