/* ==========================================================================
   HOME PAGE STYLES
   ========================================================================== */

/* ---------- HERO ---------- */
.hero{
  position:relative; background: var(--ink); color: var(--white);
  overflow:hidden; padding: 64px 0 0;
}
.hero__bg{
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(circle at 78% 15%, rgba(200,155,60,.22), transparent 45%),
    radial-gradient(circle at 8% 85%, rgba(166,54,42,.22), transparent 45%),
    linear-gradient(160deg, var(--ink) 0%, var(--ink-2) 60%, var(--ink) 100%);
}
.hero__bg .grain{
  position:absolute; inset:0; opacity:.5; mix-blend-mode: overlay;
  background-image: radial-gradient(rgba(255,255,255,.09) 1px, transparent 1px);
  background-size: 3px 3px;
}
.hero__ledger{
  position:absolute; inset:0; opacity:.05; pointer-events:none;
  background-image: repeating-linear-gradient(0deg, transparent, transparent 38px, #fff 39px);
}
.hero__seal-orbit{
  position:absolute; right:-120px; top:-80px; width:520px; height:520px;
  opacity:.08; animation: spin-slow 60s linear infinite;
}
@keyframes spin-slow{ from{ transform: rotate(0deg);} to{ transform: rotate(360deg);} }

.hero .container{ position:relative; z-index:2; }
.hero__grid{
  display:grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items:center;
  padding-bottom: 64px;
}
.hero__copy .eyebrow{ color: var(--gold-light); }
.hero__copy .eyebrow::before{ background: var(--gold-light); }
.hero__copy h1{
  color: var(--white); font-size: clamp(2.3rem, 4.6vw, 3.5rem); margin-top:16px;
  line-height:1.1;
}
.hero__copy h1 em{ font-style:italic; color: var(--gold-light); font-weight:500; }
.hero__copy p{ color:#C6CEDE; font-size: 1.14rem; line-height:1.65; margin-top:20px; max-width:540px; }
.hero__cta-row{ display:flex; gap:14px; margin-top:32px; flex-wrap:wrap; }
.hero__microcopy{ display:flex; align-items:center; gap:10px; margin-top:18px; color:#9CB0CF; font-size:.86rem; }
.hero__microcopy .pulse-dot{ width:8px; height:8px; border-radius:50%; background:#4ADE80; position:relative; flex-shrink:0; }
.hero__microcopy .pulse-dot::before{
  content:''; position:absolute; inset:-4px; border-radius:50%; border:1.5px solid #4ADE80;
  animation: pulse-ring 2s ease-out infinite;
}

/* ---------- TRUST STRIP under hero ---------- */
.trust-strip{ background: var(--cream-2); padding: 26px 0; border-bottom: 1px solid var(--paper-line); }
.trust-strip .container{ display:flex; flex-wrap:wrap; gap: 34px; align-items:center; justify-content:center; }
.trust-strip__item{ display:flex; align-items:center; gap:10px; font-size:.86rem; font-weight:700; color: var(--ink); }
.trust-strip__item svg{ color: var(--seal); flex-shrink:0; }

/* ---------- SERVICES GRID ---------- */
.svc-card{ padding: 32px 28px; display:flex; flex-direction:column; height:100%; }
.svc-card__icon{
  width:56px; height:56px; border-radius: 14px; background: var(--ink);
  display:flex; align-items:center; justify-content:center; color: var(--gold-light); margin-bottom:20px;
}
.svc-card h3{ font-size:1.2rem; margin-bottom:10px; }
.svc-card p{ color: var(--muted); font-size:.92rem; line-height:1.6; flex-grow:1; }
.svc-card__link{ display:flex; align-items:center; gap:8px; margin-top:18px; font-weight:700; font-size:.88rem; color: var(--seal-dark); }
.svc-card__link svg{ transition: transform .2s; }
.svc-card:hover .svc-card__link svg{ transform: translateX(4px); }

/* ---------- PRICING (home teaser reuses .price-card from pages.css) ---------- */

/* ---------- PROCESS ---------- */
.process{ position:relative; }
.process__row{ display:grid; grid-template-columns: repeat(3,1fr); gap: 40px; position:relative; }
.process__row::before{
  content:''; position:absolute; top:34px; left:12%; right:12%; height:2px;
  background: repeating-linear-gradient(90deg, var(--gold) 0 10px, transparent 10px 20px);
}
.process__step{ text-align:center; position:relative; }
.process__num{
  width:68px; height:68px; margin: 0 auto 22px; position:relative; z-index:2;
  border-radius:50%; background: var(--ink); color: var(--gold-light);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:1.5rem; font-weight:700;
  border: 4px solid var(--cream);
}
.process__step h3{ font-size:1.15rem; margin-bottom:10px; }
.process__step p{ color: var(--muted); font-size:.92rem; line-height:1.6; max-width:280px; margin: 0 auto; }

@media (max-width: 780px){
  .process__row{ grid-template-columns:1fr; gap:36px; }
  .process__row::before{ display:none; }
}

/* AWARDS band styles moved to style.css (shared across index.html + testimonials.html) */

/* ---------- TESTIMONIALS ---------- */
.t-track-wrap{ position:relative; }
.t-track{ display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:12px; scrollbar-width:none; }
.t-track::-webkit-scrollbar{ display:none; }
.t-track .t-card{ min-width: 340px; scroll-snap-align:start; flex-shrink:0; }
@media (max-width:640px){ .t-track .t-card{ min-width: 86%; } }
.t-nav{ display:flex; gap:10px; justify-content:center; margin-top:26px; }
.t-nav button{
  width:44px; height:44px; border-radius:50%; border:1.5px solid var(--line); background: var(--white);
  display:flex; align-items:center; justify-content:center; transition: all .2s;
}
.t-nav button:hover{ background: var(--ink); border-color: var(--ink); color:#fff; }

