/* ============================================
   home.css
   Styles for front-page.php — hero banner,
   about/pillars section, and welcome/stats strip.
   Enqueued in functions.php via dk_enqueue_home_styles().
   ============================================ */

:root{
  --dk-ink:#12161A;
  --dk-ink-soft:#1D2429;
  --dk-concrete:#ECE7DC;
  --dk-concrete-dark:#DAD3C2;
  --dk-amber:#F2A61F;
  --dk-amber-deep:#B9720A;
  --dk-white:#FAF8F4;
  --dk-line:rgba(250,248,244,0.16);
  --dk-line-dark:rgba(18,22,26,0.14);

  --dk-font-display:'Oswald', sans-serif;
  --dk-font-body:'Inter', sans-serif;
  --dk-font-mono:'JetBrains Mono', monospace;
}

.dk-home-page *{ box-sizing:border-box; }

.dk-home-page a{ text-decoration:none; color:inherit; }

@media (prefers-reduced-motion: reduce){
  .dk-home-page *{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
}

/* ============================================
   SHARED: blueprint corner-mark motif
   used on the banner content + the about cards
   ============================================ */
.dk-corner-mark{ position:relative; }
.dk-corner-mark::before,
.dk-corner-mark::after{
  content:"";
  position:absolute;
  width:22px;
  height:22px;
  border-color:currentColor;
  border-style:solid;
  opacity:0.55;
}
.dk-corner-mark::before{
  top:-2px; left:-2px;
  border-width:2px 0 0 2px;
}
.dk-corner-mark::after{
  bottom:-2px; right:-2px;
  border-width:0 2px 2px 0;
}

/* ============================================
   1. HERO BANNER
   Full background image
   Left content / right visual
   ============================================ */

.dk-home-banner{
  position:relative;
  min-height:88vh;
  overflow:hidden;

  display:flex;
  align-items:stretch;

  color:var(--dk-white);

  /*
   * Replace this URL with your uploaded WordPress
   * construction banner image.
   */
  background-image:
    linear-gradient(
      90deg,
      rgba(18,22,26,0.98) 0%,
      rgba(18,22,26,0.96) 28%,
      rgba(18,22,26,0.78) 48%,
      rgba(18,22,26,0.30) 68%,
      rgba(18,22,26,0.05) 100%
    ),
    url('https://divyakushconstructions.com/wp-content/uploads/2026/08/dv-banner.webp');

  background-size:cover;
  background-position:center right;
  background-repeat:no-repeat;
}


/* ============================================
   CONTENT
   ============================================ */

.dk-home-banner-content{
  position:relative;
  z-index:2;

  width:52%;
  min-height:88vh;

  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:96px 50px 96px 80px;

  color:var(--dk-white);
}


/* ============================================
   EYEBROW
   ============================================ */

.dk-home-banner-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;

  width:fit-content;

  font-family:var(--dk-font-mono);
  font-size:12px;
  line-height:1;

  letter-spacing:0.18em;
  text-transform:uppercase;

  color:var(--dk-amber);

  padding-bottom:10px;
  border-bottom:1px solid var(--dk-line);

  animation:dkFadeUp .7s ease both;
}

.dk-home-banner-eyebrow::before{
  content:"";

  width:8px;
  height:8px;

  flex:0 0 8px;

  background:var(--dk-amber);
}


/* ============================================
   HEADING
   ============================================ */

.dk-home-banner-heading{
  margin:28px 0 0;
  font-family:var(--dk-font-display);
  font-weight:600;
  text-transform:uppercase;
  line-height:1.04;
  font-size:40px;
  letter-spacing:0.01em;
  max-width:14ch;
  animation:dkFadeUp .8s ease .08s both;
}

.dk-home-banner-heading em{
  font-style:normal;
  color:var(--dk-amber);
}


/* ============================================
   DESCRIPTION
   ============================================ */

.dk-home-banner-copy{
  margin:28px 0 0;

  font-size:1.05rem;
  line-height:1.65;

  color:rgba(250,248,244,0.78);

  max-width:46ch;

  animation:dkFadeUp .8s ease .16s both;
}


/* ============================================
   BUTTONS
   ============================================ */

.dk-home-banner-actions{
  display:flex;
  align-items:center;
  gap:26px;

  margin-top:32px;

  animation:dkFadeUp .8s ease .24s both;
}


/* Primary button */

.dk-home-banner-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  font-family:var(--dk-font-mono);
  font-size:13px;

  letter-spacing:0.06em;
  text-transform:uppercase;

  padding:16px 30px;

  background:var(--dk-amber);
  color:var(--dk-ink);

  font-weight:500;

  transition:
    background .2s ease,
    transform .2s ease;
}

.dk-home-banner-btn:hover{
  background:var(--dk-amber-deep);
  transform:translateY(-2px);
}


/* Secondary button */

.dk-home-banner-btn-ghost{
  display:inline-flex;
  align-items:center;

  font-family:var(--dk-font-mono);
  font-size:13px;

  letter-spacing:0.06em;
  text-transform:uppercase;

  color:var(--dk-white);

  padding-bottom:3px;

  border-bottom:1px solid var(--dk-line);

  transition:
    border-color .2s ease,
    color .2s ease;
}

.dk-home-banner-btn-ghost:hover{
  border-color:var(--dk-amber);
  color:var(--dk-amber);
}


/* ============================================
   SUBTLE RIGHT-SIDE DARK BLEND
   Helps integrate image with content
   ============================================ */

.dk-home-banner::after{
  content:"";

  position:absolute;
  inset:0;

  pointer-events:none;

  background:
    linear-gradient(
      180deg,
      rgba(18,22,26,0.12) 0%,
      transparent 35%,
      rgba(18,22,26,0.18) 100%
    );
}


/* ============================================
   ANIMATION
   ============================================ */

@keyframes dkFadeUp{
  from{
    opacity:0;
    transform:translateY(14px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }
}


/* ============================================
   TABLET
   ============================================ */

@media (max-width:1100px){

  .dk-home-banner-content{
    width:60%;
    padding-left:55px;
  }

  .dk-home-banner-heading{
    font-size:clamp(2.3rem, 5vw, 3.6rem);
  }

}


/* ============================================
   MOBILE
   ============================================ */

@media (max-width:900px){

  .dk-home-banner{
    min-height:auto;

    background-position:
      68% center;
  }

  .dk-home-banner::before{
    content:"";

    position:absolute;
    inset:0;

    background:
      linear-gradient(
        180deg,
        rgba(18,22,26,0.96) 0%,
        rgba(18,22,26,0.88) 45%,
        rgba(18,22,26,0.55) 100%
      );

    z-index:1;
  }

  .dk-home-banner-content{
    width:100%;
    min-height:720px;

    padding:80px 28px 60px;

    justify-content:center;
  }

  .dk-home-banner-heading{
    max-width:15ch;
    font-size:clamp(2.3rem, 10vw, 3.5rem);
  }

  .dk-home-banner-copy{
    font-size:1rem;
    max-width:50ch;
  }

}


/* ============================================
   SMALL MOBILE
   ============================================ */

@media (max-width:600px){

  .dk-home-banner-content{
    min-height:680px;
    padding:70px 22px 50px;
  }

  .dk-home-banner-actions{
    flex-direction:column;
    align-items:flex-start;
    gap:20px;
  }

  .dk-home-banner-btn{
    padding:15px 24px;
  }

}
/* ============================================
   2. ABOUT / PILLARS  (Who We Are · Our Mission · Core Values)
   ============================================ */
.dk-home-about{
  background:var(--dk-concrete);
  padding:120px 80px;
}

.dk-home-about-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  flex-wrap:wrap;
  margin-bottom:64px;
  padding-bottom:28px;
  border-bottom:1px solid var(--dk-line-dark);
}

.dk-home-about-eyebrow{
  font-family:var(--dk-font-mono);
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--dk-amber-deep);
  margin-bottom:14px;
  display:block;
}

.dk-home-about-title{
  font-family:var(--dk-font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:clamp(1.8rem, 2.6vw, 2.6rem);
  line-height:1.1;
  max-width:16ch;
}

.dk-home-about-sub{
  font-size:0.98rem;
  line-height:1.6;
  color:rgba(18,22,26,0.62);
  max-width:34ch;
}

.dk-home-about-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:2px;
  background:var(--dk-line-dark);
  border:1px solid var(--dk-line-dark);
}

.dk-home-about-card{
  background:var(--dk-concrete);
  padding:44px 36px;
  display:flex;
  flex-direction:column;
  gap:18px;
  color:var(--dk-ink);
  transition:background .25s ease;
}
.dk-home-about-card:hover{ background:var(--dk-white); }
.dk-home-about-card::before{ border-color:var(--dk-amber-deep); }
.dk-home-about-card::after{ border-color:var(--dk-amber-deep); }

.dk-home-about-card-label{
  font-family:var(--dk-font-mono);
  font-size:11px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--dk-amber-deep);
}

.dk-home-about-card-title{
  font-family:var(--dk-font-display);
  font-size:1.5rem;
  text-transform:uppercase;
  font-weight:600;
  letter-spacing:0.01em;
}

.dk-home-about-card-copy{
  font-size:0.96rem;
  line-height:1.65;
  color:rgba(18,22,26,0.65);
}

@media (max-width: 900px){
  .dk-home-about{ padding:80px 24px; }
  .dk-home-about-grid{ grid-template-columns:1fr; }
}

/* ============================================
   3. WELCOME / STATS STRIP
   ============================================ */
.dk-home-stats{
  position:relative;
  background:var(--dk-ink);
  color:var(--dk-white);
  padding:100px 80px 90px;
}

.dk-home-stats::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:6px;
  background:repeating-linear-gradient(
    -45deg,
    var(--dk-amber) 0 14px,
    var(--dk-ink) 14px 28px
  );
}

.dk-home-stats-inner{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:60px;
  align-items:end;
}

.dk-home-stats-heading{
  font-family:var(--dk-font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:clamp(1.7rem, 2.8vw, 2.5rem);
  line-height:1.18;
  max-width:20ch;
}
.dk-home-stats-heading em{ font-style:normal; color:var(--dk-amber); }

.dk-home-stats-tagline{
  margin-top:22px;
  display:flex;
  flex-wrap:wrap;
  gap:0;
  font-family:var(--dk-font-mono);
  font-size:12.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:rgba(250,248,244,0.65);
}
.dk-home-stats-tagline span{
  padding:0 16px 0 0;
  margin:0 16px 0 0;
  border-right:1px solid var(--dk-line);
}
.dk-home-stats-tagline span:last-child{ border-right:none; }

.dk-home-stats-numbers{
  display:flex;
  gap:56px;
  justify-content:flex-end;
}

.dk-home-stats-figure{
  text-align:left;
  padding-top:14px;
  background-image:repeating-linear-gradient(90deg, var(--dk-amber) 0 2px, transparent 2px 12px);
  background-repeat:no-repeat;
  background-size:100% 2px;
  background-position:top left;
}

.dk-home-stats-figure-num{
  display:flex;
  align-items:flex-start;
  font-family:var(--dk-font-display);
  font-weight:700;
  font-size:clamp(2.6rem, 4vw, 3.6rem);
  line-height:1;
  color:var(--dk-white);
}
.dk-home-stats-figure-num sup{
  font-size:0.4em;
  color:var(--dk-amber);
  margin-left:2px;
  font-weight:600;
}

.dk-home-stats-figure-label{
  margin-top:8px;
  font-family:var(--dk-font-mono);
  font-size:11.5px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:rgba(250,248,244,0.55);
}

@media (max-width: 900px){
  .dk-home-stats{ padding:72px 24px; }
  .dk-home-stats-inner{ grid-template-columns:1fr; gap:44px; }
  .dk-home-stats-numbers{ justify-content:flex-start; gap:48px; }
}



/* ============================================
   4. EXPERIENCE — 20 Years / Since 2004
   ============================================ */
.dk-home-experience{
  background:var(--dk-white);
  display:grid;
  grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);
  gap:0 72px;
  align-items:center;
  padding:120px 80px;
}

.dk-home-experience-media{
  position:relative;
}

.dk-home-experience-img{
  width:100%;
  aspect-ratio:4 / 5;
  object-fit:cover;
  display:block;
  background:var(--dk-concrete-dark); /* shows while the image loads */
}

.dk-home-experience-badge{
  position:absolute;
  left:-28px;
  bottom:-28px;
  background:var(--dk-ink);
  color:var(--dk-white);
  padding:26px 24px;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:150px;
}
.dk-home-experience-badge::before,
.dk-home-experience-badge::after{ border-color:var(--dk-amber); }

.dk-home-experience-badge-num{
  font-family:var(--dk-font-display);
  font-weight:700;
  font-size:2.4rem;
  line-height:1;
}
.dk-home-experience-badge-num sup{
  font-size:0.4em;
  color:var(--dk-amber);
  margin-left:2px;
  font-weight:600;
}

.dk-home-experience-badge-label{
  font-family:var(--dk-font-mono);
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:rgba(250,248,244,0.65);
  line-height:1.4;
}

.dk-home-experience-content{
  padding-left:8px;
}

.dk-home-experience-eyebrow{
  display:inline-block;
  font-family:var(--dk-font-mono);
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--dk-amber-deep);
  margin-bottom:18px;
}

.dk-home-experience-heading{
  font-family:var(--dk-font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:clamp(1.9rem, 2.8vw, 2.7rem);
  line-height:1.14;
  color:var(--dk-ink);
  max-width:18ch;
  margin-bottom:26px;
}
.dk-home-experience-heading em{
  font-style:normal;
  color:var(--dk-amber-deep);
}

.dk-home-experience-copy{
  font-size:1rem;
  line-height:1.75;
  color:rgba(18,22,26,0.68);
  max-width:60ch;
  margin-bottom:36px;
}

.dk-home-experience-highlights{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:0;
  border-top:1px solid var(--dk-line-dark);
  margin-bottom:34px;
}

.dk-home-experience-highlight{
  position:relative;
  padding:16px 0 16px 26px;
  font-family:var(--dk-font-body);
  font-weight:500;
  font-size:0.98rem;
  color:var(--dk-ink);
  border-bottom:1px solid var(--dk-line-dark);
}
.dk-home-experience-highlight::before{
  content:"";
  position:absolute;
  left:0;
  top:22px;
  width:9px;
  height:9px;
  background:var(--dk-amber);
}

.dk-home-experience-closing{
  font-family:var(--dk-font-display);
  font-weight:500;
  font-style:normal;
  font-size:1.15rem;
  line-height:1.5;
  color:var(--dk-ink);
  max-width:44ch;
  padding-left:20px;
  border-left:3px solid var(--dk-amber);
}

@media (max-width: 900px){
  .dk-home-experience{
    grid-template-columns:1fr;
    padding:80px 24px;
    gap:56px;
  }
  .dk-home-experience-content{ padding-left:0; }
  .dk-home-experience-badge{ left:16px; bottom:-24px; }
}


/* ============================================
   5. PORTFOLIO — Explore Large-Scale Projects
   ============================================ */
.dk-home-portfolio{
  background:var(--dk-concrete);
  padding:120px 80px;
}

.dk-home-portfolio-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  flex-wrap:wrap;
  margin-bottom:44px;
}

.dk-home-portfolio-eyebrow{
  display:block;
  font-family:var(--dk-font-mono);
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--dk-amber-deep);
  margin-bottom:14px;
}

.dk-home-portfolio-title{
  font-family:var(--dk-font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:clamp(1.9rem, 2.8vw, 2.7rem);
  line-height:1.1;
  color:var(--dk-ink);
  max-width:16ch;
}

.dk-home-portfolio-sub{
  font-size:0.98rem;
  line-height:1.65;
  color:rgba(18,22,26,0.6);
  max-width:38ch;
}

/* Tabs */
.dk-home-portfolio-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:48px;
  padding-bottom:28px;
  border-bottom:1px solid var(--dk-line-dark);
}

.dk-home-portfolio-tab{
  font-family:var(--dk-font-mono);
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  background:transparent;
  border:1px solid var(--dk-line-dark);
  color:rgba(18,22,26,0.55);
  padding:11px 20px;
  cursor:pointer;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.dk-home-portfolio-tab:hover{
  border-color:var(--dk-amber-deep);
  color:var(--dk-ink);
}
.dk-home-portfolio-tab.is-active{
  background:var(--dk-ink);
  border-color:var(--dk-ink);
  color:var(--dk-amber);
}

/* Grid */
.dk-home-portfolio-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:32px;
}

.dk-home-portfolio-card{
  background:var(--dk-white);
}

.dk-home-portfolio-card-link{
  display:block;
  color:inherit;
}

.dk-home-portfolio-card-media{
  position:relative;
  overflow:hidden;
  aspect-ratio:4 / 3;
}

.dk-home-portfolio-card-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease;
}
.dk-home-portfolio-card-img--placeholder{
  background:var(--dk-concrete-dark);
}

.dk-home-portfolio-card-link:hover .dk-home-portfolio-card-img{
  transform:scale(1.06);
}

.dk-home-portfolio-card-view{
  position:absolute;
  inset:auto 0 0 0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  font-family:var(--dk-font-mono);
  font-size:11.5px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--dk-white);
  background:var(--dk-amber);
  transform:translateY(100%);
  transition:transform .3s ease;
}
.dk-home-portfolio-card-link:hover .dk-home-portfolio-card-view{
  transform:translateY(0);
}

.dk-home-portfolio-card-body{
  padding:22px 4px 6px;
}

.dk-home-portfolio-card-cat{
  display:block;
  font-family:var(--dk-font-mono);
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--dk-amber-deep);
  margin-bottom:8px;
}

.dk-home-portfolio-card-title{
  font-family:var(--dk-font-display);
  font-weight:600;
  font-size:1.15rem;
  text-transform:uppercase;
  letter-spacing:0.01em;
  color:var(--dk-ink);
  line-height:1.3;
}

.dk-home-portfolio-empty{
  font-size:0.98rem;
  color:rgba(18,22,26,0.55);
}

@media (max-width: 1000px){
  .dk-home-portfolio-grid{ grid-template-columns:repeat(2, 1fr); }
}

@media (max-width: 640px){
  .dk-home-portfolio{ padding:80px 24px; }
  .dk-home-portfolio-grid{ grid-template-columns:1fr; }
}




/* ============================================
   6. CLIENTS — Trusted by Leading Brands
   ============================================ */
.dk-home-clients{
  background:#2f2e2d;
  padding:50px 0 50px;
  border-top:1px solid var(--dk-line-dark);
}

.dk-home-clients-head{
  text-align:center;
  padding:0 24px;
  margin-bottom:56px;
}

.dk-home-clients-eyebrow{
  display:block;
  font-family:var(--dk-font-mono);
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--dk-amber-deep);
  margin-bottom:14px;
}

.dk-home-clients-title{
  font-family:var(--dk-font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:clamp(1.6rem, 2.4vw, 2.2rem);
  color:#fff;
}

.dk-home-clients-marquee{
  position:relative;
  display:flex;
  overflow:hidden;
  /* fade the edges so logos don't hard-clip at the viewport edge */
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.dk-home-clients-track{
  display:flex;
  align-items:center;
  flex-shrink:0;
  min-width:100%;
  gap:96px;
  padding:0 48px;
  animation:dkClientsScroll 28s linear infinite;
}

.dk-home-clients-marquee:hover .dk-home-clients-track{
  animation-play-state:paused;
}

.dk-home-clients-logo{
  flex-shrink:0;
  height:150px;
  display:flex;
  align-items:center;
}

.dk-home-clients-logo img{
  height:100%;
  width:auto;
  object-fit:contain;
 
  transition:filter .25s ease;
}

.dk-home-clients-logo img:hover{
  filter:grayscale(0) opacity(1);
}

@keyframes dkClientsScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-100%); }
}

/* respect reduced motion: stop the scroll and wrap logos into a static row */
@media (prefers-reduced-motion: reduce){
  .dk-home-clients-marquee{
    -webkit-mask-image:none;
    mask-image:none;
  }
  .dk-home-clients-track{
    animation:none;
    flex-wrap:wrap;
    justify-content:center;
    min-width:0;
    gap:56px;
  }
  .dk-home-clients-track[aria-hidden="true"]{
    display:none; /* don't show the duplicate set when not scrolling */
  }
}

@media (max-width: 640px){
  .dk-home-clients-track{ gap:56px; padding:0 32px; }
  .dk-home-clients-logo{ height:32px; }
}



/* ============================================
   7. WHY CHOOSE US
   ============================================ */

.dk-home-why{
  background:var(--dk-concrete);
  padding:120px 80px;
}


/* ============================================
   TOP INTRO
   Heading + Description
   ============================================ */

.dk-home-why-intro{
  display:grid;
  grid-template-columns:minmax(0,0.75fr) minmax(0,1.25fr);
  gap:0 80px;
  align-items:end;
  margin-bottom:64px;
}

.dk-home-why-intro-left{
  max-width:600px;
}

.dk-home-why-intro-right{
  max-width:720px;
  padding-bottom:4px;
}

.dk-home-why-eyebrow{
  display:block;
  font-family:var(--dk-font-mono);
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--dk-amber-deep);
  margin-bottom:14px;
}

.dk-home-why-heading{
  font-family:var(--dk-font-display);
  text-transform:uppercase;
  font-weight:600;
  clamp(1.6rem, 2.4vw, 2.2rem);
  color:var(--dk-ink);
  line-height:1.05;
  margin:0;
}

.dk-home-why-copy{
  font-size:1rem;
  line-height:1.7;
  color:rgba(18,22,26,0.65);
  max-width:60ch;
  margin:0;
}


/* ============================================
   SECOND ROW
   Image + Feature Grid
   ============================================ */

.dk-home-why-main{
  display:grid;
  grid-template-columns:minmax(0,0.75fr) minmax(0,1.25fr);
  gap:0 80px;
  align-items:stretch;
}


/* ============================================
   IMAGE
   ============================================ */

.dk-home-why-media{
  position:relative;
  display:flex;
  align-items:stretch;
  gap:18px;
}

.dk-home-why-vertical-label{
  writing-mode:vertical-rl;
  transform:rotate(180deg);

  font-family:var(--dk-font-mono);
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;

  color:var(--dk-amber-deep);
  white-space:nowrap;

  padding-bottom:4px;
  flex-shrink:0;
}

.dk-home-why-img{
  width:100%;
  height:100%;
  min-height:520px;
  aspect-ratio:3 / 4;
  object-fit:cover;
  display:block;
  background:var(--dk-concrete-dark);
}


/* ============================================
   FEATURE GRID
   ============================================ */

.dk-home-why-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);

  gap:2px;

  background:var(--dk-line-dark);
  border:1px solid var(--dk-line-dark);
}

.dk-home-why-card{
  background:var(--dk-concrete);
  padding:36px 32px;

  transition:background .25s ease;
}

.dk-home-why-card:hover{
  background:var(--dk-white);
}


/* ============================================
   FEATURE ICON
   ============================================ */

.dk-home-why-card-icon{
  display:flex;
  align-items:center;
  justify-content:center;

  width:52px;
  height:52px;

  margin-bottom:20px;

  color:var(--dk-amber-deep);
  border:1px solid var(--dk-line-dark);
}

.dk-home-why-card-icon svg{
  width:24px;
  height:24px;
}


/* ============================================
   FEATURE TITLE
   ============================================ */

.dk-home-why-card-title{
  font-family:var(--dk-font-display);
  font-weight:600;
  font-size:1.1rem;

  text-transform:uppercase;
  letter-spacing:0.01em;

  color:var(--dk-ink);

  margin:0 0 10px;
}


/* ============================================
   FEATURE DESCRIPTION
   ============================================ */

.dk-home-why-card-copy{
  font-size:0.92rem;
  line-height:1.65;

  color:rgba(18,22,26,0.6);

  margin:0;
}


/* ============================================
   TABLET
   ============================================ */

@media (max-width:1000px){

  .dk-home-why{
    padding:90px 32px;
  }

  .dk-home-why-intro{
    grid-template-columns:1fr;
    gap:24px;
    margin-bottom:50px;
  }

  .dk-home-why-intro-right{
    max-width:650px;
  }

  .dk-home-why-main{
    grid-template-columns:1fr;
    gap:50px;
  }

  .dk-home-why-img{
    min-height:500px;
  }

}


/* ============================================
   MOBILE
   ============================================ */

@media (max-width:640px){

  .dk-home-why{
    padding:72px 24px;
  }

  .dk-home-why-intro{
    gap:20px;
    margin-bottom:40px;
  }

  .dk-home-why-heading{
    font-size:2.5rem;
  }

  .dk-home-why-copy{
    font-size:0.95rem;
  }

  .dk-home-why-main{
    gap:32px;
  }

  .dk-home-why-grid{
    grid-template-columns:1fr;
  }

  .dk-home-why-card{
    padding:30px 26px;
  }

  .dk-home-why-img{
    min-height:420px;
  }

  .dk-home-why-vertical-label{
    display:none;
  }

}

/* ============================================
   8. CTA — Contact Us
   ============================================ */
.dk-home-cta{
  position:relative;
  background:var(--dk-ink);
  color:var(--dk-white);
  padding:110px 80px;
  overflow:hidden;
}

/* faint blueprint grid, same language as the banner's empty media panel,
   used here as ambient texture instead of an image */
.dk-home-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    repeating-linear-gradient(0deg, rgba(250,248,244,0.04) 0 1px, transparent 1px 56px),
    repeating-linear-gradient(90deg, rgba(250,248,244,0.04) 0 1px, transparent 1px 56px);
  pointer-events:none;
}

.dk-home-cta-inner{
  position:relative;
  max-width:900px;
  margin:0 auto;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.dk-home-cta-eyebrow{
  font-family:var(--dk-font-mono);
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--dk-amber);
  margin-bottom:20px;
}

.dk-home-cta-heading{
  font-family:var(--dk-font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:clamp(1.9rem, 3.4vw, 3rem);
  line-height:1.22;
  margin-bottom:44px;
}
.dk-home-cta-heading em{
  font-style:normal;
  color:var(--dk-amber);
}

.dk-home-cta-actions{
  display:flex;
  align-items:center;
  gap:36px;
  flex-wrap:wrap;
  justify-content:center;
}

.dk-home-cta-btn{
  font-family:var(--dk-font-mono);
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:18px 38px;
  background:var(--dk-amber);
  color:var(--dk-ink);
  font-weight:500;
  transition:background .2s ease, transform .2s ease;
}
.dk-home-cta-btn:hover{ background:var(--dk-amber-deep); transform:translateY(-2px); }

.dk-home-cta-btn-ghost{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  padding-bottom:4px;
  border-bottom:1px solid var(--dk-line);
  text-align:left;
  transition:border-color .2s ease;
}
.dk-home-cta-btn-ghost:hover{ border-color:var(--dk-amber); }

.dk-home-cta-btn-ghost-label{
  font-family:var(--dk-font-mono);
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:rgba(250,248,244,0.55);
}

.dk-home-cta-btn-ghost-number{
  font-family:var(--dk-font-display);
  font-size:1.1rem;
  font-weight:500;
  color:var(--dk-white);
}

@media (max-width: 640px){
  .dk-home-cta{ padding:80px 24px; }
  .dk-home-cta-actions{ flex-direction:column; align-items:center; gap:24px; }
  .dk-home-cta-btn-ghost{ align-items:center; text-align:center; }
}







/* ============================================
   9. SERVICES — Explore Our Services
   ============================================ */
.dk-home-services{
  background:var(--dk-white);
  padding:120px 80px;
}

.dk-home-services-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  flex-wrap:wrap;
  margin-bottom:56px;
  padding-bottom:28px;
  border-bottom:1px solid var(--dk-line-dark);
}

.dk-home-services-eyebrow{
  display:block;
  font-family:var(--dk-font-mono);
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--dk-amber-deep);
  margin-bottom:14px;
}

.dk-home-services-title{
  font-family:var(--dk-font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:clamp(1.9rem, 2.8vw, 2.7rem);
  color:var(--dk-ink);
  line-height:1.1;
}

.dk-home-services-viewall{
  font-family:var(--dk-font-mono);
  font-size:12.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--dk-ink);
  padding-bottom:4px;
  border-bottom:1px solid var(--dk-line-dark);
  white-space:nowrap;
  transition:border-color .2s ease, color .2s ease;
}
.dk-home-services-viewall:hover{
  border-color:var(--dk-amber-deep);
  color:var(--dk-amber-deep);
}

.dk-home-services-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:2px;
  background:var(--dk-line-dark);
  border:1px solid var(--dk-line-dark);
}

.dk-home-services-card{
  position:relative;
  display:flex;
  flex-direction:column;
  background:var(--dk-white);
  padding:32px 30px 40px;
  color:var(--dk-ink);
  transition:background .25s ease;
}
.dk-home-services-card:hover{ background:var(--dk-concrete); }

.dk-home-services-card-index{
  font-family:var(--dk-font-mono);
  font-size:11px;
  letter-spacing:0.1em;
  color:var(--dk-amber-deep);
  margin-bottom:18px;
}

.dk-home-services-card-media{
  width:56px;
  height:56px;
  margin-bottom:22px;
  overflow:hidden;
  border:1px solid var(--dk-line-dark);
}

.dk-home-services-card-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.dk-home-services-card-img--placeholder{
  background:var(--dk-concrete-dark);
}

.dk-home-services-card-title{
  font-family:var(--dk-font-display);
  font-weight:600;
  font-size:1.2rem;
  text-transform:uppercase;
  letter-spacing:0.01em;
  margin-bottom:12px;
  line-height:1.25;
}

.dk-home-services-card-copy{
  font-size:0.93rem;
  line-height:1.6;
  color:rgba(18,22,26,0.6);
  flex-grow:1;
}

.dk-home-services-card-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  margin-top:22px;
  color:var(--dk-ink);
  border:1px solid var(--dk-line-dark);
  transition:background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.dk-home-services-card-arrow svg{ width:18px; height:18px; }

.dk-home-services-card:hover .dk-home-services-card-arrow{
  background:var(--dk-amber);
  border-color:var(--dk-amber);
  color:var(--dk-ink);
  transform:translateX(4px);
}

@media (max-width: 1000px){
  .dk-home-services-grid{ grid-template-columns:repeat(2, 1fr); }
}

@media (max-width: 640px){
  .dk-home-services{ padding:80px 24px; }
  .dk-home-services-grid{ grid-template-columns:1fr; }
}


/* ============================================
   10. FOUNDER'S MESSAGE
   ============================================ */
.dk-home-founder{
  background:var(--dk-concrete);
  display:grid;
  grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);
  gap:0 80px;
  align-items:center;
  padding:120px 80px;
}

.dk-home-founder-media{
  position:relative;
}

.dk-home-founder-img{
  width:100%;
  aspect-ratio:3 / 4;
  object-fit:cover;
  display:block;
  background:var(--dk-concrete-dark);
}

.dk-home-founder-badge{
  position:absolute;
  left:24px;
  bottom:-26px;
  background:var(--dk-ink);
  color:var(--dk-white);
  padding:18px 24px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.dk-home-founder-badge::before,
.dk-home-founder-badge::after{ border-color:var(--dk-amber); }

.dk-home-founder-badge-name{
  font-family:var(--dk-font-display);
  font-weight:600;
  font-size:1.15rem;
  text-transform:uppercase;
  letter-spacing:0.01em;
}

.dk-home-founder-badge-role{
  font-family:var(--dk-font-mono);
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:rgba(250,248,244,0.6);
}

.dk-home-founder-content{
  padding-left:8px;
}

.dk-home-founder-eyebrow{
  display:block;
  font-family:var(--dk-font-mono);
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--dk-amber-deep);
  margin-bottom:18px;
}

.dk-home-founder-heading{
  font-family:var(--dk-font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:clamp(1.8rem, 2.6vw, 2.5rem);
  line-height:1.16;
  color:var(--dk-ink);
  max-width:20ch;
  margin-bottom:32px;
}

.dk-home-founder-quote{
  position:relative;
  font-size:1.05rem;
  line-height:1.75;
  color:rgba(18,22,26,0.72);
  max-width:56ch;
  padding-left:24px;
  border-left:3px solid var(--dk-amber);
  margin-bottom:40px;
}

.dk-home-founder-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--dk-font-mono);
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--dk-ink);
  padding-bottom:4px;
  border-bottom:1px solid var(--dk-line-dark);
  transition:border-color .2s ease, color .2s ease, gap .2s ease;
}
.dk-home-founder-link svg{ width:16px; height:16px; }
.dk-home-founder-link:hover{
  border-color:var(--dk-amber-deep);
  color:var(--dk-amber-deep);
  gap:14px;
}

@media (max-width: 900px){
  .dk-home-founder{
    grid-template-columns:1fr;
    gap:64px 0;
    padding:90px 32px;
  }
  .dk-home-founder-content{ padding-left:0; }
  .dk-home-founder-badge{ left:16px; }
}

@media (max-width: 640px){
  .dk-home-founder{ padding:72px 24px; }
}






/* ============================================
   11. ARTICLES SLIDER
   ============================================ */
.dk-home-articles{
  background:var(--dk-white);
  padding:120px 80px;
  overflow:hidden; /* clips slick's off-canvas slides during transition */
}

.dk-home-articles-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  flex-wrap:wrap;
  margin-bottom:48px;
  padding-bottom:28px;
  border-bottom:1px solid var(--dk-line-dark);
}

.dk-home-articles-eyebrow{
  display:block;
  font-family:var(--dk-font-mono);
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--dk-amber-deep);
  margin-bottom:14px;
}

.dk-home-articles-title{
  font-family:var(--dk-font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:clamp(1.9rem, 2.8vw, 2.7rem);
  color:var(--dk-ink);
  line-height:1.1;
}

.dk-home-articles-nav{
  display:flex;
  gap:10px;
}

.dk-home-articles-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  background:transparent;
  border:1px solid var(--dk-line-dark);
  color:var(--dk-ink);
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.dk-home-articles-arrow svg{ width:20px; height:20px; }
.dk-home-articles-arrow:hover{
  background:var(--dk-amber);
  border-color:var(--dk-amber);
  color:var(--dk-ink);
}
/* Slick adds this class to a disabled edge arrow on non-infinite setups */
.dk-home-articles-arrow.slick-disabled{
  opacity:0.35;
  cursor:default;
  pointer-events:none;
}

/* ---- Baseline overrides for the pr_articles_slider markup ----
   Card-level styling (title, image, excerpt) lives inside the
   shortcode's own markup — adjust selectors below once you can
   see the actual output classes. */
.dk-home-articles-slider-wrap .slick-list{
  margin:0 -16px;
}
.dk-home-articles-slider-wrap .slick-slide{
  padding:0 16px;
  height:auto;
}
.dk-home-articles-slider-wrap .slick-track{
  display:flex;
  align-items:stretch;
}
.dk-home-articles-slider-wrap .slick-slide > div{
  height:100%;
}

@media (max-width: 900px){
  .dk-home-articles{ padding:90px 32px; }
}

@media (max-width: 640px){
  .dk-home-articles{ padding:72px 24px; }
  .dk-home-articles-head{ align-items:flex-start; }
}






/* ============================================
   12. FAQ
   ============================================ */
.dk-home-faq{
  background:var(--dk-concrete);
  display:grid;
  grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);
  gap:0 80px;
  padding:120px 80px;
}

.dk-home-faq-head{
  position:sticky;
  top:32px;
  align-self:start;
}

.dk-home-faq-eyebrow{
  display:block;
  font-family:var(--dk-font-mono);
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--dk-amber-deep);
  margin-bottom:18px;
}

.dk-home-faq-heading{
  font-family:var(--dk-font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:clamp(1.8rem, 2.6vw, 2.5rem);
  line-height:1.16;
  color:var(--dk-ink);
  max-width:16ch;
  margin-bottom:20px;
}
.dk-home-faq-heading em{
  font-style:normal;
  color:var(--dk-amber-deep);
}

.dk-home-faq-sub{
  font-size:0.98rem;
  line-height:1.65;
  color:rgba(18,22,26,0.6);
  max-width:36ch;
  margin-bottom:28px;
}

.dk-home-faq-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--dk-font-mono);
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--dk-ink);
  padding-bottom:4px;
  border-bottom:1px solid var(--dk-line-dark);
  transition:border-color .2s ease, color .2s ease, gap .2s ease;
}
.dk-home-faq-link svg{ width:16px; height:16px; }
.dk-home-faq-link:hover{
  border-color:var(--dk-amber-deep);
  color:var(--dk-amber-deep);
  gap:14px;
}

.dk-home-faq-list{
  display:flex;
  flex-direction:column;
}

.dk-home-faq-item{
  border-bottom:1px solid var(--dk-line-dark);
}
.dk-home-faq-item:first-child{
  border-top:1px solid var(--dk-line-dark);
}

.dk-home-faq-item-q{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  list-style:none;
  cursor:pointer;
  padding:26px 4px;
  font-family:var(--dk-font-display);
  font-weight:500;
  font-size:1.08rem;
  color:var(--dk-ink);
  line-height:1.4;
}
.dk-home-faq-item-q::-webkit-details-marker{ display:none; }

.dk-home-faq-item-icon{
  position:relative;
  flex-shrink:0;
  width:20px;
  height:20px;
}
.dk-home-faq-item-icon::before,
.dk-home-faq-item-icon::after{
  content:"";
  position:absolute;
  top:50%; left:50%;
  background:var(--dk-ink);
  transition:transform .25s ease, background .25s ease;
}
.dk-home-faq-item-icon::before{
  width:14px; height:2px;
  transform:translate(-50%,-50%);
}
.dk-home-faq-item-icon::after{
  width:2px; height:14px;
  transform:translate(-50%,-50%);
}

.dk-home-faq-item[open] > .dk-home-faq-item-q .dk-home-faq-item-icon::before,
.dk-home-faq-item[open] > .dk-home-faq-item-q .dk-home-faq-item-icon::after{
  background:var(--dk-amber-deep);
}
.dk-home-faq-item[open] > .dk-home-faq-item-q .dk-home-faq-item-icon::after{
  transform:translate(-50%,-50%) rotate(90deg);
  opacity:0; /* collapses the vertical stroke so + becomes − */
}

.dk-home-faq-item-a{
  padding:0 4px 26px;
  max-width:62ch;
}
.dk-home-faq-item-a p{
  font-size:0.98rem;
  line-height:1.72;
  color:rgba(18,22,26,0.65);
}
.dk-home-faq-item-a a{
  color:var(--dk-amber-deep);
  border-bottom:1px solid currentColor;
}

@media (max-width: 900px){
  .dk-home-faq{
    grid-template-columns:1fr;
    gap:44px;
    padding:90px 32px;
  }
  .dk-home-faq-head{ position:static; }
}

@media (max-width: 640px){
  .dk-home-faq{ padding:72px 24px; }
  .dk-home-faq-item-q{ font-size:1rem; }
}






/* ============================================
   13. BLOG — News & Insights
   ============================================ */
.dk-home-blog{
  background:var(--dk-concrete);
  padding:120px 80px;
}

.dk-home-blog-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  flex-wrap:wrap;
  margin-bottom:56px;
  padding-bottom:28px;
  border-bottom:1px solid var(--dk-line-dark);
}

.dk-home-blog-eyebrow{
  display:block;
  font-family:var(--dk-font-mono);
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--dk-amber-deep);
  margin-bottom:14px;
}

.dk-home-blog-title{
  font-family:var(--dk-font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:clamp(1.9rem, 2.8vw, 2.7rem);
  color:var(--dk-ink);
  line-height:1.1;
}

.dk-home-blog-viewall{
  font-family:var(--dk-font-mono);
  font-size:12.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--dk-ink);
  padding-bottom:4px;
  border-bottom:1px solid var(--dk-line-dark);
  white-space:nowrap;
  transition:border-color .2s ease, color .2s ease;
}
.dk-home-blog-viewall:hover{
  border-color:var(--dk-amber-deep);
  color:var(--dk-amber-deep);
}

/* featured post (first) spans full width above the two smaller posts */
.dk-home-blog-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:32px;
}

.dk-home-blog-card--featured{
  grid-column:1 / -1;
}
.dk-home-blog-card--featured .dk-home-blog-card-link{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:40px;
  align-items:center;
}
.dk-home-blog-card--featured .dk-home-blog-card-media{
  aspect-ratio:16 / 10;
}
.dk-home-blog-card--featured .dk-home-blog-card-title{
  font-size:1.7rem;
}

.dk-home-blog-card{
  background:var(--dk-white);
}

.dk-home-blog-card-link{
  display:block;
  color:inherit;
}

.dk-home-blog-card-media{
  aspect-ratio:4 / 3;
  overflow:hidden;
}

.dk-home-blog-card-img{
  width:100%;
  height:100%;
 
  display:block;
  transition:transform .5s ease;
}
.dk-home-blog-card-img--placeholder{
  background:var(--dk-concrete-dark);
}
.dk-home-blog-card-link:hover .dk-home-blog-card-img{
  transform:scale(1.05);
}

.dk-home-blog-card-body{
  padding:26px 26px 30px;
}
.dk-home-blog-card--featured .dk-home-blog-card-body{
  padding:0;
}

.dk-home-blog-card-meta{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
  font-family:var(--dk-font-mono);
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.dk-home-blog-card-date{
  color:rgba(18,22,26,0.5);
}
.dk-home-blog-card-cat{
  color:var(--dk-amber-deep);
  padding-left:14px;
  border-left:1px solid var(--dk-line-dark);
}

.dk-home-blog-card-title{
  font-family:var(--dk-font-display);
  font-weight:600;
  font-size:1.2rem;
  text-transform:uppercase;
  letter-spacing:0.01em;
  line-height:1.3;
  color:var(--dk-ink);
  margin-bottom:12px;
}

.dk-home-blog-card-excerpt{
  font-size:0.94rem;
  line-height:1.65;
  color:rgba(18,22,26,0.6);
  margin-bottom:18px;
}

.dk-home-blog-card-readmore{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--dk-font-mono);
  font-size:12px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--dk-ink);
  transition:gap .2s ease, color .2s ease;
}
.dk-home-blog-card-readmore svg{ width:14px; height:14px; }
.dk-home-blog-card-link:hover .dk-home-blog-card-readmore{
  gap:12px;
  color:var(--dk-amber-deep);
}

@media (max-width: 900px){
  .dk-home-blog{ padding:90px 32px; }
  .dk-home-blog-grid{ grid-template-columns:1fr; }
  .dk-home-blog-card--featured .dk-home-blog-card-link{
    grid-template-columns:1fr;
    gap:24px;
  }
}

@media (max-width: 640px){
  .dk-home-blog{ padding:72px 24px; }
}  
	  
	  
	  
/* ============================================
   14. CONTACT — Get In Touch With Us
   ============================================ */
.dk-home-contact{
  background:var(--dk-ink);
  color:var(--dk-white);
  display:grid;
  grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);
  gap:0 80px;
  padding:120px 80px;
}

.dk-home-contact-info{
  display:flex;
  gap:18px;
}

/* same rotated annotation device used in Why Choose Us — keeps the
   two sections visually related without repeating layout */
.dk-home-contact-vertical-label{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-family:var(--dk-font-mono);
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--dk-amber);
  white-space:nowrap;
  flex-shrink:0;
}

.dk-home-contact-eyebrow{
  display:block;
  font-family:var(--dk-font-mono);
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--dk-amber);
  margin-bottom:18px;
}

.dk-home-contact-heading{
  font-family:var(--dk-font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:clamp(1.9rem, 2.8vw, 2.6rem);
  line-height:1.15;
  max-width:14ch;
  margin-bottom:18px;
}

.dk-home-contact-sub{
  font-size:0.98rem;
  line-height:1.65;
  color:rgba(250,248,244,0.65);
  max-width:34ch;
  margin-bottom:48px;
}

.dk-home-contact-block{
  display:flex;
  gap:18px;
  padding:24px 0;
  border-top:1px solid var(--dk-line);
}
.dk-home-contact-info-body .dk-home-contact-block:last-of-type{
  border-bottom:1px solid var(--dk-line);
}

.dk-home-contact-block-icon{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  color:var(--dk-amber);
  border:1px solid var(--dk-line);
}
.dk-home-contact-block-icon svg{ width:20px; height:20px; }

.dk-home-contact-block-label{
  display:block;
  font-family:var(--dk-font-mono);
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:rgba(250,248,244,0.5);
  margin-bottom:10px;
}

.dk-home-contact-block-links{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.dk-home-contact-block-links a{
  font-family:var(--dk-font-display);
  font-size:1.05rem;
  font-weight:500;
  color:var(--dk-white);
  width:fit-content;
  border-bottom:1px solid transparent;
  transition:color .2s ease, border-color .2s ease;
}
.dk-home-contact-block-links a:hover{
  color:var(--dk-amber);
  border-color:var(--dk-amber);
}

/* ---- Contact Form 7 container + field styling ---- */
.dk-home-contact-form{
  background:var(--dk-white);
  padding:48px 44px;
  align-self:start;
}

.dk-home-contact-form .wpcf7-form p{
  margin-bottom:20px;
}

.dk-home-contact-form .wpcf7-form label{
  display:block;
  font-family:var(--dk-font-mono);
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:rgba(18,22,26,0.55);
  margin-bottom:8px;
}

.dk-home-contact-form .wpcf7-form input[type="text"],
.dk-home-contact-form .wpcf7-form input[type="email"],
.dk-home-contact-form .wpcf7-form input[type="tel"],
.dk-home-contact-form .wpcf7-form select,
.dk-home-contact-form .wpcf7-form textarea{
  width:100%;
  background:var(--dk-concrete);
  border:1px solid var(--dk-line-dark);
  padding:14px 16px;
  font-family:var(--dk-font-body);
  font-size:0.95rem;
  color:var(--dk-ink);
  transition:border-color .2s ease, background .2s ease;
}
.dk-home-contact-form .wpcf7-form textarea{
  min-height:130px;
  resize:vertical;
}
.dk-home-contact-form .wpcf7-form input:focus,
.dk-home-contact-form .wpcf7-form select:focus,
.dk-home-contact-form .wpcf7-form textarea:focus{
  outline:none;
  border-color:var(--dk-amber-deep);
  background:var(--dk-white);
}

.dk-home-contact-form .wpcf7-form input[type="submit"]{
  width:auto;
  background:var(--dk-amber);
  color:var(--dk-ink);
  border:none;
  font-family:var(--dk-font-mono);
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  font-weight:500;
  padding:16px 38px;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
.dk-home-contact-form .wpcf7-form input[type="submit"]:hover{
  background:var(--dk-amber-deep);
  transform:translateY(-2px);
}

.dk-home-contact-form .wpcf7-not-valid-tip{
  font-family:var(--dk-font-mono);
  font-size:11px;
  color:#e0533a;
  margin-top:6px;
}

.dk-home-contact-form .wpcf7-response-output{
  font-size:0.9rem;
  border-radius:0 !important;
  margin-top:20px !important;
}

@media (max-width: 900px){
  .dk-home-contact{
    grid-template-columns:1fr;
    gap:56px;
    padding:90px 32px;
  }
  .dk-home-contact-form{ padding:36px 28px; }
}

@media (max-width: 640px){
  .dk-home-contact{ padding:72px 24px; }
  .dk-home-contact-vertical-label{ display:none; }
}	  
	  