.core-page { background: var(--paper); }
.core-page h1, .core-page h2, .core-page h3 { margin: 0; font-family: var(--font-editorial); font-weight: var(--editorial-weight); letter-spacing: var(--editorial-tracking); line-height: var(--editorial-leading); text-wrap: balance; }
.core-page .kicker { margin: 0 0 1rem; color: var(--gold); font-size: .75rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.core-hero, .core-contact { position: relative; min-height: clamp(42rem, 78svh, 56rem); display: grid; align-items: end; overflow: hidden; color: #fff; background: var(--forest); }
.core-hero > figure, .core-contact > figure { position: absolute; inset: 0; margin: 0; }
.core-hero img, .core-contact img { width: 100%; height: 100%; object-fit: cover; }
.core-hero figure > div, .core-contact figure > div { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,27,29,.78), rgba(7,27,29,.28) 58%, rgba(7,27,29,.08)), linear-gradient(0deg, rgba(7,27,29,.4), transparent 55%); }
.core-hero > div, .core-contact > div { position: relative; z-index: 2; width: min(var(--content-max), calc(100% - 2 * var(--page-x))); margin: 0 auto; padding: calc(var(--header-h) + 5rem) 0 clamp(4.5rem, 8vw, 7rem); }
.core-hero h1 { max-width: 11ch; font-size: clamp(4.25rem, 7.3vw, 7.75rem); line-height: 1; }
.core-hero > div > p:not(.kicker) { max-width: 38rem; margin: 1.5rem 0 0; color: rgba(255,255,255,.9); font-size: clamp(1.08rem,1.25vw,1.25rem); }
.core-button { min-height: 3.25rem; display: inline-flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 2rem; padding: .9rem 1.4rem; border: 1px solid rgba(255,255,255,.65); color: #fff; font-size: .76rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.core-button.is-light { border-color: #fff; color: var(--ink); background: #fff; }
.core-breadcrumb { width: min(var(--content-max), calc(100% - 2 * var(--page-x))); display: flex; gap: .7rem; margin: 0 auto; padding: 1rem 0; color: var(--muted); font-size: .78rem; }
.core-intro, .core-process, .core-split, .enquiry-layout { width: min(var(--content-max), calc(100% - 2 * var(--page-x))); margin: 0 auto; padding-block: var(--section-space); }
.core-intro { display: grid; grid-template-columns: minmax(18rem,.8fr) minmax(0,1.2fr); gap: clamp(3rem,8vw,9rem); }
.core-intro h2, .core-process h2, .core-split h2, .enquiry-layout h2 { font-size: clamp(3.2rem,5vw,5.7rem); line-height: 1.04; }
.core-intro > div:last-child { max-width: 48rem; }
.core-lead { margin-top: 0; color: var(--ink); font: 400 clamp(1.55rem,2.2vw,2.25rem)/1.25 var(--serif); }
.core-process { border-top: 1px solid var(--line); }
.core-process header { max-width: 50rem; }
.core-process > div { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 3.5rem; border-block: 1px solid var(--line); }
.core-process article { padding: 2.5rem; border-right: 1px solid var(--line); }
.core-process article:last-child { border-right: 0; }
.core-process article span { color: var(--gold); font-size: .76rem; letter-spacing: .18em; }
.core-process h3 { margin-top: 1.4rem; font-size: clamp(2.1rem,3vw,3.2rem); }
.core-trust { width: min(var(--content-max), calc(100% - 2 * var(--page-x))); margin: 0 auto; padding-block: var(--section-space); border-top: 1px solid var(--line); }
.core-trust > header { display: grid; grid-template-columns: minmax(18rem,.8fr) minmax(0,1.2fr); gap: clamp(2rem,7vw,8rem); align-items: end; margin-bottom: 3rem; }
.core-trust > header .kicker { grid-column: 1 / -1; margin-bottom: -1rem; }
.core-trust > header h2 { max-width: 14ch; font-size: clamp(3rem,4.7vw,5.2rem); }
.core-trust > header > p:last-child { max-width: 42rem; margin: 0; color: var(--muted); }
.core-trust-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid var(--line); }
.core-trust-grid article { min-height: 18rem; padding: 2.4rem; border-right: 1px solid var(--line); }
.core-trust-grid article:last-child { border-right: 0; }
.core-trust-grid article > span { color: var(--gold); font-size: .7rem; letter-spacing: .16em; }
.core-trust-grid h3 { margin: 1.4rem 0 .8rem; font-size: clamp(1.9rem,2.4vw,2.8rem); }
.core-trust-grid p { color: var(--muted); font-size: .9rem; line-height: 1.7; }
.core-trust-grid a { display: inline-block; margin-top: .5rem; padding-bottom: .3rem; border-bottom: 1px solid; font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.core-trust-grid-memberships { grid-template-columns: repeat(2,minmax(0,1fr)); }
.core-trust-grid-memberships article:nth-child(2n) { border-right: 0; }
.core-trust-grid-memberships article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
.core-trust-clia > img { display: block; width: min(12rem,100%); height: auto; margin: 1.4rem 0 1.1rem; }
.core-trust-clia h3 { margin-top: 0; }
.core-trust-values { padding-top: 1rem; }
.core-split { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(3rem,7vw,7rem); align-items: center; }
.core-split figure { margin: 0; aspect-ratio: 1; overflow: hidden; }
.core-split img { width: 100%; height: 100%; object-fit: cover; }
.core-text-link { display: inline-flex; gap: 1rem; margin-top: 1.2rem; padding-bottom: .4rem; border-bottom: 1px solid currentColor; font-size: .78rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.core-contact { min-height: 38rem; }
.core-contact > div { padding-block: 6rem; }
.core-contact h2 { max-width: 15ch; font-size: clamp(3.4rem,5.6vw,6.2rem); line-height: 1.03; }
.core-contact p:not(.kicker) { max-width: 42rem; }
.core-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.core-actions .core-button { margin-top: 1.5rem; }
.core-hero-compact { min-height: clamp(34rem,62svh,44rem); }
.not-found-finder { width: min(var(--content-max), calc(100% - 2 * var(--page-x))); display: grid; grid-template-columns: minmax(18rem,.85fr) minmax(24rem,1.15fr); gap: clamp(3rem,8vw,8rem); align-items: end; margin: 0 auto; padding-block: var(--section-space); }
.not-found-finder h2 { max-width: 13ch; font-size: clamp(3rem,5vw,5.5rem); line-height: 1.04; }
.not-found-finder > div > p:last-child { max-width: 38rem; color: var(--muted); }
.not-found-finder form label { display: block; margin-bottom: .65rem; font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.not-found-finder form > div { display: grid; grid-template-columns: 1fr auto; border-bottom: 1px solid var(--ink); }
.not-found-finder input { min-width: 0; min-height: 3.5rem; padding: .75rem 0; border: 0; color: var(--ink); background: transparent; font: inherit; }
.not-found-finder button { min-height: 3.5rem; padding: .75rem 1.5rem; border: 0; color: #fff; background: var(--forest); font: 600 .75rem/1 var(--sans); letter-spacing: .13em; text-transform: uppercase; }
.site-find-note { min-height: 1.5rem; margin: .65rem 0 0; color: var(--muted); font-size: .9rem; }
.enquiry-layout { display: grid; grid-template-columns: minmax(18rem,.72fr) minmax(30rem,1.28fr); gap: clamp(3rem,7vw,7rem); align-items: start; }
.enquiry-intro { position: sticky; top: calc(var(--header-h) + 2rem); }
.enquiry-intro > p:not(.kicker) { max-width: 36rem; color: var(--muted); }
.enquiry-channels { display: grid; gap: .75rem; margin-top: 2rem; }
.enquiry-channels a { display: grid; padding: 1.1rem 1.2rem; border: 1px solid var(--line); background: #fff; }
.enquiry-channels span, .enquiry-channels small { color: var(--muted); font-size: .75rem; }
.enquiry-channels strong { font: 400 1.55rem/1.2 var(--serif); }
.enquiry-embed { min-width: 0; padding: .7rem; border: 1px solid var(--line); background: #fff; box-shadow: 0 1.2rem 4rem rgba(10,32,34,.07); }
.enquiry-embed iframe { display: block; min-height: 800px; background: #fff; }
.enquiry-embed > p { margin: .7rem .7rem .2rem; color: var(--muted); font-size: .78rem; }
@media (max-width: 820px) { .core-intro, .core-split, .enquiry-layout, .not-found-finder, .core-trust > header { grid-template-columns: 1fr; } .core-trust > header .kicker { grid-column: auto; margin-bottom: 0; } .core-process > div, .core-trust-grid { grid-template-columns: 1fr; } .core-process article, .core-trust-grid article, .core-trust-grid-memberships article:nth-child(2n) { border-right: 0; border-bottom: 1px solid var(--line); } .core-process article:last-child, .core-trust-grid article:last-child { border-bottom: 0; } .enquiry-intro { position: static; } }
@media (max-width: 560px) { .core-hero h1 { font-size: clamp(3.5rem,17vw,5.6rem); } .core-hero > div, .core-contact > div { width: calc(100% - 2rem); } .core-intro, .core-process, .core-split, .core-trust, .enquiry-layout, .core-breadcrumb, .not-found-finder { width: calc(100% - 2rem); } .core-intro, .core-process, .core-split, .core-trust, .enquiry-layout, .not-found-finder { padding-block: 4.75rem; } .core-actions { flex-direction: column; } .core-actions .core-button { width: 100%; margin-top: .5rem; } .enquiry-embed { margin-inline: -.5rem; } .not-found-finder form > div { grid-template-columns: 1fr; border: 0; } .not-found-finder input { border-bottom: 1px solid var(--ink); } }
