/* Botanical page styles, loaded after the existing reference styles. */
body.view-map,
body.view-honey,
body.view-places,
body.view-join { background: #fffdf7; color: #243b29; }

body .reference-profile,
body .reference-profile *,
body .join-premium-page,
body .join-premium-page *,
body.view-honey .editorial-hero *,
body.view-honey .article-body *,
body.view-places .editorial-hero *,
body.view-places .article-body * { letter-spacing: 0 !important; }

body .reference-profile .button,
body .reference-profile .contact-card .button,
body .join-premium-page .button,
body .join-premium-page .join-option-personal .button,
body.view-honey .button,
body.view-places .button {
  background: #ffc452;
  border-color: #efb43b;
  color: #493611;
  border-radius: 6px;
  box-shadow: none;
  max-width: 100%;
  white-space: normal;
  line-height: 1.5;
}
body .reference-profile .button:hover,
body .reference-profile .contact-card .button:hover,
body .join-premium-page .button:hover,
body .join-premium-page .join-option-personal .button:hover,
body.view-honey .button:hover,
body.view-places .button:hover { background: #ffd474; border-color: #e9ad31; color: #3d2d12; }
body .reference-profile .button.outline,
body .reference-profile .contact-card .button.outline,
body .join-premium-page .button.outline { background: #fffefa; border-color: #cfd9c4; color: #385d37; }

/* Keep the directory easy to scan beside its working map. */
body.view-map .directory-head {
  position: relative;
  isolation: isolate;
  min-height: 184px;
  padding-block: 27px 35px;
  background: url('landscape-hero-v3.png') center 49% / cover;
}
body.view-map .directory-head:before {
  content: '';
  position: absolute;
  inset: 0;
  background: #fffdf6bd;
  z-index: -1;
}
body.view-map .directory-head:after { width: 166px; height: 166px; opacity: .88; }
body.view-map .directory-head h1,
body.view-map .directory-head .eyebrow,
body.view-map .directory-head > p { background: none; padding: 0; color: #2b442c; }
body.view-map .directory-head h1 { font-size: 38px !important; line-height: 1.16; letter-spacing: 0; }
body.view-map .directory-head > p { font-size: 14px; line-height: 1.65; max-width: 440px; color: #5b6652; }
body.view-map .directory-head .eyebrow { color: #8d6928; }
body.view-map .directory-filters {
  display: grid;
  grid-template-columns: minmax(180px, 1.55fr) minmax(150px, 1fr) minmax(140px, 1fr) auto auto;
  align-items: end;
  gap: 14px !important;
  margin-top: -16px;
  padding: 14px 18px;
  border-radius: 6px;
  box-shadow: none;
  border-color: #e6dfd0;
}
body.view-map .directory-filters label { min-width: 0; font-size: 11px; color: #56624c; }
body.view-map .directory-filters input,
body.view-map .directory-filters select { width: 100%; min-width: 0; height: 40px; min-height: 40px; font-size: 12px; background: #fffdf8; border-radius: 4px; }
body.view-map .directory-filters .button { height: 40px; min-height: 40px; padding: 9px 18px; border-radius: 5px; }
body.view-map .directory-filters .reset { align-self: center; padding: 16px 0 0; line-height: 1.5; white-space: normal; }
body.view-map .directory-layout { grid-template-columns: minmax(330px, .85fr) minmax(0, 1.25fr); gap: 22px; padding-top: 24px; }
body.view-map .directory-layout .results-pane { grid-column: 1; grid-row: 1; }
body.view-map .directory-layout .map-pane { grid-column: 2; grid-row: 1; border-radius: 6px; }
body.view-map .directory-layout #directory-map { height: 660px; border-radius: 6px; }
body.view-map .directory-layout .map-pane:after { display: none; }
body.view-map .results-heading { align-items: baseline; gap: 14px; font-size: 15px; margin-bottom: 14px; color: #30482c; }
body.view-map .results-heading > span { font-size: 10px; color: #777768; }
body.view-map .results-list { max-height: 604px; gap: 10px; padding-right: 7px; scrollbar-width: thin; scrollbar-color: #cdd7bf #fffdf7; }
body.view-map .results-list .producer-card {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 13px;
  min-height: 124px;
  padding: 8px;
  border-color: #e8e3d8;
  border-radius: 6px;
  background: #fff;
  box-shadow: none;
}
body.view-map .results-list .card-visual { display: block; min-height: 0; height: 108px; border-radius: 4px; overflow: hidden; }
body.view-map .results-list .card-visual.abstract { display: flex; background: #e9f0da; }
body.view-map .results-list .card-visual img { width: 100%; height: 100%; object-fit: cover; }
body.view-map .results-list .card-body { min-width: 0; padding: 2px 3px; }
body.view-map .results-list .card-body h3 { font-size: 21px; line-height: 1.18; letter-spacing: 0; overflow-wrap: anywhere; margin: 4px 0 9px; color: #2c422b; }
body.view-map .results-list .card-body > small { font-size: 11px; color: #827458; }
body.view-map .results-list .tags { flex-wrap: wrap; gap: 4px; }
body.view-map .results-list .tags span { font-size: 9px; line-height: 1.5; padding: 3px 7px; background: #fff3d6; color: #77633b; }
body.view-map .results-list .directory-phone { font-size: 12px; color: #47603c; white-space: normal; overflow-wrap: anywhere; }
body.view-map .results-list .card-body > .text-link { font-size: 11px; color: #876022; }
body.view-map .directory-invite { border: 0; border-radius: 0; padding: 23px 0; background: transparent; border-top: 1px solid #e5dfcd; }
body.view-map .pagination button,
body.view-map .pagination a { border-radius: 4px; }

/* The real apiary scene and portrait remain visible in a bright profile hero. */
body .reference-profile { --profile-paper: #fffdf7; --profile-green: #25472d; background: #fffdf7; }
body .reference-profile .breadcrumbs { padding-block: 16px; color: #807a68; }
body .reference-profile .profile-stage { background: #f4f6e9; }
body .reference-profile .profile-stage:before { background: var(--apiary-scene) center 54% / cover; filter: none; }
body .reference-profile .profile-stage:after { inset: 0 auto 0 0; width: 76%; background: #fffdf4e8; }
body .reference-profile .profile-stage .profile-hero {
  position: relative;
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr);
  align-items: center;
  gap: 30px;
  min-height: 326px;
  padding-block: 32px;
  color: #27472c;
  text-align: left;
}
body .reference-profile .profile-hero:after {
  content: '';
  position: absolute;
  right: -35px;
  bottom: 0;
  width: 215px;
  height: 235px;
  background: url('editorial/botanical-corner-v2.png') left bottom / contain no-repeat;
  transform: scaleX(-1);
  opacity: .92;
  pointer-events: none;
}
body .reference-profile .profile-hero-portrait { max-width: 176px; align-self: center; }
body .reference-profile .profile-hero-portrait img { width: 176px; height: 176px; object-view-box: none; border: 4px solid #fffefa; border-radius: 50%; box-shadow: 0 3px 14px #324d271a; }
body .reference-profile.profile-genti .profile-hero-portrait img { object-view-box: inset(33% 58% 49% 18%); }
body .reference-profile .profile-hero-portrait figcaption { color: #66735a; font-size: 12px; }
body .reference-profile .profile-hero-copy { max-width: 720px; position: relative; z-index: 1; }
body .reference-profile .profile-hero-copy .eyebrow { color: #94702b; font-size: 11px; }
body .reference-profile .profile-hero-copy h1 { font-size: 52px; color: #24462d; text-shadow: none; line-height: 1.12; overflow-wrap: anywhere; max-width: 720px; }
body .reference-profile .profile-tagline { color: #536648; font-size: 21px; margin: 10px 0 15px; }
body .reference-profile .apiary-location-dot { background: #719052; box-shadow: 0 0 0 4px #70905018; }
body .reference-profile .profile-hero-honeys a { background: #fff9e8; border-color: #dccda9; color: #65734c; font-size: 11px; }
body .reference-profile .profile-hero-actions { margin-top: 20px; gap: 14px 21px; }
body .reference-profile .profile-hero-actions .button { min-height: 46px; padding: 11px 21px; font-size: 13px; }
body .reference-profile .hero-public-phone { color: #425f37; font-size: 16px; white-space: normal; overflow-wrap: anywhere; }
body .reference-profile .hero-public-phone:hover,
body .reference-profile .hero-film-link:hover { color: #805c22; }
body .reference-profile .hero-film-link { color: #5a6948; font-size: 12px; }
body .reference-profile .hero-film-link > span { border-color: #a9b993; }
body .reference-profile .profile-nav { background: #fffdf7; gap: 27px; padding-block: 16px; border-color: #e5dfd0; }
body .reference-profile .profile-content { grid-template-columns: minmax(0, 1fr) 310px; gap: 35px; padding-block: 32px 38px; }
body .reference-profile .profile-main > section,
body .reference-profile .profile-main > section:last-child {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #e5dfd0;
  border-radius: 0;
  box-shadow: none;
  padding: 0 0 27px;
  margin-bottom: 27px;
  min-width: 0;
}
body .reference-profile .profile-main h2,
body .reference-profile .profile-main .section-heading h2 { font-size: 29px; line-height: 1.2; }
body .reference-profile .profile-story .large-text { font-size: 14px; line-height: 1.85; color: #727564; }
body .reference-profile .profile-facts { gap: 0; padding-top: 19px; margin-top: 8px; }
body .reference-profile .profile-facts > span { border: 0; border-right: 1px solid #e1dccb; border-radius: 0; background: transparent; padding: 4px 10px; font-size: 11px; color: #7b7b68; }
body .reference-profile .profile-facts > span:last-child { border-right: 0; }
body .reference-profile .profile-facts strong { color: #97802e; font-size: 27px; }
body .reference-profile .product { border-radius: 6px; background: #fff; box-shadow: none; border-color: #e5dfd0; }
body .reference-profile .product-photo { border-radius: 5px 5px 0 0; }
body .reference-profile .product-body h3 { font-size: 25px; overflow-wrap: anywhere; }
body .reference-profile .product-bottom strong { font-size: 28px; white-space: normal; }
body .reference-profile .product-bottom a { border-radius: 5px; background: #ffefc6; border-color: #e9cc87; color: #765a21; font-size: 11px; }
body .reference-profile .product-bottom a:hover { background: #ffc452; border-color: #e4ab36; color: #493611; }
body .reference-profile .profile-film { border-radius: 6px; border-color: #dce1ce; }
body .reference-profile .profile-film video { border-radius: 5px; }
body .reference-profile .contact-card { padding: 25px; background: #fff; border-color: #dedfcb; border-radius: 6px; box-shadow: none; top: 90px; }
body .reference-profile .contact-card h2 { font-size: 27px; line-height: 1.2; }
body .reference-profile .contact-phone { color: #6c823e; font-size: 22px; white-space: normal; overflow-wrap: anywhere; }
body .reference-profile .contact-card .button { min-height: 44px; border-radius: 5px; padding: 10px 14px; font-size: 12px; }
body .reference-profile .contact-card .visit-heading { font-size: 22px; }
body .reference-profile .contact-divider { border-color: #e2e4d6; }
body .reference-profile .premium-invitation { width: 100%; max-width: none; border: 0; border-radius: 0; background: #edf2e3; padding: 32px max(24px, calc((100% - 1240px) / 2)); margin-bottom: 0; }
body .reference-profile .premium-invitation h2 { font-size: 29px; }
body .reference-profile .premium-invitation-action strong { font-size: 28px; white-space: normal; line-height: 1.25; }
body .reference-profile .premium-invitation-action { max-width: 330px; }

/* Botanical journal heroes use real image assets at full width. */
body.view-honey .honey-editorial,
body.view-places .places-editorial { isolation: isolate; min-height: 440px; padding-block: 54px 50px; }
body.view-honey .honey-editorial { background: #fff6df url('editorial/honey-stilllife-v1.webp') center 48% / cover; }
body.view-places .places-editorial { background: #f2f5e6 url('landscape-hero-v3.png') center 46% / cover; }
body.view-honey .honey-editorial:after,
body.view-places .places-editorial:after {
  width: 175px;
  height: 235px;
  inset: auto auto 0 -35px;
  background: url('editorial/botanical-corner-v2.png') left bottom / contain no-repeat;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  z-index: -1;
}
body.view-places .places-editorial:before { content: ''; position: absolute; inset: 0; background: #fffdf6b8; z-index: -1; }
body.view-honey .honey-editorial h1,
body.view-places .places-editorial h1 { max-width: 610px; font-size: 50px; line-height: 1.12; color: #2c4429; overflow-wrap: anywhere; }
body.view-honey .honey-editorial .intro,
body.view-places .places-editorial .intro { max-width: 525px; font-size: 14px; line-height: 1.8; color: #626950; margin-block: 23px; }
body.view-honey .editorial-kicker,
body.view-places .editorial-kicker { color: #97712b; font-size: 10px; }
body.view-honey .editorial-actions,
body.view-places .editorial-actions { gap: 22px; }
body.view-honey .editorial-actions .text-link,
body.view-places .editorial-actions .text-link { color: #576839; font-size: 12px; }
body.view-honey .editorial-index,
body.view-places .editorial-index { padding-block: 19px; font-size: 12px; gap: 13px 26px; color: #5b6a41; }
body.view-honey .article-body,
body.view-places .article-body { padding-block: 43px; }
body.view-honey .editorial-heading,
body.view-places .editorial-heading { gap: 55px; margin-bottom: 28px; }
body.view-honey .editorial-heading > div:first-child h2,
body.view-places .editorial-heading > div:first-child h2 { font-size: 34px; line-height: 1.18; letter-spacing: 0; color: #2e4a2d; }
body.view-honey .editorial-heading > p,
body.view-places .editorial-heading > p { font-size: 13px; color: #747865; }
body.view-honey .knowledge-card,
body.view-places .knowledge-card { padding: 25px; background: #fff; border-color: #e2e3d5; border-radius: 6px; }
body.view-honey .knowledge-card h3,
body.view-places .knowledge-card h3 { font-size: 26px; color: #354b2e; overflow-wrap: anywhere; }
body.view-honey .knowledge-card p,
body.view-places .knowledge-card p { font-size: 13px; color: #727764; line-height: 1.85; }
body.view-honey .knowledge-number,
body.view-places .knowledge-number { font-size: 28px; color: #a28335; overflow-wrap: anywhere; }
body.view-honey .knowledge-card ol,
body.view-honey .knowledge-card ul { font-size: 13px; line-height: 1.85; padding-left: 20px; color: #6f775f; }
body.view-honey .source-link,
body.view-places .source-link { white-space: normal; overflow-wrap: anywhere; }
body.view-honey .honey-safety { background: #f5f4e3; border-left-color: #97a064; border-radius: 0; }
body.view-honey .experience-action,
body.view-places .experience-action { background: #edf2e3; border: 0; border-radius: 0; margin-top: 0; padding: 30px 32px; }
body.view-honey .experience-action h2,
body.view-places .experience-action h2 { font-size: 30px; line-height: 1.2; letter-spacing: 0; }
body.view-places .region-feature { display: block; margin-bottom: 0; }
body.view-places .places-practical { padding-top: 15px; border-top: 1px solid #e6e8d9; }

/* A continuous registration hero, with the supplied Genti photo at the edge. */
body .join-premium-page { --join-paper: #fffdf7; --join-forest: #29482e; --join-muted: #737964; --join-line: #e1e3d2; background: #fffdf7; }
body .join-premium-page h1 { font-size: 51px; line-height: 1.12; }
body .join-premium-page h2 { font-size: 35px; line-height: 1.18; }
body .join-premium-page h3 { font-size: 28px; line-height: 1.2; }
body .join-premium-page h1 em,
body .join-premium-page h2 em { color: #a38432; font-style: normal; }
body .join-premium-page .eyebrow { font-size: 10px; margin-bottom: 18px; color: #92702d; }
body .join-premium-page .button { min-height: 45px; padding: 11px 21px; font-size: 12px; gap: 17px; }
body .join-premium-page .text-link { color: #577142; font-size: 12px; }
body .join-premium-hero {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: none;
  display: block;
  min-height: 480px;
  padding: 40px max(24px, calc((100% - 1240px) / 2));
  background: #fff6de;
  overflow: hidden;
}
body .join-premium-hero:after { content: ''; position: absolute; left: -28px; bottom: 0; width: 185px; height: 255px; background: url('editorial/botanical-corner-v2.png') left bottom / contain no-repeat; z-index: -1; pointer-events: none; opacity: .75; }
body .join-premium-intro { width: 45%; max-width: 530px; position: relative; z-index: 1; padding: 0; }
body .join-premium-intro .join-premium-lead { font-size: 14px; line-height: 1.85; margin-top: 19px; color: #6a7358; }
body .join-premium-hero-actions { gap: 20px; margin-top: 24px; }
body .join-premium-hero-note { font-size: 11px; line-height: 1.7; margin-top: 18px; }
body .join-premium-example { position: absolute; inset: 0 0 0 auto; width: 51%; margin: 0; z-index: 0; }
body .join-premium-example > img { display: block; width: 100%; height: 100%; object-fit: cover; object-view-box: inset(30% 5% 15% 10%); object-position: 35% 25%; filter: none; border-radius: 0; }
body .join-premium-example:after { display: none; }
body .join-premium-example figcaption { left: 0; right: 0; bottom: 0; padding: 16px 25px; background: #fffdf6ef; color: #2f4e32; align-items: center; gap: 16px; }
body .join-premium-example figcaption span { color: #94742f; font-size: 10px; margin-bottom: 6px; }
body .join-premium-example figcaption strong { font-size: 27px; line-height: 1.15; color: #2d4b2e; }
body .join-premium-example figcaption em { color: #98792f; font-style: normal; }
body .join-premium-example figcaption p { font-size: 11px; color: #7b806a; margin-top: 7px; }
body .join-premium-example figcaption > a { width: 39px; height: 39px; flex-shrink: 0; background: #ffc452; border-color: #e8b445; color: #765920; }
body .join-premium-options { border-top: 0; padding-block: 40px 44px; }
body .join-premium-page .section-heading { gap: 30px; margin-bottom: 27px; }
body .join-premium-option-grid { gap: 25px; }
body .join-premium-option-grid article { padding: 29px 31px; border-radius: 6px; min-width: 0; }
body .join-option-basic { background: #fff; border-color: #e1e4d2; }
body .join-option-personal { background: #f1f6e8; border-color: #cad8b9; }
body .join-option-top { margin-bottom: 22px; flex-wrap: wrap; gap: 12px; }
body .join-option-number { color: #b1bd91; }
body .join-option-pilot { background: #fbfff5; border-color: #d0ddbb; color: #6b8150; font-size: 9px; }
body .join-premium-page .join-option-personal .eyebrow { color: #758d50; }
body .join-premium-page .join-option-personal h3 { color: #2d4b2e; }
body .join-premium-option-grid h3 { font-size: 32px; line-height: 1.2; overflow-wrap: anywhere; }
body .join-premium-page .join-option-personal .join-option-description { color: #737e60; }
body .join-option-features { font-size: 12px; margin-block: 22px 26px; }
body .join-option-personal .join-option-features li { color: #62714f; }
body .join-option-personal .join-option-features li:before { color: #8da35e; }
body .join-option-bottom { border-top-color: #dce2ce; padding-top: 23px; gap: 20px; }
body .join-option-personal .join-option-bottom { border-color: #cfdcba; }
body .join-option-price strong,
body .join-option-personal .join-option-price strong { font-size: 31px; line-height: 1.2; color: #90732a; overflow-wrap: anywhere; }
body .join-option-price span,
body .join-option-personal .join-option-price span { font-size: 11px; color: #7c826a; }
body .join-options-footnote { font-size: 11px; color: #7c806a; }
body .join-premium-process { background: #edf3e3; border-block-color: #dfe7d1; padding-block: 39px; }
body .join-process-steps { gap: 35px; }
body .join-process-steps > li { border-top-color: #c7d7b3; padding-top: 20px; }
body .join-process-steps > li > span { font-size: 33px; color: #90a264; margin-bottom: 17px; }
body .join-process-steps h3 { font-size: 26px; }
body .join-process-steps p { font-size: 12px; }
body .join-premium-onboarding { grid-template-columns: minmax(0, .87fr) minmax(0, 1fr); gap: 65px; padding-block: 49px; }
body .join-onboarding-guide > p:not(.eyebrow) { font-size: 13px; line-height: 1.9; margin-top: 21px; }
body .join-guide-note h3 { font-size: 25px; }
body .join-media-guide h3 { font-size: 30px; }
body .join-media-guide ul { font-size: 12px; }
body .join-media-email { font-size: 25px; flex-wrap: wrap; overflow-wrap: anywhere; }
body .join-media-note { font-size: 11px; }
body .join-premium-form { padding: 30px 32px; background: #fff; border-color: #dde3ce; border-radius: 6px; }
body .join-premium-form h2 { font-size: 30px; line-height: 1.2; overflow-wrap: anywhere; }
body .join-form-intro { font-size: 12px; margin-block: 17px 25px; }
body .join-premium-form input,
body .join-premium-form select,
body .join-premium-form textarea { background: #fffefa; border-color: #d7decb; border-radius: 4px; }
body .join-premium-form input:focus,
body .join-premium-form select:focus,
body .join-premium-form textarea:focus { border-color: #a1b583; outline-color: #e2ecd7; }
body .join-honey-checks { gap: 13px 17px; }
body .join-premium-form .join-honey-checks .checkbox { font-size: 12px; }
body .join-premium-faq { gap: 65px; padding-block: 38px 45px; }
body .join-faq-list summary { font-size: 13px; }
body .join-faq-list details p { font-size: 12px; }

.reference-footer { background: #183e28; }
.reference-footer .brand,
.reference-footer .brand small { letter-spacing: 0; }

@media (min-width: 1050px) {
  body .reference-profile .profile-main { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 25px; }
  body .reference-profile .profile-main > section,
  body .reference-profile .profile-main > section:last-child { margin: 0; padding: 0 0 25px; }
  body .reference-profile .profile-main h2,
  body .reference-profile .profile-main .section-heading h2 { font-size: 26px; }
  body .reference-profile #film .profile-film { height: 235px; }
  body .reference-profile #honey .product-photo { height: 185px; }
}

@media (max-width: 1050px) {
  body.view-map .directory-filters { grid-template-columns: minmax(140px, 1.2fr) minmax(120px, 1fr) minmax(120px, 1fr) auto; gap: 10px !important; }
  body.view-map .directory-filters .reset { grid-column: 1 / -1; justify-self: end; padding: 0; }
  body.view-map .directory-layout { grid-template-columns: minmax(290px, .9fr) minmax(0, 1.1fr); gap: 18px; }
  body .reference-profile .profile-stage:after { width: 85%; }
  body .reference-profile .profile-hero-copy h1 { font-size: 43px; }
  body .reference-profile .profile-content { grid-template-columns: minmax(0, 1fr) 285px; gap: 25px; }
  body .reference-profile .profile-stage .profile-hero { grid-template-columns: 156px minmax(0, 1fr); gap: 25px; }
  body .reference-profile .profile-hero-portrait,
  body .reference-profile .profile-hero-portrait img { width: 156px; max-width: 156px; }
  body .reference-profile .profile-hero-portrait img { height: 156px; }
  body .reference-profile .contact-card { padding: 22px; }
  body.view-honey .honey-editorial h1,
  body.view-places .places-editorial h1 { max-width: 540px; font-size: 44px; }
  body.view-honey .honey-editorial .intro { max-width: 460px; }
  body .join-premium-page h1 { font-size: 43px; }
  body .join-premium-intro { width: 46%; }
  body .join-premium-intro .join-premium-lead { font-size: 13px; }
  body .join-premium-onboarding { gap: 35px; }
  body .join-premium-form { padding: 26px; }
  body .join-option-price strong { font-size: 28px; }
}

@media (max-width: 760px) {
  body.view-map .directory-head { min-height: 185px; padding: 25px 20px 35px; }
  body.view-map .directory-head h1 { font-size: 33px !important; }
  body.view-map .directory-head > p { font-size: 13px; max-width: 280px; }
  body.view-map .directory-head:after { width: 125px; height: 150px; opacity: .72; }
  body.view-map .directory-filters { width: calc(100% - 40px); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 15px; gap: 12px !important; }
  body.view-map .directory-filters label:first-of-type { grid-column: 1 / -1; }
  body.view-map .directory-filters input,
  body.view-map .directory-filters select { font-size: 16px; height: 44px; min-height: 44px; }
  body.view-map .directory-filters .button { min-height: 42px; height: auto; }
  body.view-map .directory-filters .reset { grid-column: 2; align-self: center; justify-self: center; }
  body.view-map .directory-layout { display: block; }
  body.view-map .directory-layout #directory-map { height: 525px; }
  body.view-map .results-list { max-height: none; padding-right: 0; }
  body.view-map .results-list .producer-card { grid-template-columns: 88px minmax(0, 1fr); min-height: 126px; gap: 11px; }
  body.view-map .results-list .card-visual { height: 112px; }
  body.view-map .results-list .card-body h3 { font-size: 20px; }
  body.view-map .results-list .tags span { font-size: 9px; padding-inline: 6px; }
  body.view-map .map-mobile-switch { gap: 8px; }
  body.view-map .map-mobile-switch button { min-height: 39px; border-radius: 5px; font-size: 12px; }
  body.view-map .map-mobile-switch button[aria-pressed=true] { background: #ffc452; border-color: #efb43b; color: #493611; }
  body .reference-profile .profile-stage:after { width: 100%; background: #fffdf4e8; }
  body .reference-profile .profile-stage .profile-hero { grid-template-columns: 110px minmax(0, 1fr); gap: 18px; min-height: 0; padding-block: 27px 30px; text-align: left; }
  body .reference-profile .profile-hero:after { width: 125px; height: 170px; right: -25px; opacity: .35; }
  body .reference-profile .profile-hero-portrait { width: 110px; max-width: 110px; margin: 0; align-self: start; }
  body .reference-profile .profile-hero-portrait img { width: 110px; height: 110px; }
  body .reference-profile .profile-hero-portrait figcaption { font-size: 10px; line-height: 1.5; }
  body .reference-profile .profile-hero-copy h1 { font-size: 35px; line-height: 1.14; }
  body .reference-profile .profile-hero-copy .eyebrow { justify-content: flex-start; font-size: 10px; flex-wrap: wrap; gap: 7px; }
  body .reference-profile .profile-tagline { font-size: 17px; margin-block: 8px 13px; }
  body .reference-profile .profile-hero-honeys { justify-content: flex-start; gap: 6px; }
  body .reference-profile .profile-hero-honeys a { font-size: 10px; padding-inline: 9px; }
  body .reference-profile .profile-hero-actions { justify-content: flex-start; gap: 14px; margin-top: 17px; }
  body .reference-profile .profile-hero-actions .button { flex-basis: auto; font-size: 12px; padding: 10px 14px; min-height: 44px; }
  body .reference-profile .hero-public-phone { font-size: 13px; }
  body .reference-profile .hero-film-link { font-size: 11px; }
  body .reference-profile .profile-nav { font-size: 11px; gap: 21px; padding-block: 15px; }
  body .reference-profile .profile-content { display: flex; flex-direction: column; gap: 0; padding-top: 28px; }
  body .reference-profile .profile-main { display: block; width: 100%; }
  body .reference-profile .profile-main > section,
  body .reference-profile .profile-main > section:last-child { padding: 0 0 25px; margin-bottom: 27px; }
  body .reference-profile .profile-main h2,
  body .reference-profile .profile-main .section-heading h2 { font-size: 28px; }
  body .reference-profile .contact-card { position: static; width: 100%; order: initial; margin-top: 0; padding: 25px; }
  body .reference-profile .premium-invitation { display: block; padding: 28px 20px; }
  body .reference-profile .premium-invitation-action { text-align: left; margin-top: 22px; max-width: none; }
  body .reference-profile .premium-invitation-action p { justify-content: flex-start; }
  body .reference-profile .premium-invitation-action strong { font-size: 26px; }
  body.view-honey .honey-editorial,
  body.view-places .places-editorial { min-height: 430px; padding-block: 34px 38px; }
  body.view-honey .honey-editorial { background-position: 62% center; }
  body.view-honey .honey-editorial:before { content: ''; position: absolute; inset: 0; background: #fffdf5d9; z-index: -1; }
  body.view-honey .honey-editorial:after,
  body.view-places .places-editorial:after { width: 140px; height: 190px; left: -30px; opacity: .5; }
  body.view-honey .honey-editorial h1,
  body.view-places .places-editorial h1 { font-size: 37px; line-height: 1.16; max-width: 520px; }
  body.view-honey .honey-editorial .intro,
  body.view-places .places-editorial .intro { font-size: 14px; margin-block: 20px; }
  body.view-honey .editorial-actions,
  body.view-places .editorial-actions { gap: 17px; }
  body.view-honey .editorial-actions .button,
  body.view-places .editorial-actions .button { font-size: 12px; }
  body.view-honey .editorial-index,
  body.view-places .editorial-index { font-size: 11px; gap: 12px 22px; }
  body.view-honey .editorial-heading,
  body.view-places .editorial-heading { display: block; }
  body.view-honey .editorial-heading > div:first-child h2,
  body.view-places .editorial-heading > div:first-child h2 { font-size: 30px; margin-bottom: 19px; }
  body.view-honey .article-body,
  body.view-places .article-body { padding-block: 33px; }
  body.view-honey .knowledge-card,
  body.view-places .knowledge-card { padding: 23px; }
  body.view-honey .experience-action,
  body.view-places .experience-action { padding: 26px 23px; }
  body.view-honey .experience-action h2,
  body.view-places .experience-action h2 { font-size: 28px; }
  body .join-premium-page h1 { font-size: 38px; }
  body .join-premium-page h2 { font-size: 31px; }
  body .join-premium-hero { min-height: 0; padding: 29px 20px 0; }
  body .join-premium-intro { width: 100%; max-width: 540px; }
  body .join-premium-intro .join-premium-lead { font-size: 13px; line-height: 1.8; margin-top: 16px; }
  body .join-premium-hero-actions { gap: 17px; margin-top: 20px; }
  body .join-premium-hero-note { font-size: 10px; margin-top: 15px; max-width: none; }
  body .join-premium-example { position: relative; inset: auto; width: calc(100% + 40px); height: 225px; margin: 23px -20px 0; }
  body .join-premium-example > img { object-view-box: inset(28% 5% 17% 10%); object-position: 35% 22%; }
  body .join-premium-example figcaption { padding: 12px 20px; left: auto; width: 63%; background: #fffdf6ee; bottom: 0; }
  body .join-premium-example figcaption span { font-size: 8px; margin-bottom: 4px; }
  body .join-premium-example figcaption strong { font-size: 20px; }
  body .join-premium-example figcaption p { font-size: 9px; margin-top: 5px; }
  body .join-premium-example figcaption > a { width: 32px; height: 32px; font-size: 18px; }
  body .join-premium-options { padding-block: 31px 35px; }
  body .join-premium-page .section-heading { display: block; margin-bottom: 24px; }
  body .join-premium-option-grid { grid-template-columns: 1fr; gap: 18px; }
  body .join-premium-option-grid article { padding: 25px; }
  body .join-premium-option-grid h3 { font-size: 30px; }
  body .join-option-price strong,
  body .join-option-personal .join-option-price strong { font-size: 28px; }
  body .join-option-features { font-size: 12px; }
  body .join-premium-process { padding-block: 31px 35px; }
  body .join-process-steps { grid-template-columns: 1fr; gap: 24px; }
  body .join-process-steps > li { padding: 20px 0 0 51px; }
  body .join-process-steps > li > span { top: 22px; font-size: 30px; }
  body .join-premium-onboarding { grid-template-columns: 1fr; gap: 29px; padding-block: 35px; }
  body .join-premium-form { padding: 26px 23px; }
  body .join-premium-form h2 { font-size: 29px; }
  body .join-premium-form input,
  body .join-premium-form select,
  body .join-premium-form textarea { font-size: 16px; }
  body .join-form-row { grid-template-columns: 1fr; gap: 0; }
  body .join-premium-faq { grid-template-columns: 1fr; gap: 25px; padding-block: 30px 35px; }
}

@media (max-width: 430px) {
  body .reference-profile .profile-stage .profile-hero { grid-template-columns: 82px minmax(0, 1fr); gap: 14px; }
  body .reference-profile .profile-hero-portrait,
  body .reference-profile .profile-hero-portrait img { width: 82px; max-width: 82px; }
  body .reference-profile .profile-hero-portrait img { height: 82px; border-width: 3px; }
  body .reference-profile .profile-hero-copy h1 { font-size: 30px; }
  body .reference-profile .profile-tagline { font-size: 16px; }
  body .reference-profile .profile-hero-actions .button { font-size: 11px; padding-inline: 11px; }
  body .reference-profile .profile-hero-portrait figcaption { font-size: 9px; }
  body.view-honey .honey-editorial h1,
  body.view-places .places-editorial h1 { font-size: 34px; }
  body .join-premium-page h1 { font-size: 35px; }
  body .join-premium-example figcaption { width: 68%; gap: 12px; padding: 11px 16px; }
}
