/* Open List refinement: useful information takes the shape of labels, strips and open-ended tabs. */
:root {
  --lime: #dbea9b;
  --apricot: #f3c7b9;
  --blue-tint: #c9dfea;
  --page: #f9faf7;
}

body { background: var(--page); }
.button { min-height: 53px; }
.button-dark:hover { background: var(--blue-dark); }

/* Homepage: the words and commercial introduction are the hero. */
.home-hero {
  background: var(--navy);
  color: #f7faf9;
  border-bottom: 1px solid #344a5b;
}
.home-hero .eyebrow,
.home-hero h1 > strong { color: #a9cde0; }
.home-hero a:focus-visible { outline-color: #a9cde0; }
.hero-frame { padding-top: 52px; padding-bottom: 41px; }
.hero-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.home-hero h1 {
  margin: 43px 0 25px;
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(69px, 8.65vw, 131px);
  line-height: .85;
  font-weight: 700;
  letter-spacing: -.085em;
}
.home-hero h1 > span,
.home-hero h1 > strong { display: block; white-space: nowrap; }
.home-hero h1 > strong {
  padding-left: 8.6%;
  margin-top: .055em;
  font-weight: 700;
}
.hero-period { color: #f3a18a; }
.hero-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .73fr);
  gap: clamp(35px, 9vw, 145px);
  align-items: end;
  margin-top: 22px;
}
.hero-intro p {
  max-width: 650px;
  font-size: clamp(17px, 1.6vw, 21px);
  line-height: 1.52;
  font-weight: 500;
  margin-bottom: 0;
  color: #e3edf0;
}
.hero-intro .button-dark { background: #eef4f4; color: var(--navy); }
.hero-intro .button-dark:hover { background: var(--lime); }
.hero-intro .inline-link { border-color: #b8cfdb; }
.hero-intro .inline-link span { color: #a9cde0; }
.hero-intro .inline-link:hover { color: #a9cde0; }
.hero-intro .hero-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 19px;
}
.hero-intro .button { width: 100%; }
.hero-intro .inline-link { align-self: flex-start; }
.hero-trade {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding-bottom: 18px;
}
.hero-trade > div {
  min-height: 87px;
  padding: 15px 34px 13px 20px;
  background: var(--blue-tint);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--navy);
}
.hero-trade > div:nth-child(2) { background: var(--lime); }
.hero-trade > div:nth-child(3) { background: var(--apricot); }
.hero-trade small {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
}
.hero-trade strong {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(17px, 1.7vw, 24px);
  letter-spacing: -.045em;
  line-height: 1.1;
}

.home-business { padding-top: 76px; padding-bottom: 74px; }
.section-heading {
  display: grid;
  grid-template-columns: 1fr .7fr;
  gap: 5vw;
  align-items: start;
}
.section-heading h2,
.first-note h2,
.criteria-intro h2,
.guide-heading h2 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(40px, 4.1vw, 61px);
  line-height: 1.03;
  letter-spacing: -.067em;
  font-weight: 650;
  margin: 0;
}
.section-heading h2 em,
.criteria-intro h2 em { font-style: normal; color: var(--blue-dark); }
.section-heading p { color: #3d4f58; font-size: 16px; margin: 5px 0 0; }
.business-lines {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 54px 0 20px;
  border-top: 1px solid var(--navy);
  border-bottom: 1px solid var(--navy);
}
.business-lines > div { min-height: 200px; padding: 22px 28px 20px 0; }
.business-lines > div + div { border-left: 1px solid var(--line); padding-left: 28px; }
.business-lines h3 {
  font-family: 'DM Sans', Arial, sans-serif;
  font-weight: 800;
  font-size: clamp(29px, 3vw, 43px);
  line-height: 1;
  letter-spacing: -.06em;
  margin: 4px 0 15px;
}
.business-lines p { max-width: 330px; font-size: 14px; color: #485861; margin: 0; }
.home-business > .text-link { margin-left: auto; }

.partners-preview { padding: 68px 0 72px; background: #e9f1eb; }
.partners-preview-inner { grid-template-columns: .8fr 1.2fr; gap: 6vw; }
.partners-copy h2 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(60px, 6.7vw, 102px);
  font-weight: 700;
  line-height: .88;
  letter-spacing: -.082em;
  margin: 28px 0 25px;
}
.partners-copy h2 em { font-style: normal; color: var(--blue-dark); }
.partners-copy p { font-size: 17px; line-height: 1.55; }
.partners-copy .text-link { margin-top: 28px; }
.partner-stack { background: #dcebf0; padding: 25px 26px 29px; }
.stack-caption { margin-bottom: 20px; }
.stack-card { min-height: 61px; margin: 6px 0; }
.stack-two { background: var(--lime); }
.stack-four { background: #b9d7e7; }
.stack-five { background: var(--apricot); }

.first-note {
  display: grid;
  grid-template-columns: 1.1fr auto;
  gap: 5vw;
  align-items: center;
  padding-top: 59px;
  padding-bottom: 64px;
}
.first-note h2 { font-size: clamp(36px, 3.6vw, 53px); }
.first-note p { max-width: 550px; color: #495b62; font-size: 15px; margin: 13px 0 0; }
.first-note .button { min-width: 190px; }

/* Supporting pages: compact editorial layouts with the same trade-index language. */
.page-hero { padding-top: 49px; }
.page-hero-grid { grid-template-columns: 1.22fr .58fr; gap: 7vw; padding: 41px 0 45px; }
.page-hero h1 { font-size: clamp(58px, 6.2vw, 94px); line-height: .98; }
.page-hero-grid p { font-size: 18px; line-height: 1.55; }

.business-activity { background: #e8f0f2; padding: 68px 0 76px; }
.activity-rows { margin-top: 30px; border-top: 1px solid var(--navy); }
.activity-rows article {
  display: grid;
  grid-template-columns: 58px 1fr .85fr;
  gap: 27px;
  align-items: center;
  padding: 22px 0;
  border-bottom: 1px solid #adc1c9;
}
.activity-number {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  background: var(--blue-tint);
  font-size: 11px;
  font-weight: 800;
}
.activity-rows article:nth-child(2) .activity-number { background: var(--lime); }
.activity-rows article:nth-child(3) .activity-number { background: var(--apricot); }
.activity-rows h2 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(30px, 3.1vw, 45px);
  font-weight: 650;
  letter-spacing: -.06em;
  margin: 0;
}
.activity-rows p { color: #3c4f58; font-size: 15px; margin: 0; max-width: 470px; }
.business-criteria { padding-top: 70px; padding-bottom: 75px; }
.criteria-intro { display: grid; grid-template-columns: 1fr .7fr; gap: 8vw; margin: 0 0 38px; }
.criteria-intro p { max-width: 400px; color: #45565e; font-size: 17px; margin: 4px 0; }
.criteria-list { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--navy); }
.criteria-list > div { padding: 20px 28px 8px 0; }
.criteria-list > div + div { border-left: 1px solid var(--line); padding-left: 28px; }
.criteria-list span, .guide-points span { color: var(--blue-dark); font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.criteria-list p { font-size: 15px; color: #45565e; margin: 22px 0 0; }
.simple-cta > .wrap { padding-block: 52px; }
.simple-cta h2 { font-size: clamp(39px, 3.5vw, 54px); margin-top: 17px; }

.partnership-main { background: #e9f1ed; padding: 69px 0 73px; }
.partnership-grid { grid-template-columns: .72fr 1.28fr; gap: 5vw; }
.partnership-aside h2 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(42px, 4.4vw, 65px);
  letter-spacing: -.07em;
  line-height: 1.02;
  margin: 0 0 18px;
}
.partnership-aside p { max-width: 370px; font-size: 15px; color: #41545a; }
.partner-list { border: 0; padding-top: 4px; }
.partner-list > div {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) minmax(170px, .68fr);
  gap: 12px;
  align-items: center;
  width: 94%;
  min-height: 79px;
  padding: 13px 38px 13px 20px;
  margin: 0 0 8px;
  background: white;
  border: 0;
  clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%);
}
.partner-list > div:nth-child(2) { background: var(--lime); width: 88%; margin-left: 10%; }
.partner-list > div:nth-child(3) { background: var(--navy); color: white; width: 98%; margin-left: 1%; }
.partner-list > div:nth-child(4) { background: var(--blue-tint); width: 91%; margin-left: 8%; }
.partner-list > div:nth-child(5) { background: var(--apricot); width: 91%; margin-left: 4%; }
.partner-list strong { font-family: 'DM Sans', Arial, sans-serif; font-weight: 800; letter-spacing: -.055em; font-size: clamp(22px, 2.2vw, 31px); }
.partner-list p, .partner-list > div:nth-child(3) p { color: inherit; opacity: .78; line-height: 1.3; }
.partner-list > div > span { color: inherit; }
.enquiry-guide { padding-top: 72px; padding-bottom: 72px; }
.guide-heading { display: grid; grid-template-columns: 1fr .68fr; align-items: end; gap: 8vw; margin: 0 0 39px; }
.guide-heading p { color: #45555e; font-size: 17px; margin: 0; }
.guide-points { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--navy); border-bottom: 1px solid var(--navy); }
.guide-points > div { min-height: 145px; padding: 21px 25px 15px 0; }
.guide-points > div + div { border-left: 1px solid var(--line); padding-left: 25px; }
.guide-points p { font-size: 15px; color: #46555d; margin: 25px 0 0; }
.guide-foot { display: flex; justify-content: space-between; gap: 40px; align-items: center; margin-top: 20px; }
.guide-foot p { font-size: 13px; color: #65737b; max-width: 510px; margin: 0; }

.contact-section { padding-block: 67px 74px; }
.contact-grid { gap: 7vw; }
.contact-grid h2 { font-size: clamp(43px, 4vw, 61px); margin: 0 0 18px; }
.contact-card { min-height: 340px; padding: 36px clamp(28px, 4vw, 58px); border-top: 5px solid var(--coral); }
.contact-card h2 { margin: 44px 0 20px; font-size: clamp(36px, 3.3vw, 50px); }
.contact-card p { font-size: 16px; }
.pending-note { margin-top: 41px; }
.contact-pending > .button { width: 100%; margin-top: 22px; }
.page-legal .legal-hero { padding-top: 55px; padding-bottom: 48px; }
.page-legal .legal-hero h1 { font-size: clamp(50px, 5.3vw, 75px); margin-top: 33px; }
.page-legal .legal-content { padding-bottom: 78px; }
.page-legal .legal-content section { padding-block: 22px; }

@media (max-width: 1100px) {
  .home-hero h1 { font-size: clamp(69px, 8.65vw, 95px); }
  .section-heading { grid-template-columns: 1fr 1fr; gap: 20px 40px; }
  .partners-preview-inner { gap: 35px; }
  .partner-list > div { grid-template-columns: 30px 1fr; }
  .partner-list p { grid-column: 2; }
}
@media (max-width: 900px) {
  .page-hero-grid { grid-template-columns: 1fr; }
  .hero-intro { grid-template-columns: 1fr; gap: 28px; }
  .hero-intro .hero-actions { flex-direction: row; align-items: center; }
  .hero-intro .button { width: auto; }
  .partners-preview-inner { grid-template-columns: 1fr; }
  .partners-copy { max-width: 700px; }
  .partners-copy h2 { font-size: clamp(65px, 11vw, 90px); }
  .activity-rows article { grid-template-columns: 48px 1fr; gap: 12px 18px; }
  .activity-rows p { grid-column: 2; }
  .partnership-grid { grid-template-columns: 1fr; }
  .partnership-aside h2 br { display: none; }
  .partner-list { max-width: 720px; width: 100%; }
  .partner-list > div { grid-template-columns: 40px 1fr minmax(170px, .7fr); }
  .partner-list p { grid-column: auto; }
}
@media (max-width: 650px) {
  .hero-frame { padding-top: 39px; padding-bottom: 32px; }
  .home-hero h1 { font-size: clamp(46px, 12.1vw, 75px); line-height: .89; margin: 57px 0 32px; letter-spacing: -.083em; }
  .home-hero h1 > strong { padding-left: 0; margin-top: .11em; }
  .hero-intro { margin-top: 0; gap: 25px; }
  .hero-intro p { font-size: 15px; }
  .hero-intro .hero-actions { flex-direction: column; align-items: stretch; gap: 17px; }
  .hero-intro .button { width: 100%; }
  .hero-trade { grid-template-columns: 1fr; gap: 4px; padding-bottom: 15px; }
  .hero-trade > div { min-height: 64px; padding: 11px 32px 10px 14px; flex-direction: row; align-items: center; gap: 14px; }
  .hero-trade small { max-width: 120px; font-size: 10px; line-height: 1.3; }
  .hero-trade strong { text-align: right; font-size: 17px; }
  .home-business { padding-top: 62px; padding-bottom: 58px; }
  .section-heading { grid-template-columns: 1fr; gap: 18px; }
  .section-heading h2 { font-size: 42px; }
  .section-heading p { font-size: 15px; margin: 0; }
  .business-lines { grid-template-columns: 1fr; margin-top: 33px; }
  .business-lines > div, .business-lines > div + div { min-height: 0; padding: 16px 0 18px; border-left: 0; }
  .business-lines > div + div { border-top: 1px solid var(--line); }
  .business-lines h3 { margin: 0 0 8px; font-size: 31px; }
  .business-lines p { font-size: 14px; }
  .partners-preview { padding: 62px 0 67px; }
  .partners-copy h2 { font-size: clamp(61px, 14vw, 79px); margin-top: 27px; }
  .partners-copy p { font-size: 15px; }
  .partner-stack { padding: 19px 16px 24px; }
  .first-note { grid-template-columns: 1fr; gap: 23px; padding-block: 54px 60px; }
  .first-note h2 { font-size: 43px; }
  .first-note p { margin-top: 15px; }
  .first-note .button { justify-self: stretch; }
  .page-hero { padding-top: 43px; }
  .page-hero-grid { padding: 35px 0 45px; gap: 22px; }
  .page-hero h1 { font-size: clamp(47px, 11.5vw, 72px); }
  .page-hero-grid p { font-size: 15px; }
  .business-activity, .partnership-main { padding-block: 58px 63px; }
  .activity-rows { margin-top: 26px; }
  .activity-rows article { padding: 19px 0; }
  .activity-rows h2 { font-size: 29px; }
  .activity-rows p { font-size: 14px; }
  .business-criteria { padding-block: 61px 67px; }
  .criteria-intro, .guide-heading { grid-template-columns: 1fr; gap: 18px; margin-block: 27px; }
  .criteria-intro h2, .guide-heading h2 { font-size: 43px; }
  .criteria-intro p, .guide-heading p { font-size: 15px; }
  .criteria-list, .guide-points { grid-template-columns: 1fr; }
  .criteria-list > div, .criteria-list > div + div, .guide-points > div, .guide-points > div + div { min-height: 0; border-left: 0; border-bottom: 1px solid var(--line); padding: 17px 0; }
  .criteria-list p, .guide-points p { margin: 8px 0 0; }
  .partnership-aside h2 { font-size: 43px; margin: 25px 0 13px; }
  .partner-list > div { grid-template-columns: 28px minmax(0, 1fr); gap: 4px 9px; min-height: 72px; padding: 13px 31px 13px 13px; }
  .partner-list strong { font-size: clamp(19px, 5.6vw, 25px); }
  .partner-list p { grid-column: 2; font-size: 12px; }
  .enquiry-guide { padding-block: 60px 68px; }
  .guide-foot { flex-direction: column; align-items: stretch; gap: 20px; }
  .contact-section { padding-block: 58px 68px; }
  .contact-card { min-height: 0; padding: 30px 26px 36px; }
  .contact-card h2 { margin: 40px 0 16px; font-size: 38px; }
  .page-legal .legal-hero { padding-top: 44px; }
  .page-legal .legal-hero h1 { font-size: 54px; }
}
@media (max-width: 390px) {
  .home-hero h1 { font-size: 11.5vw; }
  .hero-trade strong { font-size: 15px; }
  .partner-list > div:nth-child(2) { width: 93%; margin-left: 5%; }
  .partner-list > div:nth-child(4) { width: 95%; margin-left: 4%; }
}
@media (max-width: 350px) {
  .contact-card h2 { font-size: 32px; }
}
