/* Keep the first content band distinct from the cream hero.
   The nth-of-type specificity overrides the older legacy band cycle. */
main > .ch-band--legacy + section:nth-of-type(n),
main > .bp-hero + section,
main > .oxh + .services__area-seven{background:#fff}

/* Preserve the dark image-backed table-egg hero instead of allowing the
   shared cream hero background to erase its image and contrast. */
main.te .te-hero.te-hero--bleed{background:linear-gradient(90deg,rgba(14,16,75,.92),rgba(14,16,75,.6)),var(--te-bg) center/cover}
main.te .te-hero.te-hero--bleed :is(h1,.te-lead,.te-crumbs,.te-crumbs a),
main.te .te-hero.te-hero--bleed a:not(.btn){color:#fff}
/* Shared homepage visual treatment (Our Services, Why Choose, Feed). Tokens read from main.css :root. Loaded last. Content-scoped; nav/footer/tables untouched. */
main{--h-head:var(--tg-heading-font-family,'Outfit',sans-serif);--h-body:var(--tg-body-font-family,'Inter',sans-serif);--h-navy:var(--tg-heading-color,#14176C);--h-ink:var(--tg-body-color,#3E4073);--h-gold:var(--tg-theme-primary,#F7A400);--h-edge:#E9E9F0;--h-card-r:15px;--h-card-sh:0 10px 20px 0 rgba(0,0,0,.1);--h-card-sh-feed:0 8px 24px rgba(20,23,108,.06);--h-ease:.3s ease-out}
main :is(.ch-band,.te,.bp,.oxp--page,.ox-cert,.oxsh__text,.te-secs,.bp-section-band){font-family:var(--h-body);color:var(--h-ink)}
/* Headings: Outfit, heading navy, bold, 1.2 line-height */
main :is(.ch-hero h1,.te-hero h1,.bp-hero h1,.oxp__hero h1){font-family:var(--h-head);color:var(--h-navy);font-weight:700;line-height:1.2}
main :is(.te-sec h2,.te-block h2,.te-head h2,.bp-h2,.bp-acc-heading,.oxp__head h2,.oxp__species h2,.oxsh__text h2,.oxsh__quote h2,.ox-cert__head h2,.oxsh__contents h2,.bp-related h2,.bp-faqs h2,.bp-quote h2,.te-quote h2){font-family:var(--h-head);color:var(--h-navy);font-weight:700;line-height:1.2;font-size:clamp(28px,3.3vw,40px)}
main :is(.te-type__intro h3,.te-type__specs h3,.te-card h3,.oxp__body h3,.ox-cert__card h3,.bp-card h3,.bp-rel__card strong,.te-sec h3,.bp-sec h3){font-family:var(--h-head);color:var(--h-navy);font-weight:600;line-height:1.2;font-size:22px}
@media(max-width:1199px){main :is(.te-type__intro h3,.te-card h3,.oxp__body h3,.ox-cert__card h3){font-size:20px}}
/* Eyebrow = homepage .sub-title */
main :is(.ch-eyebrow,.te-eyebrow,.bp-eyebrow,.oxp__eyebrow,.ox-cert__eyebrow,.oxsh__eyebrow,.te-kicker,.bp-kicker,.ox-cert__head .eyebrow){font-family:var(--h-body);font-size:15px;font-weight:600;line-height:normal;letter-spacing:0;text-transform:uppercase;color:var(--h-gold);margin-bottom:12px}
/* Body */
main :is(.te-sec,.te-block,.te-card,.bp-sec,.oxp__body,.oxsh__textgrid,.ox-cert__card) p{font-family:var(--h-body);font-size:16px;line-height:1.6;color:var(--h-ink)}
main :is(.ch-lead,.te-lead,.bp-lead){font-size:17px;line-height:1.65}
/* Cards = Our Services item-five */
main :is(.oxp__card,.te-card,.bp-card,.bp-rel__card,.ox-cert__card,.te-typelist a,.te-guides a,.te-type__intro,.te-type__specs,.bp-faq,.te-faq,.oxsh__text .oxsh__textgrid){border:1px solid var(--h-edge);border-radius:var(--h-card-r);box-shadow:var(--h-card-sh);transition:transform var(--h-ease),box-shadow var(--h-ease),border-color var(--h-ease)}
main :is(.oxp__card,.te-card,.bp-card,.bp-rel__card,.te-typelist a,.te-guides a,.ox-cert__card){overflow:hidden}
main :is(.oxp__card,.te-card,.bp-card,.bp-rel__card,.te-typelist a,.te-guides a,.ox-cert__card):hover{transform:translateY(-5px)}
main .oxp__card.cm-rv.is-in:hover,main .oxp__card.cm-rv.is-in:focus-within{transform:translateY(-5px)}
main :is(.oxp__media,.bp-card__img,.te-card figure,.bp-rel__card){position:relative}
main :is(.oxp__media img,.bp-card__img img,.bp-rel__card img,.te-card img){aspect-ratio:16/10;width:100%;height:auto;object-fit:cover;border-radius:0}
/* Feed-style inner border colour for imagery cards */
main :is(.oxp__media,.bp-card__img img,.bp-rel__card img){border-bottom:4px solid var(--h-gold)}
/* Why Choose: gold icon on the same cream tile, with the established flip. */
main :is(.ox-cert__card>span:first-child,.te-section-icon){background:var(--tg-color-yellow-light,#FEF6E6);color:var(--h-gold);border-radius:10px;transition:transform var(--h-ease);box-shadow:none}
main .ox-cert__card:hover>span:first-child,main .te-sec:hover .te-section-icon{transform:rotateY(180deg)}
/* Section grounds: white / cream / navy tint, full width */
main{--g-white:#fff;--g-cream:#FEF6E6;--g-navy:#EEF1FB;--g-edge:#E9E9F0}
.ch-band,.te-hero--split,.te-hero--center{background:var(--g-cream)}
.ox-cert{background:var(--g-cream);border-top:1px solid var(--g-edge)}
.te-quote,main.bp .bp-quote{background:var(--g-navy)}
/* Primary buttons already inherit .btn; keep radius consistent */
main :is(.ch-actions,.te-actions,.bp-actions) .btn{border-radius:10px}
/* Apply the same treatment to the latest broiler sections and text panels. */
main :is(.oxbs h2,.te-type__intro h2,.bp-sec h2){font-family:var(--h-head);font-size:clamp(28px,3.3vw,40px);font-weight:700;line-height:1.2;color:var(--h-navy)}
main :is(.oxbs h3,.bp-quote h3){font-family:var(--h-head);font-size:24px;line-height:1.2;color:var(--h-navy)}
main :is(.oxbs p,.oxbs li,.te-type__intro p,.te-type__specs p,.bp-sec p){font-family:var(--h-body);font-size:16px;line-height:1.6;color:var(--h-ink)}
main :is(.oxbs .oxp__eyebrow,.bp-sub){font-family:var(--h-body);font-size:15px;font-weight:600;color:var(--h-gold);letter-spacing:0;line-height:normal;margin-bottom:12px}
main :is(.oxbs__grid article,.oxbs__faq details,.bp-panel,.bp-quote__box){border:1px solid var(--h-edge);border-radius:var(--h-card-r);box-shadow:var(--h-card-sh);transition:transform var(--h-ease),box-shadow var(--h-ease);background:#fff}
main :is(.oxbs__grid article,.ox-cert__card){padding:30px}
main :is(.oxp__body,.bp-card__txt){padding:30px}
main :is(.oxbs__grid,.oxp__grid,.bp-cards){gap:24px}
main .oxsh__textgrid{padding:32px}
main .oxbs__grid article>i{width:68px;height:68px;font-size:32px;color:var(--h-gold);background:var(--tg-color-yellow-light,#FEF6E6);border-radius:10px;transition:transform var(--h-ease)}
main .oxbs__fig img{border-radius:15px;box-shadow:var(--h-card-sh);border-bottom:0}
main :is(.oxbs--cream,.te-type-band.is-tint,.te-section-band.is-tint){background:var(--g-cream)}
main .oxbs--navy{background:var(--g-navy)}
main :is(.oxbs,.te-block,.te-type-band,.te-section-band,.bp-section-band){padding-top:80px;padding-bottom:80px}
@media(hover:hover){main .oxbs__grid article:hover{transform:translateY(-5px)}main .oxbs__grid article:hover>i{transform:rotateY(180deg)}}
@media(max-width:767px){main :is(.oxbs,.te-block,.te-type-band,.te-section-band,.bp-section-band){padding-top:48px;padding-bottom:48px}main :is(.oxp__body,.bp-card__txt,.oxsh__textgrid,.oxbs__grid article,.ox-cert__card){padding:24px}main :is(.oxbs h3,.bp-quote h3){font-size:22px}}
/* Focus */
main :is(a,button,summary,.te-scroll):focus-visible{outline:3px solid var(--h-navy);outline-offset:3px}
@media(max-width:767px){main :is(.oxp__card,.te-card,.bp-card,.ox-cert__card){box-shadow:var(--h-card-sh-feed)}main :is(.te-type__intro h3,.te-card h3){font-size:20px}}
@media(prefers-reduced-motion:reduce){main :is(.oxp__card,.te-card,.bp-card,.bp-rel__card,.te-typelist a,.te-guides a,.ox-cert__card,.te-section-icon,.ox-cert__card>span:first-child){transition:none}main :is(.oxp__card,.te-card,.bp-card,.bp-rel__card,.te-typelist a,.te-guides a,.ox-cert__card):hover,main .ox-cert__card:hover>span:first-child,main .te-sec:hover .te-section-icon{transform:none}}
@media(prefers-reduced-motion:reduce){main :is(.oxbs__grid article,.oxbs__grid article>i,.bp-panel,.bp-quote__box){transition:none;transform:none!important}}
