.technologies-page {
  --technology-navy: #071a2b;
  --technology-navy-2: #0d2447;
  --technology-teal: #20908e;
  --technology-mint: #9ef0cf;
  --technology-cyan: #79d9ff;
  --technology-ink: #17212b;
  --technology-muted: #60707c;
  --technology-border: #d7e0e7;
  --technology-surface: #f8fafb;
  background: var(--technology-surface) !important;
}

.technologies-page main { overflow: hidden; }
.technologies-page main > section { content-visibility: visible; contain-intrinsic-size: none; }
.technologies-page .desktop-nav a[aria-current="page"],
.technologies-page .mobile-nav a[aria-current="page"] { background: #eef3f5; color: #0d2447 !important; }

.technology-hero {
  position: relative;
  min-height: 790px;
  padding: 168px 0 102px;
  overflow: hidden;
  isolation: isolate;
  background: var(--technology-navy);
  color: #fff;
}
.technology-hero::before { position:absolute; z-index:1; inset:0; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:52px 52px; opacity:.24; mask-image:linear-gradient(to bottom,transparent,black 30%,transparent); content:""; pointer-events:none; }
.technology-hero::after { position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(7,26,43,.99) 0%,rgba(7,26,43,.96) 30%,rgba(7,26,43,.78) 52%,rgba(7,26,43,.22) 76%,rgba(7,26,43,.52) 100%),linear-gradient(180deg,rgba(7,26,43,.44) 0%,transparent 38%,rgba(7,26,43,.62) 100%); content:""; pointer-events:none; }
.technology-hero-grid { position:static; display:block; }
.technology-hero-copy { position:relative; z-index:2; max-width:680px; }
.technology-hero h1 { max-width:730px; margin:0; color:#fff; font-size:clamp(3.6rem,5.7vw,5.5rem) !important; line-height:1.02 !important; letter-spacing:-.055em !important; }
.technology-hero h1 span { display:block; color:#a7bbc5; font-weight:300; }
.technology-hero-copy > p:not(.eyebrow) { max-width:660px; margin:28px 0 0; color:#c7d1d8; font-size:clamp(1.05rem,1.45vw,1.22rem); line-height:1.75; }
.technology-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.technology-hero .button-outline-light { border-color:rgba(255,255,255,.3); color:#fff; }
.technology-principles { display:flex; flex-wrap:wrap; gap:9px; margin-top:34px; }
.technology-principles span { padding:8px 12px; border:1px solid rgba(255,255,255,.14); border-radius:999px; color:#b5c7d0; font-family:"Roboto Mono",monospace; font-size:.66rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.technology-hero-visual { position:absolute; z-index:0; inset:0; margin:0; overflow:hidden; border:0; border-radius:0; background:#061522; box-shadow:none; }
.technology-hero-visual::after { position:absolute; inset:0; background:radial-gradient(circle at 72% 48%,rgba(121,217,255,.08),transparent 34%); content:""; pointer-events:none; }
.technology-hero-visual picture,
.agent-rag-visual picture { display:block; }
.technology-hero-visual picture { width:100%; height:100%; }
.technology-hero-visual img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:66% center; filter:saturate(.9) contrast(1.04) brightness(.78); }

.technology-index { position:relative; z-index:4; border-bottom:1px solid var(--technology-border); background:rgba(255,255,255,.96); }
.technology-index-list { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.technology-index-list a { display:flex; min-height:78px; align-items:center; gap:9px; padding:15px 10px; border-right:1px solid var(--technology-border); color:#415563; font-size:.7rem; font-weight:700; line-height:1.3; transition:.2s ease; }
.technology-index-list a:first-child { border-left:1px solid var(--technology-border); }
.technology-index-list a:hover { background:#eef3f5; color:var(--technology-navy-2); }
.technology-index-list span { color:var(--technology-teal); font-family:"Roboto Mono",monospace; font-size:.6rem; }

.technology-intro { padding:clamp(84px,10vw,128px) 0; background:#fff; }
.intro-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(48px,8vw,110px); align-items:start; }
.intro-grid h2,.section-heading h2,.split-heading h2,.control-copy h2,.agent-rag-copy h2,.governance-grid h2,.technology-faq h2 { margin:0; color:var(--technology-navy-2); }
.intro-copy p { margin:0 0 22px; color:var(--technology-muted); font-size:1.08rem; line-height:1.85; }

.technology-section { padding:clamp(92px,11vw,142px) 0; scroll-margin-top:92px; }
.platform-section,.deployment-section { background:#eef3f5; }
.model-section,.specialists-section { background:#fff; }
.section-heading { max-width:790px; margin-bottom:54px; }
.section-heading > p:last-child { max-width:690px; margin:24px 0 0; color:var(--technology-muted); font-size:1.08rem; line-height:1.75; }
.platform-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.platform-card { padding:34px; border:1px solid var(--technology-border); border-radius:22px; background:#fff; box-shadow:0 18px 54px rgba(13,36,71,.05); }
.platform-card-head { display:flex; min-height:56px; align-items:center; justify-content:space-between; }
.platform-card-head img { max-width:78px; max-height:50px; object-fit:contain; object-position:left center; }
.platform-card-head > span:last-child { color:#8aa0aa; font-family:"Roboto Mono",monospace; font-size:.68rem; }
.platform-card-head .ibm-logo { width:78px; height:auto; }
.platform-card h3 { margin:24px 0 8px; color:var(--technology-navy-2); font-size:1.65rem; }
.platform-products { margin:0 0 18px !important; color:var(--technology-teal) !important; font-family:"Roboto Mono",monospace; font-size:.76rem; font-weight:600; line-height:1.6; }
.platform-card > p:not(.platform-products) { margin:0; color:var(--technology-muted); line-height:1.7; }
.capability-tags { display:flex; flex-wrap:wrap; gap:7px; margin:24px 0 0; padding:0; list-style:none; }
.capability-tags li { padding:7px 10px; border-radius:999px; background:#eef3f5; color:#3e5363; font-size:.7rem; font-weight:700; }

.split-heading { display:grid; grid-template-columns:1.08fr .92fr; align-items:end; gap:clamp(40px,8vw,100px); margin-bottom:56px; }
.split-heading > p { margin:0; color:var(--technology-muted); font-size:1.06rem; line-height:1.8; }
.model-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.model-card { display:flex; align-items:flex-start; gap:18px; min-height:158px; padding:27px; border:1px solid var(--technology-border); border-radius:18px; background:#f8fafb; }
.model-card > img,.mini-monogram { flex:0 0 44px; width:44px; height:44px; object-fit:contain; }
.mini-monogram { display:grid; place-items:center; border-radius:12px; background:var(--technology-navy-2); color:#fff; font-family:"Roboto Mono",monospace; font-weight:700; }
.ibm-mini { width:48px; font-size:.62rem; }
.model-card h3 { margin:0 0 7px; color:var(--technology-navy-2); font-size:1.15rem; }
.model-card p { margin:0; color:var(--technology-muted); font-size:.9rem; line-height:1.65; }
.model-card-wide { grid-column:1 / -1; }

.control-section { padding:clamp(92px,11vw,142px) 0; background:var(--technology-navy); color:#fff; }
.control-grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:clamp(55px,9vw,120px); }
.control-copy h2 { color:#fff; }
.control-copy > p:not(.eyebrow) { margin:24px 0 0; color:#c7d1d8; font-size:1.04rem; line-height:1.8; }
.control-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:30px 0 0; padding:0; list-style:none; }
.control-list li { position:relative; padding-left:20px; color:#b5c7d0; font-size:.88rem; }
.control-list li::before { position:absolute; top:.68em; left:0; width:7px; height:7px; border-radius:50%; background:var(--technology-mint); content:""; }
.model-lifecycle { padding:30px; border:1px solid rgba(255,255,255,.13); border-radius:26px; background:rgba(255,255,255,.035); }
.lifecycle-label { margin:0 0 22px; color:var(--technology-mint); font-family:"Roboto Mono",monospace; font-size:.7rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.model-lifecycle ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:0; padding:0; border-radius:16px; overflow:hidden; background:rgba(255,255,255,.09); list-style:none; }
.model-lifecycle li { display:flex; min-height:94px; align-items:center; gap:13px; padding:18px; background:#0a2135; }
.model-lifecycle li span { color:var(--technology-cyan); font-family:"Roboto Mono",monospace; font-size:.64rem; }
.model-lifecycle li strong { color:#fff; font-family:"Merriweather",serif; font-size:1rem; }

.specialist-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.specialist-card { display:flex; min-height:320px; flex-direction:column; padding:28px; border:1px solid var(--technology-border); border-radius:20px; background:#f8fafb; }
.specialist-logo { display:flex; min-height:56px; align-items:center; }
.specialist-logo img { width:auto; max-width:132px; height:auto; max-height:48px; object-fit:contain; object-position:left center; }
.specialist-card > img { width:70px; height:56px; object-fit:contain; object-position:left center; }
.specialist-card h3 { margin:30px 0 10px; color:var(--technology-navy-2); font-size:1.3rem; }
.specialist-meta { color:var(--technology-teal) !important; font-family:"Roboto Mono",monospace; font-size:.68rem !important; font-weight:600; line-height:1.65 !important; }
.specialist-card p:last-child { margin:auto 0 0; padding-top:22px; color:var(--technology-muted); font-size:.86rem; line-height:1.7; }
.nvidia-card { background:#0b1b2a; }
.nvidia-card h3 { color:#fff; }
.nvidia-card p:last-child { color:#b8c8d0; }

.agent-rag-section { padding:clamp(92px,11vw,142px) 0; background:#eef3f5; scroll-margin-top:92px; }
.agent-rag-grid { display:grid; grid-template-columns:.95fr 1.05fr; align-items:center; gap:clamp(48px,7vw,90px); }
.agent-rag-copy > p:not(.eyebrow) { margin:24px 0 0; color:var(--technology-muted); font-size:1.02rem; line-height:1.8; }
.agent-types { display:grid; gap:1px; margin-top:32px; border-radius:16px; overflow:hidden; background:#d7e0e7; }
.agent-types article { display:flex; gap:16px; padding:18px; background:#fff; }
.agent-types span { flex:0 0 25px; color:var(--technology-teal); font-family:"Roboto Mono",monospace; font-size:.63rem; }
.agent-types h3 { margin:0 0 4px; color:var(--technology-navy-2); font-size:.98rem; }
.agent-types p { margin:0; color:var(--technology-muted); font-size:.82rem; line-height:1.6; }
.agent-rag-visual { margin:0; overflow:hidden; border:1px solid var(--technology-border); border-radius:26px; background:var(--technology-navy); box-shadow:0 24px 70px rgba(13,36,71,.12); }
.agent-rag-visual img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.technology-logo-rail { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:1px; margin-top:54px; overflow:hidden; border:1px solid var(--technology-border); border-radius:18px; background:var(--technology-border); }
.technology-logo-rail > div { display:flex; min-height:106px; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:14px 8px; background:#fff; text-align:center; }
.technology-logo-rail img { width:34px; height:34px; object-fit:contain; }
.technology-logo-rail span { color:#455b69; font-size:.68rem; font-weight:700; }

.engineering-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.engineering-card { min-height:250px; padding:28px; border:1px solid var(--technology-border); border-radius:20px; background:#fff; }
.card-number { margin:0 0 58px !important; color:var(--technology-teal) !important; font-family:"Roboto Mono",monospace; font-size:.68rem; }
.engineering-card h3 { margin:0 0 12px; color:var(--technology-navy-2); font-size:1.35rem; }
.engineering-card p:last-child { margin:0; color:var(--technology-muted); font-size:.86rem; line-height:1.75; }
.deployment-note { max-width:820px; margin:40px auto 0; color:#405765; font-family:"Merriweather",serif; font-size:1.18rem; line-height:1.7; text-align:center; }

.governance-section { padding:clamp(92px,11vw,142px) 0; background:var(--technology-navy); color:#fff; scroll-margin-top:92px; }
.governance-grid { display:grid; grid-template-columns:.8fr 1.2fr; align-items:start; gap:clamp(55px,9vw,120px); }
.governance-grid h2 { color:#fff; }
.governance-grid > div > p:last-child { margin:24px 0 0; color:#c7d1d8; line-height:1.8; }
.governance-grid-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:0; padding:0; border:1px solid rgba(255,255,255,.12); border-radius:18px; overflow:hidden; background:rgba(255,255,255,.1); list-style:none; }
.governance-grid-list li { display:flex; min-height:72px; align-items:center; gap:12px; padding:16px; background:#0a2135; color:#d2dce1; font-size:.82rem; }
.governance-grid-list span { color:var(--technology-mint); font-family:"Roboto Mono",monospace; font-size:.6rem; }

.framework-section { padding:clamp(92px,11vw,142px) 0; background:#fff; scroll-margin-top:92px; }
.framework-heading { max-width:860px; }
.framework-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin:0; padding:1px; border-radius:22px; overflow:hidden; background:var(--technology-border); list-style:none; }
.framework-steps li { min-height:270px; padding:26px; background:#f8fafb; }
.framework-steps li:last-child { grid-column:3 / 5; min-height:270px; background:var(--technology-navy-2); }
.framework-steps > li > span { color:var(--technology-teal); font-family:"Roboto Mono",monospace; font-size:.67rem; }
.framework-steps li:last-child > span { color:var(--technology-mint); }
.framework-steps h3 { margin:65px 0 12px; color:var(--technology-navy-2); font-size:1.32rem; }
.framework-steps li:last-child h3 { margin-top:45px; color:#fff; }
.framework-steps p { margin:0; color:var(--technology-muted); font-size:.86rem; line-height:1.7; }
.framework-steps li:last-child p { color:#c7d1d8; }

.technology-faq { padding:clamp(88px,10vw,128px) 0; background:#eef3f5; }
.faq-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(45px,8vw,100px); align-items:start; }
.faq-list { border-top:1px solid #c9d5dc; }
.faq-list details { border-bottom:1px solid #c9d5dc; }
.faq-list summary { position:relative; padding:24px 46px 24px 0; color:var(--technology-navy-2); font-family:"Merriweather",serif; font-size:1.03rem; font-weight:700; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { position:absolute; top:25px; right:4px; color:var(--technology-teal); font-family:"Open Sans",sans-serif; content:"+"; }
.faq-list details[open] summary::after { content:"−"; }
.faq-list details p { margin:0; padding:0 46px 24px 0; color:var(--technology-muted); line-height:1.75; }

.technology-cta { position:relative; padding:clamp(100px,12vw,158px) 0; overflow:hidden; background:radial-gradient(circle at 85% 30%,rgba(121,217,255,.14),transparent 28%),var(--technology-navy); color:#fff; text-align:center; }
.technology-cta::before { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:54px 54px; content:""; opacity:.35; }
.technology-cta-inner { position:relative; z-index:2; max-width:920px; }
.technology-cta h2 { margin:0 auto; color:#fff; font-size:clamp(2.7rem,5vw,4.35rem) !important; line-height:1.08 !important; }
.technology-cta p:not(.eyebrow) { max-width:760px; margin:26px auto 32px; color:#c7d1d8; font-size:1.04rem; line-height:1.8; }

@media (max-width:1100px) {
  .agent-rag-grid { grid-template-columns:1fr; }
  .technology-hero { padding-top:145px; }
  .technology-hero-copy { max-width:680px; }
  .specialist-grid,.engineering-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .technology-logo-rail { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .technology-index-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .technology-index-list a:nth-child(3) { border-right:1px solid var(--technology-border); }
  .intro-grid,.split-heading,.control-grid,.governance-grid,.faq-grid { grid-template-columns:1fr; }
  .platform-grid,.model-grid { grid-template-columns:1fr; }
  .model-card-wide { grid-column:auto; }
  .framework-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .framework-steps li:last-child { grid-column:1 / -1; }
}
@media (max-width:700px) {
  .technology-hero { min-height:930px; padding:128px 0 74px; }
  .technology-hero::after { background:linear-gradient(180deg,rgba(7,26,43,.99) 0%,rgba(7,26,43,.96) 50%,rgba(7,26,43,.68) 72%,rgba(7,26,43,.88) 100%),linear-gradient(90deg,rgba(7,26,43,.78),rgba(7,26,43,.28)); }
  .technology-hero h1 { font-size:clamp(2.75rem,12vw,4rem) !important; }
  .technology-hero-visual img { object-position:67% center; filter:saturate(.86) contrast(1.03) brightness(.7); }
  .technology-index-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .platform-card,.model-card,.specialist-card,.engineering-card { padding:23px; }
  .specialist-grid,.engineering-grid,.governance-grid-list,.model-lifecycle ol { grid-template-columns:1fr; }
  .technology-logo-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .framework-steps { grid-template-columns:1fr; }
  .framework-steps li:last-child { grid-column:auto; }
  .framework-steps li { min-height:220px; }
  .framework-steps h3 { margin-top:42px; }
  .control-list { grid-template-columns:1fr; }
}
@media (max-width:420px) {
  .technology-hero-actions .button { width:100%; }
  .technology-index-list a { min-height:68px; }
}
@media (prefers-reduced-motion:reduce) {
  .technologies-page * { scroll-behavior:auto !important; }
}
