/* ═══════════════════════════════════════════════════════════
   home.css — home page only. Loaded after styles.css by
   index.html alone. styles.css is unmodified.

   Dark hero, then a quiet body: hairlines not boxes,
   two surfaces not six, one accent colour.
   ═══════════════════════════════════════════════════════════ */

.hm{
  --dark:#0C1724;
  --dark-2:#0A1420;
  --navy:#264375;
  --navy-lo:#335c93;
  --grass:#407739;
  --grass-br:#55A848;
  --live:#8FD183;
  --accent:#7FB8F5;
  --ink:#141E2A;
  --body:#54616F;
  --mute:#7f8c9b;
  --paper:#F5F8FB;
  --rule:#E4EAF1;
  --rule-d:rgba(255,255,255,.11);
  --sky:#A9BCD0;
  --sky-2:#C3D7EA;
  --warn:#C4452A;
  --display:Archivo,Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;
}
.hm,.hm p,.hm li,.hm span,.hm a,.hm button{font-family:var(--display)}
.hm h1,.hm h2,.hm h3{font-family:var(--display);font-feature-settings:"ss01";font-variant-numeric:tabular-nums}
.hm h2{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.08;letter-spacing:-.044em;font-weight:800;color:var(--ink);margin:0}

/* ══ hero ══════════════════════════════════════════════════ */
.hm-hero{background:var(--dark);color:#fff;overflow:hidden}
.hm-hero .hm-grid{display:grid;grid-template-columns:1.02fr .98fr;min-height:470px}
.hm-hero .hm-left{
  padding:58px 52px 58px max(22px,calc((100vw - 1140px)/2));
  display:flex;flex-direction:column;justify-content:center;
}
.hm-pill{
  display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
  background:rgba(64,119,57,.2);border:1px solid rgba(94,170,84,.42);color:var(--live);
  font-size:.75rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  padding:7px 15px;border-radius:999px;margin-bottom:24px;
}
.hm-pill svg{width:14px;height:14px}
.hm-hero h1{
  margin:0 0 20px;font-weight:850;line-height:1.03;letter-spacing:-.046em;
  font-size:clamp(2.4rem,4.7vw,3.75rem);color:#fff;max-width:13ch;
}
.hm-hero h1 em{font-style:normal;color:var(--accent)}
.hm-hero .hm-say{color:var(--sky);font-size:1.04rem;line-height:1.64;max-width:47ch;margin:0 0 30px}
.hm-acts{display:flex;gap:13px;flex-wrap:wrap;align-items:center;margin-bottom:28px}
.hm-go{
  background:#fff;color:var(--dark);font-weight:750;padding:14px 25px;border-radius:11px;
  text-decoration:none;font-size:.95rem;display:inline-block;transition:background .14s ease;
}
.hm-go:hover{background:#E9F0F7}
.hm-alt{
  color:#C5D6E8;border:1px solid rgba(255,255,255,.24);font-weight:700;
  padding:14px 25px;border-radius:11px;text-decoration:none;font-size:.95rem;
  display:inline-block;transition:border-color .14s,color .14s;
}
.hm-alt:hover{border-color:rgba(255,255,255,.52);color:#fff}
.hm-ticks-in{display:flex;gap:24px;flex-wrap:wrap;font-size:.87rem;color:var(--sky)}
.hm-ticks-in span{display:inline-flex;align-items:center;gap:8px}
.hm-ticks-in i{
  width:17px;height:17px;border-radius:50%;background:rgba(94,170,84,.26);color:var(--live);
  display:grid;place-items:center;font-style:normal;font-size:.62rem;font-weight:900;flex:0 0 auto;
}
.hm-hero .hm-right{position:relative;overflow:hidden}
.hm-hero .hm-right img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%;
}
.hm-hero .hm-right:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--dark) 0%,rgba(12,23,36,.55) 18%,rgba(12,23,36,0) 50%);
}

/* ══ stats bar ═════════════════════════════════════════════ */
.hm-stats{background:var(--dark-2);color:#fff;border-top:1px solid var(--rule-d)}
.hm-sg{display:grid;grid-template-columns:repeat(4,1fr)}
.hm-sg div{padding:24px 26px 27px;border-right:1px solid var(--rule-d)}
.hm-sg div:first-child{padding-left:0}
.hm-sg div:last-child{border-right:0}
.hm-sg b{display:block;font-size:1.14rem;font-weight:800;letter-spacing:-.038em;margin-bottom:4px}
.hm-sg span{font-size:.84rem;color:#92A5BA;line-height:1.48}

/* ══ trust chips ═══════════════════════════════════════════ */
.hm-trust{background:#fff;border-bottom:1px solid var(--rule)}
.hm-trust .hm-ti{display:flex;align-items:center;gap:12px;padding:16px 0;flex-wrap:wrap}
.hm-trust em{font-style:normal;color:var(--mute);font-size:.87rem;margin-right:4px}
.hm-chip{
  font-size:.82rem;font-weight:700;color:#41566F;background:var(--paper);
  border:1px solid var(--rule);border-radius:999px;padding:6px 14px;text-decoration:none;
  transition:border-color .14s,color .14s;
}
.hm-chip:hover{border-color:#BBCCDE;color:var(--navy)}

/* ══ shared section shell ══════════════════════════════════ */
.hm-sec{padding:58px 0;background:#fff}
.hm-sec.alt{background:var(--paper)}
.hm-head{margin-bottom:26px;max-width:52ch}
.hm-head h2{margin-bottom:11px}
.hm-head p{margin:0;color:var(--body);font-size:.99rem;line-height:1.68}
.hm-hrow{display:flex;justify-content:space-between;align-items:baseline;gap:26px;flex-wrap:wrap;margin-bottom:24px}
.hm-hrow h2{max-width:20ch}
.hm-link{
  font-size:.91rem;font-weight:800;color:var(--navy);text-decoration:none;
  border-bottom:2px solid var(--grass-br);padding-bottom:2px;display:inline-block;white-space:nowrap;
}
.hm-link:hover{border-bottom-color:var(--navy)}

/* ══ shared panel: questionnaire and service list ══════════ */
.hm-check{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:58px;align-items:start}
.hm-check .hm-intro h2{margin-bottom:13px;max-width:15ch}
.hm-check .hm-intro p{margin:0 0 18px;color:var(--body);font-size:.98rem;line-height:1.68;max-width:40ch}
.hm-note{
  font-size:.85rem !important;line-height:1.64 !important;color:var(--mute) !important;
  border-left:2px solid var(--rule);padding-left:15px;margin:0 0 22px !important;max-width:40ch !important;
}
.hm-note a{color:var(--navy);font-weight:650;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--grass-br)}
.hm-note a:hover{text-decoration-color:var(--navy)}

.hm-panel{
  background:#fff;border:1px solid var(--rule);border-radius:20px;padding:0;overflow:hidden;
  box-shadow:0 1px 2px rgba(20,40,70,.04),0 18px 44px rgba(20,40,70,.07);
}
.hm-phead{
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  padding:22px 26px 20px;border-bottom:1px solid var(--rule);background:#FCFDFE;
}
.hm-phead h3{margin:0 0 4px;font-size:1.03rem;letter-spacing:-.03em;font-weight:800;color:var(--ink)}
.hm-qsub{margin:0;font-size:.83rem;color:var(--mute);line-height:1.5}
.hm-phead .hm-link{flex:0 0 auto;margin-top:2px}
.hm-count{display:flex;align-items:baseline;gap:5px;flex:0 0 auto;font-variant-numeric:tabular-nums}
.hm-count b{font-size:1.5rem;font-weight:850;letter-spacing:-.05em;color:var(--navy);line-height:1}
.hm-count span{font-size:.78rem;color:var(--mute);font-weight:650}

/* questions */
.hm-q{display:flex;align-items:flex-start;gap:14px;padding:16px 26px;border-bottom:1px solid #F0F4F8}
.hm-q:nth-child(odd){background:#FDFEFF}
.hm-qi{
  flex:0 0 auto;width:22px;height:22px;margin-top:1px;border-radius:6px;background:var(--paper);
  color:var(--mute);font-size:.72rem;font-weight:800;display:grid;place-items:center;
  font-variant-numeric:tabular-nums;transition:background .15s,color .15s;
}
.hm-q.is-answered .hm-qi,
.hm-q:has(button[aria-pressed="true"]) .hm-qi{background:var(--navy);color:#fff}
.hm-qt{flex:1;min-width:0}
.hm-qt p{margin:0 0 3px;font-size:.89rem;line-height:1.48;color:#28384a;font-weight:600}
.hm-qt small{display:block;font-size:.79rem;line-height:1.48;color:var(--mute)}
.hm-qt code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;
  background:var(--paper);border:1px solid var(--rule);border-radius:4px;padding:1px 5px;color:var(--navy);
}
.hm-yn{display:inline-flex;flex-shrink:0;margin-top:1px;border:1px solid #D9E2EC;border-radius:9px;overflow:hidden;background:#fff}
.hm-yn button{
  font:inherit;font-size:.77rem;font-weight:800;border:0;background:transparent;
  color:var(--body);padding:7px 15px;cursor:pointer;transition:background .13s,color .13s;
}
.hm-yn button+button{border-left:1px solid #E4EAF1}
.hm-yn button:hover{background:var(--paper)}
.hm-yn button[aria-pressed="true"][data-v="y"]{background:var(--grass);color:#fff}
.hm-yn button[aria-pressed="true"][data-v="n"]{background:var(--warn);color:#fff}

/* result */
.hm-res{padding:0;background:var(--paper);border-top:1px solid var(--rule)}
.hm-barw{height:4px;background:#E2EAF3;overflow:hidden}
.hm-bar{height:100%;width:0;background:linear-gradient(90deg,#C4452A,#E8A317 48%,#407739);transition:width .45s cubic-bezier(.4,0,.2,1)}
.hm-rbody{padding:18px 26px 20px}
.hm-res b{font-size:.95rem;display:block;margin-bottom:3px;color:var(--ink)}
.hm-res span{font-size:.85rem;color:var(--body);line-height:1.56;display:block}
.hm-rcta{
  display:inline-block;margin-top:13px;font-size:.87rem;font-weight:800;color:var(--navy);
  text-decoration:none;border-bottom:2px solid var(--grass-br);padding-bottom:2px;
}
.hm-rcta:hover{border-bottom-color:var(--navy)}

/* ══ service and industry tiles, one component ════════════ */
.hm-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:16px;overflow:hidden}
.hm-bk{
  padding:26px 24px 28px;background:#fff;text-decoration:none;color:inherit;
  display:flex;flex-direction:column;gap:8px;transition:background .15s ease;
}
.hm-bk:hover{background:var(--paper)}
.hm-bk h3{margin:0;font-size:1.05rem;font-weight:750;letter-spacing:-.032em;color:var(--navy)}
.hm-bk p{margin:0;font-size:.9rem;line-height:1.58;color:var(--body)}

/* ══ clients ═══════════════════════════════════════════════ */
.hm-clients .client-slide > div,.hm-clients .client-slide .panel{
  background:#fff;border:1px solid var(--rule);border-radius:14px;box-shadow:none;
}
.hm-clients .slider-btn{border:1px solid var(--rule);background:#fff;color:var(--navy);border-radius:10px}
.hm-clients .seo-note{margin-top:22px;background:var(--paper);border:1px solid var(--rule);border-radius:12px;color:var(--mute)}

/* ══ closing CTA ═══════════════════════════════════════════ */
.hm-cta{background:var(--dark);color:#fff;padding:52px 0 56px}
.hm-cta-in{display:flex;justify-content:space-between;align-items:center;gap:34px;flex-wrap:wrap}
.hm-cta h2{color:#fff;max-width:15ch;margin-bottom:10px}
.hm-cta p{margin:0;color:var(--sky);font-size:1rem;line-height:1.64;max-width:46ch}

/* ══ accessibility floor ═══════════════════════════════════ */
.hm a:focus-visible,.hm button:focus-visible{outline:3px solid var(--grass-br);outline-offset:3px;border-radius:5px}
@media (prefers-reduced-motion:reduce){
  .hm-go,.hm-bk,.hm-bar,.hm-yn button,.hm-chip,.hm-qi{transition:none}
  .hm-bk:hover{transform:none}
}

/* ══ responsive ════════════════════════════════════════════ */
@media (max-width:1000px){
  
  .hm-blocks{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .hm-hero .hm-grid{grid-template-columns:1fr}
  .hm-hero .hm-left{padding:46px 22px 44px;width:min(92%,1140px);margin:0 auto;order:2}
  .hm-hero h1{max-width:none}
  .hm-hero .hm-right{min-height:260px;order:1}
  .hm-hero .hm-right:after{background:linear-gradient(0deg,var(--dark) 0%,rgba(12,23,36,.3) 60%,rgba(12,23,36,.1) 100%)}
  .hm-sg{grid-template-columns:1fr 1fr}
  .hm-sg div{padding:19px 18px;border-bottom:1px solid var(--rule-d)}
  .hm-sg div:nth-child(2n){border-right:0}
  .hm-sg div:first-child{padding-left:18px}
  .hm-sec{padding:42px 0}
  .hm-cta{padding:44px 0 48px}
  .hm-phead,.hm-q,.hm-rbody{padding-left:19px;padding-right:19px}
  .hm-q{flex-wrap:wrap;gap:10px}
  .hm-qt{flex:1 1 100%;order:2}
  .hm-yn{order:3;margin-left:36px}
}
@media (max-width:560px){
  .hm-sg{grid-template-columns:1fr}
  .hm-sg div{border-right:0;padding-left:18px}
  .hm-blocks{grid-template-columns:1fr}
  .hm-q{flex-wrap:wrap;gap:10px}
  .hm-qt{flex:1 1 100%;order:2}
  .hm-yn{order:3;margin-left:36px}
  .hm-qhead,.hm-q,.hm-rbody{padding-left:19px;padding-right:19px}
  .hm-acts .hm-go,.hm-acts .hm-alt{width:100%;text-align:center}
}
