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