:root {
  --ink: #161d26;
  --navy: #202b3c;
  --paper: #ffffff;
  --muted: #4f5965;
  --line: #d5d9d9;
  --purple: #8955f6;
  --cyan: #42dbe8;
  --link: #0073bb;
  --max: 1200px;
  --shadow: 0 6px 18px rgb(15 23 42 / 12%);
  font-family: Arial, "Helvetica Neue", sans-serif;
  color: var(--ink);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-gutter: stable; }
body { margin: 0; overflow-x: clip; background: #fff; font-size: 16px; line-height: 1.5; }
body.menu-open { position: fixed; right: 0; left: 0; width: 100%; overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; color: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; height: auto; }
.wide { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.plain { border: 0; background: transparent; }
.mobile-only { display: none; }
.skip-link { position: fixed; top: -80px; left: 16px; z-index: 100; padding: 12px 16px; background: #fff; }
.skip-link:focus { top: 12px; }

.global-header { position: sticky; top: 0; z-index: 30; background: #fff; }
.utility { height: 48px; color: #fff; background: var(--navy); }
.utility-inner { height: 100%; display: flex; align-items: center; justify-content: flex-end; gap: 30px; font-size: 13px; }
.utility button { color: #fff; }
.profile { display: grid; width: 32px; height: 32px; place-items: center; border: 2px solid #fff; border-radius: 50%; font-size: 20px; }
.main-nav { height: 75px; display: flex; align-items: center; gap: 34px; }
.aws-logo { width: 55px; height: 34px; display: flex; align-items: center; color: var(--ink); transition: opacity 160ms ease, transform 160ms ease; }
.aws-logo img { width: 55px; height: 33px; display: block; object-fit: contain; filter: brightness(0) saturate(100%); }
.aws-logo:hover { opacity: .72; transform: translateY(-1px); }
.global-links { flex: 1; display: flex; align-items: center; gap: 28px; font-size: 14px; }
.global-links button { min-height: 44px; padding: 0; }
.global-links a, .global-links button { position: relative; }
.tablet-more { display: none; }
.global-links a::after, .global-links button::after { position: absolute; right: 0; bottom: 4px; left: 0; height: 2px; background: var(--ink); content: ""; transform: scaleX(0); transition: transform 180ms ease; }
.global-links a:hover::after, .global-links button:hover::after, .global-links button[aria-expanded="true"]::after { transform: scaleX(1); }
.nav-actions { display: flex; align-items: center; gap: 26px; font-size: 14px; white-space: nowrap; }
.search-toggle { min-height: 44px; }
.button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 10px 24px; border: 2px solid transparent; border-radius: 999px; font-weight: 700; }
.button.dark { color: #fff; background: var(--ink); }
.button.light { color: var(--ink); background: #fff; }
.button.outline { border-color: var(--ink); background: #fff; }
.button.compact { min-height: 44px; padding-inline: 25px; }
.button, .play, .fullscreen, .zoom-controls button, .tabs button,
.feedback, .chat, .corner-close, .cookie-close, .chat-form button {
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.button.dark:hover { background: #37475a; box-shadow: 0 3px 8px rgb(15 23 42 / 22%); }
.button.outline:hover { color: #0972d3; border-color: #0972d3; background: #f2f8fd; }
.button.light:hover { color: #0972d3; background: #f2f8fd; }
.nav-actions > a:not(.button):hover, .utility-inner > a:hover { text-decoration: underline; text-underline-offset: 4px; }
.nav-actions > a:not(.button):hover { color: #0972d3; }
.search-toggle:hover, .utility-menu-button:hover { text-decoration: underline; text-underline-offset: 5px; }
.search-panel { position: absolute; inset: 100% 0 auto; display: grid; grid-template-columns: auto minmax(200px, 600px) auto; justify-content: center; align-items: center; gap: 16px; padding: 24px; background: #fff; box-shadow: var(--shadow); }
.search-panel[hidden] { display: none; }
.search-panel input { height: 44px; padding: 8px 12px; border: 1px solid #87909c; }

.mega-backdrop { position: fixed; inset: 123px 0 0; z-index: 39; background: rgb(16 24 32 / 52%); backdrop-filter: blur(4px); animation: fade-in 180ms ease both; }
.mega-backdrop.is-closing { animation: fade-out 160ms ease both; }
.mega-backdrop[hidden], .global-mega[hidden], .utility-popover[hidden] { display: none; }
.global-mega { position: fixed; top: 123px; right: 0; left: 0; z-index: 40; max-height: calc(100vh - 184px); overflow: hidden; border-radius: 0 0 22px 22px; background: #fff; box-shadow: 0 18px 44px rgb(15 23 42 / 28%); animation: mega-in 220ms cubic-bezier(.2,.8,.2,1) both; }
.global-mega.is-closing { animation: mega-out 160ms cubic-bezier(.4,0,1,1) both; }
.mega-close { position: absolute; top: 18px; right: max(24px, calc((100% - 1360px) / 2)); z-index: 3; width: 44px; height: 44px; border: 0; background: transparent; font-size: 34px; line-height: 1; }
.mega-shell { width: min(1360px, calc(100% - 64px)); min-height: 320px; max-height: calc(100vh - 184px); margin: auto; display: grid; grid-template-columns: 300px 1fr; }
.mega-sidebar { max-height: inherit; overflow: auto; padding: 30px 28px 36px 0; border-right: 1px solid var(--line); }
.mega-sidebar:empty { display: none; }
.mega-content { min-width: 0; max-height: inherit; overflow: auto; padding: 36px 72px 42px 70px; outline: 0; }
.mega-shell:has(.mega-sidebar:empty) { grid-template-columns: 1fr; }
.mega-shell:has(.mega-sidebar:empty) .mega-content { padding-left: 16px; }
.mega-sidebar button { width: 100%; min-height: 44px; padding: 11px 16px; border: 0; border-radius: 8px; background: transparent; text-align: left; }
.mega-sidebar button:hover, .mega-sidebar button[aria-selected="true"] { background: var(--navy); color: #fff; }
.mega-title { margin: 0 0 10px; font-size: 25px; font-weight: 500; }
.mega-lead { max-width: 760px; margin: 0 0 24px; color: var(--muted); }
.mega-link { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.mega-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.mega-card { min-height: 138px; padding: 22px; border: 1px solid #e0e4e8; border-radius: 12px; background: #f7f8fa; transition: transform 180ms ease, box-shadow 180ms ease; }
.mega-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.mega-card strong { display: block; margin-bottom: 8px; font-size: 17px; }
.mega-card small { display: block; color: var(--muted); font-size: 14px; line-height: 1.4; }
.topic-card { min-height: 218px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; color: #fff; background: linear-gradient(145deg, #160c27, #52327c 56%, #79d9d2); }
.topic-card:nth-child(2) { background: linear-gradient(145deg, #33485c, #5b7590 50%, #b6cbd0); }
.topic-card:nth-child(3) { background: linear-gradient(145deg, #46594e, #728a75 45%, #d4c8ce); }
.topic-card small { color: #fff; }
.global-mega[data-type="discover"], .global-mega[data-type="products"], .global-mega[data-type="resources"] { height: calc(100vh - 184px); }
.mega-columns { display: grid; grid-template-columns: 2fr 1fr; gap: 58px; }
.mega-column + .mega-column { padding-left: 36px; border-left: 1px solid var(--line); }
.mega-column h3 { margin: 0 0 22px; font-size: 18px; font-weight: 500; }
.mega-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 26px; }
.mega-list.one { grid-template-columns: 1fr; }
.mega-list a { padding: 12px 0; border-bottom: 1px solid #e7e9ec; }
.mega-list strong, .mega-list small { display: block; }
.mega-list small { margin-top: 4px; color: var(--muted); line-height: 1.35; }
.utility-popover { position: fixed; top: 48px; right: max(24px, calc((100% - 1200px) / 2)); z-index: 50; width: min(360px, calc(100% - 32px)); max-height: 520px; overflow: auto; padding: 14px; border-radius: 0 0 12px 12px; background: #fff; box-shadow: var(--shadow); animation: pop-in 160ms ease both; }
.utility-popover a, .utility-popover button, .utility-popover label { min-height: 42px; display: flex; align-items: center; padding: 9px 12px; border: 0; border-radius: 7px; background: transparent; }
.utility-popover a:hover, .utility-popover button:hover { background: #eef1f4; }
.language-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.language-grid button { border: 0; background: transparent; padding: 9px 12px; color: inherit; text-align: left; cursor: pointer; }
.language-grid button:hover, .language-grid button:focus-visible { background: #eaeded; outline: 2px solid #0073bb; outline-offset: -2px; }
.language-detect { margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--line); }
.utility-popover[data-language-menu] { box-sizing: border-box; width: min(400px, calc(100% - 32px)); max-height: min(540px, calc(100vh - 80px)); padding: 14px; border: 1px solid #d5dbdb; border-radius: 12px; background: #fff; box-shadow: 0 12px 30px rgba(15,23,42,.16); direction: ltr; }
.aws-language-grid { display: grid; grid-template-rows: repeat(8, 44px); grid-auto-flow: column; grid-auto-columns: minmax(0,1fr); gap: 4px 10px; }
.utility-popover .aws-language-grid button { min-width: 0; min-height: 44px; padding: 0 14px; display: flex; align-items: center; justify-content: space-between; border: 0; border-radius: 7px; color: #202b3c; background: transparent; font: inherit; font-size: 15px; cursor: pointer; }
.utility-popover .aws-language-grid button b { display: none; color: #fff; font-size: 20px; }
.utility-popover .aws-language-grid button:hover { background: #eef1f4; }
.utility-popover .aws-language-grid button:focus-visible { outline: 3px solid #0972d3; outline-offset: 1px; }
.utility-popover .aws-language-grid button[aria-selected="true"] { color: #fff; background: #202b3c; font-weight: 700; }
.utility-popover .aws-language-grid button[aria-selected="true"] b { display: block; }
.utility-popover .aws-language-detect { box-sizing: border-box; min-height: 78px; margin-top: 14px; padding: 16px; display: flex; align-items: flex-start; gap: 10px; border: 1px solid #c6cbd1; border-radius: 8px; color: #202b3c; background: #fff; cursor: pointer; }
.utility-popover .aws-language-detect:hover { background: #fff; }
.aws-language-detect input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: #0972d3; }
.aws-language-detect span { display: grid; gap: 3px; }
.aws-language-detect strong { font-size: 15px; font-weight: 500; }
.aws-language-detect small { color: #52606d; font-size: 12px; line-height: 1.35; }

.product-band { position: sticky; top: 123px; z-index: 20; padding: 17px 16px; background: #fff; }
.product-nav { position: relative; width: min(100%, 1200px); min-height: 62px; margin: auto; padding: 0 31px; display: flex; align-items: center; border: 1px solid #d6d9dc; border-radius: 17px; background: #fff; box-shadow: var(--shadow); }
.product-toggle { min-height: 60px; padding: 0; font-weight: 700; }
.product-toggle:hover { color: #0972d3; }
.product-toggle span { display: none; }
.product-links { flex: 1; display: flex; align-items: center; justify-content: flex-start; gap: 0; margin-left: 22px; font-size: 14px; }
.product-links > a, .product-menu-label { min-height: 44px; display: flex; align-items: center; padding: 8px 16px; border-radius: 8px; }
.product-links > a:hover, .product-links > a:focus-visible,
.product-menu-group:hover, .product-menu-group:focus-within,
.product-menu-label:hover, .product-menu-label:focus-visible,
.product-menu-label[aria-expanded="true"] { color: #0972d3; background: #eaeded; text-decoration: none; }
.product-links .offer-nav-link { align-self: center; padding: 9px 14px; border-radius: 999px; color: #161d26; background: #ff9900; font-weight: 800; white-space: nowrap; }
.product-links .offer-nav-link:hover, .product-links .offer-nav-link:focus-visible { background: #ffad33; box-shadow: 0 0 0 3px #fff, 0 0 0 5px #0972ce; text-decoration: none; }
.product-menu-button { min-height: 44px; padding: 0; white-space: nowrap; }
.product-menu-button span { display: inline-block; transition: transform 160ms ease; }
.product-menu-button[aria-expanded="true"] span { transform: rotate(180deg); }
.product-menu-label { min-height: 44px; white-space: nowrap; }
.product-menu-label span { display: inline-block; margin-left: 5px; transition: transform 160ms ease; }
.product-menu-label[aria-expanded="true"] span { transform: rotate(180deg); }
.product-menu-group { min-height: 44px; display: inline-flex; align-items: center; padding-left: 16px; border-radius: 8px; white-space: nowrap; }
.product-menu-group .product-menu-button { width: 36px; min-height: 44px; margin-left: 2px; display: grid; place-items: center; }
.product-popover { position: absolute; top: 61px; z-index: 35; width: 278px; max-height: 316px; overflow: auto; padding: 16px; border: 1px solid var(--line); border-radius: 0 0 10px 10px; background: #fff; box-shadow: var(--shadow); animation: pop-in 160ms cubic-bezier(.2,.8,.2,1) both; }
.product-popover[hidden] { display: none; }
.product-popover a { display: block; padding: 13px 18px; border-radius: 6px; }
.product-popover a:hover { background: #eef1f4; }

.hero { min-height: 322px; background: #fff; }
.hero-inner { padding-top: 20px; }
.breadcrumbs { display: flex; align-items: center; gap: 9px; font-size: 14px; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.breadcrumbs a:hover { color: #0972d3; text-decoration-thickness: 2px; }
h1 { width: 50%; margin: 31px 0 7px; font-size: 40px; font-weight: 500; line-height: 1.1; }
.hero p { width: 50%; margin: 0 0 24px; font-size: 20px; font-weight: 600; line-height: 1.35; }
.hero-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.hero-actions .button { min-height: 44px; font-size: 16px; font-weight: 500; line-height: 24px; }
.hero-actions .button.dark { width: 286px; padding: 10px 26px; border: 0; }
.hero-actions .button.outline { width: 335px; padding: 8px 24px; border-radius: 40px; }
.hero h1 { animation: hero-up 360ms 30ms cubic-bezier(.2,.8,.2,1) both; }
.hero p { animation: hero-up 360ms 70ms cubic-bezier(.2,.8,.2,1) both; }
.hero-actions { animation: hero-up 360ms 110ms cubic-bezier(.2,.8,.2,1) both; }

.section { padding-block: 80px; }
.section h2 { margin: 0 0 16px; font-size: 32px; font-weight: 500; line-height: 1.25; }
.section h3 { margin: 0 0 16px; font-size: 28px; font-weight: 500; line-height: 1.25; }
.section p { margin: 0 0 18px; }
.section-lead { font-size: 18px; }
.split { display: grid; grid-template-columns: 576px 475px; gap: 133px; align-items: center; }
.intro { align-items: start; padding-top: 112px; padding-bottom: 54px; }
.intro h2 { margin-bottom: 32px; }
.video-poster { position: relative; overflow: hidden; border-radius: 22px; background: #fff5df; }
.video-poster img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.play { position: absolute; left: 34px; bottom: 32px; display: grid; width: 48px; height: 48px; place-items: center; padding-left: 4px; border: 2px solid var(--ink); border-radius: 50%; background: #fff; }
.play:hover { color: #0972d3; border-color: #0972d3; background: #f2f8fd; transform: scale(1.06); }
.video-poster iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }
.intro p, .customer p { color: #293442; }

.discover { padding-block: 56px 79px; background: #fff; }
.diagram-frame { position: relative; margin-top: 38px; overflow: hidden; border: 1px solid #e0e2e5; border-radius: 20px; background: #f7f7f8; }
.diagram-frame > img { width: 100%; aspect-ratio: 2 / 1; object-fit: cover; transition: transform 220ms ease; transform-origin: center; }
.zoom-controls { position: absolute; right: 72px; bottom: 20px; display: flex; overflow: hidden; align-items: center; border: 1px solid #bac1c9; border-radius: 8px; background: #fff; }
.zoom-controls button { width: 42px; height: 42px; border: 0; background: #fff; font-size: 20px; }
.zoom-controls button:not(:disabled):hover, .fullscreen:hover { color: #0972d3; background: #eef6fc; }
.zoom-controls output { min-width: 62px; text-align: center; font-size: 14px; }
.fullscreen { position: absolute; right: 18px; bottom: 20px; width: 44px; height: 44px; border: 1px solid #bac1c9; border-radius: 7px; background: #fff; }
.fullscreen span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.capabilities { padding-block: 56px 98px; background: #fff; }
.tabs { display: grid; grid-template-columns: 1.05fr 1.75fr 1.85fr 1.4fr 1fr; margin-top: 60px; padding: 3px; border: 1px solid #7d8490; border-radius: 999px; background: #fafafa; }
.tabs button { min-height: 48px; padding: 8px 18px; border: 0; border-radius: 999px; background: transparent; white-space: nowrap; }
.tabs button:not([aria-selected="true"]):hover { color: #0972d3; background: #eaeded; }
.tabs button[aria-selected="true"] { background: linear-gradient(90deg, var(--purple), var(--cyan)); box-shadow: 0 2px 8px rgb(80 69 230 / 28%); }
.tabs button[aria-selected="true"]:hover { box-shadow: 0 4px 14px rgb(80 69 230 / 40%); filter: saturate(1.12); }
.tab-panel { grid-template-columns: 576px 475px; gap: 133px; padding-top: 36px; }
.tab-panel > div { padding-right: 0; }
.tab-panel img { width: 100%; aspect-ratio: 4 / 3; border-radius: 10px; object-fit: cover; }
.text-link { color: var(--link); text-decoration: underline; text-underline-offset: 2px; }
.text-link:hover { color: #033160; text-decoration-thickness: 2px; }

.agentcore { min-height: 596px; padding-block: 56px; }
.agentcore-grid { display: grid; grid-template-columns: 475px 576px; gap: 133px; align-items: start; }
.agentcore li { margin-bottom: 9px; }
.agentcore ul { padding-left: 22px; }

.uses { padding-block: 56px 78px; }
.uses-grid { display: grid; grid-template-columns: 475px 576px; gap: 133px; }
.uses-title { position: sticky; top: 0; align-self: start; }
.use-list { padding-top: 20px; }
.uses-title p { font-size: 18px; font-weight: 600; }
.use-list article { margin-bottom: 31px; }
.use-list article h3 { margin-bottom: 16px; }
.use-list article p { margin: 0; font-size: 14px; line-height: 20px; }
.show-more { margin-top: 4px; }

.results { min-height: 184px; padding-block: 56px; }
.customer { min-height: 528px; padding-block: 56px; }
.customer .split { align-items: start; }
.customer .video-poster { margin-top: 0; }
.customer h2 { margin-bottom: 32px; }
.customer p { margin-bottom: 32px; }
.customer .text-link { font-size: 14px; line-height: 20px; }
.next { min-height: 696px; padding-top: 56px; background: #fff; }
.next-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 30px; }
.next-grid > a { min-height: 235px; padding: 32px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.next-grid span { color: #5e36c7; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.next-grid h3 { margin-top: 16px; font-size: 24px; }
.next-grid b { margin-top: auto; color: var(--link); }
.next-grid > a { transition: transform 180ms ease, box-shadow 180ms ease; }
.next-grid > a:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgb(15 23 42 / 16%); }

footer { padding: 58px 0 30px; border-radius: 68px 68px 0 0; background: #111820; color: #fff; }
.footer-top { display: flex; align-items: center; justify-content: space-between; }
.language { min-height: 44px; padding: 8px 20px; border: 2px solid #fff; border-radius: 999px; color: #fff; }
.footer-columns { display: grid; grid-template-columns: repeat(4, 1fr); gap: 48px; margin: 58px 0 38px; }
.footer-columns h2 { margin: 0; font-size: 17px; }
.footer-toggle { padding: 0; color: #fff; font-weight: 700; }
.footer-toggle:hover { color: #c7e7ff; text-decoration: underline; text-underline-offset: 4px; }
.footer-toggle span { display: none; }
.footer-columns ul { margin: 18px 0 0; padding: 0; list-style: none; }
.footer-columns li { margin: 12px 0; }
.footer-columns a { color: #aeb6c1; font-size: 14px; }
.footer-columns a:hover, .back-top:hover, .footer-bottom a:hover, .cookie-link:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.back-top { display: block; margin: 30px 0 54px; text-align: center; font-weight: 700; }
.footer-bottom { display: grid; grid-template-columns: 2fr 1fr; gap: 20px; color: #c6cbd2; font-size: 13px; }
.footer-bottom p { margin: 0; }
.footer-bottom nav { display: flex; justify-content: flex-end; gap: 18px; color: #fff; font-size: 18px; }
.footer-bottom div a { margin-right: 24px; }
.cookie-link { padding: 0; color: #c6cbd2; font-size: 13px; text-decoration: underline; }

.feedback, .chat { position: fixed; right: 18px; z-index: 24; box-shadow: var(--shadow); }
.feedback { top: 47%; width: 38px; height: 38px; border: 1px solid #aeb6c1; border-radius: 4px; background: #fff; font-size: 22px; }
.chat { bottom: 24px; width: 62px; height: 62px; border: 0; border-radius: 8px; background: #0d1b2d; color: #fff; font-size: 25px; }
.corner-panel { position: fixed; right: 18px; bottom: 98px; z-index: 60; width: min(380px, calc(100% - 36px)); max-height: min(560px, calc(100vh - 130px)); overflow: auto; padding: 26px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 18px 50px rgb(15 23 42 / 24%); animation: panel-up 200ms cubic-bezier(.2,.8,.2,1) both; }
.corner-panel[hidden] { display: none; }
.corner-panel h2 { margin: 0 36px 12px 0; font-size: 24px; }
.corner-close { position: absolute; top: 10px; right: 10px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; font-size: 28px; }
.feedback-actions { display: flex; gap: 8px; }
.feedback-actions button { flex: 1; min-height: 44px; border: 1px solid var(--ink); border-radius: 999px; background: #fff; }
.feedback-actions button:hover, .feedback-actions button[aria-pressed="true"] { background: var(--ink); color: #fff; }
.corner-status { min-height: 24px; margin: 14px 0 0; color: #31702b; }
.chat-log { min-height: 190px; padding: 14px; border-radius: 10px; background: #f3f5f7; }
.chat-log p { margin: 0 0 12px; }
.chat-log .user-message { margin-left: 28px; padding: 10px 12px; border-radius: 10px 10px 2px 10px; background: #dde8ff; }
.chat-form { margin-top: 16px; }
.chat-form label { display: block; margin-bottom: 6px; font-weight: 700; }
.chat-form > div { display: flex; gap: 8px; }
.chat-form input { min-width: 0; flex: 1; height: 44px; padding: 9px 12px; border: 1px solid #7d8792; border-radius: 8px; }
.chat-form button { width: 44px; height: 44px; border: 0; border-radius: 8px; background: var(--ink); color: #fff; }
.feedback:hover, .corner-close:hover, .cookie-close:hover { color: #0972d3; background: #eef6fc; }
.chat:hover, .chat-form button:hover { background: #37475a; transform: translateY(-2px); box-shadow: 0 5px 14px rgb(15 23 42 / 28%); }
.cookie-panel { position: fixed; inset: 50% auto auto 50%; z-index: 90; width: min(600px, calc(100% - 32px)); max-height: calc(100vh - 40px); overflow: auto; padding: 30px; border-radius: 18px; background: #fff; box-shadow: 0 0 0 100vmax rgb(10 18 28 / 66%), 0 24px 80px rgb(0 0 0 / 38%); transform: translate(-50%, -50%); }
.cookie-panel[hidden] { display: none; }
.cookie-panel h2 { margin: 0 40px 10px 0; font-size: 28px; }
.cookie-close { position: absolute; top: 12px; right: 12px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: transparent; font-size: 30px; }
.cookie-panel > label { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 0; border-top: 1px solid var(--line); }
.cookie-panel label span, .cookie-panel label small { display: block; }
.cookie-panel label small { margin-top: 3px; color: var(--muted); }
.cookie-panel input { width: 22px; height: 22px; }
.cookie-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.cookie-status { min-height: 24px; color: #31702b; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #ffb400; outline-offset: 3px; }
.skip-link:hover { color: #0972d3; text-decoration: underline; }

.reveal-target { opacity: 0; transform: translateY(12px); transition: opacity 320ms ease, transform 320ms cubic-bezier(.2,.8,.2,1); }
.reveal-target.is-visible { opacity: 1; transform: translateY(0); }

@keyframes fade-in { from { opacity: 0; } }
@keyframes fade-out { to { opacity: 0; } }
@keyframes mega-in { from { opacity: 0; transform: translateY(-14px); } }
@keyframes mega-out { to { opacity: 0; transform: translateY(-8px); } }
@keyframes pop-in { from { opacity: 0; transform: translateY(-8px) scale(.985); } }
@keyframes hero-up { from { opacity: 0; transform: translateY(14px); } }
@keyframes panel-up { from { opacity: 0; transform: translateY(12px) scale(.98); } }

@media (min-width: 1051px) {
  main .wide { width: 1025px; }
  .hero-inner { position: relative; top: -2px; }
  .hero h1 { width: 497px; font-size: 32px; line-height: 40px; }
  .hero p { width: 497px; font-size: 18px; line-height: 26px; }
  .intro { padding-top: 77px; }
  .discover { padding-bottom: 114px; }
  .capabilities { padding-bottom: 70px; }
  .intro.split, .customer .split { grid-template-columns: 496px 408px; gap: 120px; }
  .tab-panel { grid-template-columns: 497px 408px; gap: 120px; }
  .agentcore-grid, .uses-grid { grid-template-columns: 408px 497px; gap: 120px; }
  .agentcore { padding-bottom: 62px; }
  .agentcore h2 { min-height: 160px; }
  .uses { position: relative; z-index: 2; height: 736px; min-height: 0; overflow: visible; pointer-events: none; }
  .uses .use-list { position: relative; z-index: 2; }
  .uses .wide, .uses .use-list { pointer-events: auto; }
  .results { pointer-events: none; }
  .customer { padding-bottom: 80px; }
  .discover>.wide>h2, .capabilities>.wide>h2, .results>.wide>h2, .next>.wide>h2 { width: 673px; }
}

@view-transition { navigation: none; }
@keyframes page-out { to { opacity: 0; transform: translateY(-6px); } }
@keyframes page-in { from { opacity: 0; transform: translateY(10px); } }

@media (min-width: 901px) and (max-width: 1199px) {
  .wide { width: calc(100% - 160px); }
  main .wide { width: calc(100% - 160px); }
  .main-nav { width: calc(100% - 80px); gap: 24px; }
  .global-links { gap: 24px; }
  .global-links > :nth-child(n+4):not(.tablet-more) { display: none; }
  .global-links .tablet-more { display: inline-block; }
  .nav-actions { gap: 18px; }
  .product-nav { width: 100%; padding-inline: 31px; }
  .product-links { gap: 0; margin-left: 22px; font-size: 14px; }
  .product-links .offer-nav-link { padding: 8px 10px; }
  .split, .tab-panel { grid-template-columns: 47% 42%; gap: 11%; }
  .agentcore-grid, .uses-grid { grid-template-columns: 42% 47%; gap: 11%; }
  .tabs button { padding-inline: 11px; font-size: 12px; }
  .agentcore-grid { width: calc(100% - 160px); }
}

@media (max-width: 900px) {
  .desktop-only, .global-links { display: none !important; }
  .mobile-only { display: inline-grid; }
  .wide { width: min(calc(100% - 40px), var(--max)); }
  .global-header { height: auto; }
  .main-nav { height: 69px; justify-content: space-between; padding-inline: 20px; width: 100%; }
  .icon-button { width: 44px; height: 44px; place-items: center; border: 0; background: transparent; font-size: 22px; }
  .nav-actions { gap: 6px; }
  .search-toggle { font-size: 24px; }
  .global-mobile-panel { width: 100%; padding: 10px 20px 22px; background: #fff; box-shadow: var(--shadow); }
  .global-mobile-panel[hidden] { display: none; }
  .global-mobile-panel:not([hidden]) { display: grid; }
  .global-mobile-panel a, .global-mobile-panel > button { min-height: 49px; display: flex; align-items: center; justify-content: space-between; padding: 13px 6px; border: 0; border-bottom: 1px solid var(--line); text-align: left; }
  .search-panel { grid-template-columns: 1fr; }
  .product-band { top: 69px; padding: 16px; }
  .product-nav { min-height: 58px; display: block; padding-inline: 24px; }
  .product-toggle { width: 100%; display: flex; align-items: center; justify-content: space-between; }
  .product-toggle span { display: inline; }
  .product-links { display: none; margin: 0; padding-bottom: 12px; gap: 0; flex-direction: column; align-items: stretch; }
  .product-links.open { display: flex; }
  .product-links a { padding: 12px 0; border-top: 1px solid var(--line); }
  .product-menu-button { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 12px 0; border-top: 1px solid var(--line); }
  .product-menu-group { width: 100%; display: grid; grid-template-columns: 1fr 44px; border-top: 1px solid var(--line); }
  .product-menu-group > a { border-top: 0; }
  .product-menu-group .product-menu-button { width: 44px; margin: 0; border-top: 0; justify-content: center; }
  .product-menu-label { width: 100%; padding: 12px 0; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); }
  .product-popover { position: static; width: calc(100% + 48px); max-height: none; margin: 0 -24px -1px; border-width: 1px 0 0; border-radius: 0 0 16px 16px; box-shadow: none; }
  .global-mega { top: 69px; max-height: calc(100vh - 69px); border-radius: 0; }
  .global-mega[data-type] { height: calc(100vh - 69px); }
  .mega-backdrop { inset: 69px 0 0; }
  .mega-shell { width: 100%; max-height: calc(100vh - 69px); display: block; overflow: auto; }
  .mega-sidebar { max-height: none; padding: 70px 20px 16px; border-right: 0; }
  .mega-content { max-height: none; padding: 20px 20px 48px; overflow: visible; }
  .mega-close { top: 12px; right: 12px; }
  .mega-card-grid, .mega-columns, .mega-list { grid-template-columns: 1fr; }
  .mega-column + .mega-column { padding: 26px 0 0; border: 0; }
  .utility-popover { top: 69px; right: 16px; }
  .hero { min-height: 344px; }
  .hero-inner { padding-top: 27px; }
  .breadcrumbs a:first-child, .breadcrumbs span:nth-child(2) { display: none; }
  h1 { width: 100%; margin-top: 23px; font-size: 30px; }
  .hero p { width: 100%; margin-bottom: 20px; font-size: 17px; font-weight: 400; }
  .hero-actions { gap: 12px; }
  .hero-actions .button { width: 100%; padding-inline: 12px; }
  .section { padding-block: 58px; }
  .section h2 { font-size: 28px; }
  .section h3 { font-size: 24px; }
  .split, .uses-grid, .agentcore-grid { grid-template-columns: 1fr; gap: 34px; }
  .intro { padding-top: 40px; }
  .intro .video-poster { order: -1; }
  .diagram-frame { margin-inline: -4px; }
  .zoom-controls { right: 64px; bottom: 10px; }
  .fullscreen { right: 10px; bottom: 10px; }
  .tabs { display: flex; overflow-x: auto; margin-right: -20px; padding-right: 20px; border: 0; border-radius: 0; background: transparent; scrollbar-width: none; }
  .tabs button { flex: 0 0 auto; border: 1px solid #aeb6c1; }
  .tab-panel { padding-top: 32px; }
  .tab-panel > div { padding-right: 0; }
  .tab-panel img { order: -1; }
  .agentcore { min-height: 0; }
  .uses-title { position: static; }
  .use-list { padding-top: 0; }
  .metric { align-items: center; }
  .metric strong { font-size: 72px; }
  .metric span { font-size: 18px; }
  .next-grid { grid-template-columns: 1fr; }
  footer { border-radius: 32px 32px 0 0; }
  .footer-top { align-items: flex-start; gap: 16px; }
  .footer-columns { display: block; margin: 36px 0; }
  .footer-columns section { border-top: 1px solid #39434e; }
  .footer-columns h2 { margin: 0; }
  .footer-toggle { width: 100%; min-height: 56px; display: flex; align-items: center; justify-content: space-between; }
  .footer-toggle span { display: inline; }
  .footer-columns ul { display: none; margin: 0 0 18px; }
  .footer-columns ul.open { display: block; }
  .footer-bottom { grid-template-columns: 1fr; }
  .footer-bottom nav { justify-content: flex-start; }
  .cookie-actions { flex-direction: column-reverse; }
  .cookie-actions .button { width: 100%; }
  .feedback { right: 2px; }
  .chat { width: 56px; height: 56px; }
}

@media (max-width: 390px) {
  .button { font-size: 15px; }
  .footer-top .button, .language { padding-inline: 13px; font-size: 12px; }
  .diagram-frame > img { min-height: 260px; object-fit: cover; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

.promo-banner{position:relative;z-index:8;padding:10px 24px;color:#fff;background:#202b3c}.promo-banner>div{width:min(100%,1025px);min-height:44px;margin:auto;display:flex;align-items:center;gap:16px}.promo-banner span{padding:3px 8px;border-radius:4px;color:#161d26;background:#ff9900;font-size:11px;font-weight:800;letter-spacing:.08em}.promo-banner strong{font-size:14px}.promo-banner a{margin-left:auto;color:#fff;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.promo-banner a:hover{color:#ffb84d}
@media(max-width:900px){.promo-banner>div{align-items:flex-start;flex-wrap:wrap}.promo-banner a{margin-left:0}}
@media(max-width:520px){.promo-banner{padding-inline:16px}.promo-banner strong{width:calc(100% - 70px)}}
@media(max-width:700px){.product-links .offer-nav-link{order:-1}}


@view-transition { navigation: auto; }
::view-transition-old(root) { animation: bedrock-page-out .16s ease-out both; }
::view-transition-new(root) { animation: bedrock-page-in .24s cubic-bezier(.2,.75,.25,1) both; }
@keyframes bedrock-page-out { to { opacity: 0; transform: translateY(-4px); } }
@keyframes bedrock-page-in { from { opacity: 0; transform: translateY(8px); } }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}
