/* Final refinement: readable type, the selected artwork, restrained accents. */
:root { --muted: #60635b; }
body { line-height: 1.65; }
nav { font-size: .9375rem; gap: clamp(18px,2vw,32px); }
.eyebrow,.hero-copy .eyebrow,.contact-copy .eyebrow,.contact-panel>.eyebrow,
.experience-practice>.eyebrow,.process-panel .eyebrow,.decision-note .eyebrow {
  font-size: .8125rem; line-height: 1.55; letter-spacing: .07em;
}
.hero-copy .eyebrow { max-width: 40ch; }
.hero-description { font-size: clamp(1.0625rem,1.35vw,1.1875rem); line-height: 1.65; max-width: 42ch; }
.button,.text-link { font-size: 1rem; }
.hero-visual img { aspect-ratio: 1672/941; object-fit: contain; mix-blend-mode: normal; }
.hero-art { overflow: hidden; border-radius: 3px; }
.hero-visual { align-self: center; }
.visual-caption { margin-top: 20px; padding: 18px 0; }
.caption-story { font-size: .875rem; letter-spacing: 0; text-transform: none; line-height: 1.5; }
.visual-note { font-size: .8125rem; line-height: 1.5; }
.hero-bottom { font-size: .875rem; gap: 22px; }
.section-heading>p,.experience-heading>p,.contact-copy>p:not(.eyebrow) {
  font-size: 1.0625rem; line-height: 1.7; max-width: 40ch;
}
.experience-perspective { min-width: 0; padding-right: 30px; }
.experience-perspective h3 { font-size: clamp(1.75rem,2.5vw,2.5rem); line-height: 1.22; margin: 22px 0; max-width: 19ch; }
.experience-perspective>p:not(.eyebrow) { font-size: 1.0625rem; color: #c6c8be; max-width: 40ch; }
.experience-perspective .experience-principle { margin-top: 32px; padding-left: 18px; border-left: 2px solid var(--orange); }
.experience-principle span { color: var(--paper); }
.experience-practice h3 { font-size: 1.3125rem; line-height: 1.35; }
.experience-practice p:not(.eyebrow) { font-size: 1rem; line-height: 1.65; }
.experience-practice>div>span,.service-index { font-size: .875rem; }
.service-short { font-size: .9375rem; }
.service-overview>p,.work-card>p { font-size: 1.0625rem; line-height: 1.7; }
.service-deliverables dt { font-size: 1rem; }
.service-deliverables dd { font-size: 1rem; line-height: 1.65; }
.service-flow>span,.tags span { font-size: .875rem; }
.channels>span { font-size: .8125rem; }
.channel-note { font-size: .9375rem; line-height: 1.65; }
.art-label,.art-bottom { font-size: .8125rem; letter-spacing: .025em; }
.illustration-label { font-size: .75rem; line-height: 1.4; letter-spacing: 0; }
.art-bottom { margin-bottom: 30px; }
.work-art { height: clamp(345px,31vw,430px); }
.test-cards>div { background: #373833; border-color: #606158; }
.test-cards>div:nth-child(2) { background: var(--orange); color: #20221e; border-color: var(--orange); }
.test-cards span { font-size: .8125rem; }
.work-meta>span { font-size: .8125rem; letter-spacing: .025em; }
.work-explore { font-size: .9375rem; }
.process-nav button b { font-size: 1.0625rem; line-height: 1.4; }
.process-nav button>span { font-size: .8125rem; }
.process-panel>p:not(.eyebrow) { font-size: 1.0625rem; line-height: 1.7; }
.process-panel dl>div { font-size: .9375rem; grid-template-columns: 80px minmax(0,1fr); }
.process-diagram>span,.process-diagram.diagnostic>strong { font-size: .875rem; }
.process-note { font-size: .9375rem; line-height: 1.65; }
.contact-panel>form { margin-top: 26px; }
.contact input,.contact textarea { background: #292b26; }
.contact-hint,.contact-panel .form-privacy,.form-status { font-size: .875rem; line-height: 1.65; max-width: 52ch; }
.form-status:empty,.copy-status:empty { display: none; }
.direct-contact { margin-top: 32px; padding-top: 28px; border-top: 1px solid #50524a; }
.direct-contact .eyebrow { color: #c6c8be; }
.contact-address { font-size: clamp(1.1rem,1.9vw,1.7rem); border-bottom: 0; padding-bottom: 4px; }
.copy-email,.copy-status { font-size: .875rem; }
.footer-top>p,.footer-top>a:last-child { font-size: 1rem; }
.footer-bottom { font-size: .875rem; flex-wrap: wrap; }
.footer-bottom>div a { font-size: .9375rem; }
.dialog-intro>p:not(.eyebrow) { font-size: 1.0625rem; line-height: 1.7; }
.dialog-grid h3 { font-size: 1.25rem; line-height: 1.3; }
.decision-chain li,.decision-chain p,.decision-note p:not(.eyebrow) { font-size: 1rem; line-height: 1.65; }
.decision-chain li>span { font-size: .8125rem; }
.decision-note h3 { font-size: 1.5rem; }
.dialog-footer { font-size: .875rem; }
.dialog-close { font-size: 1rem; }
.legal-toc,.legal-toc a,.legal-main .legal-date { font-size: .9375rem; }
.legal-content p,.legal-content li { font-size: 1.0625rem; }
@media (min-width:701px) and (max-width:1100px) {
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 16px; }
  .contact { gap: 4vw; }
  .form-pair { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width:850px) {
  nav { font-size: 1rem; }
  .experience-perspective { padding-right: 0; }
  .process-workspace { grid-template-columns: 1fr; }
  .process-nav { display: grid; grid-template-columns: 1fr 1fr; }
  .process-nav button { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .process-nav button:nth-child(even) { border-right: 0; }
  .process-nav button:last-child { border-bottom: 1px solid var(--line); }
}
@media (max-width:700px) {
  .hero-copy .eyebrow { font-size: .8125rem; max-width: 35ch; }
  .hero-visual { margin-top: 36px; }
  .hero-bottom { font-size: .8125rem; }
  .hero-bottom>a { max-width: 160px; }
  .section-heading>p,.experience-heading>p { font-size: 1.0625rem; }
  .service-body { padding-left: 0; }
  .work-art { height: 365px; padding: 24px; }
  .illustration-label { left: 24px; right: 18px; bottom: 16px; font-size: .75rem; }
  .test-cards { margin: 18px auto; }
  .test-cards>div { min-height: 140px; }
  .test-cards b { font-size: clamp(1rem,4.5vw,1.6rem); }
  .process-nav button b { font-size: .9375rem; }
  .process-panel { padding: 28px 22px; }
  .process-panel dl>div { grid-template-columns: 1fr; gap: 5px; }
  .process-diagram>span { font-size: .8125rem; }
  .contact-copy .eyebrow { font-size: .8125rem; }
  .dialog-footer>a { white-space: normal; }
}
@media (max-width:380px) {
  .work-art { padding: 20px; }
  .illustration-label { left: 20px; }
  .art-label,.art-bottom { font-size: .75rem; }
  .test-cards span { font-size: .75rem; }
  .process-nav button { padding: 16px 10px; }
}
