@font-face{font-family:Inter;src:url(assets/inter-400.woff2);font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(assets/inter-600.woff2);font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url(assets/inter-700.woff2);font-weight:700;font-display:swap}
@font-face{font-family:Inter;src:url(assets/inter-800.woff2);font-weight:800;font-display:swap}
/* Shared tokens and header. All menus use one component set. */
:root{--dark:#333;--gold:#fcc200;--panel:#4d4d4d;--gray:#8c8c8c;--light:#f4f6fa;--red:#ff3621;--menu-width:1200px;--icon-size:30px;--entry-height:98.421875px;--column-padding:30px;--hover-duration:.4s}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--dark)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.skip{position:fixed;left:10px;top:-100px;z-index:20}.skip:focus{top:10px;background:white;padding:10px}
header{position:relative;background:var(--dark);z-index:10}.header-inner{position:relative;height:85px;max-width:var(--menu-width);margin:auto;display:flex;align-items:center}.logo{display:block;object-fit:contain}
/* Center through layout, preserving crisp text. */
nav{position:absolute;left:0;right:0;width:max-content;margin-inline:auto;height:100%;display:flex;align-items:center}
nav button{border:0;background:none;color:#fff;font-size:13px;font-weight:800;line-height:13px;padding:36px 30px 36px 25px;text-transform:uppercase;white-space:nowrap}
nav button[aria-expanded=true],nav button:hover{color:var(--gold)}
.chevron{display:inline-block;width:6px;height:6px;transform:rotate(45deg);border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;margin:0 0 3px 12px}#mobile{display:none}
/* Menu shell, columns, labels. */
.menu{position:absolute;top:85px;left:0;right:0;margin-inline:auto;width:min(var(--menu-width),100%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--dark);color:white;min-height:498.4375px}
.menu[hidden]{display:none}.column{padding:var(--column-padding);min-width:0}.column:first-child{background:var(--panel)}.column.light{background:var(--light);color:var(--dark)}
.menu--aligned{min-height:0}.menu--aligned .column{display:flex;flex-direction:column}
.menu--aligned .label{align-self:flex-start}
.menu--aligned .column>.entry:has(+.destination),.menu--aligned .column>.feature{margin-bottom:15px}
.menu--aligned .column>:is(.destination,.partner):last-child{margin-top:auto}
.label{display:inline-block;font-size:14px;font-weight:600;text-transform:uppercase;line-height:30px;padding:0 11.55px;color:var(--gold);background:var(--panel);margin:0 0 15px}
.column:first-child>.label{color:var(--dark);background:var(--gold)}.light>.label{background:#eee;color:var(--panel)}
/* Shared icon sizing; source SVGs and FA5 masks use the same colors. */
.icon{flex:0 0 var(--icon-size);width:var(--icon-size);height:var(--icon-size);display:flex;align-items:center;justify-content:center;color:var(--gray)}.column:first-child .icon{color:var(--gold)}
.icon svg,.arrow svg{width:var(--icon-size);height:var(--icon-size);fill:currentColor}
.icon-glyph{display:block;width:var(--icon-size);height:var(--icon-size);background:currentColor;mask-size:contain;mask-position:center;mask-repeat:no-repeat}
.brand-mark{display:block;width:var(--icon-size);height:var(--icon-size);object-fit:contain}.brand-azure{color:#0078d4}.brand-aws{color:#ff9900}
.brand-claude{color:#d97757}
.arrow{display:flex;align-items:center;flex:0 0 var(--icon-size);width:var(--icon-size);height:var(--icon-size);color:var(--gold)}
/* Title + description links. Allow longer text to grow rather than clip. */
.entry{display:flex;gap:20px;padding:15px;margin:0 0 1px;min-height:var(--entry-height)}.entry>span:last-child{min-width:0}
.entry:not(:has(p)){align-items:center}
.entry:not(:has(p)) strong{text-box:trim-both cap alphabetic}
.entry strong{display:block;font-size:15px;font-weight:700;line-height:21.428571px}.entry p{margin:5px 0 0;font-size:14px;font-weight:400;line-height:21px}
/* Destination cards: two-line standard and single-line variant. */
.destination{display:flex;align-items:center;justify-content:space-between;background:var(--gray);padding:20px;margin-top:15px;min-height:80px;gap:0;font-size:16px;font-weight:600;line-height:24px}
.destination>span:first-child{flex:1;min-width:0}.destination em{display:block;color:var(--gold);font-style:normal;text-transform:uppercase;font-size:15px;font-weight:700;line-height:15px;margin-bottom:1px}.destination-title{display:block}
.destination--simple{color:var(--gold);text-transform:uppercase;gap:16px}
.destination--primary{background:var(--gold);color:var(--dark)}.destination--primary .arrow{color:inherit}
.destination--primary em{color:inherit}
.destination--primary .destination-title,.destination--primary .mini-feature-description{color:var(--panel)}
.column:first-child>.destination{background:var(--dark)}
.column:first-child>.destination:is(:hover,:focus-visible)::before{background:rgba(255,255,255,.06)}
/* Compact browsing and mini-features reuse the menu entry/card primitives. */
.menu--browse .column{display:flex;flex-direction:column}.menu--browse .label{align-self:flex-start}
.entry--browse{min-height:64px}
.mini-feature{margin-top:auto;min-height:104px;gap:12px;padding:14px 20px}
.mini-feature em{margin-bottom:5px}
.mini-feature-description{display:block;font-size:13px;font-weight:400;line-height:19px;margin-top:3px}
.light .entry:hover::before,.light .destination:hover::before{background:rgba(0,0,0,.1)}
.work-collection{max-width:1200px;margin:60px auto;padding:30px;background:var(--light)}
.work-collection[hidden]{display:none}.work-collection h2{margin:0 0 12px;font-size:30px}
.work-collection p{line-height:1.6}.work-collection .articles{margin-top:25px}.work-collection .articles a{font-size:17px;min-height:130px}
.work-collection .articles a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
/* Featured copy, underline CTA, supporting story/partner card. */
.feature{padding:0}.feature-copy{display:block;padding:15px 15px 16px;margin-top:-14px;margin-bottom:1px}
.feature h3{font-size:24px;font-weight:600;line-height:1.2;margin:0 0 10px}.feature p{font-size:14px;line-height:22.4px;margin:0 0 8px}.feature p:last-child{margin-bottom:0}.feature p b{font-weight:700}.red{color:var(--red)}
.cta{display:inline-flex;align-items:center;gap:10px;margin:0 15px;height:30px;color:var(--panel);font-size:16px;font-weight:600;line-height:30px;text-transform:uppercase}
.cta>span:first-child{position:relative;line-height:25.6px}.cta>span:first-child::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold)}
.cta>span:last-child{position:relative;width:10px;height:16px;font-size:0;color:var(--panel);transition:transform var(--hover-duration) ease-in-out}
.cta>span:last-child::before{content:"";position:absolute;width:8px;height:8px;right:0;top:50%;box-shadow:inset -2px 2px 0 0;transform:translateY(-4px) rotate(45deg)}
.cta>span:last-child::after{content:"";position:absolute;width:10px;height:2px;right:0;top:50%;transform:translateY(-1px);background:currentColor}.cta:hover>span:last-child{transform:translateX(4px)}
.partner{margin-top:25px;min-height:166px;background:#eee;padding:49px 20px;display:flex;align-items:center;justify-content:space-between;gap:0;font-size:16px;font-weight:600;line-height:24px}
.partner>span:first-child{flex:1;min-width:0}.partner em{display:block;font-style:normal;text-transform:uppercase;color:var(--dark);font-size:15px;line-height:15px;font-weight:700;margin-bottom:5px}.partner img{width:30px;height:35px;flex:0 0 30px}
.partner--databricks em{color:var(--red)}
#menu-insights .partner em{color:var(--gold)}
/* One hover treatment per surface, shared by all menus. */
.entry,.destination,.partner,.feature-copy{position:relative;isolation:isolate}
.entry::before,.destination::before,.partner::before,.feature-copy::before{content:"";position:absolute;inset:0;background:transparent;z-index:-1;transition:background-color var(--hover-duration) ease-in-out}
.entry:hover::before,.destination:hover::before{background:rgba(255,255,255,.1)}.light .partner:hover::before,.feature-copy:hover::before{background:rgba(0,0,0,.15)}
/* Reference landing-page scaffold. */
.hero{height:345px;background:var(--dark);display:grid;place-items:center;color:white}.hero h1{font-size:56px;font-weight:600;margin:0}
.intro{max-width:1200px;margin:auto;padding:132px 0 190px}.intro h2,.recommended h2{font-size:36px;font-weight:600;line-height:1.2;margin:0 0 30px}.intro p{font-size:20px;line-height:30px;margin:0}
.recommended{background:var(--light);padding:135px 0}.recommended>div{max-width:1200px;margin:auto}.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:90px}.articles a{padding:35px;background:white;font-size:21px;font-weight:600;line-height:1.4;min-height:180px}.articles span{display:block;color:#b68c00;margin-top:20px}footer{text-align:center;padding:50px;font-size:14px}
/* Shared responsive rules. */
@media(max-width:1250px){.header-inner,.intro,.recommended>div,.work-collection{margin-left:30px;margin-right:30px}nav button{padding-left:16px;padding-right:16px}.menu{width:calc(100% - 60px)}}
@media(max-width:960px){.header-inner{height:76px;justify-content:space-between}#mobile{display:block;background:none;color:white;border:0;font-size:26px}nav{width:auto;display:none;top:76px;background:var(--dark);height:auto;margin:0;padding:10px 24px;gap:20px;flex-wrap:wrap}nav button{padding:15px 0}header.mobile-open nav{display:flex}.menu{top:145px;width:calc(100% - 30px);grid-template-columns:1fr;max-height:70vh;overflow:auto}.entry{min-height:0;margin-bottom:8px}.hero h1{font-size:42px}.intro{padding:90px 0}.intro h2,.recommended h2{font-size:28px}.intro p{font-size:17px}.articles{grid-template-columns:1fr;margin-top:40px}.recommended{padding:80px 0}.chevron{margin-left:7px}}
