/*
* Description: Custom CSS Additions Go Here
* Template: twentyseventeen
* Version: 1.0
* Author: VDS
*/

.default-header {
    display: none;
}
.top-header.nav-left-logo-mid-nav-right {
    display: none;
}
.top-widget {
    justify-content: center;
    align-items: center;
    display: none;
    width: 100%;
}
footer#footer.site-footer {
    border-top: none;
    margin-top: 0;
    display: none;
}
body .row.copyright {
    display: none;
}

.tr-page, .tr-page * { box-sizing: border-box; }
.tr-page {
    font-family: 'Outfit', ui-sans-serif, system-ui, -apple-system, sans-serif;
    color: #0a192f;
    background: #f8f5f0;
    -webkit-font-smoothing: antialiased;
    line-height: 1.55;
    scroll-behavior: smooth;
}
.tr-page h1, .tr-page h2, .tr-page h3, .tr-page h4 {
    font-family: 'Playfair Display', ui-serif, Georgia, serif;
    letter-spacing: -0.01em;
    margin: 0;
    line-height: 1.1;
}
.tr-page p { margin: 0; }
.tr-page ul { margin: 0; padding: 0; list-style: none; }
.tr-page a { color: inherit; text-decoration: none; }
.tr-page img { display: block; max-width: 100%; height: auto; }
.tr-page button { font-family: inherit; cursor: pointer; }
.tr-page ::selection { background: #c5a059; color: #0a192f; }

.tr-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}
@media (min-width: 1024px) {
    .tr-container { padding: 0 40px; }
}

.tr-section { position: relative; padding: 96px 0; }
.tr-section--sm { padding: 64px 0; }
@media (min-width: 768px) {
    .tr-section { padding: 128px 0; }
    .tr-section--sm { padding: 80px 0; }
}

.tr-eyebrow {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    color: #a78240;
    margin-bottom: 16px;
    font-weight: 500;
}

.tr-h1 {
    font-size: clamp(36px, 5vw, 60px);
    color: #0a192f;
}
.tr-h2 {
    font-size: clamp(30px, 4vw, 48px);
    color: #0a192f;
}
.tr-italic-gold { font-style: italic; color: #a78240; font-weight: 400; }
.tr-italic-gold-light { font-style: italic; color: #c5a059; font-weight: 400; }

.tr-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 48px;
    padding: 0 28px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-decoration: none;
    border: 1px solid transparent;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
    white-space: nowrap;
}
.tr-btn--primary { background: #0a192f; color: #f8f5f0; }
.tr-btn--primary:hover { background: #112240; }
.tr-btn--gold { background: #c5a059; color: #0a192f; }
.tr-btn--gold:hover { background: #d4af37; }
.tr-btn--outline-light { background: transparent; color: #f8f5f0; border-color: rgba(248,245,240,0.4); }
.tr-btn--outline-light:hover { background: #f8f5f0; color: #0a192f; }

.tr-page a.tr-btn, .tr-page button.tr-btn { color: inherit; }
.tr-page a.tr-btn--primary, .tr-page button.tr-btn--primary { color: #f8f5f0; }
.tr-page a.tr-btn--gold, .tr-page button.tr-btn--gold { color: #0a192f; }
.tr-page a.tr-btn--outline-light, .tr-page button.tr-btn--outline-light { color: #f8f5f0; }
.tr-page a.tr-btn--outline-light:hover, .tr-page button.tr-btn--outline-light:hover { color: #0a192f; }

.tr-icon { width: 16px; height: 16px; flex-shrink: 0; }
.tr-icon--lg { width: 20px; height: 20px; }
.tr-icon--xl { width: 32px; height: 32px; }

/* ===== Header ===== */
.tr-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 50;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    background: rgba(248, 245, 240, 0.85);
    border-bottom: 1px solid rgba(10, 25, 47, 0.08);
}
.tr-header__inner {
    display: flex; align-items: center; justify-content: space-between;
    height: 80px;
}
.tr-brand { display: flex; align-items: center; gap: 12px; }
.tr-brand__mark {
    width: 40px; height: 40px;
    background: #0a192f; color: #c5a059;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 4px;
}
.tr-brand__name { font-family: 'Playfair Display', serif; font-size: 18px; color: #0a192f; line-height: 1; }
.tr-brand__sub { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: 0.2em; color: rgba(10,25,47,0.6); margin-top: 4px; }
.tr-nav { display: none; gap: 36px; }
.tr-nav a {
    font-size: 14px; font-weight: 500; color: rgba(10,25,47,0.8);
    position: relative; padding-bottom: 4px;
    transition: color .2s;
}
.tr-nav a:hover { color: #0a192f; }
.tr-nav a::after {
    content: ''; position: absolute; left: 0; bottom: 0; width: 0; height: 1px; background: #c5a059;
    transition: width .3s ease;
}
.tr-nav a:hover::after { width: 100%; }
.tr-header__right { display: none; gap: 12px; align-items: center; }
.tr-header__email {
    font-size: 14px; color: rgba(10,25,47,0.7);
    display: inline-flex; align-items: center; gap: 8px;
}
.tr-header__email:hover { color: #0a192f; }
.tr-burger {
    display: inline-flex; background: transparent; border: 0; padding: 8px; color: #0a192f;
}
@media (min-width: 1024px) {
    .tr-nav, .tr-header__right { display: flex; }
    .tr-burger { display: none; }
}
.tr-mobile-menu { display: none; border-top: 1px solid rgba(10,25,47,0.08); background: #f8f5f0; }
.tr-mobile-menu.is-open { display: block; }
.tr-mobile-menu__inner { padding: 20px 24px; display: flex; flex-direction: column; gap: 16px; }
.tr-mobile-menu a { font-size: 14px; color: rgba(10,25,47,0.85); }

/* ===== Hero ===== */
.tr-hero {
    position: relative;
    min-height: 100vh;
    background: #0a192f;
    padding-top: 80px;
    overflow: hidden;
}
.tr-hero__bg {
    position: absolute; inset: 0;
}
.tr-hero__bg img {
    width: 100%; height: 100%; object-fit: cover; object-position: right;
}
.tr-hero__overlay {
    position: absolute; inset: 0;
    background:
        linear-gradient(to right, #0a192f 0%, rgba(10,25,47,0.85) 30%, rgba(10,25,47,0.1) 100%),
        linear-gradient(to bottom, rgba(10,25,47,0.3) 0%, transparent 50%, rgba(10,25,47,0.4) 100%);
}
.tr-hero__inner {
    position: relative;
    padding: 96px 0 128px;
    display: grid; grid-template-columns: 1fr; gap: 40px;
    align-items: center;
    min-height: calc(100vh - 80px);
}
@media (min-width: 1024px) {
    .tr-hero__inner { grid-template-columns: 7fr 5fr; padding: 160px 0; }
}
.tr-hero__copy { color: #f8f5f0; }
.tr-hero__badge {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 6px 12px; border: 1px solid rgba(197,160,89,0.4);
    background: rgba(248,245,240,0.1);
    color: #c5a059; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
    margin-bottom: 28px; border-radius: 4px;
}
.tr-hero__badge .dot { width: 6px; height: 6px; border-radius: 50%; background: #c5a059; }
.tr-hero h1 { color: #f8f5f0; margin-bottom: 24px; }
.tr-hero__sub {
    color: rgba(248,245,240,0.8);
    font-size: 17px; max-width: 560px;
    margin-bottom: 40px;
    line-height: 1.65;
}
.tr-hero__ctas { display: flex; flex-wrap: wrap; gap: 16px; }

/* ===== Two-column intro (Practice header) ===== */
.tr-grid-2 {
    display: grid; grid-template-columns: 1fr; gap: 32px;
}
@media (min-width: 1024px) {
    .tr-grid-2 { grid-template-columns: 5fr 7fr; gap: 64px; align-items: end; }
}
.tr-lead {
    font-size: 17px; line-height: 1.65; color: rgba(10,25,47,0.7);
}

/* ===== Practice cards grid ===== */
.tr-cards {
    display: grid; grid-template-columns: 1fr; gap: 20px;
    margin-top: 56px;
}
@media (min-width: 768px) { .tr-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tr-cards { grid-template-columns: repeat(3, 1fr); } }
.tr-card {
    background: #ffffff; border: 1px solid rgba(10,25,47,0.1); border-radius: 4px;
    padding: 32px;
    display: flex; flex-direction: column;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.tr-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px -20px rgba(10,25,47,0.25);
    border-color: rgba(197,160,89,0.6);
}
.tr-card__head { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 32px; }
.tr-card__icon {
    width: 48px; height: 48px; background: rgba(10,25,47,0.05); color: #0a192f;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 4px; transition: background .25s, color .25s;
}
.tr-card:hover .tr-card__icon { background: #0a192f; color: #c5a059; }
.tr-card__num { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; color: rgba(10,25,47,0.4); }
.tr-card__title { font-size: 22px; color: #0a192f; margin-bottom: 12px; }
.tr-card__desc { font-size: 14px; line-height: 1.65; color: rgba(10,25,47,0.7); }

/* ===== Why (navy strip) ===== */
.tr-why { background: #0a192f; color: #f8f5f0; }
.tr-why h2 { color: #f8f5f0; }
.tr-why__intro { max-width: 720px; margin-bottom: 56px; }
.tr-why__grid {
    display: grid; grid-template-columns: 1fr; gap: 32px;
}
@media (min-width: 768px) { .tr-why__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tr-why__grid { grid-template-columns: repeat(4, 1fr); gap: 40px; } }
.tr-feature {
    border-top: 1px solid rgba(248,245,240,0.15);
    padding-top: 28px;
}
.tr-feature__icon { color: #c5a059; width: 28px; height: 28px; margin-bottom: 20px; }
.tr-feature__title { font-size: 20px; color: #f8f5f0; margin-bottom: 12px; }
.tr-feature__desc { font-size: 14px; color: rgba(248,245,240,0.7); line-height: 1.65; }

/* ===== About ===== */
.tr-about__grid {
    display: grid; grid-template-columns: 1fr; gap: 48px; align-items: center;
}
@media (min-width: 1024px) { .tr-about__grid { grid-template-columns: 5fr 7fr; gap: 64px; } }
.tr-about__image-wrap { position: relative; }
.tr-about__image-deco {
    position: absolute; top: -16px; left: -16px; right: 32px; bottom: 32px;
    border: 1px solid rgba(197,160,89,0.4); border-radius: 4px;
    display: none;
}
@media (min-width: 768px) { .tr-about__image-deco { display: block; } }
.tr-about__image {
    position: relative; overflow: hidden; border-radius: 4px; background: #0a192f;
}
.tr-about__image img { width: 100%; height: 520px; object-fit: cover; object-position: top; }
.tr-about__stat {
    position: absolute; bottom: -24px; right: -24px;
    background: #0a192f; color: #f8f5f0;
    padding: 24px; max-width: 220px; border-radius: 4px;
    display: none;
}
@media (min-width: 768px) { .tr-about__stat { display: block; } }
.tr-about__stat-num { font-family: 'Playfair Display', serif; font-size: 32px; color: #c5a059; margin-bottom: 4px; }
.tr-about__stat-label { font-size: 12px; text-transform: uppercase; letter-spacing: 0.18em; color: rgba(248,245,240,0.8); }
.tr-about h2 { margin-bottom: 24px; }
.tr-about__body p { color: rgba(10,25,47,0.75); font-size: 17px; line-height: 1.65; margin-bottom: 20px; }
.tr-checklist { margin: 32px 0; display: flex; flex-direction: column; gap: 12px; }
.tr-checklist li { display: flex; gap: 12px; align-items: flex-start; color: rgba(10,25,47,0.85); font-size: 15px; }
.tr-checklist svg { color: #a78240; width: 20px; height: 20px; margin-top: 2px; flex-shrink: 0; }

/* ===== Testimonials ===== */
.tr-testimonials { background: #efe9df; }
.tr-testimonials__heading { text-align: center; margin-bottom: 48px; }
.tr-testimonials__heading svg { color: #a78240; width: 32px; height: 32px; margin: 0 auto 16px; display: block; }
.tr-quote-featured {
    max-width: 720px; margin: 0 auto 56px; text-align: center;
}
.tr-quote-featured blockquote {
    font-family: 'Playfair Display', serif;
    font-size: clamp(18px, 1.8vw, 22px);
    line-height: 1.65;
    color: #0a192f;
    margin: 0 0 24px;
}
.tr-quote-cite {
    display: inline-flex; align-items: center; gap: 16px;
}
.tr-quote-cite__line { width: 32px; height: 1px; background: #a78240; }
.tr-quote-cite__name { font-family: 'Playfair Display', serif; font-size: 16px; color: #0a192f; }
.tr-quote-cite__role { font-size: 10px; text-transform: uppercase; letter-spacing: 0.2em; color: rgba(10,25,47,0.6); }
.tr-mini-grid {
    display: grid; grid-template-columns: 1fr; gap: 24px;
    padding-top: 48px; border-top: 1px solid rgba(10,25,47,0.1);
}
@media (min-width: 768px) { .tr-mini-grid { grid-template-columns: repeat(3, 1fr); } }
.tr-mini-card {
    background: #ffffff; border: 1px solid rgba(10,25,47,0.1); border-radius: 4px;
    padding: 32px;
    display: flex; flex-direction: column;
}
.tr-mini-card svg { color: #a78240; width: 20px; height: 20px; margin-bottom: 16px; }
.tr-mini-card blockquote {
    font-family: 'Playfair Display', serif;
    font-size: 17px; line-height: 1.6; color: rgba(10,25,47,0.85);
    margin: 0;
    flex: 1;
}
.tr-mini-card__cite { margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(10,25,47,0.1); display: flex; align-items: center; gap: 12px; }

/* ===== Contact ===== */
.tr-contact__grid {
    display: grid; grid-template-columns: 1fr; gap: 48px;
}
@media (min-width: 1024px) { .tr-contact__grid { grid-template-columns: 5fr 7fr; gap: 48px; } }
.tr-contact__intro h2 { margin-bottom: 24px; }
.tr-contact__intro p.tr-lead { margin-bottom: 40px; }
.tr-contact__info { display: flex; flex-direction: column; gap: 24px; }
.tr-info-row { display: flex; gap: 16px; align-items: flex-start; }
.tr-info-row__icon {
    width: 40px; height: 40px; background: #0a192f; color: #c5a059;
    display: inline-flex; align-items: center; justify-content: center; border-radius: 4px; flex-shrink: 0;
}
.tr-info-row__label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.2em; color: rgba(10,25,47,0.6); margin-bottom: 4px; }
.tr-info-row__value { font-weight: 500; color: #0a192f; }
.tr-info-row__sub { font-size: 14px; color: rgba(10,25,47,0.6); }
.tr-form-wrap {
    background: #ffffff; border: 1px solid rgba(10,25,47,0.1); border-radius: 4px;
    padding: 40px;
    box-shadow: 0 30px 60px -30px rgba(10,25,47,0.25);
}
.tr-form-wrap--placeholder { min-height: 480px; }

/* ===== Footer ===== */
.tr-footer { background: #0a192f; color: rgba(248,245,240,0.8); padding: 64px 0 40px; }
.tr-footer__grid {
    display: grid; grid-template-columns: 1fr; gap: 40px;
    padding-bottom: 48px; border-bottom: 1px solid rgba(248,245,240,0.1);
}
@media (min-width: 768px) { .tr-footer__grid { grid-template-columns: 5fr 3fr 4fr; } }
.tr-footer__brand p { color: rgba(248,245,240,0.65); font-size: 14px; max-width: 380px; margin-top: 20px; line-height: 1.65; }
.tr-footer__head { font-size: 11px; text-transform: uppercase; letter-spacing: 0.2em; color: #c5a059; margin-bottom: 16px; }
.tr-footer ul li { margin-bottom: 8px; font-size: 14px; }
.tr-footer ul a { color: rgba(248,245,240,0.7); }
.tr-footer ul a:hover { color: #c5a059; }
.tr-footer__contact li { display: flex; gap: 12px; align-items: flex-start; color: rgba(248,245,240,0.85); }
.tr-footer__contact svg { color: #c5a059; width: 16px; height: 16px; margin-top: 4px; flex-shrink: 0; }
.tr-footer__bottom {
    padding-top: 32px; display: flex; flex-direction: column; gap: 16px;
    justify-content: space-between; align-items: flex-start;
    font-size: 12px; color: rgba(248,245,240,0.5);
}
@media (min-width: 768px) { .tr-footer__bottom { flex-direction: row; align-items: center; } }
.tr-footer__bottom em { font-family: 'Playfair Display', serif; color: rgba(248,245,240,0.6); font-style: italic; }