/* Panabistics marketing theme, matched to the approved pricing experience. */
:root {
  color-scheme: dark;
  --bg: #09090b; --bg-soft: #0d0d10; --panel: #111114; --panel-2: #15151a;
  --line: rgba(255,255,255,.075); --line-strong: rgba(255,255,255,.13);
  --text: #f7f7f8; --muted: #aaaab4; --muted-2: #80808b;
  --violet: #9d8cff; --violet-2: #7367f0; --blue: #7cc8ff;
  --black: #09090b; --dark-900: #0d0d10; --dark-800: #111114;
  --dark-700: #15151a; --dark-600: #202027; --dark-500: #35353e;
  --gray-100: #f7f7f8; --gray-200: #d1d1d8; --gray-300: #b9b9c3;
  --gray-400: #aaaab4; --gray-500: #92929e; --gray-600: #aaaab4;
  --accent: #9d8cff; --accent-dark: #b7abff; --accent-light: rgba(157,140,255,.08);
  --accent-glow: rgba(115,103,240,.16); --gold-muted: #aaa0dc;
  --gold-light: rgba(157,140,255,.07); --font: Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --shadow-card: 0 20px 60px rgba(0,0,0,.18);
  --shadow-card-hover: 0 20px 60px rgba(0,0,0,.24);
}
html { scroll-padding-top: 96px; }
body {
  background: radial-gradient(900px 520px at 74% -8%,rgba(115,103,240,.12),transparent 62%),var(--bg);
  color: var(--text); font: 400 16px/1.65 var(--font); -webkit-font-smoothing: antialiased;
}
::selection { background: rgba(157,140,255,.28); }
button,input,select,textarea { font: inherit; }
a,button,input,textarea,select,summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--violet); outline-offset: 5px; }
[hidden] { display: none !important; }
h1,h2,h3,h4,h5,h6 { color: var(--text); font-weight: 560; letter-spacing: -.025em; }
p { color: var(--muted); }
.container { max-width: 1240px; padding-inline: clamp(22px,4.5vw,48px); }
.top-bar,.hero-overlay,.hero-grid-bg { display: none; }
.navbar,.navbar.scrolled {
  top: 0; background: rgba(9,9,11,.86); backdrop-filter: blur(24px) saturate(130%);
  border-bottom: 1px solid var(--line); box-shadow: none;
}
.nav-container { min-height: 72px; gap: 22px; }
.nav-logo { gap: 10px; flex: 0 0 auto; }
.logo-mark {
  width: 28px; height: 28px; min-width: 28px; border-radius: 8px;
  background: linear-gradient(145deg,#b7adff,#6c60ea); position: relative;
  box-shadow: 0 0 28px rgba(115,103,240,.16); overflow: hidden;
}
.logo-mark i { display: none; }
.logo-mark::before,.logo-mark::after { content: ""; position: absolute; background: #0c0c0f; border-radius: 3px; }
.logo-mark::before { inset: 6px 12px 6px 6px; }
.logo-mark::after { inset: 6px 6px 12px 12px; }
.logo-text { font-size: 16px; font-weight: 650; letter-spacing: -.025em; color: var(--text); }
.nav-links { gap: 3px; margin-left: auto; }
.nav-link,.nav-dropdown-toggle { font-size: 14px; font-weight: 450; color: var(--muted); padding: 8px 9px; border-radius: 7px; line-height: 1.4; white-space: nowrap; }
.nav-link:hover,.nav-link-active,.nav-dropdown-toggle:hover { color: var(--text); background: rgba(255,255,255,.035); }
.nav-link::after { display: none; }
.nav-dropdown-icon { font-size: 12px; }
.nav-dropdown-menu { background: #121216; border: 1px solid var(--line-strong); border-radius: 12px; padding: 7px; box-shadow: 0 25px 65px #0008; }
.nav-dropdown-link { color: var(--muted); font-size: 14px; border-radius: 7px; padding: 10px 12px; }
.nav-dropdown-link:hover,.nav-dropdown-link-active { background: rgba(157,140,255,.07); color: var(--text); }
.nav-cta { padding: 8px 13px; border-radius: 8px; background: #f5f5f7; border: 1px solid #f5f5f7; color: #111114; font-size: 13px; font-weight: 560; white-space: nowrap; }
.nav-cta:hover { color: #111114; background: #fff; box-shadow: none; }
.nav-cta i { display: none; }
.mobile-toggle { color: var(--text); border: 1px solid var(--line-strong); border-radius: 8px; width: 38px; height: 38px; padding: 9px; }
.mobile-toggle span { background: #c5c5cd; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 2000; background: #fff; color: #111; padding: 10px 16px; border-radius: 8px; }
.skip-link:focus { top: 12px; }
.btn { padding: 11px 18px; border: 1px solid var(--line-strong); border-radius: 9px; font-size: 14px; line-height: 1.4; font-weight: 550; letter-spacing: -.01em; background: #131317; color: var(--text); box-shadow: none; min-height: 44px; }
.btn-accent,.btn-white { background: #f5f5f7; color: #111114; border-color: #f5f5f7; }
.btn-accent:hover,.btn-white:hover { background: #fff; color: #111114; border-color: #fff; box-shadow: none; }
.btn-ghost { background: rgba(255,255,255,.018); color: var(--text); border: 1px solid var(--line-strong); }
.btn-ghost:hover { background: #19191f; border-color: #ffffff30; }
.btn i.ph-arrow-right,.btn i.ph-arrow-down,.btn i.ph-paper-plane-right { display: none; }
.btn-lg { padding: 12px 20px; font-size: 14px; }
[data-animate] { opacity: 1; transform: none; }
.hero-eyebrow,.section-eyebrow { color: var(--muted-2); font-size: 12px; letter-spacing: .08em; font-weight: 550; }
.section-eyebrow i { display: none; }
.section-title { color: var(--text); font-size: clamp(32px,3.8vw,48px); font-weight: 540; line-height: 1.1; letter-spacing: -.042em; }
.section-header { margin-bottom: 34px; }
.section-subtitle { color: var(--muted); font-size: 16px; line-height: 1.7; margin-top: 18px; max-width: 760px; }
.hero-subtitle { color: #b1b1bb; font-size: 18px; font-weight: 400; line-height: 1.7; }
.intro,.services,.strategy-home,.readiness-home,.about,.process,.frameworks,.capabilities,.training-home,.blog-section,.contact,.mdel-details,.service-section,.service-section-alt,.banner,.cta-banner,.rs-callout {
  background: transparent; padding-block: 80px; border-top: 1px solid var(--line);
}
.home-page .intro { padding-block: 30px; }
.intro-layout { gap: 36px; }
.intro-text p,.about-text p,.contact-desc,.service-prose p { color: var(--muted); font-size: 16px; }
.intro-text h2 { color: var(--text); font-size: 25px; font-weight: 500; }
.intro-icon { display: none; }
.intro-feature { color: var(--muted); border-color: var(--line); }
.intro-feature i { color: var(--violet); }
.service-card,.mdel-card,.framework-item,.cap-item,.training-home-card,.readiness-home-card,.readiness-card,.training-card,.training-format-card,.training-specialized-card,.rs-problem-card,.rs-method-stage,.rs-eval-card,.rs-deliverable,.rs-market-card,.rs-audience-card,.rs-model-card,.rs-spectrum,.rs-future-callout,.rs-flow-node,.rs-multi-callout,.service-card-alt,.service-deliverable,.service-feature-card,.service-output-card,.service-scope-card,.service-fit-card,.service-package-card,.service-tier-card,.service-step,.service-warning,.service-disclaimer,.article-card,.article-card--full,.contact-form,.about-card {
  background: rgba(255,255,255,.018); border: 1px solid var(--line); border-radius: 14px; box-shadow: none; color: var(--text);
}
.service-card:hover,.mdel-card:hover,.framework-item:hover,.cap-item:hover,.training-card:hover,.training-home-card:hover,.readiness-home-card:hover { background: rgba(255,255,255,.028); border-color: var(--line-strong); box-shadow: none; }
.service-card { padding: 27px; }
.service-card::before,.service-card::after,.cta-banner::before,.banner::before,.rs-callout::before { display: none; }
.service-card h3,.training-home-card h3,.readiness-home-card h3 { font-size: 20px; font-weight: 550; color: var(--text); }
.service-card p,.service-card li,.service-link,.mdel-card p,.framework-item p,.cap-item span,.training-home-card p,.readiness-home-card p { color: var(--muted); font-size: 15px; line-height: 1.65; }
.service-icon,.mdel-card-icon,.fw-icon,.cap-icon,.ci-icon,.step-icon-wrap,.about-card-icon { background: rgba(157,140,255,.06); border-radius: 10px; color: var(--violet); box-shadow: none; }
.service-card li i,.service-link i { color: var(--violet); }
.service-card h3 { margin-top: 18px; }
.service-grid { gap: 14px; }
.strategy-home .container { display: grid; grid-template-columns: 1.15fr 1fr; gap: 14px 40px; align-items: center; }
.strategy-home .section-eyebrow,.strategy-home .section-title { grid-column: 1; }
.strategy-home p:not(.section-eyebrow) { color: var(--muted); }
.strategy-home .hero-actions { grid-column: 1/-1; margin-top: 12px; }
.readiness-home-grid,.training-home-grid { gap: 12px; }
.readiness-home-card,.training-home-card { padding: 25px; }
.readiness-home-card .service-link,.training-home-card .service-link { color: var(--violet); }
.about-layout { grid-template-columns: 1.2fr .8fr; gap: 50px; }
.about-tags { gap: 8px; }
.about-tag { background: #121216; color: var(--muted); border: 1px solid var(--line); border-radius: 7px; font-size: 13px; }
.about-card { padding: 24px; }
.about-card h4 { color: var(--text); }
.about-card p { color: var(--muted); font-size: 15px; }
.banner-accent { background: radial-gradient(650px 300px at 85% 0%,rgba(115,103,240,.08),transparent),#0d0d10; }
.banner h2,.cta-banner h2 { color: var(--text); font-size: clamp(30px,3.4vw,44px); font-weight: 540; letter-spacing: -.04em; }
.banner p,.cta-banner p { color: var(--muted); }
.step-num { color: var(--violet); background: #15131d; border: 1px solid #9d8cff20; border-radius: 10px; }
.step-line { background: var(--line); }
.step-body h3 { font-size: 19px; color: var(--text); font-weight: 550; }
.step-body p { color: var(--muted); font-size: 15px; }
.framework-grid,.cap-grid,.mdel-grid { gap: 12px; }
.framework-item,.cap-item { padding: 22px; }
.framework-item h4 { color: var(--text); font-size: 16px; }
.icon-tooltip { background: #19191f; border: 1px solid var(--line-strong); color: var(--muted); font-size: 14px; }
.article-list { gap: 12px; }
.article-card-header { padding: 26px; }
.article-card-header:hover { background: rgba(255,255,255,.025); }
.article-card-info h3 { color: var(--text); font-size: 21px; font-weight: 550; letter-spacing: -.025em; }
.article-tag { color: #aaa0dc; background: rgba(157,140,255,.055); border: 1px solid #9d8cff18; border-radius: 6px; font-size: 12px; }
.article-meta { color: var(--muted-2); font-size: 13px; }
.article-card-toggle { color: var(--muted); border-color: var(--line); background: #15151a; }
.article-card-content { border-color: var(--line); }
.article-body,.article-body p,.article-body li { color: var(--muted); font-size: 16px; line-height: 1.8; }
.article-body h3,.article-body h4 { color: var(--text); font-weight: 550; }
.article-body strong { color: #dddde4; }
.article-link { color: var(--violet); border-color: var(--line); }
.article-divider { background: var(--line); }
.article-checklist li i { color: var(--violet); }
.contact-layout { gap: 70px; }
.contact-form { padding: 30px; }
.form-group label { color: #c5c5ce; font-size: 14px; font-weight: 500; }
.form-group label i { display: none; }
.form-group input,.form-group textarea,.form-group select { color: var(--text); background: #0d0d10; border: 1px solid var(--line-strong); border-radius: 8px; padding: 12px 14px; font-size: 15px; }
.form-group input:focus,.form-group textarea:focus,.form-group select:focus { border-color: var(--violet); box-shadow: 0 0 0 3px #9d8cff12; background: #0e0e12; }
.form-group input::placeholder,.form-group textarea::placeholder { color: #757581; }
.form-group select option { background: #111114; color: var(--text); }
.contact-info-item strong { color: var(--text); font-weight: 500; }
.contact-info-item p,.fda-fields-note { color: var(--muted); }
.fda-fields { background: rgba(157,140,255,.035); border-color: #9d8cff20; border-radius: 10px; }
.footer { background: #09090b; border-top: 1px solid var(--line); padding-top: 60px; }
.footer-top { gap: 30px; }
.footer-col h4 { color: #dddde4; font-size: 14px; font-weight: 550; }
.footer-brand p,.footer-col li a { color: var(--muted-2); font-size: 14px; line-height: 1.65; }
.footer-col li a:hover { color: var(--text); }
.footer-col li i { display: none; }
.footer-bottom { border-color: var(--line); }
.footer-bottom p { color: var(--muted-2); font-size: 13px; }
.service-hero { background: radial-gradient(750px 400px at 80% 5%,#7367f016,transparent 70%),var(--bg); padding-block: 88px 72px; border-bottom: 1px solid var(--line); }
.service-hero-title { color: var(--text); font-size: clamp(38px,5.4vw,68px); line-height: 1.05; letter-spacing: -.05em; font-weight: 550; }
.service-hero-note,.rs-hero-note,.rs-method-intro,.rs-scope-note,.rs-eval-note { color: var(--muted); }
.service-section-alt { background: #0d0d10; }
.service-disclaimer { background: #111114; border-color: var(--line); }
.service-disclaimer strong { color: var(--text); }
.service-prose ul li,.service-prose ol li,.service-prose a { color: var(--muted); }
.rs-flow-node,.rs-spectrum-step { color: var(--text); border-color: var(--line); }
.rs-callout h2 { font-weight: 540; }
.module-crosslink { background: #111114; color: var(--text); border-color: var(--line); border-radius: 12px; }
.module-crosslink p { color: var(--muted); }
.insight-page { background: var(--bg); color: var(--text); }
.insight-hero { background: radial-gradient(800px 400px at 80% 0%,#7367f015,transparent),var(--bg); border-color: var(--line); }
.insight-hero h1 { font-weight: 550; letter-spacing: -.05em; color: var(--text); }
.insight-hero__lede,.insight-hero__meta,.insight-breadcrumb { color: var(--muted); }
.insight-article,.insight-prose { background: transparent; color: var(--muted); }
.insight-prose p,.insight-prose li { color: var(--muted); }
.insight-prose h2,.insight-prose h3,.insight-prose strong { color: var(--text); }
.insight-callout,.insight-checklist-box,.insight-reg-timeline,.insight-refs,.insight-cta { background: #111114; border-color: var(--line); color: var(--muted); border-radius: 14px; }
.insight-callout__label,.insight-kicker,.insight-prose a { color: var(--violet); }
.insight-share__btn { color: var(--muted); background: #141419; border-color: var(--line); }
.insight-progress__bar { background: var(--violet); }

/* Main site and platform narrative. */
.home-hero { padding: 88px 0 78px; position: relative; }
.home-hero-grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,1fr); gap: 64px; align-items: center; }
.announcement { display: inline-flex; align-items: center; gap: 12px; color: #b7b0d4; border: 1px solid #9d8cff25; background: #9d8cff06; border-radius: 999px; padding: 6px 11px; font-size: 12px; margin-bottom: 28px; }
.announcement span { color: #aaa0e8; font-size: 11px; padding-right: 12px; border-right: 1px solid #9d8cff25; }
.home-title { font-size: clamp(46px,5.45vw,72px); line-height: 1.04; font-weight: 550; letter-spacing: -.058em; margin: 0; }
.soft-gradient { background: linear-gradient(95deg,#f7f7f8 0%,#c8c1ff 55%,#84cfff 100%); color: transparent; background-clip: text; -webkit-background-clip: text; }
.home-copy { font-size: 18px; line-height: 1.7; letter-spacing: -.012em; margin-top: 25px; max-width: 550px; color: #b1b1bb; }
.home-hero .hero-actions { margin-top: 28px; gap: 10px; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 20px; font-size: 13px; color: var(--muted-2); margin-top: 34px; }
.hero-trust span { display: flex; align-items: center; gap: 7px; }
.hero-trust span::before { content: ""; width: 13px; height: 8px; border-left: 1px solid #9d8cff99; border-bottom: 1px solid #9d8cff99; transform: rotate(-45deg); margin-top: -4px; }
.platform-frame { position: relative; border: 1px solid var(--line-strong); border-radius: 16px; background: linear-gradient(180deg,#15151b,#0e0e12); box-shadow: 0 30px 90px #0006,0 0 90px #7367f010; overflow: hidden; }
.frame-top { display: flex; gap: 5px; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--line); color: #92929e; font-size: 12px; }
.frame-dot { width: 6px; height: 6px; background: #3b3b44; border-radius: 50%; }
.frame-top strong { margin-left: 8px; font-size: 12px; font-weight: 450; }
.frame-tag { margin-left: auto; font-size: 11px; color: #8d8d99; }
.frame-body { display: grid; grid-template-columns: 108px minmax(0,1fr); min-height: 348px; }
.frame-rail { padding: 20px 12px; border-right: 1px solid var(--line); font-size: 12px; color: #858590; }
.frame-rail div { padding: 9px 7px; border-radius: 6px; margin-bottom: 5px; }
.frame-rail .selected { color: #e0dced; background: #ffffff06; }
.frame-content { padding: 23px 21px; }
.frame-kicker { font-size: 11px; letter-spacing: .07em; text-transform: uppercase; color: #898391; }
.frame-content h2 { font-size: 23px; line-height: 1.15; margin-top: 9px; letter-spacing: -.03em; }
.frame-tabs { display: flex; gap: 16px; font-size: 11px; margin-top: 22px; border-bottom: 1px solid var(--line); color: #7e7e8a; padding-bottom: 10px; }
.frame-tabs .selected { color: #c4b9ff; }
.evidence-row { display: flex; align-items: flex-start; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.evidence-icon { width: 23px; height: 25px; flex: 0 0 auto; border: 1px solid #9d8cff30; border-radius: 5px; display: grid; place-items: center; font-size: 12px; color: #b0a2ef; background: #9d8cff08; }
.evidence-row strong { display: block; color: #d6d6dd; font-weight: 500; font-size: 13px; line-height: 1.4; }
.evidence-row small { display: block; color: #7d7d89; font-size: 11px; margin-top: 3px; }
.evidence-row .row-tag { margin-left: auto; font-size: 10px; color: #aea0e9; background: #9d8cff08; border-radius: 4px; padding: 3px 5px; white-space: nowrap; }
.frame-note { font-size: 12px; line-height: 1.6; margin-top: 18px; padding: 12px; border: 1px solid #9d8cff16; background: linear-gradient(135deg,#7367f00c,#7cc8ff04); border-radius: 8px; color: #9898a5; }
.frame-bottom { display: flex; flex-wrap: wrap; gap: 8px; padding: 13px 17px; border-top: 1px solid var(--line); font-size: 11px; color: #92929e; }
.frame-bottom span { padding: 4px 7px; border: 1px solid var(--line); border-radius: 5px; }
.market-strip { border-block: 1px solid var(--line); padding: 23px 0; background: #ffffff01; }
.market-strip .container { display: flex; gap: 24px; justify-content: space-between; align-items: center; flex-wrap: wrap; }
.market-strip small { color: var(--muted-2); font-size: 12px; }
.market-list { display: flex; gap: 38px; flex-wrap: wrap; font-size: 14px; color: #bdbdc7; }
.market-list span { display: flex; align-items: center; gap: 9px; }
.market-list b { font-size: 11px; font-weight: 450; color: #857aab; border: 1px solid #9d8cff20; border-radius: 5px; width: 26px; height: 22px; text-align: center; line-height: 20px; }
.platform-home { padding: 86px 0; background: radial-gradient(650px 360px at 90% 45%,#7367f00d,transparent 75%),#0d0d10; border-bottom: 1px solid var(--line); }
.split-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: end; }
.split-intro p { font-size: 16px; line-height: 1.75; }
.platform-points { margin-top: 38px; display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; }
.platform-point { padding: 25px; border: 1px solid var(--line); border-radius: 12px; background: #ffffff02; }
.point-num { display: block; color: #9889cc; font-size: 12px; margin-bottom: 22px; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; }
.platform-point h3 { font-size: 19px; line-height: 1.25; font-weight: 550; margin-bottom: 10px; }
.platform-point p { font-size: 15px; line-height: 1.65; }
.platform-bottom { margin-top: 28px; display: flex; gap: 28px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.platform-meta { display: flex; gap: 24px; flex-wrap: wrap; color: var(--muted-2); font-size: 13px; }
.platform-bottom .hero-actions { margin: 0; }
.text-link { color: #c1b4fa; font-size: 14px; padding: 8px 0; border-bottom: 1px solid #9d8cff35; }
.text-link:hover { color: var(--text); border-color: var(--text); }
.quiet-banner { padding-block: 58px; border-top: 1px solid var(--line); background: #0d0d10; }
.quiet-banner .container { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: center; }
.quiet-banner h2 { font-size: 34px; letter-spacing: -.04em; line-height: 1.1; }
.quiet-banner p { font-size: 16px; line-height: 1.75; }
.home-page .article-card:not(.open) .article-card-content { display: none; }
.home-page .article-card.open .article-card-content { max-height: none; padding-top: 0; }
.platform-detail .home-hero { padding-block: 96px 80px; }
.platform-detail .home-title { font-size: clamp(44px,5vw,66px); }
.platform-detail .home-copy { max-width: 600px; }
.platform-section { padding-block: 80px; border-top: 1px solid var(--line); }
.platform-products { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin-top: 32px; }
.platform-product { display: flex; flex-direction: column; padding: 27px; border: 1px solid var(--line); border-radius: 14px; background: #ffffff02; }
.platform-product:first-child { background: radial-gradient(300px 180px at 95% 0%,#7367f018,transparent),#ffffff02; }
.platform-product h3 { font-size: 24px; line-height: 1.2; margin: 20px 0 13px; }
.platform-product p { font-size: 16px; line-height: 1.65; flex: 1; }
.platform-product .text-link { align-self: flex-start; margin-top: 24px; }
.platform-price { font-size: 32px; font-weight: 530; letter-spacing: -.04em; margin-top: 25px; }
.platform-price small { font-size: 14px; letter-spacing: 0; font-weight: 400; color: var(--muted-2); margin-left: 5px; }
.workflow-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 25px; margin-top: 40px; }
.workflow-step { border-top: 1px solid var(--line-strong); padding-top: 22px; }
.workflow-step .point-num { margin-bottom: 16px; }
.workflow-step h3 { font-size: 19px; margin-bottom: 12px; }
.workflow-step p { font-size: 15px; line-height: 1.7; }
.output-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: center; }
.output-list { border: 1px solid var(--line); border-radius: 14px; background: #111114; padding: 8px 25px; }
.output-item { padding: 22px 0; border-bottom: 1px solid var(--line); }
.output-item:last-child { border: 0; }
.output-item h3 { font-size: 18px; margin-bottom: 7px; }
.output-item p { font-size: 15px; line-height: 1.65; }
.platform-review { padding: 32px; border: 1px solid #9d8cff20; background: linear-gradient(115deg,#7367f00c,#111114); border-radius: 14px; display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; }
.platform-review h2 { font-size: 30px; line-height: 1.15; margin-bottom: 15px; }
.platform-review p { font-size: 16px; max-width: 760px; }
.platform-final { text-align: center; padding-block: 90px; background: radial-gradient(600px 280px at 50% 0%,#7367f014,transparent 80%); border-top: 1px solid var(--line); }
.platform-final h2 { font-size: clamp(34px,4.4vw,54px); letter-spacing: -.045em; }
.platform-final p { font-size: 17px; margin: 20px auto 28px; max-width: 620px; }
.platform-final .hero-actions { justify-content: center; }
/* Responsive layout and touch controls across the main site. */
:root { --site-nav-height: 72px; }
html { -webkit-text-size-adjust: 100%; }
.nav-container { height: auto; }
.navbar { padding-top: env(safe-area-inset-top, 0px); }
.nav-cta,.mobile-toggle { min-height: 44px; }
.mobile-toggle { width: 44px; height: 44px; flex: 0 0 44px; }
.home-hero-grid > *,.split-intro > *,.output-grid > *,.contact-layout > *,.about-layout > * { min-width: 0; }
.text-link { display: inline-flex; align-items: center; min-height: 44px; }
@media (min-width: 1025px) {
  .navbar .nav-links { display: flex; }
  .strategy-home .container > div { grid-column: 1/-1; }
}
@media (max-width: 1100px) and (min-width: 1025px) {
  .nav-container { padding-inline: 24px; gap: 12px; }
  .nav-link,.nav-dropdown-toggle { padding-inline: 7px; font-size: 13px; }
  .home-hero-grid { gap: 32px; }
  .home-title { font-size: 56px; }
  .frame-rail { display: none; }
  .frame-body { grid-template-columns: 1fr; }
  .platform-meta { gap: 14px; }
}
@media (max-width: 1024px) {
  :root { --site-nav-height: 64px; }
  html { scroll-padding-top: calc(var(--site-nav-height) + env(safe-area-inset-top, 0px) + 16px); }
  .nav-container { min-height: var(--site-nav-height); gap: 12px; }
  .nav-logo { margin-right: auto; }
  .nav-cta { display: inline-flex; align-items: center; justify-content: center; margin-left: auto; margin-right: 0; flex-shrink: 0; font-size: 14px; padding: 10px 12px; }
  .mobile-toggle { display: flex; align-items: center; justify-content: center; flex-direction: column; }
  .navbar .nav-links { display: none; margin: 0; }
  .navbar .nav-links.open {
    display: flex; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0; bottom: auto;
    height: calc(100dvh - var(--site-nav-height) - env(safe-area-inset-top, 0px));
    max-height: calc(100dvh - var(--site-nav-height) - env(safe-area-inset-top, 0px));
    background: #0d0d10; border-top: 1px solid var(--line); padding: 16px max(20px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px));
    gap: 6px; align-items: stretch; justify-content: flex-start; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
  }
  .navbar .nav-links.open > li { width: 100%; }
  .navbar .nav-links.open .nav-link { display: flex; align-items: center; min-height: 48px; width: 100%; padding: 12px 14px; font-size: 16px; white-space: normal; }
  .navbar .nav-links.open .nav-dropdown-toggle { justify-content: space-between; }
  .navbar .nav-dropdown-menu { position: static; transform: none; min-width: 0; width: 100%; display: none; margin: 4px 0 8px; padding: 6px; border: 1px solid var(--line); border-radius: 10px; background: #111114; box-shadow: none; }
  .navbar .nav-dropdown.open .nav-dropdown-menu { display: block; }
  .navbar .nav-dropdown:not(.open) .nav-dropdown-menu { display: none; }
  .navbar .nav-dropdown-link { display: flex; align-items: center; min-height: 48px; padding: 12px; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
  .nav-mobile-cta-item { display: none; }
  .home-hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .home-hero .platform-frame { width: 100%; max-width: 650px; }
  .home-title { max-width: 700px; }
  .home-copy { max-width: 650px; }
  .platform-detail .home-title { max-width: 650px; }
  .workflow-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .frame-body { grid-template-columns: 108px minmax(0,1fr); }
}
@media (max-width: 768px) {
  .container { padding-inline: max(20px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-right,0px)); }
  .home-hero { padding-block: 44px 48px; }
  .home-hero-grid,.split-intro,.output-grid,.quiet-banner .container,.about-layout,.strategy-home .container { grid-template-columns: 1fr; gap: 28px; }
  .home-title,.platform-detail .home-title { font-size: clamp(2.125rem,10vw,3.25rem); line-height: 1.1; letter-spacing: -.045em; max-width: 600px; }
  .home-copy { font-size: 17px; }
  .home-hero .platform-frame { max-width: 550px; width: 100%; }
  .frame-body { grid-template-columns: 1fr; min-height: 0; }
  .frame-rail { display: none; }
  .frame-content { min-width: 0; padding: 22px 18px; }
  .frame-tabs { flex-wrap: wrap; font-size: 12px; gap: 12px; }
  .frame-kicker,.frame-top strong { font-size: 12px; }
  .evidence-row > div { min-width: 0; }
  .evidence-row strong { font-size: 15px; }
  .evidence-row small { font-size: 13px; line-height: 1.55; }
  .frame-note,.frame-bottom { font-size: 13px; }
  .frame-tag { display: none; }
  .hero-trust { margin-top: 24px; gap: 12px 18px; font-size: 14px; }
  .market-strip .container { gap: 15px; }
  .market-list { gap: 15px; font-size: 13px; }
  .market-list b { display: none; }
  .platform-home,.platform-section { padding-block: 56px; }
  .platform-points,.platform-products { grid-template-columns: 1fr; }
  .platform-point { padding: 24px; }
  .point-num { margin-bottom: 13px; }
  .platform-bottom { align-items: flex-start; }
  .platform-meta { gap: 12px 20px; }
  .intro,.services,.strategy-home,.readiness-home,.about,.process,.frameworks,.capabilities,.training-home,.blog-section,.contact,.mdel-details,.service-section,.service-section-alt,.banner,.cta-banner,.rs-callout { padding-block: 56px; }
  .service-grid,.solutions-grid,.mdel-grid { grid-template-columns: 1fr; }
  .readiness-home-grid,.training-home-grid,.framework-grid,.cap-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .readiness-home-card,.training-home-card { padding: 20px; }
  .framework-item,.cap-item { padding: 18px 12px; }
  .article-card-header { padding: 22px 18px; }
  .article-card-info h3 { font-size: 20px; }
  .article-card-toggle { width: 30px; height: 30px; }
  .contact-layout { gap: 30px; }
  .contact-form { padding: 23px 18px; }
  .contact .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-group input,.form-group textarea,.form-group select { font-size: 16px; min-height: 48px; min-width: 0; width: 100%; }
  .contact-form .btn { width: 100%; justify-content: center; min-height: 48px; }
  .service-card p,.service-card li,.service-link,.mdel-card p,.training-home-card p,.readiness-home-card p,.platform-point p,.workflow-step p,.output-item p,.step-body p { font-size: 16px; }
  .section-title { font-size: clamp(1.875rem,7.5vw,2.5rem); line-height: 1.15; }
  .announcement { border-radius: 12px; max-width: 100%; font-size: 13px; line-height: 1.5; }
  .announcement span { flex-shrink: 0; font-size: 12px; }
  .footer-top { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 22px; }
  .footer-brand { grid-column: 1/-1; }
  .service-hero { padding-block: 58px; }
  .service-hero-title { font-size: clamp(36px,7.5vw,52px); }
  .workflow-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 27px; }
  .platform-review { grid-template-columns: 1fr; padding: 27px; gap: 20px; }
  .platform-review .btn { justify-self: start; }
  .platform-detail .home-hero { padding-block: 44px 48px; }
  .platform-final { padding-block: 62px; }
  .footer-col li a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
  .article-card-header { gap: 14px; }
  .article-card-info { min-width: 0; }
  .article-card-info h3 { line-height: 1.35; }
  .article-card-toggle { flex: 0 0 44px; width: 44px; height: 44px; }
  .article-checklist li { display: block; min-width: 0; overflow-wrap: anywhere; padding: 16px; }
  .article-checklist li i { display: inline; margin-right: 8px; }
  .article-body a { overflow-wrap: anywhere; }
  .has-tip:not(.active) .icon-tooltip { display: none; }
  .has-tip.active .icon-tooltip { position: static; display: block; transform: none; width: 100%; max-width: 100%; margin-top: 12px; font-size: 14px; }
}
@media (max-width: 600px) {
  .hero-actions { display: grid; grid-template-columns: 1fr; width: 100%; gap: 10px; }
  .hero-actions .btn { width: 100%; justify-content: center; min-height: 48px; font-size: 15px; text-align: center; }
  .readiness-home-grid,.training-home-grid,.workflow-grid { grid-template-columns: 1fr; }
  .service-offering-grid,.related-reviews-grid,.readiness-crosslinks-grid { grid-template-columns: minmax(0,1fr); }
  .platform-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
  .platform-price small { margin-left: 0; }
  .platform-product { padding: 24px 20px; }
  .platform-product h3 { font-size: 23px; }
  .platform-bottom .hero-actions { width: 100%; }
  .platform-review { padding: 24px 20px; }
  .platform-review .btn { width: 100%; justify-content: center; min-height: 48px; }
  .footer-top { grid-template-columns: 1fr; gap: 28px; }
  .footer-col ul { display: grid; gap: 2px; }
}
@media (max-width: 420px) {
  .nav-container { padding-inline: max(14px,env(safe-area-inset-left,0px)) max(14px,env(safe-area-inset-right,0px)); gap: 8px; }
  .nav-logo { gap: 8px; }
  .nav-cta { font-size: 14px; padding-inline: 10px; }
  .logo-text { font-size: 15px; }
  .logo-mark { width: 26px; height: 26px; min-width: 26px; }
  .platform-meta { flex-direction: column; gap: 6px; }
  .framework-grid,.cap-grid { grid-template-columns: 1fr; }
  .framework-item,.cap-item { padding: 22px; }
  .section-eyebrow { font-size: 12px; letter-spacing: .055em; }
}
@media (max-width: 360px) {
  .nav-container { padding-inline: 12px; gap: 6px; }
  .nav-logo { gap: 6px; }
  .logo-text { font-size: 14px; }
  .logo-mark { width: 24px; height: 24px; min-width: 24px; }
  .nav-cta { padding-inline: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation: none !important; transition: none !important; }
}
