/* Counsel — formal serif, small caps, numbered practice areas. */
:root { --t-font-display: "Libre Baskerville", Georgia, serif; --t-font-body: "Inter", system-ui, sans-serif; --t-max: 1100px; --t-radius: 6px; --t-radius-sm: 4px; --t-radius-pill: 4px; --t-shadow: none; }

/* letterhead hero: name with a double rule beneath */
.t-hero--letterhead .t-hero__inner { padding-block: clamp(36px, 6vw, 72px) clamp(20px, 3vw, 32px); border-block-end: 3px double var(--t-text); gap: 28px; }
.t-hero--letterhead .t-photo { width: clamp(112px, 15vw, 150px); border-radius: var(--t-radius-sm); box-shadow: none; }
.t-hero--letterhead .t-eyebrow { font-variant: small-caps; text-transform: none; letter-spacing: .18em; color: var(--t-muted); font-size: var(--t-size-1); }
.t-hero--letterhead .t-name { font-weight: 400; font-size: clamp(2.2rem, 4.8vw, 3.4rem); }
.t-hero--letterhead .t-headline { font-family: var(--t-font-display); font-style: italic; font-size: var(--t-size-3); }
.t-hero--letterhead .t-meta { font-variant: small-caps; letter-spacing: .08em; }
.btn { --bs-btn-border-radius: 4px; --bs-btn-font-weight: 600; font-size: var(--t-size-0); letter-spacing: .06em; text-transform: uppercase; }
.t-link { border-radius: 4px; }

.t-section__title { font-weight: 400; font-size: clamp(1.4rem, 2.4vw, 1.8rem); display: flex; align-items: center; gap: 14px; }
.t-section__title::after { content: ""; flex: 1; height: 1px; background: var(--t-line); }
.t-section--summary .t-section__title { display: none; }
.t-summary { font-family: var(--t-font-display); font-size: clamp(1.15rem, 2vw, 1.4rem); line-height: 1.5; max-width: 58ch; }
.t-numbered__item::before { font-family: var(--t-font-display); color: var(--t-muted); }
.t-numbered .t-item__title { font-family: var(--t-font-display); font-weight: 700; font-size: var(--t-size-2); }
.t-timeline__when { font-variant: small-caps; letter-spacing: .06em; color: var(--t-text); }
.t-item__title { font-family: var(--t-font-display); font-weight: 700; font-size: var(--t-size-2); }
.t-list strong { font-family: var(--t-font-display); font-weight: 700; }
.t-list span { font-variant: small-caps; letter-spacing: .04em; }
.t-quote { background: transparent; border: 0; border-inline-start: 2px solid var(--t-text); border-radius: 0; padding: 4px 0 4px 20px; }
.t-quote blockquote { font-style: italic; font-size: var(--t-size-3); }
.t-quote__mark { display: none; }
.card { box-shadow: none; }
.t-chip { border-radius: 4px; background: transparent; }
.t-facts { border-radius: var(--t-radius); }
.t-facts h2, .t-rail .t-section__title { font-family: var(--t-font-body); font-variant: normal; font-size: var(--t-size-0); text-transform: uppercase; letter-spacing: .14em; font-weight: 600; color: var(--t-muted); }
.t-rail .t-section__title::after { display: none; }
.t-section--custom .t-prose { font-style: italic; color: var(--t-muted); border-block-start: 1px solid var(--t-line); padding-block-start: 12px; }
.t-footer { border-block-start: 3px double var(--t-text); }

/* letterhead with a seal (the Counsel signature) */
.t-letterhead { grid-template-columns: 1fr; gap: 24px; }
.t-letterhead__top { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px; font-variant: small-caps; letter-spacing: .2em; font-size: var(--t-size-1); border-block-end: 1px solid var(--t-text); padding-block-end: 10px; }
.t-letterhead__firm { font-family: var(--t-font-display); font-weight: 700; }
.t-letterhead__role { color: var(--t-muted); }
.t-letterhead__body { display: grid; gap: 24px; align-items: center; }
@media (min-width: 760px) { .t-letterhead__body { grid-template-columns: auto minmax(0, 1fr) auto; } }
.t-seal { position: relative; width: 108px; height: 108px; display: grid; place-items: center; }
.t-seal__ring { position: absolute; inset: 0; border-radius: 50%; border: 3px double var(--t-accent); background: repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--t-accent) 18%, transparent) 0 6deg, transparent 6deg 12deg); mask: radial-gradient(circle, transparent 58%, #000 60%); -webkit-mask: radial-gradient(circle, transparent 58%, #000 60%); }
.t-seal__initials { font-family: var(--t-font-display); font-size: 2rem; color: var(--t-accent-text); letter-spacing: .06em; border: 1px solid var(--t-accent); border-radius: 50%; width: 64px; height: 64px; display: grid; place-items: center; }
.t-letterhead__photo .t-photo { width: clamp(100px, 13vw, 130px); border-radius: var(--t-radius-sm); box-shadow: none; filter: grayscale(.4); }
