/* Shared styles for the content pages (service + comparison pages).
   Same tokens, type scale and buttons as the homepage so the site reads as
   one product. The homepage keeps its own inline styles. */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
  --bg:#FBFBFD; --panel:#FFFFFF; --panel2:#F5F5F7;
  --line:rgba(0,0,0,.08); --line2:rgba(0,0,0,.13);
  --ink:#1D1D1F; --dim:#5E5E63; --faint:#86868B;
  --accent:#9A6A2C; --accent-soft:rgba(154,106,44,.10);
  --btn-bg:#1D1D1F; --btn-ink:#FFFFFF;
  --card-shadow:0 1px 2px rgba(0,0,0,.04), 0 12px 32px -20px rgba(0,0,0,.16);
  --r:18px; --r-lg:22px;
  --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:26px; --s7:30px; --s8:48px; --s9:62px;
}
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { background:var(--bg); color:var(--ink); font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  line-height:1.65; -webkit-font-smoothing:antialiased; }
.wrap { max-width:1080px; margin:0 auto; padding:0 28px; }
.narrow { max-width:760px; }
a { color:inherit; }

.btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; background:var(--btn-bg);
  color:var(--btn-ink); text-decoration:none; font-weight:600; font-size:15.5px; letter-spacing:-.01em;
  padding:15px 26px; border-radius:999px; text-align:center; border:none; cursor:pointer; font-family:inherit;
  transition:opacity .2s ease, transform .2s ease; }
.btn::after { content:"→"; font-weight:500; opacity:.65; }
.btn:hover { opacity:.88; transform:translateY(-1px); }
.btn.small { padding:9px 18px; font-size:14px; }
.btn.plain::after { content:none; }
.btn.ghost { background:transparent; color:var(--ink); border:1px solid var(--line2); }

nav.top { position:sticky; top:0; z-index:50; background:color-mix(in srgb, var(--bg) 82%, transparent);
  backdrop-filter:saturate(180%) blur(20px); border-bottom:1px solid var(--line); }
.nav-in { display:flex; align-items:center; justify-content:space-between; height:62px; gap:16px; }
.logo { font-size:19px; font-weight:700; letter-spacing:-.02em; text-decoration:none; }
.logo span { color:var(--accent); }
.nav-links { display:flex; gap:22px; align-items:center; font-size:14.5px; }
.nav-links a { text-decoration:none; color:var(--dim); }
.nav-links a:hover { color:var(--ink); }

.crumbs { font-size:13px; color:var(--faint); padding-top:var(--s6); }
.crumbs a { text-decoration:none; color:var(--faint); }
.crumbs a:hover { color:var(--ink); }

.eyebrow { font-size:11.5px; font-weight:600; letter-spacing:.14em; color:var(--accent); text-transform:uppercase; }
header.page { position:relative; overflow:hidden; padding:var(--s5) 0 var(--s8); }
header.page::before { content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(52% 60% at 85% 0%, var(--accent-soft), transparent 70%); }
header.page .wrap { position:relative; }
h1 { font-size:clamp(34px,4.4vw,54px); font-weight:700; letter-spacing:-.035em; line-height:1.08;
  margin:var(--s4) 0 var(--s4); max-width:20ch; }
h1 em { font-style:normal; color:var(--accent); }
.lede { font-size:18.5px; line-height:1.6; color:var(--dim); max-width:60ch; }
.lede strong { color:var(--ink); font-weight:600; }
.hero-cta { margin-top:var(--s6); display:flex; gap:var(--s3); flex-wrap:wrap; align-items:center; }
.micro { font-size:13.5px; color:var(--faint); margin-top:var(--s3); }
.updated { font-size:12.5px; color:var(--faint); margin-top:var(--s5); }

section { padding:var(--s8) 0; border-top:1px solid var(--line); }
h2 { font-size:clamp(26px,3vw,36px); font-weight:700; letter-spacing:-.03em; line-height:1.15; margin-bottom:var(--s4); }
h3 { font-size:18px; font-weight:650; letter-spacing:-.015em; margin-bottom:6px; }
.prose p { font-size:17px; color:var(--dim); margin-bottom:var(--s4); max-width:66ch; }
.prose p strong { color:var(--ink); font-weight:600; }
.prose ul, .prose ol { margin:0 0 var(--s4) 22px; color:var(--dim); font-size:17px; max-width:64ch; }
.prose li { margin-bottom:8px; }
.prose li strong { color:var(--ink); font-weight:600; }

.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s4); margin-top:var(--s5); }
.cards.two { grid-template-columns:repeat(2,1fr); }
.card { background:var(--panel); border:1px solid var(--line); border-radius:var(--r); padding:var(--s6);
  box-shadow:var(--card-shadow); }
.card .n { font-size:12px; font-weight:600; color:var(--accent); letter-spacing:.1em; display:block; margin-bottom:10px; }
.card p { font-size:15px; color:var(--dim); line-height:1.6; }
.card.us { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent), var(--card-shadow); }

.table-wrap { overflow-x:auto; margin-top:var(--s5); border:1px solid var(--line); border-radius:var(--r);
  background:var(--panel); box-shadow:var(--card-shadow); }
table.cmp { width:100%; border-collapse:collapse; font-size:14.5px; min-width:640px; }
table.cmp th, table.cmp td { text-align:left; padding:14px 16px; border-bottom:1px solid var(--line); vertical-align:top; }
table.cmp thead th { font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--faint); font-weight:600; background:var(--panel2); }
table.cmp tbody th { font-weight:650; color:var(--ink); white-space:nowrap; }
table.cmp td { color:var(--dim); }
table.cmp tr.us th, table.cmp tr.us td { background:var(--accent-soft); color:var(--ink); }
table.cmp tr:last-child th, table.cmp tr:last-child td { border-bottom:none; }
.note { font-size:13px; color:var(--faint); margin-top:var(--s3); }

.plans { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s4); margin-top:var(--s5); }
.plan { background:var(--panel); border:1px solid var(--line); border-radius:var(--r); padding:var(--s6); box-shadow:var(--card-shadow); }
.plan.pop { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent), var(--card-shadow); }
.plan h3 { font-size:14px; color:var(--dim); font-weight:600; }
.plan .amt { font-size:34px; font-weight:700; letter-spacing:-.03em; margin:4px 0 10px; }
.plan .amt small { font-size:14px; color:var(--faint); font-weight:500; }
.plan ul { list-style:none; font-size:14.5px; color:var(--dim); }
.plan li { padding:5px 0 5px 20px; position:relative; }
.plan li::before { content:"✓"; position:absolute; left:0; color:var(--accent); }

.faq details { border-bottom:1px solid var(--line); }
.faq summary { list-style:none; cursor:pointer; padding:var(--s5) 0; font-size:17.5px; font-weight:600;
  letter-spacing:-.01em; display:flex; justify-content:space-between; gap:16px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; color:var(--accent); font-weight:500; font-size:22px; line-height:1; }
.faq details[open] summary::after { content:"−"; }
.faq .a { padding:0 0 var(--s5); font-size:16.5px; color:var(--dim); max-width:70ch; }

.cta-band { background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg); padding:var(--s8) var(--s7);
  text-align:center; box-shadow:var(--card-shadow); }
.cta-band h2 { max-width:24ch; margin:0 auto var(--s3); }
.cta-band p { color:var(--dim); font-size:16.5px; max-width:52ch; margin:0 auto var(--s6); }
.cta-band .row { display:flex; gap:var(--s3); justify-content:center; flex-wrap:wrap; }

.related { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s3); margin-top:var(--s4); }
.related a { display:block; text-decoration:none; background:var(--panel); border:1px solid var(--line); border-radius:14px;
  padding:16px 18px; font-size:15px; font-weight:600; }
.related a span { display:block; font-size:13.5px; font-weight:400; color:var(--faint); margin-top:4px; }
.related a:hover { border-color:var(--line2); }

footer.site { border-top:1px solid var(--line); padding:var(--s7) 0 var(--s8); font-size:14px; color:var(--faint); }
.foot-grid { display:flex; justify-content:space-between; gap:var(--s6); flex-wrap:wrap; }
.foot-links { display:flex; flex-wrap:wrap; gap:10px 22px; }
.foot-links a { text-decoration:none; color:var(--dim); }
.foot-links a:hover { color:var(--ink); }

/* free clip dialog (markup injected by /assets/free-clip.js) */
dialog.fc { border:none; padding:0; border-radius:var(--r-lg); background:var(--panel); color:var(--ink);
  width:min(460px, calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; box-shadow:0 30px 80px rgba(0,0,0,.28); margin:auto; }
dialog.fc::backdrop { background:rgba(10,10,12,.55); backdrop-filter:blur(3px); }
.fc-in { padding:var(--s7) var(--s7) var(--s6); position:relative; }
.fc h3 { font-size:23px; font-weight:700; letter-spacing:-.025em; line-height:1.2; padding-right:30px; margin:0; }
.fc .fc-sub { font-size:14.5px; line-height:1.55; color:var(--dim); margin-top:8px; }
.fc form { display:flex; flex-direction:column; gap:var(--s4); margin-top:var(--s6); }
.fc label { display:flex; flex-direction:column; gap:6px; font-size:13.5px; font-weight:600; }
.fc label small { font-weight:400; color:var(--faint); }
.fc input { font:inherit; font-size:16px; font-weight:400; padding:13px 14px; border-radius:12px; border:1px solid var(--line2); background:var(--bg); color:var(--ink); width:100%; }
.fc input:focus { outline:2px solid var(--accent); outline-offset:1px; border-color:transparent; }
.fc input[aria-invalid="true"] { border-color:#c0392b; }
.fc .hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.fc .btn { width:100%; margin-top:var(--s2); }
.fc .btn[disabled] { opacity:.55; pointer-events:none; }
.fc .fc-note { font-size:12.5px; color:var(--faint); text-align:center; line-height:1.5; }
.fc .fc-err { font-size:13.5px; color:#c0392b; line-height:1.5; display:none; }
.fc .fc-err a { color:inherit; font-weight:600; }
.fc .fc-x { position:absolute; top:14px; right:14px; width:34px; height:34px; border-radius:50%; border:none; background:var(--panel2); color:var(--dim); font-size:20px; line-height:1; cursor:pointer; }
.fc .fc-done { display:none; text-align:center; padding:var(--s4) 0 var(--s2); }
.fc .fc-done b { display:block; font-size:21px; font-weight:700; letter-spacing:-.02em; margin-bottom:8px; }
.fc .fc-done p { font-size:14.5px; line-height:1.6; color:var(--dim); }
.fc .fc-done a { color:var(--accent); font-weight:600; }
.fc.sent form, .fc.sent .fc-sub, .fc.sent h3 { display:none; }
.fc.sent .fc-done { display:block; }

@media (max-width:860px) {
  .cards, .plans, .related { grid-template-columns:1fr; }
  .cards.two { grid-template-columns:1fr; }
  .nav-links a.hide-sm { display:none; }
}
@media (max-width:560px) {
  .wrap { padding:0 16px; }
  .nav-links { gap:12px; }
  .btn { width:100%; }
  .btn.small { width:auto; }
  .cta-band { padding:var(--s7) var(--s5); }
  header.page { padding-bottom:var(--s7); }
}

/* ===== visual layer (23 Oct 2026): media heroes, sidebar, work strip ===== */
.hero-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:56px; align-items:center; }
.hero-grid h1 { max-width:none; }
.hero-vis { position:relative; min-height:440px; display:flex; align-items:center; justify-content:center; }

/* phone frame */
.phone { position:relative; width:220px; aspect-ratio:9/16; border-radius:30px; background:#0b0b0c; padding:8px;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.45), 0 0 0 1px rgba(0,0,0,.06); }
.phone video, .phone img, .phone .scr { width:100%; height:100%; object-fit:cover; border-radius:23px; display:block; background:#111; }
.phone::before { content:""; position:absolute; top:14px; left:50%; transform:translateX(-50%); width:56px; height:6px; border-radius:6px;
  background:rgba(255,255,255,.18); z-index:2; }
.phone.sm { width:150px; border-radius:24px; padding:6px; }
.phone.sm video, .phone.sm img { border-radius:19px; }
.phone .tag { position:absolute; bottom:-30px; left:50%; transform:translateX(-50%); font-size:12px; font-weight:600; color:var(--dim);
  background:var(--panel); border:1px solid var(--line); border-radius:999px; padding:4px 10px; white-space:nowrap; }

/* variant: one episode into three phones */
.flow { width:100%; max-width:480px; }
.flow .ep { position:relative; border-radius:16px; overflow:hidden; aspect-ratio:16/9; box-shadow:var(--card-shadow), 0 0 0 1px var(--line); }
.flow .ep img { width:100%; height:100%; object-fit:cover; display:block; }
.flow .ep .meta { position:absolute; left:12px; top:10px; font-size:11px; font-weight:700; letter-spacing:.12em; color:#fff;
  background:rgba(0,0,0,.45); padding:4px 8px; border-radius:6px; }
.flow .ep .dur { position:absolute; right:12px; bottom:10px; font-size:11px; font-weight:600; color:#fff; background:rgba(0,0,0,.55); padding:3px 7px; border-radius:6px; }
.flow .arrow { text-align:center; color:var(--accent); font-size:13px; font-weight:600; letter-spacing:.06em; padding:12px 0 14px; }
.flow .arrow::before { content:""; display:block; width:1.5px; height:22px; background:linear-gradient(var(--line2), var(--accent)); margin:0 auto 6px; }
.flow .phones { display:flex; justify-content:center; gap:16px; padding-bottom:34px; }
.flow .phones .phone.sm:nth-child(2) { transform:translateY(-10px); }

/* variant: one playing clip with floating facts */
.stage { position:relative; }
.stage .chip { position:absolute; background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:10px 14px;
  box-shadow:0 18px 40px -18px rgba(0,0,0,.28); font-size:13px; color:var(--dim); line-height:1.35; white-space:nowrap; animation:float 6s ease-in-out infinite; }
.stage .chip b { display:block; color:var(--ink); font-size:15px; }
.stage .chip.c1 { left:-150px; top:40px; } .stage .chip.c2 { right:-160px; top:150px; animation-delay:-2s; } .stage .chip.c3 { left:-120px; bottom:60px; animation-delay:-4s; }
.stage .glow { position:absolute; inset:-60px; background:radial-gradient(closest-side, var(--accent-soft), transparent); z-index:-1; }
@keyframes float { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-8px) } }

/* variant: animated quote card for audio-only / sermons */
.qcard { width:100%; height:100%; border-radius:23px; background:radial-gradient(120% 80% at 20% 10%, #3a2a17, #121214 60%);
  color:#fff; display:flex; flex-direction:column; justify-content:center; padding:26px 20px; position:relative; overflow:hidden; }
.qcard .who { font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:#E0B87C; font-weight:700; margin-bottom:14px; }
.qcard .line { font-size:21px; font-weight:700; line-height:1.25; letter-spacing:-.01em; }
.qcard .line span { opacity:.18; transition:opacity .25s; }
.qcard .line span.on { opacity:1; }
.qcard .line span.hi { color:#E0B87C; }
.qcard .bars { position:absolute; left:20px; right:20px; bottom:26px; display:flex; gap:3px; align-items:flex-end; height:26px; }
.qcard .bars i { flex:1; background:#E0B87C; border-radius:2px; opacity:.85; animation:bar 1.1s ease-in-out infinite; }
@keyframes bar { 0%,100% { height:20% } 50% { height:100% } }

/* body with sticky facts card */
.page-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:56px; align-items:start; }
.page-grid > main { min-width:0; }
.page-grid > main section:first-child { border-top:none; }
.page-grid > main section { padding:var(--s8) 0; }
.page-grid > main .wrap { padding:0; max-width:none; }
aside.glance { position:sticky; top:86px; margin-top:var(--s8); background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:var(--s6); box-shadow:var(--card-shadow); }
aside.glance h3 { font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); margin-bottom:var(--s4); }
aside.glance dl { display:grid; gap:12px; margin-bottom:var(--s5); }
aside.glance dt { font-size:12.5px; color:var(--faint); }
aside.glance dd { font-size:15px; font-weight:600; color:var(--ink); }
aside.glance .btn { width:100%; font-size:14.5px; padding:13px 18px; }
aside.glance .alt { display:block; text-align:center; font-size:13.5px; color:var(--dim); margin-top:10px; text-decoration:none; }
aside.glance .mini { margin:var(--s5) -6px 0; display:flex; gap:8px; }
aside.glance .mini video { width:33.3%; aspect-ratio:9/16; object-fit:cover; border-radius:10px; background:#111; }

/* work strip */
.work-strip { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; margin-top:var(--s5); }
.work-strip figure { margin:0; }
.work-strip .rm { position:relative; aspect-ratio:9/16; border-radius:16px; overflow:hidden; background:#111; cursor:pointer; box-shadow:var(--card-shadow); }
.work-strip video { width:100%; height:100%; object-fit:cover; display:block; }
.work-strip .rm::after { content:""; position:absolute; inset:0; background:center/44px no-repeat
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Ccircle cx='24' cy='24' r='24' fill='rgba(0,0,0,.55)'/%3E%3Cpath d='M19 15l15 9-15 9z' fill='white'/%3E%3C/svg%3E");
  transition:opacity .2s; }
.work-strip .rm.playing::after { opacity:0; }
.work-strip figcaption { font-size:12.5px; color:var(--dim); margin-top:8px; line-height:1.4; }
.work-strip figcaption b { display:block; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); margin-bottom:2px; }

@media (max-width:1100px) { .stage .chip.c1, .stage .chip.c3 { left:-90px; } .stage .chip.c2 { right:-90px; } }
@media (max-width:980px) {
  .hero-grid { grid-template-columns:1fr; gap:40px; }
  .hero-vis { min-height:0; }
  .page-grid { grid-template-columns:minmax(0,1fr); gap:0; }
  aside.glance { position:static; margin:0 0 var(--s7); }
  .work-strip { grid-template-columns:repeat(3,1fr); }
  .stage .chip.c1, .stage .chip.c3 { left:-40px; } .stage .chip.c2 { right:-40px; }
}
@media (max-width:560px) {
  .flow .phones { gap:8px; } .phone.sm { width:96px; border-radius:18px; padding:4px; } .phone.sm video, .phone.sm img { border-radius:14px; }
  .phone .tag { font-size:10.5px; bottom:-26px; }
  .stage .chip { font-size:11.5px; padding:8px 10px; } .stage .chip b { font-size:13px; }
  .stage .chip.c1 { left:-24px; top:10px; } .stage .chip.c2 { right:-24px; top:120px; } .stage .chip.c3 { left:-18px; bottom:20px; }
  .phone { width:190px; }
  .work-strip { grid-template-columns:repeat(2,1fr); }
}

/* ===== church discount (26 Oct 2026) ===== */
.deal { display:inline-flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:var(--s5); padding:12px 16px 12px 12px;
  background:#FFF6E5; border:1px solid #E9C98E; border-radius:14px; text-decoration:none; color:var(--ink); font-size:15.5px; line-height:1.4; }
.deal span { background:var(--accent); color:#fff; font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  padding:5px 10px; border-radius:999px; }
.deal b { font-weight:700; }
.deal::after { content:"See church prices →"; font-weight:600; color:var(--accent); font-size:14px; }
.deal:hover { border-color:var(--accent); }
.church-offer { margin-top:var(--s5); background:#FFF6E5; border:1px solid #E9C98E; border-radius:var(--r); padding:var(--s5) var(--s6); }
.church-offer .badge { display:inline-block; background:var(--accent); color:#fff; font-size:11.5px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; padding:5px 10px; border-radius:999px; }
.church-offer h3 { font-size:21px; margin:10px 0 4px; }
.church-offer p { font-size:15px; color:var(--dim); margin:0; }
.plans.church .plan .was { font-size:14px; color:var(--faint); text-decoration:line-through; margin-top:6px; }
.plans.church .plan .amt { margin:2px 0 4px; }
.plans.church .plan .save { display:inline-block; font-size:12.5px; font-weight:700; color:#1d7a3f; background:#E8F6EC; border-radius:999px;
  padding:4px 10px; margin-bottom:12px; }
@media (max-width:560px) { .deal { font-size:14.5px; } .deal::after { flex-basis:100%; } }
.page-grid main .work-strip { grid-template-columns:repeat(3,1fr); gap:18px; }
@media (max-width:560px) { .page-grid main .work-strip { grid-template-columns:repeat(2,1fr); } }

/* ===== hero fits the first screen (26 Oct 2026) ===== */
header.page { padding:4px 0 32px; }
header.page .crumbs { padding-top:14px; }
header.page .eyebrow { margin-top:14px !important; }
header.page h1 { font-size:clamp(30px, 3.5vw, 46px); margin:10px 0 12px; line-height:1.08; }
header.page .lede { font-size:17px; line-height:1.55; max-width:56ch; }
header.page .deal { margin-top:14px; padding:10px 14px 10px 10px; font-size:15px; }
header.page .hero-cta { margin-top:18px; }
header.page .micro { margin-top:10px; }
.hero-grid { align-items:center; gap:40px; }
.hero-vis { min-height:0; padding:8px 0; }
.hero-vis .phone { width:min(210px, calc((100vh - 260px) * 0.5625)); min-width:150px; border-radius:26px; padding:7px; }
.hero-vis .phone video, .hero-vis .phone .scr { border-radius:20px; }
.hero-vis .flow { max-width:min(440px, calc((100vh - 230px) * 1.05)); }
.hero-vis .flow .phone.sm { width:min(130px, calc((100vh - 230px) * 0.22)); }
.hero-vis .stage .note { margin-top:10px !important; }
.page-grid > main section:first-child { padding-top:var(--s6); }
aside.glance { margin-top:var(--s6); }
aside.glance .mini { justify-content:space-between; }
.hero-grid { grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr); }
header.page .lede { max-width:62ch; }
@media (max-height:760px) and (min-width:981px) {
  header.page .crumbs { display:none; }
  header.page .eyebrow { margin-top:18px !important; }
  header.page h1 { font-size:clamp(28px, 3.2vw, 38px); margin:8px 0 10px; }
  header.page .lede { font-size:15.5px; line-height:1.5; }
  header.page .deal { margin-top:12px; font-size:14px; padding:8px 12px 8px 8px; }
  header.page .hero-cta { margin-top:14px; }
  header.page .hero-cta .btn { padding:13px 22px; font-size:15px; }
  header.page .micro { font-size:12.5px; margin-top:8px; }
  header.page { padding-bottom:20px; }
}
.hero-vis .flow .phone.sm { min-width:0; width:calc((100% - 32px) / 3); max-width:130px; }
.hero-vis .flow .phones { padding-bottom:30px; }
.hero-vis .flow { max-width:min(440px, calc((100vh - 240px) * 0.98)); }
@media (max-width:980px) { .hero-vis .flow { max-width:440px; } .hero-vis .phone { width:200px; } }
@media (max-width:980px) {
  .hero-grid { grid-template-columns:1fr; gap:28px; }
}
@media (max-width:560px) {
  header.page h1 { font-size:30px; }
  header.page .lede { font-size:16px; line-height:1.5; }
  header.page .crumbs { display:none; }
  header.page .eyebrow { margin-top:18px !important; }
}
