/* =========================================================
   CURD — Centre for Urban and Rural Development
   New site design system
   ========================================================= */

:root{
  --curd-navy: #0b2545;
  --curd-navy-deep: #071a33;
  --curd-teal: #0e7c7b;
  --curd-teal-dark: #0a5f5e;
  --curd-saffron: #f2732e;
  --curd-saffron-dark: #d9581a;
  --curd-green: #2f9e44;
  --curd-cream: #fbf7f0;
  --curd-ink: #1c2530;
  --curd-slate: #55606b;
  --curd-line: #e7e2d8;
  --curd-white: #ffffff;

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;

  --shadow-card: 0 6px 24px rgba(11,37,69,0.08);
  --shadow-card-hover: 0 14px 36px rgba(11,37,69,0.14);

  --font-head: 'Poppins', 'Segoe UI', sans-serif;
  --font-body: 'Inter', 'Segoe UI', sans-serif;
}

*{ box-sizing: border-box; }

html{ overflow-x:hidden; width:100%; }

body.curd{
  margin:0;
  font-family: var(--font-body);
  color: var(--curd-ink);
  background: var(--curd-white);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x:hidden;
  width:100%;
}

.curd h1, .curd h2, .curd h3, .curd h4, .curd h5,
.curd .display{
  font-family: var(--font-head);
  color: var(--curd-navy);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 16px;
}

.curd a{ text-decoration:none; color: inherit; }
.curd img{ max-width:100%; display:block; }
.curd ul{ margin:0; padding:0; list-style:none; }

.curd .container{
  width:100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.curd section{ position: relative; }

/* ---------- utility ---------- */
.curd .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family: var(--font-head);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--curd-saffron-dark);
  background: rgba(242,115,46,0.1);
  padding: 6px 16px;
  border-radius: 999px;
  margin-bottom: 18px;
}
.curd .eyebrow::before{
  content:"";
  width:6px; height:6px; border-radius:50%;
  background: var(--curd-saffron);
}
.curd .section-head{ max-width: 720px; margin-bottom: 48px; }
.curd .section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.curd .section-head p{ color: var(--curd-slate); font-size: 17px; margin:0; }
.curd .section-pad{ padding: 96px 0; }
.curd .section-pad-sm{ padding: 64px 0; }

.curd .btn-curd{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family: var(--font-head);
  font-weight: 600;
  font-size: 15px;
  padding: 14px 30px;
  border-radius: 999px;
  background: var(--curd-saffron);
  color: #fff;
  border: 2px solid var(--curd-saffron);
  transition: all .25s ease;
  cursor:pointer;
}
.curd .btn-curd:hover{ background: var(--curd-saffron-dark); border-color: var(--curd-saffron-dark); color:#fff; transform: translateY(-2px); }
.curd .btn-curd.outline{ background: transparent; color: var(--curd-white); border-color: rgba(255,255,255,0.55); }
.curd .btn-curd.outline:hover{ background: rgba(255,255,255,0.12); border-color:#fff; }
.curd .btn-curd.navy{ background: var(--curd-navy); border-color: var(--curd-navy); }
.curd .btn-curd.navy:hover{ background: var(--curd-navy-deep); border-color: var(--curd-navy-deep); }
.curd .btn-curd.sm{ padding: 10px 22px; font-size: 13.5px; }

.curd .tag-pill{
  display:inline-block;
  font-size: 12.5px;
  font-weight: 600;
  padding: 5px 14px;
  border-radius: 999px;
  background: rgba(14,124,123,0.1);
  color: var(--curd-teal-dark);
  font-family: var(--font-head);
}

/* ---------- topbar ---------- */
.curd .topbar{
  background: var(--curd-navy-deep);
  color: #cfe0ee;
  font-size: 13.5px;
}
.curd .topbar .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:9px;
  padding-bottom:9px;
  flex-wrap: wrap;
  gap: 8px;
}
.curd .topbar-left{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.curd .topbar a{ color:#cfe0ee; }
.curd .topbar a:hover{ color: var(--curd-saffron); }
.curd .topbar-left span, .curd .topbar-left a{ display:inline-flex; align-items:center; gap:7px; }
.curd .topbar-social{ display:flex; gap:14px; }
.curd .topbar-badge{
  color: #a9c3db;
  font-weight: 600;
  letter-spacing:.03em;
}

/* ---------- header / nav ---------- */
.curd header.site-header{
  background: var(--curd-white);
  border-bottom: 1px solid var(--curd-line);
  position: sticky;
  top: 0;
  z-index: 999;
}
.curd .nav-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 12px 0;
}
.curd .brand img{ height: 54px; width:auto; }
.curd .main-nav{ display:flex; align-items:center; gap: 4px; }
.curd .main-nav > ul{ display:flex; align-items:center; gap: 2px; }
.curd .main-nav > ul > li{ position: relative; }
.curd .main-nav > ul > li > a{
  display:block;
  padding: 12px 16px;
  font-family: var(--font-head);
  font-weight: 600;
  font-size: 14.5px;
  color: var(--curd-navy);
  border-radius: 8px;
  transition: all .2s;
}
.curd .main-nav > ul > li > a:hover,
.curd .main-nav > ul > li.active > a{ color: var(--curd-saffron-dark); background: rgba(242,115,46,0.08); }
.curd .main-nav .sub-menu{
  position:absolute;
  top: 100%;
  left:0;
  background:#fff;
  min-width: 240px;
  box-shadow: var(--shadow-card-hover);
  border-radius: var(--radius-sm);
  padding: 10px;
  opacity:0;
  visibility:hidden;
  transform: translateY(8px);
  transition: all .2s;
  z-index: 20;
}
.curd .main-nav li:hover > .sub-menu{ opacity:1; visibility:visible; transform: translateY(0); }
.curd .main-nav .sub-menu li a{
  display:block;
  padding: 10px 14px;
  border-radius: 6px;
  font-size: 14px;
  color: var(--curd-ink);
  font-weight: 500;
}
.curd .main-nav .sub-menu li a:hover{ background: var(--curd-cream); color: var(--curd-saffron-dark); }
.curd .nav-cta{ display:flex; align-items:center; gap:14px; }
.curd .mobile-toggle{ display:none; align-items:center; justify-content:center; width:44px; height:44px; background:none; border:none; font-size:26px; color:var(--curd-navy); cursor:pointer; }

@media (max-width: 1100px){
  .curd .main-nav{ display:none; }
  .curd .mobile-toggle{ display:flex; }
  .curd .nav-cta .btn-curd{ display:none; }
}

/* mobile drawer */
.curd .mobile-drawer{
  display:none;
  position: fixed; inset:0;
  background: rgba(7,26,51,0.55);
  z-index: 1200;
}
.curd .mobile-drawer.open{ display:block; }
.curd .mobile-drawer-panel{
  position:absolute; top:0; right:0; bottom:0;
  width: min(340px, 86vw);
  background:#fff;
  padding: 24px;
  overflow-y:auto;
}
.curd .mobile-drawer-panel .close-drawer{
  display:flex; align-items:center; justify-content:center;
  width:44px; height:44px;
  background:none; border:none; font-size:24px; color:var(--curd-navy); float:right; cursor:pointer;
}
.curd .mobile-drawer-panel ul{ clear:both; margin-top:20px; }
.curd .mobile-drawer-panel > .container-free li{ border-bottom: 1px solid var(--curd-line); }
.curd .mobile-drawer-panel a{
  display:block; padding: 13px 4px; font-family: var(--font-head); font-weight:600; color: var(--curd-navy);
}
.curd .mobile-drawer-panel .sub-menu{ padding-left: 14px; }
.curd .mobile-drawer-panel .sub-menu a{ font-weight:500; font-size: 14px; color: var(--curd-slate); padding: 10px 4px;}

/* ---------- hero ---------- */
.curd .hero{
  position: relative;
  background: linear-gradient(115deg, var(--curd-navy-deep) 0%, var(--curd-navy) 55%, var(--curd-teal-dark) 130%);
  color: #fff;
  overflow: hidden;
  padding: 92px 0 110px;
}
.curd .hero::after{
  content:"";
  position:absolute; inset:0;
  background-image: radial-gradient(circle at 85% 20%, rgba(242,115,46,0.28), transparent 45%),
                     radial-gradient(circle at 8% 90%, rgba(14,124,123,0.35), transparent 40%);
  pointer-events:none;
}
.curd .hero .container{ position:relative; z-index:2; }
.curd .hero-grid{ display:grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items:center; }
.curd .hero-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.25);
  color:#fff;
  font-family: var(--font-head); font-weight:600; font-size:13px; letter-spacing:.08em; text-transform:uppercase;
  padding: 7px 16px; border-radius:999px; margin-bottom: 22px;
}
.curd .hero h1{
  color:#fff;
  font-size: clamp(34px, 4.4vw, 54px);
  margin-bottom: 20px;
}
.curd .hero h1 span{ color: var(--curd-saffron); }
.curd .hero p.lead{
  font-size: 18px;
  color: #d7e3ef;
  max-width: 560px;
  margin-bottom: 32px;
}
.curd .hero-actions{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom: 40px; }
.curd .hero-stats{ display:flex; gap: 34px; flex-wrap:wrap; }
.curd .hero-stats .stat b{ display:block; font-family: var(--font-head); font-size: 30px; color:#fff; }
.curd .hero-stats .stat span{ font-size: 13px; color:#a9c3db; }
.curd .hero-visual{ position:relative; max-width:100%; padding-bottom:28px; }
.curd .hero-visual img{
  border-radius: var(--radius-lg);
  box-shadow: 0 20px 50px rgba(7,26,51,0.45);
  width:100%;
  height: 420px;
  object-fit: cover;
  display:block;
  border: 1px solid rgba(255,255,255,0.15);
}
.curd .hero-visual .float-card{
  position:absolute;
  bottom: 0; left: 24px;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--curd-navy);
  border-radius: var(--radius-md);
  padding: 16px 22px;
  box-shadow: 0 16px 36px rgba(7,26,51,0.22);
  display:flex; align-items:center; gap:16px;
  max-width: 320px;
  border: 1px solid rgba(255,255,255,0.9);
}
.curd .hero-visual .float-card .ico{
  width:48px; height:48px; border-radius:50%;
  background: rgba(14,124,123,0.12); color: var(--curd-teal-dark);
  display:flex; align-items:center; justify-content:center; font-size:22px; flex:none;
}
.curd .hero-visual .float-card b{ display:block; font-size: 22px; font-family: var(--font-head); color: var(--curd-navy); line-height: 1.1; margin-bottom: 2px; }
.curd .hero-visual .float-card span{ font-size: 13px; color: var(--curd-slate); line-height: 1.35; display:block; }

@media (max-width: 1150px){
  .curd .hero-grid{ grid-template-columns: 1fr; }
  .curd .hero-visual{ margin-top: 40px; order:2; max-width: 560px; padding-bottom:0; }
  .curd .hero-visual .float-card{ position:static; margin-top:18px; max-width:none; width:auto; right:auto; left:auto; }
}

/* ---------- marquee / ticker ---------- */
.curd .ticker-strip{
  background: var(--curd-saffron);
  color:#fff;
  overflow:hidden;
  white-space:nowrap;
  padding: 11px 0;
  width:100%;
  max-width:100vw;
  position:relative;
  contain: layout paint;
}
.curd .ticker-strip .ticker-track{
  display:inline-block;
  will-change: transform;
  animation: curd-ticker 32s linear infinite;
  font-family: var(--font-head); font-weight:600; font-size: 14px; letter-spacing:.02em;
}
.curd .ticker-strip .ticker-track span{ margin: 0 34px; }
@keyframes curd-ticker{ 0%{ transform: translateX(0);} 100%{ transform: translateX(-50%);} }

/* ---------- stat band ---------- */
.curd .stat-band{
  background: var(--curd-navy);
  padding: 56px 0;
}
.curd .stat-band .stat-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  text-align:center;
}
.curd .stat-band .stat-item b{
  font-family: var(--font-head);
  font-size: clamp(28px, 3vw, 42px);
  color:#fff;
  display:block;
}
.curd .stat-band .stat-item span{ color:#a9c3db; font-size:14px; }
@media (max-width: 800px){ .curd .stat-band .stat-grid{ grid-template-columns: repeat(2,1fr); gap:32px 20px; } }

/* ---------- about split ---------- */
.curd .about-split{ display:grid; grid-template-columns: .95fr 1.05fr; gap: 64px; align-items:center; }
.curd .about-media{ position:relative; }
.curd .about-media img{ border-radius: var(--radius-lg); }
.curd .about-media .badge-exp{
  position:absolute; top: -20px; right: -20px;
  background: var(--curd-saffron); color:#fff;
  width: 118px; height:118px; border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-family: var(--font-head); text-align:center; box-shadow: var(--shadow-card-hover);
}
.curd .about-media .badge-exp b{ font-size: 28px; line-height:1; }
.curd .about-media .badge-exp span{ font-size: 11px; line-height:1.3; margin-top:4px; }
.curd .about-points{ display:grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 28px 0 32px; }
.curd .about-points li{ display:flex; gap:12px; align-items:flex-start; font-size:15px; color: var(--curd-ink); font-weight:500; }
.curd .about-points li i{ color: var(--curd-green); margin-top:3px; }
@media (max-width: 900px){ .curd .about-split{ grid-template-columns: 1fr; } .curd .about-media{ order:2; margin-top:24px;} .curd .about-points{ grid-template-columns: 1fr; } }

/* ---------- service cards ---------- */
.curd .grid-4{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
.curd .grid-3{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
@media (max-width: 1000px){ .curd .grid-4{ grid-template-columns: repeat(2,1fr);} .curd .grid-3{ grid-template-columns: repeat(2,1fr);} }
@media (max-width: 620px){ .curd .grid-4, .curd .grid-3{ grid-template-columns: 1fr; } }

.curd .service-card{
  background:#fff;
  border: 1px solid var(--curd-line);
  border-radius: var(--radius-md);
  padding: 32px 26px;
  box-shadow: var(--shadow-card);
  transition: all .25s;
  height:100%;
}
.curd .service-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-card-hover); border-color: transparent; }
.curd .service-card .ico{
  width: 58px; height:58px; border-radius: 16px;
  background: linear-gradient(135deg, var(--curd-teal), var(--curd-navy));
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:24px; margin-bottom:20px;
}
.curd .service-card h4{ font-size:18px; margin-bottom:10px; }
.curd .service-card p{ color: var(--curd-slate); font-size:14.5px; margin-bottom:16px; }
.curd .service-card a.card-link{ font-family: var(--font-head); font-weight:600; font-size:13.5px; color: var(--curd-saffron-dark); display:inline-flex; align-items:center; gap:6px; }

/* ---------- process ---------- */
.curd .process-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap: 24px; counter-reset: step; }
@media (max-width:900px){ .curd .process-grid{ grid-template-columns: repeat(2,1fr);} }
@media (max-width:560px){ .curd .process-grid{ grid-template-columns: 1fr;} }
.curd .process-step{ position:relative; padding: 30px 22px; background: var(--curd-cream); border-radius: var(--radius-md); }
.curd .process-step .num{
  font-family: var(--font-head); font-weight:700; font-size: 40px; color: rgba(11,37,69,0.12); margin-bottom: 10px;
}
.curd .process-step h4{ font-size:16px; margin-bottom:8px; }
.curd .process-step p{ font-size: 13.5px; color: var(--curd-slate); margin:0; }

/* ---------- clients / partners table styles ---------- */
.curd .client-toolbar{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom: 28px; }
.curd .client-filter{
  font-family: var(--font-head); font-weight:600; font-size: 13.5px;
  padding: 9px 18px; border-radius: 999px; border: 1px solid var(--curd-line); background:#fff; color: var(--curd-navy);
  cursor:pointer; transition: all .2s;
}
.curd .client-filter.active, .curd .client-filter:hover{ background: var(--curd-navy); border-color: var(--curd-navy); color:#fff; }

.curd .table-scroll-hint{ display:none; align-items:center; gap:8px; font-size:13px; font-weight:600; color: var(--curd-teal-dark); margin: -12px 0 14px; }
.curd .table-scroll-hint i{ animation: curd-swipe-hint 1.4s ease-in-out infinite; }
@keyframes curd-swipe-hint{ 0%,100%{ transform: translateX(0);} 50%{ transform: translateX(6px);} }

.curd .project-table-wrap{
  overflow-x:auto;
  max-width:100%;
  -webkit-overflow-scrolling:touch;
  border-radius: var(--radius-md);
  border: 1px solid var(--curd-line);
  box-shadow: var(--shadow-card);
}
.curd table.project-table{ width:100%; border-collapse: collapse; min-width: 980px; background:#fff; }
@media (max-width: 900px){
  .curd .table-scroll-hint{ display:flex; }
}
.curd table.project-table thead th{
  background: var(--curd-navy); color:#fff; text-align:left; font-family: var(--font-head);
  font-size: 12.5px; text-transform:uppercase; letter-spacing:.06em; padding: 16px 18px; white-space:nowrap;
}
.curd table.project-table tbody td{
  padding: 15px 18px; font-size: 14px; border-bottom: 1px solid var(--curd-line); vertical-align:top; color: var(--curd-ink);
}
.curd table.project-table tbody tr:last-child td{ border-bottom:none; }
@media (max-width: 900px){
  .curd table.project-table{ min-width: 760px; }
  .curd table.project-table thead th{ padding: 13px 12px; font-size:11.5px; }
  .curd table.project-table tbody td{ padding: 12px 12px; font-size: 13px; }
}
.curd table.project-table tbody tr:hover{ background: var(--curd-cream); }
.curd table.project-table td.num{ font-family: var(--font-head); font-weight:700; color: var(--curd-teal-dark); }
.curd table.project-table td .client-name{ font-weight:600; color: var(--curd-navy); }
.curd table.project-table .status-chip{
  display:inline-block; font-size:11.5px; font-weight:700; padding:4px 10px; border-radius:999px;
  background: rgba(47,158,68,0.12); color: var(--curd-green);
}
.curd table.project-table .status-chip.closed{ background: rgba(85,96,107,0.12); color: var(--curd-slate); }

.curd .project-card-grid{ display:grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
@media (max-width:800px){ .curd .project-card-grid{ grid-template-columns: 1fr; } }
.curd .project-card{
  background:#fff; border:1px solid var(--curd-line); border-radius: var(--radius-md); padding:24px;
  box-shadow: var(--shadow-card);
}
.curd .project-card .top-row{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:12px; }
.curd .project-card h4{ font-size:16px; margin:0 0 4px; }
.curd .project-card .client{ font-size:13px; color: var(--curd-slate); }
.curd .project-card .metrics{ display:flex; gap:22px; margin-top:16px; flex-wrap:wrap; }
.curd .project-card .metrics div b{ display:block; font-family: var(--font-head); font-size:19px; color: var(--curd-navy); }
.curd .project-card .metrics div span{ font-size:11.5px; color: var(--curd-slate); text-transform:uppercase; letter-spacing:.04em; }

/* ---------- CSR partner logos ---------- */
.curd .partner-strip{ background: var(--curd-cream); }
.curd .partner-grid{ display:grid; grid-template-columns: repeat(6,1fr); gap: 18px; align-items:center; }
@media (max-width:900px){ .curd .partner-grid{ grid-template-columns: repeat(3,1fr);} }
@media (max-width:520px){ .curd .partner-grid{ grid-template-columns: repeat(2,1fr);} }
.curd .partner-grid .partner-item{
  background:#fff; border-radius: var(--radius-sm); border:1px solid var(--curd-line);
  padding: 18px 14px; text-align:center; font-family: var(--font-head); font-weight:600; font-size:13px; color: var(--curd-navy);
  min-height: 84px; display:flex; align-items:center; justify-content:center;
}

/* ---------- testimonial / map / states ---------- */
.curd .state-chip-row{ display:flex; flex-wrap:wrap; gap:10px; }
.curd .state-chip{
  font-family: var(--font-head); font-weight:600; font-size:13.5px; padding:9px 16px;
  border-radius:999px; background:#fff; border:1px solid var(--curd-line); color: var(--curd-navy);
}

/* ---------- gallery ---------- */
.curd .gallery-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:16px; }
@media (max-width:900px){ .curd .gallery-grid{ grid-template-columns: repeat(3,1fr);} }
@media (max-width:600px){ .curd .gallery-grid{ grid-template-columns: repeat(2,1fr);} }
.curd .gallery-item{
  position:relative; border-radius: var(--radius-sm); overflow:hidden; aspect-ratio: 1/1; background:#eee;
}
.curd .gallery-item img{ width:100%; height:100%; object-fit:cover; transition: transform .4s; }
.curd .gallery-item:hover img{ transform: scale(1.08); }
.curd .gallery-item .cap{
  position:absolute; left:0; right:0; bottom:0; padding:14px;
  background: linear-gradient(0deg, rgba(7,26,51,0.85), transparent);
  color:#fff; font-size:12.5px; font-weight:600; opacity:0; transition: opacity .3s;
}
.curd .gallery-item:hover .cap{ opacity:1; }

/* ---------- CTA band ---------- */
.curd .cta-band{
  background: linear-gradient(120deg, var(--curd-teal-dark), var(--curd-navy));
  color:#fff; border-radius: var(--radius-lg); padding: 56px 60px;
  display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;
}
.curd .cta-band h3{ color:#fff; margin:0 0 8px; font-size: clamp(22px,2.6vw,30px); }
.curd .cta-band p{ margin:0; color:#cfe0ee; max-width:520px; }
.curd .cta-band-actions{ display:flex; gap:14px; flex-wrap:wrap; }

/* ---------- footer ---------- */
.curd footer.site-footer{ background: var(--curd-navy-deep); color:#b7c8db; padding-top: 76px; }
.curd .footer-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; padding-bottom: 50px; border-bottom: 1px solid rgba(255,255,255,0.1); }
@media (max-width:900px){ .curd .footer-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width:560px){ .curd .footer-grid{ grid-template-columns: 1fr; } }
.curd .footer-grid h5{ color:#fff; font-family: var(--font-head); font-size:15px; margin-bottom:20px; letter-spacing:.03em; text-transform:uppercase; }
.curd .footer-grid img.f-logo{ height:44px; margin-bottom:18px; background:#fff; padding:8px 14px; border-radius:10px; }
.curd .footer-grid p{ font-size:14px; color:#93a8bd; }
.curd .footer-grid ul li{ margin-bottom:11px; }
.curd .footer-grid ul li a{ font-size:14px; color:#b7c8db; }
.curd .footer-grid ul li a:hover{ color: var(--curd-saffron); }
.curd .footer-contact li{ display:flex; gap:12px; align-items:flex-start; font-size:13.8px; margin-bottom:16px; color:#b7c8db; }
.curd .footer-contact li i{ color: var(--curd-saffron); margin-top:3px; }
.curd .footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding: 22px 0; font-size:13px; color:#7d93aa; flex-wrap:wrap; gap:10px; }
.curd .footer-social{ display:flex; gap:12px; }
.curd .footer-social a{
  width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,0.18);
  display:flex; align-items:center; justify-content:center; color:#cfe0ee; transition: all .2s;
}
.curd .footer-social a:hover{ background: var(--curd-saffron); border-color: var(--curd-saffron); color:#fff; }

/* ---------- page hero (inner pages) ---------- */
.curd .page-hero{
  background: linear-gradient(120deg, var(--curd-navy-deep), var(--curd-navy) 70%, var(--curd-teal-dark) 150%);
  color:#fff; padding: 64px 0 56px; position:relative; overflow:hidden;
}
.curd .page-hero::after{
  content:""; position:absolute; inset:0;
  background-image: radial-gradient(circle at 90% 10%, rgba(242,115,46,0.25), transparent 45%);
}
.curd .page-hero .container{ position:relative; z-index:2; }
.curd .page-hero h1{ color:#fff; margin-bottom:12px; font-size: clamp(28px,3.6vw,42px); }
.curd .breadcrumb{ display:flex; gap:8px; align-items:center; font-size:13.5px; color:#a9c3db; font-weight:600; font-family: var(--font-head); }
.curd .breadcrumb a{ color:#a9c3db; }
.curd .breadcrumb a:hover{ color:#fff; }

/* misc */
.curd .split-2{ display:grid; grid-template-columns: 1fr 1fr; gap:60px; align-items:center; }
@media (max-width:900px){ .curd .split-2{ grid-template-columns:1fr; gap:32px; } }
.curd .bg-cream{ background: var(--curd-cream); }
.curd .bg-navy{ background: var(--curd-navy); color:#fff; }
.curd .bg-navy h2, .curd .bg-navy h3{ color:#fff; }
.curd .text-center{ text-align:center; }
.curd .mt-0{ margin-top:0; }
.curd .mb-0{ margin-bottom:0; }

/* ---------- DDAC (District De-Addiction Centre) Component Styles ---------- */
.curd .ddac-hero-badge{
  display:inline-flex; align-items:center; gap:8px;
  background: rgba(14,124,123,0.12); border:1px solid rgba(14,124,123,0.3);
  color: var(--curd-teal-dark); font-family: var(--font-head); font-weight:700;
  font-size:12.5px; text-transform:uppercase; letter-spacing:.06em;
  padding: 6px 16px; border-radius:999px; margin-bottom:14px;
}
.curd .ddac-card{
  background:#fff; border: 1px solid var(--curd-line); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow:hidden; transition: transform .25s ease, box-shadow .25s ease;
}
.curd .ddac-card:hover{ box-shadow: var(--shadow-card-hover); }
.curd .ddac-media-wrap{ position:relative; overflow:hidden; border-radius: var(--radius-md); }
.curd .ddac-media-wrap img{ width:100%; height:auto; display:block; object-fit:cover; transition: transform .4s ease; }
.curd .ddac-media-wrap:hover img{ transform: scale(1.03); }
.curd .ddac-govt-tag{
  position:absolute; top:16px; left:16px; background: var(--curd-navy-deep); color:#fff;
  font-family: var(--font-head); font-size:11.5px; font-weight:700; text-transform:uppercase;
  padding: 6px 14px; border-radius: 999px; letter-spacing:.05em; box-shadow: 0 4px 12px rgba(0,0,0,0.25);
  display:flex; align-items:center; gap:6px;
}
.curd .ddac-govt-tag i{ color: var(--curd-saffron); }
.curd .ddac-services-list{
  display:grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 24px 0;
}
@media (max-width: 640px){
  .curd .ddac-services-list{ grid-template-columns: 1fr; }
}
.curd .ddac-service-item{
  background: var(--curd-cream); padding: 16px 18px; border-radius: var(--radius-sm);
  border: 1px solid var(--curd-line); display:flex; gap:12px; align-items:flex-start;
}
.curd .ddac-service-item i{
  color: var(--curd-teal-dark); font-size: 20px; margin-top:2px; flex:none;
}
.curd .ddac-service-item b{ display:block; font-family: var(--font-head); font-size: 14.5px; color: var(--curd-navy); margin-bottom: 2px; }
.curd .ddac-service-item span{ font-size: 13px; color: var(--curd-slate); line-height: 1.45; }

.curd .ddac-contact-strip{
  background: linear-gradient(135deg, var(--curd-navy-deep), var(--curd-teal-dark));
  color:#fff; border-radius: var(--radius-md); padding: 24px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:28px;
}
.curd .ddac-contact-strip h4{ color:#fff; margin:0 0 4px; font-size: 17px; }
.curd .ddac-contact-strip p{ color: #cfe0ee; margin:0; font-size: 13.8px; }
.curd .ddac-contact-strip .btn-curd{ flex:none; }

@media (max-width: 768px){
  .curd .ddac-contact-strip{ flex-direction:column; align-items:flex-start; text-align:left; padding: 20px; }
  .curd .ddac-contact-strip .btn-curd{ width:100%; justify-content:center; }
}

/* ---------- Mobile Specific Refinements & Touch Optimization ---------- */
@media (max-width: 768px){
  .curd .section-pad{ padding: 48px 0; }
  .curd .section-pad-sm{ padding: 32px 0; }
  .curd .hero{ padding: 42px 0 54px; }
  .curd .hero h1{ font-size: 30px; line-height: 1.25; }
  .curd .hero p.lead{ font-size: 15.5px; margin-bottom: 24px; }
  .curd .page-hero{ padding: 42px 0 38px; }
  .curd .cta-band{ padding: 32px 24px; border-radius: var(--radius-md); }
  .curd .topbar-left{ gap: 10px; font-size: 12px; }
  .curd .brand img{ height: 42px; }
}

@media (max-width: 480px){
  .curd .container{ padding: 0 16px; }
  .curd .hero-actions{ flex-direction: column; width:100%; gap: 10px; }
  .curd .hero-actions .btn-curd{ width: 100%; justify-content: center; }
  .curd .hero-stats{ gap: 18px 24px; }
  .curd .hero-stats .stat b{ font-size: 24px; }
  .curd .hero-stats .stat span{ font-size: 12px; }
  .curd .ddac-govt-tag{ font-size: 10px; padding: 4px 10px; top: 10px; left: 10px; }
  .curd .gallery-grid{ grid-template-columns: 1fr !important; }
}


