/*
Theme Name: Alliance experts
Theme URI: https://allianceexperts.com/
Author: Alliance experts
Description: A lightweight Gutenberg block theme for the Alliance experts knowledge archive and research platform.
Version: 0.1.2
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: alliance-experts
*/

:root {
  --ae-navy: #3474b4;
  --ae-blue: #3474b4;
  --ae-blue-dark: #055895;
  --ae-lime: #c4d600;
  --ae-yellow: #ffd100;
  --ae-ink: #17212b;
  --ae-muted: #5c6874;
  --ae-pale: #f2f5f7;
  --ae-line: #dbe2e7;
  --ae-white: #ffffff;
}

@font-face {
  font-display: swap;
  font-family: "Corbel";
  font-style: normal;
  font-weight: 400;
  src: url("assets/fonts/corbel-regular.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: "Corbel";
  font-style: normal;
  font-weight: 700;
  src: url("assets/fonts/corbel-bold.woff2") format("woff2");
}

html { scroll-behavior: smooth; }

body {
  background: var(--ae-white);
  color: var(--ae-ink);
  font-family: "Corbel", Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}

a { text-underline-offset: 0.18em; }

.ae-site-header {
  background: var(--ae-navy);
  box-shadow: 0 1px 0 rgb(255 255 255 / 12%);
  position: relative;
  z-index: 20;
}

.ae-header-inner,
.ae-section-inner,
.ae-footer-inner {
  margin-inline: auto;
  max-width: 1180px;
  padding-inline: clamp(22px, 5vw, 64px);
}

.ae-header-inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 98px;
}

.ae-logo { margin: 0 !important; width: clamp(230px, 25vw, 350px); }
.ae-logo img { display: block; height: auto; width: 100%; }

.ae-site-header .wp-block-navigation { color: white; font-size: 0.86rem; font-weight: 700; letter-spacing: 0.035em; text-transform: uppercase; }
.ae-site-header .wp-block-navigation a { text-decoration: none; }
.ae-site-header .wp-block-navigation a:hover { color: var(--ae-lime); }
.ae-site-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--ae-navy) !important; color: white !important; padding: 30px; }

.ae-hero {
  background:
    linear-gradient(90deg, transparent 0 68%, rgb(196 214 0 / 8%) 68% 100%),
    var(--ae-white);
  overflow: hidden;
  padding: clamp(80px, 11vw, 150px) 0 clamp(84px, 12vw, 165px);
  position: relative;
}

.ae-hero::after {
  background: var(--ae-lime);
  content: "";
  height: 13px;
  position: absolute;
  right: 0;
  top: 0;
  width: 32%;
}

.ae-hero-grid { align-items: end; display: grid; gap: 55px; grid-template-columns: minmax(0, 1.55fr) minmax(260px, 0.65fr); }

.ae-kicker {
  color: var(--ae-blue);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  margin-bottom: 22px !important;
  text-transform: uppercase;
}

.ae-hero h1,
.ae-section-title {
  color: var(--ae-navy);
  font-size: clamp(3rem, 7vw, 6.6rem);
  font-weight: 800;
  letter-spacing: -0.055em;
  line-height: 0.95;
  margin: 0;
}

.ae-hero h1 em { color: var(--ae-lime); font-style: normal; }

.ae-hero-copy {
  border-left: 8px solid var(--ae-lime);
  color: var(--ae-muted);
  font-size: clamp(1.06rem, 1.5vw, 1.26rem);
  line-height: 1.65;
  margin: 0 !important;
  padding-left: 25px;
}

.ae-section { padding: clamp(80px, 10vw, 140px) 0; }
.ae-section--pale { background: var(--ae-pale); }
.ae-section--navy { background: var(--ae-navy); color: white; }
.ae-section--navy .ae-kicker { color: var(--ae-lime); }
.ae-section--navy .ae-section-title { color: white; }

.ae-section-head { display: grid; gap: 42px; grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr); margin-bottom: 64px; }
.ae-section-head .ae-section-title { font-size: clamp(2.6rem, 5vw, 5rem); }
.ae-intro { color: var(--ae-muted); font-size: 1.16rem; line-height: 1.7; margin: 0 !important; }

.ae-card-grid { align-items: stretch; display: grid; gap: 22px; grid-auto-rows: 1fr; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ae-card {
  background: white;
  border-top: 7px solid var(--ae-blue);
  box-shadow: 0 12px 38px rgb(23 79 135 / 8%);
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 330px;
  margin-block-start: 0 !important;
  padding: 34px;
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.ae-card:hover { box-shadow: 0 18px 45px rgb(23 79 135 / 15%); transform: translateY(-5px); }
.ae-card:nth-child(2) { border-top-color: var(--ae-lime); }
.ae-card:nth-child(3) { border-top-color: var(--ae-yellow); }
.ae-card-label { color: var(--ae-blue); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.ae-card h3 { color: var(--ae-navy); font-size: 1.55rem; line-height: 1.15; margin: 18px 0 16px; }
.ae-card p { color: var(--ae-muted); line-height: 1.6; }
.ae-card .wp-block-buttons { margin-top: auto; }

.wp-block-button__link {
  background: var(--ae-lime);
  border-radius: 999px;
  color: var(--ae-ink);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.045em;
  padding: 14px 24px;
  text-transform: uppercase;
}
.wp-block-button__link:hover { background: var(--ae-yellow); color: var(--ae-ink); }
.ae-button--outline .wp-block-button__link { background: transparent; border: 2px solid currentColor; color: var(--ae-navy); }
.ae-section--navy .ae-button--outline .wp-block-button__link { color: white; }

.ae-check-band {
  align-items: center;
  background: var(--ae-navy);
  color: white;
  display: grid;
  gap: 40px;
  grid-template-columns: 1fr auto;
  margin-top: 52px;
  padding: 38px clamp(28px, 5vw, 58px);
}
.ae-check-band h3 { color: white; font-size: clamp(1.55rem, 3vw, 2.3rem); margin: 0 0 8px; }
.ae-check-band p { color: rgb(255 255 255 / 75%); margin: 0; }

.ae-research-grid { align-items: center; display: grid; gap: clamp(50px, 9vw, 120px); grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr); }
.ae-research-photo {
  aspect-ratio: 1;
  margin: 0 !important;
  position: relative;
}
.ae-research-photo::after { background: var(--ae-lime); bottom: -18px; content: ""; height: 36%; position: absolute; right: -18px; width: 36%; z-index: -1; }
.ae-research-photo img { display: block; height: 100%; object-fit: cover; width: 100%; }
.ae-research-copy h2 { color: var(--ae-navy); font-size: clamp(2.6rem, 5vw, 5.2rem); letter-spacing: -0.05em; line-height: 0.98; margin: 0 0 30px; }
.ae-research-copy p { color: var(--ae-muted); font-size: 1.13rem; line-height: 1.72; }

.ae-book-grid { align-items: center; display: grid; gap: clamp(50px, 8vw, 100px); grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr); }
.ae-book-copy p { color: rgb(255 255 255 / 78%); font-size: 1.1rem; line-height: 1.72; }
.ae-book-cover {
  box-shadow: 16px 16px 0 var(--ae-lime);
  margin: 0 !important;
}
.ae-book-cover img { display: block; height: auto; width: 100%; }

.ae-site-footer { background: var(--ae-blue-dark); color: rgb(255 255 255 / 72%); padding: 52px 0; }
.ae-footer-inner { align-items: center; display: flex; gap: 35px; justify-content: space-between; }
.ae-footer-logo { margin: 0 !important; width: 230px; }
.ae-footer-logo img { display: block; height: auto; width: 100%; }
.ae-site-footer p { font-size: 0.82rem; margin: 0; }

.ae-content-shell { margin-inline: auto; max-width: 860px; padding: 80px 24px 120px; }
.ae-content-shell h1 { color: var(--ae-navy); font-size: clamp(2.7rem, 6vw, 5rem); letter-spacing: -0.045em; line-height: 1; }
.ae-content-shell h2 { color: var(--ae-navy); }
.ae-content-shell p, .ae-content-shell li { line-height: 1.75; }

@media (max-width: 860px) {
  .ae-header-inner { min-height: 78px; }
  .ae-logo { width: 220px; }
  .ae-hero-grid,
  .ae-section-head,
  .ae-research-grid,
  .ae-book-grid { grid-template-columns: 1fr; }
  .ae-hero-copy { max-width: 650px; }
  .ae-card-grid { grid-template-columns: 1fr; }
  .ae-card { min-height: 0; }
  .ae-check-band { grid-template-columns: 1fr; }
  .ae-research-photo { max-width: 360px; }
  .ae-book-cover { max-width: 440px; }
}

@media (max-width: 560px) {
  .ae-header-inner { padding-inline: 18px; }
  .ae-logo { width: 190px; }
  .ae-hero { padding-top: 72px; }
  .ae-hero h1 { font-size: clamp(3rem, 15vw, 4.5rem); }
  .ae-section { padding-block: 72px; }
  .ae-card { padding: 28px; }
  .ae-footer-inner { align-items: flex-start; flex-direction: column; }
  .ae-book-cover { box-shadow: 10px 10px 0 var(--ae-lime); }
}
