body.theme-blue { --muted:#4a5d6b; }
.hero-note { color:#4a5d6b; }

.skip-link { position:absolute; left:-9999px; top:0; z-index:100; background:#1b2a3b; color:#fff; padding:10px 16px; border-radius:0 0 4px 0; font-weight:700; }
.skip-link:focus { left:0; }

section { padding-block:60px; }
.promise-band { padding-block:34px 37px; }
.help-section { background:#f1f6f8; }
.about-section { background:#fff; }
.next-section { background:#f1f6f8; }
.start-section { background:#e0edf3; }
.sessions { background:#fff; border-top:1px solid var(--line); padding-block:28px; }
.faq-section { background:#f1f6f8; }

.site-head nav { align-items:center; }
nav a.nav-book { color:#fff; padding:9px 18px; font-size:.9rem; white-space:nowrap; margin-left:6px; }

.cred-strip { background:#fff; border-bottom:1px solid var(--line); padding-block:18px; }
.cred-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px 28px; }
.cred-grid p { margin:0; color:var(--muted); font-size:.92rem; line-height:1.4; }
.cred-grid strong { display:block; color:var(--navy); font-size:1.05rem; }
@media (max-width:700px) { .cred-grid { grid-template-columns:1fr; gap:10px; } .cred-strip { padding-block:16px; } }

.start-card { background:#fff; border:1px solid var(--signal-line); border-radius:6px; box-shadow:0 8px 24px rgba(27,42,59,.10); padding:30px; }
.start-card .pricing-teaser { color:var(--ink); font-size:.95rem; margin:18px 0 0; }
.start-card .pricing-teaser a { color:var(--signal-dark); font-weight:700; }

.brand small { font-size:.72rem; }
.preview-bar { font-size:.8rem; }
.site-foot p { font-size:.92rem; }
.footer-bottom { font-size:.85rem; }
@media (max-width:650px) {
  .brand small { font-size:.7rem; }
  .preview-bar { font-size:.75rem; }
  section { padding-block:48px; }
  .promise-band { padding-block:30px 32px; }
  .sessions { padding-block:24px; }
}

.detail-action::after,
.session-details[open] .detail-action::after { content:''; display:inline-block; width:.5em; height:.5em; border-right:2px solid currentColor; border-bottom:2px solid currentColor; margin-left:.65em; vertical-align:.12em; transform:rotate(45deg); transition:transform .2s ease; }
.session-details[open] .detail-action::after { transform:rotate(-135deg); vertical-align:-.1em; }
@media (prefers-reduced-motion:reduce) { .detail-action::after { transition:none; } }

.faq-list { max-width:760px; }
.faq-list details { background:#fff; border:1px solid var(--line); border-radius:5px; margin:0 0 10px; }
.faq-list summary { cursor:pointer; list-style:none; position:relative; padding:16px 52px 16px 20px; font-weight:700; color:var(--navy); }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:''; position:absolute; right:22px; top:50%; width:.5em; height:.5em; border-right:2px solid var(--signal-dark); border-bottom:2px solid var(--signal-dark); transform:translateY(-70%) rotate(45deg); transition:transform .2s ease; }
.faq-list details[open] summary::after { transform:translateY(-30%) rotate(-135deg); }
.faq-list summary:focus-visible { outline:3px solid var(--signal-dark); outline-offset:2px; }
.faq-list details p { margin:0; padding:0 20px 18px; color:var(--muted); }
@media (prefers-reduced-motion:reduce) { .faq-list summary::after { transition:none; } }

.how-i-work { max-width:760px; margin:30px 0 0; padding:4px 0 4px 18px; border-left:3px solid var(--signal-dark); color:var(--muted); }
.how-i-work strong { color:var(--navy); }

.hero-alt { margin:10px 0 0; font-size:.95rem; color:var(--muted); }
.hero-alt a, .start-card .direct-book a { color:var(--signal-dark); font-weight:700; }
.start-card .direct-book { margin:16px 0 0; font-size:.95rem; color:var(--ink); }
.start-card .pricing-teaser { margin-top:8px; }
.call-boundary { margin-top:14px; padding-left:14px; border-left:3px solid var(--signal-dark); color:var(--muted); }
.how-i-work + .how-i-work { margin-top:14px; }
.session-pick { margin:0 0 20px; color:var(--ink); }
.session-grid .best-for { font-size:.92rem; color:var(--muted); }
.session-grid .recap { margin:12px 0 0; font-size:.88rem; font-weight:700; color:var(--signal-dark); }
.session-grid .recap::before { content:'\2713  '; }
.packages-section { background:#e9f1f4; }
.package-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:8px; }
.package-card { position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-top:3px solid var(--signal-dark); border-radius:6px; padding:24px 22px; box-shadow:0 4px 14px rgba(27,42,59,.06); }
.package-card h3 { margin:0 0 6px; color:var(--navy); }
.package-card p { margin:0 0 12px; color:var(--muted); font-size:.95rem; }
.package-card .pkg-price { margin:0 0 10px; font-size:1.7rem; font-weight:800; color:var(--navy); line-height:1.1; }
.pkg-list { margin:4px 0 0; padding:0; list-style:none; font-size:.92rem; color:var(--muted); }
.pkg-list li { position:relative; padding:0 0 8px 22px; }
.pkg-list li::before { content:'\2713'; position:absolute; left:0; top:0; color:var(--signal-dark); font-weight:800; }
.package-card .pkg-note { margin:10px 0 0; font-size:.88rem; font-style:italic; }
.pkg-badge { align-self:flex-start; margin-bottom:10px; padding:3px 10px; border-radius:99px; background:var(--navy); color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.package-limited { border-top-color:var(--navy); }
.package-flow, .package-addons { max-width:820px; margin:22px 0 0; color:var(--muted); }
.package-addons { margin-top:10px; }
.package-flow strong, .package-addons strong { color:var(--navy); }
.card-link { color:var(--signal-dark); font-weight:700; white-space:nowrap; }
@media (max-width:980px) { .package-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:650px) { .package-grid { grid-template-columns:1fr; } }
.page-hero { padding:56px 0 44px; background:linear-gradient(180deg,#f1f6f8 0%,#fff 100%); }
.page-hero .breadcrumb { margin:0 0 18px; font-size:.9rem; }
.page-hero .breadcrumb a { color:var(--signal-dark); font-weight:700; }
.page-hero h1 { margin:0 0 16px; max-width:780px; font-size:clamp(2rem,4.2vw,3rem); line-height:1.12; }
.page-hero .page-lead { max-width:720px; margin:0 0 26px; font-size:1.1rem; color:var(--muted); }
.page-actions { display:flex; flex-wrap:wrap; gap:14px 24px; align-items:center; }
.page-actions .text-link { color:var(--signal-dark); font-weight:700; }
.business-areas { background:#e9f1f4; }
.page-cta { background:#e0edf3; }
.page-cta h2 { margin:0 0 10px; }
.page-cta p { max-width:640px; margin:0 0 20px; color:var(--muted); }
.page-cta p a { color:var(--signal-dark); font-weight:700; }
.next-steps a { color:var(--signal-dark); font-weight:700; }

.sessions-section { background:#fff; }
.session-grid .card { display:flex; flex-direction:column; }
.card-actions { margin-top:auto; padding-top:16px; }
.package-card .card-actions { padding-top:14px; }
.card-book { width:100%; justify-content:center; text-align:center; }
.sessions-section .session-intro, .sessions-section .session-policy, .sessions-section .session-pick { max-width:820px; margin:18px 0 0; color:var(--muted); }
.sessions-section .session-pick { color:var(--ink); }
.page-note { margin:18px 0 0; font-size:.95rem; color:var(--muted); }
.help-card .card-cta { margin:20px 0 0; }
.start-card .direct-book a + a { margin-left:4px; }

.site-head nav a[aria-current="page"], .nav-dd-btn.is-current { color:var(--navy); box-shadow:inset 0 -2px 0 var(--signal-dark); padding-bottom:4px; }

.nav-dropdown { position:relative; display:inline-flex; }
.nav-dd-btn { font:inherit; color:inherit; background:none; border:0; padding:0 0 4px; cursor:pointer; display:inline-flex; align-items:center; gap:.5em; }
.nav-dd-btn .chev { width:.45em; height:.45em; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .2s ease; }
.nav-dropdown.open .chev { transform:rotate(-135deg) translateY(-1px); }
.nav-menu { position:absolute; top:100%; left:-14px; min-width:220px; margin-top:10px; padding:8px; background:#fff; border:1px solid var(--line); border-radius:6px; box-shadow:0 10px 28px rgba(27,42,59,.14); display:none; flex-direction:column; z-index:50; }
.nav-menu::before { content:''; position:absolute; top:-12px; left:0; right:0; height:12px; }
.nav-dropdown.open .nav-menu { display:flex; }
@media (min-width:851px) { .nav-dropdown:hover .nav-menu, .nav-dropdown:focus-within .nav-menu { display:flex; } }
.nav-menu a { display:block; padding:10px 12px; border-radius:4px; white-space:nowrap; }
.nav-menu a:hover, .nav-menu a:focus-visible { background:#eef4f7; }
@media (max-width:850px) {
  .nav-dd-btn { display:none; }
  .nav-dropdown, .nav-dropdown .nav-menu, .nav-dropdown.open .nav-menu { display:contents; position:static; }
}

.hero-choices { display:grid; gap:12px; margin:26px 0 0; max-width:560px; }
.choice-card { display:grid; grid-template-columns:1fr auto; gap:2px 14px; align-items:center; padding:16px 20px; background:#fff; border:1px solid var(--line); border-left:4px solid var(--signal-dark); border-radius:6px; text-decoration:none; color:var(--ink); box-shadow:0 4px 14px rgba(27,42,59,.08); transition:transform .15s ease, box-shadow .15s ease; }
.choice-card:hover, .choice-card:focus-visible { transform:translateY(-2px); box-shadow:0 8px 20px rgba(27,42,59,.14); }
.choice-card strong { color:var(--navy); font-size:1.08rem; grid-column:1; }
.choice-card span { color:var(--muted); font-size:.92rem; grid-column:1; }
.choice-card .choice-arrow { grid-column:2; grid-row:1 / span 2; font-size:1.4rem; color:var(--signal-dark); }
.choice-call { background:var(--navy); border-color:var(--navy); }
.choice-call strong, .choice-call span, .choice-call .choice-arrow { color:#fff; }
@media (prefers-reduced-motion:reduce) { .choice-card, .nav-dd-btn .chev { transition:none; } }

.about-grid { grid-template-columns:minmax(0,1fr) minmax(0,420px); }
.about-photo img { aspect-ratio:4 / 3; }
@media (max-width:850px) { .about-photo { width:min(100%,460px); } }

.session-grid .best-for { flex-grow:1; }

.footer-links { display:flex; flex-wrap:wrap; gap:8px 22px; padding-top:20px; padding-bottom:6px; font-size:.92rem; }
.footer-links a { color:#cfe0ea; text-decoration:none; font-weight:600; }
.footer-links a:hover, .footer-links a:focus-visible { color:#fff; text-decoration:underline; }
.faq-closer { margin:22px 0 0; color:var(--muted); }
.faq-closer a { color:var(--signal-dark); font-weight:700; }

.button span[aria-hidden="true"] { margin-left:.5em; }
.help-card { display:flex; flex-direction:column; }
.help-card .card-cta { margin-top:auto; padding-top:20px; }
.nowrap { white-space:nowrap; }

.site-head nav a:not(.nav-book) { padding-bottom:4px; }

.site-head nav a { white-space:nowrap; }
.head-inner { flex-wrap:wrap; row-gap:0; }
.site-head nav { flex-wrap:wrap; justify-content:flex-end; margin-left:auto; }
@media (max-width:1180px) { .site-head nav { gap:10px 18px; font-size:.88rem; } nav a.nav-book { margin-left:2px; padding:8px 14px; } }
@media (min-width:851px) and (max-width:1060px) { .site-head nav { width:100%; justify-content:flex-start; padding-bottom:12px; } .brand { padding-block:12px 4px; } }