/* Rtvan Legal — production readability and portrait corrections.
   Loaded after the bundled stylesheet so these accessibility/readability values win. */

html { font-size: 100%; }
body { font-size: 19px !important; line-height: 1.7 !important; }

/* Make normal reading text visibly larger site-wide. */
main p,
main li { font-size: 18px !important; line-height: 1.74 !important; }

/* Navigation and interactive text */
.main-nav a,
.hero-links a { font-size: 17px !important; }
.mobile-nav a { font-size: 17px !important; line-height: 1.5 !important; }
.menu-toggle,
.nav-contact,
.nav-enquiry { font-size: 16px !important; }

/* Bar Council disclaimer */
.bci-panel p,
.bci-panel li { font-size: 16px !important; line-height: 1.75 !important; }
.bci-closecopy { font-size: 14.5px !important; line-height: 1.6 !important; }
.bci-agree,
.bci-exit { font-size: 15.5px !important; }

/* Editorial labels: still compact, but no microscopic 9–11 px text. */
.section-no,
.section-label,
.page-nav a,
.work-panel .label,
.check-step,
.counsel-toggle span,
.practice-mini,
.practice-no,
.about-facts span,
.about-meta span { font-size: 13.5px !important; line-height: 1.48 !important; }

/* Supporting copy */
.practice-row p,
.practice-columns p,
.work-panel li,
.page-hero-aside li,
.cap-card p,
.detail-side p,
.scope-item p,
.check-side p,
.moment-flow p,
.approach-grid p { font-size: 17.5px !important; line-height: 1.72 !important; }

.hero-copy,
.hero-deck,
.section-lead,
.page-deck,
.moments-intro > p:last-child,
.contact-copy > p:last-child { font-size: 19px !important; line-height: 1.72 !important; }

.moment-note { font-size: 15.5px !important; line-height: 1.65 !important; }
.moment-tabs button,
.subject-chips button { font-size: 14px !important; line-height: 1.45 !important; }

.text-link,
.cap-card a,
.dpdp-teaser a,
.redline-copy a,
.subject-mail,
.about-meta b,
.about-meta a { font-size: 16px !important; line-height: 1.55 !important; }

/* Long-form/about copy */
.prose p,
.prose li,
.about-story p,
.about-copy > p:not(.section-num),
.counsel-copy p,
.counsel-meta p { font-size: 18px !important; line-height: 1.78 !important; }

/* Portrait: preserve the full uploaded photograph, no crop/filter/distortion. */
.about-photo-wrap {
  width: 100% !important;
  max-width: 390px !important;
  margin: 0 auto !important;
}
.photo-frame,
.counsel-photo {
  width: 100% !important;
  max-width: 390px !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.photo-frame img,
.counsel-photo img,
img[alt="Ashi Jain, Counsel at Rtvan Legal"],
img[src$="ashi-jain.jpg"] {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  filter: none !important;
  transform: none !important;
}
.photo-caption { font-size: 15.5px !important; }
.photo-caption b { font-size: 12.5px !important; line-height: 1.45 !important; }
.photo-mark { font-size: 64px !important; right: -8px !important; bottom: -20px !important; }

/* Footer */
.footer-brand p { font-size: 15px !important; line-height: 1.6 !important; }
.footer-links a { font-size: 15.5px !important; line-height: 1.55 !important; }
.footer-bottom { font-size: 14.5px !important; line-height: 1.6 !important; }

@media (max-width: 760px) {
  body { font-size: 18px !important; line-height: 1.7 !important; }
  main p,
  main li { font-size: 16.5px !important; line-height: 1.7 !important; }
  .hero-copy,
  .hero-deck,
  .section-lead,
  .page-deck { font-size: 17.5px !important; line-height: 1.7 !important; }
  .practice-row p,
  .practice-columns p,
  .work-panel li,
  .page-hero-aside li,
  .cap-card p,
  .detail-side p,
  .scope-item p,
  .check-side p,
  .moment-flow p,
  .approach-grid p { font-size: 16px !important; }
  .about-photo-wrap,
  .photo-frame,
  .counsel-photo {
    width: min(100%, 320px) !important;
    max-width: 320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .footer-links a { font-size: 15.5px !important; }
}


/* DPDP compliance process — explanatory section before the readiness assessment. */
.anchor-target {
  display: block;
  position: relative;
  top: -88px;
  visibility: hidden;
}

.dpdp-process-section {
  padding: 96px 5vw 88px !important;
  border-top: 1px solid rgba(25, 25, 22, 0.18);
  border-bottom: 1px solid rgba(25, 25, 22, 0.18);
}

.dpdp-process-shell {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.dpdp-process-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr);
  column-gap: clamp(48px, 7vw, 104px);
  row-gap: 24px;
  align-items: end;
  padding-bottom: 64px;
}

.dpdp-process-kicker,
.dpdp-phase-no,
.dpdp-phase-time {
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.dpdp-process-kicker {
  grid-column: 1 / -1;
  margin: 0 0 4px !important;
  font-size: 12.5px !important;
  line-height: 1.4 !important;
  font-weight: 650;
}

.dpdp-process-intro h2 {
  margin: 0 !important;
  max-width: 760px;
  font-size: clamp(38px, 5vw, 68px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em;
  font-weight: 500;
}

.dpdp-process-intro h2 em,
.dpdp-phase-copy h3 em {
  font-weight: inherit;
}

.dpdp-process-intro > p:last-child {
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.76 !important;
}

.dpdp-process-list {
  border-top: 1px solid rgba(25, 25, 22, 0.2);
}

.dpdp-phase {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: clamp(36px, 6vw, 88px);
  padding: 42px 0 44px;
  border-bottom: 1px solid rgba(25, 25, 22, 0.2);
}

.dpdp-phase-meta {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding-top: 7px;
}

.dpdp-phase-no {
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  font-weight: 700;
}

.dpdp-phase-time {
  font-size: 11.5px !important;
  line-height: 1.4 !important;
  opacity: 0.62;
}

.dpdp-phase-copy {
  max-width: 850px;
}

.dpdp-phase-copy h3 {
  margin: 0 0 14px !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em;
  font-weight: 500;
}

.dpdp-phase-copy p {
  margin: 0 !important;
  max-width: 790px;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.dpdp-process-end {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 32px;
  padding-top: 48px;
}

.dpdp-process-end h3 {
  margin: 7px 0 0 !important;
  font-size: clamp(25px, 2.5vw, 34px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em;
  font-weight: 500;
}

.dpdp-process-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid currentColor;
  border-radius: 999px;
  color: inherit;
  text-decoration: none;
  font-size: 14.5px !important;
  line-height: 1.25 !important;
  white-space: nowrap;
  transition: transform 160ms ease, opacity 160ms ease;
}

.dpdp-process-cta:hover,
.dpdp-process-cta:focus-visible {
  transform: translateY(-1px);
  opacity: 0.72;
}

@media (max-width: 840px) {
  .dpdp-process-section {
    padding: 72px 6vw 68px !important;
  }

  .dpdp-process-intro {
    grid-template-columns: 1fr;
    row-gap: 28px;
    padding-bottom: 48px;
  }

  .dpdp-process-kicker {
    grid-column: auto;
  }

  .dpdp-phase {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 34px 0 36px;
  }

  .dpdp-phase-meta {
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    padding-top: 0;
  }

  .dpdp-process-end {
    align-items: flex-start;
    flex-direction: column;
    padding-top: 38px;
  }
}

@media (max-width: 520px) {
  .dpdp-process-section {
    padding: 60px 6vw 58px !important;
  }

  .dpdp-process-intro h2 {
    font-size: 38px !important;
  }

  .dpdp-process-intro > p:last-child,
  .dpdp-phase-copy p {
    font-size: 16.5px !important;
  }

  .dpdp-process-cta {
    width: 100%;
  }
}


/* Redline — final structural refinement.
   Uses section structure rather than bundle-specific class names. */
@media (min-width: 900px) {
  #redline {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
  }

  #redline .shell {
    display: grid !important;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr) !important;
    column-gap: clamp(64px, 5vw, 84px) !important;
    align-items: center !important;
  }

  #redline .shell > :first-child {
    transform: scale(0.86) !important;
    transform-origin: left center !important;
  }

  #redline .shell > :nth-child(2) p {
    font-size: 18px !important;
    line-height: 1.74 !important;
  }

  #redline .shell > :nth-child(2) a {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }
}

/* Keep the approved readability baseline on mobile without scaling the Redline wordmark. */
@media (max-width: 899px) {
  #redline .shell > :first-child {
    transform: none !important;
  }
}
/* ===== conversion pass 2026-09-18 ===== */
/* Conversion-first hierarchy, type consistency, accessibility and enquiry form. */

body {
  font-size: 18px !important;
  line-height: 1.68 !important;
}

main p,
main li {
  font-size: 17.5px !important;
  line-height: 1.7 !important;
}

.hero-deck,
.section-head > p,
.about-copy > p,
.dpdp-copy > p,
.contact-copy > p,
.page-deck {
  font-size: 18px !important;
  line-height: 1.68 !important;
}

.main-nav a {
  font-size: 15px !important;
}

.section-label,
.section-no,
.practice-no,
.quiz-step,
.micro,
.dpdp-process-kicker,
.dpdp-phase-no,
.dpdp-phase-time,
.practice-columns span,
.contact-list span,
.contact-row span,
.redline-topics span,
.intro-strip-inner {
  font-size: 12.5px !important;
  line-height: 1.45 !important;
}

.hero-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.hero-links a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: 1px solid var(--red);
  text-decoration: none;
  font-size: 14.5px !important;
  line-height: 1.2 !important;
  transition: background .16s ease, color .16s ease, transform .16s ease;
}

.hero-links a:first-child {
  background: var(--red);
  color: #fff;
}

.hero-links a:last-child {
  color: var(--red);
  background: transparent;
}

.hero-links a:hover,
.hero-links a:focus-visible {
  transform: translateY(-1px);
}

.dpdp-home-link {
  display: inline-block;
  margin-top: 20px;
}

.dpdp-process-intro {
  align-items: start !important;
}

.dpdp-process-intro-copy p {
  margin: 0 0 14px !important;
  font-size: 17px !important;
  line-height: 1.72 !important;
}

.dpdp-timing-note {
  max-width: 60ch;
  padding-top: 14px;
  border-top: 1px solid rgba(25,25,22,.16);
  font-size: 14px !important;
  line-height: 1.65 !important;
  opacity: .72;
}

.dpdp-phase-time {
  font-size: 12px !important;
}

.redline-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 22px 0 26px;
}

.redline-topics span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 9px;
  border: 1px solid rgba(17,18,20,.16);
  text-transform: uppercase;
  letter-spacing: .08em;
}

#redline .redline-mark {
  max-width: 100%;
}

#contact .contact-grid.conversion-contact {
  grid-template-columns: minmax(0,.78fr) minmax(320px,1.18fr) minmax(250px,.8fr) !important;
  gap: clamp(30px,4vw,64px) !important;
  align-items: start !important;
}

.enquiry-form {
  position: relative;
  padding: 28px;
  border-top: 4px solid var(--red);
  background: rgba(255,255,255,.5);
  box-shadow: 0 24px 70px rgba(20,15,18,.06);
}

.enquiry-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 18px;
}

.enquiry-field {
  display: grid;
  gap: 8px;
}

.enquiry-field-full {
  grid-column: 1 / -1;
}

.enquiry-field > span {
  font: 600 12px/1.4 var(--mono);
  letter-spacing: .09em;
  text-transform: uppercase;
}

.enquiry-field > span i {
  font: inherit;
  font-weight: 400;
  opacity: .55;
  text-transform: none;
  letter-spacing: 0;
}

.enquiry-field input,
.enquiry-field select,
.enquiry-field textarea {
  width: 100%;
  min-height: 46px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid rgba(17,18,20,.28);
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 15.5px;
  line-height: 1.5;
}

.enquiry-field textarea {
  min-height: 126px;
  resize: vertical;
}

.enquiry-field input:focus,
.enquiry-field select:focus,
.enquiry-field textarea:focus {
  border-bottom-color: var(--red);
  outline: 0;
}

.enquiry-note {
  margin: 18px 0 0 !important;
  font-size: 13px !important;
  line-height: 1.62 !important;
  opacity: .68;
}

.enquiry-submit {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  min-height: 48px;
  margin-top: 20px;
  padding: 12px 15px;
  border: 1px solid var(--red);
  background: var(--red);
  color: #fff;
  font: 600 13px/1.2 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
}

.contact-list a,
.contact-row {
  min-height: 58px;
}

.thanks-page {
  min-height: 100vh;
  background: #f4f2f4;
}

.thanks-shell {
  width: min(760px, 88vw);
  margin: 0 auto;
  padding: clamp(40px,9vw,110px) 0;
}

.thanks-brand {
  display: inline-block;
  margin-bottom: clamp(70px,11vw,130px);
}

.thanks-brand img {
  width: 132px;
  height: auto;
}

.thanks-shell h1 {
  margin: 10px 0 22px;
  font-size: clamp(48px,8vw,88px);
  line-height: .98;
  letter-spacing: -.045em;
}

.thanks-shell p {
  max-width: 58ch;
}

.thanks-return {
  display: inline-block;
  margin-top: 26px;
  color: var(--red);
  text-underline-offset: 4px;
}

:where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 3px;
}

@media (min-width: 900px) {
  #redline .shell > :first-child {
    transform: scale(.79) !important;
  }
}

@media (max-width: 1020px) {
  #contact .contact-grid.conversion-contact {
    grid-template-columns: 1fr 1fr !important;
  }
  #contact .contact-copy {
    grid-column: 1 / -1;
    max-width: 680px;
  }
}

@media (max-width: 700px) {
  body {
    font-size: 17px !important;
  }

  main p,
  main li {
    font-size: 16.5px !important;
    line-height: 1.68 !important;
  }

  .hero-deck,
  .section-head > p,
  .about-copy > p,
  .dpdp-copy > p,
  .contact-copy > p,
  .page-deck {
    font-size: 17px !important;
  }

  .hero-links {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .hero-links a {
    width: 100%;
  }

  #contact .contact-grid.conversion-contact,
  .enquiry-form-grid {
    grid-template-columns: 1fr !important;
  }

  #contact .contact-copy,
  .enquiry-field-full {
    grid-column: auto;
  }

  .enquiry-form {
    padding: 22px 18px;
  }

  .redline-topics {
    gap: 6px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
/* ===== human editorial typography refinement 2026-09-18 ===== */
/* Keep Rtvan's serif identity, but remove the repeated AI-agency typography pattern. */

:root {
  --rtvan-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
}

/* Functional text should read like a serious legal publication, not a design-system demo. */
.main-nav a,
.mobile-nav a,
.menu-toggle,
.hero-meta,
.hero-meta span,
.section-label,
.section-no,
.practice-no,
.quiz-step,
.micro,
.dpdp-process-kicker,
.dpdp-phase-no,
.dpdp-phase-time,
.contact-list span,
.contact-row span,
.redline-topics span,
.enquiry-field > span,
.enquiry-submit,
.hero-links a {
  font-family: var(--rtvan-ui) !important;
}

/* Preserve the hero and two signature brand statements; neutralise repeated italic emphasis elsewhere. */
.practice-section h2 em,
.navigator-section h2 em,
.dpdp-section h2 em,
.redline-section h2 em,
.contact-section h2 em,
.dpdp-process-section h2 em,
.dpdp-process-section h3 em,
.page-content h2 em,
.page-content h3 em {
  font-style: normal !important;
  color: inherit !important;
}

.section-label,
.section-no,
.practice-no,
.quiz-step,
.micro,
.dpdp-process-kicker,
.dpdp-phase-no,
.dpdp-phase-time {
  text-transform: none !important;
  letter-spacing: .045em !important;
  font-weight: 650 !important;
}

.hero-meta {
  gap: 12px 18px !important;
}

.hero-meta span {
  text-transform: none !important;
  letter-spacing: .01em !important;
  font-size: 13.5px !important;
  font-weight: 520 !important;
}

.hero-links a,
.enquiry-submit {
  text-transform: none !important;
  letter-spacing: .01em !important;
  font-weight: 600 !important;
}

.redline-topics span {
  text-transform: none !important;
  letter-spacing: .02em !important;
  font-weight: 550 !important;
}

/* Moderate the editorial display treatment below the hero. */
.section-head h2,
.dpdp-copy h2,
.about-copy h2,
.redline-copy h2,
.contact-copy h2,
.dpdp-process-intro h2,
.dpdp-phase-copy h3,
.page-content h2,
.page-content h3 {
  letter-spacing: -.018em !important;
}

.section-head h2,
.dpdp-copy h2,
.redline-copy h2,
.contact-copy h2,
.dpdp-process-intro h2 {
  line-height: 1.07 !important;
}

/* Keep the two deliberate brand signatures distinct. */
.brand-story-copy h2 em,
.about-copy h2 em,
.hero h1 em {
  font-style: italic !important;
}

/* Less 'perfectly templated' spacing between label and headline. */
.section-label + h2,
.section-label + h1 {
  margin-top: 11px !important;
}

@media (max-width:700px) {
  .hero-meta span {
    font-size: 13px !important;
  }

  .section-label,
  .section-no,
  .practice-no,
  .quiz-step,
  .micro {
    letter-spacing: .035em !important;
  }
}
/* ===== hierarchy and interaction refinement 2026-09-18 ===== */
/* Stronger hierarchy and restrained interaction cues after the typography cleanup. */

section[id],
h2[id],
h3[id] {
  scroll-margin-top: 96px;
}

/* Numbered section markers: easier to scan, without returning to the tiny AI-agency label look. */
.section-label,
.section-no {
  font-size: 14.5px !important;
  line-height: 1.35 !important;
  font-weight: 760 !important;
  letter-spacing: .025em !important;
}

.practice-no {
  font-size: 14px !important;
  line-height: 1.3 !important;
  font-weight: 750 !important;
}

.dpdp-phase-no {
  font-size: 13.5px !important;
  font-weight: 750 !important;
}

.dpdp-phase-time {
  font-size: 12.5px !important;
}

/* Primary navigation should feel deliberate and legible. */
.main-nav a {
  font-weight: 600 !important;
}

.main-nav .nav-contact {
  font-weight: 720 !important;
}

.mobile-nav a {
  min-height: 46px;
  display: flex;
  align-items: center;
  font-weight: 620 !important;
}

/* Hero actions: clear choices, still restrained enough for a legal practice. */
.hero-links {
  gap: 12px !important;
  margin-top: 28px !important;
}

.hero-links a {
  min-height: 50px !important;
  padding: 12px 18px !important;
  font-size: 15.5px !important;
  font-weight: 720 !important;
  border-width: 1.5px !important;
  box-shadow: 0 8px 24px rgba(20,15,18,.055);
}

.hero-links a::after {
  content: "→";
  margin-left: 10px;
  transition: transform .18s ease;
}

.hero-links a:last-child {
  background: rgba(255,255,255,.62) !important;
  color: var(--red) !important;
}

.hero-links a:first-child {
  box-shadow: 0 10px 28px rgba(139,36,32,.14);
}

/* The DPDP methodology deserves a real focal action, not a buried text link. */
.dpdp-home-link {
  display: inline-flex !important;
  align-items: center;
  width: fit-content;
  min-height: 48px;
  margin-top: 22px !important;
  padding: 11px 16px;
  border: 1.5px solid var(--red);
  background: var(--red);
  color: #fff !important;
  text-decoration: none !important;
  font-family: var(--rtvan-ui) !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 720 !important;
  box-shadow: 0 10px 28px rgba(139,36,32,.13);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

/* Practice and matter selection: tactile enough to guide the eye, not game-like. */
.practice-card,
.moment-btn,
.contact-list a,
.enquiry-submit,
.dpdp-process-cta {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease !important;
}

.practice-card .practice-open {
  font-weight: 680 !important;
}

.moment-btn strong {
  font-weight: 670 !important;
}

.moment-btn.active {
  box-shadow: inset 3px 0 0 var(--red);
}

.contact-list a strong {
  font-weight: 650 !important;
}

.contact-list a i {
  transition: transform .18s ease;
}

.enquiry-field > span {
  font-size: 13px !important;
  font-weight: 650 !important;
}

.enquiry-submit {
  min-height: 52px !important;
  font-size: 14px !important;
  font-weight: 720 !important;
}

.text-link {
  font-weight: 650 !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

/* Comfortable reading measure across long explanatory pages. */
.prose p,
.legal-copy p,
.dpdp-phase-copy p,
.dpdp-process-intro-copy p {
  max-width: 68ch;
}

.page-nav a {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

/* Hover motion is reserved for devices that actually have hover. */
@media (hover:hover) and (pointer:fine) {
  .hero-links a:hover,
  .hero-links a:focus-visible {
    transform: translateY(-2px);
  }

  .hero-links a:hover::after,
  .hero-links a:focus-visible::after {
    transform: translateX(3px);
  }

  .dpdp-home-link:hover,
  .dpdp-home-link:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(139,36,32,.18);
    filter: brightness(.97);
  }

  .practice-card:hover,
  .practice-card:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 18px 46px rgba(20,15,18,.075);
  }

  .moment-btn:hover,
  .moment-btn:focus-visible {
    transform: translateX(4px);
  }

  .contact-list a:hover,
  .contact-list a:focus-visible {
    transform: translateX(3px);
  }

  .contact-list a:hover i,
  .contact-list a:focus-visible i {
    transform: translateX(3px);
  }

  .enquiry-submit:hover,
  .enquiry-submit:focus-visible,
  .dpdp-process-cta:hover,
  .dpdp-process-cta:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(20,15,18,.09);
  }
}

@media (max-width:700px) {
  .section-label,
  .section-no {
    font-size: 13.5px !important;
  }

  .practice-no {
    font-size: 13.5px !important;
  }

  .hero-links a {
    min-height: 50px !important;
    font-size: 15px !important;
  }

  .dpdp-home-link {
    width: 100%;
    justify-content: space-between;
  }

  .page-nav a {
    font-size: 14.5px !important;
  }
}
/* ===== final editorial polish 2026-09-18 ===== */
/* Final polish: restore one deliberate accent and improve scan/readability. */

/* One lower-page signature accent is enough to create rhythm without repeating the AI-style pattern. */
.navigator-section h2 em {
  font-style: italic !important;
  color: var(--red) !important;
  font-weight: inherit !important;
}

/* Section markers should orient the reader immediately. */
.section-label,
.section-no {
  color: var(--red) !important;
}

/* Keep important explanatory copy from becoming too wide on large screens. */
.section-head > p,
.about-copy > p,
.dpdp-copy > p,
.contact-copy > p,
.page-deck {
  max-width: 64ch;
}

/* Secondary information was slightly too faint after the hierarchy pass. */
.dpdp-timing-note,
.dpdp-phase-time,
.enquiry-note {
  opacity: .78 !important;
}

/* Editorial links remain visibly interactive without turning every link into a button. */
.text-link:not(.dpdp-home-link),
.redline-copy a,
.footer-links a {
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}

@media (hover:hover) and (pointer:fine) {
  .text-link:not(.dpdp-home-link):hover,
  .text-link:not(.dpdp-home-link):focus-visible,
  .redline-copy a:hover,
  .redline-copy a:focus-visible {
    color: var(--red) !important;
  }
}

/* Preserve breathing room around major headings after larger section markers. */
.section-label + h2,
.section-label + h1 {
  margin-top: 13px !important;
}

@media (max-width:700px) {
  .section-head > p,
  .about-copy > p,
  .dpdp-copy > p,
  .contact-copy > p,
  .page-deck {
    max-width: none;
  }
}
/* ===== Rtvan brand LinkedIn footer 2026-09-18 ===== */
.rtvan-brand-social {
  width: min(1180px, 90vw);
  margin: 0 auto;
  padding: 0 0 28px;
}

.rtvan-brand-linkedin {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  color: inherit;
  text-decoration: none;
  font-family: var(--rtvan-ui) !important;
  font-size: 14.5px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  border-bottom: 1px solid rgba(17,18,20,.28);
  transition: color .18s ease, border-color .18s ease, transform .18s ease;
}

.rtvan-brand-linkedin span {
  transition: transform .18s ease;
}

@media (hover:hover) and (pointer:fine) {
  .rtvan-brand-linkedin:hover,
  .rtvan-brand-linkedin:focus-visible {
    color: var(--red) !important;
    border-color: var(--red);
    transform: translateY(-1px);
  }

  .rtvan-brand-linkedin:hover span,
  .rtvan-brand-linkedin:focus-visible span {
    transform: translate(2px,-1px);
  }
}

@media (max-width:700px) {
  .rtvan-brand-social {
    width: 88vw;
    padding-bottom: 22px;
  }
}
/* ===== controlled editorial icons + About LinkedIn correction 2026-09-18 ===== */
/* Avoid OS/font-dependent Unicode arrows. These are drawn consistently on desktop and mobile. */
.rtvan-inline-icon {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  width: 11px;
  height: 11px;
  margin-left: 8px;
  vertical-align: -.5px;
}

.rtvan-icon-next::before,
.rtvan-icon-external::before,
.rtvan-icon-down::before {
  content: "";
  position: absolute;
  box-sizing: border-box;
}

.rtvan-icon-next::before {
  width: 7px;
  height: 7px;
  top: 2px;
  left: 1px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
}

.rtvan-icon-next::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 1.5px;
  left: 0;
  top: 5px;
  background: currentColor;
  transform-origin: left center;
}

.rtvan-icon-external::before {
  width: 7px;
  height: 7px;
  right: 0;
  top: 0;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
}

.rtvan-icon-external::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 1.5px;
  right: 1px;
  top: 5px;
  background: currentColor;
  transform: rotate(-45deg);
  transform-origin: right center;
}

.rtvan-icon-down::before {
  width: 7px;
  height: 7px;
  left: 2px;
  top: 1px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
}

.rtvan-icon-down::after {
  content: "";
  position: absolute;
  width: 1.5px;
  height: 8px;
  left: 5px;
  top: 0;
  background: currentColor;
}

.rtvan-icon-wrap {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-style: normal !important;
  color: inherit;
}

.rtvan-icon-wrap .rtvan-inline-icon {
  margin-left: 0;
}

/* Stop the hero from adding a font glyph arrow; use the controlled icon instead. */
.hero-links a::after {
  content: "" !important;
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-left: 11px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform .18s ease;
}

@media (hover:hover) and (pointer:fine) {
  .hero-links a:hover::after,
  .hero-links a:focus-visible::after {
    transform: translateX(2px) rotate(45deg);
  }
}

@media (max-width:700px) {
  .rtvan-inline-icon {
    width: 10px;
    height: 10px;
    margin-left: 7px;
  }

  .hero-links a::after {
    width: 6px;
    height: 6px;
    margin-left: 10px;
  }
}

/* Redline wordmark — compact stacked editorial lockup.
   Only the wordmark is changed; the approved section colour, background and surrounding layout are preserved. */
#redline .shell > .redline-mark {
  transform: none !important;
  display: inline-block;
  width: max-content;
  max-width: 100%;
  white-space: normal;
  font-size: clamp(72px, 6.2vw, 96px) !important;
  line-height: .78 !important;
  letter-spacing: -.06em !important;
  text-align: left;
  position: relative;
  padding: 22px 26px 20px 22px;
  border: 1px solid rgba(255,255,255,.46);
  background: rgba(255,255,255,.018);
  box-shadow: 8px 8px 0 rgba(26,27,29,.12);
}

#redline .redline-mark span {
  color: #1A1B1D;
}

@media (max-width: 899px) {
  #redline .shell > .redline-mark {
    font-size: clamp(54px, 14vw, 76px) !important;
    line-height: .80 !important;
    letter-spacing: -.055em !important;
    padding: 18px 20px 16px 17px;
    box-shadow: 6px 6px 0 rgba(26,27,29,.12);
  }
}
