:root {
  --cg-cream: #F4EDE1;
  --cg-cream-strong: #FBF6EA;
  --cg-beige: #EADBC2;
  --cg-beige-soft: #EFE4D4;
  --cg-sand: #D6C2A5;
  --cg-copper: #B08D74;
  --cg-copper-strong: #9A765C;
  --cg-brown: #8A6546;
  --cg-brown-strong: #755B45;
  --cg-brown-deep: #5D4534;
  --cg-radius-card: 28px;
  --cg-radius-control: 28px;
  --cg-radius-pill: 999px;
  --cg-shadow-soft: 0 18px 40px rgba(117, 91, 69, 0.12);
  --cg-shadow-strong: 0 24px 52px rgba(61, 38, 24, 0.22);
  --cg-shadow-card: 0 18px 42px rgba(117, 91, 69, 0.10);
  --cg-transition: 240ms cubic-bezier(.22, 1, .36, 1);
}

html[data-theme="light"],
body[data-theme="light"] {
  color-scheme: light;
  --cg-page-bg: #FBF6EA;
  --cg-page-surface: #F4EDE1;
  --cg-page-surface-2: #F3EDC9;
  --cg-card-bg: linear-gradient(180deg, #FBF7EF 0%, #F3EDC9 100%);
  --cg-card-bg-strong: linear-gradient(180deg, #FFFDF8 0%, #F6EEDC 100%);
  --cg-text: #8A6546;
  --cg-text-soft: rgba(138, 101, 70, 0.92);
  --cg-text-muted: rgba(138, 101, 70, 0.74);
  --cg-border: rgba(123, 92, 68, 0.14);
  --cg-border-strong: rgba(123, 92, 68, 0.20);
  --cg-header-bg: rgba(251, 246, 234, 0.92);
  --cg-header-text: #8A6546;
  --cg-menu-bg: #F3EEE7;
  --cg-menu-surface: #E9DED2;
  --cg-menu-accent: #EADBC9;
  --cg-menu-text: #8A6546;
  --cg-menu-border: rgba(138, 101, 70, 0.12);
  --cg-footer-card-bg: #F7F2EA;
  --cg-footer-card-surface: #ECE2D5;
  --cg-footer-card-text: #8A6546;
  --cg-footer-card-border: rgba(138, 101, 70, 0.12);
  --cg-control-text: #F4EDE1;
  --cg-control-track: linear-gradient(180deg, #B69279 0%, #9A765C 100%);
  --cg-control-track-hover: linear-gradient(180deg, #BD987F 0%, #A07A61 100%);
  --cg-control-border: rgba(226, 214, 165, 0.42);
  --cg-control-inner: rgba(244, 237, 225, 0.30);
  --cg-control-thumb: linear-gradient(180deg, #F3EDC9 0%, #ECE7BE 100%);
  --cg-control-thumb-border: rgba(138, 101, 70, 0.12);
  --cg-control-icon: #F4EDE1;
  --cg-theme-thumb-x: 0px;
}

html[data-theme="dark"],
body[data-theme="dark"] {
  color-scheme: dark;
  --cg-page-bg: #8A6546;
  --cg-page-surface: rgba(214, 194, 165, 0.16);
  --cg-page-surface-2: rgba(214, 194, 165, 0.12);
  --cg-card-bg: rgba(255, 255, 255, 0.10);
  --cg-card-bg-strong: rgba(255, 255, 255, 0.12);
  --cg-text: #F4EDE1;
  --cg-text-soft: rgba(244, 237, 225, 0.84);
  --cg-text-muted: rgba(244, 237, 225, 0.64);
  --cg-border: rgba(244, 237, 225, 0.16);
  --cg-border-strong: rgba(244, 237, 225, 0.24);
  --cg-header-bg: rgba(117, 91, 69, 0.95);
  --cg-header-text: #F4EDE1;
  --cg-menu-bg: #E6D7C5;
  --cg-menu-surface: #DDCAB4;
  --cg-menu-accent: #D8C0A5;
  --cg-menu-text: #7B5C44;
  --cg-menu-border: rgba(138, 101, 70, 0.10);
  --cg-footer-card-bg: #F7F2EA;
  --cg-footer-card-surface: #E8DDD0;
  --cg-footer-card-text: #8A6546;
  --cg-footer-card-border: rgba(138, 101, 70, 0.10);
  --cg-control-text: #F4EDE1;
  --cg-control-track: linear-gradient(180deg, #A98668 0%, #8E6C52 100%);
  --cg-control-track-hover: linear-gradient(180deg, #B08D6F 0%, #946F55 100%);
  --cg-control-border: rgba(226, 214, 165, 0.34);
  --cg-control-inner: rgba(244, 237, 225, 0.18);
  --cg-control-thumb: linear-gradient(180deg, #F3EDC9 0%, #ECE7BE 100%);
  --cg-control-thumb-border: rgba(244, 237, 225, 0.18);
  --cg-control-icon: #F4EDE1;
  --cg-theme-thumb-x: 60px;
}

html[data-theme] body {
  background: var(--cg-page-bg) !important;
  color: var(--cg-text) !important;
  transition: background var(--cg-transition), color var(--cg-transition);
}

html[data-theme] body::before,
html[data-theme] body::after,
html[data-theme] .site-header::before,
html[data-theme] .site-header::after,
html[data-theme] .site-footer::after,
html[data-theme] footer::after {
  opacity: 0 !important;
}

html[data-theme] ::selection {
  background: rgba(214, 194, 165, 0.44);
  color: #755B45;
}

html[data-theme] :where(p, li, span, strong, small, em, .hero-subtitle, .project-desc, .card-desc, .footer-copy, .footer-tagline, .section-label, .group-desc, .detail-item, .meta-pill, .tag) {
  color: var(--cg-text-soft) !important;
}

html[data-theme] :where(h1, h2, h3, h4, h5, h6, .hero-title, .hero-eyebrow, .project-title, .card-title, .group-title, .portfolio-title, .detail-key) {
  color: var(--cg-text) !important;
}

html[data-theme] .site-header,
html[data-theme] .site-header.scrolled,
html[data-theme] .site-header.near-footer,
html[data-theme] .site-header.scrolled.near-footer {
  background: var(--cg-header-bg) !important;
  color: var(--cg-header-text) !important;
  border-bottom: 1px solid var(--cg-border) !important;
  box-shadow: 0 14px 34px rgba(117, 91, 69, 0.08) !important;
  backdrop-filter: blur(18px) saturate(1.04);
  -webkit-backdrop-filter: blur(18px) saturate(1.04);
}

html[data-theme="dark"] .site-header,
html[data-theme="dark"] .site-header.scrolled,
html[data-theme="dark"] .site-header.near-footer,
html[data-theme="dark"] .site-header.scrolled.near-footer {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none !important;
}

html[data-theme] .site-header .logo-wrap img,
html[data-theme] #headerLogo,
html[data-theme] .footer-brand-image {
  filter: none !important;
}

html[data-theme="light"] .site-header .logo-dark,
html[data-theme="light"] .site-header .logo-light {
  filter: brightness(0) saturate(100%) invert(34%) sepia(21%) saturate(780%) hue-rotate(344deg) brightness(92%) contrast(91%) drop-shadow(0 8px 16px rgba(0, 0, 0, 0.08)) !important;
}

html[data-theme="dark"] .site-header .logo-dark,
html[data-theme="dark"] .site-header .logo-light,
html[data-theme] .site-footer .footer-brand-image {
  filter: brightness(0) saturate(100%) invert(92%) sepia(18%) saturate(515%) hue-rotate(330deg) brightness(101%) contrast(93%) drop-shadow(0 8px 16px rgba(0, 0, 0, 0.10)) !important;
}

html[data-theme="light"] .site-header .logo-light {
  opacity: 0 !important;
}

html[data-theme="dark"] .site-header .logo-dark {
  opacity: 0 !important;
}

html[data-theme="dark"] .site-header .logo-light {
  opacity: 1 !important;
}

html[data-theme] .site-header .nav-links a,
html[data-theme] .site-header .mobile-toggle,
html[data-theme] .site-header .mobile-menu a {
  color: inherit !important;
}

html[data-theme] .site-header .nav-links a,
html[data-theme] .mobile-menu a {
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
}

html[data-theme] .main-content,
html[data-theme] main,
html[data-theme] .content-wrap,
html[data-theme] .container,
html[data-theme] .section-block,
html[data-theme] .project-intro,
html[data-theme] .project-details-wrap,
html[data-theme] .project-tags,
html[data-theme] .back-bar,
html[data-theme] .hero-content,
html[data-theme] .portfolio-shell,
html[data-theme] .portfolio-group,
html[data-theme] .project-module-text,
html[data-theme] .module-text-body,
html[data-theme] .metodo-stage-card,
html[data-theme] .metodo-stage-legend,
html[data-theme] .metodo-integrado-map-card,
html[data-theme] .metodo-integrado-map,
html[data-theme] .metodo-map-callout {
  color: inherit !important;
}

html[data-theme] :where(.project-card, .card, .card-info, .meta-card, .detail-item, .meta-pill, .tag, .section-count, .section-chip, .category-pill, .btn-secondary, .card-link, .statement, .floating-note, .method-stage, .hero-frame) {
  background: var(--cg-card-bg) !important;
  border-color: var(--cg-border) !important;
  color: var(--cg-text) !important;
  box-shadow: var(--cg-shadow-card) !important;
}

html[data-theme="dark"] :where(.project-card, .card, .card-info, .meta-card, .detail-item, .meta-pill, .tag, .section-count, .section-chip, .category-pill, .btn-secondary, .card-link, .statement, .floating-note, .method-stage, .hero-frame) {
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14) !important;
}

html[data-theme] .btn-primary {
  background: var(--cg-page-surface-2) !important;
  border-color: var(--cg-border-strong) !important;
  color: var(--cg-text) !important;
  box-shadow: var(--cg-shadow-card) !important;
}

html[data-theme="dark"] .btn-primary {
  background: rgba(214, 194, 165, 0.14) !important;
}

html[data-theme] :where(.footer-social a, .footer-nav a):hover,
html[data-theme] :where(.btn-primary, .btn-secondary, .tag, .card-link):hover {
  transform: translateY(-2px) !important;
}

html[data-theme] .site-footer,
html[data-theme] footer,
html[data-theme] #siteFooter,
html[data-theme] #footer {
  background: radial-gradient(circle at 50% 18%, rgba(143, 107, 79, 0.97), rgba(123, 92, 68, 1) 58%), linear-gradient(180deg, rgba(143, 107, 79, 0.985) 0%, rgba(123, 92, 68, 1) 100%) !important;
  color: #FBF6EA !important;
  border-top: 1px solid rgba(251, 246, 234, 0.12) !important;
}

html[data-theme] .site-footer::before,
html[data-theme] footer::before {
  background: linear-gradient(90deg, transparent, rgba(251, 246, 234, 0.18), transparent) !important;
}

html[data-theme] .site-footer :where(.footer-tagline, .footer-copy, .footer-social a, .footer-nav a) {
  color: #FBF6EA !important;
}

html[data-theme] .site-footer .footer-social a {
  border: 1px solid rgba(248, 245, 201, 0.18) !important;
  background: linear-gradient(180deg, rgba(202, 177, 150, 0.14), rgba(143, 111, 86, 0.44)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 14px 30px rgba(56, 35, 21, 0.18) !important;
}

html[data-theme] .site-footer .footer-social a:hover {
  background: linear-gradient(180deg, rgba(202, 177, 150, 0.18), rgba(152, 118, 91, 0.58)) !important;
  border-color: rgba(248, 245, 201, 0.24) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 18px 36px rgba(56, 35, 21, 0.22) !important;
}

body.cg-ui-ready #backToTop,
body.cg-ui-ready .back-to-top,
body.cg-ui-ready #themeToggle,
body.cg-ui-ready .theme-toggle,
body.cg-ui-ready .floating-controls,
body.cg-ui-ready #mobileOverlay,
body.cg-ui-ready #mobileMenu,
body.cg-ui-ready .mobile-overlay,
body.cg-ui-ready .mobile-menu {
  display: none !important;
}

.cg-ui-controls {
  position: fixed;
  right: clamp(0.9rem, 2vw, 1.65rem);
  bottom: clamp(0.9rem, 2vw, 1.65rem);
  z-index: 9998;
  display: flex;
  align-items: flex-end;
  gap: 0.72rem;
  transition: opacity var(--cg-transition), visibility var(--cg-transition), transform var(--cg-transition);
}

body.cg-mobile-open .cg-ui-controls {
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  pointer-events: none;
}

.cg-ui-back,
.cg-ui-theme {
  position: relative;
  border: 1.5px solid var(--cg-control-border);
  background: var(--cg-control-track);
  color: var(--cg-control-icon);
  box-shadow: var(--cg-shadow-soft), inset 0 1px 0 rgba(255, 255, 255, 0.16);
  overflow: hidden;
  transition: transform var(--cg-transition), box-shadow var(--cg-transition), border-color var(--cg-transition), background var(--cg-transition), opacity var(--cg-transition);
}

.cg-ui-back::before,
.cg-ui-theme::before {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: inherit;
  border: 1px solid var(--cg-control-inner);
  pointer-events: none;
}

.cg-ui-back:hover,
.cg-ui-back:focus-visible,
.cg-ui-theme:hover,
.cg-ui-theme:focus-visible {
  transform: translateY(-3px);
  background: var(--cg-control-track-hover);
  box-shadow: var(--cg-shadow-strong), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  outline: none;
}

.cg-ui-back {
  width: 62px;
  height: 62px;
  border-radius: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px) scale(0.94);
}

.cg-ui-back.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.cg-ui-back svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cg-ui-theme {
  width: 124px;
  height: 62px;
  border-radius: 999px;
  padding: 7px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
}

.cg-ui-theme-track {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 18px;
}

.cg-ui-theme-track svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cg-ui-theme-thumb {
  position: relative;
  z-index: 1;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: var(--cg-control-thumb);
  border: 1px solid var(--cg-control-thumb-border);
  box-shadow: 0 10px 22px rgba(117, 91, 69, 0.20), inset 0 1px 0 rgba(255, 255, 255, 0.28);
  transform: translateX(var(--cg-theme-thumb-x));
  transition: transform var(--cg-transition), background var(--cg-transition), border-color var(--cg-transition), box-shadow var(--cg-transition);
}

.cg-mobile-drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(86, 63, 46, 0.20);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 9996;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--cg-transition), visibility var(--cg-transition);
}

.cg-mobile-drawer {
  position: fixed;
  top: 0.85rem;
  right: 0.85rem;
  bottom: 0.85rem;
  width: min(92vw, 328px);
  z-index: 9997;
  background: var(--cg-menu-bg);
  color: var(--cg-menu-text);
  border: 1px solid var(--cg-menu-border);
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(88, 63, 44, 0.18);
  padding: 1.5rem 1.45rem 1.3rem;
  display: flex;
  flex-direction: column;
  transform: translateX(106%);
  transition: transform var(--cg-transition), background var(--cg-transition), color var(--cg-transition), border-color var(--cg-transition);
}

body.cg-mobile-open {
  overflow: hidden;
}

body.cg-mobile-open .cg-mobile-drawer-overlay {
  opacity: 1;
  visibility: visible;
}

body.cg-mobile-open .cg-mobile-drawer {
  transform: translateX(0);
}

.cg-mobile-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3rem;
}

.cg-brand-mark,
.cg-mobile-close,
.cg-mobile-footer-close,
.cg-mobile-footer-toggle {
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
}

.cg-brand-mark svg,
.cg-mobile-close svg,
.cg-mobile-footer-close svg,
.cg-mobile-footer-toggle svg {
  width: 32px;
  height: 32px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cg-mobile-close,
.cg-mobile-footer-close {
  cursor: pointer;
}

.cg-mobile-label {
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  display: inline-flex;
  flex-direction: column;
  gap: 0.55rem;
  color: inherit;
  margin-bottom: 1.65rem;
}

.cg-mobile-label::after {
  content: "";
  width: 42px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.75;
}

.cg-mobile-nav {
  display: grid;
  gap: 1.18rem;
}

.cg-mobile-nav a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 64px;
  padding: 0 1.15rem;
  border-radius: 16px;
  color: inherit;
  text-decoration: none;
  font-size: 1.06rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  transition: background var(--cg-transition), transform var(--cg-transition), color var(--cg-transition);
}

.cg-mobile-nav a::before {
  content: "—";
  margin-right: 0.9rem;
  font-weight: 500;
}

.cg-mobile-nav a.is-active {
  background: var(--cg-menu-accent);
  color: var(--cg-menu-text);
}

.cg-mobile-nav a:hover,
.cg-mobile-nav a:focus-visible {
  background: var(--cg-menu-surface);
  transform: translateX(2px);
  outline: none;
}

.cg-mobile-theme-action {
  margin-top: auto;
  width: 100%;
  min-height: 60px;
  border-radius: 999px;
  border: 1px solid rgba(184, 154, 128, 0.28);
  background: linear-gradient(180deg, #FFFDF8 0%, #F1E8DC 100%);
  color: var(--cg-menu-text);
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.9rem;
  padding: 0.42rem 0.55rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52);
  transition: transform var(--cg-transition), box-shadow var(--cg-transition), background var(--cg-transition), color var(--cg-transition);
}

html[data-theme="dark"] .cg-mobile-theme-action {
  background: linear-gradient(180deg, rgba(224, 197, 169, 0.92), rgba(214, 194, 165, 0.88));
}

.cg-mobile-theme-action:hover,
.cg-mobile-theme-action:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 18px 32px rgba(117, 91, 69, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.52);
  outline: none;
}

.cg-mobile-theme-icon {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #FFF8EE;
  border: 1px solid rgba(184, 154, 128, 0.22);
  color: var(--cg-menu-text);
  flex-shrink: 0;
}

.cg-mobile-theme-icon svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cg-mobile-theme-text {
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cg-mobile-footer {
  display: none;
}

.cg-mobile-footer-card {
  width: min(100%, 340px);
  margin-inline: auto;
  background: var(--cg-footer-card-bg);
  color: var(--cg-footer-card-text);
  border: 1px solid var(--cg-footer-card-border);
  border-radius: 18px;
  box-shadow: 0 20px 40px rgba(117, 91, 69, 0.08);
  overflow: hidden;
}

.cg-mobile-footer-bar,
.cg-mobile-footer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.9rem;
}

.cg-mobile-footer-bar {
  width: 100%;
  padding: 1rem 1.1rem;
  min-height: 72px;
  border: 0;
  background: transparent;
  color: inherit;
}

.cg-mobile-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: inherit;
}

.cg-mobile-footer-brand svg {
  width: 28px;
  height: 28px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cg-mobile-footer-toggle {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(138, 101, 70, 0.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
}

.cg-mobile-footer-toggle svg {
  width: 18px;
  height: 18px;
}

.cg-mobile-footer-panel {
  display: none;
  padding: 1.05rem 1.1rem 1.2rem;
  border-top: 1px solid rgba(138, 101, 70, 0.08);
}

.cg-mobile-footer-card.is-open .cg-mobile-footer-panel {
  display: block;
}

.cg-mobile-footer-card.is-open .cg-mobile-footer-bar {
  display: none;
}

.cg-mobile-footer-head {
  margin-bottom: 1.1rem;
}

.cg-mobile-footer-groups {
  display: grid;
}

.cg-mobile-footer-group {
  border-top: 1px solid rgba(138, 101, 70, 0.10);
}

.cg-mobile-footer-group:first-child {
  border-top: 0;
}

.cg-mobile-footer-section {
  width: 100%;
  min-height: 46px;
  padding: 0.18rem 0;
  border: 0;
  background: transparent;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cg-mobile-footer-section svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

.cg-mobile-footer-links {
  display: none;
  padding: 0 0 0.8rem;
}

.cg-mobile-footer-group.is-open .cg-mobile-footer-links {
  display: grid;
  gap: 0.55rem;
}

.cg-mobile-footer-links a,
.cg-mobile-footer-links span {
  color: var(--cg-footer-card-text);
  text-decoration: none;
  font-size: 0.93rem;
  line-height: 1.45;
}

.cg-mobile-footer-links a:hover,
.cg-mobile-footer-links a:focus-visible {
  text-decoration: underline;
  outline: none;
}

.cg-mobile-footer-social {
  display: flex;
  gap: 0.85rem;
  margin: 1.15rem 0 1.35rem;
}

.cg-mobile-footer-social a {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  border: 1px solid rgba(138, 101, 70, 0.10);
  background: rgba(138, 101, 70, 0.06);
}

.cg-mobile-footer-social svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.cg-mobile-footer-slogan {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(138, 101, 70, 0.82);
}

.hero-fixed {
  position: relative !important;
  inset: auto !important;
  min-height: 100svh !important;
  background-attachment: scroll !important;
}

.hero-spacer {
  display: none !important;
  height: 0 !important;
}

.main-content {
  margin-top: 0 !important;
}

@media (max-width: 860px) {
  .cg-ui-controls {
    right: 0.85rem;
    bottom: calc(0.85rem + env(safe-area-inset-bottom));
    gap: 0.62rem;
  }

  .cg-ui-back {
    width: 56px;
    height: 56px;
    border-radius: 20px;
  }

  .cg-ui-back svg {
    width: 20px;
    height: 20px;
  }

  .cg-ui-theme {
    width: 110px;
    height: 56px;
    padding: 6px;
  }

  .cg-ui-theme-thumb {
    width: 44px;
    height: 44px;
  }

  html[data-theme="dark"],
  body[data-theme="dark"] {
    --cg-theme-thumb-x: 52px;
  }

  .cg-mobile-drawer {
    width: min(92vw, 324px);
  }

  html[data-theme] .site-footer,
  html[data-theme] footer,
  html[data-theme] #siteFooter,
  html[data-theme] #footer {
    min-height: auto !important;
    background: transparent !important;
    border-top: 0 !important;
    padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom)) !important;
  }

  html[data-theme] .site-footer::before,
  html[data-theme] footer::before {
    display: none !important;
  }

  html[data-theme] .site-footer > :not(.cg-mobile-footer),
  html[data-theme] footer > :not(.cg-mobile-footer) {
    display: none !important;
  }

  .cg-mobile-footer {
    display: block;
  }
}

@media (min-width: 861px) {
  .cg-mobile-drawer,
  .cg-mobile-drawer-overlay,
  .cg-mobile-footer {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cg-ui-controls,
  .cg-ui-back,
  .cg-ui-theme,
  .cg-ui-theme-thumb,
  .cg-mobile-drawer,
  .cg-mobile-drawer-overlay,
  .cg-mobile-theme-action,
  .cg-mobile-nav a {
    transition-duration: 0.01ms !important;
    animation: none !important;
  }
}


/* === v4 contrast audit + exact mobile system refinements === */
html[data-theme="light"],
body[data-theme="light"] {
  --beige: #8A6546 !important;
  --beige-rgb: 138, 101, 70 !important;
  --cream: #F4EDE1 !important;
  --cream-rgb: 244, 237, 225 !important;
  --accent: #B08D74 !important;
  --accent-rgb: 176, 141, 116 !important;
  --page: #F4EDE1 !important;
  --page-rgb: 244, 237, 225 !important;
  --panel: rgba(239, 230, 216, 0.94) !important;
  --panel-strong: rgba(251, 247, 240, 0.98) !important;
  --text-soft: rgba(123, 92, 68, 0.90) !important;
  --text-muted: rgba(123, 92, 68, 0.72) !important;
  --text-muted-2: rgba(123, 92, 68, 0.64) !important;
}

html[data-theme="dark"],
body[data-theme="dark"] {
  --beige: #F4EDE1 !important;
  --beige-rgb: 244, 237, 225 !important;
  --cream: #8A6546 !important;
  --cream-rgb: 138, 101, 70 !important;
  --accent: #D6C2A5 !important;
  --accent-rgb: 214, 194, 165 !important;
  --page: #8A6546 !important;
  --page-rgb: 138, 101, 70 !important;
  --panel: rgba(116, 88, 67, 0.92) !important;
  --panel-strong: rgba(132, 100, 77, 0.96) !important;
  --text-soft: rgba(244, 237, 225, 0.92) !important;
  --text-muted: rgba(244, 237, 225, 0.80) !important;
  --text-muted-2: rgba(244, 237, 225, 0.66) !important;
}

html[data-theme="light"] body,
body[data-theme="light"] {
  color: #7B5C44 !important;
}

html[data-theme="dark"] body,
body[data-theme="dark"] {
  color: #F4EDE1 !important;
}

html[data-theme="light"] body :is(
  h1, h2, h3, h4, h5, h6,
  .hero-title, .hero-eyebrow, .section-title, .quote-text, .project-title,
  .card-title, .group-title, .portfolio-title, .detail-key, .metric-value,
  .principle-item h3, .statement strong, .closing-card strong, .footer-nav a,
  .nav-links a, .mobile-toggle, .project-module-text h2, .project-module-text h3,
  .module-text-body h2, .module-text-body h3
),
body[data-theme="light"] :is(
  h1, h2, h3, h4, h5, h6,
  .hero-title, .hero-eyebrow, .section-title, .quote-text, .project-title,
  .card-title, .group-title, .portfolio-title, .detail-key, .metric-value,
  .principle-item h3, .statement strong, .closing-card strong, .footer-nav a,
  .nav-links a, .mobile-toggle, .project-module-text h2, .project-module-text h3,
  .module-text-body h2, .module-text-body h3
) {
  color: #8A6546 !important;
}

html[data-theme="light"] body :is(
  p, li, span, strong, em, small,
  .hero-subtitle, .hero-lead, .body-copy p, .quote-small, .section-label,
  .footer-copy, .footer-tagline, .card-desc, .group-desc, .detail-item,
  .project-desc, .project-module-text p, .module-text-body p, .method-stage p,
  .metodo-stage-card p, .metodo-section-intro, .metodo-stage-body, .metric-text,
  .floating-note p, .principle-item p, .closing-card p, .tag, .meta-pill,
  .section-chip, .card-category, .detail-value, .group-copy, .statement p
),
body[data-theme="light"] :is(
  p, li, span, strong, em, small,
  .hero-subtitle, .hero-lead, .body-copy p, .quote-small, .section-label,
  .footer-copy, .footer-tagline, .card-desc, .group-desc, .detail-item,
  .project-desc, .project-module-text p, .module-text-body p, .method-stage p,
  .metodo-stage-card p, .metodo-section-intro, .metodo-stage-body, .metric-text,
  .floating-note p, .principle-item p, .closing-card p, .tag, .meta-pill,
  .section-chip, .card-category, .detail-value, .group-copy, .statement p
) {
  color: rgba(123, 92, 68, 0.90) !important;
}

html[data-theme="dark"] body :is(
  h1, h2, h3, h4, h5, h6,
  .hero-title, .hero-eyebrow, .section-title, .quote-text, .project-title,
  .card-title, .group-title, .portfolio-title, .detail-key, .metric-value,
  .principle-item h3, .statement strong, .closing-card strong, .footer-nav a,
  .nav-links a, .mobile-toggle, .project-module-text h2, .project-module-text h3,
  .module-text-body h2, .module-text-body h3
),
body[data-theme="dark"] :is(
  h1, h2, h3, h4, h5, h6,
  .hero-title, .hero-eyebrow, .section-title, .quote-text, .project-title,
  .card-title, .group-title, .portfolio-title, .detail-key, .metric-value,
  .principle-item h3, .statement strong, .closing-card strong, .footer-nav a,
  .nav-links a, .mobile-toggle, .project-module-text h2, .project-module-text h3,
  .module-text-body h2, .module-text-body h3
) {
  color: #F4EDE1 !important;
}

html[data-theme="dark"] body :is(
  p, li, span, strong, em, small,
  .hero-subtitle, .hero-lead, .body-copy p, .quote-small, .section-label,
  .footer-copy, .footer-tagline, .card-desc, .group-desc, .detail-item,
  .project-desc, .project-module-text p, .module-text-body p, .method-stage p,
  .metodo-stage-card p, .metodo-section-intro, .metodo-stage-body, .metric-text,
  .floating-note p, .principle-item p, .closing-card p, .tag, .meta-pill,
  .section-chip, .card-category, .detail-value, .group-copy, .statement p
),
body[data-theme="dark"] :is(
  p, li, span, strong, em, small,
  .hero-subtitle, .hero-lead, .body-copy p, .quote-small, .section-label,
  .footer-copy, .footer-tagline, .card-desc, .group-desc, .detail-item,
  .project-desc, .project-module-text p, .module-text-body p, .method-stage p,
  .metodo-stage-card p, .metodo-section-intro, .metodo-stage-body, .metric-text,
  .floating-note p, .principle-item p, .closing-card p, .tag, .meta-pill,
  .section-chip, .card-category, .detail-value, .group-copy, .statement p
) {
  color: rgba(244, 237, 225, 0.90) !important;
}

html[data-theme="light"] body :is(.card, .project-card, .card-info, .meta-card, .detail-item, .statement, .floating-note, .method-stage, .hero-frame, .metric-card, .principle-item, .closing-card, .metodo-stage-card, .metodo-integrado-map-card),
body[data-theme="light"] :is(.card, .project-card, .card-info, .meta-card, .detail-item, .statement, .floating-note, .method-stage, .hero-frame, .metric-card, .principle-item, .closing-card, .metodo-stage-card, .metodo-integrado-map-card) {
  background: linear-gradient(180deg, rgba(251, 247, 240, 0.98), rgba(239, 230, 216, 0.94)) !important;
  border-color: rgba(123, 92, 68, 0.12) !important;
  color: #7B5C44 !important;
  box-shadow: 0 18px 42px rgba(117, 91, 69, 0.10) !important;
}

html[data-theme="dark"] body :is(.card, .project-card, .card-info, .meta-card, .detail-item, .statement, .floating-note, .method-stage, .hero-frame, .metric-card, .principle-item, .closing-card, .metodo-stage-card, .metodo-integrado-map-card),
body[data-theme="dark"] :is(.card, .project-card, .card-info, .meta-card, .detail-item, .statement, .floating-note, .method-stage, .hero-frame, .metric-card, .principle-item, .closing-card, .metodo-stage-card, .metodo-integrado-map-card) {
  background: linear-gradient(180deg, rgba(143, 111, 86, 0.92), rgba(116, 88, 67, 0.92)) !important;
  border-color: rgba(244, 237, 225, 0.16) !important;
  color: #F4EDE1 !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.16) !important;
}

html[data-theme="light"] body :is(.section-chip, .meta-pill, .tag, .section-count, .category-pill, .btn-secondary, .card-link),
body[data-theme="light"] :is(.section-chip, .meta-pill, .tag, .section-count, .category-pill, .btn-secondary, .card-link) {
  background: rgba(255, 251, 246, 0.92) !important;
  border-color: rgba(123, 92, 68, 0.14) !important;
  color: #8A6546 !important;
}

html[data-theme="dark"] body :is(.section-chip, .meta-pill, .tag, .section-count, .category-pill, .btn-secondary, .card-link),
body[data-theme="dark"] :is(.section-chip, .meta-pill, .tag, .section-count, .category-pill, .btn-secondary, .card-link) {
  background: rgba(244, 237, 225, 0.10) !important;
  border-color: rgba(244, 237, 225, 0.22) !important;
  color: #F4EDE1 !important;
}

body[data-theme="light"] .cg-ui-controls {
  gap: 0.8rem;
}

.cg-ui-back,
.cg-ui-theme {
  border-width: 1.75px;
}

.cg-ui-back {
  width: 66px;
  height: 66px;
  border-radius: 24px;
  background: linear-gradient(180deg, #B18B70 0%, #9E785F 100%);
  box-shadow: 0 18px 34px rgba(112, 82, 61, 0.22), inset 0 1px 0 rgba(255,255,255,0.18);
}

.cg-ui-back::before {
  inset: 7px;
  border-color: rgba(255, 241, 214, 0.12);
}

.cg-ui-back svg {
  width: 24px;
  height: 24px;
  stroke: #F4EFCF;
  stroke-width: 2.5;
}

.cg-ui-theme {
  width: 132px;
  height: 66px;
  padding: 8px;
  border-radius: 999px;
  background: linear-gradient(180deg, #B18B70 0%, #9E785F 100%);
  box-shadow: 0 20px 38px rgba(112, 82, 61, 0.22), inset 0 1px 0 rgba(255,255,255,0.18);
}

.cg-ui-theme::before {
  inset: 6px;
  border-color: rgba(255, 241, 214, 0.12);
}

.cg-ui-theme-track {
  padding: 0 20px;
}

.cg-ui-theme-track svg {
  width: 24px;
  height: 24px;
  color: #F4EFCF;
  stroke-width: 2.1;
}

.cg-ui-theme-thumb {
  width: 50px;
  height: 50px;
  background: linear-gradient(180deg, #F2EDCD 0%, #ECE7BE 100%);
  border-color: rgba(160, 120, 82, 0.20);
  box-shadow: 0 12px 26px rgba(112, 82, 61, 0.22), inset 0 1px 0 rgba(255,255,255,0.36);
}

html[data-theme="dark"],
body[data-theme="dark"] {
  --cg-theme-thumb-x: 66px;
}

.cg-mobile-drawer {
  top: 1rem;
  right: 1rem;
  bottom: 1rem;
  width: min(92vw, 334px);
  padding: 1.6rem 1.55rem 1.4rem;
  border-radius: 18px;
  box-shadow: 0 24px 58px rgba(88, 63, 44, 0.16);
}

.cg-mobile-drawer-head {
  margin-bottom: 3.15rem;
}

.cg-brand-mark svg,
.cg-mobile-close svg {
  width: 35px;
  height: 35px;
  stroke-width: 2.15;
}

.cg-mobile-label {
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  margin-bottom: 1.55rem;
}

.cg-mobile-label::after {
  width: 40px;
  height: 2px;
  opacity: 0.8;
}

.cg-mobile-nav {
  gap: 1.25rem;
}

.cg-mobile-nav a {
  min-height: 66px;
  padding: 0 1.15rem;
  border-radius: 16px;
  font-size: 1.02rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.cg-mobile-nav a.is-active {
  background: var(--cg-menu-accent);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.14);
}

.cg-mobile-nav a::before {
  margin-right: 0.95rem;
}

.cg-mobile-theme-action {
  min-height: 60px;
  padding: 0.42rem 0.5rem;
  border-radius: 999px;
  border-color: rgba(184, 154, 128, 0.22);
  background: linear-gradient(180deg, rgba(255, 251, 245, 0.96), rgba(244, 237, 225, 0.86));
}

html[data-theme="dark"] .cg-mobile-theme-action {
  background: linear-gradient(180deg, rgba(226, 204, 177, 0.96), rgba(219, 197, 170, 0.92));
}

.cg-mobile-theme-icon {
  width: 46px;
  height: 46px;
  background: rgba(255,255,255,0.58);
  border-color: rgba(184, 154, 128, 0.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.46);
}

.cg-mobile-theme-text {
  font-size: 0.9rem;
  letter-spacing: 0.03em;
}

.cg-mobile-footer-card {
  width: min(100%, 336px);
  border-radius: 18px;
  box-shadow: 0 18px 36px rgba(117, 91, 69, 0.08);
}

.cg-mobile-footer-bar {
  min-height: 74px;
  padding: 1rem 1.15rem;
}

.cg-mobile-footer-panel {
  padding: 1rem 1.15rem 1.2rem;
}

.cg-mobile-footer-brand {
  gap: 0.65rem;
  font-size: 1.06rem;
}

.cg-mobile-footer-brand svg {
  width: 29px;
  height: 29px;
}

.cg-mobile-footer-toggle {
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,0.52);
}

.cg-mobile-footer-head {
  margin-bottom: 1rem;
}

.cg-mobile-footer-group {
  border-top: 1px solid rgba(138, 101, 70, 0.08);
}

.cg-mobile-footer-section {
  min-height: 44px;
  font-size: 0.82rem;
  letter-spacing: 0.05em;
}

.cg-mobile-footer-links {
  padding: 0 0 0.7rem;
}

.cg-mobile-footer-social {
  gap: 0.9rem;
  margin: 1.1rem 0 1.3rem;
}

.cg-mobile-footer-social a {
  width: 40px;
  height: 40px;
  background: rgba(138, 101, 70, 0.05);
}

.cg-mobile-footer-slogan {
  font-size: 0.73rem;
  letter-spacing: 0.22em;
}

@media (max-width: 860px) {
  .cg-ui-controls {
    right: 1rem;
    bottom: calc(1rem + env(safe-area-inset-bottom));
    gap: 0.7rem;
  }

  .cg-ui-back {
    width: 58px;
    height: 58px;
    border-radius: 20px;
  }

  .cg-ui-back svg {
    width: 22px;
    height: 22px;
  }

  .cg-ui-theme {
    width: 118px;
    height: 58px;
    padding: 7px;
  }

  .cg-ui-theme-track {
    padding: 0 18px;
  }

  .cg-ui-theme-track svg {
    width: 22px;
    height: 22px;
  }

  .cg-ui-theme-thumb {
    width: 44px;
    height: 44px;
  }

  html[data-theme="dark"],
  body[data-theme="dark"] {
    --cg-theme-thumb-x: 52px;
  }

  .cg-mobile-drawer {
    width: min(92vw, 326px);
    top: 0.8rem;
    right: 0.8rem;
    bottom: 0.8rem;
    padding: 1.45rem 1.35rem 1.25rem;
  }
}

/* === AUDITORIA FINAL V8 DEPLOY SAFE === */
html[data-theme="light"],
body[data-theme="light"] {
  --cg-page-bg: #FBF7EF;
  --cg-page-surface: #F7F1E7;
  --cg-page-surface-2: #F3EDC9;
  --cg-card-bg: linear-gradient(180deg, #FBF8F1 0%, #F4ECDD 100%);
  --cg-card-bg-strong: linear-gradient(180deg, #FFFDF8 0%, #F6EEDC 100%);
  --cg-text: #8A6546;
  --cg-text-soft: #8F6A4C;
  --cg-text-muted: rgba(138, 101, 70, 0.82);
  --cg-border: rgba(123, 92, 68, 0.12);
  --cg-border-strong: rgba(123, 92, 68, 0.18);
}

html[data-theme="dark"],
body[data-theme="dark"] {
  --cg-card-bg: linear-gradient(180deg, #6D503D 0%, #5A4233 100%);
  --cg-card-bg-strong: linear-gradient(180deg, #745744 0%, #5D4534 100%);
  --cg-text: #F4EDE1;
  --cg-text-soft: #EADBC2;
  --cg-text-muted: rgba(234, 219, 194, 0.82);
  --cg-border: rgba(234, 219, 194, 0.16);
  --cg-border-strong: rgba(234, 219, 194, 0.22);
}

html[data-theme] .main-content,
html[data-theme] .portfolio-shell,
html[data-theme] .portfolio-group,
html[data-theme] .content-wrap,
html[data-theme] .container,
html[data-theme] .section-block,
html[data-theme] .project-intro,
html[data-theme] .project-details-wrap,
html[data-theme] .project-module-text,
html[data-theme] .module-text-body,
html[data-theme] .page-shell {
  position: relative !important;
  background: var(--cg-page-bg) !important;
  isolation: isolate !important;
}

html[data-theme] .main-content::before,
html[data-theme] .portfolio-shell::before,
html[data-theme] .portfolio-group::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--cg-page-bg);
  z-index: -1;
  pointer-events: none;
}

html[data-theme] :where(.project-card, .card, .card-info, .meta-card, .detail-item, .meta-pill, .tag, .section-count, .section-chip, .category-pill, .btn-secondary, .card-link, .statement, .floating-note, .method-stage, .hero-frame) {
  background: var(--cg-card-bg) !important;
  border-color: var(--cg-border) !important;
  color: var(--cg-text) !important;
  box-shadow: var(--cg-shadow-card) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-theme="light"] :where(.project-card, .card, .card-info, .meta-card, .detail-item, .meta-pill, .tag, .section-count, .section-chip, .category-pill, .btn-secondary, .card-link, .statement, .floating-note, .method-stage, .hero-frame) {
  background: linear-gradient(180deg, #FBF8F1 0%, #F4ECDD 100%) !important;
}

html[data-theme="dark"] :where(.project-card, .card, .card-info, .meta-card, .detail-item, .meta-pill, .tag, .section-count, .section-chip, .category-pill, .btn-secondary, .card-link, .statement, .floating-note, .method-stage, .hero-frame) {
  background: linear-gradient(180deg, #6D503D 0%, #5A4233 100%) !important;
}

html[data-theme] .project-card::before,
html[data-theme] .project-card::after,
html[data-theme] .card-info::before,
html[data-theme] .card-info::after {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-theme="light"] :where(h1, h2, h3, h4, h5, h6, .hero-title, .hero-eyebrow, .project-title, .card-title, .group-title, .portfolio-title, .detail-key, .section-title, .quote-text, .card-meta-title) {
  color: #8A6546 !important;
}

html[data-theme="light"] :where(p, li, span, strong, small, em, .hero-subtitle, .project-desc, .card-desc, .footer-copy, .footer-tagline, .section-label, .group-desc, .detail-item, .meta-pill, .tag, .hero-lead, .body-copy p, .quote-small, .metric-text, .floating-note p, .card-category) {
  color: #8F6A4C !important;
}

html[data-theme="light"] .quote-small,
html[data-theme="light"] .section-label,
html[data-theme="light"] .card-category,
html[data-theme="light"] .card-desc,
html[data-theme="light"] .group-desc {
  color: rgba(138, 101, 70, 0.80) !important;
}

html[data-theme="dark"] :where(h1, h2, h3, h4, h5, h6, .hero-title, .hero-eyebrow, .project-title, .card-title, .group-title, .portfolio-title, .detail-key, .section-title, .quote-text, .card-meta-title) {
  color: #EADBC2 !important;
}

html[data-theme="dark"] :where(p, li, span, strong, small, em, .hero-subtitle, .project-desc, .card-desc, .footer-copy, .footer-tagline, .section-label, .group-desc, .detail-item, .meta-pill, .tag, .hero-lead, .body-copy p, .quote-small, .metric-text, .floating-note p, .card-category) {
  color: #EADBC2 !important;
}

html[data-theme="dark"] .quote-small,
html[data-theme="dark"] .section-label,
html[data-theme="dark"] .card-category,
html[data-theme="dark"] .card-desc,
html[data-theme="dark"] .group-desc,
html[data-theme="dark"] .card-meta-arrow {
  color: rgba(234, 219, 194, 0.88) !important;
}

html[data-theme] .card-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  align-self: center !important;
  justify-self: end !important;
  min-width: 120px !important;
  min-height: 120px !important;
  width: 120px !important;
  height: 120px !important;
  padding: 1rem !important;
  border-radius: 999px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  letter-spacing: 0.16em !important;
}

html[data-theme="light"] .card-link {
  color: #8A6546 !important;
  background: linear-gradient(180deg, #F8EFD9 0%, #EFDDBE 100%) !important;
  border-color: rgba(138, 101, 70, 0.14) !important;
}

html[data-theme="dark"] .card-link {
  color: #EADBC2 !important;
  background: linear-gradient(180deg, #7A5C47 0%, #634937 100%) !important;
  border-color: rgba(234, 219, 194, 0.20) !important;
}

html[data-theme] .card-copy,
html[data-theme] .card-info {
  min-width: 0 !important;
}

html[data-theme] .card-meta-title,
html[data-theme] .card-title,
html[data-theme] .section-title,
html[data-theme] .quote-text,
html[data-theme] .portfolio-title,
html[data-theme] .group-title {
  text-wrap: balance !important;
}

html[data-theme] .body-copy p,
html[data-theme] .hero-lead,
html[data-theme] .card-desc,
html[data-theme] .group-desc,
html[data-theme] .quote-small {
  opacity: 1 !important;
}

@media (max-width: 768px) {
  html[data-theme] .card-link {
    min-width: 104px !important;
    min-height: 104px !important;
    width: 104px !important;
    height: 104px !important;
    font-size: 0.64rem !important;
  }
}

@media (max-width: 560px) {
  html[data-theme] .card-link {
    min-width: 96px !important;
    min-height: 96px !important;
    width: 96px !important;
    height: 96px !important;
  }
}


/* === V10 FINAL AUDIT: seção método sem marrom escuro, premium, alinhada === */
html[data-theme] .section-block#metodo,
body[data-theme] .section-block#metodo{
  --metodo-bg: #f8f2df !important;
  --metodo-bg-deep: #f1e6c8 !important;
  --metodo-title: #8f6b4f !important;
  --metodo-text: #9e7a5b !important;
  --metodo-text-soft: rgba(143,107,79,.88) !important;
  --metodo-line: rgba(143,107,79,.14) !important;
  --metodo-line-soft: rgba(143,107,79,.08) !important;
  --metodo-card: #f6edd8 !important;
  --metodo-card-strong: #fcf8ee !important;
  background:
    radial-gradient(circle at 16% 14%, rgba(255,255,255,.60), transparent 0 24%),
    radial-gradient(circle at 84% 18%, rgba(255,249,231,.46), transparent 0 22%),
    linear-gradient(180deg, #f8f2df 0%, #f1e6c8 100%) !important;
}
html[data-theme] .section-block#metodo::before,
body[data-theme] .section-block#metodo::before{
  background:
    radial-gradient(circle at 50% 50%, rgba(143,107,79,.04), transparent 0 24%),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.024'/%3E%3C/svg%3E") !important;
  opacity: .30 !important;
}
html[data-theme] .section-block#metodo.metodo-active::after,
body[data-theme] .section-block#metodo.metodo-active::after{
  background: radial-gradient(circle at 50% 44%, rgba(143,107,79,.045), transparent 0 28%) !important;
}
html[data-theme] .section-block#metodo .container,
body[data-theme] .section-block#metodo .container{
  width: min(1500px, calc(100% - 3rem)) !important;
}
html[data-theme] .section-block#metodo .section-head,
html[data-theme] .section-block#metodo .metodo-section-head,
body[data-theme] .section-block#metodo .section-head,
body[data-theme] .section-block#metodo .metodo-section-head{
  margin-bottom: 0 !important;
}
html[data-theme] .section-block#metodo .section-label,
html[data-theme] .section-block#metodo .section-title,
html[data-theme] .section-block#metodo .metodo-map-label strong,
html[data-theme] .section-block#metodo .metodo-stage-card h3,
html[data-theme] .section-block#metodo .metodo-map-center-text span,
html[data-theme] .section-block#metodo .metodo-stage-legend strong,
body[data-theme] .section-block#metodo .section-label,
body[data-theme] .section-block#metodo .section-title,
body[data-theme] .section-block#metodo .metodo-map-label strong,
body[data-theme] .section-block#metodo .metodo-stage-card h3,
body[data-theme] .section-block#metodo .metodo-map-center-text span,
body[data-theme] .section-block#metodo .metodo-stage-legend strong{
  color: #8f6b4f !important;
}
html[data-theme] .section-block#metodo .method-intro p,
html[data-theme] .section-block#metodo .metodo-map-label small,
html[data-theme] .section-block#metodo .metodo-stage-card p:last-child,
html[data-theme] .section-block#metodo .metodo-stage-legend,
html[data-theme] .section-block#metodo .metodo-map-callout,
body[data-theme] .section-block#metodo .method-intro p,
body[data-theme] .section-block#metodo .metodo-map-label small,
body[data-theme] .section-block#metodo .metodo-stage-card p:last-child,
body[data-theme] .section-block#metodo .metodo-stage-legend,
body[data-theme] .section-block#metodo .metodo-map-callout{
  color: #9e7a5b !important;
}
html[data-theme] .section-block#metodo .section-title,
body[data-theme] .section-block#metodo .section-title{
  max-width: 8.6ch !important;
  font-size: clamp(3rem, 5vw, 5.2rem) !important;
  line-height: .94 !important;
  margin-bottom: 1.2rem !important;
}
html[data-theme] .section-block#metodo .metodo-section-intro,
body[data-theme] .section-block#metodo .metodo-section-intro{
  max-width: 45rem !important;
  margin: 0 0 clamp(2.4rem, 4vw, 3.8rem) !important;
}
html[data-theme] .section-block#metodo .method-intro p,
body[data-theme] .section-block#metodo .method-intro p{
  max-width: 38ch !important;
  font-size: clamp(1.04rem, 1.24vw, 1.18rem) !important;
  line-height: 1.88 !important;
}
html[data-theme] .section-block#metodo .metodo-integrado-grid,
body[data-theme] .section-block#metodo .metodo-integrado-grid{
  display: grid !important;
  grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr) !important;
  gap: clamp(2rem, 4vw, 4rem) !important;
  align-items: start !important;
}
html[data-theme] .section-block#metodo .metodo-integrado-map-card,
html[data-theme] .section-block#metodo .metodo-stage-card,
html[data-theme] .section-block#metodo .metodo-stage-legend,
body[data-theme] .section-block#metodo .metodo-integrado-map-card,
body[data-theme] .section-block#metodo .metodo-stage-card,
body[data-theme] .section-block#metodo .metodo-stage-legend{
  background: linear-gradient(180deg, #fcf8ef 0%, #f6ecd8 100%) !important;
  border: 1px solid rgba(143,107,79,.11) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 18px 42px rgba(143,107,79,.07) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
html[data-theme] .section-block#metodo .metodo-integrado-map-card,
body[data-theme] .section-block#metodo .metodo-integrado-map-card{
  padding: clamp(1.5rem, 2vw, 1.8rem) !important;
  border-radius: 38px !important;
}
html[data-theme] .section-block#metodo .metodo-integrado-map-card::before,
body[data-theme] .section-block#metodo .metodo-integrado-map-card::before{
  background:
    radial-gradient(circle at 50% 42%, rgba(240,225,169,.10), transparent 0 30%),
    linear-gradient(135deg, rgba(255,255,255,.24), transparent 36%, transparent 68%, rgba(255,255,255,.10)) !important;
}
html[data-theme] .section-block#metodo .metodo-integrado-map,
body[data-theme] .section-block#metodo .metodo-integrado-map{
  min-height: 760px !important;
  border-radius: 32px !important;
  background: linear-gradient(180deg, #fbf7ed 0%, #f2e7cf 100%) !important;
  border: 1px solid rgba(143,107,79,.10) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), inset 0 0 90px rgba(240,225,169,.07) !important;
}
html[data-theme] .section-block#metodo .metodo-integrado-map::before,
body[data-theme] .section-block#metodo .metodo-integrado-map::before{
  background:
    radial-gradient(circle at 50% 50%, rgba(143,107,79,.04), transparent 0 34%),
    linear-gradient(180deg, rgba(255,255,255,.16), transparent 22%, transparent 78%, rgba(255,255,255,.10)) !important;
}
html[data-theme] .section-block#metodo .metodo-integrado-map::after,
body[data-theme] .section-block#metodo .metodo-integrado-map::after{
  background: linear-gradient(120deg, transparent 0%, rgba(240,225,169,.18) 42%, transparent 60%) !important;
}
html[data-theme] .section-block#metodo .metodo-integrado-map:hover,
html[data-theme] .section-block#metodo.metodo-active .metodo-integrado-map,
body[data-theme] .section-block#metodo .metodo-integrado-map:hover,
body[data-theme] .section-block#metodo.metodo-active .metodo-integrado-map{
  border-color: rgba(143,107,79,.16) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.84), inset 0 0 100px rgba(240,225,169,.09), 0 18px 42px rgba(143,107,79,.07) !important;
}
html[data-theme] .section-block#metodo .metodo-orbit,
body[data-theme] .section-block#metodo .metodo-orbit{border-color: rgba(143,107,79,.14) !important;}
html[data-theme] .section-block#metodo .metodo-flow path,
body[data-theme] .section-block#metodo .metodo-flow path{stroke: rgba(143,107,79,.16) !important;}
html[data-theme] .section-block#metodo .metodo-flow polygon,
body[data-theme] .section-block#metodo .metodo-flow polygon{fill: rgba(143,107,79,.18) !important;}
html[data-theme] .section-block#metodo .metodo-map-center,
body[data-theme] .section-block#metodo .metodo-map-center{
  background: radial-gradient(circle at center, rgba(255,255,255,.92), rgba(248,239,219,.96) 58%, rgba(240,225,169,.36) 100%) !important;
  border: 1px solid rgba(143,107,79,.12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.90), 0 0 0 14px rgba(143,107,79,.028), 0 0 0 32px rgba(143,107,79,.016), 0 16px 36px rgba(143,107,79,.07) !important;
}
html[data-theme] .section-block#metodo .metodo-map-center::after,
body[data-theme] .section-block#metodo .metodo-map-center::after{
  background: radial-gradient(circle at center, rgba(240,225,169,.24), transparent 74%) !important;
}
html[data-theme] .section-block#metodo .metodo-map-point,
body[data-theme] .section-block#metodo .metodo-map-point{
  background: #8f6b4f !important;
  box-shadow: 0 0 0 9px rgba(143,107,79,.08), 0 0 16px rgba(143,107,79,.12) !important;
}
html[data-theme] .section-block#metodo .metodo-map-callout,
body[data-theme] .section-block#metodo .metodo-map-callout{
  min-height: 66px !important;
  padding: 1rem 1.18rem !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, #fffaf1 0%, #f6edd8 100%) !important;
  border: 1px solid rgba(143,107,79,.11) !important;
  box-shadow: 0 12px 24px rgba(143,107,79,.05), inset 0 1px 0 rgba(255,255,255,.84) !important;
  letter-spacing: .10em !important;
}
html[data-theme] .section-block#metodo .metodo-map-callout::before,
body[data-theme] .section-block#metodo .metodo-map-callout::before{
  background: #8f6b4f !important;
  box-shadow: 0 0 0 6px rgba(143,107,79,.06) !important;
}
html[data-theme] .section-block#metodo .metodo-integrado-track,
body[data-theme] .section-block#metodo .metodo-integrado-track{
  display: grid !important;
  gap: 1.18rem !important;
  align-content: start !important;
}
html[data-theme] .section-block#metodo .metodo-stage-card,
body[data-theme] .section-block#metodo .metodo-stage-card{
  display: flex !important;
  align-items: flex-start !important;
  min-height: 150px !important;
  padding: 1.45rem 1.5rem !important;
  border-radius: 28px !important;
}
html[data-theme] .section-block#metodo .metodo-stage-body,
body[data-theme] .section-block#metodo .metodo-stage-body{
  width: 100% !important;
  padding: 0 !important;
}
html[data-theme] .section-block#metodo .metodo-stage-card h3,
body[data-theme] .section-block#metodo .metodo-stage-card h3{
  margin: 0 0 .75rem !important;
  font-size: clamp(1.5rem, 1.7vw, 1.8rem) !important;
  line-height: 1.12 !important;
}
html[data-theme] .section-block#metodo .metodo-stage-card p:last-child,
body[data-theme] .section-block#metodo .metodo-stage-card p:last-child{
  margin: 0 !important;
  max-width: 34ch !important;
  font-size: 1.02rem !important;
  line-height: 1.84 !important;
}
html[data-theme] .section-block#metodo .metodo-stage-card:hover,
html[data-theme] .section-block#metodo .metodo-stage-card:focus-within,
body[data-theme] .section-block#metodo .metodo-stage-card:hover,
body[data-theme] .section-block#metodo .metodo-stage-card:focus-within{
  transform: translateY(-4px) !important;
  background: linear-gradient(180deg, #fffaf2 0%, #f7efde 100%) !important;
  border-color: rgba(143,107,79,.15) !important;
  box-shadow: 0 18px 34px rgba(143,107,79,.07), inset 0 1px 0 rgba(255,255,255,.88) !important;
}
html[data-theme] .section-block#metodo .metodo-stage-legend,
body[data-theme] .section-block#metodo .metodo-stage-legend{
  margin-top: .06rem !important;
  padding: 1.2rem 1.28rem !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, #fcf8ef 0%, #f5ebd4 100%) !important;
  border: 1px solid rgba(143,107,79,.10) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.84), 0 12px 24px rgba(143,107,79,.05) !important;
  font-size: 1rem !important;
  line-height: 1.84 !important;
}
@media (max-width: 1140px){
  html[data-theme] .section-block#metodo .metodo-integrado-grid,
  body[data-theme] .section-block#metodo .metodo-integrado-grid{grid-template-columns: 1fr !important; gap: 1.6rem !important;}
  html[data-theme] .section-block#metodo .metodo-stage-card p:last-child,
  body[data-theme] .section-block#metodo .metodo-stage-card p:last-child{max-width: none !important;}
}
@media (max-width: 760px){
  html[data-theme] .section-block#metodo .container,
  body[data-theme] .section-block#metodo .container{width: min(100% - 1.4rem, 1500px) !important;}
  html[data-theme] .section-block#metodo .section-title,
  body[data-theme] .section-block#metodo .section-title{font-size: clamp(2.4rem, 10vw, 4rem) !important;}
  html[data-theme] .section-block#metodo .metodo-integrado-map-card,
  body[data-theme] .section-block#metodo .metodo-integrado-map-card{padding: 1.2rem !important;}
  html[data-theme] .section-block#metodo .metodo-integrado-map,
  body[data-theme] .section-block#metodo .metodo-integrado-map{min-height: 640px !important;}
  html[data-theme] .section-block#metodo .metodo-stage-card,
  body[data-theme] .section-block#metodo .metodo-stage-card{padding: 1.2rem 1.2rem 1.24rem !important; min-height: auto !important;}
  html[data-theme] .section-block#metodo .metodo-stage-card h3,
  body[data-theme] .section-block#metodo .metodo-stage-card h3{font-size: 1.34rem !important;}
  html[data-theme] .section-block#metodo .metodo-stage-card p:last-child,
  body[data-theme] .section-block#metodo .metodo-stage-card p:last-child{font-size: .98rem !important; line-height: 1.76 !important;}
}
