/* ============================================================
   Deviled Egg Co. – Franchise Page Styles
   File: style-new-franchise.css
   Loaded only on page-new-franchise.php template.
   ============================================================ */

/* ---- Brand tokens ---- */
:root {
  --deg-gold: #F7BA17;
  --deg-gold-on-dark: #FFD426;
  --deg-ink-deep: #130D00;
  --deg-ink-body: #140F0A;
  --deg-ink-on-gold: #261A00;
  --deg-ink-heading: #402D00;
  --deg-ink-muted: #6B6155;
  --deg-link: #8B5E00;
  --deg-cream: #FFF7EA;
  --deg-white: #FFFFFF;
  --deg-cream-alt: #FFF7E2;
  --deg-cream-cool: #F5F0E8;
  --deg-cream-deep: #FFEFD5;
  --deg-dark: #1A1510;
  --deg-border: #DDDDDD;
  --deg-border-input: #D9D1BF;
  --deg-border-chip: #E9E1D8;
  --deg-radius-pill: 999px;
  --deg-radius-card: 16px;
  --deg-radius-compact: 14px;
  --deg-radius-panel: 24px;
  --deg-shadow-card: 0 8px 24px rgba(0,0,0,.25);
  --deg-shadow-brand: 0 10px 24px rgba(247,186,23,.25);
  --deg-shadow-ambient: 0 12px 32px rgba(0,0,0,.08);
  --deg-shadow-modal: 0 24px 64px rgba(19,13,0,.32);
  --deg-font-display: 'Nunito', sans-serif;
  --deg-font-body: 'Plus Jakarta Sans', sans-serif;
}

/* ---- Reset ---- */
*, *::before, *::after { box-sizing: border-box; }

#fnc-main {
  color: var(--deg-ink-body);
  font: 16px/1.65 var(--deg-font-body);
  -webkit-font-smoothing: antialiased;
  background: var(--deg-cream);
}

#fnc-main button,
#fnc-main input,
#fnc-main select,
#fnc-main textarea { font-family: inherit; }

#fnc-main button,
#fnc-main a { -webkit-tap-highlight-color: transparent; }

#fnc-main button { cursor: pointer; color: inherit; font-family: var(--deg-font-body); }
#fnc-main a:not(.fnc-btn):not(.fnc-tab) { color: var(--deg-link) !important; }
#fnc-main img { display: block; max-width: 100%; }
#fnc-main p { margin: 0 0 18px !important; font-size: 16px !important; color: var(--deg-ink-body) !important; }

#fnc-main h1,
#fnc-main h2,
#fnc-main h3 {
  font-family: var(--deg-font-display) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
  margin: 0 0 22px !important;
  color: var(--deg-ink-body) !important;
}

#fnc-main h1 { font-size: clamp(40px, 5.6vw, 59.6px) !important; line-height: 1.06 !important; }
#fnc-main h2 { font-size: clamp(30px, 3.6vw, 40px) !important; }
#fnc-main h3 { font-size: 20px !important; letter-spacing: -.02em !important; line-height: 1.21 !important; }

#fnc-main ul > li { display: block; }
#fnc-main .fnc-supportrow ul > li { display: list-item; }

#fnc-main button:focus-visible,
#fnc-main a:focus-visible,
#fnc-main input:focus-visible,
#fnc-main select:focus-visible,
#fnc-main textarea:focus-visible,
#fnc-main summary:focus-visible {
  outline: 3px solid var(--deg-ink-heading);
  outline-offset: 3px;
}

/* ---- Layout wrapper ---- */
.fnc-wrap { max-width: 1220px; padding: 0 38px; margin: auto; }

/* ---- Brand header ---- */
.fnc-brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  padding: 25px 0;
}

.fnc-logo { width: 230px; }

.fnc-mainnav {
  display: flex;
  align-items: center;
  gap: 30px;
  font-size: 14px;
  font-weight: 700;
}

.fnc-mainnav a {
  text-decoration: none;
  color: var(--deg-ink-body);
}

.fnc-mainnav .fnc-nav-current {
  color: var(--deg-ink-heading);
  position: relative;
  padding-bottom: 4px;
}

.fnc-mainnav .fnc-nav-current::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: var(--deg-gold);
  border-radius: 2px;
}

.fnc-mainnav .fnc-nav-back { color: var(--deg-link); }

/* ---- Tab nav ---- */
.fnc-navshell {
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--deg-cream);
  border-top: 1px solid var(--deg-border-chip);
  border-bottom: 1px solid var(--deg-border-chip);
}

.fnc-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 10px 0;
  scrollbar-width: none;
}

.fnc-tabs::-webkit-scrollbar { display: none; }

.fnc-tab {
  background: var(--deg-white);
  border: 1px solid var(--deg-border-chip);
  border-radius: var(--deg-radius-pill);
  padding: 10px 18px;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 700;
  color: var(--deg-ink-muted) !important;
  cursor: pointer;
  text-decoration: none !important;
  display: inline-block;
}

.fnc-tab[aria-current="page"],
.fnc-tab[aria-selected="true"] {
  background: var(--deg-gold);
  border-color: var(--deg-gold);
  color: var(--deg-ink-on-gold) !important;
}

/* ---- Panels ---- */
.fnc-panel { padding-top: 40px; }
.fnc-panel[hidden] { display: none; }

.fnc-crumb {
  font-size: 13px;
  color: var(--deg-ink-muted);
  margin-bottom: 30px;
}

/* ---- Common text elements ---- */
#fnc-main .fnc-eyebrow {
  font-family: var(--deg-font-body) !important;
  display: inline-block !important;
  font-size: 14px !important;
  letter-spacing: .08em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: var(--deg-link) !important;
  margin-bottom: 9px !important;
}

#fnc-main .fnc-lead {
  font-size: 19px !important;
  color: var(--deg-ink-heading) !important;
  max-width: 700px;
  font-weight: 500 !important;
}

/* ---- Buttons ---- */
.fnc-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 25px 0; }

.fnc-btn,
#fnc-main .fnc-faq-answer .btn {
  font-family: var(--deg-font-body) !important;
  font-weight: 700 !important;
  border: 1.5px solid var(--deg-ink-deep) !important;
  background: transparent !important;
  color: var(--deg-ink-deep) !important;
  border-radius: var(--deg-radius-pill) !important;
  padding: 13px 26px !important;
  font-size: 15px !important;
  display: inline-flex !important;
  gap: 12px !important;
  justify-content: center !important;
  align-items: center !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.fnc-btn.primary {
  background: var(--deg-gold) !important;
  border-color: var(--deg-gold) !important;
  color: var(--deg-ink-on-gold) !important;
  box-shadow: var(--deg-shadow-brand);
}

/* ---- Hero ---- */
.fnc-hero {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 48px;
  align-items: center;
  padding-bottom: 48px;
}

#fnc-main .fnc-hero em { font-style: normal; }
#fnc-main .fnc-hero .fnc-lead { font-size: 18px !important; }

.fnc-visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 490px;
}

.fnc-visual::before {
  content: "";
  position: absolute;
  background: var(--deg-cream-deep);
  width: 370px;
  height: 420px;
  border-radius: 50%;
  transform: rotate(17deg);
}

.fnc-visual img {
  height: 470px;
  width: auto;
  max-width: none;
  position: relative;
  object-fit: contain;
  filter: drop-shadow(0 16px 28px rgba(19,13,0,.18));
}

.fnc-tag {
  position: absolute;
  right: -5px;
  bottom: 40px;
  background: var(--deg-ink-deep);
  color: var(--deg-gold);
  font-size: 11px;
  letter-spacing: .1em;
  padding: 16px 22px;
  border-radius: var(--deg-radius-compact);
  transform: rotate(-4deg);
  box-shadow: var(--deg-shadow-card);
}

.fnc-tag strong {
  display: block;
  color: var(--deg-cream);
  font-family: var(--deg-font-display);
  font-weight: 800;
  font-size: 18px;
  letter-spacing: -.02em;
  line-height: 1.3;
  margin-top: 6px;
}

/* ---- Stats strip ---- */
.fnc-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--deg-border-chip);
  border-bottom: 1px solid var(--deg-border-chip);
  padding: 25px 0;
  margin-bottom: 60px;
}

.fnc-stats > div {
  padding: 0 25px;
  border-right: 1px solid var(--deg-border-chip);
}

.fnc-stats > div:first-child { padding-left: 0; }
.fnc-stats > div:last-child { border: 0; }

.fnc-stats strong {
  display: block;
  font-family: var(--deg-font-display);
  font-weight: 800;
  font-size: 24px;
  letter-spacing: -.02em;
  line-height: 1.25;
  margin-bottom: 8px;
}

.fnc-stats span { font-size: 13px; color: var(--deg-ink-muted); }

/* ---- Sections ---- */
.fnc-section { padding-bottom: 58px; }

/* ---- Three-column cards ---- */
.fnc-three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }

.fnc-feature-panel {
  background: var(--deg-white);
  border-radius: var(--deg-radius-panel);
  padding: 44px;
  margin-bottom: 58px;
  box-shadow: var(--deg-shadow-ambient);
}

.fnc-three article { padding-top: 22px; }

.fnc-feature-icon {
  width: 152px;
  height: 152px;
  object-fit: contain;
  display: block;
  margin-bottom: 16px;
}

#fnc-main .fnc-three h3 { color: var(--deg-ink-heading) !important; }
#fnc-main .fnc-three p { font-size: 15px !important; color: var(--deg-ink-muted) !important; }
.fnc-ink-body { color: var(--deg-ink-body); }
.red { color: var(--deg-link); font-weight: 700; }

.fnc-number {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--deg-link);
  margin-bottom: 11px;
}

/* ---- Split layout ---- */
.fnc-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 55px;
  align-items: start;
}

.fnc-photo {
  height: 350px;
  width: 100%;
  object-fit: cover;
  border-radius: var(--deg-radius-card);
  box-shadow: var(--deg-shadow-ambient);
}

.fnc-photo-illustration {
  object-fit: contain;
  background: none;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  height: auto;
}

/* ---- Band (dark panel) ---- */
.fnc-band {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 45px;
  align-items: center;
  background: var(--deg-ink-deep);
  color: var(--deg-cream);
  border-radius: var(--deg-radius-panel);
  padding: 44px;
  margin-bottom: 58px;
}

#fnc-main .fnc-band .fnc-eyebrow { color: var(--deg-gold-on-dark) !important; }
#fnc-main .fnc-band h2 { color: var(--deg-cream) !important; font-size: clamp(28px, 3.2vw, 36px) !important; }
#fnc-main .fnc-band p { color: #E7DCC7 !important; }
#fnc-main .fnc-band .fnc-btn { border-color: var(--deg-cream) !important; color: var(--deg-cream) !important; background: transparent !important; }
#fnc-main .fnc-band .fnc-btn.primary { background: var(--deg-gold) !important; border-color: var(--deg-gold) !important; color: var(--deg-ink-on-gold) !important; }

/* ---- Page heading ---- */
.fnc-pagehead { max-width: 820px; margin-bottom: 45px; }
#fnc-main .fnc-pagehead h1 { font-size: clamp(38px, 5vw, 52px) !important; }

/* ---- Timeline ---- */
.fnc-timeline {
  border-left: 1px solid var(--deg-border-input);
  padding: 0 0 0 28px;
  margin: 0 0 0 10px;
  list-style: none;
}

.fnc-timeline li { position: relative; padding-bottom: 23px; }

.fnc-timeline li::before {
  content: "";
  position: absolute;
  left: -33px;
  top: 7px;
  width: 9px;
  height: 9px;
  background: var(--deg-gold);
  border: 1px solid var(--deg-ink-heading);
  border-radius: 50%;
}

.fnc-timeline strong {
  font-family: var(--deg-font-display);
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .02em;
}

#fnc-main .fnc-timeline p { font-size: 14px !important; margin: 5px 0 0 !important; }

/* ---- Four-leaders grid ---- */
.fnc-four-leaders { grid-template-columns: repeat(4, 1fr); }
#fnc-main .fnc-four-leaders h3 { margin-bottom: 6px !important; }
#fnc-main .fnc-four-leaders .fnc-eyebrow { text-transform: none !important; letter-spacing: normal !important; }

.fnc-avatar-egg {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 120px;
  margin-bottom: 18px;
}

.fnc-avatar-egg::before {
  content: "";
  position: absolute;
  background: var(--deg-cream-deep);
  width: 106px;
  height: 106px;
  border-radius: 50%;
}

.fnc-avatar-egg img {
  width: 92px;
  height: 92px;
  position: relative;
  border-radius: 50%;
  object-fit: cover;
  filter: drop-shadow(0 6px 10px rgba(19,13,0,.16));
}

/* ---- Values / belief chips ---- */
.fnc-values {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  border-top: 1px solid var(--deg-border-chip);
  padding-top: 22px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--deg-ink-heading);
}

.fnc-belief-icon { width: 64px; height: 64px; margin-bottom: 14px; display: block; }

.fnc-values.fnc-believe-values {
  border-top: 1px solid var(--deg-border-chip);
  margin-top: 44px;
  padding-top: 28px;
  gap: 14px;
  font-weight: 600;
  font-size: 14px;
}

.fnc-values.fnc-believe-values > div {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: var(--deg-cream);
  border: 1px solid var(--deg-border-chip);
  border-radius: var(--deg-radius-compact);
  padding: 16px;
}

.fnc-belief-list-icon { flex: none; width: 30px; height: 30px; margin: 0; }

/* ---- Checklist ---- */
.fnc-checks { list-style: none; padding: 0; }

.fnc-checks li {
  display: block;
  border-bottom: 1px solid var(--deg-border-chip);
  padding: 12px 0 12px 30px;
  position: relative;
  font-size: 15px;
}

.fnc-checks li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--deg-gold);
  color: var(--deg-ink-on-gold);
  font-weight: 700;
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ---- Investment figures ---- */
.fnc-figures {
  display: grid;
  grid-template-columns: 1.7fr 1fr;
  gap: 25px;
  margin-bottom: 32px;
}

.fnc-figures > div {
  background: var(--deg-white);
  border: 1px solid var(--deg-border-chip);
  border-radius: var(--deg-radius-card);
  padding: 30px;
  box-shadow: var(--deg-shadow-ambient);
}

#fnc-main .fnc-figures h2 {
  display: block !important;
  font-family: var(--deg-font-display) !important;
  font-weight: 800 !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  letter-spacing: -.02em !important;
  line-height: 1.2 !important;
  margin-bottom: 14px !important;
}

#fnc-main .fnc-figures p:last-child { font-size: 13px !important; color: var(--deg-ink-muted) !important; margin: 0 !important; }
#fnc-main .fnc-figures h2 small { font-family: var(--deg-font-body) !important; font-size: 13px !important; font-weight: 400 !important; color: var(--deg-ink-muted); letter-spacing: 0; float: right; width: 140px; text-align: left; margin: 0 140px 0 16px; line-height: calc(clamp(28px, 4vw, 44px) * 1.2) !important; }

/* ---- Investment table ---- */
.fnc-tablewrap {
  overflow: auto;
  border-radius: var(--deg-radius-card);
  border: 1px solid var(--deg-border-chip);
  margin-bottom: 40px;
}

.fnc-tablewrap table { width: 100%; border-collapse: collapse; font-size: 14px; }

.fnc-tablewrap th {
  background: var(--deg-cream-deep);
  color: var(--deg-ink-heading);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .05em;
  text-align: left;
  padding: 15px 18px;
  font-weight: 700;
}

.fnc-tablewrap td {
  padding: 20px 18px;
  border-bottom: 1px solid var(--deg-border-chip);
  vertical-align: top;
}

.fnc-tablewrap tr:last-child td { border-bottom: 0; }
.fnc-tablewrap td:first-child { font-weight: 700; width: 26%; }
.fnc-tablewrap td:nth-child(2) { width: 28%; font-family: var(--deg-font-display); font-weight: 800; }
.fnc-tablewrap td:last-child { font-size: 13px; color: var(--deg-ink-muted); }

/* ---- Support rows ---- */
.fnc-supportrow {
  display: grid;
  grid-template-columns: 60px 1fr 1fr;
  gap: 24px;
  align-items: start;
  border-top: 1px solid var(--deg-border-chip);
  padding: 30px 0;
}

.fnc-supportrow > .fnc-step-num {
  font-family: var(--deg-font-display);
  font-weight: 800;
  font-size: 30px;
  color: var(--deg-gold);
  line-height: 1.1;
}

#fnc-main .fnc-supportrow h3 { color: var(--deg-ink-heading) !important; }
.fnc-supportrow p,
.fnc-supportrow ul { font-size: 15px !important; color: var(--deg-ink-muted); }
.fnc-supportrow ul { padding-left: 20px; margin: 0; list-style: disc; }
/* Align plain <p> text in detail column to same indent as bullet text */
.fnc-sr-detail > p { padding-left: 20px; }
/* Hide empty list items / lists from ACF content */
.fnc-sr-detail li:empty { display: none; }
.fnc-sr-detail ul:not(:has(li:not(:empty))) { display: none; }
#fnc-main .fnc-supportrow a { color: inherit !important; text-decoration: none !important; }

/* ---- FAQ grid ---- */
.fnc-faqgrid {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 50px;
}

.fnc-faq-aside {
  background: var(--deg-cream-deep);
  padding: 28px;
  border-radius: var(--deg-radius-panel);
  align-self: start;
}

#fnc-main .fnc-faq-aside h3 { color: var(--deg-ink-heading) !important; }
#fnc-main .fnc-faq-aside p { font-size: 14px !important; }

.fnc-faqs details { border-bottom: 1px solid var(--deg-border-chip); }
.fnc-faqs details:first-child { border-top: 1px solid var(--deg-border-chip); }

.fnc-faqs summary {
  font-family: var(--deg-font-display);
  font-weight: 800;
  font-size: 18px;
  cursor: pointer;
  list-style: none;
  padding: 23px 44px 23px 0;
  position: relative;
  line-height: 1.4;
}

.fnc-faqs summary::-webkit-details-marker { display: none; }

.fnc-faqs summary::after {
  content: "+";
  position: absolute;
  right: 2px;
  top: 16px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--deg-cream-deep);
  color: var(--deg-ink-heading);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 400;
}

.fnc-faqs details[open] summary::after {
  content: "−";
  background: var(--deg-gold);
  color: var(--deg-ink-on-gold);
}

.fnc-faq-answer {
  padding: 0 44px 22px 0;
  font-size: 15px;
  color: var(--deg-ink-muted);
}

.fnc-faq-answer .fnc-btn,
.fnc-faq-answer .btn { margin-top: 16px !important; }

/* ---- Steps ---- */
.fnc-steps { list-style: none; padding: 0; counter-reset: step; }

.fnc-steps li {
  position: relative;
  padding-left: 56px;
  counter-increment: step;
  margin-bottom: 26px;
}

.fnc-steps li::before {
  content: counter(step, decimal-leading-zero);
  position: absolute;
  left: 0; top: 0;
  width: 36px; height: 36px;
  background: var(--deg-cream-deep);
  color: var(--deg-ink-heading);
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-family: var(--deg-font-display);
  font-weight: 800;
  font-size: 13px;
}

#fnc-main .fnc-steps h3 { font-size: 19px !important; margin-bottom: 7px !important; color: var(--deg-ink-heading) !important; }
#fnc-main .fnc-steps p { font-size: 14px !important; color: var(--deg-ink-muted) !important; }

/* ---- Form ---- */
.fnc-form {
  padding: 34px;
  border: 1px solid var(--deg-border-chip);
  border-radius: var(--deg-radius-panel);
  background: var(--deg-white);
  box-shadow: var(--deg-shadow-ambient);
}

#fnc-main .fnc-form h2 { font-size: 30px !important; }
#fnc-main .fnc-form > p { font-size: 13px !important; color: var(--deg-ink-muted) !important; }

.fnc-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.fnc-fields label { font-size: 13px; font-weight: 700; color: var(--deg-ink-heading); }
.fnc-fields .full { grid-column: 1 / -1; }

.fnc-form input,
.fnc-form textarea,
.fnc-form select {
  display: block;
  width: 100%;
  border: 1px solid var(--deg-border-input);
  border-radius: var(--deg-radius-pill);
  padding: 15px 22px;
  font-size: 15px;
  margin-top: 6px;
  background: var(--deg-white);
  color: var(--deg-ink-body);
  min-width: 0;
}

.fnc-form input::placeholder,
.fnc-form textarea::placeholder { color: var(--deg-ink-muted); }

.fnc-form textarea {
  height: 100px;
  resize: vertical;
  border-radius: var(--deg-radius-panel);
  padding: 16px 22px;
}

.fnc-form .fnc-btn { width: 100%; }

/* ---- Gravity Forms wrapper ---- */
#fnc-main .fnc-gf-wrap {
  padding: 34px;
  border: 1px solid var(--deg-border-chip);
  border-radius: var(--deg-radius-panel);
  background: #fff;
  box-shadow: var(--deg-shadow-ambient);
}

#fnc-main .fnc-gf-wrap h2 { font-size: 30px !important; margin-top: 4px !important; }

#fnc-main .fnc-gf-wrap .fnc-form-subtext {
  font-size: 13px !important;
  color: var(--deg-ink-muted) !important;
  font-weight: 400 !important;
  margin: 6px 0 18px !important;
}

#fnc-main .fnc-gf-wrap .fnc-form-disclaimer {
  font-size: 13px !important;
  color: var(--deg-ink-muted) !important;
  font-weight: 400 !important;
  margin: 16px 0 0 !important;
  line-height: 1.5 !important;
}

/* Strip link styling inside disclaimer so amber link color doesn't bleed in */
#fnc-main .fnc-gf-wrap .fnc-form-disclaimer a {
  color: inherit !important;
  text-decoration: none !important;
}

/* GF form description (shown above submit button) */
#fnc-main .fnc-gf-wrap .gform_description,
#fnc-main .fnc-gf-wrap .gform_body > .gfield--type-html p {
  font-size: 13px !important;
  color: var(--deg-ink-muted) !important;
  font-weight: 400 !important;
  margin: 0 0 4px !important;
  line-height: 1.5 !important;
}

/* GF submit-area description / notes */
#fnc-main .fnc-gf-wrap .gform_footer .gform_footer_note,
#fnc-main .fnc-gf-wrap .gform_footer p {
  font-size: 13px;
  color: var(--deg-ink-muted);
  margin: 8px 0 0;
  text-align: left;
  font-weight: 400;
}

/* Hide GF preview-only notice that shows on staging/admin */
#fnc-main .fnc-gf-wrap .gf_browser_chrome .gf_invisible,
#fnc-main .fnc-gf-wrap .gform_preview_only_notice,
#fnc-main .fnc-gf-wrap p.preview-only-notice,
#fnc-main .fnc-gf-wrap .gform_wrapper > p:last-child:not(.fnc-form-disclaimer),
#fnc-main .fnc-gf-wrap .gform_anchor { display: none; }

/* Strip GF wrapper chrome — background, border, padding GF adds itself */
#fnc-main .fnc-gf-wrap .gform_wrapper {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  box-shadow: none;
  max-width: none;
}

#fnc-main .fnc-gf-wrap .gform_body { margin: 0; padding: 0; }

/* Field list — 2-column grid */
#fnc-main .fnc-gf-wrap .gform_fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 17px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Each field row — reset li margin */
#fnc-main .fnc-gf-wrap .gfield {
  margin: 0;
  padding: 0;
}

/* Half-width fields */
#fnc-main .fnc-gf-wrap .gfield--width-half { grid-column: span 1; }

/* Full-width fields: GF class + textarea/message fields + single-item */
#fnc-main .fnc-gf-wrap .gfield--width-full,
#fnc-main .fnc-gf-wrap .gfield--type-textarea,
#fnc-main .fnc-gf-wrap .gfield--type-html,
#fnc-main .fnc-gf-wrap .gfield--type-section,
#fnc-main .fnc-gf-wrap .gfield:only-child {
  grid-column: 1 / -1;
}

/* ginput_container — remove its own margins and any GF-added border */
#fnc-main .fnc-gf-wrap .ginput_container {
  margin: 0;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* Select container specifically — GF wraps <select> in this div */
#fnc-main .fnc-gf-wrap .ginput_container_select {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  position: relative;
}

/* Labels */
#fnc-main .fnc-gf-wrap .gfield_label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--deg-ink-heading);
  margin-bottom: 6px;
  font-family: var(--deg-font-body);
}

/* Required asterisk */
#fnc-main .fnc-gf-wrap .gfield_required { color: inherit; font-size: inherit; }

/* All inputs and textarea */
#fnc-main .fnc-gf-wrap input[type="text"],
#fnc-main .fnc-gf-wrap input[type="email"],
#fnc-main .fnc-gf-wrap input[type="tel"],
#fnc-main .fnc-gf-wrap input[type="number"],
#fnc-main .fnc-gf-wrap input[type="url"],
#fnc-main .fnc-gf-wrap input[type="search"],
#fnc-main .fnc-gf-wrap textarea {
  display: block;
  width: 100%;
  border: 1px solid var(--deg-border-input) !important;
  border-radius: 999px;
  padding: 15px 22px;
  font-size: 15px;
  font-weight: 400;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--deg-ink-body);
  min-width: 0;
  box-sizing: border-box;
  font-family: var(--deg-font-body);
  margin: 0;
  box-shadow: none !important;
  outline: none;
  height: auto;
}

#fnc-main .fnc-gf-wrap input::placeholder,
#fnc-main .fnc-gf-wrap textarea::placeholder {
  color: var(--deg-ink-muted) !important;
  font-weight: 400 !important;
  opacity: 1;
}

/* Textarea overrides */
#fnc-main .fnc-gf-wrap textarea {
  height: 100px !important;
  resize: vertical;
  border-radius: 24px;
  padding: 16px 22px;
}

/* Select — custom chevron (kept separate so background-image isn't nuked by the input rule) */
#fnc-main .fnc-gf-wrap select {
  display: block;
  width: 100%;
  border: 1px solid var(--deg-border-input) !important;
  border-radius: 999px;
  padding: 15px 46px 15px 22px;
  font-size: 15px;
  font-weight: 400;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%236B6155' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 20px center !important;
  background-size: 14px !important;
  appearance: none;
  -webkit-appearance: none;
  color: var(--deg-ink-muted);
  min-width: 0;
  box-sizing: border-box;
  font-family: var(--deg-font-body);
  margin: 0;
  box-shadow: none !important;
  cursor: pointer;
  height: auto;
}
#fnc-main .fnc-gf-wrap select.fnc-sel-chosen { color: var(--deg-ink-body); }
#fnc-main .fnc-gf-wrap select option { color: var(--deg-ink-body); }

/* Focus */
#fnc-main .fnc-gf-wrap input:focus,
#fnc-main .fnc-gf-wrap select:focus,
#fnc-main .fnc-gf-wrap textarea:focus {
  outline: 2px solid var(--deg-ink-deep);
  outline-offset: 2px;
  border-color: var(--deg-ink-deep) !important;
}

/* Submit button row */
#fnc-main .fnc-gf-wrap .gform_footer,
#fnc-main .fnc-gf-wrap .gform_page_footer {
  margin: 20px 0 0;
  padding: 0;
  text-align: center;
}

#fnc-main .fnc-gf-wrap .gform_button {
  width: 100%;
  display: block;
  font-family: var(--deg-font-body);
  font-weight: 700;
  border: 1.5px solid var(--deg-gold);
  background: var(--deg-gold);
  color: var(--deg-ink-on-gold, #130D00);
  border-radius: 999px;
  padding: 14px 26px;
  font-size: 15px;
  cursor: pointer;
  letter-spacing: .01em;
}

#fnc-main .fnc-gf-wrap .gform_button:hover {
  background: var(--deg-gold-dark, #e0a800);
  border-color: var(--deg-gold-dark, #e0a800);
}

/* Validation */
#fnc-main .fnc-gf-wrap .gfield_error input,
#fnc-main .fnc-gf-wrap .gfield_error select,
#fnc-main .fnc-gf-wrap .gfield_error textarea {
  border-color: #c0392b !important;
}

#fnc-main .fnc-gf-wrap .gfield_description.validation_message,
#fnc-main .fnc-gf-wrap .gform_validation_errors {
  font-size: 12px;
  color: #c0392b;
  margin-top: 4px;
}

/* Mobile — single column */
@media (max-width: 680px) {
  #fnc-main .fnc-gf-wrap { padding: 22px; }
  #fnc-main .fnc-gf-wrap .gform_fields { grid-template-columns: 1fr; }
}

.fnc-confirmation {
  padding: 28px;
  background: var(--deg-cream-deep);
  border-radius: var(--deg-radius-panel);
  margin-top: 20px;
  display: none;
}

/* ---- Footer ---- */
.fnc-footer { background: var(--deg-cream-cool); padding: 40px 0; }

.fnc-foothead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
  margin-bottom: 22px;
}

.fnc-foothead .fnc-logo { width: 200px; }

.fnc-footnav {
  display: flex;
  gap: 22px;
  align-items: center;
  font-size: 13px;
}

#fnc-main .fnc-footnav a,
#fnc-main .fnc-footnav .fnc-textbtn {
  color: var(--deg-ink-body);
  text-decoration: none;
  font-weight: 600;
  font-size: 13px;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}

#fnc-main .fnc-footer p { font-size: 13px !important; color: var(--deg-ink-muted) !important; }

/* ---- Legal disclaimer ---- */
.fnc-legal {
  font-size: 16px;
  line-height: 1.6;
  color: var(--deg-ink-muted);
  border-top: 1px solid var(--deg-border-chip);
  padding: 20px 0;
  margin: 0;
}

/* ---- Keep Exploring flow bar ---- */
.fnc-flow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  border-top: 1px solid var(--deg-border-chip);
  padding: 25px 0 35px;
}

.fnc-flow small {
  font-size: 11px;
  color: var(--deg-ink-muted);
  letter-spacing: .1em;
  font-weight: 700;
  text-transform: uppercase;
}

.fnc-flow strong {
  display: block;
  font-family: var(--deg-font-display);
  font-weight: 800;
  font-size: 20px;
}

.fnc-flowbuttons {
  display: flex;
  gap: 16px;
  align-items: center;
}

#fnc-main .fnc-textbtn {
  background: none;
  border: 0;
  padding: 4px;
  text-decoration: underline;
  text-underline-offset: 4px;
  font-size: 13px;
  color: var(--deg-link);
  font-weight: 600;
  cursor: pointer;
}

.fnc-flow .fnc-btn {
  background: var(--deg-ink-deep) !important;
  color: #FBF3E3 !important;
  border-color: var(--deg-ink-deep) !important;
}

.fnc-stats span a {
  cursor: pointer;
}

/* ---- Responsive ---- */
@media (max-width: 1000px) {
  .fnc-four-leaders { grid-template-columns: repeat(2, 1fr); }
  .fnc-flow { align-items: flex-start; }
  .fnc-flow strong { font-size: 17px; }
  .fnc-flowbuttons { gap: 10px; }
  .fnc-hero { gap: 25px; }
  .fnc-visual img { height: 390px; width: auto; max-width: none; }
  .fnc-visual { min-height: 430px; }
  .fnc-visual::before { width: 310px; height: 360px; }
  .fnc-split { gap: 30px; }
  .fnc-faqgrid { grid-template-columns: 210px 1fr; gap: 25px; }
}

@media (max-width: 680px) {
  .fnc-wrap { padding: 5px 15px; }
  .fnc-mainnav { font-size: 13px; }
  .fnc-mainnav a:not(.fnc-nav-back) { display: none; }
  .fnc-nav-current { display: none; }
  .fnc-tabs { gap: 6px; }
  .fnc-tab { padding: 8px 14px; font-size: 12px; }
  .fnc-panel { padding-top: 25px; }
  .fnc-crumb { font-size: 11px; }
  .fnc-hero,
  .fnc-split,
  .fnc-three,
  .fnc-band,
  .fnc-figures,
  .fnc-faqgrid { grid-template-columns: 1fr; }
  .fnc-hero { gap: 15px; padding-bottom: 28px; }
  .fnc-hero h1 { font-size: 46px; }
  .fnc-lead,
  .fnc-hero .fnc-lead { font-size: 17px; }
  .fnc-visual { min-height: 375px; max-width: 350px; margin: auto; width: 100%; }
  .fnc-visual img { height: 355px; width: auto; max-width: none; }
  .fnc-visual::before { width: 280px; height: 315px; }
  .fnc-tag { right: 0; bottom: 15px; }
  .fnc-stats { grid-template-columns: 1fr; gap: 0; margin-bottom: 40px; padding: 12px 0; }
  .fnc-stats > div { padding: 16px 0; border-right: none; border-bottom: 1px solid var(--deg-border-chip); }
  .fnc-stats > div:first-child { padding-top: 0; }
  .fnc-stats > div:last-child { border-bottom: none; padding-bottom: 0; }
  .fnc-stats strong { font-size: 22px; }
  .fnc-section { padding-bottom: 40px; }
  .fnc-feature-panel { padding: 40px 25px; }
  .fnc-three { gap: 0; }
  .fnc-three article { padding: 0; }
  .fnc-photo { height: 270px; }
  .fnc-band { gap: 20px; padding: 28px; }
  .fnc-pagehead { margin-bottom: 30px; }
  .fnc-pagehead h1 { font-size: 38px; }
  .fnc-values { grid-template-columns: 1fr 1fr; font-size: 15px; }
  .fnc-figures > div { padding: 24px; }
  .fnc-figures h2 { font-size: 32px; }
  #fnc-main .fnc-figures h2 small { float: none; display: block; width: auto; margin: 0 0 8px; line-height: 1.4 !important; }
  .fnc-tablewrap td,
  .fnc-tablewrap th { padding: 13px 9px; font-size: 12px; }
  .fnc-tablewrap th { font-size: 10px; }
  .fnc-tablewrap td:last-child { font-size: 12px; }
  .fnc-supportrow { grid-template-columns: 35px 1fr; gap: 15px; }
  .fnc-supportrow > div:last-child { grid-column: 2; }
  .fnc-supportrow > .fnc-step-num { font-size: 25px; }
  .fnc-faq-aside { order: 2; margin-bottom: 40px; }
  .fnc-faqs { padding-bottom: 0; }
  .fnc-fields { grid-template-columns: 1fr; }
  .fnc-foothead { flex-direction: column; align-items: flex-start; }
  .fnc-footnav { flex-wrap: wrap; }

  /* Hide header cart/drawer on mobile — handled by style.css responsive rules */
  .page-id-7302 button#rmp_menu_trigger-793 { display: none !important; }

  /* Flow bar — stack left label and right buttons full width */
  .fnc-flow { flex-direction: column; align-items: stretch; gap: 14px; }
  .fnc-flow > div:first-child,
  .fnc-flowbuttons { width: 100%; }
  .fnc-flowbuttons { flex-direction: column; }
  .fnc-flowbuttons .fnc-btn,
  .fnc-flowbuttons .fnc-textbtn { width: 100%; text-align: center; }

  /* Our Story belief/values chips — single column */
  .fnc-believe-values { grid-template-columns: 1fr; }

  /* Get Started GF form — single column */
  #fnc-main .fnc-gf-wrap .gform_fields { grid-template-columns: 1fr; }
  #fnc-main .fnc-gf-wrap .gfield { grid-column: 1 / -1; }
  #fnc-main .fnc-gf-wrap select,
  #fnc-main .fnc-gf-wrap select option { font-size: 13px !important; padding-left: 22px !important; }
}

/* Header and footer CSS handled by style.css — no overrides needed here */
