/* Approved research service extension, using the established site palette. */
html { scroll-padding-top: 92px; }
.main-nav { gap: 23px; }
.hero { min-height: 740px; }
.hero-layout { grid-template-columns: 1.08fr .92fr; gap: 56px; padding-top: 142px; padding-bottom: 88px; }
.hero h1 { font-size: clamp(42px, 4.9vw, 64px); line-height: 1.08; }
.hero-lead { font-size: 18px; line-height: 1.7; }
.hero-actions { gap: 14px; flex-wrap: wrap; }
.hero-research-link { flex-basis: 100%; width: fit-content; color: #b4e6ff; font-size: 15px; text-decoration: none; margin-top: 6px; }
.hero-research-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.hero-visual { min-height: auto; }
.research-preview { position: relative; width: 100%; transform: none; overflow: hidden; }
.research-preview-body { padding: 30px; }
.preview-kicker { margin: 0 0 12px; font-size: 12px; color: #b3c7d9; }
.research-preview h2 { margin: 0 0 24px; font-size: 28px; line-height: 1.25; letter-spacing: -.025em; }
.research-preview ul { list-style: none; margin: 0; padding: 0; }
.research-preview li { padding: 15px 0; border-top: 1px solid rgba(255,255,255,.16); }
.research-preview li strong, .research-preview li span { display: block; }
.research-preview li strong { font-size: 15px; font-weight: 650; }
.research-preview li span { margin-top: 4px; font-size: 13px; color: #bfd0df; }
.research-preview-body>a { display: inline-block; margin-top: 20px; font-size: 14px; color: #b4e6ff; text-underline-offset: 4px; }
.research-preview-note { padding: 18px 30px; border-top: 1px solid rgba(255,255,255,.14); font-size: 12px; line-height: 1.6; color: #bfd0df; }
.section { padding: 92px 0; }
.section-heading h2 { font-size: clamp(34px, 3.5vw, 46px); line-height: 1.14; max-width: 760px; }
.split-layout { gap: 64px; }
.large-copy { font-size: 23px; }
.services-grid { margin-top: 44px; }
.service-card { padding: 29px; }
.service-card h3 { font-size: 22px; line-height: 1.35; }
.service-card p { font-size: 15px; }
.service-card ul { margin-top: 20px; }
.text-link { display: inline-block; position: relative; z-index: 1; margin-top: 24px; font-size: 14px; font-weight: 700; color: #126ca5; text-underline-offset: 4px; }
.section-intro { max-width: 760px; margin: 24px 0 0; font-size: 18px; color: var(--ink-soft); }
.research-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 40px; }
.research-grid-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.research-card { padding: 27px 30px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.research-card h3 { margin: 0 0 12px; font-size: 21px; line-height: 1.35; letter-spacing: -.02em; }
.research-card p { margin: 0; color: var(--ink-soft); font-size: 16px; line-height: 1.7; }
.deliverable-summary { display: flex; gap: 42px; align-items: center; justify-content: space-between; margin-top: 34px; padding: 34px; background: var(--navy); color: #fff; border-radius: 22px; }
.deliverable-summary>div { max-width: 690px; }
.deliverable-summary .eyebrow { color: var(--accent); margin-bottom: 10px; }
.deliverable-summary h3 { margin: 0 0 12px; font-size: 25px; line-height: 1.3; }
.deliverable-summary p:not(.eyebrow) { margin: 0; color: #c4d0dd; }
.button-dark { flex-shrink: 0; color: var(--ink); background: #fff; }
.process-section .process-list { margin-top: 42px; }
.process-section .process-list p { color: #c3cedd; font-size: 15px; }
.process-section .process-list h3 { font-size: 20px; line-height: 1.35; }
.process-section .process-list>li>span { color: #b5c9d9; }
.contact-copy h2 { font-size: clamp(36px,4vw,50px); line-height: 1.12; }
.contact-layout { gap: 64px; }
.contact-copy>p { color: #c6d1df; }
.contact-details span { color: #a8bbce; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #b4c0d0; opacity: 1; }
.contact-form select { text-overflow: ellipsis; }
.contact-form select option { color: var(--ink); background: #fff; }
.consent-label span { color: #d0d9e4 !important; font-size: 14px !important; line-height: 1.6; }
.form-note { color: #b5c4d6; font-size: 13px; line-height: 1.7; }
.footer-top { gap: 32px; }
.footer-links { flex-wrap: wrap; justify-content: flex-end; gap: 16px 22px; }
.research-hero { padding: 155px 0 86px; color: #fff; background: radial-gradient(circle at 85% 10%,rgba(78,168,222,.22),transparent 45%),linear-gradient(135deg,#07101f,#102743); }
.research-hero .eyebrow { color: var(--accent); }
.research-hero-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 70px; align-items: center; }
.research-hero h1 { margin: 0; max-width: 730px; font-size: clamp(42px,5vw,66px); line-height: 1.08; letter-spacing: -.035em; }
.research-hero-lead { margin: 26px 0 30px; font-size: 19px; line-height: 1.75; color: #ced8e4; }
.scope-note { padding: 32px; border: 1px solid rgba(255,255,255,.17); border-radius: 24px; background: rgba(255,255,255,.06); }
.scope-note .eyebrow { font-size: 10px; }
.scope-note h2 { margin: 0 0 20px; font-size: 27px; line-height: 1.45; letter-spacing: -.02em; }
.scope-note p:last-child { margin: 0; font-size: 15px; color: #c6d3e1; }
.report-outline { max-width: 900px; margin-top: 32px; padding: 32px 38px; border: 1px solid var(--line); border-radius: 22px; background: var(--paper-soft); }
.report-outline>p { margin: 0 0 22px; color: var(--ink-soft); }
.report-outline ol { padding-left: 25px; margin: 0; }
.report-outline li { padding: 12px 0 12px 8px; border-top: 1px solid var(--line); color: var(--ink); }
.report-outline li::marker { color: #126ca5; font-weight: 700; }
.research-faq-list { max-width: 940px; margin-top: 36px; }
.research-closing { padding: 80px 0; text-align: center; background: var(--navy); color: #fff; }
.research-closing .eyebrow { color: var(--accent); }
.research-closing h2 { margin: 0; font-size: clamp(34px,4vw,48px); line-height: 1.15; letter-spacing: -.025em; }
.research-closing p:not(.eyebrow) { max-width: 670px; margin: 24px auto 30px; color: #c6d3e1; font-size: 18px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #238bc7; outline-offset: 5px; }
.hero a:focus-visible, .research-hero a:focus-visible, .contact-section a:focus-visible, .research-closing a:focus-visible { outline-color: #a7e5ff; }
@media(max-width:1100px) and (min-width:761px) {
 .main-nav { gap: 15px; }
 .main-nav a { font-size: 13px; }
 .brand-text strong { font-size: 13px; }
 .brand img { width: 45px; }
 .header-inner { gap: 18px; }
 .main-nav .nav-action { padding: 10px 13px; }
}
@media(max-width:980px) {
 .hero-layout,.research-hero-layout { grid-template-columns: 1fr; gap: 38px; }
 .hero-layout { padding-top: 140px; }
 .hero-visual { width: min(100%,620px); }
 .hero h1 { max-width: 760px; font-size: clamp(42px,6.4vw,60px); }
 .research-grid-three { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .deliverable-summary { align-items: flex-start; flex-direction: column; gap: 26px; }
 .research-hero-layout { gap: 38px; }
 .scope-note { max-width: 680px; }
 .footer-links { justify-content: flex-start; }
}
@media(max-width:760px) {
 html { scroll-padding-top: 82px; }
 .hero { min-height: auto; }
 .hero-layout { padding-top: 112px; padding-bottom: 58px; gap: 34px; }
 .hero h1 { font-size: clamp(32px,8.8vw,42px); line-height: 1.12; }
 .hero-lead { font-size: 16px; margin-top: 23px; }
 .hero .eyebrow { max-width: none; }
 .hero-visual { min-height: auto; }
 .research-preview-body { padding: 24px; }
 .research-preview h2 { font-size: 25px; }
 .research-preview-note { padding: 18px 24px; }
 .section { padding: 64px 0; }
 .section-heading h2 { font-size: 34px; }
 .split-layout,.contact-layout { gap: 30px; }
 .large-copy { font-size: 21px; }
 .values-grid { margin-top: 30px; gap: 20px; }
 .research-grid,.research-grid-three { grid-template-columns: 1fr; gap: 16px; margin-top: 30px; }
 .research-card { padding: 24px; }
 .deliverable-summary { padding: 26px; }
 .deliverable-summary .button { width: 100%; text-align: center; }
 .section-intro { font-size: 17px; }
 .contact-section { padding: 66px 0; }
 .contact-copy h2 { font-size: 38px; }
 .contact-details { margin-top: 30px; }
 .research-hero { padding: 116px 0 62px; }
 .research-hero h1 { font-size: clamp(36px,9.5vw,48px); }
 .research-hero-lead { font-size: 17px; line-height: 1.7; }
 .scope-note { padding: 26px; }
 .scope-note h2 { font-size: 25px; }
 .report-outline { padding: 26px 24px; }
 .research-closing { padding: 62px 0; }
 .main-nav a:nth-child(4) { border-bottom: 1px solid rgba(15,23,42,.08); }
 .main-nav a:nth-last-child(2) { border-bottom: 0; }
 .contact-form input,.contact-form select,.contact-form textarea { font-size: 16px; }
}
