.profile-page {
  --profile-ink: #17212b;
  --profile-muted: #4a535b;
  --profile-accent: #954600;
  --profile-border: #dcdeda;
  margin: 0;
  color: var(--profile-ink);
  background: #fff;
  font: 400 1rem/1.6 var(--v2-font-family);
}

.profile-page *, .profile-page *::before, .profile-page *::after { box-sizing: border-box; }
.profile-page main a { text-underline-offset: .2em; }
.profile-page :is(a, button):focus-visible { outline: 3px solid #145b99; outline-offset: 4px; }
.profile-page :is(h1, h2, h3) { margin: 0; line-height: 1.12; text-wrap: balance; }
.profile-page h1 { font-size: clamp(2.35rem, 4.55vw, 4.35rem); letter-spacing: -.048em; }
.profile-page main h2 { font-size: clamp(1.8rem, 3.1vw, 2.8rem); letter-spacing: -.035em; }
.profile-page h3 { font-size: 1.22rem; letter-spacing: -.02em; }
.profile-page p { margin: 0; }
.profile-page figure { margin: 0; }
.profile-page main img { display: block; width: 100%; height: auto; }

.profile-wrap { width: min(1200px, calc(100% - clamp(36px, 9vw, 128px))); margin-inline: auto; }
.profile-section { padding-block: clamp(40px, 6.7vw, 92px); }
.profile-skip { position: absolute; z-index: 1; top: 8px; left: 8px; padding: 8px 12px; color: #fff; background: #17212b; transform: translateY(-150%); }
.profile-skip:focus { transform: none; }

.profile-header { background: #fff; border-top: 4px solid var(--v2-color-primary); border-bottom: 1px solid var(--profile-border); }
.profile-header__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; padding-block: 12px; }
.profile-brand { display: inline-flex; align-items: center; gap: 9px; color: inherit; font-size: clamp(1.3rem, 2.4vw, 1.65rem); font-weight: 800; letter-spacing: -.04em; text-decoration: none; }
.profile-brand img { display: block; border-radius: 8px; }
.profile-header__nav { display: flex; flex-wrap: wrap; gap: 4px 22px; }
.profile-header__nav a { display: inline-flex; align-items: center; min-height: 40px; color: inherit; font-size: .9rem; font-weight: 700; text-decoration: none; }
.profile-header__nav a:hover { text-decoration: underline; text-underline-offset: .25em; }

.profile-hero { background: #f8f4ee; border-bottom: 1px solid #e8e0d6; }
.profile-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.22fr); align-items: center; gap: clamp(26px, 5vw, 68px); padding-block: clamp(38px, 7vw, 96px); }
.profile-page .profile-kicker { margin: 0 0 12px; color: var(--profile-accent); font-size: .75rem; font-weight: 800; letter-spacing: .105em; line-height: 1.45; text-transform: uppercase; }
.profile-page .profile-lead { margin-top: 20px; max-width: 41ch; color: var(--profile-muted); font-size: clamp(1.05rem, 1.5vw, 1.22rem); }
.profile-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; margin-top: 26px; }
.profile-button { display: inline-flex; align-items: center; gap: 14px; min-height: 46px; padding: 10px 16px; border-radius: 7px; color: #fff; background: #17212b; font-weight: 750; text-decoration: none; }
.profile-button:hover { background: #273a4c; }
.profile-button span { font-size: 1.2em; line-height: 1; }
.profile-text-link { color: var(--profile-ink); font-size: .9rem; font-weight: 650; }
.profile-hero__visual { overflow: hidden; border: 1px solid #dfd5c9; border-radius: 12px; background: #fffaf4; }
.profile-hero__visual figcaption { display: flex; align-items: center; gap: 8px; padding: 11px 14px; color: var(--profile-muted); font-size: .78rem; font-weight: 650; }
.profile-hero__visual figcaption span { flex: 0 0 7px; height: 7px; border-radius: 50%; background: #bc610c; }

.profile-intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.12fr); align-items: start; gap: clamp(16px, 6vw, 90px); }
.profile-intro p:not(.profile-kicker), .profile-section__intro, .profile-feature__copy > p:last-child, .profile-examples p:last-child, .profile-steps p { color: var(--profile-muted); }
.profile-intro p + p { margin-top: 12px; }
.profile-intro a { color: #004c93; }
.profile-applications { background: #f6f7f7; border-block: 1px solid #e3e6e6; }
.profile-page .profile-section__intro { margin-top: 12px; }
.profile-applications__grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); align-items: start; gap: clamp(22px, 4vw, 52px); margin-top: 26px; }
.profile-feature { overflow: hidden; border: 1px solid var(--profile-border); border-radius: 12px; background: #fff; }
.profile-feature__copy { padding: clamp(16px, 2.7vw, 28px); }
.profile-feature__copy > p:last-child, .profile-examples p:last-child, .profile-steps p { margin-top: 8px; }
.profile-examples { display: grid; padding: 0; margin: 0; list-style: none; }
.profile-examples li { padding: 16px 0; border-bottom: 1px solid #d6dbdc; }
.profile-examples li:first-child { padding-top: 3px; }
.profile-examples .profile-kicker { margin-bottom: 6px; }
.profile-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 3vw, 34px); padding: 0; margin: 24px 0 0; list-style: none; }
.profile-steps li { padding-top: 15px; border-top: 2px solid #d88c44; }
.profile-steps span { display: block; margin-bottom: 9px; color: var(--profile-accent); font-size: .85rem; font-weight: 800; font-variant-numeric: tabular-nums; }

.profile-enquiry { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: clamp(23px, 5vw, 75px); margin-bottom: clamp(42px, 7vw, 90px); padding: clamp(19px, 4vw, 52px); border: 1px solid #e8d2b8; border-radius: 12px; background: #fff3e4; scroll-margin-top: 18px; }
.profile-enquiry h2 + p { margin: 13px 0 18px; }
.profile-enquiry__email { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-weight: 650; }
.profile-enquiry__email span { overflow-wrap: anywhere; }
.profile-copy { min-height: 44px; padding: 8px 13px; border: 1px solid #938273; border-radius: 6px; color: var(--profile-ink); background: #fffdf9; font: inherit; cursor: pointer; }
.profile-copy:hover { background: #f5e6d5; }
.profile-copy-status { min-height: 1.6em; color: var(--profile-muted); font-size: .85rem; }
.profile-page .profile-enquiry__contact { margin-top: 3px; font-size: .9rem; }
.profile-enquiry__contact a { color: #004c93; }
.profile-phone { white-space: nowrap; }
.profile-enquiry__checklist { padding-inline-start: clamp(14px, 2.6vw, 35px); border-inline-start: 2px solid #dfaa70; }
.profile-enquiry__checklist ul { margin: 11px 0; padding-inline-start: 20px; }
.profile-enquiry__checklist p { color: var(--profile-muted); font-size: .9rem; }
.profile-page .v2-site-footer a:focus-visible { outline-color: #ffc283; }

@media (max-width: 820px) {
  .profile-hero__grid, .profile-intro, .profile-applications__grid, .profile-enquiry { grid-template-columns: minmax(0, 1fr); }
  .profile-page h1 { max-width: 19ch; }
  .profile-page .profile-lead { max-width: 52ch; }
}

@media (max-width: 580px) {
  .profile-steps { grid-template-columns: minmax(0, 1fr); }
  .profile-header__inner { gap: 5px 16px; }
}
