:root {
  --dark: #3d0603;
  --ink: #440000;
  --services: #e8ddd6;
  --light: #f5efea;
  --history: #cabbb2;
  --white: #fff;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 20px; }
body { margin: 0; color: var(--ink); background: #fff; font: 16px/1.5 Georgia, 'Times New Roman', serif; }
a { color: inherit; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
button { font: inherit; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #af8a58; outline-offset: 5px; }
.site-shell { max-width: 1200px; margin-inline: auto; }
.wrap { width: 100%; padding-inline: 30px; margin-inline: auto; }
.site-header, .hero, .site-footer { background: var(--dark); color: var(--white); }
.site-header { padding-block: 14px 0; }
.brand { width: 300px; max-width: 75%; display: block; margin-inline: auto; }
.brand img { display: block; width: 100%; height: auto; filter: brightness(0) invert(1); }
.languages { display: flex; align-items: center; gap: 0; margin-top: 12px; }
.language { border: 0; padding: 2px; margin: 0; display: inline-flex; align-items: center; justify-content: center; background: transparent; color: inherit; text-decoration: none; font-size: 22px; line-height: 1; min-width: 27px; min-height: 32px; }
.language.unavailable { opacity: .65; cursor: not-allowed; }
.hero { min-height: 337px; display: flex; align-items: center; }
.hero-copy { width: 48%; max-width: 550px; padding: 28px 20px 40px; font-size: 20px; line-height: 1.48; }
.hero-copy p { margin: 0 0 18px; }
.hero-copy h5 { margin: 18px 0 0; font: inherit; }
.hero-copy a:not(.contact-button) { text-decoration: none; }
.hero-copy a:not(.contact-button):hover { text-decoration: underline; }
.contact-button { display: block; width: fit-content; margin-top: 30px; border: 2px solid transparent; border-radius: 32px; padding: 7px 22px; background: var(--services); color: var(--ink); text-decoration: none; font-size: 16px; line-height: 1.4; transition: background-color .15s; }
.contact-button:hover { background: #fff; }
h1, h2, h3 { line-height: 1.3; }
.section-heading { background: var(--services); padding: 17px 24px; text-align: center; }
.section-heading h2 { margin: 0; font-size: 20px; font-weight: bold; }
.services { background: var(--light); }
.services-content { padding-block: 10px 26px; }
.introduction p { margin: 0 0 10px; }
.service-list { margin-top: 30px; }
.service { padding-inline: 22px; }
.service summary { display: flex; align-items: baseline; gap: 13px; padding-block: 13px; cursor: pointer; list-style: none; font-size: 17px; line-height: 1.5; font-weight: bold; }
.service summary::-webkit-details-marker { display: none; }
.service summary::before { content: ''; display: inline-block; flex: 0 0 auto; border-left: 5px solid currentColor; border-top: 4px solid transparent; border-bottom: 4px solid transparent; transform: translateY(-1px); }
.service[open] summary::before { transform: rotate(90deg); }
.service summary:hover { text-decoration: underline; text-underline-offset: 4px; }
.service-description { padding: 0 0 18px 23px; }
.service-description p { margin: 0 0 10px; }
.service[open] { border-bottom: 1px solid #ded0c7; }
.confidentiality { background: var(--services); }
.history { background: var(--history); }
.confidentiality .wrap, .history .wrap { padding-block: 14px; }
.confidentiality p, .history p { margin: 0; }
.contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; padding: 76px 40px 30px; align-items: center; }
.organisation { font-size: 23px; font-weight: bold; line-height: 1.55; margin-bottom: 28px; }
.organisation p { margin: 0; }
.contact-list { font-style: normal; font-family: 'Times New Roman', Times, serif; font-size: 18px; }
.contact-list p { display: flex; gap: 14px; align-items: baseline; margin: 9px 0; }
.contact-list svg { width: 17px; height: 17px; flex: 0 0 auto; align-self: center; }
.contact-list a { text-decoration: none; overflow-wrap: anywhere; }
.contact-list a:hover { text-decoration: underline; }
.registration { margin-top: 25px; font: 16px/1.5 'Times New Roman', Times, serif; }
.registration p { margin: 0; }
.contact-copy { min-width: 0; }
.map { min-width: 0; width: 100%; max-width: 500px; aspect-ratio: 1000 / 660; margin: 0; justify-self: end; border-radius: 14px; overflow: hidden; }
.footer-bottom { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 30px 40px 40px; font-size: 14px; }
.footer-bottom p { margin: 0; }
.footer-bottom nav { display: flex; flex-shrink: 0; gap: 9px; }
.footer-bottom nav a { text-decoration: none; }
.footer-bottom nav a:hover { text-decoration: underline; }
.inner-header { padding-block: 22px; }
.inner-header .brand { width: 230px; }
.legal-title { padding-block: 24px 34px; background: var(--light); }
.back-link { display: inline-block; font-size: 14px; }
.legal-title h1 { font-size: 26px; text-align: center; margin: 15px 0 0; }
.legal-content { padding-block: 30px 45px; color: var(--ink); overflow-wrap: anywhere; }
.legal-content p { margin: 0 0 16px; }
.legal-content h2, .legal-content h3, .legal-content h4 { font-size: 18px; margin: 28px 0 16px; }
.legal-content table { width: 100%; border-collapse: collapse; table-layout: fixed; margin-block: 20px; font-size: 15px; }
.legal-content th, .legal-content td { text-align: left; vertical-align: top; border: 1px solid #d8c8bd; padding: 10px; }
.legal-content th { background: var(--services); }
.table-scroll { overflow-x: auto; margin-block: 20px; }
.table-scroll:focus-visible { outline: 3px solid #af8a58; outline-offset: 3px; }
.table-scroll table { margin-block: 0; }
.compact .footer-bottom { padding-block: 30px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 12px; left: 12px; padding: 10px 18px; z-index: 10; background: white; color: var(--ink); transform: translateY(-180%); }
.skip-link:focus { transform: none; }
@media (max-width: 1024px) {
  .hero-copy { width: 65%; }
  .contact-grid { gap: 28px; padding-inline: 30px; }
  .footer-bottom { flex-wrap: wrap; padding-inline: 30px; }
}
@media (max-width: 767px) {
  .wrap { padding-inline: 20px; }
  .site-header { padding-top: 20px; }
  .brand { width: 260px; }
  .languages { margin-top: 16px; }
  .language { min-width: 34px; min-height: 40px; }
  .hero { min-height: 330px; }
  .hero-copy { width: 100%; max-width: none; padding: 26px 0 36px; font-size: 19px; }
  .contact-button { margin-top: 18px; padding: 10px 24px; }
  .section-heading { padding-block: 18px; }
  .services-content { padding-block: 18px 24px; }
  .service-list { margin-top: 24px; }
  .service { padding-inline: 0; }
  .service summary { font-size: 16px; gap: 12px; padding-block: 14px; }
  .service-description { padding-left: 17px; }
  .confidentiality .wrap, .history .wrap { padding-block: 22px; }
  .contact-grid { grid-template-columns: 1fr; gap: 30px; padding-block: 38px 20px; }
  .organisation { font-size: 20px; margin-bottom: 22px; }
  .footer-bottom { display: block; padding-block: 22px 30px; font-size: 13px; }
  .footer-bottom nav { margin-top: 20px; }
  .legal-title h1 { font-size: 24px; }
  .legal-content { font-size: 16px; }
  .legal-content table { min-width: 680px; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
  .site-shell { max-width: none; }
  .languages, .skip-link, .map, .contact-button, .back-link { display: none; }
  .site-header { display: none; }
  .hero, .site-footer { background: white; color: black; }
  .hero { min-height: 0; }
  .hero-copy { width: 100%; padding: 0; }
  .contact-grid { display: block; padding-top: 20px; }
  .service, .contact-grid { break-inside: avoid; }
}

/* LT preview v11: existing palette and typography, revised hierarchy and disclosures. */
.geography { margin: 28px 0 4px; text-align: center; font-size: 13px; line-height: 1.5; letter-spacing: .09em; }
.hero-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 50px; align-items: center; padding-block: 30px 38px; }
.practice-copy { padding: 0 20px; }
.practice-copy h2 { margin: 0 0 20px; font-size: 13px; font-weight: normal; line-height: 1.5; letter-spacing: .09em; text-transform: uppercase; }
.practice-areas { margin: 0; padding: 0; list-style: none; font-size: 22px; line-height: 1.5; font-weight: normal; text-transform: uppercase; }
.practice-areas li { margin: 0 0 10px; padding: 0; }
.practice-copy .contact-button { margin-top: 26px; margin-inline: auto; font-weight: bold; }
.hero .hero-copy { width: 100%; max-width: none; padding: 0 20px 0 0; font-size: 19px; }
.hero-copy .attorney { margin: 20px 0 0; font-size: 17px; }
.attorney-name { text-transform: uppercase; }
.all-services { padding: 28px 30px; }
.all-services > .services-content { padding: 26px 0 0; }
.disclosure-toggle, .information-details > .disclosure-toggle { display: flex; align-items: center; justify-content: center; gap: 12px; width: fit-content; min-width: 260px; max-width: 100%; margin-inline: auto; padding: 12px 26px; border: 0; border-radius: 32px; background: var(--services); color: var(--ink); font: bold 20px/1.4 Georgia, 'Times New Roman', serif; text-align: center; cursor: pointer; list-style: none; }
.disclosure-toggle::-webkit-details-marker { display: none; }
.disclosure-toggle::before { content: ''; flex: 0 0 auto; border-left: 5px solid currentColor; border-top: 4px solid transparent; border-bottom: 4px solid transparent; transition: transform .15s; }
details[open] > .disclosure-toggle::before { transform: rotate(90deg); }
.disclosure-toggle:hover { background: var(--light); }
.confidentiality .disclosure-toggle { background: var(--services); }
.confidentiality .disclosure-toggle:hover { background: var(--white); }
.service[open] { border-bottom: 0; }
.service { padding-inline: 0; margin-block: 18px; }
.service summary { width: fit-content; max-width: 100%; padding: 11px 20px; border: 0; border-radius: 26px; background: var(--services); }
.service-description { padding: 14px 20px 6px 23px; }
.confidentiality .wrap, .history .wrap { padding-block: 28px; }
.information-body { padding-top: 24px; }
.information-body p { margin: 0 0 12px; }
.information-body p:last-child { margin-bottom: 0; }
@media (max-width: 1024px) {
  .hero-layout { gap: 30px; }
  .practice-copy { padding-inline: 0; }
  .hero .hero-copy { padding: 0; }
}
@media (max-width: 767px) {
  .hero { min-height: 0; }
  .hero-layout { grid-template-columns: 1fr; gap: 32px; padding-block: 26px 32px; }
  .practice-copy h2 { font-size: 12px; letter-spacing: .07em; margin-bottom: 18px; }
  .practice-areas { font-size: 21px; }
  .practice-copy .contact-button { margin-top: 22px; }
  .hero .hero-copy { font-size: 18px; }
  .hero-copy .attorney { font-size: 16px; }
  .geography { margin-top: 25px; font-size: 12px; letter-spacing: .07em; }
  .all-services { padding: 26px 20px; }
  .disclosure-toggle, .information-details > .disclosure-toggle { min-width: 0; padding: 12px 20px; font-size: 18px; }
  .confidentiality .wrap, .history .wrap { padding-block: 26px; }
  .service { margin-block: 16px; }
  .service summary { padding: 11px 15px; }
}
@media (prefers-reduced-motion: reduce) { .disclosure-toggle::before { transition: none; } }
@media print { .hero-layout { display: block; } .practice-copy { margin-bottom: 24px; } }

/* Match the three disclosure bands to the header and footer. */
.services, .confidentiality, .history { background: var(--dark); }
.services, .confidentiality, .history { color: var(--white); }
.disclosure-toggle, .information-details > .disclosure-toggle { background: var(--services); color: var(--ink); }
.service-description { color: var(--white); }
.service summary { color: var(--ink); }

/* Soft light reading panels, with dark-to-light transitions above and below. */
.all-services > .services-content, .information-body {
  margin-top: 20px;
  padding: 40px 30px;
  color: var(--ink);
  background: linear-gradient(to bottom, var(--dark) 0, var(--light) 22px, var(--light) calc(100% - 22px), var(--dark) 100%);
}
.services .service-description { color: var(--ink); }
/* Native details remain usable without animation support. */
@supports (interpolate-size: allow-keywords) and selector(details::details-content) {
  details { interpolate-size: allow-keywords; }
  details::details-content {
    height: 0;
    overflow: clip;
    opacity: 0;
    transform: translateY(-6px);
    transition: height .52s cubic-bezier(.2,.7,.2,1), opacity .34s ease, transform .52s ease, content-visibility .52s allow-discrete;
  }
  details[open]::details-content { height: auto; opacity: 1; transform: translateY(0); }
}
/* Quiet horizontal dividers, fading toward their ends. */
.site-header, .hero, .history { position: relative; }
.site-header::after, .hero::after, .history::after {
  content: '';
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(232,221,214,.2) 18%, rgba(232,221,214,.2) 82%, transparent);
  pointer-events: none;
}
.site-header { padding-bottom: 22px; }
@media (max-width: 767px) {
  .all-services > .services-content, .information-body { padding: 34px 18px; background: linear-gradient(to bottom, var(--dark) 0, var(--light) 18px, var(--light) calc(100% - 18px), var(--dark) 100%); }
  .site-header::after, .hero::after, .history::after { left: 20px; right: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  details::details-content { transition: none; transform: none; }
}

/* Slightly more compact controls and aligned contact columns. */
.all-services { padding-block: 20px; }
.confidentiality .wrap, .history .wrap { padding-block: 20px; }
.disclosure-toggle, .information-details > .disclosure-toggle { min-width: 240px; padding: 10px 24px; font-size: 18px; }
.organisation { font-size: 22px; }
.contact-grid { align-items: start; padding-top: 54px; }
@media (max-width: 767px) {
  .disclosure-toggle, .information-details > .disclosure-toggle { min-width: 0; padding: 10px 18px; font-size: 17px; }
  .organisation { font-size: 19px; }
  .contact-grid { padding-top: 34px; }
}

/* Compact spacing and a consultation card with a callable reverse side. */
.site-header { padding-bottom: 16px; }
.hero { min-height: 315px; }
.hero-layout { padding-block: 24px 28px; }
.all-services, .confidentiality .wrap, .history .wrap { padding-block: 16px; }
.organisation { font-size: 21px; }
.contact-grid { padding-top: 44px; }
.footer-bottom { padding-block: 24px 32px; }
.consultation-flip { width: max-content; max-width: 100%; margin: 22px auto 0; perspective: 900px; }
.consultation-card { display: grid; transform-style: preserve-3d; transition: transform .55s cubic-bezier(.2,.65,.25,1); }
.consultation-face { grid-area: 1 / 1; display: flex; align-items: center; justify-content: center; padding: 7px 22px; border: 2px solid transparent; border-radius: 32px; background: var(--services); color: var(--ink); font-size: 16px; font-weight: bold; line-height: 1.4; text-align: center; text-decoration: none; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.practice-copy .consultation-flip .contact-button { width: auto; margin: 0; cursor: pointer; }
.consultation-back { transform: rotateY(180deg); font-family: 'Times New Roman', Times, serif; pointer-events: none; }
.consultation-flip.is-flipped .consultation-card { transform: rotateY(180deg); }
.consultation-flip.is-flipped .consultation-front { pointer-events: none; }
.consultation-flip.is-flipped .consultation-back { pointer-events: auto; }
.consultation-face:hover { background: var(--white); }
@media (max-width: 767px) {
  .hero { min-height: 0; }
  .hero-layout { padding-block: 22px 26px; }
  .organisation { font-size: 18.5px; }
  .contact-grid { padding-top: 28px; }
  .consultation-flip { margin-top: 18px; }
  .consultation-face { padding: 10px 20px; }
}
@media (prefers-reduced-motion: reduce) { .consultation-card { transition: none; } }

/* Slightly smaller copyright line. */
.footer-bottom { font-size: 13px; }
@media (max-width: 767px) { .footer-bottom { font-size: 12.5px; } }

/* Footer label reserved for the later privacy policy. */
.footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; }
.privacy-preview { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; margin-left: auto; padding: 5px 13px; border-radius: 20px; background: var(--services); color: var(--ink); font: 12px/1.4 Georgia, 'Times New Roman', serif; }
@media (max-width: 767px) { .footer-bottom > p { flex-basis: 100%; } .privacy-preview { font-size: 11.5px; } }

/* Balanced company name and more readable phone and privacy label. */
.organisation { font-size: 20px; font-weight: normal; }
.consultation-back { font-size: 22px; line-height: 1.1; }
.privacy-preview { padding: 6px 15px; font-size: 13.5px; }
@media (max-width: 767px) {
  .organisation { font-size: 19px; }
  .consultation-back { font-size: 21px; }
  .privacy-preview { font-size: 12.5px; }
}

/* Georgia for the company name; Times New Roman for contact and registration data. */
.organisation { font-family: Georgia, 'Times New Roman', serif; font-weight: normal; margin-bottom: 20px; }
.contact-list, .registration { font-family: 'Times New Roman', Times, serif; }
.contact-list p { margin-block: 6px; }
.registration { margin-top: 18px; line-height: 1.4; }
@media (max-width: 767px) { .organisation { margin-bottom: 18px; } }

/* Light panels now fade into the dark on all four sides, over shorter distances. */
.all-services > .services-content, .information-body {
  --panel-fade: 15px;
  padding-top: 33px;
  padding-bottom: 33px;
  background-color: var(--light);
  background-image:
    linear-gradient(to right, var(--dark) 0, transparent var(--panel-fade), transparent calc(100% - var(--panel-fade)), var(--dark) 100%),
    linear-gradient(to bottom, var(--dark) 0, var(--light) var(--panel-fade), var(--light) calc(100% - var(--panel-fade)), var(--dark) 100%);
}
@media (max-width: 767px) {
  .all-services > .services-content, .information-body { --panel-fade: 12px; padding-top: 28px; padding-bottom: 28px; }
}

.privacy-preview { font-weight: bold; }

/* Make the callable phone number visibly identifiable as a link. */
.consultation-back { text-underline-offset: 4px; text-decoration-thickness: 1px; }
.consultation-back:hover, .consultation-back:focus-visible { text-decoration-line: underline; }
@media (hover: none), (pointer: coarse) { .consultation-back { text-decoration-line: underline; } }

/* Refined reading-panel edges, service emphasis and a centered language group. */
.languages { width: fit-content; max-width: 100%; margin: 14px auto 0; gap: 8px; justify-content: center; }
.all-services > .services-content, .information-body { --panel-fade: 2px; border-radius: 8px; padding-top: 28px; padding-bottom: 28px; }
.all-services > .disclosure-toggle { min-width: 300px; padding: 12px 32px; background: var(--light); }
.all-services > .disclosure-toggle:hover { background: var(--white); }
/* Align the quote with the practice-area text and tighten the two-column section. */
.hero { min-height: 0; }
.hero-layout { align-items: start; padding-block: 22px 24px; }
.hero .hero-copy { padding-top: 39.5px; }
/* Bring the contact information into a more compact reading group. */
.organisation { margin-bottom: 14px; }
.contact-list p { margin-block: 4px; }
.registration { margin-top: 12px; }
.contact-grid { padding-top: 34px; }
.footer-bottom { padding-block: 20px 26px; }
@media (max-width: 767px) {
  .languages { margin-top: 14px; }
  .all-services > .services-content, .information-body { --panel-fade: 2px; padding-top: 24px; padding-bottom: 24px; }
  .all-services > .disclosure-toggle { min-width: 260px; padding: 12px 28px; }
  .hero-layout { padding-block: 20px 22px; }
  .hero .hero-copy { padding-top: 0; }
  .contact-grid { padding-top: 24px; }
}

/* A balanced three-control group: primary services, quieter supporting topics. */
.confidentiality .wrap { padding-top: 12px; padding-bottom: 10px; }
.all-services { padding-block: 12px; }
.history .wrap { padding-top: 10px; padding-bottom: 16px; }
.confidentiality .information-details > .disclosure-toggle { min-width: 0; padding: 10px 24px; font-size: 16px; font-weight: normal; }
.history .information-details > .disclosure-toggle { min-width: 0; padding: 8px 20px; font-size: 14px; font-weight: normal; }
.disclosure-toggle::before { content: none; border: 0; }
.disclosure-toggle::after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  opacity: .75;
  background: linear-gradient(currentColor,currentColor) center / 10px 1px no-repeat, linear-gradient(currentColor,currentColor) center / 1px 10px no-repeat;
}
details[open] > .disclosure-toggle::after { background: linear-gradient(currentColor,currentColor) center / 10px 1px no-repeat; }
@media (max-width: 767px) {
  .confidentiality .information-details > .disclosure-toggle { padding-inline: 18px; font-size: 15px; }
  .history .information-details > .disclosure-toggle { padding-inline: 18px; font-size: 14px; }
}

/* A restrained map size and one shared right alignment for the footer. */
.site-footer { --footer-inset: 40px; }
.contact-grid, .footer-bottom { padding-inline: var(--footer-inset); }
.map { justify-self: end; }
.privacy-preview { margin-left: auto; }
@media (max-width: 1024px) { .site-footer { --footer-inset: 30px; } }
@media (max-width: 767px) { .site-footer { --footer-inset: 20px; } }

/* Consistent controls and a continuous portrait-paper background. */
.site-shell {
  background: var(--dark);
  min-height: 100vh;
  min-height: max(100svh, calc(min(100vw, 1200px) * 1.4142857143));
}
.consultation-back { font-size: 1rem; line-height: 1.4; }
.disclosure-toggle, .all-services > .disclosure-toggle,
.confidentiality .information-details > .disclosure-toggle,
.history .information-details > .disclosure-toggle {
  min-width: 240px;
  padding: 10px 24px;
  font: bold 17px/1.4 Georgia, 'Times New Roman', serif;
}
.disclosure-toggle::before, .disclosure-toggle::after, .service summary::before {
  content: none;
  display: none;
}
.disclosure-toggle, .consultation-face, .privacy-preview, .service summary { border-radius: 14px; }
/* Justify prose while leaving the final line naturally spaced. */
.hero-copy > p:not(.attorney), .introduction p, .service-description p,
.information-body p, .organisation p {
  text-align: justify;
  text-align-last: start;
  hyphens: auto;
  overflow-wrap: break-word;
}
.organisation p { hyphens: none; }
/* Align the right-hand footer elements with the right edge of the quote. */
.site-footer { --footer-right-inset: 50px; }
.contact-grid, .footer-bottom { padding-right: var(--footer-right-inset); }
/* A very narrow feather at the edges, without a visible frame or glow. */
.disclosure-toggle, .consultation-face, .privacy-preview, .service summary, .map {
  --edge-feather: 1px;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 var(--edge-feather), #000 calc(100% - var(--edge-feather)), transparent), linear-gradient(to bottom, transparent, #000 var(--edge-feather), #000 calc(100% - var(--edge-feather)), transparent);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to right, transparent, #000 var(--edge-feather), #000 calc(100% - var(--edge-feather)), transparent), linear-gradient(to bottom, transparent, #000 var(--edge-feather), #000 calc(100% - var(--edge-feather)), transparent);
  mask-composite: intersect;
}
.disclosure-toggle:focus-visible, .consultation-face:focus-visible {
  -webkit-mask-image: none;
  mask-image: none;
}
@media (max-width: 1024px) { .site-footer { --footer-right-inset: 30px; } }
@media (max-width: 767px) {
  .site-footer { --footer-right-inset: 20px; }
  .disclosure-toggle, .all-services > .disclosure-toggle,
  .confidentiality .information-details > .disclosure-toggle,
  .history .information-details > .disclosure-toggle {
    min-width: 0;
    padding: 10px 20px;
    font-size: 16px;
  }
}
@media print { .site-shell { min-height: 0; background: #fff; } }

/* Close proportions create hierarchy while all three labels keep the same bold type. */
.confidentiality .information-details > .disclosure-toggle { width: 360px; max-width: 100%; padding: 10px 24px; }
.all-services > .disclosure-toggle { width: 380px; max-width: 100%; padding: 12px 28px; }
.history .information-details > .disclosure-toggle { width: 340px; max-width: 100%; padding: 9px 22px; }
@media (max-width: 767px) {
  .confidentiality .information-details > .disclosure-toggle { width: calc(100% - 12px); max-width: 360px; padding: 10px 20px; }
  .all-services > .disclosure-toggle { width: 100%; max-width: 380px; padding: 12px 24px; }
  .history .information-details > .disclosure-toggle { width: calc(100% - 24px); max-width: 340px; padding: 9px 20px; }
}

.information-details > .disclosure-toggle { border-radius: 14px; }

/* Only the revealed consultation number: main typeface, comfortably readable size. */
.consultation-back { font-family: Georgia, 'Times New Roman', serif; font-size: 22px; line-height: 1.1; }
@media (max-width: 767px) { .consultation-back { font-size: 24px; } }

/* Keep the longer supporting label on one line on desktop, with close proportions. */
@media (min-width: 768px) {
  .confidentiality .information-details > .disclosure-toggle { width: 420px; }
  .all-services > .disclosure-toggle { width: 440px; }
  .history .information-details > .disclosure-toggle { width: 400px; }
}

/* The revealed phone retains its readable size and uses Times New Roman. */
.consultation-back { font-family: 'Times New Roman', Times, serif; }

/* Give the three-control section a little more space above and below. */
.confidentiality .wrap { padding-top: 22px; }
.history .wrap { padding-bottom: 26px; }
@media (max-width: 767px) {
  .confidentiality .wrap { padding-top: 20px; }
  .history .wrap { padding-bottom: 24px; }
}

/* Keep the company name naturally left aligned. */
.organisation p { text-align: left; text-align-last: left; }

/* Narrow the quote from the left while retaining its aligned right edge. */
.hero .hero-copy > p { max-width: 480px; margin-left: auto; }
/* Modest breathing room above and below the middle controls. */
.confidentiality .wrap { padding-top: 30px; }
.history .wrap { padding-bottom: 34px; }
@media (max-width: 767px) {
  .confidentiality .wrap { padding-top: 28px; }
  .history .wrap { padding-bottom: 32px; }
}

/* A half-pixel smaller history label and a slightly smaller matching control. */
.history .information-details > .disclosure-toggle { font-size: 16.5px; padding-block: 8.5px; }
@media (min-width: 768px) { .history .information-details > .disclosure-toggle { width: 390px; } }
@media (max-width: 767px) { .history .information-details > .disclosure-toggle { width: calc(100% - 32px); font-size: 15.5px; } }

/* Slightly narrower confidentiality control, remaining centered. */
@media (min-width: 768px) { .confidentiality .information-details > .disclosure-toggle { width: 410px; } }
@media (max-width: 767px) { .confidentiality .information-details > .disclosure-toggle { width: calc(100% - 18px); } }

/* Match the confidentiality label's inner side space to the consultation control. */
.confidentiality .information-details > .disclosure-toggle { width: fit-content; min-width: 0; padding-inline: 24px; }
@media (max-width: 767px) { .confidentiality .information-details > .disclosure-toggle { width: fit-content; max-width: calc(100% - 18px); padding-inline: 22px; } }

@media (min-width: 768px) { .history .information-details > .disclosure-toggle { width: 365px; } }
