/* ============================================================
   Alexandre Marotel — Founder Page CSS
   Page ID: 7082 | Prefix: .am-
   Design system: #010643 #56aea4 #0099bc #f7f8f9 #575760
   ============================================================ */

/* ----------------------------------------------------------
   0. GENERATEPRESS OVERRIDES — allow full-width breakout
   ---------------------------------------------------------- */
body.page-id-7082 {
  overflow-x: hidden !important;
}
/* #page wrapper — remove max-width constraint so 100vw children don't overflow */
.page-id-7082 #page {
  max-width: 100% !important;
  overflow: visible !important;
}
.page-id-7082 .inside-article {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}
.page-id-7082 .entry-content {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
/* Only override grid-container inside site-content, NOT the header */
.page-id-7082 .site-content .grid-container,
.page-id-7082 #content.site-content {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-id-7082 .site-content,
.page-id-7082 #content,
.page-id-7082 .site-main {
  overflow: visible !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.page-id-7082 article {
  overflow: visible !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.page-id-7082 .entry-content > .alignfull + .alignfull { margin-top: 0 !important; }
.page-id-7082 .entry-content > .alignfull { margin-bottom: 0 !important; }
.page-id-7082 .site-content .content-area {
  overflow: visible !important;
}

/* ----------------------------------------------------------
   1. WRAPPER
   ---------------------------------------------------------- */
.am-wrapper {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: #575760;
  line-height: 1.7;
  font-size: 16px;
  overflow-x: hidden;
}
.am-wrapper *, .am-wrapper *::before, .am-wrapper *::after {
  box-sizing: border-box;
}
.am-wrapper img {
  max-width: 100%;
  height: auto;
}
.am-wrapper a {
  color: #56aea4;
  text-decoration: none;
  transition: color 0.2s;
}
.am-wrapper a:hover {
  text-decoration: underline;
}

/* ----------------------------------------------------------
   2. BUTTONS
   ---------------------------------------------------------- */
.am-btn-primary {
  display: inline-block;
  padding: 13px 28px;
  background: #010643;
  color: #fff !important;
  font-size: 14px;
  font-weight: 600;
  border: none;
  border-radius: 28px;
  cursor: pointer;
  text-decoration: none !important;
  transition: all 0.3s;
}
.am-btn-primary:hover {
  background: #0099bc;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0, 153, 188, 0.35);
  text-decoration: none !important;
}

.am-btn-outline {
  display: inline-block;
  padding: 13px 28px;
  background: transparent;
  color: #010643 !important;
  font-size: 14px;
  font-weight: 600;
  border: 2px solid #010643;
  border-radius: 28px;
  cursor: pointer;
  text-decoration: none !important;
  transition: all 0.3s;
}
.am-btn-outline:hover {
  background: #010643;
  color: #fff !important;
  text-decoration: none !important;
}

.am-btn-hero-outline {
  color: #fff !important;
  border-color: rgba(255,255,255,0.5);
}
.am-btn-hero-outline:hover {
  background: #fff;
  color: #010643 !important;
  border-color: #fff;
}

.am-btn-white {
  display: inline-block;
  padding: 13px 28px;
  background: #fff;
  color: #010643 !important;
  font-size: 14px;
  font-weight: 600;
  border: none;
  border-radius: 28px;
  cursor: pointer;
  text-decoration: none !important;
  transition: all 0.3s;
}
.am-btn-white:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
  text-decoration: none !important;
}

/* ----------------------------------------------------------
   3. HERO — Full-width dark navy, split layout
   ---------------------------------------------------------- */
.am-hero {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  padding: 60px 20px 50px;
  background: radial-gradient(ellipse at 20% 50%, #0b1260 0%, #010643 70%);
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}
.am-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size: 24px 24px;
  pointer-events: none;
  z-index: 0;
}

.am-hero-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 50px;
  position: relative;
  z-index: 1;
}

.am-hero-photo {
  flex: 0 0 340px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(0,0,0,0.4);
}
.am-hero-photo img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 0;
}

.am-hero-text {
  flex: 1;
  color: #fff;
}

.am-hero-tagline {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: #56aea4;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 10px;
}

.am-hero h1 {
  font-size: 42px;
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  margin-bottom: 14px;
}

.am-hero-subtitle {
  font-size: 17px;
  color: rgba(255,255,255,0.85);
  line-height: 1.6;
  margin-bottom: 28px;
  max-width: 520px;
}

.am-hero-stats {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 28px;
}
.am-hero-stat {
  text-align: center;
  padding-right: 24px;
  border-right: 1px solid rgba(255,255,255,0.15);
}
.am-hero-stat:last-child {
  border-right: none;
  padding-right: 0;
}
.am-hero-stat strong {
  display: block;
  font-size: 28px;
  font-weight: 800;
  color: #56aea4;
  line-height: 1;
}
.am-hero-stat span {
  font-size: 12px;
  color: rgba(255,255,255,0.65);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.am-hero-buttons {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

/* ----------------------------------------------------------
   4. TRUST BAR — Full-width
   ---------------------------------------------------------- */
.am-trust-bar {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background: #fff;
  padding: 18px 20px;
  border-bottom: 1px solid #e5e7eb;
  box-sizing: border-box;
}
.am-trust-bar-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
}
.am-trust-bar-label {
  font-size: 12px;
  font-weight: 600;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.am-trust-bar-logos {
  display: flex;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
}
.am-trust-bar-logos img {
  height: 80px;
  width: auto;
  opacity: 0.5;
  filter: grayscale(100%);
  transition: all 0.3s;
}
.am-trust-bar-logos img:hover {
  opacity: 1;
  filter: grayscale(0%);
}

/* ----------------------------------------------------------
   5. MAIN LAYOUT — 2 columns
   ---------------------------------------------------------- */
.am-main {
  display: flex;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 50px 20px 0;
  align-items: center;
}
.am-content {
  flex: 1;
  min-width: 0;
  position: relative;
}
.am-sidebar {
  flex: 0 0 280px;
  position: sticky;
  top: 100px;
  align-self: flex-start;
}

/* ----------------------------------------------------------
   6. SIDEBAR
   ---------------------------------------------------------- */
.am-sidebar-cta {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-top: 3px solid #56aea4;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 20px;
  text-align: center;
}
.am-sidebar-cta h4 {
  font-size: 16px;
  font-weight: 700;
  color: #010643;
  margin: 0 0 8px;
}
.am-sidebar-cta p {
  font-size: 13px;
  color: #575760;
  margin: 0 0 16px;
  line-height: 1.5;
}

.am-sidebar-nav {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
}
.am-sidebar-nav h4 {
  font-size: 13px;
  font-weight: 600;
  color: #575760;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0 0 12px;
}
.am-sidebar-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.am-sidebar-nav li {
  margin-bottom: 4px;
}
.am-sidebar-nav a {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #575760;
  text-decoration: none !important;
  padding: 5px 0;
  transition: color 0.2s;
}
.am-sidebar-nav a:hover,
.am-sidebar-nav a.is-active {
  color: #56aea4;
}
.am-sidebar-nav .nav-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ddd;
  transition: background 0.2s;
  flex-shrink: 0;
}
.am-sidebar-nav a:hover .nav-dot,
.am-sidebar-nav a.is-active .nav-dot {
  background: #56aea4;
}

/* ----------------------------------------------------------
   7. SECTION HEADINGS
   ---------------------------------------------------------- */
.am-content h2 {
  font-size: 26px;
  font-weight: 700;
  color: #010643;
  margin: 0 0 14px;
  line-height: 1.3;
}
.am-content h3 {
  font-size: 20px;
  font-weight: 600;
  color: #010643;
  margin: 0 0 10px;
}
.am-content h4 {
  font-size: 17px;
  font-weight: 600;
  color: #010643;
  margin: 0 0 8px;
}
.am-content p {
  font-size: 15px;
  color: #575760;
  line-height: 1.7;
  margin: 0 0 14px;
}

/* ----------------------------------------------------------
   8. SEPARATOR
   ---------------------------------------------------------- */
.am-separator {
  border: none;
  height: 1px;
  background: #e5e7eb;
  margin: 40px 0;
}

/* ----------------------------------------------------------
   9. ABOUT
   ---------------------------------------------------------- */
.am-about {
  margin-bottom: 0;
}

.am-photo-gallery {
  display: flex;
  gap: 12px;
  margin-top: 20px;
}
.am-photo-gallery img {
  flex: 1;
  min-width: 0;
  height: 220px;
  object-fit: cover;
  border-radius: 10px;
}

/* ----------------------------------------------------------
   10. RESULTS
   ---------------------------------------------------------- */
.am-results-section {
  margin-bottom: 0;
}
.am-results-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 16px;
}
.am-results-grid img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
}

/* ----------------------------------------------------------
   11. AGENCY
   ---------------------------------------------------------- */
.am-agency-section {
  margin-bottom: 0;
}
.am-agency-section > img,
.am-agency-img {
  border-radius: 10px;
  margin-bottom: 16px;
  max-width: 600px;
  width: 100%;
}

/* ----------------------------------------------------------
   12. STYLED LISTS
   ---------------------------------------------------------- */
.am-styled-list {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
}
.am-styled-list li {
  padding: 8px 0 8px 20px;
  position: relative;
  font-size: 15px;
  color: #575760;
  line-height: 1.6;
  border-bottom: 1px solid #f0f0f0;
}
.am-styled-list li:last-child {
  border-bottom: none;
}
.am-styled-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #56aea4;
}

.am-phases-list {
  list-style: none;
  padding: 0;
  margin: 16px 0;
}
.am-phases-list li {
  padding: 14px 14px 14px 20px;
  margin-bottom: 10px;
  background: #f7f8f9;
  border-left: 4px solid #56aea4;
  border-radius: 0 8px 8px 0;
  font-size: 15px;
  font-weight: 500;
  color: #575760;
  line-height: 1.6;
}

/* ----------------------------------------------------------
   13. TABS
   ---------------------------------------------------------- */
.am-tab-pills {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.am-tab-pill {
  padding: 8px 20px;
  border-radius: 20px;
  border: none;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  background: #f0f0f0;
  color: #575760;
  transition: all 0.3s;
}
.am-tab-pill.is-active {
  background: #56aea4;
  color: #fff;
}
.am-tab-pill:hover:not(.is-active) {
  background: #e5e7eb;
}

.am-tab-panel {
  display: none;
}
.am-tab-panel.is-active {
  display: block;
}

/* ----------------------------------------------------------
   14. GALLERIES
   ---------------------------------------------------------- */
.am-gallery {
  display: grid;
  gap: 12px;
  margin: 16px 0;
}
.am-gallery.cols-2 {
  grid-template-columns: 1fr 1fr;
}
.am-gallery.cols-3 {
  grid-template-columns: repeat(3, 1fr);
}
.am-gallery.cols-4 {
  grid-template-columns: repeat(4, 1fr);
}
.am-gallery img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
}

.am-books-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 16px 0;
}
.am-books-grid img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

/* ----------------------------------------------------------
   15. READ MORE
   ---------------------------------------------------------- */
.am-read-more {
  position: relative;
  overflow: hidden;
}
.am-read-more-content {
  max-height: 200px;
  overflow: hidden;
  transition: max-height 0.5s;
}
.am-read-more.is-open .am-read-more-content {
  max-height: 5000px;
}
.am-read-more-fade {
  position: absolute;
  bottom: 40px;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(transparent, #fff);
  pointer-events: none;
  transition: opacity 0.3s;
}
.am-read-more.is-open .am-read-more-fade {
  opacity: 0;
}
.am-read-more-btn {
  display: block;
  margin: 10px auto 0;
  padding: 8px 20px;
  border: 1px solid #56aea4;
  border-radius: 20px;
  background: transparent;
  color: #56aea4;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
}
.am-read-more-btn:hover {
  background: #56aea4;
  color: #fff;
}
.am-read-more.is-open .am-read-more-btn::after {
  content: ' ▲';
}
.am-read-more:not(.is-open) .am-read-more-btn::after {
  content: ' ▼';
}

/* ----------------------------------------------------------
   16. SERVICES
   ---------------------------------------------------------- */
.am-services-section {
  margin-bottom: 0;
}
.am-services-section > img {
  border-radius: 10px;
  margin-bottom: 16px;
}

.am-tools-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin: 16px 0;
}
.am-tools-grid img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
}

/* ----------------------------------------------------------
   17. CTA BAND — Full-width breakout from .am-content
   ---------------------------------------------------------- */
.am-cta-band {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background: linear-gradient(135deg, #010643 0%, #56aea4 100%);
  padding: 40px 20px;
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px;
  box-sizing: border-box;
}
.am-cta-band h3 {
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 8px;
}
.am-cta-band p {
  color: rgba(255, 255, 255, 0.85);
  font-size: 15px;
  margin: 0 0 20px;
}

/* ----------------------------------------------------------
   18. INTERVENTIONS
   ---------------------------------------------------------- */
.am-interventions-section {
  margin-bottom: 0;
}

.am-video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: 10px;
  margin-bottom: 16px;
}
.am-video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.am-caption {
  font-size: 14px;
  color: #999;
  text-align: center;
  margin: 0 0 16px;
  font-style: italic;
}

/* ----------------------------------------------------------
   19. PARCOURS — Accordion cards
   ---------------------------------------------------------- */
.am-parcours-section {
  margin-bottom: 0;
}
.am-parcours-section > img {
  border-radius: 10px;
  margin-bottom: 16px;
}

.am-parcours-card,
.am-accordion-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
}

.am-parcours-header,
.am-accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 22px;
  cursor: pointer;
  transition: background 0.2s;
  user-select: none;
}
.am-parcours-header:hover,
.am-accordion-header:hover {
  background: #f7f8f9;
}
.am-parcours-header h3,
.am-accordion-header h3 {
  font-size: 17px;
  font-weight: 600;
  color: #010643;
  margin: 0;
}

.am-parcours-chevron,
.am-accordion-chevron {
  width: 20px;
  height: 20px;
  color: #575760;
  transition: transform 0.3s;
  flex-shrink: 0;
}
.am-parcours-card.is-open .am-parcours-chevron,
.am-parcours-card.is-open .am-accordion-chevron,
.am-accordion-card.is-open .am-parcours-chevron,
.am-accordion-card.is-open .am-accordion-chevron {
  transform: rotate(180deg);
}

.am-parcours-detail,
.am-accordion-detail {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s;
}
.am-parcours-card.is-open .am-parcours-detail,
.am-parcours-card.is-open .am-accordion-detail,
.am-accordion-card.is-open .am-parcours-detail,
.am-accordion-card.is-open .am-accordion-detail {
  max-height: 2000px;
}

.am-parcours-detail-inner,
.am-accordion-detail-inner,
.am-accordion-detail > p,
.am-accordion-detail > img,
.am-accordion-detail > .am-gallery {
  padding-left: 22px;
  padding-right: 22px;
}
.am-accordion-detail > p:first-child,
.am-accordion-detail > img:first-child {
  padding-top: 0;
}
.am-accordion-detail > p:last-child,
.am-accordion-detail > img:last-child,
.am-accordion-detail > .am-gallery:last-child {
  padding-bottom: 22px;
}

/* ----------------------------------------------------------
   20. VALUES
   ---------------------------------------------------------- */
.am-values-section {
  margin-bottom: 0;
}
.am-values-section > img {
  border-radius: 10px;
  margin-bottom: 16px;
}
.am-values-section blockquote {
  border-left: 3px solid #56aea4;
  padding: 14px 20px;
  margin: 20px 0;
  font-style: italic;
  font-size: 18px;
  color: #010643;
  background: #f7f8f9;
  border-radius: 0 8px 8px 0;
}
.am-values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 20px 0;
}
.am-value-item {
  text-align: center;
  padding: 18px 14px;
  background: #f7f8f9;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  color: #010643;
  border: 1px solid #eee;
  transition: all 0.3s;
}
.am-value-item:hover {
  border-color: #56aea4;
  background: #fff;
  box-shadow: 0 4px 16px rgba(86,174,164,0.12);
}

/* ----------------------------------------------------------
   21. DIPLOMES
   ---------------------------------------------------------- */
.am-diplomes-section {
  margin-bottom: 0;
}

/* ----------------------------------------------------------
   22. CONTACT
   ---------------------------------------------------------- */
.am-contact-section {
  margin-bottom: 0;
}
.am-contact-card {
  display: flex;
  align-items: center;
  gap: 20px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 24px;
}
.am-contact-card > img {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.am-contact-info {
  flex: 1;
}
.am-contact-info h3 {
  margin-bottom: 4px;
}
.am-contact-info p {
  margin-bottom: 4px;
  font-size: 14px;
}

/* ----------------------------------------------------------
   23. CTA FINAL — Full-width
   ---------------------------------------------------------- */
.am-cta-final {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background: linear-gradient(135deg, #010643 0%, #56aea4 100%);
  padding: 60px 20px;
  box-sizing: border-box;
}
.am-cta-final-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 50px;
}
.am-cta-final-text {
  flex: 1;
  color: #fff;
}
.am-cta-final-text h2 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 16px;
  color: #fff;
}
.am-cta-final-text ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.am-cta-final-text li {
  padding-left: 20px;
  position: relative;
  margin-bottom: 8px;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.9);
}
.am-cta-final-text li::before {
  content: '\2713';
  position: absolute;
  left: 0;
  color: #56aea4;
  font-weight: 700;
}
.am-cta-final-action {
  flex-shrink: 0;
  text-align: center;
}
.am-cta-final-action .am-btn-white {
  font-size: 16px;
  padding: 16px 36px;
}
.am-cta-final-reassurance {
  color: rgba(255, 255, 255, 0.6);
  font-size: 13px;
  margin-top: 10px;
}

/* ----------------------------------------------------------
   24. STICKY MOBILE CTA
   ---------------------------------------------------------- */
.am-sticky-cta {
  position: fixed;
  bottom: -80px;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #fff;
  padding: 10px 16px;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  text-align: center;
  transition: bottom 0.3s;
}
.am-sticky-cta.is-visible {
  bottom: 0;
}
.am-sticky-cta .am-btn-primary {
  width: 100%;
  max-width: 400px;
}

/* ----------------------------------------------------------
   25. SCROLL REVEAL
   ---------------------------------------------------------- */
.am-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s, transform 0.6s;
}
.am-reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* ----------------------------------------------------------
   26. RESPONSIVE
   ---------------------------------------------------------- */

/* Tablet & small desktop */
@media (max-width: 1024px) {
  .am-main {
    flex-direction: column;
  }
  .am-sidebar {
    position: static;
    flex: 0 0 auto;
    width: 100%;
    display: flex;
    gap: 20px;
    order: -1;
    margin-bottom: 20px;
  }
  .am-sidebar-cta,
  .am-sidebar-nav {
    flex: 1;
  }
  .am-hero-inner {
    flex-direction: column;
    text-align: center;
  }
  .am-hero-photo {
    flex: 0 0 auto;
    width: 260px;
  }
  .am-hero-buttons {
    justify-content: center;
  }
  .am-hero-stats {
    justify-content: center;
  }
  .am-hero-subtitle {
    margin-left: auto;
    margin-right: auto;
  }
  .am-cta-final-inner {
    flex-direction: column;
    text-align: center;
  }
  .am-cta-final-action {
    flex: none;
    width: 100%;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .am-hero h1 {
    font-size: 30px;
  }
  .am-hero-stats {
    flex-direction: column;
    gap: 12px;
  }
  .am-hero-stat {
    border-right: none;
    padding-right: 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding-bottom: 12px;
  }
  .am-hero-stat:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
  .am-photo-gallery {
    flex-wrap: wrap;
  }
  .am-photo-gallery img {
    height: 150px;
    flex: 0 0 calc(50% - 6px);
  }
  .am-results-grid {
    grid-template-columns: 1fr;
  }
  .am-gallery.cols-4 {
    grid-template-columns: 1fr 1fr;
  }
  .am-books-grid {
    grid-template-columns: 1fr 1fr;
  }
  .am-values-grid {
    grid-template-columns: 1fr 1fr;
  }
  .am-contact-card {
    flex-direction: column;
    text-align: center;
  }
  .am-sidebar {
    flex-direction: column;
  }
  .am-sidebar-nav {
    display: none;
  }
  .am-sticky-cta.is-visible {
    bottom: 0;
  }
  .am-trust-bar-logos img {
    height: 24px;
  }
  .am-trust-bar-logos {
    gap: 18px;
  }
}

@media (max-width: 480px) {
  .am-gallery.cols-3,
  .am-gallery.cols-4 {
    grid-template-columns: 1fr;
  }
  .am-values-grid {
    grid-template-columns: 1fr;
  }
  .am-books-grid {
    grid-template-columns: 1fr;
  }
  .am-tab-pills {
    gap: 4px;
  }
  .am-tab-pill {
    padding: 6px 14px;
    font-size: 12px;
  }
}

/* ----------------------------------------------------------
   27. FIX STICKY SIDEBAR — overflow-x clip instead of hidden
   ---------------------------------------------------------- */
.am-wrapper {
  overflow-x: clip !important;
}

/* ----------------------------------------------------------
   28. DYNAMIC CHARTS (from homepage design)
   ---------------------------------------------------------- */
.am-charts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 28px;
}
.am-chart-card {
  background: #fff;
  border-radius: 14px;
  padding: 24px 18px;
  text-align: center;
  border: 1px solid #eee;
  transition: all 0.4s;
}
.am-chart-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(0,0,0,0.07);
}
.am-chart-container {
  width: 180px;
  height: 140px;
  margin: 0 auto 12px;
}
.am-chart-container svg {
  width: 100%;
  height: 100%;
}
.am-line-chart .am-chart-line {
  stroke: #56aea4;
  stroke-width: 3;
  fill: none;
  stroke-dasharray: 500;
  stroke-dashoffset: 500;
  transition: stroke-dashoffset 2s ease-out;
}
.am-line-chart .am-chart-area {
  fill: url(#amAreaGrad);
  opacity: 0;
  transition: opacity 1.5s ease-out 0.5s;
}
.am-chart-card.is-visible .am-chart-line {
  stroke-dashoffset: 0;
}
.am-chart-card.is-visible .am-chart-area {
  opacity: 1;
}
.am-bar-chart .am-chart-bar {
  fill: #56aea4;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 1s cubic-bezier(0.34,1.56,0.64,1);
}
.am-chart-card.is-visible .am-chart-bar {
  transform: scaleY(1);
}
.am-bar-chart .am-chart-bar:nth-child(2) { transition-delay: .1s; }
.am-bar-chart .am-chart-bar:nth-child(3) { transition-delay: .2s; }
.am-bar-chart .am-chart-bar:nth-child(4) { transition-delay: .3s; }
.am-bar-chart .am-chart-bar:nth-child(5) { transition-delay: .4s; }
.am-bar-chart .am-chart-bar:nth-child(6) { transition-delay: .5s; }
.am-bar-chart .am-chart-bar:nth-child(7) { transition-delay: .6s; }
.am-donut-chart .am-donut-bg {
  fill: none;
  stroke: #e8f5f3;
  stroke-width: 12;
}
.am-donut-chart .am-donut-fill {
  fill: none;
  stroke: #56aea4;
  stroke-width: 12;
  stroke-linecap: round;
  stroke-dasharray: 283;
  stroke-dashoffset: 283;
  transition: stroke-dashoffset 2s ease-out;
  transform: rotate(-90deg);
  transform-origin: center;
}
.am-chart-card.is-visible .am-donut-fill {
  stroke-dashoffset: 14;
}
.am-donut-text {
  font-size: 26px;
  font-weight: 700;
  fill: #010643;
}
.am-donut-subtext {
  font-size: 11px;
  fill: #575760;
}
.am-chart-card .am-chart-value {
  font-size: 26px;
  font-weight: 800;
  color: #56aea4;
  margin-bottom: 4px;
}
.am-chart-card h3 {
  font-size: 15px;
  font-weight: 600;
  color: #010643;
  margin-bottom: 4px;
}
.am-chart-card p {
  font-size: 12px;
  color: #575760;
  line-height: 1.5;
}

/* Results images on one row */
.am-results-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 16px;
}
.am-results-grid-4 img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
}

/* ----------------------------------------------------------
   29. AGENCY IMAGE SMALLER
   ---------------------------------------------------------- */
.am-agency-img-small {
  border-radius: 10px;
  margin-bottom: 16px;
  max-width: 400px;
  width: 100%;
}

/* ----------------------------------------------------------
   30. PROJECT CARDS (replacing the simple list)
   ---------------------------------------------------------- */
.am-project-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 16px 0;
}
.am-project-card {
  background: #f7f8f9;
  border: 1px solid #eee;
  border-radius: 12px;
  padding: 20px 16px;
  text-align: center;
  transition: all 0.3s;
}
.am-project-card:hover {
  border-color: #56aea4;
  background: #fff;
  box-shadow: 0 4px 16px rgba(86,174,164,0.12);
}
.am-project-card .am-project-icon {
  font-size: 28px;
  margin-bottom: 8px;
  display: block;
}
.am-project-card .am-project-value {
  font-size: 22px;
  font-weight: 800;
  color: #56aea4;
  display: block;
  line-height: 1.2;
}
.am-project-card .am-project-label {
  font-size: 13px;
  font-weight: 600;
  color: #010643;
  display: block;
  margin-top: 4px;
}

/* ----------------------------------------------------------
   31. BLOG IMAGES — compact gallery
   ---------------------------------------------------------- */
.am-gallery-compact {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 16px 0;
}
.am-gallery-compact img {
  width: 100%;
  height: 120px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  transition: transform 0.3s;
}
.am-gallery-compact img:hover {
  transform: scale(1.03);
}

/* ----------------------------------------------------------
   32. SERVICE IMAGES — smaller inline
   ---------------------------------------------------------- */
.am-services-section > img {
  max-width: 500px;
}
.am-services-section .am-img-dark-bg {
  background: #010643;
  border-radius: 10px;
  padding: 16px;
  display: inline-block;
  margin-bottom: 16px;
  max-width: 500px;
  width: 100%;
}
.am-services-section .am-img-dark-bg img {
  width: 100%;
  height: auto;
  display: block;
}

/* ----------------------------------------------------------
   33. RESPONSIVE additions
   ---------------------------------------------------------- */
@media (max-width: 768px) {
  .am-charts-grid {
    grid-template-columns: 1fr;
    max-width: 340px;
    margin-left: auto;
    margin-right: auto;
  }
  .am-results-grid-4 {
    grid-template-columns: 1fr 1fr;
  }
  .am-project-cards {
    grid-template-columns: 1fr 1fr;
  }
  .am-gallery-compact {
    grid-template-columns: 1fr 1fr;
  }
  .am-gallery-compact img {
    height: 100px;
  }
}
@media (max-width: 480px) {
  .am-project-cards {
    grid-template-columns: 1fr;
  }
  .am-results-grid-4 {
    grid-template-columns: 1fr;
  }
  .am-gallery-compact {
    grid-template-columns: 1fr;
  }
  .am-gallery-compact img {
    height: auto;
  }
}

/* ----------------------------------------------------------
   34. INTRO LEAD — bigger font for first paragraph
   ---------------------------------------------------------- */
.am-intro-lead {
  font-size: 20px !important;
  font-weight: 600;
  color: #010643 !important;
  line-height: 1.5;
  margin-bottom: 16px !important;
}

/* ----------------------------------------------------------
   35. AGENCY HEADER — inline logo + text
   ---------------------------------------------------------- */
.am-agency-header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 16px;
}
.am-agency-logo-inline {
  width: 160px;
  height: auto;
  border-radius: 10px;
  flex-shrink: 0;
}
.am-agency-header h2 {
  margin-bottom: 6px;
}
.am-agency-header p {
  margin-bottom: 0;
}

/* ----------------------------------------------------------
   36. PHASES FLOW — 3 steps with arrows
   ---------------------------------------------------------- */
.am-phases-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 24px 0;
  padding: 24px 16px;
  background: #f7f8f9;
  border-radius: 14px;
  border: 1px solid #eee;
}
.am-phase-step {
  flex: 1;
  text-align: center;
  max-width: 220px;
  padding: 0 8px;
}
.am-phase-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 10px;
}
.am-phase-icon svg {
  width: 100%;
  height: 100%;
}
.am-phase-step h4 {
  font-size: 15px;
  font-weight: 700;
  color: #010643;
  margin: 0 0 4px;
}
.am-phase-step p {
  font-size: 12px;
  color: #575760;
  line-height: 1.5;
  margin: 0;
}
.am-phase-arrow {
  display: flex;
  align-items: center;
  padding-top: 0;
  flex-shrink: 0;
}
.am-phase-arrow svg {
  width: 36px;
  height: 20px;
}

/* ----------------------------------------------------------
   37. TOOLS GRID — uniform height
   ---------------------------------------------------------- */
.am-tools-grid-uniform {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin: 16px 0;
}
.am-tools-grid-uniform img {
  width: 100%;
  height: 80px;
  object-fit: contain;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  padding: 8px;
  background: #fff;
}

/* ----------------------------------------------------------
   38. CTA INLINE — stays within content column
   ---------------------------------------------------------- */
.am-cta-inline {
  background: linear-gradient(135deg, #010643 0%, #56aea4 100%);
  padding: 32px 28px;
  text-align: center;
  border-radius: 14px;
  margin: 40px 0;
}
.am-cta-inline h3 {
  color: #fff !important;
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 8px;
}
.am-cta-inline p {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 14px;
  margin: 0 0 18px;
}

/* ----------------------------------------------------------
   39. SECONDARY TAB PILLS — smaller for nested tabs
   ---------------------------------------------------------- */
.am-tab-pills-secondary {
  margin-top: 16px;
}
.am-tab-pills-secondary .am-tab-pill {
  font-size: 12px;
  padding: 6px 16px;
  background: #e8f5f3;
}
.am-tab-pills-secondary .am-tab-pill.is-active {
  background: #010643;
  color: #fff;
}

/* ----------------------------------------------------------
   40. RESPONSIVE additions v2
   ---------------------------------------------------------- */
@media (max-width: 768px) {
  .am-phases-flow {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
  .am-phase-arrow {
    transform: rotate(90deg);
    padding-top: 0;
  }
  .am-phase-step {
    max-width: 100%;
  }
  .am-agency-header {
    flex-direction: column;
    text-align: center;
  }
  .am-agency-logo-inline {
    width: 120px;
  }
  .am-tools-grid-uniform {
    grid-template-columns: 1fr 1fr;
  }
}

/* --- Trust bar logos 2x bigger --- */
.am-trust-bar-logos img { height: 60px \!important; max-height: 60px; }

/* =============================================================
   AM Page - Extra CSS for merged sections & redesigned elements
   Append to existing stylesheet
   ============================================================= */

/* --- Agency header reversed (image on RIGHT) --- */
.am-agency-header-reverse {
  flex-direction: row-reverse !important;
}
.am-agency-header-reverse .am-agency-logo-inline {
  margin-left: 0;
  margin-right: 0;
}

/* --- Phase cards --- */
.am-phase-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 1.5rem 1.2rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.am-phase-card:hover {
  box-shadow: 0 4px 16px rgba(86,174,164,0.13);
  transform: translateY(-2px);
}

/* --- Clients: Entreprises image below at 80% --- */
.am-clients-entreprises {
  text-align: center;
  margin-top: 1.5rem;
}
.am-clients-entreprises img {
  max-width: 80%;
  border-radius: 10px;
}

/* --- Trust bar logos grayscale (CSS-only) --- */
.am-trust-bar-logos img {
  filter: grayscale(100%);
  opacity: 0.6;
  transition: filter 0.3s ease, opacity 0.3s ease;
}
.am-trust-bar-logos img:hover {
  filter: grayscale(0%);
  opacity: 1;
}

/* --- Tab pills with emojis - spacing tweak --- */
.am-tab-pill {
  white-space: nowrap;
}

/* --- Responsive: phase cards stack on mobile --- */
@media (max-width: 768px) {
  .am-phase-card {
    padding: 1rem;
  }
  .am-clients-entreprises img {
    max-width: 100%;
  }
}

/* === Round 4 fixes === */

/* 3rd photo in Presentation: show face */
.am-photo-gallery img:nth-child(3) {
  object-position: top center;
}

/* Services header: image inline like agency */
.am-services-header {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 1.5rem;
}
.am-services-header img {
  width: 180px;
  height: auto;
  border-radius: 10px;
  flex-shrink: 0;
}
.am-services-header div {
  flex: 1;
}

/* Reduce images in tab panels (valeurs, diplomes, langues) */
.am-parcours-section .am-tab-panel img {
  max-width: 400px;
  border-radius: 10px;
}
.am-parcours-section .am-tab-panel .am-gallery img,
.am-parcours-section .am-tab-panel .am-values-grid {
  max-width: 100%;
}
.am-parcours-section .am-tab-panel .am-gallery.cols-3 img,
.am-parcours-section .am-tab-panel .am-gallery.cols-2 img {
  max-width: 100%;
}

/* Phase cards: ensure arrows are truly centered */
.am-phases-flow {
  align-items: center !important;
}
.am-phase-arrow {
  padding-top: 0 !important;
  align-self: center;
}

/* Trust bar logos: ensure bigger */
.am-trust-bar-logos img {
  height: 80px !important;
  max-height: 80px !important;
}

@media (max-width: 768px) {
  .am-services-header {
    flex-direction: column;
    text-align: center;
  }
  .am-services-header img {
    width: 140px;
  }
  .am-parcours-section .am-tab-panel img {
    max-width: 100%;
  }
}
