/* People, recovery and a clear way forward. Original photographic direction, September 2026. */
@layer people {
  :root {
    --ink:#112f37; --green:#082d39; --teal:#0b5966; --blue:#0b5966;
    --blue-dark:#063d48; --cream:#f8f6f1; --mint:#e7f1ee; --ice:#e7f1ee;
    --line:#d4dcd8; --muted:#52666b; --sand:#eeeae1; --accent:#0b5966;
    --lime:#efb36f; --aqua:#9ce0d8; --radius:5px;
  }
  body {background:var(--cream); color:var(--ink);}
  h1,h2 {font-family:var(--sans); font-weight:650; letter-spacing:-.055em;}
  h1 em,h2 em {font-family:inherit; font-style:normal; font-weight:inherit; letter-spacing:inherit; color:var(--teal);}
  .container {width:min(1320px,calc(100% - 112px));}
  .section {padding-block:108px;}
  .eyebrow {font-size:12px; letter-spacing:.15em; font-weight:750; color:var(--teal);}
  .button {border-radius:3px; background:var(--teal); border-color:var(--teal); font-size:17px; font-weight:650; min-height:58px; padding:16px 25px; gap:22px;}
  .button:hover {background:var(--blue-dark); border-color:var(--blue-dark); transform:translateY(-2px);}
  .button-outline {background:transparent; color:var(--ink); border-color:#6f898b;}
  .button-outline:hover {background:#e0eeea; color:var(--ink); border-color:var(--teal);}
  .button-light {background:var(--lime); border-color:var(--lime); color:var(--green);}
  .button-light:hover {background:#ffcd94; border-color:#ffcd94; color:var(--green);}
  .button-small {min-height:50px; padding:12px 22px; font-size:16px;}
  .text-link {color:var(--teal); border-color:#7c999b; font-weight:650;}
  :focus-visible {outline:3px solid #c46810; outline-offset:5px;}
  ::selection {background:var(--aqua); color:var(--green);}
  .people-picture {display:block; overflow:hidden;}
  .people-picture img {display:block; width:100%; height:100%; object-fit:cover;}

  .utility {background:var(--green); color:#e2efeb;}
  .utility-inner {min-height:35px;}
  .utility-callback {border-color:#90b8b9;}
  .site-header {background:#fff; border-bottom:1px solid #e4e8e4;}
  .header-inner {height:78px; gap:32px;}
  .brand,.brand img {width:180px; flex-basis:180px;}
  .nav {gap:27px; font-size:16px; font-weight:600;}
  .nav-panel {border-radius:4px; border-color:var(--line); box-shadow:0 18px 40px #082d391a;}
  .nav-panel a {border-radius:2px;}
  .nav-panel .menu-bottom {background:var(--mint);}
  .menu-toggle {border-radius:3px; background:var(--mint); border-color:var(--line);}

  /* The opening is a single, full-bleed photographic scene. */
  .hero {padding:0; margin:0; background:var(--green); overflow:hidden;}
  .hero-grid {display:block; width:100%; max-width:none; min-height:710px; padding:0; border:0; border-radius:0; background:var(--green); isolation:isolate; position:relative; overflow:hidden;}
  .hero .hero-grid {width:100%;}
  .hero-grid:before {display:none;}
  .hero-copy {position:relative; z-index:3; width:min(1320px,calc(100% - 112px)); margin:0 auto; padding:88px 0 48px; pointer-events:none;}
  .hero-copy a {pointer-events:auto;}
  .hero-copy .eyebrow {color:#d8eae6; margin-bottom:27px; font-size:12px; gap:12px;}
  .eyebrow-line {width:25px; height:2px; border-radius:0; background:var(--aqua); box-shadow:none;}
  .hero h1 {font-size:clamp(66px,6.35vw,94px); font-weight:650; line-height:1.025; letter-spacing:-.065em; color:#fff; white-space:normal; max-width:760px; margin-bottom:28px;}
  .hero h1 em {font-size:1em; line-height:inherit; font-weight:650; color:var(--aqua);}
  .hero-description {color:#e6efed; font-size:20px; line-height:1.7; max-width:510px;}
  .hero .button-row {margin-top:29px; flex-direction:row; align-items:center; gap:12px;}
  .hero .button {background:var(--lime); border-color:var(--lime); color:var(--green); min-width:0; font-size:16px; padding:17px 23px; gap:17px;}
  .hero .button:hover {background:#ffca8c; border-color:#ffca8c;}
  .hero .button-outline {background:#082d3938; border-color:#aec7c5; color:#fff;}
  .hero .button-outline:hover {background:#174955; border-color:#fff;}
  .hero-note {color:#d1e1dc; font-size:13px; margin-top:22px; max-width:none; align-items:center;}
  .hero-note .icon {color:var(--aqua);}
  .hero-explore {display:flex; margin-top:42px; font-size:14px; color:#e1ece9;}
  .hero-explore > span {border-color:#829e9d; border-radius:50%; width:32px; height:32px;}
  .hero-visual {position:absolute; inset:0; width:100%; height:100%; margin:0; padding:0; border-radius:0; z-index:1;}
  .hero-visual > .hero-photo-wrap {width:100%; height:100%;}
  .hero-photo-wrap img {object-position:72% 15%; filter:none;}
  .hero-visual:after {content:''; position:absolute; inset:0; border-radius:0; background:linear-gradient(90deg,#082d39fa 0%,#082d39ed 22%,#082d399c 43%,#082d3910 70%),linear-gradient(0deg,#061f307a,transparent 33%); pointer-events:none;}
  .photo-caption {top:29px; left:auto; right:35px; bottom:auto; color:#fff; background:#082d39bd; border:1px solid #ffffff38; border-radius:2px; font-size:11px; padding:9px 12px; max-width:320px;}
  .caption-line {background:var(--aqua);}
  .hero-reassurance {left:auto; right:max(56px,calc((100% - 1320px)/2)); bottom:44px; width:305px; min-width:0; padding:19px 0 19px 22px; background:#082d3973; border:0; border-left:2px solid var(--aqua); border-radius:0; box-shadow:none; color:#fff; gap:15px;}
  .hero-reassurance strong {font-size:22px; font-weight:550; color:#fff; line-height:1.25; letter-spacing:-.03em;}
  .hero-reassurance div > span {color:#e1eae8; font-size:13px;}
  .reassurance-icon {width:42px; height:42px; color:var(--aqua); background:transparent; border:1px solid #99c1bf6b;}
  .reassurance-mark {display:none;}
  .hero-outline {display:none;}
  .reassurance-strip {background:#efeee6; border:0;}
  .reassurance-grid {padding:30px 0; border:0; gap:36px;}
  .reassurance-grid > div {gap:17px; padding-left:28px; border-left:1px solid #cbd5cf;}
  .reassurance-grid > div:first-child {padding-left:0; border:0;}
  .reassurance-grid > div > .icon {width:36px; height:36px; padding:0; border-radius:0; background:transparent; color:var(--teal);}
  .reassurance-grid strong {font-size:16px;}
  .reassurance-grid small {font-size:14px; color:var(--muted);}

  /* Asymmetric, photo-led service discovery. */
  .services-section {padding-top:95px;}
  .services-section .section-heading {display:block; text-align:center; margin-bottom:44px;}
  .services-section .section-heading h2 {font-size:clamp(42px,4vw,59px); margin-top:18px;}
  .services-section .section-heading > p {max-width:none; margin:23px auto 0; font-size:18px;}
  .services-section .section-heading > p br {display:none;}
  .service-tabs {gap:30px; margin-bottom:30px; border-bottom:1px solid #cbd5cf; padding:0;}
  .service-tab-options {display:flex; align-items:center; gap:30px;}
  .service-tabs button {border:0; border-bottom:3px solid transparent; border-radius:0; background:transparent; padding:17px 0; min-height:60px; color:#53676b; font-size:17px;}
  .service-tabs button[aria-selected=true] {background:transparent; color:var(--green); border-color:var(--teal);}
  .service-tabs button span {background:#e1eae4; color:var(--green); border-radius:2px; font-size:11px;}
  .service-tabs button[aria-selected=true] span {background:var(--green); color:#fff;}
  .tab-view-all {color:var(--teal); font-size:16px;}
  .service-grid {display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:32px 26px;}
  .service-card {grid-column:span 4; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; padding:0; min-height:0; gap:0; background:#fff; border:0; border-radius:3px; box-shadow:none; overflow:hidden; position:relative;}
  .services-section .service-card {grid-column:span 3;}
  .services-section .service-card:first-child {grid-column:span 7;}
  .services-section .service-card:nth-child(2) {grid-column:span 5;}
  .card-photo {height:260px; flex:none; position:relative; background:#e7ebe6;}
  .services-section .card-photo {height:210px;}
  .services-section .service-card:nth-child(-n+2) .card-photo {height:330px;}
  .card-photo img {transition:transform .55s cubic-bezier(.2,.6,.3,1);}
  .card-photo img[src*="motor-accident"] {object-position:center 14%;}
  .services-section .service-card:nth-child(2) .card-photo img {object-position:72% 38%;}
  .card-top {display:block; height:0; margin:0;}
  .icon-tile {position:absolute; top:18px; left:18px; width:44px; height:44px; margin:0; border:0; background:#fffffff0; color:var(--teal); border-radius:50%;}
  .icon-tile .icon {width:24px; height:24px;}
  .card-index {top:21px; right:20px; font-size:12px; line-height:28px; width:28px; height:28px; text-align:center; background:var(--green); color:#fff; border-radius:50%;}
  .service-card .card-title {font-size:23px; line-height:1.2; letter-spacing:-.035em; font-weight:650; margin:25px 25px 11px;}
  .services-section .service-card:nth-child(-n+2) .card-title {font-size:29px;}
  .service-card p {font-size:16px; line-height:1.65; max-width:none; margin:0 25px 21px; color:var(--muted);}
  .card-link {margin:auto 25px 24px; padding-top:17px; border-top:1px solid #dce3dc; font-size:15px; font-weight:650; color:var(--teal);}
  .service-card:hover {background:#fff; box-shadow:0 14px 30px #082d3910; transform:translateY(-3px);}
  .service-card:hover .card-photo img {transform:scale(1.035);}
  .service-card:hover .icon-tile {background:var(--lime); color:var(--green);}
  .service-card:hover .card-link {color:var(--green);}
  .hub-cards {gap:30px;}
  .related-section {background:#eeeae2;}
  .related-section .card-photo {height:240px;}

  /* A calm, editorial chapter about the person behind the enquiry. */
  .support-section {background:#e6eee8; color:var(--ink); padding-block:110px; border-radius:0; margin:0;}
  .support-section .container {width:min(1320px,calc(100% - 112px));}
  .support-grid {grid-template-columns:1fr 1.06fr; gap:90px; align-items:center;}
  .support-copy {order:-1;}
  .support-visual {height:640px; width:100%; padding:0; margin:0;}
  .support-photo-wrap {height:100%; width:100%;}
  .support-visual > picture > img {border-radius:0; height:100%; object-position:49% center; filter:none;}
  .support-quote {left:-28px; right:auto; bottom:30px; background:#fffdf7; border:0; border-radius:0; padding:28px 33px; min-width:320px; box-shadow:0 10px 35px #082d390f;}
  .support-quote .icon {color:var(--teal); width:30px;}
  .support-quote p {font-family:var(--sans); color:var(--ink); font-size:31px; line-height:1.22; letter-spacing:-.04em; font-weight:550;}
  .support-quote p em {font-family:inherit; font-style:normal; color:var(--teal);}
  .image-caption {left:0; bottom:-29px; color:#53666a; font-size:12px;}
  .support-copy .eyebrow {color:var(--teal);}
  .support-copy h2 {font-size:clamp(42px,4vw,57px); color:var(--ink);}
  .support-copy h2 em {color:var(--teal);}
  .support-copy > p {color:#52666b; font-size:18px; line-height:1.8;}
  .principle {border-color:#c4d3ca; gap:20px;}
  .principle > span {flex-basis:32px; width:32px; height:32px; border:0; border-radius:0; background:transparent; color:var(--teal); font-size:14px; font-weight:700;}
  .principle h3 {color:var(--ink); font-size:20px;}
  .principle p {color:#52666b; font-size:17px;}
  .support-copy .text-link {color:var(--teal); border-color:#718f87; font-size:16px;}
  .process-section {background:var(--cream);}
  .process-grid {display:block; border-bottom:1px solid #cbd6cf;}
  .process-grid > div {display:grid; grid-template-columns:110px 1fr 1.12fr; gap:40px; align-items:center; border:0; border-top:1px solid #cbd6cf; border-radius:0; background:transparent; padding:37px 0;}
  .step-number {width:auto; height:auto; display:block; border:0; border-radius:0; background:transparent; color:var(--teal); font-family:var(--sans); font-size:60px; font-weight:400; letter-spacing:-.06em; margin:0; line-height:1;}
  .process-grid h3 {font-size:27px; line-height:1.2; margin:0; max-width:300px;}
  .process-grid p {font-size:18px; line-height:1.75; margin:0; max-width:470px;}
  .fee-section {background:var(--green); margin:0; border-radius:0; padding-block:88px;}
  .fee-inner {gap:90px; grid-template-columns:1.1fr 1fr;}
  .fee-section .eyebrow {color:var(--aqua);}
  .fee-section h2 {font-size:48px; color:#fff;}
  .fee-section h2 em {color:var(--aqua);}
  .fee-section p {color:#e0e9e6; font-size:19px;}
  .fee-section small {color:#bfd2cd; font-size:14px;}
  .faq-grid {gap:100px; grid-template-columns:.9fr 1.1fr;}
  .faq-grid h2 {font-size:48px;}
  .faq {border:0; border-bottom:1px solid #c9d5cd; border-radius:0; margin:0; padding:0; background:transparent;}
  .faq:first-child {border-top:1px solid #c9d5cd;}
  .faq[open] {background:transparent; border-color:#96b4aa;}
  .faq summary {font-size:19px; font-weight:550; padding:25px 42px 25px 0;}
  .faq summary > .icon {color:var(--teal);}
  .faq .faq-answer p {font-size:17px;}

  .cta-section {background:var(--green); padding:0;}
  .cta-inner {width:min(1512px,100%); min-height:570px; display:grid; grid-template-columns:1fr 45%; gap:0 60px; padding:75px max(56px,calc((100% - 1320px)/2)); border:0; border-radius:0; background:var(--green); position:relative; color:#fff;}
  .cta-inner > div:first-child {grid-column:1; position:relative; z-index:2; align-self:end;}
  .cta-inner .eyebrow {color:var(--aqua);}
  .cta-inner h2 {font-size:clamp(50px,5vw,74px); color:#fff; line-height:1.02;}
  .cta-inner h2 em {color:var(--aqua);}
  .cta-inner > div > p {font-size:18px; color:#e1eae7; max-width:390px; margin-bottom:25px;}
  .cta-actions {grid-column:1; width:auto; max-width:330px; align-items:flex-start; align-self:start; margin:0; gap:16px;}
  .cta-actions .button {background:var(--lime); border-color:var(--lime); color:var(--green); width:auto;}
  .cta-actions .button:hover {background:#ffca8c; border-color:#ffca8c;}
  .cta-phone {color:#fff; font-size:28px;}
  .cta-actions .text-link {color:#e2eeea; font-size:16px; border-color:#9dbdb5;}
  .cta-people {position:absolute; top:0; right:0; bottom:0; width:45%; overflow:hidden;}
  .cta-photo {height:100%; width:100%;}
  .cta-photo img {object-position:42% center;}
  .cta-decoration {display:none;}
  .security-notice {background:#e8ede6; border:0;}
  .security-inner p {color:#4d6364;}
  .security-inner > a,.security-inner > .icon {color:var(--teal);}
  .site-footer {background:#06242e; color:#fff;}
  /* The footer uses the white knockout logo directly on the dark background; no white box. */
  .footer-brand > a:first-child {display:inline-block; border-radius:0; background:transparent; padding:0; margin-bottom:24px;}
  .footer-brand img {width:250px;}
  .footer-grid h2 {color:var(--aqua); font-size:15px;}
  .footer-grid a {color:#e0eae6; font-size:16px;}
  .footer-brand p,.footer-brand .footer-address {color:#bed0ca;}
  .footer-illustration-note {font-size:13px; color:#b8ccc7; margin:32px 0 20px;}
  .footer-bottom {color:#b8ccc7; border-color:#41605f;}
  .footer-bottom a {color:#e0eae6;}
  .mobile-contact a {border-radius:3px; border-color:#aebfba;}
  .mobile-contact a:last-child {background:var(--teal); border-color:var(--teal);}

  .page-hero {background:#eeeae2; border-top:0;}
  .breadcrumb {color:#596c6b;}
  .breadcrumb a {color:#2d595e;}
  .service-hero-grid {grid-template-columns:1.02fr 1fr; gap:70px; align-items:center;}
  .service-hero h1 {font-size:clamp(46px,4.5vw,68px);}
  .service-hero .lead {font-size:21px;}
  .service-portrait {margin:0; min-width:0; position:relative;}
  .service-photo {height:430px; border-radius:2px;}
  .service-photo img {object-position:center;}
  .service-portrait:has(img[src*="worker-hero"]) .service-photo img {object-position:78% center;}
  .service-portrait figcaption {font-size:13px; line-height:1.5; color:#496366; padding-top:12px; border-bottom:1px solid #c3cdc7; padding-bottom:12px;}
  .inline-help,.aside-help,.source-note,.related-reading,.region-guide {border-radius:3px; border-color:#cdd9d0; background:#e9f0e9;}
  .article-body h2 {font-weight:600;}
  .article-nav > a {border-color:var(--line);}
  .article-body > section + section {border-color:var(--line);}
  .region-links a {color:var(--teal);}
  .related-reading a {border-color:#c6d3ca;}
  .resource-card {border:0; border-radius:3px; background:#fff;}
  .resource-art,.resource-art-1,.resource-art-2 {height:250px; padding:0; overflow:hidden; position:relative; background:#e6eee8;}
  .resource-art:before,.resource-art:after {display:none;}
  .resource-photo {width:100%; height:100%;}
  .resource-art > .eyebrow {position:absolute; left:16px; bottom:16px; background:#082d39eb; color:#fff; padding:8px 10px; font-size:11px;}
  .resource-content {padding:28px;}
  .resource-content h2 {font-size:28px;}
  .form-section {background:#eeeae2;}
  .form-page-grid {gap:75px;}
  .form-page-copy > .lead {color:#52666b;}
  .form-people {margin:30px 0; height:245px; border-radius:2px; overflow:hidden;}
  .form-people > picture {height:100%;}
  .form-people img {object-position:center 15%;}
  .form-expect {border-color:#c8d2ca;}
  .form-expect > div > span {background:#fff; border-color:#c5d3ca; color:var(--teal);}
  .form-expect p {color:#3f5b5f;}
  .form-card {border:1px solid #d4dcd5; border-radius:5px; box-shadow:0 20px 55px #082d3908;}
  .form-card-heading {border-color:#dde3dc;}
  .form-field label {color:#25464c;}
  .form-field input,.form-field select,.form-field textarea {background:#fbfcf9; border-color:#b6c6bf; border-radius:3px;}
  .form-field input:focus,.form-field select:focus,.form-field textarea:focus {border-color:var(--teal); outline:3px solid #0b596624;}
  .consent {color:#3d5a5f;}
  .form-privacy,.field-help {color:#526b6b;}
  .contact-method > span {color:var(--teal); border-color:#cbd8d0; border-radius:3px;}
  /* A valid Australian phone number gets a quiet tick. */
  .is-valid > input[type=tel] {border-color:#6faea4; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%230b5966' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:42px;}
  dialog {border-color:#c4d4cc; border-radius:5px;}
  dialog::backdrop {background:#082d39a8;}

  @media(min-width:1600px) {
    .hero-grid {min-height:770px;}
    .hero-copy {padding-top:110px;}
    .hero h1 {font-size:94px;}
    .hero-visual {height:100%;}
  }
  @media(max-width:1250px) {
    .container,.support-section .container,.hero-copy {width:calc(100% - 72px);}
    .header-inner {height:80px; gap:22px;}
    .brand,.brand img {width:170px; flex-basis:170px;}
    .nav {gap:20px;}
    .hero-grid {min-height:690px;}
    .hero-copy {padding-top:82px;}
    .hero h1 {font-size:76px;}
    .hero-description {font-size:19px; max-width:470px;}
    .hero-reassurance {right:36px; width:275px;}
    .service-grid {gap:26px 20px;}
    .services-section .service-card {grid-column:span 6;}
    .services-section .service-card:first-child,.services-section .service-card:nth-child(2) {grid-column:span 6;}
    .services-section .card-photo {height:270px;}
    .services-section .service-card:nth-child(-n+2) .card-photo {height:300px;}
    .service-card .card-title {font-size:24px;}
    .services-section .service-card:nth-child(-n+2) .card-title {font-size:26px;}
    .card-photo {height:240px;}
    .support-grid {gap:60px;}
    .support-visual {height:650px;}
    .support-copy h2 {font-size:46px;}
    .process-grid > div {grid-template-columns:85px 1fr 1.12fr; gap:30px;}
    .fee-inner,.faq-grid {gap:60px;}
    .fee-section h2,.faq-grid h2 {font-size:44px;}
    .cta-inner {padding:65px 36px; gap:0 40px;}
    .service-hero-grid {gap:45px;}
    .service-photo {height:430px;}
    .service-hero h1 {font-size:52px;}
    .form-page-grid {gap:50px;}
  }
  @media(max-width:1100px) {
    .hero h1 {font-size:68px;}
    .hero-copy {padding-block:75px 40px;}
    .hero-grid {min-height:675px;}
    .hero-visual:after {background:linear-gradient(90deg,#082d39fa,#082d39cb 38%,#082d3920 80%),linear-gradient(0deg,#082d3944,transparent);}
    .hero-note {max-width:none;}
    .hero .button {font-size:16px; padding-inline:20px;}
    .hero-reassurance {width:250px; padding:15px; bottom:30px;}
    .hero-reassurance strong {font-size:20px;}
    .hero-reassurance .reassurance-icon {display:none;}
    .hero-explore {margin-top:35px;}
    .reassurance-grid {gap:23px;}
    .reassurance-grid > div {padding-left:18px; gap:12px;}
    .reassurance-grid strong {font-size:15px;}
    .reassurance-grid small {font-size:13px;}
    .support-grid {gap:40px;}
    .support-copy h2 {font-size:40px;}
    .support-quote {left:-15px; min-width:280px; padding:25px;}
    .support-quote p {font-size:29px;}
    .service-card .card-title {margin-inline:21px; font-size:22px;}
    .service-card p,.card-link {margin-inline:21px;}
    .service-hero h1 {font-size:46px;}
    .service-photo {height:440px;}
    .form-page-grid {gap:35px;}
    .nav-panel {border-radius:3px;}
  }
  @media(max-width:800px) {
    .container,.support-section .container,.hero-copy {width:calc(100% - 48px);}
    .section {padding-block:74px;}
    .header-inner {height:60px; gap:14px;}
    .brand,.brand img {width:136px; flex-basis:136px;}
    .hero-grid {display:flex; flex-direction:column; min-height:0;}
    .hero-visual {position:relative; inset:auto; order:-1; height:370px; width:100%; flex:none;}
    .hero-photo-wrap img {object-position:72% 42%;}
    .hero-visual:after {background:linear-gradient(0deg,#082d39 0%,#082d3908 29%);}
    .hero-copy {padding:25px 0 45px;}
    .hero-copy .eyebrow {margin-bottom:22px; font-size:11px;}
    .hero h1 {font-size:clamp(49px,8.5vw,70px); max-width:none; margin-bottom:22px;}
    .hero-description {font-size:18px; max-width:590px;}
    .hero .button-row {flex-direction:row; align-items:stretch; margin-top:25px;}
    .hero .button {padding:15px 22px; min-width:0; font-size:16px; min-height:55px;}
    .hero-note {margin-top:18px; font-size:12px;}
    .hero-explore {display:flex; margin-top:25px;}
    .photo-caption {top:19px; left:24px; right:auto; font-size:10px; padding:8px 11px; max-width:165px;}
    .hero-reassurance {left:auto; right:24px; bottom:22px; width:auto; max-width:235px; padding:13px 18px; background:#082d39c4;}
    .hero-reassurance strong {font-size:17px;}
    .hero-reassurance strong br {display:none;}
    .hero-reassurance div > span {font-size:11px; margin-top:4px;}
    .reassurance-grid {padding:25px 0; grid-template-columns:1fr; gap:20px;}
    .reassurance-grid > div {border:0; padding-left:0; gap:17px;}
    .reassurance-grid strong {font-size:16px;}
    .reassurance-grid small {font-size:14px;}
    .reassurance-grid > div > .icon {width:29px; height:29px;}
    .services-section .section-heading {text-align:left; margin-bottom:26px;}
    .services-section .section-heading h2 {font-size:43px;}
    .services-section .section-heading > p {font-size:17px; margin-top:20px;}
    .service-tabs {gap:25px; flex-wrap:wrap; margin-bottom:24px; padding-bottom:13px;}
    .service-tab-options {gap:25px;}
    .service-tabs button {font-size:16px; padding:12px 0; gap:9px; min-height:50px; flex:none;}
    .service-tabs .tab-view-all {display:flex; margin:0; width:100%; font-size:15px;}
    .service-grid {grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 18px;}
    .service-card,.services-section .service-card,.services-section .service-card:first-child,.services-section .service-card:nth-child(2) {grid-column:span 1;}
    .card-photo,.services-section .card-photo,.services-section .service-card:nth-child(-n+2) .card-photo,.related-section .card-photo {height:230px;}
    .service-card .card-title,.services-section .service-card:nth-child(-n+2) .card-title {font-size:24px; margin:23px 23px 11px;}
    .service-card p {font-size:16px; margin-inline:23px;}
    .card-link {font-size:15px; margin-inline:23px;}
    .support-section {padding-block:75px;}
    .support-grid {grid-template-columns:1fr; gap:45px;}
    .support-copy h2 {font-size:44px;}
    .support-copy > p {font-size:18px;}
    .support-visual {height:440px; margin-bottom:22px;}
    .support-quote {left:20px; right:auto; bottom:20px; min-width:290px; padding:25px;}
    .support-quote p {font-size:30px;}
    .principle h3 {font-size:20px;}
    .process-grid > div {grid-template-columns:65px 1fr; gap:12px 23px; padding:29px 0;}
    .step-number {grid-row:1/3; font-size:49px; align-self:start;}
    .process-grid h3 {font-size:24px; max-width:none;}
    .process-grid p {grid-column:2; font-size:17px; max-width:none;}
    .fee-section {padding-block:66px;}
    .fee-inner,.faq-grid {grid-template-columns:1fr; gap:34px;}
    .fee-section h2,.faq-grid h2 {font-size:42px;}
    .fee-section p {font-size:18px;}
    .faq summary {font-size:18px; padding-block:23px;}
    .cta-inner {display:flex; flex-direction:column; gap:0; min-height:0; padding:0 0 55px; width:100%;}
    .cta-inner > div:first-child {padding:45px 24px 0; width:100%;}
    .cta-inner h2 {font-size:58px;}
    .cta-inner > div > p {max-width:460px; margin-bottom:26px;}
    .cta-actions {width:calc(100% - 48px); max-width:none; margin:0 24px; align-items:flex-start;}
    .cta-people {position:relative; inset:auto; order:-1; height:330px; width:100%;}
    .cta-photo img {object-position:center 44%;}
    .cta-phone {font-size:28px;}
    .page-hero {padding-bottom:50px;}
    .service-hero-grid {grid-template-columns:1fr; gap:35px;}
    .service-hero h1 {font-size:48px;}
    .service-photo {height:390px;}
    .service-hero .lead {font-size:20px;}
    .form-page-grid {grid-template-columns:1fr; gap:40px;}
    .form-people {height:270px;}
    .form-page-copy h1 {font-size:48px;}
    .form-card {padding:30px;}
    .resource-art {height:250px;}
    .footer-illustration-note {margin-top:27px;}
    .security-notice {padding-block:24px;}
  }
  @media(max-width:540px) {
    .container,.support-section .container,.hero-copy {width:calc(100% - 40px);}
    .header-inner {height:58px;}
    .brand,.brand img {width:126px; flex-basis:126px;}
    .hero-visual {height:295px;}
    .hero-photo-wrap img {object-position:74% 37%;}
    .hero-copy {padding:24px 0 37px;}
    .hero h1 {font-size:49px; line-height:1.04; letter-spacing:-.06em;}
    .hero-copy .eyebrow {font-size:10px; gap:10px; letter-spacing:.13em;}
    .hero-description {font-size:17px; line-height:1.7;}
    .hero .button-row {flex-direction:column; gap:11px;}
    .hero .button {width:100%; justify-content:space-between; padding-inline:22px; font-size:16px;}
    .hero .button-outline {justify-content:center;}
    .hero-note {font-size:12px; align-items:flex-start; gap:8px;}
    .hero-note .icon {flex:none; margin-top:2px;}
    .hero-explore {font-size:13px; margin-top:25px;}
    .photo-caption {left:20px; right:auto; top:17px; font-size:9px; max-width:140px;}
    .hero-reassurance {left:20px; right:auto; bottom:16px; padding:11px 15px; max-width:190px;}
    .hero-reassurance strong {font-size:14px;}
    .section {padding-block:62px;}
    .services-section .section-heading h2 {font-size:38px;}
    .services-section .section-heading h2 br {display:initial;}
    .service-tabs {gap:13px 22px;}
    .service-tab-options {gap:22px;}
    .service-tabs button {font-size:15px; gap:6px;}
    .service-tabs button span {font-size:10px; padding:2px 5px;}
    .service-grid {grid-template-columns:1fr; gap:28px;}
    .card-photo,.services-section .card-photo,.services-section .service-card:nth-child(-n+2) .card-photo,.related-section .card-photo {height:245px;}
    .service-card .card-title,.services-section .service-card:nth-child(-n+2) .card-title {font-size:26px;}
    .service-card p {font-size:17px;}
    .card-link {font-size:16px;}
    .support-section {padding-block:65px;}
    .support-copy h2 {font-size:38px;}
    .support-copy > p {font-size:17px;}
    .support-visual {height:390px;}
    .support-quote {left:16px; right:16px; min-width:0; bottom:18px; padding:23px;}
    .support-quote p {font-size:28px;}
    .principle {gap:12px;}
    .principle h3 {font-size:19px;}
    .principle p {font-size:16px;}
    .process-grid > div {grid-template-columns:48px 1fr; gap:12px 18px; padding:27px 0;}
    .step-number {font-size:41px;}
    .process-grid h3 {font-size:23px;}
    .process-grid p {font-size:17px;}
    .fee-section h2,.faq-grid h2 {font-size:38px;}
    .cta-inner > div:first-child {padding-inline:20px;}
    .cta-inner h2 {font-size:51px;}
    .cta-people {height:270px;}
    .cta-actions {margin-inline:20px; width:calc(100% - 40px);}
    .cta-actions .button {width:100%; justify-content:space-between;}
    .service-hero h1 {font-size:42px;}
    .service-photo {height:300px;}
    .service-hero .lead {font-size:19px;}
    .form-page-copy h1 {font-size:44px;}
    .form-card {padding:25px 21px;}
    .form-people {height:220px;}
    .form-card-heading h2 {font-size:31px;}
    .form-field label {font-size:17px;}
    .form-field input,.form-field select,.form-field textarea {font-size:18px;}
    .resource-art {height:245px;}
    .mobile-contact a {font-size:14px; min-height:48px; padding-inline:9px;}
    .footer-brand > a:first-child {padding:0;}
    .footer-brand img {width:225px;}
  }
  @media(max-width:359px) {
    .brand,.brand img {width:116px; flex-basis:116px;}
    .hero h1 {font-size:43px;}
    .hero-visual {height:270px;}
    .hero-reassurance {max-width:205px;}
    .service-tabs {gap:10px 14px;}
    .service-tab-options {gap:14px;}
    .service-tabs button {font-size:14px;}
    .service-tabs button span {display:none;}
    .services-section .section-heading h2,.support-copy h2,.fee-section h2,.faq-grid h2 {font-size:34px;}
    .card-photo,.services-section .card-photo,.services-section .service-card:nth-child(-n+2) .card-photo {height:210px;}
    .service-card .card-title,.services-section .service-card:nth-child(-n+2) .card-title {font-size:24px;}
    .service-hero h1,.form-page-copy h1 {font-size:39px;}
    .service-photo {height:270px;}
    .footer-brand img {width:205px;}
  }
  /* Blog: post cards on the index and the reading layout for a post. */
  .blog-posts {padding-bottom:0;}
  .blog-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px;}
  .blog-card {display:flex; flex-direction:column; gap:12px; padding:28px 26px 24px; background:#fff; border-radius:4px; border:1px solid #dfe6e2; text-decoration:none; color:var(--ink); transition:transform .2s,box-shadow .2s,border-color .2s;}
  .blog-card:hover {transform:translateY(-3px); box-shadow:0 14px 30px #082d3912; border-color:#bfd2cc; color:var(--ink);}
  .blog-card .eyebrow {margin:0; font-size:11px;}
  .blog-card h3 {font-size:23px; line-height:1.25; letter-spacing:-.03em;}
  .blog-card p {font-size:16px; line-height:1.65; color:#52666b; flex:1;}
  .blog-card-meta {font-size:13px; color:#6a7e82; padding-top:14px; border-top:1px solid #e3eae6;}
  .post-hero .lead {max-width:760px;}
  .post-meta {display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:22px; font-size:14px; color:#52666b;}
  .post-meta span {display:inline-flex; align-items:center; gap:7px;}
  .post-meta .icon {width:16px; height:16px; color:var(--teal);}
  .post-body h2 {font-size:30px; letter-spacing:-.035em; line-height:1.25; margin:44px 0 16px; scroll-margin-top:120px;}
  .post-body h2:first-child {margin-top:0;}
  .post-body h3 {font-size:22px; margin:30px 0 10px;}
  .post-body p {font-size:18px; line-height:1.85; margin:0 0 20px;}
  .post-body p a,.post-body li a {color:var(--teal); font-weight:600;}
  .post-body ul,.post-body ol {margin:0 0 22px; padding-left:26px; font-size:18px; line-height:1.8; color:var(--muted);}
  .post-body li {margin-bottom:9px; padding-left:4px;}
  .post-body li strong {color:var(--ink);}
  .post-body blockquote {margin:0 0 22px; padding:18px 24px; border-left:3px solid var(--teal); background:#eef3f0; border-radius:3px;}
  .post-body blockquote p {margin:0;}
  .post-body hr {border:0; border-top:1px solid var(--line); margin:34px 0;}
  .post-next {margin:44px 0 30px; padding:30px 32px; background:var(--green); color:#fff; border-radius:4px;}
  .post-next .eyebrow {color:var(--aqua);}
  .post-next h2 {color:#fff; font-size:28px; margin:0 0 10px;}
  .post-next p {color:#dbe8e4; font-size:17px; margin:0 0 20px;}
  .post-next .button {background:var(--lime); border-color:var(--lime); color:var(--green); margin:0;}
  .post-next .button:hover {background:#ffca8c; border-color:#ffca8c;}
  .post-disclaimer {font-size:13px; color:#6a7e82; line-height:1.6; margin:26px 0 22px;}
  .post-back {font-size:15px;}
  .post-back .icon-flip {transform:rotate(180deg);}
  @media(max-width:1000px) { .blog-grid {grid-template-columns:repeat(2,minmax(0,1fr));} }
  @media(max-width:640px) { .blog-grid {grid-template-columns:1fr; gap:16px;} .blog-card {padding:22px 20px 20px;} .blog-card h3 {font-size:21px;} .post-body h2 {font-size:26px; margin-top:34px;} .post-body p,.post-body ul,.post-body ol {font-size:17px;} .post-next {padding:24px 20px;} .post-next h2 {font-size:24px;} }

  /* Compact, centred enquiry pages: claim online, let us call you and contact. */
  .form-compact-section {padding:20px 0 84px;}
  .form-compact {display:flex; flex-direction:column; align-items:center;}
  .form-compact .breadcrumb {align-self:flex-start; margin-bottom:24px;}
  .form-compact-head {text-align:center; max-width:640px; margin-bottom:26px;}
  .form-compact-head .eyebrow {margin-bottom:14px;}
  .form-compact-head h1 {font-size:clamp(34px,4vw,50px); line-height:1.05; margin:0 0 12px; max-width:none;}
  .form-compact-head .lead {font-size:17px; line-height:1.65; margin:0 auto; max-width:520px; color:#52666b;}
  .form-card-compact {width:100%; max-width:560px; padding:30px 32px 26px; border-radius:12px; background:#fff; box-shadow:0 24px 60px #082d3912;}
  .form-card-compact .form-card-heading {border:0; padding:0; margin:0 0 4px;}
  .form-card-compact .form-card-heading .eyebrow {margin-bottom:10px;}
  .form-card-compact .form-card-heading h2 {font-size:25px; line-height:1.2;}
  .form-card-compact .form-card-heading > p {font-size:15px; margin:8px 0 20px; color:#52666b;}
  .form-card-compact .form-field {margin-bottom:14px;}
  .form-card-compact .form-field label {font-size:14px; font-weight:600; margin-bottom:6px;}
  .form-card-compact .form-field input,.form-card-compact .form-field select,.form-card-compact .form-field textarea {min-height:50px; font-size:16px; border-radius:8px; padding:11px 14px;}
  .form-card-compact .form-field input::placeholder {color:#9aabaf;}
  .form-card-compact .form-field textarea {min-height:120px;}
  .form-card-compact .title-field {max-width:none;}
  .form-row-name {grid-template-columns:104px 1fr 1fr;}
  .form-row-two {grid-template-columns:104px 1fr;}
  .form-card-compact .consent {margin-top:8px; font-size:14px; line-height:1.6;}
  .form-card-compact .form-submit {margin-top:18px; border-radius:8px; min-height:56px; justify-content:center; gap:14px;}
  .form-card-compact .form-privacy {justify-content:center; margin-top:14px;}
  .form-compact-aside {width:100%; max-width:640px; margin-top:28px; text-align:center;}
  .form-compact-aside .form-expect {margin:0; padding:0; border:0; max-width:none; display:flex; flex-wrap:wrap; justify-content:center; gap:10px 24px;}
  .form-compact-aside .form-expect > .eyebrow {width:100%; margin-bottom:6px;}
  .form-compact-aside .form-expect > div {margin:0; gap:10px; align-items:center;}
  .form-compact-aside .form-expect p {font-size:14px; margin:0;}
  .form-compact-aside .form-phone {margin-top:22px;}
  .form-compact-aside .form-phone > a {justify-content:center; font-size:24px;}
  .form-compact-aside .contact-methods {display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:left;}
  .form-compact-aside .contact-method {margin-top:0; flex-direction:column; align-items:flex-start; gap:10px;}
  .form-compact-aside .contact-method h2 {margin-top:0;}
  .form-compact-aside .contact-method .contact-number {font-size:24px; margin-bottom:8px;}
  .form-compact-aside .contact-method a {font-size:16px;}
  .form-compact-aside .form-small-note {max-width:none; margin-inline:auto;}
  @media(max-width:800px) {
    .form-compact-aside .contact-methods {grid-template-columns:1fr; gap:18px;}
  }
  @media(max-width:540px) {
    .form-compact-section {padding-bottom:64px;}
    .form-compact .breadcrumb {margin-bottom:18px;}
    .form-compact-head h1 {font-size:32px;}
    .form-compact-head .lead {font-size:16px;}
    .form-card-compact {padding:22px 18px 20px;}
    .form-row-name,.form-row-two {grid-template-columns:1fr; gap:0;}
    .form-card-compact .title-field {max-width:150px;}
    .form-compact-aside .form-expect {flex-direction:column; align-items:center; gap:10px;}
  }
  @media(prefers-reduced-motion:reduce) {
    *,*:before,*:after {transition:none!important; animation:none!important; scroll-behavior:auto!important;}
  }
}

/* Compensation calculator: the header link and the homepage banner. The page itself is styled by calculator.css. */
@layer people {
  .nav-calc {display:inline-flex; align-items:center; gap:7px; padding:9px 14px; border-radius:999px; background:#e3f1ee; color:var(--teal); font-weight:650;}
  .nav-calc .icon {width:18px; height:18px;}
  .nav-calc:hover {background:var(--teal); color:#fff;}
  .nav-calc[aria-current] {background:var(--teal); color:#fff;}
  .calc-banner {background:var(--green); color:#fff; padding:36px 0;}
  .calc-banner-inner {display:grid; grid-template-columns:auto 1fr auto; gap:26px; align-items:center;}
  .calc-banner-icon {width:72px; height:72px; border-radius:50%; background:#ffffff14; border:1px solid #99c1bf6b; color:var(--aqua); display:grid; place-items:center;}
  .calc-banner-icon .icon {width:34px; height:34px;}
  .calc-banner .eyebrow {color:var(--aqua);}
  .calc-banner h2 {color:#fff; font-size:clamp(26px,2.6vw,36px); margin:6px 0 8px; line-height:1.1;}
  .calc-banner p {color:#dde9e6; margin:0; font-size:16.5px; line-height:1.6; max-width:640px;}
  .calc-banner-button {background:var(--lime); border-color:var(--lime); color:var(--green); margin:0; white-space:nowrap; box-shadow:0 12px 28px #e2873a40;}
  .calc-banner-button:hover {background:#f4c188; border-color:#f4c188; color:var(--green);}
  @media(max-width:1000px) {
    .nav-calc {display:flex; justify-content:flex-start; background:none; color:var(--ink); border-radius:0; padding:15px 0;}
    .nav-calc:hover,.nav-calc[aria-current] {background:none; color:var(--teal);}
  }
  @media(max-width:900px) {
    .calc-banner-inner {grid-template-columns:1fr; gap:18px; text-align:center; justify-items:center;}
    .calc-banner-button {width:100%; max-width:420px; justify-content:center; white-space:normal;}
  }
}

/* With the calculator in the header, the row tightens between 1001px and 1400px so the enquiry button never wraps. */
@layer people {
  @media(min-width:1001px) and (max-width:1400px) {
    .brand,.brand img {width:200px; flex-basis:200px;}
    .header-inner {gap:20px;}
    .nav {gap:16px; font-size:15px;}
    .nav .button-small {padding:12px 16px; min-height:46px; font-size:15px; gap:12px; white-space:nowrap;}
    .nav-calc {padding:8px 11px;}
    .nav-calc .icon {display:none;}
  }
}
