/* =====================================================================
   CareerSahayak — About & Contact page styles (mobile-first)
   Load AFTER tailwind.css and site.css. All classes are prefixed "cp-".
   Palette is taken from site.css / template.css:
     navy #0d2144 | blue #1f7ae0 | sky #35a9e8 | green #7ac043
     midnight #0e2a47 | peach #ffede0 | light #f0f6fa | border #e6eef8
   ===================================================================== */

:root{
  --cp-navy:#0d2144;
  --cp-blue:#1f7ae0;
  --cp-sky:#35a9e8;
  --cp-green:#7ac043;
  --cp-green-dk:#4e8f1f;
  --cp-midnight:#0e2a47;
  --cp-peach:#ffede0;
  --cp-light:#f0f6fa;
  --cp-border:#e6eef8;
  --cp-text:#5b6b82;
  --cp-radius:20px;
  --cp-shadow:0 4px 18px rgba(13,33,68,.06);
  --cp-shadow-lg:0 16px 36px rgba(13,33,68,.14);
}

/* ---------- Base / safety ---------- */
.cp-page{ overflow-x:hidden; }
.cp-page *{ box-sizing:border-box; }
.cp-page a{ -webkit-tap-highlight-color:transparent; }
.cp-wrap{ width:100%; max-width:1200px; margin:0 auto; padding:0 20px; }
.cp-narrow{ max-width:820px; }
.cp-page :focus-visible{ outline:3px solid rgba(31,122,224,.45); outline-offset:2px; border-radius:6px; }

/* ---------- Hero ---------- */
main > section.cp-hero{ padding-top:28px !important; padding-bottom:44px !important; }
.cp-hero{
  position:relative; overflow:hidden;
  background:linear-gradient(160deg,var(--cp-light) 0%,#fff 42%,var(--cp-peach) 100%);
}
.cp-hero::before,
.cp-hero::after{ content:""; position:absolute; border-radius:50%; pointer-events:none; }
.cp-hero::before{
  width:360px; height:360px; top:-140px; right:-120px;
  background:radial-gradient(circle,rgba(53,169,232,.28),transparent 70%);
}
.cp-hero::after{
  width:320px; height:320px; bottom:-150px; left:-120px;
  background:radial-gradient(circle,rgba(122,192,67,.22),transparent 70%);
}
.cp-hero > .cp-wrap{ position:relative; z-index:1; }

.cp-crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13.5px; margin-bottom:18px; color:var(--cp-text); }
.cp-crumbs a{ color:var(--cp-text); text-decoration:none; padding:4px 0; }
.cp-crumbs a:hover{ color:var(--cp-blue); }
.cp-crumbs b{ color:var(--cp-blue); font-weight:600; }

.cp-eyebrow{
  display:inline-block; text-transform:uppercase; letter-spacing:1.2px;
  font-size:11.5px; font-weight:800; color:var(--cp-blue);
  background:rgba(31,122,224,.1); padding:6px 14px; border-radius:999px; margin-bottom:16px;
}
.cp-eyebrow-green{ color:var(--cp-green-dk); background:rgba(122,192,67,.16); }

.cp-h1{
  font-size:clamp(1.85rem,7vw,3.4rem); line-height:1.12; font-weight:800;
  letter-spacing:-.02em; color:var(--cp-navy); margin:0 0 16px; max-width:18em;
}
.cp-h1 .cp-accent{
  background:linear-gradient(90deg,var(--cp-blue),var(--cp-sky));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.cp-lead{ font-size:clamp(1rem,2.6vw,1.15rem); line-height:1.7; color:var(--cp-text); margin:0 0 14px; max-width:46em; }
.cp-lead strong{ color:var(--cp-midnight); }

.cp-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.cp-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:50px; padding:0 26px; border-radius:14px; font-weight:700; font-size:15.5px;
  text-decoration:none; cursor:pointer; border:2px solid transparent;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.cp-btn svg{ width:18px; height:18px; flex-shrink:0; transition:transform .2s ease; }
.cp-btn-primary{
  color:#fff; background:linear-gradient(135deg,var(--cp-blue),var(--cp-sky));
  box-shadow:0 6px 18px rgba(31,122,224,.3);
}
.cp-btn-primary:hover{ background:linear-gradient(135deg,var(--cp-green-dk),var(--cp-green)); box-shadow:0 8px 20px rgba(122,192,67,.34); }
.cp-btn-ghost{ color:var(--cp-blue); border-color:var(--cp-blue); background:rgba(255,255,255,.6); }
.cp-btn-ghost:hover{ background:var(--cp-blue); color:#fff; }
.cp-btn-white{ color:var(--cp-navy); background:#fff; box-shadow:0 6px 18px rgba(13,33,68,.2); }
.cp-btn-white:hover{ background:var(--cp-green); color:#08240a; }
.cp-btn-line{ color:#fff; border-color:rgba(255,255,255,.7); background:transparent; }
.cp-btn-line:hover{ background:#fff; color:var(--cp-navy); }
.cp-btn:active{ transform:scale(.98); }
.cp-btn:hover svg{ transform:translateX(3px); }

.cp-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.cp-chip{
  display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600;
  color:var(--cp-midnight); background:#fff; border:1px solid var(--cp-border);
  padding:7px 13px; border-radius:999px; box-shadow:0 2px 8px rgba(13,33,68,.05);
}
.cp-chip::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--cp-green); box-shadow:0 0 0 3px rgba(122,192,67,.2); }

/* ---------- Sections ---------- */
main > section.cp-sec{ padding-top:clamp(40px,7vw,76px) !important; padding-bottom:clamp(40px,7vw,76px) !important; }
.cp-sec{ background:#fff; }
.cp-sec-alt{ background:var(--cp-light); }
.cp-head{ max-width:720px; margin-bottom:28px; }
.cp-h2{ font-size:clamp(1.5rem,4.6vw,2.3rem); line-height:1.2; font-weight:800; letter-spacing:-.015em; color:var(--cp-navy); margin:0 0 12px; }
.cp-sub{ font-size:clamp(.98rem,2.4vw,1.08rem); line-height:1.7; color:var(--cp-text); margin:0; }
.cp-sub a, .cp-text a, .cp-card a.cp-link, .cp-form-note a{ color:var(--cp-blue); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.cp-text{ font-size:clamp(.98rem,2.4vw,1.06rem); line-height:1.75; color:var(--cp-text); margin:0 0 14px; }

/* ---------- Grids ---------- */
.cp-grid{ display:grid; gap:16px; grid-template-columns:1fr; }
@media (min-width:640px){ .cp-grid-2, .cp-grid-3{ grid-template-columns:repeat(2,1fr); gap:20px; } }
@media (min-width:1024px){ .cp-grid-3{ grid-template-columns:repeat(3,1fr); } }
.cp-span{ grid-column:1/-1; }
@media (max-width:639px){ .cp-span{ grid-column:auto; } }

.cp-split{ display:grid; gap:28px; grid-template-columns:1fr; align-items:start; }
@media (min-width:900px){ .cp-split{ grid-template-columns:1.15fr 1fr; gap:48px; } }
.cp-stack{ display:grid; gap:16px; }

/* ---------- Cards ---------- */
.cp-card{
  position:relative; background:#fff; border:1px solid var(--cp-border); border-radius:var(--cp-radius);
  padding:22px 20px; box-shadow:var(--cp-shadow);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
@media (min-width:640px){ .cp-card{ padding:28px 26px; } }
@media (hover:hover){ .cp-card:hover{ transform:translateY(-5px); box-shadow:var(--cp-shadow-lg); border-color:#cfe0f5; } }
.cp-card h3{ font-size:1.12rem; line-height:1.3; font-weight:700; color:var(--cp-navy); margin:0 0 10px; }
.cp-card p{ font-size:.97rem; line-height:1.7; color:var(--cp-text); margin:0 0 12px; }
.cp-card p:last-child{ margin-bottom:0; }
.cp-card .cp-link{ display:inline-block; margin-top:6px; }
.cp-card-accent{ border-top:4px solid var(--cp-sky); }
.cp-card-accent-green{ border-top:4px solid var(--cp-green); }

.cp-ic{
  display:flex; align-items:center; justify-content:center; width:52px; height:52px;
  border-radius:15px; margin-bottom:16px;
}
.cp-ic svg{ width:26px; height:26px; }
.cp-ic-blue{ background:rgba(31,122,224,.12); color:var(--cp-blue); }
.cp-ic-green{ background:rgba(122,192,67,.18); color:var(--cp-green-dk); }
.cp-ic-sky{ background:rgba(53,169,232,.15); color:var(--cp-sky); }

.cp-list{ list-style:none; margin:4px 0 14px; padding:0; display:grid; gap:9px; }
.cp-list li{ position:relative; padding-left:28px; font-size:.95rem; line-height:1.55; color:var(--cp-midnight); }
.cp-list li::before{
  content:""; position:absolute; left:0; top:2px; width:18px; height:18px; border-radius:50%;
  background:rgba(122,192,67,.2)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234e8f1f' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E")
    center/11px no-repeat;
}

/* ---------- Numbered steps ---------- */
.cp-steps{ list-style:none; margin:0; padding:0; display:grid; gap:14px; counter-reset:cp-step; }
.cp-step{
  position:relative; counter-increment:cp-step; background:#fff; border:1px solid var(--cp-border);
  border-radius:var(--cp-radius); padding:20px 18px 20px 76px; box-shadow:var(--cp-shadow);
}
.cp-step::before{
  content:counter(cp-step); position:absolute; left:18px; top:18px; width:44px; height:44px; border-radius:13px;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:19px; color:#fff;
  background:linear-gradient(135deg,var(--cp-blue),var(--cp-sky));
}
.cp-step:nth-child(even)::before{ background:linear-gradient(135deg,var(--cp-green-dk),var(--cp-green)); }
.cp-step h3{ font-size:1.05rem; font-weight:700; color:var(--cp-navy); margin:0 0 6px; line-height:1.3; }
.cp-step p{ font-size:.95rem; line-height:1.65; color:var(--cp-text); margin:0; }
@media (min-width:700px){ .cp-steps-4{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .cp-steps-4{ grid-template-columns:repeat(4,1fr); } .cp-steps-4 .cp-step{ padding:76px 20px 22px; } .cp-steps-4 .cp-step::before{ left:20px; top:20px; } }
@media (min-width:700px){ .cp-steps-5{ grid-template-columns:repeat(2,1fr); } .cp-steps-5 .cp-step:last-child{ grid-column:1/-1; } }
@media (min-width:1100px){ .cp-steps-5{ grid-template-columns:repeat(5,1fr); } .cp-steps-5 .cp-step:last-child{ grid-column:auto; } .cp-steps-5 .cp-step{ padding:76px 18px 22px; } .cp-steps-5 .cp-step::before{ left:18px; top:20px; } }

/* ---------- Pills (audience) ---------- */
.cp-pills{ display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:0; padding:0; }
.cp-pills li{
  font-size:.92rem; font-weight:600; color:var(--cp-midnight); background:#fff;
  border:1px solid var(--cp-border); padding:10px 16px; border-radius:999px; line-height:1.35;
  box-shadow:0 2px 8px rgba(13,33,68,.04);
}

/* ---------- Callout ---------- */
.cp-callout{
  position:relative; overflow:hidden; border-radius:24px; padding:26px 22px; color:#fff;
  background:linear-gradient(135deg,var(--cp-navy) 0%,#123a6b 60%,var(--cp-blue) 100%);
}
.cp-callout::after{
  content:""; position:absolute; width:260px; height:260px; right:-90px; bottom:-120px; border-radius:50%;
  background:radial-gradient(circle,rgba(122,192,67,.4),transparent 70%);
}
.cp-callout > *{ position:relative; z-index:1; }
.cp-callout h2{ font-size:clamp(1.3rem,4vw,1.8rem); font-weight:800; margin:0 0 12px; color:#fff; }
.cp-callout p{ font-size:.98rem; line-height:1.7; color:rgba(255,255,255,.88); margin:0 0 12px; }
.cp-callout a{ color:#fff; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
@media (min-width:700px){ .cp-callout{ padding:40px 44px; } }

/* ---------- FAQ ---------- */
.cp-faq{ display:grid; gap:12px; }
.cp-faq details{ background:#fff; border:1px solid var(--cp-border); border-radius:16px; overflow:hidden; transition:border-color .2s ease, box-shadow .2s ease; }
.cp-faq details[open]{ border-color:var(--cp-blue); box-shadow:0 6px 18px rgba(31,122,224,.12); }
.cp-faq summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:14px;
  min-height:58px; padding:14px 18px; font-weight:700; font-size:1rem; line-height:1.4; color:var(--cp-navy);
}
.cp-faq summary::-webkit-details-marker{ display:none; }
.cp-faq-ic{ position:relative; flex:0 0 22px; width:22px; height:22px; border-radius:50%; background:rgba(31,122,224,.12); }
.cp-faq-ic::before,.cp-faq-ic::after{ content:""; position:absolute; background:var(--cp-blue); border-radius:2px; transition:transform .25s ease, opacity .25s ease; }
.cp-faq-ic::before{ left:6px; top:10px; width:10px; height:2px; }
.cp-faq-ic::after{ left:10px; top:6px; width:2px; height:10px; }
.cp-faq details[open] .cp-faq-ic::after{ transform:rotate(90deg); opacity:0; }
.cp-faq-a{ padding:0 18px 18px; font-size:.97rem; line-height:1.7; color:var(--cp-text); }
.cp-faq-a p{ margin:0; }

/* ---------- CTA band ---------- */
.cp-cta{
  position:relative; overflow:hidden; text-align:center; border-radius:28px; padding:38px 22px; color:#fff;
  background:linear-gradient(135deg,var(--cp-blue) 0%,var(--cp-sky) 100%);
}
.cp-cta::before,.cp-cta::after{ content:""; position:absolute; border-radius:50%; pointer-events:none; }
.cp-cta::before{ width:300px; height:300px; top:-130px; right:-80px; background:radial-gradient(circle,rgba(122,192,67,.45),transparent 70%); }
.cp-cta::after{ width:280px; height:280px; bottom:-140px; left:-70px; background:radial-gradient(circle,rgba(255,255,255,.24),transparent 70%); }
.cp-cta > *{ position:relative; z-index:1; }
.cp-cta h2{ font-size:clamp(1.5rem,5vw,2.2rem); font-weight:800; line-height:1.2; margin:0 0 12px; color:#fff; }
.cp-cta p{ max-width:40em; margin:0 auto 22px; font-size:1rem; line-height:1.7; color:rgba(255,255,255,.92); }
.cp-cta .cp-actions{ justify-content:center; margin-top:0; }
.cp-cta-tag{ margin:26px auto 0 !important; font-size:.85rem !important; color:rgba(255,255,255,.85) !important; }
@media (min-width:700px){ .cp-cta{ padding:56px 48px; } }

/* ---------- Contact: quick tiles ---------- */
.cp-tiles{ display:grid; gap:14px; grid-template-columns:1fr; }
@media (min-width:640px){ .cp-tiles{ grid-template-columns:repeat(3,1fr); } }
.cp-tile{
  display:flex; align-items:flex-start; gap:14px; text-decoration:none; background:#fff;
  border:1px solid var(--cp-border); border-radius:var(--cp-radius); padding:18px; min-height:84px;
  box-shadow:var(--cp-shadow); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
a.cp-tile:active{ transform:scale(.985); }
@media (hover:hover){ a.cp-tile:hover{ transform:translateY(-4px); box-shadow:var(--cp-shadow-lg); border-color:#cfe0f5; } }
.cp-tile .cp-ic{ margin:0; flex:0 0 52px; }
.cp-tile-body{ min-width:0; }
.cp-tile-label{ display:block; font-size:12px; font-weight:800; letter-spacing:.9px; text-transform:uppercase; color:var(--cp-text); margin-bottom:3px; }
.cp-tile-value{ display:block; font-size:1.02rem; font-weight:700; color:var(--cp-navy); overflow-wrap:anywhere; }
.cp-tile-hint{ display:block; font-size:.88rem; line-height:1.5; color:var(--cp-text); margin-top:5px; }

.cp-contact-layout{ display:grid; gap:24px; grid-template-columns:1fr; }
@media (min-width:960px){ .cp-contact-layout{ grid-template-columns:.8fr 1.2fr; gap:36px; align-items:start; } }
.cp-aside{ display:grid; gap:14px; }
.cp-aside .cp-tile-hint{ font-size:.9rem; }

/* ---------- Contact: form ---------- */
.cp-form-card{
  background:#fff; border:1px solid var(--cp-border); border-radius:24px; padding:22px 18px;
  box-shadow:var(--cp-shadow-lg);
}
@media (min-width:640px){ .cp-form-card{ padding:34px 32px; } }
.cp-form-card h2{ font-size:clamp(1.3rem,4vw,1.7rem); font-weight:800; color:var(--cp-navy); margin:0 0 6px; }
.cp-form-card > p{ font-size:.97rem; line-height:1.65; color:var(--cp-text); margin:0 0 20px; }
.cp-form-grid{ display:grid; gap:16px; grid-template-columns:1fr; }
@media (min-width:640px){ .cp-form-grid{ grid-template-columns:1fr 1fr; } .cp-form-full{ grid-column:1/-1; } }
.cp-field{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.cp-field label{ font-size:.86rem; font-weight:700; color:var(--cp-midnight); }
.cp-input{
  width:100%; min-height:50px; padding:12px 14px; border-radius:12px; border:1.5px solid #dbe5f1;
  background:#fff; color:var(--cp-midnight); font:inherit; font-size:16px; /* 16px stops iOS zoom-on-focus */
  transition:border-color .2s ease, box-shadow .2s ease; -webkit-appearance:none; appearance:none;
}
select.cp-input{
  padding-right:42px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f7ae0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center/18px no-repeat;
}
textarea.cp-input{ min-height:130px; resize:vertical; line-height:1.55; }
.cp-input::placeholder{ color:#94a3b8; }
.cp-input:focus{ outline:none; border-color:var(--cp-blue); box-shadow:0 0 0 4px rgba(31,122,224,.15); }
.cp-submit{ width:100%; margin-top:20px; border:0; font-family:inherit; }
@media (min-width:640px){ .cp-submit{ width:auto; min-width:220px; } }
.cp-form-note{ font-size:.85rem; line-height:1.6; color:var(--cp-text); margin:16px 0 0; }
.cp-form .lm-error, .cp-form .error, .cp-form .field-error{ color:#d93025; font-size:.85rem; margin-top:4px; }

.cp-banner{ border-radius:14px; padding:14px 16px; margin-bottom:18px; font-size:.95rem; line-height:1.6; }
.cp-banner-info{ background:rgba(31,122,224,.08); border:1px solid var(--cp-blue); color:var(--cp-blue); font-weight:700; }
.cp-banner-ok{ background:rgba(122,192,67,.14); border:1px solid var(--cp-green); color:#2f6a0e; }

/* ---------- Contact: sticky mobile action bar ---------- */
.cp-bar{ display:none; }
@media (max-width:767px){
  .cp-has-bar{ padding-bottom:calc(76px + env(safe-area-inset-bottom,0px)); }
  .cp-bar{
    position:fixed; left:0; right:0; bottom:0; z-index:90; display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:8px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));
    background:rgba(255,255,255,.96); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    border-top:1px solid var(--cp-border); box-shadow:0 -6px 20px rgba(13,33,68,.1);
  }
  .cp-bar a{
    display:flex; align-items:center; justify-content:center; gap:6px; min-height:48px; border-radius:12px;
    font-weight:700; font-size:14.5px; text-decoration:none; color:var(--cp-blue); background:rgba(31,122,224,.1);
  }
  .cp-bar a svg{ width:17px; height:17px; }
  .cp-bar a.cp-bar-main{ color:#fff; background:linear-gradient(135deg,var(--cp-blue),var(--cp-sky)); }
  .cp-has-bar #scroll-to-top{ bottom:92px !important; right:16px !important; }
}

/* ---------- Small-screen tuning ---------- */
@media (max-width:559px){
  .cp-actions .cp-btn{ width:100%; }
  .cp-wrap{ padding:0 16px; }
  .cp-chip{ font-size:12.5px; }
}

/* ---------- Dark mode (site toggles .dark on an ancestor) ---------- */
.dark .cp-hero{ background:linear-gradient(160deg,#0e1626 0%,#0d2144 100%); }
.dark .cp-sec{ background:#0b1220; }
.dark .cp-sec-alt{ background:#0e1626; }
.dark .cp-h1,.dark .cp-h2,.dark .cp-card h3,.dark .cp-step h3,.dark .cp-tile-value,.dark .cp-form-card h2,.dark .cp-faq summary{ color:#fff; }
.dark .cp-lead,.dark .cp-sub,.dark .cp-text,.dark .cp-card p,.dark .cp-step p,.dark .cp-faq-a,.dark .cp-tile-hint,.dark .cp-tile-label,.dark .cp-form-note,.dark .cp-form-card > p,.dark .cp-crumbs,.dark .cp-crumbs a{ color:#9aa7bd; }
.dark .cp-lead strong,.dark .cp-list li,.dark .cp-field label,.dark .cp-pills li,.dark .cp-chip{ color:#e5ecf7; }
.dark .cp-card,.dark .cp-step,.dark .cp-tile,.dark .cp-form-card,.dark .cp-faq details,.dark .cp-pills li,.dark .cp-chip{ background:#131c2e; border-color:#25324a; }
.dark .cp-input{ background:#0c121e; border-color:#25324a; color:#fff; }
.dark .cp-btn-ghost{ background:transparent; }
.dark .cp-bar{ background:rgba(13,33,68,.96); border-color:#25324a; }


/* ---------- Breadcrumb bar ---------- */
main > section.cp-crumbbar{ padding-top:12px !important; padding-bottom:12px !important; background:#fff; border-bottom:1px solid var(--cp-border); }
.cp-bc{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; align-items:center; gap:4px; font-size:14px; }
.cp-bc li{ display:flex; align-items:center; }
.cp-bc li + li::before{
  content:""; width:16px; height:16px; margin:0 4px; flex-shrink:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/16px no-repeat;
}
.cp-bc a{ display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:0 10px; border-radius:999px; color:var(--cp-text); text-decoration:none; font-weight:600; transition:background .2s ease, color .2s ease; }
.cp-bc a:hover{ background:rgba(31,122,224,.1); color:var(--cp-blue); }
.cp-bc a svg{ width:16px; height:16px; }
.cp-bc [aria-current]{ display:inline-flex; align-items:center; min-height:36px; padding:0 14px; border-radius:999px; font-weight:700; color:var(--cp-blue); background:rgba(31,122,224,.1); }
.dark .cp-crumbbar{ background:#0b1220; border-color:#25324a; }
.dark .cp-bc a{ color:#9aa7bd; }
main > section.cp-hero{ padding-top:36px !important; }

/* ---------- Card that spans two columns (What We Do, last card) ---------- */
@media (min-width:640px){ .cp-span-2{ grid-column:1/-1; } }
@media (min-width:1024px){ .cp-span-2{ grid-column:span 2; } }

/* ---------- DPDP notice card (fills the left column, equal height to the form) ---------- */
.cp-dpdp{ display:flex; flex-direction:column; }
.cp-dpdp .cp-list{ margin-bottom:12px; }
.cp-dpdp .cp-list li{ font-size:.9rem; }
.cp-dpdp > p:last-child{ margin-top:auto; }

/* Desktop: both columns share one height; the message box grows to absorb the difference */
@media (min-width:960px){
  .cp-contact-layout{ align-items:stretch; }
  .cp-aside{ grid-template-rows:auto auto auto 1fr; }
  .cp-form-card{ display:flex; flex-direction:column; }
  .cp-form-card form{ flex:1; display:flex; flex-direction:column; }
  .cp-form-grid{ flex:1; grid-template-rows:auto auto 1fr; }
  .cp-form-grid .cp-form-full{ min-height:0; }
  .cp-form-grid .cp-form-full textarea{ flex:1; min-height:130px; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .cp-page *{ transition:none !important; animation:none !important; }
}