/* AR Home — full front-page design (navy/blue palette, Oswald headings, Tuffy body) */
.ar-hm { color:#0f172a; font-family:var(--arf-font-body, 'Tuffy AR', system-ui, sans-serif); }
.ar-hm-wrap { max-width:1200px; margin:0 auto; padding:0 22px; }
.ar-hm-narrow { max-width:820px; }

.ar-hm-hero { background:radial-gradient(1200px 600px at 80% -10%, rgba(59,130,246,.35), transparent 60%), linear-gradient(160deg,#0b1d42 0%,#1e3a6e 100%); color:#fff; padding:clamp(72px,10vw,120px) 0 clamp(64px,8vw,96px); position:relative; overflow:hidden; }
.ar-hm-kicker { display:inline-block; margin:0 0 22px; padding:7px 14px; border-radius:999px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); font-size:13px; letter-spacing:.04em; color:#dbe6ff; }
.ar-hm-h1 { font-family:var(--arf-font-heading,'Oswald',Impact,sans-serif); font-weight:600; text-transform:uppercase; font-size:clamp(2.6rem,6.4vw,5rem); line-height:.98; letter-spacing:.005em; margin:0 0 22px; color:#fff; max-width:14ch; }
.ar-hm-h1 span { color:#A9BDDD; }
.ar-hm-lead { font-size:clamp(1.05rem,1.4vw,1.2rem); line-height:1.75; color:#dbe6ff; max-width:680px; margin:0 0 32px; }
.ar-hm-cta { display:flex; flex-wrap:wrap; gap:12px; }
.ar-hm-btn { display:inline-flex; align-items:center; gap:8px; padding:15px 26px; border-radius:999px; font-weight:700; text-decoration:none; transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s, background .3s; }
.ar-hm-btn:hover { transform:translateY(-2px); }
.ar-hm-btn-primary { background:#3B82F6; color:#fff; box-shadow:0 14px 30px -10px rgba(59,130,246,.7); }
.ar-hm-btn-primary:hover { background:#2563eb; }
.ar-hm-btn-ghost { border:2px solid rgba(255,255,255,.55); color:#fff; }
.ar-hm-btn-ghost:hover { background:rgba(255,255,255,.1); }
.ar-hm-chips { list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin:34px 0 0; padding:0; }
.ar-hm-chips li { padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); font-size:14px; color:#e5edff; }

.ar-hm-section { padding:clamp(64px,8vw,104px) 0; background:#fff; }
.ar-hm-section--soft { background:#f5f8ff; }
.ar-hm-eyebrow { font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#3B82F6; margin:0 0 12px; }
.ar-hm-h2 { font-family:var(--arf-font-heading,'Oswald',Impact,sans-serif); font-weight:600; text-transform:uppercase; font-size:clamp(2rem,4.2vw,3.2rem); line-height:1.02; letter-spacing:.01em; color:#1e3a6e; margin:0 0 14px; max-width:20ch; }
.ar-hm-sub { font-size:1.08rem; line-height:1.7; color:#4b6190; max-width:680px; margin:0 0 40px; }

.ar-hm-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ar-hm-group { background:#fff; border:1px solid #e2e8f0; border-radius:20px; padding:30px 28px; box-shadow:0 14px 34px -22px rgba(30,58,110,.35); transition:transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s, border-color .45s; }
.ar-hm-group:hover { transform:translateY(-6px); border-color:rgba(59,130,246,.45); box-shadow:0 26px 50px -20px rgba(59,130,246,.35); }
.ar-hm-group--primary { border-top:4px solid #3B82F6; }
.ar-hm-tag { display:inline-block; padding:4px 11px; border-radius:999px; background:#eaf2ff; color:#2563eb; font-size:12px; font-weight:700; margin-bottom:14px; }
.ar-hm-tag--soft { background:#f1f5f9; color:#475569; }
.ar-hm-group h3 { font-family:var(--arf-font-heading,'Oswald',Impact,sans-serif); font-weight:600; text-transform:uppercase; font-size:1.5rem; color:#1e3a6e; margin:0 0 14px; letter-spacing:.01em; }
.ar-hm-group ul { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.ar-hm-group a { color:#1e293b; text-decoration:none; font-weight:600; display:block; padding:6px 0; border-bottom:1px dashed #d7e0ef; transition:color .25s, padding-left .3s; }
.ar-hm-group a:hover { color:#3B82F6; padding-left:6px; }

.ar-hm-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; counter-reset:step; }
.ar-hm-steps li { background:#fff; border:1px solid #e2e8f0; border-radius:18px; padding:26px 22px; }
.ar-hm-steps span { display:inline-flex; width:46px; height:46px; align-items:center; justify-content:center; border-radius:14px; background:#1e3a6e; color:#fff; font-family:var(--arf-font-heading,'Oswald',sans-serif); font-size:20px; font-weight:600; margin-bottom:16px; }
.ar-hm-steps h3 { font-family:var(--arf-font-heading,'Oswald',sans-serif); font-weight:600; text-transform:uppercase; font-size:1.25rem; color:#1e3a6e; margin:0 0 8px; letter-spacing:.02em; }
.ar-hm-steps p { margin:0; color:#4b6190; line-height:1.65; }

.ar-hm-split { display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:center; }
.ar-hm-split .ar-hm-sub { margin-bottom:18px; }
.ar-hm-stack { display:grid; gap:16px; }
.ar-hm-stack-item { background:linear-gradient(120deg,#1e3a6e,#16305c); color:#fff; border-radius:18px; padding:24px 26px; display:grid; gap:6px; box-shadow:0 18px 40px -22px rgba(30,58,110,.6); transition:transform .4s cubic-bezier(.2,.7,.2,1); }
.ar-hm-stack-item:hover { transform:translateX(8px); }
.ar-hm-stack-item strong { font-family:var(--arf-font-heading,'Oswald',sans-serif); font-weight:600; text-transform:uppercase; letter-spacing:.02em; font-size:1.2rem; }
.ar-hm-stack-item span { color:#A9BDDD; font-size:14px; }

.ar-hm-head-row { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:34px; }
.ar-hm-link { color:#2563eb; font-weight:700; text-decoration:none; }
.ar-hm-link:hover { color:#1e3a6e; }
.ar-hm-posts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ar-hm-post { background:#fff; border:1px solid #e2e8f0; border-radius:18px; overflow:hidden; transition:transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s; }
.ar-hm-post:hover { transform:translateY(-6px); box-shadow:0 22px 44px -22px rgba(30,58,110,.4); }
.ar-hm-post-media { display:block; aspect-ratio:16/10; background:linear-gradient(135deg,#eaf2ff,#f8fafc); overflow:hidden; }
.ar-hm-post-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.ar-hm-post:hover .ar-hm-post-media img { transform:scale(1.06); }
.ar-hm-post-initial { display:flex; height:100%; align-items:center; justify-content:center; font-family:var(--arf-font-heading,'Oswald',sans-serif); font-size:64px; color:#3B82F6; opacity:.5; }
.ar-hm-post-body { padding:22px; }
.ar-hm-post-body h3 { font-family:var(--arf-font-heading,'Oswald',sans-serif); font-weight:600; text-transform:uppercase; font-size:1.2rem; line-height:1.2; margin:0 0 10px; }
.ar-hm-post-body h3 a { color:#1e3a6e; text-decoration:none; }
.ar-hm-post-body h3 a:hover { color:#3B82F6; }
.ar-hm-post-body p { margin:0; color:#4b6190; line-height:1.6; font-size:15px; }

.ar-hm-faq details { background:#fff; border:1px solid #e2e8f0; border-radius:14px; padding:18px 22px; margin-bottom:12px; }
.ar-hm-faq details[open] { border-color:rgba(59,130,246,.45); box-shadow:0 12px 26px -18px rgba(59,130,246,.5); }
.ar-hm-faq summary { cursor:pointer; font-weight:700; color:#1e3a6e; list-style:none; display:flex; justify-content:space-between; gap:12px; }
.ar-hm-faq summary::-webkit-details-marker { display:none; }
.ar-hm-faq summary::after { content:"+"; color:#3B82F6; font-size:20px; transition:transform .3s; }
.ar-hm-faq details[open] summary::after { transform:rotate(45deg); }
.ar-hm-faq p { margin:12px 0 0; color:#4b6190; line-height:1.7; }

.ar-hm-cta-band { background:linear-gradient(120deg,#0b1d42,#1e3a6e); color:#fff; padding:clamp(56px,7vw,84px) 0; }
.ar-hm-cta-inner { display:flex; justify-content:space-between; align-items:center; gap:28px; flex-wrap:wrap; }
.ar-hm-cta-band h2 { font-family:var(--arf-font-heading,'Oswald',sans-serif); font-weight:600; text-transform:uppercase; font-size:clamp(1.8rem,3.4vw,2.6rem); margin:0 0 8px; letter-spacing:.01em; }
.ar-hm-cta-band p { margin:0; color:#dbe6ff; }
.ar-hm-btn-light { background:#fff; color:#1e3a6e; }
.ar-hm-btn-light:hover { background:#eaf2ff; }

@media (max-width:1024px) { .ar-hm-groups, .ar-hm-posts { grid-template-columns:repeat(2,minmax(0,1fr)); } .ar-hm-steps { grid-template-columns:repeat(2,minmax(0,1fr)); } .ar-hm-split { grid-template-columns:1fr; } }
@media (max-width:640px) { .ar-hm-groups, .ar-hm-posts, .ar-hm-steps { grid-template-columns:1fr; } .ar-hm-btn { width:100%; justify-content:center; } .ar-hm-h1 { max-width:none; } }
@media (prefers-reduced-motion:reduce) { .ar-hm *, .ar-hm *::before, .ar-hm *::after { transition:none !important; animation:none !important; transform:none !important; } }

/* What we do: rows of outcome, services and a next-step card */
.ar-hm-rows { display:grid; gap:18px; margin-top:34px; }
.ar-hm-row { display:grid; grid-template-columns:1.1fr 1fr .9fr; gap:28px; align-items:center; background:#fff; border:1px solid #e2e8f0; border-radius:20px; padding:28px; box-shadow:0 14px 34px -24px rgba(30,58,110,.35); transition:transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s, border-color .45s; }
.ar-hm-row:hover { transform:translateY(-4px); border-color:rgba(59,130,246,.45); box-shadow:0 24px 48px -22px rgba(59,130,246,.3); }
.ar-hm-row-title h3 { font-family:var(--arf-font-heading,'Oswald',Impact,sans-serif); font-weight:600; text-transform:uppercase; font-size:1.7rem; line-height:1.05; color:#1e3a6e; margin:0 0 10px; letter-spacing:.01em; }
.ar-hm-row-title p { margin:0; color:#4b6190; line-height:1.65; }
.ar-hm-row-links { list-style:none; margin:0; padding:0; display:grid; gap:0; }
.ar-hm-row-links li { border-bottom:1px solid #e2e8f0; }
.ar-hm-row-links li:last-child { border-bottom:0; }
.ar-hm-row-links a { display:flex; justify-content:space-between; align-items:center; padding:13px 2px; color:#1e293b; font-weight:600; text-decoration:none; transition:color .25s, padding-left .3s; }
.ar-hm-row-links a span { color:#3B82F6; transition:transform .3s; }
.ar-hm-row-links a:hover { color:#3B82F6; padding-left:6px; }
.ar-hm-row-links a:hover span { transform:translateX(4px); }
.ar-hm-row-card { display:grid; gap:8px; padding:20px; border-radius:16px; background:linear-gradient(160deg,#0b1d42,#1e3a6e); color:#fff; text-decoration:none; transition:transform .35s cubic-bezier(.2,.7,.2,1); }
.ar-hm-row-card:hover { transform:translateY(-3px); }
.ar-hm-row-card strong { font-family:var(--arf-font-heading,'Oswald',sans-serif); font-weight:600; text-transform:uppercase; font-size:1.2rem; letter-spacing:.02em; }
.ar-hm-row-card span { color:#dbe6ff; font-size:14px; line-height:1.55; }

/* About facts */
.ar-hm-facts { display:grid; gap:14px; margin:0; }
.ar-hm-facts > div { background:#fff; border:1px solid #e2e8f0; border-left:4px solid #3B82F6; border-radius:16px; padding:20px 22px; }
.ar-hm-facts dt { font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#3B82F6; margin:0 0 6px; }
.ar-hm-facts dd { margin:0; font-size:1.05rem; font-weight:600; color:#1e3a6e; }

@media (max-width:900px) { .ar-hm-row { grid-template-columns:1fr; gap:18px; padding:22px; } }

/* Hero: copy left, photo right (stacks on phones) */
.ar-hm-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:center; }
.ar-hm-hero-media { position:relative; display:flex; justify-content:center; }
.ar-hm-hero-media::before { content:""; position:absolute; width:78%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle, rgba(59,130,246,.45), rgba(59,130,246,0) 70%); top:12%; }
.ar-hm-photo { position:relative; width:100%; max-width:520px; height:auto; display:block; filter:drop-shadow(0 30px 40px rgba(0,0,0,.35)); animation:ar-hm-float 6s ease-in-out infinite; }
@keyframes ar-hm-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }
@media (max-width:900px) { .ar-hm-hero-grid { grid-template-columns:1fr; gap:24px; } .ar-hm-hero-media { order:2; } .ar-hm-photo { max-width:340px; } }
@media (prefers-reduced-motion:reduce) { .ar-hm-photo { animation:none; } }

/* Hero photo: always rendered; first on phones, right side on desktop */
.ar-hm-photo { opacity:1 !important; visibility:visible !important; }
@media (max-width:900px) {
  .ar-hm-hero-grid { display:flex; flex-direction:column; }
  .ar-hm-hero-media { order:-1; width:100%; margin-bottom:8px; }
  .ar-hm-photo { width:min(78vw, 320px); max-width:320px; animation:none; }
  .ar-hm-hero-media::before { display:none; }
}
@media (max-width:600px) { .ar-hm-hero-copy .ar-hm-h1 { font-size:clamp(2.2rem, 11vw, 3rem); } }

/* Verified profiles (above the footer) */
.ar-vp { background:radial-gradient(900px 420px at 10% 0%, rgba(59,130,246,.22), transparent 60%), linear-gradient(160deg,#0b1d42 0%,#1e3a6e 100%); color:#fff; padding:clamp(64px,8vw,104px) 0; }
.ar-vp-kicker { margin:0 0 14px; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#A9BDDD; display:flex; align-items:center; gap:10px; }
.ar-vp-kicker::before { content:""; width:28px; height:2px; background:#3B82F6; border-radius:2px; }
.ar-vp-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:16px 40px; margin-bottom:34px; }
.ar-vp-title { margin:0; font-family:var(--arf-font-heading,'Oswald',Impact,sans-serif); font-weight:600; text-transform:uppercase; font-size:clamp(2rem,4vw,3rem); line-height:1.02; color:#fff; max-width:18ch; }
.ar-vp-title span { color:#A9BDDD; }
.ar-vp-sub { margin:0; max-width:380px; color:#dbe6ff; line-height:1.65; font-size:16px; }
.ar-vp-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ar-vp-card { display:flex; flex-direction:column; gap:10px; padding:28px; border-radius:20px; text-decoration:none; color:#fff; background:rgba(255,255,255,.06); border:1px solid rgba(169,189,221,.25); backdrop-filter:blur(6px); transition:transform .45s cubic-bezier(.2,.7,.2,1), border-color .45s, background .45s; animation:ar-vp-rise linear both; animation-timeline:view(); animation-range:entry 0% cover 30%; }
.ar-vp-card:hover, .ar-vp-card:focus-visible { transform:translateY(-6px); border-color:rgba(59,130,246,.7); background:rgba(59,130,246,.12); }
.ar-vp-card:focus-visible { outline:2px solid #A9BDDD; outline-offset:3px; }
.ar-vp-ico { width:52px; height:52px; border-radius:14px; display:inline-flex; align-items:center; justify-content:center; margin-bottom:8px; color:#fff; font-family:var(--arf-font-heading,'Oswald',sans-serif); font-size:26px; }
.ar-vp-ico svg { width:26px; height:26px; padding:0; background:none; border-radius:0; }
.ar-vp-ico--up { background:#14a800; }
.ar-vp-ico--fb { background:#1877f2; }
.ar-vp-ico--g { background:#4285f4; }
.ar-vp-card strong { font-family:var(--arf-font-heading,'Oswald',sans-serif); font-weight:600; text-transform:uppercase; font-size:1.5rem; letter-spacing:.02em; }
.ar-vp-text { color:#dbe6ff; line-height:1.6; font-size:15px; flex:1; }
.ar-vp-link { font-weight:700; color:#A9BDDD; margin-top:6px; }
.ar-vp-card:hover .ar-vp-link { color:#fff; }
@keyframes ar-vp-rise { from { opacity:0; translate:0 36px; } to { opacity:1; translate:0 0; } }
@supports not (animation-timeline: view()) { .ar-vp-card { animation:none; } }
@media (max-width:900px) { .ar-vp-cards { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .ar-vp-card { animation:none !important; transition:none !important; } .ar-vp-card:hover { transform:none; } }
