      :root {
        color-scheme: light;
        --chartreuse: #adbb1f;
        --chartreuse-dark: #96a619;
        --black: #000000;
        --ink: #141414;
        --gray-text: #5c5c5c;
        --white: #ffffff;
        --cream: #fdfbf5;
        --card: #d9dfe7;
        --card-line: #c3ccd8;
        --blue: #2b6bf3;
        --gold: #b89b5e;
        --red: #d8232a;
        --band-gray: #e9e9e9;
        --shadow: 0 16px 38px rgba(0, 0, 0, 0.16);
        --radius-card: 22px;
      }

      * { box-sizing: border-box; }
      html { scroll-behavior: smooth; }
      body {
        margin: 0;
        background: var(--white);
        color: var(--ink);
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: 17px;
        line-height: 1.6;
      }
      img { max-width: 100%; display: block; }
      a { color: var(--blue); }
      .condensed {
        font-family: "Anton", "Arial Narrow", sans-serif;
        font-weight: 400; text-transform: uppercase; letter-spacing: 0.015em;
      }
      .script { font-family: "Great Vibes", cursive; font-weight: 400; }
      .serif-caps {
        font-family: "Cormorant Garamond", Georgia, serif;
        text-transform: uppercase; letter-spacing: 0.34em; font-weight: 600;
      }
      .wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px; }

      /* ---------- Pages (multi-page routing) ---------- */
      .page[hidden] { display: none; }

      /* ---------- Preloader ---------- */
      .preloader {
        position: fixed; inset: 0; z-index: 200;
        background: var(--cream);
        display: flex; flex-direction: column; align-items: center; justify-content: center;
        gap: 10px; padding: 24px; text-align: center;
        transition: opacity 0.55s ease, visibility 0.55s ease;
      }
      .preloader.done { opacity: 0; visibility: hidden; pointer-events: none; }
      .preloader .pl-script { font-size: 3.4rem; color: var(--ink); line-height: 1; }
      .preloader .pl-caps { font-size: 0.8rem; color: var(--ink); margin-top: -6px; }
      .spinner {
        width: 46px; height: 46px; margin: 20px 0 14px; border-radius: 50%;
        border: 4px solid rgba(184, 155, 94, 0.25); border-top-color: var(--gold);
        animation: spin 0.9s linear infinite;
      }
      @keyframes spin { to { transform: rotate(360deg); } }
      .preloader blockquote {
        font-family: "Cormorant Garamond", Georgia, serif; font-style: italic;
        font-size: 1.15rem; color: #555; margin: 0; max-width: 30rem;
      }

      /* ---------- Header ---------- */
      .site-header {
        position: sticky; top: 0; z-index: 100;
        background: var(--white);
        box-shadow: 0 1px 0 rgba(0, 0, 0, 0.07), 0 6px 18px rgba(0, 0, 0, 0.05);
      }
      .header-inner {
        display: flex; align-items: center; justify-content: space-between;
        gap: 20px; max-width: 1280px; margin: 0 auto; padding: 14px 24px;
      }
      .wordmark { text-decoration: none; color: var(--ink); line-height: 1; flex-shrink: 0; }
      .wordmark .wm-script { font-size: 2.9rem; display: block; padding-right: 12px; }
      .wordmark .wm-caps { font-size: 0.74rem; display: block; margin-top: 2px; }
      .main-nav { display: flex; align-items: center; gap: 2px; }
      .main-nav a {
        color: var(--ink); text-decoration: none; font-weight: 700;
        font-size: 1.12rem; padding: 12px 14px; position: relative; white-space: nowrap;
      }
      .main-nav a:hover { color: var(--chartreuse-dark); }
      .main-nav a.active { color: var(--red); }
      .main-nav a.active::after {
        content: ""; position: absolute; left: 50%; bottom: 2px;
        width: 7px; height: 7px; margin-left: -3.5px; border-radius: 50%;
        background: var(--red);
      }
      .main-nav a.nav-cta {
        background: var(--blue); color: var(--white);
        border-radius: 999px; padding: 13px 26px; margin-left: 14px; font-size: 1.08rem;
      }
      .main-nav a.nav-cta:hover { background: #1d56d6; color: var(--white); }
      .menu-btn {
        display: none; background: var(--white); border: 2px solid var(--ink);
        color: var(--ink); border-radius: 8px; padding: 9px 16px;
        font: inherit; font-weight: 700; font-size: 1rem; cursor: pointer;
      }

      /* ---------- Buttons ---------- */
      .btn {
        display: inline-block; text-decoration: none; font-weight: 700;
        padding: 15px 36px; border-radius: 999px; font-size: 1.02rem;
        border: none; cursor: pointer; font-family: inherit; text-align: center;
        transition: background 0.15s ease, transform 0.15s ease;
      }
      .btn:hover { transform: translateY(-2px); }
      .btn-chartreuse { background: var(--chartreuse); color: var(--black); }
      .btn-chartreuse:hover { background: var(--chartreuse-dark); }
      .btn-block { width: 100%; }

      /* ---------- Hero (layered: portrait background + signature overlay) ---------- */
      .hero {
        position: relative; overflow: hidden; isolation: isolate;
        background:
          radial-gradient(120% 90% at 20% 0%, rgba(70, 140, 160, 0.35), transparent 55%),
          #0a2836;
        min-height: min(94vh, 980px);
        display: flex; align-items: center; justify-content: center;
        padding: 48px 24px;
      }
      .hero-bgwrap {
        position: absolute; inset: 0; z-index: 0;
        will-change: transform;
      }
      .hero-bg {
        /* True background-removed cut-out (owner's new portrait). Height is
           locked to the hero's own height plus a 12px overscan past the
           bottom edge, so the figure fills down to EXACTLY the hero's bottom
           edge — no backdrop gap below at any viewport, even mid-parallax —
           while the top of the frame stays exactly as approved: the head
           keeps clear headroom and the max-width cap leaves space at both
           sides, so nothing is cropped. No bottom fade or gradient (owner
           request): the photo sits cleanly on the flat backdrop. */
        position: absolute; left: 50%; bottom: -12px;
        transform: translateX(-50%);
        width: auto; height: calc(100% + 12px);
        max-width: min(700px, 94%);
      }
      .hero-scrim {
        position: absolute; inset: 0; z-index: 1; pointer-events: none;
        background:
          radial-gradient(90% 55% at 50% 58%, rgba(4, 20, 28, 0.38), transparent 70%);
      }
      .hero-lockup {
        /* Dropped well below center (owner's red-line level: under GORDON,
           around the waist/hands). The hero's flex centering centers the
           margin box, so the visible drop is half the margin-top. */
        position: relative; z-index: 2; margin: 224px 0 0;
        width: min(1080px, 92vw);
        will-change: transform, opacity;
      }
      .hero-lockup img {
        width: 100%; height: auto;
        filter: drop-shadow(0 6px 26px rgba(0, 0, 0, 0.45));
        animation: heroRise 1.15s cubic-bezier(0.22, 0.61, 0.21, 1) 0.45s both;
      }
      @keyframes heroRise {
        from { opacity: 0; transform: translateY(30px) scale(0.985); }
        to { opacity: 1; transform: translateY(0) scale(1); }
      }

      /* ---------- Invite ---------- */
      .invite {
        background-color: #060606;
        background-image:
          radial-gradient(70% 120% at 50% 0%, rgba(255, 255, 255, 0.09), transparent 60%),
          radial-gradient(45% 60% at 88% 90%, rgba(255, 255, 255, 0.05), transparent 60%),
          radial-gradient(35% 45% at 8% 85%, rgba(255, 255, 255, 0.04), transparent 60%);
        color: var(--white); text-align: center; padding: 92px 0;
      }
      .invite.band { padding: 76px 0; }
      .invite h2 {
        font-size: clamp(2.1rem, 5vw, 3.4rem); line-height: 1.12; margin: 0 0 24px;
      }
      .invite p {
        max-width: 46rem; margin: 0 auto 38px; font-size: 1.1rem; color: #e8e8e8;
      }

      /* ---------- Photo band (3rd section: FIXED-background portrait) ---------- */
      /* The cut-out portrait stays FIXED relative to the viewport while the
         page scrolls past it — the reference site's effect. Two paths:
         (1) desktop/verified: native background-attachment: fixed;
         (2) touch devices + iOS (which ignore background-attachment: fixed):
         a JS-driven fixed layer (.photo-band-fixed, added by layout.js)
         pinned with position: fixed and clipped to this section's visible
         rect via clip-path, updated on scroll (rAF). background-size:
         contain keeps the WHOLE figure visible (never cropped, never
         zoomed), centered, on the band's light-gray ground. */
      .photo-band {
        position: relative;
        isolation: isolate;
        background-color: var(--band-gray);
        background-image: url("https://kingdomkeys1on1.com/wp-content/uploads/2026/10/WhatsApp-Image-2026-10-24-at-7.45.32-PM.jpeg");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: contain;
        background-attachment: fixed;
        min-height: 96vh;
      }
      /* JS fixed layer (touch/iOS path). Hidden until layout.js activates it.
         position: fixed is viewport-relative here (no transformed ancestor);
         clip-path (set inline by JS) confines it to this section's rect so it
         can never cover the nav, adjacent sections, or the footer. */
      .photo-band-fixed {
        position: fixed;
        inset: 0;
        z-index: 0;
        background: url("https://kingdomkeys1on1.com/wp-content/uploads/2026/10/WhatsApp-Image-2026-10-24-at-7.45.32-PM.jpeg") no-repeat center center / contain;
        pointer-events: none;
        visibility: hidden;
      }
      .photo-band-fixed.on { visibility: visible; }
      /* When the JS layer is active the native background is hidden to avoid
         a doubled image; without JS the scrolling native background remains
         as the fallback. */
      .photo-band.pb-jsfixed { background-image: none; }

      /* ---------- Sections ---------- */
      section { padding: 88px 0; }
      .sec-title {
        font-size: clamp(2rem, 4.4vw, 3rem); line-height: 1.1; margin: 0 0 18px;
      }
      .sec-title.center { text-align: center; }
      .sec-sub { color: var(--gray-text); max-width: 42rem; }
      .sec-sub.center { margin-left: auto; margin-right: auto; text-align: center; }

      /* About */
      .about-grid {
        display: grid; grid-template-columns: 0.92fr 1.08fr;
        gap: 60px; align-items: center;
      }
      .about-photo img {
        width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 5;
      }
      .about-copy p { margin: 0 0 16px; }
      .about-copy .lead { font-size: 1.1rem; }
      .signature {
        font-family: "Great Vibes", cursive; font-size: 2rem;
        color: var(--ink); margin-top: 10px;
      }

      /* Quote banner */
      .quote-banner {
        background-color: var(--chartreuse);
        background-image:
          radial-gradient(110% 100% at 12% 0%, rgba(255, 255, 255, 0.25), transparent 55%),
          repeating-linear-gradient(115deg, rgba(255, 255, 255, 0.05) 0 90px, rgba(0, 0, 0, 0.04) 90px 180px);
        padding: 72px 0; text-align: center;
      }
      .quote-banner blockquote {
        font-family: "Anton", "Arial Narrow", sans-serif; text-transform: uppercase;
        color: #161a02; font-size: clamp(1.5rem, 3.4vw, 2.4rem);
        line-height: 1.3; max-width: 56rem; margin: 0 auto 16px; letter-spacing: 0.01em;
      }
      .quote-banner cite {
        font-family: "Cormorant Garamond", Georgia, serif; font-style: normal;
        font-weight: 700; letter-spacing: 0.26em; text-transform: uppercase;
        font-size: 0.85rem; color: #2e3305;
      }

      /* Speaking topics */
      .topics-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 40px; }
      .topic-card {
        border: 1px solid #e3e3e3; border-radius: 16px; padding: 30px 28px;
        background: var(--white); box-shadow: 0 8px 22px rgba(0, 0, 0, 0.05);
      }
      .topic-num {
        display: inline-block; background: var(--chartreuse); color: var(--black);
        font-family: "Anton", sans-serif; font-size: 0.95rem;
        width: 38px; height: 38px; line-height: 38px; text-align: center;
        border-radius: 50%; margin-bottom: 16px;
      }
      .topic-card h3 { font-size: 1.35rem; margin: 0 0 10px; line-height: 1.2; }
      .topic-card p { color: var(--gray-text); margin: 0; }

      /* Books */
      .books-section { background: var(--cream); }
      .books-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 44px; }
      .book-item { text-align: left; }
      .book-cover {
        aspect-ratio: 1 / 1; border-radius: 8px; position: relative;
        display: flex; flex-direction: column; justify-content: center; align-items: center;
        text-align: center; padding: 30px 26px; color: var(--white);
        box-shadow: var(--shadow); margin-bottom: 20px; overflow: hidden;
      }
      .book-cover::before {
        content: ""; position: absolute; left: 14px; top: 0; bottom: 0;
        width: 2px; background: rgba(255, 255, 255, 0.3);
      }
      .book-cover::after {
        content: ""; position: absolute; inset: 0;
        background: radial-gradient(90% 70% at 80% 0%, rgba(255, 255, 255, 0.16), transparent 55%);
      }
      .cover-1 { background: #17352a; }
      .cover-2 { background: #6d5220; }
      .cover-3 { background: #232f38; }
      .book-cover .bc-kicker {
        font-size: 0.66rem; letter-spacing: 0.3em; text-transform: uppercase;
        color: #e8cf8f; margin-bottom: 14px; position: relative; z-index: 1;
      }
      .book-cover .bc-title {
        font-family: "Cormorant Garamond", Georgia, serif; font-weight: 700;
        font-size: 1.8rem; line-height: 1.15; position: relative; z-index: 1;
      }
      .book-cover .bc-author {
        margin-top: 16px; font-size: 0.78rem; letter-spacing: 0.16em;
        text-transform: uppercase; position: relative; z-index: 1;
      }
      .book-item h3 { font-size: 1.3rem; margin: 0 0 6px; color: var(--ink); }
      .book-item .book-desc { color: var(--gray-text); margin: 0 0 10px; font-size: 0.97rem; }
      .book-status { color: #8a8a8a; font-weight: 700; font-size: 0.9rem; margin: 0; }
      .badge-soon {
        display: inline-block; background: var(--chartreuse); color: var(--black);
        font-weight: 900; font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase;
        padding: 5px 12px; border-radius: 999px; margin-left: 8px; vertical-align: 2px;
      }

      /* ---------- Form cards (booking + newsletter + contact) ---------- */
      .form-card {
        background: var(--card); border-radius: var(--radius-card);
        padding: 38px; box-shadow: var(--shadow);
      }
      .form-card h3 {
        font-family: "Anton", "Arial Narrow", sans-serif; text-transform: uppercase;
        font-size: 1.45rem; margin: 0 0 8px; color: var(--ink); letter-spacing: 0.02em;
      }
      .form-card > p { color: #45505e; margin: 0 0 24px; font-size: 0.97rem; }
      /* Newsletter / contact card heading: bold sans, sentence case (reference style) */
      .form-card.plain-card h3 {
        font-family: "Source Sans 3", system-ui, sans-serif; text-transform: none;
        font-weight: 900; font-size: 1.9rem; letter-spacing: 0; margin-bottom: 26px;
      }
      .form-card.plain-card label { font-weight: 600; }
      .field { margin-bottom: 15px; }
      .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
      label { display: block; font-weight: 700; font-size: 0.9rem; margin-bottom: 6px; color: var(--ink); }
      input, select, textarea {
        width: 100%; font: inherit; color: var(--ink);
        background: var(--white); border: 1px solid transparent;
        border-radius: 10px; padding: 13px 15px;
      }
      input:focus, select:focus, textarea:focus {
        outline: 3px solid var(--chartreuse); outline-offset: 1px;
      }
      textarea { resize: vertical; min-height: 110px; }
      .form-note { font-size: 0.85rem; color: #45505e; margin-top: 14px; }
      .form-success {
        display: none; background: var(--white); border: 2px solid var(--chartreuse-dark);
        border-radius: 12px; padding: 16px 18px; margin-top: 18px;
      }
      .form-success strong { display: block; margin-bottom: 4px; }
      .form-success.show { display: block; }
      .check-line { display: flex; gap: 10px; align-items: flex-start; margin: 6px 0 20px; }
      .check-line input { width: auto; margin-top: 5px; accent-color: var(--chartreuse-dark); }
      .check-line label { font-weight: 400; margin: 0; }

      /* Booking */
      .booking-section { background: var(--black); padding: 0 0 92px; }
      .booking-banner { line-height: 0; }
      .booking-banner img {
        width: 100%; height: clamp(240px, 38vw, 440px);
        object-fit: cover; object-position: center 30%;
      }
      .booking-head { text-align: center; padding: 64px 24px 40px; color: var(--white); }
      .booking-head h2 { font-size: clamp(2.1rem, 5vw, 3.3rem); margin: 0 0 12px; line-height: 1.1; }
      .booking-head p { color: #cfcfcf; margin: 0; font-size: 1.05rem; }
      .booking-card-wrap { max-width: 780px; margin: 0 auto; padding: 0 24px; }
      .booking-alt { text-align: center; color: #bdbdbd; margin-top: 26px; font-size: 0.97rem; }
      .booking-alt a { color: var(--white); font-weight: 700; }

      /* Newsletter */
      .newsletter-section {
        background-color: #eef0f2;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='900' viewBox='0 0 1440 900'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='3'%3E%3Cpath d='M-60 300 C260 190 480 430 800 320 S1260 170 1500 280'/%3E%3Cpath d='M-60 360 C260 250 480 490 800 380 S1260 230 1500 340'/%3E%3Cpath d='M-60 420 C260 310 480 550 800 440 S1260 290 1500 400'/%3E%3Cpath d='M-60 480 C260 370 480 610 800 500 S1260 350 1500 460'/%3E%3Cpath d='M-60 540 C260 430 480 670 800 560 S1260 410 1500 520'/%3E%3Cpath d='M-60 600 C260 490 480 730 800 620 S1260 470 1500 580'/%3E%3Cpath d='M-60 660 C260 550 480 790 800 680 S1260 530 1500 640'/%3E%3Cpath d='M-60 720 C260 610 480 850 800 740 S1260 590 1500 700'/%3E%3C/g%3E%3C/svg%3E");
        background-size: 1440px 900px;
        background-position: center top;
      }
      .newsletter-grid {
        display: grid; grid-template-columns: 0.95fr 1.05fr;
        gap: 54px; align-items: center;
      }
      .newsletter-photo { position: relative; }
      .newsletter-photo img {
        width: 100%; height: 660px; object-fit: cover; object-position: center top;
        -webkit-mask-image: radial-gradient(115% 88% at 50% 42%, #000 58%, transparent 79%);
        mask-image: radial-gradient(115% 88% at 50% 42%, #000 58%, transparent 79%);
      }

      /* Contact */
      .contact-wrap { max-width: 680px; margin: 0 auto; }
      .contact-card-wrap { margin-top: 40px; }

      /* ---------- Footer ---------- */
      footer { background: var(--black); color: var(--white); text-align: center; padding: 64px 0 0; }
      .footer-logo { color: var(--white); text-decoration: none; line-height: 1; display: inline-block; }
      .footer-logo .wm-script { font-size: 3rem; display: block; padding-right: 12px; }
      .footer-logo .wm-caps { font-size: 0.72rem; display: block; margin-top: 2px; }
      .footer-tagline { font-weight: 900; font-size: 1.12rem; margin: 26px auto 8px; max-width: 34rem; }
      .footer-sub { color: #bdbdbd; margin: 0 auto 26px; max-width: 36rem; font-size: 0.98rem; }
      .social-row { display: flex; gap: 14px; justify-content: center; margin-bottom: 34px; }
      .social-row a {
        width: 46px; height: 46px; border-radius: 50%;
        border: 2px solid var(--white); color: var(--white);
        display: inline-flex; align-items: center; justify-content: center;
        text-decoration: none; transition: background 0.15s ease, color 0.15s ease;
      }
      .social-row a:hover { background: var(--white); color: var(--black); }
      .social-row svg { width: 21px; height: 21px; fill: currentColor; }
      .footer-nav { display: flex; flex-wrap: wrap; gap: 6px 26px; justify-content: center; margin-bottom: 34px; }
      .footer-nav a { color: var(--white); text-decoration: none; font-weight: 700; font-size: 0.95rem; }
      .footer-nav a:hover { color: var(--chartreuse); }
      .footer-bottom {
        border-top: 1px solid rgba(255, 255, 255, 0.22);
        padding: 20px 24px 28px; font-size: 0.88rem; color: #a8a8a8;
        display: flex; flex-wrap: wrap; gap: 6px 24px; justify-content: space-between;
        max-width: 1180px; margin: 0 auto; text-align: left;
      }
      .footer-bottom a { color: #d8d8d8; }

      /* ---------- Responsive: header nav collapses ---------- */
      @media (max-width: 1120px) {
        .main-nav {
          display: none; position: absolute; top: 100%; left: 0; right: 0;
          background: var(--white); flex-direction: column; align-items: stretch;
          padding: 10px 16px 18px; box-shadow: 0 18px 30px rgba(0, 0, 0, 0.14);
        }
        .main-nav.open { display: flex; }
        .main-nav a { padding: 13px 10px; }
        .main-nav a.active::after { left: auto; right: 12px; bottom: auto; top: 50%; margin: -3.5px 0 0; }
        .main-nav a.nav-cta { margin: 10px 0 0; text-align: center; }
        .menu-btn { display: inline-block; }
        .header-inner { position: relative; }
      }

      /* ---------- Responsive ---------- */
      @media (max-width: 980px) {
        /* Touch/iOS fixed-background is now handled by the JS fixed layer
           (.photo-band-fixed); keep the shorter band height on small screens. */
        .photo-band { min-height: 78vh; }
        .hero { min-height: 84vh; padding: 36px 16px; }
        .hero-bg { height: auto; max-height: 100%; bottom: 0; }
        .hero-lockup { width: min(820px, 94vw); margin-top: 176px; }
        .about-grid, .newsletter-grid { grid-template-columns: 1fr; gap: 34px; }
        .newsletter-photo img { height: 480px; }
        .books-grid { grid-template-columns: 1fr; max-width: 430px; margin-left: auto; margin-right: auto; }
        .topics-grid { grid-template-columns: 1fr; }
        section { padding: 64px 0; }
        .footer-bottom { justify-content: center; text-align: center; }
      }
      @media (max-width: 560px) {
        .field-row { grid-template-columns: 1fr; }
        .form-card { padding: 28px 20px; }
        .wordmark .wm-script { font-size: 2.4rem; }
        .wordmark .wm-caps { font-size: 0.62rem; }
        .newsletter-photo img { height: 420px; }
      }
      @media (prefers-reduced-motion: reduce) {
        html { scroll-behavior: auto; }
        .btn:hover { transform: none; }
        .spinner { animation: none; }
        .hero-bg, .hero-lockup img { animation: none; }
        .photo-band { background-attachment: scroll; }
        .photo-band-fixed { display: none; }
      }
    
/* WordPress integration */
body.kk-site{margin:0!important;padding:0!important}body.kk-site h1,body.kk-site h2,body.kk-site h3{color:inherit}body.kk-site .condensed{font-family:Anton,"Arial Narrow",sans-serif!important}body.kk-site a.btn{color:#000}body.kk-site .main-nav a.nav-cta{color:#fff}.kk-site .main-nav.open{display:flex}.kk-site #newsletterForm button[disabled]{cursor:default;opacity:.7}.kk-site .site-header{position:sticky!important}.kk-site main{max-width:none;width:100%;margin:0;padding:0}.kk-site .form-card input[type=checkbox]{width:auto}.kk-site .hero{padding:48px 24px!important}.kk-site footer{color:#fff}

/* Mobile portrait scroll fix: use only the JS-clipped fixed layer on touch devices.
   The older pseudo-element was painting the same portrait a second time at
   a different viewport height, producing a doubled head during scrolling. */
body.kk-site .photo-band.pb-jsfixed::before {
  content: none !important;
  display: none !important;
  background-image: none !important;
}

/* Side pose portrait for the fixed homepage band. */
body.kk-site .photo-band::before { background-image: url("https://kingdomkeys1on1.com/wp-content/uploads/2026/10/WhatsApp-Image-2026-10-24-at-7.45.32-PM.jpeg") !important; }

/* Kingdom commerce and shared header polish — 2026-10-25 */
body.kk-site .site-header{padding:0!important;border:0!important;background:#fff!important}
body.kk-site .site-header::after{display:none!important}
body.kk-site .header-inner{width:min(1180px,100%);padding:18px 24px;min-height:104px;flex-direction:row!important;align-items:center!important;gap:20px}
body.kk-site .main-nav{align-items:center}body.kk-site .main-nav a,body.kk-site .main-nav .nav-toggle{line-height:1.3;min-height:44px;display:inline-flex;align-items:center}
body.kk-site .main-nav .nav-toggle{margin:0;justify-content:center;gap:5px}body.kk-site .main-nav .nav-cta{margin-block:0}
body.kk-site .main-nav .nav-drop a{display:flex;width:100%}body.kk-site .menu-btn{min-height:44px;background:#fff!important;color:#141414!important;border:1px solid #141414!important}
.kk-site .kk-commerce{background:#fdfbf5;min-height:60vh;padding-bottom:76px}
.kk-commerce .kk-shop-head{padding:60px 24px 40px;text-align:center;max-width:840px;margin:auto}
.kk-commerce .kk-eyebrow{font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:#796235;margin:0 0 12px}
.kk-commerce h1.kk-title{font-family:Anton,'Arial Narrow',sans-serif;font-weight:400;font-size:clamp(2.2rem,4.5vw,3.6rem);line-height:1.12;text-transform:uppercase;margin:0 0 18px;color:#141414}
.kk-commerce .kk-shop-head>p:last-child{max-width:620px;margin:0 auto;color:#5c5c5c;font-size:1.1rem}
.kk-commerce .kk-shop-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 36px}
.kk-commerce .kk-shop-nav a{display:inline-flex;align-items:center;min-height:44px;padding:9px 20px;border:1px solid #d5d5ce;border-radius:100px;text-decoration:none;color:#141414;background:#fff;font-weight:700}
.kk-commerce .kk-shop-nav a[aria-current=page]{background:#141414;color:#fff;border-color:#141414}
.kk-commerce .kk-content{max-width:1180px;margin:auto;padding:0 24px}
.kk-commerce .woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0!important;padding:0!important}
.kk-commerce .woocommerce ul.products::before,.kk-commerce .woocommerce ul.products::after{display:none!important}
.kk-commerce .woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;padding:18px!important;background:#fff;border:1px solid #e7e4da;border-radius:14px;box-shadow:0 8px 28px #1c24100a;display:flex;flex-direction:column;min-width:0}
.kk-commerce .woocommerce ul.products li.product a.woocommerce-loop-product__link{display:block;text-decoration:none;color:#141414;flex:1}
.kk-commerce .woocommerce ul.products li.product a img{width:100%!important;height:320px!important;object-fit:contain!important;object-position:center!important;padding:16px;background:#f4f3ee;border-radius:8px;margin:0 0 20px!important}
.kk-commerce .woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:'Source Sans 3',system-ui,sans-serif;font-size:1.12rem!important;line-height:1.4!important;padding:0!important;margin:0 0 12px!important;font-weight:700;overflow-wrap:anywhere}
.kk-commerce .woocommerce ul.products li.product .price{font-size:1.12rem!important;color:#141414!important;margin:0 0 12px!important}
.kk-commerce .woocommerce ul.products li.product .price del{color:#707070;opacity:1}.kk-commerce .woocommerce ul.products li.product .price ins{text-decoration:none;font-weight:700}
.kk-commerce .woocommerce a.button,.kk-commerce .woocommerce button.button,.kk-commerce .woocommerce input.button{background:#adbb1f!important;color:#111!important;border:0!important;border-radius:100px!important;font:700 1rem 'Source Sans 3',sans-serif!important;min-height:46px;padding:13px 24px!important;text-align:center;text-decoration:none;box-shadow:none}
.kk-commerce .woocommerce a.button:hover,.kk-commerce .woocommerce button.button:hover{background:#96a619!important}
.kk-commerce .woocommerce .onsale{background:#141414!important;color:#fff!important;min-height:32px;min-width:48px;line-height:32px;padding:0 10px;border-radius:100px;margin:8px!important;font-weight:700}
.kk-commerce .woocommerce .yith-wcqv-button{display:none!important}
.kk-commerce .kk-shop-help{text-align:center;margin:38px 0 0;color:#5c5c5c}.kk-commerce .kk-shop-help a{color:#222;text-decoration:underline}
.kk-commerce .kk-back{display:inline-block;margin:28px 0;color:#222;font-weight:700}
.kk-commerce .woocommerce div.product{padding-bottom:20px}.kk-commerce .woocommerce div.product .product_title{font-size:clamp(1.8rem,2.6vw,2.5rem);line-height:1.22;overflow-wrap:anywhere;margin:0 0 20px;font-family:'Source Sans 3',sans-serif;letter-spacing:-.02em;font-weight:700}
.kk-commerce .woocommerce div.product div.images{width:47%!important;background:#fff;border:1px solid #e7e4da;border-radius:14px;padding:22px}
.kk-commerce .woocommerce div.product div.images .woocommerce-product-gallery__image img{width:100%!important;height:auto!important;max-height:620px;object-fit:contain!important;opacity:1!important}
.kk-commerce .woocommerce div.product div.summary{width:47%!important;float:right!important;margin:0 0 40px}
.kk-commerce .woocommerce div.product .summary .price{font-size:1.55rem;color:#141414!important}.kk-commerce .woocommerce div.product .summary ins{text-decoration:none}
.kk-commerce .woocommerce div.product .woocommerce-product-details__short-description{color:#4c4c4c;line-height:1.75}
.kk-commerce .woocommerce div.product form.cart{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:28px 0}
.kk-commerce .woocommerce div.product form.variations_form{display:block}.kk-commerce .woocommerce .quantity input.qty{min-width:68px;width:68px;border:1px solid #d5d5ce;border-radius:8px;background:#fff}
.kk-commerce .woocommerce div.product .woocommerce-tabs{clear:both;padding-top:24px}.kk-commerce .woocommerce div.product .woocommerce-tabs .panel{padding:28px;background:#fff;border:1px solid #e7e4da;border-radius:12px}
.kk-commerce .woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin-bottom:20px}.kk-commerce .woocommerce div.product .woocommerce-tabs ul.tabs li{border-radius:8px 8px 0 0;background:#fff}
.kk-commerce .woocommerce div.product .woocommerce-tabs h2{font-size:1.45rem}.kk-commerce .woocommerce .related{padding:32px 0 0}.kk-commerce .woocommerce .related>h2{font-size:1.8rem;margin:0 0 24px}
.kk-commerce .wp-block-woocommerce-cart,.kk-commerce .wp-block-woocommerce-checkout{margin:0!important;padding-bottom:20px}
.kk-commerce .wc-block-components-main{min-width:0}.kk-commerce .wc-block-components-sidebar{min-width:0;background:#fff;border:1px solid #e7e4da;border-radius:14px;padding:24px!important;height:fit-content}
.kk-commerce .wc-block-cart table.wc-block-cart-items{background:#fff;border:1px solid #e7e4da;border-radius:14px;border-collapse:separate;overflow:hidden}
.kk-commerce .wc-block-cart-items th,.kk-commerce .wc-block-cart-items td{border:0;border-bottom:1px solid #eeece5;background:#fff}
.kk-commerce .wc-block-cart-items__header th{font-size:.85rem;letter-spacing:.08em;padding:20px!important}
.kk-commerce .wc-block-cart-item__image{width:130px!important}.kk-commerce .wc-block-cart-item__image img{width:100%!important;height:135px!important;object-fit:contain!important;background:#f5f4ef;border-radius:6px;padding:8px}
.kk-commerce .wc-block-components-product-name{color:#141414!important;font-weight:700;font-size:1.03rem;line-height:1.4;text-decoration:none}
.kk-commerce .wc-block-components-product-metadata{display:none}.kk-commerce .wc-block-cart__submit-button,.kk-commerce .wc-block-components-checkout-place-order-button{background:#adbb1f!important;color:#111!important;min-height:52px;border:0!important;border-radius:100px!important;font-weight:700;font-size:1.05rem;text-decoration:none}
.kk-commerce .wc-block-components-button:not(.wc-block-components-quantity-selector__button){box-shadow:none}
.kk-commerce .wc-block-components-quantity-selector{background:#fff}.kk-commerce .wc-block-components-quantity-selector button{padding:0;min-height:28px;border-radius:0;background:transparent!important;color:#222!important;border:0}
.kk-commerce .wc-block-components-quantity-selector input{width:48px!important;padding:0!important;min-height:30px;border:0!important}
.kk-commerce .wc-block-components-order-summary-item__image{width:80px!important;flex:0 0 80px!important}.kk-commerce .wc-block-components-order-summary-item__image img{width:80px!important;height:98px!important;object-fit:contain!important;background:#f4f3ee;padding:6px;border-radius:6px}
.kk-commerce .wc-block-components-order-summary-item{gap:14px}.kk-commerce .wc-block-components-order-summary-item__description{min-width:0}.kk-commerce .wc-block-components-order-summary-item__description h3{font-size:1rem!important;line-height:1.4!important}
.kk-commerce .wc-block-components-checkout-step{padding:24px!important;background:#fff;border:1px solid #e7e4da;border-radius:12px;margin-bottom:20px!important}
.kk-commerce .wc-block-components-checkout-step__heading{margin-bottom:18px}.kk-commerce .wc-block-components-checkout-step__title{font-size:1.3rem!important;font-weight:700}
.kk-commerce .wc-block-components-checkout-step__container{padding:0!important}.kk-commerce .wc-block-components-radio-control input[type=radio]{width:20px!important;height:20px!important;min-height:20px!important;padding:0!important}
.kk-commerce .wc-block-components-checkbox input[type=checkbox]{width:20px!important;height:20px!important;min-height:20px!important;padding:0!important}
.kk-commerce .wc-block-components-text-input input{background:#fff!important;border-color:#c6c6bf!important;min-height:54px}.kk-commerce .wc-block-components-text-input label{font-weight:400!important}
.kk-commerce .kk-give-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:44px;align-items:start}
.kk-commerce .kk-give-copy{background:#fff;padding:36px;border:1px solid #e7e4da;border-radius:14px}.kk-commerce .kk-give-copy h2{font-size:1.65rem;line-height:1.3;margin:0 0 18px}.kk-commerce .kk-give-copy li{margin:12px 0}.kk-commerce .kk-give-copy ul{padding-left:22px}
.kk-commerce .kk-give-card{background:#141414;color:#fff;border-radius:14px;padding:32px;position:sticky;top:130px}.kk-commerce .kk-give-card h2{font-family:Anton,sans-serif;font-weight:400;font-size:2rem;text-transform:uppercase;margin:0 0 16px;color:#fff!important}.kk-commerce .kk-give-card p{color:#dedede}.kk-commerce .kk-give-card .btn{display:block;background:#adbb1f;color:#111!important;margin-top:24px}.kk-commerce .kk-give-card small{display:block;margin-top:16px;color:#c5c5c5;line-height:1.5}
.kk-commerce .kk-give-verse{border-left:3px solid #adbb1f;padding:12px 0 12px 22px;margin:30px 0 0;font-family:Georgia,serif;font-size:1.15rem}.kk-commerce .kk-give-verse cite{display:block;font-family:'Source Sans 3',sans-serif;font-style:normal;font-size:.9rem;margin-top:12px;color:#666}
body.kk-site .product-photo{object-fit:contain!important;padding:16px;background:#f4f3ee}
@media(min-width:1121px){body.kk-site .header-inner{justify-content:space-between}body.kk-site .main-nav{display:flex!important}body.kk-site .main-nav a{padding-inline:11px}}
@media(max-width:1120px){body.kk-site .main-nav{align-items:stretch}body.kk-site .main-nav .nav-toggle{justify-content:space-between}body.kk-site .main-nav a.nav-cta{margin-top:10px}.kk-commerce .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.kk-commerce .kk-shop-head{padding:40px 20px 28px}.kk-commerce .kk-content{padding:0 18px}.kk-commerce .woocommerce div.product div.images,.kk-commerce .woocommerce div.product div.summary{float:none!important;width:100%!important}.kk-commerce .woocommerce div.product div.images{margin-bottom:30px}.kk-commerce .wc-block-components-sidebar{width:100%!important;margin:24px 0 0!important}.kk-commerce .wc-block-components-main{width:100%!important;padding-right:0!important}.kk-commerce .kk-give-grid{grid-template-columns:1fr;gap:24px}.kk-commerce .kk-give-card{position:static}.kk-commerce .kk-give-copy{padding:24px}.kk-commerce .wc-block-components-checkout-step{padding:18px!important}}
@media(max-width:540px){body.kk-site .header-inner{min-height:86px;padding:14px 18px}.kk-commerce .woocommerce ul.products{grid-template-columns:1fr;gap:22px}.kk-commerce .woocommerce ul.products li.product a img{height:340px!important}.kk-commerce .kk-shop-nav{gap:8px}.kk-commerce .kk-shop-nav a{padding:8px 14px;font-size:.92rem}.kk-commerce .wc-block-cart-item__image{width:80px!important}.kk-commerce .wc-block-cart-item__image img{height:95px!important}.kk-commerce .wc-block-components-sidebar{padding:18px!important}.kk-commerce .wc-block-components-order-summary-item__image{width:65px!important;flex-basis:65px!important}.kk-commerce .wc-block-components-order-summary-item__image img{width:65px!important;height:84px!important}}

/* Final commerce spacing and accessible controls. */
.kk-commerce.kk-detail{padding-top:32px}
.kk-commerce .woocommerce-ordering select{width:auto;max-width:100%;min-height:46px;border:1px solid #dedbd0;background:#fff;padding:10px 16px;border-radius:8px}
.kk-commerce .wc-block-components-checkout-step{background:#fff!important;border:1px solid #e7e4da!important}
.kk-commerce .wc-block-components-sidebar .wc-block-components-order-summary{border:0!important}
.kk-commerce .woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:10px;padding:16px 0 0!important}
.kk-commerce .woocommerce-product-gallery .flex-control-thumbs li{width:72px!important;float:none!important}
.kk-commerce .woocommerce-product-gallery .flex-control-thumbs img{height:86px!important;width:72px!important;object-fit:contain!important;border:1px solid #ddd;border-radius:5px;padding:4px}
.kk-commerce .woocommerce .variations select{width:100%;min-height:46px;background:#fff;border:1px solid #ccc}
.kk-site a:focus-visible,.kk-site button:focus-visible{outline:3px solid #2b6bf3!important;outline-offset:4px}

/* Keep complete checkout titles readable beside their covers. */
.kk-site .kk-commerce .wc-block-components-order-summary-item{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;gap:12px 16px!important;align-items:start}
.kk-site .kk-commerce .wc-block-components-order-summary-item__image{grid-column:1;grid-row:1/3;width:64px!important;max-width:64px!important;margin:0!important}
.kk-site .kk-commerce .wc-block-components-order-summary-item__image img{width:64px!important;height:88px!important}
.kk-site .kk-commerce .wc-block-components-order-summary-item__description{grid-column:2;grid-row:1;width:100%;padding:0!important}
.kk-site .kk-commerce .wc-block-components-order-summary-item__description h3{font-size:.95rem!important;line-height:1.45!important;word-break:normal!important;overflow-wrap:break-word!important}
.kk-site .kk-commerce .wc-block-components-order-summary-item__total-price{grid-column:2;grid-row:2;max-width:none!important;width:100%!important;padding:0!important;text-align:left!important}
.kk-site .kk-commerce .wc-block-cart-item__total-price-and-sale-badge-wrapper{align-items:flex-start!important;flex-direction:row!important;gap:8px}
.kk-site .kk-commerce form .wc-block-components-checkout-step{background:#fff!important;border:1px solid #e7e4da!important;border-radius:12px!important;padding:24px!important}

/* Approved basket + label + count (Option 2). */
body.kk-site .header-inner a.kk-basket{display:inline-flex!important;align-items:center;justify-content:center;gap:9px;border:1px solid #c9bca4!important;border-radius:999px!important;background:#fff!important;color:#141414!important;min-height:46px;padding:7px 12px!important;margin-left:10px;font-size:1rem!important;line-height:1!important;font-weight:700;flex-shrink:0;text-decoration:none}
body.kk-site .kk-basket img{display:block;width:23px!important;height:23px!important;min-width:23px;object-fit:contain;margin:0;padding:0;border:0;background:none}
body.kk-site .kk-basket-count{display:inline-flex;align-items:center;justify-content:center;min-width:29px;height:29px;padding:0 7px;border-radius:999px;background:#d4eb35;color:#111;font-size:1rem;line-height:1;font-weight:700;font-variant-numeric:tabular-nums}
body.kk-site .header-inner a.kk-basket:hover{border-color:#141414!important;background:#faf9f5!important}body.kk-site .header-inner a.kk-basket::after{display:none!important}
@media(min-width:1121px){body.kk-site .header-inner{max-width:1280px;width:100%}body.kk-site .main-nav{gap:1px}body.kk-site .main-nav a{padding-inline:10px!important}body.kk-site .main-nav a.nav-cta{padding-inline:20px!important;margin-left:12px}}
@media(max-width:1120px){body.kk-site .header-inner a.kk-basket{align-self:flex-start;margin:12px 0 4px;padding:7px 14px!important}}

/* Basket stays in the visible header when phone navigation is collapsed. */
.kk-site .kk-header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.kk-site .kk-header-actions a.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;background:#2b6bf3;color:#fff!important;text-decoration:none;font-weight:700;font-size:1.05rem;line-height:1.3;border-radius:999px;padding:12px 20px;white-space:nowrap}
.kk-site .kk-header-actions a.nav-cta:hover{background:#1d56d6}
.kk-site .main-nav .kk-mobile-book{display:none!important}
@media(min-width:1121px){body.kk-site .main-nav{margin-left:auto}body.kk-site .kk-header-actions a.kk-basket{margin-left:0}.kk-site .kk-header-actions .menu-btn{display:none!important}}
@media(max-width:1120px){body.kk-site .kk-header-actions{margin-left:auto;gap:10px}body.kk-site .kk-header-actions a.kk-basket{margin:0}.kk-site .kk-header-actions .kk-desktop-book{display:none!important}.kk-site .main-nav .kk-mobile-book{display:inline-flex!important}}
@media(max-width:540px){body.kk-site .header-inner{padding:14px;gap:8px}.kk-site .wordmark .wm-script{font-size:2.1rem}.kk-site .wordmark .wm-caps{font-size:.55rem;letter-spacing:.25em}body.kk-site .kk-header-actions{gap:6px}body.kk-site .header-inner a.kk-basket{font-size:.85rem!important;gap:6px;padding:6px 9px!important;min-height:42px}.kk-site .kk-basket img{width:20px!important;height:20px!important;min-width:20px}.kk-site .kk-basket-count{height:24px;min-width:24px;font-size:.85rem;padding:0 5px}.kk-site .kk-header-actions .menu-btn{font-size:.85rem;min-height:42px;padding:7px 9px}}
