.forentia-premium-gate,
.forentia-premium-page {
  box-sizing: border-box;
  max-width: 48rem;
  margin: 2.75rem auto 0;
  padding: clamp(1.5rem, 4vw, 2.75rem);
  border: 1px solid rgba(200, 171, 116, .58);
  border-radius: 1.1rem;
  background: linear-gradient(135deg, #0b1220, #172740);
  color: #f8f5ed;
  box-shadow: 0 1.2rem 3.2rem rgba(11, 18, 32, .15);
}

.forentia-premium-page {
  margin-top: 1.5rem;
}

.forentia-organisation-access {
  box-sizing: border-box;
  max-width: 74rem;
  margin: clamp(2.5rem, 6vw, 5rem) auto 0;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid rgba(16, 26, 44, .15);
  border-radius: 1rem;
  background: #fff;
  color: #172033;
}

.forentia-organisation-access__intro {
  max-width: 43rem;
}

.forentia-organisation-access h2,
.forentia-organisation-access h3 {
  color: #101a2c;
}

.forentia-organisation-access h2 {
  margin: 0;
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  line-height: 1.15;
}

.forentia-organisation-access__intro > p:last-child {
  margin: .85rem 0 0;
  color: #536174;
  line-height: 1.6;
}

.forentia-organisation-access__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2rem;
}

.forentia-organisation-access__card {
  display: flex;
  flex-direction: column;
  min-height: 18rem;
  padding: 1.35rem;
  border: 1px solid rgba(16, 26, 44, .14);
  background: #f8f8f7;
}

.forentia-organisation-access__card h3 {
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.3;
}

.forentia-organisation-access__card p {
  margin: .7rem 0 1rem;
  color: #536174;
  line-height: 1.55;
}

.forentia-organisation-access__card ul {
  margin: auto 0 0;
  padding: 0;
  list-style: none;
}

.forentia-organisation-access__card li {
  position: relative;
  margin-top: .65rem;
  padding-left: 1rem;
  color: #26344b;
  font-size: .92rem;
  line-height: 1.45;
}

.forentia-organisation-access__card li::before {
  position: absolute;
  left: 0;
  color: #b18b45;
  content: '•';
}

.forentia-organisation-access__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-top: 1.5rem;
  padding-top: 1.35rem;
  border-top: 1px solid rgba(16, 26, 44, .12);
}

.forentia-organisation-access__footer p {
  margin: 0;
  color: #536174;
  line-height: 1.5;
}

.forentia-organisation-access__button {
  display: inline-block;
  box-sizing: border-box;
  border: 1px solid #172740;
  border-radius: .15rem;
  padding: .8rem 1.05rem;
  background: #172740;
  color: #fff !important;
  font-weight: 700;
  text-decoration: none !important;
}

.forentia-organisation-access__button:hover,
.forentia-organisation-access__button:focus {
  border-color: #b18b45;
  background: #b18b45;
  color: #101a2c !important;
}

.forentia-premium-gate__kicker {
  margin: 0 0 .8rem;
  color: #d9bd87;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.forentia-premium-gate h1,
.forentia-premium-gate h2,
.forentia-premium-page h1,
.forentia-premium-page h2 {
  margin: 0 0 .9rem;
  color: #fff;
  line-height: 1.15;
}

.forentia-premium-gate p,
.forentia-premium-page p {
  color: rgba(248, 245, 237, .86);
  line-height: 1.6;
}

.forentia-premium-form {
  display: inline-block;
  margin: .7rem .75rem .25rem 0;
}

.forentia-premium-registration__form {
  max-width: 30rem;
  margin: 1.25rem 0;
}

.forentia-premium-registration__form label {
  display: block;
  margin-bottom: .35rem;
  color: #fff;
  font-weight: 700;
}

.forentia-premium-registration__password-help {
  display: block;
  margin-top: .5rem;
  color: rgba(248, 245, 237, .78);
  font-size: .875rem;
  line-height: 1.45;
}

.forentia-premium-registration__verification-note {
  margin: .25rem 0 1.15rem;
  color: rgba(248, 245, 237, .86);
}

.forentia-premium-registration__code {
  letter-spacing: .22em;
  font-variant-numeric: tabular-nums;
}

.forentia-premium-registration__form input:not([type="hidden"]) {
  box-sizing: border-box;
  width: 100%;
  min-height: 2.8rem;
  padding: .65rem .75rem;
  border: 1px solid rgba(248, 245, 237, .58);
  border-radius: .15rem;
  background: rgba(255, 255, 255, .96);
  color: #101a2c;
  font: inherit;
}

.forentia-premium-registration__form input:focus {
  outline: 2px solid #d9bd87;
  outline-offset: 2px;
}

.forentia-premium-registration__honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.forentia-premium-registration__consent {
  margin-top: 1.15rem;
}

.forentia-premium-registration__consent label {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  color: rgba(248, 245, 237, .9);
  font-size: .925rem;
  font-weight: 400;
  line-height: 1.5;
}

.forentia-premium-consent-copy {
  display: block;
  min-width: 0;
  white-space: nowrap;
}

.forentia-premium-registration__consent input[type="checkbox"] {
  width: auto;
  min-width: 1rem;
  min-height: 1rem;
  margin: .25rem 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  accent-color: #d9bd87;
}

.forentia-premium-registration__consent a,
.forentia-premium-legal-copy a,
.forentia-premium-checkout-consent a {
  color: #fff !important;
  font-weight: 700;
  text-decoration: underline;
}

.forentia-premium-legal-copy {
  font-size: .925rem;
}

.forentia-premium-checkout-consent {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  max-width: 32rem;
  margin: .75rem 0;
  color: rgba(248, 245, 237, .9);
  font-size: .875rem;
  line-height: 1.45;
}

.forentia-premium-checkout-consent input[type="checkbox"] {
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  margin: .2rem 0 0;
  accent-color: #d9bd87;
}

.forentia-premium-registration__forgot-link {
  display: block;
  width: fit-content;
  margin-top: .35rem;
}

.forentia-legal-page {
  box-sizing: border-box;
  max-width: 52rem;
  margin: 2.5rem auto;
  padding: clamp(1.5rem, 4vw, 2.75rem);
  border: 1px solid rgba(200, 171, 116, .38);
  border-radius: 1.1rem;
  background: #fff;
  color: #172033;
}

.forentia-legal-page h1,
.forentia-legal-page h2 {
  color: #101a2c;
}

.forentia-legal-page h1 {
  margin-top: 0;
}

.forentia-legal-page h2 {
  margin-top: 2rem;
  font-size: 1.25rem;
}

.forentia-legal-page p,
.forentia-legal-page li {
  color: #344156;
  line-height: 1.65;
}

.forentia-legal-page a,
.forentia-enquiry-privacy a {
  color: #172740;
  font-weight: 700;
  text-decoration: underline;
}

.forentia-enquiry-privacy {
  margin-top: 1rem;
  font-size: .9rem;
  line-height: 1.55;
}

.forentia-legal-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .6rem 1.2rem;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 1rem 1.25rem;
  background: #0b1220;
  color: rgba(248, 245, 237, .75);
  font-size: .78rem;
  line-height: 1.4;
}

.forentia-legal-footer a {
  color: #f8f5ed !important;
  text-decoration: none;
}

.forentia-legal-footer a:hover,
.forentia-legal-footer a:focus {
  color: #d9bd87 !important;
  text-decoration: underline;
}

/* Country cards on the Markets page use the same routes as the library. */
.forentia-market-card__country-link {
  color: inherit !important;
  text-decoration: none !important;
}

.forentia-market-card__country-link:hover,
.forentia-market-card__country-link:focus {
  color: #d9bd87 !important;
  text-decoration: underline !important;
}

.forentia-intelligence-library__country-context {
  grid-column: 1 / -1;
  margin: 0;
  color: #46546b;
  font-size: .9rem;
  line-height: 1.5;
}

.forentia-intelligence-library__country-context a {
  color: #172740 !important;
  font-weight: 700;
}

.forentia-intelligence-library__filters.is-country-view {
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
}

.forentia-market-card__topics {
  color: inherit;
}

.forentia-premium-gate__button,
.forentia-premium-gate__secondary-button {
  display: inline-block;
  box-sizing: border-box;
  border: 1px solid #d9bd87;
  border-radius: .15rem;
  padding: .8rem 1.05rem;
  background: #d9bd87;
  color: #101a2c !important;
  font: inherit;
  font-weight: 700;
  text-decoration: none !important;
  cursor: pointer;
}

.forentia-premium-gate__button:hover,
.forentia-premium-gate__button:focus,
.forentia-premium-gate__secondary-button:hover,
.forentia-premium-gate__secondary-button:focus {
  border-color: #fff;
  background: #fff;
  color: #101a2c !important;
}

.forentia-premium-gate__secondary,
.forentia-premium-gate__note,
.forentia-premium-status {
  display: inline-block;
  margin-top: .75rem;
  color: #f8f5ed !important;
}

.forentia-premium-gate__secondary {
  font-weight: 700;
}

.forentia-premium-registration__account-links a {
  color: #d9bd87 !important;
  font-weight: 700;
  text-decoration: underline !important;
  text-decoration-color: rgba(217, 189, 135, .7) !important;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}

.forentia-premium-registration__account-links a:hover,
.forentia-premium-registration__account-links a:focus {
  color: #fff !important;
  text-decoration-color: #fff !important;
}

.forentia-premium-gate__note {
  padding: .7rem .85rem;
  border-left: 3px solid #d9bd87;
  background: rgba(255, 255, 255, .07);
}

.forentia-premium-status {
  padding: .7rem .85rem;
  border-left: 3px solid #74d8ca;
  background: rgba(116, 216, 202, .09);
}

.forentia-premium-preview > :last-child {
  margin-bottom: 0;
}

.forentia-report-context {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  margin: 0 0 1rem;
  color: #7e5d20;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .09em;
  line-height: 1.45;
  text-transform: uppercase;
}

.forentia-report-context a {
  color: inherit !important;
  text-decoration: none !important;
}

.forentia-report-context a:hover,
.forentia-report-context a:focus {
  text-decoration: underline !important;
}

.forentia-report-context__separator {
  color: #a48b57;
}

.forentia-report-context__topic {
  color: #536174;
}

.forentia-premium-gate .forentia-report-context {
  color: #d9bd87;
}

.forentia-premium-gate .forentia-report-context__separator,
.forentia-premium-gate .forentia-report-context__topic {
  color: rgba(248, 245, 237, .78);
}

.forentia-intelligence-library {
  box-sizing: border-box;
  max-width: 74rem;
  margin: clamp(3rem, 8vw, 6rem) auto 0;
  padding: clamp(1.4rem, 3vw, 2.4rem);
  border: 1px solid rgba(16, 26, 44, .12);
  border-radius: 1rem;
  background: #fff;
  color: #172033;
}

.forentia-intelligence-library__heading {
  max-width: 43rem;
}

.forentia-intelligence-library__kicker {
  margin: 0 0 .65rem;
  color: #b18b45;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.forentia-intelligence-library h1,
.forentia-intelligence-library h2 {
  margin: 0;
  color: #101a2c;
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  line-height: 1.15;
}

.forentia-intelligence-library__heading > p:last-child {
  margin: .85rem 0 0;
  color: #536174;
  line-height: 1.6;
}

.forentia-intelligence-library__filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: .9rem;
  align-items: end;
  margin: 1.75rem 0 2rem;
  padding: 1.15rem;
  border: 1px solid rgba(16, 26, 44, .1);
  background: #f5f6f8;
}

.forentia-intelligence-library__filters label {
  display: block;
  color: #25334a;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.forentia-intelligence-library__filters label span {
  display: block;
  margin-bottom: .45rem;
}

.forentia-intelligence-library__filters select {
  box-sizing: border-box;
  width: 100%;
  min-height: 2.75rem;
  padding: .55rem .65rem;
  border: 1px solid rgba(16, 26, 44, .28);
  border-radius: .15rem;
  background: #fff;
  color: #172033;
  font: inherit;
  text-transform: none;
}

.forentia-intelligence-library__actions {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-height: 2.75rem;
}

.forentia-intelligence-library__actions button {
  min-height: 2.75rem;
  padding: .6rem .9rem;
  border: 1px solid #172740;
  border-radius: .15rem;
  background: #172740;
  color: #fff;
  font: inherit;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}

.forentia-intelligence-library__actions button:hover,
.forentia-intelligence-library__actions button:focus {
  border-color: #b18b45;
  background: #b18b45;
  color: #101a2c;
}

.forentia-intelligence-library__actions a {
  color: #172740;
  font-size: .875rem;
  font-weight: 700;
  white-space: nowrap;
}

.forentia-intelligence-library__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.forentia-intelligence-library__report {
  display: flex;
  flex-direction: column;
  min-height: 15rem;
  padding: 1.25rem;
  border: 1px solid rgba(16, 26, 44, .13);
  background: #fff;
}

.forentia-intelligence-library__meta {
  min-height: 1.2rem;
  margin: 0 0 .7rem;
  color: #b18b45;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.45;
  text-transform: uppercase;
}

.forentia-intelligence-library__report h3 {
  margin: 0;
  color: #101a2c;
  font-size: 1.18rem;
  line-height: 1.32;
}

.forentia-intelligence-library__report h3 a {
  color: inherit;
  text-decoration: none;
}

.forentia-intelligence-library__report h3 a:hover,
.forentia-intelligence-library__report h3 a:focus {
  color: #7e5d20;
  text-decoration: underline;
}

.forentia-intelligence-library__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-top: auto;
  padding-top: 1.25rem;
  color: #687487;
  font-size: .79rem;
}

.forentia-intelligence-library__access {
  padding: .25rem .45rem;
  border-radius: 10rem;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.forentia-intelligence-library__access.is-free {
  background: #e8f2ef;
  color: #28584d;
}

.forentia-intelligence-library__access.is-premium {
  background: #f2eadb;
  color: #76551a;
}

.forentia-intelligence-library__link {
  display: inline-block;
  margin-top: 1rem;
  color: #172740;
  font-size: .87rem;
  font-weight: 700;
  text-decoration: none;
}

.forentia-intelligence-library__link:hover,
.forentia-intelligence-library__link:focus {
  color: #7e5d20;
  text-decoration: underline;
}

.forentia-intelligence-library__empty {
  margin: 0;
  padding: 1.25rem;
  border-left: 3px solid #b18b45;
  background: #f5f6f8;
  color: #42516a;
}

.forentia-intelligence-library__pagination {
  margin-top: 2rem;
}

.forentia-intelligence-library__pagination .page-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.forentia-intelligence-library__pagination a,
.forentia-intelligence-library__pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.2rem;
  min-height: 2.2rem;
  border: 1px solid rgba(16, 26, 44, .2);
  color: #172740;
  font-weight: 700;
  text-decoration: none;
}

.forentia-intelligence-library__pagination .current {
  border-color: #172740;
  background: #172740;
  color: #fff;
}

.wp-block-navigation .forentia-premium-header-subscribe {
  display: inline-block;
  box-sizing: border-box;
  border: 1px solid currentColor;
  border-radius: .15rem;
  padding: .48em .78em;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
}

.wp-block-navigation .forentia-premium-header-subscribe:hover,
.wp-block-navigation .forentia-premium-header-subscribe:focus {
  border-color: #d9bd87;
  background: #d9bd87;
  color: #101a2c !important;
}

.forentia-premium-mobile-header-subscribe {
  display: none;
}

/* The theme retains its original Subscribe button in the header. Once a
   visitor is signed in, the plugin supplies the single My account control
   instead, so do not show both actions. */
body.logged-in .ia-header-inner > .wp-block-buttons,
body.logged-in .ia-header-inner > .wp-block-button {
  display: none !important;
}

@media (max-width: 600px) {
  /* Keep the brand, Subscribe call-to-action and menu trigger on one clear row. */
  .ia-header-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    align-items: center !important;
    column-gap: .45rem;
  }

  .ia-header-inner > .ia-brand {
    grid-column: 1;
    min-width: 0;
    overflow: hidden;
    color: inherit;
    font-size: clamp(.68rem, 3vw, .8rem) !important;
    letter-spacing: .12em !important;
    line-height: 1.2;
    text-overflow: clip;
    white-space: nowrap;
  }

  .forentia-premium-gate,
  .forentia-premium-page {
    margin-top: 2rem;
    border-radius: .75rem;
  }

  .forentia-premium-form {
    display: block;
    margin-right: 0;
  }

  /* Keep both home-page calls to action compact and visible together. */
  .ia-hero .wp-block-buttons {
    align-items: stretch !important;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: .45rem;
    /* Keep both calls to action within the first mobile view without changing
       their size or the hero's desktop composition. */
    margin-top: .65rem !important;
  }

  .ia-hero .wp-block-button {
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
  }

  .ia-hero .wp-block-button__link {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 2.55rem;
    padding: .62rem .35rem !important;
    font-size: clamp(.61rem, 2.55vw, .72rem) !important;
    letter-spacing: .035em;
    line-height: 1.18;
    text-align: center;
    white-space: normal;
  }

  .forentia-organisation-access {
    margin-top: 2.5rem;
    padding: 1.15rem;
    border-radius: .7rem;
  }

  .forentia-organisation-access__grid {
    grid-template-columns: 1fr;
  }

  .forentia-organisation-access__card {
    min-height: 0;
  }

  .forentia-organisation-access__button {
    width: 100%;
    text-align: center;
  }

  .forentia-premium-gate__button,
  .forentia-premium-gate__secondary-button {
    width: 100%;
    text-align: center;
  }

  .forentia-intelligence-library {
    margin-top: 2.5rem;
    padding: 1.1rem;
    border-radius: .7rem;
  }

  .forentia-intelligence-library__filters,
  .forentia-intelligence-library__grid {
    grid-template-columns: 1fr;
  }

  .forentia-intelligence-library__filters {
    gap: .85rem;
    padding: 1rem;
  }

  .forentia-intelligence-library__actions {
    justify-content: space-between;
  }

  .ia-header-inner > .forentia-premium-mobile-header-subscribe {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    grid-column: 2;
    grid-row: 1;
    flex-shrink: 0;
    min-height: 2.4rem;
    margin-left: 0;
    padding: .55rem .6rem;
    border: 1px solid #d9bd87;
    border-radius: .15rem;
    color: #fff !important;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1;
    text-decoration: none !important;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .ia-header-inner > .wp-block-navigation {
    grid-column: 3;
    grid-row: 1;
    flex-shrink: 0;
    margin-left: 0;
  }

  /* The theme's desktop right-alignment must not carry over into its menu drawer. */
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
  .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__responsive-container-content {
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__container {
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
  .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation-item {
    width: 100%;
  }

  .wp-block-navigation__responsive-container-content .forentia-premium-header-subscribe-item {
    display: none;
  }
}

@media (max-width: 360px) {
  .ia-hero .wp-block-buttons {
    flex-direction: column;
    gap: .55rem;
  }

  .ia-hero .wp-block-button__link {
    padding-right: .55rem !important;
    padding-left: .55rem !important;
  }
}

/* On narrower desktop and laptop screens, keep both hero calls to action fully visible.
   They can move to a second line instead of overflowing or being clipped. */
@media (min-width: 601px) and (max-width: 1600px) {
  /* Keep the full home-page hero inside the viewport on laptop-sized screens. */
  .ia-hero {
    min-height: 0 !important;
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }

  .ia-hero > .wp-block-group.alignwide,
  .ia-hero .wp-block-group.alignwide {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .ia-hero .wp-block-columns,
  .ia-hero .wp-block-column {
    min-width: 0;
  }

  .ia-hero h1,
  .ia-hero p {
    overflow-wrap: anywhere;
  }

  .ia-hero .wp-block-buttons {
    flex-wrap: wrap;
    row-gap: .7rem;
  }

  .ia-hero .wp-block-button {
    min-width: min(100%, 14rem);
  }

  .ia-hero .wp-block-button__link {
    box-sizing: border-box;
    max-width: 100%;
    text-align: center;
    white-space: normal;
  }
}

/* A standard laptop is often wide enough to trigger desktop styles but not
   tall enough for the original oversized hero. Keep its complete first view
   (including the two calls to action) on screen. */
@media (min-width: 601px) and (max-height: 950px) {
  .ia-hero {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  .ia-hero h1 {
    font-size: clamp(3.45rem, 5.7vw, 4.5rem) !important;
    line-height: .98 !important;
  }

  .ia-hero .wp-block-buttons {
    margin-top: 1.5rem !important;
  }
}

/* Use the available desktop width for a two-line hero title. This preserves
   the intended first-screen composition, including both calls to action. */
@media (min-width: 901px) {
  .ia-hero h1 {
    max-width: 16ch !important;
  }
}

/* A deliberate inner gutter keeps editorial text clear of the edges of its
   dark panels. It applies to the header, the hero and the principal page
   sections, without changing the overall grid or the content width. */
.ia-header-inner {
  box-sizing: border-box;
  padding-right: clamp(.75rem, 1.35vw, 1.25rem);
  padding-left: clamp(.75rem, 1.35vw, 1.25rem);
}

.ia-hero {
  padding-right: clamp(1.35rem, 2.65vw, 2.5rem) !important;
  padding-left: clamp(1.35rem, 2.65vw, 2.5rem) !important;
}

.ia-hero > .wp-block-group.alignwide,
.ia-hero .wp-block-group.alignwide,
.site-shell > .wp-block-group.alignfull:not(.ia-hero) > .wp-block-group.alignwide,
.ia-footer > .wp-block-columns.alignwide {
  box-sizing: border-box;
}

.site-shell > .wp-block-group.alignfull:not(.ia-hero) > .wp-block-group.alignwide,
.ia-footer > .wp-block-columns.alignwide {
  padding-right: clamp(.75rem, 1.35vw, 1.25rem);
  padding-left: clamp(.75rem, 1.35vw, 1.25rem);
}

@media (max-width: 600px) {
  .ia-header-inner {
    padding-right: .6rem;
    padding-left: .6rem;
  }

  .ia-hero {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }

  .site-shell > .wp-block-group.alignfull:not(.ia-hero) > .wp-block-group.alignwide,
  .ia-footer > .wp-block-columns.alignwide {
    padding-right: .6rem;
    padding-left: .6rem;
  }
}

/* Page-editor groups on Markets, Real Estate and Who We Are are full-width
   panels with no horizontal padding of their own. Give each a consistent
   text-safe inset, while leaving the panels, columns and cards in place. */
.site-shell .wp-block-post-content > .wp-block-group.alignfull {
  box-sizing: border-box;
  padding-right: clamp(1.35rem, 2.65vw, 2.5rem) !important;
  padding-left: clamp(1.35rem, 2.65vw, 2.5rem) !important;
}

/* The Media page is a custom section rather than a normal block panel. */
.fi-media-showcase {
  box-sizing: border-box;
  padding-right: clamp(.85rem, 1.35vw, 1.25rem);
  padding-left: clamp(.85rem, 1.35vw, 1.25rem);
}

@media (max-width: 600px) {
  .site-shell .wp-block-post-content > .wp-block-group.alignfull {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }

  .fi-media-showcase {
    padding-right: .75rem;
    padding-left: .75rem;
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .forentia-intelligence-library__filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .forentia-intelligence-library__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .forentia-organisation-access__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Real Estate Advisory: contact cards need breathing space so names and email
   addresses stay completely visible at every viewport width. */
body.page-id-24 .wp-block-group.ia-card:has(a[href^="mailto:"]) {
  min-width: 0;
  padding: 1.35rem !important;
  overflow: visible;
}

body.page-id-24 .wp-block-group.ia-card:has(a[href^="mailto:"]) h3,
body.page-id-24 .wp-block-group.ia-card:has(a[href^="mailto:"]) strong,
body.page-id-24 .wp-block-group.ia-card:has(a[href^="mailto:"]) a {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

.forentia-property-enquiry__notice {
  margin: 0 0 1rem;
  padding: .9rem 1rem;
  border-radius: .45rem;
  font-weight: 600;
}

.forentia-property-enquiry__notice--success {
  border: 1px solid rgba(42, 122, 77, .35);
  background: rgba(42, 122, 77, .09);
  color: #1d6038;
}

.forentia-property-enquiry__notice--error {
  border: 1px solid rgba(164, 56, 56, .35);
  background: rgba(164, 56, 56, .08);
  color: #842e2e;
}

@media (max-width: 600px) {
  body.page-id-24 .wp-block-group.ia-card:has(a[href^="mailto:"]) {
    padding: 1.1rem !important;
  }
}
