/* Inner pages: services groups, about, hire, privacy, quote. */
.svc { display: grid; gap: 2.5rem; }
@media (min-width: 980px) { .svc { grid-template-columns: 5fr 7fr; gap: 4.5rem; align-items: start; } .svc-flip .svc-art { order: 2; } }
.svc-copy { display: grid; gap: 1.2rem; align-content: start; }
.svc-copy h2 { font-size: var(--s3); font-weight: 600; line-height: 1; }
.svc-copy > p { color: var(--dim); max-width: 50ch; font-size: 1.08rem; }
.svc-list { margin: .5rem 0 0; border-top: 1px solid var(--line-2); }
.svc-list div { padding-block: 1.1rem; border-bottom: 1px solid var(--line); display: grid; gap: .3rem; }
.svc-list dt { font-weight: 600; font-size: 1.05rem; }
.svc-list dd { margin: 0; color: var(--dim); line-height: 1.55; }
.svc-art { display: grid; gap: 1.25rem; align-content: start; }
.svc-art .art { aspect-ratio: 400 / 260; }
.svc-note { color: var(--dim); font-size: var(--s-1); max-width: 40ch; }
.svc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.75rem; margin-top: .5rem; }

/* about */
.values { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.5rem; }
@media (min-width: 760px) { .values { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; } }
.values li { border-top: 1px solid var(--line-2); padding-top: 1.25rem; display: grid; gap: .5rem; align-content: start; }
.values h3 { font-size: var(--s1); font-weight: 600; }
.values p { color: var(--dim); }

/* policy pages */
.policy { display: grid; gap: 1rem; max-width: 72ch; }
.policy h2 { font-size: var(--s2); font-weight: 600; margin-top: 2rem; }
.policy h2:first-child { margin-top: 0; }
.policy p, .policy li { color: var(--dim); }
.policy ul { margin: 0; padding-left: 1.3rem; display: grid; gap: .4rem; }
.policy strong { color: var(--fg); font-weight: 600; }
.policy a { color: var(--fg); text-decoration-color: var(--petal); text-underline-offset: 4px; }
.policy table { border-collapse: collapse; width: 100%; font-size: var(--s-1); }
.policy th, .policy td { text-align: left; padding: .6rem .5rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.policy th { color: var(--fg); font-weight: 600; }
.policy td { color: var(--dim); }
.note { border: 1.5px dashed var(--line-2); border-radius: 14px; padding: .9rem 1.1rem; color: var(--dim); font-size: var(--s-1); }
