
/*
Theme Name: Earthly Treasures True Mockup
Theme URI: https://example.com/
Author: OpenAI
Description: WordPress theme rebuilt directly from the Earthly Treasures Codex mockups.
Version: 1.0.0
Text Domain: earthly-treasures-true
*/
/* home */
:root {
        --ivory: #fff9e8;
        --sand: #f3e2a1;
        --charcoal: #3d3120;
        --olive: #8c9b4f;
        --gold: #e0ad17;
        --white: #fffdf9;
        --shadow: 0 18px 45px rgba(60, 52, 46, 0.12);
        --radius: 24px;
        --content: 1160px;
      }

      * { box-sizing: border-box; }

      body {
        margin: 0;
        font-family: "Segoe UI", Arial, sans-serif;
        color: var(--charcoal);
        background: linear-gradient(180deg, #fffdf4, #f9edc8);
      }

      h1, h2, h3 {
        font-family: Georgia, "Times New Roman", serif;
        font-weight: 500;
        line-height: 1.05;
        margin: 0 0 0.75rem;
      }

      p { line-height: 1.65; margin: 0; }

      .shell {
        width: min(var(--content), calc(100% - 2rem));
        margin: 0 auto;
      }

      .site-header {
        position: sticky;
        top: 0;
        z-index: 10;
        background: rgba(251, 248, 239, 0.95);
        backdrop-filter: blur(12px);
        border-bottom: 1px solid rgba(60, 52, 46, 0.08);
      }

      .nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 88px;
        gap: 1rem;
      }

      .brand {
        display: flex;
        align-items: center;
        gap: 0.9rem;
      }

      .brand-logo {
        width: auto;
        height: 72px;
        display: block;
      }

      .hero-logo {
        width: min(100%, 340px);
        height: auto;
        display: block;
        margin-bottom: 1rem;
      }

      .nav-links {
        display: flex;
        gap: 1.2rem;
        align-items: center;
        color: rgba(60, 52, 46, 0.78);
      }

      .btn, .btn-soft {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        padding: 0.95rem 1.35rem;
        text-decoration: none;
        font-weight: 600;
      }

      .btn {
        background: linear-gradient(135deg, #e0ad17, #efc33f);
        color: #3b2c10;
        box-shadow: var(--shadow);
      }

      .btn-soft {
        background: rgba(224, 173, 23, 0.16);
        color: var(--charcoal);
        border: 1px solid rgba(224, 173, 23, 0.38);
      }

      .hero {
        padding: 4.5rem 0 3rem;
      }

      .hero-grid, .split, .services, .gallery, .trust, .testimonials {
        display: grid;
        gap: 1.4rem;
      }

      .hero-grid, .split {
        grid-template-columns: 1.05fr 0.95fr;
        align-items: center;
      }

      .eyebrow {
        display: inline-flex;
        padding: 0.45rem 0.8rem;
        border-radius: 999px;
        background: rgba(224, 173, 23, 0.18);
        color: var(--gold);
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-size: 0.78rem;
      }

      .hero h1 {
        font-size: clamp(3rem, 6vw, 5.4rem);
        max-width: 10ch;
      }

      .hero p {
        font-size: 1.16rem;
        max-width: 58ch;
        color: rgba(60, 52, 46, 0.78);
      }

      .hero-actions {
        display: flex;
        gap: 1rem;
        margin-top: 1.7rem;
        flex-wrap: wrap;
      }

      .hero-visual,
      .card,
      .quote-card,
      .newsletter {
        background: rgba(255, 253, 249, 0.88);
        border-radius: var(--radius);
        box-shadow: var(--shadow);
        border: 1px solid rgba(60, 52, 46, 0.08);
      }

      .hero-visual {
        min-height: 520px;
        padding: 1.1rem;
        background:
          linear-gradient(180deg, rgba(255,255,255,0.2), rgba(255,255,255,0)),
          linear-gradient(135deg, #f1d061, #fff5d1 44%, #e3ebbe 100%);
      }

      .visual-frame {
        height: 100%;
        border-radius: 22px;
        background:
          linear-gradient(180deg, rgba(255,255,255,0.44), rgba(255,255,255,0.08)),
          linear-gradient(135deg, #e9c14b, #fff0bf 46%, #cddd9d 100%);
        position: relative;
        overflow: hidden;
        padding: 1.6rem;
      }

      .visual-badge {
        position: absolute;
        top: 1.2rem;
        left: 1.2rem;
        padding: 0.7rem 0.95rem;
        border-radius: 999px;
        background: rgba(255,255,255,0.88);
        font-size: 0.86rem;
        color: var(--charcoal);
      }

      .visual-card {
        position: absolute;
        inset: auto 1.2rem 1.2rem 1.2rem;
        padding: 1.2rem;
        border-radius: 20px;
        background: rgba(255,255,255,0.82);
      }

      .image-placeholder {
        position: absolute;
        inset: 1.25rem;
        border-radius: 20px;
        border: 2px dashed rgba(61, 49, 32, 0.18);
        background:
          linear-gradient(180deg, rgba(255,255,255,0.28), rgba(255,255,255,0.08)),
          linear-gradient(135deg, rgba(255,255,255,0.18), rgba(255,255,255,0.02));
        display: grid;
        place-items: center;
      }

      .image-placeholder-inner {
        text-align: center;
        padding: 1.2rem;
        max-width: 280px;
      }

      .image-placeholder-inner strong {
        display: block;
        font-size: 1.2rem;
        margin-bottom: 0.4rem;
        font-family: Georgia, "Times New Roman", serif;
      }

      .image-placeholder-inner span {
        color: rgba(61, 49, 32, 0.72);
        line-height: 1.5;
      }

      .section {
        padding: 2.5rem 0;
      }

      .section-heading {
        max-width: 720px;
        margin-bottom: 1.35rem;
      }

      .section-heading h2 {
        font-size: clamp(2.2rem, 4vw, 3.4rem);
      }

      .section-heading p {
        color: rgba(60, 52, 46, 0.75);
      }

      .services, .gallery, .trust, .testimonials {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .trust {
        grid-template-columns: repeat(4, minmax(0, 1fr));
      }

      .card, .quote-card, .newsletter {
        padding: 1.5rem;
      }

      .card h3, .quote-card h3 {
        font-size: 1.45rem;
      }

      .card p, .quote-card p {
        color: rgba(60, 52, 46, 0.78);
      }

      .service-icon, .trust-icon {
        width: 48px;
        height: 48px;
        border-radius: 14px;
        display: grid;
        place-items: center;
        background: rgba(224, 173, 23, 0.18);
        color: var(--gold);
        font-weight: 700;
        margin-bottom: 1rem;
      }

      .image-card {
        min-height: 280px;
        border-radius: 24px;
        overflow: hidden;
        background:
          linear-gradient(180deg, rgba(255,255,255,0), rgba(60,52,46,0.22)),
          linear-gradient(135deg, #efc94d, #f8ebaf 46%, #dbe5b1 100%);
        position: relative;
      }

      .image-card span {
        position: absolute;
        left: 1rem;
        bottom: 1rem;
        padding: 0.7rem 0.9rem;
        background: rgba(255,255,255,0.86);
        border-radius: 16px;
        font-weight: 600;
      }

      .newsletter {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: 1.5rem;
        background: linear-gradient(135deg, #dca315, #e8ba35);
        color: var(--white);
      }

      .newsletter p {
        color: rgba(59,44,16,0.82);
      }

      .newsletter .btn-soft {
        background: rgba(255,255,255,0.28);
        border-color: rgba(255,255,255,0.34);
        color: #3b2c10;
      }

      .cta {
        text-align: center;
        padding: 3rem 0 4rem;
      }

      .footer {
        background: #2f2924;
        color: rgba(255,255,255,0.9);
        padding: 2rem 0;
      }

      .footer-grid {
        display: flex;
        justify-content: space-between;
        gap: 1rem;
        align-items: center;
      }

      .footer-grid p {
        color: rgba(255,255,255,0.68);
      }

      @media (max-width: 980px) {
        .hero-grid,
        .split,
        .services,
        .gallery,
        .trust,
        .testimonials,
        .newsletter {
          grid-template-columns: 1fr;
        }

        .nav {
          flex-direction: column;
          align-items: flex-start;
          padding: 1rem 0;
        }
      }

/* steps */
:root {
        --ivory: #fff9e8;
        --sand: #f4e2a2;
        --gold: #dfa913;
        --gold-soft: #f4d36a;
        --olive: #8d9b52;
        --charcoal: #3b3020;
        --white: #fffdf8;
        --shadow: 0 20px 48px rgba(59, 48, 32, 0.1);
        --line: rgba(59, 48, 32, 0.1);
        --content: 1140px;
      }

      * { box-sizing: border-box; }

      body {
        margin: 0;
        font-family: "Segoe UI", Arial, sans-serif;
        color: var(--charcoal);
        background: linear-gradient(180deg, #fffdf4, #f9efcf);
      }

      h1, h2, h3 {
        margin: 0 0 0.75rem;
        font-family: Georgia, "Times New Roman", serif;
        font-weight: 500;
        line-height: 1.08;
      }

      p {
        margin: 0;
        line-height: 1.7;
        color: rgba(59, 48, 32, 0.78);
      }

      .shell {
        width: min(var(--content), calc(100% - 2rem));
        margin: 0 auto;
      }

      .hero {
        padding: 4.5rem 0 2.5rem;
      }

      .hero-grid,
      .step-grid,
      .cta-band {
        display: grid;
        gap: 1.5rem;
        align-items: center;
      }

      .hero-grid {
        grid-template-columns: 1fr 0.92fr;
      }

      .eyebrow {
        display: inline-flex;
        padding: 0.45rem 0.8rem;
        border-radius: 999px;
        background: rgba(223, 169, 19, 0.14);
        color: #9b6d00;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-size: 0.8rem;
      }

      .hero h1 {
        font-size: clamp(2.8rem, 5vw, 4.9rem);
        max-width: 10ch;
      }

      .hero-copy p {
        max-width: 58ch;
      }

      .hero-card,
      .step-card,
      .cta-band {
        background: rgba(255, 253, 248, 0.88);
        border-radius: 28px;
        border: 1px solid var(--line);
        box-shadow: var(--shadow);
      }

      .hero-card {
        min-height: 420px;
        padding: 1.25rem;
        background:
          linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0)),
          linear-gradient(135deg, #f0ca55, #fff3cb 46%, #dbe4b8 100%);
      }

      .placeholder {
        height: 100%;
        border-radius: 22px;
        border: 2px dashed rgba(59, 48, 32, 0.16);
        display: grid;
        place-items: center;
        text-align: center;
        padding: 1.5rem;
      }

      .placeholder strong {
        display: block;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 1.35rem;
        margin-bottom: 0.45rem;
      }

      .section {
        padding: 2rem 0;
      }

      .section-heading {
        max-width: 720px;
        margin-bottom: 1.35rem;
      }

      .section-heading h2 {
        font-size: clamp(2rem, 4vw, 3.2rem);
      }

      .step-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .step-card {
        padding: 1.5rem;
        display: grid;
        gap: 0.75rem;
      }

      .step-number {
        width: 52px;
        height: 52px;
        border-radius: 16px;
        display: grid;
        place-items: center;
        background: linear-gradient(135deg, var(--gold), var(--gold-soft));
        color: #4c3300;
        font-weight: 700;
      }

      .step-card h3 {
        font-size: 1.55rem;
      }

      .step-card ul {
        margin: 0;
        padding-left: 1.1rem;
        color: rgba(59, 48, 32, 0.78);
        line-height: 1.65;
      }

      .cta-band {
        grid-template-columns: 1fr auto;
        padding: 1.8rem;
        margin: 1.5rem 0 3rem;
        background: linear-gradient(135deg, #dca51e, #e7bf4d);
        color: #3b2c10;
      }

      .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        padding: 0.95rem 1.4rem;
        text-decoration: none;
        background: rgba(255,255,255,0.26);
        color: #3b2c10;
        border: 1px solid rgba(255,255,255,0.34);
        font-weight: 600;
      }

      @media (max-width: 900px) {
        .hero-grid,
        .step-grid,
        .cta-band {
          grid-template-columns: 1fr;
        }
      }

/* team */
:root {
        --ivory: #fff9e8;
        --sand: #f4e2a2;
        --gold: #dfa913;
        --gold-soft: #f4d36a;
        --olive: #8d9b52;
        --charcoal: #3b3020;
        --white: #fffdf8;
        --shadow: 0 20px 48px rgba(59, 48, 32, 0.1);
        --line: rgba(59, 48, 32, 0.1);
        --content: 1140px;
      }

      * { box-sizing: border-box; }

      body {
        margin: 0;
        font-family: "Segoe UI", Arial, sans-serif;
        color: var(--charcoal);
        background: linear-gradient(180deg, #fffdf4, #f9efcf);
      }

      h1, h2, h3 {
        margin: 0 0 0.75rem;
        font-family: Georgia, "Times New Roman", serif;
        font-weight: 500;
        line-height: 1.08;
      }

      p {
        margin: 0;
        line-height: 1.7;
        color: rgba(59, 48, 32, 0.78);
      }

      .shell {
        width: min(var(--content), calc(100% - 2rem));
        margin: 0 auto;
      }

      .hero {
        padding: 4.5rem 0 2.5rem;
      }

      .hero-grid,
      .team-grid,
      .values-grid,
      .cta-band {
        display: grid;
        gap: 1.5rem;
      }

      .hero-grid {
        grid-template-columns: 1fr 0.92fr;
        align-items: center;
      }

      .eyebrow {
        display: inline-flex;
        padding: 0.45rem 0.8rem;
        border-radius: 999px;
        background: rgba(223, 169, 19, 0.14);
        color: #9b6d00;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-size: 0.8rem;
      }

      .hero h1 {
        font-size: clamp(2.8rem, 5vw, 4.9rem);
        max-width: 10ch;
      }

      .hero-copy p {
        max-width: 58ch;
      }

      .hero-card,
      .team-card,
      .value-card,
      .cta-band {
        background: rgba(255, 253, 248, 0.88);
        border-radius: 28px;
        border: 1px solid var(--line);
        box-shadow: var(--shadow);
      }

      .hero-card {
        min-height: 430px;
        padding: 1.25rem;
        background:
          linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0)),
          linear-gradient(135deg, #f0ca55, #fff3cb 46%, #dbe4b8 100%);
      }

      .placeholder {
        height: 100%;
        border-radius: 22px;
        border: 2px dashed rgba(59, 48, 32, 0.16);
        display: grid;
        place-items: center;
        text-align: center;
        padding: 1.5rem;
      }

      .placeholder strong {
        display: block;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 1.35rem;
        margin-bottom: 0.45rem;
      }

      .section {
        padding: 2rem 0;
      }

      .section-heading {
        max-width: 760px;
        margin-bottom: 1.35rem;
      }

      .section-heading h2 {
        font-size: clamp(2rem, 4vw, 3.2rem);
      }

      .team-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .team-card,
      .value-card {
        padding: 1.5rem;
      }

      .team-photo {
        height: 240px;
        margin-bottom: 1.2rem;
        border-radius: 20px;
        border: 2px dashed rgba(59, 48, 32, 0.16);
        background:
          linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0)),
          linear-gradient(135deg, #f2d16d, #fff4d0 48%, #d9e2b5 100%);
        display: grid;
        place-items: center;
        text-align: center;
        padding: 1rem;
      }

      .team-photo span {
        max-width: 180px;
        line-height: 1.5;
        color: rgba(59, 48, 32, 0.72);
      }

      .team-card h3 {
        font-size: 1.6rem;
      }

      .role {
        display: inline-block;
        margin-bottom: 0.8rem;
        color: #8b6300;
        font-weight: 600;
      }

      .values-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .value-icon {
        width: 52px;
        height: 52px;
        margin-bottom: 1rem;
        border-radius: 16px;
        display: grid;
        place-items: center;
        background: linear-gradient(135deg, var(--gold), var(--gold-soft));
        color: #4c3300;
        font-weight: 700;
      }

      .value-card h3 {
        font-size: 1.45rem;
      }

      .cta-band {
        grid-template-columns: 1fr auto;
        padding: 1.8rem;
        margin: 1.5rem 0 3rem;
        background: linear-gradient(135deg, #dca51e, #e7bf4d);
        color: #3b2c10;
        align-items: center;
      }

      .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        padding: 0.95rem 1.4rem;
        text-decoration: none;
        background: rgba(255,255,255,0.26);
        color: #3b2c10;
        border: 1px solid rgba(255,255,255,0.34);
        font-weight: 600;
      }

      @media (max-width: 980px) {
        .hero-grid,
        .team-grid,
        .values-grid,
        .cta-band {
          grid-template-columns: 1fr;
        }
      }

/* faq */
:root {
        --ivory: #fff9e8;
        --sand: #f4e2a2;
        --gold: #dfa913;
        --gold-soft: #f4d36a;
        --olive: #8d9b52;
        --charcoal: #3b3020;
        --white: #fffdf8;
        --shadow: 0 20px 48px rgba(59, 48, 32, 0.1);
        --line: rgba(59, 48, 32, 0.1);
        --content: 1100px;
      }

      * { box-sizing: border-box; }

      body {
        margin: 0;
        font-family: "Segoe UI", Arial, sans-serif;
        color: var(--charcoal);
        background: linear-gradient(180deg, #fffdf4, #f9efcf);
      }

      h1, h2, h3 {
        margin: 0 0 0.75rem;
        font-family: Georgia, "Times New Roman", serif;
        font-weight: 500;
        line-height: 1.08;
      }

      p {
        margin: 0;
        line-height: 1.7;
        color: rgba(59, 48, 32, 0.78);
      }

      .shell {
        width: min(var(--content), calc(100% - 2rem));
        margin: 0 auto;
      }

      .hero {
        padding: 4.5rem 0 2.5rem;
      }

      .hero-grid,
      .faq-list,
      .cta-band {
        display: grid;
        gap: 1.5rem;
      }

      .hero-grid {
        grid-template-columns: 1fr 0.9fr;
        align-items: center;
      }

      .eyebrow {
        display: inline-flex;
        padding: 0.45rem 0.8rem;
        border-radius: 999px;
        background: rgba(223, 169, 19, 0.14);
        color: #9b6d00;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-size: 0.8rem;
      }

      .hero h1 {
        font-size: clamp(2.8rem, 5vw, 4.8rem);
        max-width: 10ch;
      }

      .hero-copy p {
        max-width: 58ch;
      }

      .hero-card,
      .faq-card,
      .cta-band {
        background: rgba(255, 253, 248, 0.88);
        border-radius: 28px;
        border: 1px solid var(--line);
        box-shadow: var(--shadow);
      }

      .hero-card {
        min-height: 420px;
        padding: 1.25rem;
        background:
          linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0)),
          linear-gradient(135deg, #f0ca55, #fff3cb 46%, #dbe4b8 100%);
      }

      .placeholder {
        height: 100%;
        border-radius: 22px;
        border: 2px dashed rgba(59, 48, 32, 0.16);
        display: grid;
        place-items: center;
        text-align: center;
        padding: 1.5rem;
      }

      .placeholder strong {
        display: block;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 1.35rem;
        margin-bottom: 0.45rem;
      }

      .section {
        padding: 2rem 0;
      }

      .section-heading {
        max-width: 760px;
        margin-bottom: 1.35rem;
      }

      .section-heading h2 {
        font-size: clamp(2rem, 4vw, 3.2rem);
      }

      .faq-card {
        padding: 1.5rem;
      }

      .faq-card h3 {
        font-size: 1.45rem;
      }

      .faq-tag {
        display: inline-flex;
        margin-bottom: 0.95rem;
        padding: 0.35rem 0.7rem;
        border-radius: 999px;
        background: rgba(223, 169, 19, 0.12);
        color: #8b6300;
        font-size: 0.78rem;
        letter-spacing: 0.06em;
        text-transform: uppercase;
      }

      .cta-band {
        grid-template-columns: 1fr auto;
        padding: 1.8rem;
        margin: 1.5rem 0 3rem;
        background: linear-gradient(135deg, #dca51e, #e7bf4d);
        color: #3b2c10;
        align-items: center;
      }

      .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        padding: 0.95rem 1.4rem;
        text-decoration: none;
        background: rgba(255,255,255,0.26);
        color: #3b2c10;
        border: 1px solid rgba(255,255,255,0.34);
        font-weight: 600;
      }

      @media (max-width: 900px) {
        .hero-grid,
        .cta-band {
          grid-template-columns: 1fr;
        }
      }

/* contact */
:root {
        --ivory: #fff9e8;
        --sand: #f4e2a2;
        --gold: #dfa913;
        --gold-soft: #f4d36a;
        --olive: #8d9b52;
        --charcoal: #3b3020;
        --white: #fffdf8;
        --shadow: 0 20px 48px rgba(59, 48, 32, 0.1);
        --line: rgba(59, 48, 32, 0.1);
        --content: 1120px;
      }

      * { box-sizing: border-box; }

      body {
        margin: 0;
        font-family: "Segoe UI", Arial, sans-serif;
        color: var(--charcoal);
        background: linear-gradient(180deg, #fffdf4, #f9efcf);
      }

      h1, h2, h3 {
        margin: 0 0 0.75rem;
        font-family: Georgia, "Times New Roman", serif;
        font-weight: 500;
        line-height: 1.08;
      }

      p {
        margin: 0;
        line-height: 1.7;
        color: rgba(59, 48, 32, 0.78);
      }

      .shell {
        width: min(var(--content), calc(100% - 2rem));
        margin: 0 auto;
      }

      .hero,
      .section {
        padding: 2.5rem 0;
      }

      .hero {
        padding-top: 4.5rem;
      }

      .hero-grid,
      .contact-grid,
      .expect-grid,
      .cta-band {
        display: grid;
        gap: 1.5rem;
      }

      .hero-grid,
      .contact-grid {
        grid-template-columns: 1fr 0.95fr;
        align-items: center;
      }

      .expect-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .eyebrow {
        display: inline-flex;
        padding: 0.45rem 0.8rem;
        border-radius: 999px;
        background: rgba(223, 169, 19, 0.14);
        color: #9b6d00;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-size: 0.8rem;
      }

      .hero h1 {
        font-size: clamp(2.8rem, 5vw, 4.8rem);
        max-width: 10ch;
      }

      .hero-copy p {
        max-width: 58ch;
      }

      .card,
      .form-card,
      .expect-card,
      .cta-band {
        background: rgba(255, 253, 248, 0.88);
        border-radius: 28px;
        border: 1px solid var(--line);
        box-shadow: var(--shadow);
      }

      .card,
      .form-card,
      .expect-card {
        padding: 1.5rem;
      }

      .hero-visual {
        min-height: 390px;
        background:
          linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0)),
          linear-gradient(135deg, #f0ca55, #fff3cb 46%, #dbe4b8 100%);
      }

      .placeholder {
        height: 100%;
        border-radius: 22px;
        border: 2px dashed rgba(59, 48, 32, 0.16);
        display: grid;
        place-items: center;
        text-align: center;
        padding: 1.5rem;
      }

      .placeholder strong {
        display: block;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 1.35rem;
        margin-bottom: 0.45rem;
      }

      .section-heading {
        max-width: 760px;
        margin-bottom: 1.35rem;
      }

      .section-heading h2 {
        font-size: clamp(2rem, 4vw, 3.2rem);
      }

      .form-placeholder {
        margin-top: 1.2rem;
        padding: 1.25rem;
        border-radius: 20px;
        border: 2px dashed rgba(59, 48, 32, 0.16);
        background: rgba(255,255,255,0.5);
      }

      .field {
        margin-bottom: 0.85rem;
        padding: 0.95rem 1rem;
        border-radius: 14px;
        background: rgba(255,255,255,0.86);
        border: 1px solid rgba(59, 48, 32, 0.08);
        color: rgba(59, 48, 32, 0.56);
      }

      .field.large {
        min-height: 120px;
      }

      .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        padding: 0.95rem 1.4rem;
        text-decoration: none;
        background: linear-gradient(135deg, var(--gold), var(--gold-soft));
        color: #4c3300;
        font-weight: 600;
      }

      .small-note {
        margin-top: 0.9rem;
        font-size: 0.95rem;
        color: rgba(59, 48, 32, 0.68);
      }

      .expect-card h3,
      .card h3 {
        font-size: 1.4rem;
      }

      .icon {
        width: 52px;
        height: 52px;
        margin-bottom: 1rem;
        border-radius: 16px;
        display: grid;
        place-items: center;
        background: linear-gradient(135deg, var(--gold), var(--gold-soft));
        color: #4c3300;
        font-weight: 700;
      }

      .cta-band {
        grid-template-columns: 1fr auto;
        padding: 1.8rem;
        margin: 1.5rem 0 3rem;
        background: linear-gradient(135deg, #dca51e, #e7bf4d);
        color: #3b2c10;
        align-items: center;
      }

      .cta-band .btn {
        background: rgba(255,255,255,0.26);
        border: 1px solid rgba(255,255,255,0.34);
      }

      @media (max-width: 960px) {
        .hero-grid,
        .contact-grid,
        .expect-grid,
        .cta-band {
          grid-template-columns: 1fr;
        }
      }

html { scroll-behavior: smooth; }
a { color: inherit; }
img { max-width: 100%; height: auto; }
.site-header .nav-links a, .footer a { text-decoration: none; }
.site-header .nav-links a:hover, .footer a:hover { opacity: .8; }
.current-menu-item > a { font-weight: 700; }
.wp-site-blocks { padding: 0; }
main { display:block; }
.screen-reader-text{position:absolute;left:-9999px;}
.admin-bar .site-header{ top:32px; }
@media (max-width: 782px) { .admin-bar .site-header{ top:46px; } }

/* WordPress menu alignment */
.nav-links ul { list-style:none; margin:0; padding:0; display:flex; gap:1.2rem; align-items:center; }
.nav-links li { margin:0; }
.nav-links .menu-item-has-children{ position:relative; }
.nav-links .sub-menu { display:none; position:absolute; top:100%; left:0; background:rgba(251,248,239,.98); padding:.75rem; border-radius:16px; min-width:220px; box-shadow:0 10px 24px rgba(0,0,0,.08); }
.nav-links li:hover > .sub-menu { display:block; }
.nav-links .sub-menu li { display:block; margin:.35rem 0; }

/* Generic helpers for auto-created pages */
.page-template-default .entry-content, .page-template-page-services .entry-content, .page-template-page-gallery .entry-content { margin:0; }

/* Responsive navigation fallback */
@media (max-width: 960px) {
  .nav { flex-direction: column; align-items: flex-start; padding: 1rem 0; }
  .nav-links, .nav-links ul { flex-wrap: wrap; }
}
@media (max-width: 820px) {

  .hero-grid, .split, .services, .gallery, .trust, .testimonials,
  .step-grid, .team-grid, .values-grid, .faq-list, .contact-grid, .expect-grid, .cta-band {
    grid-template-columns: 1fr !important;
  }
}

.custom-logo-link img, .brand img { width: auto; height: 72px; display:block; }
