/* generated by affiliate-site-generator */
:root {
  --marsh-yarrow-stack: #1e2320;
  --marsh-iris-field: #f7f8f3;
  --marsh-oak-slot: #6e7a66;
  --marsh-cliff-spot: #dfe6d4;
  --marsh-quill-field: #b41f35;
  --marsh-flint-band: 1180px;
  --marsh-aspen-grid: 1.5rem;
  --marsh-marsh-field: 10px;
}
*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0; color: var(--marsh-yarrow-stack); background: var(--marsh-iris-field);
  font-family: 'Source Sans 3', system-ui, sans-serif; line-height: 1.55;
}
h1, h2, h3 { font-family: 'Bitter', Georgia, serif; line-height: 1.2; margin: 0 0 .5em; }
img { max-width: 100%; display: block; }
a { color: inherit; }
.ember-band { max-width: var(--marsh-flint-band); margin: 0 auto; padding: 0 1.25rem; }
.oak-part { padding: 3rem 0; }
.oak-part.alt-bg { background: color-mix(in srgb, var(--marsh-iris-field) 92%, var(--marsh-yarrow-stack)); }
.loch-line { position: absolute; left: -999px; }
.loch-line:focus { left: 1rem; top: 1rem; background: var(--marsh-iris-field); padding: .5rem 1rem; z-index: 100; }

.masthead { position: sticky; top: 0; z-index: 20; background: var(--marsh-iris-field); border-bottom: 1px solid var(--marsh-cliff-spot); }
.topbar-inner { display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem; gap: 1rem; }
.brand-mark { font-family: 'Bitter', serif; font-weight: 700; font-size: 1.3rem; text-decoration: none; }
.primary-nav { display: flex; gap: 1.25rem; flex-wrap: wrap; }
.primary-nav a { text-decoration: none; font-weight: 500; }
.nav-toggle { display: none; }

.action-btn { display: inline-block; background: var(--marsh-quill-field); color: #fff; padding: .6rem 1.3rem; border-radius: 999px; text-decoration: none; font-weight: 600; }
.btn-lg { padding: .85rem 1.8rem; font-size: 1.05rem; }
.pill-btn { padding: .5rem 1.2rem; font-size: .9rem; }

.hero { padding: 4.5rem 0 4rem; }
.quill-spot { background-size: cover; background-position: center; padding: 5.5rem 0; min-height: 480px; display: flex; align-items: center; }
.quill-spot .overline, .quill-spot h1, .quill-spot .intro-text { color: var(--marsh-iris-field); }
.quill-spot .intro-text { color: color-mix(in srgb, var(--marsh-iris-field) 85%, transparent); }
.quill-spot .pine-panel { color: var(--marsh-iris-field); }
.quill-spot .ember-frame { color: color-mix(in srgb, var(--marsh-iris-field) 75%, transparent); }
.stone-panel { max-width: 36rem; }
.juniper-box { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; margin-top: .5rem; }
.ember-frame { text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; color: var(--marsh-oak-slot); font-weight: 600; margin-top: 1.25rem; }
.brand-image { display: block; height: 2.2rem; width: auto; }
.top-note { text-align: center; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: var(--marsh-iris-field); background: var(--marsh-yarrow-stack); padding: .45rem 1.25rem; }
.overline { text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; color: var(--marsh-quill-field); font-weight: 700; }
.hero h1 { font-size: clamp(2.5rem, 5vw, 4rem); max-width: 16ch; letter-spacing: -.01em; }
.intro-text { color: var(--marsh-oak-slot); max-width: 60ch; }
.oak-part h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); }

.marquee-bar { background: var(--marsh-yarrow-stack); color: var(--marsh-iris-field); overflow: hidden; padding: .65rem 0; }
.fact-row { display: flex; gap: 1.5rem; align-items: center; justify-content: center; flex-wrap: nowrap; white-space: nowrap; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; }
.ticker-sep { color: color-mix(in srgb, var(--marsh-iris-field) 55%, transparent); }
.head-action { margin-left: 1rem; white-space: nowrap; }

.vale-row { border-bottom: 1px solid var(--marsh-cliff-spot); }
.moss-field { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1px; background: var(--marsh-cliff-spot); }
.dune-panel { background: var(--marsh-iris-field); padding: 1rem 1.25rem; font-size: .85rem; color: var(--marsh-oak-slot); }

.aspen-unit { margin: 2rem 0 .75rem; font-size: .85rem; font-weight: 600; color: var(--marsh-oak-slot); }
.cedar-box { display: flex; flex-wrap: wrap; gap: .6rem; }
.heath-line { display: inline-block; border: 1px solid var(--marsh-cliff-spot); border-radius: 999px; padding: .5rem 1rem; font-size: .85rem; text-decoration: none; background: var(--marsh-iris-field); }

.stone-field { display: grid; grid-template-columns: 1fr 1fr; gap: var(--marsh-aspen-grid); margin-top: 1.5rem; }
.ember-slot { margin: 0; background: var(--marsh-iris-field); border: 1px solid var(--marsh-cliff-spot); border-radius: var(--marsh-marsh-field); overflow: hidden; box-shadow: 0 1px 2px color-mix(in srgb, var(--marsh-yarrow-stack) 6%, transparent); }
.ember-slot img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.ember-slot figcaption { padding: 1.25rem 1.5rem 1.5rem; }
.ember-slot h3 { margin: 0 0 .4rem; font-size: 1.25rem; }
.ember-slot p { margin: 0; color: var(--marsh-oak-slot); }
.fern-zone img { width: 100%; aspect-ratio: 21 / 6; object-fit: cover; display: block; }
@media (max-width: 620px) { .stone-field { grid-template-columns: 1fr; } .fern-zone img { aspect-ratio: 16 / 9; } }

.fern-cell { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--marsh-aspen-grid); }
.stone-rail { background: var(--marsh-yarrow-stack); color: var(--marsh-iris-field); border-radius: var(--marsh-marsh-field); padding: 1.75rem; box-shadow: 0 4px 14px color-mix(in srgb, var(--marsh-yarrow-stack) 18%, transparent); }
.stone-rail h3 { color: var(--marsh-iris-field); font-size: 1.4rem; }
.stone-rail p { color: color-mix(in srgb, var(--marsh-iris-field) 80%, transparent); }
.pine-panel { text-decoration: underline; font-weight: 600; font-size: .9rem; }
.heath-block { color: var(--marsh-iris-field); }

.oak-unit { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--marsh-aspen-grid); margin-top: 1.5rem; }
.ridge-row { border-top: 3px solid var(--marsh-quill-field); background: var(--marsh-iris-field); border-radius: var(--marsh-marsh-field); padding: 1.25rem; box-shadow: 0 1px 2px color-mix(in srgb, var(--marsh-yarrow-stack) 6%, transparent); }
.cliff-cell { margin: .4rem 0 .6rem; }
.ridge-row p { color: var(--marsh-oak-slot); }
.ridge-row a { font-weight: 600; text-decoration: underline; }

.gale-spot { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--marsh-aspen-grid); margin-top: 1.5rem; }
.pine-spot { display: block; text-decoration: none; border: 1px solid var(--marsh-cliff-spot); border-radius: var(--marsh-marsh-field); padding: 1.25rem; background: var(--marsh-iris-field); box-shadow: 0 1px 2px color-mix(in srgb, var(--marsh-yarrow-stack) 6%, transparent); transition: box-shadow .15s, transform .15s; }
.pine-spot:hover { box-shadow: 0 8px 20px color-mix(in srgb, var(--marsh-yarrow-stack) 12%, transparent); transform: translateY(-2px); }
.pine-spot p { color: var(--marsh-oak-slot); margin: .4rem 0 0; }

.quill-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: var(--marsh-aspen-grid); margin-top: 1.5rem; }
.tile { border: 1px solid var(--marsh-cliff-spot); border-radius: var(--marsh-marsh-field); overflow: hidden; background: var(--marsh-iris-field); display: flex; flex-direction: column; box-shadow: 0 1px 2px color-mix(in srgb, var(--marsh-yarrow-stack) 6%, transparent); transition: box-shadow .15s, transform .15s; }
.tile:hover { box-shadow: 0 10px 24px color-mix(in srgb, var(--marsh-yarrow-stack) 14%, transparent); transform: translateY(-3px); }
.card-figure img { aspect-ratio: 1 / 1; object-fit: contain; width: 100%; padding: 1.1rem; background: color-mix(in srgb, var(--marsh-iris-field) 96%, var(--marsh-yarrow-stack)); }
.tile-body { padding: 1rem; display: flex; flex-direction: column; gap: .35rem; flex: 1; }
.tile-body .buy-btn { margin-top: auto; }
.tile-body h3 { font-size: 1rem; margin: 0; }
.tile-note { font-size: .85rem; color: var(--marsh-oak-slot); margin: 0; }
.item-tag { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--marsh-quill-field); font-weight: 700; }
.item-meta { font-size: .85rem; color: var(--marsh-oak-slot); display: flex; gap: .4rem; align-items: center; }
.item-price { font-weight: 700; }
.moss-panel { font-size: 1.6rem; }
.north-box { font-size: .8rem; color: var(--marsh-oak-slot); margin-top: -.5rem; }
.buy-btn { display: inline-block; text-align: center; background: var(--marsh-quill-field); color: #fff; padding: .55rem 1.1rem; border-radius: 999px; text-decoration: none; font-weight: 600; margin-top: .25rem; }
.moss-stack { padding: .9rem 1.6rem; font-size: 1.05rem; }

.aspen-cell { display: flex; flex-wrap: wrap; gap: 2rem; justify-content: space-around; text-align: center; }
.aspen-cell strong { display: block; font-size: 1.5rem; font-family: 'Bitter', serif; }
.aspen-cell span { color: var(--marsh-oak-slot); font-size: .9rem; }

.sage-panel { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--marsh-aspen-grid); margin-top: 1.5rem; }
.aspen-area { border-left: 3px solid var(--marsh-quill-field); padding: .2rem 0 .2rem 1rem; }
.aspen-area h3 { font-size: 1.1rem; margin-bottom: .3rem; }
.aspen-area p { color: var(--marsh-oak-slot); margin: 0; }

.heath-unit { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--marsh-aspen-grid); margin-top: 1.5rem; counter-reset: step; }
.stone-band { display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--marsh-quill-field); color: #fff; font-family: 'Bitter', serif; font-weight: 700; margin-bottom: .6rem; }
.wren-grid h3 { font-size: 1.05rem; margin: 0 0 .3rem; }
.wren-grid p { color: var(--marsh-oak-slot); margin: 0; }

.stone-group { }
.heath-zone { display: grid; grid-template-columns: 5fr 6fr; gap: 2.5rem; align-items: center; }
.thorn-field { background: color-mix(in srgb, var(--marsh-iris-field) 96%, var(--marsh-yarrow-stack)); border-radius: var(--marsh-marsh-field); padding: 2rem; }
.thorn-field img { aspect-ratio: 1 / 1; object-fit: contain; width: 100%; }
.fern-spot { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; margin-top: .5rem; }
.pine-panel { text-decoration: underline; font-weight: 600; font-size: .9rem; }

.moss-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--marsh-aspen-grid); margin-top: 1.5rem; }
.flint-zone { margin: 0; min-width: 0; background: var(--marsh-iris-field); border: 1px solid var(--marsh-cliff-spot); border-radius: var(--marsh-marsh-field); padding: 1.25rem; display: flex; flex-direction: column; box-shadow: 0 1px 2px color-mix(in srgb, var(--marsh-yarrow-stack) 6%, transparent); }
.iris-stack { align-self: flex-start; font-size: .78rem; font-weight: 600; color: var(--marsh-quill-field); text-decoration: none; margin-bottom: .6rem; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.flint-zone blockquote { margin: 0 0 .75rem; font-family: 'Bitter', serif; font-size: 1.1rem; line-height: 1.4; }
.flint-zone figcaption { color: var(--marsh-oak-slot); font-size: .85rem; margin-top: auto; padding-top: .5rem; }
@media (max-width: 940px) { .moss-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .moss-grid { grid-template-columns: 1fr; } }

.sage-stack { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--marsh-aspen-grid); margin-top: 1.5rem; }
.moss-unit { display: block; border: 1px solid var(--marsh-cliff-spot); border-radius: var(--marsh-marsh-field); padding: 1.1rem; text-decoration: none; background: var(--marsh-iris-field); box-shadow: 0 1px 2px color-mix(in srgb, var(--marsh-yarrow-stack) 6%, transparent); transition: box-shadow .15s, transform .15s; }
.moss-unit:hover { box-shadow: 0 8px 20px color-mix(in srgb, var(--marsh-yarrow-stack) 12%, transparent); transform: translateY(-2px); }

.loch-unit { background: var(--marsh-yarrow-stack); }
.loch-unit h2 { color: var(--marsh-iris-field); }
.loch-unit .overline { color: color-mix(in srgb, var(--marsh-iris-field) 55%, var(--marsh-quill-field)); }
.quill-panel { margin-top: 2rem; border-top: 1px solid color-mix(in srgb, var(--marsh-iris-field) 18%, transparent); }
.pine-grid { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr) 3rem; gap: 1.5rem; align-items: center; padding: 1.35rem 0; border-bottom: 1px solid color-mix(in srgb, var(--marsh-iris-field) 18%, transparent); text-decoration: none; }
.brook-stack { font-family: 'Bitter', serif; font-weight: 800; font-size: 1.9rem; color: color-mix(in srgb, var(--marsh-iris-field) 35%, transparent); transition: color .15s; }
.thorn-line { display: inline-block; font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; color: var(--marsh-iris-field); background: var(--marsh-quill-field); border-radius: 3px; padding: .18rem .5rem; margin-bottom: .45rem; }
.dune-rail h3 { margin: 0 0 .3rem; color: var(--marsh-iris-field); font-size: 1.25rem; }
.dune-rail p { margin: 0; color: color-mix(in srgb, var(--marsh-iris-field) 62%, transparent); font-size: .95rem; }
.marsh-panel { font-size: 1.5rem; color: color-mix(in srgb, var(--marsh-iris-field) 40%, transparent); justify-self: end; transition: color .15s, transform .15s; }
.pine-grid:hover .brook-stack { color: var(--marsh-quill-field); }
.pine-grid:hover .marsh-panel { color: var(--marsh-quill-field); transform: translateX(4px); }

.sage-slot { margin: 0; background: #fff; border: 1px solid var(--marsh-cliff-spot); border-top: 3px solid var(--marsh-quill-field); border-radius: var(--marsh-marsh-field); padding: 1.35rem 1.35rem 1.2rem; display: flex; flex-direction: column; gap: .8rem; box-shadow: 0 1px 2px color-mix(in srgb, var(--marsh-yarrow-stack) 6%, transparent); }
.north-area { display: flex; justify-content: space-between; align-items: center; gap: .75rem; flex-wrap: wrap; }
.heath-grid { display: inline-flex; align-items: center; gap: .45rem; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; color: var(--marsh-yarrow-stack); background: var(--marsh-iris-field); border: 1px solid var(--marsh-cliff-spot); border-radius: 999px; padding: .3rem .8rem; }
.heath-grid:hover { border-color: var(--marsh-quill-field); }
.sage-slot blockquote { margin: 0; font-size: .98rem; line-height: 1.6; color: var(--marsh-oak-slot); position: relative; padding-left: 1.1rem; }
.sage-slot blockquote::before { content: "\201C"; position: absolute; left: 0; top: -.35rem; font-family: 'Bitter', serif; font-size: 2rem; line-height: 1; color: var(--marsh-quill-field); opacity: .55; }
.sage-slot figcaption { margin-top: auto; padding-top: .35rem; display: flex; justify-content: space-between; align-items: center; gap: .75rem; border-top: 1px dashed var(--marsh-cliff-spot); }
.sage-slot figcaption b { font-size: .92rem; }
.ridge-group { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--marsh-oak-slot); }

@media (max-width: 700px) {
  .pine-grid { grid-template-columns: 2.6rem minmax(0, 1fr); gap: 1rem; }
  .brook-stack { font-size: 1.3rem; align-self: start; }
  .marsh-panel { display: none; }
}

.yarrow-frame { text-align: center; }

.breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: .35rem; padding: 0; margin: 1.25rem 0 .5rem; font-size: .85rem; color: var(--marsh-oak-slot); }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: .35rem; }
.breadcrumbs a { text-decoration: none; }

.juniper-zone { display: grid; grid-template-columns: 5fr 6fr; gap: 2.5rem; margin: 1rem 0 2rem; }
.reed-row { background: color-mix(in srgb, var(--marsh-iris-field) 96%, var(--marsh-yarrow-stack)); border-radius: var(--marsh-marsh-field); padding: 2rem; }
.reed-row img { aspect-ratio: 1 / 1; object-fit: contain; width: 100%; }
.cedar-part { display: flex; flex-wrap: wrap; gap: .5rem; margin: .5rem 0; }
.stone-cell { border: 1px solid var(--marsh-cliff-spot); border-radius: 999px; padding: .35rem .8rem; font-size: .85rem; text-decoration: none; }
.stone-cell.is-active { background: var(--marsh-yarrow-stack); color: var(--marsh-iris-field); border-color: var(--marsh-yarrow-stack); }
.ridge-area { padding-left: 1.1rem; }
.cedar-slot { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-top: 1px solid var(--marsh-cliff-spot); padding: 1.25rem 1.25rem; flex-wrap: wrap; }

.thorn-zone { position: absolute; top: .6rem; left: .6rem; z-index: 2; background: var(--marsh-yarrow-stack); color: var(--marsh-iris-field); font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: .3rem .55rem; border-radius: 999px; }
.card-figure { position: relative; }
.cedar-grid { position: static; display: inline-block; margin-bottom: .5rem; }

.table-scroll { overflow-x: auto; margin: 1.5rem 0; border: 1px solid var(--marsh-cliff-spot); border-radius: var(--marsh-marsh-field); background: var(--marsh-iris-field); box-shadow: 0 1px 2px color-mix(in srgb, var(--marsh-yarrow-stack) 6%, transparent); }
.data-table { border-collapse: collapse; width: 100%; font-size: .9rem; }
.data-table th, .data-table td { text-align: left; padding: .8rem 1.1rem; border-bottom: 1px solid var(--marsh-cliff-spot); }
.data-table th { font-family: 'Bitter', serif; font-weight: 700; font-size: 1rem; color: var(--marsh-yarrow-stack); background: color-mix(in srgb, var(--marsh-quill-field) 10%, var(--marsh-iris-field)); }
.data-table td { color: var(--marsh-oak-slot); }
.data-table tbody tr:last-child td { border-bottom: none; }
.data-table tbody tr:nth-child(even) td { background: color-mix(in srgb, var(--marsh-iris-field) 97%, var(--marsh-yarrow-stack)); }

.brook-part h3 { font-size: 1.45rem; margin: 2.75rem 0 .75rem; }
.cedar-group p { color: var(--marsh-oak-slot); font-size: 1.05rem; }
.brook-grid { background: var(--marsh-iris-field); border-left: 4px solid var(--marsh-quill-field); border-radius: var(--marsh-marsh-field); padding: 1.5rem 1.75rem; margin: 2.5rem 0; max-width: 75ch; box-shadow: 0 1px 2px color-mix(in srgb, var(--marsh-yarrow-stack) 6%, transparent); }
.brook-grid h3 { margin: 0 0 .5rem; font-size: 1.3rem; }
.brook-grid p { margin: 0; color: var(--marsh-oak-slot); }

.birch-panel h1 { margin-top: .25rem; }
.birch-panel { max-width: 70ch; padding-top: 1rem; padding-bottom: 3rem; }
.text-column { max-width: 62rem; }
.text-column p, .text-column h1, .text-column h2, .text-column h3 { max-width: 70ch; }
.brook-part .text-column { max-width: 62rem; margin-left: auto; margin-right: auto; }
.brook-part .text-column p, .brook-part .text-column h2, .brook-part .text-column h3 { max-width: none; }
.brook-part .brook-grid { max-width: none; }
.juniper-stack { max-width: 70ch; padding-left: 1.2rem; color: var(--marsh-oak-slot); }
.juniper-stack li { margin-bottom: .4rem; }
.gale-stack { text-align: center; padding: 5rem 1.25rem; max-width: 50ch; margin: 0 auto; }

.footer-main { border-top: 1px solid var(--marsh-cliff-spot); margin-top: 2rem; padding-top: 2.5rem; background: color-mix(in srgb, var(--marsh-iris-field) 94%, var(--marsh-yarrow-stack)); }
.footer-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 2rem; }
.foot-column a { display: block; text-decoration: none; margin: .3rem 0; font-size: .9rem; }
.foot-column h4 { margin: 0 0 .5rem; font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; }
.footer-logo { font-family: 'Bitter', serif; font-weight: 700; font-size: 1.2rem; margin: 0; }
.address-line { color: var(--marsh-oak-slot); font-size: .85rem; }
.footer-note { color: var(--marsh-oak-slot); font-size: .78rem; padding: 2rem 1.25rem; }

.quill-cell { font-size: .75rem; color: var(--marsh-oak-slot); }

.ridge-line { background: var(--marsh-iris-field); padding: 4.5rem 0; }
.ridge-line .sage-cell { display: grid; grid-template-columns: 6fr 6fr; gap: 3rem; align-items: center; }
.ridge-line .brook-field img { width: 100%; border-radius: var(--marsh-marsh-field); object-fit: cover; object-position: 100% center; aspect-ratio: 5 / 4; }

.reed-cell { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--marsh-aspen-grid); margin-top: 1.75rem; }
.dune-band { display: flex; flex-direction: column; gap: .2rem; text-decoration: none; }
.juniper-grid { display: block; background: color-mix(in srgb, var(--marsh-iris-field) 88%, var(--marsh-yarrow-stack)); border-radius: var(--marsh-marsh-field); padding: 1.2rem; margin-bottom: .75rem; transition: background .15s; }
.dune-band:hover .juniper-grid { background: color-mix(in srgb, var(--marsh-quill-field) 14%, var(--marsh-iris-field)); }
.juniper-grid img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; mix-blend-mode: multiply; }
.gale-line { font-family: 'Bitter', serif; font-weight: 700; font-size: 1.15rem; }
.wren-group { color: var(--marsh-oak-slot); font-size: .82rem; }
.north-rail { font-size: .85rem; font-weight: 700; text-decoration: underline; margin-top: .35rem; }

.heath-box { display: grid; grid-template-columns: 1fr 1fr; background: color-mix(in srgb, var(--marsh-quill-field) 14%, var(--marsh-iris-field)); align-items: center; }
.birch-row { padding: 4rem clamp(1.5rem, 6vw, 6rem); }
.birch-row h2 { font-size: clamp(2rem, 3.6vw, 3.2rem); max-width: 14ch; }
.birch-row p { color: var(--marsh-oak-slot); max-width: 46ch; margin-bottom: 1.5rem; }
.cliff-part { height: 100%; min-height: 340px; }
.cliff-part img { width: 100%; height: 100%; object-fit: cover; object-position: 20% center; display: block; }

body.cedar-line .oak-part h2, body.cedar-line .birch-row h2 { text-transform: uppercase; letter-spacing: .01em; font-size: clamp(2.2rem, 4.2vw, 3.4rem); }
body.cedar-line .hero h1 { text-transform: uppercase; font-size: clamp(2.4rem, 4.6vw, 3.8rem); max-width: 14ch; }
body.cedar-line .overline { letter-spacing: .18em; }
body.cedar-line .tile { border: none; box-shadow: none; background: transparent; overflow: visible; }
body.cedar-line .tile:hover { box-shadow: none; transform: none; }
body.cedar-line .card-figure img { background: color-mix(in srgb, var(--marsh-iris-field) 90%, var(--marsh-yarrow-stack)); border-radius: var(--marsh-marsh-field); padding: 1.4rem; transition: background .15s; }
body.cedar-line .tile:hover .card-figure img { background: color-mix(in srgb, var(--marsh-quill-field) 12%, var(--marsh-iris-field)); }
body.cedar-line .tile-body { padding: .9rem .15rem; }
body.cedar-line .tile-body h3 { font-size: 1.05rem; }
body.cedar-line .buy-btn { background: var(--marsh-yarrow-stack); }
body.cedar-line .buy-btn:hover { background: var(--marsh-quill-field); }
body.cedar-line .primary-nav a { text-transform: uppercase; font-size: .82rem; letter-spacing: .08em; }
body.cedar-line .brand-mark { font-size: 1.6rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 700; }
body.cedar-line .brand-image { height: 2.7rem; border-radius: 50%; box-shadow: 0 0 0 3px var(--marsh-iris-field), 0 0 0 4px var(--marsh-cliff-spot); }

.birch-group { position: relative; }
.brook-line { width: 100%; height: clamp(400px, 36vw, 560px); object-fit: cover; object-position: center; display: block; }
.fern-slot { position: absolute; inset: 0; display: flex; align-items: flex-end; padding-bottom: 3rem; background: linear-gradient(180deg, transparent 45%, color-mix(in srgb, var(--marsh-yarrow-stack) 45%, transparent) 100%); }
.fern-slot .overline { color: var(--marsh-iris-field); }
.fern-slot h1 { color: var(--marsh-iris-field); margin-bottom: 1rem; }
.fern-slot .ember-frame { color: color-mix(in srgb, var(--marsh-iris-field) 80%, transparent); }
.btn-ghost { background: transparent; border: 1.5px solid var(--marsh-iris-field); color: var(--marsh-iris-field); }
.btn-ghost:hover { background: var(--marsh-iris-field); color: var(--marsh-yarrow-stack); }

body.cedar-line .head-action { background: transparent; border: 1.5px solid var(--marsh-yarrow-stack); color: var(--marsh-yarrow-stack); }
body.cedar-line .head-action:hover { background: var(--marsh-yarrow-stack); color: var(--marsh-iris-field); }

.juniper-panel .cliff-row { display: flex; align-items: center; gap: 1rem; padding-top: 1rem; padding-bottom: 1.5rem; }
.aspen-zone { height: 3.2rem; width: auto; border-radius: 50%; }
.wren-block { display: flex; flex-wrap: wrap; gap: 1.25rem; align-items: center; border-top: 1px solid var(--marsh-cliff-spot); border-bottom: 1px solid var(--marsh-cliff-spot); padding-top: .9rem; padding-bottom: .9rem; margin-bottom: 2rem; font-size: .85rem; }
.wren-block span { text-transform: uppercase; letter-spacing: .1em; font-weight: 700; font-size: .75rem; color: var(--marsh-oak-slot); }
.wren-block a { text-decoration: none; font-weight: 600; }
.juniper-panel .foot-column h4 { letter-spacing: .1em; }
.juniper-panel .footer-brand h4 { font-size: 1.4rem; text-transform: none; letter-spacing: 0; font-family: 'Bitter', serif; }
.juniper-panel .footer-brand .action-btn { margin-top: .75rem; }

.loch-area { border-bottom: 0; }
.loch-area .topbar-inner { justify-content: flex-start; gap: 1.5rem; }
.brand-badge { display: inline-flex; align-items: center; justify-content: center; width: 2.7rem; height: 2.7rem; border-radius: 9px; background: var(--marsh-quill-field); color: #fff; font-family: 'Bitter', serif; font-weight: 800; font-size: 1.2rem; flex: none; }
.sage-grid { display: flex; align-items: center; gap: .7rem; text-decoration: none; }
.aspen-stack { display: flex; flex-direction: column; line-height: 1.2; font-family: 'Bitter', serif; font-weight: 800; font-size: 1.12rem; color: var(--marsh-yarrow-stack); }
.brook-group { font-family: 'Source Sans 3', sans-serif; font-weight: 600; font-size: .64rem; letter-spacing: .16em; text-transform: uppercase; color: var(--marsh-oak-slot); }
.dune-stack { margin-left: auto; display: flex; gap: 1.4rem; }
.fern-part { font-size: .9rem; font-weight: 600; text-decoration: none; color: var(--marsh-yarrow-stack); }
.fern-part:hover { color: var(--marsh-quill-field); }
.vale-part { background: var(--marsh-yarrow-stack); }
.pine-deck { display: flex; gap: 2rem; overflow-x: auto; }
.vale-part a { color: var(--marsh-iris-field); text-decoration: none; font-weight: 600; font-size: .87rem; letter-spacing: .04em; padding: .6rem 0; display: inline-flex; align-items: center; gap: .45rem; white-space: nowrap; border-bottom: 2px solid transparent; }
.vale-part a:hover { border-bottom-color: var(--marsh-quill-field); }
.pip { width: .6rem; height: .6rem; border-radius: 50%; display: inline-block; background: var(--marsh-quill-field); flex: none; }

.pine-part .reed-unit { position: relative; }
.aspen-frame { width: 100%; height: clamp(400px, 36vw, 540px); object-fit: cover; object-position: 72% 42%; display: block; }
.sage-unit { position: absolute; inset: 0; display: flex; align-items: center; background: linear-gradient(95deg, color-mix(in srgb, var(--marsh-yarrow-stack) 92%, transparent) 0%, color-mix(in srgb, var(--marsh-yarrow-stack) 68%, transparent) 42%, transparent 68%); }
.cedar-block { max-width: 33rem; }
.cedar-block .overline { color: color-mix(in srgb, #fff 75%, var(--marsh-quill-field)); }
.cedar-block h1 { color: #fff; }
.cedar-block .intro-text { color: color-mix(in srgb, #fff 86%, transparent); }
.cedar-block .ember-frame { color: color-mix(in srgb, #fff 70%, transparent); }
.ridge-spot { background: var(--marsh-iris-field); border-bottom: 1px solid var(--marsh-cliff-spot); }
.fern-field { display: flex; align-items: center; gap: 1.25rem; padding-top: .85rem; padding-bottom: .85rem; flex-wrap: wrap; }
.cedar-zone { text-transform: uppercase; letter-spacing: .13em; font-size: .72rem; font-weight: 800; color: var(--marsh-oak-slot); }
.flint-panel { display: flex; gap: .7rem; flex-wrap: wrap; }
.gale-band { display: inline-flex; align-items: center; gap: .5rem; border: 1px solid var(--marsh-cliff-spot); border-radius: 999px; padding: .42rem .95rem; text-decoration: none; background: #fff; }
.gale-band b { font-size: .85rem; color: var(--marsh-yarrow-stack); }
.gale-band span { font-size: .76rem; color: var(--marsh-oak-slot); }
.gale-band:hover { border-color: var(--marsh-quill-field); }

.loch-frame { background: var(--marsh-yarrow-stack); color: color-mix(in srgb, var(--marsh-iris-field) 88%, transparent); margin-top: 0; }
.loch-frame .heath-spot { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 2.5rem; padding-top: 3rem; padding-bottom: 2rem; }
.loch-frame .aspen-stack { color: #fff; }
.marsh-band p { margin-top: 1rem; font-size: .92rem; line-height: 1.65; }
.loch-frame .foot-column h4 { color: #fff; letter-spacing: .12em; }
.loch-frame .foot-column a { display: flex; align-items: center; gap: .5rem; color: color-mix(in srgb, var(--marsh-iris-field) 82%, transparent); text-decoration: none; padding: .22rem 0; font-size: .92rem; }
.loch-frame .foot-column a:hover { color: #fff; }
.stone-row { border-top: 1px solid color-mix(in srgb, var(--marsh-iris-field) 18%, transparent); padding-top: 1.25rem; padding-bottom: .25rem; font-size: .9rem; }
.stone-row a { color: #fff; }
.loch-frame .address-line { color: color-mix(in srgb, var(--marsh-iris-field) 55%, transparent); font-size: .8rem; margin-top: .4rem; }
.loch-frame .footer-note { border-top: 1px solid color-mix(in srgb, var(--marsh-iris-field) 18%, transparent); margin-top: 1.25rem; padding-top: 1.25rem; padding-bottom: 2rem; }
.loch-frame .footer-note p { color: color-mix(in srgb, var(--marsh-iris-field) 55%, transparent); }

.iris-panel .cedar-group { max-width: 46rem; }
.iris-panel .cedar-group p { font-size: 1.05rem; }
.reed-part { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 3.5rem; align-items: start; margin-top: 2.5rem; }
.gale-grid { position: sticky; top: 95px; display: flex; flex-direction: column; border-left: 2px solid var(--marsh-cliff-spot); }
.ember-group { text-transform: uppercase; letter-spacing: .13em; font-size: .7rem; font-weight: 800; color: var(--marsh-oak-slot); padding: 0 0 .55rem .95rem; }
.gale-grid a { display: flex; gap: .6rem; align-items: baseline; padding: .42rem .95rem; font-size: .87rem; font-weight: 600; text-decoration: none; color: var(--marsh-oak-slot); border-left: 2px solid transparent; margin-left: -2px; }
.gale-grid a span { color: var(--marsh-quill-field); font-weight: 800; font-size: .72rem; }
.gale-grid a:hover { color: var(--marsh-yarrow-stack); border-left-color: var(--marsh-quill-field); }
.sage-row { border-top: 1px solid var(--marsh-cliff-spot); padding: 1.9rem 0 .7rem; scroll-margin-top: 95px; }
.gale-deck .sage-row:first-child { border-top: 0; padding-top: 0; }
.sage-row h3 { display: flex; gap: .85rem; align-items: baseline; margin: 0 0 .9rem; font-size: 1.35rem; }
.vale-rail { font-family: 'Source Sans 3', sans-serif; color: var(--marsh-quill-field); font-weight: 800; font-size: .82rem; letter-spacing: .06em; flex: none; }
.sage-row p { color: var(--marsh-oak-slot); max-width: 46rem; }
.sage-row .table-scroll { margin-top: 1.1rem; }

/* apothecary header: utility strip + main row + finder bar */
.juniper-row { background: var(--marsh-yarrow-stack); color: color-mix(in srgb, var(--marsh-iris-field) 82%, transparent); font-size: .74rem; letter-spacing: .04em; }
.oak-spot { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-top: .45rem; padding-bottom: .45rem; }
.dune-area { display: flex; gap: 1.2rem; white-space: nowrap; }
.dune-area a { color: var(--marsh-iris-field); text-decoration: none; font-weight: 600; }
.dune-area a:hover { text-decoration: underline; }
.yarrow-band { border-bottom: 0; box-shadow: 0 1px 0 var(--marsh-cliff-spot); }
.quill-slot { color: var(--marsh-quill-field); font-size: 1.65rem; font-weight: 800; letter-spacing: -.02em; text-transform: lowercase; }
.wren-slot { background: color-mix(in srgb, var(--marsh-quill-field) 7%, var(--marsh-iris-field)); border-top: 1px solid var(--marsh-cliff-spot); }
.quill-rail { display: flex; align-items: center; gap: 1.1rem; padding-top: .6rem; padding-bottom: .6rem; flex-wrap: wrap; }
.yarrow-slot { text-transform: uppercase; letter-spacing: .13em; font-size: .7rem; font-weight: 800; color: var(--marsh-oak-slot); flex: none; }
.wren-rail { display: flex; gap: .55rem; flex-wrap: wrap; }
.birch-stack { display: inline-flex; align-items: center; gap: .45rem; background: var(--marsh-iris-field); border: 1px solid var(--marsh-cliff-spot); border-radius: 999px; padding: .32rem .8rem; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.birch-stack b { font-size: .8rem; color: var(--marsh-yarrow-stack); }
.birch-stack span { font-size: .74rem; color: var(--marsh-oak-slot); }
.birch-stack:hover { border-color: var(--marsh-quill-field); box-shadow: 0 2px 8px color-mix(in srgb, var(--marsh-quill-field) 18%, transparent); }

/* console hero: copy left, dose-finder card right */
.dune-field { background: linear-gradient(180deg, color-mix(in srgb, var(--marsh-quill-field) 9%, var(--marsh-iris-field)) 0%, var(--marsh-iris-field) 100%); padding: 4.25rem 0 3.75rem; }
.aspen-line { display: grid; grid-template-columns: 7fr 5fr; gap: 3.5rem; align-items: center; }
.dune-field h1 { font-size: clamp(2.4rem, 4.6vw, 3.7rem); max-width: 18ch; letter-spacing: -.01em; margin-bottom: .4em; }
.ridge-block { background: var(--marsh-iris-field); border: 1px solid var(--marsh-cliff-spot); border-radius: calc(var(--marsh-marsh-field) * 1.5); padding: 1.5rem 1.5rem 1.4rem; box-shadow: 0 18px 40px color-mix(in srgb, var(--marsh-yarrow-stack) 12%, transparent); }
.aspen-panel { margin: 0 0 .6rem; text-transform: uppercase; letter-spacing: .12em; font-size: .74rem; font-weight: 800; color: var(--marsh-oak-slot); }
.wren-frame { display: flex; flex-direction: column; }
.reed-field { display: flex; align-items: center; gap: .7rem; padding: .62rem .35rem; border-top: 1px solid var(--marsh-cliff-spot); text-decoration: none; border-radius: 6px; }
.reed-field:first-child { border-top: 0; }
.reed-field b { font-size: .92rem; color: var(--marsh-yarrow-stack); flex: none; }
.ridge-cell { font-size: .85rem; color: var(--marsh-oak-slot); margin-left: auto; text-align: right; }
.birch-band { color: var(--marsh-quill-field); font-weight: 800; flex: none; }
.reed-field:hover { background: color-mix(in srgb, var(--marsh-quill-field) 8%, var(--marsh-iris-field)); }
.north-part { margin: .7rem 0 0; font-size: .78rem; color: var(--marsh-oak-slot); }
.moss-box { display: block; text-align: center; margin-top: .9rem; }

/* species split panels */
.pine-band { display: grid; gap: var(--marsh-aspen-grid); margin-top: 1.75rem; }
.marsh-rail { display: grid; grid-template-columns: 1fr 1fr; background: var(--marsh-iris-field); border: 1px solid var(--marsh-cliff-spot); border-radius: calc(var(--marsh-marsh-field) * 1.5); overflow: hidden; }
.dune-part img { width: 100%; height: 100%; min-height: 280px; object-fit: cover; }
.thorn-group .dune-part { order: 2; }
.wren-line { padding: clamp(1.5rem, 3.5vw, 3rem); align-self: center; }
.wren-line h3 { font-size: clamp(1.5rem, 2.4vw, 2.1rem); margin: .3rem 0 .5rem; }
.wren-line > p { color: var(--marsh-oak-slot); max-width: 52ch; }
.cliff-grid { display: flex; align-items: center; gap: 1.1rem; flex-wrap: wrap; margin-top: 1.1rem; }

/* comparison table */
.oak-block td { vertical-align: middle; }
.oak-block .pip { width: .95rem; height: .95rem; border: 1px solid color-mix(in srgb, var(--marsh-yarrow-stack) 22%, transparent); }
.juniper-part { white-space: nowrap; }
.juniper-part a:first-child { font-weight: 600; text-decoration: underline; margin-right: .9rem; }
.juniper-part .buy-btn { margin-top: 0; padding: .4rem .95rem; font-size: .82rem; }
.brook-row { margin-top: .9rem; font-size: .82rem; color: var(--marsh-oak-slot); }

/* pdp longform details + spec card */
.wren-field { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 2.75rem; align-items: start; }
.reed-rail h2 { font-size: 1.35rem; margin: 1.9rem 0 .6rem; }
.reed-rail:first-child h2 { margin-top: 0; }
.reed-rail p { color: var(--marsh-oak-slot); max-width: 62ch; }
.ember-block { position: sticky; top: 95px; background: var(--marsh-iris-field); border: 1px solid var(--marsh-cliff-spot); border-radius: var(--marsh-marsh-field); padding: 1.4rem 1.4rem 1.5rem; box-shadow: 0 1px 2px color-mix(in srgb, var(--marsh-yarrow-stack) 6%, transparent); }
.ember-block h2 { font-size: 1.1rem; margin: 0 0 .8rem; }
.thorn-block { display: flex; justify-content: space-between; gap: 1rem; padding: .48rem 0; border-bottom: 1px dashed var(--marsh-cliff-spot); font-size: .87rem; }
.thorn-block span { color: var(--marsh-oak-slot); }
.thorn-block b { text-align: right; }
.ember-block .buy-btn { display: block; text-align: center; margin-top: 1rem; }

/* ledger footer + cta band */
.stone-zone { background: var(--marsh-quill-field); color: #fff; }
.iris-rail { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-top: 2.4rem; padding-bottom: 2.4rem; flex-wrap: wrap; }
.iris-rail h2 { margin: 0 0 .25rem; font-size: clamp(1.6rem, 2.6vw, 2.2rem); }
.iris-rail p { margin: 0; color: color-mix(in srgb, #fff 82%, transparent); max-width: 60ch; }
.oak-field { background: #fff; color: var(--marsh-quill-field); flex: none; }
.oak-field:hover { background: var(--marsh-yarrow-stack); color: #fff; }
.brook-band { margin-top: 0; border-top: 0; background: color-mix(in srgb, var(--marsh-iris-field) 96%, var(--marsh-yarrow-stack)); }
.gale-group { display: grid; grid-template-columns: 1.8fr 1fr 1fr 1fr 1.5fr; gap: 2rem; padding-top: .5rem; }
.cedar-band { display: flex; flex-direction: column; }
.quill-part { display: flex; justify-content: space-between; gap: .8rem; font-size: .82rem; padding: .3rem 0; border-bottom: 1px dotted var(--marsh-cliff-spot); }
.quill-part span { color: var(--marsh-oak-slot); }
.oak-panel { display: inline-block; margin-top: .6rem; font-size: .84rem; font-weight: 600; text-decoration: underline; }

.juniper-slot { font-size: 1.5rem; margin: 2.4rem 0 .6rem; }

.vale-band { display: flex; flex-direction: column; gap: .45rem; }
.aspen-row { display: flex; justify-content: space-between; align-items: center; }
.juniper-rail { font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; color: var(--marsh-oak-slot); font-weight: 700; }
.reed-area { margin: 0; text-transform: uppercase; font-weight: 800; font-size: .85rem; letter-spacing: .04em; }
.vale-band figcaption { margin: 0; padding: 0; }
.vale-band blockquote { font-family: 'Source Sans 3', sans-serif; font-size: .95rem; color: var(--marsh-oak-slot); margin: 0; }
.ember-deck { margin-top: auto; padding-top: .5rem; font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }

@media (max-width: 940px) {
  .dune-stack { display: none; }
  .aspen-line { grid-template-columns: 1fr; gap: 2.25rem; }
  .marsh-rail { grid-template-columns: 1fr; }
  .thorn-group .dune-part { order: 0; }
  .dune-part img { min-height: 0; aspect-ratio: 16 / 8; }
  .wren-field { grid-template-columns: 1fr; gap: 1.75rem; }
  .ember-block { position: static; }
  .gale-group { grid-template-columns: 1fr 1fr; }
  .iris-rail { flex-direction: column; align-items: flex-start; gap: 1.25rem; }
  .reed-part { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .gale-grid { position: static; flex-direction: row; flex-wrap: wrap; gap: .45rem; border-left: 0; }
  .ember-group { width: 100%; padding-left: 0; }
  .gale-grid a { border: 1px solid var(--marsh-cliff-spot); border-radius: 999px; padding: .35rem .8rem; margin-left: 0; background: #fff; }
  .gale-grid a:hover { border-color: var(--marsh-quill-field); }
  .loch-frame .heath-spot { grid-template-columns: 1fr 1fr; gap: 1.75rem; }
  .juniper-zone { grid-template-columns: 1fr; }
  .ridge-line .sage-cell { grid-template-columns: 1fr; }
  .heath-box { grid-template-columns: 1fr; }
  .heath-zone { grid-template-columns: 1fr; }
  .sage-cell { grid-template-columns: 1fr; gap: 2rem; }
  .fact-row { flex-wrap: wrap; white-space: normal; justify-content: center; row-gap: .3rem; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .aspen-frame { height: 230px; object-position: 62% 42%; }
  .sage-unit { position: static; background: var(--marsh-yarrow-stack); padding: 1.5rem 0 1.75rem; }
  .cedar-block { max-width: none; }
  .loch-area .topbar-inner { justify-content: space-between; gap: .75rem; }
  .loch-area .head-action { margin-left: 0; }
  .pine-deck { gap: 1.25rem; }
}
@media (max-width: 620px) {
  .primary-nav { display: none; }
  .primary-nav.north-group { display: flex; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0; background: var(--marsh-iris-field); padding: 1rem 1.25rem; border-bottom: 1px solid var(--marsh-cliff-spot); }
  .nav-toggle { display: inline-block; }
  .head-action { display: none; }
  .footer-grid { grid-template-columns: 1fr; }
  .data-table th, .data-table td { white-space: normal; min-width: 6rem; padding: .5rem .5rem; font-size: .85rem; }
  .oak-spot { flex-direction: column; gap: .2rem; text-align: center; }
  .dune-area { flex-wrap: wrap; justify-content: center; white-space: normal; }
  .quill-rail { gap: .6rem; }
  .gale-group { grid-template-columns: 1fr; }
  .juniper-part { white-space: normal; }
}
