.ui-page { padding-top: 40px; padding-bottom: 72px; }
.ui-page__head { max-width: 760px; }
.ui-page__title { margin: 0; font-size: var(--t-h1); line-height: 1.02; letter-spacing: -0.035em; font-weight: 900; }
.ui-page__lede { margin: 18px 0 0; font-size: var(--t-lead); line-height: 1.4; font-weight: 500; max-width: 36ch; }
.ui-page__head .ui-actions { margin-top: 26px; }

.ui-section { padding: 48px 0; border-top: 1px solid var(--hairline); }
.ui-section:first-child { border-top: 0; }
.ui-section__eyebrow { margin: 0 0 8px; font: 0.75rem var(--mono); color: var(--ink-2); }
.ui-section__text { margin: 12px 0 0; font-size: 1.0625rem; color: var(--ink-soft); max-width: 60ch; }
.ui-section__text + .ui-section__text { margin-top: 10px; }
.ui-section .ui-actions { margin-top: 22px; }
.ui-section--center { text-align: center; }
.ui-section--center .ui-section__text { margin-left: auto; margin-right: auto; }
.ui-section--center .ui-actions { justify-content: center; }

.ui-services { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); margin-top: 24px; }
@media (min-width: 640px) { .ui-services { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .ui-services--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } .ui-services--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ui-service { background: var(--card); border: 1px solid var(--hairline); border-radius: var(--radius-card); padding: 18px 18px 20px; display: flex; flex-direction: column; gap: 8px; scroll-margin-top: 16px; }
.ui-service__title { margin: 0; font-size: var(--t-h5); font-weight: 800; letter-spacing: -0.01em; }
.ui-service__line { margin: 0; color: var(--ink-soft); font-size: 0.9375rem; }
.ui-service__price { margin: 4px 0 0; font: 600 0.875rem var(--mono); }
.ui-service__price-note { font: 0.8125rem var(--sans); color: var(--ink-2); display: block; font-weight: 400; }
.ui-service__items { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 6px; font-size: 0.875rem; }
.ui-service__items li { display: flex; gap: 8px; }
.ui-service__items li::before { content: ""; flex: 0 0 6px; height: 6px; margin-top: 8px; border-radius: 50%; background: var(--highlight); }
.ui-service__foot { margin-top: auto; padding-top: 10px; }
.ui-service--featured { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }

.ui-quote { margin: 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--highlight); max-width: 60ch; }
.ui-quote__text { margin: 0; font-size: 1.25rem; line-height: 1.45; font-weight: 500; letter-spacing: -0.01em; }
.ui-quote__by { margin-top: 10px; font-size: 0.875rem; color: var(--ink-2); }
.ui-quote__by strong { color: var(--ink); }

.ui-about { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: start; }
@media (min-width: 640px) { .ui-about { grid-template-columns: 120px minmax(0, 1fr); gap: 24px; } }
.ui-about__photo { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; border: 1px solid var(--hairline); display: block; }
.ui-about__line { margin: 0 0 10px; font-size: 1.0625rem; color: var(--ink-soft); max-width: 60ch; }
.ui-about__links { list-style: none; margin: 8px 0 0; padding: 0; display: flex; gap: 8px; }
.ui-about__links a { display: inline-grid; place-items: center; width: var(--target); height: var(--target); border-radius: 50%; border: 1px solid var(--hairline); background: var(--card); color: var(--ink); }
.ui-about__links a:hover { border-color: var(--ink); }

.ui-faq { border-top: 1px solid var(--hairline); margin-top: 18px; max-width: 760px; }
.ui-faq__item { border-bottom: 1px solid var(--hairline); }
.ui-faq__q { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; font-size: 1.0625rem; font-weight: 700; }
.ui-faq__q::-webkit-details-marker { display: none; }
.ui-faq__q::after { content: "+"; font: 400 1.375rem var(--mono); color: var(--ink-2); flex: 0 0 auto; transition: transform var(--dur-2) ease; }
.ui-faq__item[open] .ui-faq__q::after { transform: rotate(45deg); }
.ui-faq__a { padding: 0 0 18px; color: var(--ink-soft); max-width: 64ch; }
.ui-faq__a p { margin: 0 0 10px; }
.ui-quote__text p { margin: 0; }
.ui-about .ui-h3 { margin-bottom: 10px; }
.ui-page--narrow .ui-page__head, .ui-page--narrow .ui-form, .ui-page--narrow .ui-page__aside, .ui-page--narrow .call__thanks { max-width: 760px; }
.ui-page__aside { margin: 24px 0 0; color: var(--ink-soft); }
.ui-page .ui-form { margin-top: 28px; }

.ui-legal { max-width: 760px; }
.ui-legal .legal__date { margin: 12px 0 0; font: var(--t-meta) var(--mono); color: var(--ink-2); }
.ui-legal .legal__intro, .ui-legal .legal__section { font-size: var(--t-read); line-height: 1.7; color: var(--ink-soft); }
.ui-legal .legal__intro { margin-top: 28px; }
.ui-legal .legal__section { margin-top: 32px; padding-top: 22px; border-top: 1px solid var(--hairline); }
.ui-legal h2 { margin: 0 0 10px; font-size: var(--t-h4); line-height: 1.25; letter-spacing: -0.01em; color: var(--ink); font-weight: 800; }
.ui-legal p { margin: 0 0 14px; }
.ui-legal ul, .ui-legal ol { margin: 0 0 16px; padding-left: 22px; }
.ui-legal li { margin: 0 0 8px; }
.ui-legal li::marker { color: var(--ink-2); }
.ui-legal strong { color: var(--ink); }
.ui-legal .legal__caps { text-transform: uppercase; font-size: 0.9375rem; letter-spacing: 0.01em; }
.ui-page__head + .ui-services { margin-top: 40px; }
.ui-services + .ui-section { margin-top: 48px; }
