﻿@font-face { font-family: "Manrope"; src: url("/assets/fonts/manrope-latin.woff2") format("woff2"); font-style: normal; font-weight: 400 700; font-display: swap; }
@font-face { font-family: "DM Serif Display"; src: url("/assets/fonts/dm-serif-regular.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "DM Serif Display"; src: url("/assets/fonts/dm-serif-italic.woff2") format("woff2"); font-style: italic; font-weight: 400; font-display: swap; }

:root {
  --ink: #161616;
  --night: #0b0c0b;
  --night-soft: #121211;
  --paper: #f7f7f6;
  --paper-soft: #ecebea;
  --sand: #c9a96e;
  --copper: #a88a58;
  --gold: #d3b77b;
  --gold-deep: #86703f;
  --line-dark: rgba(255,255,255,.11);
  --line-light: rgba(22,22,22,.16);
  --muted: #bdbbb8;
  --max: 1440px;
}
* { box-sizing: border-box; }
html { max-width: 100%; overflow-x: hidden; overflow-x: clip; scroll-behavior: smooth; }
section[id] { scroll-margin-top: 110px; }
body {
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
  margin: 0;
  color: #f4f2f0;
  background: var(--night);
  font-family: "Manrope", sans-serif;
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
a, p, li, summary { text-wrap: pretty; }
h1, h2, h3, blockquote { text-wrap: balance; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
:focus-visible { outline: 2px solid var(--sand); outline-offset: 4px; }
.skip-link {
  position: fixed;
  top: -100px;
  left: 20px;
  z-index: 100;
  padding: 10px 16px;
  color: var(--ink);
  background: var(--paper);
}
.skip-link:focus { top: 20px; }
.progress-line {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 110;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, var(--gold-deep), var(--gold), var(--paper));
  transform: scaleX(0);
  transform-origin: left;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 90;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  min-height: 94px;
  padding: 0 clamp(24px, 4.5vw, 82px);
  border-bottom: 1px solid var(--line-dark);
  background: rgba(11,12,11,.9);
  backdrop-filter: blur(18px);
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  width: max-content;
  color: #f7f7f6;
}
.brand-symbol {
  display: block;
  width: 49px;
  height: 49px;
  flex: 0 0 49px;
}
.brand-symbol svg { display: block; width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 7px 18px rgba(0,0,0,.24)); }
.brand-orbit { fill: none; stroke: #f7f7f6; stroke-width: 2.15; stroke-linecap: square; }
.brand-axis { fill: none; stroke: var(--gold); stroke-width: 1.35; }
.brand-core { fill: var(--gold); stroke: var(--night); stroke-width: 1.5; }
.brand-word {
  display: grid;
  gap: 4px;
  line-height: 1;
}
.brand-word strong {
  font-family: "DM Serif Display", serif;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: .025em;
  white-space: nowrap;
}
.brand-word strong em { color: var(--gold); font-style: normal; }
.brand-word small {
  color: #b7b4b0;
  font-size: 7.5px;
  font-weight: 600;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.site-header nav {
  grid-column: 2 / 4;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: clamp(14px, 1.55vw, 27px);
  color: #c4c2bf;
  font-size: 14px;
}
.site-header nav > a { position: relative; white-space: nowrap; }
.site-header nav > a:not(.nav-cta):hover { color: #fff; }
.site-header nav > a:not(.nav-cta)[aria-current="location"] { color: #fff; }
.site-header nav > a:not(.nav-cta)[aria-current="location"]::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--copper);
  transform: translateX(-50%);
  box-shadow: 0 0 0 3px rgba(168,138,88,.12);
}
.nav-cta {
  padding: 13px 21px;
  border: 1px solid rgba(201,181,140,.52);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, rgba(211,183,123,.12), rgba(168,138,88,.04));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}
.nav-cta:hover { border-color: var(--sand); background: var(--paper); color: var(--ink); }
.language-switch {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 4px 5px 4px 11px;
  border: 1px solid rgba(201,181,140,.3);
  border-radius: 999px;
  color: #b6b3b0;
  background: rgba(255,255,255,.025);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.018);
}
.language-icon { color: var(--sand); font-family: "DM Serif Display", serif; font-size: 15px; }
.language-switch small { font-size: 8px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.language-switch > div { display: flex; gap: 2px; }
.language-switch a {
  display: grid;
  min-width: 34px;
  height: 30px;
  place-items: center;
  border-radius: 999px;
  color: #a5a29f;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
}
.language-switch a:hover { color: #fff; }
.language-switch a[aria-current="page"] { color: var(--ink); background: var(--sand); }
.menu-toggle { display: none; min-width: 44px; min-height: 44px; }
.menu-bars { position: relative; display: inline-block; width: 20px; height: 14px; }
.menu-bars i { position: absolute; left: 0; width: 20px; height: 1px; background: currentColor; transition: top .2s, transform .2s; }
.menu-bars i:first-child { top: 3px; }
.menu-bars i:last-child { top: 10px; }
.menu-toggle.is-open .menu-bars i:first-child { top: 7px; transform: rotate(45deg); }
.menu-toggle.is-open .menu-bars i:last-child { top: 7px; transform: rotate(-45deg); }
.menu-text { margin-left: 8px; }

.hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: calc(100svh - 94px);
  padding: clamp(48px, 6vh, 72px) clamp(24px, 5.5vw, 104px) clamp(42px, 5vh, 64px);
  overflow: hidden;
  background: var(--night);
}
.hero-bg-video { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.7) sepia(.06) contrast(1.08) brightness(.86); }
.hero-video-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(8,9,8,.97) 0%, rgba(8,9,8,.87) 34%, rgba(8,9,8,.46) 68%, rgba(8,9,8,.28) 100%), linear-gradient(180deg, rgba(8,9,8,.18), transparent 45%, rgba(8,9,8,.8)); }
.hero-video-overlay::after { content: ""; position: absolute; inset: 0; opacity: .18; background: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 108px 108px; }
.hero-copy { position: relative; z-index: 2; max-width: 790px; }
.eyebrow, .section-number {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 28px;
  color: var(--sand);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  line-height: 1.45;
}
.eyebrow > span { display: inline-block; width: 38px; height: 1px; background: currentColor; }
.hero h1 {
  max-width: 760px;
  margin: 0;
  font-family: "DM Serif Display", serif;
  font-size: clamp(50px, 4.6vw, 82px);
  font-weight: 400;
  line-height: 1.03;
  letter-spacing: -.022em;
}
.hero h1 em { display: block; color: var(--sand); font-weight: 400; }
.hero h1 em { color: var(--gold); text-shadow: 0 14px 48px rgba(168,138,88,.18); }
.hero-lead {
  max-width: 620px;
  margin: 28px 0 0;
  color: #d4d2cf;
  font-size: clamp(16px, 1.05vw, 19px);
  line-height: 1.68;
}
.hero-trust { max-width: 580px; margin: 20px 0 0; color: #c3c1bd; font-size: 13px; line-height: 1.55; }
.hero-actions, .final-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 25px;
  margin-top: 30px;
}
.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 26px;
  min-height: 58px;
  padding: 0 26px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  transition: transform .25s, background .25s, color .25s;
}
.button:hover { transform: translateY(-2px); }
.button-primary { color: #161616; background: #d9ccae; box-shadow: none; }
.button-primary:hover { background: #e6dbc0; }
.button-light { color: var(--ink); background: var(--paper); }
.button-outline { border-color: rgba(255,255,255,.35); color: #fff; }
.text-link {
  display: inline-flex;
  gap: 18px;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.24);
  color: #cfcdca;
  font-size: 14px;
  font-weight: 500;
}
.text-link.dark { border-color: rgba(22,22,22,.28); color: var(--ink); }
.hero-search-signal { position: absolute; right: clamp(24px,5.5vw,104px); bottom: clamp(34px,5vh,62px); z-index: 3; display: grid; gap: 8px; width: min(295px,30vw); padding: 18px 0 18px 20px; border-left: 1px solid rgba(214,193,154,.72); color: #f7f7f6; text-shadow: 0 2px 18px rgba(0,0,0,.72); }
.hero-search-signal .signal-kicker { display: flex; align-items: center; gap: 9px; color: var(--sand); font-size: 9px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.hero-search-signal .signal-kicker i { width: 7px; height: 7px; border: 2px solid #eeedec; border-radius: 50% 50% 50% 0; background: var(--copper); transform: rotate(-45deg); }
.hero-search-signal strong { font-family: "DM Serif Display", serif; font-size: 23px; font-weight: 400; line-height: 1.16; }
.hero-search-signal small { color: #c2c0bc; font-size: 11px; line-height: 1.5; }
.hero-search-signal small strong { color: #f7f7f6; font-family: "Manrope", sans-serif; font-size: inherit; font-weight: 600; }
.hero-visual { position: relative; z-index: 2; display: grid; place-items: center; min-height: 450px; }
.hero-video-card {
  position: relative;
  width: min(465px, 92%);
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 1px solid rgba(240,236,229,.16);
  border-radius: 22px;
  background: #1c1c1b;
  box-shadow: 0 38px 90px rgba(0,0,0,.5);
  transform: rotate(-1deg);
}
.map-video { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; filter: saturate(.48) sepia(.12) contrast(1.08) brightness(.7); }
.video-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16,15,13,.3), transparent 38%, rgba(16,15,13,.9) 100%), linear-gradient(90deg, rgba(168,138,88,.18), transparent 55%); }
.video-search {
  position: absolute;
  top: 17px;
  right: 17px;
  left: 17px;
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 57px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 15px;
  color: #eeedec;
  background: rgba(16,15,13,.58);
  backdrop-filter: blur(12px);
  font-size: 14px;
}
.video-search b { margin-left: auto; color: var(--sand); }
.video-location { position: absolute; top: 40%; left: 54%; width: 54px; height: 54px; transform: translate(-50%,-50%); }
.video-location i { position: absolute; inset: 0; border: 1px solid rgba(224,208,176,.62); border-radius: 50%; animation: location-pulse 2.4s ease-out infinite; }
.video-location span { position: absolute; top: 50%; left: 50%; width: 12px; height: 12px; border: 3px solid #eeedec; border-radius: 50% 50% 50% 0; background: var(--copper); transform: translate(-50%,-65%) rotate(-45deg); box-shadow: 0 6px 18px rgba(0,0,0,.4); }
.video-caption { position: absolute; right: 27px; bottom: 28px; left: 27px; display: grid; gap: 7px; }
.video-caption small { color: var(--sand); font-size: 9px; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; }
.video-caption strong { max-width: 330px; color: #f1efed; font-family: "DM Serif Display", serif; font-size: clamp(25px,2vw,34px); font-weight: 400; line-height: 1.1; }
@keyframes location-pulse { 0% { opacity: .7; transform: scale(.25); } 80%,100% { opacity: 0; transform: scale(1.25); } }
.search-card {
  position: relative;
  width: min(400px, 88%);
  padding: 13px;
  color: var(--ink);
  background: #f3f2f1;
  border-radius: 20px;
  box-shadow: 0 38px 90px rgba(0,0,0,.46);
  transform: rotate(-1.2deg);
}
.search-top {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 64px;
  padding: 0 16px;
  border: 1px solid rgba(22,22,22,.12);
  border-radius: 15px;
  color: #605e5c;
}
.search-top b { margin-left: auto; }
.search-g { color: var(--copper); font-weight: 600; }
.map-lines {
  position: relative;
  height: 225px;
  margin-top: 10px;
  overflow: hidden;
  border-radius: 14px;
  background:
    linear-gradient(66deg, transparent 0 29%, #f4f3f0 29% 34%, transparent 34%),
    linear-gradient(-24deg, transparent 0 38%, #f4f3f0 38% 44%, transparent 44%),
    linear-gradient(92deg, transparent 0 67%, #f4f3f0 67% 72%, transparent 72%),
    #d3d1ce;
}
.pin { position: absolute; color: var(--copper); filter: drop-shadow(0 4px 4px rgba(0,0,0,.25)); }
.pin-one { left: 26%; top: 31%; }
.pin-two { right: 31%; top: 68%; }
.pin-three { right: 24%; top: 22%; }
.result-card { display: flex; align-items: center; gap: 14px; padding: 15px 10px 8px; }
.result-dot { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg,#222221,var(--copper)); }
.result-card div { display: grid; }
.result-card small { color: #8c8883; letter-spacing: .12em; text-transform: uppercase; }
.result-card strong { font-size: 15px; }
.result-card div span { color: var(--copper); font-size: 11px; letter-spacing: .15em; }
.visual-note {
  position: absolute;
  right: 0;
  bottom: 30px;
  padding: 17px 20px;
  color: #a4a29f;
  background: rgba(16,15,13,.86);
  font-size: 12px;
}
.visual-note strong { color: #f3f2f1; }
.orb { position: absolute; border-radius: 50%; filter: blur(40px); }
.orb-one { width: 280px; height: 280px; background: rgba(168,138,88,.15); }
.orb-two { right: 8%; bottom: 8%; width: 140px; height: 140px; background: rgba(214,198,166,.12); }

.signature-strip {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(18px, 3vw, 56px);
  min-height: 102px;
  padding: 20px 30px 58px;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
  color: #a5a3a0;
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.signature-strip i { width: 3px; height: 3px; border-radius: 50%; background: var(--copper); }
.signature-strip::after { position: absolute; right: 0; bottom: -56px; left: 0; height: 104px; border-radius: 52% 48% 0 0 / 86% 72% 0 0; content: ""; background: #f3f2f1; transform: rotate(-1.2deg); transform-origin: center; pointer-events: none; }

.manifesto {
  position: relative;
  display: grid;
  grid-template-columns: minmax(220px,.34fr) minmax(0,1fr);
  gap: clamp(52px,7vw,120px);
  padding: clamp(110px,9vw,150px) clamp(24px,7vw,130px) clamp(130px,10vw,170px);
  overflow: hidden;
  border-top: 1px solid rgba(22,22,22,.08);
  border-bottom: 1px solid rgba(22,22,22,.1);
  color: var(--ink);
  background: linear-gradient(135deg,#f7f7f6 0%,#ecebea 100%);
}
.manifesto::before {
  position: absolute;
  inset: 0;
  content: "";
  opacity: .24;
  background-image: linear-gradient(rgba(22,22,22,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(22,22,22,.08) 1px, transparent 1px);
  background-size: 112px 112px;
  -webkit-mask-image: linear-gradient(90deg, #000, transparent 48%);
  mask-image: linear-gradient(90deg, #000, transparent 48%);
}
.manifesto::after {
  position: absolute;
  top: -35%;
  right: -12%;
  width: 58vw;
  height: 58vw;
  border-radius: 50%;
  content: "";
  background: radial-gradient(circle, rgba(168,138,88,.1), transparent 68%);
  pointer-events: none;
}
.manifesto-aside {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 490px;
  padding-right: clamp(24px,4vw,66px);
  border-right: 1px solid rgba(22,22,22,.14);
  flex-direction: column;
  justify-content: space-between;
}
.manifesto .section-number { color: #7d6a47; }
.manifesto-content { position: relative; z-index: 2; align-self: center; }
.manifesto blockquote {
  max-width: 1040px;
  margin: 0;
  font-family: "DM Serif Display", serif;
  font-size: clamp(50px,5vw,88px);
  line-height: 1.04;
  letter-spacing: -.025em;
}
.manifesto blockquote em { color: var(--copper); font-weight: 400; }
.manifesto-detail {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: clamp(32px,5vw,82px);
  align-items: end;
  margin-top: clamp(52px,6vw,82px);
  padding-top: 30px;
  border-top: 1px solid rgba(22,22,22,.16);
}
.manifesto-copy {
  max-width: 720px;
  margin: 0;
  color: #5c5a58;
  font-size: clamp(15px,1vw,17px);
  line-height: 1.82;
}
.manifesto-note {
  max-width: 220px;
  margin: 0;
  color: #696663;
  font-family: "DM Serif Display",serif;
  font-size: 20px;
  line-height: 1.35;
}
.manifesto-orbit {
  position: relative;
  width: clamp(150px,12vw,190px);
  aspect-ratio: 1;
  margin: auto 0;
  border: 1px solid rgba(22,22,22,.2);
  border-radius: 50%;
}
.manifesto-orbit::before,
.manifesto-orbit::after {
  position: absolute;
  border: 1px solid rgba(22,22,22,.12);
  border-radius: 50%;
  content: "";
}
.manifesto-orbit::before { inset: 20%; }
.manifesto-orbit::after { inset: 42%; background: rgba(168,138,88,.08); }
.manifesto-orbit span,
.manifesto-orbit i {
  position: absolute;
  background: rgba(22,22,22,.2);
  content: "";
}
.manifesto-orbit span { top: 50%; left: 8%; width: 84%; height: 1px; }
.manifesto-orbit i { top: 8%; left: 50%; width: 1px; height: 84%; }
.manifesto-orbit b {
  position: absolute;
  top: 47%;
  left: 47%;
  z-index: 2;
  width: 12px;
  height: 12px;
  border-radius: 50% 50% 50% 0;
  background: var(--copper);
  box-shadow: 0 0 0 8px rgba(168,138,88,.1);
  transform: rotate(-45deg);
}
.manifesto-principles {
  display: grid;
  grid-template-columns: repeat(3,minmax(90px,1fr));
  min-width: min(380px,34vw);
  border: 1px solid rgba(22,22,22,.14);
  background: rgba(255,255,255,.18);
}
.manifesto-principles span {
  position: relative;
  padding: 32px 18px 17px;
  color: #4f4d4b;
  border-right: 1px solid rgba(22,22,22,.12);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.manifesto-principles span:last-child { border-right: 0; }
.manifesto-principles span::before {
  position: absolute;
  top: 16px;
  left: 18px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  content: "";
  background: var(--copper);
}
.manifesto-route {
  position: absolute;
  bottom: -310px;
  left: -230px;
  width: 650px;
  height: 650px;
  border: 1px solid rgba(168,138,88,.18);
  border-radius: 50%;
  pointer-events: none;
}
.manifesto-route i { position: absolute; inset: 12%; border: 1px solid rgba(22,22,22,.08); border-radius: 50%; }
.manifesto-route i:nth-child(2) { inset: 27%; }
.manifesto-route b { position: absolute; top: 16%; right: 18%; width: 7px; height: 7px; border-radius: 50%; background: var(--copper); box-shadow: 0 0 0 9px rgba(168,138,88,.08); }

.method {
  position: relative;
  margin: 24px;
  padding: 135px clamp(24px,7vw,110px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 46px;
  background: linear-gradient(145deg,#111110,#181817);
  box-shadow: 0 28px 70px rgba(0,0,0,.24);
}
.method::before { position: absolute; top: -260px; right: -180px; width: 620px; height: 620px; border: 1px solid rgba(201,181,140,.1); border-radius: 50%; content: ""; box-shadow: 0 0 0 90px rgba(201,181,140,.025), 0 0 0 180px rgba(201,181,140,.018); pointer-events: none; }
.faq { padding: 135px clamp(24px,7vw,130px); background: var(--night); }
.section-heading { max-width: 920px; margin-bottom: 70px; }
.section-heading h2, .proof-heading h2, .about h2, .services h2 {
  margin: 0;
  font-family: "DM Serif Display", serif;
  font-size: clamp(44px, 4.8vw, 78px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.014em;
}
.section-heading > p:last-child { max-width: 620px; margin: 24px 0 0; color: #b6b4b1; font-size: 17px; line-height: 1.8; }
.method .section-heading { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(280px,.55fr); gap: 32px 70px; max-width: none; }
.method .section-heading .section-number { grid-column: 1 / 3; margin-bottom: 0; }
.method .section-heading > p:last-child { align-self: end; margin: 0; }
.method-layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(280px,.82fr) minmax(0,1.18fr); gap: clamp(42px,5vw,76px); align-items: stretch; }
.method-visual { position: relative; display: grid; min-height: 570px; margin: 0; overflow: hidden; grid-template-rows: minmax(0,1fr) auto; border: 1px solid rgba(255,255,255,.1); border-radius: 28px; background: #ebe7e0; }
.method-profile-preview { display: grid; align-content: center; gap: 0; padding: clamp(24px,3.2vw,46px); background: linear-gradient(145deg,#f2efe9 0%,#e5ded4 100%); }
.method-profile-photo { position: relative; min-height: 230px; overflow: hidden; border-radius: 20px 20px 0 0; background: #c8b8a8; }
.method-profile-photo img { width: 100%; height: 100%; min-height: 230px; object-fit: cover; object-position: center; transition: transform .7s ease; }
.method-visual:hover .method-profile-photo img { transform: scale(1.018); }
.method-profile-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(13,12,11,0) 45%,rgba(13,12,11,.58)); }
.method-profile-photo > span { position: absolute; z-index: 2; left: 20px; bottom: 18px; color: #fff; font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.method-profile-card { position: relative; padding: 24px 26px 26px; border-radius: 0 0 20px 20px; background: #fff; color: #171513; }
.method-google { display: block; margin-bottom: 10px; color: #7d7872; font-size: 12px; letter-spacing: .02em; }
.method-profile-card > strong { display: block; font-family: "DM Serif Display",serif; font-size: clamp(28px,2.5vw,38px); font-weight: 400; line-height: 1; }
.method-profile-card > p { margin: 7px 0 15px; color: #69635d; font-size: 13px; }
.method-profile-rating { display: flex; flex-wrap: wrap; gap: 7px 10px; align-items: center; }
.method-profile-rating b { font-size: 14px; }
.method-profile-rating span { color: #aa6a32; font-size: 13px; letter-spacing: .08em; }
.method-profile-rating small { flex-basis: 100%; color: #7f7973; font-size: 11px; }
.method-profile-actions { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 18px; }
.method-profile-actions span { padding: 9px 7px; border: 1px solid #d8d2cb; border-radius: 999px; color: #4c4742; font-size: 10px; font-weight: 600; text-align: center; }
.method-visual figcaption { position: relative; z-index: 2; max-width: none; padding: 27px 30px 29px; border-top: 1px solid rgba(255,255,255,.1); color: #eeece9; background: #181818; font-family: "DM Serif Display",serif; font-size: clamp(24px,2vw,32px); line-height: 1.12; }
.method-grid { border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.method-card { display: grid; min-height: 176px; grid-template-columns: .52fr .86fr 1.3fr; gap: 24px; align-items: center; padding: 28px 0; border-bottom: 1px solid var(--line-dark); }
.method-card:last-child { border-bottom: 0; }
.method-card > span { color: var(--sand); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.method-icon { display: none; }
.method-card h3,.service-item h3 { margin: 0; font-size: 22px; font-weight: 500; }
.method-card p { max-width: 420px; margin: 0; color: #a5a3a1; line-height: 1.72; }

.services {
  position: relative;
  z-index: 2;
  isolation: isolate;
  padding: 150px clamp(24px, 7vw, 130px) 145px;
  color: var(--ink);
  background: #f3f2f1;
}
.services::before { position: absolute; top: -62px; right: 0; left: 0; z-index: 0; height: 116px; border-radius: 48% 52% 0 0 / 76% 92% 0 0; content: ""; background: #f3f2f1; transform: rotate(1deg); pointer-events: none; }
.services > * { position: relative; z-index: 1; }
.services .section-heading { display: grid; grid-template-columns: .35fr 1fr; max-width: none; }
.services .section-heading h2 { max-width: 950px; }
.section-number.light { color: #7d6a47; }
.service-list { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); grid-template-rows: repeat(2,minmax(290px,1fr)); gap: 18px; }
.service-item { position: relative; display: grid; min-height: 0; overflow: hidden; border: 1px solid rgba(22,22,22,.14); border-radius: 28px; color: #f0efec; background: #161616; transition: transform .35s ease,border-color .35s ease; }
.service-item-1 { grid-row: 1 / 3; grid-template-rows: minmax(360px,1.25fr) auto; }
.service-item-2,
.service-item-3 { grid-template-columns: minmax(150px,.44fr) minmax(220px,.56fr); grid-template-rows: 1fr; }
.service-item-2 .service-media { grid-column: 2; grid-row: 1; }
.service-item-2 .service-copy { grid-column: 1; grid-row: 1; }
.service-item:hover { border-color: rgba(111,90,55,.35); transform: translateY(-4px); }
.service-media { position: relative; min-height: 0; margin: 0; overflow: hidden; background: #eeedec; }
.service-media::after { position: absolute; right: 0; bottom: 0; left: 0; height: 18%; content: ""; background: linear-gradient(180deg,transparent,rgba(24,21,18,.12)); pointer-events: none; }
.service-media.service-data { display: flex; padding: clamp(18px,2vw,28px); flex-direction: column; justify-content: center; gap: 22px; background: #1c1c1b; }
.service-media.service-data::after { display: none; }
.service-item-2 .data-number,
.service-item-3 .data-number { font-size: clamp(34px,3.2vw,48px); }
.service-item-1 .data-print { align-self: flex-start; width: 100%; max-width: 488px; }
.data-panel { display: flex; flex-direction: column; justify-content: center; gap: 8px; color: #f2f2f0; }
.data-number { font-family: "DM Serif Display",serif; font-size: clamp(48px,5vw,76px); font-weight: 400; line-height: 1; letter-spacing: -.01em; color: #d9c8a0; }
.data-label { color: #bbbab8; font-size: 15px; line-height: 1.4; }
.data-print { margin: 0; }
.data-print img { display: block; width: 100%; max-width: 488px; height: auto; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; background: #fff; object-fit: contain; }
.data-source { display: block; margin-top: 12px; color: #8d8d8b; font-size: 11px; letter-spacing: .04em; }
.service-copy { position: relative; z-index: 2; display: flex; min-height: 0; padding: 29px 32px 32px; flex-direction: column; justify-content: flex-start; border-top: 1px solid rgba(255,255,255,.08); background: #161616; }
.service-item-2 .service-copy,
.service-item-3 .service-copy { justify-content: center; padding: 28px; border-top: 0; }
.service-evidence { margin-bottom: 18px; color: #cdb283; font-size: 10px; letter-spacing: .15em; text-transform: uppercase; }
.service-item h3 { max-width: 300px; margin: 0 0 14px; font-family: "DM Serif Display",serif; font-size: clamp(27px,2vw,34px); font-weight: 400; line-height: 1.05; }
.service-item-1 h3 { max-width: 430px; font-size: clamp(34px,3vw,48px); }
.service-item-2 h3,
.service-item-3 h3 { font-size: clamp(26px,2vw,32px); }
.service-item p { max-width: 340px; margin: 0; color: #bdbab7; line-height: 1.65; }
.service-foot { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-top: 50px; }
.service-foot p { max-width: 680px; color: #5d5a58; }
.services .button-light { color: #f1efed; background: var(--ink); }
.services .button-light:hover { background: #222221; }

.proof-section {
  display: grid;
  grid-template-columns: .68fr 1.32fr;
  gap: 85px;
  padding: 135px clamp(24px, 7vw, 130px);
  color: var(--ink);
  background: var(--paper);
}
.proof-heading p:not(.section-number) { max-width: 540px; color: #5e5c59; line-height: 1.8; }
.proof-heading .text-link { margin-top: 24px; }
.case-study { align-self: center; overflow: hidden; border: 1px solid #c9c6c2; border-radius: 28px; background: #f7f7f6; }
.case-study header { display: flex; justify-content: space-between; gap: 24px; padding: 22px 28px; border-bottom: 1px solid #d2d0cc; color: #6f5a37; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.case-study header strong { color: #3b3937; font-weight: 500; }
.case-main { display: grid; grid-template-columns: .66fr 1.34fr; align-items: end; min-height: 270px; }
.case-total { display: flex; height: 100%; padding: 36px 30px; flex-direction: column; justify-content: flex-end; background: #171717; color: #f7f7f6; }
.case-total strong { font-family: "DM Serif Display",serif; font-size: clamp(62px,6vw,94px); font-weight: 400; line-height: .9; letter-spacing: -.04em; }
.case-total span { max-width: 210px; margin-top: 22px; color: #c0bdb9; font-size: 14px; line-height: 1.55; }
.case-chart { padding: 36px 28px 30px; }
.case-chart svg { display: block; width: 100%; height: auto; overflow: visible; border-bottom: 1px solid #c9c6c2; }
.case-chart > span { display: block; margin-top: 14px; color: #666360; font-size: 12px; letter-spacing: .05em; }
.case-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid #d2d0cc; }
.case-metric { min-height: 128px; padding: 24px 22px; border-right: 1px solid #d2d0cc; }
.case-metric:last-child { border-right: 0; }
.case-metric strong { display: block; font-family: "DM Serif Display",serif; font-size: clamp(34px,3vw,48px); font-weight: 400; line-height: 1; }
.case-metric span { display: block; margin-top: 13px; color: #666360; font-size: 13px; line-height: 1.45; }
.case-study footer { padding: 18px 28px 22px; border-top: 1px solid #d2d0cc; color: #75716e; font-size: 11px; line-height: 1.55; }
.portfolio-proof { grid-column: 1 / -1; margin-top: 28px; overflow: hidden; border: 1px solid #c9c6c2; border-radius: 28px; background: #161616; color: #f7f7f6; }
.portfolio-proof > header { display: grid; grid-template-columns: .7fr 1.3fr; gap: 48px; align-items: end; padding: 30px 34px; border-bottom: 1px solid #33302d; }
.portfolio-proof > header div { display: flex; flex-direction: column; gap: 8px; }
.portfolio-proof > header span { color: #cdb283; font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.portfolio-proof > header strong { font-family: "DM Serif Display",serif; font-size: 30px; font-weight: 400; }
.portfolio-proof > header p { max-width: 680px; margin: 0; color: #a4a09d; font-size: 13px; line-height: 1.65; }
.portfolio-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); }
.portfolio-case { position: relative; grid-column: span 2; min-height: 230px; padding: 32px 30px 30px; border-right: 1px solid #33302d; border-bottom: 1px solid #33302d; }
.portfolio-case:nth-child(3) { border-right: 0; }
.portfolio-case:nth-child(4), .portfolio-case:nth-child(5) { grid-column: span 3; border-bottom: 0; }
.portfolio-case:nth-child(5) { border-right: 0; }
.portfolio-case > p { min-height: 52px; margin: 0 0 30px; color: #e0dfde; font-family: "DM Serif Display",serif; font-size: clamp(20px,1.75vw,26px); line-height: 1.08; text-wrap: balance; }
.portfolio-case > div { display: grid; grid-template-columns: 1fr; margin-top: 18px; }
.portfolio-case > div + div { padding-top: 17px; border-top: 1px solid #33302d; }
.portfolio-case strong { font-family: "DM Serif Display",serif; font-size: 34px; font-weight: 400; line-height: 1; }
.portfolio-case small { margin-top: 7px; color: #96928f; font-size: 11px; }
.proof-row b { color: var(--copper); text-align: center; }
.proof-row strong { font-weight: 600; }

.about {
  position: relative;
  z-index: 3;
  isolation: isolate;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 90px;
  padding: 165px clamp(24px, 7vw, 130px) 155px;
  color: var(--ink);
  background: var(--paper-soft);
}
.about::before { position: absolute; top: -58px; right: 0; left: 0; z-index: 0; height: 112px; border-radius: 53% 47% 0 0 / 90% 72% 0 0; content: ""; background: var(--paper-soft); transform: rotate(-.8deg); pointer-events: none; }
.about > * { position: relative; z-index: 1; }
.about-gallery {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(120px, .65fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 10px;
  min-height: 560px;
  padding: 10px;
  border: 1px solid rgba(22,22,22,.18);
  border-radius: 30px;
  background: rgba(255,255,255,.28);
}
.about-photo { position: relative; min-width: 0; min-height: 0; margin: 0; overflow: hidden; border-radius: 18px; background: #c8c4c0; }
.about-photo-main { grid-row: 1 / 3; }
.about-photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.84) contrast(1.02); transition: transform .7s ease, filter .7s ease; }
.about-photo-main img { object-position: 50% 30%; }
.about-photo-authority img { object-position: 50% 26%; }
.about-photo-digital img { object-position: 55% 28%; }
.about-gallery:hover .about-photo img { filter: saturate(.95) contrast(1.02); }
.about-photo:hover img { transform: scale(1.025); }
.about-photo-main::after { content: ""; position: absolute; inset: auto 0 0; height: 34%; background: linear-gradient(transparent, rgba(16,15,13,.74)); }
.about-photo figcaption { position: absolute; right: 22px; bottom: 18px; left: 22px; z-index: 2; display: flex; justify-content: space-between; align-items: end; gap: 18px; color: #f7f7f6; }
.about-photo figcaption span { font-family: "DM Serif Display", serif; font-size: 21px; letter-spacing: .02em; }
.about-photo figcaption small { color: #d6c8ae; font-size: 9px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.about-copy { align-self: center; }
.about-copy > p:not(.section-number) { max-width: 650px; color: #52504e; font-size: 17px; line-height: 1.8; }
.about-note { padding-left: 18px; border-left: 2px solid var(--copper); font-weight: 500; }
.about-copy .text-link { margin-top: 20px; }

.social-editorial { position: relative; z-index: 4; isolation: isolate; padding: 175px clamp(24px, 7vw, 130px) 145px; background: var(--night); }
.social-editorial::before { position: absolute; top: -68px; right: 0; left: 0; z-index: 0; height: 128px; border-radius: 46% 54% 0 0 / 82% 96% 0 0; content: ""; background: var(--night); transform: rotate(1.15deg); pointer-events: none; }
.social-editorial > * { position: relative; z-index: 1; }
.social-heading { display: grid; grid-template-columns: .35fr 1fr; gap: 28px; align-items: end; margin-bottom: 66px; }
.social-heading .section-number { align-self: start; }
.social-heading h2 { max-width: 840px; margin: 0; font-family: "DM Serif Display", serif; font-size: clamp(44px, 4.8vw, 76px); font-weight: 400; line-height: 1.08; letter-spacing: -.014em; }
.social-heading > div { grid-column: 2; display: flex; justify-content: space-between; align-items: end; gap: 40px; }
.social-heading > div p { max-width: 690px; margin: 0; color: #b3b0ad; font-size: 17px; line-height: 1.8; }
.social-grid { display: grid; grid-template-columns: 1fr 1.05fr 1fr; gap: 16px; }
.social-card { position: relative; display: flex; min-height: 470px; padding: 34px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 28px; flex-direction: column; justify-content: space-between; transition: transform .4s ease, border-color .4s ease, box-shadow .4s ease; }
.social-card::before { position: absolute; inset: 0; content: ""; pointer-events: none; }
.social-card:hover { border-color: rgba(201,181,140,.45); transform: translateY(-6px); box-shadow: 0 28px 65px rgba(0,0,0,.24); }
.social-card-label { position: relative; z-index: 2; color: var(--sand); font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.social-card > div { position: relative; z-index: 2; max-width: 390px; }
.social-card h3 { margin: 0 0 18px; font-family: "DM Serif Display", serif; font-size: clamp(31px, 2.7vw, 46px); font-weight: 400; line-height: 1.04; }
.social-card p { max-width: 330px; margin: 0; color: #bebbb8; line-height: 1.7; }
.social-card > b { position: absolute; top: 26px; right: 28px; z-index: 2; color: var(--sand); font-size: 20px; font-weight: 400; transition: transform .3s ease; }
.social-card:hover > b { transform: translate(3px,-3px); }
.social-card-1 { color: var(--ink); background: #f3f2f1; }
.social-card-1::before { background: radial-gradient(circle at 80% 18%,rgba(168,138,88,.16),transparent 24%),linear-gradient(120deg,transparent 0 68%,rgba(22,22,22,.035) 68% 69%,transparent 69%); }
.social-card-1 .social-card-label,.social-card-1 > b { color: var(--copper); }
.social-card-1 p { color: #5d5a58; }
.social-card-2 { background: linear-gradient(180deg,rgba(13,12,10,.08),rgba(13,12,10,.9)),url('/assets/andrezza-autoridade.jpg') 50% 28%/cover; }
.social-card-2::before { background: linear-gradient(135deg,rgba(16,15,13,.05),rgba(16,15,13,.34)); }
.social-card-3 { background: radial-gradient(circle at 70% 16%,rgba(168,138,88,.1),transparent 32%),linear-gradient(145deg,#161616,#1f1f1e); }
.social-card-3::before { right: -120px; bottom: -120px; left: auto; top: auto; width: 330px; height: 330px; border: 1px solid rgba(201,181,140,.14); border-radius: 50%; box-shadow: 0 0 0 60px rgba(201,181,140,.025); }
.social-card-1 { transform: translateY(18px); }
.social-card-2 { transform: translateY(-24px); }
.social-card-3 { transform: translateY(10px); }
.social-card-1:hover { transform: translateY(10px); }
.social-card-2:hover { transform: translateY(-32px); }
.social-card-3:hover { transform: translateY(2px); }

.faq-list { max-width: 920px; margin-left: auto; }
.faq details { border-top: 1px solid var(--line-dark); }
.faq details:last-child { border-bottom: 1px solid var(--line-dark); }
.faq summary { position: relative; padding: 27px 45px 27px 0; cursor: pointer; list-style: none; font-size: 18px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; color: var(--sand); font-size: 25px; }
.faq details[open] summary::after { content: "−"; }
.faq details p { max-width: 700px; margin: -8px 0 28px; color: #afadaa; line-height: 1.8; }

.final-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 24px 24px 0;
  padding: 125px clamp(24px, 8vw, 150px);
  min-height: 720px;
  border-radius: 46px 46px 0 0;
  text-align: center;
  background: #111110 url('/assets/spa-maps-cta-poster.jpg') center 32% / cover no-repeat;
}
.final-cta-video,
.final-cta-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.final-cta-video { z-index: -2; object-fit: cover; object-position: center 32%; filter: saturate(.68) contrast(1.02) brightness(.78); }
.final-cta-overlay {
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(8,8,7,.76) 0%, rgba(8,8,7,.67) 42%, rgba(8,8,7,.88) 100%),
    linear-gradient(90deg, rgba(8,8,7,.42), transparent 28%, transparent 72%, rgba(8,8,7,.42));
}
.final-cta-content { position: relative; z-index: 1; width: 100%; margin: auto; }
.final-cta .eyebrow { justify-content: center; }
.final-cta h2 { max-width: 1050px; margin: 0 auto; font-family: "DM Serif Display", serif; font-size: clamp(50px,6.3vw,105px); font-weight: 400; line-height: 1.08; }
.final-cta-content > p:not(.eyebrow) { color: #d0ccc5; font-size: 18px; }
.final-actions { justify-content: center; }
.final-cta-content > small { display: block; margin-top: 24px; color: #c2beb7; }

footer {
  display: grid;
  grid-template-columns: 1fr 1.5fr 1fr;
  align-items: center;
  gap: 30px;
  min-height: 160px;
  padding: 35px clamp(24px, 5.5vw, 104px);
  border-top: 1px solid var(--line-dark);
  color: #a5a3a0;
  background: var(--night);
  font-size: 12px;
}
.footer-copy { text-align: center; }
.footer-copy p { margin: 0; }
.footer-copy small { color: #9a9895; }
footer > div:last-child { display: flex; justify-content: flex-end; gap: 22px; }
footer a:hover { color: #fff; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .75s ease, transform .75s ease; }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 1180px) {
  .site-header { grid-template-columns: auto 1fr auto; }
  .hero h1 { font-size: clamp(50px,5.4vw,72px); }
  .site-header nav { gap: 13px; }
}
@media (max-width: 1120px) {
  body.menu-open { overflow: hidden; }
  .site-header { min-height: 76px; padding: 0 22px; }
  .brand-symbol { width: 45px; height: 45px; flex-basis: 45px; }
  .menu-toggle { display: inline-flex; grid-column: 3; justify-content: center; align-items: center; color: #fff; background: none; border: 0; cursor: pointer; }
  .site-header nav {
    position: absolute;
    top: 76px;
    left: 0;
    display: none;
    width: 100%;
    max-height: calc(100svh - 76px);
    padding: 25px 25px 34px;
    overflow-y: auto;
    border-bottom: 1px solid var(--line-dark);
    background: rgba(21,19,17,.98);
    box-shadow: 0 24px 45px rgba(0,0,0,.34);
    flex-direction: column;
    align-items: flex-start;
  }
  .site-header nav.open { display: flex; }
  .site-header nav > a:not(.nav-cta) { display: block; }
  .language-switch { order: -1; margin-bottom: 6px; }
  .hero { padding-top: 85px; }
  .signature-strip { justify-content: flex-start; overflow-x: auto; }
  .signature-strip span { flex: 0 0 auto; }
  .manifesto, .services .section-heading, .proof-section, .about { grid-template-columns: 1fr; }
  .manifesto { gap: 56px; }
  .manifesto-aside { display: grid; min-height: auto; grid-template-columns: 1fr auto; gap: 28px; align-items: start; padding: 0 0 38px; border-right: 0; border-bottom: 1px solid rgba(22,22,22,.14); }
  .manifesto-orbit { grid-row: 1 / 3; grid-column: 2; width: 130px; margin: 0; }
  .manifesto-note { align-self: end; }
  .method-grid { grid-template-columns: 1fr; }
  .method-card { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .method-card:last-child { border-bottom: 0; }
  .method-icon { margin: 30px 0 22px; }
  .service-copy { grid-template-columns: 1fr; gap: 4px; }
  .about-gallery { min-height: 520px; }
  footer { grid-template-columns: 1fr; text-align: center; }
  .footer-brand { margin: auto; }
  footer > div:last-child { justify-content: center; }
}
@media (max-width: 820px) {
  .method { margin: 14px; border-radius: 34px; }
  .method .section-heading { grid-template-columns: 1fr; gap: 24px; }
  .method .section-heading .section-number { grid-column: 1; }
  .method .section-heading > p:last-child { margin-top: 0; }
  .method-layout { grid-template-columns: 1fr; }
  .method-visual { min-height: 430px; }
  .method-visual > span { right: 24px; }
  .method-card { grid-template-columns: .55fr 1fr; gap: 14px 28px; }
  .method-card p { grid-column: 2; }
  .service-list { grid-template-columns: 1fr; }
  .service-list { grid-template-rows: none; }
  .service-item,
  .service-item-1,
  .service-item-2,
  .service-item-3 { min-height: 470px; grid-row: auto; grid-template-columns: 1fr; grid-template-rows: minmax(250px,1fr) auto; }
  .service-item-2 .service-media,
  .service-item-2 .service-copy { grid-column: 1; grid-row: auto; }
  .service-item-2 .service-copy,
  .service-item-3 .service-copy { justify-content: flex-start; padding: 29px 32px 32px; border-top: 1px solid rgba(255,255,255,.08); }
  .service-item-1 h3 { font-size: clamp(30px,5vw,40px); }
  .social-heading { grid-template-columns: 1fr; }
  .social-heading > div { grid-column: 1; }
  .social-grid { grid-template-columns: 1fr; }
  .social-card { min-height: 390px; }
  .social-card-1,.social-card-2,.social-card-3,.social-card-1:hover,.social-card-2:hover,.social-card-3:hover { transform: none; }
  .final-cta { margin: 14px 14px 0; min-height: 680px; border-radius: 34px 34px 0 0; }
}
@media (max-width: 560px) and (pointer: coarse) {
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .site-header { backdrop-filter: blur(10px); }
  .site-header nav { box-shadow: 0 10px 24px rgba(0,0,0,.18); }
  .brand-symbol svg { filter: none; }
  .hero h1 em,
  .hero-search-signal { text-shadow: none; }
  .button-primary { background: #d6c8ae; box-shadow: none; }
  .method { background: #161616; box-shadow: none; }
  .service-item,
  .service-item:nth-child(2),
  .service-item:nth-child(3) { border-radius: 20px; background: #171717; box-shadow: none; }
  .service-item::before,
  .social-card-3::before { box-shadow: none; }
  .service-item:hover,
  .social-card:hover { transform: none; box-shadow: none; }
  .services .section-number.light { color: #6f5a37; }
  .social-editorial .section-number.light { color: #d6c19a; }
  .proof-section .section-number,
  .about .section-number { color: #6f5a37; }
  .proof-labels,
  .proof-row span { color: #504d4b; }
  .social-card-2 { background-image: linear-gradient(180deg,rgba(13,12,10,.08),rgba(13,12,10,.9)),url('/assets/andrezza-autoridade-mobile.jpg'); }
  .hero { min-height: calc(100svh - 76px); padding: 72px 20px 150px; }
  .hero-bg-video { object-position: 58% center; }
  .hero-video-overlay { background: linear-gradient(90deg, rgba(12,11,10,.91), rgba(12,11,10,.5)), linear-gradient(180deg, rgba(12,11,10,.25), transparent 42%, rgba(12,11,10,.88)); }
  .hero h1 { font-size: 48px; }
  .hero-lead { margin-top: 25px; font-size: 16px; }
  .hero-trust { margin-top: 16px; font-size: 12px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .text-link { width: max-content; }
  .hero-search-signal { right: 20px; bottom: 24px; left: 20px; width: auto; padding: 13px 0 13px 16px; }
  .hero-search-signal strong { font-size: 20px; }
  .search-card { width: 100%; }
  .map-lines { height: 210px; }
  .visual-note { right: 0; bottom: 0; }
  .manifesto, .method, .services, .proof-section, .about, .social-editorial, .faq { padding: 90px 20px; }
  .method { margin: 8px; border-radius: 28px; }
  .method-visual { min-height: 350px; border-radius: 22px; }
  .method-profile-preview { padding: 16px; }
  .method-profile-photo, .method-profile-photo img { min-height: 190px; }
  .method-profile-card { padding: 20px 18px 22px; }
  .method-visual figcaption { inset: auto; padding: 24px 22px 26px; }
  .method-visual > span { top: 28px; right: 24px; width: 86px; height: 86px; }
  .method-card { grid-template-columns: 1fr; gap: 9px; padding: 28px 0; }
  .method-card p { grid-column: 1; }
  .manifesto { gap: 42px; }
  .manifesto-aside { grid-template-columns: 1fr 94px; gap: 20px; padding-bottom: 28px; }
  .manifesto-orbit { width: 94px; }
  .manifesto-note { max-width: 190px; font-size: 17px; }
  .manifesto blockquote { font-size: 43px; }
  .manifesto-detail { grid-template-columns: 1fr; gap: 28px; margin-top: 42px; padding-top: 24px; }
  .manifesto-principles { min-width: 0; width: 100%; }
  .manifesto-principles span { padding: 30px 9px 14px; font-size: 9px; letter-spacing: .06em; }
  .manifesto-principles span::before { left: 10px; }
  .section-heading h2, .proof-heading h2, .about h2, .services h2 { font-size: 43px; }
  .service-item { display: grid; min-height: 440px; padding: 0; grid-template-rows: 210px auto; border-radius: 22px; }
  .service-item-1,
  .service-item-2,
  .service-item-3 { min-height: 0; grid-template-rows: auto auto; }
  .data-panel { padding: 28px 25px; }
  .service-copy { padding: 25px 25px 28px; }
  .service-evidence { margin-bottom: 14px; }
  .service-foot { align-items: stretch; flex-direction: column; }
  .proof-board { padding: 8px 16px; }
  .proof-row { font-size: 13px; }
  .case-study { border-radius: 22px; }
  .case-study header { align-items: flex-start; padding: 20px 22px; flex-direction: column; gap: 7px; }
  .case-main { grid-template-columns: 1fr; min-height: 0; }
  .case-total { min-height: 210px; padding: 32px 24px; }
  .case-total strong { font-size: 70px; }
  .case-total span { margin-top: 17px; }
  .case-chart { padding: 30px 20px 25px; }
  .case-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .case-metric { min-height: 118px; padding: 22px 18px; }
  .case-metric:nth-child(2) { border-right: 0; }
  .case-metric:nth-child(-n+2) { border-bottom: 1px solid #d2d0cc; }
  .case-study footer { padding: 18px 22px 21px; }
  .portfolio-proof { margin-top: 20px; border-radius: 22px; }
  .portfolio-proof > header { grid-template-columns: 1fr; gap: 15px; padding: 24px 22px; }
  .portfolio-proof > header strong { font-size: 26px; }
  .portfolio-grid { grid-template-columns: 1fr; }
  .portfolio-case, .portfolio-case:nth-child(4), .portfolio-case:nth-child(5) { display: grid; grid-column: auto; grid-template-columns: minmax(0,1.3fr) repeat(2,minmax(0,1fr)); gap: 12px; align-items: end; min-height: 0; padding: 22px; border-right: 0; border-bottom: 1px solid #33302d; }
  .portfolio-case:last-child { border-bottom: 0; }
  .portfolio-case > p { min-height: 0; margin: 0; font-size: 19px; }
  .portfolio-case > div { margin: 0; }
  .portfolio-case > div + div { padding: 0; border-top: 0; }
  .portfolio-case strong { font-size: 25px; }
  .portfolio-case small { font-size: 9px; }
  .about { gap: 45px; }
  .about-gallery { min-height: 480px; grid-template-columns: 1.2fr .8fr; }
  .social-heading { margin-bottom: 42px; }
  .social-heading > div { align-items: flex-start; flex-direction: column; gap: 20px; }
  .social-card { min-height: 340px; padding: 28px; border-radius: 22px; }
  .social-card h3 { max-width: 290px; font-size: 36px; }
  .about-photo figcaption { right: 15px; bottom: 14px; left: 15px; flex-direction: column; align-items: flex-start; gap: 1px; }
  .final-cta { margin: 8px 8px 0; padding: 90px 20px; min-height: 680px; border-radius: 28px 28px 0 0; background-position: center 30%; }
  .final-cta-video { object-position: center 30%; filter: saturate(.62) contrast(1.03) brightness(.72); }
  .final-cta-overlay { background: linear-gradient(180deg, rgba(8,8,7,.75), rgba(8,8,7,.7) 43%, rgba(8,8,7,.91)); }
  .final-cta h2 { font-size: 48px; }
  .final-actions { align-items: stretch; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .final-cta-video { display: none; }
}
.whatsapp-float {
  position: fixed;
  right: max(22px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 80;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 60px;
  padding: 6px 20px 6px 6px;
  border: 1px solid rgba(5,72,34,.16);
  border-radius: 999px;
  color: #063b1b;
  background: #25d366;
  box-shadow: 0 10px 26px rgba(0,0,0,.2);
  text-decoration: none;
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.whatsapp-float:hover { transform: translateY(-3px); background: #2be06f; box-shadow: 0 14px 30px rgba(0,0,0,.24); }
.whatsapp-float:focus-visible { outline: 3px solid var(--sand); outline-offset: 4px; }
.whatsapp-icon { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border-radius: 50%; color: #fff; background: #128c4a; }
.whatsapp-float > svg { width: 28px; height: 28px; margin: 9px; padding: 5px; overflow: visible; border-radius: 50%; color: #fff; background: #128c4a; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.whatsapp-icon svg { width: 25px; height: 25px; fill: currentColor; }
.whatsapp-text { font-size: 13px; font-weight: 800; letter-spacing: .025em; line-height: 1; }
.whatsapp-float > svg + * { margin-left: -4px; }
.whatsapp-float > svg:last-child::after { content: none; }
.whatsapp-float:not(:has(.whatsapp-text))::after { content: "WhatsApp"; font-size: 13px; font-weight: 800; letter-spacing: .025em; line-height: 1; }
@media (max-width: 560px) {
  .whatsapp-float { right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); width: 58px; min-height: 58px; padding: 0; justify-content: center; box-shadow: 0 8px 22px rgba(0,0,0,.2); }
  .whatsapp-icon { width: 100%; height: 100%; flex-basis: 100%; background: transparent; }
  .whatsapp-float > svg { width: 28px; height: 28px; margin: 0; padding: 0; background: transparent; }
  .whatsapp-icon svg { width: 28px; height: 28px; }
  .whatsapp-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .whatsapp-float:not(:has(.whatsapp-text))::after { content: none; }
}
@media (max-width: 390px) {
  .site-header { padding: 0 16px; }
  .brand-word { display: none; }
  .hero { padding: 52px 18px 132px; }
  .hero h1 { font-size: 41px; }
  .hero-lead { margin-top: 18px; font-size: 15px; line-height: 1.55; }
  .hero-actions { gap: 16px; margin-top: 22px; }
  .button { min-height: 52px; }
  .hero-search-signal { right: 18px; bottom: 18px; left: 18px; }
  .hero-search-signal small { display: none; }
}
@media (max-width: 560px) {
  .hero { display: block; min-height: 0; padding: 0 20px 38px; }
  .hero-copy { display: flex; min-height: calc(100svh - 76px); padding: 44px 0 38px; flex-direction: column; justify-content: center; }
  .hero h1 { font-size: clamp(38px, 11vw, 46px); line-height: 1.02; }
  .hero-lead { margin-top: 20px; }
  .hero-actions { gap: 14px; margin-top: 26px; }
  .hero-trust { max-width: 320px; margin-top: 18px; line-height: 1.55; }
  .hero-search-signal { position: relative; inset: auto; width: 100%; margin: 20px 0 0; padding: 22px 0 0; border-top: 1px solid rgba(214,193,154,.45); border-left: 0; }
  .hero-search-signal small { display: block; }
  .button > span,.text-link > span,.social-card > b { display: none; }
  .signature-strip { display: grid; width: auto; min-height: 0; margin: 0 14px 32px; padding: 0; overflow: visible; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; border: 1px solid var(--line-dark); border-radius: 18px; background: #161616; }
  .signature-strip span { min-width: 0; padding: 16px 9px; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); white-space: normal; text-align: center; line-height: 1.45; }
  .signature-strip span:nth-of-type(2n) { border-right: 0; }
  .signature-strip span:nth-of-type(n+3) { border-bottom: 0; }
  .signature-strip i { display: none; }
  .signature-strip::after,.manifesto::before,.manifesto::after,.manifesto-route,.manifesto-orbit,.method::before,.method-visual > span,.service-item::after { display: none; }
  .manifesto { gap: 30px; border-radius: 50% 50% 0 0 / 34px 34px 0 0; }
  .services::before,
  .about::before,
  .social-editorial::before { display: block; top: -30px; height: 62px; border-radius: 50% 50% 0 0 / 82% 72% 0 0; transform: rotate(.35deg); }
  .about::before { transform: rotate(-.35deg); }
  .social-editorial::before { transform: rotate(.45deg); }
  .manifesto-aside { display: block; padding-bottom: 24px; }
  .manifesto-note { max-width: none; margin-top: 14px; }
  .method { border-radius: 24px; }
  .method-visual { min-height: 300px; }
  .about-copy .text-link { display: none; }
  .final-cta .eyebrow > span { display: none; }
  .final-cta .eyebrow { gap: 0; }
}
@media (max-width: 390px) {
  .hero { padding: 0 18px 34px; }
  .hero-copy { min-height: calc(100svh - 76px); padding: 36px 0 32px; }
  .hero h1 { font-size: 38px; }
  .hero-search-signal { margin-top: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .button { transition: none; }
  .method-visual img, .service-item { transition: none; }
  .video-location i { animation: none; opacity: .45; transform: scale(.8); }
}

