.aim26-page-shell {
  --page-standard-text: #241c13;
  --page-standard-muted: #6f695f;
  --page-standard-line: #d9d4ca;
  --page-standard-soft: #f4f1ea;
  --page-standard-accent: var(--aim26-promotion);
  --page-standard-gutter: clamp(24px, 4vw, 60px);
  --page-standard-reading: 820px;
  --page-standard-wide: 1120px;
  --page-hero-inset: clamp(24px, 3vw, 52px);
  --page-hero-right: 20px;
  --page-hero-radius: clamp(36px, 5vw, 72px);
  background: #fff;
  padding-bottom: clamp(100px, 14vw, 190px);
}

/* Standard information-page hero: text first, compact photo second. */
.page-standard > .page-standard__hero {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
  width: calc(100% - var(--page-hero-inset) - var(--page-hero-right));
  min-height: 360px;
  margin: 32px var(--page-hero-right) 0 var(--page-hero-inset);
  padding: 0;
  background: transparent;
}
.page-standard > .page-standard__hero.aim26-page-hero--plain {
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  padding-block: 32px 24px;
}
.page-standard > .aim26-page-hero::before,
.page-standard > .aim26-page-hero::after { content: none; }
.page-standard .page-standard__hero-content {
  position: static;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding-left: clamp(0px, 1.5vw, 20px);
  transform: none;
}
.page-standard .page-standard__hero-image {
  width: 100%;
  min-width: 0;
  aspect-ratio: 16 / 7;
  margin: 0;
  overflow: hidden;
  border-radius: 0 0 0 var(--page-hero-radius);
  background: transparent;
}
.page-standard .page-standard__hero-image img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  margin: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: var(--page-hero-object-position, 50% 40%);
}
.page-standard .page-standard__title {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  font-size: clamp(26px, 2.4vw, 38px);
  line-height: 1.35;
  letter-spacing: .025em;
  font-weight: 600;
  color: #17130d;
  white-space: normal;
  word-break: normal;
  line-break: strict;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
.page-standard .page-standard__title.is-long { font-size: clamp(24px, 2.2vw, 34px); }
.page-standard .page-standard__hero :where(.aim26-eyebrow, .aim26-page-hero__meta, .aim26-page-hero__subcopy) {
  min-width: 0;
  max-width: 100%;
  color: var(--page-standard-muted);
  overflow-wrap: anywhere;
  font-size: 10px;
  text-shadow: none;
}
.page-standard .page-standard__hero .aim26-eyebrow { margin: 0 0 14px; color: var(--page-standard-accent); }
.page-standard .aim26-page-hero__subcopy {
  max-width: 42em;
  margin: 14px 0 0;
  font: 600 11px/1.65 var(--aim26-en);
  letter-spacing: .1em;
}
@media (max-width: 768px) {
  .page-standard > .page-standard__hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    min-height: 0;
    width: calc(100% - 40px);
    margin: 28px 20px 0;
  }
  .page-standard > .page-standard__hero.aim26-page-hero--plain { padding-block: 0 12px; }
  .page-standard .page-standard__hero-content { padding: 0; gap: 12px; }
  .page-standard .page-standard__hero-image { aspect-ratio: 16 / 7; border-bottom-left-radius: 32px; }
  .page-standard .page-standard__title,
  .page-standard .page-standard__title.is-long {
    font-size: clamp(24px, 6.5vw, 30px);
    line-height: 1.4;
    white-space: normal;
    text-wrap: pretty;
  }
}
.aim26-page-content { padding-top: clamp(65px, 9vw, 120px); }
.page-content--custom { min-width: 0; }
.page-content--custom > .aim26-prose { width: 100%; max-width: none; }
.page-content--custom :where(img, svg, video, iframe) { max-width: 100%; }

/* Standard editor pages only. Dedicated templates and HTML-only LPs do not receive these rules. */
.page-standard__inner {
  width: min(calc(100% - var(--page-standard-gutter) * 2), var(--page-standard-wide));
  min-width: 0;
  margin-inline: auto;
  padding-top: clamp(68px, 9vw, 120px);
}

.editorial-standard {
  /* Promotion child templates do not use .aim26-page-shell. Keep every token
     needed by Gutenberg content on the content scope itself. */
  --page-standard-text: #241c13;
  --page-standard-muted: #6f695f;
  --page-standard-line: #d9d4ca;
  --page-standard-soft: #f4f1ea;
  --page-standard-accent: var(--aim-page-accent, var(--aim26-promotion, #58624d));
  --page-standard-gutter: clamp(24px, 4vw, 60px);
  --page-standard-reading: 820px;
  --page-standard-wide: 1120px;
  width: min(100%, var(--page-standard-reading));
  max-width: var(--page-standard-reading);
  min-width: 0;
  margin-inline: auto;
  color: var(--page-standard-text);
}

.editorial-standard,
.editorial-standard * { box-sizing: border-box; }
.editorial-standard > * { max-width: 100%; min-width: 0; }
.editorial-standard :where(h1, h2, h3, h4, h5, h6, .wp-block-heading) {
  max-width: 100%;
  min-width: 0;
  white-space: normal;
  word-break: normal;
  line-break: strict;
  overflow-wrap: break-word;
  text-wrap: pretty;
}
@supports (word-break: auto-phrase) {
  .editorial-standard :where(h2, h3, h4, h5, h6, .wp-block-heading) { word-break: auto-phrase; }
}

/* Heading hierarchy: spacing, rules and an accent mark carry meaning as well as type size. */
.editorial-standard h2 {
  position: relative;
  margin: clamp(76px, 9vw, 112px) 0 36px;
  padding-top: 25px;
  border-top: 1px solid var(--page-standard-line);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 560;
  line-height: 1.5;
}
.editorial-standard h2::before {
  position: absolute;
  top: -1px;
  left: 0;
  width: 58px;
  height: 2px;
  background: var(--page-standard-accent);
  content: "";
}
.page-standard .editorial-standard h2 {
  margin-bottom: clamp(36px, 3.5vw, 44px);
}
@media (max-width: 768px) {
  .page-standard .editorial-standard h2 { margin-bottom: 32px; }
}
.page-standard .editorial-standard h3,
.editor-body.editorial-standard h3 {
  display: flex;
  gap: clamp(12px, 1.8vw, 18px);
  align-items: flex-start;
  min-width: 0;
  margin: 58px 0 20px;
  padding-left: 0;
  border-left: 0;
  font-size: clamp(22px, 2vw, 29px);
  font-weight: 560;
  line-height: 1.55;
}
.page-standard .editorial-standard h3::before,
.editor-body.editorial-standard h3::before {
  width: clamp(20px, 2.4vw, 28px);
  height: 1px;
  flex: 0 0 clamp(20px, 2.4vw, 28px);
  margin-top: .78em;
  background: var(--page-standard-accent);
  content: "";
}
.editorial-standard h4 {
  margin: 42px 0 16px;
  color: var(--page-standard-muted);
  font: 600 clamp(18px, 1.5vw, 21px)/1.6 var(--aim26-ja);
}
.editorial-standard p,
.editorial-standard .wp-block-paragraph { margin: 0 0 1.8em; line-height: 1.95; }
.editorial-standard :where(p, li, figcaption, td, th, a) { overflow-wrap: anywhere; }

/* Gutenberg paragraph used as the reusable English label directly below H2. */
.editorial-standard h2 + .aim-section-label { margin-top: -28px; }
.editorial-standard .aim-section-label {
  margin-bottom: clamp(26px, 3vw, 36px);
  color: var(--page-standard-accent);
  font: 600 11px/1.45 var(--aim26-en);
  letter-spacing: .17em;
  text-transform: uppercase;
  overflow-wrap: break-word;
}

/* Optional reusable editorial heading for Custom HTML blocks within a standard page. */
.editorial-standard .aim-section-heading { margin: clamp(76px, 9vw, 112px) 0 32px; }
.editorial-standard .aim-section-heading__label {
  margin: 0 0 12px;
  color: var(--page-standard-accent);
  font: 600 11px/1.4 var(--aim26-en);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.editorial-standard .aim-section-heading > :where(h2, h3) { margin: 0; }
.editorial-standard .aim-section-heading > h2 { padding-top: 25px; }
.editorial-standard .aim-section-heading__lead { max-width: 660px; margin: 18px 0 0; color: var(--page-standard-muted); }

/* Wide blocks retain editorial breathing room without changing the page shell. */
.editorial-standard :where(.alignwide, .wp-block-columns, .wp-block-media-text, .wp-block-cover, .wp-block-embed, .wp-block-video, .wp-block-file, .wp-block-latest-posts, .wp-block-social-links) {
  width: min(calc(100vw - var(--page-standard-gutter) * 2), var(--page-standard-wide));
  max-width: var(--page-standard-wide);
  min-width: 0;
  margin-right: auto;
  margin-left: 50%;
  transform: translateX(-50%);
}
.editorial-standard .alignfull {
  width: calc(100vw - var(--page-standard-gutter) * 2);
  max-width: 1280px;
  margin-left: 50%;
  transform: translateX(-50%);
}

/* AIM 2026 palette helpers mirror the registered Gutenberg color slugs. */
.editorial-standard .has-white-color { color: var(--aim26-white); }
.editorial-standard .has-off-white-color { color: var(--aim26-paper); }
.editorial-standard .has-light-gray-color { color: var(--aim26-light-gray); }
.editorial-standard .has-charcoal-color { color: var(--aim26-charcoal); }
.editorial-standard .has-black-color { color: var(--aim26-black); }
.editorial-standard .has-aim-brand-color { color: var(--aim26-brand); }
.editorial-standard .has-promotion-lab-color { color: var(--aim26-promotion); }
.editorial-standard .has-brew-lab-color { color: var(--aim26-brew); }
.editorial-standard .has-nature-lab-color { color: var(--aim26-nature); }
.editorial-standard .has-community-lab-color { color: var(--aim26-community); }
.editorial-standard .has-white-background-color { background-color: var(--aim26-white); }
.editorial-standard .has-off-white-background-color { background-color: var(--aim26-paper); }
.editorial-standard .has-light-gray-background-color { background-color: var(--aim26-light-gray); }
.editorial-standard .has-charcoal-background-color { background-color: var(--aim26-charcoal); }
.editorial-standard .has-black-background-color { background-color: var(--aim26-black); }
.editorial-standard .has-aim-brand-background-color { background-color: var(--aim26-brand); }
.editorial-standard .has-promotion-lab-background-color { background-color: var(--aim26-promotion); }
.editorial-standard .has-brew-lab-background-color { background-color: var(--aim26-brew); }
.editorial-standard .has-nature-lab-background-color { background-color: var(--aim26-nature); }
.editorial-standard .has-community-lab-background-color { background-color: var(--aim26-community); }

/*
 * Gutenberg section wrapper. Background color remains a standard Group color;
 * this class adds only the shared section rhythm and safe content measure.
 */
.editorial-standard .wp-block-group.aim-section {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-block: clamp(58px, 8vw, 96px);
  padding: clamp(54px, 7vw, 88px) clamp(24px, 4vw, 48px);
}
.editorial-standard .wp-block-group.aim-section.alignfull {
  width: 100vw;
  max-width: none;
  margin-right: 0;
  margin-left: 50%;
  padding-right: max(var(--page-standard-gutter), calc((100vw - var(--page-standard-reading)) / 2));
  padding-left: max(var(--page-standard-gutter), calc((100vw - var(--page-standard-reading)) / 2));
  transform: translateX(-50%);
}
.editorial-standard .aim-section > .wp-block-group__inner-container { width: 100%; min-width: 0; }
.editorial-standard .aim-section > :first-child:not(.wp-block-group__inner-container),
.editorial-standard .aim-section > .wp-block-group__inner-container > :first-child { margin-top: 0; }
.editorial-standard .aim-section > :last-child:not(.wp-block-group__inner-container),
.editorial-standard .aim-section > .wp-block-group__inner-container > :last-child { margin-bottom: 0; }

/* Dark palette backgrounds receive a safe default unless an editor chooses text color. */
.editorial-standard :is(.has-charcoal-background-color, .has-black-background-color, .has-aim-brand-background-color) {
  --page-standard-line: rgba(255, 255, 255, .24);
  --page-standard-muted: #f4f1ea;
}
.editorial-standard :is(.has-charcoal-background-color, .has-black-background-color, .has-aim-brand-background-color):not(.has-text-color) { color: #fff; }
.editorial-standard :is(.has-charcoal-background-color, .has-black-background-color, .has-aim-brand-background-color):not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, figcaption, .aim-section-label):not(.has-text-color) { color: inherit; }
.editorial-standard :is(.has-charcoal-background-color, .has-black-background-color, .has-aim-brand-background-color) .wp-block-button__link { border-color: currentColor; color: inherit; }
.editorial-standard :is(.has-charcoal-background-color, .has-black-background-color, .has-aim-brand-background-color) :where(.wp-block-buttons.aim-button--solid .wp-block-button, .wp-block-button.aim-button--solid) .wp-block-button__link { border-color: #fff; background: #fff; color: var(--aim26-ink); }
.editorial-standard :where(.wp-block-image, .wp-block-column, .wp-block-media-text__content, .wp-block-media-text__media, .wp-block-buttons, .wp-block-button, .wp-block-quote, .wp-block-list, .p-button) {
  min-width: 0;
  max-width: 100%;
}

/* Images and galleries. */
.editorial-standard .wp-block-image { margin: 40px 0; }
.editorial-standard :where(.wp-block-image img, .wp-block-gallery img, .wp-block-media-text img, .wp-block-cover img, .wp-block-video video) {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
.editorial-standard .wp-block-image img,
.editorial-standard .wp-block-gallery img,
.editorial-standard .wp-block-media-text img,
.editorial-standard .wp-block-cover img,
.editorial-standard .wp-block-video video { margin: 0; }
.editorial-standard .wp-block-image:not(.is-style-rounded) img,
.editorial-standard .wp-block-media-text__media img { border-radius: 0 0 clamp(28px, 4vw, 58px) 0; }
.editorial-standard figcaption {
  position: static;
  margin: 10px 0 0;
  color: var(--page-standard-muted);
  font-size: 12px;
  line-height: 1.65;
  text-align: left;
}
.editorial-standard .wp-block-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 48px;
  margin-bottom: 48px;
  padding: 0;
}
.editorial-standard .wp-block-gallery:not(.alignwide):not(.alignfull):not(.alignleft):not(.aligncenter):not(.alignright) {
  width: 100%;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  transform: none;
}
.editorial-standard .wp-block-gallery.alignfull { margin-right: auto; }
.editorial-standard .wp-block-gallery:is(.columns-3, .has-3-columns) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.editorial-standard .wp-block-gallery:has(> :first-child:nth-last-child(2)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.editorial-standard .wp-block-gallery :where(figure, .wp-block-image) { display: block; width: auto !important; max-width: 100%; min-width: 0; margin: 0 !important; }
.editorial-standard .wp-block-gallery img { object-fit: contain; border-radius: 0; }
.editorial-standard .wp-block-gallery figure:nth-child(3n + 1) img { border-radius: 0 0 28px 0; }
.editorial-standard .wp-block-gallery .blocks-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; width: 100%; margin: 0; padding: 0; list-style: none; }
.editorial-standard .wp-block-gallery.columns-3 .blocks-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.editorial-standard .wp-block-gallery .blocks-gallery-item { width: auto; min-width: 0; margin: 0; }

/* Three-image editorial composition: one lead image and two supporting images. */
.editorial-standard .aim-photo-triptych {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.6vw, 20px);
  width: min(calc(100vw - var(--page-standard-gutter) * 2), var(--page-standard-wide));
  max-width: var(--page-standard-wide);
  min-width: 0;
  aspect-ratio: 16 / 9;
  margin: clamp(48px, 7vw, 76px) 0 clamp(56px, 8vw, 92px) 50%;
  transform: translateX(-50%);
}
.editorial-standard .aim-photo-triptych > .wp-block-group__inner-container { display: contents; }
.editorial-standard .aim-photo-triptych > .wp-block-image,
.editorial-standard .aim-photo-triptych > .wp-block-group__inner-container > .wp-block-image {
  width: 100%;
  min-width: 0;
  height: 100%;
  margin: 0;
  overflow: hidden;
}
.editorial-standard .aim-photo-triptych > .wp-block-image:first-child,
.editorial-standard .aim-photo-triptych > .wp-block-group__inner-container > .wp-block-image:first-child { grid-row: 1 / span 2; }
.editorial-standard .aim-photo-triptych .wp-block-image img {
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
}
.editorial-standard .aim-photo-triptych > .wp-block-image:first-child img,
.editorial-standard .aim-photo-triptych > .wp-block-group__inner-container > .wp-block-image:first-child img {
  border-radius: 0 0 clamp(28px, 4vw, 58px) 0;
}

/* Columns and media/text compositions. */
.editorial-standard .wp-block-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 52px); margin-top: 54px; margin-bottom: 54px; }
.editorial-standard .wp-block-columns.has-3-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.editorial-standard .wp-block-column { min-width: 0; margin: 0; }
.editorial-standard .wp-block-column > :first-child { margin-top: 0; }
.editorial-standard .wp-block-media-text { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(32px, 5vw, 70px); align-items: center; margin-top: 58px; margin-bottom: 58px; }
.editorial-standard .wp-block-media-text.has-media-on-the-right { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
.editorial-standard .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { grid-column: 2; grid-row: 1; }
.editorial-standard .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content { grid-column: 1; grid-row: 1; }
.editorial-standard .wp-block-media-text__content { padding: 0; }
.editorial-standard .wp-block-media-text__content > :first-child { margin-top: 0; }
.editorial-standard .wp-block-cover { min-height: 360px; margin-top: 58px; margin-bottom: 58px; padding: clamp(28px, 5vw, 64px); overflow: hidden; border-radius: 0 0 clamp(34px, 5vw, 68px) 0; }
.editorial-standard .wp-block-cover__inner-container { width: min(100%, 720px); min-width: 0; }

/* Legacy Custom HTML button notation and Gutenberg buttons share one component. */
.editorial-standard :where(.wp-block-buttons, .p-button) { display: flex; flex-wrap: wrap; gap: 12px; margin: 34px 0; padding: 0; }
.editorial-standard .p-button > :where(a, button),
.editorial-standard .wp-block-button__link,
.editorial-standard .wp-block-file__button {
  display: inline-flex;
  gap: .75em;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  max-width: 100%;
  padding: 10px 23px;
  border: 1px solid var(--aim26-ink);
  border-radius: 999px;
  background: var(--aim26-ink);
  color: #fff;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity .2s ease, color .2s ease, background-color .2s ease, border-color .2s ease;
}
.editorial-standard .p-button > :where(a, button)::after,
.editorial-standard .wp-block-button__link::after { content: "→"; flex: 0 0 auto; font-family: var(--aim26-en); }
.editorial-standard :where(.p-button > a[target="_blank"], .wp-block-button__link[target="_blank"])::after { content: "↗"; }
.editorial-standard .is-style-outline > .wp-block-button__link,
.editorial-standard .wp-block-file__button { background: transparent; color: var(--aim26-ink); }

/*
 * Native Button block variants for standard lower pages.
 * Add the class to either the Buttons container or an individual Button block.
 */
.editorial-standard .wp-block-button__link {
  min-width: 0;
  border-color: var(--page-standard-accent);
  background: transparent;
  color: var(--page-standard-accent);
  font-weight: 600;
}
.editorial-standard :where(.wp-block-buttons.aim-button--small .wp-block-button, .wp-block-button.aim-button--small) .wp-block-button__link {
  min-height: 44px;
  padding: 8px 18px;
  font-size: 13px;
}
.editorial-standard :where(.wp-block-buttons.aim-button--solid .wp-block-button, .wp-block-button.aim-button--solid) .wp-block-button__link {
  border-color: var(--page-standard-accent);
  background: var(--page-standard-accent);
  color: #fff;
}

/* Lists, quotations and dividers. */
.editorial-standard .wp-block-quote { margin: 56px 0; padding: 18px 0 18px 30px; border: 0; border-left: 2px solid var(--page-standard-accent); color: var(--page-standard-text); font-size: 1.08em; }
.editorial-standard .wp-block-quote cite { display: block; margin-top: 14px; color: var(--page-standard-muted); font-size: 12px; font-style: normal; }
.editorial-standard ul,
.editorial-standard ol,
.editorial-standard .wp-block-list { margin: 0 0 1.8em; padding-left: 1.65em; }
.editorial-standard ul li,
.editorial-standard ol li,
.editorial-standard .wp-block-list li { margin: .58em 0; padding-left: .3em; line-height: 1.85; }
.editorial-standard ul li::marker { color: var(--page-standard-accent); }
.editorial-standard ol li::marker { color: var(--page-standard-accent); font: 600 .86em/1 var(--aim26-en); }
.editorial-standard :where(ul, ol, .wp-block-list) :where(ul, ol) { margin: .5em 0 0; }
.editorial-standard .wp-block-separator { width: 100%; margin: 72px 0; border: 0; border-top: 1px solid var(--page-standard-line); }
.editorial-standard .wp-block-spacer { max-height: clamp(24px, 7vw, 96px); }

/* Tables: only the table block scrolls on narrow screens. */
.editorial-standard .wp-block-table { display: block; margin-top: 46px; margin-bottom: 46px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.editorial-standard .wp-block-table { width: 100%; max-width: 100%; margin-right: auto; margin-left: auto; transform: none; }
.editorial-standard .wp-block-table.alignwide {
  width: min(calc(100vw - var(--page-standard-gutter) * 2), var(--page-standard-wide));
  max-width: var(--page-standard-wide);
  margin-left: 50%;
  transform: translateX(-50%);
}
.editorial-standard .wp-block-table.alignfull {
  width: calc(100vw - var(--page-standard-gutter) * 2);
  max-width: 1280px;
  margin-left: 50%;
  transform: translateX(-50%);
}
.editorial-standard :where(.wp-block-table table, table:not([class])) { width: 100%; border: 0; border-collapse: collapse; background: #fff; }
.editorial-standard .wp-block-table table { min-width: 560px; }
.editorial-standard .wp-block-table :where(th, td),
.editorial-standard table:not([class]) :where(th, td) { padding: 16px 14px; border: 0; border-bottom: 1px solid var(--page-standard-line); text-align: left; vertical-align: top; white-space: normal; }
.editorial-standard .wp-block-table th,
.editorial-standard table:not([class]) th { width: 27%; background: var(--page-standard-soft); font-weight: 600; }
.editorial-standard :where(.wp-block-table, table:not([class])) tbody tr:nth-child(even) td { background: color-mix(in srgb, var(--page-standard-soft) 40%, #fff); }

/* Reusable history timeline plus the existing company-profile markup. */
.editorial-standard .history-timeline {
  position: relative;
  margin: 54px 0;
  padding: 0;
}
.editorial-standard .history-timeline__item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(112px, 150px) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 52px);
  margin: 0;
  padding: 0 0 38px 30px;
}
.editorial-standard .history-timeline__item::before {
  position: absolute;
  top: .72em;
  bottom: -1px;
  left: 7px;
  width: 1px;
  background: var(--page-standard-line);
  content: "";
}
.editorial-standard .history-timeline__item::after {
  position: absolute;
  top: .58em;
  left: 3px;
  width: 9px;
  height: 9px;
  border: 2px solid var(--page-standard-accent);
  border-radius: 50%;
  background: #fff;
  content: "";
}
.editorial-standard .history-timeline__item:last-child::before { display: none; }
.editorial-standard .history-timeline dt {
  color: var(--page-standard-accent);
  font: 600 clamp(16px, 1.6vw, 20px)/1.45 var(--aim26-en);
  letter-spacing: .04em;
}
.editorial-standard .history-timeline dd { min-width: 0; margin: 0; line-height: 1.85; }

.editorial-standard .about-history {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 58px 0;
  padding: 0;
}
.editorial-standard .about-history::before {
  position: absolute;
  top: 9px;
  bottom: 0;
  left: 164px;
  width: 1px;
  background: var(--page-standard-line);
  content: "";
}
.editorial-standard .about-history__year {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 0 0 52px 198px;
}
.editorial-standard .about-history__year:last-child { padding-bottom: 0; }
.editorial-standard .about-history__year-num {
  position: absolute;
  top: -.2em;
  left: 0;
  width: 136px;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--page-standard-text);
  font: 400 clamp(34px, 4vw, 52px)/1 var(--aim26-en);
  letter-spacing: -.02em;
}
.editorial-standard .about-history__year-num::before {
  position: absolute;
  top: .42em;
  right: -35px;
  width: 11px;
  height: 11px;
  border: 2px solid var(--page-standard-accent);
  border-radius: 50%;
  background: #fff;
  content: "";
}
.editorial-standard .about-history__month { position: relative; min-width: 0; margin: 0 0 32px; }
.editorial-standard .about-history__month:last-child { margin-bottom: 0; }
.editorial-standard .about-history__month-num {
  position: relative;
  margin: 0 0 12px;
  padding: 0;
  color: var(--page-standard-accent);
  font: 600 13px/1.5 var(--aim26-en);
  letter-spacing: .08em;
}
.editorial-standard .about-history__month-num::before { display: none; }
.editorial-standard .about-history__item {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 16px 0 4px 24px;
  font-size: inherit;
}
.editorial-standard .about-history__item::before {
  position: absolute;
  top: 1.85em;
  left: -38px;
  width: 38px;
  height: 1px;
  background: var(--page-standard-line);
  content: "";
}
.editorial-standard .about-history__item::after { display: none; }
.editorial-standard .about-history__item dt { position: relative; margin: 0; font-size: clamp(17px, 1.5vw, 20px); font-weight: 600; line-height: 1.65; }
.editorial-standard .about-history__item dt::before { display: none; }
.editorial-standard .about-history__item dd { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; gap: 16px; margin: 8px 0 0; color: var(--page-standard-muted); line-height: 1.85; }
.editorial-standard .about-history__item dd .img { width: min(150px, 100%); margin: 0; }
.editorial-standard .about-history__item dd .txt { min-width: 0; flex: 1 1 280px; }

/* Utility blocks. */
.editorial-standard :where(.wp-block-embed, .wp-block-video) { margin-top: 46px; margin-bottom: 46px; }
.editorial-standard .wp-block-embed__wrapper { position: relative; max-width: 100%; overflow: hidden; }
.editorial-standard :where(iframe, video) { max-width: 100%; }
.editorial-standard .wp-block-file { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 34px 0; padding: 18px 0; border-top: 1px solid var(--page-standard-line); border-bottom: 1px solid var(--page-standard-line); }
.editorial-standard .wp-block-latest-posts { margin-top: 44px; margin-bottom: 44px; padding: 0; list-style: none; }
.editorial-standard .wp-block-latest-posts li { margin: 0; padding: 19px 0; border-bottom: 1px solid var(--page-standard-line); }
.editorial-standard .wp-block-latest-posts a { text-decoration-thickness: 1px; }
.editorial-standard .wp-block-social-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; margin-bottom: 34px; padding: 0; list-style: none; }
.editorial-standard .wp-block-social-links li { margin: 0; padding: 0; }
.editorial-standard .wp-block-social-links a { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--page-standard-line); border-radius: 50%; }
.editorial-standard .wp-block-details { margin: 0; border: 0; border-bottom: 1px solid var(--page-standard-line); background: transparent; }
.editorial-standard .wp-block-details summary {
  position: relative;
  display: flex;
  min-height: 64px;
  align-items: center;
  padding: 18px 48px 18px 0;
  font-weight: 600;
  line-height: 1.7;
  list-style: none;
  cursor: pointer;
}
.editorial-standard .wp-block-details summary::-webkit-details-marker { display: none; }
.editorial-standard .wp-block-details summary::marker { content: ""; }
.editorial-standard .wp-block-details summary::after {
  position: absolute;
  top: 50%;
  right: 4px;
  width: 28px;
  color: var(--page-standard-accent);
  font: 400 22px/1 var(--aim26-en);
  text-align: center;
  transform: translateY(-50%);
  content: "+";
}
.editorial-standard .wp-block-details[open] summary::after { content: "−"; }
.editorial-standard .wp-block-details > *:not(summary) { margin-right: clamp(28px, 5vw, 62px); margin-left: 0; }
.editorial-standard .wp-block-details > summary + * { margin-top: 0; }
.editorial-standard .wp-block-details > :last-child:not(summary) { margin-bottom: 24px; }

/*
 * Gutenberg vertical FLOW: one parent Group with alternating H3/Paragraph.
 * Numbers are generated so editors only maintain the step label and copy.
 */
.editorial-standard .aim-flow {
  position: relative;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  grid-auto-flow: row;
  column-gap: clamp(24px, 4vw, 46px);
  align-items: start;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: clamp(46px, 6vw, 72px) 0 clamp(64px, 8vw, 96px);
  text-align: left;
  counter-reset: aim-flow-step;
}
.editorial-standard .aim-flow > .wp-block-group__inner-container { display: contents; }
.editorial-standard .aim-flow::before {
  position: absolute;
  top: 45px;
  bottom: 38px;
  left: 35px;
  width: 1px;
  background: var(--page-standard-accent);
  opacity: .34;
  content: "";
}
.editorial-standard .aim-flow > :is(h3, .wp-block-heading),
.editorial-standard .aim-flow > .wp-block-group__inner-container > :is(h3, .wp-block-heading) {
  position: relative;
  z-index: 1;
  display: block;
  grid-column: 2 / -1;
  width: auto;
  max-width: 100%;
  min-width: 0;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  gap: 0;
  align-items: normal;
  transform: none;
  text-align: left;
  font: 650 clamp(21px, 2.1vw, 27px)/1.35 var(--aim26-en);
  letter-spacing: .08em;
  counter-increment: aim-flow-step;
}
.editorial-standard .aim-flow > :is(h3, .wp-block-heading)::before,
.editorial-standard .aim-flow > .wp-block-group__inner-container > :is(h3, .wp-block-heading)::before {
  position: absolute;
  top: -.12em;
  right: calc(100% + clamp(24px, 4vw, 46px));
  bottom: auto;
  left: auto;
  display: grid;
  width: 72px;
  max-width: none;
  height: auto;
  min-height: 44px;
  margin: 0;
  place-items: start center;
  padding-block: 3px;
  flex: none;
  background: #fff;
  color: var(--page-standard-accent);
  transform: none;
  font: 500 clamp(28px, 3vw, 36px)/1 var(--aim26-en);
  letter-spacing: .02em;
  content: counter(aim-flow-step, decimal-leading-zero);
}
.editorial-standard .aim-flow > :is(p, .wp-block-paragraph),
.editorial-standard .aim-flow > .wp-block-group__inner-container > :is(p, .wp-block-paragraph) {
  position: relative;
  z-index: 1;
  display: block;
  grid-column: 2 / -1;
  width: auto;
  max-width: 100%;
  min-width: 0;
  margin: 0 0 clamp(42px, 6vw, 64px);
  padding: 0;
  transform: none;
  text-align: left;
  font-size: 16px;
  line-height: 1.9;
}
.editorial-standard .aim-flow > :is(p, .wp-block-paragraph):last-child,
.editorial-standard .aim-flow > .wp-block-group__inner-container > :is(p, .wp-block-paragraph):last-child { margin-bottom: 0; }

/* Gutenberg service list: one parent Group and editable Image / H3 / Paragraph child groups. */
.editorial-standard .aim-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(34px, 6vw, 74px);
  width: min(calc(100vw - var(--page-standard-gutter) * 2), var(--page-standard-wide));
  max-width: var(--page-standard-wide);
  min-width: 0;
  margin: clamp(48px, 7vw, 76px) 0 clamp(66px, 8vw, 100px) 50%;
  transform: translateX(-50%);
}
.editorial-standard .aim-service-grid > .wp-block-group__inner-container { display: contents; }
.editorial-standard .aim-service-grid > .wp-block-group,
.editorial-standard .aim-service-grid > .wp-block-group__inner-container > .wp-block-group {
  display: grid;
  grid-template-columns: clamp(48px, 6vw, 64px) minmax(0, 1fr);
  column-gap: clamp(18px, 2.5vw, 30px);
  align-content: start;
  min-width: 0;
  padding: clamp(26px, 4vw, 42px) 0;
  border-top: 1px solid var(--page-standard-line);
}
.editorial-standard .aim-service-grid > .wp-block-group > .wp-block-group__inner-container,
.editorial-standard .aim-service-grid > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container { display: contents; }
.editorial-standard .aim-service-grid .wp-block-image {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 100%;
  margin: 0;
  color: var(--page-standard-accent);
}
.editorial-standard .aim-service-grid .wp-block-image img {
  display: block;
  width: 100%;
  max-width: 64px;
  height: auto;
  aspect-ratio: 1;
  border-radius: 0;
  object-fit: contain;
}
.editorial-standard .aim-service-grid h3 {
  display: block;
  grid-column: 2;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: none;
  min-width: 0;
  margin: 0 0 10px !important;
  font-size: clamp(18px, 1.8vw, 23px);
  line-height: 1.55;
  /* Override Gutenberg constrained-layout and stored alignment on existing headings. */
  text-align: left !important;
}
.editorial-standard .aim-service-grid h3::before { content: none; }
.editorial-standard .aim-service-grid :where(p, .wp-block-paragraph) {
  grid-column: 2;
  justify-self: stretch !important;
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  color: var(--page-standard-muted);
  font-size: 15px;
  line-height: 1.85;
  text-align: left;
}

/* Compact quantitative information using only editable Group / Paragraph blocks. */
.editorial-standard .aim-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
  gap: 0 clamp(28px, 5vw, 64px);
  width: min(calc(100vw - var(--page-standard-gutter) * 2), var(--page-standard-wide));
  max-width: var(--page-standard-wide);
  min-width: 0;
  margin: clamp(48px, 7vw, 76px) 0 clamp(64px, 8vw, 96px) 50%;
  transform: translateX(-50%);
}
.editorial-standard .aim-facts > .wp-block-group__inner-container { display: contents; }
.editorial-standard .aim-facts > .wp-block-group,
.editorial-standard .aim-facts > .wp-block-group__inner-container > .wp-block-group {
  min-width: 0;
  padding: clamp(22px, 3vw, 32px) 0;
  border-top: 1px solid var(--page-standard-line);
}
.editorial-standard .aim-facts > .wp-block-group > .wp-block-group__inner-container,
.editorial-standard .aim-facts > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container { display: contents; }
.editorial-standard .aim-facts :where(p, .wp-block-paragraph) { margin: 0; }
.editorial-standard .aim-facts :where(p, .wp-block-paragraph):first-child {
  color: var(--page-standard-accent);
  font: 550 clamp(27px, 3.4vw, 46px)/1.08 var(--aim26-en);
  letter-spacing: -.02em;
}
.editorial-standard .aim-facts :where(p, .wp-block-paragraph):last-child {
  margin-top: 10px;
  color: var(--page-standard-muted);
  font: 600 11px/1.5 var(--aim26-en);
  letter-spacing: .14em;
  text-transform: uppercase;
}

.editorial-standard :where(a, button, summary):focus-visible { outline: 3px solid #2f69d9; outline-offset: 4px; }

@media (hover: hover) and (pointer: fine) {
  .editorial-standard .p-button > :where(a, button):hover,
  .editorial-standard .wp-block-button__link:hover,
  .editorial-standard .wp-block-file__button:hover { background: transparent; color: var(--aim26-ink); opacity: 1; }
  .editorial-standard .wp-block-button__link:hover { border-color: var(--page-standard-accent); background: var(--page-standard-accent); color: #fff; }
  .editorial-standard :where(.wp-block-buttons.aim-button--solid .wp-block-button, .wp-block-button.aim-button--solid) .wp-block-button__link:hover { background: transparent; color: var(--page-standard-accent); }
  .editorial-standard :where(.wp-block-image a, .wp-block-gallery a, .wp-block-social-links a, .wp-block-latest-posts a):hover { opacity: .68; }
}

@media (max-width: 1024px) {
  .editorial-standard .wp-block-gallery:is(.columns-3, .has-3-columns),
  .editorial-standard .wp-block-columns.has-3-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .editorial-standard .aim-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
}

@media (max-width: 767px) {
  .aim26-page-shell { --page-standard-gutter: 20px; --page-hero-inset: 20px; --page-hero-right: 12px; --page-hero-radius: 32px; }
  .page-content--custom { width: calc(100% - 40px); }
  .page-standard__inner { width: calc(100% - 40px); padding-top: 64px; }
  .editorial-standard { width: 100%; max-width: 100%; font-size: 16px; line-height: 1.9; }
  .editorial-standard :where(.alignwide, .alignfull, .wp-block-columns, .wp-block-media-text, .wp-block-cover, .wp-block-embed, .wp-block-video, .wp-block-file, .wp-block-latest-posts, .wp-block-social-links) { width: calc(100vw - 40px); max-width: calc(100vw - 40px); }
  .editorial-standard .wp-block-table { width: 100%; max-width: 100%; }
  .editorial-standard .wp-block-table:is(.alignwide, .alignfull) { width: calc(100vw - 40px); max-width: calc(100vw - 40px); }
  .editorial-standard h2 { margin-top: 66px; padding-top: 21px; font-size: clamp(26px, 7.4vw, 34px); line-height: 1.55; }
  .page-standard .editorial-standard h3,
  .editor-body.editorial-standard h3 { margin-top: 48px; font-size: clamp(21px, 6vw, 27px); }
  .editorial-standard h2 + .aim-section-label { margin-top: -20px; }
  .editorial-standard .aim-section-label { margin-bottom: 28px; }
  .editorial-standard .wp-block-details summary { min-height: 60px; padding: 16px 42px 16px 0; }
  .editorial-standard .wp-block-details summary::after { right: 0; }
  .editorial-standard .wp-block-details > *:not(summary) { margin-right: 0; }
  .editorial-standard .aim-flow {
    grid-template-columns: 46px minmax(0, 1fr);
    column-gap: 18px;
    margin: 42px 0 64px;
  }
  .editorial-standard .aim-flow::before { top: 37px; bottom: 30px; left: 22px; }
  .editorial-standard .aim-flow > :is(h3, .wp-block-heading),
  .editorial-standard .aim-flow > .wp-block-group__inner-container > :is(h3, .wp-block-heading) { margin: 0 0 12px; font-size: clamp(19px, 5.6vw, 23px); }
  .editorial-standard .aim-flow > :is(h3, .wp-block-heading)::before,
  .editorial-standard .aim-flow > .wp-block-group__inner-container > :is(h3, .wp-block-heading)::before {
    right: calc(100% + 18px);
    width: 46px;
    min-height: 38px;
    font-size: 25px;
  }
  .editorial-standard .aim-flow > :is(p, .wp-block-paragraph),
  .editorial-standard .aim-flow > .wp-block-group__inner-container > :is(p, .wp-block-paragraph) { margin-top: 0; margin-bottom: 44px; }
  .editorial-standard .aim-service-grid {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 100%;
    margin: 42px 0 68px;
    transform: none;
  }
  .editorial-standard .aim-service-grid > .wp-block-group,
  .editorial-standard .aim-service-grid > .wp-block-group__inner-container > .wp-block-group {
    grid-template-columns: 48px minmax(0, 1fr);
    column-gap: 18px;
    padding: 26px 0;
  }
  .editorial-standard .aim-service-grid h3 { font-size: clamp(18px, 5.4vw, 22px); }
  .editorial-standard :where(p, .wp-block-paragraph, li) { font-size: max(16px, 1em); line-height: 1.9; }
  .editorial-standard .wp-block-gallery,
  .editorial-standard .wp-block-gallery:is(.columns-3, .has-3-columns),
  .editorial-standard .wp-block-gallery:has(> :first-child:nth-last-child(2)) { grid-template-columns: 1fr; gap: 14px; }
  .editorial-standard .wp-block-gallery :where(.blocks-gallery-grid),
  .editorial-standard .wp-block-gallery.columns-3 .blocks-gallery-grid { grid-template-columns: 1fr; gap: 14px; }
  .editorial-standard .aim-photo-triptych {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    aspect-ratio: auto;
    gap: 14px;
  }
  .editorial-standard .aim-photo-triptych > .wp-block-image,
  .editorial-standard .aim-photo-triptych > .wp-block-group__inner-container > .wp-block-image {
    height: auto;
    aspect-ratio: 4 / 3;
  }
  .editorial-standard .aim-photo-triptych > .wp-block-image:first-child,
  .editorial-standard .aim-photo-triptych > .wp-block-group__inner-container > .wp-block-image:first-child { grid-row: auto; }
  .editorial-standard .wp-block-columns,
  .editorial-standard .wp-block-columns.has-3-columns { grid-template-columns: 1fr; gap: 30px; }
  .editorial-standard .wp-block-media-text,
  .editorial-standard .wp-block-media-text.has-media-on-the-right { grid-template-columns: 1fr; gap: 26px; }
  .editorial-standard .wp-block-media-text :where(.wp-block-media-text__media, .wp-block-media-text__content),
  .editorial-standard .wp-block-media-text.has-media-on-the-right :where(.wp-block-media-text__media, .wp-block-media-text__content) { grid-column: 1; grid-row: auto; }
  .editorial-standard :where(.wp-block-buttons, .p-button) { display: grid; grid-template-columns: minmax(0, 1fr); }
  .editorial-standard .wp-block-button,
  .editorial-standard .wp-block-button__link,
  .editorial-standard .p-button > :where(a, button) { width: 100%; }
  .editorial-standard .wp-block-button__link { padding-right: 18px; padding-left: 18px; font-size: 14px; }
  .editorial-standard table:not([class]) { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .editorial-standard .history-timeline__item { grid-template-columns: 1fr; gap: 7px; padding: 0 0 34px 28px; }
  .editorial-standard .about-history { margin-block: 46px; padding-left: 0; }
  .editorial-standard .about-history::before { top: 7px; left: 6px; }
  .editorial-standard .about-history__year { padding: 0 0 46px 30px; }
  .editorial-standard .about-history__year-num { position: relative; top: auto; left: auto; width: auto; margin: 0 0 22px; font-size: 34px; }
  .editorial-standard .about-history__year-num::before { top: .36em; right: auto; left: -29px; width: 11px; height: 11px; }
  .editorial-standard .about-history__month { margin-bottom: 26px; }
  .editorial-standard .about-history__item { padding: 12px 0 2px 18px; }
  .editorial-standard .about-history__item::before { top: 1.65em; left: -24px; width: 24px; }
  .editorial-standard .about-history__item dd { display: block; }
  .editorial-standard .about-history__item dd .img { margin-bottom: 12px; }
}

@media (max-width: 420px) {
  .editorial-standard .aim-facts { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .editorial-standard .p-button > :where(a, button),
  .editorial-standard .wp-block-button__link,
  .editorial-standard .wp-block-file__button { transition: none; }
}

@media print {
  .page-standard__inner { width: 100%; padding-top: 20px; }
  .editorial-standard { width: 100%; max-width: none; color: #000; }
  .editorial-standard :where(.alignwide, .alignfull, .wp-block-gallery, .wp-block-columns, .wp-block-media-text, .wp-block-cover, .wp-block-table) { width: 100%; max-width: 100%; margin-left: 0; transform: none; }
  .editorial-standard .wp-block-table { overflow: visible; }
  .editorial-standard :where(h2, h3, h4, table, figure, .wp-block-media-text, .wp-block-columns) { break-inside: avoid; }
}
