:root {
  --ink: #17202b;
  --ink-soft: #4c5866;
  --navy: #10263c;
  --navy-2: #173b59;
  --wine: #7b2940;
  --wine-dark: #5d1c30;
  --gold: #dfaa36;
  --cream: #fbf8f2;
  --paper: #ffffff;
  --muted: #f2f4f6;
  --line: #dbe1e6;
  --shadow: 0 22px 60px rgba(16,38,60,.14);
  --radius: 20px;
  --container: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.65; }
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input, textarea { font: inherit; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.narrow { max-width: 850px; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.94); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(219,225,230,.75); }
.nav-wrap { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 800; }
.brand-mark { width: 42px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; color: white; background: linear-gradient(145deg,var(--gold),#f2c75d 46%,var(--wine) 48%); box-shadow: 0 8px 22px rgba(123,41,64,.22); font-family: Georgia,serif; font-size: 1.25rem; }
.brand-name { font: 800 1.35rem/1 Georgia,serif; letter-spacing: .02em; color: var(--wine); }
.site-nav { display: flex; align-items: center; gap: 24px; }
.site-nav a { text-decoration: none; font-size: .94rem; font-weight: 700; color: #33404d; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--wine); }
.site-nav .nav-cta { color: white; background: var(--wine); padding: 11px 17px; border-radius: 999px; }
.nav-toggle { display: none; border: 0; background: transparent; padding: 8px; }
.nav-toggle span { display: block; width: 24px; height: 2px; margin: 5px 0; background: var(--ink); }
.hero { position: relative; overflow: hidden; color: white; background: radial-gradient(circle at 80% 20%,rgba(223,170,54,.16),transparent 30%), linear-gradient(135deg,#0e2236,#173e5e 58%,#10263c); padding: 105px 0 115px; }
.hero-glow { position: absolute; width: 500px; height: 500px; right: -180px; bottom: -260px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: 0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.02); }
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 70px; }
.eyebrow { margin: 0 0 16px; color: var(--wine); font-size: .77rem; line-height: 1.2; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.hero .eyebrow, .page-hero .eyebrow { color: #f0c765; }
h1,h2,h3 { margin: 0 0 18px; font-family: Georgia, "Times New Roman", serif; line-height: 1.08; }
h1 { font-size: clamp(3rem,6vw,5.25rem); letter-spacing: -.045em; }
h2 { font-size: clamp(2.1rem,4vw,3.6rem); letter-spacing: -.035em; }
h3 { font-size: 1.5rem; }
p { margin: 0 0 20px; }
.lead { font-size: clamp(1.05rem,2vw,1.28rem); color: rgba(255,255,255,.78); max-width: 760px; }
.actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border: 1px solid transparent; border-radius: 999px; font-weight: 800; text-decoration: none; cursor: pointer; }
.button-primary { color: white; background: var(--wine); box-shadow: 0 12px 28px rgba(123,41,64,.24); }
.button-primary:hover { background: var(--wine-dark); transform: translateY(-1px); }
.button-secondary { color: var(--ink); background: white; border-color: var(--line); }
.hero .button-primary { color: #33240b; background: var(--gold); box-shadow: none; }
.hero .button-secondary { color: white; background: transparent; border-color: rgba(255,255,255,.35); }
.audience-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
.audience-chips span { padding: 7px 12px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: rgba(255,255,255,.76); font-size: .82rem; }
.hero-product { position: relative; }
.product-window { overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: #eef2f4; box-shadow: 0 35px 85px rgba(0,0,0,.35); transform: perspective(900px) rotateY(-5deg) rotateX(2deg); }
.window-bar { height: 46px; display: flex; align-items: center; gap: 7px; padding: 0 16px; background: #f8f9fa; border-bottom: 1px solid #d8dde2; color: #55616c; font-size: .77rem; }
.window-bar span { width: 9px; height: 9px; border-radius: 50%; background: #cbd3d9; }
.window-bar strong { margin-left: auto; margin-right: auto; }
.interface-preview { min-height: 385px; display: grid; grid-template-columns: 72px 1fr; }
.preview-sidebar { padding: 30px 18px; background: var(--navy); }
.preview-sidebar span { display: block; height: 35px; margin-bottom: 16px; border-radius: 7px; background: rgba(255,255,255,.1); }
.preview-sidebar span.active { background: var(--gold); }
.preview-main { padding: 28px; background: linear-gradient(180deg,#f4f6f8,#e8edf1); }
.preview-title { height: 24px; width: 43%; background: #bcc7ce; border-radius: 5px; }
.preview-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin-top: 24px; }
.preview-grid div { height: 82px; border-radius: 10px; background: white; box-shadow: 0 8px 16px rgba(16,38,60,.08); }
.preview-chart { position: relative; height: 140px; margin-top: 18px; background: white; border-radius: 10px; overflow: hidden; }
.preview-chart::before { content:""; position:absolute; inset:18px; background: repeating-linear-gradient(to bottom,transparent 0 22px,#e5e9ec 23px),repeating-linear-gradient(to right,transparent 0 44px,#edf0f2 45px); }
.preview-chart i { position:absolute; left:12%; right:10%; bottom:28px; height:80px; border-bottom:3px solid var(--wine); transform: skewY(-13deg); }
.floating-note { position: absolute; padding: 13px 16px; border-radius: 12px; background: white; color: var(--ink); box-shadow: var(--shadow); }
.floating-note strong,.floating-note span { display:block; }
.floating-note span { font-size:.76rem;color:var(--ink-soft); }
.note-one { top: 24px; right: -34px; }
.note-two { left: -35px; bottom: 28px; }
.trust-strip { border-bottom: 1px solid var(--line); background: var(--cream); }
.trust-strip .container { min-height: 86px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; font-size:.88rem; }
.trust-strip span { color:var(--ink-soft); }
.section { padding: 105px 0; }
.section-muted { background: var(--muted); }
.section-dark { color:white; background: linear-gradient(135deg,var(--navy),var(--navy-2)); }
.section-accent { background: var(--cream); }
.section-heading { max-width: 760px; margin-bottom: 48px; }
.section-heading.centered { margin-inline:auto; text-align:center; }
.section-heading p:last-child { color:var(--ink-soft); font-size:1.08rem; }
.card-grid { display:grid; gap:22px; }
.card-grid.four { grid-template-columns:repeat(4,1fr); }
.card-grid.three { grid-template-columns:repeat(3,1fr); }
.card { padding:30px; border:1px solid var(--line); border-radius:var(--radius); background:white; box-shadow:0 12px 35px rgba(16,38,60,.06); }
.card-number { display:block; margin-bottom:35px; color:var(--wine); font-weight:900; }
.card p { color:var(--ink-soft); }
.dark-cards .card { color:white; background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.12); box-shadow:none; }
.dark-cards .card p { color:rgba(255,255,255,.72); }
.split { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.process,.workflow-stack { list-style:none; padding:0; margin:0; }
.process li { display:flex; gap:18px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.process li span { color:var(--gold); font-weight:900; }
.process p { color:rgba(255,255,255,.68); margin:4px 0 0; }
.eyebrow-gold { color:var(--gold); }
.text-link { font-weight:800; color:var(--wine); text-decoration:none; }
.text-link.light { color:var(--gold); }
.feature-grid { display:grid; gap:34px; }
.feature-card { display:grid; grid-template-columns:1.05fr .95fr; gap:50px; align-items:center; padding:34px; border:1px solid var(--line); border-radius:var(--radius); }
.feature-visual,.module-visual { position:relative; min-height:280px; overflow:hidden; border-radius:14px; background:linear-gradient(180deg,#f9fafb,#e8edf1); }
.chromatogram::before { content:""; position:absolute; inset:30px; background:repeating-linear-gradient(to bottom,transparent 0 39px,#dfe5e9 40px),repeating-linear-gradient(to right,transparent 0 62px,#e7ecef 63px); }
.chromatogram span { position:absolute; bottom:45px; width:7px; background:linear-gradient(var(--wine),var(--gold)); border-radius:6px 6px 0 0; }
.chromatogram span:nth-child(1){height:55%;left:37%}.chromatogram span:nth-child(2){height:25%;left:50%}.chromatogram span:nth-child(3){height:72%;left:69%}
.regression::before { content:""; position:absolute; inset:30px; background:repeating-linear-gradient(to bottom,transparent 0 39px,#dfe5e9 40px),repeating-linear-gradient(to right,transparent 0 62px,#e7ecef 63px); }
.regression::after { content:""; position:absolute; left:13%; right:12%; bottom:26%; height:4px; background:var(--wine); transform:rotate(-24deg); transform-origin:left; }
.regression span { position:absolute; width:12px; height:12px; border-radius:50%; background:var(--gold); z-index:2; }
.regression span:nth-child(1){left:22%;bottom:30%}.regression span:nth-child(2){left:40%;bottom:43%}.regression span:nth-child(3){left:59%;bottom:58%}.regression span:nth-child(4){left:78%;bottom:72%}
.cta-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:center; }
.page-hero { color:white; background:linear-gradient(135deg,var(--navy),var(--navy-2)); padding:100px 0 90px; }
.page-hero.compact { padding:85px 0 75px; }
.page-hero h1 { font-size:clamp(2.8rem,5vw,4.7rem); }
.workflow-stack { counter-reset:item; display:grid; gap:9px; }
.workflow-stack li { position:relative; padding:19px 20px 19px 64px; border:1px solid var(--line); background:white; box-shadow:0 8px 22px rgba(16,38,60,.05); }
.workflow-stack li::before { counter-increment:item; content:counter(item,decimal-leading-zero); position:absolute; left:20px; color:var(--wine); font-weight:900; }
.workflow-stack li:not(:last-child)::after { content:"↓"; position:absolute; left:50%; bottom:-20px; color:var(--wine); z-index:2; }
.module-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.module-grid.reverse .module-visual { order:2; }
.module-visual.large { min-height:390px; box-shadow:var(--shadow); }
.check-list { padding:0; margin:26px 0 0; list-style:none; }
.check-list li { position:relative; padding:10px 0 10px 30px; border-bottom:1px solid var(--line); }
.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--wine); font-weight:900; }
.custom-reporting p { color:var(--ink-soft); }
.prose { max-width:850px; }
.prose h2 { margin-bottom:28px; }
.prose p { font-size:1.08rem; color:var(--ink-soft); }
.resource-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.resource-card { padding:42px; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.resource-type { display:inline-block; margin-bottom:30px; padding:7px 10px; border-radius:8px; color:white; background:var(--wine); font-size:.75rem; font-weight:900; }
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
.contact-note { margin-top:30px; padding:22px; border-left:4px solid var(--gold); background:var(--cream); }
.contact-note strong,.contact-note a { display:block; }
.contact-form { display:grid; gap:18px; padding:34px; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.contact-form label { font-weight:800; }
.contact-form input,.contact-form textarea { width:100%; margin-top:8px; padding:13px 14px; border:1px solid #bdc7ce; border-radius:10px; background:white; }
.site-footer { color:white; background:#0b1b2a; padding:70px 0 24px; }
.footer-grid { display:grid; grid-template-columns:1.5fr .7fr .8fr; gap:60px; }
.footer-grid h2 { font-family:inherit; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; }
.footer-grid a { display:block; margin:8px 0; color:rgba(255,255,255,.8); text-decoration:none; }
.footer-grid p { color:rgba(255,255,255,.62); }
.footer-brand .brand-name { color:white; }
.footer-bottom { display:flex; justify-content:space-between; gap:30px; margin-top:55px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.5); font-size:.78rem; }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .65s ease,transform .65s ease; }
.reveal.is-visible { opacity:1; transform:none; }
@media (max-width: 960px) {
  .site-nav { position:absolute; top:78px; left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:16px 20px 24px; background:white; border-bottom:1px solid var(--line); }
  .site-nav.is-open { display:flex; }
  .site-nav a { padding:12px; }
  .nav-toggle { display:block; }
  .hero-grid,.split,.feature-card,.module-grid,.cta-grid,.contact-grid { grid-template-columns:1fr; }
  .hero-product { max-width:700px; }
  .card-grid.four { grid-template-columns:repeat(2,1fr); }
  .card-grid.three,.resource-grid { grid-template-columns:1fr; }
  .module-grid.reverse .module-visual { order:0; }
}
@media (max-width: 640px) {
  .container { width:min(calc(100% - 28px),var(--container)); }
  .hero,.section,.page-hero { padding:72px 0; }
  h1 { font-size:clamp(2.6rem,14vw,4rem); }
  .card-grid.four { grid-template-columns:1fr; }
  .note-one,.note-two { position:static; margin-top:12px; }
  .product-window { transform:none; }
  .interface-preview { min-height:300px; grid-template-columns:52px 1fr; }
  .feature-card,.card,.resource-card,.contact-form { padding:24px; }
  .trust-strip .container { padding:24px 0; justify-content:flex-start; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
}
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
  .reveal { opacity:1; transform:none; }
}

/* Product-first visual system */
.brand-logo{display:block;width:auto;height:56px;object-fit:contain}.footer-logo{height:50px}.product-hero{position:relative;overflow:hidden;padding:90px 0 72px;background:linear-gradient(180deg,#fff 0,#fbf8f2 100%);border-bottom:1px solid var(--line)}.product-hero-copy{max-width:900px;text-align:center}.product-hero h1{color:var(--wine);font-size:clamp(3rem,6vw,5.35rem)}.product-hero h1 span{display:block;margin-top:12px;color:var(--ink);font:700 .28em/1.2 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}.product-hero .lead{margin-inline:auto;color:var(--ink-soft)}.product-hero .actions{justify-content:center}.product-hero .button-secondary{background:transparent}.hero-screen{margin-top:58px}.app-frame{display:block;overflow:hidden;border:1px solid #cfd6dc;border-radius:14px;background:#fff;box-shadow:0 24px 65px rgba(16,38,60,.17);text-decoration:none}.app-frame-bar{height:40px;display:flex;align-items:center;gap:7px;padding:0 14px;color:#64717d;background:#f5f7f8;border-bottom:1px solid #dce2e6;font-size:.72rem}.app-frame-bar span{width:9px;height:9px;border-radius:50%;background:#c6ced4}.app-frame-bar strong{margin-left:auto}.app-frame img{width:100%;height:auto}.compact-section{padding-top:85px}.outcome-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.outcome{padding:28px;border-top:4px solid var(--gold);background:#fff;box-shadow:0 12px 35px rgba(16,38,60,.07)}.outcome>span{display:block;margin-bottom:24px;color:var(--wine);font-weight:900}.outcome p{color:var(--ink-soft)}.screenshot-feature{display:grid;grid-template-columns:.72fr 1.28fr;gap:50px;align-items:center;margin-bottom:85px}.screenshot-feature.reverse{grid-template-columns:1.28fr .72fr}.screenshot-feature.reverse .feature-copy{order:2}.feature-copy p:not(.eyebrow){color:var(--ink-soft);font-size:1.05rem}.vendor-section{background:#fff}.vendor-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.vendor-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.vendor-list div{padding:30px;border:1px solid var(--line);border-radius:16px;background:var(--cream)}.vendor-list strong,.vendor-list span{display:block}.vendor-list strong{color:var(--wine);font-family:Georgia,serif;font-size:1.25rem}.vendor-list span{margin-top:6px;color:var(--ink-soft);font-weight:800}.custom-reporting-home,.custom-reporting{background:linear-gradient(135deg,#f9f3e8,#fff)}.interior-product-hero{padding-bottom:75px}.product-module{display:grid;grid-template-columns:.7fr 1.3fr;gap:54px;align-items:center}.module-copy p:not(.eyebrow){color:var(--ink-soft);font-size:1.06rem}.check-list{list-style:none;padding:0;margin:28px 0 0}.check-list li{position:relative;padding:10px 0 10px 30px;border-bottom:1px solid var(--line)}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--wine);font-weight:900}
@media(max-width:960px){.brand-logo{height:48px}.outcome-grid{grid-template-columns:repeat(2,1fr)}.screenshot-feature,.screenshot-feature.reverse,.product-module,.vendor-grid{grid-template-columns:1fr}.screenshot-feature.reverse .feature-copy{order:0}.vendor-list{max-width:650px}.product-hero{padding-top:70px}}
@media(max-width:640px){.brand-logo{height:42px}.outcome-grid,.vendor-list{grid-template-columns:1fr}.product-hero h1{font-size:clamp(2.5rem,13vw,4rem)}.hero-screen{margin-top:38px}.app-frame{border-radius:9px}.app-frame-bar{height:34px}.screenshot-feature{gap:28px;margin-bottom:60px}.product-module{gap:30px}}

/* Corporate homepage */
.corporate-hero{padding:92px 0 88px;background:linear-gradient(180deg,#fff 0,#fbf8f2 100%);border-bottom:1px solid var(--line)}
.corporate-hero-inner{text-align:center;max-width:980px}
.hero-logo{height:86px;width:auto;margin:0 auto 28px}
.corporate-hero h1{margin-bottom:18px;color:var(--wine);font-size:clamp(3.2rem,7vw,6rem)}
.corporate-tagline{max-width:900px;margin:0 auto 24px;color:var(--navy);font-family:Georgia,serif;font-size:clamp(1.45rem,3vw,2.25rem);line-height:1.35}
.corporate-hero .lead{max-width:820px;margin-inline:auto;color:var(--ink-soft)}
.corporate-hero .actions{justify-content:center}
.solution-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:stretch}
.solution-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.solution-label{position:absolute;top:24px;right:24px;padding:7px 12px;border-radius:999px;background:var(--cream);color:var(--wine);font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.solution-copy{padding:42px}
.solution-copy h3{padding-right:80px;color:var(--navy);font-size:clamp(1.8rem,3vw,2.6rem)}
.solution-copy h3 span{display:block;margin-top:6px;color:var(--ink-soft);font:800 .45em/1.2 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.solution-tagline{color:var(--wine);font-weight:800;font-size:1.08rem}
.solution-copy p:not(.solution-tagline){color:var(--ink-soft)}
.compact-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:24px 0 30px;padding:0;list-style:none}
.compact-list li{position:relative;padding-left:22px;font-weight:700;color:#33404d}
.compact-list li:before{content:'✓';position:absolute;left:0;color:var(--wine)}
.solution-visual{padding:0 34px 34px}
.glp-card{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#fff,#f6f8fa)}
.study-doc-mark{margin:76px 42px 4px;padding:35px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:center;font-family:Georgia,serif;font-size:3rem;color:var(--navy);box-shadow:0 16px 40px rgba(16,38,60,.08)}
.study-doc-mark strong{color:var(--wine)}
.experience-section{background:var(--navy);color:#fff}
.experience-section .eyebrow{color:var(--gold)}
.experience-section h2{color:#fff}
.fact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.fact{padding:34px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(255,255,255,.05)}
.fact strong{display:block;color:var(--gold);font:700 clamp(2.6rem,5vw,4.2rem)/1 Georgia,serif}
.fact h3{margin:14px 0 8px;color:#fff}
.fact p{margin:0;color:rgba(255,255,255,.7)}
.philosophy-section{background:linear-gradient(135deg,#f9f3e8,#fff)}
.centered{text-align:center}
.philosophy-section h2{color:var(--wine);font-size:clamp(2.2rem,4.5vw,4rem)}
.philosophy-section .lead{color:var(--ink-soft)}
.home-contact{border-top:1px solid var(--line)}
@media(max-width:960px){.solution-grid{grid-template-columns:1fr}.fact-grid{grid-template-columns:1fr}.study-doc-mark{margin-top:70px}}
@media(max-width:640px){.corporate-hero{padding:65px 0}.hero-logo{height:66px}.solution-copy{padding:28px}.solution-copy h3{padding-right:0}.solution-label{position:static;display:inline-block;margin:24px 0 0 28px}.compact-list{grid-template-columns:1fr}.solution-visual{padding:0 20px 24px}.study-doc-mark{margin:24px 28px 0;font-size:2.25rem;padding:26px}}

/* Index v2: StudyDoc branding and aligned solution cards */
.glp-card{display:flex;flex-direction:column;justify-content:flex-start}
.solution-suite{margin-top:-10px;color:var(--ink-soft);font-size:.94rem;font-style:italic}
.text-link{display:inline-block;margin-top:12px;color:var(--wine);font-weight:800;text-decoration:none}
.text-link:hover{text-decoration:underline}
.study-doc-logo{margin:auto 42px 42px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 16px 40px rgba(16,38,60,.08)}
.study-doc-logo img{display:block;width:100%;height:auto}
@media(max-width:640px){.study-doc-logo{margin:24px 28px 28px;padding:18px}}

/* Index v3: revised StudyDoc copy, AI link, and logo placement */
.glp-card .solution-copy{display:flex;flex-direction:column;align-items:flex-start}
.ai-badge{display:inline-flex;align-items:center;justify-content:center;margin:8px 0 2px;padding:9px 15px;border-radius:999px;background:var(--navy);color:#fff;font-size:.9rem;font-weight:900;letter-spacing:.02em;text-decoration:none;box-shadow:0 8px 20px rgba(16,38,60,.18)}
.ai-badge:hover{background:var(--navy-2);transform:translateY(-1px)}
.glp-card .text-link{margin-top:14px}
.glp-card .study-doc-logo{display:block;width:min(100%,410px);margin:16px 0 0;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 16px 40px rgba(16,38,60,.08)}
.glp-card .study-doc-logo img{display:block;width:100%;height:auto}
@media(max-width:640px){.glp-card .study-doc-logo{width:100%;margin-top:14px;padding:14px}}

/* Index working draft: official LabIntegrity Powered by AI badge */
.ai-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin:10px 0 3px;
  padding:9px 22px;
  border:2px solid #fff;
  border-radius:999px;
  background:#e75738;
  color:#fff;
  font-size:.96rem;
  font-weight:900;
  letter-spacing:.025em;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(231,87,56,.28);
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.ai-badge:hover,
.ai-badge:focus-visible{
  background:#d94d31;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 11px 24px rgba(231,87,56,.36);
  text-decoration:none;
}
.ai-badge:focus-visible{outline:3px solid rgba(231,87,56,.24);outline-offset:3px}


/* StudyDoc component order and LabIntegrity link color */
.glp-card .labintegrity-link{
  margin-top:14px;
  color:#3170c1;
}
.glp-card .study-doc-logo{
  margin-top:12px;
}
.glp-card .ai-badge{
  margin-top:16px;
}

/* Discovery page refinements */
.gmsu-page .gmsu-subtitle{
  margin:8px 0 0;
  color:var(--ink);
  font-family:Georgia,serif;
  font-size:clamp(1.35rem,2.4vw,2rem);
}
.gmsu-page .gmsu-hero-screen{
  max-width:900px;
}
.gmsu-page .module-figure{
  margin:0;
}
.gmsu-page .module-figure figcaption{
  margin-top:14px;
  color:var(--ink-soft);
  font-size:.92rem;
  font-weight:800;
  line-height:1.45;
  text-align:left;
}
.gmsu-page .section-dark .section-heading p:not(.eyebrow){
  max-width:760px;
  color:rgba(255,255,255,.72);
}
.gmsu-page .utility-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 28px;
  max-width:900px;
  margin:34px 0 0;
  padding:0;
  list-style:none;
}
.gmsu-page .utility-list li{
  position:relative;
  padding:15px 18px 15px 38px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.07);
  color:#fff;
  font-weight:800;
}
.gmsu-page .utility-list li:before{
  content:'✓';
  position:absolute;
  left:16px;
  color:var(--gold);
}
@media(max-width:640px){
  .gmsu-page .gmsu-hero-screen{max-width:100%}
  .gmsu-page .utility-list{grid-template-columns:1fr}
}

.gmsu-page .image-hint{
  margin:10px 0 0;
  color:var(--ink-soft);
  font-size:.86rem;
  font-style:italic;
  line-height:1.4;
  text-align:center;
}
