:root{
  --dlc-blue:#247bed; --dlc-red:#ec3e0e; --dlc-white:#ffffff; --dlc-dark:#0a0d12; --dlc-muted:#a8b0bd;
  --dlc-card:#111827; --radius:18px; --shadow:0 10px 30px rgba(0,0,0,.35);
  --container: 1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; font-family:'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, 'Helvetica Neue', Arial; color:var(--dlc-white); background:linear-gradient(120deg,#0a0d12 0%, #0d1118 40%, #0a0d12 100%);}

/* NAV */
.nav{position:fixed; inset:0 0 auto 0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:12px clamp(16px,4vw,32px);
  backdrop-filter:saturate(1.2) blur(10px); background:rgba(10,13,18,.45); border-bottom:1px solid rgba(255,255,255,.06)}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none}
.logo-dot{width:14px; height:14px; border-radius:4px; background:linear-gradient(135deg,var(--dlc-blue),var(--dlc-red))}
.brand b{font-weight:800; letter-spacing:.4px; color:#f5f7fb}
.brand span{color:var(--dlc-muted); font-size:.85rem; font-weight:500}
.links{display:flex; gap:clamp(10px,2vw,22px)}
.links a{color:#e8ecf5; text-decoration:none; font-weight:600; font-size:.95rem}
.btn{display:inline-flex; align-items:center; gap:10px; font-weight:700; border-radius:999px; padding:12px 18px; text-decoration:none; cursor:pointer}
.btn-primary{background:linear-gradient(135deg,var(--dlc-red),#ff6a3a); color:white}
.btn-ghost{border:1px solid rgba(255,255,255,.16); color:#f3f6fb}
.nav-toggle{display:none; align-items:center; justify-content:center; width:42px; height:42px; border-radius:10px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.04); cursor:pointer}
.nav-toggle svg{width:22px; height:22px; fill:none; stroke:#e8ecf5; stroke-width:2; stroke-linecap:round}
@media (max-width: 960px){
  .links{display:none; position:absolute; left:16px; right:16px; top:64px; background:var(--dlc-card); border:1px solid rgba(255,255,255,.08);
    border-radius:14px; padding:14px; box-shadow:0 20px 40px rgba(0,0,0,.45); flex-direction:column; gap:10px}
  .links a{padding:12px 10px; border-radius:10px; display:block}
  .links a:hover{background:rgba(255,255,255,.06)}
  .links.open{display:flex}
  .cta-desktop{display:none}
  .nav-toggle{display:flex}
  .cta-mobile{display:inline-flex}
}

/* LAYOUT */
main{isolation:isolate}
.section{padding: clamp(64px, 10vw, 100px) clamp(16px,5vw,32px)}
.container{max-width:var(--container); margin:0 auto}
h2.section-title{text-align:center; font-size:clamp(1.6rem,4vw,2.6rem); margin:0 auto 16px;}
.section-lede{max-width:900px; margin:0 auto 40px; text-align:center; color:#dbe3ef}

.grid-12{display:grid; grid-template-columns:repeat(12,1fr); gap:22px; max-width:var(--container); margin:0 auto}
.grid-12 .card{grid-column:span 12}
@media(min-width:900px){ .grid-12 .card{grid-column:span 6} }

.auto-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:24px; max-width:var(--container); margin:40px auto 0}
.auto-grid-4{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:24px; max-width:var(--container); margin:0 auto}

.card{background:var(--dlc-card); padding: clamp(18px, 2.2vw, 26px); border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid rgba(255,255,255,.06)}
.img-card{width:100%; border-radius:var(--radius); margin-bottom:16px; height:auto}

/* HERO */
.hero{min-height:100svh; display:grid; place-items:center; padding:120px 24px 80px; position:relative; overflow:hidden}
.hero-overlay::before{content:''; position:absolute; inset:-200% -200%; background: repeating-linear-gradient(120deg, rgba(255,255,255,.05) 0 2px, transparent 2px 120px), repeating-linear-gradient(300deg, rgba(255,255,255,.04) 0 1px, transparent 1px 80px); animation:spin 28s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-inner{position:relative; display:grid; gap:26px; text-align:center; max-width: min(1050px, 92vw)}
.title{font-size:clamp(2rem, 6vw, 4rem); line-height:1.05; margin:0; font-weight:800}
.accent{background:linear-gradient(135deg,var(--dlc-blue),var(--dlc-red)); -webkit-background-clip:text; background-clip:text; color:transparent}
.lede{margin:0 auto; max-width:840px; color:#dbe3ef; font-weight:500; line-height:1.6; font-size:clamp(1rem, 2.2vw, 1.15rem)}
.cta{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}
.chip{display:inline-flex; align-items:center; gap:8px; border-radius:999px; padding:8px 10px; font-size:.78rem; font-weight:700; color:#e9f1ff; background:rgba(36,123,237,.14); border:1px solid rgba(36,123,237,.35)}
.chip .dot{width:8px; height:8px; border-radius:50%; background:var(--dlc-blue)}

/* CONTACT */
.contact-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(300px,1fr)); gap:24px; max-width:var(--container); margin:0 auto}
.input{width:100%; padding:12px; border-radius:var(--radius); border:1px solid rgba(255,255,255,.15); background:transparent; color:#fff; margin-bottom:16px}
.map{width:100%; border:0; border-radius:var(--radius)}
.contact-meta{text-align:center; margin-top:40px}

/* PARTNERS */
.partners{display:flex; flex-wrap:wrap; justify-content:center; gap:30px; margin-top:10px}
.partners img{height:50px; width:auto}

/* FOOTER */
footer{background:var(--dlc-card); padding:40px 24px; text-align:center; border-top:1px solid rgba(255,255,255,.06)}
footer .socials{display:flex; justify-content:center; gap:20px; margin-bottom:20px}
footer .socials a{color:var(--dlc-white); font-size:1.05rem; text-decoration:none}
footer a:hover{color:#247bed}
footer .quick-links{margin-bottom:20px; color:#e8ecf5}
footer .quick-links a{color:#e8ecf5; text-decoration:none}
footer .copyright{color:#a8b0bd; font-size:0.85rem}
