/* Goddard Group agent side. Same language as the entrance: navy and white, faint grid, hairlines, sliding arrows. */
@font-face { font-family: Inter; font-weight: 400; src: url("/agent-hub-mockup/fonts/inter-400.ttf") format("truetype"); }
@font-face { font-family: Inter; font-weight: 500; src: url("/agent-hub-mockup/fonts/inter-500.ttf") format("truetype"); }
@font-face { font-family: Inter; font-weight: 600; src: url("/agent-hub-mockup/fonts/inter-600.ttf") format("truetype"); }
@font-face { font-family: Montserrat; font-weight: 600; src: url("/agent-hub-mockup/fonts/montserrat-600.ttf") format("truetype"); }
@font-face { font-family: Montserrat; font-weight: 700; src: url("/agent-hub-mockup/fonts/montserrat-700.ttf") format("truetype"); }
:root { --navy: #0B1F3A; --ink: #2A2A2A; --muted: #5C564E; --line: #DDD7CA; --soft: #F5F2EB; --ease: cubic-bezier(.2,.7,.2,1);
  --grid: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.6; color: var(--ink); background: #fff; }
a { color: inherit; }
img { display: block; max-width: 100%; }
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 48px; }
h1, h2, h3 { font-family: Montserrat, sans-serif; font-weight: 600; color: var(--navy); margin: 0; }
h1 { font-size: clamp(40px, 3.9vw, 54px); line-height: 1.06; letter-spacing: -0.045em; }
h2 { font-size: 32px; line-height: 1.15; letter-spacing: -0.035em; }
h3 { font-size: 21px; line-height: 1.25; letter-spacing: -0.025em; }
p { margin: 0; }

/* navy surfaces carry the faint grid */
.navy { background-color: var(--navy); background-image: var(--grid); background-size: 40px 40px; background-position: center top; color: #fff; }
.navy h1, .navy h2, .navy h3 { color: #fff; }

/* nav */
.top { position: relative; z-index: 5; border-bottom: 1px solid rgba(255,255,255,.1); }
.nav { height: 88px; display: flex; align-items: center; gap: 40px; }
.lockup { display: flex; align-items: center; gap: 14px; text-decoration: none; color: #fff; }
.lockup img { width: 42px; height: 42px; }
.lockup span { font-family: Montserrat, sans-serif; font-weight: 700; font-size: 14px; line-height: 1.12; letter-spacing: .16em; }
.lockup b { display: block; font-weight: 700; }
.links { display: flex; gap: 32px; margin-left: auto; }
.links a { text-decoration: none; font-size: 14px; font-weight: 500; color: rgba(255,255,255,.72); padding: 6px 0; border-bottom: 1px solid transparent; transition: color .2s, border-color .2s; }
.links a:hover { color: #fff; }
.links a.on { color: #fff; border-bottom-color: rgba(255,255,255,.7); }

/* buttons: same as the entrance */
.go { display: inline-flex; align-items: center; gap: 14px; height: 52px; padding: 0 22px 0 24px; font-weight: 600; font-size: 15px; letter-spacing: .01em; text-decoration: none; border: 1px solid transparent; cursor: pointer; font-family: inherit; white-space: nowrap; transition: background-color .2s, color .2s, border-color .2s; }
.go svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.6; transition: transform .35s var(--ease); }
.go:hover svg { transform: translateX(5px); }
.go.light { background: #fff; color: var(--navy); }
.go.dark { background: var(--navy); color: #fff; }
.go.line { background: transparent; color: #fff; border-color: rgba(255,255,255,.4); }
.go.line:hover { border-color: #fff; }
.go.line-dark { background: transparent; color: var(--navy); border-color: rgba(11,31,58,.35); }
.go.line-dark:hover { border-color: var(--navy); }
.nav .go { height: 44px; font-size: 14px; padding: 0 18px 0 20px; }
.textlink { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; font-size: 15px; color: var(--navy); text-decoration: none; }
.textlink svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.6; transition: transform .35s var(--ease); }
.textlink:hover svg { transform: translateX(4px); }
.muted { color: var(--muted); }

/* agent home hero */
.hero { position: relative; overflow: hidden; }
.hero .wrap { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); min-height: 560px; height: calc(100vh - 88px); max-height: 680px; }
.hero .copy { align-self: center; padding-bottom: 24px; }
.hero h1 { max-width: 15ch; }
.actions { display: flex; gap: 12px; margin-top: 36px; flex-wrap: wrap; }
.byline { margin-top: 44px; font-size: 13px; color: rgba(255,255,255,.6); }
.byline span { white-space: nowrap; }
.hero .me { position: relative; align-self: end; height: 84%; max-height: 560px; min-width: 0; }
.hero .me img { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); height: 100%; width: auto; max-width: none; }

/* doors */
.doors { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line); }
.door { display: block; text-decoration: none; padding: 40px 28px 44px; border-left: 1px solid var(--line); transition: background-color .3s var(--ease); }
.door:first-child { border-left: 0; padding-left: 0; }
.door:last-child { padding-right: 0; }
.door:last-child:hover { background: none; }
.door:hover { background: var(--soft); }
.door:first-child:hover { background: none; }
.door strong { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-family: Montserrat, sans-serif; font-weight: 600; font-size: 22px; letter-spacing: -0.03em; color: var(--navy); white-space: nowrap; }
.door svg { width: 20px; height: 20px; stroke: var(--navy); fill: none; stroke-width: 1.6; flex: none; transition: transform .35s var(--ease); }
.door:hover svg { transform: translateX(6px); }
.door span { display: block; margin-top: 8px; font-size: 15px; color: var(--muted); }

/* full-bleed split, like the entrance */
.split { display: grid; grid-template-columns: 1fr 1fr; }
.split > div { padding: 88px max(48px, calc((100vw - 1200px) / 2 + 48px)); }
.split > .navy { padding-right: 72px; }
.split > .white { padding-left: 72px; }
.split h2 + p, .split h2 + .big { margin-top: 20px; }
.big { display: block; font-family: Montserrat, sans-serif; font-weight: 600; font-size: 28px; letter-spacing: -0.03em; text-decoration: none; }
.navy .note { color: rgba(255,255,255,.72); font-size: 15px; margin-top: 18px; max-width: 34ch; }
.navy .mail { color: rgba(255,255,255,.85); text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.3); }

/* forms */
form label { display: block; font-size: 13px; font-weight: 500; color: var(--muted); margin: 0 0 6px; }
form input[type=text] { width: 100%; height: 50px; padding: 0 14px; border: 1px solid var(--line); background: #fff; font: inherit; font-size: 15px; color: var(--ink); margin-bottom: 20px; border-radius: 0; }
form input[type=text]:focus { outline: none; border-color: var(--navy); }
form .check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--ink); margin: 4px 0 24px; font-weight: 400; }
form .check input { margin-top: 4px; accent-color: var(--navy); }
.types { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-bottom: 20px; }
.types label { display: flex; gap: 8px; align-items: center; font-size: 14px; color: var(--ink); margin: 0; font-weight: 400; }
.types input { accent-color: var(--navy); }
.drop { height: 96px; border: 1px dashed #C9C2B3; display: flex; align-items: center; justify-content: center; font-size: 14px; color: var(--muted); margin-bottom: 20px; }

/* sections */
.sec { padding: 96px 0; }
.sec + .sec { padding-top: 0; }
.sec-h { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--navy); margin-bottom: 0; }

/* hairline rows: FAQ, who to call, programs */
.rows > div { display: grid; grid-template-columns: 5fr 7fr; gap: 48px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.rows h3 { font-size: 19px; }
.rows p { color: var(--ink); max-width: 60ch; }
.rows .act { margin-top: 12px; }

/* sub page header */
.pagehead { padding: 80px 0 72px; }

/* team */
.greg { display: grid; grid-template-columns: 5fr 7fr; gap: 64px; align-items: center; padding: 96px 0 0; }
.portrait { position: relative; aspect-ratio: 4 / 5; overflow: hidden; display: flex; align-items: flex-end; justify-content: center; }
.portrait img { width: 165%; max-width: none; }
.greg .role, .person .role { font-size: 15px; font-weight: 500; color: var(--muted); margin-top: 6px; }
.greg p.say { margin-top: 24px; max-width: 46ch; font-size: 17px; }
.contact { margin-top: 28px; border-top: 1px solid var(--line); }
.contact div { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.contact span { color: var(--muted); }
.contact a { color: var(--navy); font-weight: 500; text-decoration: none; }
.people { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; padding: 96px 0 0; }
.initials { aspect-ratio: 4 / 5; display: flex; align-items: center; justify-content: center; font-family: Montserrat, sans-serif; font-weight: 600; font-size: 56px; letter-spacing: -0.03em; color: rgba(255,255,255,.92); }
.person h3 { margin-top: 24px; }
.person p.does { margin-top: 12px; font-size: 15px; max-width: 34ch; }

/* process timeline */
.steps { list-style: none; margin: 0; padding: 0; counter-reset: s; max-width: 860px; }
.steps li { position: relative; display: grid; grid-template-columns: 64px 1fr; gap: 28px; padding: 0 0 44px; }
.steps li::before { counter-increment: s; content: counter(s); width: 44px; height: 44px; border: 1px solid var(--navy); display: flex; align-items: center; justify-content: center; font-family: Montserrat, sans-serif; font-weight: 600; font-size: 16px; color: var(--navy); background: #fff; position: relative; z-index: 1; }
.steps li::after { content: ""; position: absolute; left: 22px; top: 44px; bottom: 0; width: 1px; background: var(--line); }
.steps li:last-child::after { display: none; }
.steps li:last-child { padding-bottom: 0; }
.steps h3 { margin-top: 8px; }
.steps p { margin-top: 10px; max-width: 58ch; }
.steps .who { margin-top: 10px; font-size: 14px; color: var(--muted); }

/* resources */
.group { padding-top: 80px; }
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; padding-top: 32px; }
.card { display: flex; flex-direction: column; }
.card .thumb { aspect-ratio: 4 / 3; overflow: hidden; background: var(--navy); }
.card .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.card:hover .thumb img { transform: scale(1.025); }
.card h3 { font-size: 19px; margin-top: 22px; }
.card p { font-size: 15px; color: var(--muted); margin-top: 8px; }
.card .act { margin-top: 16px; }
.card .soon { font-size: 15px; font-weight: 600; color: var(--muted); }
.idea { display: grid; grid-template-columns: 5fr 7fr; gap: 48px; align-items: center; padding: 40px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-top: 96px; }
.idea form { display: flex; gap: 12px; }
.idea input[type=text] { margin: 0; }

.closing { padding: 88px 0; }
.closing .wrap { display: flex; align-items: center; justify-content: space-between; gap: 32px; }

/* footer */
.foot { padding: 64px 0 48px; border-top: 1px solid rgba(255,255,255,.1); }
.foot .row1 { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,.12); }
.foot nav { display: flex; gap: 28px; flex-wrap: wrap; }
.foot nav a { font-size: 14px; color: rgba(255,255,255,.72); text-decoration: none; }
.foot nav a:hover { color: #fff; }
.foot .legal { display: grid; grid-template-columns: 1fr auto; gap: 48px; padding-top: 28px; }
.foot .legal p { font-size: 12.5px; line-height: 1.65; color: rgba(255,255,255,.62); margin-bottom: 10px; max-width: 92ch; }
.foot .legal a { color: rgba(255,255,255,.8); }
.foot .logos { display: flex; gap: 20px; align-items: center; }
.foot .logos img { height: 34px; width: auto; opacity: .85; }

@media (max-width: 960px) {
  .links { display: none; }
  .mnav { display: flex !important; }
}
.mnav { display: none; gap: 22px; overflow-x: auto; padding: 0 0 16px; }
.mnav a { font-size: 14px; font-weight: 500; color: rgba(255,255,255,.75); text-decoration: none; white-space: nowrap; }
.mnav a.on { color: #fff; }

@media (max-width: 860px) {
  .wrap { padding: 0 24px; }
  .nav { height: 76px; gap: 16px; }
  .nav .go { margin-left: auto; }
  .lockup img { width: 36px; height: 36px; }
  .lockup span { font-size: 12px; }
  h1 { font-size: 38px; }
  h2 { font-size: 27px; }
  .hero .wrap { grid-template-columns: 1fr; height: auto; max-height: none; min-height: 0; }
  .hero .copy { padding: 48px 0 8px; }
  .hero .me { height: 320px; margin-top: 8px; }
  .byline { margin-top: 28px; }
  .actions { gap: 10px; }
  .actions .go { height: 48px; padding: 0 16px 0 18px; gap: 10px; font-size: 14px; }
  .doors { grid-template-columns: 1fr; border-bottom: 0; }
  .door, .door:first-child { padding: 24px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .door:hover { background: none; }
  .split { grid-template-columns: 1fr; }
  .split > div, .split > .navy, .split > .white { padding: 56px 24px; }
  .sec { padding: 64px 0; }
  .rows > div { grid-template-columns: 1fr; gap: 10px; padding: 22px 0; }
  .pagehead { padding: 48px 0 44px; }
  .greg { grid-template-columns: 1fr; gap: 32px; padding-top: 56px; }
  .people { grid-template-columns: 1fr; padding-top: 56px; gap: 48px; }
  .cards { grid-template-columns: 1fr; }
  .idea { grid-template-columns: 1fr; gap: 16px; }
  .closing .wrap { flex-direction: column; align-items: flex-start; }
  .foot .row1, .foot .legal { flex-direction: column; align-items: flex-start; grid-template-columns: 1fr; }
}

/* ===== client side additions ===== */
.links .side { color: rgba(255,255,255,.55); font-size: 13px; padding-left: 24px; border-left: 1px solid rgba(255,255,255,.18); border-bottom: 0; }
.links .side:hover { color: #fff; }
.cnav .links { gap: 28px; }

/* white hero with a faint navy grid, Greg standing on the hairline */
.chero { position: relative; overflow: hidden; background-color: #fff; background-image: linear-gradient(rgba(11,31,58,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(11,31,58,.04) 1px, transparent 1px); background-size: 40px 40px; background-position: center top; border-bottom: 1px solid var(--line); }
.chero .wrap { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); min-height: 540px; height: calc(100vh - 88px - 132px); max-height: 640px; }
.chero .copy { align-self: center; }
.chero h1 { max-width: 15ch; }
.chero .me { position: relative; align-self: end; height: 88%; max-height: 540px; min-width: 0; }
.chero .me img { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); height: 100%; width: auto; max-width: none; filter: drop-shadow(0 10px 18px rgba(11,31,58,.09)); }
.chero .byline { color: var(--muted); }
.chero .byline a { color: var(--navy); text-underline-offset: 3px; text-decoration-thickness: 1px; text-decoration-color: rgba(11,31,58,.4); }

/* reviews */
.revhead { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--navy); }
.revhead .rate { display: flex; align-items: baseline; gap: 16px; margin-top: 14px; font-size: 15px; color: var(--muted); }
.revhead .rate b { font-family: Montserrat, sans-serif; font-weight: 600; font-size: 40px; letter-spacing: -0.04em; color: var(--navy); line-height: 1; }
.stars { color: var(--navy); letter-spacing: .12em; font-size: 14px; }
.revs3 { display: grid; grid-template-columns: repeat(3, 1fr); }
.rev { margin: 0; padding: 36px 36px 36px 0; display: flex; flex-direction: column; }
.rev + .rev { padding-left: 36px; border-left: 1px solid var(--line); }
.rev blockquote { margin: 16px 0 0; font-size: 17px; line-height: 1.6; color: var(--ink); }
.rev .more { align-self: flex-start; margin-top: 12px; background: none; border: 0; padding: 0; font: inherit; font-size: 14px; font-weight: 600; color: var(--navy); cursor: pointer; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: rgba(11,31,58,.4); }
.rev figcaption { margin-top: auto; padding-top: 20px; font-size: 13px; color: var(--muted); }
.revnote { font-size: 13px; color: var(--muted); padding-top: 18px; border-top: 1px solid var(--line); }

/* team strip */
.strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; padding-top: 32px; }
.mini { display: flex; align-items: center; gap: 18px; }
.mini .face { flex: none; width: 76px; height: 76px; overflow: hidden; display: flex; align-items: center; justify-content: center; font-family: Montserrat, sans-serif; font-weight: 600; font-size: 22px; color: rgba(255,255,255,.92); position: relative; }
.mini .face img { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 190%; max-width: none; }
.mini strong { display: block; font-family: Montserrat, sans-serif; font-weight: 600; font-size: 17px; letter-spacing: -0.02em; color: var(--navy); line-height: 1.3; }
.mini span { font-size: 14px; color: var(--muted); }

/* consent text in forms */
form .consent { display: flex; gap: 10px; align-items: flex-start; font-size: 12.5px; line-height: 1.55; color: var(--muted); margin: 4px 0 24px; font-weight: 400; }
form .consent input { margin-top: 3px; accent-color: var(--navy); flex: none; }
form textarea { width: 100%; height: 96px; padding: 12px 14px; border: 1px solid var(--line); font: inherit; font-size: 15px; margin-bottom: 20px; resize: vertical; border-radius: 0; }
form textarea:focus { outline: none; border-color: var(--navy); }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }

/* plain callout on white: a hairline box, no fill */
.callout { display: grid; grid-template-columns: 5fr 7fr; gap: 48px; padding: 40px 0; border-top: 1px solid var(--navy); border-bottom: 1px solid var(--line); }
.callout p + p { margin-top: 14px; }
.ready { columns: 2; column-gap: 48px; list-style: none; padding: 0; margin: 0; }
.ready li { break-inside: avoid; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 16px; }
.ready li span { display: block; font-size: 14px; color: var(--muted); margin-top: 2px; }

@media (max-width: 1060px) { .links .side { display: none; } }
@media (max-width: 860px) {
  .chero .wrap { grid-template-columns: 1fr; height: auto; max-height: none; min-height: 0; }
  .chero .copy { padding: 48px 0 8px; }
  .chero .me { height: 300px; margin-top: 8px; }
  .revhead { flex-direction: column; align-items: flex-start; }
  .revs3 { grid-template-columns: 1fr; }
  .rev, .rev + .rev { padding: 28px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .strip { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
  .mini .face { width: 60px; height: 60px; font-size: 18px; }
  .callout { grid-template-columns: 1fr; gap: 16px; }
  .ready { columns: 1; }
  .two { grid-template-columns: 1fr; }
}
.doors.doors3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 860px) { .doors.doors3 { grid-template-columns: 1fr; } }
@media (max-width: 860px) {
  .cnav + .wrap .mnav { gap: 16px; }
  .cnav + .wrap .mnav a { font-size: 13px; }
  .cnav + .wrap .mnav a.mside { display: none; }
  .hide-sm { display: none; }
}

/* ===== agent training ===== */
.doors.doors5 { grid-template-columns: repeat(5, 1fr); }
.doors.doors5 .door { padding: 40px 22px 44px; }
.doors.doors5 .door:first-child { padding-left: 0; }
.doors.doors5 .door:last-child { padding-right: 0; }
.doors.doors5 .door strong { font-size: 19px; }
.doors.doors5 .door span { font-size: 14.5px; }
@media (max-width: 1180px) { .links { gap: 24px; } }
.pagehead .lead, .mhero .lead { margin-top: 22px; max-width: 54ch; font-size: 18px; line-height: 1.55; color: rgba(255,255,255,.78); }
.module { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; padding: 40px 0; border-bottom: 1px solid var(--line); align-items: center; }
.module .thumb { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--navy); }
.module .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.module:hover .thumb img { transform: scale(1.025); }
.module h3 { font-size: 26px; }
.module h3 a { text-decoration: none; }
.module p { margin: 20px 0 28px; max-width: 56ch; }
.meta { display: flex; flex-wrap: wrap; gap: 8px 32px; margin: 16px 0 0; }
.meta div { display: flex; gap: 8px; font-size: 14px; }
.meta dt { color: var(--muted); }
.meta dd { margin: 0; color: var(--ink); font-weight: 500; }
.more-mods { margin-top: 24px; font-size: 15px; }
.split .actions { margin-top: 32px; }
.mhero .wrap { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 56px; align-items: center; padding-top: 72px; padding-bottom: 80px; }
.mhero h1 { max-width: 15ch; }
.crumb { font-size: 14px; margin-bottom: 20px; }
.crumb a { color: rgba(255,255,255,.7); text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.3); }
.crumb a:hover { color: #fff; }
.video { aspect-ratio: 16 / 9; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.03); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 24px 32px; text-align: center; }
.video svg { width: 56px; height: 56px; fill: none; stroke: rgba(255,255,255,.8); stroke-width: 1.4; }
.video p { font-size: 13px; color: rgba(255,255,255,.6); max-width: 36ch; }
.callout h2 { max-width: 14ch; }
.sec-h .small { font-size: 14px; }
.fine { font-size: 14px; margin-top: 24px; max-width: 90ch; }
a.inl { color: var(--navy); text-underline-offset: 3px; text-decoration-thickness: 1px; text-decoration-color: rgba(11,31,58,.4); }
.rec-h, .rec > div { display: grid; grid-template-columns: 3fr 4fr 5fr; gap: 40px; }
.rec-h { padding: 18px 0 12px; font-size: 13px; color: var(--muted); border-bottom: 1px solid var(--line); }
.rec > div:not(.rec-h) { padding: 22px 0; border-bottom: 1px solid var(--line); }
.rec h3 { font-size: 18px; }
.rec p { font-size: 15.5px; }
.rec .do { color: var(--navy); font-weight: 500; }
.play { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; padding-top: 32px; }
.play h3 { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.play ul { list-style: none; margin: 0; padding: 0; }
.play li { padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 15.5px; }
.ready li { font-weight: 500; color: var(--navy); }
.ready li span { font-weight: 400; }
.card .thumb { display: block; }
.card .dl { display: flex; gap: 28px; }
.kitmail { align-items: start; }
.kitmail form { display: block; }
.kitmail input[type=text] { margin-bottom: 16px; }
.kitmail h3 { font-size: 21px; }
.kitmail .muted { margin-top: 8px; font-size: 15px; }
.rev.ph blockquote { color: var(--muted); font-style: italic; }
.who3 > div { padding: 22px 0; border-bottom: 1px solid var(--line); }
.who3 > div:first-child { padding-top: 0; }
.who3 h3 { font-size: 19px; }
.who3 p { margin-top: 6px; font-size: 15.5px; color: var(--muted); max-width: 46ch; }
@media (max-width: 860px) {
  .doors.doors5 { grid-template-columns: 1fr; }
  .doors.doors5 .door, .doors.doors5 .door:first-child { padding: 24px 0; }
  .module { grid-template-columns: 1fr; gap: 24px; padding: 28px 0; }
  .module h3 { font-size: 22px; }
  .mhero .wrap { grid-template-columns: 1fr; gap: 36px; padding-top: 40px; padding-bottom: 48px; }
  .mhero .lead, .pagehead .lead { font-size: 16.5px; }
  .rec-h { display: none; }
  .rec > div:not(.rec-h) { grid-template-columns: 1fr; gap: 6px; }
  .play { grid-template-columns: 1fr; gap: 32px; }
  .card .dl { gap: 20px; }
}
.kitdeck { padding: 32px 0 40px; }
.kitdeck p { margin: 14px 0 24px; }
@media (max-width: 860px) {
  .nav:not(.cnav) + .wrap .mnav { gap: 17px; }
  .nav:not(.cnav) + .wrap .mnav a { font-size: 13.5px; }
}

/* agent sign-up */
form input[type=email], form input[type=tel] { width: 100%; height: 50px; padding: 0 14px; border: 1px solid var(--line); background: #fff; font: inherit; font-size: 15px; color: var(--ink); margin-bottom: 20px; border-radius: 0; }
form input[type=email]:focus, form input[type=tel]:focus { outline: none; border-color: var(--navy); }
form .consent a { color: var(--navy); text-decoration: underline; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.signup-done { font-size: 16px; color: var(--ink); margin-top: 8px; }
