/* Shared page layouts for the content-plan site. Original typography and palette are retained. */
.site-hero { padding: 150px 0 76px; background: var(--hero-tint, var(--bg-lav)); overflow: clip; }
.site-hero .hero-grid { align-items: center; gap: 48px; }
.site-hero h1 { font-size: clamp(2.45rem, 4.5vw, 4.2rem); margin-bottom: 25px; }
.site-hero .hero-sub { font-size: clamp(1.05rem, 1.5vw, 1.23rem); max-width: 62ch; }
.site-hero .hero-sub:not(:last-of-type) { margin-bottom: 16px; }
.hero-narrow { max-width: 960px; }
.hero-narrow h1 { max-width: 22ch; }
.hero-narrow .hero-sub { max-width: 65ch; }
.site-hero .detail-visual { margin: 0; }
.site-hero .check-row { gap: 10px 18px; font-size: .83rem; }
.site-hero .check-row li { font-size: .82rem; }
.site-hero .check-row li::before { content: '✓'; color: #307D62; font-weight: 700; }
.page-section { padding: 82px 0; scroll-margin-top: 105px; }
.section-heading { max-width: 840px; margin-bottom: 36px; }
.section-heading h2 { font-size: clamp(2rem, 3.5vw, 3.15rem); }
.section-heading .lede { margin-left: 0; }
.section-label { display: inline-block; margin-bottom: 16px; font-size: .79rem; font-weight: 700; letter-spacing: .05em; color: var(--ink-soft); text-transform: capitalize; }
h1, h2, h3, h4, h5, h6,
.section-label,
.form-title,
.btn,
.faq-item summary {
  text-transform: capitalize;
}
.text-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; margin-top: 18px; font-size: .93rem; }
.text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.text-link.btn { margin-top: 0; }
.fine-print { font-size: .8rem; line-height: 1.6; color: var(--ink-soft); margin-top: 18px; }
.wide-copy { max-width: 790px; font-size: 1.13rem; color: var(--ink-soft); margin-bottom: 26px; }
.tint-sky { background: var(--bg-sky); }.tint-lav { background: var(--bg-lav); }.tint-peach { background: var(--bg-peach); }.tint-mint { background: var(--bg-mint); }.tint-butter { background: var(--bg-butter); }.tint-pink { background: var(--bg-pink); }
.content-card { padding: 30px; background: var(--card, #fff); border-radius: 28px; box-shadow: var(--shadow-sm); }
.content-card h3 { font-size: 1.6rem; margin-bottom: 18px; }
.content-card p { color: var(--ink-soft); margin-top: 12px; font-size: .98rem; }
.plain-list { list-style: disc; padding-left: 20px; margin: 20px 0; display: grid; gap: 12px; color: var(--ink-soft); font-size: .96rem; }
.plain-list li::marker { color: #8184AA; }
.problem-list { display: grid; gap: 16px; margin-top: 22px; }
.problem-list li { padding: 17px 20px; border-radius: 18px; background: #fff9; font-size: .95rem; }
.problem-list b { display: block; margin-bottom: 4px; }
.audience-paths { display: grid; gap: 22px; }
.audience-paths article { padding: 28px; background: #fff; border-radius: 28px; box-shadow: var(--shadow-sm); }
.audience-paths h3 { font-size: 1.6rem; margin-bottom: 10px; }
.audience-paths p { color: var(--ink-soft); }
.service-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 24px; }
.service-summary { display: flex; flex-direction: column; padding: 30px; background: var(--card-bg); border: 1px solid var(--card); border-radius: 30px; box-shadow: var(--shadow-sm); }
.service-summary>.section-label { align-self: flex-start; padding: 7px 13px; border-radius: 999px; background: var(--card); color: var(--ink); }
.service-summary h3 { font-size: 1.8rem; margin-bottom: 18px; }
.service-summary p { font-size: .98rem; color: var(--ink-soft); }
.service-summary .plain-list { flex: 1; }
.service-summary .result-line { padding: 17px 0; border-top: 1px solid var(--card); font-size: .88rem; margin: 8px 0 22px; }
.service-summary .btn { margin-top: auto; align-self: flex-start; }
.connected-services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.connected-services li { position: relative; padding: 25px; border-radius: 26px; background: var(--card); }
.connected-services li > div { display: grid; gap: 10px; }
.connected-services b { font-size: 1.5rem; font-family: var(--font-head); }
.connected-services span { font-size: .95rem; color: var(--ink-soft); }
.draft-note { padding: 17px 20px; border-radius: 16px; background: #FFF2C9; border: 1px dashed #D0B666; font-size: .85rem; color: #665329; line-height: 1.6; margin: 20px 0 28px; }
.draft-label { display: inline-block; padding: 2px 8px; margin-right: 9px; background: #F2D77F; border-radius: 6px; font-size: .73rem; font-weight: 700; color: #463818; }
.table-wrap { overflow-x: auto; border-radius: 24px; border: 1px solid #E1DDEB; background: #fff; }
table { border-collapse: collapse; width: 100%; text-align: left; font-size: .94rem; }
th,td { padding: 20px 24px; vertical-align: top; }
th { background: #F0EBFA; font-weight: 700; }
td { border-top: 1px solid #EAE6F0; color: var(--ink-soft); }
td .text-link { margin-top: 0; font-size: .9rem; }
td a:hover { text-decoration: underline; }
.signal-flow { display: flex; flex-wrap: wrap; gap: 13px 20px; margin: 27px 0; }
.signal-flow li { padding: 9px 14px; border-radius: 999px; background: #fff; font-size: .84rem; font-weight: 700; }
.signal-flow li:not(:last-child)::after { content: ' →'; margin-left: 10px; }
.example-feed { background: var(--ink); color: #fff; padding: 28px; border-radius: 32px; box-shadow: var(--shadow); }
.example-feed .section-label, .example-feed .fine-print { color: #D4D3E6; }
.example-feed article { display: flex; gap: 16px; align-items: center; padding: 19px 16px; background: #ffffff0d; border-radius: 18px; margin: 12px 0; }
.example-feed h3 { font-family: var(--font-body); font-size: .95rem; font-weight: 600; line-height: 1.4; letter-spacing: 0; }
.example-feed article p { font-size: .8rem; color: #CECEDD; margin-top: 5px; }
.example-feed article>span { flex: none; padding: 6px 9px; background: var(--mint); border-radius: 8px; color: var(--ink); font-size: .67rem; font-weight: 700; }
.spaced-heading { margin: 40px 0 22px; font-size: 1.6rem; }
.buyer-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.provider-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.provider-card { display: flex; flex-direction: column; min-width: 0; min-height: 294px; padding: 22px 23px 20px; background: var(--provider-card); border-radius: 24px; box-shadow: var(--shadow-sm); transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s; }
.provider-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -28px rgba(28,27,65,.35); }
.provider-number { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--lav); color: var(--ink); font-size: .75rem; font-weight: 700; }
.provider-card h3 { max-width: 26ch; margin: 11px 0 9px; font-size: clamp(1.18rem, 1.6vw, 1.38rem); line-height: 1.16; }
.provider-card-body { display: grid; gap: 9px; margin-bottom: 13px; }
.provider-card-body p { color: var(--ink-soft); font-size: .82rem; line-height: 1.45; }
.provider-card-body b { display: block; margin-bottom: 2px; color: var(--ink); font-size: .78rem; }
.provider-logo-rail { min-width: 0; margin-top: auto; padding-top: 14px; border-top: 1px solid rgba(28,27,65,.16); }
.provider-logo-viewport { height: 68px; overflow: hidden; mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent); }
.provider-logo-track { display: flex; width: max-content; animation: provider-logo-drift 32s linear infinite; will-change: transform; }
.provider-card:nth-child(even) .provider-logo-track { animation-direction: reverse; animation-duration: 36s; }
.provider-logo-set { display: flex; gap: 11px; padding-right: 11px; flex: none; }
.provider-logo { display: flex; justify-content: center; align-items: center; gap: 7px; flex: none; width: 166px; height: 68px; padding: 9px 11px; background: rgba(255,255,255,.82); border-radius: 11px; }
.provider-logo img { display: block; width: 100%; max-width: 143px; max-height: 49px; object-fit: contain; }
.provider-logo-dark { background: #242342; }
.provider-logo-symbol img { width: auto; max-width: 38px; max-height: 38px; flex: none; }
.provider-logo-symbol span { color: var(--ink); font-size: .7rem; font-weight: 700; line-height: 1.15; }
.provider-logo-dark span { color: #fff; }
.provider-logo-rail:hover .provider-logo-track, .provider-logo-rail:focus-within .provider-logo-track { animation-play-state: paused; }
.provider-card:last-child:nth-child(odd) { grid-column: 1 / -1; width: calc((100% - 18px) / 2); justify-self: center; }
@keyframes provider-logo-drift { to { transform: translateX(-50%); } }
@media(max-width:760px) {
  .provider-grid { grid-template-columns: 1fr; }
  .provider-card:last-child:nth-child(odd) { grid-column: auto; width: 100%; }
}
@media(max-width:440px) {
  .provider-card { padding: 19px; }
  .provider-logo { width: 148px; }
}
.step-index { display: inline-grid; place-items: center; width: 46px; height: 46px; background: var(--lav); border-radius: 50%; font-weight: 700; margin-bottom: 20px; }
.work-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.work-steps li { padding: 25px 20px; border-radius: 24px; background: #fff; box-shadow: var(--shadow-sm); }
.work-steps h3 { font-size: 1.35rem; margin-bottom: 12px; }
.work-steps p { font-size: .91rem; color: var(--ink-soft); }
.checklist { display: grid; gap: 16px; max-width: 800px; }
.checklist li { display: flex; align-items: flex-start; gap: 15px; padding: 19px 24px; border-radius: 18px; background: #fff; }
.checklist li::before { content: '✓'; font-weight: 700; color: #3F8669; }
.showcase .cal-card, .showcase .brief-card { min-width: 0; }
.js .cal-card .slot.booked { opacity: 1; transform: none; }
.event-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr)); gap: 19px; align-items: start; }
.event-card { background: #fff; border: 1px solid #E1DDED; border-radius: 24px; box-shadow: var(--shadow-sm); overflow: hidden; }
.event-card summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 15px; padding: 16px 20px 21px; cursor: pointer; list-style: none; }
.event-card summary::-webkit-details-marker { display: none; }
.event-card summary:hover .event-logo-panel { border-color: #B9ADD9; }
.event-toggle { font-size: 23px; transition: transform .25s ease; }
.event-card[open] .event-toggle { transform: rotate(45deg); }
.event-logo-panel { display: grid; place-items: center; grid-column: 1 / -1; width: 100%; height: 106px; padding: 20px; background: #F7F5FC; border: 1px solid #E9E4F3; border-radius: 16px; transition: border-color .25s ease; }
.event-logo-panel img { display: block; width: 100%; max-width: 240px; max-height: 64px; object-fit: contain; }
.event-logo-dark { background: #242342; border-color: #242342; }
.event-logo-dark img { max-height: 59px; }
.event-name { min-width: 0; }
.event-card b { font-size: .98rem; }
.event-card small { display: block; color: var(--ink-soft); font-size: .76rem; margin-top: 5px; }
.event-detail { padding: 0 23px 25px; display: grid; gap: 14px; font-size: .94rem; color: var(--ink-soft); }
.event-detail .btn { margin-top: 4px; font-size: .85rem; }
.event-detail .text-link { margin-top: 0; font-size: .85rem; }
.event-status { justify-self: start; padding: 4px 9px; border-radius: 7px; font-size: .73rem; background: var(--sky); color: var(--ink); }
.event-perk { position: relative; display: grid; grid-template-columns: 1.06fr .94fr; align-items: end; gap: clamp(30px, 5vw, 74px); overflow: hidden; padding: clamp(31px, 4vw, 48px); border-radius: 27px; background: #20234E; color: #fff; }
.event-perk::before { content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #FF7457, #B69CFF 54%, #73D9BD); }
.event-perk-kicker { margin: 0 0 18px; color: #CFCBFF; font-size: .75rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.event-perk h3 { margin: 0; font-size: clamp(2rem, 3.2vw, 3.15rem); line-height: 1.06; letter-spacing: -.045em; }
.event-perk h3 span { color: #B9A7FF; }
.event-perk-detail p { max-width: 42ch; color: #E1E0F2; font-size: 1.02rem; line-height: 1.7; }
.event-perk-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 23px; padding-bottom: 4px; border-bottom: 1px solid #ADAAF0; color: #fff; font-size: .91rem; font-weight: 700; }
.event-perk-link:hover { border-color: #fff; }
.event-perk-link:focus-visible { outline-color: #fff; }
.event-marquee { margin: 31px 0 12px; overflow: hidden; mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent); }
.event-marquee-track { display: flex; width: max-content; animation: event-logo-scroll 37s linear infinite; will-change: transform; }
.event-marquee-set { display: flex; gap: 20px; padding-right: 20px; flex: none; }
.event-marquee-logo { display: grid; place-items: center; width: 240px; height: 118px; flex: none; padding: 22px; background: #fff; border: 1px solid #E8E2EA; border-radius: 21px; box-shadow: 0 10px 24px rgba(27, 25, 67, .06); }
.event-marquee-logo img { display: block; width: 100%; height: 100%; max-width: 204px; max-height: 73px; object-fit: contain; }
.event-marquee-dark { background: #242342; border-color: #242342; }
.event-marquee:hover .event-marquee-track { animation-play-state: paused; }
@keyframes event-logo-scroll { to { transform: translateX(-50%); } }
.closing-section .section-heading { max-width: 800px; }
.closing-section .hero-actions { margin-bottom: 0; }
.detail-promise-grid>article:last-child:nth-child(odd) { grid-column: 1 / -1; }
.detail-promise-grid>article:last-child:nth-child(odd) h2 { max-width: none; }
.reading-copy { max-width: 840px; margin-inline: auto; }
.reading-copy>p { font-size: 1.12rem; color: var(--ink-soft); margin-bottom: 23px; }
.reading-copy section { margin-bottom: 40px; }
.reading-copy section h2 { font-size: 2rem; margin-bottom: 19px; }
.reading-copy section p { font-size: 1.06rem; color: var(--ink-soft); line-height: 1.85; }
.founder-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 55px; align-items: center; }
.founder-layout article>p { color: var(--ink-soft); margin: 20px 0; }
.photo-placeholder { min-height: 380px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 23px; border: 2px dashed #C5B6E8; border-radius: 32px; background: linear-gradient(135deg, #E6E0FF, #DCEBFF); }
.photo-placeholder>span { display: grid; place-items: center; width: 140px; height: 140px; border-radius: 50%; background: #ffffff88; font-size: 3rem; font-family: var(--font-head); font-weight: 800; color: #77719C; }
.photo-placeholder small { font-size: .82rem; color: #686185; }
.pending-link { display: inline-block; font-size: .8rem; color: #6A6484; padding: 7px 10px; background: #F0EBF9; border-radius: 8px; }
.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.team-card { padding: 25px; border-radius: 28px; background: #fff; }
.small-photo { min-height: 210px; border-radius: 20px; margin-bottom: 25px; }
.small-photo>span { width: 90px; height: 90px; font-size: 2rem; }
.team-card h3 { font-size: 1.6rem; margin-bottom: 12px; }
.team-card>p { margin: 12px 0; font-size: .94rem; color: var(--ink-soft); }
.team-role { font-weight: 700; }
.team-card .pending-link { margin-top: 12px; }
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.post-card { display: flex; flex-direction: column; gap: 18px; background: #fff; border: 1px solid #E6E0EE; padding: 28px; border-radius: 27px; box-shadow: var(--shadow-sm); }
.post-card h3 { font-size: 1.5rem; line-height: 1.25; }
.post-card h3 a:hover, .post-card h2 a:hover { text-decoration: underline; text-underline-offset: 5px; }
.post-card p { font-size: .96rem; color: var(--ink-soft); }
.post-category { color: #665685; font-size: .76rem; font-weight: 700; }
.reading-time { color: var(--ink-soft); font-size: .77rem; }
.post-card .text-link { margin-top: auto; }
.featured-post { padding: 40px; margin: 30px 0; background: linear-gradient(130deg, var(--lav), var(--bg-sky)); max-width: 100%; }
.featured-post h2 { max-width: 24ch; font-size: clamp(2rem, 3.5vw, 3rem); margin: 0; }
.blog-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0 15px; }
.filter-btn { padding: 11px 16px; border-radius: 999px; background: #fff; border: 1px solid #DBD4EC; font-size: .8rem; font-weight: 600; }
.filter-btn.active { background: var(--ink); color: #fff; border-color: var(--ink); }
#blog-count { margin-bottom: 25px; }
.signup-card { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.signup-card h2 { font-size: 2.4rem; margin-bottom: 20px; }
.signup-card p { color: var(--ink-soft); }
.preview-signup label { display: block; font-size: .85rem; font-weight: 700; margin-bottom: 10px; }
.preview-signup input { width: 100%; padding: 15px 17px; min-width: 0; background: #fff; border: 1px solid #C9C4DA; border-radius: 13px; font-size: .95rem; }
.inline-fields { display: flex; gap: 12px; }
.inline-fields .btn { flex: none; }
.resource-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 25px; }
.resource-card { display: flex; flex-direction: column; align-items: flex-start; padding: 32px; background: #fff; border: 1px solid #E1DDEB; border-radius: 28px; }
.resource-kind { font-size: .78rem; font-weight: 700; color: #6B598A; margin-bottom: 20px; }
.resource-card h2 { font-size: 1.9rem; margin-bottom: 15px; }
.resource-card p { color: var(--ink-soft); margin-bottom: 22px; }
.resource-card .btn { margin-bottom: 8px; }
.resource-card form { width: 100%; margin-top: 22px; border-top: 1px solid #E8E0F0; padding-top: 22px; }
.glossary { display: grid; gap: 18px; }
.glossary>div { padding: 25px; background: #fff; border-radius: 20px; }
.glossary dt { font-size: 1.12rem; font-weight: 700; margin-bottom: 10px; }
.glossary dd { color: var(--ink-soft); max-width: 80ch; }
.article-hero { padding: 130px 0 50px; background: var(--bg-lav); }
.article-hero h1 { font-size: clamp(2.3rem, 4vw, 3.5rem); margin: 22px 0 28px; }
.article-hero .section-label { display: block; margin-top: 24px; }
.article-answer { font-size: 1.2rem; color: var(--ink-soft); line-height: 1.8; }
.article-byline { margin-top: 24px; font-size: .87rem; }
.article-byline .text-link { margin: 0; font-size: .87rem; }
.key-points { padding: 28px; background: var(--bg-mint); border-radius: 25px; margin: 40px 0; }
.key-points h2 { font-size: 1.8rem; }
.key-points .plain-list { margin-bottom: 0; }
.field label { display: block; margin-bottom: 8px; font-size: .85rem; font-weight: 600; }
.form-card .draft-note { font-size: .78rem; padding: 14px 16px; }
.form-status { font-size: .88rem; margin-top: 18px; color: #365F4C; overflow-wrap: anywhere; }
.form-status.error { color: #9F294B; }
.form-status a { text-decoration: underline; }
.form-title { font-size: 1.7rem; }
.form-row { gap: 18px; }
.nav-bar.main-nav { gap: 16px; padding: 10px 13px 10px 23px; }
.nav-logo .header-wordmark { display: block; height: 46px; width: auto; mix-blend-mode: multiply; }
.main-nav .nav-links { gap: 5px; }
.main-nav .nav-links>a:not(.btn) { font-size: .86rem; padding: 10px 11px; }
.nav-actions { display: flex; align-items: center; gap: 9px; }
.header-cta { white-space: nowrap; font-size: .85rem; }
.header-cta span { display: none; }
.nav-menu { position: relative; }
.nav-menu>summary { cursor: pointer; font-size: .86rem; font-weight: 600; color: var(--ink-soft); padding: 10px 11px; border-radius: 18px; list-style: none; white-space: nowrap; }
.nav-menu>summary::-webkit-details-marker { display: none; }
.nav-menu>summary::after { content: '⌄'; margin-left: 7px; }
.nav-menu[open]>summary { background: var(--lav); color: var(--ink); }
.dropdown-panel { position: absolute; top: calc(100% + 10px); left: 0; padding: 12px; background: #fff; width: 255px; border: 1px solid #E7E1F0; border-radius: 20px; box-shadow: var(--shadow); }
.dropdown-panel a { display: block; font-size: .85rem!important; padding: 12px!important; border-radius: 12px!important; }
.main-nav [aria-current="page"] { color: var(--ink)!important; font-weight: 700!important; background: var(--bg-lav); }
.footer-grid { grid-template-columns: 1.5fr 1.1fr 1fr 1.1fr; gap: 32px; }
.footer-col h3 { font-family: var(--font-body); font-size: .95rem; letter-spacing: 0; margin-bottom: 7px; }
.footer-col a,.footer-col p { font-size: .85rem; overflow-wrap: anywhere; }
.footer-brand>p { font-size: .92rem; }
.footer-brand>a { font-size: .89rem; }
.footer-legal-links { flex-wrap: wrap; gap: 20px; }
.footer-legal-links a { font-size: .8rem; color: #D0D0DE; }
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation-play-state: paused!important; }
@media(max-width:1100px) {
  .main-nav .nav-links>a:not(.btn), .nav-menu>summary { font-size: .8rem; padding: 10px 7px; }
  .header-cta { padding: 13px 17px; font-size: .79rem; }
  .nav-logo .header-wordmark { height: 41px; }
  .work-steps { grid-template-columns: repeat(3,1fr); }
  .post-grid { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; gap: 35px; }
}
@media(max-width:960px) {
  .event-perk { grid-template-columns: 1fr; gap: 22px; }
  .nav-bar.main-nav { padding: 9px 12px 9px 20px; }
  .main-nav .nav-links>a:not(.btn), .nav-menu>summary { padding: 13px 16px; font-size: .95rem; }
  .main-nav .nav-links { max-height: calc(100vh - 115px); overflow-y: auto; }
  .nav-menu { width: 100%; }
  .dropdown-panel { position: static; width: 100%; margin-top: 6px; box-shadow: none; background: #F8F5FD; border: 0; }
  .main-nav .nav-links>a { display: block; }
  .site-hero .hero-grid { grid-template-columns: 1fr; gap: 35px; }
  .site-hero .detail-visual { max-width: 580px; width: 100%; margin: auto; }
  .site-hero { padding-top: 130px; }
  .founder-layout { gap: 35px; }
  .signup-card { grid-template-columns: 1fr; gap: 25px; }
  .connected-services { gap: 22px; }
}
@media(max-width:640px) {
  .event-perk { padding: 28px 25px 30px; border-radius: 22px; }
  .event-perk h3 { font-size: clamp(1.85rem, 8vw, 2.5rem); }
  .event-perk-detail p { font-size: .96rem; }
  .page-section { padding: 58px 0; }
  .section-heading { margin-bottom: 28px; }
  .site-hero h1 { font-size: 2.65rem; }
  .site-hero .hero-sub { font-size: 1.05rem; }
  .site-hero { padding: 115px 0 55px; }
  .section-label { font-size: .74rem; }
  .header-cta { width: auto; font-size: .73rem; padding: 13px 14px; }
  .nav-logo .header-wordmark { width: 130px; height: auto; }
  .nav-bar.main-nav { padding: 9px 10px 9px 14px; gap: 7px; }
  .nav-actions { gap: 6px; }
  .main-nav .menu-toggle { width: 40px; height: 40px; flex: none; }
  .buyer-grid,.resource-grid,.team-grid,.post-grid,.founder-layout,.work-steps,.connected-services { grid-template-columns: 1fr; }
  .connected-services { gap: 30px; }
  .service-summary { padding: 27px; }
  .service-summary h3 { font-size: 1.8rem; }
  .content-card { padding: 26px; }
  .example-feed { padding: 24px 18px; }
  .example-feed article { flex-wrap: wrap; }
  .example-feed article>span { margin-top: 2px; }
  .work-steps li { display: flex; gap: 18px; align-items: flex-start; }
  .work-steps .step-index { flex: none; margin: 0; }
  .work-steps h3 { font-size: 1.3rem; }
  .table-wrap { border-radius: 18px; }
  th,td { padding: 17px; min-width: 160px; font-size: .87rem; }
  .photo-placeholder { min-height: 290px; }
  .small-photo { min-height: 230px; }
  .featured-post { padding: 28px; }
  .resource-card { padding: 26px; }
  .inline-fields { flex-direction: column; }
  .article-hero { padding-top: 115px; }
  .article-hero h1 { font-size: 2.45rem; }
  .article-answer { font-size: 1.08rem; }
  .reading-copy section h2 { font-size: 1.8rem; }
  .reading-copy section p { font-size: 1rem; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 25px; }
  .footer-brand { grid-column: 1/-1; }
  .footer-brand>p { max-width: 45ch; }
  .event-card summary { padding: 14px 16px 19px; gap: 12px; }
  .event-logo-panel { height: 96px; }
  .event-marquee { margin-top: 24px; }
  .event-marquee-logo { width: 200px; height: 100px; padding: 19px; }
  .event-marquee-logo img { max-height: 62px; }
  .event-card b { font-size: .91rem; }
  .detail-promise-grid>article:last-child:nth-child(odd) { grid-column: auto; }
}
@media(max-width:380px) {
  .nav-logo .header-wordmark { width: 90px; }
  .header-cta { font-size: .67rem; padding: 12px 10px; }
  .main-nav .menu-toggle { width: 36px; height: 36px; }
  .site-hero h1 { font-size: 2.4rem; }
}
/* Homepage hero: the original motion artwork, placed directly on the page. */
.home-hero-refined { padding: 138px 0 64px; }
.home-hero-refined .hero-grid { width: min(1420px, calc(100% - var(--gutter) * 3)); grid-template-columns: .94fr 1.06fr; gap: 44px; }
.home-hero-refined .section-label { font-size: .73rem; letter-spacing: .035em; margin-bottom: 25px; }
.home-hero-refined h1 { font-size: clamp(2.9rem, 4.6vw, 4.3rem); line-height: 1.06; letter-spacing: -.045em; margin-bottom: 27px; text-wrap: initial; }
.home-hero-refined h1>span { display: block; }
.home-hero-refined .hero-sub { max-width: 52ch; font-size: 1.1rem; line-height: 1.75; margin-bottom: 29px; }
.home-hero-refined .hero-actions { gap: 14px; margin-bottom: 23px; }
.home-hero-refined .hero-actions .btn { padding: 16px 23px; font-size: .88rem; }
.home-hero-refined .detail-visual { width: calc(100% + 20px); padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; margin: -8px -20px 0 0; }
.home-hero-refined .detail-visual img { display: block; width: 100%; height: auto; border: 0; border-radius: 0; box-shadow: none; }
.home-hero-refined .check-row { gap: 10px 22px; }
.home-hero-refined .check-row li { font-size: .75rem; }
@media(max-width:1100px) and (min-width:961px) {
  .home-hero-refined .hero-grid { gap: 26px; }
  .home-hero-refined h1 { font-size: 3.3rem; }
  .home-hero-refined .hero-actions .btn { padding: 15px 19px; font-size: .8rem; }
}
@media(max-width:960px) {
  .home-hero-refined { padding-top: 125px; }
  .home-hero-refined .hero-grid { width: min(var(--maxw), calc(100% - var(--gutter) * 2)); grid-template-columns: 1fr; gap: 24px; }
  .home-hero-refined .hero-copy { max-width: 650px; }
  .home-hero-refined h1 { font-size: clamp(3rem, 7.4vw, 4.05rem); }
  .home-hero-refined .detail-visual { width: 100%; max-width: 580px; margin: 0 auto; }
}
@media(max-width:640px) {
  .home-hero-refined { padding: 116px 0 44px; }
  .home-hero-refined .section-label { font-size: .66rem; margin-bottom: 21px; }
  .home-hero-refined h1 { font-size: clamp(2.35rem, 10vw, 3.45rem); margin-bottom: 23px; }
  .home-hero-refined .hero-sub { font-size: .97rem; line-height: 1.75; margin-bottom: 25px; }
  .home-hero-refined .hero-actions { flex-direction: row; flex-wrap: wrap; gap: 12px; }
  .home-hero-refined .hero-actions .btn { width: auto; padding: 15px 18px; font-size: .81rem; }
  .home-hero-refined .check-row { display: grid; gap: 8px; }
  .home-hero-refined .check-row li { font-size: .72rem; }
  .home-hero-refined .hero-grid { gap: 15px; }
}

/* Restore the original sticky service story, using the current three programs. */
.service-story { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 72px); align-items: start; }
.service-story-sticky { position: sticky; top: 112px; }
.service-stage { display: flex; flex-direction: column; height: min(620px, calc(100svh - 150px)); min-height: 410px; padding: 24px; border-radius: 38px; background: var(--sky); box-shadow: var(--shadow); transition: background-color .7s ease; overflow: hidden; }
.service-stage[data-active="1"] { background: var(--lav); }
.service-stage[data-active="2"] { background: var(--peach); }
.service-stage-top, .service-stage-bottom { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.service-stage-count { padding: 8px 13px; border-radius: 999px; background: #ffffffc9; font-size: .76rem; font-weight: 700; white-space: nowrap; }
.service-stage-name { font-family: var(--font-head); font-weight: 800; font-size: clamp(1.1rem, 2vw, 1.55rem); }
.service-stage-scenes { position: relative; flex: 1; min-height: 0; margin: 15px -9px; }
.service-scene { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; transform: translateY(20px) scale(.94); transition: opacity .55s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
.service-scene.active { opacity: 1; transform: none; }
.service-stage-bottom>span { font-size: .74rem; font-weight: 500; color: var(--ink-soft); }
.service-stage-dots { display: flex; gap: 7px; }
.service-stage-dots i { width: 8px; height: 8px; border-radius: 99px; background: #20224730; transition: width .45s, background .45s; }
.service-stage-dots i.on { width: 28px; background: var(--ink); }
.service-story-cards { display: grid; gap: 42px; padding-bottom: 20px; }
.service-story-card { display: flex; align-items: center; min-height: min(78svh, 700px); border: 1px solid var(--card); border-radius: 32px; background: var(--card-bg); transition: box-shadow .4s, border-color .4s; }
.service-story-card.active { border-color: var(--ink); box-shadow: 0 18px 46px -30px #20224755; }
.service-card-copy { width: 100%; padding: clamp(26px, 3vw, 42px); }
.service-card-kicker { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; font-size: .85rem; font-weight: 700; }
.service-card-kicker>span { display: grid; place-items: center; width: 35px; height: 35px; background: var(--card); border-radius: 50%; font-size: .76rem; }
.service-card-copy h3 { font-size: clamp(1.8rem, 2.7vw, 2.5rem); line-height: 1.1; margin-bottom: 20px; }
.service-card-copy>p:not(.service-card-kicker) { font-size: .98rem; color: var(--ink-soft); }
.service-card-list { display: grid; gap: 13px; margin: 24px 0; }
.service-card-list li { position: relative; padding-left: 28px; font-size: .9rem; line-height: 1.6; }
.service-card-list li::before { content: '✓'; position: absolute; left: 0; top: 1px; display: grid; place-items: center; width: 19px; height: 19px; font-size: .65rem; font-weight: 700; background: var(--card); border-radius: 50%; }
.service-card-copy .service-card-result { border-top: 1px solid var(--card); padding-top: 20px; font-weight: 700; }
.service-card-mobile-art { display: none; }

/* Progressive enhancement: content stays readable if observers are unavailable. */
.motion-ready .scroll-reveal { opacity: 0; transform: translate3d(0, 32px, 0); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); transition-delay: var(--reveal-delay, 0ms); }
.motion-ready .scroll-reveal.reveal-scale { transform: translate3d(0, 24px, 0) scale(.95); }
.motion-ready .scroll-reveal.is-revealed { opacity: 1; transform: none; }
.motion-ready .provider-card.scroll-reveal.is-revealed:hover { transform: translateY(-4px); }
.motion-ready .provider-card.scroll-reveal:not(.is-revealed) .provider-logo-track { animation-play-state: paused; }
.motion-ready .cal-card.is-revealed .slot.booked { animation: slotPop .7s cubic-bezier(.2,.9,.3,1.2) both; }
.motion-ready .cal-card:not(.is-revealed) .slot.booked { opacity: 0; }
.site-header > .container { transition: width .55s cubic-bezier(.22,1,.36,1); }
.site-header.is-scrolled > .container { width: min(1540px, calc(100% - 32px)); }
.site-header .nav-bar { transition: padding .45s cubic-bezier(.22,1,.36,1), box-shadow .35s, background .35s; }
.site-header.is-scrolled .nav-bar { background: #fffffff5; box-shadow: 0 9px 30px -15px #20224744; }
@media(min-width:961px) {
  .site-header.is-scrolled .nav-bar.main-nav { padding: 13px 22px 13px 27px; }
}
@media(max-width:960px) {
  .site-header.is-scrolled > .container { width: calc(100% - 24px); }
}
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation-play-state: paused!important; transition: none!important; }
.motion-paused .scroll-reveal, .motion-paused .cal-card .slot.booked { opacity: 1!important; transform: none!important; }
@media(max-width:960px) {
  .service-story { grid-template-columns: 1fr; }
  .service-story-sticky { display: none; }
  .service-story-cards { gap: 30px; padding-bottom: 0; }
  .service-story-card { min-height: 0; flex-direction: column; overflow: hidden; }
  .service-card-mobile-art { display: block; width: 100%; background: var(--card); padding: 18px 24px 0; }
  .service-card-mobile-art img { width: 100%; height: auto; max-height: 420px; object-fit: contain; }
  .service-card-copy { padding: 30px; }
}
@media(max-width:640px) {
  .service-card-copy { padding: 27px; }
  .service-card-copy h3 { font-size: 1.95rem; }
  .service-card-mobile-art { padding: 12px 8px 0; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  * { animation: none!important; transition: none!important; }
  .provider-logo-viewport { height: auto; overflow: visible; mask-image: none; }
  .provider-logo-track { width: 100%; }
  .provider-logo-set { width: 100%; flex-wrap: wrap; padding-right: 0; }
  .provider-logo-set[aria-hidden="true"] { display: none; }
  .provider-logo { width: calc((100% - 11px) / 2); }
  .event-marquee { overflow: visible; mask-image: none; }
  .event-marquee-track { width: 100%; }
  .event-marquee-set { width: 100%; flex-wrap: wrap; justify-content: center; gap: 14px; padding-right: 0; }
  .event-marquee-set[aria-hidden="true"] { display: none; }
  .event-marquee-logo { width: min(240px, 100%); }
  .motion-ready .scroll-reveal, .motion-ready .cal-card .slot.booked { opacity: 1; transform: none; }
}

/* Commercial positioning and process timeline. */
.role-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: 650px; margin: 25px 0 8px; }
.role-list li { display: flex; align-items: center; min-height: 62px; padding: 14px 18px; border: 1px solid #D5D1E8; border-radius: 16px; background: #fff; font-weight: 700; line-height: 1.3; }
.role-list li::before { content: ''; width: 8px; height: 8px; margin-right: 12px; flex: none; border-radius: 50%; background: #8070D8; }
.compact-list { gap: 7px; margin-bottom: 0; }
.target-market-grid .provider-card { min-height: 184px; }
.target-market-grid .provider-card h3 { margin-bottom: 22px; }
.engagement-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.engagement-options.two-offers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.engagement-options article { padding: clamp(24px, 3vw, 34px); border: 1px solid #DDD7ED; border-radius: 25px; background: #fff; box-shadow: var(--shadow-sm); }
.engagement-options article > span { display: block; margin-bottom: 19px; color: #6159A1; font-size: .74rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.engagement-options h3 { font-size: clamp(1.35rem, 2vw, 1.75rem); margin-bottom: 13px; }
.engagement-options p { color: var(--ink-soft); font-size: .94rem; line-height: 1.65; }
.service-offer-note { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 26px; padding: 28px 32px; border-radius: 24px; background: #20234E; color: #fff; }
.service-offer-note span { display: block; margin-bottom: 5px; color: #C6B8FF; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.service-offer-note strong { display: block; font-family: var(--font-head); font-size: clamp(1.2rem, 2vw, 1.6rem); line-height: 1.2; }
.service-offer-note .text-link { flex: none; margin: 0; color: #fff; }
.work-steps { position: relative; gap: 13px; }
.work-steps::before { content: ''; position: absolute; top: 23px; left: 24px; right: 24px; height: 2px; background: #BBADE8; }
.work-steps li { position: relative; z-index: 1; padding: 0 18px 12px 0; border-radius: 0; background: transparent; box-shadow: none; }
.work-steps .step-index { width: 48px; height: 48px; margin-bottom: 22px; border: 2px solid #A890E7; background: #fff; box-shadow: 0 6px 18px -10px #29235F66; }
.work-steps h3 { font-size: clamp(1.14rem, 1.7vw, 1.34rem); }
.work-steps p { max-width: 24ch; }
@media (max-width: 1100px) {
  .work-steps { grid-template-columns: 1fr; gap: 0; }
  .work-steps::before { top: 22px; bottom: 32px; left: 23px; right: auto; width: 2px; height: auto; }
  .work-steps li { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: start; gap: 16px; padding: 0 0 29px; }
  .work-steps .step-index { margin: 0; }
  .work-steps h3 { margin: 1px 0 7px; }
  .work-steps p { max-width: 70ch; }
}
@media (max-width: 760px) {
  .engagement-options, .engagement-options.two-offers { grid-template-columns: 1fr; }
  .service-offer-note { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 460px) {
  .role-list { grid-template-columns: 1fr; }
  .role-list li { min-height: 54px; }
  .service-offer-note { padding: 24px; }
}
