/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties {
   @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {

      *,
      :before,
      :after,
      ::backdrop {
         --tw-border-style: solid
      }
   }
}

@layer theme {

   :root,
   :host {
      --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
      --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      --spacing: .25rem;
      --default-font-family: var(--font-sans);
      --default-mono-font-family: var(--font-mono)
   }
}

@layer base {

   *,
   :after,
   :before,
   ::backdrop {
      box-sizing: border-box;
      border: 0 solid;
      margin: 0;
      padding: 0
   }

   ::file-selector-button {
      box-sizing: border-box;
      border: 0 solid;
      margin: 0;
      padding: 0
   }

   html,
   :host {
      -webkit-text-size-adjust: 100%;
      tab-size: 4;
      line-height: 1.5;
      font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
      font-feature-settings: var(--default-font-feature-settings, normal);
      font-variation-settings: var(--default-font-variation-settings, normal);
      -webkit-tap-highlight-color: transparent
   }

   hr {
      height: 0;
      color: inherit;
      border-top-width: 1px
   }

   abbr:where([title]) {
      -webkit-text-decoration: underline dotted;
      text-decoration: underline dotted
   }

   h1,
   h2,
   h3,
   h4,
   h5,
   h6 {
      font-size: inherit;
      font-weight: inherit
   }

   a {
      color: inherit;
      -webkit-text-decoration: inherit;
      -webkit-text-decoration: inherit;
      -webkit-text-decoration: inherit;
      -webkit-text-decoration: inherit;
      text-decoration: inherit
   }

   b,
   strong {
      font-weight: bolder
   }

   code,
   kbd,
   samp,
   pre {
      font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
      font-feature-settings: var(--default-mono-font-feature-settings, normal);
      font-variation-settings: var(--default-mono-font-variation-settings, normal);
      font-size: 1em
   }

   small {
      font-size: 80%
   }

   sub,
   sup {
      vertical-align: baseline;
      font-size: 75%;
      line-height: 0;
      position: relative
   }

   sub {
      bottom: -.25em
   }

   sup {
      top: -.5em
   }

   table {
      text-indent: 0;
      border-color: inherit;
      border-collapse: collapse
   }

   :-moz-focusring {
      outline: auto
   }

   progress {
      vertical-align: baseline
   }

   summary {
      display: list-item
   }

   ol,
   ul,
   menu {
      list-style: none
   }

   img,
   svg,
   video,
   canvas,
   audio,
   iframe,
   embed,
   object {
      vertical-align: middle;
      display: block
   }

   img,
   video {
      max-width: 100%;
      height: auto
   }

   button,
   input,
   select,
   optgroup,
   textarea {
      font: inherit;
      font-feature-settings: inherit;
      font-variation-settings: inherit;
      letter-spacing: inherit;
      color: inherit;
      opacity: 1;
      background-color: #0000;
      border-radius: 0
   }

   ::file-selector-button {
      font: inherit;
      font-feature-settings: inherit;
      font-variation-settings: inherit;
      letter-spacing: inherit;
      color: inherit;
      opacity: 1;
      background-color: #0000;
      border-radius: 0
   }

   :where(select:is([multiple], [size])) optgroup {
      font-weight: bolder
   }

   :where(select:is([multiple], [size])) optgroup option {
      padding-inline-start: 20px
   }

   ::file-selector-button {
      margin-inline-end: 4px
   }

   ::placeholder {
      opacity: 1
   }

   @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
      ::placeholder {
         color: currentColor
      }

      @supports (color:color-mix(in lab, red, red)) {
         ::placeholder {
            color: color-mix(in oklab, currentcolor 50%, transparent)
         }
      }
   }

   textarea {
      resize: vertical
   }

   ::-webkit-search-decoration {
      -webkit-appearance: none
   }

   ::-webkit-date-and-time-value {
      min-height: 1lh;
      text-align: inherit
   }

   ::-webkit-datetime-edit {
      display: inline-flex
   }

   ::-webkit-datetime-edit-fields-wrapper {
      padding: 0
   }

   ::-webkit-datetime-edit {
      padding-block: 0
   }

   ::-webkit-datetime-edit-year-field {
      padding-block: 0
   }

   ::-webkit-datetime-edit-month-field {
      padding-block: 0
   }

   ::-webkit-datetime-edit-day-field {
      padding-block: 0
   }

   ::-webkit-datetime-edit-hour-field {
      padding-block: 0
   }

   ::-webkit-datetime-edit-minute-field {
      padding-block: 0
   }

   ::-webkit-datetime-edit-second-field {
      padding-block: 0
   }

   ::-webkit-datetime-edit-millisecond-field {
      padding-block: 0
   }

   ::-webkit-datetime-edit-meridiem-field {
      padding-block: 0
   }

   ::-webkit-calendar-picker-indicator {
      line-height: 1
   }

   :-moz-ui-invalid {
      box-shadow: none
   }

   button,
   input:where([type=button], [type=reset], [type=submit]) {
      appearance: button
   }

   ::file-selector-button {
      appearance: button
   }

   ::-webkit-inner-spin-button {
      height: auto
   }

   ::-webkit-outer-spin-button {
      height: auto
   }

   [hidden]:where(:not([hidden=until-found])) {
      display: none !important
   }
}

@layer components;

@layer utilities {
   .visible {
      visibility: visible
   }

   .absolute {
      position: absolute
   }

   .relative {
      position: relative
   }

   .start {
      inset-inline-start: var(--spacing)
   }

   .end {
      inset-inline-end: var(--spacing)
   }

   .container {
      width: 100%
   }

   @media (width>=40rem) {
      .container {
         max-width: 40rem
      }
   }

   @media (width>=48rem) {
      .container {
         max-width: 48rem
      }
   }

   @media (width>=64rem) {
      .container {
         max-width: 64rem
      }
   }

   @media (width>=80rem) {
      .container {
         max-width: 80rem
      }
   }

   @media (width>=96rem) {
      .container {
         max-width: 96rem
      }
   }

   .block {
      display: block
   }

   .table {
      display: table
   }

   .border {
      border-style: var(--tw-border-style);
      border-width: 1px
   }

   .overline {
      text-decoration-line: overline
   }
}

:root {
   --forest: #0a5036;
   --forest-dark: #063d2a;
   --green: #158a4f;
   --lime: #7ccf3a;
   --amber: #f2a516;
   --ink: #16221c;
   --muted: #5e6d64;
   --cream: #f7f4eb;
   --mint: #e8f4ec;
   --line: #dce5de;
   --white: #fff
}

* {
   box-sizing: border-box
}

html {
   scroll-behavior: smooth
}

body {
   color: var(--ink);
   background: #fff;
   margin: 0;
   font-family: Arial, Helvetica, sans-serif
}

a {
   color: inherit;
   text-decoration: none
}

img {
   max-width: 100%;
   display: block
}

.container {
   width: min(1180px, 100% - 40px);
   margin-inline: auto
}

.skip-link {
   z-index: 1000;
   color: #000;
   background: #fff;
   padding: 10px 14px;
   position: fixed;
   top: 8px;
   left: 8px;
   transform: translateY(-150%)
}

.skip-link:focus {
   transform: none
}

.disclosure {
   background: var(--forest-dark);
   color: #dfeee4;
   font-size: 12px
}

.disclosure .container {
   justify-content: center;
   align-items: center;
   gap: 10px;
   min-height: 34px;
   display: flex
}

.disclosure strong {
   color: #fff
}

.disclosure a {
   color: #b9ee86;
   text-underline-offset: 2px;
   text-decoration: underline
}

.topbar {
   background: var(--forest);
   color: #fff;
   font-size: 12px
}

.topbar .container {
   justify-content: center;
   align-items: center;
   gap: 10px;
   min-height: 34px;
   display: flex
}

.topbar .container::before,
.topbar .container::after {
   content: "";
   flex: none;
   width: 44px;
   height: 1px;
   background: linear-gradient(90deg, #fff0, #ffffff73)
}

.topbar .container::after {
   background: linear-gradient(90deg, #ffffff73, #fff0)
}

.topbar svg {
   width: 15px;
   height: 15px;
   flex: none;
   fill: none;
   stroke: #fff;
   stroke-width: 2;
   stroke-linecap: round;
   stroke-linejoin: round
}

.topbar b {
   font-weight: 800
}

.site-header {
   z-index: 50;
   -webkit-backdrop-filter: blur(12px);
   backdrop-filter: blur(12px);
   background: #fffffff5;
   border-bottom: 1px solid #0a503617;
   position: sticky;
   top: 0
}

.header-main {
   align-items: center;
   gap: 18px;
   min-height: 78px;
   display: flex
}

.brand {
   align-items: center;
   gap: 13px;
   min-width: 218px;
   display: flex
}

.brand img {
   object-fit: contain;
   object-position: left center;
   width: 152px;
   height: 56px
}

.brand span {
   border-left: 1px solid var(--line);
   color: var(--forest);
   letter-spacing: .12em;
   text-transform: uppercase;
   padding-left: 12px;
   font-size: 10px;
   font-weight: 700;
   line-height: 1.3
}

.desktop-nav {
   align-items: center;
   gap: 18px;
   margin-left: auto;
   display: flex
}

.desktop-nav a {
   color: #31433a;
   font-size: 14px;
   font-weight: 700;
   white-space: nowrap
}

.desktop-nav a:hover {
   color: var(--green)
}

.header-actions {
   align-items: center;
   gap: 15px;
   display: flex
}

.header-actions .button {
   white-space: nowrap
}

.track-link {
   color: var(--forest);
   text-underline-offset: 4px;
   font-size: 13px;
   font-weight: 700;
   text-decoration: underline
}

.button {
   border: 1px solid #0000;
   border-radius: 8px;
   justify-content: center;
   align-items: center;
   gap: 12px;
   min-height: 48px;
   padding: 0 22px;
   font-size: 14px;
   font-weight: 800;
   transition: all .18s;
   display: inline-flex
}

.button:hover {
   transform: translateY(-2px)
}

.button-primary {
   background: var(--green);
   color: #fff;
   box-shadow: 0 8px 24px #158a4f33
}

.button-primary:hover {
   background: var(--forest)
}

.button-small {
   min-height: 42px;
   padding-inline: 18px
}

.button-secondary {
   color: var(--forest);
   background: #ffffffb3;
   border-color: #0a503638
}

.button-ghost {
   color: var(--forest);
   border-color: var(--forest)
}

.button-cream {
   background: var(--cream);
   color: var(--forest-dark)
}

.button-outline-light {
   color: #fff;
   border-color: #ffffff8c
}

.mobile-menu {
   margin-left: auto;
   display: none;
   position: relative
}

.mobile-menu summary {
   border: 1px solid var(--line);
   cursor: pointer;
   border-radius: 8px;
   align-content: center;
   gap: 4px;
   width: 42px;
   height: 42px;
   padding: 10px;
   list-style: none;
   display: grid
}

.mobile-menu summary::-webkit-details-marker {
   display: none
}

.mobile-menu summary span {
   background: var(--forest);
   height: 2px
}

.mobile-menu nav {
   border: 1px solid var(--line);
   background: #fff;
   border-radius: 12px;
   width: 250px;
   padding: 14px;
   position: absolute;
   top: 50px;
   right: 0;
   box-shadow: 0 18px 45px #063d2a24
}

.mobile-menu nav a {
   border-bottom: 1px solid var(--line);
   padding: 11px 8px;
   font-weight: 700;
   display: block
}

.hero {
   background: linear-gradient(110deg, #f5f8f2 0%, #fff 50%, #e8f4ec 100%);
   position: relative;
   overflow: hidden
}

.hero:before {
   content: "";
   border: 90px solid #7ccf3a17;
   border-radius: 50%;
   width: 520px;
   height: 520px;
   position: absolute;
   top: -210px;
   right: -190px
}

.hero-grid {
   grid-template-columns: 1.08fr .82fr;
   align-items: center;
   gap: 74px;
   padding: 80px 0 88px;
   display: grid;
   position: relative
}

.eyebrow,
.overline {
   color: var(--green);
   letter-spacing: .13em;
   text-transform: uppercase;
   font-size: 12px;
   font-weight: 900
}

.eyebrow {
   background: #ffffffc2;
   border: 1px solid #158a4f29;
   border-radius: 99px;
   align-items: center;
   gap: 8px;
   padding: 8px 12px;
   display: inline-flex
}

.hero h1 {
   max-width: 690px;
   color: var(--forest-dark);
   letter-spacing: -.045em;
   margin: 22px 0;
   font-family: Georgia, Times New Roman, serif;
   font-size: clamp(48px, 5.2vw, 76px);
   font-weight: 600;
   line-height: .99
}

.hero h1 em {
   color: var(--green);
   font-style: normal
}

.hero-lead {
   color: #4d5f55;
   max-width: 655px;
   margin: 0;
   font-size: 19px;
   line-height: 1.68
}

.hero-actions {
   flex-wrap: wrap;
   gap: 12px;
   margin-top: 30px;
   display: flex
}

.trust-row {
   color: #43544a;
   flex-wrap: wrap;
   gap: 22px;
   margin-top: 27px;
   font-size: 13px;
   font-weight: 700;
   display: flex
}

.trust-row b {
   width: 21px;
   height: 21px;
   color: var(--green);
   background: #dbf2df;
   border-radius: 50%;
   place-items: center;
   margin-right: 6px;
   display: inline-grid
}

.action-panel {
   background: #fffffff0;
   border: 1px solid #0a50361f;
   border-radius: 18px;
   padding: 30px;
   position: relative;
   box-shadow: 0 30px 70px #063d2a21
}

.action-panel:before {
   content: "";
   background: linear-gradient(90deg, var(--green), var(--lime), var(--amber));
   border-radius: 0 0 5px 5px;
   height: 4px;
   position: absolute;
   top: 0;
   left: 30px;
   right: 30px
}

.panel-kicker {
   color: var(--amber);
   letter-spacing: .15em;
   text-transform: uppercase;
   font-size: 11px;
   font-weight: 900
}

.action-panel h2 {
   color: var(--forest-dark);
   margin: 8px 0 20px;
   font: 600 27px/1.15 Georgia, serif
}

.quick-links {
   gap: 9px;
   display: grid
}

.quick-links a {
   border: 1px solid var(--line);
   border-radius: 10px;
   grid-template-columns: 42px 1fr auto;
   align-items: center;
   gap: 12px;
   padding: 13px;
   transition: all .18s;
   display: grid
}

.quick-links a:hover {
   background: #f4faf5;
   border-color: #8fc6a4
}

.quick-links strong {
   color: #193426;
   font-size: 14px;
   display: block
}

.quick-links small {
   color: var(--muted);
   margin-top: 3px;
   font-size: 11px;
   display: block
}

.quick-links b {
   color: var(--green);
   font-size: 24px;
   font-weight: 400
}

.quick-icon {
   background: var(--mint);
   width: 42px;
   height: 42px;
   color: var(--forest);
   border-radius: 9px;
   place-items: center;
   font-weight: 900;
   display: grid
}

.panel-help {
   color: var(--muted);
   text-align: center;
   margin: 18px 0 0;
   font-size: 12px
}

.panel-help a {
   color: var(--forest);
   font-weight: 800;
   text-decoration: underline
}

.hero-band {
   grid-template-columns: 1fr 1.4fr .65fr;
   height: 6px;
   display: grid;
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0
}

.hero-band span:first-child {
   background: var(--forest)
}

.hero-band span:nth-child(2) {
   background: var(--lime)
}

.hero-band span:nth-child(3) {
   background: var(--amber)
}

.section {
   padding: 100px 0
}

.section-heading h2,
.process-intro h2,
.reassurance-card h2,
.uk-section h2 {
   color: var(--forest-dark);
   letter-spacing: -.025em;
   margin: 10px 0 0;
   font: 600 clamp(34px, 4vw, 52px)/1.08 Georgia, serif
}

.section-heading p {
   color: var(--muted);
   line-height: 1.75
}

.split-heading {
   grid-template-columns: 1.15fr .75fr;
   align-items: end;
   gap: 80px;
   display: grid
}

.split-heading p {
   margin: 0 0 5px
}

.service-grid {
   grid-template-columns: repeat(4, 1fr);
   gap: 16px;
   margin-top: 44px;
   display: grid
}

.service-card {
   border: 1px solid var(--line);
   background: #fff;
   border-radius: 14px;
   flex-direction: column;
   min-height: 300px;
   padding: 28px;
   transition: all .2s;
   display: flex;
   box-shadow: 0 8px 30px #063d2a09
}

.service-card:hover {
   border-color: #95c9a8;
   transform: translateY(-5px);
   box-shadow: 0 18px 45px #063d2a1a
}

.service-icon {
   border-radius: 12px;
   place-items: center;
   width: 58px;
   height: 58px;
   font-size: 12px;
   font-weight: 900;
   display: grid
}

.service-icon.green {
   color: var(--forest);
   background: #dff1e5
}

.service-icon.amber {
   color: #955c00;
   background: #fff0ce
}

.service-icon.mint {
   color: #0d6950;
   background: #e4f7f0
}

.service-icon.forest {
   background: var(--forest);
   color: #fff
}

.service-card h3 {
   color: var(--forest-dark);
   margin: 24px 0 11px;
   font-size: 20px;
   line-height: 1.25
}

.service-card p {
   color: var(--muted);
   margin: 0;
   font-size: 14px;
   line-height: 1.7
}

.text-link {
   color: var(--green);
   margin-top: auto;
   padding-top: 23px;
   font-size: 13px;
   font-weight: 900
}

.text-link.large {
   margin-top: 24px;
   padding: 0;
   font-size: 14px;
   display: inline-block
}

.all-services {
   text-align: center;
   margin-top: 28px
}

.process-section {
   background: var(--forest-dark);
   color: #fff;
   position: relative;
   overflow: hidden
}

.process-grid {
   grid-template-columns: .8fr 1.2fr;
   gap: 100px;
   display: grid;
   position: relative
}

.overline.light {
   color: #b7e984
}

.process-intro h2 {
   color: #fff
}

.process-intro p {
   color: #bdd0c5;
   margin: 22px 0 30px;
   line-height: 1.75
}

.steps-list {
   border-top: 1px solid #ffffff24;
   margin: 0;
   padding: 0;
   list-style: none
}

.steps-list li {
   border-bottom: 1px solid #ffffff24;
   grid-template-columns: 66px 1fr;
   gap: 18px;
   padding: 25px 0;
   display: grid
}

.steps-list>li>span {
   color: #a9dd78;
   font: 600 24px Georgia, serif
}

.steps-list h3 {
   margin: 0 0 7px;
   font-size: 18px
}

.steps-list p {
   color: #b9cbc0;
   margin: 0;
   font-size: 14px;
   line-height: 1.6
}

.reassurance-section {
   background: var(--cream)
}

.reassurance-grid {
   grid-template-columns: 1fr 1fr;
   align-items: center;
   gap: 70px;
   display: grid
}

.reassurance-card {
   background: #ffffffb8;
   border: 1px solid #dfe4d8;
   border-radius: 18px;
   padding: 48px;
   position: relative;
   overflow: hidden
}

.fingerprint {
   color: #158a4f14;
   font-size: 210px;
   line-height: 1;
   position: absolute;
   top: -45px;
   right: -25px
}

.reassurance-card h2,
.reassurance-card>p {
   position: relative
}

.reassurance-card>p {
   color: var(--muted);
   line-height: 1.75
}

.metric-row {
   border-top: 1px solid #d7dfd7;
   grid-template-columns: repeat(3, 1fr);
   gap: 14px;
   margin-top: 34px;
   padding-top: 26px;
   display: grid;
   position: relative
}

.metric-row strong,
.metric-row span {
   display: block
}

.metric-row strong {
   color: var(--forest)
}

.metric-row span {
   color: var(--muted);
   margin-top: 5px;
   font-size: 11px
}

.checklist article {
   border-bottom: 1px solid #d7dfd7;
   grid-template-columns: 48px 1fr;
   gap: 19px;
   padding: 23px 0;
   display: grid
}

.checklist article>span {
   width: 42px;
   height: 42px;
   color: var(--green);
   background: #fff;
   border-radius: 50%;
   place-items: center;
   font-size: 12px;
   font-weight: 900;
   display: grid
}

.checklist h3 {
   color: var(--forest-dark);
   margin: 1px 0 6px;
   font-size: 18px
}

.checklist p {
   color: var(--muted);
   margin: 0;
   font-size: 14px;
   line-height: 1.6
}

.uk-grid {
   grid-template-columns: 1.15fr .7fr;
   align-items: center;
   gap: 90px;
   display: grid
}

.uk-section p {
   color: var(--muted);
   line-height: 1.75
}

.location-pills {
   flex-wrap: wrap;
   gap: 8px;
   margin-top: 25px;
   display: flex
}

.location-pills span {
   border: 1px solid var(--line);
   color: #405149;
   background: #fbfcfb;
   border-radius: 99px;
   padding: 9px 13px;
   font-size: 12px;
   font-weight: 700
}

.contact-card {
   background: var(--forest);
   color: #fff;
   border-radius: 16px;
   padding: 38px;
   box-shadow: 18px 18px #e4f0e7
}

.contact-mark {
   color: #d8f6bd;
   border: 1px solid #ffffff59;
   border-radius: 50%;
   place-items: center;
   width: 68px;
   height: 68px;
   font: 700 16px Georgia, serif;
   display: grid
}

.contact-mark span {
   font: 700 8px Arial
}

.contact-card h3 {
   margin: 24px 0 10px;
   font: 600 28px/1.15 Georgia, serif
}

.contact-card>p {
   color: #c6dbcf;
   font-size: 14px
}

.contact-card a {
   border-top: 1px solid #ffffff26;
   padding: 15px 0;
   display: block
}

.contact-card small,
.contact-card strong {
   display: block
}

.contact-card small {
   color: #b6ccbf;
   font-size: 11px
}

.contact-card strong {
   margin-top: 4px;
   font-size: 17px
}

.contact-card address {
   color: #c6dbcf;
   border-top: 1px solid #ffffff26;
   padding-top: 17px;
   font-size: 13px;
   font-style: normal;
   line-height: 1.55
}

.faq-section {
   background: #f6f9f6
}

.faq-grid {
   grid-template-columns: .65fr 1.2fr;
   gap: 90px;
   display: grid
}

.accordion details {
   border-bottom: 1px solid #cfdad2
}

.accordion summary {
   color: var(--forest-dark);
   cursor: pointer;
   justify-content: space-between;
   gap: 25px;
   padding: 24px 0;
   font-size: 17px;
   font-weight: 800;
   list-style: none;
   display: flex
}

.accordion summary::-webkit-details-marker {
   display: none
}

.accordion summary span {
   color: var(--green);
   font-size: 22px
}

.accordion details[open] summary span {
   transform: rotate(45deg)
}

.accordion details p {
   color: var(--muted);
   margin: -6px 44px 24px 0;
   font-size: 14px;
   line-height: 1.75
}

.hero-support-column {
   align-items: start;
   display: grid;
   position: relative
}

.hero-human-photo {
   background: #fff;
   border: 7px solid #fff;
   border-radius: 20px;
   margin: 0 18px 0 0;
   position: relative;
   overflow: hidden;
   box-shadow: 0 25px 65px #063d2a22
}

.hero-human-photo img {
   object-fit: cover;
   object-position: center;
   width: 100%;
   height: 300px
}

.hero-human-photo figcaption {
   color: #fff;
   background: #063d2ae8;
   border: 1px solid #ffffff8c;
   border-radius: 10px;
   align-items: center;
   gap: 10px;
   padding: 11px 14px;
   display: flex;
   position: absolute;
   bottom: 17px;
   left: 17px;
   box-shadow: 0 8px 22px #0002
}

.hero-human-photo figcaption>span {
   width: 28px;
   height: 28px;
   color: var(--forest-dark);
   background: #b9ea8c;
   border-radius: 50%;
   place-items: center;
   font-weight: 900;
   display: grid
}

.hero-human-photo figcaption strong,
.hero-human-photo figcaption small {
   display: block
}

.hero-human-photo figcaption strong {
   font-size: 12px
}

.hero-human-photo figcaption small {
   color: #cbdcd2;
   margin-top: 3px;
   font-size: 9px
}

.hero-support-column .action-panel {
   z-index: 2;
   margin: -45px 0 0 58px;
   padding: 25px
}

.hero-support-column .action-panel h2 {
   font-size: 24px
}

.hero-support-column .quick-links a {
   padding: 10px
}

.hero-support-column .quick-icon {
   width: 38px;
   height: 38px
}

.trust-bar {
   z-index: 3;
   border-bottom: 1px solid var(--line);
   background: #fff;
   position: relative
}

.trust-bar>.container {
   grid-template-columns: repeat(4, 1fr);
   display: grid
}

.trust-bar>.container>div {
   border-left: 1px solid var(--line);
   align-items: center;
   gap: 13px;
   min-height: 96px;
   padding: 22px 20px;
   display: flex
}

.trust-bar>.container>div:last-child {
   border-right: 1px solid var(--line)
}

.trust-bar b {
   background: var(--mint);
   width: 32px;
   height: 32px;
   color: var(--green);
   border-radius: 50%;
   flex: none;
   place-items: center;
   font-size: 10px;
   display: grid
}

.trust-bar strong,
.trust-bar small {
   display: block
}

.trust-bar strong {
   color: var(--forest-dark);
   font-size: 12px
}

.trust-bar small {
   color: var(--muted);
   margin-top: 5px;
   font-size: 10px;
   line-height: 1.35
}

.process-photo {
   border: 5px solid #ffffff18;
   border-radius: 14px;
   margin: 34px 0 0;
   position: relative;
   overflow: hidden
}

.process-photo img {
   object-fit: cover;
   width: 100%;
   height: 250px
}

.process-photo figcaption {
   color: #e4f1e9;
   background: linear-gradient(#0000, #042c20e8);
   padding: 24px 16px 13px;
   font-size: 11px;
   font-weight: 700;
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0
}

.human-trust-card {
   background: #fff;
   border: 1px solid #dfe4d8;
   border-radius: 18px;
   overflow: hidden;
   box-shadow: 0 18px 45px #063d2a10
}

.human-trust-card>img {
   object-fit: cover;
   width: 100%;
   height: 285px
}

.human-trust-copy {
   padding: 30px
}

.human-trust-copy h2 {
   color: var(--forest-dark);
   margin: 8px 0 12px;
   font: 600 32px/1.12 Georgia, serif
}

.human-trust-copy p {
   color: var(--muted);
   margin: 0;
   font-size: 13px;
   line-height: 1.7
}

.human-trust-copy a {
   color: var(--green);
   margin-top: 18px;
   font-size: 12px;
   font-weight: 900;
   display: inline-block
}

.reviews-section {
   background: linear-gradient(135deg, #fff 0%, #f6faf7 100%)
}

.reviews-layout {
   grid-template-columns: 1.08fr .92fr;
   align-items: stretch;
   gap: 22px;
   margin-top: 44px;
   display: grid
}

.featured-review {
   background: #fff;
   border: 1px solid #cddfd3;
   border-radius: 18px;
   margin: 0;
   padding: 46px;
   position: relative;
   overflow: hidden;
   box-shadow: 0 18px 50px #063d2a0c
}

.quote-mark {
   color: #dff0e4;
   font: 160px/1 Georgia, serif;
   position: absolute;
   top: -28px;
   right: 24px
}

.featured-review>p {
   color: #33483d;
   margin: 0 0 16px;
   font: 400 17px/1.75 Georgia, serif;
   position: relative
}

.featured-review footer {
   border-top: 1px solid var(--line);
   align-items: center;
   gap: 14px;
   margin-top: 30px;
   padding-top: 24px;
   display: flex;
   position: relative
}

.review-avatar {
   background: var(--forest);
   color: #fff;
   border-radius: 50%;
   flex: none;
   place-items: center;
   width: 44px;
   height: 44px;
   font: 600 18px Georgia, serif;
   display: grid
}

.featured-review footer strong,
.featured-review footer small {
   display: block
}

.featured-review footer strong {
   color: var(--forest-dark);
   font-size: 13px
}

.featured-review footer small {
   max-width: 430px;
   color: var(--muted);
   margin-top: 5px;
   font-size: 10px;
   line-height: 1.45
}

.trust-principles {
   gap: 10px;
   display: grid
}

.trust-principles article {
   border: 1px solid var(--line);
   background: #fff;
   border-radius: 14px;
   grid-template-columns: 40px 1fr;
   align-items: start;
   gap: 16px;
   padding: 25px;
   display: grid
}

.trust-principles article>b {
   background: var(--mint);
   width: 40px;
   height: 40px;
   color: var(--green);
   border-radius: 10px;
   place-items: center;
   font-size: 11px;
   display: grid
}

.trust-principles h3 {
   color: var(--forest-dark);
   margin: 2px 0 7px;
   font-size: 17px
}

.trust-principles p {
   color: var(--muted);
   margin: 0;
   font-size: 12px;
   line-height: 1.6
}

.final-cta {
   background: linear-gradient(115deg, var(--forest), var(--forest-dark));
   color: #fff;
   padding: 70px 0
}

.final-cta-inner {
   justify-content: space-between;
   align-items: center;
   gap: 60px;
   display: flex
}

.final-cta h2 {
   margin: 8px 0;
   font: 600 clamp(32px, 4vw, 49px)/1.05 Georgia, serif
}

.final-cta p {
   color: #c7d8ce;
   margin: 0
}

.final-cta .hero-actions {
   flex-shrink: 0;
   margin: 0
}

.site-footer {
   color: #c1cec6;
   background: #10241a;
   padding: 70px 0 24px
}

.footer-grid {
   grid-template-columns: 1.3fr repeat(3, .7fr);
   gap: 50px;
   display: grid
}

.footer-brand img {
   background: #fff;
   border-radius: 6px;
   width: 160px;
   padding: 8px 10px
}

.footer-brand p {
   max-width: 280px;
   font-size: 13px;
   line-height: 1.7
}

.footer-badge {
   text-transform: uppercase;
   border: 1px solid #fff3;
   border-radius: 4px;
   padding: 7px 9px;
   font-size: 10px;
   display: inline-block
}

.site-footer h2 {
   color: #fff;
   letter-spacing: .08em;
   text-transform: uppercase;
   margin: 0 0 19px;
   font-size: 13px
}

.site-footer a {
   margin: 11px 0;
   font-size: 13px;
   display: block
}

.site-footer address {
   font-size: 13px;
   font-style: normal;
   line-height: 1.7
}

.footer-bottom {
   border-top: 1px solid #ffffff1f;
   justify-content: space-between;
   gap: 30px;
   margin-top: 52px;
   padding-top: 22px;
   font-size: 11px;
   display: flex
}

.footer-bottom div {
   gap: 18px;
   display: flex
}

.footer-bottom a {
   margin: 0
}

.mobile-cta {
   display: none
}

@media (width<=1300px) {
   .brand span {
      display: none
   }
}

@media (width<=1160px) {
   .desktop-nav {
      display: none
   }

   .mobile-menu {
      display: block
   }

   .header-actions {
      margin-left: auto
   }

   .hero-grid {
      gap: 42px
   }

   .hero-support-column .action-panel {
      margin-left: 30px
   }

   .service-grid {
      grid-template-columns: repeat(2, 1fr)
   }
}

@media (width<=900px) {
   .hero-grid {
      grid-template-columns: 1fr;
      gap: 35px
   }

   .hero-copy {
      max-width: 760px
   }

   .hero-support-column {
      max-width: 720px
   }

   .trust-bar>.container {
      grid-template-columns: 1fr 1fr
   }

   .trust-bar>.container>div:nth-child(odd) {
      border-left: 1px solid var(--line)
   }

   .trust-bar>.container>div {
      border-bottom: 1px solid var(--line)
   }

   .reviews-layout {
      grid-template-columns: 1fr
   }
}

@media (width<=760px) {
   .container {
      width: min(100% - 28px, 1180px)
   }

   .disclosure .container {
      flex-wrap: wrap;
      justify-content: flex-start;
      padding: 7px 0
   }

   .disclosure span {
      display: none
   }

   .header-main {
      min-height: 66px
   }

   .brand img {
      width: 130px;
      height: 49px
   }

   .brand span,
   .header-actions {
      display: none
   }

   .hero-grid {
      grid-template-columns: 1fr;
      gap: 42px;
      padding: 53px 0 66px
   }

   .hero h1 {
      font-size: 48px
   }

   .hero-lead {
      font-size: 17px
   }

   .hero-actions .button {
      width: 100%
   }

   .trust-row {
      gap: 10px;
      display: grid
   }

   .hero-human-photo {
      margin: 0
   }

   .hero-human-photo img {
      height: 245px
   }

   .hero-human-photo figcaption {
      bottom: 12px;
      left: 12px
   }

   .hero-support-column .action-panel {
      margin: -24px 10px 0;
      padding: 23px 18px
   }

   .trust-bar>.container>div {
      min-height: 86px;
      padding: 17px 13px
   }

   .section {
      padding: 70px 0
   }

   .split-heading,
   .process-grid,
   .reassurance-grid,
   .uk-grid,
   .faq-grid {
      grid-template-columns: 1fr;
      gap: 42px
   }

   .split-heading {
      gap: 18px
   }

   .process-photo img {
      height: 220px
   }

   .service-grid {
      grid-template-columns: 1fr
   }

   .service-card {
      min-height: 250px
   }

   .human-trust-card>img {
      height: 245px
   }

   .human-trust-copy {
      padding: 25px 21px
   }

   .featured-review {
      padding: 32px 23px
   }

   .featured-review>p {
      font-size: 16px
   }

   .trust-principles article {
      padding: 20px
   }

   .reassurance-card {
      padding: 30px 22px
   }

   .metric-row {
      grid-template-columns: 1fr
   }

   .contact-card {
      margin-right: 10px;
      padding: 30px 24px;
      box-shadow: 10px 10px #e4f0e7
   }

   .final-cta-inner {
      display: block
   }

   .final-cta .hero-actions {
      margin-top: 28px
   }

   .footer-grid {
      grid-template-columns: 1fr 1fr
   }

   .footer-brand {
      grid-column: 1/-1
   }

   .footer-bottom {
      padding-bottom: 58px;
      display: block
   }

   .mobile-cta {
      z-index: 60;
      border-radius: 10px;
      grid-template-columns: 1fr 1.4fr;
      display: grid;
      position: fixed;
      bottom: 10px;
      left: 10px;
      right: 10px;
      overflow: hidden;
      box-shadow: 0 8px 30px #0003
   }

   .mobile-cta a {
      min-height: 50px;
      color: var(--forest);
      background: #fff;
      place-items: center;
      font-size: 13px;
      font-weight: 900;
      display: grid
   }

   .mobile-cta a:last-child {
      background: var(--green);
      color: #fff
   }
}

@media (width<=450px) {
   .hero h1 {
      font-size: 42px
   }

   .section-heading h2,
   .process-intro h2,
   .reassurance-card h2,
   .uk-section h2 {
      font-size: 36px
   }

   .footer-grid {
      grid-template-columns: 1fr
   }

   .footer-brand {
      grid-column: auto
   }
}

@media (prefers-reduced-motion:reduce) {
   html {
      scroll-behavior: auto
   }

   * {
      transition: none !important
   }
}

.inner-hero {
   background: linear-gradient(120deg, #f4f8f3, #fff 55%, #e8f4ec);
   padding: 78px 0;
   position: relative;
   overflow: hidden
}

.inner-hero:after {
   content: "";
   border: 80px solid #7ccf3a12;
   border-radius: 50%;
   width: 500px;
   height: 500px;
   position: absolute;
   bottom: -260px;
   right: -150px
}

.inner-hero .container {
   z-index: 1;
   position: relative
}

.breadcrumbs {
   color: #68786f;
   flex-wrap: wrap;
   gap: 8px;
   margin-bottom: 24px;
   font-size: 11px;
   display: flex
}

.breadcrumbs a {
   color: var(--green);
   font-weight: 800
}

.inner-hero h1 {
   max-width: 830px;
   color: var(--forest-dark);
   letter-spacing: -.04em;
   margin: 13px 0 18px;
   font: 600 clamp(43px, 5vw, 68px)/1.02 Georgia, serif
}

.inner-hero p {
   color: #506258;
   max-width: 760px;
   margin: 0;
   font-size: 18px;
   line-height: 1.7
}

.inner-hero-grid {
   grid-template-columns: 1.1fr .65fr;
   align-items: center;
   gap: 80px;
   display: grid
}

.service-summary {
   background: #fffffff0;
   border: 1px solid #cfe0d4;
   border-radius: 16px;
   padding: 30px;
   box-shadow: 0 20px 55px #063d2a16
}

.service-code {
   background: var(--forest);
   color: #fff;
   border-radius: 11px;
   place-items: center;
   width: 58px;
   height: 58px;
   font-size: 11px;
   font-weight: 900;
   display: grid
}

.service-summary h2 {
   color: var(--forest-dark);
   margin: 18px 0 12px;
   font: 600 25px Georgia, serif
}

.service-summary ul {
   margin: 0;
   padding: 0;
   list-style: none
}

.service-summary li {
   border-bottom: 1px solid var(--line);
   color: var(--green);
   gap: 9px;
   padding: 9px 0;
   font-size: 12px;
   font-weight: 900;
   display: flex
}

.service-summary li span {
   color: #506158;
   font-weight: 600;
   line-height: 1.45
}

.service-summary>a {
   color: var(--green);
   margin-top: 16px;
   font-size: 12px;
   font-weight: 900;
   display: block
}

.content-layout {
   grid-template-columns: minmax(0, 1fr) 300px;
   align-items: start;
   gap: 80px;
   display: grid
}

.prose {
   min-width: 0
}

.prose h2,
.page-content h2 {
   color: var(--forest-dark);
   letter-spacing: -.02em;
   margin: 40px 0 14px;
   font: 600 34px/1.14 Georgia, serif
}

.prose p,
.page-content p {
   color: var(--muted);
   line-height: 1.78
}

.prose .lead-paragraph {
   color: #3d5046;
   margin: 12px 0 0;
   font-size: 18px
}

.tick-list {
   grid-template-columns: 1fr 1fr;
   gap: 10px;
   margin: 22px 0 0;
   padding: 0;
   list-style: none;
   display: grid
}

.tick-list li {
   border: 1px solid var(--line);
   color: #405149;
   border-radius: 9px;
   padding: 15px 16px 15px 44px;
   font-size: 14px;
   line-height: 1.5;
   position: relative
}

.tick-list li:before {
   content: "✓";
   color: var(--green);
   font-weight: 900;
   position: absolute;
   top: 15px;
   left: 16px
}

.support-box {
   background: var(--forest-dark);
   color: #fff;
   border-radius: 16px;
   margin: 55px 0;
   padding: 38px
}

.support-box h2 {
   color: #fff;
   margin: 9px 0 23px
}

.support-grid {
   grid-template-columns: 1fr 1fr;
   gap: 0 28px;
   display: grid
}

.support-grid>div {
   border-top: 1px solid #ffffff26;
   grid-template-columns: 35px 1fr;
   gap: 10px;
   padding: 15px 0;
   display: grid
}

.support-grid b {
   color: #aee278;
   font: 600 17px Georgia, serif
}

.support-grid span {
   color: #d2e0d8;
   font-size: 13px;
   line-height: 1.55
}

.document-list {
   grid-template-columns: 1fr 1fr;
   gap: 10px;
   margin: 20px 0 0;
   padding: 0;
   list-style: none;
   display: grid
}

.document-list li {
   border: 1px solid var(--line);
   color: #405149;
   background: #fbfdfb;
   border-radius: 9px;
   align-items: center;
   gap: 12px;
   padding: 16px;
   font-size: 13px;
   line-height: 1.45;
   display: flex
}

.document-list span {
   color: var(--green);
   font-size: 19px
}

.what-next {
   margin: 55px 0
}

.mini-steps {
   grid-template-columns: repeat(4, 1fr);
   gap: 8px;
   display: grid
}

.mini-steps>div {
   border-top: 3px solid var(--green);
   background: var(--cream);
   padding: 20px 15px
}

.mini-steps b {
   color: var(--green);
   font: 600 22px Georgia, serif;
   display: block
}

.mini-steps span,
.mini-steps strong {
   display: block
}

.mini-steps span {
   color: var(--muted);
   margin-top: 15px;
   font-size: 12px;
   line-height: 1.5
}

.mini-steps strong {
   color: var(--forest-dark);
   margin-bottom: 4px;
   font-size: 14px
}

.considerations {
   border-left: 4px solid var(--amber);
   background: #fff8e8;
   padding: 28px
}

.considerations h2 {
   margin-top: 0;
   font-size: 27px
}

.considerations p {
   gap: 12px;
   margin: 12px 0;
   display: flex
}

.considerations b {
   background: var(--amber);
   color: #fff;
   border-radius: 50%;
   flex: none;
   place-items: center;
   width: 22px;
   height: 22px;
   font-size: 11px;
   display: grid
}

.service-faq {
   /* margin-top: 55px */
}

.service-faq details {
   border-bottom: 1px solid var(--line)
}

.service-faq summary {
   color: var(--forest-dark);
   cursor: pointer;
   justify-content: space-between;
   gap: 20px;
   padding: 21px 0;
   font-size: 16px;
   font-weight: 800;
   list-style: none;
   display: flex
}

.service-faq summary::-webkit-details-marker {
   display: none
}

.service-faq summary span {
   color: var(--green);
   font-size: 21px
}

.service-faq details p {
   margin: -5px 40px 22px 0
}

.official-source {
   background: #f4faf5;
   border: 1px solid #c8dacd;
   border-radius: 12px;
   justify-content: space-between;
   align-items: center;
   gap: 28px;
   margin-top: 45px;
   padding: 24px;
   display: flex
}

.official-source strong {
   color: var(--forest-dark)
}

.official-source p {
   margin: 5px 0 0;
   font-size: 12px
}

.official-source a {
   color: var(--green);
   text-underline-offset: 4px;
   flex: none;
   font-size: 12px;
   font-weight: 900;
   text-decoration: underline
}

.sticky-aside {
   position: sticky;
   top: 110px
}

.service-aside-photo {
   background: var(--forest-dark);
   border-radius: 14px;
   margin: 0 0 15px;
   position: relative;
   overflow: hidden;
   box-shadow: 0 15px 40px #063d2a14
}

.service-aside-photo img {
   object-fit: cover;
   width: 100%;
   height: 190px
}

.service-aside-photo figcaption {
   color: #d7e6dc;
   padding: 14px 16px;
   font-size: 10px;
   line-height: 1.5
}

.aside-card {
   border: 1px solid var(--line);
   background: #fff;
   border-radius: 14px;
   padding: 28px;
   box-shadow: 0 15px 45px #063d2a12
}

.aside-card h2 {
   margin: 8px 0 12px !important;
   font-size: 27px !important
}

.aside-card p {
   font-size: 13px
}

.aside-card .button {
   width: 100%;
   margin: 8px 0 15px
}

.aside-contact {
   border-top: 1px solid var(--line);
   padding: 14px 0;
   display: block
}

.aside-contact small,
.aside-contact strong {
   display: block
}

.aside-contact small {
   color: var(--muted);
   font-size: 10px
}

.aside-contact strong {
   color: var(--forest);
   word-break: break-word;
   margin-top: 4px;
   font-size: 14px
}

.aside-trust {
   background: var(--cream);
   border-radius: 12px;
   margin-top: 15px;
   padding: 20px
}

.aside-trust b,
.aside-trust span {
   display: block
}

.aside-trust b {
   color: var(--forest-dark);
   margin-top: 11px;
   font-size: 12px
}

.aside-trust b:first-child {
   margin-top: 0
}

.aside-trust span {
   color: var(--muted);
   margin-top: 3px;
   font-size: 10px
}

.services-directory {
   background: #f7faf7
}

.service-group+.service-group {
   border-top: 1px solid var(--line);
   margin-top: 80px;
   padding-top: 70px
}

.group-title {
   max-width: 650px
}

.group-title h2 {
   color: var(--forest-dark);
   margin: 9px 0 28px;
   font: 600 39px Georgia, serif
}

.directory-grid {
   grid-template-columns: repeat(3, 1fr);
   gap: 14px;
   display: grid
}

.directory-grid>a {
   border: 1px solid var(--line);
   background: #fff;
   border-radius: 12px;
   flex-direction: column;
   min-height: 250px;
   padding: 26px;
   transition: all .2s;
   display: flex
}

.directory-grid>a:hover {
   border-color: #9ecbad;
   transform: translateY(-4px);
   box-shadow: 0 15px 36px #063d2a12
}

.directory-grid>a>span {
   background: var(--mint);
   width: 50px;
   height: 50px;
   color: var(--forest);
   border-radius: 9px;
   place-items: center;
   font-size: 10px;
   font-weight: 900;
   display: grid
}

.directory-grid h3 {
   color: var(--forest-dark);
   margin: 20px 0 9px;
   font-size: 19px
}

.directory-grid p {
   color: var(--muted);
   margin: 0;
   font-size: 13px;
   line-height: 1.65
}

.directory-grid b {
   color: var(--green);
   margin-top: auto;
   padding-top: 20px;
   font-size: 12px
}

.page-content {
   background: #fff
}

.narrow {
   max-width: 900px
}

.timeline {
   position: relative
}

.timeline:before {
   content: "";
   background: #b9d4c2;
   width: 1px;
   position: absolute;
   top: 35px;
   bottom: 35px;
   left: 34px
}

.timeline article {
   grid-template-columns: 70px 1fr;
   gap: 28px;
   padding: 25px 0;
   display: grid;
   position: relative
}

.timeline article>span {
   z-index: 1;
   width: 70px;
   height: 70px;
   color: var(--green);
   background: #fff;
   border: 1px solid #9fc6ac;
   border-radius: 50%;
   place-items: center;
   font: 600 21px Georgia, serif;
   display: grid
}

.timeline h2 {
   margin: 8px 0 9px
}

.timeline p {
   margin: 0
}

.boundary-card {
   background: var(--cream);
   border-radius: 16px;
   margin-top: 60px;
   padding: 42px
}

.boundary-card>div {
   grid-template-columns: 1fr 1fr;
   gap: 40px;
   display: grid
}

.boundary-card h2 {
   font-size: 28px
}

.alert-card {
   border-left: 4px solid var(--amber);
   background: #fff7e5;
   max-width: 900px;
   padding: 22px 25px
}

.alert-card strong {
   color: #674800
}

.alert-card p {
   margin: 6px 0 0
}

.document-groups {
   grid-template-columns: 1fr 1fr;
   gap: 16px;
   margin-top: 38px;
   display: grid
}

.document-groups article {
   border: 1px solid var(--line);
   background: #fcfdfc;
   border-radius: 13px;
   padding: 30px
}

.document-groups h2 {
   margin: 8px 0 14px;
   font-size: 27px
}

.document-groups ul {
   color: var(--muted);
   margin: 0;
   padding-left: 18px
}

.document-groups li {
   margin: 10px 0;
   line-height: 1.55
}

.privacy-panel {
   background: var(--forest-dark);
   color: #fff;
   border-radius: 16px;
   justify-content: space-between;
   align-items: center;
   gap: 50px;
   margin-top: 50px;
   padding: 42px;
   display: flex
}

.privacy-panel h2 {
   color: #fff;
   margin: 8px 0
}

.privacy-panel p {
   color: #c6d7ce;
   margin: 0
}

.privacy-panel .button {
   flex: none
}

.faq-page-grid {
   grid-template-columns: 280px 1fr;
   gap: 70px;
   display: grid
}

.faq-page-grid>aside {
   background: var(--cream);
   border-radius: 13px;
   align-self: start;
   padding: 28px;
   position: sticky;
   top: 110px
}

.faq-page-grid>aside h2 {
   margin-top: 0
}

.faq-page-grid>aside .button {
   margin-top: 12px
}

.two-column-story {
   grid-template-columns: 1fr .7fr;
   gap: 85px;
   display: grid
}

.values-card {
   background: var(--forest-dark);
   color: #fff;
   border-radius: 16px;
   padding: 40px
}

.values-card h2 {
   color: #fff;
   margin: 8px 0 25px
}

.values-card>div {
   border-top: 1px solid #ffffff26;
   padding: 19px 0
}

.values-card strong {
   color: #b8e785
}

.values-card p {
   color: #c6d8ce;
   margin: 6px 0 0;
   font-size: 13px
}

.contact-page-grid {
   grid-template-columns: 1fr .7fr;
   gap: 60px;
   display: grid
}

.contact-methods {
   grid-template-columns: 1fr 1fr;
   gap: 13px;
   display: grid
}

.contact-methods>a,
.contact-methods>div {
   border: 1px solid var(--line);
   background: #fff;
   border-radius: 12px;
   padding: 28px
}

.contact-methods span,
.contact-methods strong,
.contact-methods small {
   display: block
}

.contact-methods span {
   color: var(--green);
   letter-spacing: .12em;
   text-transform: uppercase;
   font-size: 10px;
   font-weight: 900
}

.contact-methods strong {
   color: var(--forest-dark);
   word-break: break-word;
   margin-top: 13px;
   font-size: 19px
}

.contact-methods small {
   color: var(--muted);
   margin-top: 8px;
   line-height: 1.5
}

.contact-form-card {
   background: var(--cream);
   border-radius: 15px;
   padding: 38px
}

.contact-form-card h2 {
   margin: 8px 0 20px
}

.contact-form-card ol {
   margin: 0;
   padding: 0;
   list-style: none
}

.contact-form-card li {
   border-bottom: 1px solid #d8ded5;
   gap: 14px;
   padding: 14px 0;
   display: flex
}

.contact-form-card li b {
   width: 26px;
   height: 26px;
   color: var(--green);
   background: #fff;
   border-radius: 50%;
   place-items: center;
   font-size: 11px;
   display: grid
}

.contact-form-card li span {
   color: var(--muted);
   font-size: 13px;
   line-height: 1.5
}

.contact-form-card .button {
   width: 100%;
   margin-top: 24px
}

.apply-grid {
   grid-template-columns: repeat(4, 1fr);
   gap: 12px;
   display: grid
}

.apply-grid>a {
   border: 1px solid var(--line);
   background: #fff;
   border-radius: 12px;
   min-height: 190px;
   padding: 25px;
   transition: all .2s;
   position: relative
}

.apply-grid>a:hover {
   border-color: #99c5a8;
   transform: translateY(-4px)
}

.apply-grid>a>span {
   color: var(--green);
   font-size: 21px;
   position: absolute;
   top: 18px;
   right: 20px
}

.apply-grid h2 {
   margin: 35px 0 8px;
   font-size: 24px
}

.apply-grid p {
   margin: 0;
   font-size: 13px
}

.continue-box {
   background: var(--forest-dark);
   color: #fff;
   border-radius: 16px;
   justify-content: space-between;
   align-items: center;
   gap: 50px;
   margin-top: 45px;
   padding: 40px;
   display: flex
}

.continue-box h2 {
   color: #fff;
   margin: 8px 0
}

.continue-box p {
   color: #c5d6cd;
   margin: 0
}

.continue-box .button {
   flex: none
}

.location-feature {
   grid-template-columns: 1fr .8fr;
   align-items: center;
   gap: 70px;
   padding-bottom: 65px;
   display: grid
}

.map-card {
   background: linear-gradient(145deg, var(--forest), var(--forest-dark));
   color: #fff;
   min-height: 330px;
   box-shadow: 15px 15px 0 var(--mint);
   border-radius: 18px;
   align-content: center;
   place-items: center;
   display: grid
}

.map-card strong {
   color: #b8eb84;
   font: 600 72px Georgia, serif
}

.map-card span,
.map-card b {
   margin-top: 8px
}

.map-card span {
   color: #c6d8ce
}

.area-grid {
   grid-template-columns: repeat(4, 1fr);
   gap: 14px;
   display: grid
}

.area-grid article {
   border-top: 4px solid var(--green);
   background: var(--cream);
   padding: 25px
}

.area-grid h2 {
   margin: 9px 0;
   font-size: 26px
}

.area-grid p {
   margin: 0;
   font-size: 13px
}

.seo-principle {
   border: 1px solid var(--line);
   border-radius: 12px;
   margin-top: 45px;
   padding: 28px
}

.seo-principle h2 {
   margin-top: 0;
   font-size: 27px
}

.seo-principle p {
   margin-bottom: 0
}

.legal-copy {
   max-width: 800px
}

.legal-copy h2 {
   margin-top: 36px
}

.legal-copy p {
   margin: 8px 0
}

@media (width<=960px) {

   .inner-hero-grid,
   .content-layout,
   .two-column-story,
   .contact-page-grid {
      grid-template-columns: 1fr
   }

   .service-summary {
      max-width: 560px
   }

   .sticky-aside {
      grid-template-columns: 1fr 1fr;
      gap: 15px;
      display: grid;
      position: static
   }

   .directory-grid,
   .apply-grid,
   .area-grid {
      grid-template-columns: 1fr 1fr
   }

   .location-feature {
      gap: 40px
   }
}

@media (width<=700px) {
   .inner-hero {
      padding: 54px 0
   }

   .inner-hero h1 {
      font-size: 43px
   }

   .inner-hero p {
      font-size: 16px
   }

   .inner-hero-grid,
   .content-layout,
   .tick-list,
   .support-grid,
   .document-list,
   .boundary-card>div,
   .document-groups,
   .faq-page-grid,
   .contact-methods,
   .location-feature {
      grid-template-columns: 1fr
   }

   .content-layout {
      gap: 45px
   }

   .support-box,
   .boundary-card,
   .privacy-panel {
      padding: 28px 22px
   }

   .mini-steps {
      grid-template-columns: 1fr 1fr
   }

   .sticky-aside {
      display: block
   }

   .aside-trust {
      margin-top: 14px
   }

   .directory-grid,
   .apply-grid,
   .area-grid {
      grid-template-columns: 1fr
   }

   .faq-page-grid>aside {
      position: static
   }

   .privacy-panel,
   .continue-box {
      display: block
   }

   .privacy-panel .button,
   .continue-box .button {
      width: 100%;
      margin-top: 25px
   }

   .timeline article {
      grid-template-columns: 55px 1fr;
      gap: 18px
   }

   .timeline article>span {
      width: 55px;
      height: 55px
   }

   .timeline:before {
      left: 27px
   }

   .map-card {
      min-height: 240px
   }

   .official-source {
      display: block
   }

   .official-source a {
      margin-top: 14px;
      display: inline-block
   }
}

.apply-page-section {
   background: #f7faf7;
   padding-top: 72px
}

.application-form-section {
   scroll-margin-top: 120px
}

.apply-progress {
   grid-template-columns: repeat(3, 1fr);
   max-width: 820px;
   margin: 0 auto 34px;
   display: grid;
   position: relative
}

.apply-progress:before {
   content: "";
   background: #d7e3da;
   height: 2px;
   position: absolute;
   top: 20px;
   left: 16%;
   right: 16%
}

.apply-progress>div {
   z-index: 1;
   color: #7a8980;
   justify-items: center;
   gap: 8px;
   font-size: 11px;
   display: grid;
   position: relative
}

.apply-progress span {
   background: #f7faf7;
   border: 2px solid #d7e3da;
   border-radius: 50%;
   place-items: center;
   width: 42px;
   height: 42px;
   font-size: 12px;
   font-weight: 900;
   display: grid
}

.apply-progress b {
   font-size: 11px
}

.apply-progress .active,
.apply-progress .complete {
   color: var(--forest)
}

.apply-progress .active span {
   border-color: var(--green);
   color: var(--green);
   background: #fff;
   box-shadow: 0 0 0 5px #dff2e5
}

.apply-progress .complete span {
   border-color: var(--green);
   background: var(--green);
   color: #fff
}

.apply-form-layout {
   grid-template-columns: minmax(0, 1fr) 300px;
   align-items: start;
   gap: 24px;
   display: grid
}

.apply-form {
   background: #fff;
   border: 1px solid #d8e3db;
   border-radius: 18px;
   min-height: 680px;
   padding: 44px;
   box-shadow: 0 20px 55px #063d2a0d
}

.apply-form fieldset {
   border: 0;
   margin: 0;
   padding: 0
}

.apply-form legend {
   width: 100%;
   margin-bottom: 28px
}

.apply-form legend>span,
.apply-form legend>strong,
.apply-form legend>small {
   display: block
}

.apply-form legend>span {
   color: var(--green);
   letter-spacing: .12em;
   text-transform: uppercase;
   margin-bottom: 7px;
   font-size: 10px;
   font-weight: 900
}

.apply-form legend>strong {
   color: var(--forest-dark);
   letter-spacing: -.02em;
   font: 600 34px/1.15 Georgia, serif
}

.apply-form legend>small {
   color: var(--muted);
   margin-top: 9px;
   font-size: 13px;
   line-height: 1.6
}

.service-choice-grid {
   grid-template-columns: 1fr 1fr;
   gap: 10px;
   display: grid
}

.service-choice-grid label {
   border: 1px solid var(--line);
   cursor: pointer;
   background: #fff;
   border-radius: 11px;
   min-height: 92px;
   padding: 17px 16px 15px 52px;
   transition: all .16s;
   position: relative
}

.service-choice-grid label:hover {
   background: #f8fcf9;
   border-color: #9bc8a9
}

.service-choice-grid label.selected {
   border-color: var(--green);
   background: #eff9f2;
   box-shadow: 0 0 0 2px #158a4f17
}

.service-choice-grid input {
   opacity: 0;
   pointer-events: none;
   position: absolute
}

.radio-mark {
   background: #fff;
   border: 2px solid #a9b9ae;
   border-radius: 50%;
   width: 21px;
   height: 21px;
   position: absolute;
   top: 19px;
   left: 17px
}

.selected .radio-mark {
   border: 6px solid var(--green)
}

.service-choice-grid strong,
.service-choice-grid small {
   display: block
}

.service-choice-grid strong {
   color: var(--forest-dark);
   font-size: 14px;
   line-height: 1.3
}

.service-choice-grid small {
   color: var(--muted);
   margin-top: 5px;
   font-size: 11px;
   line-height: 1.4
}

.service-choice-grid.has-error {
   border: 1px solid #c44747;
   border-radius: 13px;
   padding: 7px
}

.form-row {
   gap: 9px;
   margin-top: 19px;
   display: grid
}

.form-row.two-columns {
   grid-template-columns: 1fr 1fr;
   gap: 15px
}

.form-row.compact-row {
   border-top: 1px solid var(--line);
   margin-top: 24px;
   padding-top: 24px
}

.form-row label {
   display: block
}

.form-row label>span {
   color: #304339;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 7px;
   font-size: 12px;
   font-weight: 800;
   display: flex
}

.form-row label>span b {
   color: #c0392b
}

.form-row label>span em {
   color: #7b8981;
   font-size: 10px;
   font-style: normal;
   font-weight: 500
}

.form-row input,
.form-row select,
.form-row textarea {
   width: 100%;
   color: var(--ink);
   background: #fff;
   border: 1px solid #cfdad2;
   border-radius: 9px;
   outline: none;
   font: 14px Arial, Helvetica, sans-serif;
   transition: all .16s
}

.form-row input,
.form-row select {
   min-height: 52px;
   padding: 0 14px
}

.form-row textarea {
   resize: vertical;
   padding: 14px;
   line-height: 1.55
}

.form-row input::placeholder,
.form-row textarea::placeholder {
   color: #99a59e
}

.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus {
   border-color: var(--green);
   box-shadow: 0 0 0 4px #158a4f14
}

.form-row .input-error {
   background: snow;
   border-color: #c44747
}

.field-error {
   margin: 8px 0 0;
   font-weight: 700;
   line-height: 1.4;
   display: block;
   color: #a82f2f !important;
   font-size: 11px !important
}

.safe-form-note {
   background: #f0f7f2;
   border-radius: 9px;
   align-items: flex-start;
   gap: 12px;
   margin-top: 25px;
   padding: 15px;
   display: flex
}

.safe-form-note>span {
   font-size: 18px
}

.safe-form-note p {
   color: #506158;
   margin: 0;
   font-size: 12px;
   line-height: 1.55
}

.safe-form-note strong {
   color: var(--forest-dark)
}

.application-summary {
   grid-template-columns: 1fr 1fr;
   gap: 10px;
   margin-bottom: 24px;
   display: grid
}

.application-summary>div {
   border: 1px solid var(--line);
   background: #fafcfb;
   border-radius: 10px;
   min-height: 87px;
   padding: 16px;
   position: relative
}

.application-summary small,
.application-summary strong {
   display: block
}

.application-summary small {
   color: var(--muted);
   text-transform: uppercase;
   letter-spacing: .08em;
   font-size: 10px
}

.application-summary strong {
   color: var(--forest-dark);
   margin-top: 8px;
   padding-right: 44px;
   font-size: 13px;
   line-height: 1.4
}

.application-summary button {
   color: var(--green);
   cursor: pointer;
   background: 0 0;
   border: 0;
   padding: 0;
   font-size: 10px;
   font-weight: 800;
   text-decoration: underline;
   position: absolute;
   top: 12px;
   right: 12px
}

.character-count {
   color: #8a968f;
   text-align: right;
   margin-top: 5px;
   font-size: 10px;
   display: block
}

.consent-box {
   cursor: pointer;
   background: #fff;
   border: 1px solid #cfdad2;
   border-radius: 10px;
   margin-top: 22px;
   padding: 17px 17px 17px 52px;
   display: block;
   position: relative
}

.consent-box.input-error {
   background: snow;
   border-color: #c44747
}

.consent-box input {
   opacity: 0;
   position: absolute
}

.consent-box>span {
   background: #fff;
   border: 2px solid #a9b9ae;
   border-radius: 5px;
   width: 22px;
   height: 22px;
   position: absolute;
   top: 19px;
   left: 17px
}

.consent-box input:checked+span {
   border-color: var(--green);
   background: var(--green)
}

.consent-box input:checked+span:after {
   content: "✓";
   color: #fff;
   place-items: center;
   height: 100%;
   font-size: 13px;
   font-weight: 900;
   display: grid
}

.consent-box p {
   color: #506158;
   margin: 0;
   font-size: 12px;
   line-height: 1.55
}

.whatsapp-notice {
   background: #eaf8ed;
   border-radius: 9px;
   gap: 12px;
   margin-top: 18px;
   padding: 15px;
   display: flex
}

.whatsapp-notice>span {
   background: var(--green);
   color: #fff;
   border-radius: 50%;
   flex: none;
   place-items: center;
   width: 22px;
   height: 22px;
   font-size: 11px;
   display: grid
}

.whatsapp-notice p {
   color: #3f594a;
   margin: 1px 0 0;
   font-size: 12px;
   line-height: 1.55
}

.form-actions {
   border-top: 1px solid var(--line);
   justify-content: flex-end;
   align-items: center;
   gap: 15px;
   margin-top: 32px;
   padding-top: 24px;
   display: flex
}

.form-back {
   min-height: 48px;
   color: var(--forest);
   cursor: pointer;
   background: 0 0;
   border: 0;
   padding: 0 8px;
   font-size: 13px;
   font-weight: 800
}

.form-next {
   cursor: pointer;
   border: 0;
   min-width: 190px
}

.whatsapp-button {
   background: #159447
}

.whatsapp-button:hover {
   background: #0b7535
}

.apply-help-card {
   background: var(--forest-dark);
   color: #fff;
   border-radius: 16px;
   padding: 30px;
   position: sticky;
   top: 110px
}

.apply-help-card h2 {
   color: #fff;
   margin: 8px 0 22px;
   font: 600 29px/1.15 Georgia, serif
}

.apply-help-card ol {
   margin: 0;
   padding: 0;
   list-style: none
}

.apply-help-card li {
   color: #d7e4dc;
   border-bottom: 1px solid #ffffff24;
   align-items: center;
   gap: 10px;
   padding: 14px 0;
   font-size: 13px;
   line-height: 1.45;
   display: flex
}

.apply-help-card li b {
   width: 25px;
   height: 25px;
   color: var(--forest-dark);
   background: #b6e986;
   border-radius: 50%;
   flex: none;
   place-items: center;
   font-size: 11px;
   display: grid
}

.apply-help-card>div {
   border-top: 1px solid #ffffff29;
   margin-top: 26px;
   padding-top: 22px
}

.apply-help-card>div small,
.apply-help-card>div a,
.apply-help-card>div span {
   display: block
}

.apply-help-card>div small {
   color: #b8c9bf;
   text-transform: uppercase;
   letter-spacing: .09em;
   font-size: 10px
}

.apply-help-card>div a {
   color: #b9ea8c;
   margin-top: 7px;
   font: 600 23px Georgia, serif
}

.apply-help-card>div span {
   color: #bfcfc6;
   margin-top: 7px;
   font-size: 11px;
   line-height: 1.5
}

.service-guidance-section {
   border-top: 1px solid var(--line);
   margin-top: 75px;
   padding-top: 65px
}

.service-guidance-section>div:first-child {
   max-width: 650px;
   margin-bottom: 28px
}

.service-guidance-section>div:first-child h2 {
   margin: 8px 0;
   font-size: 38px
}

.service-guidance-section>div:first-child p {
   margin: 0
}

.compact-apply-grid>a {
   min-height: 175px
}

.compact-apply-grid h2 {
   font-size: 20px
}

.submit-error {
   background: #fff5f5;
   border: 1px solid #e4b8b8;
   border-radius: 10px;
   margin-top: 22px;
   padding: 16px 18px
}

.submit-error strong {
   color: #9a2828;
   font-size: 13px
}

.submit-error p {
   color: #7e4343;
   margin: 5px 0;
   font-size: 12px;
   line-height: 1.5
}

.submit-error a {
   color: #9a2828;
   font-size: 12px;
   font-weight: 800;
   text-decoration: underline
}

.application-success>div button {
   color: var(--forest);
   cursor: pointer;
   background: 0 0;
   border: 0;
   font-size: 13px;
   font-weight: 800;
   text-decoration: underline
}

.prototype-note {
   color: #66521b;
   background: #fff8df;
   border: 1px solid #e5c66c;
   border-radius: 12px;
   justify-content: center;
   align-items: center;
   gap: 12px;
   max-width: 730px;
   margin: 0 auto 28px;
   padding: 15px 18px;
   display: flex
}

.prototype-note>span {
   color: #493a12;
   background: #f0d36f;
   border-radius: 50%;
   flex: none;
   place-items: center;
   width: 26px;
   height: 26px;
   font-size: 11px;
   display: grid
}

.prototype-note p {
   margin: 0;
   font-size: 12px;
   line-height: 1.5
}

.prototype-note strong {
   color: #493a12;
   font-size: 13px;
   display: block
}

.hidden-honeypot {
   display: none !important;
   width: 1px !important;
   height: 1px !important;
   position: absolute !important;
   left: -10000px !important;
   overflow: hidden !important
}

.category-help {
   background: var(--cream);
   border-radius: 10px;
   margin-top: 22px;
   padding: 18px
}

.category-help strong {
   color: var(--forest-dark);
   font-size: 13px
}

.category-help p {
   color: var(--muted);
   margin: 6px 0 0;
   font-size: 12px;
   line-height: 1.55
}

.email-notice {
   background: #eaf8ed;
   border-radius: 9px;
   gap: 12px;
   margin-top: 18px;
   padding: 15px;
   display: flex
}

.email-notice>span {
   background: var(--green);
   color: #fff;
   border-radius: 50%;
   flex: none;
   place-items: center;
   width: 22px;
   height: 22px;
   font-size: 11px;
   display: grid
}

.email-notice p {
   color: #3f594a;
   margin: 1px 0 0;
   font-size: 12px;
   line-height: 1.55
}

.form-next:disabled {
   cursor: wait;
   opacity: .72;
   transform: none
}

.application-success {
   text-align: center;
   background: #fff;
   border: 1px solid #cfe1d4;
   border-radius: 18px;
   max-width: 760px;
   margin: 0 auto;
   padding: 60px 45px;
   box-shadow: 0 20px 55px #063d2a0d
}

.application-success>span {
   width: 78px;
   height: 78px;
   color: var(--green);
   background: #e0f4e5;
   border-radius: 50%;
   place-items: center;
   margin: 0 auto 22px;
   font-size: 36px;
   font-weight: 900;
   display: grid
}

.application-success h2 {
   color: var(--forest-dark);
   margin: 10px 0;
   font: 600 39px/1.12 Georgia, serif
}

.application-success>p:not(.overline) {
   max-width: 580px;
   color: var(--muted);
   margin: 0 auto;
   font-size: 15px;
   line-height: 1.7
}

.application-success>p strong {
   color: var(--forest-dark)
}

.application-success>div {
   justify-content: center;
   gap: 16px;
   margin-top: 28px;
   display: flex
}

.application-success>div button {
   cursor: pointer;
   border: 0;
   text-decoration: none
}

@media (width<=960px) {
   .apply-form-layout {
      grid-template-columns: 1fr
   }

   .apply-help-card {
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      display: grid;
      position: static
   }

   .apply-help-card>div {
      border-top: 0;
      border-left: 1px solid #ffffff29;
      margin: 0;
      padding: 0 0 0 20px
   }
}

@media (width<=700px) {
   .apply-page-section {
      padding-top: 48px
   }

   .apply-progress {
      margin-bottom: 25px
   }

   .apply-progress:before {
      left: 14%;
      right: 14%
   }

   .apply-progress b {
      font-size: 10px
   }

   .apply-form {
      border-radius: 14px;
      min-height: 0;
      padding: 27px 18px
   }

   .apply-form legend>strong {
      font-size: 29px
   }

   .service-choice-grid,
   .form-row.two-columns,
   .application-summary {
      grid-template-columns: 1fr
   }

   .service-choice-grid label {
      min-height: 84px
   }

   .form-row.compact-row {
      gap: 16px
   }

   .form-actions {
      justify-content: space-between
   }

   .form-next {
      min-width: 155px;
      padding-inline: 15px
   }

   .apply-help-card {
      padding: 26px 22px;
      display: block
   }

   .apply-help-card>div {
      border-top: 1px solid #ffffff29;
      border-left: 0;
      margin-top: 24px;
      padding: 20px 0 0
   }

   .service-guidance-section {
      margin-top: 55px;
      padding-top: 50px
   }

   .service-guidance-section>div:first-child h2 {
      font-size: 32px
   }

   .application-success {
      padding: 42px 20px
   }

   .application-success h2 {
      font-size: 32px
   }

   .application-success>div {
      display: grid
   }

   .application-success>div .button {
      width: 100%
   }
}

.recovery-hero {
   background: linear-gradient(135deg, #f5fbf7 0%, #eef8f1 62%, #e2f1e6 100%)
}

.recovery-summary {
   background: #fff;
   border: 1px solid #bfd8c7;
   border-radius: 18px;
   padding: 30px;
   box-shadow: 0 22px 50px #063d2a12
}

.recovery-summary>strong {
   color: var(--forest-dark);
   font: 600 25px/1.2 Georgia, serif;
   display: block
}

.recovery-summary p {
   color: var(--muted) !important;
   margin: 12px 0 18px !important;
   font-size: 13px !important;
   line-height: 1.65 !important
}

.recovery-summary ul {
   gap: 9px;
   margin: 0;
   padding: 0;
   list-style: none;
   display: grid
}

.recovery-summary li {
   color: #315342;
   background: #f1f8f3;
   border-radius: 8px;
   padding: 10px 12px;
   font-size: 12px;
   font-weight: 800
}

.recovery-summary li:before {
   content: "✓";
   color: var(--green);
   margin-right: 8px
}

.recovery-content {
   background: #fff
}

.recovery-steps {
   gap: 12px;
   margin: 34px 0;
   display: grid
}

.recovery-steps article {
   border: 1px solid var(--line);
   background: #fff;
   border-radius: 13px;
   grid-template-columns: 46px 1fr;
   align-items: start;
   gap: 18px;
   padding: 22px;
   display: grid
}

.recovery-steps article>b {
   background: var(--forest-dark);
   color: #b9ea8c;
   border-radius: 50%;
   place-items: center;
   width: 46px;
   height: 46px;
   display: grid
}

.recovery-steps h2 {
   margin: 0 0 6px;
   font-size: 20px
}

.recovery-steps p {
   color: var(--muted);
   margin: 0;
   font-size: 13px;
   line-height: 1.65
}

.recovery-panel {
   background: #f2f8f4;
   border-radius: 16px;
   margin: 36px 0;
   padding: 32px
}

.recovery-panel h2 {
   margin: 7px 0 14px
}

.recovery-panel p:last-child {
   margin-bottom: 0
}

.recovery-related {
   border-top: 1px solid var(--line);
   margin-top: 44px;
   padding-top: 34px
}

.recovery-related h2 {
   margin: 8px 0 18px
}

.recovery-related>div {
   grid-template-columns: repeat(3, 1fr);
   gap: 10px;
   display: grid
}

.recovery-related a {
   border: 1px solid var(--line);
   min-height: 88px;
   color: var(--forest-dark);
   background: #fff;
   border-radius: 11px;
   justify-content: space-between;
   align-items: center;
   gap: 12px;
   padding: 18px;
   font-size: 13px;
   font-weight: 800;
   display: flex
}

.recovery-related a:hover {
   background: #f4faf6;
   border-color: #8fc4a0
}

.recovery-related b {
   color: var(--green)
}

.fee-table {
   border: 1px solid var(--line);
   border-radius: 14px;
   margin: 30px 0;
   overflow: hidden
}

.fee-table>div {
   grid-template-columns: 2fr repeat(3, 1fr);
   display: grid
}

.fee-table>div+div {
   border-top: 1px solid var(--line)
}

.fee-table span,
.fee-table strong {
   border-left: 1px solid var(--line);
   padding: 16px;
   font-size: 12px;
   line-height: 1.45
}

.fee-table span:first-child,
.fee-table strong:first-child {
   border-left: 0
}

.fee-table>div:first-child {
   background: var(--forest-dark);
   color: #fff
}

.fee-table>div:not(:first-child):nth-child(odd) {
   background: #f7faf8
}

.not-found-grid {
   grid-template-columns: 1fr 1fr;
   gap: 14px;
   display: grid
}

.not-found-grid a {
   border: 1px solid var(--line);
   background: #fff;
   border-radius: 14px;
   flex-direction: column;
   justify-content: center;
   min-height: 130px;
   padding: 28px;
   display: flex
}

.not-found-grid strong {
   color: var(--forest-dark);
   font: 600 24px Georgia, serif
}

.not-found-grid span {
   color: var(--green);
   margin-top: 9px;
   font-size: 12px;
   font-weight: 800
}

@media (width<=700px) {
   .recovery-summary {
      padding: 22px
   }

   .recovery-related>div,
   .not-found-grid {
      grid-template-columns: 1fr
   }

   .recovery-panel {
      padding: 24px 20px
   }

   .fee-table {
      overflow-x: auto
   }

   .fee-table>div {
      min-width: 650px
   }

   .recovery-steps article {
      grid-template-columns: 40px 1fr;
      padding: 18px
   }

   .recovery-steps article>b {
      width: 40px;
      height: 40px
   }
}

.blog-index-section {
   background: #f7faf7
}

.blog-index-intro {
   grid-template-columns: 1fr 360px;
   align-items: start;
   gap: 55px;
   margin-bottom: 42px;
   display: grid
}

.blog-index-intro h2 {
   color: var(--forest-dark);
   margin: 8px 0 14px;
   font: 600 38px/1.12 Georgia, serif
}

.blog-index-intro p {
   color: var(--muted);
   line-height: 1.7
}

.blog-index-intro aside {
   border-left: 4px solid var(--amber);
   background: #fff8e8;
   border-radius: 0 12px 12px 0;
   padding: 25px
}

.blog-index-intro aside strong {
   color: var(--forest-dark)
}

.blog-index-intro aside p {
   margin: 8px 0 0;
   font-size: 12px
}

.blog-card-grid {
   grid-template-columns: repeat(3, 1fr);
   gap: 15px;
   display: grid
}

.blog-card-grid article {
   border: 1px solid var(--line);
   background: #fff;
   border-radius: 14px;
   flex-direction: column;
   min-height: 300px;
   padding: 27px;
   display: flex;
   box-shadow: 0 10px 32px #063d2a0a
}

.blog-card-grid h2 {
   color: var(--forest-dark);
   margin: 13px 0;
   font: 600 23px/1.25 Georgia, serif
}

.blog-card-grid h2 a:hover {
   color: var(--green)
}

.blog-card-grid p {
   color: var(--muted);
   margin: 0;
   font-size: 13px;
   line-height: 1.7
}

.blog-service-links {
   margin-top: 52px
}

.blog-service-links>div {
   flex-wrap: wrap;
   gap: 9px;
   display: flex
}

.blog-service-links a {
   color: var(--forest);
   background: #fff;
   border: 1px solid #bcd2c3;
   border-radius: 99px;
   padding: 10px 13px;
   font-size: 12px;
   font-weight: 800
}

.article-review {
   border-bottom: 1px solid var(--line);
   color: var(--muted);
   justify-content: space-between;
   align-items: center;
   gap: 20px;
   margin-bottom: 28px;
   padding-bottom: 16px;
   font-size: 11px;
   display: flex
}

.article-review b {
   background: var(--mint);
   color: var(--forest);
   text-transform: uppercase;
   letter-spacing: .08em;
   border-radius: 99px;
   padding: 7px 10px
}

.blog-article-section .guide-section {
   margin: 38px 0
}

.blog-article-section .guide-section h2 {
   margin-bottom: 12px
}

.official-source-list {
   background: #f4faf5;
   border: 1px solid #c8dacd;
   border-radius: 15px;
   margin: 42px 0;
   padding: 30px
}

.official-source-list h2 {
   margin: 8px 0 10px
}

.official-source-list p {
   font-size: 13px
}

.official-source-list ul {
   gap: 9px;
   margin: 18px 0 0;
   padding: 0;
   list-style: none;
   display: grid
}

.official-source-list a {
   border: 1px solid var(--line);
   color: var(--green);
   background: #fff;
   border-radius: 8px;
   padding: 12px 14px;
   font-size: 12px;
   font-weight: 800;
   display: block
}

.article-index-link {
   color: var(--green);
   text-underline-offset: 4px;
   margin-top: 18px;
   font-size: 12px;
   font-weight: 800;
   text-decoration: underline;
   display: block
}

@media (width<=950px) {
   .blog-index-intro {
      grid-template-columns: 1fr
   }

   .blog-card-grid {
      grid-template-columns: 1fr 1fr
   }
}

@media (width<=650px) {
   .blog-card-grid {
      grid-template-columns: 1fr
   }

   .blog-card-grid article {
      min-height: 0
   }

   .blog-index-intro {
      gap: 24px
   }

   .blog-index-intro h2 {
      font-size: 32px
   }

   .official-source-list {
      padding: 24px 18px
   }
}

.location-hero {
   background: linear-gradient(120deg, #f3f9f5, #fff 55%, #e4f2e8)
}

.location-pills.compact {
   margin-top: 18px
}

.location-pills.compact span {
   padding: 7px 10px;
   font-size: 10px
}

.internal-link-grid {
   grid-template-columns: 1fr 1fr;
   gap: 10px;
   margin: 22px 0;
   display: grid
}

.internal-link-grid a {
   border: 1px solid var(--line);
   background: #fff;
   border-radius: 11px;
   flex-direction: column;
   justify-content: center;
   min-height: 92px;
   padding: 18px;
   display: flex
}

.internal-link-grid a:hover {
   background: #f4faf6;
   border-color: #8fc4a0
}

.internal-link-grid strong {
   color: var(--forest-dark);
   font-size: 14px
}

.internal-link-grid span {
   color: var(--green);
   margin-top: 7px;
   font-size: 11px;
   font-weight: 800
}

.number-list {
   gap: 10px;
   margin: 20px 0 40px;
   padding: 0;
   list-style: none;
   display: grid
}

.number-list li {
   border: 1px solid var(--line);
   border-radius: 10px;
   grid-template-columns: 38px 1fr;
   align-items: center;
   gap: 14px;
   padding: 17px;
   display: grid
}

.number-list b {
   background: var(--forest-dark);
   color: #b9ea8c;
   border-radius: 50%;
   place-items: center;
   width: 38px;
   height: 38px;
   display: grid
}

.number-list span {
   color: var(--muted);
   font-size: 13px;
   line-height: 1.55
}

.independent-guide-note {
   border-left: 4px solid var(--amber);
   background: #fff8e8;
   margin: 38px 0;
   padding: 24px
}

.independent-guide-note strong {
   color: var(--forest-dark)
}

.independent-guide-note p {
   margin: 7px 0 0
}

.fee-panel {
   background: #f4faf5;
   border: 1px solid #c8dacd;
   border-radius: 16px;
   margin: 30px 0;
   padding: 30px
}

.fee-panel-head {
   justify-content: space-between;
   align-items: start;
   gap: 25px;
   display: flex
}

.fee-panel-head h2 {
   margin: 7px 0 0
}

.fee-panel-head small {
   color: var(--muted);
   white-space: nowrap
}

.fee-panel .fee-table {
   background: #fff
}

.fee-panel .fee-row {
   grid-template-columns: 1.5fr 1fr 1fr;
   display: grid
}

.fee-panel .fee-row>* {
   border-left: 1px solid var(--line);
   padding: 15px
}

.fee-panel .fee-row>:first-child {
   border-left: 0
}

.fee-panel .fee-header {
   background: var(--forest-dark);
   color: #fff;
   font-size: 12px;
   font-weight: 800
}

.fee-panel>p {
   font-size: 12px
}

.fee-panel>a {
   color: var(--green);
   text-underline-offset: 4px;
   font-size: 12px;
   font-weight: 900;
   text-decoration: underline
}

@media (width<=700px) {
   .internal-link-grid {
      grid-template-columns: 1fr
   }

   .fee-panel {
      padding: 22px 17px
   }

   .fee-panel-head {
      display: block
   }

   .fee-panel-head small {
      margin-top: 8px;
      display: block
   }

   .fee-panel .fee-row {
      min-width: 520px
   }

   .fee-panel .fee-table {
      overflow-x: auto
   }
}

.location-directory {
   grid-template-columns: repeat(3, 1fr);
   gap: 12px;
   margin-top: 42px;
   display: grid
}

.location-directory a {
   border: 1px solid var(--line);
   background: #fff;
   border-radius: 13px;
   flex-direction: column;
   min-height: 140px;
   padding: 24px;
   transition: all .18s;
   display: flex
}

.location-directory a:hover {
   border-color: #8fc4a0;
   transform: translateY(-3px);
   box-shadow: 0 12px 30px #063d2a10
}

.location-directory strong {
   color: var(--forest-dark);
   font: 600 23px Georgia, serif
}

.location-directory span {
   color: var(--muted);
   margin-top: 9px;
   font-size: 12px;
   line-height: 1.55
}

.location-directory b {
   color: var(--green);
   margin-top: auto;
   padding-top: 15px;
   font-size: 11px
}

@media (width<=900px) {
   .location-directory {
      grid-template-columns: 1fr 1fr
   }
}

@media (width<=600px) {
   .location-directory {
      grid-template-columns: 1fr
   }
}

@property --tw-border-style {
   syntax: "*";
   inherits: false;
   initial-value: solid
}

/* WhatsApp floating contact button */
.whatsapp-float {
   position: fixed;
   right: 0;
   top: 50%;
   transform: translateY(-50%);
   z-index: 70;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 8px;
   width: 52px;
   padding: 16px 0;
   border: 1px solid #ffffff70;
   border-right: 0;
   border-radius: 12px 0 0 12px;
   background: var(--green);
   color: #fff;
   box-shadow: -7px 9px 24px #063d2a3d;
   font-size: 11px;
   font-weight: 800;
   transition: transform .18s, background .18s, box-shadow .18s
}

.whatsapp-float:hover {
   background: var(--forest);
   transform: translateY(-50%) translateX(-4px);
   box-shadow: -11px 11px 28px #063d2a4d
}

.whatsapp-float:focus-visible {
   outline: 3px solid var(--amber);
   outline-offset: 3px
}

.whatsapp-float svg {
   width: 28px;
   height: 28px;
   fill: currentColor;
   flex: none
}

@media(max-width:760px) {
   .whatsapp-float {
      width: 46px;
      padding: 13px 0
   }
}

/* Apply form: submit button aligned left */
.form-actions.align-left {
   justify-content: flex-start
}

/* Hero: lift the "Personal guidance" badge clear of the action panel,
   which is deliberately pulled up over the bottom of the photo. */
.hero-human-photo figcaption {
   bottom: 46px
}

@media(max-width:760px) {
   .hero-human-photo figcaption {
      bottom: 28px
   }
}

/* Header: office phone number beside the Apply now button */
.header-phone {
   display: inline-flex;
   align-items: center;
   gap: 7px;
   color: var(--forest);
   font-size: 15px;
   font-weight: 800;
   letter-spacing: .01em;
   text-decoration: none;
   white-space: nowrap;
   transition: color .18s
}

.header-phone svg {
   width: 17px;
   height: 17px;
   flex: none;
   fill: currentColor
}

.header-phone:hover {
   color: var(--green)
}

.header-phone:focus-visible {
   outline: 3px solid var(--amber);
   outline-offset: 3px;
   border-radius: 6px
}

/* Footer logo is now a white-on-transparent version, so the white backing box is removed */
.footer-brand img {
   background: none;
   border-radius: 0;
   padding: 0;
   width: 160px;
   height: auto
}

/* Header logo: slightly smaller */
.brand img {
   width: 128px;
   height: 45px
}

@media(width<=760px) {
   .brand img {
      width: 110px;
      height: 39px
   }
}

/* Footer disclaimer: a little more width so the longer text reads well */
.footer-brand p {
   max-width: 420px
}

/* Small gap between the footer logo and the disclaimer text */
.footer-brand p {
   margin-top: 14px
}

/* ---- Header dropdown menus (desktop) ---- */
.has-drop {
   position: relative;
   display: inline-flex;
   align-items: center
}

.has-drop>a::after {
   content: "";
   display: inline-block;
   margin-left: 5px;
   border: 4px solid transparent;
   border-top-color: currentColor;
   transform: translateY(2px)
}

.drop-panel {
   position: absolute;
   top: 100%;
   left: 50%;
   transform: translateX(-50%);
   min-width: 238px;
   background: #fff;
   border: 1px solid var(--line);
   border-top: 3px solid var(--green);
   border-radius: 0 0 10px 10px;
   box-shadow: 0 18px 40px #063d2a26;
   padding: 6px 0;
   display: none;
   z-index: 80
}

.has-drop:hover .drop-panel,
.has-drop:focus-within .drop-panel {
   display: block
}

.drop-panel a {
   display: block;
   padding: 11px 18px;
   font-size: 12.5px;
   font-weight: 700;
   letter-spacing: .04em;
   text-transform: uppercase;
   color: #31433a;
   border-bottom: 1px solid #eef3ef;
   white-space: nowrap
}

.drop-panel a:last-child {
   border-bottom: 0
}

.drop-panel a:hover {
   background: var(--green);
   color: #fff
}

/* ---- Collapsible groups in the mobile menu ---- */
.mobile-menu nav .m-group {
   border-bottom: 1px solid var(--line)
}

.mobile-menu nav .m-group summary {
   border: 0;
   border-radius: 0;
   width: auto;
   height: auto;
   cursor: pointer;
   padding: 11px 8px;
   font-weight: 700;
   list-style: none;
   display: flex;
   align-items: center;
   justify-content: space-between
}

.mobile-menu nav .m-group summary::-webkit-details-marker {
   display: none
}

.mobile-menu nav .m-group summary::after {
   content: "";
   border: 4px solid transparent;
   border-top-color: currentColor;
   transform: translateY(2px);
   transition: transform .15s
}

.mobile-menu nav .m-group[open] summary::after {
   transform: rotate(180deg)
}

.mobile-menu nav a.m-sub {
   padding: 9px 8px 9px 20px;
   font-size: 12.5px;
   font-weight: 600;
   letter-spacing: .03em;
   text-transform: uppercase;
   color: #5e6d64;
   border-bottom: 1px solid #eef3ef
}

.mobile-menu nav .m-group a.m-sub:last-child {
   border-bottom: 0
}

/* Dropdown panel: size to its links, and sit slightly below the nav item.
   The padding/negative-margin pair widens the hover area so the pointer can
   cross the gap without the panel closing. */
.has-drop {
   padding-bottom: 10px;
   margin-bottom: -10px
}

.drop-panel {
   min-width: 0;
   width: max-content;
   max-width: 280px;
   border-radius: 10px;
   border-top-width: 3px
}

.drop-panel a {
   padding: 10px 16px
}

/* Footer: back to four columns (the Other Services column was removed) */
.footer-grid {
   grid-template-columns: 1.3fr repeat(3, .7fr);
   gap: 50px
}

@media(width<=1000px) {
   .footer-grid {
      grid-template-columns: 1fr 1fr
   }
}

@media(width<=640px) {
   .footer-grid {
      grid-template-columns: 1fr
   }
}

/* Footer: social media icons under the disclaimer */
.footer-social {
   display: flex;
   gap: 10px;
   margin-top: 18px
}

.footer-social a {
   display: grid;
   place-items: center;
   width: 34px;
   height: 34px;
   border-radius: 8px;
   background: #ffffff14;
   border: 1px solid #ffffff26;
   color: #c1cec6;
   transition: background .18s, color .18s
}

.footer-social a:hover {
   background: var(--green);
   border-color: var(--green);
   color: #fff
}

.footer-social svg {
   width: 17px;
   height: 17px;
   fill: currentColor
}