﻿/*
 * Typography Upgrade — Legajoist
 * Inspired by Whalebank's bold, high-contrast design language
 * Overrides template defaults in style.css
 */

/* ── Google Fonts ─────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,800;0,900;1,400;1,700&family=Inter:wght@300;400;500;600;700&display=swap');

/* ── CSS Variables ────────────────────────────────────────── */
:root {
    --title-fonts: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --body-fonts:  'Inter', 'Open Sans', sans-serif;
    --primary-color: #b8963e;
    --dark-color:    #1a3d28;
    --secondary-color: #5a5f6e;
}

/* ── Base ─────────────────────────────────────────────────── */
body {
    font-family: var(--body-fonts);
    font-size: 1rem;
    line-height: 1.85;
    color: #444;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ── Headings ─────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--title-fonts);
    color: var(--dark-color);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.3px;
    text-transform: none;
    margin: 0;
    word-wrap: break-word;
}

h1 { font-size: clamp(2.4rem, 5vw, 3.75rem);  line-height: 1.08; font-weight: 800; }
h2 { font-size: clamp(1.9rem, 3.5vw, 2.8rem); line-height: 1.12; font-weight: 700; }
h3 { font-size: clamp(1.5rem, 2.5vw, 2.1rem); line-height: 1.18; font-weight: 700; }
h4 { font-size: clamp(1.2rem, 2vw, 1.65rem);  line-height: 1.25; font-weight: 600; }
h5 { font-size: clamp(1rem, 1.5vw, 1.35rem);  line-height: 1.3;  font-weight: 600; }
h6 { font-size: clamp(0.9rem, 1.2vw, 1.1rem); line-height: 1.4;  font-weight: 600; }

/* ── Section Titles ───────────────────────────────────────── */
.pq-section-title.pq-style-1 .pq-section-sub-title {
    font-family: var(--body-fonts);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 3.5px;
    text-transform: uppercase;
    color: var(--primary-color);
}

.pq-section-title.pq-style-1 .pq-section-main-title {
    font-family: var(--title-fonts);
    font-size: clamp(1.9rem, 3.2vw, 2.7rem);
    font-weight: 700;
    line-height: 1.15;
    color: var(--dark-color);
    letter-spacing: -0.3px;
}

.pq-section-title.pq-style-1 .pq-section-description {
    font-family: var(--body-fonts);
    font-size: 1rem;
    line-height: 1.85;
    color: #666;
    font-weight: 400;
}

/* Dark background section titles */
.pq-bg-dark .pq-section-title.pq-style-1 .pq-section-main-title {
    color: #fff;
}
.pq-bg-dark .pq-section-title.pq-style-1 .pq-section-description {
    color: rgba(255,255,255,0.7);
}

/* ── Breadcrumb ───────────────────────────────────────────── */
.pq-breadcrumb-title h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: -0.5px;
    line-height: 1.1;
}

/* ── Paragraph ────────────────────────────────────────────── */
p {
    font-family: var(--body-fonts);
    font-size: 0.9875rem;
    line-height: 1.9;
    color: #555;
    margin-bottom: 1.25rem;
}

/* ── Links ────────────────────────────────────────────────── */
a {
    transition: color 0.25s ease, opacity 0.25s ease;
}

/* ── Nav Links ────────────────────────────────────────────── */
header#pq-header .pq-bottom-header .navbar .navbar-nav li a {
    font-family: var(--body-fonts);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.3px;
}

/* ── Footer Titles ────────────────────────────────────────── */
.footer-title {
    font-family: var(--body-fonts);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

/* ── Buttons ──────────────────────────────────────────────── */
.pq-btn-container a,
.pq-button,
a.pq-button {
    font-family: var(--body-fonts);
    font-weight: 600;
    letter-spacing: 0.5px;
    font-size: 0.875rem;
}

/* ── Blog Cards ───────────────────────────────────────────── */
.pq-blog-post .pq-post-title,
.pq-blog-post h5,
.pq-blog-post h4 {
    font-size: clamp(1rem, 1.8vw, 1.3rem);
    line-height: 1.35;
    font-weight: 700;
}

/* ── Team Cards ───────────────────────────────────────────── */
.pq-team-block h5,
.pq-team h5 {
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: 0;
}

/* ── Service Cards ────────────────────────────────────────── */
.pq-service-box h5,
.pq-service-box h4 {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.3;
}

/* ── Stats / Counters ─────────────────────────────────────── */
.pq-counter-info .pq-counter-number,
.pq-counter-number {
    font-family: var(--title-fonts);
    font-weight: 800;
    font-size: clamp(2.5rem, 4vw, 3.5rem);
    line-height: 1;
}

/* ── Testimonials ─────────────────────────────────────────── */
.pq-testimonial-block blockquote,
.pq-testimonial-block p {
    font-size: 1.0625rem;
    line-height: 1.9;
    font-style: italic;
}

/* ── Section Labels (Whalebank-style uppercase tags) ──────── */
.sec-label,
.cr-label,
.ft-title {
    font-family: var(--body-fonts) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 3.5px !important;
    text-transform: uppercase !important;
}

/* ── Responsive Adjustments ───────────────────────────────── */
@media (max-width: 991px) {
    h1 { font-size: 2.4rem; }
    h2 { font-size: 1.9rem; }
    h3 { font-size: 1.5rem; }
    .pq-section-title.pq-style-1 .pq-section-main-title { font-size: 1.85rem; }
    .pq-breadcrumb-title h1 { font-size: 2rem; }
}

@media (max-width: 575px) {
    h1 { font-size: 2rem; }
    h2 { font-size: 1.65rem; }
    h3 { font-size: 1.35rem; }
    body { font-size: 0.9375rem; }
    .pq-section-title.pq-style-1 .pq-section-main-title { font-size: 1.6rem; }
    .pq-breadcrumb-title h1 { font-size: 1.75rem; }
}
