/* ==========================================================================
   HOMEPAGE: "Engineered Growth" (loaded only on the front page)
   Tokens come from style.css (:root). Bi-tonal rhythm: obsidian dark chambers
   (.h3-dark/.h3-mid) alternate with paper-light sections (.h3-light).
   Square corners, hairline borders, lime used for fills/highlights only.
   Prefix: .h3-
   ========================================================================== */

.h3-lime{ color:var(--accent); }
.h3-light .h3-lime{ color:var(--accent-ink); }
.h3-slate{ color:var(--slate); }
.h3-mono{ font-family:var(--font-display); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--slate); }
.h3-dot{ display:inline-block; width:8px; height:8px; border-radius:50%; background:#22c55e; margin-right:8px; flex:none; }
.h3-arr{ display:inline-block; transition:transform var(--dur-fast) var(--ease); }
a:hover > .h3-arr, .btn:hover .h3-arr, .h3-link:hover .h3-arr{ transform:translateX(4px); }

/* ---------- Section frame ---------- */
.h3-section{ padding:clamp(56px, 7vw, 92px) 0; position:relative; }
.h3-dark{ background:var(--navy); color:var(--bg); }
.h3-mid{ background:#0e1730; color:var(--bg); }
.h3-deep{ border-top:1px solid var(--hairline-dark); }
.h3-light{ background:var(--bg); color:var(--text); }
.h3-dark p, .h3-mid p{ color:#b6c0da; }
.h3-dark h2, .h3-dark h3, .h3-mid h2, .h3-mid h3{ color:#e6eaf5; }
.h3-head{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:20px 64px; align-items:end; margin-bottom:clamp(28px, 4vw, 48px); }
.h3-head-center{ grid-template-columns:1fr; text-align:center; max-width:820px; margin-left:auto; margin-right:auto; }
.h3-eyebrow{ font-family:var(--font-display); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); margin:0 0 14px; }
.h3-light .h3-eyebrow{ color:var(--accent-ink); }
.h3-title{ font-size:clamp(34px, 4.6vw, 56px); line-height:1.05; letter-spacing:-.03em; font-weight:500; margin:0; }
.h3-sub{ font-size:17px; line-height:1.65; margin:0; max-width:52ch; }
.h3-head-center .h3-sub{ margin:0 auto; }
.h3-link{ font-family:var(--font-display); font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); display:inline-flex; gap:8px; align-items:center; justify-self:end; }
.h3-link:hover{ color:#fff; }
.h3-rating{ font-family:var(--font-display); font-weight:600; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); justify-self:end; margin:0; }
.h3-center{ text-align:center; margin:clamp(28px, 4vw, 40px) 0 0; }

/* ---------- Hero ---------- */
.h3-hero{ position:relative; background:var(--navy); color:var(--bg); overflow:hidden; padding:clamp(48px, 6vw, 80px) 0 clamp(56px, 7vw, 88px); border-bottom:1px solid var(--hairline-dark); }
.h3-bloom{ position:absolute; width:560px; height:560px; right:-120px; top:-140px; background:var(--accent); opacity:.12; filter:blur(120px); pointer-events:none; }
.h3-bloom-c{ left:50%; right:auto; top:auto; bottom:-260px; transform:translateX(-50%); width:760px; opacity:.1; }
.h3-hero-grid{ position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:64px; align-items:center; }
.h3-badge{ display:inline-flex; align-items:center; padding:7px 14px; margin:0 0 28px; border:1px solid var(--hairline-dark); background:rgba(255,255,255,.04); font-family:var(--font-display); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#b6c0da; border-radius:999px; }
.h3-badge-center{ margin-left:auto; margin-right:auto; }
.h3-badge .h3-dot{ background:var(--accent); }
.h3-hero h1{ font-size:clamp(42px, 6.4vw, 80px); line-height:1.04; letter-spacing:-.04em; font-weight:600; color:#fff; margin:0 0 28px; }
.h3-lead{ font-size:18px; line-height:1.65; color:#b6c0da; max-width:56ch; margin:0 0 36px; }
.h3-cta{ display:flex; flex-wrap:wrap; gap:14px; }
.h3-cta-center{ justify-content:center; }
.h3-note{ display:flex; gap:10px; align-items:center; margin:26px 0 0; font-family:var(--font-display); font-size:12px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:var(--slate); }
.h3-note .az-icon svg{ width:16px; height:16px; color:#22c55e; }

.h3-panel{ background:var(--navy-2); border:1px solid var(--hairline-dark); position:relative; }
.h3-panel-bar{ display:flex; justify-content:space-between; gap:12px; padding:14px 18px; border-bottom:1px solid var(--hairline-dark); font-family:var(--font-display); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#b6c0da; }
.h3-status{ display:inline-flex; align-items:center; color:var(--accent); }
.h3-status .h3-dot{ background:var(--accent); }
.h3-panel-chart{ padding:18px; }
.h3-panel-chart svg{ width:100%; height:auto; display:block; }
.h3-svg-label text{ fill:#b6c0da; font-family:var(--font-display); font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.h3-panel-stats{ display:grid; grid-template-columns:repeat(3, 1fr); margin:0; border-top:1px solid var(--hairline-dark); }
.h3-panel-stats > div{ padding:18px; border-right:1px solid var(--hairline-dark); }
.h3-panel-stats > div:last-child{ border-right:0; }
.h3-panel-stats dt{ font-family:var(--font-display); font-size:10.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--slate); margin:0 0 6px; }
.h3-panel-stats dd{ margin:0; font-family:var(--font-display); font-size:26px; font-weight:700; letter-spacing:-.02em; color:#fff; font-variant-numeric:tabular-nums; }
.h3-panel-foot{ display:flex; justify-content:space-between; gap:12px; padding:12px 18px; border-top:1px solid var(--hairline-dark); background:rgba(255,255,255,.03); font-family:var(--font-display); font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#b6c0da; }
.h3-js .h3-curve{ stroke-dasharray:1; stroke-dashoffset:1; }
.h3-js .h3-area{ opacity:0; }
.h3-js .h3-panel.is-in .h3-curve{ stroke-dashoffset:0; transition:stroke-dashoffset 1.6s var(--ease); }
.h3-js .h3-panel.is-in .h3-area{ opacity:1; transition:opacity 1s ease .8s; }

/* ---------- Stats bar + ticker ---------- */
.h3-stats{ background:var(--navy-2); color:#fff; border-bottom:1px solid var(--hairline-dark); }
.h3-stats-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:24px; padding-top:34px; padding-bottom:34px; }
.h3-stat-num{ display:block; font-family:var(--font-display); font-size:clamp(40px, 5vw, 64px); font-weight:700; letter-spacing:-.03em; line-height:1; font-variant-numeric:tabular-nums; color:#fff; }
.h3-stat:nth-child(3) .h3-stat-num{ color:var(--accent); }
.h3-stat-label{ display:block; margin-top:10px; font-family:var(--font-display); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--slate); }
.h3-ticker{ overflow:hidden; border-top:1px solid var(--hairline-dark); background:var(--navy); white-space:nowrap; }
.h3-ticker-track{ display:inline-flex; align-items:center; gap:28px; padding:14px 0; animation:h3-marquee 42s linear infinite; }
.h3-ticker span{ font-family:var(--font-display); font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#b6c0da; }
.h3-ticker i{ width:4px; height:4px; background:var(--accent); border-radius:50%; }
@keyframes h3-marquee{ to{ transform:translateX(-50%); } }
.h3-ticker:hover .h3-ticker-track{ animation-play-state:paused; }

/* ---------- 01 Philosophy ---------- */
.h3-split{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:72px; align-items:start; }
.h3-split-copy .h3-title{ color:var(--navy); margin-bottom:28px; }
.h3-rule{ display:block; width:64px; height:3px; background:var(--navy); margin:0 0 28px; }
.h3-body{ font-size:18px; line-height:1.7; color:var(--text); }
.h3-body-dim{ font-size:16px; color:var(--text-muted); }
.h3-triad{ background:var(--navy); border:1px solid var(--navy); color:#e6eaf5; box-shadow:var(--shadow-lg); }
.h3-triad-bar{ display:flex; justify-content:space-between; gap:12px; padding:16px 22px; font-family:var(--font-display); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); }
.h3-tablist{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--hairline-dark); padding:0 22px; background:none; gap:10px; }
.h3-tab{ text-align:left; background:var(--royal); border:0; color:#b6c0da; padding:16px 18px; cursor:pointer; font-family:var(--font); display:flex; flex-direction:column; gap:4px; transition:background var(--dur-fast) var(--ease); }
.h3-tab strong{ font-family:var(--font-display); font-size:19px; letter-spacing:-.01em; color:#fff; font-weight:600; }
.h3-tab small{ font-size:12.5px; color:var(--slate); }
.h3-tab[aria-selected="true"]{ background:#1d2a57; box-shadow:inset 0 3px 0 var(--accent); }
.h3-tab[aria-selected="true"] .h3-mono{ color:var(--accent); }
.h3-tab:hover{ background:#1a2650; }
.h3-tabpanel{ padding:26px 22px 8px; }
.h3-tabpanel-top{ display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.h3-tabpanel h3{ font-size:28px; letter-spacing:-.02em; font-weight:500; color:#fff; margin:0 0 14px; }
.h3-badge-num{ font-family:var(--font-display); font-weight:700; font-size:20px; }
.h3-tabpanel p{ color:#b6c0da; font-size:16px; line-height:1.65; }
.h3-levers{ display:grid; grid-template-columns:repeat(4, 1fr); gap:8px; margin:22px 0 22px; padding:0; list-style:none; }
.h3-levers li{ background:rgba(255,255,255,.04); padding:12px; font-family:var(--font-display); font-weight:600; font-size:13px; color:#e6eaf5; line-height:1.3; }
.h3-levers .h3-mono{ display:block; font-size:9.5px; margin-bottom:6px; }

/* ---------- 02 Services ---------- */
.h3-svc-grid{ display:grid; grid-template-columns:repeat(12, 1fr); gap:20px; }
.h3-svc{ grid-column:span 6; background:var(--navy-2); border:1px solid var(--hairline-dark); padding:36px; display:flex; flex-direction:column; gap:16px; min-height:340px; position:relative; overflow:hidden; transition:border-color var(--dur) var(--ease); }
.h3-svc:nth-child(1){ grid-column:span 5; } .h3-svc:nth-child(2){ grid-column:span 7; } .h3-svc:nth-child(3){ grid-column:span 7; } .h3-svc:nth-child(4){ grid-column:span 5; }
.h3-svc:hover{ border-color:rgba(245,181,68,.5); }
.h3-svc-top{ display:flex; justify-content:space-between; align-items:center; }
.h3-svc.is-feature .h3-mono{ color:var(--accent); }
.h3-svc-ico{ color:var(--slate); } .h3-svc.is-feature .h3-svc-ico{ color:var(--accent); }
.h3-svc h3{ font-size:clamp(26px, 2.6vw, 36px); line-height:1.1; letter-spacing:-.02em; font-weight:500; margin:6px 0 0; }
.h3-svc p{ font-size:16px; line-height:1.65; margin:0; }
.h3-chips, .h3-svc-feat{ display:flex; flex-wrap:wrap; gap:8px; margin:auto 0 0; padding:0; list-style:none; }
.h3-chips li{ background:rgba(255,255,255,.07); padding:7px 12px; font-size:13px; color:#e6eaf5; }
.h3-svc-feat li{ background:rgba(255,255,255,.05); padding:14px 16px; font-family:var(--font-display); font-weight:600; font-size:14.5px; color:#fff; flex:1 1 150px; }
.h3-svc-cta{ margin-top:auto; font-family:var(--font-display); font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#fff; display:inline-flex; gap:8px; align-items:center; }
.h3-svc.is-feature .h3-svc-cta{ align-self:flex-start; background:var(--accent); color:var(--on-accent); padding:13px 22px; }
.h3-svc.is-feature::after{ content:''; position:absolute; right:-80px; top:-80px; width:300px; height:300px; background:var(--accent); opacity:.08; filter:blur(70px); pointer-events:none; }

/* ---------- 03 Synchrony ---------- */
.h3-stages{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; max-width:980px; margin:0 auto; }
.h3-stage:last-child:nth-child(odd){ grid-column:1 / -1; justify-self:center; width:calc(50% - 6px); }
.h3-stage{ text-align:left; background:var(--navy-2); border:0; padding:22px 20px; color:#b6c0da; cursor:pointer; font-family:var(--font); display:flex; flex-direction:column; gap:8px; transition:background var(--dur-fast) var(--ease); }
.h3-stage strong{ font-family:var(--font-display); font-size:18px; color:#fff; font-weight:600; letter-spacing:-.01em; }
.h3-stage small{ font-size:13.5px; line-height:1.5; }
.h3-inspect{ margin-top:auto; font-family:var(--font-display); font-size:10.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--slate); }
.h3-stage[aria-selected="true"]{ background:#1d2a57; box-shadow:inset 0 3px 0 var(--accent); }
.h3-stage[aria-selected="true"] .h3-mono, .h3-stage[aria-selected="true"] .h3-inspect{ color:var(--accent); }
.h3-stage:hover{ background:#1a2650; }
.h3-inspector{ max-width:980px; margin:12px auto 0; background:#1b2750; padding:36px 40px; display:flex; justify-content:space-between; align-items:center; gap:40px; }
.h3-inspector h3{ font-size:28px; letter-spacing:-.02em; font-weight:500; margin:0 0 12px; color:#fff; }
.h3-inspector p{ margin:0; max-width:62ch; color:#e6eaf5; }
.h3-inspector .h3-eyebrow{ margin-bottom:10px; }
.h3-inspect-stat{ background:var(--navy); padding:16px 22px; text-align:center; flex:none; }
.h3-inspect-stat b{ display:block; font-family:var(--font-display); font-size:30px; margin-top:6px; }

/* ---------- 04 Why ---------- */
.h3-why-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.h3-why{ background:var(--navy-2); border:1px solid var(--hairline-dark); padding:34px; display:flex; flex-direction:column; gap:14px; }
.h3-why h3{ font-size:22px; letter-spacing:-.01em; font-weight:600; margin:0; }
.h3-why p{ font-size:15.5px; line-height:1.65; margin:0; }
.h3-why .h3-mono.h3-lime{ color:var(--accent); }
.h3-why-tag{ margin-top:auto; padding-top:10px; display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--slate); }
.h3-why-tag .az-icon svg{ width:16px; height:16px; }

/* ---------- 05 Process ---------- */
.h3-steps{ display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; margin:0; padding:0; list-style:none; }
.h3-step{ background:var(--navy-2); border:1px solid var(--hairline-dark); padding:30px; display:flex; flex-direction:column; gap:12px; }
.h3-step-n{ font-family:var(--font-display); font-size:56px; font-weight:700; letter-spacing:-.04em; line-height:1; color:var(--accent); }
.h3-step h3{ font-size:22px; font-weight:600; margin:0; }
.h3-step p{ font-size:15px; line-height:1.65; margin:0; }
.h3-deliv{ margin-top:auto; padding:12px 14px; background:rgba(255,255,255,.05); font-family:var(--font-display); font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#b6c0da; }

/* ---------- 06 Work ---------- */
.h3-feature{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); background:var(--navy-2); border:1px solid var(--hairline-dark); }
.h3-feature-media{ position:relative; min-height:420px; background:#0f1830; overflow:hidden; }
.h3-feature-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top; filter:grayscale(1) brightness(.55); transition:filter var(--dur-slow) var(--ease); }
.h3-feature:hover .h3-feature-media img{ filter:grayscale(.2) brightness(.8); }
.h3-media-empty{ position:absolute; inset:0; background:repeating-linear-gradient(135deg, rgba(255,255,255,.03) 0 12px, transparent 12px 24px); }
.h3-flag{ position:absolute; left:24px; top:24px; background:var(--accent); color:var(--on-accent); padding:6px 10px; font-family:var(--font-display); font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.h3-feature-metrics{ position:absolute; left:24px; right:24px; bottom:24px; display:flex; gap:36px; background:rgba(10,16,34,.92); padding:18px 22px; margin:0; }
.h3-feature-metrics dt{ font-family:var(--font-display); font-size:10.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--slate); margin:0 0 4px; }
.h3-feature-metrics dd{ margin:0; font-family:var(--font-display); font-size:22px; font-weight:700; color:var(--accent); font-variant-numeric:tabular-nums; }
.h3-feature-body{ padding:48px 44px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:16px; }
.h3-feature-body h3{ font-size:36px; letter-spacing:-.02em; margin:0; font-weight:600; }
.h3-feature-body p{ margin:0; font-size:17px; line-height:1.65; }
.h3-feature-body .h3-mono{ color:var(--slate); }
.h3-points{ margin:6px 0 10px; padding:0; list-style:none; display:grid; gap:10px; }
.h3-points li{ display:flex; gap:10px; align-items:flex-start; color:#e6eaf5; font-size:15.5px; }
.h3-points .az-icon svg{ width:18px; height:18px; color:var(--accent); margin-top:3px; }
.h3-secondary{ display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; margin-top:20px; }
.h3-proj{ background:var(--navy-2); border:1px solid var(--hairline-dark); padding:34px; display:flex; flex-direction:column; gap:14px; align-items:flex-start; }
.h3-proj-top{ display:flex; justify-content:space-between; gap:16px; width:100%; }
.h3-proj h3{ font-size:26px; margin:0; font-weight:600; }
.h3-proj p{ margin:0; font-size:15.5px; line-height:1.65; }
.h3-proj blockquote{ margin:6px 0 4px; padding:16px 18px; background:rgba(255,255,255,.04); width:100%; }
.h3-proj blockquote p{ font-style:italic; color:#e6eaf5; font-size:15px; }
.h3-proj cite{ display:block; margin-top:8px; font-family:var(--font-display); font-style:normal; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--slate); }
.h3-proj .h3-link{ margin-top:auto; justify-self:auto; }
.az-pf-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:24px; }
#portfolio .portfolio-card{ background:#fff; }
#portfolio .filter-bar{ justify-content:flex-start; }

/* ---------- 07 Industries ---------- */
.h3-ind-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; }
.h3-ind{ background:var(--navy-2); border:1px solid var(--hairline-dark); padding:28px 26px; display:flex; flex-direction:column; gap:10px; transition:border-color var(--dur) var(--ease); }
.h3-ind:hover{ border-color:rgba(245,181,68,.5); }
.h3-ind-ico{ color:var(--accent); margin-bottom:10px; }
.h3-ind-ico .az-icon svg{ width:28px; height:28px; }
.h3-ind h3{ font-size:19px; font-weight:600; letter-spacing:-.01em; margin:0; }
.h3-ind p{ font-size:14px; line-height:1.55; margin:0; }
.h3-ind .h3-mono{ margin-top:auto; padding-top:10px; }

/* ---------- 08 Testimonials + tools ---------- */
.h3-testi-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.h3-testi-grid .testimonial-card{ background:var(--navy-2); border:1px solid var(--hairline-dark); padding:30px; display:flex; flex-direction:column; }
.h3-testi-grid .testimonial-card p{ font-style:normal; color:#e6eaf5; font-size:16px; line-height:1.7; flex:1; }
.h3-testi-grid .testimonial-card .star-filled{ color:var(--accent); }
.h3-testi-grid .testimonial-card .star-empty{ color:#3a4468; }
.h3-testi-grid .testimonial-user b{ color:#fff; font-family:var(--font-display); }
.h3-testi-grid .testimonial-user span{ color:var(--slate); font-family:var(--font-display); font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.h3-tools{ background:var(--navy-2); border-top:1px solid var(--hairline-dark); padding:clamp(28px, 4vw, 40px) 0; }
.h3-tools-row{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2.2fr); gap:32px; align-items:center; }
.h3-tools h2{ font-size:22px; font-weight:600; margin:6px 0 0; color:#fff; letter-spacing:-.01em; }
.h3-tools ul{ display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }
.h3-tools li{ background:rgba(255,255,255,.06); padding:10px 16px; font-family:var(--font-display); font-weight:600; font-size:13.5px; color:#e6eaf5; }

/* ---------- 09 FAQ ---------- */
.h3-faq-wrap .h3-head{ grid-template-columns:1fr; max-width:760px; }
.h3-faq{ max-width:860px; display:grid; gap:8px; }
.h3-faq .faq-item{ background:var(--navy-2); border:0; padding:0; }
.h3-faq .faq-q{ width:100%; padding:22px 24px; background:none; border:0; color:#fff; font-family:var(--font-display); font-size:18px; font-weight:600; letter-spacing:-.01em; text-align:left; display:flex; justify-content:space-between; align-items:center; gap:20px; cursor:pointer; }
.h3-faq .faq-q .plus{ color:var(--accent); font-size:24px; }
.h3-faq .faq-item.open .faq-a{ max-height:900px; }
.h3-faq .faq-a p{ padding:0 24px 24px; color:#b6c0da; line-height:1.7; }
.h3-faq .faq-item.open .faq-q{ box-shadow:inset 3px 0 0 var(--accent); }

/* ---------- Final CTA ---------- */
.h3-cta-final{ position:relative; background:#0e1730; color:#fff; text-align:center; padding:clamp(64px, 8vw, 104px) 0; overflow:hidden; border-top:1px solid var(--hairline-dark); }
.h3-cta-final .container{ position:relative; }
.h3-cta-final h2{ font-size:clamp(40px, 6vw, 76px); line-height:1.04; letter-spacing:-.04em; font-weight:600; color:#fff; margin:0 auto 24px; max-width:16ch; }
.h3-cta-final p{ color:#b6c0da; font-size:18px; line-height:1.7; max-width:58ch; margin:0 auto 38px; }
.h3-assure{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px 32px; margin:34px 0 0; padding:0; list-style:none; font-family:var(--font-display); font-size:11.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--slate); }
.h3-assure li{ display:flex; gap:8px; align-items:center; }
.h3-assure .az-icon svg{ width:15px; height:15px; color:#22c55e; }

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .h3-hero-grid{ grid-template-columns:1fr; gap:48px; }
  .h3-split{ grid-template-columns:1fr; gap:48px; }
  .h3-ind-grid{ grid-template-columns:repeat(2, 1fr); }
  .h3-steps{ grid-template-columns:repeat(2, 1fr); }
  .h3-feature{ grid-template-columns:1fr; }
  .h3-feature-media{ min-height:300px; }
}
@media (max-width:860px){
  .h3-head{ grid-template-columns:1fr; margin-bottom:36px; }
  .h3-link, .h3-rating{ justify-self:start; }
  .h3-svc, .h3-svc:nth-child(n){ grid-column:span 12; min-height:0; padding:28px; }
  .h3-why-grid, .h3-testi-grid, .h3-secondary{ grid-template-columns:1fr; }
  .h3-stats-grid{ grid-template-columns:repeat(2, 1fr); padding-top:32px; padding-bottom:32px; }
  .h3-tools-row{ grid-template-columns:1fr; }
  .h3-inspector{ flex-direction:column; align-items:flex-start; padding:28px 24px; }
}
@media (max-width:640px){
  .h3-hero{ padding:56px 0 64px; }
  .h3-lead{ font-size:16.5px; }
  .h3-cta .btn{ width:100%; justify-content:center; }
  .h3-tablist{ grid-template-columns:1fr; padding:0 14px; }
  .h3-tabpanel{ padding:22px 14px 4px; }
  .h3-levers{ grid-template-columns:1fr 1fr; }
  .h3-steps, .h3-ind-grid{ grid-template-columns:1fr; }
  .h3-feature-body{ padding:30px 22px; }
  .h3-feature-metrics{ gap:18px; left:12px; right:12px; bottom:12px; flex-wrap:wrap; }
  .h3-panel-stats dd{ font-size:20px; }
  .h3-panel-stats > div{ padding:12px; }
  .az-pf-grid{ grid-template-columns:1fr; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .h3-ticker-track{ animation:none; }
  .h3-js .h3-curve{ stroke-dashoffset:0 !important; transition:none !important; }
  .h3-js .h3-area{ opacity:1 !important; transition:none !important; }
  .h3-feature-media img{ transition:none; }
}

/* ---------- Additions: elements kept from the original homepage content ---------- */
.h3-sub-line{ font-family:var(--font-display); font-size:clamp(17px, 2vw, 21px); font-weight:600; letter-spacing:-.01em; color:var(--accent); margin:0 0 16px; }
.h3-note a{ color:#25d366; text-decoration:underline; text-underline-offset:3px; }
.h3-note .az-icon svg{ color:#25d366; }
.h3-note{ text-transform:none; letter-spacing:0; font-size:14px; font-weight:600; }
.h3-panel-chart{ position:relative; }
.h3-chip{ position:absolute; display:inline-flex; align-items:center; gap:8px; padding:8px 14px; background:#16224a; border:1px solid var(--hairline-dark); font-family:var(--font-display); font-size:12px; font-weight:600; letter-spacing:.04em; color:#fff; }
.h3-chip .az-icon svg{ width:15px; height:15px; color:var(--accent); }
.h3-chip-top{ right:18px; top:22px; }
.h3-chip-bot{ left:18px; bottom:28px; }
.h3-badges{ display:flex; flex-wrap:wrap; gap:8px; margin:26px 0 24px; padding:0; list-style:none; }
.h3-badges li{ border:1px solid var(--navy); padding:7px 14px; font-family:var(--font-display); font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--navy); }
.h3-link-ink{ color:var(--navy); justify-self:auto; border-bottom:2px solid var(--accent); padding-bottom:3px; }
.h3-link-ink:hover{ color:var(--navy); border-bottom-color:var(--navy); }
.h3-triad-foot{ display:flex; align-items:center; gap:12px; margin:8px 22px 22px; padding:14px 16px; background:rgba(255,255,255,.04); font-family:var(--font-display); font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#b6c0da; }
.h3-triad-foot .az-icon svg{ width:18px; height:18px; color:var(--accent); }
.h3-why-top{ display:flex; justify-content:space-between; align-items:center; gap:12px; }
.h3-why-ico{ color:var(--slate); }
.h3-why-ico .az-icon svg{ width:22px; height:22px; }
.h3-why:hover .h3-why-ico{ color:var(--accent); }
.h3-why{ transition:border-color var(--dur) var(--ease); }
.h3-why:hover{ border-color:rgba(245,181,68,.5); }
@media (max-width:640px){ .h3-chip-top{ top:10px; right:10px; } .h3-chip-bot{ left:10px; bottom:14px; } .h3-chip{ font-size:11px; padding:6px 10px; } }

/* ---------- Fixes: hidden panels must stay hidden; stage grid is single-column on phones ---------- */
.h3-inspector[hidden], .h3-tabpanel[hidden]{ display:none !important; }
@media (max-width:640px){
  .h3-stages{ grid-template-columns:1fr; }
  .h3-stage:last-child:nth-child(odd){ grid-column:auto; width:auto; }
  .h3-stage small{ font-size:13px; }
}
