/* Hinckley & Heisenberg — v3 letterhead
   Single shared stylesheet for the English site and the /zh/ Chinese site.
   Edit values here to change all pages at once. */

:root {
    --paper:        #fdfdfb;
    --ink:          #1a1a1a;
    --ink-muted:    #555555;
    --ink-faint:    #777777;
    --rule:         #d8d4cb;
    --ornament:     #c4bfb3;
    --link:         #1a1a1a;
}

* { box-sizing: border-box; }

html, body {
    margin: 0;
    padding: 0;
    background: var(--paper);
}

body {
    font-family: Georgia, "Iowan Old Style", "Palatino Linotype", Palatino, serif;
    color: var(--ink);
    line-height: 1.65;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Page container — the centered narrow-measure column */
.page {
    max-width: 460px;
    margin: 0 auto;
    padding: 4rem 1.5rem 3.5rem;
}

@media (min-width: 700px) {
    .page {
        padding: 4rem 0 3.5rem;
    }
}

/* Masthead */
.masthead {
    text-align: center;
    margin-bottom: 3.5rem;
}

.masthead-firm {
    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 0.18em;
    color: var(--ink);
    margin: 0 0 0.5rem 0;
}

.masthead-tag {
    font-size: 11px;
    letter-spacing: 0.32em;
    color: var(--ink-faint);
}

/* Navigation */
.nav {
    text-align: center;
    margin-bottom: 4rem;
    font-size: 13px;
    letter-spacing: 0.05em;
}

.nav a {
    color: var(--link);
    text-decoration: none;
    margin: 0 0.85rem;
    padding-bottom: 1px;
    white-space: nowrap;
}

.nav a.current {
    border-bottom: 1px solid var(--ink);
}

.nav .sep {
    color: var(--ornament);
}

/* Page title */
.page-title {
    text-align: center;
    margin-bottom: 3.5rem;
}

.page-title-main {
    font-size: 18px;
    letter-spacing: 0.04em;
    margin-bottom: 0.5rem;
}

.page-title-sub {
    font-size: 14px;
    color: var(--ink-muted);
    font-style: italic;
    margin: 0;
    line-height: 1.6;
}

/* Section labels — tracked smallcaps */
.section-label {
    font-size: 11px;
    letter-spacing: 0.32em;
    color: var(--ink-faint);
    margin-bottom: 1.5rem;
    font-weight: 400;
    text-align: center;
    text-transform: uppercase;
}

/* Body prose */
.prose p {
    margin: 0 0 1.4rem 0;
    text-align: left;
}

/* Ornament — three centered dots between sections */
.ornament {
    text-align: center;
    color: var(--ornament);
    letter-spacing: 0.6em;
    margin: 3rem 0;
    font-size: 15px;
}

/* Address block */
.address {
    text-align: center;
    color: var(--ink-muted);
    font-size: 14px;
    line-height: 1.8;
}

/* Links in body text and contact lines */
a.email, .prose a, .case-desc a, .news-desc a {
    color: var(--link);
    text-decoration: none;
    border-bottom: 1px solid var(--rule);
}

a.email:hover, .prose a:hover, .case-desc a:hover, .news-desc a:hover {
    border-bottom-color: var(--ink);
}

/* Attorneys */
.attorney {
    margin-bottom: 1rem;
    text-align: center;
}

.portrait {
    width: 132px;
    height: auto;
    display: block;
    margin: 0 auto 1.4rem;
    filter: grayscale(100%);
}

.attorney-name {
    font-size: 17px;
    letter-spacing: 0.03em;
    margin: 0 0 0.35rem 0;
    font-weight: 400;
}

.attorney-title {
    font-size: 11px;
    letter-spacing: 0.32em;
    color: var(--ink-faint);
    text-transform: uppercase;
    margin-bottom: 1.6rem;
}

.attorney-bio {
    text-align: left;
    margin-bottom: 2rem;
}

.attorney-detail {
    font-size: 14px;
    color: var(--ink-muted);
    line-height: 1.8;
    margin-bottom: 1.6rem;
}

.attorney-contact {
    font-size: 14px;
    color: var(--ink-muted);
    line-height: 1.9;
}

/* Cases */
.case-section {
    margin-bottom: 1rem;
}

.case {
    margin-bottom: 2.2rem;
}

.case-caption {
    font-style: italic;
    margin-bottom: 0.1rem;
}

.case-cite {
    font-size: 13px;
    color: var(--ink-faint);
    margin-bottom: 0.4rem;
}

.case-desc {
    font-size: 14.5px;
    color: var(--ink-muted);
    line-height: 1.7;
}

/* News */
.news-year {
    font-size: 15px;
    letter-spacing: 0.14em;
    color: var(--ink-muted);
    text-align: center;
    margin-bottom: 1.6rem;
    font-weight: 400;
}

.news-item {
    margin-bottom: 2rem;
}

.news-date {
    font-size: 13px;
    color: var(--ink-faint);
    margin-bottom: 0.3rem;
}

.news-desc {
    font-size: 15px;
    line-height: 1.7;
}

.news-source {
    font-size: 13px;
    color: var(--ink-muted);
}

/* Footer */
.fine-print {
    margin-top: 4.5rem;
    padding-top: 1.8rem;
    border-top: 1px solid var(--rule);
    text-align: center;
    font-size: 12px;
    color: var(--ink-faint);
    line-height: 1.9;
}

.llp {
    font-variant: small-caps;
    letter-spacing: 0.05em;
}

/* ------------------------------------------------------------------ */
/* Chinese-language pages (/zh/) and the 中文 nav item                 */
/* Georgia has no CJK glyphs: Latin text (case captions, citations)    */
/* stays in Georgia; Chinese characters fall to a matching serif.      */
/* ------------------------------------------------------------------ */

.zh, a.lang-zh {
    font-family: Georgia, "Noto Serif SC", "Songti SC", STSong, SimSun,
                 "Iowan Old Style", Palatino, serif;
}

.zh body, body.zh {
    line-height: 1.9;
}

body.zh .prose p {
    margin-bottom: 1.5rem;
}

body.zh .nav {
    letter-spacing: 0.01em;
    font-size: 12.5px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 0.6rem;
}

body.zh .nav a {
    margin: 0 0.42rem;
}

body.zh .attorney-bio {
    text-align: left;
}

body.zh .section-label {
    letter-spacing: 0.5em;
    text-indent: 0.5em; /* balances the trailing tracking on CJK labels */
}

body.zh .masthead-tag {
    font-size: 13px;
    letter-spacing: 0.32em;
    text-indent: 0.32em;
    white-space: nowrap;
}

@media (max-width: 420px) {
    body.zh .masthead-tag {
        font-size: 11px;
        letter-spacing: 0.22em;
        text-indent: 0.22em;
    }

    body.zh .nav {
        font-size: 11.5px;
    }

    body.zh .nav a {
        margin: 0 0.32rem;
    }
}
