/*
Theme Name: Queenie Enterprises
Theme URI: https://angelasantanni.com/
Author: Angela Santanni
Description: A bold, editorial WordPress block theme for Angela Santanni and Queenie Enterprises LLC.
Version: 2.2.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: queenie-enterprises
*/

:root { --qe-border: #cfc8ba; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
a { text-underline-offset: .2em; }
.qe-topline { font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.qe-header { position: sticky; top: 0; z-index: 100; backdrop-filter: blur(12px); }
.qe-logo-mark { border: 1px solid currentColor; border-radius: 50%; display: grid; place-items: center; width: 42px; height: 42px; font-family: var(--wp--preset--font-family--display); font-size: 26px; font-style: italic; }
.qe-logo-mark a { display: grid; place-items: center; width: 100%; height: 100%; color: inherit; text-decoration: none; }
.qe-hero { min-height: 670px; }
.qe-hero-title, .qe-page-title { letter-spacing: -.045em; }
.qe-kicker { font-size: 11px; letter-spacing: .15em; text-transform: uppercase; }
.qe-ticker { overflow: hidden; white-space: nowrap; }
.qe-ticker p { animation: qe-scroll 45s linear infinite; word-spacing: 18px; }
@keyframes qe-scroll { to { transform: translateX(-45%); } }
.qe-portrait { transform: rotate(2deg); border: 1px solid currentColor; padding: 10px; }
.qe-portrait img { width: 100%; }
.qe-caption { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.qe-section { border-top: 1px solid var(--qe-border); }
.qe-service { border-top: 1px solid var(--qe-border); padding-block: 32px; }
.qe-service:last-child { border-bottom: 1px solid var(--qe-border); }
.qe-metric {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 250px;
  padding: 30px !important;
  border: 0;
  color: #151512;
  overflow: hidden;
  isolation: isolate;
  transition: transform .25s ease, box-shadow .25s ease;
}
.qe-metric:nth-child(4n + 1) { background: #d9ff3f; }
.qe-metric:nth-child(4n + 2) { background: #f3eee4; }
.qe-metric:nth-child(4n + 3) { background: #ff766a; }
.qe-metric:nth-child(4n) { background: #b9a7ff; }
.qe-metric::before {
  content: "\2726";
  position: absolute;
  right: 20px;
  top: 16px;
  z-index: -1;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(52px, 6vw, 84px);
  line-height: 1;
  opacity: .2;
  transform: rotate(10deg);
}
.qe-metric:nth-child(4n + 2)::before { content: "\2197"; transform: none; }
.qe-metric:nth-child(4n + 3)::before { content: "\25CE"; transform: none; }
.qe-metric:nth-child(4n)::before { content: "+"; transform: rotate(8deg); }
.qe-metric h2 {
  max-width: 88%;
  margin: 0 0 56px;
  font-size: clamp(38px, 3.6vw, 58px) !important;
  line-height: .94;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.qe-metric p { margin: 0; max-width: 22ch; }
@media (hover: hover) {
  .qe-metric:hover { transform: translateY(-8px) rotate(-1deg); box-shadow: 10px 10px 0 #f3eee4; }
  .qe-metric:nth-child(even):hover { transform: translateY(-8px) rotate(1deg); }
}
.qe-brand-grid > * { border: 1px solid rgba(255,255,255,.28); min-height: 90px; display: flex; align-items: center; justify-content: center; padding: 18px; }
.qe-case { border: 1px solid var(--qe-border); }
.qe-case + .qe-case { border-top: 0; }
.qe-career-row { border-top: 1px solid var(--qe-border); }
.qe-career-row:last-child { border-bottom: 1px solid var(--qe-border); }
.qe-tag { border: 1px solid var(--qe-border); padding: 7px 10px; font-size: 11px; }
.qe-capability { border-top: 1px solid var(--qe-border); }
.qe-video { aspect-ratio: 16/9; }
.qe-video iframe { width: 100%; height: 100%; border: 0; }
.qe-back-top { position: fixed; right: 20px; bottom: 20px; z-index: 90; border: 1px solid currentColor; border-radius: 999px; width: 46px; height: 46px; display: grid; place-items: center; text-decoration: none; }
.qe-footer a { color: inherit; }
.qe-about-hero-image { transform: rotate(1.5deg); border: 12px solid #151512; }
.qe-about-hero-image img { aspect-ratio: 4 / 5; object-fit: cover; }
.qe-about-section { border-top: 1px solid var(--qe-border); }
.qe-about-collage { gap: 12px !important; }
.qe-about-collage .wp-block-image { min-height: 190px; }
.qe-about-collage .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.qe-about-collage .wp-block-image:last-child { grid-column: 1 / -1; }
.qe-about-wink { padding: clamp(28px, 4vw, 58px) !important; border-radius: 18px; background: #ff766a; color: #151512; transform: rotate(1deg); }
.qe-about-wink h3 { font-size: clamp(30px, 4vw, 54px); }
.qe-about-destinations { padding: clamp(28px, 4vw, 52px) !important; border-radius: 20px; background: #b9a7ff; color: #151512; }
.qe-about-destinations ul { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; list-style: none; }
.qe-about-destinations li { padding: 8px 13px; border-radius: 999px; background: #f3eee4; font-size: 13px; line-height: 1.2; }
.qe-about-card-grid { gap: 20px !important; margin-top: 20px; }
.qe-about-card { min-height: 175px; padding: clamp(24px, 3vw, 40px) !important; border-radius: 12px; }
.qe-about-card h3 { font-size: clamp(24px, 3vw, 38px); line-height: 1.05; }
.qe-about-card-lime { background: #d9ff3f; }
.qe-about-card-coral { background: #ff766a; }
.qe-about-card-lavender { background: #b9a7ff; }
.qe-about-card-ink { background: #151512; color: #f3eee4; }
.qe-about-traits { margin-top: 32px; padding: 22px 26px; }
.qe-about-community img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.qe-about-close { position: relative; overflow: hidden; }
.qe-about-close::after { content: ""; position: absolute; right: 7vw; top: 80px; width: clamp(120px, 18vw, 250px); aspect-ratio: 1; border-radius: 50%; background: #d9ff3f; z-index: -1; }
.qe-brands-hero .has-large-font-size { max-width: 42ch; }
.qe-brands-section { border-top: 1px solid var(--qe-border); }
.qe-brand-card-grid { gap: 22px !important; margin-top: 45px; }
.qe-brand-card { min-width: 0; padding: 18px !important; border: 1px solid var(--qe-border); background: #f3eee4; }
.qe-brand-logo-placeholder { margin: 0 0 20px !important; }
.qe-brand-logo-placeholder img { display: block; width: 100%; aspect-ratio: 20 / 9; object-fit: contain; background: #e2ded5; }
.qe-brand-logo { margin: 0 0 20px !important; }
.qe-brand-logo img { display: block; width: 100%; aspect-ratio: 20 / 9; object-fit: contain; background: #fff; padding: 12px; box-sizing: border-box; }
.qe-brand-card h3 { margin: 0 0 8px; }
.qe-brand-meta { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 14px; }
.qe-brand-meta span { padding: 5px 8px; border: 1px solid currentColor; font-size: 9px; font-weight: 600; line-height: 1; letter-spacing: .1em; }
.qe-brand-meta span:last-child { border-color: transparent; background: #b9a7ff; }
.qe-industry-spectrum { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.qe-industry-spectrum button { margin: 0; padding: 9px 13px; border: 1px solid #151512; border-radius: 999px; background: #151512; color: #f3eee4; font: inherit; font-size: 10px; font-weight: 600; letter-spacing: .08em; cursor: pointer; transition: background .18s ease, color .18s ease, transform .18s ease; }
.qe-industry-spectrum button:hover, .qe-industry-spectrum button:focus-visible, .qe-industry-spectrum button[aria-pressed="true"] { background: #d9ff3f; color: #151512; transform: translateY(-2px); }
.qe-brand-card .qe-kicker { margin-bottom: 8px; }
.qe-brand-card p { margin-top: 0; }
.qe-packages-hero .has-large-font-size { max-width: 42ch; }
.qe-package { border-top: 1px solid var(--qe-border); }
.qe-package-size { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: clamp(100px, 15vw, 220px); line-height: .72; }
.qe-package-list { columns: 2; column-gap: 48px; }
.qe-package-list li { break-inside: avoid; margin-bottom: 8px; }
.qe-package-output { margin-top: 34px; padding: 20px 24px; border: 1px solid currentColor; font-size: 20px; }
.qe-package-builder { margin-top: 42px; padding: clamp(25px, 4vw, 52px); background: #151512; color: #f3eee4; }
.qe-package-builder fieldset { margin: 0; padding: 0; border: 0; }
.qe-package-builder legend { margin-bottom: 28px; font-family: var(--wp--preset--font-family--display); font-size: clamp(30px, 4vw, 52px); line-height: 1; }
.qe-builder-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.qe-builder-options label { display: flex; gap: 10px; align-items: flex-start; padding: 16px; border: 1px solid rgba(243,238,228,.35); cursor: pointer; }
.qe-builder-options label:has(input:checked) { background: #d9ff3f; color: #151512; border-color: #d9ff3f; }
.qe-builder-options input { margin-top: 5px; accent-color: #151512; }
.qe-builder-action { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 30px; }
.qe-builder-status { margin: 0; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
.qe-builder-submit { display: inline-block; background: #d9ff3f; color: #151512; text-decoration: none; }
.qe-travel-board { position: relative; overflow: hidden; }
.qe-travel-board::after { content: ""; position: absolute; right: -65px; top: -65px; width: 180px; aspect-ratio: 1; border: 2px dashed rgba(21,21,18,.25); border-radius: 50%; }
.qe-travel-route { display: flex; align-items: center; gap: 12px; margin: 24px 0 28px; font-size: 11px; font-weight: 600; letter-spacing: .12em; }
.qe-travel-route i { position: relative; flex: 1; border-top: 2px dashed #151512; }
.qe-travel-route i::after { content: "\2708"; position: absolute; left: 58%; top: 50%; padding: 0 5px; background: #b9a7ff; font-size: 22px; transform: translate(-50%,-50%) rotate(5deg); }
.qe-travel-label { margin: 24px 0 10px; font-size: 10px; font-weight: 600; letter-spacing: .15em; }
.qe-case-lead-image img { width: 100%; max-height: 760px; object-fit: cover; }
.qe-case-lead-image figcaption { padding-inline: 4vw; }
.qe-case-section { border-top: 1px solid var(--qe-border); }
.qe-role-card { padding: clamp(28px,4vw,55px) !important; transform: rotate(1deg); }
.qe-case-led-list { columns: 2; column-gap: 6vw; margin-top: 40px; }
.qe-case-led-list li { break-inside: avoid; margin-bottom: 18px; padding-top: 12px; border-top: 1px solid var(--qe-border); }
.qe-case-gallery { gap: 0 !important; background: #151512; }
.qe-case-gallery figure { min-height: 360px; }
.qe-case-gallery img { width: 100% !important; height: 100% !important; object-fit: cover; }
.qe-case-stat { margin-top: 35px; padding: 20px; border: 1px solid currentColor; }
.qe-case-stat strong { font-family: var(--wp--preset--font-family--display); font-size: clamp(46px,7vw,88px); line-height: .85; }
.qe-case-results { margin-top: 50px; }
.qe-case-results > * { padding: 22px; border: 1px solid rgba(21,21,18,.35); }
.qe-case-results h3 { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: clamp(54px,7vw,96px); line-height: .8; }
.qe-contact-form-card { padding: clamp(25px,4vw,52px) !important; border: 1px solid var(--qe-border); background: #f3eee4; }
.qe-contact-form-card input, .qe-contact-form-card textarea, .qe-contact-form-card select { width: 100%; box-sizing: border-box; padding: 13px; border: 1px solid #151512; background: #fff; }
.qe-cases-index-hero .has-large-font-size { max-width: 46ch; }
.qe-case-feature { border-top: 1px solid var(--qe-border); }
.qe-case-index-image, .qe-case-index-image a { display: block; height: 100%; margin: 0 !important; }
.qe-case-index-image img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.qe-case-feature-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(32px,5vw,70px) !important; }
.qe-case-filter-labels { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 42px; }
.qe-case-filter-labels button { padding: 8px 11px; border: 1px solid #151512; border-radius: 999px; background: #151512; color: #f3eee4; font: inherit; font-size: 9px; font-weight: 600; letter-spacing: .1em; cursor: pointer; transition: background .18s ease, color .18s ease, transform .18s ease; }
.qe-case-filter-labels button:hover, .qe-case-filter-labels button:focus-visible, .qe-case-filter-labels button[aria-pressed="true"] { background: #d9ff3f; color: #151512; transform: translateY(-2px); }
.qe-case-index-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; align-items: stretch !important; gap: 22px !important; }
.qe-case-index-card { min-width: 0; height: 100%; padding: 18px !important; border: 1px solid var(--qe-border); background: #fff; transition: transform .2s ease, box-shadow .2s ease; display: flex !important; flex-direction: column; box-sizing: border-box; }
.qe-case-index-card .wp-block-image { margin: -18px -18px 24px !important; }
.qe-case-index-card img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.qe-case-index-card h3 { margin-top: 12px; font-size: clamp(32px,2.7vw,46px) !important; line-height: .98; }
.qe-case-index-card > p:last-child { margin-top: auto; padding-top: 18px; }
.qe-case-index-card-contain > figure { background: #205441; }
.qe-case-index-card-contain > figure img { object-fit: contain; }
.qe-filter-item[hidden] { display: none !important; }
.qe-brand-logo a { display: block; }
.qe-brand-logo a:hover img, .qe-brand-logo a:focus-visible img { outline: 3px solid #d9ff3f; outline-offset: -3px; }
@media (hover:hover) { .qe-case-index-card:hover { transform: translateY(-6px); box-shadow: 8px 8px 0 #d9ff3f; } }
@media (min-width: 782px) {
  .qe-header {
    min-height: 78px;
    background: #151512 !important;
    color: #f3eee4 !important;
    border-color: rgba(243,238,228,.22) !important;
    box-shadow: 0 8px 0 #d9ff3f;
  }
  .qe-header > .wp-block-group:first-child { gap: 14px; }
  .qe-header .qe-logo-mark { background: #d9ff3f; color: #151512; border-color: #d9ff3f; }
  .qe-header .wp-block-site-title, .qe-header .wp-block-site-title a { color: inherit; }
  .qe-header .wp-block-navigation { color: inherit; }
  .qe-header .wp-block-navigation__container { gap: 8px !important; }
  .qe-header .wp-block-navigation-item { border-left: 1px solid rgba(243,238,228,.28); }
  .qe-header .wp-block-navigation-item:last-child { border-right: 1px solid rgba(243,238,228,.28); }
  .qe-header .wp-block-navigation-item__content {
    padding: 13px 18px !important;
    color: inherit !important;
    font-family: var(--wp--preset--font-family--display);
    font-size: 20px;
    line-height: 1;
    text-decoration: none;
  }
  .qe-header .wp-block-navigation-item__content:hover,
  .qe-header .wp-block-navigation-item__content:focus { background: #d9ff3f; color: #151512 !important; }
  .qe-header .wp-block-navigation__submenu-icon { color: inherit; }
  .qe-header .wp-block-navigation__submenu-container {
    min-width: 270px !important;
    padding: 10px !important;
    border: 1px solid #d9ff3f !important;
    background: #151512 !important;
    color: #f3eee4 !important;
    box-shadow: 8px 8px 0 #b9a7ff;
  }
  .qe-header .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
  .qe-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    padding: 13px 14px !important;
    font-family: var(--wp--preset--font-family--body);
    font-size: 14px;
    line-height: 1.25;
  }
  .qe-header .wp-block-button__link { background: #d9ff3f; color: #151512; border: 1px solid #d9ff3f; }
  .qe-header .wp-block-button__link:hover { background: #ff766a; border-color: #ff766a; }
}
@media (min-width: 782px) and (max-width: 1100px) {
  .qe-header { padding-inline: 3vw !important; }
  .qe-header .wp-block-site-title { display: none; }
  .qe-header .wp-block-navigation-item__content { padding-inline: 13px !important; font-size: 17px; }
  .qe-header .wp-block-button__link { padding: 12px 16px; }
}
/* Keep proof tiles roomy on laptops and tablets instead of squeezing four across. */
@media (min-width: 782px) and (max-width: 1399px) {
  .wp-block-columns:has(> .qe-metric) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
  .wp-block-columns:has(> .qe-metric) > .qe-metric {
    width: auto !important;
    min-width: 0 !important;
    min-height: 260px;
  }
  .qe-metric h2 {
    max-width: 78%;
    font-size: clamp(42px, 5.4vw, 64px) !important;
  }
}
@media (max-width: 781px) {
  .qe-topline .wp-block-column:last-child { display: none; }
  .qe-hero { min-height: auto; }
  .qe-portrait { max-width: 340px; }
  .qe-about-hero-image { max-width: 360px; margin: 36px auto 0; }
  .qe-about-wink, .qe-about-destinations { transform: none; }
  .qe-about-card-grid { display: grid !important; grid-template-columns: 1fr !important; }
  .qe-about-card { min-height: auto; }
  .qe-about-close::after { opacity: .35; right: -50px; top: 55px; }
  .qe-brand-card-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .qe-package-size { font-size: 110px; }
  .qe-package-list { columns: 1; }
  .qe-builder-options { grid-template-columns: 1fr; }
  .qe-builder-action { align-items: stretch; flex-direction: column; }
  .qe-case-led-list { columns: 1; }
  .qe-case-gallery { grid-template-columns: 1fr !important; }
  .qe-case-gallery figure { min-height: 260px; }
  .qe-role-card { margin-top: 24px; transform: none; }
  .qe-case-index-image img { min-height: 300px; }
  .qe-case-index-grid { display: grid !important; grid-template-columns: 1fr !important; }

  /* Services become readable editorial cards instead of three narrow columns. */
  .qe-service {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 8px 16px !important;
    padding: 28px 0 !important;
  }
  .qe-service > :first-child {
    display: grid;
    place-items: center;
    align-self: start;
    width: 42px;
    min-height: 42px;
    margin: 0;
    border-radius: 50%;
    background: #d9ff3f;
    color: #151512;
    font-size: 13px;
    font-weight: 600;
  }
  .qe-service > .wp-block-heading {
    align-self: center;
    margin: 0 !important;
    font-size: clamp(26px, 8vw, 36px) !important;
    line-height: .98;
  }
  .qe-service > :last-child {
    grid-column: 2;
    margin: 10px 0 0 !important;
    max-width: 34ch;
  }

  /* Proof points use compact, colorful tiles on phones. */
  .qe-metric {
    min-height: 210px;
    padding: 24px !important;
  }
  .wp-block-columns:has(> .qe-metric) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }
  .qe-metric h2 {
    max-width: 80%;
    margin-bottom: 38px;
    font-size: clamp(40px, 13vw, 62px) !important;
  }
  .qe-metric p { font-size: 18px !important; }

  /* WordPress navigation opens as an obvious, fixed full-screen menu. */
  .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed;
    inset: 0;
    z-index: 999999;
    width: 100vw;
    height: 100dvh;
    padding: 24px !important;
    overflow-y: auto;
    background: #151512 !important;
    color: #f3eee4 !important;
  }
  .wp-block-navigation__responsive-container-close {
    top: 24px !important;
    right: 24px !important;
    color: inherit;
  }
  .wp-block-navigation__responsive-container-close svg { width: 32px; height: 32px; fill: currentColor; }
  .wp-block-navigation__responsive-container-content {
    display: flex !important;
    min-height: calc(100dvh - 48px);
    padding-top: 72px !important;
    justify-content: center !important;
    align-items: stretch !important;
  }
  .wp-block-navigation__responsive-container-content::before {
    content: none;
    position: absolute;
    top: 30px;
    left: 24px;
    font-size: 10px;
    letter-spacing: .18em;
  }
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    width: 100%;
    gap: 0 !important;
    align-items: stretch !important;
  }
  .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
    width: 100%;
    border-bottom: 1px solid rgba(243,238,228,.3);
  }
  .wp-block-navigation__responsive-container-content .wp-block-navigation-item:first-child {
    border-top: 1px solid rgba(243,238,228,.3);
  }
  .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
    display: flex;
    width: 100%;
    padding: 18px 0 !important;
    color: inherit !important;
    font-family: var(--wp--preset--font-family--display);
    font-size: clamp(36px, 11vw, 54px);
    line-height: 1;
    text-decoration: none;
  }
  .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content::after {
    content: "\2197";
    margin-left: auto;
    font-family: var(--wp--preset--font-family--body);
    font-size: 22px;
  }
  .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
    display: flex !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 0 12px 18px !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: transparent !important;
  }
  .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item {
    border: 0 !important;
  }
  .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    padding: 9px 0 !important;
    font-family: var(--wp--preset--font-family--body);
    font-size: 18px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .qe-ticker p { animation: none; }
}

/* Customer lifecycle + retention case study */
.qe-lifecycle-hero h1 { max-width: 12ch; }
.qe-lifecycle-hero > p.has-large-font-size { max-width: 54ch; }
.qe-case-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 36px; }
.qe-case-tags span { padding: 9px 14px; border: 1px solid currentColor; border-radius: 999px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.qe-lifecycle-main-image img { width: 100%; max-height: 740px; object-fit: contain; background: #ebe5d9; }
.qe-privacy-note { margin-top: 28px; padding-top: 18px; border-top: 1px solid currentColor; font-size: 13px; opacity: .72; }
.qe-lifecycle-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin-top: 48px; border: 1px solid #151512; }
.qe-lifecycle-steps article { min-height: 300px; padding: 28px; border-right: 1px solid #151512; }
.qe-lifecycle-steps article:last-child { border-right: 0; }
.qe-lifecycle-steps b, .qe-lifecycle-outcomes span { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #151512; color: #f3eee4; font-size: 12px; }
.qe-lifecycle-steps h3, .qe-lifecycle-outcomes h3 { margin: 58px 0 12px; font-family: var(--wp--preset--font-family--display); font-size: clamp(28px,3vw,40px); line-height: 1; }
.qe-journey-rail { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); margin: 48px 0; border-top: 1px solid rgba(243,238,228,.55); border-bottom: 1px solid rgba(243,238,228,.55); }
.qe-journey-rail div { min-height: 150px; padding: 22px 14px; border-right: 1px solid rgba(243,238,228,.35); }
.qe-journey-rail div:last-child { border-right: 0; }
.qe-journey-rail span { display: block; margin-bottom: 56px; color: #d9ff3f; font-size: 11px; }
.qe-journey-rail b { font-family: var(--wp--preset--font-family--display); font-size: clamp(23px,2.2vw,36px); font-weight: 400; }
.qe-journey-system > p.has-large-font-size { max-width: 62ch; }
.qe-lifecycle-email-image img { width: 100%; max-height: 700px; object-fit: contain; }
.qe-campaign-rail { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; margin-top: 48px; }
.qe-campaign-rail div { min-height: 230px; padding: 26px; background: #f3eee4; border: 1px solid #151512; }
.qe-campaign-rail b { font-family: var(--wp--preset--font-family--display); font-size: clamp(27px,2.5vw,38px); font-weight: 400; }
.qe-lifecycle-outcomes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 48px; border-top: 1px solid #151512; border-left: 1px solid #151512; }
.qe-lifecycle-outcomes article { min-height: 280px; padding: 30px; border-right: 1px solid #151512; border-bottom: 1px solid #151512; }
.qe-lifecycle-outcomes h3 { margin-top: 34px; }
.qe-window-hero h1, .qe-newland-hero h1 { max-width: 13ch; }
.qe-window-hero > p.has-large-font-size, .qe-newland-hero > p.has-large-font-size { max-width: 56ch; }
.qe-window-artifact img, .qe-newland-artifact img, .qe-newland-landscape img { width: 100%; border: 1px solid #151512; background: #fff; }
.qe-window-principle-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 48px; border-top: 1px solid rgba(243,238,228,.45); border-left: 1px solid rgba(243,238,228,.45); }
.qe-window-principle-grid article { min-height: 280px; padding: 28px; border-right: 1px solid rgba(243,238,228,.45); border-bottom: 1px solid rgba(243,238,228,.45); }
.qe-window-principle-grid span { color: #d9ff3f; font-size: 12px; }
.qe-window-principle-grid h3 { margin: 72px 0 12px; font-family: var(--wp--preset--font-family--display); font-size: clamp(32px,3vw,46px); font-weight: 400; }
.qe-newland-logo { margin-bottom: 48px; padding: 18px; background: #f3eee4; }
.qe-newland-research-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 42px 0; }
.qe-newland-research-grid article { padding: 26px; border: 1px solid #151512; background: #f3eee4; }
.qe-newland-research-grid b { font-family: var(--wp--preset--font-family--display); font-size: clamp(34px,3vw,48px); font-weight: 400; }
.qe-newland-insight h2 { max-width: 18ch; }
.qe-newland-system-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 48px; border: 1px solid #151512; }
.qe-newland-system-grid article { min-height: 300px; padding: 26px; border-right: 1px solid #151512; }
.qe-newland-system-grid article:last-child { border-right: 0; }
.qe-newland-system-grid span { font-size: 12px; }
.qe-newland-system-grid h3 { margin: 70px 0 12px; font-family: var(--wp--preset--font-family--display); font-size: clamp(30px,2.7vw,42px); font-weight: 400; }
.qe-authorable-media-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 48px; }
.qe-authorable-media { display: flex; flex-direction: column; justify-content: flex-end; min-height: 360px; padding: 28px; border: 2px dashed #151512; background: rgba(243,238,228,.5); }
.qe-authorable-media span { margin-bottom: auto; font-size: 10px; letter-spacing: .16em; }
.qe-authorable-media strong { font-family: var(--wp--preset--font-family--display); font-size: clamp(30px,3vw,44px); font-weight: 400; line-height: 1; }
.qe-authorable-media small { margin-top: 16px; font-size: 14px; }
.qe-case-index-card h3 a { color: inherit; text-decoration-thickness: 1px; }
.qe-case-index-card > figure img { aspect-ratio: 4 / 3; object-fit: cover; }
.qe-research-hero h1, .qe-citrus-hero h1 { max-width: 13ch; }
.qe-research-hero > p.has-large-font-size, .qe-citrus-hero > p.has-large-font-size { max-width: 55ch; }
.qe-research-redacted-image img, .qe-citrus-artifact img, .qe-citrus-wide-artifact img { width: 100%; border: 1px solid #151512; }
.qe-research-streams { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 46px; }
.qe-research-streams article { min-height: 290px; padding: 28px; border: 1px solid #151512; background: #f3eee4; }
.qe-research-streams b { font-family: var(--wp--preset--font-family--display); font-size: clamp(32px,3vw,46px); font-weight: 400; }
.qe-research-question-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 48px; border-top: 1px solid rgba(243,238,228,.45); border-left: 1px solid rgba(243,238,228,.45); }
.qe-research-question-grid p { min-height: 120px; margin: 0; padding: 26px; border-right: 1px solid rgba(243,238,228,.45); border-bottom: 1px solid rgba(243,238,228,.45); font-family: var(--wp--preset--font-family--display); font-size: clamp(26px,2.5vw,38px); line-height: 1; }
.qe-citrus-audit-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 46px; border-top: 1px solid #151512; border-left: 1px solid #151512; }
.qe-citrus-audit-grid article { min-height: 250px; padding: 28px; border-right: 1px solid #151512; border-bottom: 1px solid #151512; }
.qe-citrus-audit-grid b { font-family: var(--wp--preset--font-family--display); font-size: clamp(32px,3vw,46px); font-weight: 400; }
.qe-citrus-wide-artifact { margin-top: 52px; }
.qe-case-index-grid-two { margin-top: 24px; }

@media (max-width: 1000px) {
  .qe-case-index-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .qe-lifecycle-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .qe-lifecycle-steps article { border-bottom: 1px solid #151512; }
  .qe-lifecycle-steps article:nth-child(2) { border-right: 0; }
  .qe-lifecycle-steps article:nth-child(n+3) { border-bottom: 0; }
  .qe-journey-rail { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .qe-journey-rail div { border-bottom: 1px solid rgba(243,238,228,.35); }
  .qe-campaign-rail { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .qe-campaign-rail div:last-child { grid-column: 1 / -1; min-height: auto; }
  .qe-newland-system-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .qe-newland-system-grid article { border-bottom: 1px solid #151512; }
  .qe-newland-system-grid article:nth-child(2) { border-right: 0; }
  .qe-newland-system-grid article:nth-child(n+3) { border-bottom: 0; }
  .qe-research-streams { grid-template-columns: 1fr; }
  .qe-research-streams article { min-height: auto; }
}
@media (max-width: 600px) {
  .qe-case-index-grid { grid-template-columns: 1fr !important; }
  .qe-lifecycle-steps, .qe-lifecycle-outcomes, .qe-campaign-rail { grid-template-columns: 1fr; }
  .qe-lifecycle-steps article { min-height: auto; border-right: 0; border-bottom: 1px solid #151512 !important; }
  .qe-lifecycle-steps article:last-child { border-bottom: 0 !important; }
  .qe-lifecycle-steps h3 { margin-top: 28px; }
  .qe-journey-rail { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .qe-journey-rail div { min-height: 120px; }
  .qe-journey-rail span { margin-bottom: 34px; }
  .qe-campaign-rail div, .qe-campaign-rail div:last-child { grid-column: auto; min-height: auto; }
  .qe-lifecycle-outcomes article { min-height: auto; }
  .qe-window-principle-grid, .qe-newland-research-grid, .qe-newland-system-grid, .qe-authorable-media-grid { grid-template-columns: 1fr; }
  .qe-window-principle-grid article, .qe-newland-system-grid article { min-height: auto; border-right: 0; border-bottom: 1px solid currentColor !important; }
  .qe-window-principle-grid article:last-child, .qe-newland-system-grid article:last-child { border-bottom: 0 !important; }
  .qe-window-principle-grid h3, .qe-newland-system-grid h3 { margin-top: 30px; }
  .qe-authorable-media { min-height: 260px; }
  .qe-research-question-grid, .qe-citrus-audit-grid { grid-template-columns: 1fr; }
  .qe-research-question-grid p, .qe-citrus-audit-grid article { min-height: auto; }
}

/* V2 responsive quality system */
header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: block;
  box-shadow: 0 4px 0 #d9ff3f;
}
.admin-bar header.wp-block-template-part { top: 32px; }
.qe-header { position: relative; top: auto; }
.qe-logo-mark { flex: 0 0 42px; background: #d9ff3f; color: #151512; border-color: #151512; }
.qe-header .wp-block-navigation__container > .wp-block-navigation-item:last-child { display: none; }
.qe-footer { padding-bottom: 130px !important; }
.qe-back-top { right: 24px; bottom: 24px; background: #d9ff3f; color: #151512; box-shadow: 0 0 0 4px rgba(243,238,228,.88); }

.entry-content :is(h1,h2,h3,h4,h5,h6,p,li,figcaption) { text-align: left; }
.entry-content > .wp-block-group.alignfull[style*="spacing--100"] {
  padding-top: clamp(54px,6vw,82px) !important;
  padding-bottom: clamp(54px,6vw,82px) !important;
}

.qe-brand-logo { margin: 0 0 20px !important; }
.qe-brand-logo a { display: block; }
.qe-brand-logo-image {
  display: block;
  width: 100%;
  aspect-ratio: 20 / 9;
  box-sizing: border-box;
  border: 12px solid #fff;
  background-color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.qe-brand-logo a:hover .qe-brand-logo-image,
.qe-brand-logo a:focus-visible .qe-brand-logo-image { outline: 3px solid #d9ff3f; outline-offset: -3px; }

.qe-case-index-grid { align-items: stretch !important; }
.qe-case-index-card { min-height: 760px; }
.qe-case-index-card > .qe-kicker { margin-top: 0; }
.qe-case-index-card > p:not(.qe-kicker):not(:last-child) { margin-bottom: 20px; }
.qe-case-index-card > p:last-child { width: 100%; margin-top: auto !important; padding-top: 22px; text-align: left !important; }
.qe-case-index-card > p:last-child a { display: inline-flex; align-items: center; }
.qe-case-card-lifecycle img { object-position: center top !important; }
.qe-case-index-card-contain > figure img { object-fit: contain !important; object-position: center !important; }

.qe-cta:not(.qe-has-existing-arrow)::after { content: " ↗"; white-space: nowrap; }

html.qe-modal-open { overflow: hidden; }
.qe-modal-view > .wp-site-blocks > header,
.qe-modal-view > .wp-site-blocks > footer,
.qe-modal-view .qe-back-top { display: none !important; }
.qe-case-modal[hidden] { display: none; }
.qe-case-modal { position: fixed; inset: 0; z-index: 1000000; display: grid; place-items: center; padding: clamp(10px,2vw,28px); }
.qe-case-modal-backdrop { position: absolute; inset: 0; background: rgba(21,21,18,.82); backdrop-filter: blur(8px); }
.qe-case-modal-panel { position: relative; display: grid; grid-template-rows: auto 1fr; width: min(1280px,96vw); height: min(900px,94dvh); overflow: hidden; border: 2px solid #151512; background: #f3eee4; box-shadow: 12px 12px 0 #d9ff3f; }
.qe-case-modal-panel header { display: flex; align-items: center; gap: 20px; min-height: 62px; padding: 10px 14px 10px 20px; border-bottom: 1px solid #151512; background: #f3eee4; }
.qe-case-modal-panel header p { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .15em; }
.qe-case-modal-new { margin-left: auto; color: inherit; font-size: 13px; }
.qe-case-modal-panel button { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid #151512; border-radius: 50%; background: #d9ff3f; color: #151512; font-size: 30px; line-height: 1; cursor: pointer; }
.qe-case-modal-panel iframe { width: 100%; height: 100%; border: 0; background: #f3eee4; }

.qe-process-section { overflow: hidden; }
.qe-process-graphic { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: clamp(28px,5vw,72px); margin-top: 30px; }
.qe-process-heading { grid-column: 1 / -1; display: flex; align-items: end; justify-content: space-between; gap: 24px; border-bottom: 1px solid #151512; }
.qe-process-heading h2 { max-width: 18ch; margin: 0 0 22px; font-family: var(--wp--preset--font-family--display); font-size: clamp(42px,5vw,72px); font-weight: 400; line-height: .95; }
.qe-process-heading p { max-width: 34ch; margin-bottom: 22px; }
.qe-process-wheel { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; align-content: start; }
.qe-process-wheel button { display: flex; flex-direction: column; min-height: 116px; padding: 18px; border: 1px solid #151512; background: transparent; color: #151512; font: inherit; font-weight: 600; text-align: left; cursor: pointer; }
.qe-process-wheel button span { margin-bottom: auto; font-family: var(--wp--preset--font-family--display); font-size: 32px; font-weight: 400; }
.qe-process-wheel button[aria-selected="true"], .qe-process-wheel button:hover, .qe-process-wheel button:focus-visible { background: #d9ff3f; }
.qe-process-detail { display: grid; grid-template-columns: auto 1fr; gap: 24px; min-height: 350px; padding: clamp(26px,4vw,54px); border: 1px solid #151512; background: #f3eee4; }
.qe-process-detail > span { font-family: var(--wp--preset--font-family--display); font-size: clamp(64px,8vw,118px); line-height: .75; opacity: .2; }
.qe-process-detail h3 { margin: 0 0 18px; font-family: var(--wp--preset--font-family--display); font-size: clamp(38px,5vw,66px); font-weight: 400; line-height: .9; }
.qe-process-detail p { max-width: 54ch; }
.qe-process-detail small { display: block; margin-top: 24px; padding-top: 16px; border-top: 1px solid #151512; font-size: 12px; line-height: 1.5; }

@media (max-width: 1100px) {
  .qe-case-index-card { min-height: 700px; }
}
@media (max-width: 781px) {
  .admin-bar header.wp-block-template-part { top: 46px; }
  .qe-topline { padding-inline: 14px !important; }
  .qe-topline .wp-block-columns { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 5px 14px !important; margin: 0; }
  .qe-topline .wp-block-column { display: block !important; }
  .qe-topline .wp-block-column:first-child { grid-column: 1 / -1; }
  .qe-topline p { margin: 0; font-size: 8px; line-height: 1.3; text-align: left !important; }
  .qe-header { min-height: 66px; padding: 11px 16px !important; background: #151512 !important; color: #f3eee4 !important; }
  .qe-header > .wp-block-group:first-child { flex: 1 1 auto; min-width: 0; }
  .qe-header .wp-block-site-title { margin: 0; white-space: nowrap; }
  .qe-header .wp-block-site-title a { color: inherit; }
  .qe-header-contact { display: none !important; }
  .qe-header .wp-block-navigation__container > .wp-block-navigation-item:last-child { display: flex; }
  .qe-logo-mark { width: 42px; height: 42px; flex-basis: 42px; }
  .entry-content > .wp-block-group.alignfull[style*="spacing--100"] { padding-top: 44px !important; padding-bottom: 44px !important; }
  .qe-footer { padding-bottom: 140px !important; }
  .qe-footer .has-text-align-right { text-align: left !important; }
  .qe-case-index-card { min-height: 0; }
  .qe-case-index-card h3 { font-size: clamp(36px,11vw,50px) !important; }
  .qe-case-index-card > p:last-child { margin-top: 26px !important; }
  .qe-case-modal { padding: 0; }
  .qe-case-modal-panel { width: 100vw; height: 100dvh; border: 0; box-shadow: none; }
  .qe-case-modal-panel header { min-height: 58px; padding-left: 14px; }
  .qe-case-modal-new { font-size: 11px; }
  .qe-process-graphic { grid-template-columns: 1fr; gap: 20px; }
  .qe-process-heading { display: block; }
  .qe-process-heading p { margin-bottom: 20px; }
  .qe-process-wheel { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .qe-process-wheel button { min-height: 94px; padding: 12px; font-size: 11px; }
  .qe-process-wheel button span { font-size: 25px; }
  .qe-process-detail { min-height: 0; padding: 24px; }
  .qe-process-detail > span { font-size: 54px; }
}
@media (max-width: 420px) {
  .qe-header .wp-block-site-title { display: none; }
  .qe-process-wheel { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* V14: concise, fully clickable case-study cards. */
.qe-case-index-card {
  min-height: 600px;
  cursor: pointer;
}
.qe-case-index-card > p:not(.qe-kicker):not(:last-child) { display: none; }
.qe-case-index-card > p:last-child,
.qe-case-card-cta {
  width: 100%;
  margin-top: auto !important;
  padding-top: 24px;
  text-align: left !important;
}
.qe-case-index-card > p:last-child a,
.qe-case-card-cta a { display: inline-flex; align-items: center; }
.qe-card-clickable:focus-visible {
  outline: 4px solid #d9ff3f;
  outline-offset: 4px;
}

/* V14: all six authorable stages shown together with no clicks required. */
.qe-process-graphic { display: block; }
.qe-process-map {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  margin-top: 28px;
  border: 1px solid #151512;
  background: #f3eee4;
}
.qe-process-node {
  position: relative;
  min-width: 0;
  min-height: 260px;
  padding: clamp(18px,2vw,28px);
  border-right: 1px solid #151512;
}
.qe-process-node:last-child { border-right: 0; }
.qe-process-node:not(:last-child)::after {
  content: "→";
  position: absolute;
  z-index: 2;
  top: 24px;
  right: -14px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid #151512;
  border-radius: 50%;
  background: #d9ff3f;
  font-size: 17px;
}
.qe-process-node > span {
  display: block;
  margin-bottom: 42px;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(30px,3vw,46px);
  line-height: 1;
  opacity: .38;
}
.qe-process-node h3 {
  margin: 0 0 18px;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(24px,2.1vw,36px);
  font-weight: 400;
  line-height: .95;
  overflow-wrap: normal;
  word-break: normal;
}
.qe-process-node p { margin: 0; font-size: clamp(13px,1.1vw,17px); line-height: 1.4; }
.qe-process-node:nth-child(1) { background: #d9ff3f; }
.qe-process-node:nth-child(3) { background: #ff746d; }
.qe-process-node:nth-child(5) { background: #ab99f6; }
.qe-about-wink h3 { text-wrap: balance; }
.qe-no-break { white-space: nowrap; }
.qe-metric p {
  width: 100%;
  max-width: none;
  font-size: clamp(18px,1.55vw,24px) !important;
  line-height: 1.42 !important;
  text-wrap: pretty;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.qe-process-node h3 {
  font-size: clamp(21px,1.75vw,30px);
  white-space: nowrap;
}

@media (max-width: 1279px) {
  .qe-case-index-card { min-height: 540px; }
  .qe-process-map { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .qe-process-node { min-height: 230px; border-bottom: 1px solid #151512; }
  .qe-process-node:nth-child(3n) { border-right: 0; }
  .qe-process-node:nth-child(n+4) { border-bottom: 0; }
  .qe-process-node:nth-child(3)::after { display: none; }
  .qe-process-node h3 { font-size: clamp(24px,3vw,34px); }
}
@media (max-width: 781px) {
  .qe-case-index-card { min-height: 0; }
  .qe-case-index-card > p:last-child,
  .qe-case-card-cta { margin-top: 28px !important; }
  .qe-metric p { font-size: 18px !important; }
  .qe-process-map { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .qe-process-node { min-height: 200px; border-right: 1px solid #151512; border-bottom: 1px solid #151512; }
  .qe-process-node:nth-child(3n) { border-right: 1px solid #151512; }
  .qe-process-node:nth-child(2n) { border-right: 0; }
  .qe-process-node:nth-child(n+4) { border-bottom: 1px solid #151512; }
  .qe-process-node:nth-child(n+5) { border-bottom: 0; }
  .qe-process-node:nth-child(3)::after { display: grid; }
  .qe-process-node:nth-child(2n)::after { display: none; }
  .qe-process-node > span { margin-bottom: 28px; }
}
@media (max-width: 420px) {
  .qe-process-node { min-height: 190px; padding: 16px; }
  .qe-process-node h3 { font-size: 21px; }
  .qe-process-node p { font-size: 13px; }
}


/* Mobile navigation viewport and short-screen scrolling fix. */
@media (max-width: 781px) {
  .qe-header {
    backdrop-filter: none;
  }

  .wp-block-navigation__responsive-container.is-menu-open {
    box-sizing: border-box;
    max-height: 100dvh;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
}
