/* ==========================================================================
   CSD ENGINEERS — HOME (Phase 3 redesign v2)
   Premium navy + amber. Uses global design tokens from style.css.
   ========================================================================== */

:root{
  --btn-h: 54px;
  --btn-minw: 158px;
  --btn-r: 12px;
  --cta-gap: 18px;
}

/* Container aligned with design system */
.csd-about.container,
.csd-services.container,
.csd-projects.container,
.csd-clients.container,
.csd-contact.container{
  width:100%; max-width: var(--container,1200px);
  margin-inline:auto; padding-inline: clamp(18px,5vw,40px);
}

/* ============================ HERO (full image + overlay) ============================ */
.csd-hero{
  position:relative; overflow:hidden; margin:0; max-width:none !important;
  min-height:clamp(580px,84vh,840px);
  display:flex; align-items:center; color:#fff;
  background:url("../images/hero3.jpg") center/cover no-repeat;
}
/* Hero crossfade slideshow layers (behind overlay) */
.csd-hero-slides{ position:absolute; inset:0; z-index:0; }
.csd-hero-slide{
  position:absolute; inset:0;
  background-size:cover; background-position:center; background-repeat:no-repeat;
  opacity:0; transition:opacity 1.4s ease-in-out; will-change:opacity;
}
.csd-hero-slide.is-active{ opacity:1; }
@media (prefers-reduced-motion: reduce){ .csd-hero-slide{ transition:none; } }
.csd-hero-overlay{
  position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(900px 500px at 82% 0%, rgba(224,160,18,.16), transparent 60%),
    linear-gradient(90deg, rgba(5,15,30,.94) 0%, rgba(7,20,40,.84) 40%, rgba(7,20,40,.52) 72%, rgba(7,20,40,.30) 100%);
}
.csd-hero-inner{
  position:relative; z-index:2; width:100%;
  max-width:var(--container,1200px); margin-inline:auto;
  padding:clamp(90px,13vw,150px) clamp(18px,5vw,40px);
}
.csd-hero-text{ max-width:680px; }
.csd-hero-eyebrow{
  display:inline-block; font-family:var(--font-display,"Sora",sans-serif); font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; font-size:.76rem; color:var(--csd-amber,#E0A012);
  background:rgba(224,160,18,.12); border:1px solid rgba(224,160,18,.4);
  padding:8px 16px; border-radius:999px; margin-bottom:22px;
}
.csd-hero-text h1{
  font-family:var(--font-display,"Sora",sans-serif);
  font-size:clamp(2.3rem,1.4rem + 3vw,3.7rem); font-weight:800; line-height:1.1;
  letter-spacing:-.015em; color:#fff; margin:0 0 20px; text-shadow:0 2px 26px rgba(0,0,0,.4);
}
.csd-hero-text .t-blue{ color:var(--csd-blue-300,#7FB2E6); }
.csd-hero-text .t-accent{ color:var(--csd-amber,#E0A012); }
.csd-hero-text p{
  font-size:clamp(1.02rem,.95rem + .35vw,1.22rem); color:rgba(234,241,249,.92);
  line-height:1.7; margin:0 0 30px; max-width:580px; text-shadow:0 1px 14px rgba(0,0,0,.3);
}

.csd-cta{ display:flex; align-items:center; gap:var(--cta-gap); flex-wrap:wrap; }
.cta-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:var(--btn-h); min-width:var(--btn-minw); padding:0 28px;
  border-radius:var(--btn-r); font-family:var(--font-display,"Sora",sans-serif);
  font-weight:700; font-size:1rem; line-height:1; white-space:nowrap; text-decoration:none;
  border:1.5px solid transparent; cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}
.cta-btn--primary{ background:var(--csd-amber,#E0A012); color:var(--csd-navy,#0B2A4A); box-shadow:0 14px 30px rgba(224,160,18,.4); }
.cta-btn--primary:hover{ transform:translateY(-2px); background:#F2B62E; box-shadow:0 18px 38px rgba(224,160,18,.5); }
.cta-btn--secondary{ background:rgba(255,255,255,.06); color:#fff; border-color:rgba(255,255,255,.5); backdrop-filter:blur(2px); }
.cta-btn--secondary:hover{ transform:translateY(-2px); border-color:#fff; background:rgba(255,255,255,.14); }

/* ============================ ABOUT ============================ */
.csd-about{ display:flex; align-items:center; gap:52px; padding:clamp(56px,8vw,104px) clamp(18px,5vw,40px); }
.csd-about-img{ flex:1; min-width:340px; position:relative; }
.csd-about-img img{ width:100%; display:block; border-radius:20px; object-fit:cover; box-shadow:var(--shadow,0 18px 44px rgba(11,42,74,.16)); }

.csd-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:-46px; position:relative; z-index:1; }
.csd-stat-card{
  background:#fff; border:1px solid var(--csd-line,#E3E8EF); border-radius:16px; padding:22px 14px; text-align:center;
  box-shadow:0 16px 30px rgba(11,42,74,.12); transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s;
}
.csd-stat-card:hover{ transform:translateY(-5px); box-shadow:0 22px 40px rgba(11,42,74,.18); border-color:var(--csd-blue-300,#5C9BD8); }
.csd-stat-icon{
  width:52px; height:52px; display:grid; place-items:center; color:#fff; margin:0 auto 10px;
  border-radius:14px; background:linear-gradient(135deg,var(--csd-blue,#1564B0),var(--csd-navy,#0B2A4A));
  box-shadow:0 8px 18px rgba(21,100,176,.26);
}
.csd-stat-icon svg{ width:26px; height:26px; }
.csd-stat-num{ font-family:var(--font-display,"Sora",sans-serif); font-weight:800; font-size:1.55rem; color:var(--csd-navy,#0B2A4A); line-height:1.1; }
.csd-stat-label{ margin-top:4px; font-size:.92rem; color:var(--csd-muted,#5A6B7E); }

.csd-about-text{ flex:1; }
.csd-about-text h2{
  font-family:var(--font-display,"Sora",sans-serif); font-size:clamp(1.7rem,1.2rem + 1.6vw,2.4rem); font-weight:800;
  color:var(--csd-navy,#0B2A4A); margin:0 0 16px; background:none; display:block; padding:0; letter-spacing:-.01em;
}
.csd-about-text h2::before{
  content:"About us"; display:block; font-family:var(--font-display,"Sora",sans-serif); font-size:.8rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; color:var(--csd-blue,#1564B0); margin-bottom:8px;
}
.csd-about-text p{ margin:0 0 16px; color:var(--csd-body,#33424F); font-size:1.06rem; line-height:1.75; }
.csd-about-list{ list-style:none; padding:0; margin:0 0 26px; }
.csd-about-list li{ position:relative; margin:0 0 12px; padding-left:32px; color:var(--csd-ink,#0F1B2D); font-size:1.04rem; line-height:1.55; }
.csd-about-list li::before{ content:""; position:absolute; left:0; top:1px; width:21px; height:21px; border-radius:6px; background:rgba(21,100,176,.12); }
.csd-about-list li::after{ content:""; position:absolute; left:6px; top:6px; width:8px; height:4px; border-left:2px solid var(--csd-blue,#1564B0); border-bottom:2px solid var(--csd-blue,#1564B0); transform:rotate(-45deg); }

.csd-about .csd-btn{
  display:inline-flex; align-items:center; justify-content:center; height:54px; min-width:220px; padding:0 26px;
  border-radius:12px; font-family:var(--font-display,"Sora",sans-serif); font-weight:700; font-size:1rem; text-decoration:none; white-space:nowrap;
  border:1.5px solid transparent; color:#fff; background:var(--csd-navy,#0B2A4A); box-shadow:0 12px 26px rgba(11,42,74,.22);
  transition:transform .18s ease, box-shadow .18s ease, background .2s;
}
.csd-about .csd-btn:hover{ transform:translateY(-2px); background:var(--csd-blue,#1564B0); box-shadow:0 16px 32px rgba(21,100,176,.28); }

/* ============================ SECTION HEADINGS (shared) ============================ */
.csd-services h2, .csd-projects-title, .csd-clients h2, .csd-contact h2{
  font-family:var(--font-display,"Sora",sans-serif); color:var(--csd-navy,#0B2A4A);
  font-size:clamp(1.8rem,1.3rem + 1.6vw,2.6rem); font-weight:800; letter-spacing:-.01em;
  text-align:center; margin:0 auto 14px;
}
.csd-services h2::after, .csd-projects-title::after, .csd-clients h2::after, .csd-contact h2::after{
  content:""; display:block; width:64px; height:4px; border-radius:999px; margin:14px auto 0;
  background:linear-gradient(90deg,var(--csd-blue,#1564B0),var(--csd-amber,#E0A012));
}
.csd-services-subtitle, .csd-projects-subtitle, .csd-clients > p{
  text-align:center; color:var(--csd-muted,#5A6B7E); font-size:1.1rem; line-height:1.6; max-width:700px; margin:0 auto 40px;
}

/* ============================ SERVICES ============================ */
.csd-services{ padding:clamp(40px,5vw,64px) clamp(18px,5vw,40px) clamp(56px,8vw,96px); background:var(--csd-cloud,#F4F6F9); }
.csd-services .csd-section-eyebrow{ margin-bottom:8px; }
.csd-services h2{ margin-bottom:10px; }
.csd-services-subtitle{ margin-bottom:34px; }
.csd-services-list{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; align-items:stretch; }
.csd-service-item{
  position:relative; background:#fff; border:1px solid var(--csd-line,#E3E8EF); border-radius:18px; padding:32px 28px;
  text-align:left; display:flex; flex-direction:column; align-items:flex-start; overflow:hidden;
  box-shadow:0 4px 18px rgba(11,42,74,.06); transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s;
}
.csd-service-item::before{ content:""; position:absolute; left:0; top:0; height:4px; width:100%; background:linear-gradient(90deg,var(--csd-blue,#1564B0),var(--csd-amber,#E0A012)); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease); }
.csd-service-item:hover{ transform:translateY(-8px); box-shadow:0 22px 46px rgba(11,42,74,.18); border-color:transparent; }
.csd-service-item:hover::before{ transform:scaleX(1); }
.csd-service-item:hover .csd-service-icon{ transform:translateY(-2px) scale(1.06); box-shadow:0 14px 30px rgba(21,100,176,.36); }
.csd-service-icon{
  width:64px; height:64px; display:grid; place-items:center; font-size:30px; margin-bottom:18px; border-radius:16px;
  background:linear-gradient(135deg, var(--csd-navy,#0B2A4A), var(--csd-blue,#1564B0));
  box-shadow:0 10px 22px rgba(21,100,176,.26); transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.csd-service-item h3{ font-family:var(--font-display,"Sora",sans-serif); font-size:1.18rem; font-weight:700; color:var(--csd-navy,#0B2A4A); margin:0 0 10px; line-height:1.3; }
.csd-service-item p{ font-size:1rem; color:var(--csd-muted,#5A6B7E); margin:0 0 18px; line-height:1.65; flex:1; }
.csd-service-item a{ color:var(--csd-blue,#1564B0); font-weight:700; text-decoration:none; font-size:.98rem; display:inline-flex; align-items:center; gap:6px; }
.csd-service-item a::after{ content:"\2192"; transition:transform .2s; }
.csd-service-item a:hover{ color:var(--csd-navy,#0B2A4A); }
.csd-service-item a:hover::after{ transform:translateX(4px); }
.csd-service-delete{
  position:absolute; top:12px; right:12px; background:rgba(179,38,30,.92); color:#fff; border:none; border-radius:50%;
  width:28px; height:28px; font-size:1.1rem; line-height:1; cursor:pointer; z-index:3; opacity:.85; transition:background .2s, opacity .2s;
}
.csd-service-delete:hover{ background:#b3261e; opacity:1; }
.csd-services-add{ display:flex; justify-content:center; margin-top:40px; }
.csd-add-service-btn{
  display:inline-flex; align-items:center; gap:12px; padding:14px 26px; border-radius:14px;
  font-family:var(--font-display,"Sora",sans-serif); font-weight:700; font-size:1rem; text-decoration:none;
  color:var(--csd-blue,#1564B0); background:rgba(21,100,176,.06); border:1.6px dashed rgba(21,100,176,.45);
  transition:transform .18s ease, background .2s, border-color .2s, box-shadow .2s, color .2s;
}
.csd-add-service-btn:hover{ transform:translateY(-2px); color:#fff; background:var(--csd-blue,#1564B0); border-color:var(--csd-blue,#1564B0); box-shadow:0 14px 28px rgba(21,100,176,.28); }
.csd-add-service-icon{ display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--csd-blue,#1564B0); color:#fff; font-size:1.25rem; line-height:1; transition:background .2s, color .2s; }
.csd-add-service-btn:hover .csd-add-service-icon{ background:#fff; color:var(--csd-blue,#1564B0); }

/* ============================ PROJECTS ============================ */
.csd-projects{ padding:clamp(56px,8vw,100px) clamp(18px,5vw,40px); background:#fff; }
.csd-projects-title{ background:none; color:var(--csd-navy,#0B2A4A); display:block; padding:0; margin:0 auto 14px; transform:none; }
.csd-projects-list{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.csd-project-item{
  background:#fff; border:1px solid var(--csd-line,#E3E8EF); border-radius:18px; overflow:hidden; padding:0 0 22px;
  display:flex; flex-direction:column; box-shadow:0 4px 18px rgba(11,42,74,.06); transition:transform .25s var(--ease), box-shadow .25s var(--ease);
  max-width:none; width:auto; text-decoration:none; color:inherit;
}
.csd-project-item:hover{ transform:translateY(-6px); box-shadow:0 20px 44px rgba(11,42,74,.16); }
.csd-project-img{ width:100%; position:relative; overflow:hidden; min-height:200px; background:var(--csd-cloud,#F4F6F9); }
.csd-project-img img{ width:100%; height:210px; object-fit:cover; display:block; transition:transform .5s var(--ease); }
.csd-project-item:hover .csd-project-img img{ transform:scale(1.06); }
.csd-project-label{
  position:absolute; top:14px; left:14px; background:var(--csd-navy,#0B2A4A); color:#fff; font-size:.82rem; font-weight:700;
  letter-spacing:.03em; text-transform:uppercase; padding:5px 14px; border-radius:999px; z-index:2; box-shadow:0 6px 16px rgba(11,42,74,.28);
}
.csd-project-label.industrial{ background:var(--csd-blue,#1564B0); }
.csd-project-label.residential{ background:#1b7a4b; }
.csd-project-label.commercial{ background:var(--csd-amber,#E0A012); color:var(--csd-navy,#0B2A4A); }
.csd-project-item h4{ font-family:var(--font-display,"Sora",sans-serif); margin:20px 22px 8px; font-size:1.18rem; font-weight:700; color:var(--csd-navy,#0B2A4A); text-align:left; }
.csd-project-item p{ color:var(--csd-muted,#5A6B7E); font-size:.98rem; text-align:left; margin:0 22px; line-height:1.6; }
.csd-project-cta{ display:inline-block; margin:14px 22px 0; color:var(--csd-blue,#1564B0); font-weight:700; font-size:.96rem; transition:color .2s; }
.csd-project-item:hover .csd-project-cta{ color:var(--csd-navy,#0B2A4A); }
.csd-projects-more{ text-align:center; margin-top:42px; }
.csd-projects-btn{ display:inline-flex; align-items:center; justify-content:center; height:54px; padding:0 30px; border-radius:12px; background:var(--csd-navy,#0B2A4A); color:#fff; font-family:var(--font-display,"Sora",sans-serif); font-weight:700; font-size:1rem; text-decoration:none; box-shadow:0 12px 26px rgba(11,42,74,.22); transition:transform .18s ease, background .2s, box-shadow .2s; }
.csd-projects-btn:hover{ transform:translateY(-2px); background:var(--csd-blue,#1564B0); box-shadow:0 16px 32px rgba(21,100,176,.28); }

/* ============================ CLIENTS ============================ */
.csd-clients{ padding:clamp(56px,8vw,100px) clamp(18px,5vw,40px); background:linear-gradient(180deg,#fff 0%, var(--csd-cloud,#F4F6F9) 100%); }
.csd-clients-trusted{ text-align:center; font-family:var(--font-display,"Sora",sans-serif); font-weight:700; color:var(--csd-blue,#1564B0); margin:6px 0 30px; font-size:.85rem; letter-spacing:.14em; text-transform:uppercase; }
#clients{ isolation:isolate; }
.csd-clients-logos{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:10px; }
.csd-client-logo{
  background:#fff; border:1px solid var(--csd-line,#E3E8EF); border-radius:16px; padding:24px 22px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; min-height:152px;
  transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s;
}
.csd-client-logo:hover{ transform:translateY(-5px); box-shadow:0 18px 36px rgba(11,42,74,.14); border-color:var(--csd-blue-300,#5C9BD8); }
.csd-client-logo img{ display:block; max-width:140px; max-height:56px; width:auto; height:auto; object-fit:contain; }
.csd-client-monogram{
  width:66px; height:66px; border-radius:50%; display:grid; place-items:center;
  font-family:var(--font-display,"Sora",sans-serif); font-weight:800; font-size:1.18rem; letter-spacing:.02em; color:#fff;
  background:linear-gradient(135deg,var(--csd-blue,#1564B0),var(--csd-navy,#0B2A4A)); box-shadow:0 10px 22px rgba(11,42,74,.24);
}
.csd-client-name{ display:block; text-align:center; font-size:1rem; font-weight:600; color:var(--csd-ink,#0F1B2D); line-height:1.25; }
.csd-clients-more{ margin-top:34px; text-align:center; }
.csd-clients-more a{ color:var(--csd-blue,#1564B0); text-decoration:none; font-weight:700; font-size:1.02rem; }
.csd-clients-more a:hover{ color:var(--csd-navy,#0B2A4A); }

/* Clients eyebrow + subtitle + sliding marquee */
.csd-section-eyebrow{ display:block; text-align:center; font-family:var(--font-display,"Sora",sans-serif); font-weight:700; letter-spacing:.14em; text-transform:uppercase; font-size:.82rem; color:var(--csd-blue,#1564B0); margin-bottom:10px; }
.csd-clients-sub{ text-align:center; color:var(--csd-muted,#5A6B7E); font-size:1.1rem; line-height:1.6; max-width:680px; margin:0 auto 44px; }
.csd-marquee{ position:relative; overflow:hidden; padding:6px 0; -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.csd-marquee-track{ display:flex; gap:20px; width:max-content; animation:csd-marquee 42s linear infinite; }
.csd-marquee:hover .csd-marquee-track{ animation-play-state:paused; }
@keyframes csd-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.csd-client-chip{ flex:0 0 auto; display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--csd-line,#E3E8EF); border-radius:16px; padding:18px 26px; box-shadow:0 6px 18px rgba(11,42,74,.07); }
.csd-client-chip-logo{ width:54px; height:54px; display:grid; place-items:center; flex:0 0 auto; }
.csd-client-chip-logo img{ max-width:54px; max-height:42px; width:auto; height:auto; object-fit:contain; }
.csd-client-chip .csd-client-name{ font-weight:600; color:var(--csd-ink,#0F1B2D); font-size:1.02rem; white-space:nowrap; }
.csd-client-chip .csd-client-monogram{ width:54px; height:54px; flex:0 0 auto; font-size:1.05rem; }
@media (prefers-reduced-motion: reduce){ .csd-marquee-track{ animation:none; flex-wrap:wrap; width:auto; justify-content:center; } .csd-marquee{ -webkit-mask-image:none; mask-image:none; } }

/* ============================ CONTACT ============================ */
.csd-contact{ padding:clamp(56px,8vw,100px) clamp(18px,5vw,40px); background:#fff; }
.csd-contact > p{ text-align:center; margin:0 auto 40px; color:var(--csd-muted,#5A6B7E); max-width:640px; }
.csd-contact-wrap{ display:grid; grid-template-columns:1.05fr .95fr; gap:36px; align-items:stretch; max-width:1000px; margin:0 auto; }
.csd-contact-form{ background:var(--csd-cloud,#F4F6F9); border:1px solid var(--csd-line,#E3E8EF); border-radius:18px; padding:34px; max-width:none; min-width:0; }
.csd-contact-form h4, .csd-contact-info h4{ font-family:var(--font-display,"Sora",sans-serif); font-size:1.25rem; font-weight:700; color:var(--csd-navy,#0B2A4A); margin:0 0 18px; }
.csd-contact-form label{ font-weight:600; font-size:.96rem; color:var(--csd-ink,#0F1B2D); display:block; margin-bottom:14px; }
.csd-contact-form input, .csd-contact-form textarea{
  width:100%; padding:12px 14px; margin-top:6px; border-radius:10px; border:1px solid var(--csd-line,#E3E8EF);
  font-size:1rem; font-family:var(--font-sans,"Inter",sans-serif); background:#fff; transition:border .2s, box-shadow .2s; box-sizing:border-box;
}
.csd-contact-form textarea{ min-height:130px; resize:vertical; }
.csd-contact-form input:focus, .csd-contact-form textarea:focus{ border-color:var(--csd-blue,#1564B0); outline:none; box-shadow:0 0 0 4px rgba(21,100,176,.14); }
.csd-contact-form button{
  width:100%; margin-top:6px; padding:14px 0; border-radius:10px; border:none;
  background:var(--csd-amber,#E0A012); color:var(--csd-navy,#0B2A4A); font-family:var(--font-display,"Sora",sans-serif);
  font-weight:700; font-size:1.02rem; cursor:pointer; transition:background .2s, transform .15s, box-shadow .2s; box-shadow:0 10px 24px rgba(224,160,18,.3);
}
.csd-contact-form button:hover{ background:#F2B62E; transform:translateY(-2px); box-shadow:0 14px 30px rgba(224,160,18,.4); }

.csd-contact-info{ background:var(--csd-navy,#0B2A4A); border-radius:18px; padding:34px; color:#cdd9e6; min-width:0; max-width:none; }
.csd-contact-info h4{ color:#fff; }
.csd-contact-block{ margin-bottom:8px; }
.csd-contact-row{ display:flex; align-items:flex-start; gap:14px; margin-bottom:22px; }
.csd-contact-icon{ min-width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:rgba(255,255,255,.08); color:var(--csd-amber,#E0A012); }
.csd-contact-icon svg{ stroke:var(--csd-amber,#E0A012); }
.csd-contact-label{ font-weight:700; color:#fff; font-size:1rem; margin-bottom:3px; display:inline-block; }
.csd-contact-row a{ color:#cdd9e6; text-decoration:none; word-break:break-word; }
.csd-contact-row a:hover{ color:var(--csd-amber,#E0A012); }
.csd-contact-cta{ margin-top:6px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); }
.csd-contact-cta-title{ font-family:var(--font-display,"Sora",sans-serif); font-weight:700; color:#fff; font-size:1.1rem; margin-bottom:8px; }
.csd-contact-cta-desc{ color:#cdd9e6; font-size:.96rem; line-height:1.6; margin-bottom:16px; }
.csd-contact-cta .csd-consult-btn{ display:inline-flex; align-items:center; justify-content:center; width:auto; min-width:0; max-width:100%; height:auto; padding:14px 26px; border-radius:12px; white-space:nowrap; background:var(--csd-amber,#E0A012); color:var(--csd-navy,#0B2A4A); font-family:var(--font-display,"Sora",sans-serif); font-weight:700; font-size:1rem; line-height:1; text-decoration:none; box-shadow:0 12px 26px rgba(224,160,18,.32); transition:transform .18s ease, background .2s; }
.csd-contact-cta .csd-consult-btn:hover{ transform:translateY(-2px); background:#F2B62E; }

/* ============================ RESPONSIVE ============================ */
@media (max-width:992px){
  .csd-about{ gap:32px; }
  .csd-stats{ gap:14px; margin-top:-36px; }
  .csd-services-list{ grid-template-columns:repeat(2,1fr); }
  .csd-projects-list{ grid-template-columns:repeat(2,1fr); }
  .csd-clients-logos{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:860px){
  .csd-hero{ min-height:auto; }
  .csd-hero-inner{ padding-block:clamp(96px,20vw,140px); }
  .csd-hero-text{ max-width:640px; }
  .csd-about{ flex-direction:column; }
  .csd-about-img{ width:100%; min-width:0; }
  .csd-stats{ margin-top:14px; grid-template-columns:repeat(3,1fr); }
  .csd-contact-wrap{ grid-template-columns:1fr; }
}
@media (max-width:680px){
  .csd-services-list{ grid-template-columns:1fr; }
  .csd-projects-list{ grid-template-columns:1fr; }
  .csd-clients-logos{ grid-template-columns:repeat(2,1fr); }
  .csd-stats{ grid-template-columns:repeat(2,1fr); }
  .cta-btn{ width:100%; }
}
@media (max-width:420px){
  .csd-clients-logos{ grid-template-columns:1fr; }
  .csd-stats{ grid-template-columns:1fr; }
}
