.workspace-panel { padding: 0; }
.workspace-panel img { width: 100%; display: block; border: 1px solid var(--line); }
.workspace-panel figcaption { font-size: .65rem; margin-top: 15px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.faq-section { border-top: 1px solid var(--line); }
.faq-layout { display: grid; grid-template-columns: 1fr 1.2fr; gap: 100px; }
.faq-layout h2 { margin-block: 25px 30px; }
.faq-layout > div > p:last-child { font-size: .85rem; }
.faq-list details { border-top: 1px solid var(--line); }
.faq-list details:last-child { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; justify-content: space-between; gap: 25px; padding-block: 23px; font-size: .95rem; font-weight: 500; list-style: none; line-height: 1.5; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; color: var(--blue); font-size: 1.4rem; line-height: 1; }
.faq-list details[open] summary::after { content: "\2212"; }
.faq-list details p { padding-bottom: 25px; font-size: .9rem; line-height: 1.8; }
.cta-section { background: var(--surface); color: var(--ink); padding-block: 65px; }
.cta-panel .eyebrow { color: var(--muted); }
.cta-panel h2 { font-size: clamp(4rem, 9.5vw, 9.5rem); margin-block: 35px 55px; letter-spacing: -.07em; }
.cta-panel h2 em { color: var(--ink); }
.cta-bottom { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 35px; border-top: 1px solid var(--line); padding-top: 25px; }
.cta-bottom p { color: var(--muted); font-size: .9rem; }
.cta-bottom .button { background: var(--blue); color: white; border-color: var(--blue); }
.cta-bottom .button:hover { background: var(--blue-hover); }
.cta-meta { text-align: right; font-size: .6rem; line-height: 1.8; letter-spacing: .06em; }
.pricing-card { padding: 35px; background: var(--surface); border-top: 4px solid var(--line); }
.pricing-card h2 { margin-block: 25px; }
.pricing-card p { font-size: .9rem; }
.pricing-card .price-label { font-size: 1.5rem; color: var(--ink); border-top: 1px solid var(--line); padding-top: 20px; }
.pricing-card .button { width: 100%; margin-top: 25px; }
.pricing-card .price-label strong { font-size: 3.5rem; font-weight: 500; letter-spacing: -.05em; }
.pricing-card .price-label span { display: block; margin-top: 8px; }
.pricing-card > p + p, .pricing-card > .small-note { margin-top: 20px; }
.pricing-planned { background: var(--paper); border: 1px solid var(--line); border-top-width: 4px; }
.pricing-planned .plain-list { margin-block: 25px; }
.contact-card { padding: 38px; background: var(--surface); color: var(--ink); }
.contact-card h2 { font-size: 2.5rem; margin-block: 25px; }
.contact-card p { color: var(--muted); margin-block: 22px; font-size: .9rem; }
.contact-card .eyebrow { color: var(--muted); font-size: .7rem; }
.contact-card .small-note { font-size: .72rem; margin-bottom: 0; }
.contact-card .button { background: var(--blue); color: white; border-color: var(--blue); }
.contact-card a:hover { color: var(--blue); }
.contact-card .button:hover { color: white; background: var(--blue-hover); }
.contact-symbol { display: block; font-size: 3rem; line-height: 1; }
.email-address { font-size: clamp(1.05rem, 2vw, 1.7rem); }
.contact-aside { border-top: 1px solid var(--line); margin-top: 35px; }
.contact-aside .button { margin-top: 24px; }
.prose { max-width: 780px; padding-block: 10px 80px; }
.prose h2 { font-size: 1.7rem; line-height: 1.2; letter-spacing: -.035em; margin-block: 40px 20px; }
.prose p { line-height: 1.9; }
.prose .updated { font-size: .75rem; margin-bottom: 30px; }
.answer-box { background: var(--surface); border-left: 3px solid var(--line); padding: 30px; }
.answer-box h2 { margin-top: 0; font-size: 1.5rem; }
.contents { display: grid; gap: 9px; border-block: 1px solid var(--line); padding-block: 25px; margin-top: 35px; font-size: .85rem; }
.contents strong { margin-bottom: 7px; }
.prose > .text-link { margin-top: 30px; }
.prose > p:last-of-type { margin-top: 30px; }
.resource-grid .card h3 { font-size: 1.85rem; }
@media (max-width: 820px) {
  .faq-layout { grid-template-columns: 1fr; gap: 35px; }
  .cta-section { padding-block: 45px; }
  .cta-panel h2 { font-size: clamp(3.4rem, 12vw, 5.8rem); margin-bottom: 35px; }
  .cta-bottom { grid-template-columns: 1fr; gap: 25px; }
  .cta-bottom .button { justify-self: start; }
  .cta-meta { text-align: left; }
  .pricing-card, .contact-card { padding: 30px 25px; }
  .contact-card h2 { font-size: 2.15rem; }
  .answer-box { padding: 25px; }
}
