/* ============================================================
   DACPROS — service landing pages
   Layered on top of blog.css (nav, footer, FAQ, CTA, callout).
   ============================================================ */

/* ---------- HERO ---------- */
.svc-hero{background:var(--midnight);color:#fff;padding:118px 0 70px;position:relative;overflow:hidden}
.svc-hero::before{content:"";position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(18,236,199,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(18,236,199,.06) 1px,transparent 1px);
  background-size:28px 28px}
.svc-hero .wrap{position:relative}
.svc-hero .breadcrumb{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:#86ADA8;margin-bottom:22px;display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.svc-hero .breadcrumb a{color:#91F2E0}
.svc-hero .breadcrumb a:hover{color:#fff}
.svc-hero .breadcrumb .sep{opacity:.5}
.svc-hero h1{font-size:clamp(34px,5vw,66px);line-height:1.03;letter-spacing:-.025em;margin:0;color:#fff;font-weight:700;max-width:16ch}
.svc-hero h1 .kicker{color:#91F2E0;font-weight:300}
.svc-hero .lead{margin:24px 0 0;max-width:60ch;font-size:19px;line-height:1.6;color:#C5FFCB;font-weight:300}
.svc-hero .lead b{color:#fff;font-weight:500}
.svc-hero .cta-row{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.btn-ghost-dark{background:transparent;border-color:rgba(255,255,255,.3);color:#fff}
.btn-ghost-dark:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff}
.svc-stats{display:flex;gap:0;margin-top:56px;border-top:1px solid rgba(255,255,255,.14);max-width:820px;flex-wrap:wrap}
.svc-stats .s{flex:1;min-width:130px;padding:22px 22px 0}
.svc-stats .s + .s{border-left:1px solid rgba(255,255,255,.14)}
.svc-stats .s b{display:block;font-size:30px;font-weight:600;color:#fff;letter-spacing:-.01em}
.svc-stats .s b em{font-style:normal;color:#91F2E0;font-size:19px}
.svc-stats .s span{display:block;margin-top:6px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#91F2E0}

/* ---------- SECTION SHELL ---------- */
.band{background:#fff;padding:88px 0}
.band.alt{background:var(--paper)}
.section-head{max-width:760px;margin-bottom:48px}
.section-head .eyebrow{margin-bottom:18px}
.section-head h2{font-size:clamp(28px,3.8vw,46px);line-height:1.08;letter-spacing:-.02em;color:var(--midnight);font-weight:700;margin:0}
.section-head p{margin:18px 0 0;font-size:17.5px;line-height:1.6;color:var(--slate);max-width:64ch}

/* ---------- ANSWER BLOCK (LLM / featured-snippet extraction) ---------- */
.answer-block{border:1px solid var(--line-2);border-left:4px solid var(--action);background:#fff;
  padding:28px 30px;max-width:820px;box-shadow:0 10px 30px rgba(10,38,71,.06)}
.answer-block .q{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--action);margin:0 0 12px;display:flex;align-items:center;gap:9px}
.answer-block .q svg{width:15px;height:15px}
.answer-block h2,.answer-block h3{font-size:21px;line-height:1.3;color:var(--midnight);font-weight:700;margin:0 0 12px;letter-spacing:-.01em}
.answer-block p{margin:0 0 12px;font-size:17px;line-height:1.65;color:#33414f}
.answer-block p:last-child{margin-bottom:0}
.answer-block strong{color:var(--midnight);font-weight:600}

/* ---------- FEATURE GRID ---------- */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.feature{background:#fff;padding:28px 26px 30px}
.feature .ico{width:46px;height:46px;border:1px solid var(--line-2);background:var(--action-soft);display:grid;place-items:center;margin-bottom:18px}
.feature .ico svg{width:22px;height:22px;color:var(--action);stroke-width:1.4}
.feature h3{font-size:17px;font-weight:600;color:var(--midnight);margin:0 0 9px;letter-spacing:-.01em}
.feature p{margin:0;font-size:14px;line-height:1.6;color:var(--slate)}

/* ---------- PROCESS ---------- */
.proc{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.proc .step{background:#fff;padding:26px 18px 30px;position:relative}
.proc .step .n{font-family:var(--mono);font-size:11px;color:var(--action);letter-spacing:.1em;margin-bottom:14px}
.proc .step h3{font-size:15px;font-weight:600;color:var(--midnight);margin:0 0 7px}
.proc .step p{margin:0;font-size:12.5px;line-height:1.5;color:var(--slate)}

/* ---------- CHECK LIST (what's included / outcomes) ---------- */
.check-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 40px;max-width:900px}
.check-list li{display:flex;gap:12px;font-size:15.5px;line-height:1.5;color:var(--midnight)}
.check-list li svg{width:19px;height:19px;color:var(--green);flex-shrink:0;margin-top:2px}

/* ---------- COMPLIANCE / TRUST STRIP ---------- */
.trust{display:flex;align-items:center;gap:36px;flex-wrap:wrap;justify-content:center;
  padding:30px;background:#fff;border:1px solid var(--line)}
.trust .label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--slate-dim)}
.trust ul{list-style:none;display:flex;align-items:center;gap:36px;flex-wrap:wrap;justify-content:center;margin:0;padding:0}
.trust img{height:40px;width:auto;filter:grayscale(1);opacity:.62;transition:.25s}
.trust li:hover img{filter:none;opacity:1}

/* ---------- FAQ (answer-shaped accordion) ---------- */
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;
  padding:22px 2px;font-size:18px;font-weight:600;color:var(--midnight);letter-spacing:-.01em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::marker{content:""}
.faq-list summary .pm{width:22px;height:22px;flex-shrink:0;position:relative}
.faq-list summary .pm::before,.faq-list summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:2px;background:var(--action);transform:translate(-50%,-50%);transition:.2s}
.faq-list summary .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-list details[open] summary .pm::after{transform:translate(-50%,-50%) rotate(0)}
.faq-list .ans{padding:0 2px 24px;max-width:74ch;font-size:15.5px;line-height:1.65;color:var(--slate)}
.faq-list .ans strong{color:var(--midnight);font-weight:600}

/* ---------- LOCAL NOTE ---------- */
.local{display:flex;gap:18px;align-items:flex-start;background:var(--action-soft);border:1px solid #cfe3fa;padding:24px 26px;max-width:900px}
.local svg{width:24px;height:24px;color:var(--action);flex-shrink:0;margin-top:2px}
.local h3{margin:0 0 6px;font-size:17px;color:var(--midnight);font-weight:600}
.local p{margin:0;font-size:15px;line-height:1.6;color:var(--slate)}

/* ---------- CONTACT PAGE ---------- */
.contact2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.ci-list{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:24px}
.ci-row2{display:flex;align-items:center;gap:16px;background:#fff;padding:18px 20px;color:var(--midnight)}
.ci-row2:hover{background:var(--paper)}
.ci-row2 svg{width:18px;height:18px;color:var(--action);flex-shrink:0}
.ci-row2 .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--slate-dim);width:64px}
.ci-row2 .v{font-size:15px;color:var(--midnight)}
.map-embed{border:1px solid var(--line);width:100%;height:300px;display:block}
.map-link{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--action)}
.map-link svg{width:13px;height:13px}
.form-card2{background:#fff;border:1px solid var(--line);padding:32px}
.form-card2 h2{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--action);margin:0 0 22px;font-weight:600}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.field label{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate-dim)}
.field input,.field textarea{background:var(--paper);border:1px solid var(--line);color:var(--midnight);padding:12px 13px;font-family:var(--font);font-size:15px;outline:none;transition:.18s;min-height:46px}
.field input:focus,.field textarea:focus{border-color:var(--action);background:#fff}
.field input::placeholder,.field textarea::placeholder{color:var(--slate-dim)}
.field textarea{resize:vertical;min-height:96px;line-height:1.5}
.urg-label{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate-dim);display:block;margin-bottom:9px}
.urg{display:flex;margin-bottom:24px}
.urg button{flex:1;background:#fff;border:1px solid var(--line);color:var(--slate);padding:11px 6px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.18s;min-height:44px}
.urg button + button{border-left:0}
.urg button.active{background:var(--action);border-color:var(--action);color:#fff}
.urg button:hover:not(.active){color:var(--midnight)}
.send{width:100%;background:var(--action);border:0;color:#fff;padding:15px;font-size:15px;font-weight:500;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:9px;transition:.2s;min-height:50px}
.send:hover{background:var(--action-deep)}
.send svg{width:16px;height:16px}
.form-note{margin-top:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--green);display:none;align-items:center;gap:8px}
.form-note.show{display:flex}
.form-note svg{width:14px;height:14px;color:var(--green)}
@media(max-width:880px){.contact2{grid-template-columns:1fr;gap:32px}}

@media (max-width:980px){
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .proc{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:680px){
  .svc-hero{padding:96px 0 52px}
  .band{padding:64px 0}
  .feature-grid,.proc,.check-list{grid-template-columns:1fr}
  .answer-block{padding:24px 22px}
  .svc-stats .s{flex:1 1 50%;border-left:0;border-top:1px solid rgba(255,255,255,.14)}
}

/* ---------- ACCREDITATIONS PAGE ---------- */
.accred-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);max-width:980px}
.accred{background:#fff;padding:30px 28px}
.accred .badge{display:inline-flex;align-items:center;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--action);background:var(--action-soft);border:1px solid var(--line-2);padding:7px 13px;border-radius:999px;margin-bottom:16px}
.accred h3{font-size:18px;font-weight:700;color:var(--midnight);margin:0 0 4px;letter-spacing:-.01em}
.accred .issuer{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-dim);margin:0 0 14px}
.accred p{margin:0;font-size:14.5px;line-height:1.62;color:var(--slate)}
@media (max-width:680px){ .accred-grid{grid-template-columns:1fr} }
