/* Generated from css/design-tokens.css and css/static-site.css. */
/* Francis Guedes global design tokens. Edit the 14 --fg-* anchors below. */
/*
 * Francis permanent palette source.
 *
 * These are source primitives, not component-facing decisions. Components
 * should consume semantic roles from design-tokens.css. The supplied palette
 * defines the botanical, warm-neutral, typography, and system families used
 * by the public site, application, and system preview.
 */
:root {
  --fg-palette-paper-0:#fff;--fg-palette-paper-25:#fdfcf8;--fg-palette-paper-50:#faf9f3;--fg-palette-paper-100:#f7f6ee;--fg-palette-paper-150:#f3f3e9;--fg-palette-paper-200:#efeee4;--fg-palette-paper-300:#e6e1d6;--fg-palette-paper-400:#d9d4c9;--fg-palette-paper-500:#c9c3b7;--fg-palette-paper-600:#aea79b;--fg-palette-paper-700:#8d867b;--fg-palette-paper-800:#69635b;--fg-palette-paper-900:#45413c;--fg-palette-paper-950:#2b2926;
  --fg-palette-sage-50:#f4f7f2;--fg-palette-sage-100:#eaf0e7;--fg-palette-sage-200:#dce5d8;--fg-palette-sage-300:#c9d5c5;--fg-palette-sage-400:#b1bfac;--fg-palette-sage-500:#98aa93;--fg-palette-sage-600:#7f927a;--fg-palette-sage-700:#667762;--fg-palette-sage-800:#4e5c4b;--fg-palette-sage-900:#394437;--fg-palette-sage-950:#222a21;
  --fg-palette-olive-50:#f4f5f2;--fg-palette-olive-100:#e8ebe5;--fg-palette-olive-200:#d5dad1;--fg-palette-olive-300:#bbc3b5;--fg-palette-olive-400:#9ca794;--fg-palette-olive-500:#7e8777;--fg-palette-olive-600:#697261;--fg-palette-olive-700:#555d4f;--fg-palette-olive-800:#42483d;--fg-palette-olive-900:#32372f;--fg-palette-olive-950:#1e221d;
  --fg-palette-forest-50:#f2f4f2;--fg-palette-forest-100:#dfe4e0;--fg-palette-forest-200:#c2ccc4;--fg-palette-forest-300:#9dac9f;--fg-palette-forest-400:#798b7d;--fg-palette-forest-500:#5b6d60;--fg-palette-forest-600:#435448;--fg-palette-forest-700:#334137;--fg-palette-forest-800:#243029;--fg-palette-forest-900:#1c2721;--fg-palette-forest-950:#111813;
  --fg-palette-terra-50:#fcf5f1;--fg-palette-terra-100:#f6e8e0;--fg-palette-terra-200:#efd4c7;--fg-palette-terra-300:#e0b7a3;--fg-palette-terra-400:#cc9278;--fg-palette-terra-500:#b87358;--fg-palette-terra-600:#9b5e47;--fg-palette-terra-700:#814b39;--fg-palette-terra-800:#673d30;--fg-palette-terra-900:#503028;--fg-palette-terra-950:#2d1a16;
  --fg-palette-taupe-50:#f7f5f3;--fg-palette-taupe-100:#efeae6;--fg-palette-taupe-200:#dfd6cf;--fg-palette-taupe-300:#c9bab0;--fg-palette-taupe-400:#aa9688;--fg-palette-taupe-500:#897466;--fg-palette-taupe-600:#705e52;--fg-palette-taupe-700:#605147;--fg-palette-taupe-800:#493e37;--fg-palette-taupe-900:#362e29;--fg-palette-taupe-950:#211b18;
  --fg-palette-ink-50:#f5f5f3;--fg-palette-ink-100:#e6e6e2;--fg-palette-ink-200:#cbcbc6;--fg-palette-ink-300:#aaaaa4;--fg-palette-ink-400:#858580;--fg-palette-ink-500:#62625e;--fg-palette-ink-600:#474744;--fg-palette-ink-700:#343432;--fg-palette-ink-800:#242423;--fg-palette-ink-900:#151515;--fg-palette-ink-950:#0c0c0b;
  --fg-palette-clay-50:#fbf6f3;--fg-palette-clay-100:#f4e9e3;--fg-palette-clay-200:#e9d5cb;--fg-palette-clay-300:#d9bbae;--fg-palette-clay-400:#c39d8d;--fg-palette-clay-500:#aa7f6e;--fg-palette-clay-600:#8e6555;--fg-palette-clay-700:#735044;--fg-palette-clay-800:#593e35;--fg-palette-clay-900:#412e28;--fg-palette-clay-950:#271b17;
  --fg-palette-sand-50:#fbf9f4;--fg-palette-sand-100:#f5f0e7;--fg-palette-sand-200:#eae0d0;--fg-palette-sand-300:#ddcdb8;--fg-palette-sand-400:#cdb79b;--fg-palette-sand-500:#b89d7d;--fg-palette-sand-600:#9c8062;--fg-palette-sand-700:#7c644d;--fg-palette-sand-800:#5f4d3c;--fg-palette-sand-900:#44372c;--fg-palette-sand-950:#282019;
  --fg-palette-moss-50:#f2f5ef;--fg-palette-moss-100:#e3e9de;--fg-palette-moss-200:#cad5c3;--fg-palette-moss-300:#acbea3;--fg-palette-moss-400:#8da381;--fg-palette-moss-500:#718865;--fg-palette-moss-600:#5a6e50;--fg-palette-moss-700:#46573f;--fg-palette-moss-800:#354230;--fg-palette-moss-900:#283225;--fg-palette-moss-950:#171e16;
  --fg-palette-success-50:#f1f7f2;--fg-palette-success-100:#dfede2;--fg-palette-success-200:#c3ddc8;--fg-palette-success-300:#9dc6a6;--fg-palette-success-400:#75a980;--fg-palette-success-500:#568d63;--fg-palette-success-600:#42744f;--fg-palette-success-700:#365c41;--fg-palette-success-800:#2d4936;--fg-palette-success-900:#253d2e;--fg-palette-success-950:#132219;
  --fg-palette-warning-50:#fcf8eb;--fg-palette-warning-100:#f7edca;--fg-palette-warning-200:#eedb9b;--fg-palette-warning-300:#e2c267;--fg-palette-warning-400:#d2a43e;--fg-palette-warning-500:#b9872d;--fg-palette-warning-600:#956a24;--fg-palette-warning-700:#75521f;--fg-palette-warning-800:#60431e;--fg-palette-warning-900:#50381d;--fg-palette-warning-950:#2d1e0d;
}
/* EDIT THESE 14 ANCHORS to retheme the whole product. Derived semantic roles below consume them. */
:root {
  --fg-paper: #F3F3E9;
  --fg-sage: #B1BFAC;
  --fg-olive: #7E8777;
  --fg-moss: #718865;
  --fg-forest: #243029;
  --fg-terracotta: #9B5E47;
  --fg-clay: #AA7F6E;
  --fg-sand: #B89D7D;
  --fg-taupe: #605147;
  --fg-ink: #151515;
  --fg-success: #568D63;
  --fg-warning: #B9872D;
  --fg-danger: #B65C50;
  --fg-info: #578C87;
  --fg-palette-paper-150: var(--fg-paper);
  --fg-palette-sage-400: var(--fg-sage);
  --fg-palette-olive-500: var(--fg-olive);
  --fg-palette-moss-500: var(--fg-moss);
  --fg-palette-forest-800: var(--fg-forest);
  --fg-palette-terra-600: var(--fg-terracotta);
  --fg-palette-clay-500: var(--fg-clay);
  --fg-palette-sand-500: var(--fg-sand);
  --fg-palette-taupe-700: var(--fg-taupe);
  --fg-palette-ink-900: var(--fg-ink);
  --fg-palette-success-500: var(--fg-success);
  --fg-palette-warning-500: var(--fg-warning);
}

/* Shared Francis design system: primitives are permanent; semantics are the component API. */
:root {
  --fg-font-display:"Playfair Display",Georgia,serif;--fg-font-body:"Manrope",system-ui,sans-serif;--fg-font-mono:"DM Mono",ui-monospace,monospace;--fg-type-xs:.6875rem;--fg-type-caption:.72rem;--fg-type-data:.74rem;--fg-type-label:.75rem;--fg-type-meta:.78rem;--fg-type-reading:.84rem;--fg-type-sm:.8125rem;--fg-type-md:1rem;--fg-type-lg:1.25rem;--fg-type-xl:clamp(1.75rem,3vw,2.75rem);--fg-leading-tight:1.15;--fg-leading-body:1.72;--fg-leading-loose:1.85;--fg-space-1:.25rem;--fg-space-2:.5rem;--fg-space-3:.75rem;--fg-space-4:1rem;--fg-space-5:1.25rem;--fg-space-6:1.5rem;--fg-space-8:2rem;--fg-space-10:2.5rem;--fg-space-12:3rem;--fg-space-16:4rem;--fg-radius-sm:.375rem;--fg-radius-md:.625rem;--fg-radius-lg:1rem;--fg-radius-pill:9999px;--fg-border-width:1px;--fg-border-width-strong:2px;--fg-shadow-sm:0 1px 2px rgb(17 24 19/.08);--fg-shadow-md:0 12px 30px rgb(17 24 19/.10);--fg-shadow-lg:0 24px 80px rgb(17 24 19/.14);--fg-motion-standard:180ms cubic-bezier(.22,.61,.36,1);--fg-content-max:90rem;--fg-gutter:clamp(1.25rem,5vw,4.75rem);
}
:root,[data-theme="light"]{color-scheme:light;--fg-bg-page:var(--fg-palette-paper-150);--fg-bg-surface:var(--fg-palette-paper-50);--fg-bg-surface-raised:#fff;--fg-bg-surface-muted:var(--fg-palette-paper-200);--fg-bg-brand:var(--fg-palette-forest-800);--fg-bg-accent:var(--fg-palette-terra-600);--fg-bg-success:var(--fg-palette-success-50);--fg-bg-warning:var(--fg-palette-warning-50);--fg-bg-danger:var(--fg-palette-terra-50);--fg-bg-selected:var(--fg-palette-sage-100);--fg-bg-disabled:var(--fg-palette-paper-200);--fg-text-primary:var(--fg-palette-ink-900);--fg-text-secondary:var(--fg-palette-taupe-700);--fg-text-muted:var(--fg-palette-olive-700);--fg-text-disabled:var(--fg-palette-olive-700);--fg-text-on-brand:var(--fg-palette-paper-50);--fg-text-on-accent:var(--fg-palette-paper-50);--fg-text-on-dark-surface:var(--fg-palette-sage-400);--fg-text-link:var(--fg-palette-terra-800);--fg-text-link-hover:var(--fg-palette-terra-950);--fg-icon-primary:var(--fg-palette-ink-800);--fg-icon-muted:var(--fg-palette-olive-700);--fg-control-bg:var(--fg-bg-surface-raised);--fg-control-border:var(--fg-border-default);--fg-control-active:var(--fg-palette-terra-600);--fg-control-disabled:var(--fg-palette-paper-300);--fg-overlay:rgb(21 21 21/.64);--fg-illustration-botanical:var(--fg-palette-sage-400);--fg-illustration-warm:var(--fg-palette-clay-500);--fg-content-editorial:var(--fg-palette-sand-700);--fg-content-clinical:var(--fg-palette-moss-700);--fg-border-subtle:rgb(43 41 38/.14);--fg-border-default:rgb(43 41 38/.24);--fg-border-strong:var(--fg-palette-olive-700);--fg-border-disabled:rgb(43 41 38/.12);--fg-focus-ring:var(--fg-palette-terra-600);--fg-success-text:var(--fg-palette-success-800);--fg-warning-text:var(--fg-palette-warning-800);--fg-danger-text:var(--fg-palette-terra-800)}
[data-theme="dark"],body.fg-dark{color-scheme:dark;--fg-bg-page:var(--fg-forest);--fg-bg-surface:var(--fg-palette-forest-800);--fg-bg-surface-raised:var(--fg-palette-olive-900);--fg-bg-surface-muted:var(--fg-palette-forest-600);--fg-bg-brand:var(--fg-palette-forest-950);--fg-bg-accent:var(--fg-palette-terra-800);--fg-bg-success:var(--fg-palette-sage-950);--fg-bg-warning:var(--fg-palette-warning-950);--fg-bg-danger:var(--fg-palette-terra-950);--fg-bg-selected:var(--fg-palette-forest-600);--fg-bg-disabled:var(--fg-palette-forest-600);--fg-text-primary:var(--fg-palette-paper-50);--fg-text-secondary:var(--fg-palette-sage-400);--fg-text-muted:var(--fg-palette-sage-200);--fg-text-disabled:var(--fg-palette-sage-400);--fg-text-on-brand:var(--fg-palette-paper-50);--fg-text-on-accent:var(--fg-palette-paper-50);--fg-text-on-dark-surface:var(--fg-palette-sage-400);--fg-icon-primary:var(--fg-palette-paper-50);--fg-icon-muted:var(--fg-palette-sage-200);--fg-control-bg:var(--fg-bg-surface-raised);--fg-control-border:var(--fg-border-default);--fg-control-active:var(--fg-palette-terra-300);--fg-control-disabled:var(--fg-palette-forest-600);--fg-overlay:rgb(0 0 0/.72);--fg-illustration-botanical:var(--fg-palette-sage-400);--fg-illustration-warm:var(--fg-palette-clay-300);--fg-content-editorial:var(--fg-palette-sand-300);--fg-content-clinical:var(--fg-palette-moss-300);--fg-text-link:var(--fg-palette-terra-300);--fg-text-link-hover:var(--fg-palette-terra-100);--fg-border-subtle:rgb(243 243 233/.16);--fg-border-default:rgb(243 243 233/.28);--fg-border-strong:var(--fg-palette-sage-200);--fg-border-disabled:rgb(243 243 233/.16);--fg-focus-ring:var(--fg-palette-terra-300);--fg-success-text:var(--fg-palette-sage-200);--fg-warning-text:var(--fg-palette-warning-50);--fg-danger-text:var(--fg-palette-terra-100)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
:root {
  --sage: var(--fg-illustration-botanical);
  --paper: var(--fg-bg-page);
  --cream: var(--fg-bg-surface);
  --terracotta: var(--fg-text-link);
  --oak: var(--fg-illustration-botanical);
  --taupe: var(--fg-text-secondary);
  --ink: var(--fg-text-primary);
  --forest: var(--fg-bg-brand);
  --forest-deep: var(--fg-bg-brand);
  --line: var(--fg-border-subtle);
  --line-dark: var(--fg-border-subtle);
  --muted: var(--fg-text-muted);
  --serif: var(--fg-font-display);
  --sans: var(--fg-font-body);
  --mono: var(--fg-font-mono);
  --max: var(--fg-content-max);
  --gutter: var(--fg-gutter);
  --shadow: var(--fg-shadow-lg);
  --ease: cubic-bezier(.22,.61,.36,1);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  background: var(--paper);
}
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  font: 400 var(--fg-type-md)/var(--fg-leading-body) var(--sans);
}
body::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  content: "";
  opacity: 0.045;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
}
body.fg-dark {
  --paper: var(--fg-bg-page);
  --cream: var(--fg-bg-surface);
  --ink: var(--fg-text-primary);
  --forest: var(--fg-bg-brand);
  --forest-deep: var(--fg-bg-brand);
  --line: var(--fg-border-subtle);
  --muted: var(--fg-text-muted);
  background: var(--forest-deep);
  color: var(--ink);
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
select,
textarea {
  font: inherit;
}
button {
  cursor: pointer;
}
:is(a, button, summary, input, select, textarea):focus-visible {
  outline: 2px solid var(--terracotta);
  outline-offset: 4px;
}
img {
  display: block;
  max-width: 100%;
}
.fg-skip {
  position: fixed;
  left: 16px;
  top: -80px;
  z-index: 100;
  padding: 10px 16px;
  background: var(--terracotta);
  color: var(--paper);
}
.fg-skip:focus {
  top: 16px;
}
.fg-utility {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  min-height: 34px;
  padding: 8px var(--gutter);
  border-bottom: 1px solid var(--line);
  color: var(--taupe);
  font: 500 9px/1.2 var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.fg-static-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: clamp(24px, 4vw, 64px);
  min-height: 88px;
  padding: 0 var(--gutter);
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--paper) 91%, transparent);
  backdrop-filter: blur(18px);
  transition:
    min-height 0.35s var(--ease),
    background 0.35s var(--ease),
    box-shadow 0.35s var(--ease);
}
.fg-static-header.is-scrolled {
  min-height: 70px;
  box-shadow: var(--fg-shadow-sm);
}
.fg-brand {
  display: grid;
  grid-template-columns: 56px auto;
  grid-template-rows: auto auto auto;
  column-gap: 11px;
  flex: none;
  line-height: 0.87;
  letter-spacing: 0.08em;
}
.fg-brand-mark {
  grid-row: 1 / span 3;
  width: 56px;
  height: 56px;
  display: block;
  align-self: center;
  object-fit: contain;
  object-position: center;
}
.fg-brand span {
  font: 500 16px/1 var(--serif);
}
.fg-brand strong {
  font: 600 21px/1 var(--serif);
}
.fg-brand small {
  margin-top: 9px;
  color: var(--muted);
  font: 500 8px/1.2 var(--mono);
  letter-spacing: 0.12em;
  white-space: nowrap;
}
.fg-site-menu {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.fg-nav-primary,
.fg-nav-actions {
  display: flex;
  align-items: center;
  gap: clamp(11px, 1.8vw, 26px);
}
.fg-nav-primary > a,
.fg-nav-primary summary,
.fg-nav-actions > a {
  font-size: 11px;
  letter-spacing: 0.035em;
}
.fg-nav-primary > a,
.fg-nav-primary summary {
  transition: color 0.2s ease;
}
.fg-nav-primary > a:hover,
.fg-nav-actions > a:hover {
  color: var(--terracotta);
}
.fg-nav-primary details {
  position: relative;
}
.fg-nav-primary summary {
  list-style: none;
  cursor: pointer;
}
.fg-nav-primary summary::-webkit-details-marker {
  display: none;
}
.fg-nav-primary summary span {
  padding-left: 4px;
  color: var(--terracotta);
}
.fg-nav-dropdown {
  position: absolute;
  top: 28px;
  left: -18px;
  display: grid;
  gap: var(--fg-space-3);
  min-width: 210px;
  padding: 17px;
  border: 1px solid var(--line);
  background: var(--cream);
  box-shadow: var(--shadow);
}
.fg-nav-dropdown a {
  font-size: 12px;
}
.fg-nav-dropdown a:hover {
  color: var(--terracotta);
}
.fg-menu-toggle {
  display: none;
  margin-left: auto;
  border: 0;
  background: none;
  color: inherit;
  font: 500 10px var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.fg-menu-toggle i,
.fg-menu-toggle i::after {
  display: block;
  width: 24px;
  height: 1px;
  background: currentColor;
  content: "";
}
.fg-menu-toggle i {
  margin-top: 7px;
}
.fg-menu-toggle i::after {
  transform: translateY(7px);
}
.fg-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 46px;
  padding: var(--fg-space-3) var(--fg-space-5);
  border: var(--fg-border-width) solid var(--forest);
  background: var(--forest);
  color: var(--paper);
  font: 600 var(--fg-type-xs)/1.2 var(--sans);
  border-radius: var(--fg-radius-sm);
  letter-spacing: 0.05em;
  transition:
    transform var(--fg-motion-standard),
    background var(--fg-motion-standard),
    color var(--fg-motion-standard);
}
.fg-button:hover {
  transform: translateY(-2px);
  background: var(--terracotta);
  border-color: var(--terracotta);
}
.fg-button--small {
  min-height: 40px;
  padding: 10px 14px;
}
.fg-button--text {
  min-height: auto;
  padding: 12px 0;
  border: 0;
  background: none;
  color: var(--terracotta);
}
.fg-button--text:hover {
  transform: none;
  background: none;
  color: var(--forest);
}
.fg-static-main {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gutter);
}
.fg-kicker,
.fg-footer-label {
  margin: 0 0 18px;
  color: var(--terracotta);
  font: 500 9px/1.3 var(--mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.fg-page-intro {
  max-width: 980px;
  padding: clamp(76px, 11vw, 160px) 0 58px;
}
.fg-page-intro h1,
.fg-home-hero h1 {
  max-width: 900px;
  margin: 0 0 28px;
  font: 500 clamp(3.25rem, 8vw, 7rem)/0.94 var(--serif);
  letter-spacing: -0.06em;
}
.fg-page-description {
  max-width: 650px;
  margin: 0;
  color: var(--muted);
  font-size: 18px;
}
.fg-static-hero-image {
  position: relative;
  height: min(53vw, 640px);
  margin: 0 0 100px;
  overflow: hidden;
  background: var(--sage);
}
.fg-static-hero-image::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(100deg, rgba(24, 35, 29, 0.5), transparent 58%);
  pointer-events: none;
}
.fg-static-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 38%;
  filter: saturate(0.72) contrast(1.04);
}
.fg-static-hero-image figcaption {
  position: absolute;
  z-index: 1;
  left: 24px;
  bottom: 22px;
  padding: 10px 14px;
  background: var(--forest);
  color: var(--paper);
  font: 500 9px var(--mono);
  letter-spacing: 0.14em;
}
.fg-home-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.95fr);
  align-items: end;
  min-height: min(760px, calc(100vh - 110px));
  margin-inline: calc(var(--gutter) * -1);
  padding: clamp(72px, 10vw, 140px) var(--gutter) 84px;
  overflow: hidden;
  background: var(--forest);
  color: var(--paper);
  isolation: isolate;
}
.fg-home-hero::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  content: "";
  background:
    linear-gradient(
      90deg,
      rgba(24, 35, 29, 0.95) 0%,
      rgba(24, 35, 29, 0.76) 42%,
      rgba(24, 35, 29, 0.15) 82%
    ),
    url("../fotos/francis-guedes-atendimento-acolhedor.webp17.webp")
      center/cover;
  filter: saturate(0.7);
}
.fg-home-hero::after {
  position: absolute;
  right: -12%;
  top: -24%;
  z-index: -1;
  width: 54vw;
  height: 54vw;
  border: 1px solid color-mix(in srgb, var(--fg-illustration-botanical) 35%, transparent);
  border-radius: 50%;
  content: "";
}
.fg-home-hero__copy {
  max-width: 760px;
}
.fg-home-hero .fg-kicker {
  color: var(--sage);
}
.fg-home-hero h1 {
  max-width: 760px;
  color: var(--paper);
}
.fg-home-hero h1 em,
.fg-cta h2 em {
  color: var(--sage);
  font-style: italic;
}
.fg-home-hero__copy > p:not(.fg-kicker) {
  max-width: 610px;
  color: var(--fg-text-on-dark-surface);
  font-size: 17px;
}
.fg-home-hero .fg-button--text {
  color: var(--sage);
}
.fg-home-hero .fg-button--text:hover {
  color: var(--paper);
}
.fg-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  margin-top: 28px;
}
.fg-home-hero__note {
  max-width: 270px;
  justify-self: end;
  padding: 20px 0 0 20px;
  border-left: 1px solid var(--terracotta);
  color: var(--fg-text-on-dark-surface);
  font-size: 13px;
}
.fg-home-hero__note span,
.fg-section-index {
  color: var(--sage);
  font: 500 11px var(--mono);
}
.fg-band,
.fg-section,
.fg-split,
.fg-start {
  padding: clamp(84px, 12vw, 165px) 0;
}
.fg-band {
  display: grid;
  grid-template-columns: 0.8fr 1.5fr;
  gap: 9vw;
}
.fg-band--paper,
.fg-concerns {
  margin-inline: calc(var(--gutter) * -1);
  padding-inline: calc(var(--gutter) + 8vw);
  background: var(--cream);
}
.fg-section-index span {
  display: block;
  margin-top: 14px;
  color: var(--muted);
  font-size: 8px;
  letter-spacing: 0.14em;
}
.fg-band__copy,
.fg-section-intro {
  max-width: 700px;
}
.fg-band h2,
.fg-section-intro h2,
.fg-split h2,
.fg-start h2 {
  margin: 0 0 24px;
  font: 500 clamp(2.3rem, 4.7vw, 4.5rem)/1.02 var(--serif);
  letter-spacing: -0.05em;
}
.fg-band p,
.fg-split p,
.fg-start p {
  max-width: 680px;
  color: var(--muted);
  font-size: 16px;
}
.fg-band__copy > p:first-of-type,
.fg-static-article > p:first-of-type {
  color: var(--forest);
  font: 500 clamp(1.35rem, 2vw, 1.75rem)/1.42 var(--serif);
}
.fg-principles,
.fg-concerns {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  gap: 8vw;
}
.fg-principle-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line);
}
.fg-principle-grid article {
  padding: 26px 24px;
  border-bottom: 1px solid var(--line);
}
.fg-principle-grid article:nth-child(odd) {
  padding-left: 0;
  border-right: 1px solid var(--line);
}
.fg-principle-grid span {
  color: var(--fg-content-clinical);
  font: 500 10px var(--mono);
}
.fg-principle-grid h3 {
  margin: 26px 0 9px;
  font: 500 25px/1.12 var(--serif);
}
.fg-principle-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}
.fg-concerns {
  padding-top: clamp(84px, 12vw, 165px);
  padding-bottom: clamp(84px, 12vw, 165px);
}
.fg-concern-list {
  border-top: 1px solid var(--line);
}
.fg-concern-list a {
  display: grid;
  grid-template-columns: 44px 1fr 20px;
  align-items: center;
  gap: 10px;
  padding: 21px 0;
  border-bottom: 1px solid var(--line);
  font-size: 18px;
  transition:
    padding 0.25s var(--ease),
    color 0.25s ease;
}
.fg-concern-list a:hover {
  padding-left: 10px;
  color: var(--terracotta);
}
.fg-concern-list a span {
  color: var(--terracotta);
  font: 500 10px var(--mono);
}
.fg-concern-list a span:last-child {
  font-size: 17px;
}
.fg-split {
  display: grid;
  grid-template-columns: 1fr 0.7fr;
  align-items: center;
  gap: 10vw;
}
.fg-split__mark {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  background: var(--sage);
  color: var(--forest);
  font: 500 clamp(4rem, 7vw, 7rem)/0.8 var(--serif);
  text-align: center;
}
.fg-split__mark small {
  display: block;
  margin-top: 28px;
  font: 500 9px/1.9 var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.fg-start {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10vw;
  border-top: 1px solid var(--line);
}
.fg-static-article {
  max-width: 900px;
  margin: 0 auto;
  padding-bottom: 95px;
}
.fg-static-article > p {
  max-width: 730px;
  margin: 0 0 24px;
  color: var(--muted);
  font-size: 17px;
}
.fg-article-controls,
.fg-article-share,
.fg-related-reading {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
}
.fg-article-controls { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; margin-bottom: 26px; }
.fg-article-controls button,
.fg-article-share button {
  border: 1px solid var(--line);
  background: transparent;
  color: inherit;
  padding: 10px 13px;
  font: 500 10px var(--mono);
  letter-spacing: .04em;
  cursor: pointer;
}
.fg-article-controls button:hover,
.fg-article-share button:hover { border-color: var(--terracotta); color: var(--terracotta); }
.fg-article-share {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 22px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}
.fg-article-share span,
.fg-related-reading > span { color: var(--forest); font: 600 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.fg-article-share a,
.fg-related-reading a { color: var(--terracotta); text-decoration: underline; text-underline-offset: 3px; }
.fg-related-reading { display: block; padding: 24px 0 34px; }
.fg-related-reading > span { width: 100%; }
.fg-related-reading__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 14px; }
.fg-related-reading__grid a { display: grid; grid-template-columns: 74px 1fr; column-gap: 12px; align-items: center; padding: 10px; border: 1px solid var(--line); text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.fg-related-reading__grid a:hover { border-color: var(--terracotta); transform: translateY(-2px); }
.fg-related-reading__grid img { grid-row: 1 / span 2; width: 74px; height: 58px; object-fit: cover; }
.fg-related-reading__grid strong { color: var(--ink); font: 500 1rem/1.1 var(--serif); }
.fg-related-reading__grid small { color: var(--muted); font-size: 11px; line-height: 1.35; }
.fg-page-contact {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(24px, 6vw, 90px);
  align-items: center;
  padding: 68px max(var(--gutter), 24px);
  border-top: 1px solid var(--line);
  background: var(--paper);
}
.fg-page-contact h2 { margin: 0; font: 500 clamp(2rem, 4vw, 3.4rem)/1.02 var(--serif); letter-spacing: -.04em; }
.fg-page-contact form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: stretch; }
.fg-page-contact input,
.fg-page-contact textarea { width: 100%; min-width: 0; border: 1px solid var(--line); background: var(--paper); color: inherit; padding: 14px; font: 14px var(--sans); }
.fg-page-contact textarea { grid-column: 1 / -1; min-height: 92px; resize: vertical; }
.fg-page-contact .fg-button { justify-self: start; }
.fg-page-contact small { grid-column: 1 / -1; color: var(--muted); font-size: 11px; }
.fg-article-summary,
.fg-article-disclaimer { max-width: 900px; margin: 24px auto; padding: 17px 18px; border-left: 3px solid var(--terracotta); background: color-mix(in srgb, var(--cream) 72%, transparent); }
.fg-article-summary strong,
.fg-article-disclaimer strong { display: block; margin-bottom: 6px; font: 600 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.fg-article-summary p,
.fg-article-disclaimer p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.fg-article-toc { max-width: 900px; margin: 24px auto; padding: 18px; border: 1px solid var(--line); background: color-mix(in srgb, var(--paper) 80%, var(--cream)); }
.fg-article-toc strong { font: 600 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.fg-article-toc ol { display: grid; gap: 7px; margin: 12px 0 0; padding-left: 20px; }
.fg-article-toc a { color: inherit; font-size: 13px; }
@media (max-width: 640px) {
  .fg-article-controls button { flex: 1 1 100%; }
  .fg-page-contact { grid-template-columns: 1fr; padding-right: 20px; padding-left: 20px; }
  .fg-page-contact form { grid-template-columns: 1fr; }
  .fg-page-contact textarea,
  .fg-page-contact small { grid-column: auto; }
  .fg-page-contact .fg-button { width: 100%; justify-self: stretch; }
}
.fg-article-index {
  max-width: 1180px;
  margin: 0 auto;
  padding: 30px var(--gutter) 120px;
}
.fg-article-index__heading { max-width: 680px; margin-bottom: 34px; }
.fg-article-index__heading h2 { margin: 0 0 12px; font: 500 clamp(2.4rem, 5vw, 4.5rem)/1 var(--serif); letter-spacing: -0.05em; }
.fg-article-index__heading p:last-child { color: var(--muted); font-size: 16px; }
.fg-article-index__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.fg-article-index__grid article { min-width: 0; border-top: 1px solid var(--line); padding-top: 14px; }
.fg-article-index__grid a { display: block; color: inherit; }
.fg-article-index__grid img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; margin-bottom: 18px; }
.fg-article-index__grid span { color: var(--terracotta); font: 500 9px var(--mono); letter-spacing: .12em; }
.fg-article-index__grid h3 { margin: 10px 0 8px; font: 500 1.45rem/1.08 var(--serif); }
.fg-article-index__grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
@media (max-width: 760px) {
  .fg-brand { grid-template-columns: 44px auto; column-gap: 9px; }
  .fg-brand-mark { width: 44px; height: 44px; }
  .fg-article-index { padding-right: 20px; padding-left: 20px; }
  .fg-article-index__grid { grid-template-columns: 1fr; gap: 30px; }
  .fg-article-index__grid img { aspect-ratio: 16 / 10; }
}
.fg-static-article > p:first-of-type {
  margin-bottom: 34px;
}
.fg-section-title {
  margin: 84px 0 20px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  font: 500 clamp(2rem, 4vw, 3.5rem)/1.08 var(--serif);
  letter-spacing: -0.04em;
}
.fg-article-meta {
  color: var(--terracotta) !important;
  font: 500 9px/1.5 var(--mono) !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.fg-static-article ul,
.fg-static-article ol {
  max-width: 700px;
  padding-left: 1.2rem;
  color: var(--muted);
}
.fg-static-article blockquote {
  max-width: 650px;
  margin: 54px 0;
  padding: 8px 0 8px 26px;
  border-left: 1px solid var(--terracotta);
  color: var(--forest);
  font: italic 500 clamp(1.35rem, 2.4vw, 2.1rem)/1.3 var(--serif);
}
.fg-cta {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin: 30px 0 110px;
  padding: clamp(54px, 7vw, 90px) var(--gutter);
  background: var(--forest-deep);
  color: var(--paper);
}
.fg-cta .fg-kicker {
  color: var(--sage);
}
.fg-cta h2 {
  max-width: 720px;
  margin: 0;
  font: 500 clamp(2rem, 4.6vw, 4.2rem)/1.04 var(--serif);
  letter-spacing: -0.045em;
}
.fg-cta .fg-button {
  background: var(--paper);
  border-color: var(--paper);
  color: var(--forest);
}
.fg-cta .fg-button:hover {
  background: var(--terracotta);
  border-color: var(--terracotta);
  color: var(--paper);
}
.fg-static-footer {
  padding: 74px var(--gutter) 24px;
  background: var(--forest-deep);
  color: var(--fg-text-on-brand);
}
.fg-static-footer .fg-footer-top a:not(.fg-brand),
.fg-static-footer .fg-footer-bottom,
.fg-static-footer .fg-footer-bottom a {
  color: var(--fg-palette-sage-200);
}
.fg-footer-top {
  display: grid;
  grid-template-columns: 0.85fr 1.5fr;
  gap: 36px;
  max-width: var(--max);
  margin: 0 auto 76px;
}
.fg-footer-brand {
  padding: 30px;
  border: 1px solid color-mix(in srgb, var(--paper) 22%, transparent);
  background: linear-gradient(
    135deg,
    rgba(177, 191, 172, 0.11),
    transparent 70%
  );
}
.fg-brand--footer {
  color: var(--paper);
}
.fg-brand--footer small {
  color: var(--sage);
}
.fg-footer-brand > p {
  max-width: 360px;
  margin: 26px 0;
  color: var(--fg-palette-sage-200);
  font-size: 14px;
}
.fg-footer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 24px 0 30px;
}
.fg-footer-actions .fg-button--text {
  color: var(--sage);
}
.fg-footer-legal {
  color: var(--fg-text-secondary);
  font-size: 12px;
}
.fg-footer-atlas {
  padding: 30px;
  border: 1px solid color-mix(in srgb, var(--paper) 22%, transparent);
}
.fg-footer-atlas__head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: end;
  margin-bottom: 18px;
}
.fg-footer-atlas__head strong {
  font: 500 1.7rem var(--serif);
}
.fg-footer-atlas__head p {
  margin: 0;
  color: var(--fg-palette-sage-200);
  font: 500 9px var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.fg-footer-atlas__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid color-mix(in srgb, var(--paper) 22%, transparent);
  border-left: 1px solid color-mix(in srgb, var(--paper) 22%, transparent);
}
.fg-footer-atlas__grid a {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 13px 14px;
  border-right: 1px solid color-mix(in srgb, var(--paper) 22%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--paper) 22%, transparent);
  color: var(--fg-text-on-dark-surface);
  font-size: 12px;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}
.fg-footer-atlas__grid a:hover {
  background: color-mix(in srgb, var(--fg-illustration-botanical) 10%, transparent);
  color: var(--paper);
}
.fg-footer-atlas__grid a span:last-child {
  color: var(--terracotta);
}
.fg-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  max-width: var(--max);
  margin: 0 auto;
  padding-top: 20px;
  border-top: 1px solid var(--line-dark);
  color: var(--fg-text-on-dark-surface);
  font: 500 9px/1.5 var(--mono);
}
.fg-footer-bottom span:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}
.fg-footer-bottom button {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
}
.fg-cookie {
  position: fixed;
  right: 24px;
  bottom: 24px;
  left: 24px;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 22px;
  background: var(--forest-deep);
  color: var(--paper);
  box-shadow: var(--shadow);
}
.fg-cookie strong {
  font: 500 20px var(--serif);
}
.fg-cookie p {
  margin: 4px 0 0;
  color: var(--sage);
  font-size: 12px;
}
.fg-cookie > div:last-child {
  display: flex;
  gap: 10px;
}
.fg-cookie button:not(.fg-button) {
  padding: 10px 13px;
  border: 1px solid var(--line-dark);
  background: none;
  color: inherit;
  font-size: 11px;
}
.fg-back-top,
.fg-whatsapp,
.fg-assistant-trigger {
  position: fixed;
  right: 20px;
  z-index: 40;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--forest);
  box-shadow: var(--fg-shadow-md);
  transition:
    opacity 0.25s ease,
    transform 0.25s var(--ease),
    background 0.25s ease;
}
.fg-back-top {
  bottom: 20px;
  opacity: 0;
  pointer-events: none;
  background: transparent;
  color: var(--forest);
  font: 18px var(--serif);
}
.fg-back-top.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.fg-back-top:hover,
.fg-whatsapp:hover,
.fg-assistant-trigger:hover {
  transform: translateY(-3px);
}
.fg-whatsapp {
  bottom: 78px;
  background: transparent;
  border-color: transparent;
  color: var(--paper);
  font: 600 10px var(--mono);
}
.fg-assistant-trigger {
  bottom: 136px;
  background: transparent;
  color: var(--forest);
  border-color: transparent;
  font: 600 10px var(--mono);
}
.fg-back-top::before,
.fg-whatsapp img,
.fg-assistant-trigger img { width: 100%; height: 100%; object-fit: contain; border-radius: 50%; }
.fg-whatsapp img,
.fg-assistant-trigger img { filter: drop-shadow(0 5px 12px rgb(17 24 19 / 18%)); }
.fg-assistant-panel {
  position: fixed;
  right: 20px;
  bottom: 194px;
  z-index: 26;
  display: none;
  width: min(360px, calc(100vw - 32px));
  overflow: hidden;
  border: 1px solid var(--line-dark);
  background: var(--paper);
  color: var(--ink);
  box-shadow: var(--fg-shadow-lg);
}
.fg-assistant-panel.is-open {
  display: block;
}
.fg-assistant-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  background: var(--fg-content-editorial);
  color: var(--fg-text-on-brand);
}
.fg-assistant-panel__head strong {
  font: 500 1.25rem var(--serif);
}
.fg-assistant-panel__head button {
  border: 0;
  background: none;
  color: inherit;
  font-size: 18px;
}
.fg-assistant-panel__body {
  padding: 18px;
}
.fg-assistant-panel__body p {
  margin-top: 0;
  font-size: 14px;
}
.fg-assistant-panel__links {
  display: grid;
  gap: 8px;
}
.fg-assistant-panel__links a {
  padding: 10px 12px;
  border: 1px solid var(--line);
  color: var(--forest);
  font-size: 12px;
}
.fg-assistant-panel__links a:hover {
  border-color: var(--terracotta);
  color: var(--terracotta);
}
.fg-reveal {
  opacity: 0;
  transform: translateY(10px);
  transition:
    opacity 0.7s var(--ease),
    transform 0.7s var(--ease);
}
.fg-reveal.is-visible {
  opacity: 1;
  transform: none;
}
.fg-high-contrast body {
  filter: contrast(1.08);
}
.fg-static-article.fg-home-page {
  max-width: none;
  margin: 0;
  padding-bottom: 0;
}
.fg-home-page .fg-image-atlas,
.fg-home-page .fg-full-bleed {
  width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%);
}
.fg-home-page .fg-image-atlas {
  max-width: none;
}
@media (max-width: 980px) {
  .fg-static-header {
    min-height: 76px;
  }
  .fg-menu-toggle {
    display: block;
  }
  .fg-site-menu {
    position: absolute;
    top: 100%;
    right: var(--gutter);
    left: var(--gutter);
    display: none;
    padding: 18px;
    border: 1px solid var(--line);
    background: var(--paper);
    box-shadow: var(--shadow);
  }
  body.fg-menu-open .fg-site-menu {
    display: grid;
    gap: 18px;
  }
  .fg-nav-primary,
  .fg-nav-actions {
    display: grid;
    align-items: stretch;
    gap: 0;
  }
  .fg-nav-primary > a,
  .fg-nav-primary summary,
  .fg-nav-actions > a {
    padding: 13px 4px;
    border-bottom: 1px solid var(--line);
  }
  .fg-nav-dropdown {
    position: static;
    margin-top: 10px;
    box-shadow: none;
  }
  .fg-nav-actions {
    padding-top: 10px;
  }
  .fg-nav-actions .fg-button {
    width: 100%;
  }
  .fg-home-hero {
    grid-template-columns: 1fr;
    min-height: 680px;
  }
  .fg-home-hero__note {
    justify-self: start;
  }
  .fg-principles,
  .fg-concerns,
  .fg-band {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .fg-split,
  .fg-start {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .fg-split__mark {
    max-width: 420px;
  }
  .fg-footer-top {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .fg-utility {
    display: block;
    min-height: auto;
    line-height: 1.7;
  }
  .fg-utility span + span {
    display: block;
    margin-top: 2px;
  }
  .fg-brand strong {
    font-size: 22px;
  }
  .fg-brand small {
    font-size: 7px;
  }
  .fg-home-hero {
    min-height: 720px;
    padding-top: 82px;
    padding-bottom: 52px;
  }
  .fg-home-hero::before {
    background:
      linear-gradient(180deg, rgba(24, 35, 29, 0.83), rgba(24, 35, 29, 0.88)),
      url("../fotos/francis-guedes-atendimento-acolhedor.webp17.webp")
        center/cover;
  }
  .fg-home-hero h1,
  .fg-page-intro h1 {
    font-size: clamp(3rem, 15vw, 5rem);
  }
  .fg-band--paper,
  .fg-concerns {
    padding-inline: var(--gutter);
  }
  .fg-principle-grid {
    grid-template-columns: 1fr;
  }
  .fg-principle-grid article:nth-child(odd) {
    padding-left: 0;
    border-right: 0;
  }
  .fg-footer-atlas,
  .fg-footer-brand {
    padding: 22px;
  }
  .fg-footer-atlas__grid {
    grid-template-columns: 1fr;
  }
  .fg-footer-atlas__head {
    display: block;
  }
  .fg-footer-atlas__head p {
    margin-top: 10px;
  }
  .fg-footer-bottom,
  .fg-cookie {
    display: grid;
  }
  .fg-cookie > div:last-child {
    display: grid;
  }
  .fg-cookie {
    right: 12px;
    bottom: 12px;
    left: 12px;
    max-height: min(40svh, 300px);
    overflow: auto;
    align-content: start;
  }
  .fg-back-top,
  .fg-whatsapp,
  .fg-assistant-trigger {
    right: 13px;
  }
  .fg-assistant-panel {
    right: 13px;
    bottom: 194px;
  }
  .fg-related-reading__grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .fg-reveal {
    opacity: 1;
    transform: none;
  }
}

/* Shared inner-page and form compatibility layer. */
.fg-footer-top > div:not(.fg-footer-brand) {
  display: grid;
  align-content: start;
  gap: 10px;
}
.fg-footer-top > div:first-child:not(.fg-footer-brand) {
  padding: 30px;
  border: 1px solid var(--line-dark);
  background: linear-gradient(
    135deg,
    rgba(177, 191, 172, 0.11),
    transparent 70%
  );
}
.fg-footer-top > div:first-child:not(.fg-footer-brand) > p {
  margin: 26px 0 0;
}
.fg-footer-top a:not(.fg-brand) {
  font-size: 12px;
}
.fg-footer-top a:not(.fg-brand):hover,
.fg-footer-bottom a:hover {
  color: var(--sage);
}
.fg-contact-form {
  display: grid;
  gap: 1rem;
  max-width: 44rem;
  margin: 2rem 0;
}
.fg-contact-form label {
  display: grid;
  gap: 0.4rem;
  font-size: 13px;
  font-weight: 600;
}
.fg-contact-form input,
.fg-contact-form select,
.fg-contact-form textarea {
  width: 100%;
  padding: 0.85rem 1rem;
  border: 1px solid var(--line);
  background: var(--cream);
  color: inherit;
}
.fg-contact-form textarea {
  min-height: 9rem;
  resize: vertical;
}
.fg-contact-form .fg-check {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-weight: 400;
}
.fg-contact-form .fg-check input {
  width: auto;
}
.fg-contact-form .form-feedback {
  min-height: 1.5rem;
  color: var(--terracotta);
  font-size: 13px;
}
.fg-form-success {
  padding: 1.25rem;
  border-left: 3px solid var(--terracotta);
  background: var(--sage);
  color: var(--forest);
}
.fg-static-article h2,
.fg-static-article h3 {
  color: var(--forest);
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -0.035em;
}
.fg-static-article h2 {
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.05;
}
.fg-static-article h3 {
  font-size: 1.6rem;
}
.fg-static-article a:not(.fg-button) {
  color: var(--terracotta);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.fg-static-article a:not(.fg-button):hover {
  color: var(--forest);
}
.fg-editorial-story {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  align-items: center;
  gap: clamp(42px, 9vw, 140px);
  padding: clamp(84px, 12vw, 165px) 0;
}
.fg-editorial-story figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: var(--sage);
}
.fg-editorial-story figure::before {
  position: absolute;
  inset: 18px;
  z-index: 1;
  border: 1px solid color-mix(in srgb, var(--fg-text-on-brand) 65%, transparent);
  content: "";
  pointer-events: none;
}
.fg-editorial-story img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  filter: saturate(0.72) contrast(1.04);
  transition: transform 0.8s var(--ease);
}
.fg-editorial-story figure:hover img {
  transform: scale(1.025);
}
.fg-editorial-story figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 2;
  padding: 8px 10px;
  background: var(--forest);
  color: var(--paper);
  font: 500 8px var(--mono);
  letter-spacing: 0.13em;
}
.fg-editorial-story h2,
.fg-journal h2,
.fg-credentials h2 {
  margin: 0 0 24px;
  color: var(--forest);
  font: 500 clamp(2.35rem, 4.6vw, 4.5rem)/1.02 var(--serif);
  letter-spacing: -0.05em;
}
.fg-editorial-story p:not(.fg-kicker) {
  max-width: 560px;
  color: var(--muted);
  font-size: 16px;
}
.fg-quote-band {
  margin-inline: calc(var(--gutter) * -1);
  padding: clamp(80px, 12vw, 160px) var(--gutter);
  background: var(--forest-deep);
  color: var(--paper);
  text-align: center;
}
.fg-quote-band .fg-kicker {
  color: var(--sage);
}
.fg-quote-band blockquote {
  max-width: 900px;
  margin: 0 auto 24px;
  color: var(--paper);
  font: italic 500 clamp(2.2rem, 5.5vw, 5.8rem)/1.03 var(--serif);
  letter-spacing: -0.055em;
}
.fg-quote-band > span {
  color: var(--sage);
  font: 500 10px var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.fg-journal {
  padding: clamp(84px, 12vw, 165px) 0;
}
.fg-journal__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 40px;
}
.fg-journal__head h2 {
  max-width: 650px;
  margin-bottom: 0;
}
.fg-journal__grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 18px;
}
.fg-journal__grid article {
  border-top: 1px solid var(--line);
}
.fg-journal__grid a {
  display: block;
  padding-top: 18px;
}
.fg-journal__grid img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  filter: saturate(0.72);
  transition:
    filter 0.4s ease,
    transform 0.4s var(--ease);
}
.fg-journal__grid a:hover img {
  filter: saturate(1);
  transform: scale(1.015);
}
.fg-journal__grid span {
  display: block;
  margin-top: 18px;
  color: var(--terracotta);
  font: 500 9px var(--mono);
  letter-spacing: 0.15em;
}
.fg-journal__grid h3 {
  margin: 9px 0 8px;
  color: var(--forest);
  font: 500 clamp(1.35rem, 2vw, 2rem)/1.08 var(--serif);
}
.fg-journal__grid p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}
.fg-credentials {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10vw;
  padding: clamp(72px, 9vw, 125px) 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.fg-credentials h2 {
  max-width: 530px;
}
.fg-credentials__items {
  border-top: 1px solid var(--line);
}
.fg-credentials__items p {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin: 0;
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}
.fg-credentials__items strong {
  font-weight: 600;
}
.fg-credentials__items span {
  color: var(--muted);
  text-align: right;
}
.fg-credentials__items .fg-button {
  display: inline-flex;
  margin-top: 22px;
}
@media (max-width: 980px) {
  .fg-editorial-story,
  .fg-credentials {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .fg-editorial-story figure {
    max-width: 600px;
  }
  .fg-journal__grid {
    grid-template-columns: 1fr 1fr;
  }
  .fg-journal__grid article:first-child {
    grid-column: 1/-1;
  }
  .fg-journal__grid article:first-child img {
    aspect-ratio: 16/8;
  }
}
@media (max-width: 640px) {
  .fg-journal__head {
    display: block;
  }
  .fg-journal__head .fg-button {
    margin-top: 18px;
  }
  .fg-journal__grid {
    grid-template-columns: 1fr;
  }
  .fg-journal__grid article:first-child {
    grid-column: auto;
  }
  .fg-journal__grid article:first-child img {
    aspect-ratio: 4/3;
  }
  .fg-credentials__items p {
    display: grid;
    gap: 4px;
  }
  .fg-credentials__items span {
    text-align: left;
  }
  .fg-quote-band blockquote {
    font-size: clamp(2rem, 10vw, 3.3rem);
  }
}
.fg-static-footer > .fg-footer-atlas {
  max-width: var(--max);
  margin: 0 auto 76px;
}
.fg-utility--locale {
  min-height: 26px;
  padding-top: 5px;
  padding-bottom: 5px;
  background: var(--ink);
  color: var(--fg-text-on-dark-surface);
  border-bottom-color: var(--fg-border-subtle);
}
.fg-utility--locale strong {
  color: var(--sage);
  font-weight: 500;
}
.fg-utility--locale a,
.fg-utility--locale button {
  color: var(--paper);
}
.fg-utility--locale button {
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}
.fg-utility--notice {
  min-height: 30px;
  padding-top: 7px;
  padding-bottom: 7px;
  background: var(--cream);
  color: var(--taupe);
}
.fg-nav-blog .fg-nav-dropdown {
  width: min(480px, 70vw);
  max-height: 70vh;
  overflow: auto;
  grid-template-columns: repeat(2, 1fr);
}
.fg-home-page > section {
  min-height: min(92svh, 920px);
  display: grid;
  align-content: center;
}
.fg-home-page > .fg-home-hero {
  display: grid;
  align-content: end;
}
.fg-home-page > .fg-cta {
  display: flex;
}
.fg-home-page > .fg-quote-band {
  display: block;
}
.fg-editorial-story {
  min-height: min(96svh, 960px);
}
.fg-image-atlas {
  display: grid;
  grid-template-columns: 1.5fr 0.75fr 0.75fr;
  grid-template-rows: 1fr;
  gap: 12px;
  min-height: min(96svh, 920px);
  padding: 0;
  margin-inline: calc(var(--gutter) * -1);
  background: var(--forest-deep);
}
.fg-image-atlas figure {
  position: relative;
  min-height: 360px;
  margin: 0;
  overflow: hidden;
  background: var(--forest);
}
.fg-image-atlas__wide {
  grid-row: 1;
  grid-column: 1;
}
.fg-image-atlas figure::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, transparent 55%, rgba(24, 35, 29, 0.72));
  pointer-events: none;
}
.fg-image-atlas img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.72) contrast(1.04);
  transition:
    transform 1s var(--ease),
    filter 0.6s ease;
}
.fg-image-atlas figure:hover img {
  transform: scale(1.035);
  filter: saturate(0.96);
}
.fg-image-atlas figcaption {
  position: absolute;
  right: 22px;
  bottom: 22px;
  left: 22px;
  z-index: 1;
  color: var(--paper);
  font: italic 500 clamp(1rem, 1.6vw, 1.4rem) var(--serif);
}
.fg-image-atlas figure:not(.fg-image-atlas__wide) figcaption {
  font-size: 10px;
  letter-spacing: 0.08em;
}
.fg-full-bleed {
  position: relative;
  isolation: isolate;
  min-height: 100svh !important;
  margin-inline: calc(var(--gutter) * -1);
  overflow: hidden;
  color: var(--paper);
  display: grid !important;
  align-items: end !important;
}
.fg-full-bleed > img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.7) contrast(1.03);
}
.fg-full-bleed__veil {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    90deg,
    rgba(24, 35, 29, 0.9),
    rgba(24, 35, 29, 0.35) 65%,
    rgba(24, 35, 29, 0.18)
  );
}
.fg-full-bleed__copy {
  position: relative;
  max-width: 650px;
  padding: clamp(32px, 8vw, 120px) var(--gutter);
}
.fg-full-bleed__copy .fg-kicker {
  color: var(--sage);
}
.fg-full-bleed__copy h2 {
  max-width: 12ch;
  margin: 0 0 24px;
  color: var(--paper);
  font: italic 500 clamp(3.1rem, 7vw, 7.4rem)/0.91 var(--serif);
  letter-spacing: -0.065em;
}
.fg-full-bleed__copy p:not(.fg-kicker) {
  max-width: 430px;
  color: var(--fg-text-on-dark-surface);
  font-size: 17px;
}
.fg-botanical {
  position: absolute;
  right: 4vw;
  bottom: 8vw;
  width: clamp(80px, 11vw, 160px);
  height: auto;
  fill: none;
  stroke: var(--sage);
  stroke-width: 1.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.85;
}
.fg-cookie[hidden],
.fg-assistant-panel[hidden] {
  display: none !important;
}
@media (max-width: 980px) {
  .fg-home-page > section {
    min-height: 88svh;
  }
  .fg-image-atlas {
    min-height: 100svh;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1.35fr 1fr;
  }
  .fg-image-atlas__wide {
    grid-column: 1/-1;
    grid-row: 1;
  }
  .fg-image-atlas figure:not(.fg-image-atlas__wide) {
    min-height: 260px;
  }
  .fg-full-bleed {
    min-height: 92svh !important;
  }
}
@media (max-width: 640px) {
  .fg-utility--locale,
  .fg-utility--notice {
    font-size: 8px;
  }
  .fg-utility--locale span:first-child {
    display: block;
    margin-bottom: 2px;
  }
  .fg-nav-blog .fg-nav-dropdown {
    width: auto;
    max-height: none;
    grid-template-columns: 1fr;
  }
  .fg-home-page > section {
    min-height: calc(100svh - 120px);
    padding-top: 70px;
    padding-bottom: 70px;
  }
  .fg-home-page > .fg-home-hero {
    min-height: calc(100svh - 100px);
  }
  .fg-image-atlas {
    grid-template-columns: 1fr;
    grid-template-rows: 1.1fr 0.8fr 0.8fr;
    min-height: 140svh;
  }
  .fg-image-atlas__wide {
    grid-column: 1;
    grid-row: 1;
  }
  .fg-image-atlas figure {
    min-height: 300px;
  }
  .fg-full-bleed__copy {
    padding-top: 90px;
    padding-bottom: 90px;
  }
  .fg-botanical {
    right: 8vw;
    bottom: 8vw;
    width: 88px;
  }
}
.fg-utility--locale {
  align-items: center;
}
.fg-utility--locale > span {
  flex: 1;
}
.fg-utility--locale > span:first-child {
  text-align: center;
}
.fg-utility--locale > span:last-child {
  text-align: right;
}
.fg-utility--notice {
  justify-content: flex-end;
  text-align: right;
}
.fg-utility--notice .fg-utility-access {
  display: block;
  margin: 0;
}
.fg-back-top {
  position: fixed;
}
.fg-back-top::before {
  position: absolute;
  inset: 2px;
  z-index: 0;
  border-radius: 50%;
  content: "";
  /* static.css is served from /site/, so this must resolve to /site/assets/. */
  background: url("assets/backtotop-transparent.png") center/contain no-repeat;
}
.fg-back-top {
  color: transparent;
}
.fg-cookie:not([hidden]) ~ .fg-back-top {
  bottom: 112px;
}
