/*
 * APlus Worx Midnight: layout, header, footer and home page.
 * Built from the owner's brand guide ("HPE-inspired palette"): Midnight Navy for titles, wordmark and text;
 * Technology Blue for calls to action, links and highlights; Steel Blue for icons; light neutrals for space.
 * Roughly 50% light background, 25% navy, 15% blue, 10% slate. Inter, bold and compact headings, left-aligned
 * 8-point rhythm, simple rectangles with gentle radii, thin dividers, line icons.
 * Accessibility (guide §04): white text never sits on #1598D5 at small sizes; text-bearing blue uses #0B7AB3
 * (4.7:1 with white) and links on light backgrounds use #0B6FA4 (4.9:1 on Clean White).
 */
@font-face { font-family: "Inter"; font-style: normal; font-display: swap; font-weight: 100 900;
	src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-display: swap; font-weight: 100 900;
	src: url("../fonts/inter-latin-ext-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
	--aw-navy: #070d24;          /* Midnight Navy */
	--aw-navy-2: #111a36;
	--aw-blue: #1598d5;          /* Technology Blue: rules, highlights, large elements */
	--aw-blue-strong: #0b7ab3;   /* Technology Blue, darkened for white text */
	--aw-blue-ink: #0b6fa4;      /* links on light backgrounds */
	--aw-blue-on-dark: #5cc0f0;  /* blue text on navy */
	--aw-steel: #3d84c4;         /* Steel Blue: icons, diagrams */
	--aw-clean: #f3f3f3;         /* Clean White: page background */
	--aw-light: #e7e8e9;         /* Light Gray: cards and panels */
	--aw-cool: #d0d2d5;          /* Cool Gray: borders and dividers */
	--aw-slate: #8e9ba7;         /* Slate Gray: supporting icons, text on navy */
	--aw-muted: #4f5d6c;         /* muted text that passes AA on Clean White */
	--aw-white: #ffffff;
	--aw-radius: 6px;
	--aw-font: "Inter", Arial, Helvetica, "Noto Sans Arabic", sans-serif;
	--aw-wrap: 1200px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; overflow-x: hidden; background: var(--aw-clean); color: var(--aw-navy); font-family: var(--aw-font); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
img, svg { max-width: 100%; }
a { color: var(--aw-blue-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--aw-navy); }
:focus-visible { outline: 3px solid var(--aw-blue); outline-offset: 2px; }
strong, b { font-weight: 700; }
h1, h2, h3, h4 { text-wrap: balance; margin: 0 0 .5em; color: var(--aw-navy); font-family: var(--aw-font); font-weight: 800; line-height: 1.1; letter-spacing: -0.025em; }
h1 { font-size: clamp(2.4rem, 5vw, 4rem); }
h2 { font-size: clamp(1.9rem, 3.4vw, 2.75rem); }
h3 { font-size: 1.3rem; font-weight: 700; letter-spacing: -0.01em; line-height: 1.25; }
p { margin: 0 0 1em; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.aw-skip { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--aw-white); color: var(--aw-navy); padding: 8px 14px; font-weight: 700; }
.aw-skip:focus { left: 8px; }
.aw-wrap { width: min(100% - 48px, var(--aw-wrap)); margin-inline: auto; }
.aw-icon { width: 1.2em; height: 1.2em; flex: none; vertical-align: -0.22em; }

/* Eyebrow: short uppercase label */
.aw-eyebrow, .aw-tag { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 16px; color: var(--aw-muted); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; line-height: 1.3; }
.aw-eyebrow a { color: inherit; }
.aw-lead { font-size: 1.2rem; line-height: 1.55; color: var(--aw-navy); max-width: 700px; }

/* Buttons and links (guide §04): primary = Technology Blue block, secondary = outlined, text link with arrow */
.aw-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 13px 22px;
	border: 1px solid var(--aw-blue-strong); border-radius: 0; background: var(--aw-blue-strong); color: var(--aw-white);
	font: inherit; font-size: 15px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; line-height: 1.2; text-decoration: none; cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.aw-btn::after { content: "\2192"; font-weight: 400; transition: transform .15s ease; }
.aw-btn:hover { background: #096494; border-color: #096494; color: var(--aw-white); }
.aw-btn:hover::after { transform: translateX(3px); }
.aw-btn .aw-icon { display: none; }
.aw-btn--outline, .aw-btn--ghost { background: var(--aw-clean); border-color: var(--aw-navy); color: var(--aw-navy); text-transform: none; letter-spacing: 0; font-weight: 600; }
.aw-btn--outline::after, .aw-btn--ghost::after { display: none; }
.aw-btn--outline:hover, .aw-btn--ghost:hover { background: var(--aw-navy); color: var(--aw-white); }
.aw-btn--light { background: transparent; border-color: rgba(255,255,255,.7); color: var(--aw-white); }
.aw-btn--light:hover { background: var(--aw-white); border-color: var(--aw-white); color: var(--aw-navy); }
.aw-btn--sm { min-height: 40px; padding: 9px 16px; font-size: 13.5px; }
.aw-btn--noarrow::after { display: none; }
.aw-link { display: inline-flex; align-items: center; gap: 8px; padding-bottom: 3px; border-bottom: 2px solid var(--aw-blue); color: var(--aw-navy); font-weight: 600; text-decoration: none; }
.aw-link::after { content: "\2192"; transition: transform .15s ease; }
.aw-link:hover { color: var(--aw-blue-ink); }
.aw-link:hover::after { transform: translateX(3px); }
.aw-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 32px; }

/* Header: a Technology Blue rule, then navy (as in the guide's website hero) */
.aw-topline { height: 6px; background: var(--aw-blue); }
.aw-header { position: sticky; top: 0; z-index: 50; background: var(--aw-navy); border-bottom: 1px solid rgba(255,255,255,.08); }
.admin-bar .aw-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .aw-header { top: 46px; } }
.aw-header__in { display: flex; align-items: center; gap: 28px; min-height: 76px; }
.aw-logo { display: inline-flex; align-items: center; gap: 12px; color: var(--aw-white); text-decoration: none; flex: none; }
.aw-logo:hover { color: var(--aw-white); }
.aw-logo__mark { display: block; width: auto; height: 44px; flex: none; }
.aw-logo__text { display: flex; flex-direction: column; line-height: 1.1; }
.aw-logo__name { font-size: 20px; font-weight: 800; letter-spacing: -0.02em; white-space: nowrap; }
.aw-logo__name b { font-weight: 800; color: var(--aw-blue-on-dark); }
.aw-logo__slogan { margin-top: 3px; font-size: 11.5px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; color: var(--aw-slate); white-space: nowrap; }
@media (max-width: 480px) {
	.aw-header__in { gap: 14px; }
	.aw-logo__mark { height: 36px; }
	.aw-logo__name { font-size: 18px; }
	.aw-logo__slogan { display: none; }
}
.aw-nav { margin-inline-start: auto; display: flex; align-items: center; gap: 20px; }
.aw-menu, .aw-menu ul { list-style: none; margin: 0; padding: 0; }
.aw-menu { display: flex; gap: 4px; }
.aw-menu li { position: relative; }
.aw-menu a { display: block; padding: 26px 11px 23px; color: var(--aw-white); font-size: 15.5px; font-weight: 500; text-decoration: none; border-bottom: 3px solid transparent; }
.aw-menu a:hover { color: var(--aw-white); border-bottom-color: rgba(255,255,255,.35); }
.aw-menu .current-menu-item > a, .aw-menu .current-menu-ancestor > a { border-bottom-color: var(--aw-blue); font-weight: 700; }
.aw-menu .sub-menu { padding: 8px 0; position: absolute; top: 100%; inset-inline-start: 0; min-width: 240px; background: var(--aw-navy-2); border: 1px solid rgba(255,255,255,.12); opacity: 0; visibility: hidden; transition: .15s ease; }
.aw-menu li:hover > .sub-menu, .aw-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; }
.aw-menu .sub-menu a { padding: 9px 18px; border-bottom: 0; }
.aw-nav__account { min-height: 42px; }
.aw-nav-toggle { display: none; margin-inline-start: auto; background: none; border: 1px solid rgba(255,255,255,.6); border-radius: var(--aw-radius); padding: 9px 14px; font: inherit; font-size: 14px; font-weight: 700; color: var(--aw-white); cursor: pointer; }
.aw-nav-toggle__close { display: none; }
.aw-nav-toggle[aria-expanded="true"] .aw-nav-toggle__open { display: none; }
.aw-nav-toggle[aria-expanded="true"] .aw-nav-toggle__close { display: inline; }
@media (max-width: 1080px) {
	.aw-nav-toggle { display: block; }
	.aw-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--aw-navy); border-bottom: 1px solid rgba(255,255,255,.12); flex-direction: column; align-items: stretch; padding: 8px 24px 24px; gap: 14px; max-height: calc(100vh - 76px); overflow-y: auto; }
	.aw-nav.is-open { display: flex; }
	.aw-menu { flex-direction: column; }
	.aw-menu a { padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
	.aw-menu .current-menu-item > a { border-bottom-color: rgba(255,255,255,.1); box-shadow: inset 4px 0 0 var(--aw-blue); padding-left: 14px; }
	.aw-menu .sub-menu { position: static; opacity: 1; visibility: visible; border: 0; background: transparent; padding: 0 0 0 16px; }
	.aw-nav__account { align-self: flex-start; }
}

/* Sub-page head: the guide's proposal cover — light panel under a blue rule */
.aw-pagehead { background: var(--aw-light); border-top: 6px solid var(--aw-blue); padding: 56px 0 56px; }
.aw-pagehead h1 { max-width: 900px; font-size: clamp(2.3rem, 4.6vw, 3.6rem); }
.aw-pagehead .aw-lead { margin: 0; }
@media (max-width: 700px) { .aw-pagehead { padding: 40px 0; } }

/* Home hero: navy, left-aligned, then a Technology Blue call-to-action band */
.aw-hero { background: var(--aw-navy); color: var(--aw-white); }
.aw-hero__in { display: grid; grid-template-columns: 1.15fr .85fr; gap: 64px; align-items: center; padding: 88px 0 80px; }
.aw-hero .aw-eyebrow { color: var(--aw-blue-on-dark); }
.aw-hero h1 { color: var(--aw-white); max-width: 680px; }
.aw-hero .aw-lead { color: rgba(255,255,255,.86); margin: 0; }
.aw-hero__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.14); }
.aw-hero__list li { border-bottom: 1px solid rgba(255,255,255,.14); }
.aw-hero__list a { display: grid; grid-template-columns: 40px 1fr auto; gap: 16px; align-items: center; padding: 18px 4px; color: var(--aw-white); text-decoration: none; }
.aw-hero__list .aw-icon { width: 28px; height: 28px; color: var(--aw-blue-on-dark); }
.aw-hero__list b { display: block; font-size: 17px; }
.aw-hero__list small { display: block; font-size: 14px; color: var(--aw-slate); }
.aw-hero__list span.go { color: var(--aw-blue-on-dark); transition: transform .15s ease; }
.aw-hero__list a:hover span.go { transform: translateX(4px); }
.aw-hero__list a:hover b { text-decoration: underline; text-underline-offset: 4px; }
.aw-hero__list .aw-badge { margin-left: 8px; }
@media (max-width: 900px) { .aw-hero__in { grid-template-columns: 1fr; gap: 40px; padding: 60px 0 52px; } }
.aw-band { background: var(--aw-blue-strong); }
.aw-band__in { display: flex; flex-wrap: wrap; gap: 8px 40px; align-items: center; min-height: 72px; padding: 14px 0; }
.aw-band a { display: inline-flex; align-items: center; gap: 10px; color: var(--aw-white); font-size: 15px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; }
.aw-band a::after { content: "\2192"; font-weight: 400; transition: transform .15s ease; }
.aw-band a:hover::after { transform: translateX(4px); }
.aw-band span { color: rgba(255,255,255,.85); font-size: 15px; margin-left: auto; }
@media (max-width: 700px) { .aw-band span { margin-left: 0; } }

/* Sections */
.aw-section { padding: 96px 0; }
.aw-section--light { background: var(--aw-light); }
.aw-section--white { background: var(--aw-white); }
.aw-section--tight { padding-top: 24px; }
.aw-section__head { max-width: 760px; margin-bottom: 48px; }
.aw-section__head .aw-lead { margin: 0; }
.aw-section__bar { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px 40px; flex-wrap: wrap; margin-bottom: 40px; }
.aw-section__bar h2 { margin-bottom: 10px; }
.aw-section__bar p { margin: 0; max-width: 600px; font-size: 1.08rem; color: var(--aw-muted); }
@media (max-width: 700px) { .aw-section { padding: 64px 0; } }

/* Brand cards: Light Gray panels, Steel Blue line icons */
.aw-cards { display: grid; gap: 24px; }
.aw-cards--4 { grid-template-columns: repeat(4, 1fr); }
.aw-cards--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1080px) { .aw-cards--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) { .aw-cards--3 { grid-template-columns: 1fr; max-width: 600px; } }
@media (max-width: 600px) { .aw-cards--4 { grid-template-columns: 1fr; } }
.aw-card { display: flex; flex-direction: column; padding: 32px 28px; background: var(--aw-light); border-radius: var(--aw-radius); }
.aw-card__icon { width: 36px; height: 36px; color: var(--aw-steel); margin-bottom: 22px; }
.aw-card__icon .aw-icon { width: 36px; height: 36px; }
.aw-card h3 { font-size: 1.4rem; margin-bottom: 6px; }
.aw-card__sub { margin: 0 0 14px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--aw-muted); }
.aw-card p { font-size: 16px; }
.aw-card .aw-link { margin-top: auto; align-self: flex-start; }
.aw-card__from { font-size: 15px; color: var(--aw-muted); margin: -4px 0 18px; }
.aw-card__from strong { color: var(--aw-navy); }

/* Facts row: blue top rule, bold numbers */
.aw-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.aw-fact { padding-top: 18px; border-top: 3px solid var(--aw-blue); }
.aw-fact strong { display: block; font-size: clamp(2.2rem, 4vw, 3rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.05; margin-bottom: 8px; }
.aw-fact span { display: block; font-size: 15.5px; color: var(--aw-muted); max-width: 240px; }
@media (max-width: 900px) { .aw-facts { grid-template-columns: 1fr 1fr; row-gap: 36px; } }
@media (max-width: 480px) { .aw-facts { grid-template-columns: 1fr; } }

/* Bundles: white panels with a blue top rule; the featured one is navy */
.aw-bundle { display: flex; flex-direction: column; padding: 30px 28px 32px; background: var(--aw-white); border: 1px solid var(--aw-cool); border-top: 6px solid var(--aw-blue); border-radius: var(--aw-radius); }
.aw-bundle h3 { font-size: 1.5rem; margin-bottom: 6px; }
.aw-bundle ul { padding-left: 1.15em; margin: 8px 0 26px; font-size: 16px; }
.aw-bundle li { margin-bottom: 6px; }
.aw-bundle li::marker { color: var(--aw-steel); }
.aw-bundle .aw-btn, .aw-bundle .aw-link { margin-top: auto; align-self: flex-start; }
.aw-bundle.is-featured { background: var(--aw-navy); border-color: var(--aw-navy); border-top-color: var(--aw-blue); color: var(--aw-white); }
.aw-bundle.is-featured h3 { color: var(--aw-white); }
.aw-bundle.is-featured .aw-card__sub { color: var(--aw-slate); }
.aw-bundle.is-featured li::marker { color: var(--aw-blue-on-dark); }
.aw-saving { display: inline-block; align-self: flex-start; margin: 4px 0 14px; padding: 4px 10px; border-radius: 4px; background: #e3f2fa; color: var(--aw-blue-ink); font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.aw-saving--na { background: var(--aw-light); color: var(--aw-muted); }
.aw-bundle.is-featured .aw-saving { background: var(--aw-blue-strong); color: var(--aw-white); }
.aw-bundle.is-featured .aw-saving--na { background: var(--aw-navy-2); color: var(--aw-slate); }
.aw-badge { display: inline-block; padding: 3px 9px; border-radius: 4px; background: #fdf0dc; color: #7a4600; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; vertical-align: middle; }
.aw-hero .aw-badge { background: rgba(255,255,255,.12); color: #ffd89a; }
.aw-from strong { color: var(--aw-navy); }

/* Numbered steps with thin dividers */
.aw-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--aw-cool); }
.aw-step { padding: 26px 24px 8px 0; }
.aw-step + .aw-step { padding-left: 24px; border-left: 1px solid var(--aw-cool); }
.aw-step b { display: block; font-size: 15px; font-weight: 800; letter-spacing: .06em; color: var(--aw-blue-ink); margin-bottom: 10px; }
.aw-step h3 { font-size: 1.2rem; margin-bottom: 8px; }
.aw-step p { margin: 0; font-size: 15.5px; color: var(--aw-muted); }
@media (max-width: 900px) { .aw-steps { grid-template-columns: 1fr 1fr; } .aw-step:nth-child(3) { padding-left: 0; border-left: 0; } }
@media (max-width: 560px) { .aw-steps { grid-template-columns: 1fr; } .aw-step + .aw-step { padding-left: 0; border-left: 0; border-top: 1px solid var(--aw-cool); } }

/* Commitments: line icons over thin dividers */
.aw-commit { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 40px; }
.aw-commit__item { padding: 26px 0; border-top: 1px solid var(--aw-cool); }
.aw-commit__item .aw-icon { width: 28px; height: 28px; color: var(--aw-steel); margin-bottom: 14px; }
.aw-commit__item h3 { font-size: 1.15rem; margin-bottom: 6px; }
.aw-commit__item p { margin: 0; font-size: 15.5px; color: var(--aw-muted); }
@media (max-width: 900px) { .aw-commit { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .aw-commit { grid-template-columns: 1fr; } }

/* Closing block: the guide's promotional graphic — light panel, navy left bar, blue band */
.aw-promo { border-left: 6px solid var(--aw-navy); border-radius: 0 var(--aw-radius) var(--aw-radius) 0; overflow: hidden; }
.aw-promo__body { padding: 44px 48px 40px; background: var(--aw-light); }
.aw-promo__body h2 { max-width: 720px; }
.aw-promo__body p { margin: 0; max-width: 640px; font-size: 1.1rem; }
.aw-promo__band { display: flex; flex-wrap: wrap; gap: 8px 40px; padding: 22px 48px; background: var(--aw-blue-strong); }
.aw-promo__band a { display: inline-flex; align-items: center; gap: 10px; color: var(--aw-white); font-size: 15px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; }
.aw-promo__band a::after { content: "\2192"; font-weight: 400; transition: transform .15s ease; }
.aw-promo__band a:hover::after { transform: translateX(4px); }
@media (max-width: 700px) { .aw-promo__body { padding: 32px 26px 28px; } .aw-promo__band { padding: 18px 26px; } }

/* Footer: navy */
.aw-footer { background: var(--aw-navy); color: #c9d0d8; padding: 72px 0 32px; font-size: 15.5px; }
.aw-footer a { color: var(--aw-white); text-decoration: none; }
.aw-footer a:hover { color: var(--aw-blue-on-dark); text-decoration: underline; }
.aw-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px; }
.aw-footer__grid ul { list-style: none; padding: 0; margin: 0; }
.aw-footer__grid li { margin-bottom: 11px; }
.aw-footer__grid li span { display: block; font-size: 13.5px; color: var(--aw-slate); }
.aw-footer__h { font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--aw-slate); margin-bottom: 18px; }
.aw-footer__mark { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 18px; color: var(--aw-white); font-size: 20px; font-weight: 800; letter-spacing: -0.02em; }
.aw-footer__mark img { height: 40px; width: auto; display: block; }
.aw-footer__brand p { max-width: 38ch; }
.aw-footer__langs { display: flex; align-items: center; gap: 8px; color: var(--aw-white); }
.aw-footer__bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; margin-top: 56px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); font-size: 13.5px; color: var(--aw-slate); }
.aw-footer__bar a { color: #c9d0d8; }
@media (max-width: 900px) { .aw-footer__grid { grid-template-columns: 1fr 1fr; } .aw-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 560px) { .aw-footer__grid { grid-template-columns: 1fr; } }

.aw-main { min-height: 50vh; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }
