.assessment { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); }
.assessment-photo { min-height: 640px; }
.assessment-content { padding: clamp(3.5rem, 6vw, 6rem) clamp(1.5rem, 4.2vw, 5rem); }
.assessment h2 { max-width: 16ch; font-size: clamp(3rem, 4.5vw, 4.8rem); }
.assessment-content > p { margin: 1.6rem 0 2.5rem; }
.assessment-offer { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 3rem); padding-top: 1.8rem; border-top: 2px solid var(--black); }
.assessment-offer h3 { margin: 0 0 .65rem; font: 400 clamp(1.8rem, 2.5vw, 2.4rem)/1.15 var(--display); }
.assessment-offer p:not(.assessment-price) { margin: 0 0 .8rem; font-size: .9rem; }
.assessment-offer .package-example { color: var(--muted); }
.assessment-price { margin: 0; font: 400 clamp(3.8rem, 4.5vw, 4.8rem)/1 var(--display); font-variant-numeric: tabular-nums; white-space: nowrap; }
.assessment-price span { display: block; margin-top: .65rem; color: var(--muted); font: 400 .78rem/1.5 var(--body); }
.assessment-price sup { position: relative; top: -.45em; vertical-align: baseline; font: 500 .45em/1 var(--body); }
.assessment-price sup a { display: inline-flex; justify-content: center; align-items: center; min-width: 28px; min-height: 28px; color: var(--accent-dark); text-decoration: none; }
.assessment-content .assessment-credit { margin: 1.3rem 0 1.5rem; font-size: .94rem; }
.assessment-credit strong { display: block; margin-bottom: .5rem; color: var(--accent-dark); }
.assessment-request-button { gap: 1rem; font-size: .85rem; }
.assessment-content .assessment-request-note { margin: .8rem 0 1.8rem; color: var(--muted); font-size: .8rem; }
.assessment-content .assessment-limits { max-width: none; margin: 0 0 1.8rem; padding: 1.35rem 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); color: var(--muted); font-size: .9rem; line-height: 1.65; }
.assessment-limits p { margin: 0; }
.assessment-limits p + p { margin-top: .8rem; }
.assessment-limits strong { display: block; margin-bottom: .4rem; color: var(--black); }
.assessment-deliverables { margin: 2.2rem 0; }
.assessment-deliverables h3 { margin: 0 0 1.25rem; font: 400 1.8rem/1.2 var(--display); }
.assessment-deliverables dl { border-top: 0; }
.assessment-deliverables dl > div { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 1.5rem; padding: 1rem 0; }
.assessment-deliverables dt, .assessment-deliverables dd { font-size: .85rem; }
.assessment-details { border-bottom: 1px solid var(--rule); }
.assessment-details summary { min-height: 58px; padding: 1rem 0; display: flex; justify-content: space-between; align-items: center; gap: 1rem; cursor: pointer; font-size: .87rem; font-weight: 600; list-style: none; }
.assessment-details summary::-webkit-details-marker { display: none; }
.disclosure-mark { width: 14px; height: 14px; position: relative; flex: 0 0 14px; }
.disclosure-mark::before, .disclosure-mark::after { content: ""; position: absolute; background: currentColor; }
.disclosure-mark::before { width: 14px; height: 1px; top: 6px; }
.disclosure-mark::after { width: 1px; height: 14px; left: 6px; }
.assessment-details[open] .disclosure-mark::after { display: none; }
.assessment-details p, .assessment-details dd { font-size: .85rem; }
.assessment-details p { margin: 0 0 1.2rem; color: var(--muted); }
.assessment-details dl { border-top: 0; }
.assessment-details dl > div { grid-template-columns: 1fr; gap: .5rem; padding-top: .5rem; }
.assessment-details dl > div:last-child { border-bottom: 0; }
.credit-example { margin: 1.2rem 0; padding: 1.25rem; background: var(--paper); }
.credit-example dl > div { grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; padding: .8rem 0; }
.credit-example dd { color: var(--black); text-align: right; font-variant-numeric: tabular-nums; }
.credit-example p:last-child { margin: 1rem 0 0; }
.assessment-details strong { color: var(--black); }

.assessment-request { padding: var(--section) var(--pad); display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(3rem, 7vw, 7rem); background: var(--paper); border-top: 1px solid var(--rule); scroll-margin-top: 20px; }
.fit-heading h2 { max-width: 13ch; margin: 0; font: 400 clamp(3rem, 4.5vw, 4.8rem)/1.04 var(--display); letter-spacing: -.015em; }
.fit-heading > p { max-width: 45ch; margin: 1.5rem 0 2rem; color: var(--muted); }
.fit-steps { margin: 0; padding: 0; list-style: none; counter-reset: fit-step; }
.fit-steps li { counter-increment: fit-step; padding: 1.25rem 0 1.25rem 2.3rem; position: relative; border-top: 1px solid var(--rule); }
.fit-steps li::before { content: counter(fit-step) "."; position: absolute; left: 0; color: var(--accent-dark); font: 400 1.5rem/1.3 var(--display); }
.fit-steps strong, .fit-steps span { display: block; font-size: .86rem; }
.fit-steps span { margin-top: .35rem; color: var(--muted); }
.fit-heading .text-link { margin-top: 1rem; font-size: .85rem; }
.fit-form label { line-height: 1.5; }
.fit-offer-summary { padding: 1.35rem 0; margin-bottom: 2rem; border-top: 2px solid var(--black); border-bottom: 1px solid var(--rule); }
.fit-offer-summary p { margin: 0 0 .65rem; font-size: .87rem; }
.fit-offer-summary p:last-child { margin-bottom: 0; color: var(--muted); font-size: .8rem; }
.fit-form small { display: block; margin-top: -.6rem; }
.fit-form .fit-tools-label { margin-top: 1.4rem; }
.fit-form input::placeholder { color: var(--muted); opacity: 1; font-size: .82rem; }
.optional-label { text-transform: none; letter-spacing: normal; }
.fit-privacy { color: var(--muted); font-size: .8rem; }
.fit-payment-note { margin: 1rem 0 0; font-size: .82rem; }
.fit-form .fit-preview-note { margin-top: .65rem; color: var(--accent-dark); font-size: .75rem; }
.fit-complete { padding: 2rem 0; border-top: 3px solid var(--success); }
.fit-complete h3 { margin: 0 0 1.5rem; font: 400 clamp(2.4rem, 3vw, 3.4rem)/1.1 var(--display); }
.fit-complete p { max-width: 60ch; }
.fit-complete-package { padding: 1rem 0; border-block: 1px solid var(--rule); }
.fit-complete .text-link { margin: 1rem 0 0 1.5rem; font-size: .85rem; }

@media (min-width: 981px) and (max-width: 1180px) {
  .primary-nav { gap: .9rem; font-size: .75rem; }
}
@media (max-width: 1180px) {
  .assessment { grid-template-columns: 1fr; }
  .assessment-photo { min-height: 320px; max-height: 400px; background-position: center 56%; }
  .assessment-content { padding-inline: var(--pad); }
  .assessment h2 { max-width: 20ch; }
  .assessment-offer { max-width: 780px; }
  .assessment-deliverables, .assessment-content > .assessment-credit { max-width: 780px; }
}
@media (max-width: 980px) {
  .assessment-request { grid-template-columns: 1fr; }
  .fit-heading h2 { max-width: 20ch; }
  .fit-steps { max-width: 60ch; }
}
@media (max-width: 680px) {
  .assessment-photo { min-height: 260px; }
  .assessment-offer { grid-template-columns: 1fr; gap: 1.6rem; }
  .assessment-price { font-size: 4.5rem; }
  .assessment-offer h3 { font-size: 2rem; }
  .assessment-offer p:not(.assessment-price) { font-size: .95rem; }
  .assessment-request-button { width: 100%; }
  .assessment-deliverables dl > div { grid-template-columns: 1fr; gap: .6rem; }
  .credit-example { padding: 1rem; }
  .fit-complete .text-link { display: block; margin-left: 0; }
  .fit-form .button { width: 100%; }
}
