/* Editorial interior system: shares the homepage's navy, cobalt and generous type. */
.app-interior-page { --anx-ink:var(--app-ink); --anx-blue:var(--app-blue); }
.app-interior-page .anx-shell { width:min(100% - 80px,1340px); max-width:1340px; padding-inline:0; }
.app-interior-page .anx-hero--solo > .anx-shell { position:relative; }
.app-interior-page .anx-hero--solo > .anx-shell > div:last-of-type { max-width:56%; }
.app-interior-page .anx-hero--solo > .anx-shell > .app-topic-visual--hero { position:absolute; right:0; top:70px; width:39%; }
/* Insight articles have no inner copy wrapper, so cap the copy column to the
   same 56% the other solo heroes use. Without this, long headings and leads
   run underneath the absolutely positioned hero image at tablet and small
   desktop widths. */
@media (min-width:701px) {
  .app-interior-page[data-page-kind="article"] .anx-hero--solo > .anx-shell > :is(.anx-eyebrow,.anx-hero__title,.anx-hero__lead,.anx-meta-row) { max-width:56%; }
}
.app-interior-page .app-interior-hero { background:#07182f; color:#fff; padding-block:30px 64px !important; }
.app-interior-hero .anx-hero__mesh,.app-interior-hero .anx-hero__grid { display:none; }
.app-interior-hero .anx-crumbs { margin-bottom:40px; }
.app-interior-hero .anx-crumbs a,.app-interior-hero .anx-crumbs span { color:#c3d4ed; }
.app-interior-hero .anx-hero__inner { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:56px; align-items:center; }
.app-interior-hero .anx-hero__title { color:#fff; font-size:clamp(36px,3.8vw,62px); line-height:1.05; letter-spacing:-.05em; max-width:23ch; }
.app-interior-hero .anx-hero__title em { color:#91b8ff; }
.app-interior-hero .anx-eyebrow { color:#a3c3ff; font-size:11px; letter-spacing:.15em; }
.app-interior-hero .anx-hero__lead { color:#d0dcef; font-size:17px; line-height:1.7; max-width:65ch; }
.app-interior-hero .anx-hero__meta { color:#d0dcef; }
.app-interior-hero .anx-btn--secondary { background:transparent; border-color:#7293c0; color:#fff; }
.app-interior-hero .anx-btn--secondary:hover { background:#18375d; }
.app-interior-hero .anx-hero__price { color:#d0dcef; background:#123055; border-color:#45658e; box-shadow:none; }
.app-interior-hero .anx-hero__price strong { color:#fff; }
.app-interior-media { margin:0; min-width:0; }
.app-interior-media img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:16px; display:block; }
.app-interior-media figcaption { margin-top:12px; color:#b4c8e6; font-size:11px; line-height:1.5; }
.app-topic-visual { margin:0; min-width:0; }
.app-topic-visual img { display:block; width:100%; height:auto; border-radius:16px; background:#07182f; }
.app-topic-visual figcaption { margin-top:9px; color:#586d87; font-size:12px; line-height:1.45; }
.app-topic-visual--hero figcaption { color:#c7d9f2; }
.app-topic-visual--hero img { aspect-ratio:16/9; object-fit:cover; box-shadow:0 18px 50px #0003; }
.app-interior-hero[data-page-kind="enquiry"] .anx-hero__inner > div:first-child > .app-topic-visual--hero { width:min(100%,560px); margin-top:24px; }
.app-topic-visual--workflow img,.app-topic-visual--outcome img { aspect-ratio:4/3; object-fit:cover; }
.app-interior-page .anx-split__media { align-self:stretch; min-width:0; }
.app-interior-page .anx-split--reverse .anx-split__media { order:0; }
.app-ai-section-visual { position:sticky; top:112px; margin:0; width:100%; }
.app-ai-section-visual img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:20px; background:#edf4fd; box-shadow:0 20px 48px #143b6924; }
.app-ai-section-visual figcaption { margin-top:10px; font-size:12px; line-height:1.5; color:#536984; }
.app-interior-page .anx-section-head.app-illustrated-head { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); align-items:center; gap:clamp(28px,4.5vw,72px); width:100%; max-width:none; min-height:0; padding-right:0; }
.app-illustrated-head__copy { min-width:0; }
.app-illustrated-head > .app-topic-visual { position:static; width:100%; max-width:600px; justify-self:end; }
.app-visual-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding:48px max(40px,calc((100% - 1340px)/2)); background:#edf4fd; }
.app-visual-pair--single { grid-template-columns:minmax(0,min(100%,800px)); justify-content:center; }
.app-visual-pair img { max-height:300px; object-fit:cover; }
.app-interior-page .anx-longform__body > .app-topic-visual { max-width:680px; margin:28px 0 40px; }
.app-quick-enquiry { width:min(100%,680px); margin:26px 0 22px; padding:16px; border:1px solid #6684aa; border-radius:14px; background:#102d51; }
.app-quick-enquiry > p { margin:0 0 10px; color:#d9e8ff; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.app-quick-enquiry fieldset { border:0; margin:0; padding:0; display:grid; grid-template-columns:1fr 1.2fr auto; gap:9px; }
.app-quick-enquiry fieldset:disabled { display:none; }
.app-quick-enquiry label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.app-quick-enquiry input { min-width:0; width:100%; min-height:48px; padding:9px 12px; border:1px solid #9fb7d5; border-radius:9px; background:#fff; color:#102440; font:inherit; font-size:13px; }
.app-quick-enquiry button { min-height:48px; padding:10px 14px; border:0; border-radius:9px; background:#2563eb; color:#fff; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.app-quick-enquiry a { min-height:44px; align-items:center; color:#d5e7ff; font-size:12px; font-weight:700; }
.app-quick-fallback { display:inline-flex; }
.app-quick-fallback[hidden] { display:none; }
.app-quick-calendar { display:inline-flex; margin-left:12px; }
.app-quick-enquiry :focus-visible { outline:3px solid #f2a74d; outline-offset:2px; }
.app-concept { margin-top:28px; border-top:1px solid #456080; padding-top:8px; }
.app-concept summary { cursor:pointer; min-height:44px; padding-block:13px; font-size:13px; color:#d4e4ff; }
.app-concept-diagram { background:#f1f6ff; border-radius:12px; max-width:760px; margin-top:15px; padding:18px; }
.app-concept-diagram svg { width:100%; height:auto; }
.app-page-overview { padding:24px max(40px,calc((100% - 1340px)/2)); background:#edf4fd; border-bottom:1px solid #dbe5f1; }
.app-page-overview > p { color:#365b92; font-size:10px; font-weight:800; letter-spacing:.15em; margin:0 0 8px; }
.app-page-overview > div { display:flex; flex-wrap:wrap; gap:4px 24px; }
.app-page-overview a { display:flex; align-items:center; min-height:44px; font-size:13px; font-weight:650; color:#173d77; max-width:380px; line-height:1.5; }
.app-page-overview a:hover { text-decoration:underline; text-underline-offset:4px; }
.app-interior-page main :is(h2,h3,[id]) { scroll-margin-top:120px; }
.app-interior-page .anx-section { padding-block:72px; }
.app-interior-page .anx-section--tight { padding-block:42px; }
.app-interior-page .anx-section-head { margin-bottom:34px; max-width:900px; }
.app-interior-page .anx-section-head h2 { font-size:clamp(30px,3.1vw,46px); line-height:1.13; letter-spacing:-.04em; }
.app-interior-page .anx-section--neutral { background:#edf4fd; }
.app-interior-page .anx-card { border-radius:14px; box-shadow:none; border:1px solid #d5e1ef; padding:28px; }
.app-interior-page .anx-card:hover { border-color:#8aafe9; transform:translateY(-3px); box-shadow:0 12px 28px #173e7310; }
.app-interior-page .anx-card__title { letter-spacing:-.025em; line-height:1.22; }
.app-interior-page .anx-card__body { color:#526984; }
.app-interior-page .anx-faq details { border-color:#d5e1ef; }
.app-interior-page .anx-faq summary { min-height:56px; line-height:1.5; }
.app-interior-page .anx-longform__body { font-size:17px; line-height:1.8; max-width:72ch; }
.app-interior-page .anx-longform__body > h2 { font-size:30px; letter-spacing:-.035em; line-height:1.25; margin-top:48px; }
.app-interior-page .anx-toc a { min-height:44px; display:flex; align-items:center; }
.app-interior-page main :focus-visible { outline:3px solid #e99631; outline-offset:4px; }
.app-interior-page[data-page-kind="article"] .anx-hero__title { max-width:28ch; }
.app-interior-page[data-page-kind="legal"] .anx-hero__title { font-size:clamp(36px,4vw,58px); }
.app-enquiry-page .anx-hero__booking { color:#d0dcef; }
.app-enquiry-page .anx-hero__booking p { color:#d0dcef; }
.app-interior-page .anx-form-panel { color:#102440; background:#fff; }
.app-interior-page .anx-form-panel h2 { color:#102440; }
.app-interior-page main :is(p,a,h1,h2,h3,li) { overflow-wrap:break-word; }
@media(max-width:1024px) {
 .app-interior-page .anx-section-head.app-illustrated-head { grid-template-columns:1fr; gap:24px; }
 .app-illustrated-head > .app-topic-visual { justify-self:start; max-width:760px; }
 .app-interior-hero .anx-hero__inner { grid-template-columns:1fr; gap:32px; }
 .app-interior-media { max-width:760px; }
 .app-interior-media img { aspect-ratio:16/9; }
 .app-quick-enquiry fieldset { grid-template-columns:1fr 1fr; }
 .app-quick-enquiry button { grid-column:1/-1; }
 .app-ai-section-visual { position:static; max-width:760px; }
}
@media(max-width:700px) {
 .app-interior-page .anx-shell { width:calc(100% - 40px); }
 .app-interior-page .anx-hero--solo > .anx-shell > div:last-of-type { max-width:none; }
 .app-interior-page .anx-hero--solo > .anx-shell > .app-topic-visual--hero { position:static; width:100%; margin-top:24px; }
 .app-interior-hero { padding-block:20px 38px !important; }
 .app-interior-hero .anx-crumbs { margin-bottom:28px; }
 .app-interior-hero .anx-hero__title { font-size:36px; }
 .app-interior-hero .anx-hero__lead { font-size:15px; }
 .app-interior-media img { border-radius:12px; }
 .app-interior-page .anx-section-head.app-illustrated-head { gap:18px; }
 .app-illustrated-head > .app-topic-visual { max-width:100%; }
 .app-visual-pair { grid-template-columns:1fr; padding:28px 20px; }
 .app-quick-enquiry { margin-block:22px; padding:14px; }
 .app-quick-enquiry fieldset { grid-template-columns:1fr; }
 .app-quick-enquiry button { grid-column:auto; }
 .app-page-overview { padding:20px; }
 .app-page-overview > div { display:grid; gap:2px; }
 .app-page-overview a { font-size:12px; }
 .app-interior-page .anx-section { padding-block:44px; }
 .app-interior-page .anx-section--tight { padding-block:28px; }
 .app-interior-page .anx-card { padding:22px; }
 .app-interior-page .anx-longform__body { font-size:16px; }
 .app-interior-page .anx-longform__body > h2 { font-size:26px; }
 .app-interior-page main :is(h2,h3,[id]) { scroll-margin-top:110px; }
}
@media(prefers-reduced-motion:reduce) { .app-interior-page .anx-card:hover { transform:none; } }
