.fq {--paper: #F1ECE0; --paper-2: #E8E1D0; --paper-hi: #FAF6EC;
  --ink: #1B2E22; --ink-2: #2B2B2B; --mute: #6B6A5E;
  --yellow: #F5C400; --yellow-2: #FFD633; --yellow-soft: #FFF4C7;
  --line: rgba(27,46,34,0.16); --line-soft: rgba(27,46,34,0.08);
  --grid: rgba(27,46,34,0.05);
  --botanical: #5D7A4E;
  --botanical-soft: #C8D4B8;
  --petal: #E8B62C;
  --petal-soft: #F4D67E;
  --warn: #B03B24;
  --warn-soft: #FBE3D6;
  --ff-display: 'Poppins', system-ui, sans-serif;
  --ff-body: 'Inter', system-ui, -apple-system, sans-serif;
  --ff-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --snap: cubic-bezier(0.19, 1, 0.22, 1);
  --pad: clamp(1.25rem, 4vw, 4rem);
  --sec-y: clamp(4rem, 8vw, 8rem);
  --maxw: 1560px;}
:where(.fq) a {color: inherit; text-decoration: none;}
:where(.fq) img {max-width: 100%; height: auto; display: block;}
:where(.fq) ul, :where(.fq) ol {list-style: none;}
:where(.fq) button {font: inherit; cursor: pointer; border: none; background: none; color: inherit;}
.fq-visually-hidden {position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0);}
.fq-btn {display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  font-family: var(--ff-display); font-weight: 700; font-size: .82rem;
  padding: .85rem 1.4rem; border-radius: 100px; border: 2px solid transparent;
  transition: background .2s, color .2s, transform .2s var(--snap), border-color .2s, box-shadow .25s;
  white-space: nowrap; cursor: pointer;}
.fq-btn svg {width: 12px; height: 12px; transition: transform .3s var(--snap);}
.fq-btn:hover svg {transform: translateX(3px);}
:where(.fq) .btn-yellow {background: var(--yellow); color: var(--ink); border-color: var(--yellow); box-shadow: 0 6px 18px -6px rgba(245,196,0,.6);}
:where(.fq) .btn-yellow:hover {background: var(--yellow-2); border-color: var(--yellow-2); transform: translateY(-1px);}
.fq-btn-forest {background: var(--ink); color: var(--paper-hi); border-color: var(--ink);}
.fq-btn-forest:hover {background: var(--yellow); color: var(--ink); border-color: var(--yellow); transform: translateY(-1px);}
.fq-btn-ghost {background: transparent; color: currentColor; border-color: currentColor;}
.fq-btn-ghost:hover {background: currentColor; color: var(--paper-hi);}
.fq-btn-lg {padding: 1.1rem 1.75rem; font-size: .86rem;}
.fq-btn-xl {padding: 1.25rem 2rem; font-size: .9rem;}
:where(.fq) section {padding: var(--sec-y) var(--pad); position: relative;}
.fq-shell {max-width: var(--maxw); margin: 0 auto;}
.fq-sec-head {display: grid; grid-template-columns: minmax(120px, 180px) 1fr;
  gap: clamp(1.5rem, 4vw, 4rem); padding-bottom: 2rem;
  border-bottom: 2px solid var(--ink); margin-bottom: clamp(2.5rem, 5vw, 4.5rem); align-items: end;}
.fq-sec-tag {font-family: var(--ff-mono); font-weight: 600; font-size: .68rem; letter-spacing: .16em;
  text-transform: uppercase; color: var(--ink); padding-bottom: .35rem;
  display: inline-flex; align-items: center; gap: .6rem;}
.fq-sec-tag::before {content: ''; width: 8px; height: 8px; background: var(--yellow);}
.fq-sec-title {display: grid; grid-template-columns: 1.3fr 1fr; gap: 3rem; align-items: end;}
.fq-h2 {font-family: var(--ff-display); font-weight: 800;
  font-size: clamp(1.9rem, 4.6vw, 4.25rem); line-height: .98; letter-spacing: -.035em;
  color: var(--ink); text-wrap: balance;}
.fq-h2 em {font-style: normal; background: var(--yellow); padding: 0 .12em;}
.fq-lede {font-family: var(--ff-body); font-weight: 500; font-size: .98rem; line-height: 1.6;
  color: rgba(43,43,43,.72); max-width: 42ch;}
.fq-lede strong {color: var(--ink); font-weight: 700;}
.fq-masthead {padding: 8.5rem var(--pad) 0;
  background: var(--paper);}
.fq-masthead-inner {max-width: var(--maxw); margin: 0 auto;}
.fq-cover-strip {display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  border: 2px solid var(--ink);
  background: var(--paper-hi);
  margin-bottom: 3rem;
  position: relative;}
.fq-cover-strip::before, .fq-cover-strip::after {content: ''; position: absolute; width: 18px; height: 18px;
  border: 2px solid var(--ink); pointer-events: none;}
.fq-cover-strip::before {top: -2px; left: -2px; border-right: none; border-bottom: none;}
.fq-cover-strip::after {bottom: -2px; right: -2px; border-left: none; border-top: none;}
.fq-cover-cell {padding: 1.15rem 1.35rem 1.1rem;
  border-right: 1px solid var(--line);
  display: flex; flex-direction: column; gap: .4rem;}
.fq-cover-cell:last-child {border-right: none;}
.fq-cover-cell__k {font-family: var(--ff-mono); font-weight: 600; font-size: .58rem;
  letter-spacing: .22em; text-transform: uppercase; color: var(--mute);}
.fq-cover-cell__v {font-family: var(--ff-display); font-weight: 800;
  font-size: 1.05rem; letter-spacing: -.02em; color: var(--ink);}
.fq-cover-cell__v .fq-accent {color: var(--petal);}
:where(.fq) .cover-cell--live .fq-cover-cell__v {display: inline-flex; align-items: center; gap: .6rem;}
:where(.fq) .cover-cell--live .fq-cover-cell__v::before {content: ''; width: 8px; height: 8px; border-radius: 50%;
  background: #6FDD8F; box-shadow: 0 0 0 3px rgba(111,221,143,.25);
  animation: pulseDot 1.8s infinite;}
@keyframes pulseDot { 50% { opacity: .35; } }
.fq-masthead-grid {display: grid;
  grid-template-columns: 1.05fr minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  margin-bottom: 3rem;}
.fq-herb-panel__kicker {font-family: var(--ff-mono); font-weight: 700; font-size: .68rem;
  letter-spacing: .22em; text-transform: uppercase; color: var(--ink);
  display: inline-flex; align-items: center; gap: .6rem; margin-bottom: 1.35rem;}
.fq-herb-panel__kicker::before {content: ''; width: 8px; height: 8px; background: var(--petal);}
.fq-herb-panel h1 {font-family: var(--ff-display); font-weight: 900;
  font-size: clamp(2rem, 4.6vw, 3.75rem); line-height: .97; letter-spacing: -.04em;
  color: var(--ink); margin-bottom: 1.35rem; text-wrap: balance;}
.fq-herb-panel h1 em {font-style: italic; font-weight: 700;
  color: var(--botanical);
  font-family: var(--ff-display);}
.fq-herb-panel__lede {font-family: var(--ff-body); font-weight: 500;
  font-size: clamp(.98rem, 1.05vw, 1.06rem); line-height: 1.65;
  color: rgba(43,43,43,.78); max-width: 48ch; margin-bottom: 1.75rem;}
.fq-herb-panel__lede strong {color: var(--ink); font-weight: 700;}
.fq-search-wrap {margin-bottom: 1.5rem; max-width: 520px;}
.fq-search {position: relative; display: flex; align-items: center;
  background: var(--paper-hi);
  border: 1.5px solid var(--ink);
  border-radius: 100px; padding: .15rem .35rem .15rem 1.1rem;
  transition: box-shadow .25s;}
.fq-search:focus-within {box-shadow: 0 0 0 4px rgba(245,196,0,.4);}
.fq-search__icon {width: 17px; height: 17px; flex-shrink: 0; color: var(--mute); transition: color .2s;}
.fq-search:focus-within .fq-search__icon {color: var(--ink);}
.fq-search input {flex: 1; min-width: 0; border: none; background: transparent;
  font: 600 .95rem/1 var(--ff-body); color: var(--ink);
  padding: 1rem .85rem; outline: none; appearance: none;}
.fq-search input::placeholder {color: rgba(107,106,94,.6); font-weight: 500;}
.fq-search input::-webkit-search-cancel-button {-webkit-appearance: none; appearance: none;}
.fq-search__count {font-family: var(--ff-mono); font-weight: 700; font-size: .68rem;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--ink); padding-right: 1rem; white-space: nowrap;}
.fq-search-wrap__hint {font-family: var(--ff-mono); font-weight: 500; font-size: .68rem;
  letter-spacing: .06em; color: var(--mute);
  margin-top: .65rem; padding-left: 1.1rem;}
.fq-herb-panel__actions {display: flex; flex-wrap: wrap; gap: .65rem;}
.fq-herb-fig {margin: 0; position: relative;
  background: var(--paper-hi);
  border: 2px solid var(--ink);
  padding: 1.25rem;}
.fq-herb-fig__head {display: flex; justify-content: space-between; align-items: baseline;
  padding-bottom: .85rem; margin-bottom: 1rem;
  border-bottom: 1px solid var(--ink);
  font-family: var(--ff-mono); font-weight: 600; font-size: .62rem;
  letter-spacing: .16em; text-transform: uppercase; color: var(--mute);
  flex-wrap: wrap; gap: .35rem 1rem;}
.fq-herb-fig__head b {color: var(--ink); font-weight: 700;}
.fq-herb-fig__plate {aspect-ratio: 1 / 1;
  background: var(--paper-hi);
  border: 1px solid var(--line);
  position: relative;
  overflow: hidden;}
.fq-herb-fig__plate::after {content: ''; position: absolute; inset: 0; pointer-events: none;
  box-shadow: inset 0 0 80px rgba(27,46,34,.06);}
.fq-herb-fig__plate svg {width: 100%; height: 100%; display: block;}
.fq-herb-fig__foot {display: flex; flex-wrap: wrap; gap: .65rem 1.4rem;
  padding-top: 1rem; margin-top: 1rem;
  border-top: 1px solid var(--line);
  font-family: var(--ff-mono); font-weight: 600; font-size: .62rem;
  letter-spacing: .12em; text-transform: uppercase; color: var(--mute);}
.fq-herb-fig__foot > span {display: inline-flex; align-items: center; gap: .5rem;}
.fq-herb-fig__foot .fq-swatch {width: 11px; height: 11px; border-radius: 50%;
  border: 1.4px solid var(--ink); display: inline-block;}
.fq-swatch--petal {background: var(--petal);}
.fq-swatch--leaf {background: var(--botanical);}
.fq-swatch--stem {background: #3E5B32;}
.fq-herb-fig__foot-hint {margin-left: auto;}
.fq-petal {transform-box: fill-box;
  transform-origin: center;
  transition: transform .5s var(--snap);}
.fq-herb-fig:hover .fq-petal-1 {transform: rotate(-3deg);}
.fq-herb-fig:hover .fq-petal-2 {transform: rotate(3deg);}
.fq-herb-fig:hover .fq-petal-3 {transform: rotate(-2deg);}
.fq-herb-fig:hover .fq-petal-4 {transform: rotate(2.5deg);}
.fq-herb-fig:hover .fq-petal-5 {transform: rotate(-1.5deg);}
.fq-stem-sway {transform-box: fill-box;
  transform-origin: bottom center;
  animation: stemSway 6s ease-in-out infinite;}
@keyframes stemSway { 0%,100% { transform: rotate(-1deg); } 50% { transform: rotate(1deg); } }
.fq-jump {position: sticky; top: 72px; z-index: 800;
  background: rgba(241,236,224,.96); border-bottom: 1px solid var(--line); border-top: 1px solid var(--line);}
.fq-jump-inner {max-width: var(--maxw); margin: 0 auto; padding: .7rem var(--pad);
  display: flex; gap: .4rem; overflow-x: auto; scrollbar-width: none;}
.fq-jump-inner::-webkit-scrollbar {display: none;}
.fq-jump a {flex-shrink: 0; font-family: var(--ff-mono); font-weight: 600; font-size: .68rem;
  letter-spacing: .08em; text-transform: uppercase; padding: .55rem .95rem;
  color: var(--mute); transition: background .2s, color .2s; white-space: nowrap;
  display: inline-flex; align-items: center; gap: .5rem;
  border: 1px solid transparent;}
.fq-jump a .fq-swatch-dot {width: 7px; height: 7px; border-radius: 50%;
  background: var(--sw, var(--yellow));}
.fq-jump a:hover {background: var(--paper-2); color: var(--ink);}
.fq-jump a.fq-on {background: var(--ink); color: var(--paper-hi);}
.fq-jump a.fq-on .fq-swatch-dot {background: var(--yellow);}
:where(.fq) #fq-manual {background: var(--paper);}
.fq-manual-grid {display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;}
.fq-rail {position: sticky; top: 130px;
  border-top: 2px solid var(--ink);
  padding-top: 1.25rem;}
.fq-rail__label {font-family: var(--ff-mono); font-weight: 700; font-size: .6rem;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--mute); margin-bottom: 1rem;
  display: flex; justify-content: space-between; align-items: baseline;
  gap: 1rem;}
.fq-rail__label em {font-style: normal; color: var(--ink);
  font-family: var(--ff-display); font-weight: 800;
  letter-spacing: -.01em; font-size: .82rem; text-transform: none;}
.fq-rail__list {display: flex; flex-direction: column; gap: 0;}
.fq-rail__family {display: grid; grid-template-columns: auto 1fr auto;
  align-items: center; gap: .85rem;
  padding: .9rem 0;
  border-bottom: 1px solid var(--line-soft);
  transition: padding-left .3s var(--snap);
  position: relative;
  cursor: pointer;}
.fq-rail__family::before {content: ''; position: absolute; left: -12px; top: 50%;
  width: 4px; height: 16px; background: var(--sw, var(--yellow));
  transform: translateY(-50%) scaleY(0);
  transform-origin: center;
  transition: transform .35s var(--snap);
  border-radius: 2px;}
.fq-rail__family:hover, .fq-rail__family:focus-visible {padding-left: .5rem;}
.fq-rail__family.fq-is-active::before {transform: translateY(-50%) scaleY(1);}
.fq-rail__swatch {width: 22px; height: 22px; border-radius: 50%;
  background: var(--sw, var(--yellow));
  border: 1.5px solid var(--ink);
  position: relative; flex-shrink: 0;}
.fq-rail__swatch::after {content: ''; position: absolute; inset: 4px;
  border-radius: 50%; border: 1px solid rgba(27,46,34,.2);}
.fq-rail__body {display: flex; flex-direction: column; gap: .2rem;
  min-width: 0;}
.fq-rail__name {font-family: var(--ff-display); font-weight: 800;
  font-size: .92rem; letter-spacing: -.01em; color: var(--ink);
  line-height: 1.15;}
.fq-rail__latin {font-family: var(--ff-mono); font-weight: 500; font-style: italic;
  font-size: .66rem; letter-spacing: .04em; color: var(--mute);}
.fq-rail__count {font-family: var(--ff-mono); font-weight: 700; font-size: .68rem;
  color: var(--mute); letter-spacing: .06em;
  padding: .2rem .5rem;
  background: var(--paper-2);
  border-radius: 2px;}
.fq-families {display: flex; flex-direction: column; gap: clamp(3rem, 6vw, 5rem);}
.fq-family {scroll-margin-top: 140px;}
.fq-family__head {display: grid; grid-template-columns: auto 1fr auto;
  gap: 1.25rem; align-items: center;
  padding-bottom: 1.25rem; margin-bottom: .85rem;
  border-bottom: 2px solid var(--ink);}
.fq-family__mark {width: 56px; height: 56px;
  background: var(--sw, var(--yellow));
  border: 1.5px solid var(--ink);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  position: relative; flex-shrink: 0;}
.fq-family__mark::after {content: ''; position: absolute; inset: 5px;
  border: 1px solid rgba(27,46,34,.22);
  border-radius: 50%;}
.fq-family__mark svg {width: 34px; height: 34px; display: block;
  color: var(--ink);}
.fq-family__title-block {min-width: 0;}
.fq-family__ref {font-family: var(--ff-mono); font-weight: 700; font-size: .68rem;
  letter-spacing: .18em; text-transform: uppercase; color: var(--mute);
  display: block; margin-bottom: .25rem;}
.fq-family__title {font-family: var(--ff-display); font-weight: 800;
  font-size: clamp(1.4rem, 2.6vw, 2rem); letter-spacing: -.03em;
  color: var(--ink); line-height: 1.05;}
.fq-family__title em {font-style: italic; font-weight: 600; color: var(--botanical);
  font-size: .85em; margin-left: .35em;}
.fq-family__count {font-family: var(--ff-mono); font-weight: 700; font-size: .62rem;
  letter-spacing: .14em; text-transform: uppercase; color: var(--mute);
  white-space: nowrap;}
.fq-family__intro {font-family: var(--ff-body); font-weight: 500; font-size: .96rem;
  line-height: 1.65; color: rgba(43,43,43,.75);
  max-width: 68ch; margin-bottom: 1.75rem;}
.fq-family__intro a {color: var(--ink); font-weight: 700;
  text-decoration: underline; text-decoration-color: var(--yellow);
  text-decoration-thickness: 2px; text-underline-offset: 3px;}
.fq-specimens {display: flex; flex-direction: column; gap: 1.15rem;}
.fq-spec {background: var(--paper-hi);
  border: 1.5px solid var(--ink);
  padding: 1.6rem 1.85rem 1.4rem;
  position: relative;
  transition: box-shadow .3s var(--snap);
  scroll-margin-top: 140px;}
.fq-spec:hover {box-shadow: 0 20px 40px -30px rgba(27,46,34,.4);}
.fq-spec.fq-is-hidden {display: none;}
.fq-spec__head {display: grid; grid-template-columns: auto 1fr;
  gap: 1.25rem; align-items: baseline;
  padding-bottom: .85rem; margin-bottom: 1rem;
  border-bottom: 1px dashed var(--line);}
.fq-spec__ref {font-family: var(--ff-mono); font-weight: 700; font-size: .68rem;
  letter-spacing: .08em; color: var(--ink);
  background: var(--sw, var(--yellow));
  padding: .3rem .6rem;
  flex-shrink: 0;}
.fq-spec__title {font-family: var(--ff-display); font-weight: 800;
  font-size: clamp(1.05rem, 1.65vw, 1.22rem); letter-spacing: -.02em;
  color: var(--ink); line-height: 1.25;}
.fq-spec__quick {font-family: var(--ff-body); font-weight: 700; font-size: .96rem;
  line-height: 1.55; color: var(--ink);
  padding-left: 1rem; border-left: 3px solid var(--sw, var(--yellow));
  margin-bottom: 1rem;}
.fq-spec__quick b {font-weight: 800;}
.fq-spec__body {font-family: var(--ff-body); font-weight: 500; font-size: .94rem;
  line-height: 1.7; color: rgba(43,43,43,.8);
  display: flex; flex-direction: column; gap: .85rem;}
.fq-spec__body strong {color: var(--ink); font-weight: 700;}
.fq-spec__body a {color: var(--ink); font-weight: 700;
  text-decoration: underline; text-decoration-color: var(--sw, var(--yellow));
  text-decoration-thickness: 2px; text-underline-offset: 3px;}
.fq-spec__body ul {display: flex; flex-direction: column; gap: .45rem;
  margin-top: .35rem;}
.fq-spec__body ul li {padding-left: 1.25rem; position: relative;}
.fq-spec__body ul li::before {content: ''; position: absolute; left: 0; top: .62em;
  width: 10px; height: 2px; background: var(--sw, var(--yellow));}
.fq-spec__foot {display: flex; flex-wrap: wrap; align-items: center;
  gap: .5rem 1.5rem;
  padding-top: 1rem; margin-top: 1.15rem;
  border-top: 1px dashed var(--line);
  font-family: var(--ff-mono); font-weight: 600; font-size: .62rem;
  letter-spacing: .12em; text-transform: uppercase; color: var(--mute);}
.fq-spec__foot span {display: inline-flex; align-items: center; gap: .5rem;}
.fq-spec__foot .fq-ref {color: var(--ink); font-weight: 700;
  padding: .15rem .4rem; background: var(--paper-2);}
.fq-spec__foot a {color: var(--ink); font-weight: 700;
  text-decoration: underline; text-decoration-thickness: 1.5px;}
.fq-spec__foot a:hover {color: var(--ink-2);}
.fq-spec--warn {background: linear-gradient(180deg, var(--warn-soft) 0%, var(--paper-hi) 18%);
  border-color: var(--warn);}
.fq-spec--warn::before {content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: var(--warn);}
.fq-spec--warn .fq-spec__ref {background: var(--warn); color: var(--paper-hi);}
.fq-spec--warn .fq-spec__quick {border-left-color: var(--warn);}
.fq-spec__flag {display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--ff-mono); font-weight: 700; font-size: .6rem;
  letter-spacing: .16em; text-transform: uppercase; color: var(--warn);
  padding: .32rem .65rem; background: var(--warn-soft);
  border: 1.5px solid var(--warn);
  margin-bottom: .85rem;}
.fq-spec__flag::before {content: '!'; font-weight: 800;}
.fq-empty-state {padding: 3rem 1.75rem;
  border: 1.5px dashed var(--line);
  background: var(--paper-hi);
  text-align: center;
  font-family: var(--ff-body); font-weight: 600; font-size: 1rem;
  color: var(--mute);}
.fq-empty-state a {color: var(--ink); font-weight: 700;
  text-decoration: underline; text-decoration-color: var(--yellow);
  text-decoration-thickness: 2px;}
.fq-empty-state[hidden] {display: none;}
:where(.fq) #fq-index {background: var(--paper-2);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);}
.fq-index-grid {display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: clamp(2rem, 4vw, 3.5rem);}
.fq-index-col__label {font-family: var(--ff-mono); font-weight: 700; font-size: .62rem;
  letter-spacing: .16em; text-transform: uppercase; color: var(--ink);
  padding-bottom: .85rem; margin-bottom: 1rem;
  border-bottom: 1.5px solid var(--ink);
  display: flex; justify-content: space-between; align-items: baseline;
  gap: 1rem;}
.fq-index-col__label b {font-family: var(--ff-display); font-weight: 800;
  font-size: 1rem; letter-spacing: -.01em; text-transform: none; color: var(--ink);}
.fq-index-list {display: flex; flex-direction: column; gap: 0;}
.fq-index-item {display: grid; grid-template-columns: auto 1fr auto;
  gap: .75rem; align-items: baseline;
  padding: .65rem 0;
  font-family: var(--ff-body); font-weight: 500; font-size: .88rem;
  color: var(--ink-2);
  border-bottom: 1px solid var(--line-soft);
  transition: padding-left .25s var(--snap), color .2s;}
.fq-index-item:hover {padding-left: .5rem; color: var(--ink);}
.fq-index-item__ref {font-family: var(--ff-mono); font-weight: 700; font-size: .66rem;
  letter-spacing: .06em; color: var(--mute); flex-shrink: 0;
  min-width: 62px;}
.fq-index-item__q {line-height: 1.4;}
.fq-contact-strip {background: var(--ink); color: var(--paper-hi);
  padding: clamp(2.5rem, 5vw, 3.5rem) var(--pad);
  position: relative; overflow: hidden;}
.fq-contact-strip::before {content: ''; position: absolute; top: -60px; right: -60px;
  width: 220px; height: 220px;
  border: 3px solid var(--yellow); border-radius: 50%; opacity: .12;}
.fq-contact-strip__inner {max-width: var(--maxw); margin: 0 auto;
  display: grid; grid-template-columns: 1fr auto;
  gap: 2rem; align-items: center;
  position: relative; z-index: 2;}
.fq-contact-strip__copy h2 {font-family: var(--ff-display); font-weight: 800;
  font-size: clamp(1.5rem, 3vw, 2.25rem); line-height: 1.05;
  letter-spacing: -.03em; color: var(--paper-hi); margin-bottom: .65rem;
  text-wrap: balance;}
.fq-contact-strip__copy h2 em {font-style: italic; font-weight: 700; color: var(--yellow);
  font-family: var(--ff-display);}
.fq-contact-strip__copy p {font-family: var(--ff-body); font-weight: 500; font-size: .98rem;
  line-height: 1.6; color: rgba(241,236,224,.75);
  max-width: 56ch;}
.fq-contact-strip__copy p strong {color: var(--paper-hi); font-weight: 700;}
.fq-contact-strip__actions {display: flex; flex-wrap: wrap; gap: .65rem;}
.fq-contact-strip .fq-btn-forest {background: var(--yellow); color: var(--ink); border-color: var(--yellow);}
.fq-contact-strip .fq-btn-forest:hover {background: var(--yellow-2); border-color: var(--yellow-2);}
.fq-contact-strip .fq-btn-ghost {color: var(--paper-hi); border-color: rgba(241,236,224,.35);}
.fq-contact-strip .fq-btn-ghost:hover {background: var(--paper-hi); color: var(--ink); border-color: var(--paper-hi);}
:where(.fq) #fq-cta {background: var(--yellow); color: var(--ink);
  padding: clamp(4rem, 8vw, 7rem) var(--pad);
  position: relative; overflow: hidden;}
:where(.fq) #fq-cta::before {content: ''; position: absolute; top: -80px; right: -80px;
  width: 280px; height: 280px; border: 3px solid var(--ink); border-radius: 50%; opacity: .1;}
:where(.fq) #fq-cta::after {content: ''; position: absolute; bottom: -120px; left: -60px;
  width: 360px; height: 360px; border: 3px solid var(--ink); border-radius: 50%; opacity: .08;}
.fq-cta-inner {max-width: var(--maxw); margin: 0 auto; position: relative; z-index: 2;
  display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: center;}
.fq-cta-h {font-family: var(--ff-display); font-weight: 900;
  font-size: clamp(2.2rem, 5.5vw, 5rem); line-height: .93; letter-spacing: -.04em;
  color: var(--ink); margin-bottom: 1.5rem; text-wrap: balance;}
.fq-cta-h .fq-o {background: var(--ink); color: var(--yellow); padding: 0 .12em;}
.fq-cta-h em {font-style: italic; font-weight: 700;
  color: var(--botanical); font-family: var(--ff-display);}
.fq-cta-sub {font-family: var(--ff-body); font-weight: 700; font-size: 1rem; line-height: 1.5;
  color: var(--ink); opacity: .8; max-width: 42ch; margin-bottom: 2rem;}
.fq-cta-actions {display: flex; flex-wrap: wrap; gap: .75rem;}
.fq-cta-actions .fq-btn-forest {background: var(--ink); color: var(--paper-hi); border-color: var(--ink);}
.fq-cta-actions .fq-btn-forest:hover {background: var(--paper-hi); color: var(--ink); border-color: var(--paper-hi);}
.fq-cta-actions .fq-btn-ghost {color: var(--ink); border-color: var(--ink);}
.fq-cta-actions .fq-btn-ghost:hover {background: var(--ink); color: var(--yellow);}
@media (max-width: 1180px) {
.fq-masthead-grid {grid-template-columns: 1fr; gap: 2.5rem;}
.fq-herb-fig {max-width: 560px; margin: 0 auto;}
.fq-manual-grid {grid-template-columns: 1fr; gap: 2rem;}
.fq-rail {position: static;}
.fq-rail__list {display: grid; grid-template-columns: repeat(2, 1fr);
    gap: 0 1.5rem;}
.fq-rail__family::before {left: -10px;}
.fq-index-grid {grid-template-columns: 1fr 1fr;}
.fq-contact-strip__inner {grid-template-columns: 1fr; gap: 1.5rem;}
.fq-cta-inner {grid-template-columns: 1fr; gap: 2rem;}
}
@media (max-width: 720px) {
.fq-masthead {padding-top: 6.75rem;}
.fq-cover-strip {grid-template-columns: 1fr 1fr;}
.fq-cover-cell:nth-child(2n) {border-right: none;}
.fq-cover-cell:nth-child(-n+2) {border-bottom: 1px solid var(--line);}
.fq-herb-panel h1 {font-size: clamp(1.8rem, 7.4vw, 2.6rem);}
.fq-herb-panel__actions .fq-btn {flex: 1 1 auto;}
.fq-rail__list {grid-template-columns: 1fr;}
.fq-family__head {grid-template-columns: auto 1fr; gap: .85rem;}
.fq-family__count {grid-column: 1 / -1;}
.fq-spec {padding: 1.35rem 1.35rem 1.2rem;}
.fq-spec__head {gap: .75rem;}
.fq-index-grid {grid-template-columns: 1fr;}
.fq-contact-strip__actions .fq-btn {width: 100%;}
.fq-cta-actions .fq-btn {width: 100%;}
}
@media (prefers-reduced-motion: reduce) {
.fq-stem-sway {animation: none;}
}
.fq .fq-herb-panel__lede a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--yellow); text-underline-offset: 3px; font-weight: 600; }
.fq .fq-cta-h, .fq .fq-h2 { line-height: 1.08; }
.fq .fq-cta-h .fq-o, .fq .fq-h2 em { -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.fq { overflow-x: clip; }
.fq .fq-cover-cell__tel { color: var(--petal); }
.fq .fq-btn[data-ink] { color: var(--ink); border-color: var(--ink); }
