:root {
  --aap-ink: #0f2236;
  --aap-navy: #183b57;
  --aap-gold: #b9924b;
  --aap-cream: #f4efe5;
  --aap-mist: #eef2f4;
  --aap-white: #ffffff;
  --aap-text: #23313f;
  --aap-muted: #66727d;
  --aap-border: rgba(15,34,54,.14);
  --aap-shadow: 0 18px 45px rgba(15,34,54,.09);
  --aap-radius: 2px;
}

.aap-site { color: var(--aap-text); background: var(--aap-white); }
.aap-site h1,.aap-site h2,.aap-site h3 { color: var(--aap-ink); letter-spacing: -.025em; }
.aap-site .site-header { border-bottom: 1px solid rgba(255,255,255,.12); }
.aap-site.home .site-header { position: absolute; inset: 0 0 auto; z-index: 50; background: transparent; }
.aap-site.home .site-header a,.aap-site.home .site-header button { color: #fff; }
.aap-site .custom-logo { max-height: 54px; width: auto; }

.aap-eyebrow { margin: 0 0 1rem; color: var(--aap-gold); font-size: .78rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.aap-hero { min-height: 760px; display: grid; align-items: end; padding: 10rem 0 6rem; color: #fff; background: radial-gradient(circle at 80% 20%, rgba(185,146,75,.24), transparent 32%), linear-gradient(120deg,#0b1b2b 0%,#173b56 62%,#10283d 100%); overflow: hidden; }
.aap-hero__inner { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(280px,.55fr); gap: 5rem; align-items: end; }
.aap-hero h1 { max-width: 900px; margin: 0 0 1.5rem; color: #fff; font-size: clamp(3.4rem,7vw,7rem); line-height: .92; }
.aap-hero__lead { max-width: 720px; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(1.12rem,2vw,1.45rem); line-height: 1.65; }
.aap-actions { display: flex; gap: .85rem; flex-wrap: wrap; margin-top: 2rem; }
.aap-hero .btn-secondary { border-color: rgba(255,255,255,.5); color: #fff; background: transparent; }
.aap-hero__panel { display: grid; grid-template-columns: 42px 1fr; gap: 1rem 1.1rem; margin: 0; padding: 2rem; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); backdrop-filter: blur(10px); }
.aap-hero__panel span { color: var(--aap-gold); font-weight: 700; }
.aap-hero__panel p { margin: 0; padding-bottom: 1rem; color: rgba(255,255,255,.82); border-bottom: 1px solid rgba(255,255,255,.12); }
.aap-hero__panel p:last-child { border-bottom: 0; padding-bottom: 0; }

.aap-page-hero { padding: 9rem 0 4rem; color: #fff; background: linear-gradient(120deg,#0c1d2e,#1b435f); }
.aap-page-hero h1 { max-width: 930px; margin: 0; color: #fff; font-size: clamp(3rem,6vw,5.8rem); line-height: .98; }
.aap-page-hero > .container > p:last-child { max-width: 760px; margin: 1.25rem 0 0; color: rgba(255,255,255,.78); font-size: 1.2rem; }

.aap-surface { background: var(--aap-mist); }
.aap-dark { color: #fff; background: var(--aap-ink); }
.aap-dark h2,.aap-dark h3 { color: #fff; }
.aap-dark p { color: rgba(255,255,255,.72); }
.aap-split { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(2rem,7vw,7rem); align-items: start; }
.aap-split h2 { margin-top: 0; font-size: clamp(2.4rem,4.6vw,4.3rem); line-height: 1.02; }
.aap-rich { font-size: 1.12rem; line-height: 1.8; }
.aap-rich > :first-child,.aap-entry-content > :first-child { margin-top: 0; }
.aap-section-head { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 2.4rem; }
.aap-section-head h2 { max-width: 850px; margin: 0; font-size: clamp(2.25rem,4vw,4rem); line-height: 1.04; }
.aap-text-link { color: var(--aap-ink); font-weight: 700; text-decoration: none; border-bottom: 1px solid var(--aap-gold); }
.aap-text-link:hover { color: var(--aap-gold); }

.aap-grid { display: grid; gap: 1.35rem; }
.aap-grid--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.aap-grid--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.aap-card { min-width: 0; border: 1px solid var(--aap-border); background: #fff; box-shadow: none; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.aap-card:hover { transform: translateY(-5px); border-color: rgba(185,146,75,.55); box-shadow: var(--aap-shadow); }
.aap-card__link { display: flex; min-height: 100%; flex-direction: column; color: inherit; text-decoration: none; }
.aap-card__media { aspect-ratio: 3/2; overflow: hidden; background: var(--aap-mist); }
.aap-card--team .aap-card__media { aspect-ratio: 4/5; }
.aap-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.aap-card:hover .aap-card__media img { transform: scale(1.035); }
.aap-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.7rem; }
.aap-card__meta { margin: 0 0 .65rem; color: var(--aap-gold); font-size: .73rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.aap-card__title,.aap-card h3 { margin: 0 0 .75rem; font-size: 1.65rem; line-height: 1.13; }
.aap-card__copy,.aap-card p { color: var(--aap-muted); line-height: 1.65; }
.aap-card__action { margin-top: auto; padding-top: 1rem; color: var(--aap-ink); font-weight: 700; }
.aap-card--static { min-height: 235px; }

.aap-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin-top: 3rem; border-top: 1px solid rgba(255,255,255,.16); }
.aap-steps article { padding: 2rem 2rem 1rem 0; border-right: 1px solid rgba(255,255,255,.14); }
.aap-steps article + article { padding-left: 2rem; }
.aap-steps strong { display: block; margin-bottom: 2.5rem; color: var(--aap-gold); font-size: 1.1rem; }
.aap-steps h3 { font-size: 1.55rem; }

.aap-final-cta { padding: 4.5rem 0; color: #fff; background: var(--aap-navy); }
.aap-final-cta h2 { margin: 0 0 .75rem; color: #fff; font-size: clamp(2.2rem,4vw,3.8rem); }
.aap-final-cta p { color: rgba(255,255,255,.76); }
.aap-final-cta__inner { display: flex; justify-content: space-between; gap: 2rem; align-items: center; }

.aap-contact-layout { display: grid; grid-template-columns: minmax(0,.75fr) minmax(360px,1.25fr); gap: clamp(2rem,7vw,6rem); }
.aap-form-panel { padding: clamp(1.5rem,4vw,3rem); background: var(--aap-mist); }
.aap-form-panel form { display: grid; gap: 1rem; }
.aap-form-panel input,.aap-form-panel textarea,.aap-form-panel select { width: 100%; border: 1px solid var(--aap-border); background: #fff; }

.aap-job-list { display: grid; border-top: 1px solid var(--aap-border); }
.aap-job { display: flex; justify-content: space-between; gap: 2rem; align-items: center; padding: 1.6rem 0; border-bottom: 1px solid var(--aap-border); }
.aap-job h3 { margin: .2rem 0 0; }

.aap-article-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: clamp(2rem,7vw,6rem); align-items: start; }
.aap-article-aside { position: sticky; top: 8rem; padding: 1.7rem; border-top: 3px solid var(--aap-gold); background: var(--aap-mist); }
.aap-entry-content,.aap-article-narrow { font-size: 1.08rem; line-height: 1.8; }
.aap-article-narrow { max-width: 850px; }
.aap-profile-layout { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: clamp(2rem,7vw,6rem); }
.aap-entry-intro { max-width: 850px; margin: 0 0 3rem; font-size: 1.15rem; line-height: 1.8; }

.aap-js [data-aap-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .6s ease,transform .6s ease; }
.aap-js [data-aap-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1050px) {
  .aap-hero__inner,.aap-split,.aap-contact-layout,.aap-article-layout,.aap-profile-layout { grid-template-columns: 1fr; }
  .aap-hero { min-height: auto; }
  .aap-hero__panel { max-width: 650px; }
  .aap-grid--3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .aap-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .aap-article-aside { position: static; }
}

@media (max-width: 700px) {
  .aap-site.home .site-header { position: relative; background: var(--aap-ink); }
  .aap-hero { padding: 5rem 0 3.5rem; }
  .aap-hero h1 { font-size: clamp(3rem,15vw,4.8rem); }
  .aap-page-hero { padding: 5rem 0 3rem; }
  .aap-grid--2,.aap-grid--3,.aap-steps { grid-template-columns: 1fr; }
  .aap-steps article,.aap-steps article + article { padding: 1.5rem 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .aap-section-head,.aap-final-cta__inner,.aap-job { align-items: flex-start; flex-direction: column; }
  .aap-actions { flex-direction: column; align-items: stretch; }
  .aap-actions .btn { text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .aap-card,.aap-card__media img,.aap-js [data-aap-reveal] { transition: none !important; }
  .aap-js [data-aap-reveal] { opacity: 1; transform: none; }
}
