/* Readable type sizes and a stronger heading/body hierarchy. */
:root { --muted: #515e54; }
body { font-size: 17px; }
h1, h2, h3, strong, b { font-weight: 800; }
.hero h1 { font-size: clamp(42px, 4vw, 58px); font-weight: 900; line-height: 1.4; letter-spacing: -2px; }
.section-heading h2, h2 { font-size: 40px; font-weight: 800; line-height: 1.45; }
.hero-description { font-size: 19px; line-height: 1.85; }
.nav nav { font-size: 16px; font-weight: 700; gap: 28px; }
.nav-cta, .button, .text-link { font-size: 16px; font-weight: 700; }
.hero-actions { flex-wrap: wrap; gap: 22px; }
.hero-proof { font-size: 14px; color: #59674f; gap: 18px; }
.eyebrow, .feature-number { font-size: 13px; font-weight: 700; letter-spacing: 1.6px; color: #526447; }
.section-heading > p { font-size: 17px; line-height: 1.85; max-width: 430px; }
.feature h3 { font-size: 23px; font-weight: 800; line-height: 1.55; }
.feature > p { font-size: 16px; line-height: 1.85; }
.feature-tag { font-size: 13px; font-weight: 600; color: #596b4c; }
.ecosystem > p { font-size: 14px; color: #627156; }
.ecosystem > div > span, .ecosystem .google, .ecosystem .azure { font-size: 21px; }
.feature-grid { gap: 22px; }
.feature { padding: 28px 24px; }
.mini-file { height: 154px; }
.mini-file > div, .mini-file p { font-size: 11px; }
.mini-file code { font-size: 11px; line-height: 2.4; padding-inline: 9px; }
.mini-file code > span { margin-right: 5px; }
.risk-chart, .vault-demo { height: 154px; }
.risk-chart > div:last-child > span { font-size: 12px; }
.risk-ring span { font-size: 9px; letter-spacing: 0; }
.vault-demo > div:first-child { font-size: 12px; }
.vault-demo > div:first-child > span:not(.dotted-line) { padding: 15px 7px; }
.vault-states { font-size: 11px; }
.console-tabs button { font-size: 16px; font-weight: 600; padding: 12px 20px; }
.console-tabs button[aria-selected=true] { font-weight: 800; }
.window-bar { font-size: 12px; }
.window-bar > span:last-child { font-size: 12px; }
.screenshot-button > span { font-size: 14px; font-weight: 700; }
.console-caption { font-size: 15px; color: #566b44; }
.integration-layout { grid-template-columns: 330px 1fr; }
.integration-tabs button > div { font-size: 18px; font-weight: 700; }
.integration-tabs small { font-size: 13px; line-height: 1.7; color: #5c6c50; }
.integration-tabs button > span { font-size: 13px; }
.integration-tabs button[aria-selected=true] > div { font-weight: 800; }
.provider-grid { grid-template-columns: repeat(2, 1fr); }
.provider { font-size: 15px; min-height: 68px; line-height: 1.5; font-weight: 600; }
.provider-icon { width: 32px; height: 32px; font-size: 12px; }
.integration-panel > p { font-size: 14px; color: #59674f; line-height: 1.8; }
.steps h3 { font-size: 22px; line-height: 1.5; font-weight: 800; }
.steps p { font-size: 16px; color: #bdc9b9; line-height: 1.85; }
.steps article > span { font-size: 15px; font-weight: 700; }
.workflow-section .section-heading > p { color: #c2cdbd; }
.workflow-note { font-size: 14px; color: #bfceb4; line-height: 1.8; flex-wrap: wrap; }
.workflow-note a { font-weight: 700; }
.security-section { gap: 75px; }
.security-intro > p:not(.eyebrow) { font-size: 17px; }
.security-intro > a { font-size: 16px; }
.security-list h3 { font-size: 22px; line-height: 1.5; font-weight: 800; }
.security-list p { font-size: 16px; line-height: 1.85; }
.security-seal span { font-size: 12px; color: #5e714e; }
.faq-section > h2 { font-size: 36px; }
.faq-section summary { font-size: 18px; font-weight: 700; line-height: 1.7; }
.faq-section details p { font-size: 16px; line-height: 1.85; }
.start-section h2 { font-size: 38px; }
.start-section p:not(.eyebrow) { font-size: 17px; color: #4f663c; }
.start-actions { min-width: 260px; }
.start-actions .button { font-size: 16px; }
.start-actions > span { font-size: 13px; color: #526b3d; }
.footer-top p, .footer-top > a:last-child { font-size: 14px; color: #53634b; }
.footer-bottom { font-size: 12px; color: #617057; line-height: 1.8; }
.footer-bottom a { color: #435c35; }
.hero-visual { height: 550px; }
.visual-top, .visual-foot { font-size: 10px; letter-spacing: .8px; color: #5c704b; }
.source-node { font-size: 14px; }
.source-node small { font-size: 11px; color: #647355; }
.node-code { top: 70px; left: 20px; }
.node-cloud { top: 157px; right: 16px; }
.node-doc { top: 244px; left: 16px; }
.core { top: 207px; left: 66%; width: 143px; height: 125px; }
.core b { font-size: 22px; font-weight: 800; }
.core small { font-size: 6px; letter-spacing: .6px; }
.finding-card { bottom: 39px; left: 35px; right: 25px; max-width: none; }
.finding-heading { font-size: 14px; }
.finding-heading b { font-weight: 800; }
.pill { font-size: 11px; font-weight: 600; }
.masked { font-size: 13px; }
.finding-row { font-size: 12px; color: #5d6b51; line-height: 1.5; }
.finding-row b { font-weight: 700; }
@media (max-width: 1100px) {
  .hero { grid-template-columns: 1fr; gap: 45px; }
  .hero h1 { font-size: 52px; }
  .hero-visual { width: 100%; max-width: 650px; height: 550px; margin-inline: auto; }
  .core { left: 56%; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 22px; }
  .section-heading > p { max-width: 100%; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; padding: 30px; }
  .feature-number { grid-column: 1 / -1; margin-bottom: 24px; }
  .feature > div { grid-column: 2; grid-row: 2 / 5; margin: 0; align-self: center; }
  .feature h3 { grid-column: 1; grid-row: 2; }
  .feature > p { grid-column: 1; grid-row: 3; }
  .feature-tag { grid-column: 1; grid-row: 4; }
  .integration-layout { grid-template-columns: 290px 1fr; }
  .integration-tabs button { padding-inline: 18px; gap: 12px; }
  .steps { grid-template-columns: repeat(2, 1fr); gap: 38px; }
  .steps article:before { display: none; }
  .security-section { gap: 40px; }
}
@media (max-width: 800px) {
  .nav nav { font-size: 14px; gap: 20px; }
  .section-heading h2, h2 { font-size: 35px; }
  .hero h1 { font-size: 48px; }
  .feature h3 { font-size: 22px; }
  .integration-layout { grid-template-columns: 1fr; }
  .integration-tabs button > div { font-size: 16px; }
  .integration-tabs small { display: none; }
  .security-section { grid-template-columns: 1fr; }
  .start-section { flex-direction: column; align-items: stretch; }
  .start-actions { max-width: 360px; }
  .start-section .eyebrow { font-size: 12px; }
  .footer-top { flex-wrap: wrap; }
  .footer-top p { order: 3; width: 100%; }
}
@media (max-width: 520px) {
  body { font-size: 16px; }
  .hero h1 { font-size: clamp(34px, 8.7vw, 43px); font-weight: 900; letter-spacing: -1.5px; }
  .hero-description { font-size: 17px; }
  .hero-description br { display: none; }
  .hero-actions .button, .hero-actions .text-link { font-size: 15px; }
  .hero-actions { gap: 19px; }
  .hero-proof { font-size: 12px; gap: 14px; flex-wrap: wrap; }
  .eyebrow, .feature-number { font-size: 11px; letter-spacing: 1.3px; }
  .section-heading h2, h2 { font-size: 32px; }
  .section-heading > p { font-size: 16px; }
  .section-heading > p br { display: none; }
  .ecosystem > p { font-size: 13px; }
  .ecosystem > div > span, .ecosystem .google, .ecosystem .azure { font-size: 18px; }
  .feature { display: flex; padding: 24px; }
  .feature-number { margin-bottom: 0; }
  .feature > div { margin: 24px 0; }
  .feature h3 { font-size: 23px; }
  .feature > p, .security-list p, .steps p { font-size: 16px; }
  .feature-tag { font-size: 13px; }
  .mini-file code { font-size: 11px; }
  .risk-chart > div:last-child > span { font-size: 12px; }
  .vault-demo > div:first-child { font-size: 12px; }
  .vault-demo > div:first-child > span:not(.dotted-line) { padding-inline: 8px; }
  .console-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .console-tabs button { font-size: 15px; }
  .window-bar { font-size: 11px; }
  .window-bar > span { font-size: 11px; }
  .screenshot-button > span { font-size: 12px; }
  .console-caption { font-size: 14px; }
  .integration-tabs button { padding: 18px 8px; }
  .integration-tabs button > div { font-size: 14px; }
  .integration-tabs button > span { display: none; }
  .provider-grid { gap: 8px; }
  .provider { font-size: 13px; padding: 12px 9px; gap: 8px; }
  .provider-icon { width: 27px; height: 27px; font-size: 10px; }
  .integration-panel > p { font-size: 14px; }
  .steps { grid-template-columns: 1fr; gap: 32px; }
  .steps h3 { font-size: 23px; }
  .workflow-note { font-size: 14px; }
  .security-intro > p:not(.eyebrow), .security-intro > a { font-size: 16px; }
  .security-intro > p br { display: none; }
  .security-list h3 { font-size: 21px; }
  .faq-section > h2 { font-size: 30px; }
  .faq-section summary { font-size: 17px; }
  .faq-section details p { font-size: 16px; }
  .start-section h2 { font-size: 31px; }
  .start-section p:not(.eyebrow), .start-actions .button { font-size: 16px; }
  .start-actions { min-width: 0; }
  .footer-top p, .footer-top > a:last-child { font-size: 13px; }
  .footer-bottom { font-size: 12px; }
  .hero-visual { height: 575px; }
  .source-node { font-size: 12px; }
  .source-node small { font-size: 10px; }
  .node-cloud { top: 145px; }
  .node-doc { top: 240px; }
  .core { top: 220px; left: 68%; width: 112px; height: 115px; }
  .core b { font-size: 20px; }
  .core small { font-size: 5px; letter-spacing: .3px; }
  .finding-card { left: 15px; right: 15px; bottom: 40px; transform: none; }
  .finding-heading { font-size: 13px; }
  .finding-row { font-size: 11px; gap: 7px; }
  .masked { font-size: 12px; }
  .visual-top, .visual-foot { font-size: 8px; letter-spacing: .5px; }
}
/* Vendor-original logos: retain native colour and aspect ratio. */
.ecosystem > div { flex-wrap: wrap; justify-content: center; gap: 28px 36px; }
.ecosystem > div > .ecosystem-brand { display: inline-flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 600; }
.ecosystem-brand img { width: 34px; height: 34px; object-fit: contain; flex-shrink: 0; }
.ecosystem-brand.aws-brand img { width: 54px; height: 34px; }
.ecosystem-brand.aws-brand > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.provider-icon { background: #fff; width: 44px; height: 44px; border-radius: 0; flex-shrink: 0; }
.provider-icon img { width: 36px; height: 36px; object-fit: contain; }
.workflow-brand { display: inline-flex; align-items: center; background: #fff; border-radius: 6px; padding: 7px 11px; margin: 0 0 13px; }
.workflow-brand img { width: 90px; height: 26px; object-fit: contain; }
@media (max-width: 520px) {
  .ecosystem > div { gap: 22px 25px; }
  .ecosystem > div > .ecosystem-brand { font-size: 16px; gap: 8px; }
  .ecosystem-brand img { width: 28px; height: 28px; }
  .provider { align-items: flex-start; }
  .provider-icon { width: 30px; height: 34px; }
  .provider-icon img { width: 28px; height: 30px; }
}
