/* DD Yadav premium layer, inner pages. Loaded after premium.css on every page that uses the shared site theme.
   Carries the home page's finish (gold accents, serif headings, calm spacing) onto page headers, forms, the blog, legal pages, header and footer. */

html { scroll-behavior: smooth; }
::selection { background: #C4913A; color: #1C1410; }
body :focus-visible { outline: 2px solid #C4913A; outline-offset: 3px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* ---------- Header ---------- */
body .site-header { border-bottom: 1px solid rgba(44, 36, 22, 0.1); }
body .site-nav-link { font-size: 0.8rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
body .header-cta { border-radius: 3px; letter-spacing: 0.1em; }

/* ---------- Page header (contact, legal, location pages) ---------- */
body .breadcrumbs { background: var(--cream); border-bottom: 1px solid var(--border); }
body .breadcrumbs-item { font-size: 0.74rem; letter-spacing: 0.14em; text-transform: uppercase; }
body .page-header {
    position: relative;
    padding: clamp(56px, 8vw, 112px) 0 clamp(40px, 5vw, 72px);
    background: var(--bg-dark);
    color: #fff;
    /* the header sits inside the centred column, so paint the dark band out to both screen edges */
    box-shadow: 0 0 0 100vmax var(--bg-dark);
    clip-path: inset(0 -100vmax);
}
body .page-header::after {
    content: "";
    display: block;
    width: 56px;
    height: 2px;
    margin-top: clamp(24px, 3vw, 36px);
    background: var(--gold);
}
body .page-header h1,
body .page-header .page-title {
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 5.4vw, 4.4rem);
    font-weight: 600;
    line-height: 1.04;
    letter-spacing: -0.02em;
    color: #fff;
    margin: 0 0 18px;
}
body .page-lede {
    max-width: 60ch;
    font-size: clamp(1.02rem, 1.3vw, 1.2rem);
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.78);
}

/* ---------- Contact ---------- */
body .contact-split-grid { gap: clamp(32px, 5vw, 80px); align-items: start; }
body .contact-split-info h2 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); font-weight: 600; line-height: 1.1; }
body .contact-split-sub { font-size: 1.05rem; line-height: 1.75; }
body .contact-split-details { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--border); }
body .contact-detail-label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: var(--gold-deep);
}
body .contact-split-form {
    padding: clamp(24px, 3vw, 44px);
    background: #fff;
    border: 1px solid var(--border);
    border-top: 3px solid var(--gold);
    border-radius: 6px;
    box-shadow: var(--shadow-lift);
}
body .contact-split-label { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
body .contact-split-field input,
body .contact-split-field textarea,
body .contact-split-field select {
    border-radius: 3px;
    padding: 0.85rem 1rem;
    transition: border-color 0.25s, box-shadow 0.25s;
}
body .contact-split-field input:focus,
body .contact-split-field textarea:focus,
body .contact-split-field select:focus {
    outline: 0;
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(196, 145, 58, 0.22);
}
body .contact-split-form .btn,
body .btn--solid {
    border-radius: 3px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-size: 0.82rem;
}
body .contact-split-form .btn--solid { background: var(--gold); color: #1C1410; min-height: 54px; }
body .contact-split-form .btn--solid:hover { background: var(--primary); color: #fff; }

/* ---------- Centred hero (books, free chapter) ---------- */
body .hero-centered .hero-headline { font-weight: 600; letter-spacing: -0.025em; line-height: 1.02; }
body .hero-centered .btn--solid { background: var(--gold); color: #1C1410; min-height: 54px; padding: 0.95rem 1.9rem; }
body .hero-eyebrow { letter-spacing: 0.22em; }

/* ---------- Blog index ---------- */
body .blog-index-header { padding: clamp(56px, 8vw, 112px) 0 clamp(36px, 5vw, 64px); background: var(--bg-dark); }
body .blog-index-header h1 {
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 5.4vw, 4.4rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #fff;
}
body .blog-index-body { background: var(--cream); padding-block: clamp(48px, 6vw, 96px); }
body .post-grid { gap: clamp(20px, 2.4vw, 32px); }
body .post-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 6px;
    transition: transform 0.35s var(--ease-smooth), box-shadow 0.35s var(--ease-smooth), border-color 0.35s;
}
body .post-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lift); border-color: #d9c4a3; }
body .post-card-img img { transition: transform 0.6s var(--ease-smooth); }
body .post-card:hover .post-card-img img { transform: scale(1.04); }
body .post-card-body { display: flex; flex-direction: column; flex: 1; padding: 24px 26px 28px; }
body .post-card-meta { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-deep); }
body .post-card-title { font-family: var(--font-display); font-size: 1.5rem; font-weight: 600; line-height: 1.2; }
body .post-card-read {
    margin-top: auto;
    padding-top: 18px;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--primary);
}
body .blog-pagination-info { letter-spacing: 0.14em; text-transform: uppercase; font-size: 0.74rem; }

/* ---------- Blog post ---------- */
body .post-hero { padding: clamp(56px, 8vw, 112px) 0 clamp(40px, 6vw, 72px); }
body .post-hero-eyebrow { display: inline-flex; align-items: center; gap: 12px; letter-spacing: 0.22em; color: var(--gold); }
body .post-hero-eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; }
body .post-hero-title { font-size: clamp(2.2rem, 4.8vw, 3.9rem); letter-spacing: -0.02em; line-height: 1.06; max-width: 20ch; }
body .post-hero-meta { letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.78rem; }
body .post-body .wrap { max-width: 860px; }
body .post-body h2 { color: var(--neutral-900); letter-spacing: -0.012em; }
body .post-body h2::before { content: ""; display: block; width: 36px; height: 2px; margin-bottom: 16px; background: var(--gold); }
body .post-body a { color: var(--gold-deep); text-decoration-thickness: 1px; text-underline-offset: 3px; }
body .post-body a:hover { color: var(--primary); }
body .post-body blockquote {
    border-left: 2px solid var(--gold);
    padding: 0.8em 0 0.8em 1.6em;
    margin: 2em 0;
    font-size: clamp(1.3rem, 2.2vw, 1.7rem);
    line-height: 1.4;
    color: var(--neutral-900);
}
body .post-body figure.post-inline-img img,
body .post-featured img { border-radius: 6px; }
body .post-back {
    font-size: 0.76rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--primary);
}

/* ---------- Legal and location article pages ---------- */
body .page-article { padding-block: clamp(48px, 6vw, 96px); }
body .page-article h2 { font-family: var(--font-display); font-weight: 600; letter-spacing: -0.012em; color: var(--neutral-900); }
body .page-article h2::before { content: ""; display: block; width: 36px; height: 2px; margin-bottom: 16px; background: var(--gold); }
body .page-article a { color: var(--gold-deep); text-underline-offset: 3px; }
body .page-article p,
body .page-article li { line-height: 1.8; }

/* ---------- FAQ and process steps (about, programmes) ---------- */
body .faq-item { border-bottom: 1px solid var(--border); }
body .faq-question { font-family: var(--font-display); font-size: 1.25rem; font-weight: 600; }
body .process-step-number { color: var(--gold); border-color: var(--gold); }
body .process-step-title { font-family: var(--font-display); font-weight: 600; font-size: 1.35rem; }

/* ---------- Footer ---------- */
body .site-footer { border-top: 3px solid var(--gold); }
body .footer-col-heading { color: var(--gold); letter-spacing: 0.2em; }
body .footer-nav-link { transition: color 0.2s, padding-left 0.25s var(--ease-smooth); }
body .footer-nav-link:hover { color: var(--gold); padding-left: 6px; }
body .footer-social-link { transition: border-color 0.2s, color 0.2s, transform 0.25s var(--ease-smooth); }
body .footer-social-link:hover { border-color: var(--gold); color: var(--gold); transform: translateY(-3px); }

@media (prefers-reduced-motion: reduce) {
    body .post-card, body .post-card-img img, body .footer-nav-link, body .footer-social-link { transition: none; }
}
