/* 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; }
.yarrow-unit { max-width: var(--ridge-pine-panel); margin: 0 auto; padding: 0 1.25rem; }
.juniper-unit { padding: 3rem 0; }
.juniper-unit.tinted { background: color-mix(in srgb, var(--ridge-marsh-grid) 92%, var(--ridge-reed-line)); }
.reed-band { position: absolute; left: -999px; }
.reed-band:focus { left: 1rem; top: 1rem; background: var(--ridge-marsh-grid); padding: .5rem 1rem; z-index: 100; }

.masthead { position: sticky; top: 0; z-index: 20; background: var(--ridge-marsh-grid); border-bottom: 1px solid var(--ridge-loch-row); }
.masthead-row { display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem; gap: 1rem; }
.brand-mark { font-family: 'Baloo 2', 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; }
.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; }
.vale-rail { background-size: cover; background-position: center; padding: 5.5rem 0; min-height: 480px; display: flex; align-items: center; }
.vale-rail .pretitle, .vale-rail h1, .vale-rail .lead-text { color: var(--ridge-marsh-grid); }
.vale-rail .lead-text { color: color-mix(in srgb, var(--ridge-marsh-grid) 85%, transparent); }
.vale-rail .wren-group { color: var(--ridge-marsh-grid); }
.vale-rail .cliff-area { color: color-mix(in srgb, var(--ridge-marsh-grid) 75%, transparent); }
.thorn-frame { max-width: 36rem; }
.juniper-zone { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; margin-top: .5rem; }
.cliff-area { 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; }
.pretitle { 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; }
.lead-text { color: var(--ridge-fern-line); max-width: 60ch; }
.juniper-unit h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); }

.fact-bar { background: var(--ridge-reed-line); color: var(--ridge-marsh-grid); overflow: hidden; padding: .65rem 0; }
.strip-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; }
.strip-mark { color: color-mix(in srgb, var(--ridge-marsh-grid) 55%, transparent); }
.header-btn { 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; }

.wren-cell { margin: 2rem 0 .75rem; font-size: .85rem; font-weight: 600; color: var(--ridge-fern-line); }
.yarrow-stack { display: flex; flex-wrap: wrap; gap: .6rem; }
.heath-area { 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); }

.quill-deck { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ridge-aspen-unit); margin-top: 1.5rem; }
.thorn-deck { 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); }
.thorn-deck img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.thorn-deck figcaption { padding: 1.25rem 1.5rem 1.5rem; }
.thorn-deck h3 { margin: 0 0 .4rem; font-size: 1.25rem; }
.thorn-deck p { margin: 0; color: var(--ridge-fern-line); }
.oak-cell img { width: 100%; aspect-ratio: 21 / 6; object-fit: cover; display: block; }
@media (max-width: 620px) { .quill-deck { grid-template-columns: 1fr; } .oak-cell img { aspect-ratio: 16 / 9; } }

.juniper-line { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--ridge-aspen-unit); }
.aspen-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); }
.aspen-spot h3 { color: var(--ridge-marsh-grid); font-size: 1.4rem; }
.aspen-spot p { color: color-mix(in srgb, var(--ridge-marsh-grid) 80%, transparent); }
.wren-group { text-decoration: underline; font-weight: 600; font-size: .9rem; }
.fern-grid { color: var(--ridge-marsh-grid); }

.heath-field { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--ridge-aspen-unit); margin-top: 1.5rem; }
.moss-box { 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); }
.flint-spot { margin: .4rem 0 .6rem; }
.moss-box p { color: var(--ridge-fern-line); }
.moss-box 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; }

.flint-rail { 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; }
.item-tag { 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; }
.price { font-weight: 700; }
.sage-unit { font-size: 1.6rem; }
.brook-group { 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; }

.ridge-field { display: flex; flex-wrap: wrap; gap: 2rem; justify-content: space-around; text-align: center; }
.ridge-field strong { display: block; font-size: 1.5rem; font-family: 'Baloo 2', serif; }
.ridge-field span { color: var(--ridge-fern-line); font-size: .9rem; }

.vale-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--ridge-aspen-unit); margin-top: 1.5rem; }
.cliff-line { border-left: 3px solid var(--ridge-sage-panel); padding: .2rem 0 .2rem 1rem; }
.cliff-line h3 { font-size: 1.1rem; margin-bottom: .3rem; }
.cliff-line p { color: var(--ridge-fern-line); margin: 0; }

.brook-box { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--ridge-aspen-unit); margin-top: 1.5rem; counter-reset: step; }
.birch-cell { 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; }
.gale-line h3 { font-size: 1.05rem; margin: 0 0 .3rem; }
.gale-line p { color: var(--ridge-fern-line); margin: 0; }

.heath-line { }
.flint-zone { display: grid; grid-template-columns: 5fr 6fr; gap: 2.5rem; align-items: center; }
.vale-box { background: color-mix(in srgb, var(--ridge-marsh-grid) 96%, var(--ridge-reed-line)); border-radius: var(--ridge-ember-spot); padding: 2rem; }
.vale-box img { aspect-ratio: 1 / 1; object-fit: contain; width: 100%; }
.pine-rail { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; margin-top: .5rem; }
.wren-group { text-decoration: underline; font-weight: 600; font-size: .9rem; }

.dune-frame { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ridge-aspen-unit); margin-top: 1.5rem; }
.quill-area { 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); }
.stone-rail { 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; }
.quill-area blockquote { margin: 0 0 .75rem; font-family: 'Baloo 2', serif; font-size: 1.1rem; line-height: 1.4; }
.quill-area figcaption { color: var(--ridge-fern-line); font-size: .85rem; margin-top: auto; padding-top: .5rem; }
@media (max-width: 940px) { .dune-frame { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .dune-frame { grid-template-columns: 1fr; } }

.moss-area { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--ridge-aspen-unit); margin-top: 1.5rem; }
.quill-group { 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; }
.quill-group:hover { box-shadow: 0 8px 20px color-mix(in srgb, var(--ridge-reed-line) 12%, transparent); transform: translateY(-2px); }

.thorn-group { background: var(--ridge-reed-line); }
.thorn-group h2 { color: var(--ridge-marsh-grid); }
.thorn-group .pretitle { color: color-mix(in srgb, var(--ridge-marsh-grid) 55%, var(--ridge-sage-panel)); }
.loch-group { margin-top: 2rem; border-top: 1px solid color-mix(in srgb, var(--ridge-marsh-grid) 18%, transparent); }
.reed-block { 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; }
.aspen-frame { 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; }
.vale-block { 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; }
.ember-row h3 { margin: 0 0 .3rem; color: var(--ridge-marsh-grid); font-size: 1.25rem; }
.ember-row p { margin: 0; color: color-mix(in srgb, var(--ridge-marsh-grid) 62%, transparent); font-size: .95rem; }
.wren-slot { font-size: 1.5rem; color: color-mix(in srgb, var(--ridge-marsh-grid) 40%, transparent); justify-self: end; transition: color .15s, transform .15s; }
.reed-block:hover .aspen-frame { color: var(--ridge-sage-panel); }
.reed-block:hover .wren-slot { color: var(--ridge-sage-panel); transform: translateX(4px); }

.oak-slot { 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); }
.north-part { display: flex; justify-content: space-between; align-items: center; gap: .75rem; flex-wrap: wrap; }
.brook-field { 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; }
.brook-field:hover { border-color: var(--ridge-sage-panel); }
.oak-slot blockquote { margin: 0; font-size: .98rem; line-height: 1.6; color: var(--ridge-fern-line); position: relative; padding-left: 1.1rem; }
.oak-slot 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; }
.oak-slot 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); }
.oak-slot figcaption b { font-size: .92rem; }
.loch-grid { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--ridge-fern-line); }

@media (max-width: 700px) {
  .reed-block { grid-template-columns: 2.6rem minmax(0, 1fr); gap: 1rem; }
  .aspen-frame { font-size: 1.3rem; align-self: start; }
  .wren-slot { 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; }

.moss-deck { display: grid; grid-template-columns: 5fr 6fr; gap: 2.5rem; margin: 1rem 0 2rem; }
.ember-cell { background: color-mix(in srgb, var(--ridge-marsh-grid) 96%, var(--ridge-reed-line)); border-radius: var(--ridge-ember-spot); padding: 2rem; }
.ember-cell img { aspect-ratio: 1 / 1; object-fit: contain; width: 100%; }
.quill-field { 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)); }

.sage-rail h3 { font-size: 1.45rem; margin: 2.75rem 0 .75rem; }
.moss-frame p { color: var(--ridge-fern-line); font-size: 1.05rem; }
.yarrow-frame { 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); }
.yarrow-frame h3 { margin: 0 0 .5rem; font-size: 1.3rem; }
.yarrow-frame 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; }
.sage-rail .content-col { max-width: 62rem; margin-left: auto; margin-right: auto; }
.sage-rail .content-col p, .sage-rail .content-col h2, .sage-rail .content-col h3 { max-width: none; }
.sage-rail .yarrow-frame { max-width: none; }
.moss-group { max-width: 70ch; padding-left: 1.2rem; color: var(--ridge-fern-line); }
.moss-group li { margin-bottom: .4rem; }
.loch-block { text-align: center; padding: 5rem 1.25rem; max-width: 50ch; margin: 0 auto; }

.footer-main { 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-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 2rem; }
.footer-col a { display: block; text-decoration: none; margin: .3rem 0; font-size: .9rem; }
.footer-col h4 { margin: 0 0 .5rem; font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; }
.footer-title { font-family: 'Baloo 2', serif; font-weight: 700; font-size: 1.2rem; margin: 0; }
.foot-address { color: var(--ridge-fern-line); font-size: .85rem; }
.footer-legal { color: var(--ridge-fern-line); font-size: .78rem; padding: 2rem 1.25rem; }

.flint-frame { font-size: .75rem; color: var(--ridge-fern-line); }

.gale-zone { background: var(--ridge-marsh-grid); padding: 4.5rem 0; }
.gale-zone .ridge-spot { display: grid; grid-template-columns: 6fr 6fr; gap: 3rem; align-items: center; }
.gale-zone .quill-cell img { width: 100%; border-radius: var(--ridge-ember-spot); object-fit: cover; object-position: 100% center; aspect-ratio: 5 / 4; }

.cliff-rail { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--ridge-aspen-unit); margin-top: 1.75rem; }
.moss-band { display: flex; flex-direction: column; gap: .2rem; text-decoration: none; }
.ember-stack { 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; }
.moss-band:hover .ember-stack { background: color-mix(in srgb, var(--ridge-sage-panel) 14%, var(--ridge-marsh-grid)); }
.ember-stack img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; mix-blend-mode: multiply; }
.stone-frame { font-family: 'Baloo 2', serif; font-weight: 700; font-size: 1.15rem; }
.brook-row { color: var(--ridge-fern-line); font-size: .82rem; }
.wren-line { 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.gale-rail .juniper-unit h2, body.gale-rail .flint-deck h2 { text-transform: uppercase; letter-spacing: .01em; font-size: clamp(2.2rem, 4.2vw, 3.4rem); }
body.gale-rail .intro h1 { text-transform: uppercase; font-size: clamp(2.4rem, 4.6vw, 3.8rem); max-width: 14ch; }
body.gale-rail .pretitle { letter-spacing: .18em; }
body.gale-rail .item-card { border: none; box-shadow: none; background: transparent; overflow: visible; }
body.gale-rail .item-card:hover { box-shadow: none; transform: none; }
body.gale-rail .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.gale-rail .item-card:hover .card-figure img { background: color-mix(in srgb, var(--ridge-sage-panel) 12%, var(--ridge-marsh-grid)); }
body.gale-rail .card-info { padding: .9rem .15rem; }
body.gale-rail .card-info h3 { font-size: 1.05rem; }
body.gale-rail .buy-btn { background: var(--ridge-reed-line); }
body.gale-rail .buy-btn:hover { background: var(--ridge-sage-panel); }
body.gale-rail .primary-nav a { text-transform: uppercase; font-size: .82rem; letter-spacing: .08em; }
body.gale-rail .brand-mark { font-size: 1.6rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 700; }
body.gale-rail .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); }

.flint-row { position: relative; }
.marsh-band { width: 100%; height: clamp(400px, 36vw, 560px); object-fit: cover; object-position: center; display: block; }
.marsh-rail { 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%); }
.marsh-rail .pretitle { color: var(--ridge-marsh-grid); }
.marsh-rail h1 { color: var(--ridge-marsh-grid); margin-bottom: 1rem; }
.marsh-rail .cliff-area { 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.gale-rail .header-btn { background: transparent; border: 1.5px solid var(--ridge-reed-line); color: var(--ridge-reed-line); }
body.gale-rail .header-btn:hover { background: var(--ridge-reed-line); color: var(--ridge-marsh-grid); }

.sage-band .moss-part { display: flex; align-items: center; gap: 1rem; padding-top: 1rem; padding-bottom: 1.5rem; }
.pine-spot { height: 3.2rem; width: auto; border-radius: 50%; }
.marsh-unit { 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; }
.marsh-unit span { text-transform: uppercase; letter-spacing: .1em; font-weight: 700; font-size: .75rem; color: var(--ridge-fern-line); }
.marsh-unit a { text-decoration: none; font-weight: 600; }
.sage-band .footer-col h4 { letter-spacing: .1em; }
.sage-band .foot-about h4 { font-size: 1.4rem; text-transform: none; letter-spacing: 0; font-family: 'Baloo 2', serif; }
.sage-band .foot-about .button { margin-top: .75rem; }

.cedar-zone { border-bottom: 0; }
.cedar-zone .masthead-row { 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; }
.thorn-line { display: flex; align-items: center; gap: .7rem; text-decoration: none; }
.heath-stack { 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); }
.brook-zone { font-family: 'Public Sans', sans-serif; font-weight: 600; font-size: .64rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ridge-fern-line); }
.marsh-group { margin-left: auto; display: flex; gap: 1.4rem; }
.birch-zone { font-size: .9rem; font-weight: 600; text-decoration: none; color: var(--ridge-reed-line); }
.birch-zone: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; }

.vale-frame .vale-cell { position: relative; }
.gale-panel { width: 100%; height: clamp(400px, 36vw, 540px); object-fit: cover; object-position: 72% 42%; display: block; }
.dune-rail { 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%); }
.aspen-block { max-width: 33rem; }
.aspen-block .pretitle { color: color-mix(in srgb, #fff 75%, var(--ridge-sage-panel)); }
.aspen-block h1 { color: #fff; }
.aspen-block .lead-text { color: color-mix(in srgb, #fff 86%, transparent); }
.aspen-block .cliff-area { color: color-mix(in srgb, #fff 70%, transparent); }
.ember-line { background: var(--ridge-marsh-grid); border-bottom: 1px solid var(--ridge-loch-row); }
.yarrow-band { display: flex; align-items: center; gap: 1.25rem; padding-top: .85rem; padding-bottom: .85rem; flex-wrap: wrap; }
.vale-line { 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); }

.wren-grid { background: var(--ridge-reed-line); color: color-mix(in srgb, var(--ridge-marsh-grid) 88%, transparent); margin-top: 0; }
.wren-grid .stone-block { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 2.5rem; padding-top: 3rem; padding-bottom: 2rem; }
.wren-grid .heath-stack { color: #fff; }
.birch-box p { margin-top: 1rem; font-size: .92rem; line-height: 1.65; }
.wren-grid .footer-col h4 { color: #fff; letter-spacing: .12em; }
.wren-grid .footer-col 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; }
.wren-grid .footer-col a:hover { color: #fff; }
.wren-panel { border-top: 1px solid color-mix(in srgb, var(--ridge-marsh-grid) 18%, transparent); padding-top: 1.25rem; padding-bottom: .25rem; font-size: .9rem; }
.wren-panel a { color: #fff; }
.wren-grid .foot-address { color: color-mix(in srgb, var(--ridge-marsh-grid) 55%, transparent); font-size: .8rem; margin-top: .4rem; }
.wren-grid .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; }
.wren-grid .footer-legal p { color: color-mix(in srgb, var(--ridge-marsh-grid) 55%, transparent); }

.loch-stack .moss-frame { max-width: 46rem; }
.loch-stack .moss-frame p { font-size: 1.05rem; }
.loch-spot { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 3.5rem; align-items: start; margin-top: 2.5rem; }
.flint-band { position: sticky; top: 95px; display: flex; flex-direction: column; border-left: 2px solid var(--ridge-loch-row); }
.cedar-band { text-transform: uppercase; letter-spacing: .13em; font-size: .7rem; font-weight: 800; color: var(--ridge-fern-line); padding: 0 0 .55rem .95rem; }
.flint-band 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-band a span { color: var(--ridge-sage-panel); font-weight: 800; font-size: .72rem; }
.flint-band a:hover { color: var(--ridge-reed-line); border-left-color: var(--ridge-sage-panel); }
.reed-field { border-top: 1px solid var(--ridge-loch-row); padding: 1.9rem 0 .7rem; scroll-margin-top: 95px; }
.thorn-stack .reed-field:first-child { border-top: 0; padding-top: 0; }
.reed-field h3 { display: flex; gap: .85rem; align-items: baseline; margin: 0 0 .9rem; font-size: 1.35rem; }
.brook-rail { font-family: 'Public Sans', sans-serif; color: var(--ridge-sage-panel); font-weight: 800; font-size: .82rem; letter-spacing: .06em; flex: none; }
.reed-field p { color: var(--ridge-fern-line); max-width: 46rem; }
.reed-field .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; }
.moss-grid { border-bottom: 0; box-shadow: 0 1px 0 var(--ridge-loch-row); }
.marsh-spot { color: var(--ridge-sage-panel); font-size: 1.65rem; font-weight: 800; letter-spacing: -.02em; text-transform: lowercase; }
.cliff-slot { background: color-mix(in srgb, var(--ridge-sage-panel) 7%, var(--ridge-marsh-grid)); border-top: 1px solid var(--ridge-loch-row); }
.brook-panel { display: flex; align-items: center; gap: 1.1rem; padding-top: .6rem; padding-bottom: .6rem; flex-wrap: wrap; }
.sage-stack { text-transform: uppercase; letter-spacing: .13em; font-size: .7rem; font-weight: 800; color: var(--ridge-fern-line); flex: none; }
.cliff-part { display: flex; gap: .55rem; flex-wrap: wrap; }
.aspen-slot { 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-slot b { font-size: .8rem; color: var(--ridge-reed-line); }
.aspen-slot span { font-size: .74rem; color: var(--ridge-fern-line); }
.aspen-slot: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 */
.gale-band { 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; }
.gale-band 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 */
.aspen-area { display: grid; gap: var(--ridge-aspen-unit); margin-top: 1.75rem; }
.stone-row { 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; }
.oak-zone img { width: 100%; height: 100%; min-height: 280px; object-fit: cover; }
.stone-field .oak-zone { order: 2; }
.stone-cell { padding: clamp(1.5rem, 3.5vw, 3rem); align-self: center; }
.stone-cell h3 { font-size: clamp(1.5rem, 2.4vw, 2.1rem); margin: .3rem 0 .5rem; }
.stone-cell > p { color: var(--ridge-fern-line); max-width: 52ch; }
.cliff-frame { 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 */
.vale-band { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 2.75rem; align-items: start; }
.quill-frame h2 { font-size: 1.35rem; margin: 1.9rem 0 .6rem; }
.quill-frame:first-child h2 { margin-top: 0; }
.quill-frame p { color: var(--ridge-fern-line); max-width: 62ch; }
.flint-grid { 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); }
.flint-grid h2 { font-size: 1.1rem; margin: 0 0 .8rem; }
.ember-group { display: flex; justify-content: space-between; gap: 1rem; padding: .48rem 0; border-bottom: 1px dashed var(--ridge-loch-row); font-size: .87rem; }
.ember-group span { color: var(--ridge-fern-line); }
.ember-group b { text-align: right; }
.flint-grid .buy-btn { display: block; text-align: center; margin-top: 1rem; }

/* ledger footer + cta band */
.fern-frame { background: var(--ridge-sage-panel); color: #fff; }
.gale-area { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-top: 2.4rem; padding-bottom: 2.4rem; flex-wrap: wrap; }
.gale-area h2 { margin: 0 0 .25rem; font-size: clamp(1.6rem, 2.6vw, 2.2rem); }
.gale-area 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; }
.dune-box { margin-top: 0; border-top: 0; background: color-mix(in srgb, var(--ridge-marsh-grid) 96%, var(--ridge-reed-line)); }
.ridge-zone { display: grid; grid-template-columns: 1.8fr 1fr 1fr 1fr 1.5fr; gap: 2rem; padding-top: .5rem; }
.loch-frame { display: flex; flex-direction: column; }
.fern-band { display: flex; justify-content: space-between; gap: .8rem; font-size: .82rem; padding: .3rem 0; border-bottom: 1px dotted var(--ridge-loch-row); }
.fern-band span { color: var(--ridge-fern-line); }
.north-grid { 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; }

/* marquee hero: saturated brand panel, photo card, floating proof badges */
.brook-stack { background: linear-gradient(135deg, color-mix(in srgb, var(--ridge-sage-panel) 55%, var(--ridge-reed-line)) 0%, var(--ridge-sage-panel) 58%, color-mix(in srgb, var(--ridge-sage-panel) 72%, #fff) 100%); color: #fff; padding: 4.5rem 0 5rem; overflow: hidden; }
.fern-part { display: grid; grid-template-columns: 6fr 5fr; gap: 4rem; align-items: center; }
.iris-unit .pretitle { color: color-mix(in srgb, #fff 72%, var(--ridge-sage-panel)); }
.iris-unit h1 { color: #fff; font-size: clamp(2.6rem, 4.8vw, 4rem); max-width: 17ch; letter-spacing: -.01em; margin-bottom: .35em; }
.iris-unit .lead-text { color: color-mix(in srgb, #fff 86%, transparent); max-width: 54ch; }
.iris-unit .cliff-area { color: color-mix(in srgb, #fff 70%, transparent); }
.stone-line { background: #fff; color: var(--ridge-sage-panel); }
.stone-line:hover { background: var(--ridge-reed-line); color: #fff; }
.gale-cell { color: #fff; }
.north-block { position: relative; }
.north-block > img { width: 100%; border-radius: 20px; transform: rotate(-1.5deg); box-shadow: 0 24px 60px color-mix(in srgb, var(--ridge-reed-line) 38%, transparent); }
.brook-line { position: absolute; background: #fff; color: var(--ridge-reed-line); border-radius: 14px; padding: .75rem 1.05rem; box-shadow: 0 12px 30px color-mix(in srgb, var(--ridge-reed-line) 30%, transparent); display: flex; flex-direction: column; gap: .1rem; max-width: 15rem; }
.brook-line b { font-family: 'Baloo 2', serif; font-size: 1.45rem; color: var(--ridge-sage-panel); line-height: 1.1; }
.brook-line span { font-size: .74rem; color: var(--ridge-fern-line); line-height: 1.35; }
.thorn-cell { top: 7%; left: -3rem; transform: rotate(-2deg); }
.fern-rail { bottom: 8%; right: -1.75rem; transform: rotate(1.5deg); }

/* drug-facts style seo card */
.cliff-box { display: grid; grid-template-columns: 5fr 7fr; gap: 3.5rem; align-items: start; }
.thorn-block { position: sticky; top: 110px; }
.thorn-block .moss-frame p { font-size: 1rem; }
.flint-box { background: #fff; border: 2.5px solid var(--ridge-reed-line); border-radius: 8px; padding: 0 1.6rem 1.2rem; box-shadow: 8px 10px 0 color-mix(in srgb, var(--ridge-sage-panel) 22%, transparent); }
.fern-slot { font-family: 'Baloo 2', serif; font-weight: 800; font-size: 1.6rem; padding: .9rem 0 .55rem; border-bottom: 7px solid var(--ridge-reed-line); }
.cedar-block { border-top: 1.5px solid var(--ridge-reed-line); padding: 1.1rem 0 .9rem; }
.cedar-block:first-of-type { border-top: 0; }
.cedar-block h3 { margin: 0 0 .5rem; font-size: 1.12rem; text-transform: uppercase; letter-spacing: .03em; }
.cedar-block p { color: var(--ridge-fern-line); font-size: .93rem; margin: .45rem 0; }
.cedar-block .table-box { margin: .9rem 0 .4rem; box-shadow: none; }
.cedar-block .moss-group { font-size: .93rem; margin: .4rem 0; }

/* sources (E-E-A-T) */
.dune-group { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--ridge-aspen-unit); margin-top: 1.75rem; }
.moss-field { display: flex; flex-direction: column; gap: .3rem; background: var(--ridge-marsh-grid); border: 1px solid var(--ridge-loch-row); border-left: 4px solid var(--ridge-sage-panel); border-radius: var(--ridge-ember-spot); padding: 1.2rem 1.3rem; text-decoration: none; transition: box-shadow .15s, transform .15s; }
a.moss-field:hover { box-shadow: 0 10px 24px color-mix(in srgb, var(--ridge-reed-line) 12%, transparent); transform: translateY(-2px); }
.thorn-part { text-transform: uppercase; letter-spacing: .1em; font-size: .68rem; font-weight: 800; color: var(--ridge-sage-panel); }
.moss-field b { font-size: 1.02rem; }
.moss-field p { margin: 0; font-size: .87rem; color: var(--ridge-fern-line); flex: 1; }
.birch-frame { margin-top: .55rem; font-size: .78rem; font-weight: 700; color: var(--ridge-fern-line); }

/* editorial policy (E-E-A-T) */
.marsh-block { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 3rem; align-items: start; }
.birch-spot p { color: var(--ridge-fern-line); max-width: 62ch; }
.iris-deck { font-family: 'Baloo 2', serif; font-size: 1.05rem; color: var(--ridge-reed-line) !important; }
.flint-stack { background: var(--ridge-reed-line); color: var(--ridge-marsh-grid); border-radius: var(--ridge-ember-spot); padding: 1.5rem 1.6rem; }
.reed-area { display: flex; flex-direction: column; gap: .1rem; padding: .7rem 0; border-bottom: 1px solid color-mix(in srgb, var(--ridge-marsh-grid) 18%, transparent); }
.reed-area:last-child { border-bottom: 0; }
.reed-area span { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: color-mix(in srgb, var(--ridge-marsh-grid) 60%, transparent); font-weight: 700; }
.reed-area b { font-size: .95rem; }

.aspen-group { display: flex; flex-direction: column; gap: .45rem; }
.aspen-field { display: flex; justify-content: space-between; align-items: center; }
.stone-unit { font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ridge-fern-line); font-weight: 700; }
.quill-row { margin: 0; text-transform: uppercase; font-weight: 800; font-size: .85rem; letter-spacing: .04em; }
.aspen-group figcaption { margin: 0; padding: 0; }
.aspen-group blockquote { font-family: 'Public Sans', sans-serif; font-size: .95rem; color: var(--ridge-fern-line); margin: 0; }
.oak-area { margin-top: auto; padding-top: .5rem; font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }

@media (max-width: 940px) {
  .marsh-group { display: none; }
  .heath-slot { grid-template-columns: 1fr; gap: 2.25rem; }
  .fern-part { grid-template-columns: 1fr; gap: 2.5rem; }
  .north-block { margin: 0 1rem; }
  .thorn-cell { left: -0.5rem; }
  .fern-rail { right: -0.5rem; }
  .cliff-box { grid-template-columns: 1fr; gap: 1.75rem; }
  .thorn-block { position: static; }
  .marsh-block { grid-template-columns: 1fr; gap: 1.75rem; }
  .stone-row { grid-template-columns: 1fr; }
  .stone-field .oak-zone { order: 0; }
  .oak-zone img { min-height: 0; aspect-ratio: 16 / 8; }
  .vale-band { grid-template-columns: 1fr; gap: 1.75rem; }
  .flint-grid { position: static; }
  .ridge-zone { grid-template-columns: 1fr 1fr; }
  .gale-area { flex-direction: column; align-items: flex-start; gap: 1.25rem; }
  .loch-spot { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .flint-band { position: static; flex-direction: row; flex-wrap: wrap; gap: .45rem; border-left: 0; }
  .cedar-band { width: 100%; padding-left: 0; }
  .flint-band a { border: 1px solid var(--ridge-loch-row); border-radius: 999px; padding: .35rem .8rem; margin-left: 0; background: #fff; }
  .flint-band a:hover { border-color: var(--ridge-sage-panel); }
  .wren-grid .stone-block { grid-template-columns: 1fr 1fr; gap: 1.75rem; }
  .moss-deck { grid-template-columns: 1fr; }
  .gale-zone .ridge-spot { grid-template-columns: 1fr; }
  .sage-deck { grid-template-columns: 1fr; }
  .flint-zone { grid-template-columns: 1fr; }
  .ridge-spot { grid-template-columns: 1fr; gap: 2rem; }
  .strip-row { flex-wrap: wrap; white-space: normal; justify-content: center; row-gap: .3rem; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .gale-panel { height: 230px; object-position: 62% 42%; }
  .dune-rail { position: static; background: var(--ridge-reed-line); padding: 1.5rem 0 1.75rem; }
  .aspen-block { max-width: none; }
  .cedar-zone .masthead-row { justify-content: space-between; gap: .75rem; }
  .cedar-zone .header-btn { margin-left: 0; }
  .quill-grid { gap: 1.25rem; }
}
@media (max-width: 620px) {
  .primary-nav { display: none; }
  .primary-nav.gale-part { 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; }
  .header-btn { display: none; }
  .footer-grid { 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; }
  .brook-panel { gap: .6rem; }
  .ridge-zone { grid-template-columns: 1fr; }
  .iris-block { white-space: normal; }
}
