.brief-hero { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; padding-top: 28px; padding-bottom: 56px; }
.brief-hero h1 { font: 500 clamp(38px, 4.5vw, 64px)/1.08 var(--serif); letter-spacing: -.035em; margin: 16px 0 22px; }
.brief-hero .lede { max-width: 55ch; margin-bottom: 28px; }
.brief-phone { display: inline-flex; align-items: center; min-height: 44px; margin: 16px 0 0 16px; color: var(--ink); text-underline-offset: 4px; }
.brief-hero figure { margin: 0; min-width: 0; }
.brief-hero img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 4px; }
.brief-hero figcaption { color: var(--muted); font-size: 13px; line-height: 1.5; margin-top: 12px; }
.brief-work { border-block: 1px solid var(--line); padding: clamp(40px, 6vw, 72px) 0; }
.brief-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .48fr); gap: clamp(32px, 7vw, 100px); align-items: start; }
.brief-body { max-width: 70ch; }
.brief-body h2, .brief-faq h2 { font: 500 clamp(28px, 3vw, 38px)/1.2 var(--serif); letter-spacing: -.025em; margin: 40px 0 18px; }
.brief-body h2:first-child { margin-top: 0; }
.brief-body h3 { font-size: 19px; line-height: 1.4; margin: 24px 0 10px; }
.brief-body p, .brief-body li { font-size: 16px; line-height: 1.8; color: var(--ink-2); }
.brief-body p { margin: 0 0 18px; }
.brief-body ul { padding-left: 1.2em; }
.brief-body a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.brief-request { position: sticky; top: 96px; max-height: calc(100dvh - 120px); overflow-y: auto; border-top: 3px solid var(--accent); background: var(--bg-soft); padding: 24px; }
.brief-request h2 { font: 500 27px/1.2 var(--serif); margin: 14px 0 20px; }
.brief-request ul { padding-left: 18px; margin: 0 0 24px; }
.brief-request li { font-size: 15px; line-height: 1.6; padding-bottom: 12px; }
.brief-request .btn-primary { white-space: normal; }
.brief-small { font-size: 13px; line-height: 1.6; color: var(--muted); margin-top: 18px; }
.brief-faq { padding-top: 56px; padding-bottom: 64px; }
.brief-faq h2 { margin-top: 16px; }
.brief-faq details { border-top: 1px solid var(--line); padding: 20px 0; max-width: 800px; }
.brief-faq details:last-child { border-bottom: 1px solid var(--line); }
.brief-faq summary { cursor: pointer; font-size: 17px; font-weight: 600; line-height: 1.5; }
.brief-faq details p { margin: 16px 0 0; max-width: 68ch; font-size: 16px; line-height: 1.75; color: var(--ink-2); }
@media (max-width: 800px) { .brief-hero, .brief-columns { grid-template-columns: 1fr; } .brief-hero { gap: 28px; } .brief-hero img { aspect-ratio: 16/10; } .brief-request { position: static; max-height: none; overflow: visible; max-width: 600px; } .brief-phone { margin-left: 0; margin-right: 12px; } }
/* Short landscape screens need room to read and swipe without a nested scroll area. */
@media (max-height: 500px) and (max-width: 1024px) { .brief-columns { grid-template-columns: 1fr; } .brief-request { position: static; max-height: none; overflow: visible; max-width: 600px; } }
