/* One visual language for the public site and the Insider workspace.
   Keep this layer after main.css so older page templates share the reference desk treatment. */
:root {
  --desk-ink: #1a3022;
  --desk-pine: #14291d;
  --desk-pine-soft: #35533d;
  --desk-gold: #d9b574;
  --desk-paper: #fffdf8;
  --desk-ground: #f4f1e9;
  --desk-line: #dcd7cb;
  --desk-radius: 15px;
  --desk-shadow: 0 8px 26px rgba(24, 42, 30, .07);
}

html { scroll-behavior: smooth; }
body { background: var(--desk-ground); color: var(--desk-ink); }
:is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #bb8b45; outline-offset: 3px; }

/* Public page openings retain their photographs while matching the calm, framed desk. */
:is(.hunts-page, .species-page, .regions-page, .fishing-page, .about-premium, .faq-page, .contact-page) > .shared-home-hero,
.home-page > .home-visual-hero {
  box-sizing: border-box;
  width: min(1320px, calc(100% - 48px));
  min-height: 430px;
  height: auto;
  margin: 24px auto 0;
  border-radius: 16px;
  overflow: hidden;
  background: var(--desk-pine);
  box-shadow: 0 14px 34px rgba(18, 38, 26, .12);
}
:is(.hunts-page, .species-page, .regions-page, .fishing-page, .about-premium, .faq-page, .contact-page) > .shared-home-hero .fishing-hero__overlay,
.home-page > .home-visual-hero .home-visual-hero__shade {
  background: linear-gradient(90deg, rgba(16, 35, 23, .08) 0%, rgba(17, 39, 26, .32) 35%, rgba(18, 39, 27, .96) 79%),
    linear-gradient(180deg, rgba(8, 22, 14, .05), rgba(8, 22, 14, .38));
}
.shared-home-hero .fishing-hero__content,
.shared-home-hero .home-hero__content,
.home-page .home-visual-hero__content {
  box-sizing: border-box;
  width: min(1200px, calc(100% - 64px));
  padding: 48px 0;
}
.shared-home-hero .fishing-hero__content > div,
.shared-home-hero .home-hero__content > div,
.home-page .home-visual-hero__copy { max-width: min(650px, 100%); }
.shared-home-hero h1,
.home-page .home-visual-hero h1 {
  max-width: 17ch;
  margin: 9px 0 15px;
  color: #fffaf0;
  font-size: clamp(2.55rem, 4.25vw, 4.25rem);
  line-height: 1.02;
  letter-spacing: -.04em;
  text-shadow: none;
}
.shared-home-hero .eyebrow,
.home-page .home-visual-hero__lead { color: var(--desk-gold) !important; font-size: .78rem !important; letter-spacing: .13em; text-transform: uppercase; }
.shared-home-hero p,
.home-page .home-visual-hero__copy > p:not(.home-visual-hero__lead) { color: #e1e9df; line-height: 1.55; }
.shared-home-hero .page-hero__trust-grid p { border-radius: 8px; background: rgba(255, 253, 248, .08); }

/* Reference facts and section cards use the same paper surface as regulations. */
:is(.species-page, .regions-page, .fishing-page, .hunts-page, .home-page, .about-premium, .faq-page, .contact-page) :is(.section, .home-categories, .home-guide-section) > .container { max-width: 1220px; }
:is(.species-page, .regions-page, .fishing-page, .hunts-page, .home-page, .about-premium, .faq-page, .contact-page) :is(.section, .home-categories) h2 { letter-spacing: -.025em; line-height: 1.12; }
:is(.species-page, .regions-page, .fishing-page, .hunts-page, .home-page, .about-premium, .faq-page, .contact-page) :is(.section-intro, .home-section-head > p) { max-width: 72ch; line-height: 1.6; }
:is(.card, .form-wrap, .match-panel, .contact-card, .contact-method-card, .species-info-card, .species-detail-card, .species-region-card, .comparison-card, .faq-item, .trip-logistics-card, .trip-smart-box, .trip-callout, .region-why__callout, .region-feature__body, .about-info-card, .about-region-card, .about-difference-card, .about-cta-panel, .home-guide-card) {
  border: 1px solid var(--desk-line);
  border-radius: var(--desk-radius);
  background: var(--desk-paper);
  box-shadow: var(--desk-shadow);
}
:is(.hunt-category-card__link, .home-hunt-card, .region-card, .fishing-card) { border-radius: var(--desk-radius); overflow: hidden; }
:is(.review-strip-wrap, .review-ticker-wrap) { width: min(1280px, calc(100% - 48px)); margin-inline: auto; border-radius: 0 0 12px 12px; overflow: hidden; }
:is(.mini-hero, .mini-hero--hunts) { width: min(1320px, calc(100% - 48px)); margin: 24px auto 0; border-radius: var(--desk-radius); background: radial-gradient(circle at 100% 0, var(--desk-pine-soft), var(--desk-pine) 60%); }
:is(.mini-hero, .mini-hero--hunts) h1 { max-width: 18ch; font-size: clamp(2.45rem, 4.1vw, 4rem); line-height: 1.04; text-shadow: none; }
:is(.cta-band, .section--final-cta .cta-band, .fishing-final-cta, .how-final-cta, .about-cta-panel, .member-advisory-cta) { border-radius: var(--desk-radius); }

/* Long guide and sales pages get the same visual hierarchy without changing copy. */
.intelligence-sales-page > .intelligence-hero,
.guide-page > .guide-cover { box-sizing: border-box; width: min(1320px, calc(100% - 48px)); margin: 24px auto 0; border-radius: var(--desk-radius); overflow: hidden; }
.guide-page .guide-2026-hero h1 { max-width: 15ch; font-family: var(--font-body); font-size: clamp(2.55rem, 4.25vw, 4.25rem); font-weight: 900; line-height: 1.02; letter-spacing: -.04em; }
.guide-page .guide-2026-hero .guide-cover__support { color: #e1e9df; font-family: var(--font-body); font-weight: 500; line-height: 1.5; }
:is(.intelligence-sales-page, .guide-page) :is(.intelligence-comparison > article, .intelligence-example__grid > article, .intelligence-preview-grid > article, .intelligence-guide-grid > article, .intelligence-toolkit-grid > article, .faq-item, .guide-card) { border-radius: var(--desk-radius); box-shadow: var(--desk-shadow); }
:is(.account-page, .checkout-setup) { width: min(900px, calc(100% - 32px)); margin: clamp(28px, 5vw, 72px) auto; padding: clamp(24px, 4vw, 44px); border: 1px solid var(--desk-line); border-radius: var(--desk-radius); background: var(--desk-paper); box-shadow: var(--desk-shadow); }
:is(.account-page, .checkout-setup) > .eyebrow { color: #8b622b; }
:is(.account-page, .checkout-setup) h1 { max-width: 18ch; margin-top: 6px; color: var(--desk-ink); line-height: 1.03; letter-spacing: -.035em; }
:is(.account-page, .checkout-setup) :is(input, select) { border-radius: 7px; }
.checkout-setup.checkout-purchase { box-sizing: border-box; width: min(980px, calc(100% - 32px)); max-width: none; padding: 0 0 38px; border: 0; background: transparent; box-shadow: none; }
.checkout-purchase .checkout-purchase__intro { box-sizing: border-box; max-width: none; margin: 0; padding: clamp(28px, 4vw, 45px); border-radius: 16px; background: radial-gradient(circle at 100% 0, var(--desk-pine-soft), var(--desk-pine) 60%); color: #fffaf0; text-align: left; }
.checkout-purchase .checkout-purchase__intro h1 { max-width: 18ch; margin: 0 0 12px; color: #fffaf0; font-size: clamp(2.35rem, 4vw, 4rem); line-height: 1.03; letter-spacing: -.04em; text-transform: none !important; }
.checkout-purchase .checkout-purchase__intro p { max-width: 60ch; color: #dbe5d9; line-height: 1.55; }
.checkout-purchase .checkout-purchase__card { position: relative; max-width: none; margin: -18px 22px 0; padding: clamp(24px, 4vw, 38px); background: var(--desk-paper); box-shadow: 0 10px 30px rgba(24, 42, 30, .11); }
.checkout-purchase .checkout-purchase__price { font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.1; letter-spacing: -.035em; overflow-wrap: anywhere; }
.checkout-purchase :is(.checkout-purchase__account, .checkout-purchase__contact) { max-width: 800px; }

/* Insider sections share the regulations hero, floating controls, and compact cards. */
.insider-app .insider-main { width: min(1220px, calc(100% - 48px)); }
.insider-app .insider-main > :is(.dashboard-intro, .explore-hero, .outfitter-directory-intro, .insider-hero, .plan-head) {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: 245px;
  margin: 28px 0 0;
  padding: clamp(27px, 4vw, 48px);
  border: 0;
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, var(--desk-pine-soft), var(--desk-pine) 58%);
  color: #fffaf0;
}
.insider-app .insider-main > :is(.dashboard-intro, .explore-hero, .outfitter-directory-intro, .insider-hero, .plan-head) h1 {
  max-width: 19ch;
  margin: 7px 0 14px;
  color: #fffaf0;
  font-size: clamp(2.5rem, 4.4vw, 4.35rem);
  font-weight: 900;
  line-height: 1.03;
  letter-spacing: -.04em;
  text-transform: none;
}
.insider-app .insider-main > :is(.dashboard-intro, .explore-hero, .outfitter-directory-intro, .insider-hero, .plan-head) .eyebrow { color: var(--desk-gold); font-size: .76rem; letter-spacing: .13em; }
.insider-app .insider-main > :is(.dashboard-intro, .explore-hero, .outfitter-directory-intro, .insider-hero, .plan-head) :is(p, .dashboard-intro__support, .explore-hero__breadth) { max-width: 72ch; color: #dbe5d9 !important; font-size: 1rem; line-height: 1.55; }
.insider-app .dashboard-intro__actions .btn--ghost,
.insider-app .plan-head .btn--ghost { color: #fffaf0; border-color: #9eb4a0; background: transparent; }
.insider-app .dashboard-intro__actions .btn--ghost:hover,
.insider-app .plan-head .btn--ghost:hover { background: #31503a; }
.insider-app .plan-head .plan-actions summary { color: #f0cd8e; }
.insider-app .plan-head .insider-message { color: #f0cd8e !important; }
.insider-app .outfitter-directory-intro a { color: #f3d195; }
.insider-app .outfitter-directory-intro a:hover { color: #fffaf0; }

.insider-app .explore-hero { min-height: 245px; padding-bottom: 48px; background-image: radial-gradient(circle at 100% 0, var(--desk-pine-soft), var(--desk-pine) 58%); }
.insider-app .explore-hero__copy { max-width: 780px; }
.insider-app .explore-panel,
.insider-app .outfitter-controls {
  position: relative;
  z-index: 1;
  margin: -18px 22px 0;
  padding: 19px 22px;
  border: 1px solid var(--desk-line);
  border-radius: 12px;
  background: var(--desk-paper);
  box-shadow: 0 10px 30px rgba(24, 42, 30, .11);
}
.insider-app .explore-primary :is(input, select),
.insider-app .outfitter-controls :is(input, select) { border-radius: 7px; }
.insider-app .outfitter-results-bar { margin-top: 28px; }
.insider-app :is(.dashboard-plan, .dashboard-species a, .dashboard-tools article, .outfitter-directory-card, .hunt-grid .hunt-card, .price-comparison article, .plan-package, .plan-overview, .plan-budget-summary, .plan-section, .insider-card, .tool-panel) { border-radius: 12px; }
.insider-app :is(.dashboard-plan, .dashboard-species a, .outfitter-directory-card, .hunt-grid .hunt-card, .price-comparison article, .plan-package, .insider-card, .tool-panel) { border: 1px solid var(--desk-line); background: var(--desk-paper); box-shadow: 0 4px 16px rgba(25, 40, 29, .04); }
.insider-app .dashboard-plan { border-left: 4px solid #c39752; }
.insider-app .dashboard-species { gap: 12px; border: 0; }
.insider-app .dashboard-species a { border: 1px solid var(--desk-line); }
.insider-app .dashboard-tools > div:last-child { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; border: 0; }
.insider-app .dashboard-tools article { display: flex; flex-direction: column; align-items: flex-start; padding: 22px; }
.insider-app .dashboard-tools article a { margin-top: auto; }
.insider-app .plan-section { padding: 24px; border: 1px solid var(--desk-line); background: var(--desk-paper); }
.insider-app .plan-packages { display: grid; gap: 12px; border: 0; }
.insider-app .plan-package { padding: 20px; }
.insider-app .plan-overview, .insider-app .plan-budget-summary { padding: 16px; background: #f7f4ed; }
.insider-app .price-snapshot { margin-top: 24px; padding: 30px; border: 1px solid var(--desk-line); border-radius: 12px; background: var(--desk-paper); }
.insider-app .price-intel-species { margin-top: 22px; padding-top: 0; }
.insider-app .price-comparison { gap: 12px; border: 0; }
.insider-app .price-comparison article { border: 1px solid var(--desk-line); }
.insider-app .hunt-grid .hunt-card__image { border-radius: 8px; }
.insider-app :is(.hunt-detail .detail-header, .outfitter-detail__hero) { margin-top: 4px; padding: clamp(26px, 4vw, 42px); border: 0; border-radius: 16px; background: radial-gradient(circle at 100% 0, var(--desk-pine-soft), var(--desk-pine) 58%); color: #fffaf0; }
.insider-app :is(.hunt-detail .detail-header, .outfitter-detail__hero) h1 { color: #fffaf0; font-size: clamp(2.35rem, 4.4vw, 4.25rem); line-height: 1.03; letter-spacing: -.04em; }
.insider-app :is(.hunt-detail .detail-header, .outfitter-detail__hero) .eyebrow,
.insider-app :is(.hunt-detail .detail-header, .outfitter-detail__hero) .hunt-card__species { color: var(--desk-gold); }
.insider-app :is(.hunt-detail .detail-header, .outfitter-detail__hero) :is(p, small, .detail-location, .detail-outfitter) { color: #dbe5d9; }
.insider-app .hunt-detail .detail-price { border-left-color: var(--desk-gold); }
.insider-app .hunt-detail .detail-price :is(strong, span) { color: #fffaf0; }
.insider-app .outfitter-detail__hero .text-link { color: #f2cd88; }
.insider-app .outfitter-detail__hero .text-link:hover { color: #fffaf0; }
.insider-app .hark-about > p:not(.hark-caution) { max-width: 76ch; margin: 0 0 1rem; line-height: 1.7; }
.insider-app .hark-about > p:last-child { margin-bottom: 0; }
.insider-app .hark-about__lead { color: #263a2d; font-weight: 600; }

/* Detail pages get a short route through their existing research sections. */
.page-section-nav { width: min(1220px, calc(100% - 48px)); margin: 24px auto 8px; padding: 18px 22px; border: 1px solid var(--desk-line); border-radius: 12px; background: var(--desk-paper); box-shadow: var(--desk-shadow); }
.page-section-nav > strong { display: block; margin-bottom: 11px; color: #8b622b; font-size: .74rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.page-section-nav > div { display: flex; flex-wrap: wrap; gap: 8px; }
.page-section-nav a { display: inline-flex; align-items: center; min-height: 38px; padding: 7px 12px; border: 1px solid #d4d3c8; border-radius: 7px; background: #f7f5ef; color: #2f4d37; font-size: .84rem; font-weight: 800; line-height: 1.25; text-decoration: none; }
.page-section-nav a:hover { border-color: #8eac91; background: #e9efe7; }
.page-section-nav + section { scroll-margin-top: 80px; }
.page-section-nav ~ section[id] { scroll-margin-top: 80px; }

/* Authentication uses the same dark intro and paper form as the research pages. */
.insider-app .insider-auth { box-sizing: border-box; width: min(1220px, calc(100% - 48px)); min-height: 0; margin: 28px auto 64px; padding: clamp(28px, 4vw, 48px); border-radius: 16px; background: radial-gradient(circle at 100% 0, var(--desk-pine-soft), var(--desk-pine) 58%); }
.insider-app .insider-auth .eyebrow { color: var(--desk-gold); }
.insider-app .insider-auth h1 { color: #fffaf0; font-size: clamp(2.5rem, 4.4vw, 4.35rem); line-height: 1.03; letter-spacing: -.04em; }
.insider-app .insider-auth > div > p:last-child { color: #dbe5d9; }
.insider-app .insider-auth form { border-radius: 12px; box-shadow: 0 12px 32px rgba(11, 26, 16, .16); }
.insider-app .insider-auth input { border-radius: 7px; }

@media (max-width: 900px) {
  .insider-app .dashboard-tools > div:last-child { grid-template-columns: 1fr; }
  .insider-app .insider-main:has(> .explore-hero) { width: min(100% - 32px, 760px); }
}
@media (max-width: 620px) {
  :is(.hunts-page, .species-page, .regions-page, .fishing-page, .about-premium, .faq-page, .contact-page) > .shared-home-hero,
  .home-page > .home-visual-hero,
  :is(.mini-hero, .mini-hero--hunts) { width: calc(100% - 28px); min-height: 0; margin-top: 14px; border-radius: 12px; }
  .shared-home-hero .fishing-hero__content,
  .shared-home-hero .home-hero__content,
  .home-page .home-visual-hero__content { width: calc(100% - 40px); padding: 38px 0; }
  .shared-home-hero .fishing-hero__content > div,
  .shared-home-hero .home-hero__content > div { max-width: 100%; margin: 0; }
  .shared-home-hero .fishing-hero__overlay,
  .home-page .home-visual-hero__shade { background: linear-gradient(90deg, rgba(15, 33, 22, .78), rgba(15, 33, 22, .68)), linear-gradient(180deg, transparent, rgba(10, 25, 16, .45)); }
  .shared-home-hero h1, .home-page .home-visual-hero h1 { font-size: clamp(2.2rem, 9vw, 3.3rem); }
  .intelligence-sales-page > .intelligence-hero,
  .guide-page > .guide-cover { width: calc(100% - 28px); margin-top: 14px; border-radius: 12px; }
  .guide-page .guide-2026-hero h1 { font-size: clamp(2.25rem, 9vw, 3rem); }
  .shared-home-hero .page-hero__trust-grid { grid-template-columns: 1fr; }
  :is(.review-strip-wrap, .review-ticker-wrap) { width: calc(100% - 28px); }
  .insider-app .insider-main, .insider-app .insider-main:has(> .explore-hero) { width: calc(100% - 28px); }
  .insider-app .insider-main > :is(.dashboard-intro, .explore-hero, .outfitter-directory-intro, .insider-hero, .plan-head) { min-height: 0; margin-top: 14px; padding: 28px 22px 40px; border-radius: 12px; }
  .insider-app .insider-main > :is(.dashboard-intro, .explore-hero, .outfitter-directory-intro, .insider-hero, .plan-head) h1 { font-size: clamp(2.25rem, 9vw, 3rem); }
  .insider-app .explore-panel, .insider-app .outfitter-controls { margin: -14px 10px 0; padding: 15px; }
  .insider-app .plan-section { padding: 20px 16px; }
  .insider-app .plan-overview, .insider-app .plan-budget-summary { padding: 14px; }
  .insider-app .price-snapshot { padding: 22px 18px; }
  .insider-app :is(.hunt-detail .detail-header, .outfitter-detail__hero) { padding: 27px 21px; border-radius: 12px; }
  .insider-app :is(.hunt-detail .detail-header, .outfitter-detail__hero) h1 { font-size: clamp(2.2rem, 8.5vw, 3rem); }
  .page-section-nav { width: calc(100% - 28px); margin-top: 14px; padding: 15px; }
  .page-section-nav > div { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; }
  .page-section-nav a { flex: none; max-width: 80vw; }
  .insider-app .insider-auth { width: calc(100% - 28px); margin: 14px auto 45px; padding: 28px 22px; border-radius: 12px; }
  .insider-app .insider-auth h1 { font-size: clamp(2.25rem, 9vw, 3rem); }
  .checkout-purchase .checkout-purchase__intro { padding: 28px 22px 42px; border-radius: 12px; }
  .checkout-purchase .checkout-purchase__card { margin: -14px 10px 0; padding: 22px 18px; }
}
