/* Shared reading sizes and contrast, loaded after the existing page themes. */
:root { --muted: #52647b; }
body { font-size: 1rem; }
.preview-bar { height: auto; min-height: 28px; padding: 6px 12px; font-size: .75rem; line-height: 1.6; letter-spacing: .08em; text-align: center; flex-wrap: wrap; }
.preview-detail { font-size: .75rem; }
.gateway-footer, .diagnostic-page .footer-bottom { font-size: .8125rem; line-height: 1.7; }
.gateway-home .area-card p, .gateway-home .overview-link,
.gateway-home .overview-link strong, .gateway-home .section-heading > p:last-child,
.gateway-home .process-list h3, .gateway-home .process-list p,
.gateway-home .standard-points h3, .gateway-home .standard-points p,
.gateway-home .standard-lead > p:last-child, .gateway-home .home-faq summary {
  font-size: 1rem; line-height: 1.75;
}
.gateway-home .process-list h3, .gateway-home .standard-points h3 { font-weight: 600; }
.gateway-home .process-list p, .gateway-home .section-heading > p:last-child { color: #52647b; }
.gateway-home .standard-points p, .gateway-home .standard-lead > p:last-child { color: #d5dfec; }
.gateway-home .eyebrow, .gateway-home .process-list li > span,
.gateway-home .standard-points article > span, .gateway-home .journey-note,
.booking-page .journey-note, .booking-option small { font-size: .875rem; }
.gateway-home .header-cta, .gateway-home .primary-cta { font-size: .9375rem; }
.gateway-home .area-no { font-size: .8125rem; }

.gateway-home .section-heading > .process-reassurance {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 22px 26px;
  border-left: 3px solid #526f97;
  border-radius: 0 12px 12px 0;
  background: #fff;
  box-shadow: 0 6px 24px #182b4808;
  color: #182b48;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.65;
}
.process-reassurance > strong {
  display: block;
  margin-bottom: 8px;
  font-size: clamp(1.25rem, 1.8vw, 1.5rem);
  font-weight: 600;
  line-height: 1.4;
}
.process-reassurance .process-decision {
  font-weight: 600;
  background: linear-gradient(transparent 70%, #dce6f3 70%);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
@media (max-width: 680px) {
  .gateway-home .section-heading > .process-reassurance { padding: 18px 20px; }
}

.policy-care { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 30px; margin-top: 32px; padding: 28px; border-left: 3px solid #526f97; border-radius: 0 8px 8px 0; background: #edf2f7; }
.policy-care .eyebrow { margin-bottom: 12px; font-size: .875rem; line-height: 1.6; letter-spacing: .08em; }
.policy-care h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.4; font-weight: 600; letter-spacing: -.025em; margin: 0; }
.policy-care p { color: #465970; font-size: 1rem; line-height: 1.8; margin: 0; }
.policy-care a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding: 8px 0; margin: 8px 0; font-size: 1rem; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.policy-care .policy-care-terms { border-top: 1px solid #cbd6e3; padding-top: 14px; font-size: .875rem; }
.booking-aside p + p { margin-top: 18px; }

.diagnostic-page .hero-description, .diagnostic-page .hero-principles p,
.diagnostic-page .hero-principles strong, .diagnostic-page .section-intro > p,
.diagnostic-page .wizard-description, .diagnostic-page .category strong,
.diagnostic-page .category small, .diagnostic-page .help-foot p,
.diagnostic-page .process h3, .diagnostic-page .process p,
.diagnostic-page .standards-copy > p, .diagnostic-page .standard-list h3,
.diagnostic-page .standard-list p, .diagnostic-page .founder-note > p,
.diagnostic-page .faq-wrap > div > p, .diagnostic-page .faq-items summary,
.diagnostic-page .faq-items details > p, .diagnostic-page .choice,
.diagnostic-page .contact-options .choice, .diagnostic-page .result-card > p,
.diagnostic-page .result-card li, .diagnostic-page .result-legal p,
.diagnostic-page .result-card h4, .diagnostic-page .result-legal strong,
.diagnostic-page .contact-form > p, .diagnostic-page .field label,
.diagnostic-page .checkbox-field, .diagnostic-page .modal p,
.diagnostic-page .modal li, .diagnostic-page .modal h3,
.diagnostic-page .ebook-card p, .diagnostic-page .ebook-card h3 {
  font-size: 1rem; line-height: 1.75;
}
.diagnostic-page .hero-lead { font-size: 1.125rem; line-height: 1.75; }
.diagnostic-page .category strong { max-width: none; min-height: 0; }
.diagnostic-page .category small { color: #52647b; }
.diagnostic-page .choice small, .diagnostic-page .empty-label,
.diagnostic-page .breadcrumb, .diagnostic-page .hero .eyebrow,
.diagnostic-page .eyebrow, .diagnostic-page .diagnostic-label,
.diagnostic-page .diagnostic-top, .diagnostic-page .micro-note,
.diagnostic-page .demo-callout, .diagnostic-page .form-error,
.diagnostic-page .error-text, .diagnostic-page .char-counter,
.diagnostic-page .founder-note p small, .diagnostic-page .footer-top > span,
.diagnostic-page .footer-top .text-button { font-size: .875rem; line-height: 1.7; }
.diagnostic-page .founder-note p small { color: #52647b; }
.diagnostic-page .diagnostic-top { flex-wrap: wrap; }
.diagnostic-page .diagnostic-label { letter-spacing: .06em; }
.diagnostic-page .field input, .diagnostic-page .field textarea { font-size: 1rem; line-height: 1.6; }
.diagnostic-page .standards-copy > p, .diagnostic-page .standard-list p { color: #d5dfec; }
.diagnostic-page .ebook-card p { color: #d5dfec; }
.diagnostic-page .visual-caption > span, .diagnostic-page .visual-index,
.diagnostic-page .ebook-card .ebook-meta { font-size: .8125rem; }
.diagnostic-page .back-button, .diagnostic-page .form-submit,
.diagnostic-page .help-foot .text-button, .diagnostic-page .text-button.light,
.diagnostic-page .ebook-link, .diagnostic-page .wizard-nav .btn { font-size: .9375rem; min-height: 44px; }
/* Earlier result styles use !important; keep their content at reading size. */
.diagnostic-page .result-selection, .diagnostic-page .result-note { font-size: 1rem !important; line-height: 1.75; }
.diagnostic-page .result-tag { font-size: .875rem !important; }
.diagnostic-page .help-foot { flex-wrap: wrap; }
.diagnostic-page .help-foot p { flex: 1 1 260px; }
.diagnostic-page .header nav, .diagnostic-page .header nav .platform-back { font-size: .875rem; }
.diagnostic-page .header nav { gap: 16px; }
.diagnostic-page .nav-cta { font-size: .875rem; gap: 12px; }

.instagram-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; max-width: 100%; color: #344d70; font-size: .875rem; font-weight: 500; line-height: 1.6; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 4px; }
.instagram-link svg { display: block; flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.instagram-link:hover { text-decoration-color: currentColor; }
.instagram-link:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 2px; }
.brand-portrait .instagram-link-portrait { color: #fff; margin-top: 16px; padding-top: 12px; border-top: 1px solid #52647b; text-decoration-color: #8395af; }
.brand-portrait .instagram-link-portrait span { color: inherit; font-size: inherit; line-height: inherit; }
.gateway-footer { flex-wrap: wrap; align-items: center; }
.gateway-footer .instagram-link span { display: inline; }
.diagnostic-page .footer-top { flex-wrap: wrap; gap: 20px; }
@media (max-width: 680px) { .gateway-footer { align-items: flex-start; } }

.law-entry-card { max-width: 740px; padding: 48px 0; }
.law-entry-card h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.2; }
.law-entry-card p { margin: 22px 0; color: #52647b; line-height: 1.8; }

@media (max-width: 850px) {
  .policy-care { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .diagnostic-page .result-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 650px) {
  .policy-care { padding: 22px 18px; }
  .diagnostic-page .wizard-nav { flex-wrap: wrap; }
  .diagnostic-page .wizard-nav .btn { flex: 1 1 180px; }
  .diagnostic-page .category { min-height: 180px; }
}
@media (max-width: 480px) {
  .gateway-home .area-grid, .diagnostic-page .category-grid { grid-template-columns: minmax(0, 1fr); }
  .gateway-home .area-card { min-height: 150px; }
  .gateway-home .area-card h2 { font-size: 1.125rem; overflow-wrap: normal; }
  .diagnostic-page .category { min-height: 150px; }
  .gateway-home .overview-link strong { overflow-wrap: anywhere; }
}
/* Shorter reading path: details remain available on demand. */
.first-meeting-summary { display: none; }
.gateway-home .area-card { min-height: 145px; padding: 20px; }
.gateway-home .area-card > div { margin-top: 12px; }
.gateway-home .area-card h2 { margin-bottom: 6px; }
.home-faq .faq-more { border-bottom: 0; }
.home-faq .faq-more > summary { color: #344d70; font-weight: 600; }
.home-faq .faq-more-items { padding-left: 18px; border-left: 2px solid #cbd6e3; }
.scenario-disclosure { margin-top: 12px; }
.scenario-disclosure > summary { padding: 18px; min-height: 48px; cursor: pointer; font-size: 1rem; line-height: 1.6; font-weight: 600; }
.scenarios-ready .scenario-disclosure { margin-top: 0; }
.scenarios-ready .scenario-disclosure > summary { display: none; }
.scenario-close { display: block; margin: 0 0 14px auto; padding: 10px 14px; min-height: 44px; font: 600 .9375rem/1.6 Montserrat,Arial,sans-serif; color: #344d70; border: 1px solid #cbd6e3; border-radius: 6px; background: #fff; cursor: pointer; }
.scenario-close:focus-visible { outline: 3px solid #526f97; outline-offset: 4px; }
.booking-layout { grid-template-areas: "aside form"; }
.booking-card { grid-area: form; }
.booking-aside { grid-area: aside; }
.diagnostic-page .diagnostic-intro { padding-top: 32px; padding-bottom: 20px; }
.diagnostic-intro .breadcrumb { margin-bottom: 16px; }
.diagnostic-intro h1 { margin: 0 0 14px; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.25; letter-spacing: -.035em; font-weight: 600; }
.diagnostic-intro h1 em { color: #526f97; font-style: normal; }
.diagnostic-intro > p { font-size: 1rem; line-height: 1.75; color: #52647b; margin: 0; }
.diagnostic-page .help-section { padding-top: 20px; padding-bottom: 36px; }
.diagnostic-page .help-section .section-intro { margin-bottom: 24px; }
.diagnostic-page .help-section .section-intro h2 { font-size: clamp(1.5rem, 2.5vw, 2rem); }
.diagnostic-notes { padding-top: 28px; padding-bottom: 48px; border-top: 1px solid #dbe2eb; }
.diagnostic-notes h2 { font-size: 1.5rem; line-height: 1.4; font-weight: 600; margin: 0 0 20px; }
.diagnostic-more-links { display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: center; margin-top: 20px; }
.diagnostic-more-links > a, .diagnostic-more-links > button { font-size: .9375rem; line-height: 1.6; min-height: 44px; padding: 10px 0; color: #344d70; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 850px) {
  .booking-layout { grid-template-areas: "form" "aside"; }
}
@media (max-width: 800px) {
  .brand-portrait { max-width: 240px; }
  .brand-portrait figcaption { padding: 16px; }
  .brand-portrait figcaption strong { font-size: 1.125rem; }
  .brand-portrait .instagram-link-portrait { margin-top: 10px; padding-top: 10px; }
  .brand-story-layout { gap: 24px; }
  .brand-perspectives { display: none; }
}
@media (max-width: 600px) {
  .first-meeting { padding: 16px 18px; }
  .first-meeting > :not(.first-meeting-summary) { display: none; }
  .first-meeting .first-meeting-summary { display: block; margin: 0; font-size: 1rem; line-height: 1.65; color: #465970; }
  .first-meeting-summary strong { color: #182b48; margin-bottom: 6px; }
  .gateway-home .area-grid { grid-template-columns: minmax(0, 1fr); }
  .gateway-home .area-card { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; min-height: 0; padding: 16px; }
  .gateway-home .area-card > div { margin-top: 0; padding-right: 0; }
  .gateway-home .area-card .area-no { padding-top: 3px; }
  .gateway-home .area-card p { max-width: none; }
  .gateway-home .area-card h2 { font-size: 1.125rem; }
  .gateway-home .platform-hero { padding-bottom: 32px; }
  .gateway-home .process-section { padding-block: 36px; }
  .diagnostic-page .diagnostic-intro { padding-top: 24px; }
}

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