.page-section, .site-footer { position: relative; z-index: 2; font-family: 'Manrope', sans-serif; color: #edecff; background: #08080c; }
.page-section { padding: clamp(100px, 10vw, 160px) clamp(28px, 6vw, 112px); scroll-margin-top: 0; }
.page-section:focus { outline: none; }
.light-section { background: #edecff; color: #0f0d2b; }
.light-section .section-kicker { color: #995000; }
.section-heading h2 { font-size: clamp(46px, 5.6vw, 86px); line-height: 1.05; font-weight: 500; letter-spacing: -0.065em; margin: 0; }
.section-intro { max-width: 470px; font-size: 16px; line-height: 1.8; margin: 30px 0 0; color: #aaa5bf; }
.light-section .section-intro { color: #59566e; }
.method { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: 80px clamp(56px, 8vw, 160px); }
/* Contain the sticky heading within the steps row, before the closing note. */
.method-heading-track { min-width: 0; }
.method .section-heading { align-self: start; position: sticky; top: 120px; }
.method-steps { list-style: none; padding: 0; margin: 4px 0 0; }
.method-steps li { display: grid; grid-template-columns: 40px 1fr; gap: 24px; border-top: 1px solid #0f0d2b30; padding: 36px 0 50px; }
.method-index { font-size: 12px; color: #8c879e; padding-top: 5px; }
.method-steps h3 { font-weight: 500; font-size: clamp(24px, 2.5vw, 36px); line-height: 1.15; letter-spacing: -0.05em; margin: 0; }
.method-steps p { font-size: 14px; line-height: 1.85; color: #59566e; margin: 22px 0; }
.method-output { display: block; font-size: 10px; font-weight: 600; color: #995000; line-height: 1.7; }
.method-note { grid-column: 1 / -1; display: flex; align-items: center; gap: 40px; border-top: 1px solid #0f0d2b30; padding-top: 45px; }
.method-note>span { font-size: 80px; color: #ca6500; line-height: 1; }
.method-note p { font-size: clamp(21px, 3vw, 40px); line-height: 1.3; letter-spacing: -0.04em; margin: 0; }
.method-note strong { font-weight: 600; }
.engagement .section-heading { display: grid; grid-template-columns: 1fr 1fr; column-gap: 8vw; }
.engagement .section-kicker { grid-column: 1 / -1; }
.engagement .section-intro { margin: 0; align-self: end; max-width: 360px; }
.engagement-options { margin-top: 80px; }
.engagement-options article { border-top: 1px solid #edecff35; padding: 38px 0; display: grid; grid-template-columns: 0.65fr 1.3fr 0.55fr; gap: 5vw; align-items: start; }
.engagement-time { font-size: clamp(42px, 5vw, 70px); line-height: 1; letter-spacing: -0.06em; color: #ff8000; }
.engagement-time span { display: block; margin-top: 12px; color: #aaa5bf; font-size: 11px; letter-spacing: 0.08em; }
.engagement-copy h3 { margin: 0 0 20px; font-size: clamp(24px, 2.3vw, 34px); letter-spacing: -0.04em; font-weight: 500; }
.engagement-copy p { font-size: 14px; color: #aaa5bf; line-height: 1.8; margin: 0; }
.engagement-copy .engagement-output { color: #edecff; font-size: 12px; margin-top: 16px; }
.engagement-options a { color: #edecff; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 8px 0 14px; text-decoration: none; font-size: 12px; border-bottom: 1px solid #ff8000; }
.engagement-options a span { color: #ff8000; font-size: 23px; }
.engagement-scope { border-top: 1px solid #edecff35; padding-top: 30px; max-width: 780px; margin: 0; font-size: 12px; line-height: 1.8; color: #aaa5bf; }
.journal { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; }
.journal-content { padding-top: 62px; }
.journal-deck { font-size: clamp(22px, 2.5vw, 34px); line-height: 1.4; letter-spacing: -0.04em; margin: 0; max-width: 480px; }
.journal-topics { display: flex; flex-wrap: wrap; gap: 12px 22px; list-style: none; padding: 0; margin: 28px 0 58px; font-size: 11px; color: #59566e; }
.journal-status { display: flex; gap: 20px; border-top: 1px solid #0f0d2b30; padding-top: 30px; }
.journal-dot { width: 8px; height: 8px; margin-top: 5px; flex-shrink: 0; border-radius: 50%; background: #c66300; }
.journal-status strong { font-size: 14px; font-weight: 600; }
.journal-status p { color: #59566e; font-size: 13px; line-height: 1.8; max-width: 360px; margin: 14px 0 22px; }
.journal-status a { color: #0f0d2b; text-underline-offset: 6px; font-size: 13px; }
.journal-status a span { margin-left: 12px; color: #995000; }
.contact { background: #ff8000; color: #0f0d2b; display: grid; grid-template-columns: 0.95fr 1.05fr; gap: clamp(40px, 8vw, 140px); align-items: start; }
.contact .section-kicker { color: #0f0d2b; }
.contact h2 { font-size: clamp(52px, 6.2vw, 96px); line-height: 1.02; letter-spacing: -0.065em; font-weight: 500; margin: 0; }
.contact h2 em { font-style: normal; color: #edecff; }
.contact-intro>p:not(.section-kicker) { font-size: 14px; line-height: 1.8; max-width: 360px; margin: 34px 0 22px; }
.contact-email { color: #0f0d2b; text-decoration: none; border-bottom: 1px solid #0f0d2b70; padding: 12px 0; font-size: clamp(14px, 1.5vw, 20px); display: inline-flex; gap: 24px; align-items: center; }
.contact-panel { background: #0f0d2b; color: #edecff; padding: clamp(26px, 3.3vw, 54px); min-height: 590px; box-sizing: border-box; }
.form-progress { display: flex; justify-content: space-between; gap: 14px; color: #aaa5bf; font-size: 10px; }
.form-progress-track { height: 1px; background: #edecff35; margin: 20px 0 44px; }
#form-progress-bar { display: block; width: 20%; height: 2px; background: #ff8000; transition: width 250ms; }
.audit-step { border: 0; padding: 0; margin: 0; min-width: 0; }
.audit-step legend { padding: 0; font-size: clamp(25px, 2.8vw, 38px); letter-spacing: -0.05em; line-height: 1.2; font-weight: 500; }
.audit-step legend:focus { outline: none; }
.form-hint { font-size: 12px; line-height: 1.6; color: #aaa5bf; margin: 18px 0 24px; }
.form-choices { display: flex; flex-wrap: wrap; gap: 10px; }
.form-choice { position: relative; cursor: pointer; }
.form-choice input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.form-choice span { display: block; border: 1px solid #edecff45; padding: 14px 16px; font-size: 12px; transition: background 160ms, color 160ms; }
.form-choice:hover span { border-color: #edecff; }
.form-choice input:checked+span { color: #0f0d2b; background: #edecff; border-color: #edecff; }
.form-choice input:focus-visible+span { outline: 2px solid #ff8000; outline-offset: 3px; }
.form-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 18px; }
.form-fields label { display: flex; flex-direction: column; gap: 9px; font-size: 11px; color: #edecff; }
.form-fields label span { color: #aaa5bf; font-size: 10px; }
.form-fields input, .form-fields textarea { min-width: 0; box-sizing: border-box; width: 100%; border: 0; border-bottom: 1px solid #edecff60; border-radius: 0; color: #edecff; background: #edecff08; font: 14px 'Manrope', sans-serif; padding: 12px 8px; }
.form-fields textarea { resize: vertical; }
.form-fields input::placeholder, .form-fields textarea::placeholder { color: #9791ac; }
.form-fields input:focus, .form-fields textarea:focus { outline: 1px solid #ff8000; outline-offset: 1px; }
.field-wide { grid-column: 1 / -1; }
.form-privacy { color: #aaa5bf; font-size: 10px; line-height: 1.7; margin: 20px 0 0; }
.form-error { color: #ffbc80; font-size: 12px; line-height: 1.7; min-height: 21px; margin: 24px 0 16px; }
.form-actions { display: flex; justify-content: space-between; gap: 20px; margin-top: 20px; }
.form-actions button { cursor: pointer; padding: 15px 0; border: 0; color: #edecff; background: none; font: 500 12px 'Manrope', sans-serif; }
#form-next, #form-submit { margin-left: auto; border-bottom: 1px solid #ff8000; }
.form-actions button span { margin-left: 20px; color: #ff8000; font-size: 18px; }
.form-actions button:disabled { opacity: 0.55; cursor: wait; }
#form-format { border-left: 2px solid #ff8000; padding-left: 12px; font-size: 11px; line-height: 1.7; color: #aaa5bf; margin: -18px 0 30px; }
#form-success h3 { font-size: clamp(35px, 4vw, 60px); line-height: 1.1; letter-spacing: -0.055em; font-weight: 500; margin: 25px 0; }
#form-success p { font-size: 15px; line-height: 1.8; color: #aaa5bf; }
#form-success a { display: inline-block; color: #edecff; font-size: 12px; text-underline-offset: 6px; margin-top: 30px; }
.success-mark { color: #ff8000; font-size: 72px; }
.audit-step[hidden], #form-back[hidden], #form-next[hidden], #form-submit[hidden], #audit-form[hidden], #form-success[hidden], #form-format[hidden] { display: none !important; }
.site-footer { padding: 70px clamp(28px, 6vw, 112px) 28px; }
.footer-wordmark { display: block; color: #edecff; font-size: clamp(32px, 8.5vw, 138px); font-weight: 650; letter-spacing: -0.065em; line-height: 1; text-decoration: none; }
.footer-wordmark span { color: #ff8000; }
.footer-bottom { display: flex; justify-content: space-between; gap: 24px; border-top: 1px solid #edecff30; margin-top: 54px; padding-top: 22px; color: #aaa5bf; font-size: 10px; }
.footer-bottom p { margin: 0; }
.footer-bottom a { color: #edecff; text-decoration: none; }
.page-section a:focus-visible, .site-footer a:focus-visible, .form-actions button:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
html[data-tone='light'] .site-header { background: linear-gradient(#edecff, #edecfff0 75%, #edecff00); }
html[data-tone='orange'] .site-header { background: linear-gradient(#ff8000, #ff8000f0 75%, #ff800000); }
html[data-tone='light'] .site-brand, html[data-tone='orange'] .site-brand { color: #0f0d2b; text-shadow: none; }
html[data-tone='light'] .site-navigation[data-open='false'] .menu-toggle, html[data-tone='orange'] .site-navigation[data-open='false'] .menu-toggle { color: #0f0d2b; }
html[data-tone='orange'] .site-brand span { color: #edecff; }
.site-navigation[data-open='true'] .site-header { background: none; }
@media (max-width: 760px) {
  .method, .journal, .contact { grid-template-columns: 1fr; gap: 54px; }
  .method .section-heading { position: relative; top: auto; }
  .method-steps li { gap: 15px; grid-template-columns: 28px 1fr; padding: 28px 0 36px; }
  .method-note { gap: 24px; padding-top: 30px; }
  .method-note>span { font-size: 54px; }
  .engagement .section-heading { display: block; }
  .engagement .section-intro { margin-top: 28px; }
  .engagement-options { margin-top: 48px; }
  .engagement-options article { grid-template-columns: 70px 1fr; gap: 28px 20px; padding: 30px 0; }
  .engagement-time { font-size: 34px; }
  .engagement-options a { grid-column: 2; }
  .journal-content { padding-top: 0; }
  .journal-topics { margin-bottom: 36px; }
  .contact h2 { font-size: clamp(56px, 11vw, 84px); }
  .contact-panel { margin: 0 -10px; min-height: 520px; padding: 26px; }
  .form-fields { grid-template-columns: 1fr; }
  .form-fields input, .form-fields textarea { font-size: 16px; }
  .form-choice span { padding: 13px; }
  .footer-bottom { flex-wrap: wrap; gap: 16px; margin-top: 34px; }
  .footer-bottom p:first-child { width: 100%; }
  .footer-bottom a { margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) { .page-section * { transition: none !important; } }

/* Method's decorative grid sits below its content without capturing input. */
.method { isolation: isolate; }
#method-grid { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; z-index: -1; }

/* New editorial content uses the existing section and form surfaces. */
.faq-item { border-top: 1px solid #0f0d2b30; padding: 28px 0; }
.faq-item:last-child { border-bottom: 1px solid #0f0d2b30; }
.faq-item summary { display: flex; align-items: start; justify-content: space-between; gap: 24px; cursor: pointer; list-style: none; font-size: clamp(22px, 2.1vw, 30px); line-height: 1.3; letter-spacing: -0.04em; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item .service-toggle { flex-shrink: 0; color: #995000; }
.faq-item[open] .service-toggle::after { transform: rotate(0); }
.faq-item p { font-size: 14px; color: #59566e; line-height: 1.85; margin: 22px 0 0; }
.faq-item summary:focus-visible { outline: 2px solid #995000; outline-offset: 6px; }
.form-fields-spaced { margin-top: 28px; }
#form-progress-bar { width: 33.333333%; }
.form-summary { margin-top: 32px; font-size: 11px; line-height: 1.7; }
.form-summary>div { padding: 18px 0; border-top: 1px solid #edecff35; }
.form-summary p { color: #aaa5bf; white-space: pre-wrap; overflow-wrap: anywhere; }
.form-summary button { float: right; color: #edecff; background: none; border: 0; border-bottom: 1px solid #ff8000; font: inherit; cursor: pointer; }
.form-summary button:focus-visible { outline: 2px solid #ff8000; outline-offset: 4px; }
.form-privacy a { color: inherit; text-underline-offset: 3px; }
.footer-links { display: flex; gap: 14px; flex-wrap: wrap; align-content: start; }
