/*
Theme Name: SalishGuide
Theme URI: https://salishguide.com
Author: SalishGuide
Description: Lightweight theme for the SalishGuide Washington fishing-guide directory. Navy and Brass. Editorial directory, not a booking site.
Version: 1.0.91.77.44
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: salishguide
License: GPL-2.0-or-later
*/

@font-face {
  font-family: "Merriweather";
  src: url("assets/fonts/merriweather-700-latin.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  size-adjust: 87%;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root {
  --sg-font-heading: "Merriweather", Georgia, serif;
  --content-max: 1180px;
  --content-pad: 48px;
  --navy: #14263d;
  --navy-hover: #2c4a6b;
  --harbor: #3f6e8c;
  --harbor-light: #7fa6bf;
  --brass: #a8844e;
  --brass-light: #c9a66b;
  --brass-deep: #7a5e32;
  --bone: #f4efe4;
  --ink: #1b2421;
  --slate: #5b6762;
  --mist: #e8ece8;
  --paper: #faf8f3;
  --verified: #2e7d4f;
  --verified-text: #23633d;
  --verified-fill: #e3f2e8;
  --featured-fill: #f3ebda;
  --sg-fb-blue: #0071c7;
  --sg-fb-blue-hover: #005a9f;
  --sg-fb-text: #ffffff;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Inter, system-ui, Arial, sans-serif;
  font-size: 16px;
  line-height: 26px;
  color: var(--ink);
  background: var(--paper);
}
img { max-width: 100%; height: auto; }
a { color: var(--harbor); }
h1, h2, h3 {
  font-family: var(--sg-font-heading);
  font-weight: 700;
  color: var(--navy);
}
h2 { font-size: 32px; line-height: 40px; margin: 48px 0 6px; }
h3 { font-size: 24px; line-height: 32px; }
h4 { font-family: Inter, system-ui, sans-serif; font-weight: 600; font-size: 20px; line-height: 28px; }
.skip {
  position: absolute;
  left: -999px;
  top: 8px;
  background: #fff;
  padding: 8px 12px;
  z-index: 20;
}
.skip:focus { left: 8px; }
.example-bar, .notice-bar {
  text-align: center;
  font-size: 13px;
  padding: 6px 16px;
}
.example-bar { background: var(--brass-deep); color: #fff; }
.notice-bar { background: var(--bone); color: var(--ink); }
.notice-bar .notice-test {
  display: inline-block;
  margin-left: 8px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--navy);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.site-header {
  background: var(--navy);
  color: var(--bone);
}
.site-header .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.logo img { height: 56px; width: auto; display: block; }
.site-header nav { display: flex; flex-wrap: wrap; align-items: center; }
.site-header nav a {
  color: var(--bone);
  margin-left: 22px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
}
.site-header nav a:hover,
.site-header nav a.is-current { color: var(--brass-light); }
.menu-toggle {
  display: none;
  background: transparent;
  color: var(--bone);
  border: 1px solid var(--harbor-light);
  border-radius: 8px;
  padding: 8px 12px;
  font: inherit;
  font-weight: 600;
}
.wrap { max-width: var(--content-max); margin: 0 auto; padding: 0 var(--content-pad); box-sizing: border-box; }
.hero {
  color: #fff;
  padding: 96px 0 104px;
  position: relative;
  overflow: hidden;
}
.hero.short { height: 240px; padding: 0; }
.hero.mid { padding: 56px 0 60px; }
.hero img.bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.hero .overlay { position: absolute; inset: 0; z-index: 0; }
.hero .wrap { position: relative; z-index: 1; }
.hero h1 {
  color: var(--paper);
  font-size: 48px;
  line-height: 56px;
  margin: 0 0 12px;
  max-width: 640px;
}
.hero p { color: var(--mist); font-size: 18px; line-height: 28px; max-width: 640px; }
.eyebrow {
  color: var(--brass-light);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.snote { font-size: 13px; color: var(--mist); margin-top: 10px; }
.snote a { color: var(--harbor); }
.hero .snote a { color: var(--brass-light); }
.search {
  background: #fff;
  border-radius: 12px;
  padding: 14px;
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  max-width: none;
  gap: 10px;
  margin-top: 28px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
.search-row {
  display: grid;
  width: 100%;
  gap: 10px;
  align-items: end;
  min-width: 0;
}
.search-row.r1 { grid-template-columns: 1.6fr 1fr 1fr; }
.search-row.r2 { grid-template-columns: 1fr 1fr 1.15fr auto; }
.more-filters { margin: 8px 0 0; max-width: 100%; min-width: 0; }
.more-filters summary { cursor: pointer; color: var(--harbor); font-size: 13px; font-weight: 700; }
.more-filters .search-row { margin-top: 10px; grid-template-columns: 18rem; }
.filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 28px;
  margin-top: 12px;
  min-width: 0;
  max-width: 100%;
}
.filter-block { min-width: 0; max-width: 100%; border: 0; padding: 0; margin: 0; color: var(--ink); }
fieldset.filter-block { min-width: 0; }
.filter-block legend, .filter-block .fl > span { font-weight: 700; font-size: 14px; color: var(--navy); padding: 0; }
body.sg-icons-v2 .filter-block legend,
body.sg-icons-v2 .search .fl > span { display: inline-flex; align-items: center; gap: 6px; }
.filter-choices { display: flex; flex-direction: column; align-items: stretch; gap: 6px; margin-top: 8px; min-width: 0; max-width: 100%; }
.filter-choices label.sg-facet { display: flex; flex-flow: row nowrap; align-items: flex-start; gap: 8px; width: 100%; max-width: 100%; min-width: 0; margin: 0; font-size: 14px; line-height: 20px; color: var(--navy); }
.filter-choices label.sg-facet > span { flex: 1 1 auto; min-width: 0; line-height: 20px; }
.sg-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 14px; min-width: 0; }
.sg-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  background: #fff;
  border: 1px solid var(--mist);
  border-radius: 999px;
  padding: 4px 10px;
  color: var(--navy);
  text-decoration: none;
  font-size: 13px;
  line-height: 18px;
}
.sg-chip b { font-weight: 600; overflow-wrap: anywhere; }
.sg-clear { font-size: 13px; font-weight: 700; }
.brand-groups { display: grid; gap: 10px; }
.brand-groups fieldset { border: 1px solid var(--mist); border-radius: 8px; margin: 0; padding: 8px 12px 10px; }
.brand-groups legend { font-weight: 700; padding: 0 4px; }
.brand-groups label { display: inline-flex; align-items: center; gap: 6px; margin: 4px 12px 4px 0; font-size: 14px; }
.gear-groups { display: flex; flex-direction: column; gap: 8px; }
.gear-groups b { display: block; font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--slate); }
.chip { display: inline-block; margin: 2px 6px 2px 0; padding: 3px 10px; border: 1px solid var(--brass); border-radius: 999px; color: var(--navy); text-decoration: none; font-size: 13px; font-weight: 600; }
.chip:hover { background: var(--bone); }
.search .btn { min-height: 48px; white-space: nowrap; align-self: end; }
.search .fl { display: flex; flex-direction: column; gap: 4px; min-width: 0; width: 100%; }
.search .fl span, .field span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--navy);
}
.search select, .search input, input, select, textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 12px;
  font: inherit;
  color: var(--ink);
  background: #fff;
}
.search .filter-choices label.sg-facet input {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  min-width: 16px;
  max-width: 16px;
  margin: 2px 0 0;
  padding: 0;
  border-radius: 3px;
}
.search .fl input,
.search .fl select {
  box-sizing: border-box;
  height: 48px;
  margin: 0;
  padding: 0 12px;
  line-height: 22px;
}
.search input[type="search"] {
  -webkit-appearance: none;
  appearance: none;
}
.search input[type="search"]::-webkit-search-decoration,
.search input[type="search"]::-webkit-search-cancel-button,
.search input[type="search"]::-webkit-search-results-button,
.search input[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance: none;
  display: none;
}
.search select { text-overflow: ellipsis; }
.results-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 8px 0 18px;
}
.results-bar p { margin: 0; color: var(--slate); }
.sort-form { display: flex; align-items: center; gap: 8px; margin: 0; }
.sort-form label { font-size: 14px; font-weight: 600; color: var(--navy); white-space: nowrap; }
.sort-form select { width: auto; min-width: 11rem; padding: 8px 12px; }
textarea { margin: 6px 0 12px; }
.btn, button.btn {
  background: var(--navy);
  color: #fff;
  border: 0;
  border-radius: 8px;
  padding: 13px 22px;
  font-weight: 700;
  font-size: 14px;
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  font-family: inherit;
}
.btn:hover, button.btn:hover { background: var(--navy-hover); }
.btn.k { background: var(--brass-light); color: var(--navy); }
.btn.k:hover { background: #d7b888; }
.btn.o { background: #fff; color: var(--harbor); border: 2px solid var(--harbor); }
.btn.o:hover { background: var(--mist); }
.sub { color: var(--slate); margin: 0 0 20px; }
/* Same cream and brass box as the saved-page sync banner. */
.sg-notice {
  background: var(--bone);
  border: 1px solid #e3d6bb;
  border-left: 4px solid var(--brass);
  border-radius: 12px;
}
p.sg-notice {
  box-sizing: border-box;
  margin: 0 0 20px;
  padding: 16px 20px;
  color: var(--ink);
  font-size: 14px;
  line-height: 21px;
}
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.guide-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: 20px;
  width: 100%;
  min-width: 0;
}
.grid4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.grid5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.card {
  background: #fff;
  border: 1px solid var(--brass);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(20, 38, 61, 0.06), 0 6px 16px rgba(20, 38, 61, 0.05);
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}
.card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(20, 38, 61, 0.14);
}
.card-featured {
  border: 1px solid var(--brass);
}
.card .img { height: 130px; position: relative; background: var(--navy); display: block; overflow: hidden; }
.card .img img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.report-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.report-more { margin: 14px 0 0; }
.report-more a { color: var(--harbor); font-weight: 700; text-decoration: none; }
.report-more a:hover { color: var(--navy); }
.card-badges {
  position: absolute;
  top: 8px;
  left: 8px;
  right: 8px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  pointer-events: none;
}
.card-flag { display: flex; min-width: 0; align-items: center; }
.card-badges img.bdg { height: 24px; width: auto; margin: 0; }
.sg-status-pill,
.bdg-featured,
.bdg-unverified,
.merit-pill,
.bdg-word {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  max-height: 24px;
  margin: 0 4px 4px 0;
  padding: 0 10px;
  gap: 4px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  vertical-align: middle;
}
.sg-status-pill .sg-pill-glyph,
.bdg-featured .sg-pill-glyph,
.sg-status-pill .sg-icon,
.bdg-featured .sg-icon,
.merit-pill .sg-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  margin: 0;
  padding: 0;
  font-size: 1em;
  line-height: 1;
  flex: none;
  vertical-align: middle;
}
.sg-status-pill .sg-icon svg,
.bdg-featured .sg-icon svg,
.merit-pill .sg-icon svg {
  display: block;
  width: 1em;
  height: 1em;
}
.bdg-featured {
  background: #F3EBDA;
  color: #1B2421;
  border: 1.5px solid var(--brass);
  font-family: Inter, Georgia, sans-serif;
}
.card .b { padding: 16px; }
.card-foot {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 12px;
}
.card-foot .btn { flex: 0 0 auto; }
.card-foot .card-license {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  max-width: 100%;
}
.card-foot .card-license img.bdg,
.card-foot .card-license .bdg-unverified {
  margin: 0;
  max-width: 100%;
  text-align: center;
}
.card h3 { margin: 10px 0 4px; font-size: 22px; }
.post-card h2 { margin: 0 0 6px; font-size: 22px; }
.post-card h2 a { color: inherit; text-decoration: none; }
.post-card h2 a:hover { color: var(--harbor); }
.post-card .post-meta { margin: 0 0 8px; }
.post-card p { margin: 0; font-size: 15px; line-height: 22px; }
.post-meta { color: var(--slate); font-size: 13px; line-height: 20px; }
.post-meta a { color: var(--harbor); font-weight: 600; text-decoration: none; }
.prose .post-meta { margin: -8px 0 20px; }
.price { font-weight: 700; color: var(--navy); margin: 6px 0 0; }
.price-note { font-size: 12px; line-height: 16px; color: var(--slate); margin: 2px 0 0; }
.stars { color: var(--brass); letter-spacing: 1px; }
.muted { color: var(--slate); font-size: 13px; line-height: 20px; }
.nums { font-variant-numeric: tabular-nums; }
.spstrip { display: grid; grid-template-columns: 2fr repeat(4, 1fr); gap: 14px; }
.spc2 {
  background: #fff;
  border: 1px solid var(--mist);
  border-radius: 12px;
  padding: 16px;
  display: block;
  border-top: 3px solid var(--brass);
  text-decoration: none;
  color: inherit;
}
.spc2 .sl {
  font-family: var(--sg-font-heading);
  font-weight: 700;
  font-size: 20px;
  color: var(--navy);
}
.spc2.big { grid-row: span 2; background: var(--navy); border-top-color: var(--brass-light); }
.spc2.big .sl { color: var(--paper); font-size: 34px; margin: 8px 0; }
.spc2.big .muted { color: var(--mist); font-size: 15px; }
.spc2 .go {
  display: inline-block;
  margin-top: 18px;
  background: var(--brass-light);
  color: var(--navy);
  padding: 10px 16px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
}
.trust { background: var(--bone); padding: 56px 0; margin-top: 56px; }
.trust .wrap {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 72px;
  align-items: start;
  min-width: 0;
}
@media (min-width: 981px) {
  .trust .wrap { align-items: center; }
}
.trust h2 {
  margin: 0 0 14px;
  font-family: Inter, system-ui, sans-serif;
  font-variation-settings: normal;
  font-weight: 600;
  font-size: 13px;
  line-height: 18px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brass-deep);
}
.trust p { margin: 0; }
.trust-stmt {
  font-family: var(--sg-font-heading);
  color: var(--navy);
  font-size: 44px;
  line-height: 50px;
  text-wrap: balance;
}
.trust .trust-lede {
  color: var(--slate);
  font-size: 17px;
  line-height: 27px;
  margin-top: 18px;
  max-width: 420px;
}
.trust .trust-links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-top: 22px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
}
.trust-links a { text-decoration: none; }
.trust ol {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: n;
  min-width: 0;
}
.trust li {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 0 8px;
  padding: 20px 0;
  border-top: 1px solid rgba(168, 132, 78, 0.45);
  min-width: 0;
}
.trust li:last-child { border-bottom: 1px solid rgba(168, 132, 78, 0.45); }
.trust li::before {
  counter-increment: n;
  content: "0" counter(n);
  font-family: var(--sg-font-heading);
  font-weight: 700;
  color: var(--brass);
  font-size: 28px;
  line-height: 30px;
  font-variant-numeric: tabular-nums;
}
.trust li b {
  display: block;
  color: var(--navy);
  font-size: 18px;
  line-height: 26px;
  font-weight: 600;
  margin-bottom: 4px;
}
.trust li p {
  color: var(--slate);
  font-size: 15px;
  line-height: 24px;
  overflow-wrap: break-word;
}
.step { background: #fff; border-radius: 12px; padding: 20px; border-top: 4px solid var(--brass); }
.aff {
  background: #fff;
  border: 1px dashed var(--brass);
  border-radius: 12px;
  padding: 18px 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 32px;
}
.small { font-size: 11px; color: #888; }
.site-footer {
  background: var(--navy);
  color: var(--bone);
  padding: 28px 0;
  margin-top: 56px;
  font-size: 13px;
  line-height: 20px;
  text-align: center;
}
.site-footer .wrap,
.site-footer p {
  text-align: center;
  max-width: 100%;
}
.site-footer p { overflow-wrap: break-word; }
/* Disclaimer and the link row. 1084px is the content column at 1280 (1180 wrap minus 48px padding each side). */
.site-footer .wrap > p {
  max-width: 1084px;
  margin-left: auto;
  margin-right: auto;
  text-wrap: balance;
}
/* The separator stays with the item before it, so a wrapped line cannot open with ·. */
.site-footer .sg-foot-bit {
  display: inline-block;
  max-width: 100%;
}
.site-footer .sg-foot-sep { white-space: nowrap; }
body.sg-auth .site-footer { margin-top: 0; }
/* Front page only. body.home is also on claim, saved, and compare, because those screens leave the main query on the front page. */
body.home main:has(> section.trust) + .site-footer { margin-top: 0; }
.site-footer a { color: var(--harbor-light); }
.two { display: grid; grid-template-columns: 2fr 1fr; gap: 32px; }
.two > div { min-width: 0; }
.panel {
  background: #fff;
  border: 1px solid var(--mist);
  border-radius: 12px;
  padding: 22px;
  margin-bottom: 20px;
}
.rev { border-bottom: 1px solid #eee; padding: 16px 0; }
.resp {
  background: var(--bone);
  border-left: 3px solid var(--brass);
  padding: 10px 14px;
  margin-top: 10px;
  font-size: 14px;
  border-radius: 4px;
}
.tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 20px;
  margin-right: 4px;
  background: #eee;
}
img.bdg { height: 24px; width: auto; vertical-align: middle; margin: 0 4px 4px 0; }
.bdg-unverified {
  border: 1px solid var(--brass-deep);
  color: var(--brass-deep);
  background: var(--bone);
  font-family: Inter, sans-serif;
}
.bar { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.sg-breakdown { margin: 16px 0 8px; }
.sg-breakdown h4 { margin: 0 0 8px; }
.sg-breakdown .score { display: flex; gap: 8px; align-items: baseline; margin-bottom: 8px; }
.sg-breakdown .score b { font-size: 32px; line-height: 1; }
.sg-src { display: grid; grid-template-columns: minmax(0, 140px) minmax(0, 1fr) auto; gap: 8px; align-items: center; margin: 6px 0; font-size: 14px; }
.sg-src i { display: block; height: 8px; background: var(--mist); border-radius: 99px; overflow: hidden; }
.sg-src i b { display: block; height: 8px; background: var(--brass); }
.bar i { flex: 1; height: 8px; background: #eee; border-radius: 4px; position: relative; }
.bar i b { position: absolute; left: 0; top: 0; bottom: 0; background: var(--brass); border-radius: 4px; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
td, th { padding: 8px; border-bottom: 1px solid #eee; text-align: left; vertical-align: top; }
.cal td, .cal th { text-align: center; }
.cal td.on { background: var(--navy); color: #fff; }
.cal td.mid { background: var(--brass-light); color: var(--navy); }
.lock { background: var(--bone); border-radius: 8px; padding: 14px; font-size: 14px; margin-bottom: 12px; }
.gbtn, a.gbtn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--navy);
  color: #fff;
  border-radius: 8px;
  padding: 12px;
  font-weight: 600;
  text-decoration: none;
}
.soon {
  display: flex;
  justify-content: space-between;
  border: 1px dashed #bbb;
  border-radius: 8px;
  padding: 11px 14px;
  color: #999;
  margin-top: 10px;
}
.pill {
  font-size: 12px;
  background: var(--mist);
  color: var(--slate);
  padding: 2px 8px;
  border-radius: 10px;
  font-weight: 600;
}
.note { font-size: 13px; color: var(--slate); margin-top: 8px; }
.filters { display: flex; gap: 12px; flex-wrap: wrap; align-items: end; margin: 20px 0; }
.filters label { min-width: 160px; }
.post-hero { margin: 0 0 8px; }
.post-hero img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}
.post-hero figcaption {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 8px var(--content-pad) 0;
  color: var(--slate);
  font-size: 13px;
  line-height: 18px;
}
.post-hero figcaption a { color: var(--harbor); }
.prose { max-width: 720px; margin: 0; padding: 20px 0 48px; }
.prose h1 { margin-top: 0; }
.sg-read { max-width: 720px; margin: 0; }
.sg-editorial { padding: 28px 0 12px; overflow-wrap: break-word; }
.sg-seasons { min-width: 0; }
.sg-d-note { background: var(--bone); border-radius: 12px; padding: 14px 16px; margin-top: 16px; }
.sg-d-note a { color: var(--harbor); }
.sg-hm-hint { display: none; margin: 8px 0 0; color: var(--slate); font-size: 13px; }
.sg-hm-wrap { overflow-x: auto; max-width: 100%; border: 1px solid var(--mist); border-radius: 10px; background: #fff; margin-top: 12px; }
.sg-hm { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 940px; font-size: 13px; }
.sg-hm th, .sg-hm td { padding: 0; height: 30px; }
.sg-hm thead th { font-weight: 600; color: var(--slate); font-size: 12px; text-align: center; height: 26px; }
.sg-hm-bands th { height: 24px; font-family: var(--sg-font-heading); font-size: 13px; color: var(--navy); border-bottom: 1px solid var(--mist); }
.sg-hm-bands th.is-now { background: var(--bone); }
.sg-hm th.sg-hm-lab,
.sg-hm td.sg-hm-lab { position: sticky; left: 0; background: #fff; z-index: 2; text-align: left; padding: 4px 14px; width: 220px; min-width: 168px; max-width: 240px; border-right: 1px solid var(--mist); white-space: normal; overflow-wrap: normal; word-break: normal; }
.sg-hm-lab a { text-decoration: none; font-weight: 600; color: var(--navy); }
.sg-hm-n { font-weight: 600; color: var(--slate); }
.sg-hm thead tr:not(.sg-hm-bands) th:not(.sg-hm-lab),
.sg-hm td.sg-hm-c { min-width: 22px; }
.sg-hm tr.sg-hm-grp > td { background: var(--paper); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; color: var(--brass-deep); padding: 6px 14px; height: auto; border-top: 1px solid var(--mist); }
.sg-hm tr.sg-hm-grp > td.sg-hm-lab { background: var(--paper); }
.sg-hm-c { padding: 3px 2px; }
.sg-hm-c i { display: block; height: 22px; border-radius: 4px; background: transparent; }
.sg-hm-c i.l1, .sg-hm-legend .l1 { background: rgba(168, 132, 78, .28); }
.sg-hm-c i.l2, .sg-hm-legend .l2 { background: rgba(168, 132, 78, .7); }
.sg-hm-c i.l3, .sg-hm-legend .l3 { background: var(--navy); }
.sg-hm .is-now { background: rgba(201, 166, 107, .16); }
.sg-hm thead th.is-now { color: var(--navy); font-weight: 700; background: rgba(201, 166, 107, .16); }
.sg-hm-legend { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; font-size: 13px; color: var(--slate); margin: 10px 0 0; }
.sg-hm-legend i { display: inline-block; width: 22px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.sg-scards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 28px; }
.sg-scard { background: #fff; border: 1px solid var(--mist); border-radius: 12px; overflow: hidden; text-decoration: none; color: inherit; display: flex; flex-direction: column; min-width: 0; }
.sg-scard .ph { height: 120px; position: relative; display: block; }
.sg-scard .ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sg-scard .sg-now, .sg-d-head .sg-now { position: absolute; left: 10px; top: 10px; display: inline-flex; align-items: center; gap: 6px; background: var(--brass); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 24px; padding: 0 10px; }
.sg-scard .sg-now::before, .sg-d-head .sg-now::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #fff; }
.sg-d-head .sg-now { position: static; }
.sg-scard .bd { padding: 12px 14px 14px; display: block; }
.sg-scard h3 { margin: 0; font-size: 22px; line-height: 27px; }
.sg-scard .mo, .sg-d-head .mo { font-size: 13px; color: var(--slate); }
.sg-scard ul { margin: 8px 0 0; padding: 0; list-style: none; font-size: 13px; line-height: 20px; }
.sg-scard .sg-scard-some, .sg-run + .sg-scard-some { display: block; margin-top: 6px; font-size: 13px; line-height: 18px; color: var(--slate); }
.sg-scard li::before { content: "• "; color: var(--brass); }
.sg-scard .tog { display: block; margin-top: 10px; font-size: 13px; font-weight: 600; color: var(--harbor); }
.sg-scard .tog-now { display: none; }
.sg-scard.is-now { border: 2px solid var(--navy); box-shadow: 0 6px 18px rgba(20, 38, 61, .14); }
.sg-scard.is-now .tog-now { display: inline; }
.sg-scard.is-now .tog-open { display: none; }
.sg-seasons:has(#season-spring:target) .sg-scard.is-now,
.sg-seasons:has(#season-summer:target) .sg-scard.is-now,
.sg-seasons:has(#season-fall:target) .sg-scard.is-now,
.sg-seasons:has(#season-winter:target) .sg-scard.is-now { border-width: 1px; box-shadow: none; }
.sg-seasons:has(#season-spring:target) .sg-scard[href="#season-spring"],
.sg-seasons:has(#season-summer:target) .sg-scard[href="#season-summer"],
.sg-seasons:has(#season-fall:target) .sg-scard[href="#season-fall"],
.sg-seasons:has(#season-winter:target) .sg-scard[href="#season-winter"] { border: 2px solid var(--navy); box-shadow: 0 6px 18px rgba(20, 38, 61, .14); }
.sg-seasons:has(.sg-d-panel:target) .sg-scard .tog-now { display: none; }
.sg-seasons:has(.sg-d-panel:target) .sg-scard .tog-open { display: inline; }
.sg-seasons:has(#season-spring:target) .sg-scard[href="#season-spring"] .tog-now,
.sg-seasons:has(#season-summer:target) .sg-scard[href="#season-summer"] .tog-now,
.sg-seasons:has(#season-fall:target) .sg-scard[href="#season-fall"] .tog-now,
.sg-seasons:has(#season-winter:target) .sg-scard[href="#season-winter"] .tog-now { display: inline; }
.sg-seasons:has(#season-spring:target) .sg-scard[href="#season-spring"] .tog-open,
.sg-seasons:has(#season-summer:target) .sg-scard[href="#season-summer"] .tog-open,
.sg-seasons:has(#season-fall:target) .sg-scard[href="#season-fall"] .tog-open,
.sg-seasons:has(#season-winter:target) .sg-scard[href="#season-winter"] .tog-open { display: none; }
.sg-anchor { display: block; height: 0; scroll-margin-top: 88px; }
.sg-d-panel { display: none; border-top: 2px solid var(--navy); margin-top: 20px; padding: 22px 0 8px; scroll-margin-top: 88px; }
.sg-d-panel:target, .sg-anchor:target + .sg-d-panel, .sg-d-panels:not(:has(:target)) .sg-d-panel.is-now { display: block; }
.sg-seasons:has(#spring:target) .sg-scard.is-now,
.sg-seasons:has(#summer:target) .sg-scard.is-now,
.sg-seasons:has(#fall:target) .sg-scard.is-now,
.sg-seasons:has(#winter:target) .sg-scard.is-now { border-width: 1px; box-shadow: none; }
.sg-seasons:has(#spring:target) .sg-scard[href="#spring"],
.sg-seasons:has(#summer:target) .sg-scard[href="#summer"],
.sg-seasons:has(#fall:target) .sg-scard[href="#fall"],
.sg-seasons:has(#winter:target) .sg-scard[href="#winter"] { border: 2px solid var(--navy); box-shadow: 0 6px 18px rgba(20, 38, 61, .14); }
.sg-seasons:has(#spring:target) .sg-scard[href="#spring"] .tog-now,
.sg-seasons:has(#summer:target) .sg-scard[href="#summer"] .tog-now,
.sg-seasons:has(#fall:target) .sg-scard[href="#fall"] .tog-now,
.sg-seasons:has(#winter:target) .sg-scard[href="#winter"] .tog-now { display: inline; }
.sg-seasons:has(#spring:target) .sg-scard[href="#spring"] .tog-open,
.sg-seasons:has(#summer:target) .sg-scard[href="#summer"] .tog-open,
.sg-seasons:has(#fall:target) .sg-scard[href="#fall"] .tog-open,
.sg-seasons:has(#winter:target) .sg-scard[href="#winter"] .tog-open { display: none; }
.sg-d-head { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.sg-d-head h2 { margin: 0; font-size: 28px; line-height: 34px; }
.sg-d-split { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 32px; }
.sg-run { list-style: none; margin: 0; padding: 0; }
.sg-run li { padding: 10px 0; border-bottom: 1px solid var(--mist); }
.sg-run .t { display: flex; gap: 10px; flex-wrap: wrap; align-items: baseline; }
.sg-run b { font-family: var(--sg-font-heading); font-size: 17px; color: var(--navy); }
.sg-run .t span { font-size: 13px; color: var(--brass-deep); font-weight: 600; }
.sg-acc details { border-bottom: 1px solid var(--mist); padding: 9px 0; }
.sg-find { font-weight: 600; font-size: 14px; text-decoration: none; color: var(--harbor); }
.sg-find::after { content: " ›"; }
.sg-after { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.sg-acc summary, .sg-mx-cards summary { cursor: pointer; font-weight: 600; color: var(--navy); list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.sg-acc summary::-webkit-details-marker, .sg-mx-cards summary::-webkit-details-marker { display: none; }
.sg-acc summary::after, .sg-mx-cards summary::after { content: "+"; color: var(--brass-deep); font-weight: 700; }
.sg-acc details[open] summary::after, .sg-mx-cards details[open] summary::after { content: "–"; }
.sg-chips, .sg-mrow, .sg-notes { display: flex; flex-wrap: wrap; gap: 8px; }
.sg-chips a, .sg-mrow a { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border: 1px solid var(--mist); border-radius: 17px; background: var(--paper); text-decoration: none; color: var(--navy); font-weight: 600; font-size: 13px; }
.sg-mrow a.is-on { background: var(--navy); color: #fff; border-color: var(--navy); }
.sg-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 32px; list-style: none; padding: 0; }
.sg-notes a { font-weight: 600; text-decoration: none; }
.sg-lic { color: var(--slate); font-size: 13px; }
.sg-mx { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border: 1px solid var(--mist); border-radius: 10px; overflow: hidden; font-size: 13px; line-height: 19px; }
.sg-mx th, .sg-mx td { padding: 10px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--mist); }
.sg-mx thead th { font-family: var(--sg-font-heading); font-size: 16px; color: var(--navy); background: var(--paper); }
.sg-mx thead th small { display: block; font-family: Inter, system-ui, sans-serif; font-size: 12px; color: var(--slate); font-weight: 500; }
.sg-mx .is-now { background: rgba(201, 166, 107, .14); }
.sg-mx thead th.is-now { background: var(--bone); }
.sg-mx th[scope="row"] a { font-weight: 600; text-decoration: none; color: var(--navy); }
.sg-none { color: #b4ad9e; }
.sg-mx tr:last-child td, .sg-mx tr:last-child th { border-bottom: 0; }
.sg-mx-cards { display: none; }
@media (max-width: 980px) {
  .sg-hm-hint { display: block; }
  .sg-hm { width: max-content; min-width: 412px; }
  .sg-hm th.sg-hm-lab,
  .sg-hm td.sg-hm-lab,
  .sg-hm tr.sg-hm-grp > td.sg-hm-lab { width: 136px; min-width: 120px; max-width: 148px; white-space: normal; overflow-wrap: normal; word-break: normal; padding: 4px 10px; line-height: 16px; }
  .sg-scards { grid-template-columns: 1fr 1fr; gap: 10px; }
  .sg-scard .ph { height: 84px; }
  .sg-scard h3 { font-size: 18px; line-height: 22px; }
  .sg-scard ul, .sg-scard .sg-scard-some { display: none; }
  .sg-d-split, .sg-notes { grid-template-columns: 1fr; }
  .sg-mx { display: none; }
  .sg-mx-cards { display: block; }
  .sg-mx-cards details { background: #fff; border: 1px solid var(--mist); border-radius: 10px; margin-bottom: 8px; padding: 10px 14px; }
  .sg-mx-cards summary { font-weight: 600; color: var(--navy); cursor: pointer; }
  .sg-mx-cards dl { display: grid; grid-template-columns: 88px 1fr; gap: 4px 10px; margin: 8px 0; }
  .sg-mx-cards dd { margin: 0; }
  .sg-mx-cards .is-now { font-weight: 700; color: var(--navy); }
}
.sg-editorial table { display: block; max-width: 100%; overflow-x: auto; }
.sg-report-hero {
  height: 340px;
  min-height: 340px;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.sg-report-hero img.bg { object-position: center 45%; }
.sg-report-hero .overlay {
  background:
    linear-gradient(0deg, rgba(20, 38, 61, .92) 0%, rgba(20, 38, 61, .6) 42%, rgba(20, 38, 61, .08) 80%),
    linear-gradient(90deg, rgba(20, 38, 61, .55) 0%, rgba(20, 38, 61, 0) 62%);
}
.sg-report-hero .wrap { width: 100%; align-self: stretch; }
.sg-report-hero .sg-read { width: 100%; max-width: 720px; }
.sg-report-hero .ht { padding: 40px 0 32px; }
.sg-report-hero .eyebrow {
  color: var(--brass-light);
  font-weight: 600;
  font-size: 13px;
  line-height: 18px;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.sg-report-hero h1 {
  color: var(--paper);
  font-size: 40px;
  line-height: 46px;
  margin: 0;
  text-wrap: balance;
}
.sg-report-hero .excerpt {
  color: var(--mist);
  font-size: 17px;
  line-height: 26px;
  margin: 10px 0 0;
}
.sg-methods-jumps { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 18px 0 8px; padding: 0; list-style: none; }
.sg-methods-jumps a { font-weight: 600; text-decoration: none; }
.sg-wdfw {
  background: #fff;
  border-left: 4px solid var(--brass);
  border-radius: 10px;
  padding: 14px 16px;
  margin: 18px 0;
}
.sg-methods-table { width: 100%; border-collapse: collapse; margin: 12px 0 28px; font-size: 15px; line-height: 22px; }
.sg-methods-table th, .sg-methods-table td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--mist); }
.sg-methods-table th { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--slate); }
.sg-method { margin: 28px 0 8px; }
.sg-method h3 { margin: 0 0 8px; font-size: 26px; line-height: 32px; }
.sg-method .src { color: var(--slate); font-size: 13px; }
.sg-method ul { margin: 10px 0 0; padding-left: 18px; }
.sg-method-guides { margin: 12px 0 0; }
.sg-method-guides ol { margin: 6px 0 0; padding-left: 18px; }
.identity { display: flex; justify-content: space-between; align-items: flex-end; margin-top: -50px; position: relative; gap: 16px; }
.avatar {
  width: 110px;
  height: 110px;
  border-radius: 16px;
  background: var(--paper);
  border: 4px solid #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 4px 14px rgba(20, 38, 61, 0.25);
  flex: 0 0 auto;
}
.avatar img { width: 100%; height: 100%; object-fit: contain; border-radius: 12px; padding: 8px; box-sizing: border-box; }
.avatar.is-navy { background: var(--navy); }
.avatar .initials { font-family: var(--sg-font-heading); font-size: 36px; font-weight: 700; color: var(--navy); letter-spacing: 0.02em; }
.avatar.is-navy .initials { color: var(--bone); }
.bdg-word { background: #F3EBDA; color: #1B2421; border: 1.5px solid #A8844E; }
.auth { display: grid; grid-template-columns: 1fr 1fr; min-height: 720px; }
.side { position: relative; color: var(--paper); padding: 72px 56px; overflow: hidden; }
.side img.bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.auth .side .overlay { position: absolute; inset: 0; z-index: 1; }
.side .in { position: relative; z-index: 2; }
.sg-magic-sent {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: var(--featured-fill);
  border-left: 4px solid var(--brass);
  border-radius: 12px;
  padding: 16px 16px 16px 14px;
  margin: 0 0 16px;
  color: var(--navy);
}
.sg-magic-sent:focus { outline: 2px solid var(--harbor); outline-offset: 2px; }
.sg-magic-sent h3 { margin: 0 0 6px; font-size: 22px; line-height: 28px; }
.sg-magic-sent p { margin: 0 0 8px; font-size: 15px; line-height: 22px; }
.sg-magic-icon { flex: none; color: var(--brass-deep); margin-top: 2px; }
.sg-magic-resend { margin: 0; }
.sg-resend {
  background: none;
  border: 0;
  padding: 0;
  color: var(--harbor);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
}
.sg-magic-submit {
  display: flex;
  align-items: center;
  gap: 14px;
}
.sg-magic-submit .btn { flex: none; }
.sg-magic-hint {
  margin: 0;
  color: var(--slate);
  font-size: 13px;
  line-height: 18px;
  max-width: 280px;
}
.side h1 { color: var(--paper); font-size: 44px; line-height: 52px; }
.side li { margin: 10px 0; color: var(--mist); }
.side ul { padding-left: 0; list-style: none; }
.side li b { color: var(--brass-light); margin-right: 8px; }
.formside { padding: 56px 64px; }
.path { border: 2px solid var(--mist); border-radius: 12px; padding: 20px; margin-bottom: 16px; background: #fff; }
.path.sel { border-color: var(--navy); }
.steps { display: flex; gap: 0; margin: 28px 0; }
.st { flex: 1; text-align: center; font-size: 13px; color: var(--slate); }
.st i {
  display: block;
  margin: 0 auto 6px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--mist);
  line-height: 34px;
  font-style: normal;
  font-weight: 700;
}
.st.done i { background: var(--verified); color: #fff; }
.st.cur i { background: var(--navy); color: #fff; box-shadow: 0 0 0 4px var(--brass-light); }
.st.cur { color: var(--navy); font-weight: 600; }
.match {
  background: var(--verified-fill);
  border: 1px solid var(--verified);
  color: var(--verified-text);
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 14px;
}
.radio {
  border: 2px solid var(--mist);
  border-radius: 8px;
  padding: 12px 14px;
  margin: 8px 0;
  background: #fff;
}
.sg-hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.gmark { width: 18px; height: 18px; border-radius: 50%; background: #fff; color: var(--navy); display: inline-grid; place-items: center; font-weight: 700; font-size: 13px; }
button.gbtn { width: 100%; border: 0; cursor: pointer; font: inherit; }
button.gbtn:disabled { opacity: .55; cursor: not-allowed; }
.staging-banner { border: 2px dashed var(--brass-deep); background: var(--featured-fill); border-radius: 12px; padding: 14px 16px; margin: 12px 0; }
.staging-digits { font-variant-numeric: tabular-nums; font-size: 32px; letter-spacing: .28em; font-weight: 700; color: var(--navy); margin: 8px 0 0; }
.code-row { display: grid; grid-template-columns: repeat(6, minmax(0, 48px)); gap: 8px; margin-top: 12px; max-width: 100%; min-width: 0; }
.code-row input { width: 100%; min-width: 0; max-width: 48px; height: 56px; box-sizing: border-box; text-align: center; font-size: 24px; padding: 0; }
.sg-claim-content { margin: 12px 0 14px; }
.sg-claim-content .sg-optin label { font-weight: 400; }
.alert { border-radius: 8px; padding: 10px 14px; font-size: 14px; margin: 8px 0 12px; }
.alert.bad { background: #fde8e8; border: 1px solid #9b2c2c; color: #7f1d1d; }
.profile-head { display: flex; gap: 16px; align-items: center; }
.avatar-lg { width: 72px; height: 72px; border-radius: 50%; background: var(--harbor); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 28px; flex: 0 0 auto; }
.field { margin-bottom: 12px; }
.inquiry-form label.field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-weight: 700;
  font-size: 14px;
  color: var(--navy);
}
.inquiry-form > .btn,
.inquiry-form .sg-submit-row > .btn { width: 100%; box-sizing: border-box; }
a.sg-fb-book { display: block; width: 100%; box-sizing: border-box; text-align: center; margin: 0 0 16px; }
.sg-fb-note { margin: -8px 0 16px; color: var(--slate); font-size: 13px; line-height: 18px; }
.sg-fb-note a { color: var(--harbor); }
.inquiry-form label.field textarea { margin: 4px 0 0; }
.inquiry-form .sg-optins { margin: 0 0 4px; }
.magic-form label.field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.magic-form label.field input { margin: 0; }
.cf-turnstile {
  height: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
}
.cf-turnstile.is-challenge {
  height: auto;
  overflow: visible;
  margin: 0 0 12px;
}
.inquiry-form .sg-submit-row > .note { margin: 0 0 12px; }
.sg-optins { border: 0; margin: 8px 0; padding: 0; }
.sg-optin {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  column-gap: 10px;
  align-items: start;
  min-height: 44px;
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 22px;
}
.sg-optin input { width: 22px; height: 22px; margin-top: 2px; }
.sg-optin-copy, .angler-dash .opt-copy { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sg-optin-hint, .angler-dash .opt-hint {
  margin: 0;
  color: var(--slate);
  font-size: 13px;
  line-height: 18px;
  font-weight: 400;
}
.sg-signup-optins {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 0 12px;
}
.sg-signup-optins .sg-optin {
  min-height: 0;
  margin: 0;
  align-items: flex-start;
}
.sg-inquiry-share { margin: 0 0 12px; font-size: 14px; color: var(--slate); }
.sg-track-offer {
  background: var(--featured-fill);
  border: 1px solid var(--brass);
  border-radius: 12px;
  padding: 14px 16px;
  margin: 0 0 16px;
}
.sg-track-offer p {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 16px;
  font-weight: 700;
  line-height: 22px;
}
.sg-track-offer .btn {
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.sg-ack {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 22px;
  color: var(--ink);
}
.sg-ack input {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  margin-top: 2px;
}
.sg-ack-text { padding-top: 0; }
.req { color: #9b2c2c; font-weight: 700; margin-left: 2px; }
.pnw, .pnw-flag {
  display: inline-block;
  margin-left: 6px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--verified-fill);
  color: var(--verified-text);
  font-size: 12px;
  font-weight: 700;
  line-height: 20px;
  vertical-align: 1px;
}
.pnw-flag { margin: 8px 0 0; }
.sg-view-as-banner {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: center;
  justify-content: space-between;
  background: var(--navy);
  color: #fff;
  padding: 10px var(--content-pad);
}
.sg-view-as-banner p { margin: 0; }
.sg-view-as-actions { display: flex; gap: 12px; align-items: center; }
.sg-view-as-banner a { color: #fff; font-weight: 700; min-height: 44px; display: inline-flex; align-items: center; }
.sg-view-as-exit { border: 1px solid #fff; border-radius: 8px; padding: 0 12px; text-decoration: none; }
body.admin-bar .sg-view-as-banner { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .sg-view-as-banner { top: 46px; }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.profile-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-left: auto; justify-content: flex-end; }
.profile-tools { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; }
a.sg-claim-listing { display: block; width: 100%; box-sizing: border-box; text-align: center; margin: 12px 0 0; line-height: normal; }
.profile-contact-jump {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid var(--harbor);
  border-radius: 8px;
  background: #fff;
  color: var(--harbor);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
#inquiry { scroll-margin-top: 12px; }
.sg-dates { min-height: 88px; }
.sg-dates-fallback,
.sg-dates-ui { min-height: 78px; }
@media (min-width: 768px) {
  .profile-contact-jump { display: none; }
  body.sg-ack-b .sg-submit-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 12px;
    row-gap: 0;
    align-items: center;
  }
  body.sg-ack-b .sg-ack { grid-column: 1; grid-row: 1; margin: 0; }
  body.sg-ack-b .sg-submit-row > .btn { grid-column: 2; grid-row: 1; width: auto; }
  body.sg-ack-b .sg-submit-row > .cf-turnstile,
  body.sg-ack-b .sg-submit-row > .note { grid-column: 1 / -1; grid-row: 2; }
}
.empty {
  background: #fff;
  border: 1px dashed var(--brass);
  border-radius: 12px;
  padding: 24px;
}
.crumb-bar { background: var(--paper); border-bottom: 1px solid var(--mist); }
.crumb-bar .wrap { padding-top: 10px; padding-bottom: 10px; }
.crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  line-height: 20px;
  color: var(--slate);
}
.crumbs li { display: inline-flex; align-items: center; gap: 4px; min-width: 0; max-width: 100%; }
.crumbs a { color: var(--harbor); font-weight: 600; text-decoration: none; }
.crumbs a:hover { color: var(--navy); }
.crumbs [aria-current="page"] { color: var(--navy); font-weight: 600; overflow-wrap: anywhere; }
.crumbs .sep { color: var(--slate); font-weight: 700; }
.profile .identity { margin-top: 20px; }
@media (max-width: 720px) {
  .crumbs { font-size: 13px; line-height: 18px; }
}

.sg-method-hero { height: 320px; min-height: 320px; }
.sg-method-hero .ht { padding: 40px 0 32px; }
@media (max-width: 980px) {
  :root { --content-pad: 20px; }
  .sg-report-hero, .sg-method-hero { height: 280px; min-height: 280px; }
  .sg-report-hero .overlay {
    background: linear-gradient(0deg, rgba(20, 38, 61, .93) 0%, rgba(20, 38, 61, .72) 55%, rgba(20, 38, 61, .35) 100%);
  }
  .sg-report-hero .ht { padding: 24px 0 22px; }
  .sg-report-hero h1 { font-size: 26px; line-height: 32px; }
  .sg-report-hero .excerpt {
    font-size: 15px;
    line-height: 22px;
    margin-top: 8px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  .sg-report-hero .eyebrow { font-size: 12px; line-height: 16px; margin-bottom: 4px; }
  .crumbs { flex-wrap: nowrap; }
  .crumbs li { flex: none; }
  .crumbs li:last-child { flex: 0 1 auto; overflow: hidden; }
  .crumbs [aria-current="page"] {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: normal;
  }
  .site-header .wrap { flex-wrap: wrap; }
  .menu-toggle { display: inline-block; }
  .site-header nav { display: none; width: 100%; flex-direction: column; align-items: flex-start; padding: 8px 0 12px; }
  .site-header nav.open { display: flex; }
  .site-header nav a { margin: 6px 0; }
  .formside, .side { padding-left: var(--content-pad); padding-right: var(--content-pad); }
  .sg-magic-submit { flex-direction: column; align-items: stretch; }
  .sg-magic-submit .btn { width: 100%; box-sizing: border-box; text-align: center; }
  .sg-magic-hint { max-width: none; }
  .hero { padding: 64px 0 72px; }
  .sg-method-hero, .sg-methods-hero { padding: 0; }
  .hero h1 { font-size: 34px; line-height: 40px; }
  .grid, .grid4, .grid5, .two, .auth, .spstrip { grid-template-columns: 1fr; }
  .trust { padding: 40px 0; }
  .trust .wrap { grid-template-columns: 1fr; gap: 28px; }
  .trust-stmt { font-size: 30px; line-height: 36px; }
  .trust .trust-lede { font-size: 16px; line-height: 25px; max-width: none; }
  .trust li { grid-template-columns: 44px minmax(0, 1fr); padding: 16px 0; }
  .trust li::before { font-size: 24px; line-height: 26px; }
  .trust li b { font-size: 17px; line-height: 24px; }
  .grid.guide-grid, .guide-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
  .results-bar { flex-direction: column; align-items: stretch; }
  .sort-form select { width: 100%; }
  .spc2.big { grid-row: auto; }
  .aff, .identity { flex-direction: column; align-items: flex-start; }
  .identity { margin-top: 16px; }
  .profile .profile-actions { width: 100%; margin-left: 0; justify-content: flex-end; }
  .grid5 { grid-template-columns: 1fr 1fr; }
}
/* Landing heroes grow with the intro. The report-hero line clamp above does not apply. */
.sg-landing-hero {
  height: auto;
  max-height: none;
}
.sg-landing-hero h1,
.sg-landing-hero .excerpt {
  display: block;
  height: auto;
  max-height: none;
  overflow: visible;
  white-space: normal;
  text-overflow: unset;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  -webkit-box-orient: unset;
}
/* Every report hero, including fisheries and method pages, grows with the intro. */
.hero.sg-report-hero,
.hero.sg-method-hero {
  height: auto;
  max-height: none;
}
.sg-report-hero h1,
.sg-report-hero .excerpt {
  display: block;
  height: auto;
  max-height: none;
  overflow: visible;
  white-space: normal;
  text-overflow: unset;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  -webkit-box-orient: unset;
}
@media (max-width: 720px) {
  .results-tools { flex-direction: column; align-items: stretch; gap: 10px; min-width: 0; }
  .sort-form { width: 100%; min-width: 0; }
  .sort-form select { min-width: 0; width: 100%; max-width: 100%; }
  .seg { align-self: flex-start; max-width: 100%; }
  .search-row.r1, .search-row.r2 { grid-template-columns: 1fr; }
  .more-filters .search-row, .filter-grid { grid-template-columns: 1fr; }
  .search .btn { width: 100%; }
}
@media (max-width: 640px) {
  .grid5 { grid-template-columns: 1fr; }
  .steps { flex-direction: column; gap: 8px; }
}

.hero.home-hero { padding: 16px 0 20px; }
.hero.home-hero h1 {
  max-width: none;
  white-space: nowrap;
  font-size: 42px;
  line-height: 48px;
  margin: 0 0 6px;
}
.hero.home-hero .hero-lead {
  max-width: 900px;
  margin: 0;
  white-space: nowrap;
}
.hero.home-hero .search { margin-top: 16px; }
.hero.home-hero .snote { max-width: none; }
.hero.band-hero { padding: 28px 0 24px; }
.hero.band-hero h1 {
  max-width: none;
  white-space: nowrap;
  font-size: 36px;
  line-height: 42px;
  margin: 0 0 4px;
}
.hero.band-hero .hero-lead {
  max-width: 900px;
  margin: 0;
  white-space: nowrap;
  font-size: 16px;
  line-height: 22px;
}
.hero.band-hero .search { margin-top: 12px; }
.hero.hub-hero h1 { white-space: normal; }
@media (max-width: 980px) {
  .hero.band-hero { padding: 24px 0 20px; }
  .hero.band-hero h1,
  .hero.band-hero .hero-lead { white-space: normal; }
  .hero.band-hero h1 { font-size: 32px; line-height: 38px; }
}
@media (max-width: 980px) {
  .report-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .report-grid { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .hero.home-hero { padding: 28px 0 28px; }
  .hero.home-hero h1,
  .hero.home-hero .hero-lead,
  .hero.home-hero .snote { white-space: normal; }
  .hero.home-hero h1 { font-size: 32px; line-height: 38px; }
}
.sg-icon-slot:empty { display: none; }
.card-tools, .identity .save-heart { display: inline-flex; align-items: center; }
.card-tools { gap: 10px; margin: 8px 0 0; }
.save-heart {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 50%;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--navy);
  padding: 0;
}
.save-heart svg { width: 20px; height: 20px; display: block; }
.save-heart path { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
.save-heart.on,
.save-heart.is-on { color: #b2453a; border-color: #ecc9c4; background: #fbf1ef; }
.save-heart.on path,
.save-heart.is-on path { fill: currentColor; }
body.sg-icons-v2 .save-heart .sg-icon { color: currentColor; }
body.sg-icons-v2 .save-heart svg { width: 100%; height: 100%; }
body.sg-icons-v2 .save-heart path { fill: currentColor; stroke: none; }
.compare-toggle { font-size: 13px; font-weight: 600; color: var(--navy); display: inline-flex; gap: 6px; align-items: center; }
.hub-list { margin: 0; padding-left: 18px; }
.hub-list li { margin: 4px 0; }
.compare-hide { display: inline-flex; gap: 8px; align-items: center; font-weight: 600; margin: 8px 0 14px; }
.compare-scroll { overflow-x: auto; max-width: 100%; min-width: 0; }
.compare-table { border-collapse: separate; border-spacing: 0; min-width: 720px; width: 100%; }
.compare-table th, .compare-table td { border-bottom: 1px solid var(--mist); padding: 10px 12px; text-align: left; vertical-align: top; min-width: 160px; background: #fff; }
.compare-table th:first-child, .compare-table td:first-child, .compare-table tbody th {
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 148px;
  background: var(--paper);
  box-shadow: 1px 0 0 var(--mist);
}
.compare-table img { width: 72px; height: 48px; object-fit: cover; display: block; border-radius: 6px; margin-bottom: 6px; }
.compare-table img.is-logo { object-fit: contain; background: var(--paper); padding: 4px; box-sizing: border-box; }
.compare-table img.is-logo.is-navy { background: var(--navy); }
.compare-table .sg-logo-tile.is-initials { width: 72px; height: 48px; display: grid; place-items: center; margin-bottom: 6px; border-radius: 6px; background: var(--bone); color: var(--navy); font: 700 16px/1 var(--sg-font-heading); }
.compare-table tr.is-diff td { background: var(--featured-fill); }
.compare-table tr.is-same.is-hidden { display: none; }
.compare-tray {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 40;
  background: #fff;
  border-top: 1px solid var(--mist);
  box-shadow: 0 -6px 18px rgba(20, 38, 61, 0.08);
}
.compare-tray-inner { display: flex; gap: 12px; align-items: center; padding-top: 10px; padding-bottom: 10px; flex-wrap: wrap; }
.compare-thumbs { display: flex; gap: 8px; flex: 1; min-width: 0; overflow-x: auto; }
.compare-thumbs img, .compare-thumbs span {
  width: 56px;
  height: 40px;
  object-fit: cover;
  border-radius: 6px;
  background: var(--mist);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
}
.compare-limit { margin: 0; color: var(--brass-deep); font-size: 13px; font-weight: 700; }
.compare-tray[hidden] { display: none; }
.public-reviews a { font-weight: 600; }
.merit-pills { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 0; }
.merit-pill {
  background: var(--mist);
  color: var(--navy);
  font-weight: 700;
}
.merit-pill.more { background: transparent; color: var(--slate); padding-left: 2px; }

.angler-dash { padding-bottom: 56px; min-width: 0; }
.angler-dash .wrap, .angler-dash .sec { min-width: 0; max-width: 100%; }
.angler-dash .tabs { max-width: 100%; }
.angler-dash .acct-head { padding: 28px 0 0; }
.angler-dash .who { display: flex; align-items: center; gap: 18px; margin-top: 10px; }
.angler-dash .avatar { width: 64px; height: 64px; border-radius: 50%; background: var(--navy); color: var(--bone); display: flex; align-items: center; justify-content: center; font-family: var(--sg-font-heading); font-size: 30px; flex: none; }
.angler-dash .who h1 { font-size: 34px; line-height: 40px; margin: 0; }
.angler-dash .em { color: var(--slate); font-size: 14px; }
.angler-dash .meta { margin-left: auto; display: flex; gap: 10px; }
.angler-dash .stat { background: #fff; border: 1px solid var(--line, #e3e0d6); border-radius: 10px; padding: 8px 14px; text-align: center; min-width: 92px; }
.angler-dash .stat b { display: block; font-family: var(--sg-font-heading); font-size: 22px; color: var(--navy); line-height: 28px; }
.angler-dash .stat span { font-size: 12px; color: var(--slate); }
.angler-dash .tabs { display: flex; gap: 4px; margin-top: 26px; border-bottom: 1px solid #e3e0d6; overflow-x: auto; }
.angler-dash .tabs a { flex: none; padding: 10px 14px; text-decoration: none; color: var(--slate); font-weight: 600; font-size: 14px; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.angler-dash .sec { margin-top: 34px; }
.angler-dash .sec-h { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.angler-dash .sec-h h2 { font-size: 26px; line-height: 32px; margin: 0; }
.angler-dash .sec-h p, .angler-dash .priv { margin: 4px 0 0; color: var(--slate); font-size: 14px; }
.angler-dash .lnk { font-size: 14px; font-weight: 600; text-decoration: none; }
.angler-dash .grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.angler-dash .grid4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.angler-dash .grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.guide-card { display: flex; flex-direction: column; height: 100%; position: relative; overflow: visible; }
.guide-card .img { height: auto; aspect-ratio: 16/9; position: relative; overflow: hidden; background: #cfd8d3; border-radius: 11px 11px 0 0; }
.guide-card .img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.guide-card .img.is-logo { background: var(--paper); }
.guide-card .img.is-logo.is-navy { background: var(--navy); }
.guide-card .img.is-logo img { object-fit: contain; padding: 16px; box-sizing: border-box; background: transparent; }
.guide-card .img.is-logo .initials { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--sg-font-heading); font-size: 36px; font-weight: 700; color: var(--navy); }
.guide-card .img .wm { position: absolute; inset: 0; border-radius: 0; }
.guide-card .card-badges { right: 54px; z-index: 2; }
.guide-card .strip {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  height: 42px;
  display: flex;
  align-items: center;
  padding: 0 10px;
  background: linear-gradient(to top, rgba(14, 24, 38, .82), rgba(14, 24, 38, .55) 70%, rgba(14, 24, 38, 0));
}
.guide-card .img.is-plate .strip,
.guide-card .img.is-logo .strip {
  background: none;
}
.guide-card .img.is-plate .strip .merit-pill.more,
.guide-card .img.is-logo:not(.is-navy) .strip .merit-pill.more {
  background: var(--mist);
  color: var(--slate);
  border-color: var(--line);
}
.guide-card .z-badges { display: flex; align-items: center; gap: 6px; height: 24px; min-width: 0; overflow: hidden; flex-wrap: nowrap; }
.guide-card .strip .merit-pill { background: rgba(255,255,255,.94); color: var(--navy); border-color: transparent; margin: 0; }
.guide-card .strip .merit-pill.more { background: rgba(255,255,255,.2); color: #fff; border-color: rgba(255,255,255,.5); }
.guide-card .nob { font-size: 12px; font-style: italic; color: rgba(255,255,255,.8); }
.guide-card .b { display: flex; flex-direction: column; gap: 6px; flex: 1; padding: 14px 16px; }
.guide-card .who { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.guide-card .name-row { display: flex; align-items: center; gap: 6px; min-width: 0; }
.guide-card .name-row .z-name { min-width: 0; flex: 0 1 auto; }
.guide-card .z-name { margin: 0; font-size: 20px; line-height: 28px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.guide-card .z-name a { color: var(--navy); text-decoration: none; }
.guide-card .lic-ic { position: relative; flex: none; display: inline-flex; cursor: help; }
.guide-card .lic-ic .ic { width: 16px; height: 16px; }
.guide-card .lic-ic.is-unver,
.guide-card .lic-ic.is-unver .ic { color: var(--slate); }
.guide-card .lic-ic.is-ver,
.guide-card .lic-ic.is-ver .ic { color: var(--verified); }
.guide-card .lic-ic .tip {
  display: none;
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  transform: translateX(-50%);
  white-space: nowrap;
  background: var(--navy);
  color: #fff;
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  padding: 6px 9px;
  border-radius: 6px;
  z-index: 5;
}
.guide-card .lic-ic .tip:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  margin-left: -5px;
  border: 5px solid transparent;
  border-top-color: var(--navy);
}
.guide-card .lic-ic:hover .tip,
.guide-card .lic-ic:focus .tip,
.guide-card .lic-ic.show .tip { display: block; }
.guide-card .z-lic { display: flex; align-items: center; gap: 4px; min-width: 0; font-size: 13px; line-height: 20px; font-weight: 400; }
.guide-card .z-lic.is-unver,
.guide-card .z-lic.is-unver .ic { color: var(--slate); }
.guide-card .z-lic.is-ver { color: var(--verified-text); font-weight: 600; }
.guide-card .z-lic.is-ver .ic { color: var(--verified); }
.guide-card .z-region,
.guide-card .z-species { display: flex; align-items: center; gap: 4px; min-width: 0; font-size: 13px; line-height: 20px; }
.guide-card .z-region { color: var(--slate); }
.guide-card .z-species { color: var(--ink); min-height: 20px; }
.guide-card .z-species.is-empty { color: var(--slate); font-style: italic; }
.guide-card .ic, .guide-card .sg-icon { flex: none; color: var(--slate); }
.guide-card .z-rate .sg-icon--brass { color: var(--brass-deep); }
.sg-icon-slot { display: inline-flex; margin-right: 6px; vertical-align: -3px; color: var(--harbor); }
.guide-card .clip { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.guide-card .z-species .more { flex: none; margin-left: 4px; color: var(--harbor); font-weight: 600; }
.guide-card .facts { display: flex; flex-direction: column; gap: 4px; margin-top: 4px; padding-top: 10px; border-top: 1px solid var(--mist); }
.guide-card .z-rate { display: flex; align-items: center; gap: 6px; min-height: 22px; font-size: 14px; }
.guide-card .stars.off { color: #c9cbc4; }
.guide-card .z-price { display: flex; align-items: center; gap: 4px; min-height: 22px; font-size: 14px; line-height: 22px; color: var(--navy); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.guide-card .z-price .pl { color: var(--slate); font-size: 13px; font-weight: 400; }
.guide-card .z-price.none { color: var(--slate); font-style: italic; }
.guide-card .z-price.none .pl { font-style: normal; }
.guide-card .card-foot { margin-top: auto; padding-top: 10px; flex-wrap: nowrap; }
.guide-card .card-foot .btn { flex: 0 0 auto; width: 125px; box-sizing: border-box; text-align: center; white-space: nowrap; }
.guide-card .compare-toggle { flex: none; white-space: nowrap; margin-left: auto; }
.guide-card .card-foot .save-heart { position: absolute; top: 10px; right: 10px; z-index: 3; }
@media (max-width: 760px) {
  .guide-card .lic-ic .tip { left: auto; right: -8px; transform: none; }
  .guide-card .lic-ic .tip:after { left: auto; right: 11px; margin-left: 0; }
}
.guide-card .why { margin-top: 8px; padding: 8px 10px; border-radius: 8px; background: var(--mist); font-size: 13px; line-height: 18px; color: var(--ink); }
.guide-card .why b { display: block; margin-bottom: 2px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--navy); }
.results-tools { display: flex; align-items: center; gap: 14px; }
.seg { display: inline-flex; border: 1px solid var(--navy); border-radius: 8px; overflow: hidden; height: 36px; flex: none; }
.seg button { display: inline-flex; align-items: center; gap: 6px; border: 0; background: #fff; color: var(--navy); font: inherit; font-size: 13px; font-weight: 600; padding: 0 14px; cursor: pointer; }
.seg button + button { border-left: 1px solid var(--navy); }
.seg button.on { background: var(--navy); color: #fff; }
.seg svg { display: block; }
.sg-results.is-list .grid { display: flex; flex-direction: column; gap: 12px; }
.sg-results.is-list .guide-card {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) minmax(180px, 260px) 168px;
  grid-template-areas:
    "photo who facts act"
    "photo badges license act";
  align-items: center;
  column-gap: 18px;
  row-gap: 4px;
  height: auto;
  min-height: 128px;
  padding: 12px 16px 12px 12px;
}
.sg-results.is-list .guide-card .img,
.sg-results.is-list .guide-card .b { display: contents; }
.sg-results.is-list .guide-card .img > img { grid-area: photo; position: relative; inset: auto; width: 132px; height: 104px; border-radius: 8px; }
.sg-results.is-list .guide-card .img.is-logo > img { object-fit: contain; padding: 8px; background: var(--paper); }
.sg-results.is-list .guide-card .img.is-logo.is-navy > img { background: var(--navy); }
.sg-results.is-list .guide-card .img.is-logo .initials { grid-area: photo; position: relative; width: 132px; height: 104px; background: var(--bone); border-radius: 8px; }
.sg-results.is-list .guide-card .card-badges { grid-area: photo; position: relative; top: auto; left: auto; right: auto; align-self: start; justify-self: start; margin: 6px 0 0 6px; z-index: 2; }
.sg-results.is-list .guide-card .strip { grid-area: badges; position: static; height: auto; padding: 0; background: none; }
.sg-results.is-list .guide-card .strip .merit-pill { background: var(--mist); color: var(--navy); border-color: #c9d6dd; }
.sg-results.is-list .guide-card .strip .merit-pill.more { background: #fff; color: var(--slate); border-color: var(--line); }
.sg-results.is-list .guide-card .nob { color: #8a938f; }
.sg-results.is-list .guide-card .who { grid-area: who; }
.sg-results.is-list .guide-card .facts { grid-area: facts; align-self: end; margin: 0; padding: 0; border-top: 0; }
.sg-results.is-list .guide-card .card-foot {
  grid-area: act;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  grid-template-areas: "btn btn" "heart compare";
  align-items: center;
  gap: 8px 10px;
}
.sg-results.is-list .guide-card .card-foot .btn { grid-area: btn; flex: none; }
.sg-results.is-list .guide-card .card-foot .compare-toggle { grid-area: compare; }
.sg-results.is-list .guide-card .card-foot .save-heart { grid-area: heart; position: static; }
.sg-results.is-list .guide-card .why { grid-area: who; align-self: end; }
@media (max-width: 980px) {
  .results-tools { justify-content: space-between; }
  .sg-results.is-list .guide-card {
    grid-template-columns: 96px minmax(0, 1fr);
    grid-template-areas:
      "photo who"
      "badges badges"
      "facts facts"
      "license license"
      "act act";
    min-height: 0;
    padding: 12px;
  }
  .sg-results.is-list .guide-card .z-name {
    white-space: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 22px;
    max-height: 44px;
  }
  .sg-results.is-list .guide-card .img > img { width: 96px; height: 104px; }
  .sg-results.is-list .guide-card .card-foot {
    grid-template-columns: minmax(0, 1fr) 36px auto;
    grid-template-areas: "btn heart compare";
  }
  .sg-results.is-list .guide-card .card-foot .btn { max-width: 170px; }
  .sg-results.is-list .guide-card .licrow { align-self: start; }
}
.angler-dash .gcard { overflow: hidden; display: flex; flex-direction: column; }
.angler-dash .gcard .img { aspect-ratio: 16/9; background: #cfd8d3; }
.angler-dash .gcard .img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.angler-dash .gcard .body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.angler-dash .gcard h3 { font-size: 20px; line-height: 26px; margin: 0; }
.angler-dash .reg { font-size: 13px; color: var(--slate); }
.angler-dash .chips, .angler-dash .bks, .angler-dash .selchips { display: flex; flex-wrap: wrap; gap: 6px; }
.angler-dash .bchip { display: inline-block; padding: 2px 9px; border-radius: 999px; background: var(--mist); color: var(--navy); font-size: 12px; font-weight: 600; }
.angler-dash .bchip.ver { background: var(--verified-fill); color: var(--verified-text); }
.angler-dash .why { background: var(--bone); border-radius: 8px; padding: 8px 10px; font-size: 13px; line-height: 20px; }
.angler-dash .why b { display: block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--brass-deep); }
.angler-dash .act { display: flex; align-items: center; gap: 10px; margin-top: auto; }
.angler-dash .act .btn { flex: 1; }
.angler-dash .heart, .angler-dash .heart.on, .angler-dash .heart.is-on { width: 38px; height: 38px; border-radius: 50%; border: 1px solid #e3e0d6; background: #fff; color: var(--navy); }
.angler-dash .heart.on, .angler-dash .heart.is-on { color: #b2453a; background: #fbf1ef; }
.angler-dash .scard { padding: 12px; display: flex; gap: 12px; align-items: flex-start; }
.angler-dash .scard .th { width: 56px; height: 56px; border-radius: 8px; object-fit: cover; background: var(--mist); flex: none; }
.angler-dash .scard h4 { margin: 0; font-size: 15px; }
.angler-dash .scard h4 a { color: var(--navy); text-decoration: none; }
.angler-dash .row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; font-size: 13px; }
.angler-dash .row label { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.angler-dash .rm { background: none; border: 0; color: var(--slate); font: inherit; font-size: 12px; text-decoration: underline; cursor: pointer; padding: 0; }
.angler-dash .saved-foot { display: flex; align-items: center; gap: 12px; margin-top: 12px; }
.angler-dash .tbl { overflow: hidden; }
.angler-dash table { width: 100%; border-collapse: collapse; font-size: 14px; }
.angler-dash th { text-align: left; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--slate); padding: 12px 16px; border-bottom: 1px solid #e3e0d6; background: #fbfaf6; }
.angler-dash td { padding: 14px 16px; border-bottom: 1px solid #e3e0d6; vertical-align: top; }
.angler-dash tr:last-child td { border-bottom: 0; }
.angler-dash td .g { font-weight: 600; color: var(--navy); text-decoration: none; }
.angler-dash .status { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; }
.angler-dash .status:before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--verified); }
.angler-dash .status.fw:before { background: var(--brass); }
.angler-dash .status-note { font-size: 12px; color: var(--slate); }
.angler-dash .rcard { padding: 16px 18px; }
.angler-dash .rcard .top { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.angler-dash .rcard h4 { margin: 0; font-size: 16px; }
.angler-dash .pill.pend { background: var(--featured-fill); color: var(--brass-deep); }
.angler-dash .pill.ok { background: var(--verified-fill); color: var(--verified-text); }
.angler-dash .reply { margin-top: 12px; border-left: 3px solid var(--harbor-light); background: #f4f7f9; padding: 8px 12px; font-size: 13px; }
.angler-dash .prompt { margin-top: 14px; padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-style: dashed; border-color: var(--brass-light); }
.angler-dash .prompt .q { font-family: var(--sg-font-heading); font-size: 18px; color: var(--navy); font-weight: 700; margin: 0; }
.angler-dash .psum { display: grid; grid-template-columns: 1fr 1fr; padding: 4px 0; }
.angler-dash .prow { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 18px; text-align: left; background: transparent; border: 0; border-bottom: 1px solid var(--mist); min-height: 48px; font: inherit; cursor: pointer; }
.angler-dash .prow:nth-child(odd) { border-right: 1px solid var(--mist); }
.angler-dash .pl { flex: none; width: 104px; font-size: 13px; font-weight: 600; color: var(--navy); }
body.sg-icons-v2 .angler-dash .pl { width: 148px; display: inline-flex; align-items: center; gap: 6px; }
.angler-dash .pv { flex: 1; display: flex; flex-wrap: wrap; gap: 4px 5px; }
.angler-dash .pv.txt { font-weight: 500; }
.angler-dash .pv.add { color: var(--slate); font-style: italic; }
.angler-dash .sc { background: var(--navy); color: #fff; border-radius: 999px; padding: 1px 9px; font-size: 12px; line-height: 20px; }
.angler-dash .ed { margin-left: auto; color: var(--harbor); font-size: 13px; font-weight: 600; }
.angler-dash .settings { padding: 22px; }
.angler-dash .fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.angler-dash .field label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px; }
.angler-dash .field input { width: 100%; }
.angler-dash .hint, .angler-dash .disclose, .angler-dash .opt small { color: var(--slate); font-size: 13px; }
.angler-dash .opts { margin-top: 20px; display: flex; flex-direction: column; gap: 12px; }
.angler-dash .opt {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  column-gap: 12px;
  align-items: start;
}
.angler-dash .opt input { width: 18px; height: 18px; margin-top: 3px; }
.angler-dash .opt label { font-weight: 600; font-size: 14px; line-height: 20px; }
.angler-dash dialog.sg-editor { border: 0; padding: 0; width: min(820px, calc(100vw - 48px)); max-height: calc(100vh - 56px); border-radius: 16px; color: var(--ink); }
.angler-dash dialog.sg-editor::backdrop { background: rgba(14, 24, 38, .55); }
.angler-dash .mh, .angler-dash .mf { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.angler-dash .mh { padding: 20px 24px 14px; border-bottom: 1px solid var(--mist); }
.angler-dash .mh h2 { font-size: 26px; margin: 2px 0 0; }
.angler-dash .x { background: none; border: 0; font-size: 28px; line-height: 1; color: var(--slate); cursor: pointer; }
.angler-dash .mb { padding: 16px 24px; overflow: auto; max-height: 60vh; }
.angler-dash .mf { padding: 14px 24px; border-top: 1px solid var(--mist); background: #fbfaf6; }
.angler-dash .mfn { font-size: 13px; color: var(--slate); }
.angler-dash .bk { position: relative; border: 1px solid #c7ccc8; background: #fff; border-radius: 999px; padding: 4px 12px; font-size: 13px; font-weight: 500; cursor: pointer; }
.angler-dash .bk input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.angler-dash .bk.on { background: var(--navy); border-color: var(--navy); color: #fff; }
.angler-dash .bk.is-extra { display: none; }
.angler-dash .bg.is-open .bk.is-extra, .angler-dash .bk.is-hit { display: inline-flex; }
.angler-dash .bg.is-search .bk:not(.is-hit) { display: none; }
.angler-dash .selbox { background: var(--bone); border-radius: 10px; padding: 10px 14px; }
.angler-dash .sl { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--brass-deep); }
.angler-dash .msearch { margin: 14px 0; }
.angler-dash .msearch input { width: 100%; }
.angler-dash .bgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
.angler-dash .bg { padding: 12px 0; border-bottom: 1px solid var(--mist); }
.angler-dash .bgh { display: flex; justify-content: space-between; align-items: baseline; }
.angler-dash .bgh h4 { margin: 0; font-size: 14px; }
.angler-dash .more { background: none; border: 0; color: var(--harbor); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.angler-dash .rc { background: var(--navy); color: #fff; border-radius: 999px; padding: 3px 8px 3px 12px; font-size: 13px; display: inline-flex; gap: 6px; align-items: center; }
.angler-dash .rc button { background: transparent; color: #fff; border: 0; cursor: pointer; font: inherit; }
@media (max-width: 900px) {
  .angler-dash .sec-h { flex-wrap: wrap; }
  .angler-dash .lnk { white-space: nowrap; }
  .angler-dash .who { flex-wrap: wrap; }
  .angler-dash .meta { margin-left: 0; width: 100%; }
  .angler-dash .stat { flex: 1; }
  .angler-dash .grid3, .angler-dash .grid4, .angler-dash .grid2, .angler-dash .psum, .angler-dash .fields, .angler-dash .bgrid { grid-template-columns: 1fr; }
  .angler-dash .prow:nth-child(odd) { border-right: 0; }
  .angler-dash .prompt, .angler-dash .saved-foot { flex-direction: column; align-items: flex-start; }
  .angler-dash .tbl table, .angler-dash .tbl tbody, .angler-dash .tbl tr, .angler-dash .tbl td { display: block; width: 100%; }
  .angler-dash .tbl thead { display: none; }
  .angler-dash .tbl tr { padding: 12px 16px; border-bottom: 1px solid #e3e0d6; }
  .angler-dash .tbl td { border: 0; padding: 2px 0; }
  .angler-dash .tbl td:before { content: attr(data-l); display: block; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--slate); font-weight: 600; }
}
@media (max-width: 600px) {
  .angler-dash dialog.sg-editor { width: 100vw; height: 100vh; max-height: none; max-width: none; margin: 0; border-radius: 0; }
  .angler-dash .mb { max-height: none; }
  .angler-dash .mf { position: sticky; bottom: 0; flex-direction: column; align-items: stretch; }
  .angler-dash .mf > div { display: flex; gap: 10px; }
  .angler-dash .mf .btn { flex: 1; }
}

/* Fishing Methods, Option E */
.sg-methods-hero { min-height: 200px; height: auto; }
.sg-methods-hero .ht { padding: 26px 0 22px; }
.sg-methods-e { min-width: 0; }
.sg-methods-e .wrap { min-width: 0; max-width: min(100%, var(--content-max)); }
.sg-methods-e .tablewrap { overflow-x: auto; max-width: 100%; }
.sg-methods-e { padding: 0 0 8px; }
.sg-methods-e .intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 32px; align-items: start; padding: 18px 0 0; }
.sg-methods-e .lede { font-size: 18px; line-height: 29px; margin: 0 0 10px; }
.sg-methods-e .second { font-size: 15px; margin: 0; }
.sg-methods-e .callout { background: var(--bone); border-left: 4px solid var(--brass); border-radius: 0 8px 8px 0; padding: 14px 16px; margin: 0; font-size: 15px; line-height: 24px; }
.sg-methods-e .callout.sm { padding: 12px 14px; font-size: 14px; line-height: 22px; }
.sg-methods-e .callout h3 { font-size: 16px; line-height: 22px; margin: 0 0 4px; }
.sg-methods-e .callout p { margin: 0; }
.sg-methods-e .gh { display: flex; align-items: baseline; gap: 12px; margin: 24px 0 10px; border-bottom: 1px solid var(--mist); padding-bottom: 8px; }
.sg-methods-e .gh h2 { font-size: 26px; line-height: 32px; margin: 0; }
.sg-methods-e .gh span { color: var(--slate); font-size: 14px; }
.sg-methods-e .routes { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 0; }
.sg-methods-e .route { all: unset; box-sizing: border-box; cursor: pointer; display: grid; grid-template-columns: 64px 1fr; gap: 4px 18px; align-items: center; padding: 20px 22px; border: 2px solid var(--mist); border-radius: 14px; background: #fff; }
.sg-methods-e .route:hover { border-color: var(--brass); box-shadow: 0 4px 16px rgba(20, 38, 61, .10); }
.sg-methods-e .route:focus-visible { outline: 3px solid var(--harbor-light); outline-offset: 2px; }
.sg-methods-e .route .ic { grid-row: 1 / 4; width: 64px; height: 64px; border-radius: 50%; background: var(--bone); color: var(--brass-deep); display: flex; align-items: center; justify-content: center; }
.sg-methods-e .route .ic svg { width: 38px; height: 38px; }
.sg-methods-e .route .rt { font-family: var(--sg-font-heading); font-weight: 700; color: var(--navy); font-size: 24px; line-height: 30px; }
.sg-methods-e .route .ln { margin: 0; font-size: 15px; line-height: 22px; color: var(--slate); }
.sg-methods-e .route .meta { display: flex; justify-content: space-between; align-items: center; font-size: 13px; font-weight: 600; color: var(--navy); margin-top: 4px; }
.sg-methods-e .route .meta .cta { color: var(--harbor); }
.sg-methods-e .route[aria-pressed="true"] { background: var(--navy); border-color: var(--brass); box-shadow: 0 6px 18px rgba(20, 38, 61, .22); }
.sg-methods-e .route[aria-pressed="true"] .rt { color: #fff; }
.sg-methods-e .route[aria-pressed="true"] .ln { color: var(--mist); }
.sg-methods-e .route[aria-pressed="true"] .meta, .sg-methods-e .route[aria-pressed="true"] .meta .cta { color: var(--brass-light); }
.sg-methods-e .route[aria-pressed="true"] .ic { background: var(--brass); color: #fff; }
.sg-methods-e .fishpanel { display: none; margin-top: 6px; }
body.r-fish .sg-methods-e .fishpanel { display: block; }
body.r-fish .sg-methods-e .cards:not(.picked) { display: none; }
.sg-methods-e .empty-pick { display: none; margin: 20px 0 0; padding: 18px; border: 1px dashed var(--harbor-light); border-radius: 10px; color: var(--slate); font-size: 15px; background: #fff; }
body.r-fish .sg-methods-e .empty-pick.show { display: block; }
.sg-methods-e .see-all { all: unset; cursor: pointer; color: var(--harbor); font-weight: 600; text-decoration: underline; }
.sg-methods-e .mx { border-collapse: separate; border-spacing: 0; width: 100%; background: #fff; border: 1px solid var(--mist); border-radius: 10px; overflow: hidden; font-size: 14px; line-height: 21px; }
.sg-methods-e .mx th, .sg-methods-e .mx td { padding: 7px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--mist); font-size: 13.5px; line-height: 20px; }
.sg-methods-e .mx tr:last-child th, .sg-methods-e .mx tr:last-child td { border-bottom: 0; }
.sg-methods-e .mx thead th { background: var(--navy); color: var(--bone); font-weight: 600; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.sg-methods-e .mx.c thead th:nth-child(2) { width: 27%; }
.sg-methods-e .mx.c thead th:nth-child(3) { width: 38%; }
.sg-methods-e .mx.c tbody th { width: auto; white-space: nowrap; font-size: 16px; padding: 0; background: var(--bone); }
.sg-methods-e .mx.c tbody th button { all: unset; box-sizing: border-box; display: block; width: 100%; padding: 8px 12px; cursor: pointer; font: 700 16px/21px var(--sg-font-heading); color: var(--navy); }
.sg-methods-e .mx.c tbody th button:after { content: " ›"; color: var(--brass); }
.sg-methods-e .mx td a { display: inline-block; margin: 0 8px 0 0; font-weight: 600; text-decoration: none; color: var(--harbor); white-space: nowrap; }
.sg-methods-e .mx td a small { color: var(--slate); font-weight: 500; margin-left: 2px; }
.sg-methods-e .mx td .na { color: #a3aba7; }
.sg-methods-e .mx.c td.hit { cursor: pointer; }
.sg-methods-e .mx.c td.hit:hover { background: #f7f3ea; }
.sg-methods-e .mx.c tr.sel th, .sg-methods-e .mx.c tr.sel th button { background: var(--navy); color: #fff; }
.sg-methods-e .mx.c tr.sel td { background: #f3ecdc; }
.sg-methods-e .mx.c td.sel { background: #ead9b8 !important; box-shadow: inset 0 0 0 2px var(--brass); }
.sg-methods-e .hint { font-size: 13px; color: var(--slate); margin: 8px 0 0; }
.sg-methods-e .status { display: none; align-items: center; gap: 12px; flex-wrap: wrap; margin: 22px 0 0; padding: 10px 14px; background: var(--navy); color: var(--bone); border-radius: 8px; font-size: 14px; }
.sg-methods-e .status.on { display: flex; }
.sg-methods-e .status b { color: var(--brass-light); }
.sg-methods-e .status button { font: 600 13px/20px Inter, sans-serif; padding: 4px 12px; border-radius: 999px; border: 1px solid var(--brass-light); background: transparent; color: var(--bone); cursor: pointer; margin-left: auto; }
.sg-methods-e .grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.sg-methods-e .mc { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--mist); border-top: 3px solid var(--brass); border-radius: 10px; padding: 12px 14px 10px; text-decoration: none; color: var(--ink); }
.sg-methods-e .mc:hover, .sg-methods-e .mc.lit { box-shadow: 0 4px 14px rgba(20, 38, 61, .12); }
.sg-methods-e .mc h3 { font-size: 19px; line-height: 24px; margin: 0 0 6px; }
.sg-methods-e .mc p { font-size: 14px; line-height: 21px; margin: 0 0 8px; color: var(--ink); }
.sg-methods-e .mc .sp { font-size: 13px; line-height: 18px; color: var(--slate); margin: 0 0 8px; }
.sg-methods-e .mc .sp b { color: var(--navy); font-weight: 600; }
.sg-methods-e .mc .ft { margin-top: auto; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--mist); padding-top: 8px; font-size: 13px; }
.sg-methods-e .mc .n { font-weight: 700; color: var(--navy); }
.sg-methods-e .mc .go { color: var(--harbor); font-weight: 600; }
.sg-methods-e .mc.off, .sg-methods-e .gwrap.off { display: none; }
.sg-methods-e .switch { margin: 22px 0 0; font-size: 15px; }
.sg-methods-e .switch button { all: unset; cursor: pointer; color: var(--harbor); font-weight: 600; text-decoration: underline; }
body.r-fish .sg-methods-e .sw-fish, body:not(.r-fish) .sg-methods-e .sw-water { display: none; }
.sg-methods-e .note-sm { font-size: 12px; line-height: 18px; color: var(--slate); margin: 12px 0 0; max-width: 760px; }
.sg-methods-e .closing { margin: 24px 0 0; max-width: 760px; }
.sg-method-page { padding: 0 0 8px; }
.sg-method-page .back { display: inline-block; margin: 18px 0 0; font-size: 14px; font-weight: 600; text-decoration: none; }
.sg-method-page .layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; align-items: start; padding: 14px 0 8px; }
.sg-method-page .lede { font-size: 18px; line-height: 29px; margin: 0 0 14px; }
.sg-method-page .detail h2 { font-size: 26px; line-height: 32px; margin: 28px 0 10px; }
.sg-method-page .detail p { margin: 0 0 14px; }
.sg-method-page .detail ol { padding-left: 20px; margin: 0 0 14px; }
.sg-method-page .detail ol li { margin: 0 0 6px; }
.sg-method-page ol.steps {
  display: block;
  margin: 0 0 14px;
  padding-left: 20px;
  list-style: decimal;
}
.sg-method-page ol.steps li {
  display: list-item;
  margin: 0 0 6px;
  text-align: start;
}
.sg-method-page .guide-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sg-method-page .side { position: sticky; top: 16px; color: var(--ink); padding: 0; overflow: visible; width: auto; }
.sg-method-page .guide-card .z-name {
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  text-overflow: unset;
}
.sg-method-page .guide-card .card-foot { flex-wrap: wrap; gap: 8px; }
.sg-method-page .guide-card .compare-toggle { white-space: nowrap; overflow: visible; }
.sg-method-page .panel { background: #fff; border: 1px solid var(--mist); border-radius: 12px; padding: 18px; }
.sg-method-page .panel h3 { font-size: 19px; line-height: 24px; margin: 0 0 10px; }
.sg-method-page .panel dl { margin: 0 0 14px; font-size: 14px; line-height: 21px; }
.sg-method-page .panel dt { font-weight: 600; color: var(--navy); margin-top: 8px; }
.sg-method-page .panel dd { margin: 0; color: var(--ink); }
.sg-method-page .panel .btn { width: 100%; text-align: center; box-sizing: border-box; padding: 11px 18px; white-space: nowrap; }
.sg-method-page .src { font-size: 12px; color: var(--slate); margin: 10px 0 0; text-align: center; }
.sg-method-page .slot .row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.sg-method-page .gc { border: 1px solid var(--mist); border-radius: 10px; background: var(--paper); text-decoration: none; }
.sg-method-page .gc .tx { padding: 8px 10px; font-size: 13px; line-height: 18px; }
.sg-method-page .gc .tx b { display: block; color: var(--navy); font-size: 13px; }
.sg-method-page .gc .lic { color: var(--slate); font-size: 12px; }
.sg-method-page .slot .note { font-size: 12px; color: var(--slate); margin: 6px 0 0; }
.sg-method-page .sib { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.sg-method-page .sib a { display: block; background: #fff; border: 1px solid var(--mist); border-radius: 10px; padding: 12px 14px; text-decoration: none; }
.sg-method-page .sib b { display: block; font-family: var(--sg-font-heading); color: var(--navy); font-size: 17px; line-height: 22px; }
.sg-method-page .sib span { font-size: 13px; color: var(--slate); line-height: 19px; display: block; }
.sg-method-page .sib em { font-style: normal; font-size: 12px; color: var(--brass-deep); font-weight: 600; }
.sg-method-page .allm { margin: 18px 0 0; font-size: 14px; line-height: 24px; }
.sg-method-page .allm b { color: var(--navy); display: block; margin: 8px 0 2px; font-size: 13px; }
.sg-method-page .pn { display: flex; justify-content: space-between; gap: 12px; margin: 22px 0 0; padding-top: 14px; border-top: 1px solid var(--mist); font-size: 14px; font-weight: 600; }
.sg-method-page .pn a { text-decoration: none; }
.sg-method-page,
.sg-method-page .wrap,
.sg-method-page .layout > *,
.sg-method-page .guide-grid,
.sg-method-page .guide-card {
  min-width: 0;
  max-width: 100%;
}
.sg-method-page .detail { overflow-wrap: anywhere; }
.sg-method-page .detail table { display: block; max-width: 100%; overflow-x: auto; }
.sg-method-page > .wrap { max-width: var(--content-max); }
@media (max-width: 980px) {
  .sg-methods-e .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sg-methods-e .intro, .sg-method-page .layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .sg-method-page .guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sg-method-page .side { position: static; }
  .sg-method-page .sib { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 720px) {
  .grid.guide-grid,
  .guide-grid,
  .sg-results {
    min-width: 0;
    max-width: 100%;
  }
  .grid.guide-grid,
  .guide-grid { grid-template-columns: minmax(0, 1fr); }
  .guide-card { min-width: 0; }
  .sg-methods-e .grid, .sg-method-page .sib, .sg-method-page .slot .row, .sg-method-page .guide-grid { grid-template-columns: minmax(0, 1fr); }
  .sg-methods-e .gh { flex-direction: column; align-items: flex-start; gap: 2px; }
  .sg-methods-e .gh h2 { font-size: 22px; line-height: 28px; }
  .sg-methods-e .routes { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .sg-methods-e .route { grid-template-columns: 48px minmax(0, 1fr); padding: 14px 16px; gap: 2px 14px; }
  .sg-methods-e .route .ic { width: 48px; height: 48px; }
  .sg-methods-e .route .ic svg { width: 28px; height: 28px; }
  .sg-methods-e .route .rt { font-size: 20px; line-height: 26px; }
  .sg-methods-e .route .meta { flex-wrap: wrap; gap: 2px 10px; }
  .sg-methods-e .mx thead { display: none; }
  .sg-methods-e .mx, .sg-methods-e .mx tbody, .sg-methods-e .mx tr, .sg-methods-e .mx th, .sg-methods-e .mx td { display: block; width: auto; }
  .sg-methods-e .mx.c tbody th { white-space: normal; border-bottom: 0; }
  .sg-methods-e .mx td { border-bottom: 0; padding: 2px 14px 6px; }
  .sg-methods-e .mx tr td:last-child { border-bottom: 1px solid var(--mist); padding-bottom: 12px; }
  .sg-methods-e .mx td:before { content: attr(data-l); display: block; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--slate); }
  .sg-methods-e .mx td.e { display: none; }
  .sg-methods-e .status button { margin-left: 0; }
  .sg-method-page .slot .row .gc:nth-child(n+2) { display: none; }
  .sg-method-page .pn { flex-direction: column; }
}

/* Method deep dive. Shared by later method pages. */
.sg-method-page .detail h3 { font-size: 20px; line-height: 26px; margin: 22px 0 8px; color: var(--navy); }
.sg-method-page .detail ul { padding-left: 20px; margin: 0 0 14px; }
.sg-method-page .detail ul li { margin: 0 0 6px; }
.sg-method-page .detail h2 { scroll-margin-top: 16px; }
.sg-dd-chip { display: inline-block; background: var(--bone); color: var(--brass-deep); font-size: 12px; font-weight: 600; font-style: normal; padding: 2px 9px; border-radius: 999px; margin-right: 6px; vertical-align: 1px; }
.sg-dd-fig { margin: 6px 0 20px; min-width: 0; max-width: 100%; }
.sg-dd-zoom { display: block; max-width: 100%; min-width: 0; overflow-x: auto; }
.sg-dd-zoom img { display: block; width: 100%; height: auto; }
.sg-dd-fig figcaption { font-size: 13px; line-height: 19px; color: var(--slate); margin: 6px 2px 0; }
.sg-dd-hint { display: none; font-size: 12px; line-height: 18px; margin: 6px 2px 0; font-weight: 600; }
.sg-dd-table { overflow-x: auto; max-width: 100%; min-width: 0; margin: 0 0 16px; border: 1px solid var(--mist); border-radius: 10px; background: #fff; }
.sg-method-page .detail .sg-dd-table table { display: table; width: 100%; border-collapse: collapse; font-size: 14px; line-height: 20px; min-width: 560px; }
.sg-dd-table th { background: var(--paper); color: var(--navy); text-align: left; font-weight: 600; padding: 9px 12px; border-bottom: 1px solid var(--mist); }
.sg-dd-table td { padding: 9px 12px; border-top: 1px solid var(--mist); vertical-align: top; }
.sg-dd-table td:first-child { font-weight: 600; color: var(--navy); white-space: nowrap; }
.sg-dd-rules { background: var(--bone); border-left: 4px solid var(--brass); border-radius: 10px; padding: 4px 18px 6px; margin: 28px 0 14px; }
.sg-dd-rules h2 { margin-top: 16px; }
.sg-dd-gloss { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 6px 16px; font-size: 15px; line-height: 22px; margin: 0 0 18px; }
.sg-dd-gloss dt { font-weight: 600; color: var(--navy); }
.sg-dd-gloss dd { margin: 0; }
.sg-dd-cta { margin: 18px 0 26px; }
.sg-dd-cta .btn { display: inline-block; }
.sg-dd-toc { margin-top: 14px; }
.sg-dd-toc ol { margin: 0; padding-left: 18px; font-size: 14px; line-height: 22px; }
.sg-dd-toc a { text-decoration: none; }
@media (max-width: 720px) {
  .sg-dd-zoom img { width: 100%; max-width: 100%; height: auto; }
  .sg-dd-hint { display: block; }
  .sg-dd-table { border: 0; background: none; overflow: visible; }
  .sg-method-page .detail .sg-dd-table table,
  .sg-dd-table thead,
  .sg-dd-table tbody,
  .sg-dd-table tr,
  .sg-dd-table td { display: block; min-width: 0; width: auto; }
  .sg-dd-table thead { display: none; }
  .sg-dd-table tr { background: #fff; border: 1px solid var(--mist); border-radius: 10px; margin: 0 0 10px; padding: 6px 0; }
  .sg-dd-table td { border: 0; padding: 4px 12px; }
  .sg-dd-table td:first-child { font-family: var(--sg-font-heading); font-size: 17px; white-space: normal; padding-top: 6px; }
  .sg-dd-table td:not(:first-child)::before { content: attr(data-label); display: block; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--slate); }
  .sg-dd-gloss { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .sg-dd-gloss dd { margin: 0 0 8px; }
  .sg-method-page .detail .sg-dd-table table { font-size: 13px; }
  .sg-dd-toc { display: none; }
}

.sg-profile-v2 { min-width: 0; padding-top: 22px; padding-bottom: 28px; }
.sg-profile-v2 h1, .sg-profile-v2 h2, .sg-profile-v2 h3 { margin: 0; }
.sg-profile-v2 .idrow { display: flex; gap: 18px; align-items: flex-start; position: relative; }
.sg-profile-v2 .avatar { width: 110px; height: 110px; }
.sg-profile-v2 .avatar img { width: 100%; height: 100%; max-width: none; object-fit: contain; }
.sg-profile-v2 .idtext { flex: 1 1 auto; min-width: 0; height: 110px; display: flex; flex-direction: column; justify-content: center; gap: 4px; padding-right: 200px; }
.sg-profile-v2 .idrow h1 { font-size: 34px; line-height: 38px; margin: 0; overflow-wrap: anywhere; }
.sg-profile-v2 .loc { margin: 0; font-size: 14px; line-height: 22px; color: var(--slate); }
.sg-profile-v2 .loc b { color: var(--navy); }
.sg-profile-v2 .idright { position: absolute; top: 0; right: 0; height: 110px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; }
.sg-profile-v2 .badges { display: inline-flex; gap: 6px; justify-content: flex-end; }
.sg-profile-v2 .tools { display: flex; gap: 10px; align-items: center; }
.sg-profile-v2 .srows { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; margin: 0; font-size: 14px; line-height: 22px; }
.sg-profile-v2 .sgrp { display: flex; align-items: center; gap: 8px; min-width: 0; }
.sg-profile-v2 .sdiv { width: 1px; height: 18px; background: var(--mist); }
.sg-profile-v2 .slbl { background: none; border: 0; padding: 0; cursor: pointer; font: 600 14px/22px Inter, system-ui, sans-serif; color: var(--navy); text-decoration: none; }
.sg-profile-v2 .stars5 { color: var(--brass); letter-spacing: 1px; }
.sg-profile-v2 .stars5 .e { color: transparent; -webkit-text-stroke: 1px #a3aba7; }
.sg-profile-v2 .scorep { margin: 14px 0 0; background: #fff; border: 1px solid var(--mist); border-left: 4px solid var(--navy); }
.sg-profile-v2 .scorep.sp-on { border-left: 1px solid var(--mist); border-top: 3px solid var(--navy); border-radius: 12px; box-shadow: 0 6px 16px rgba(20,38,61,.05); }
.sg-profile-v2 .scorep:not([open]) { display: none; }
.sg-profile-v2 .sbody { padding: 12px 14px 14px; }
.sg-profile-v2 table.sin { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.sg-profile-v2 table.sin th, .sg-profile-v2 table.sin td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--mist); vertical-align: top; }
.sg-profile-v2 .gal { display: grid; gap: 8px; margin: 16px 0 0; height: 170px; }
.sg-profile-v2 .gal img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.sg-profile-v2 .gal > div.is-logo { background: var(--paper); }
.sg-profile-v2 .gal > div.is-logo.is-navy { background: var(--navy); }
.sg-profile-v2 .gal > div.is-logo img { object-fit: contain; padding: 16px; box-sizing: border-box; }
.sg-profile-v2 .gal > div.is-logo .initials { display: grid; place-items: center; width: 100%; height: 100%; font-family: var(--sg-font-heading); font-size: 36px; font-weight: 700; color: var(--navy); }
.sg-profile-v2 .gal > div { position: relative; overflow: hidden; border-radius: 10px; background: #e4e8e6; }
.sg-profile-v2 .gal .tag { position: absolute; left: 8px; bottom: 8px; background: rgba(20,38,61,.82); color: #fff; font-size: 11px; padding: 2px 7px; border-radius: 4px; }
.sg-profile-v2 .lay { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 32px; align-items: start; margin-top: 22px; }
.sg-profile-v2 .lay > div { min-width: 0; }
.sg-profile-v2 .tablewrap { overflow-x: auto; max-width: 100%; }
.sg-profile-v2 .card { background: #fff; border: 1px solid var(--mist); border-radius: 12px; padding: 20px 22px; margin: 0 0 18px; min-width: 0; }
.sg-profile-v2 .card h2 { font-size: 23px; line-height: 29px; margin: 0 0 8px; }
.sg-profile-v2 #overview p { margin: 0; font-size: 16px; line-height: 26px; }
.sg-profile-v2 .card table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 26px; }
.sg-profile-v2 .card th, .sg-profile-v2 .card td { padding: 8px 8px 8px 0; border-bottom: 1px solid #eee; vertical-align: top; text-align: left; }
.sg-profile-v2 .card th { font-weight: 700; white-space: nowrap; }
.sg-profile-v2 .card td p { margin: 0; }
.sg-profile-v2 .tools .sg-tool { border: 1px solid var(--mist); border-radius: 8px; padding: 6px 10px; background: #fff; color: var(--navy); font-weight: 600; font-size: 14px; line-height: 20px; cursor: pointer; white-space: nowrap; }
.sg-profile-v2 .tools .compare-check { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sg-profile-v2 .webl { display: flex; justify-content: space-between; align-items: center; border: 2px solid var(--harbor); border-radius: 8px; padding: 9px 14px; font-weight: 700; color: var(--harbor); text-decoration: none; font-size: 14px; margin-top: 10px; }
.sg-profile-v2 .inquiry-form { margin-top: 12px; }
.sg-profile-v2 .inquiry-form label.field { font-size: 12.5px; font-weight: 600; margin: 9px 0 0; }
.sg-profile-v2 .inquiry-form input:not([type="checkbox"]):not([type="hidden"]),
.sg-profile-v2 .inquiry-form select { height: 36px; padding: 0 10px; border: 1px solid #cfd6d2; border-radius: 7px; margin: 0; }
.sg-profile-v2 .inquiry-form textarea { min-height: 64px; padding: 8px 10px; border: 1px solid #cfd6d2; border-radius: 7px; margin: 0; }
.sg-profile-v2 .sg-inquiry-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3px 8px; align-items: start; margin-top: 9px; position: relative; }
.sg-profile-v2 .sg-inquiry-row > .sg-dates { grid-column: 1; grid-row: 1; }
.sg-profile-v2 .sg-inquiry-row > .field { grid-column: 2; grid-row: 1; }
.sg-profile-v2 .sg-inquiry-row > .sg-flex { grid-column: 1; grid-row: 2; justify-self: start; margin-top: 0; }
.sg-profile-v2 .inquiry-form .sg-inquiry-row > label.field { display: flex; flex-direction: column; align-items: stretch; gap: 3px; margin: 0; font-size: 12.5px; font-weight: 600; line-height: 16px; color: var(--navy); }
.sg-profile-v2 .sg-inquiry-row > .sg-dates,
.sg-profile-v2 .sg-inquiry-row > .field { min-width: 0; }
.sg-profile-v2 .sg-inquiry-row input[name="party_size"] { width: 100%; min-width: 0; height: 36px; min-height: 36px; font-size: 12px; font-weight: 400; line-height: 18px; padding: 0 6px; box-sizing: border-box; }
.sg-profile-v2 .sg-dates { position: static; min-height: 0; }
.sg-profile-v2 .sg-dates-label { display: block; margin: 0 0 3px; font-size: 12.5px; font-weight: 600; line-height: 16px; color: var(--navy); }
.sg-profile-v2 .sg-dates-open { width: 100%; height: 36px; min-height: 36px; box-sizing: border-box; white-space: nowrap; font-size: 14px; font-weight: 600; line-height: 20px; padding: 0 10px; text-align: left; }
.sg-profile-v2 .sg-flex { display: flex; align-items: center; gap: 4px; margin: 6px 0 0; font-size: 12px; font-weight: 600; line-height: 16px; color: var(--navy); white-space: nowrap; }
.sg-profile-v2 .sg-flex input { width: 16px; height: 16px; flex: 0 0 16px; }
.sg-profile-v2 .sg-dates-dialog { left: 0; right: 0; width: auto; }
.sg-profile-v2 .inquiry-form .sg-submit-row > .btn { width: 100%; }
.sg-profile-v2 .gal:not(.one) { grid-template-columns: 2fr repeat(4, 1fr); }
.sg-profile-v2 .gal.one { display: block; height: auto; text-align: left; }
.sg-profile-v2 .gal.one > div {
  display: block;
  width: calc((100% - 32px) * 2 / 6);
  height: 170px;
  max-width: 100%;
  overflow: hidden;
  background: #e4e8e6;
}
.sg-profile-v2 .gal.one img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center top;
}
.sg-profile-v2 .stars5.none { color: #a3aba7; letter-spacing: 1px; background: none; border: 0; padding: 0; border-radius: 0; }
.sg-profile-v2 .tools .sg-save,
.sg-profile-v2 .tools .save-heart { width: auto; height: auto; flex: none; border-radius: 8px; padding: 6px 10px; }
.sg-profile-v2 .price-note { display: inline; font-size: 12px; line-height: 16px; color: var(--slate); margin: 0; }
.sg-profile-v2 .price-sep { color: var(--slate); }
.sg-profile-v2 .mbar { display: none; }
.sg-profile-v2 .rv-empty { display: flex; gap: 14px; align-items: flex-start; background: var(--paper); border: 1px dashed #cfd5d1; border-radius: 10px; padding: 16px; }
.sg-profile-v2 .rv-e-ic { width: 44px; height: 44px; border-radius: 50%; background: #fff; border: 1px solid var(--mist); color: var(--harbor); display: flex; align-items: center; justify-content: center; flex: none; }
.sg-profile-v2 .rv-empty b { display: block; color: var(--navy); font-size: 15px; }
.sg-profile-v2 .rv-empty p { margin: 4px 0 12px; font-size: 14px; color: var(--slate); line-height: 21px; }
.sg-profile-v2 .rv-cta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.sg-profile-v2 .rv-how { color: var(--harbor); font-weight: 600; text-decoration: none; font-size: 14px; }
.sg-profile-v2 #reviews:has(> .rv-h) { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; column-gap: 12px; }
.sg-profile-v2 #reviews:has(> .rv-h) > h2 { margin: 0; white-space: nowrap; }
.sg-profile-v2 #reviews:has(> .rv-h) > .rv-h { grid-column: 2; grid-row: 1; }
.sg-profile-v2 #reviews:has(> .rv-h) > :not(h2):not(.rv-h) { grid-column: 1 / -1; }
.sg-profile-v2 .rv-h { display: flex; justify-content: flex-end; align-items: center; }
.sg-profile-v2 .btn.sm { padding: 8px 14px; font-size: 14px; min-height: 0; white-space: nowrap; flex: none; }
.sg-profile-v2 .rv-sum { display: grid; grid-template-columns: 170px minmax(0,1fr); gap: 22px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--mist); }
.sg-profile-v2 .rv-big { display: flex; flex-direction: column; gap: 4px; }
.sg-profile-v2 .rv-num { font-family: var(--sg-font-heading); font-size: 44px; line-height: 1; color: var(--navy); font-weight: 700; }
.sg-profile-v2 .rv-big .stars5 { color: var(--brass); font-size: 18px; }
.sg-profile-v2 .rv-cnt { font-size: 13px; color: var(--slate); }
.sg-profile-v2 .cbars { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.sg-profile-v2 .cbars li { display: grid; grid-template-columns: 140px minmax(0,1fr) 30px; gap: 10px; align-items: center; font-size: 13.5px; list-style: none; }
.sg-profile-v2 .cbars li::marker { content: none; }
.sg-profile-v2 .cb-n { color: var(--ink); }
.sg-profile-v2 .cb-bar { height: 8px; border-radius: 99px; background: #e3e8e4; overflow: hidden; }
.sg-profile-v2 .cb-bar i { display: block; height: 100%; background: var(--brass); }
.sg-profile-v2 .cb-v { font-weight: 600; color: var(--navy); text-align: right; }
.sg-profile-v2 .rv-verified { display: inline-flex; align-items: center; gap: 3px; margin-left: 6px; color: var(--verified-text); background: var(--verified-fill); border-radius: 999px; padding: 1px 8px; font-size: 12px; font-weight: 600; }
.sg-profile-v2 .rv-reply { background: var(--paper); border-left: 3px solid var(--harbor); border-radius: 0 8px 8px 0; padding: 8px 12px; }
.sg-profile-v2 .rv-form { margin-top: 18px; scroll-margin-bottom: 72px; }
.sg-profile-v2 .rv-form > .rv-details > .rv-summary { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.sg-profile-v2 .rv-form > .rf-panel { display: none; }
.sg-profile-v2 #review-form:target > .rf-panel,
.sg-profile-v2 #review-form > .rv-details[open] ~ .rf-panel { display: block; }
.sg-profile-v2 .rv-form h3 { font-family: var(--sg-font-heading); font-size: 23px; line-height: 29px; margin: 0 0 8px; color: var(--navy); }
.sg-profile-v2 .rf-sub { margin: -4px 0 12px; color: var(--slate); font-size: 14px; }
.sg-profile-v2 .rf-verify { display: flex; gap: 10px; align-items: flex-start; background: var(--verified-fill); border: 1px solid #cfe5d7; border-radius: 10px; padding: 12px 14px; font-size: 13.5px; line-height: 20px; color: var(--ink); margin: 0 0 14px; }
.sg-profile-v2 .rf-verify > .ic { color: var(--verified); margin-top: 2px; flex: none; }
.sg-profile-v2 .rv-meta { margin: 2px 0 0; font-size: 13px; color: var(--slate); }
.sg-profile-v2 .rv-all { display: inline-block; margin-top: 12px; color: var(--harbor); font-weight: 600; text-decoration: none; font-size: 14px; }
.sg-profile-v2 .rf-overall { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--mist); }
.sg-profile-v2 .rf-overall b { color: var(--navy); font-size: 15px; }
.sg-profile-v2 .sin5 { display: inline-flex; gap: 2px; flex: none; position: relative; }
.sg-profile-v2 .sin5 label { position: relative; cursor: pointer; line-height: 1; }
.sg-profile-v2 .sin5 input { position: absolute; opacity: 0; width: 0; height: 0; margin: 0; }
.sg-profile-v2 .sin5 span { display: block; color: #d3d6d1; line-height: 1; }
.sg-profile-v2 .sin5 svg { display: block; width: 24px; height: 24px; }
.sg-profile-v2 .rf-cats .sin5 svg { width: 20px; height: 20px; }
.sg-profile-v2 .sin5:hover label span,
.sg-profile-v2 .sin5:has(input:checked) label span { color: var(--brass); }
.sg-profile-v2 .sin5 label:hover ~ label span,
.sg-profile-v2 .sin5 label:has(input:checked) ~ label span { color: #d3d6d1; }
.sg-profile-v2 .sin5 label:focus-within span { outline: 2px solid var(--harbor); outline-offset: 2px; border-radius: 2px; }
.sg-profile-v2 .rf-cat { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--mist); }
.sg-profile-v2 .rf-cat b { display: block; color: var(--navy); font-size: 14px; font-weight: 600; }
.sg-profile-v2 .rf-cat div > span { display: block; font-size: 12.5px; font-weight: 400; color: var(--slate); line-height: 18px; }
.sg-profile-v2 .rf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
.sg-profile-v2 .rv-form .fld { display: flex; flex-direction: column; gap: 5px; margin-top: 12px; font-size: 13.5px; font-weight: 600; color: var(--navy); }
.sg-profile-v2 .rf-row .fld { margin-top: 0; min-width: 0; }
.sg-profile-v2 .rv-form .fld select,
.sg-profile-v2 .rv-form .fld input,
.sg-profile-v2 .rv-form .fld textarea { font: inherit; font-weight: 400; font-size: 14px; border: 1px solid #cfd5d1; border-radius: 8px; padding: 9px 10px; background: #fff; color: var(--ink); width: 100%; box-sizing: border-box; height: auto; }
.sg-profile-v2 .rv-form .fld .two { display: grid; grid-template-columns: 1.4fr 1fr; gap: 8px; }
.sg-profile-v2 .rv-form .fld small,
.sg-profile-v2 .rv-form .file i { font-weight: 400; font-style: normal; color: var(--slate); font-size: 12px; }
.sg-profile-v2 .rv-form .file { display: flex; flex-direction: column; gap: 8px; border: 1px dashed #cfd5d1; border-radius: 8px; padding: 12px; font-weight: 400; color: var(--ink); position: relative; }
.sg-profile-v2 .rv-form .file-row { display: flex; align-items: center; gap: 12px; min-width: 0; }
.sg-profile-v2 .rv-form .fld .file-input { position: absolute; width: 1px; height: 1px; padding: 0; margin: 0; border: 0; opacity: 0; overflow: hidden; clip: rect(0 0 0 0); }
.sg-profile-v2 .rv-form .file-btn { flex: none; cursor: pointer; padding: 7px 14px; font-size: 14px; line-height: 20px; border-width: 2px; }
.sg-profile-v2 .rv-form .file-name { flex: 1 1 auto; min-width: 0; font-size: 14px; line-height: 20px; color: var(--slate); overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.sg-profile-v2 .rv-form .file > i { line-height: 18px; }
.sg-profile-v2 .rv-form .file.has-file .file-name { color: var(--ink); font-weight: 600; }
.sg-profile-v2 .rv-form .file-input:focus-visible + .file-btn { outline: 2px solid var(--harbor); outline-offset: 2px; }
.sg-profile-v2 .rf-foot { margin-top: 16px; display: flex; flex-direction: column; gap: 8px; }
.sg-profile-v2 .rf-foot .btn { align-self: flex-start; }
.sg-profile-v2 .rf-foot p { margin: 0; font-size: 12.5px; color: var(--slate); }
.sg-profile-v2 .sg-fixture-banner { background: #fff4d6; border: 1px solid var(--brass); border-radius: 8px; padding: 8px 10px; font-weight: 700; }
.sg-profile-v2 .sp-head { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; padding-bottom: 14px; border-bottom: 1px solid var(--mist); }
.sg-profile-v2 .sp-title { font-family: var(--sg-font-heading); font-size: 23px; line-height: 29px; margin: 0 0 4px; color: var(--navy); }
.sg-profile-v2 .sp-sub { margin: 0; color: var(--slate); font-size: 14px; line-height: 20px; max-width: 560px; }
.sg-profile-v2 .sp-score { display: flex; align-items: center; gap: 12px; flex: none; background: var(--paper); border: 1px solid var(--mist); border-radius: 10px; padding: 10px 14px; }
.sg-profile-v2 .sp-num { font-family: var(--sg-font-heading); font-size: 34px; line-height: 1; font-weight: 700; color: var(--navy); }
.sg-profile-v2 .sp-score.off .sp-num { color: #b9bfbb; }
.sg-profile-v2 .sp-score.off b { font-size: 14px; color: var(--navy); }
.sg-profile-v2 .sp-gate { font-size: 12.5px; color: var(--slate); margin-top: 4px; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; font-weight: 400; }
.sg-profile-v2 .sp-gate .g { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; color: var(--slate); }
.sg-profile-v2 .sp-gate .g.yes { color: var(--verified-text); }
.sg-profile-v2 .sp-list { list-style: none; margin: 0; padding: 0; }
.sg-profile-v2 .sp-list li { list-style: none; }
.sg-profile-v2 .sp-list li::marker { content: none; }
.sg-profile-v2 .sp-row { display: grid; grid-template-columns: 32px minmax(0,1fr) 176px minmax(160px, 240px); gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--mist); }
.sg-profile-v2 .sp-ic { width: 32px; height: 32px; border-radius: 8px; background: var(--mist); color: var(--harbor); display: flex; align-items: center; justify-content: center; }
.sg-profile-v2 .sp-ic .ic { display: block; }
.sg-profile-v2 .sp-name { font-weight: 600; color: var(--navy); font-size: 14.5px; line-height: 20px; }
.sg-profile-v2 .sp-ex { margin: 2px 0 0; color: var(--slate); font-size: 13px; line-height: 19px; }
.sg-profile-v2 .sp-w { display: flex; align-items: center; gap: 8px; }
.sg-profile-v2 .wbar { width: 120px; flex: none; height: 8px; }
.sg-profile-v2 .wbar i { display: block; height: 8px; width: 100%; background: #e3e8e4; border-radius: 99px; position: relative; overflow: hidden; }
.sg-profile-v2 .wbar u { position: absolute; left: 0; top: 0; bottom: 0; background: var(--harbor); border-radius: 99px; text-decoration: none; }
.sg-profile-v2 .wpts { font-size: 12.5px; color: var(--navy); font-weight: 600; width: 44px; text-align: right; flex: none; }
.sg-profile-v2 .st { display: flex; align-items: center; gap: 6px; font-size: 13px; line-height: 18px; min-width: 0; }
.sg-profile-v2 .st b { font-weight: 600; white-space: nowrap; }
.sg-profile-v2 .st .st-t { color: var(--slate); font-weight: 400; }
.sg-profile-v2 .st .ic { display: block; flex: none; }
.sg-profile-v2 .st-yes { color: var(--verified-text); }
.sg-profile-v2 .st-yes .ic { color: var(--verified); }
.sg-profile-v2 .st-part { color: var(--harbor); }
.sg-profile-v2 .st-part b { color: var(--navy); }
.sg-profile-v2 .st-no { color: var(--slate); }
.sg-profile-v2 .st-no b { color: var(--slate); }
.sg-profile-v2 .sp-foot { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding-top: 12px; margin: 0; }
.sg-profile-v2 .sp-legend { display: flex; gap: 14px; font-size: 12px; color: var(--slate); }
.sg-profile-v2 .sp-legend .lg { display: inline-flex; align-items: center; gap: 6px; }
.sg-profile-v2 .sp-legend i { display: inline-block; width: 18px; height: 8px; border-radius: 99px; }
.sg-profile-v2 .sp-legend .lw { background: #e3e8e4; }
.sg-profile-v2 .sp-legend .lf { background: var(--harbor); }
.sg-profile-v2 .sp-link { font-weight: 600; color: var(--harbor); text-decoration: none; font-size: 14px; }
.sg-profile-v2 .tr-card .tr-list { list-style: none; margin: 4px 0 0; padding: 0; }
.sg-profile-v2 .tr-card .tr { padding: 14px 0; border-top: 1px solid var(--mist); }
.sg-profile-v2 .tr-card .tr-list > .tr:first-child { border-top: 0; padding-top: 6px; }
.sg-profile-v2 .tr-card .tr.stk { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; align-items: start; }
.sg-profile-v2 .tr-card .tr.stk .tr-top { display: contents; }
.sg-profile-v2 .tr-card .tr.stk .tr-name { grid-column: 1; grid-row: 1; }
.sg-profile-v2 .tr-card .tr.stk .tr-price { grid-column: 2; grid-row: 1 / span 3; }
.sg-profile-v2 .tr-card .tr.stk .tr-desc,
.sg-profile-v2 .tr-card .tr.stk .tr-chips { grid-column: 1; }
.sg-profile-v2 .tr-card .tr-name { margin: 0; font-family: Inter, system-ui, sans-serif; font-size: 15.5px; line-height: 22px; font-weight: 600; color: var(--navy); min-width: 0; }
.sg-profile-v2 .tr-card .tr-price { white-space: nowrap; font-size: 15.5px; color: var(--navy); text-align: right; }
.sg-profile-v2 .tr-card .tr-price b { font-weight: 700; }
.sg-profile-v2 .tr-card .tr-price.stack { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.2; }
.sg-profile-v2 .tr-card .tr-price.stack span { color: var(--slate); font-size: 12px; font-weight: 400; margin-top: 2px; }
.sg-profile-v2 .tr-card .tr-desc { margin: 4px 0 0; font-size: 13.5px; line-height: 20px; color: var(--slate); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 560px; }
.sg-profile-v2 .tr-card .tr-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.sg-profile-v2 .tr-card .trc { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 999px; background: var(--mist); color: var(--navy); font-size: 12px; font-weight: 600; white-space: nowrap; }
.sg-profile-v2 .tr-card .trc.muted { background: transparent; border: 1px dashed #c9cfcb; color: var(--slate); font-weight: 500; }
.sg-profile-v2 .tr-card .c-note { margin: 0 0 6px; font-size: 13px; line-height: 18px; color: var(--slate); }
.sg-profile-v2 .tr-card .c-grp { font-family: Inter, system-ui, sans-serif; font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--brass-deep); margin: 14px 0 2px; font-weight: 700; }
.sg-profile-v2 .tr-card .c-grp.small { font-size: 11.5px; color: var(--slate); margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--mist); }
.sg-profile-v2 .tr-card .tr-list.compact .tr { padding: 10px 0; }
.sg-profile-v2 .tr-card .tr-list > .tr:last-child { padding-bottom: 0; }
.sg-profile-v2 .tr-card .tr-list.compact .tr-name,
.sg-profile-v2 .tr-card .tr-list.compact .tr-price { font-size: 14.5px; }
.sg-score-how { max-width: 760px; padding: 24px 0 48px; }
.sg-score-how h1 { font-size: 34px; line-height: 40px; margin: 0 0 10px; }
.sg-score-how h2 { font-size: 24px; line-height: 30px; margin: 24px 0 8px; }
@media (max-width: 980px) { .sg-profile-v2 .lay { grid-template-columns: 1fr; } }
@media (max-width: 720px) {
  .sg-profile-v2 .idrow { display: grid; grid-template-columns: 110px minmax(0,1fr); grid-template-rows: 1fr 1fr; gap: 0 14px; align-items: center; }
  .sg-profile-v2 .idtext, .sg-profile-v2 .idright { display: contents; padding: 0; height: auto; }
  .sg-profile-v2 .avatar { grid-row: 1 / 3; }
  .sg-profile-v2 .idrow h1 { grid-column: 2; grid-row: 1; align-self: end; font-size: 23px; line-height: 28px; }
  .sg-profile-v2 .idrow.solo h1 { grid-row: 1 / 3; align-self: center; }
  .sg-profile-v2 .loc { grid-column: 2; grid-row: 2; align-self: start; margin-top: 4px; font-size: 13.5px; line-height: 19px; }
  .sg-profile-v2 .badges { grid-column: 1 / -1; grid-row: 3; margin-top: 12px; justify-content: flex-start; flex-wrap: wrap; }
  .sg-profile-v2 .srows { grid-column: 1 / -1; grid-row: 4; display: grid; grid-template-columns: max-content minmax(0,1fr); gap: 4px 10px; margin-top: 10px; }
  .sg-profile-v2 .tools { grid-column: 1 / -1; grid-row: 5; margin-top: 12px; }
  .sg-profile-v2 .sgrp { display: contents; }
  .sg-profile-v2 .sdiv { display: none; }
  .sg-profile-v2 .gal:not(.one) { grid-template-columns: repeat(5, 72%); grid-auto-flow: column; overflow-x: auto; height: 150px; }
  .sg-profile-v2 .gal.one > div { width: 72%; height: 150px; }
  .sg-profile-v2 .mbar { display: flex; position: sticky; bottom: 0; gap: 6px; background: #fff; border-top: 1px solid var(--mist); padding: 8px 0; }
    .sg-profile-v2 .mbar a { flex: 1 1 0; min-width: 0; min-height: 44px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; text-align: center; padding: 10px 4px; font-size: 13px; line-height: 18px; white-space: nowrap; }
  .sg-profile-v2 .mbar a.profile-contact-jump { display: flex; border: 0; min-height: 44px; background: var(--navy); color: #fff; border-radius: 8px; }
  .sg-profile-v2 .tools .sg-tool,
  .sg-profile-v2 .tools .save-heart,
  .sg-profile-v2 .tools .compare-toggle { min-height: 44px; height: 44px; box-sizing: border-box; }
  .sg-profile-v2 .mbar a.cd-mcall { display: flex; align-items: center; justify-content: center; gap: 6px; border: 0; background: var(--navy); color: #fff; border-radius: 8px; }
  .sg-profile-v2 .mbar a.mb-web { background: var(--navy); border-color: var(--navy); color: #fff; }
  .sg-profile-v2 .mbar a.mb-web:hover { background: var(--navy-hover); border-color: var(--navy-hover); color: #fff; }
  .sg-profile-v2 .mbar a.mb-fb { background: var(--sg-fb-blue); border-color: var(--sg-fb-blue); color: var(--sg-fb-text); }
  .sg-profile-v2 .mbar a.mb-fb:hover { background: var(--sg-fb-blue-hover); border-color: var(--sg-fb-blue-hover); color: var(--sg-fb-text); }
  .sg-profile-v2 .sg-inquiry-row > .sg-flex { grid-column: 1 / -1; grid-row: 2; }
  .sg-profile-v2 { padding-bottom: 72px; }
  .sg-profile-v2 .card,
  .sg-profile-v2 .card > h2 { scroll-margin-bottom: 72px; }
  .sg-profile-v2 .tr-card .tr-desc { -webkit-line-clamp: 3; margin-top: 4px; }
  .sg-profile-v2 .tr-card .tr.stk { display: block; position: relative; }
  .sg-profile-v2 .tr-card .tr.stk .tr-price { position: absolute; top: 14px; right: 0; }
  .sg-profile-v2 .tr-card .tr-list > .tr:first-child.stk .tr-price { top: 6px; }
  .sg-profile-v2 .tr-card .tr.stk .tr-name,
  .sg-profile-v2 .tr-card .tr.stk .tr-desc { display: block; max-width: none; padding-right: 96px; }
  .sg-profile-v2 .sp-head { flex-direction: column; gap: 12px; }
  .sg-profile-v2 .sp-score { align-self: stretch; }
  .sg-profile-v2 .rv-sum { grid-template-columns: 1fr; gap: 12px; }
  .sg-profile-v2 .rv-big { flex-direction: row; align-items: center; gap: 10px; flex-wrap: wrap; }
  .sg-profile-v2 .cbars li { grid-template-columns: 124px minmax(0,1fr) 28px; font-size: 13px; }
  .sg-profile-v2 .rf-row { grid-template-columns: 1fr; }
  .sg-profile-v2 .rv-empty { flex-direction: column; }
  .sg-profile-v2 .sp-row { grid-template-columns: 32px minmax(0,1fr); row-gap: 8px; }
  .sg-profile-v2 .sp-w,
  .sg-profile-v2 .sp-s { grid-column: 2; }
  .sg-profile-v2 .wbar { width: auto; flex: 1 1 auto; }
  .sg-profile-v2 #reviews,
  .sg-profile-v2 #review-form,
  .sg-profile-v2 #sgscore { scroll-margin-bottom: 72px; }
  .sg-profile-v2 #review-form,
  .sg-profile-v2 #sgscore { padding-bottom: 72px; }
}
.sg-profile-v2 .srows.hs-E2 { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px 12px; margin: 0; max-height: 110px; }
.sg-profile-v2 .hs-E2 .sgrp { display: inline-flex; flex: none; align-items: center; gap: 6px; white-space: nowrap; }
.sg-profile-v2 .hs-E2 .slbl { background: none; border: 0; padding: 0; font: 600 13px/18px Inter, system-ui, sans-serif; color: var(--navy); text-decoration: none; cursor: pointer; }
.sg-profile-v2 .hs-E2 .sval { display: inline-flex; align-items: center; gap: 6px; font: 400 13px/18px Inter, system-ui, sans-serif; color: var(--slate); text-decoration: none; }
.sg-profile-v2 .hs-E2 .hs-score { gap: 0; }
.sg-profile-v2 .hs-E2 .hs-num { font: 600 13px/18px Inter, system-ui, sans-serif; color: #1b2421; }
.sg-profile-v2 .hs-E2 .hs-den { font: 500 12px/18px Inter, system-ui, sans-serif; color: #5b6762; }
.sg-profile-v2 .hs-E2 .hs-score.is-empty .hs-num,
.sg-profile-v2 .hs-E2 .hs-score.is-empty .hs-den { color: #5b6762; font-weight: 600; }
.sg-profile-v2 .hs-E2 .hs-score.is-empty .hs-den { font-weight: 500; font-size: 12px; }
.sg-profile-v2 .hs-E2 .hs-meta { color: var(--slate); font: 400 13px/18px Inter, system-ui, sans-serif; }
.sg-profile-v2 .hs-E2 .hs-meta a { color: var(--harbor); text-underline-offset: 2px; }
.sg-profile-v2 .hs-E2 .inf { font-style: normal; font-weight: 400; color: var(--slate); text-decoration: none; }
.sg-profile-v2 .hs-E2 .sdiv { width: 1px; height: 16px; background: var(--mist); flex: none; }
.sg-profile-v2 .hs-E2 a:focus-visible { outline: 2px solid var(--harbor); outline-offset: 2px; }
.sg-profile-v2 .hs-stars { display: inline-flex; gap: 1px; vertical-align: -2px; line-height: 0; }
.sg-profile-v2 .hs-stars .st { position: relative; display: inline-block; flex: none; width: auto; height: auto; line-height: 0; }
.sg-profile-v2 .hs-stars svg { display: block; flex: none; }
.sg-profile-v2 .hs-stars .sf { fill: var(--brass); }
.sg-profile-v2 .hs-stars .se { fill: none; stroke: #7a847f; stroke-width: 1.2; stroke-linejoin: round; }
.sg-profile-v2 .hs-stars .st.half > .sf { position: absolute; left: 0; top: 0; width: 50%; height: 100%; overflow: hidden; }
@media (max-width: 720px) {
  .sg-profile-v2 .srows.hs-E2 { grid-column: 1 / -1; grid-row: 4; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-top: 10px; max-height: 110px; }
  .sg-profile-v2 .hs-E2 .sgrp { display: inline-flex; max-width: 100%; }
  .sg-profile-v2 .hs-E2 .sdiv { display: none; }
}
.sg-profile-v2 .cd-lead { font-size: 14px; line-height: 21px; color: var(--ink); margin: 0 0 4px; }
/* contact-card buttons: one size for Call, Visit website, Book on FishingBooker. Claim This Listing is the License Status button. */
.sg-profile-v2 { --fb-blue: #0071c7; --fb-blue-hover: #005a9f; }
.sg-profile-v2 .cd-call,
.sg-profile-v2 #contact .webl,
.sg-profile-v2 a.cd-claim-btn { display: flex; align-items: center; width: 100%; min-height: 48px; box-sizing: border-box; margin-top: 10px; padding: 0 16px; border: 2px solid transparent; border-radius: 8px; font-size: 15px; line-height: 20px; font-weight: 700; text-decoration: none; }
.sg-profile-v2 .cd-call { justify-content: center; gap: 8px; margin-top: 12px; background: var(--navy); border-color: var(--navy); color: #fff; }
.sg-profile-v2 .cd-call:hover { background: var(--navy-hover); border-color: var(--navy-hover); }
.sg-profile-v2 #contact .webl { justify-content: space-between; }
.sg-profile-v2 #contact .webl.web { background: var(--navy); border-color: var(--navy); color: #fff; }
.sg-profile-v2 #contact .webl.web:hover { background: var(--navy-hover); border-color: var(--navy-hover); }
.sg-profile-v2 #contact .webl.fb { background: var(--sg-fb-blue); border-color: var(--sg-fb-blue); color: var(--sg-fb-text); }
.sg-profile-v2 #contact .webl.fb:hover { background: var(--sg-fb-blue-hover); border-color: var(--sg-fb-blue-hover); color: var(--sg-fb-text); }
.sg-profile-v2 a.cd-claim-btn { justify-content: center; margin-top: 12px; background: var(--brass-light); border-color: var(--brass-light); color: var(--navy); }
.sg-profile-v2 a.cd-claim-btn:hover { background: #d7b888; border-color: #d7b888; }
.sg-profile-v2 .cd-call:focus-visible, .sg-profile-v2 #contact .webl:focus-visible, .sg-profile-v2 a.cd-claim-btn:focus-visible { outline: 3px solid var(--harbor); outline-offset: 2px; }
.sg-profile-v2 .cd-call .cd-ic { flex: none; }
.sg-profile-v2 .cd-mention { display: flex; gap: 9px; align-items: flex-start; background: var(--bone); border-radius: 8px; padding: 10px 12px; margin: 14px 0 0; font-size: 13px; line-height: 19px; color: var(--ink); }
.sg-profile-v2 .cd-mention b { font-weight: 600; }
.sg-profile-v2 .cd-mention .cd-q { flex: none; color: var(--brass-deep); font: 700 18px/18px var(--sg-font-heading); margin-top: 1px; }
.sg-profile-v2 .cd-track { border-top: 1px solid var(--mist); margin-top: 16px; padding-top: 14px; }
.sg-profile-v2 .cd-mark { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; box-sizing: border-box; background: #fff; border: 1px solid #c9d0cc; border-radius: 8px; padding: 0 12px; font: inherit; font-size: 14px; font-weight: 600; color: var(--navy); cursor: pointer; text-align: left; }
.sg-profile-v2 .cd-mark:hover { background: var(--paper); border-color: var(--harbor); }
.sg-profile-v2 .cd-box { flex: none; width: 18px; height: 18px; border: 2px solid var(--harbor); border-radius: 4px; box-sizing: border-box; }
/* Mark as contacted: one fixed-size toggle (label swaps, nothing else renders) */
.sg-profile-v2 .cd-mark { height: 44px; white-space: nowrap; overflow: hidden; }
.sg-profile-v2 .cd-mark .cd-box { display: inline-flex; align-items: center; justify-content: center; color: #fff; }
.sg-profile-v2 .cd-mark .cd-tick { display: none; }
.sg-profile-v2 .cd-mark[aria-pressed="true"] { background: var(--verified-fill); border-color: var(--verified); color: var(--verified-text); }
.sg-profile-v2 .cd-mark[aria-pressed="true"]:hover { background: #d6ecdd; border-color: var(--verified); }
.sg-profile-v2 .cd-mark[aria-pressed="true"] .cd-box { background: var(--verified); border-color: var(--verified); }
.sg-profile-v2 .cd-mark[aria-pressed="true"] .cd-tick { display: block; }
.sg-profile-v2 .cd-help { font-size: 12px; line-height: 18px; color: var(--slate); margin: 6px 0 0; }
.sg-profile-v2 .cd-help a, .sg-profile-v2 .cd-claim a { color: var(--harbor); }
.sg-profile-v2 .cd-done { display: flex; align-items: flex-start; gap: 9px; background: var(--verified-fill); color: var(--verified-text); border-radius: 8px; padding: 10px 12px; font-size: 14px; line-height: 20px; font-weight: 600; }
.sg-profile-v2 .cd-nw { white-space: nowrap; }
.sg-profile-v2 .cd-done .cd-tk { margin-top: 1px; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 4px; background: var(--verified); color: #fff; }
.sg-profile-v2 .cd-done .cd-undo, .sg-profile-v2 .cd-change { background: none; border: 0; padding: 0; font: inherit; font-weight: 600; color: var(--verified-text); text-decoration: underline; cursor: pointer; }
.sg-profile-v2 .cd-next { margin: 12px 0 0; font-size: 13px; line-height: 19px; color: var(--ink); }
.sg-profile-v2 .cd-next b { font-weight: 600; }
.sg-profile-v2 .cd-row { display: flex; gap: 8px; align-items: center; margin-top: 10px; flex-wrap: wrap; }
.sg-profile-v2 .cd-row .btn.o { padding: 9px 14px; font-size: 14px; min-height: 0; }
.sg-profile-v2 .cd-add { position: relative; }
.sg-profile-v2 .cd-trip { margin-left: 8px; font: inherit; }
.sg-profile-v2 .cd-review { background: var(--paper); border: 1px solid var(--mist); border-radius: 8px; padding: 12px 14px; margin-top: 12px; }
.sg-profile-v2 .cd-review h3 { font: 700 17px/23px var(--sg-font-heading); color: var(--navy); margin: 0 0 4px; }
.sg-profile-v2 .cd-review p { font-size: 13px; line-height: 19px; margin: 0 0 10px; color: var(--ink); }
.sg-profile-v2 .cd-review .btn { display: block; text-align: center; padding: 11px 14px; }
.sg-profile-v2 .cd-claim { font-size: 12px; line-height: 18px; color: var(--slate); margin: 14px 0 0; }
.sg-profile-v2 .cd-claim a { font-weight: 600; }
.sg-profile-v2 .cd-empty { font-size: 14px; line-height: 21px; margin: 0; }
.cd-chip { display: inline-flex; margin-top: 6px; background: var(--verified-fill); color: var(--verified-text); border-radius: 999px; padding: 2px 8px; font-size: 12px; font-weight: 600; }
.sg-profile-v2 .avail { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4px; }
.sg-profile-v2 .avail div { text-align: center; font-size: 11px; color: var(--slate); }
.sg-profile-v2 .avail i { display: block; height: 26px; border-radius: 5px; margin-top: 3px; background: #eef1ef; }
.sg-profile-v2 .avail .open i { background: var(--harbor); }
.sg-profile-v2 .avail .limited i { background: #a9c3d3; }
.sg-profile-v2 .avail .booked i { background: var(--brass); }
.sg-profile-v2 .avail .closed i { background: #d9ddd9; }
.sg-profile-v2 table.sea { width: 100%; border-collapse: separate; border-spacing: 2px; font-size: 12px; table-layout: fixed; }
.sg-profile-v2 table.sea th { color: var(--navy); text-align: left; font-weight: 600; }
.sg-profile-v2 table.sea td { height: 18px; border-radius: 3px; background: #eef1ef; }
.sg-profile-v2 table.sea td.on { background: var(--harbor); }
.sg-profile-v2 table.sea td.lo { background: #a9c3d3; }
.sg-profile-v2 table.sea th small { display: block; color: var(--slate); font-weight: 400; }
.sg-profile-v2 dl.pol { display: grid; grid-template-columns: 150px 1fr; gap: 8px 14px; margin: 0; }
.sg-profile-v2 dl.pol dt { font-weight: 600; color: var(--navy); }
.sg-profile-v2 dl.pol dd { margin: 0; }
.sg-profile-v2 .faq details { border-bottom: 1px solid var(--mist); padding: 10px 0; }
.sg-profile-v2 .faq summary { cursor: pointer; font-weight: 600; color: var(--navy); }
.sg-profile-v2 table.trips .trip-note { display: block; margin-top: 4px; color: var(--slate); font-size: 13px; line-height: 18px; }
@media (max-width: 720px) {
  .sg-profile-v2 .avail { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .sg-profile-v2 dl.pol { grid-template-columns: 1fr; }
  .sg-profile-v2 table.trips thead { display: none; }
  .sg-profile-v2 table.trips,
  .sg-profile-v2 table.trips tbody,
  .sg-profile-v2 table.trips tr,
  .sg-profile-v2 table.trips td { display: block; width: auto; }
  .sg-profile-v2 table.trips tr { border-bottom: 1px solid var(--mist); padding: 8px 0; }
  .sg-profile-v2 table.trips td { border: 0; padding: 2px 0; }
  .sg-profile-v2 table.trips .trip-note { display: block; margin-top: 4px; color: var(--slate); font-size: 13px; line-height: 18px; }
.sg-profile-v2 table.trips td[data-l]:before { content: attr(data-l) ": "; color: var(--slate); font-size: 12px; }
  .sg-profile-v2 table.trips td.is-empty { display: none; }
  .sg-profile-v2 #trips { padding-bottom: 72px; scroll-margin-bottom: 72px; }
  .sg-profile-v2 #sgscore .sp-row:last-child,
  .sg-profile-v2 #trips .tr:last-child,
  .sg-profile-v2 #trips tr:last-child { scroll-margin-bottom: 72px; }
}
.guide-card .card-foot > a.btn {
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
  max-width: none;
  min-height: 0;
  height: auto;
  padding: 13px 22px;
  font-size: 14px;
  font-weight: 700;
  line-height: 26px;
  border: 0;
  border-radius: 8px;
  white-space: nowrap;
}

/* Angler Review Score explainer. Hidden unless reviews v2 is on. */
.sg-reviews-explainer .ic {flex:none;display:block}
.sg-reviews-explainer {padding:20px 0 8px}
.sg-reviews-explainer h1 {margin:0 0 10px}
.sg-reviews-explainer h2 {font-size:26px;line-height:32px;margin:40px 0 10px}
.sg-reviews-explainer p {margin:0 0 12px}
.sg-reviews-explainer .lead {font-size:18px;line-height:28px;color:var(--ink)}
.sg-reviews-explainer .vt {display:inline-flex;align-items:center;gap:3px;font-family:Inter,system-ui,sans-serif;font-size:12px;line-height:18px;font-weight:600;color:var(--verified-text);background:var(--verified-fill);border-radius:99px;padding:1px 8px 1px 6px;white-space:nowrap;vertical-align:1px}
.sg-reviews-explainer .vt .ic {color:var(--verified)}
/* steps */
.hw {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sg-reviews-explainer .hw-step {background:#fff;border:1px solid var(--mist);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px;position:relative}
.sg-reviews-explainer .hw-n {position:absolute;top:14px;right:14px;font-size:12px;font-weight:700;color:var(--slate);width:22px;height:22px;border-radius:50%;border:1px solid var(--mist);display:flex;align-items:center;justify-content:center}
.sg-reviews-explainer .hw-ic, .sg-reviews-explainer .ar-ic {width:34px;height:34px;border-radius:9px;background:var(--mist);color:var(--harbor);display:flex;align-items:center;justify-content:center;flex:none}
.sg-reviews-explainer .hw-step b {color:var(--navy);font-size:15px;line-height:22px;margin-top:4px}
.sg-reviews-explainer .hw-step p {margin:0;font-size:14px;line-height:21px;color:var(--slate)}
/* verified box */
.vbox {display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid #cfe5d7;border-left:3px solid var(--verified);border-radius:12px;padding:16px 18px}
.sg-reviews-explainer .vbox-badge {flex:none;padding-top:3px}
.sg-reviews-explainer .vbox-badge .vt {font-size:13px;padding:3px 10px 3px 8px}
.sg-reviews-explainer .vbox p {font-size:15px;line-height:24px}
.sg-reviews-explainer .vbox ul {margin:0 0 10px;padding-left:18px;font-size:15px;line-height:24px}
.sg-reviews-explainer .vbox li {margin:0 0 6px}
.sg-reviews-explainer .muted-s {color:var(--slate);font-size:14px!important;line-height:21px!important;margin:0!important}
/* formula */
.fx {background:#fff;border:1px solid var(--mist);border-radius:12px;padding:6px 16px;margin:0 0 12px}
.sg-reviews-explainer .fx-row {display:flex;align-items:center;gap:12px;padding:10px 0;font-size:15px;line-height:22px}
.sg-reviews-explainer .fx-row+.fx-row {border-top:1px solid var(--mist)}
.sg-reviews-explainer .wchip {display:inline-flex;align-items:center;justify-content:center;min-width:44px;font-size:13px;font-weight:700;color:var(--navy);background:var(--mist);border-radius:99px;padding:2px 9px;font-variant-numeric:tabular-nums}
.sg-reviews-explainer .wchip.v {color:#fff;background:var(--verified)}
.sg-reviews-explainer .wchip.big {min-width:58px;font-size:15px;padding:5px 10px;flex:none}
/* worked numbers */
.ex {background:#fff;border:1px solid var(--mist);border-top:3px solid var(--navy);border-radius:12px;padding:16px 18px;margin:16px 0 4px;box-shadow:0 6px 16px rgba(20,38,61,.05)}
.sg-reviews-explainer .ex-h {display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.sg-reviews-explainer .ex-h b {color:var(--navy);font-size:16px}
.sg-reviews-explainer .ex-h span {font-size:14px;color:var(--slate)}
.sg-reviews-explainer .ex-t {width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.sg-reviews-explainer .ex-t th {font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--slate);font-weight:600;text-align:left;padding:6px 0;border-bottom:1px solid var(--mist)}
.sg-reviews-explainer .ex-t td {padding:9px 0;border-bottom:1px solid var(--mist);vertical-align:middle}
.sg-reviews-explainer .ex-t th:nth-child(3), .sg-reviews-explainer .ex-t th:nth-child(4), .sg-reviews-explainer .ex-w, .sg-reviews-explainer .ex-p {text-align:right!important}
.sg-reviews-explainer .ex-t th:nth-child(3), .sg-reviews-explainer .ex-w {width:84px}
.sg-reviews-explainer .ex-t th:nth-child(4), .sg-reviews-explainer .ex-p {width:64px}
.sg-reviews-explainer .ex-p {font-weight:600;color:var(--navy)}
.sg-reviews-explainer .ex-t th+th, .sg-reviews-explainer .ex-t td+td {padding-left:8px}
.sg-reviews-explainer .ex-st {white-space:nowrap}
.sg-reviews-explainer .ex-st .stars5 {color:var(--brass);font-size:15px;letter-spacing:1px}
.sg-reviews-explainer .ex-r {margin-left:8px;color:var(--slate);font-size:13px}
.sg-reviews-explainer .stars5 .h {opacity:.45}
.sg-reviews-explainer .stars5 .e {color:#d3d6d1}
.sg-reviews-explainer .ov {font-size:12.5px;color:var(--slate)}
.sg-reviews-explainer .ex-t tfoot td {border-bottom:0;padding-top:10px;color:var(--navy);font-weight:600}
.sg-reviews-explainer .ex-eq {display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--paper);border:1px solid var(--mist);border-radius:10px;padding:12px 16px;margin:6px 0 10px}
.sg-reviews-explainer .ex-frac {display:inline-flex;flex-direction:column;align-items:center;font-weight:600;color:var(--navy);font-size:15px;line-height:22px}
.sg-reviews-explainer .ex-frac span+span {border-top:1.5px solid var(--navy);padding-top:2px;margin-top:2px;width:100%;text-align:center}
.sg-reviews-explainer .ex-op {color:var(--slate);font-size:20px}
.sg-reviews-explainer .ex-res {display:inline-flex;align-items:center;gap:10px}
.sg-reviews-explainer .ex-res .stars5 {color:var(--brass);font-size:18px}
.sg-reviews-explainer .pf-num {font-family:var(--sg-font-heading);font-size:40px;line-height:1;color:var(--navy);font-weight:700}
.sg-reviews-explainer .ex-note {font-size:14px!important;line-height:21px;color:var(--slate);margin:0!important}
/* rating areas */
.ars {list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sg-reviews-explainer .ar {display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--mist);border-radius:12px;padding:12px 14px}
.sg-reviews-explainer .ar b {display:block;color:var(--navy);font-size:15px;line-height:22px}
.sg-reviews-explainer .ar p {margin:0!important;font-size:13.5px;line-height:20px;color:var(--slate)}
/* profile figure */
.pf {margin:0;background:var(--mist);border-radius:14px;padding:14px}
.sg-reviews-explainer .pf-card {background:#fff;border:1px solid #dfe4e0;border-radius:12px;padding:18px 20px}
.sg-reviews-explainer .pf-h {display:flex;justify-content:space-between;align-items:center;gap:12px}
.sg-reviews-explainer .pf-h h3 {margin:0;font-size:22px;line-height:28px;display:flex;align-items:center;gap:6px}
.sg-reviews-explainer .pf-i {background:none;border:0;padding:2px;color:var(--harbor);cursor:pointer;display:inline-flex}
.sg-reviews-explainer .btn.sm {padding:8px 14px;font-size:14px;white-space:nowrap;flex:none}
.sg-reviews-explainer .btn.o {background:#fff;color:var(--navy);border:1.5px solid var(--navy)}
.sg-reviews-explainer .pf-pop {position:relative;margin:10px 0 4px;background:var(--paper);border:1px solid var(--mist);border-radius:10px;padding:12px 14px;font-size:13.5px;line-height:20px}
.sg-reviews-explainer .pf-pop:before {content:"";position:absolute;top:-7px;left:176px;width:12px;height:12px;background:var(--paper);border-left:1px solid var(--mist);border-top:1px solid var(--mist);transform:rotate(45deg)}
.sg-reviews-explainer .pf-pop b {color:var(--navy);font-size:14px}
.sg-reviews-explainer .pf-pop p {margin:4px 0 6px!important;font-size:13.5px;line-height:21px}
.sg-reviews-explainer .pf-pop a, .sg-reviews-explainer .sgs a {color:var(--harbor);font-weight:600;text-decoration:none;font-size:14px}
.sg-reviews-explainer .pf-sum {display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:center;padding:14px 0;border-bottom:1px solid var(--mist)}
.sg-reviews-explainer .pf-big {display:flex;flex-direction:column;gap:4px}
.sg-reviews-explainer .pf-big .stars5 {color:var(--brass);font-size:18px}
.sg-reviews-explainer .pf-cnt {font-size:13px;color:var(--slate);line-height:18px}
.sg-reviews-explainer .cbars {list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sg-reviews-explainer .cbars li {display:grid;grid-template-columns:128px minmax(0,1fr) 30px;gap:10px;align-items:center;font-size:13.5px;line-height:18px}
.sg-reviews-explainer .cb-n {color:var(--ink)}
.sg-reviews-explainer .cb-bar {height:8px;border-radius:99px;background:#e3e8e4;overflow:hidden}
.sg-reviews-explainer .cb-bar i {display:block;height:100%;background:var(--harbor);border-radius:99px}
.sg-reviews-explainer .cb-v {font-weight:600;color:var(--navy);text-align:right;font-variant-numeric:tabular-nums}
.sg-reviews-explainer .rcard {padding:14px 0;border-bottom:1px solid var(--mist)}
.sg-reviews-explainer .rv-all {display:inline-block;margin-top:12px;color:var(--harbor);font-weight:600;text-decoration:none;font-size:14px}
.sg-reviews-explainer .rc-top {display:flex;justify-content:space-between;gap:10px;align-items:center}
.sg-reviews-explainer .rc-top .stars5 {color:var(--brass);flex:none}
.sg-reviews-explainer .rc-who {display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.sg-reviews-explainer .rc-name {color:var(--navy)}
.sg-reviews-explainer .rc-meta {font-size:13px;color:var(--slate);margin-top:2px}
.sg-reviews-explainer .rc-body {font-size:14.5px!important;line-height:22px;margin:8px 0!important}
.sg-reviews-explainer .rc-reply {background:var(--paper);border-left:3px solid var(--harbor);border-radius:0 8px 8px 0;padding:8px 12px;font-size:13.5px;line-height:20px}
.sg-reviews-explainer .rc-reply p {margin:2px 0 0!important}
.sg-reviews-explainer .rc-reply b {color:var(--navy)}
/* never counts */
.nc {list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.sg-reviews-explainer .nc li {display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:23px}
.sg-reviews-explainer .nc .ic {color:#9a4b3c;margin-top:5px;background:#f6e7e3;border-radius:50%;padding:3px;width:20px;height:20px;box-sizing:border-box}
/* Salish Guide Score footer */
.sgs {display:flex;gap:14px;align-items:flex-start;margin-top:32px;background:#fff;border:1px solid var(--mist);border-radius:12px;padding:16px 18px}
.sg-reviews-explainer .sgs-ic {width:38px;height:38px;border-radius:10px;background:var(--verified-fill);color:var(--verified);display:flex;align-items:center;justify-content:center;flex:none}
.sg-reviews-explainer .sgs b {color:var(--navy);font-size:15px}
.sg-reviews-explainer .sgs p {margin:4px 0 6px!important;font-size:14.5px;line-height:22px}

@media (max-width:720px){
 .hrw h2{font-size:23px;line-height:29px;margin-top:34px}
.sg-reviews-explainer .lead {font-size:17px;line-height:26px}
.sg-reviews-explainer .hw {grid-template-columns:1fr}
.sg-reviews-explainer .vbox {flex-direction:column;gap:10px;padding:14px}
.sg-reviews-explainer .ars {grid-template-columns:1fr}
.sg-reviews-explainer .ex {padding:14px}
.sg-reviews-explainer .ex-t th:nth-child(3), .sg-reviews-explainer .ex-w {width:64px}
.sg-reviews-explainer .ex-t th:nth-child(4), .sg-reviews-explainer .ex-p {width:56px}
.sg-reviews-explainer .ex-t th {font-size:11px;letter-spacing:.03em}
.sg-reviews-explainer .ex-r {display:none}
.sg-reviews-explainer .ex-st .stars5 {font-size:14px;letter-spacing:0}
.sg-reviews-explainer .ex-t td.ex-who .vt {font-size:11.5px}
.sg-reviews-explainer .ov {font-size:12px;line-height:16px;display:inline-block}
.sg-reviews-explainer .pf {padding:8px}
.sg-reviews-explainer .pf-card {padding:14px}
.sg-reviews-explainer .pf-h h3 {font-size:20px;white-space:nowrap}
.sg-reviews-explainer .pf-h .btn.sm {padding:7px 11px;font-size:13px}
.sg-reviews-explainer .pf-pop:before {left:160px}
.sg-reviews-explainer .pf-sum {grid-template-columns:1fr;gap:12px}
.sg-reviews-explainer .pf-big {flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}
.sg-reviews-explainer .cbars li {grid-template-columns:116px minmax(0,1fr) 28px;font-size:13px}
.sg-reviews-explainer .sgs {padding:14px}
@media (max-width: 720px) {
  .sg-reviews-explainer h2 {font-size:23px;line-height:29px;margin-top:34px}
  .sg-reviews-explainer .lead {font-size:17px;line-height:26px}
  .sg-reviews-explainer .hw {grid-template-columns:1fr}
  .sg-reviews-explainer .vbox {flex-direction:column;gap:10px;padding:14px}
  .sg-reviews-explainer .ars {grid-template-columns:1fr}
  .sg-reviews-explainer .ex {padding:14px}
  .sg-reviews-explainer .ex-t th:nth-child(3), .sg-reviews-explainer .ex-w {width:64px}
  .sg-reviews-explainer .ex-t th:nth-child(4), .sg-reviews-explainer .ex-p {width:56px}
  .sg-reviews-explainer .ex-t th {font-size:11px;letter-spacing:.03em}
  .sg-reviews-explainer .ex-r {display:none}
  .sg-reviews-explainer .ex-st .stars5 {font-size:14px;letter-spacing:0}
  .sg-reviews-explainer .ex-t td.ex-who .vt {font-size:11.5px}
  .sg-reviews-explainer .ov {font-size:12px;line-height:16px;display:inline-block}
  .sg-reviews-explainer .pf {padding:8px}
  .sg-reviews-explainer .pf-card {padding:14px}
  .sg-reviews-explainer .pf-h h3 {font-size:20px;white-space:nowrap}
  .sg-reviews-explainer .pf-h .btn.sm {padding:7px 11px;font-size:13px}
  .sg-reviews-explainer .pf-pop:before {left:160px}
  .sg-reviews-explainer .pf-sum {grid-template-columns:1fr;gap:12px}
  .sg-reviews-explainer .pf-big {flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}
  .sg-reviews-explainer .cbars li {grid-template-columns:116px minmax(0,1fr) 28px;font-size:13px}
  .sg-reviews-explainer .sgs {padding:14px}
}

}

.sg-intro2 { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; align-items: start; max-width: none; margin: 0; padding-top: 16px; }
.sg-intro2 > .sg-intro2-main { min-width: 0; }
.sg-intro2 > .sg-intro2-main > p { margin-top: 0; }
.sg-intro2 > .sg-intro2-main > p:last-child { margin-bottom: 0; }
.sg-d-note.sg-tile { margin: 0; font-size: 15px; line-height: 24px; align-self: start; }
.sg-d-note.sg-tile p { margin: 0; }
.sg-d-note .sg-note-links { margin-top: 8px !important; font-size: 14px; font-weight: 600; }
.sg-d-note .sg-note-links a + a { margin-left: 14px; }
.sg-d-note .sg-note-h { display: flex; align-items: flex-start; gap: 7px; margin: 0 0 6px !important; font-family: var(--sg-font-heading); font-weight: 700; font-size: 16px; line-height: 22px; color: var(--navy); }
.sg-d-note .sg-note-h svg { flex: 0 0 20px; width: 20px; height: 20px; color: var(--brass-deep); }
.sg-editorial.sg-has-rail { max-width: none; padding: 28px 0 48px; }
.sg-art-rail { display: grid; grid-template-columns: minmax(0, 1fr) 320px; grid-template-areas: "head head" "intro note" "rest note"; column-gap: 40px; align-items: start; }
.sg-art-head { grid-area: head; }
.sg-art-head > h2 { margin-bottom: 6px; }
.sg-art-intro { grid-area: intro; min-width: 0; }
.sg-art-intro > p:first-child { margin-top: 10px; }
.sg-art-intro > :last-child { margin-bottom: 0; }
.sg-art-rail > .sg-tile { grid-area: note; margin-top: 10px; }
.sg-art-rest { grid-area: rest; min-width: 0; }
@media (max-width: 980px) {
  .sg-intro2 { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .sg-art-rail { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "intro" "note" "rest"; }
  .sg-art-rail > .sg-tile { margin-top: 16px; }
}

/* ---- proposed v2: contact form cleanup (Cut Plug Charter review, Oct 18) ---- */
/* Scoped to the v2 profile contact card; claim, dashboard and the old profile are untouched. */

.sg-profile-v2 #contact .inquiry-form { margin-top: 12px; }

.sg-profile-v2 #contact .inquiry-form label.field,
.sg-profile-v2 #contact .inquiry-form .sg-inquiry-row > label.field {
  display: flex; flex-direction: column; align-items: stretch; gap: 3px;
  margin: 8px 0 0; font-size: 13px; line-height: 16px; font-weight: 600; color: var(--navy);
}
.sg-profile-v2 #contact .inquiry-form > label.field:first-of-type { margin-top: 0; }
.sg-profile-v2 #contact .inquiry-form input:not([type="checkbox"]):not([type="hidden"]),
.sg-profile-v2 #contact .inquiry-form select,
.sg-profile-v2 #contact .inquiry-form textarea,
.sg-profile-v2 #contact .sg-dates-open {
  font: 400 14px/20px Inter, system-ui, sans-serif; color: var(--ink);
}
.sg-profile-v2 #contact .inquiry-form textarea { height: 96px; min-height: 64px; padding: 8px 10px; resize: vertical; }
.sg-profile-v2 #contact .inquiry-form ::placeholder { color: #6b7671; opacity: 1; }

.sg-profile-v2 #contact .sg-inquiry-row { gap: 0 8px; margin-top: 8px; }
.sg-profile-v2 #contact .inquiry-form .sg-inquiry-row > label.field { margin: 0; }
.sg-profile-v2 #contact .sg-dates-fallback,
.sg-profile-v2 #contact .sg-dates-ui { min-height: 0; }
.sg-profile-v2 #contact .sg-dates-label { margin: 0 0 3px; font-size: 13px; line-height: 16px; }
.sg-profile-v2 #contact .sg-dates-open { padding: 0 10px; }
.sg-profile-v2 #contact .sg-inquiry-row input[name="party_size"] { font-size: 14px; padding: 0 8px; }
.sg-profile-v2 #contact .sg-inquiry-row input[name="party_size"]::placeholder { font-size: 13px; }
.sg-profile-v2 #contact .sg-inquiry-row input[name="party_size"] { -moz-appearance: textfield; appearance: textfield; }
.sg-profile-v2 #contact .sg-inquiry-row input[name="party_size"]::-webkit-inner-spin-button,
.sg-profile-v2 #contact .sg-inquiry-row input[name="party_size"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.sg-profile-v2 #contact .sg-dates-chips:not(:empty) { margin-top: 6px; }

.sg-profile-v2 #contact .inquiry-form input[type="checkbox"] {
  width: 18px; height: 18px; flex: 0 0 18px; margin: 0; accent-color: var(--navy); cursor: pointer;
}
.sg-profile-v2 #contact .sg-flex,
.sg-profile-v2 #contact .sg-optin,
.sg-profile-v2 #contact .sg-ack {
  position: relative; display: grid; grid-template-columns: 18px minmax(0, 1fr); column-gap: 8px; align-items: start;
  min-height: 0; margin: 0; font-size: 13px; line-height: 18px; font-weight: 400; color: var(--ink); white-space: normal;
}
.sg-profile-v2 #contact .sg-inquiry-row > .sg-flex { grid-column: 1 / -1; grid-row: 2; margin-top: 8px; justify-self: stretch; }
.sg-profile-v2 #contact .sg-optins { margin: 10px 0 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 8px; }
.sg-profile-v2 #contact .sg-optin label { font-weight: 400; cursor: pointer; }
.sg-profile-v2 #contact .sg-optin label::after { content: ""; position: absolute; inset: 0; }
.sg-profile-v2 #contact .sg-optin-copy { gap: 1px; }
.sg-profile-v2 #contact .sg-optin-hint { margin: 0; font-size: 12px; line-height: 16px; font-weight: 400; color: var(--slate); }
.sg-profile-v2 #contact .sg-ack { cursor: pointer; }
.sg-profile-v2 #contact .sg-ack-text { padding: 0; }
.sg-profile-v2 #contact .sg-inquiry-share {
  margin: 8px 0 0; padding: 6px 10px; background: var(--paper); border-radius: 6px;
  font-size: 12px; line-height: 16px; color: var(--slate);
}
.sg-profile-v2 #contact .sg-submit-row { margin-top: 8px; }
.sg-profile-v2 #contact .sg-submit-row > .cf-turnstile.is-challenge { margin: 8px 0 0; }
.sg-profile-v2 #contact .inquiry-form .sg-submit-row > .btn {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; margin-top: 10px;
  padding: 0 16px; border-radius: 8px; font-size: 15px; line-height: 20px; font-weight: 700;
}

.sg-profile-v2 #contact .cd-direct { margin-top: 14px; padding-top: 10px; border-top: 1px solid var(--mist); }
.sg-profile-v2 #contact h2 + .cd-direct { margin-top: 4px; padding-top: 0; border-top: 0; }
.sg-profile-v2 #contact .cd-or { margin: 0; font-size: 12px; line-height: 16px; color: var(--slate); }
.sg-profile-v2 #contact .cd-direct > .cd-call,
.sg-profile-v2 #contact .cd-direct > .webl { margin-top: 8px; }

@media (max-width: 720px) {
  .sg-profile-v2 #contact .sg-inquiry-row > .sg-flex { min-height: 44px; align-items: center; margin-top: 0; }
  .sg-profile-v2 #contact .sg-ack { min-height: 44px; }
  .sg-profile-v2 #contact .sg-optin { min-height: 44px; }
  .sg-profile-v2 #contact .sg-dates-open,
  .sg-profile-v2 #contact .sg-inquiry-row input[name="party_size"] { height: 44px; min-height: 44px; }
}

/* ---- proposed v2b: email-guide card gets the no-email card's mention, Mark as contacted and claim line (Oct 18) ---- */
.sg-profile-v2 #contact .cd-after > .cd-mention { margin: 10px 0 0; }
.sg-profile-v2 #contact .cd-after > .cd-track { margin-top: 14px; padding-top: 10px; }
.sg-profile-v2 #contact .cd-after .cd-help { margin: 4px 0 0; }
.sg-profile-v2 #contact .cd-after > .cd-claim { margin: 10px 0 0; }
.sg-profile-v2 #contact h2 + .cd-after > .cd-track:first-child { margin-top: 4px; padding-top: 0; border-top: 0; }

/* v18x sign-in entrances (option B) */
/* Sign In entrances (both options). Desktop: hero text and form line up with the logo edge (98px at 1280). */
.auth.sg-signin { container-type: inline-size; }
@media (min-width: 981px) {
  .auth.sg-signin .side { padding-left: max(var(--content-pad), calc((100cqw - var(--content-max)) / 2 + var(--content-pad))); }
  .auth.sg-signin .formside { padding-right: max(var(--content-pad), calc((100cqw - var(--content-max)) / 2 + var(--content-pad))); }
}
.sg-signin .path h3 { margin: 0 0 4px; }
.sg-signin .path > .muted { margin: 0 0 14px; }
.sg-signin .sg-entrance-or { margin: 18px 0 8px; }
.sg-entrance-claim { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--mist); font-size: 14px; line-height: 20px; color: var(--slate); }
.sg-entrance-claim a { color: var(--harbor); font-weight: 700; white-space: nowrap; }
/* Option B: one form with an Angler | Guide switch (two links, no JS). */
.sg-as { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin: 0 0 16px; background: var(--mist); border-radius: 10px; }
.sg-as-opt { display: flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 8px; font-size: 15px; font-weight: 600; color: var(--slate); text-decoration: none; }
.sg-as-opt:hover { color: var(--navy); }
.sg-as-opt.is-on { background: #fff; color: var(--navy); box-shadow: 0 1px 2px rgba(20, 38, 61, .18); }
.sg-as-opt:focus-visible { outline: 2px solid var(--harbor); outline-offset: 2px; }

/* Claim landing (v190 proposal): the For Guides content on /claim/ and /claim/<slug>/. Short landing hero, logo-edge sections. */
.sg-claim-landing { padding-top: 28px; padding-bottom: 64px; }
.sg-claim-landing h2 { font-size: 28px; line-height: 36px; margin: 0 0 14px; color: var(--navy); }
.sg-claim-landing h3 { color: var(--navy); }
.sg-cl-top { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 48px; align-items: start; }
.sg-cl-start { grid-column: 2; grid-row: 1; margin: 0; padding: 24px; border-top: 4px solid var(--navy); box-shadow: 0 6px 18px rgba(20, 38, 61, .08); }
.sg-cl-gets { grid-column: 1; grid-row: 1; padding-top: 4px; }
.sg-cl-listing { display: flex; flex-direction: column; gap: 2px; background: var(--bone); border-radius: 10px; padding: 12px 14px; margin: 0 0 18px; }
.sg-cl-kicker { font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--brass-deep); }
.sg-cl-listing b { font-family: var(--sg-font-heading); font-size: 20px; line-height: 26px; color: var(--navy); font-weight: 700; }
.sg-cl-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 14px; line-height: 20px; color: var(--slate); }
.sg-cl-lic { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; line-height: 18px; font-weight: 600; }
.sg-cl-lic.is-unver { color: var(--slate); }
.sg-cl-lic.is-ver { color: var(--verified-text); }
.sg-cl-start h2 { font-size: 24px; line-height: 30px; margin: 0 0 2px; }
.sg-cl-lead { margin: 0 0 14px; font-size: 15px; line-height: 22px; color: var(--slate); }
.sg-cl-start .magic-form label.field { font-weight: 600; font-size: 14px; color: var(--navy); }
.sg-cl-start .magic-form input[type="email"] { width: 100%; height: 48px; padding: 0 12px; }
.sg-cl-start .sg-magic-submit { flex-direction: column; align-items: stretch; gap: 8px; margin-top: 12px; }
.sg-cl-start .sg-magic-submit .btn { width: 100%; min-height: 48px; text-align: center; }
.sg-cl-start .sg-magic-hint { max-width: none; text-align: center; }
.sg-cl-alt { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--mist); font-size: 14px; line-height: 20px; color: var(--slate); }
.sg-cl-search { display: flex; gap: 8px; align-items: flex-end; }
.sg-cl-search label.field { flex: 1; min-width: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; font-weight: 600; font-size: 14px; color: var(--navy); }
.sg-cl-search input { width: 100%; height: 48px; padding: 0 12px; margin: 0; }
.sg-cl-search .btn { min-height: 48px; }
.sg-cl-results { list-style: none; margin: 14px 0 0; padding: 0; border-top: 1px solid var(--mist); }
.sg-cl-results li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--mist); }
.sg-cl-rname { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sg-cl-rname b { color: var(--navy); font-size: 16px; line-height: 22px; }
.sg-cl-rname > span:not(.sg-cl-lic) { font-size: 13px; line-height: 18px; color: var(--slate); }
.sg-cl-results .btn { flex: none; min-height: 44px; padding: 0 18px; display: inline-flex; align-items: center; }
.sg-cl-taken { flex: none; font-size: 13px; color: var(--slate); }
.sg-cl-none { margin: 14px 0 0; font-size: 15px; line-height: 22px; }
.sg-cl-gets ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 22px 32px; }
.sg-cl-gets li { border-top: 2px solid var(--brass-light); padding-top: 12px; }
.sg-cl-gets h3, .sg-cl-steps h3 { font-size: 18px; line-height: 24px; margin: 0 0 4px; }
.sg-cl-gets p, .sg-cl-steps p { margin: 0; font-size: 15px; line-height: 24px; }
.sg-cl-sec { margin-top: 44px; padding-top: 36px; border-top: 1px solid var(--mist); }
.sg-cl-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.sg-cl-steps li { background: #fff; border: 1px solid var(--mist); border-radius: 12px; padding: 18px; }
.sg-cl-steps i { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--navy); color: #fff; font-style: normal; font-weight: 700; font-size: 15px; margin-bottom: 10px; }
.sg-cl-steps p { color: var(--slate); }
.sg-cl-need { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 48px; align-items: start; }
.sg-cl-checks { list-style: none; margin: 0; padding: 0; }
.sg-cl-checks li { position: relative; padding-left: 30px; margin: 0 0 12px; font-size: 16px; line-height: 26px; }
.sg-cl-checks li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--verified); font-weight: 700; }
.sg-cl-checks b { color: var(--navy); }
.sg-cl-why { background: var(--bone); border-radius: 12px; padding: 20px 22px; }
.sg-cl-why h3 { font-size: 18px; line-height: 24px; margin: 0 0 6px; }
.sg-cl-why p { margin: 0 0 8px; font-size: 15px; line-height: 24px; }
.sg-cl-why p:last-child { margin-bottom: 0; }
.sg-cl-qa { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
.sg-cl-qa > div { border-top: 1px solid var(--mist); padding: 14px 0 16px; }
.sg-cl-qa dt { font-family: var(--sg-font-heading); font-size: 17px; line-height: 24px; font-weight: 700; color: var(--navy); }
.sg-cl-qa dd { margin: 4px 0 0; font-size: 15px; line-height: 24px; }
.sg-cl-end { margin-top: 36px; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: var(--bone); border-radius: 12px; padding: 20px 24px; }
.sg-cl-end p { margin: 0; font-size: 18px; line-height: 26px; color: var(--navy); }
.sg-cl-end .btn { flex: none; min-height: 48px; display: inline-flex; align-items: center; }
.sg-cl-after { padding-top: 0; }
.sg-cl-after .sg-cl-sec { margin-top: 0; }
@media (max-width: 980px) {
  .sg-claim-landing { padding-top: 20px; padding-bottom: 48px; }
  .sg-cl-top, .sg-cl-need { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .sg-cl-start, .sg-cl-gets { grid-column: 1; grid-row: auto; }
  .sg-cl-steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .sg-claim-landing h2 { font-size: 24px; line-height: 30px; }
  .sg-cl-start { padding: 20px 16px; }
  .sg-cl-gets ul, .sg-cl-steps, .sg-cl-qa { grid-template-columns: minmax(0, 1fr); }
  .sg-cl-gets ul { gap: 16px; }
  .sg-cl-steps { gap: 12px; }
  .sg-cl-steps li { display: grid; grid-template-columns: 32px minmax(0, 1fr); column-gap: 12px; padding: 14px; }
  .sg-cl-steps i { grid-row: span 2; margin: 0; }
  .sg-cl-sec { margin-top: 32px; padding-top: 28px; }
  .sg-cl-end { flex-direction: column; align-items: stretch; text-align: center; }
  .sg-cl-end .btn { justify-content: center; }
  .sg-cl-search { flex-direction: column; align-items: stretch; }
}

#sg-inquiry-email .sg-ie-current,
#sg-inquiry-email .sg-ie-pending { margin: 0 0 10px; }
#sg-inquiry-email .sg-ie-pending { font-weight: 600; color: var(--navy); }
#sg-inquiry-email .field { display: flex; flex-direction: column; gap: 4px; font-weight: 600; }
#sg-inquiry-email input[type="email"] { width: 100%; height: 48px; padding: 0 12px; box-sizing: border-box; }
#sg-inquiry-email input[aria-invalid="true"] { border: 2px solid #9b2c2c; }
#sg-inquiry-email .sg-ie-error { margin: 6px 0 12px; color: #9b2c2c; font-size: 14px; line-height: 20px; }
#sg-inquiry-email .btn { margin-top: 12px; }

/* FishingBooker buttons keep their existing size, padding, and radius. */
a.btn.sg-fb-book,
a.webl.fb,
a.mb-fb,
a.btn[href*="://fishingbooker.com"],
a.btn[href*="://www.fishingbooker.com"],
a.webl[href*="://fishingbooker.com"],
a.webl[href*="://www.fishingbooker.com"] {
  background: var(--sg-fb-blue);
  color: var(--sg-fb-text);
}
a.webl.fb,
a.mb-fb,
a.webl[href*="://fishingbooker.com"],
a.webl[href*="://www.fishingbooker.com"] {
  border-color: var(--sg-fb-blue);
}
a.btn.sg-fb-book:hover,
a.webl.fb:hover,
a.mb-fb:hover,
a.btn[href*="://fishingbooker.com"]:hover,
a.btn[href*="://www.fishingbooker.com"]:hover,
a.webl[href*="://fishingbooker.com"]:hover,
a.webl[href*="://www.fishingbooker.com"]:hover {
  background: var(--sg-fb-blue-hover);
  color: var(--sg-fb-text);
}
a.webl.fb:hover,
a.mb-fb:hover,
a.webl[href*="://fishingbooker.com"]:hover,
a.webl[href*="://www.fishingbooker.com"]:hover {
  border-color: var(--sg-fb-blue-hover);
}
a.btn.sg-fb-book:focus-visible,
a.webl.fb:focus-visible,
a.mb-fb:focus-visible,
a.btn[href*="://fishingbooker.com"]:focus-visible,
a.btn[href*="://www.fishingbooker.com"]:focus-visible,
a.webl[href*="://fishingbooker.com"]:focus-visible,
a.webl[href*="://www.fishingbooker.com"]:focus-visible,
.sg-profile-v2 #contact .webl.fb:focus-visible,
.sg-profile-v2 .mbar a.mb-fb:focus-visible {
  outline: 3px solid var(--navy);
  outline-offset: 2px;
}
/* Apply new business (sg_apply_new_business_enabled). The focus rule above must stay closed or these rules are discarded. */
.sg-apply { /* keep .wrap max-width */ }
.sg-apply .sg-ap-panel {
  margin: 0;
  padding: 24px;
  border-top: 4px solid var(--navy);
  box-shadow: 0 6px 18px rgba(20, 38, 61, .08);
  background: #fff;
  border-radius: 0 0 12px 12px;
}
.sg-apply .sg-ap-panel h2 { font-size: 24px; line-height: 30px; margin: 0 0 4px; }
.sg-apply .sg-ap-lead { margin: 0 0 16px; font-size: 15px; line-height: 22px; color: var(--slate); }
.sg-apply .sg-ap-steps {
  list-style: none; margin: 0 0 20px; padding: 0;
  display: flex; flex-wrap: wrap; gap: 8px 20px;
  font-size: 13px; font-weight: 600; color: var(--slate);
}
.sg-apply .sg-ap-steps li { display: inline-flex; align-items: center; gap: 8px; }
.sg-apply .sg-ap-steps i {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 24px; height: 24px; border-radius: 50%; margin: 0;
  background: var(--mist); color: var(--navy); font-style: normal; font-size: 12px; line-height: 1;
}
.sg-apply .sg-ap-steps .sg-ap-lab { line-height: 18px; }
.sg-apply .sg-ap-steps .is-cur { color: var(--navy); }
.sg-apply .sg-ap-steps .is-cur i { background: var(--navy); color: #fff; }
.sg-apply .sg-ap-steps .is-done { color: var(--verified-text); }
.sg-apply .sg-ap-steps .is-done i { background: var(--verified-fill); color: var(--verified-text); }
.sg-apply .sg-cl-search { margin-bottom: 4px; }
.sg-apply .sg-ap-continue {
  margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--mist);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
}
.sg-apply .sg-ap-continue p { margin: 0; font-size: 14px; line-height: 20px; color: var(--slate); max-width: 52ch; }
.sg-apply .sg-ap-fallback {
  margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--mist);
  font-size: 13px; line-height: 18px; color: var(--slate);
}
.sg-apply .sg-ap-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px;
}
.sg-apply .sg-ap-grid .span2 { grid-column: 1 / -1; }
.sg-apply label.field {
  display: flex; flex-direction: column; gap: 4px;
  font-weight: 600; font-size: 14px; color: var(--navy); margin: 0;
}
.sg-apply label.field input,
.sg-apply label.field textarea,
.sg-apply label.field select {
  width: 100%; font: inherit; font-weight: 400; color: var(--navy);
  border: 1px solid var(--mist); border-radius: 8px; background: #fff;
  padding: 0 12px; min-height: 48px;
}
.sg-apply label.field textarea { min-height: 110px; padding: 12px; resize: vertical; }
.sg-apply label.field input[aria-invalid="true"],
.sg-apply label.field textarea[aria-invalid="true"] {
  border: 2px solid #9b2c2c;
}
.sg-apply .sg-field-error { color: #9b2c2c; font-size: 14px; font-weight: 400; margin: 0; }
.sg-apply .sg-ap-lab { display: inline; font: inherit; font-weight: 600; color: inherit; }
.sg-apply .sg-ap-req { color: var(--brass-deep); font-weight: 600; white-space: nowrap; }
.sg-apply .sg-ap-hint { margin: 0; font-size: 13px; line-height: 18px; font-weight: 400; color: var(--slate); }
.sg-apply .sg-ap-group {
  grid-column: 1 / -1;
  border-top: 1px solid var(--mist);
  padding-top: 16px; margin-top: 4px;
}
.sg-apply .sg-ap-group > legend,
.sg-apply .sg-ap-group > .sg-ap-glabel {
  font-family: var(--sg-font-heading); font-size: 18px; line-height: 24px;
  font-weight: 700; color: var(--navy); margin: 0 0 4px; padding: 0; display: block;
}
.sg-apply .sg-ap-chips {
  list-style: none; margin: 8px 0 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 8px;
}
.sg-apply .sg-ap-chip {
  display: inline-flex; align-items: center; gap: 0;
  min-height: 40px; padding: 0 14px;
  border: 1px solid var(--mist); border-radius: 999px;
  background: var(--paper); color: var(--navy);
  font-size: 13px; font-weight: 600; cursor: pointer; user-select: none;
}
.sg-apply .sg-ap-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sg-apply .sg-ap-chip:has(input:checked),
.sg-apply .sg-ap-chip.is-on {
  background: var(--navy); color: #fff; border-color: var(--navy);
}
.sg-apply .sg-ap-chip:focus-within { outline: 2px solid var(--brass); outline-offset: 2px; }
.sg-apply .sg-ap-checks { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; }
.sg-apply .sg-ap-submit {
  margin-top: 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px;
}
.sg-apply .sg-ap-submit .btn { min-height: 48px; min-width: 180px; }
.sg-apply .sg-ap-submit .sg-ap-note { margin: 0; font-size: 13px; line-height: 18px; color: var(--slate); max-width: 42ch; }
.sg-apply .sg-ap-confirm {
  text-align: left; padding: 28px 24px;
}
.sg-apply .sg-ap-confirm .sg-ap-check {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--verified-fill); color: var(--verified-text);
  font-size: 24px; font-weight: 700; margin-bottom: 12px;
}
.sg-apply .sg-ap-confirm h2 { margin-bottom: 8px; }
.sg-apply .sg-ap-confirm ol {
  margin: 16px 0 0; padding: 0 0 0 20px;
  font-size: 15px; line-height: 24px; color: var(--slate);
}
.sg-apply .sg-ap-confirm ol li { margin: 0 0 8px; }
.sg-apply .sg-ap-confirm .sg-ap-next {
  margin-top: 20px; display: flex; flex-wrap: wrap; gap: 10px;
}
/* Claim hub entry: apply link + small hello fallback */
.sg-cl-alt .sg-ap-hello {
  display: block; margin-top: 6px; font-size: 13px; color: var(--slate);
}
/* Guide no-listing notice add-on */
.notice-bar .sg-ap-notice-link { font-weight: 700; }
/* Admin queue card (mocked outside wp-admin chrome) */
.sg-ap-admin {
  max-width: 960px; margin: 24px auto; padding: 0 20px 40px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.sg-ap-admin h1 { font-size: 23px; font-weight: 400; margin: 0 0 8px; color: #1d2327; }
.sg-ap-admin .sg-tabs { display: flex; gap: 8px; margin: 12px 0 18px; flex-wrap: wrap; }
.sg-ap-admin .sg-tabs a {
  padding: 8px 12px; border-radius: 6px; text-decoration: none;
  background: #fff; border: 1px solid #dcdcde; color: #2271b1; font-size: 13px;
}
.sg-ap-admin .sg-tabs a.on { background: #14263D; color: #fff; border-color: #14263D; }
.sg-ap-admin table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #c3c4c7; }
.sg-ap-admin th, .sg-ap-admin td {
  text-align: left; padding: 12px 14px; border-bottom: 1px solid #dcdcde;
  font-size: 13px; vertical-align: top; color: #1d2327;
}
.sg-ap-admin th { background: #f6f7f7; font-weight: 600; }
.sg-ap-admin .sg-note { color: #5B6762; font-size: 12px; }
.sg-ap-admin .sg-flag {
  display: inline-block; margin: 4px 6px 0 0; padding: 2px 8px; border-radius: 999px;
  background: #f3ebda; border: 1px solid #a8844e; color: #5c3d12; font-size: 11px; font-weight: 600;
}
.sg-ap-admin .sg-flag.warn { background: #fde8e8; border-color: #9b2c2c; color: #7f1d1d; }
.sg-ap-admin .sg-flag.ok { background: var(--verified-fill, #e6f4ea); border-color: #137333; color: #137333; }
.sg-ap-admin .sg-actions { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-top: 8px; }
.sg-ap-admin .sg-actions input[type=text] {
  min-width: 140px; height: 30px; padding: 0 8px; border: 1px solid #8c8f94; border-radius: 4px;
}
.sg-ap-admin .button {
  height: 30px; padding: 0 12px; border-radius: 4px; border: 1px solid #2271b1;
  background: #f6f7f7; color: #2271b1; font-size: 13px; cursor: pointer;
}
.sg-ap-admin .button-primary { background: #2271b1; color: #fff; border-color: #2271b1; }
.sg-ap-admin .sg-ap-fields div { margin: 0 0 4px; }
.sg-ap-admin .sg-ap-fields strong { font-weight: 600; }
@media (max-width: 720px) {
  .sg-apply .sg-ap-panel { padding: 20px 16px; }
  .sg-apply .sg-ap-grid { grid-template-columns: 1fr; }
  .sg-apply .sg-ap-continue { flex-direction: column; align-items: stretch; }
  .sg-apply .sg-ap-continue .btn { text-align: center; justify-content: center; }
  .sg-apply .sg-ap-steps { gap: 10px 0; }
  .sg-apply .sg-ap-steps li { flex: 1 1 100%; }
}

.sg-join-guide-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; flex: none; }
.sg-join-apply { font-size: 14px; font-weight: 600; line-height: 20px; color: var(--navy); text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 720px) {
  .sg-join-guide-actions { align-items: stretch; }
  .sg-join-apply { text-align: center; }
}

/* Fisheries index, By Species. */
.sg-bs { --sg-bs-h0: #eef2f6; --sg-bs-h1: #c3d1df; margin: 28px 0 0; min-width: 0; }
.sg-bs-head { margin: 20px 0 16px; }
.sg-bs-head h2 { margin: 0 0 4px; }
.sg-bs-sub { margin: 0; max-width: 760px; font-size: 14px; line-height: 20px; color: var(--slate); }
.sg-bs-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.sg-bs-col { background: #fff; border: 1px solid #e3d6bb; border-top: 3px solid var(--brass); border-radius: 12px; padding: 6px 18px 16px; min-width: 0; }
.sg-bs-gh { display: flex; align-items: baseline; gap: 10px; margin: 8px 0 2px; font-size: 22px; line-height: 30px; }
.sg-bs-gh span { font: 500 13px/18px Inter, system-ui, sans-serif; color: var(--slate); }
.sg-bs-col ul { margin: 0; padding: 0; list-style: none; }
.sg-bs-row { display: grid; grid-template-columns: minmax(0, 1fr) 168px; grid-template-areas: "n mo" "c c"; gap: 8px 16px; padding: 12px 0; border-top: 1px solid #ece6d8; min-width: 0; }
.sg-bs-row:first-child { border-top: 0; }
.sg-bs-name { grid-area: n; min-width: 0; }
.sg-bs-months { grid-area: mo; align-self: center; min-width: 0; }
.sg-bs-chips { grid-area: c; display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.sg-bs-name h3 { margin: 0; font-size: 18px; line-height: 24px; }
.sg-bs-name h3 a { color: var(--navy); text-decoration: none; }
.sg-bs-name h3 a:hover { text-decoration: underline; }
.sg-bs-name p { margin: 0; font-size: 13px; line-height: 18px; color: var(--slate); }
.sg-bs-chip { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border: 1px solid #c9d6dd; border-radius: 999px; background: #fff; color: var(--navy); font-size: 13px; line-height: 18px; font-weight: 600; text-decoration: none; }
.sg-bs-chip:hover { background: var(--mist); }
.sg-bs-chip::after { content: "›"; margin-left: 6px; color: var(--harbor); }
.sg-bs-bar { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2px; width: 100%; }
.sg-bs-bar i { display: flex; flex-direction: column; align-items: center; gap: 3px; font-style: normal; min-width: 0; }
.sg-bs-bar i::before { content: ""; display: block; width: 100%; height: 8px; border-radius: 2px; background: var(--sg-bs-h0); }
.sg-bs-bar i.typ::before { background: var(--navy); }
.sg-bs-bar i.some::before { background: repeating-linear-gradient(45deg, var(--sg-bs-h1) 0 3px, #e3e9f0 3px 5px); }
.sg-bs-bar b { font-size: 9px; line-height: 11px; font-weight: 600; color: var(--slate); }
.sg-bs-bar i.cur b { color: var(--navy); }
.sg-bs-bar i.cur::before { box-shadow: 0 0 0 2px var(--brass); }
.sg-bs-gaps { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; margin: 12px 0 0; padding: 12px 14px; border: 1px dashed #b9a57f; border-radius: 12px; background: #fff; }
.sg-bs-gl { margin: 0; font-size: 13px; line-height: 18px; color: var(--ink); }
.sg-bs-glinks { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 14px; line-height: 22px; }
.sg-bs-glinks a { color: var(--harbor); font-weight: 600; }
.sg-bs-glinks a span { color: var(--slate); font-weight: 400; margin-left: 5px; }
.sg-bs-key { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin: 10px 0 0; font-size: 13px; line-height: 20px; color: var(--slate); }
.sg-bs-key i { display: inline-block; width: 18px; height: 10px; border-radius: 2px; background: var(--sg-bs-h0); font-style: normal; }
.sg-bs-key i.typ { background: var(--navy); }
.sg-bs-key i.some { background: repeating-linear-gradient(45deg, var(--sg-bs-h1) 0 3px, #e3e9f0 3px 5px); }
.sg-bs-key i.cur { box-shadow: 0 0 0 2px var(--brass); }

/* v233 top nav, option C. Header bar stays 76px. */
.site-header.sgh { position: relative; z-index: 50; }
.site-header.sgh .wrap { flex-wrap: nowrap; gap: 0; min-height: 76px; }
.site-header.sgh .logo { flex: none; margin-right: auto; }
.site-header.sgh .ic { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.site-header.sgh .sgh-saved.has .ic { fill: currentColor; }
.site-header.sgh .chev { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s; }
.site-header.sgh [aria-expanded="true"] .chev { transform: rotate(180deg); }
.site-header.sgh .sgh-main { display: flex; align-items: center; gap: 26px; flex: none; }
.site-header.sgh .sgh-main a { color: var(--bone); margin-left: 0; text-decoration: none; font: 500 15px/20px Inter, system-ui, sans-serif; padding: 12px 0; position: relative; white-space: nowrap; }
.site-header.sgh .sgh-main a:hover,
.site-header.sgh .sgh-main a.is-current { color: var(--brass-light); }
.site-header.sgh .sgh-main a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 4px; height: 2px; background: var(--brass-light); transform: scaleX(0); transition: transform .15s; }
.site-header.sgh .sgh-main a:hover::after,
.site-header.sgh .sgh-main a.is-current::after { transform: scaleX(1); }
.site-header.sgh a:focus-visible, .site-header.sgh button:focus-visible { outline: 2px solid var(--brass-light); outline-offset: 3px; border-radius: 6px; }
.site-header.sgh .sgh-util { display: flex; align-items: center; flex: none; margin-left: 24px; padding-left: 22px; border-left: 1px solid rgba(244, 239, 228, .3); gap: 16px; }
.site-header.sgh .sgh-saved { display: inline-flex; align-items: center; gap: 7px; color: var(--bone); text-decoration: none; font: 500 15px/20px Inter, system-ui, sans-serif; position: relative; min-height: 44px; }
.site-header.sgh .sgh-saved:hover { color: var(--brass-light); }
.site-header.sgh .sgh-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; box-sizing: border-box; border-radius: 999px; background: var(--brass-light); color: var(--navy); font: 700 12px/1 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; }
.site-header.sgh .sgh-badge[hidden], .site-header.sgh [data-sg-count][hidden], .site-header.sgh [data-sg-none][hidden] { display: none; }
.site-header.sgh .sgh-signin, .site-header.sgh .sgh-util .sgh-acct-btn { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 20px; border: 0; border-radius: 8px; background: var(--brass-light); color: var(--navy); text-decoration: none; font: 600 15px/20px Inter, system-ui, sans-serif; cursor: pointer; white-space: nowrap; }
.site-header.sgh .sgh-util .sgh-acct-btn { padding: 0 12px 0 14px; }
.site-header.sgh .sgh-signin:hover, .site-header.sgh .sgh-util .sgh-acct-btn:hover { background: #d8bb87; }
.site-header.sgh .sgh-am { position: relative; }
.site-header.sgh .sgh-dd { position: absolute; right: 0; top: calc(100% + 10px); min-width: 228px; background: #fff; color: var(--ink); border-radius: 10px; box-shadow: 0 12px 32px rgba(20, 38, 61, .28), 0 0 0 1px rgba(20, 38, 61, .08); padding: 6px; z-index: 60; }
.site-header.sgh .sgh-dd[hidden] { display: none; }
.site-header.sgh .sgh-dd-h { margin: 0; padding: 8px 12px 6px; font: 600 12px/16px Inter, system-ui, sans-serif; color: #5b6762; text-transform: uppercase; letter-spacing: .06em; }
.site-header.sgh .sgh-dd a { display: flex; align-items: center; gap: 10px; min-height: 44px; margin: 0; padding: 0 12px; border-radius: 6px; color: var(--navy); text-decoration: none; font: 500 15px/20px Inter, system-ui, sans-serif; }
.site-header.sgh .sgh-dd a span { flex: 1; }
.site-header.sgh .sgh-dd a b { min-width: 22px; height: 22px; border-radius: 999px; background: #f3ebda; color: #7a5e32; font: 700 12px/22px Inter, system-ui, sans-serif; text-align: center; font-variant-numeric: tabular-nums; }
.site-header.sgh .sgh-dd a .ic { width: 18px; height: 18px; color: #7a5e32; }
.site-header.sgh .sgh-dd a:hover { background: #f4efe4; color: var(--navy); }
.site-header.sgh .sgh-dd a:focus-visible { outline: 2px solid var(--navy); outline-offset: -2px; }
.site-header.sgh .sgh-dd a.out { border-top: 1px solid #e8ece8; border-radius: 0 0 6px 6px; margin-top: 4px; color: #5b6762; }
.site-header.sgh .sgh-mob, .site-header.sgh .sgh-panel { display: none; }
.site-header.sgh .menu-toggle .x { display: none; }
@media (max-width: 1100px) {
  .site-header.sgh .sgh-main, .site-header.sgh .sgh-util { display: none; }
  .site-header.sgh .wrap { min-height: 76px; }
  .site-header.sgh .sgh-mob { display: flex; align-items: center; gap: 2px; margin-right: -10px; }
  .site-header.sgh .sgh-mcap > a, .site-header.sgh .sgh-mcap > .sgh-am > button, .site-header.sgh .menu-toggle { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; position: relative; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--bone); cursor: pointer; }
  .site-header.sgh .sgh-mob .ic { width: 24px; height: 24px; }
  .site-header.sgh .sgh-mob .sgh-badge { position: absolute; top: 3px; right: -2px; min-width: 18px; height: 18px; font-size: 11px; box-shadow: 0 0 0 2px var(--navy); }
  .site-header.sgh .menu-toggle[aria-expanded="true"] .x { display: block; }
  .site-header.sgh .menu-toggle[aria-expanded="true"] .ic:not(.x) { display: none; }
  .site-header.sgh .menu-toggle[aria-expanded="true"] { background: rgba(244, 239, 228, .12); }
  .site-header.sgh .sgh-mob .sgh-dd { right: -44px; top: calc(100% + 10px); width: min(300px, calc(100vw - 40px)); }
  .site-header.sgh .sgh-panel:not([hidden]) { display: block; border-top: 1px solid rgba(244, 239, 228, .16); padding: 6px var(--content-pad) 20px; }
  .site-header.sgh .pa-main { display: flex; flex-direction: column; }
  .site-header.sgh .pa-main a { display: flex; align-items: center; min-height: 48px; margin: 0; color: var(--bone); text-decoration: none; font: 600 17px/22px Inter, system-ui, sans-serif; border-bottom: 1px solid rgba(244, 239, 228, .1); }
  .site-header.sgh .pa-main a:hover,
  .site-header.sgh .pa-main a.is-current { color: var(--brass-light); border-bottom-color: var(--brass-light); }
  .site-header.sgh .pa-acct { margin-top: 14px; }
  .site-header.sgh .pa-h { margin: 0 0 4px; font: 600 12px/16px Inter, system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #c9a66b; }
  .site-header.sgh .pa-row { display: flex; align-items: center; gap: 10px; min-height: 48px; margin: 0; color: var(--bone); text-decoration: none; font: 500 16px/22px Inter, system-ui, sans-serif; }
  .site-header.sgh .pa-row span { flex: 1; }
  .site-header.sgh .pa-row i { font-style: normal; font-size: 14px; color: #c3cad3; }
  .site-header.sgh .pa-row .ic { width: 20px; height: 20px; color: var(--brass-light); }
  .site-header.sgh .pa-row b { min-width: 22px; height: 22px; padding: 0 6px; box-sizing: border-box; border-radius: 999px; background: var(--brass-light); color: var(--navy); font: 700 12px/22px Inter, system-ui, sans-serif; text-align: center; }
  .site-header.sgh .pa-row.out { color: #c3cad3; }
  .site-header.sgh .pa-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 8px; }
  .site-header.sgh .pa-cta a { display: flex; align-items: center; justify-content: center; min-height: 48px; margin: 0; border-radius: 8px; text-decoration: none; font: 600 16px/20px Inter, system-ui, sans-serif; }
  .site-header.sgh .pa-signin { background: var(--brass-light); color: var(--navy); }
  .site-header.sgh .pa-join { border: 1.5px solid var(--brass-light); color: var(--bone); }
  .site-header.sgh .pa-note { margin: 12px 0 0; font: 400 14px/20px Inter, system-ui, sans-serif; color: #c3cad3; }
  .site-header.sgh .sgh-panel a:focus-visible { outline: 2px solid var(--brass-light); outline-offset: 2px; border-radius: 6px; }
  .site-header.sgh .sgh-mcap { display: inline-flex; align-items: center; gap: 2px; }
  .site-header.sgh .sgh-mob .sgh-acct-btn .ic { width: 36px; height: 36px; padding: 7px; box-sizing: border-box; border-radius: 999px; background: var(--brass-light); color: var(--navy); }
}
@media (max-width: 980px) {
  .site-header.sgh .wrap { flex-wrap: nowrap; }
  .site-header.sgh .sgh-main { display: none; }
  .site-header.sgh nav.sgh-main.open { display: none; }
  .site-header.sgh .sgh-panel:not([hidden]) nav.pa-main { display: flex; width: auto; flex-direction: column; padding: 0; }
  .site-header.sgh .sgh-panel nav a { margin: 0; }
}
.sg-bs-key span { display: inline-flex; align-items: center; gap: 6px; margin-right: 10px; }
.sg-bs-key p { margin: 0; flex: 1 1 400px; }
@media (max-width: 980px) {
  .sg-bs-cols { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .sg-bs-col { padding: 4px 14px 14px; }
  .sg-bs-row { grid-template-columns: minmax(0, 1fr); grid-template-areas: "n" "mo" "c"; }
  .sg-bs-chip { min-height: 40px; }
  .sg-bs-glinks a { display: inline-flex; align-items: center; min-height: 32px; }
}

/* Method feature spots. These rules apply only while body.sg-mf-on is present. */
body.sg-mf-on .sg-mf-band { background: var(--bone); border-top: 1px solid var(--brass); padding: 40px 0 44px; }
body.sg-mf-on .sg-mf-band.is-organic { background: var(--paper); border-top: 1px solid var(--mist); }
body.sg-mf-on .sg-mf-head h2,
body.sg-mf-on .sg-mf-band.is-organic > .wrap > h2 { margin: 0 0 4px; }
body.sg-mf-on .sg-mf-sub { margin: 0 0 18px; font-size: 14px; line-height: 21px; color: var(--slate); }
body.sg-mf-on .sg-mf-grid,
body.sg-mf-on .sg-mf-band .guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
body.sg-mf-on .sg-mf-foot { display: flex; justify-content: space-between; align-items: baseline; gap: 8px 20px; flex-wrap: wrap; margin: 18px 0 0; font-size: 14px; line-height: 21px; }
body.sg-mf-on .sg-mf-all { color: var(--harbor); font-weight: 600; }
body.sg-mf-on .sg-mf-get { color: var(--slate); font-size: 13px; line-height: 18px; text-decoration: underline; text-underline-offset: 2px; }
body.sg-mf-on .sg-mf-prime { margin: 14px 0 0; }
body.sg-mf-on .sg-mf-prime > h3 { font-size: 19px; line-height: 24px; margin: 0 0 10px; }
body.sg-mf-on .sg-mf-prime .sg-mf-get { display: block; margin: 8px 0 0; }
body.sg-mf-on .sg-mf-mark.card { border: 3px double var(--brass); }
body.sg-mf-on .sg-mf-strip { background: var(--brass-deep); color: var(--bone); font-size: 13px; font-weight: 600; line-height: 18px; padding: 5px 12px; letter-spacing: .02em; }
body.sg-mf-on .sg-mf-column.card .img { height: auto; aspect-ratio: 12 / 5; }
body.sg-mf-on .sg-mf-column .b { gap: 4px; padding: 12px 14px; }
body.sg-mf-on .sg-mf-column .z-species,
body.sg-mf-on .sg-mf-column .z-rate { display: none; }
body.sg-mf-on .sg-mf-column .card-foot { padding-top: 8px; }
body.sg-mf-on .sg-mf-narrow { display: none; }
@media (min-width: 981px) {
  body.sg-mf-on .sg-method-page .side { position: static; align-self: stretch; }
  body.sg-mf-on .sg-method-page .side .sg-dd-toc { position: sticky; top: 16px; }
}
@media (max-width: 980px) {
  body.sg-mf-on .sg-mf-prime { display: none; }
  body.sg-mf-on .sg-mf-narrow { display: block; }
  body.sg-mf-on .sg-mf-grid,
  body.sg-mf-on .sg-mf-grid.is-four,
  body.sg-mf-on .sg-mf-band .guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.sg-mf-on .sg-mf-band { padding: 28px 0 32px; }
  body.sg-mf-on .sg-mf-grid,
  body.sg-mf-on .sg-mf-grid.is-four,
  body.sg-mf-on .sg-mf-band .guide-grid { grid-template-columns: minmax(0, 1fr); }
  body.sg-mf-on .sg-mf-foot { flex-direction: column; }
}

.sg-profile-v2 #related .sm-list { list-style: none; margin: 0; padding: 0; }
.sg-profile-v2 #related .sm-list li + li { border-top: 1px solid var(--mist); }
.sg-profile-v2 #related a.sm-c { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 84px; padding: 10px 4px; text-decoration: none; color: var(--ink); }
.sg-profile-v2 #related a.sm-c:hover { box-shadow: 0 4px 14px rgba(20, 38, 61, .12); }
.sg-profile-v2 #related a.sm-c:focus-visible { outline: 3px solid var(--harbor); outline-offset: 2px; }
.sg-profile-v2 #related a.sm-c b { font: 700 16px/22px var(--sg-font-heading); color: var(--navy); }
.sg-profile-v2 #related .gi { flex: none; color: var(--brass); }
.sg-profile-v2 #related .bd { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sg-profile-v2 #related .ln { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: 13px; line-height: 19px; color: var(--slate); }
.sg-profile-v2 #related .ln > span { min-width: 0; color: var(--ink); }
.sg-profile-v2 #related .sh em { font-style: normal; font-weight: 600; color: var(--navy); }
.sg-profile-v2 #related .rt { display: flex; align-items: center; gap: 12px; }
.sg-profile-v2 #related .rt i { font-style: normal; color: var(--harbor); font-size: 22px; line-height: 1; }
.sg-profile-v2 #related .sm-score { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; line-height: 18px; color: var(--navy); font-weight: 600; white-space: nowrap; }
.sg-profile-v2 #related .sm-score.is-none { color: var(--slate); font-weight: 500; }
.sg-profile-v2 #related .lg { width: 64px; height: 64px; box-sizing: border-box; padding: 4px; border-radius: 10px; background: #fff; border: 1px solid #D9DED9; display: grid; place-items: center; overflow: hidden; }
.sg-profile-v2 #related .lg img { width: 100%; height: 100%; max-width: none; object-fit: contain; border-radius: 0; background: none; display: block; }
.sg-profile-v2 #related .lg.mono { background: var(--bone); border-color: #E2D8C3; color: var(--navy); font: 700 20px/1 var(--sg-font-heading); letter-spacing: .02em; }
.sg-profile-v2 #related .lg.mono.wm { padding: 0; display: block; font: inherit; letter-spacing: 0; }
.sg-profile-v2 #related .lg.navy { background: var(--navy); border-color: var(--navy); }
.sg-profile-v2 #related .lg.navy img { background: transparent; }
@media (max-width: 980px) {
  .sg-profile-v2 #related a.sm-c { grid-template-columns: 56px minmax(0, 1fr) 16px; align-items: start; }
  .sg-profile-v2 #related a.sm-c .rt { display: contents; }
  .sg-profile-v2 #related a.sm-c .sm-score { grid-column: 2; grid-row: 2; margin-top: -2px; white-space: normal; }
  .sg-profile-v2 #related a.sm-c .rt i { grid-column: 3; grid-row: 1 / span 2; align-self: center; }
  .sg-profile-v2 #related a.sm-c .lg { width: 56px; height: 56px; padding: 4px; grid-row: 1 / span 2; align-self: start; }
  .sg-profile-v2 #related a.sm-c .lg.mono { font-size: 18px; }
  .sg-profile-v2 #related a.sm-c .ln { align-items: flex-start; }
  .sg-profile-v2 #related a.sm-c .ln svg { margin-top: 2px; }
}

/* Phone tap targets. The control graphic stays; the hit area grows to 44px. */
@media (max-width: 980px) {
  .guide-card .compare-toggle { min-height: 44px; align-items: center; }
  .guide-card .compare-check { width: 16px; height: 16px; flex: 0 0 16px; }
  .save-heart { width: 44px; height: 44px; flex-basis: 44px; }
  .sg-chips a,
  .sg-mrow a,
  .chip,
  .sg-bs-chip,
  .sg-method-page .pn a { min-height: 44px; }
  .sg-method-page .pn a { display: inline-flex; align-items: center; }
  .nav-links .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    box-sizing: border-box;
  }
  .site-footer a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 12px 4px;
    box-sizing: border-box;
  }
}

/* W1 Plate. The shared no-logo mark. Brass is the fish and the frame only. */
.wm { box-sizing: border-box; display: flex; width: 100%; height: 100%; background: #F4EFE4; color: #14263D; container-type: inline-size; position: relative; overflow: hidden; }
.wm .wm-g { color: #A8844E; flex: none; }
.wm .wm-n { font-family: var(--sg-font-heading), Georgia, serif; font-weight: 700; color: #14263D; text-wrap: balance; overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.wm .wm-d { font: 600 11px/1.3 Inter, system-ui, sans-serif; font-variant: small-caps; text-transform: lowercase; letter-spacing: .08em; color: #5B6762; font-size: clamp(11px, 4.2cqi, 14px); }
.wm.is-xl .wm-n { font-size: clamp(18px, 10cqi, 34px); line-height: 1.15; }
.wm.is-l .wm-n { font-size: clamp(16px, 7.6cqi, 28px); line-height: 1.2; }
.wm.is-m .wm-n { font-size: clamp(15px, 6.2cqi, 23px); line-height: 1.22; }
.wm.is-s .wm-n { font-size: clamp(14px, 5.2cqi, 19px); line-height: 1.25; }
.wm1 { flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; padding: 8% 12%; }
.wm1::before { content: ""; position: absolute; inset: 8px; border: 1px solid #A8844E; border-radius: 4px; pointer-events: none; }
.wm1 .wm-g { width: clamp(20px, 9cqi, 30px); height: auto; }
.wm1 .wm-r { width: 28px; height: 1px; background: #A8844E; margin-top: 2px; }
.wm1.is-tile { align-items: center; justify-content: center; padding: 0; border-radius: 10px; border: 1px solid #E2D8C3; }
.wm1.is-tile::before { inset: 4px; border-radius: 6px; }
.wm1.is-tile .wm-g, .wm1.is-avatar .wm-g { width: 46%; height: auto; }
.sg-profile-v2 .avatar .wm.is-tile { width: 100%; height: 100%; border-radius: 12px; }
.sg-profile-v2 #related .lg.mono.wm { display: flex; padding: 0; border: 1px solid #E2D8C3; background: #F4EFE4; }
.sg-profile-v2 .gal > div.is-plate { background: #F4EFE4; }
.sg-profile-v2 .gal > div.is-plate .wm { width: 100%; height: 100%; }
/* Batch-1 focal point. The box size is the landing-hero rule below. */
.sg-hero-b1 { box-sizing: border-box; }
.sg-hero-b1 img.bg { object-position: var(--fp, 50% 50%); }
@media (max-width: 600px) {
  .sg-hero-b1 img.bg { object-position: var(--fp-m, var(--fp, 50% 50%)); }
}
.hero .overlay::after { content: ""; position: absolute; inset: 0; background: var(--ov-x, none); }
@media (max-width: 600px) {
  .hero .overlay::after { background: var(--ov-x-m, var(--ov-x, none)); }
}
/* Landing heroes are 200px at 1280 when the title is one or two lines.
   min-height holds that size. A three-line title is left at 40px/46px and the
   box grows with it, so the title is not clipped. Under 981px, including 390,
   the floor is the existing 280px report-hero height and the box can grow the
   same way. Home, sign-in, and Join do not use this class. */
@media (min-width: 981px) {
  .hero.sg-landing-hero {
    box-sizing: border-box;
    height: auto;
    min-height: 200px;
    max-height: none;
  }
}
@media (max-width: 980px) {
  .hero.sg-landing-hero {
    box-sizing: border-box;
    height: auto;
    min-height: 280px;
    max-height: none;
  }
}
.sg-fishery-tags-wrap { padding-top: 18px; }
/* Licensed heroes. The title scrim is full width and feathers to the right. Text shadow is not counted for contrast. */
.hero.sg-hero-b1 .overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(20,38,61,.86) 0%, rgba(20,38,61,.84) 62%, rgba(20,38,61,.36) 84%, rgba(20,38,61,0) 100%);
  -webkit-mask-image: linear-gradient(to top, #000 78%, transparent 100%);
  mask-image: linear-gradient(to top, #000 78%, transparent 100%);
  pointer-events: none;
}
@media (max-width: 980px) {
  .hero.sg-hero-b1 .overlay::before {
    inset: auto;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 62%;
    background: linear-gradient(180deg, rgba(20,38,61,0) 0%, rgba(20,38,61,.80) 16%, rgba(20,38,61,.86) 100%);
    -webkit-mask-image: none;
    mask-image: none;
  }
}
.hero.sg-hero-b1 .eyebrow,
.hero.sg-hero-b1 h1 {
  text-shadow: 0 1px 2px rgba(20, 38, 61, .45);
}
/* Brown trout at 981px and up uses the uploaded 1600×250 file at native pixels, aligned to the bottom right. Narrower desktop widths keep that anchor with cover. Phone keeps its crop. */
@media (min-width: 981px) {
  .hero.sg-hero-b1.is-brown-trout-gallatin img.bg {
    object-fit: none;
    object-position: 100% 100%;
    transform: none;
  }
}
@media (min-width: 601px) and (max-width: 980px) {
  .hero.sg-hero-b1.is-brown-trout-gallatin img.bg {
    object-fit: cover;
    object-position: 100% 100%;
    transform: none;
  }
}
@media (max-width: 600px) {
  .hero.sg-hero-b1.is-brown-trout-gallatin img.bg {
    object-fit: cover;
    object-position: var(--fp-m, var(--fp, 50% 50%));
    transform: none;
  }
}

/* v277: article authors (template-parts/author.php, core Domain/Authors.php) */
.sg-byline {
  margin: 0 0 .75rem;
  font-size: .95rem;
  line-height: 1.5;
  color: #4a5a6a;
  overflow-wrap: anywhere;
}
.sg-byline a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.sg-byline-by { font-weight: 600; }
.sg-landing-hero .sg-byline-hero,
.hero .sg-byline-hero {
  margin: .6rem 0 0;
  color: rgba(255, 255, 255, .92);
  text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}
.hero .sg-byline-hero a { color: #fff; }
.sg-author-wrap { margin-top: 2.5rem; margin-bottom: 2.5rem; }
.sg-author-bio {
  box-sizing: border-box;
  max-width: 100%;
  padding: 1.25rem 1.4rem;
  border: 1px solid rgba(20, 38, 61, .14);
  border-left: 4px solid #14263d;
  border-radius: 8px;
  background: #f6f8fa;
  overflow-wrap: anywhere;
}
.sg-author-card { display: flex; gap: 1rem; align-items: flex-start; }
.sg-author-card + .sg-author-card { margin-top: 1rem; }
.sg-author-card-body { min-width: 0; }
.sg-author-photo { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.sg-author-bio p, .sg-author-card p { margin: 0; }
.sg-author-bio .sg-author-bio-name { margin: 0 0 .4rem; font-weight: 700; font-size: 1.02rem; color: #14263d; }
.sg-author-bio-name a { color: inherit; }
.sg-author-bio-role { font-size: .9rem; color: #4a5a6a; margin: 0 0 .4rem; }
.sg-author-bio .sg-author-bio-text { font-size: 1rem; line-height: 1.6; color: #33414f; }
.sg-author-head { padding: 2.5rem 0 1.5rem; background: #f6f8fa; border-bottom: 1px solid rgba(20, 38, 61, .1); }
.sg-author-head h1 { margin: .25rem 0 .5rem; }
.sg-author-head-row { display: flex; gap: 1rem; align-items: center; }
.sg-author-head .sg-author-photo { width: 120px; height: 120px; }
.sg-author-page-bio { font-size: 1.08rem; line-height: 1.65; margin: .5rem 0 0; overflow-wrap: anywhere; }
.sg-author-articles, .sg-how-we-write { padding: 1.5rem 0 3rem; }
.sg-author-list { list-style: none; padding: 0; margin: 0 0 1.5rem; }
.sg-author-list li { padding: .55rem 0; border-bottom: 1px solid rgba(20, 38, 61, .1); overflow-wrap: anywhere; }
.sg-author-list-type { display: inline-block; margin-left: .4rem; font-size: .8rem; color: #4a5a6a; text-transform: uppercase; letter-spacing: .04em; }
@media (max-width: 600px) {
  .sg-author-bio { padding: 1rem 1.05rem; }
  .sg-author-wrap { margin-top: 2rem; margin-bottom: 2rem; }
  .sg-byline { font-size: .9rem; }
  .sg-author-head { padding: 1.75rem 0 1.25rem; }
  .sg-author-card .sg-author-photo { width: 64px; height: 64px; }
}

/* v278: author card in right column; byline line under breadcrumb on no-column pages */
.sg-byline-line-wrap .sg-byline-line { margin: 10px 0 0; font-size: 14px; line-height: 20px; color: var(--slate); }
.sg-method-page .sg-author-side { margin: 0 0 16px; }
.sg-method-page .sg-author-side h3 { margin: 0 0 6px; }
.sg-method-page .sg-author-side h3 a { color: var(--navy); text-decoration: none; }
.sg-method-page .sg-author-side h3 a:hover { text-decoration: underline; }
.sg-method-page .sg-author-side-updated { font-size: 12px; line-height: 18px; margin: 0 0 8px; color: var(--slate); }
.sg-method-page .sg-author-side-bio { font-size: 14px; line-height: 21px; margin: 0; color: var(--ink); }
.sg-method-page .sg-author-side-m { display: none; }
@media (max-width: 980px) {
  .sg-method-page .sg-author-side-d { display: none; }
  .sg-method-page .sg-author-side-m { display: block; padding: 14px; margin: 4px 0 18px; }
}

/* v279: Fishing Methods hub, fish grid as the only picker */
.sg-methods-e .fishpanel { display: block; }
.sg-methods-e .grn { margin: 28px 0 8px; }
.sg-methods-e .grn .gh span a { font-weight: 600; }
.sg-methods-e .grn-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.sg-methods-e .gc { display: flex; gap: 10px; align-items: center; background: #fff; border: 1px solid var(--mist); border-left: 4px solid var(--brass); border-radius: 10px; padding: 8px; text-decoration: none; color: var(--ink); min-width: 0; }
.sg-methods-e .gc:hover { box-shadow: 0 4px 14px rgba(20, 38, 61, .12); }
.sg-methods-e .gc img { width: 72px; height: 56px; object-fit: cover; border-radius: 6px; flex: none; background: #eef2f4; }
.sg-methods-e .gc b { display: block; color: var(--navy); font-size: 15px; line-height: 20px; }
.sg-methods-e .gc small { display: block; font-size: 12.5px; line-height: 17px; color: var(--slate); }
.sg-methods-e .mc .th { display: block; margin: -12px -14px 10px; height: 120px; overflow: hidden; border-radius: 7px 7px 0 0; background: #eef2f4; }
.sg-methods-e .mc .th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sg-methods-e .mc .tg { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-wrap: wrap; gap: 5px; }
.sg-methods-e .mc .tg li { font-size: 11.5px; line-height: 16px; font-weight: 600; padding: 2px 8px; border-radius: 999px; background: #e8f0f3; color: var(--navy); }
.sg-methods-e .mc .n.own { font-weight: 600; color: var(--slate); }
@media (min-width: 901px) { .sg-methods-e .grn-row.grn-n1 { grid-template-columns: minmax(0, 1fr); max-width: 25%; } .sg-methods-e .grn-row.grn-n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 50%; } .sg-methods-e .grn-row.grn-n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 75%; } }
@media (max-width: 900px) { .sg-methods-e .grn-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .sg-methods-e .grn-row { grid-template-columns: minmax(0, 1fr); } }
/* mockup grn-box: Good Right Now in a contained warm-sand panel (palette: --bone, --brass family) */
.sg-methods-e .grn.grn-box { margin: 28px 0 12px; padding: 20px 22px 22px; background: var(--bone); border: 1px solid rgba(168, 132, 78, .28); border-radius: 14px; }
.sg-methods-e .grn-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; row-gap: 4px; align-items: center; margin: 0 0 14px; }
.sg-methods-e .grn-title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-width: 0; }
.sg-methods-e .grn-title h2 { font-size: 26px; line-height: 32px; margin: 0; }
.sg-methods-e .grn-pill { display: inline-flex; align-items: center; padding: 3px 12px; border-radius: 999px; background: #fff; border: 1px solid var(--brass-light); color: var(--brass-deep); font-size: 12px; line-height: 18px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.sg-methods-e .grn-more { grid-column: 2; grid-row: 1; font-size: 14px; font-weight: 600; white-space: nowrap; }
.sg-methods-e .grn-sub { grid-column: 1 / -1; margin: 0; color: var(--slate); font-size: 14px; line-height: 20px; }
.sg-methods-e .grn-box .gc { border-color: rgba(168, 132, 78, .22); border-left-color: var(--brass); }
@media (max-width: 560px) {
  .sg-methods-e .grn.grn-box { margin: 22px 0 10px; padding: 16px 14px 14px; border-radius: 12px; }
  .sg-methods-e .grn-head { grid-template-columns: minmax(0, 1fr); margin-bottom: 12px; }
  .sg-methods-e .grn-title h2 { font-size: 22px; line-height: 28px; }
  .sg-methods-e .grn-more { grid-column: 1; grid-row: auto; order: 3; }
  .sg-methods-e .grn-sub { order: 2; }
}
