/* =========================================================
   GODMED · páginas internas
   Mesma linguagem do Behance (fonte, vidro, pílulas, chaves,
   hexágonos), mas cada página com estrutura própria.
   ========================================================= */

/* ---------- barra superior das páginas internas ---------- */
.topbar {
  position: relative; isolation: isolate; z-index: 10;
  padding: 22px 30px 22px 44px; border-radius: var(--r-xl);
  background: linear-gradient(180deg, #FFFDF9 0%, var(--surface) 100%);
  box-shadow: var(--shadow);
}
.topbar::after {
  content: ""; position: absolute; z-index: -1; top: 10px; right: 10px; bottom: 10px; width: min(560px, 42%);
  border-radius: 28px;
  background: var(--hex-light), radial-gradient(120% 120% at 80% 0%, var(--azul-3), transparent 60%), linear-gradient(160deg, var(--azul-2), var(--azul));
  background-size: 168px 97px, auto, auto;
}
.topbar .nav { padding-right: 0; }
.topbar .mobile-menu { top: 86px; }
.pill.is-current, .pill--ghost.is-current { background: var(--azul); color: #fff; }
.mobile-menu a.is-current { background: rgba(31,78,95,.08); font-weight: 500; }
.footer a.is-current { color: var(--dourado); }

.crumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 14px; color: var(--cinza); }
.crumbs a { color: var(--azul); text-decoration: underline; text-underline-offset: 3px; }
.crumbs a:hover { color: var(--dourado-deep); }
.crumbs span[aria-hidden] { opacity: .5; }
.crumbs--light, .crumbs--light span { color: rgba(255,255,255,.7); }
.crumbs--light a { color: #fff; }

.block { position: relative; margin-top: 26px; padding: clamp(44px, 5vw, 76px) clamp(20px, 4vw, 64px); border-radius: var(--r-xl); background: rgba(255,255,255,.42); }
.block--solid { background: rgba(255,255,255,.78) var(--hex) repeat; background-size: 168px 97px; }
.lead { font-size: 19px; line-height: 1.55; color: var(--grafite); }
.lead b { color: var(--ink); }
.vtext { position: absolute; writing-mode: vertical-rl; rotate: 180deg; font-size: 13px; letter-spacing: .1em; color: rgba(50,54,61,.22); }
.vtext::after { content: ""; display: block; width: 1px; height: 46px; margin: 14px auto 0; background: currentColor; }
.vtext--light { color: rgba(255,255,255,.45); }
.sq { position: absolute; border-radius: 18px; background: rgba(255,255,255,.18); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); pointer-events: none; }
.sq--dark { background: rgba(31,78,95,.07); }
.btn--gold {
  background: linear-gradient(90deg, #F1DDAF 0%, var(--dourado) 60%, #C9A456 100%); color: var(--ink); font-weight: 500;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.35), 0 14px 30px -14px rgba(0,0,0,.45);
}
.btn--gold .btn__icon { background: var(--azul); color: #fff; }
.btn--gold:hover { box-shadow: inset 0 0 0 2px rgba(255,255,255,.5), 0 18px 36px -14px rgba(0,0,0,.5); }
.link--light { color: #fff; }
.check-list { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 12px; }
.check-list li { display: flex; gap: 12px; align-items: flex-start; font-size: 17px; line-height: 1.45; color: var(--grafite); }
.check-list li::before { content: ""; flex: none; width: 22px; height: 22px; margin-top: 1px; border-radius: 50%; background: var(--azul) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4L18 8' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }

/* ---------- CTA final (todas as páginas) ---------- */
.cta {
  position: relative; display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: end;
  padding: clamp(40px, 5vw, 70px) clamp(24px, 4vw, 60px); border-radius: 28px; overflow: hidden;
  background: var(--white) var(--hex) repeat; background-size: 168px 97px;
}
.cta__title { font-size: clamp(40px, 5vw, 76px); font-weight: 400; line-height: .92; letter-spacing: -.045em; color: var(--ink); }
.cta__title b { font-weight: 600; }
.cta__aside { display: grid; gap: 22px; justify-items: start; }
.cta__aside p { font-size: 19px; line-height: 1.5; color: var(--grafite); }
.cta__row { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 26px; }
.cta .marquee { top: auto; bottom: -24px; translate: 0; opacity: .12; }

/* =========================================================
   SOBRE
   ========================================================= */
.cover {
  position: relative; isolation: isolate; margin-top: 26px; overflow: hidden;
  min-height: clamp(600px, 52vw, 860px); border-radius: var(--r-xl);
  background: linear-gradient(180deg, #FFFDF9, var(--surface)) ;
}
.cover::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--hex) repeat; background-size: 168px 97px; opacity: .8; }
.cover__panel {
  position: absolute; z-index: -1; top: 0; right: 0; bottom: 0; left: 46%; border-radius: 70px 0 0 0;
  background: var(--hex-light), radial-gradient(100% 70% at 70% 10%, var(--azul-3), transparent 60%), linear-gradient(160deg, var(--azul-2), var(--azul));
  background-size: 168px 97px, auto, auto;
}
.cover__label { position: absolute; top: 40px; font-size: clamp(20px, 2vw, 30px); font-weight: 300; letter-spacing: -.04em; }
.cover__label--l { left: 4.5%; color: var(--grafite); }
.cover__label--r { right: 4%; color: rgba(255,255,255,.85); }
.cover__title {
  position: absolute; left: 0; right: 0; top: clamp(90px, 9.5vw, 160px); padding-left: 4.5%; margin: 0;
  font-size: clamp(64px, 10.2vw, 196px); font-weight: 500; line-height: .86; letter-spacing: -.065em; color: var(--ink);
  pointer-events: none;
}
.cover__title span { display: block; white-space: nowrap; }
.cover__title span + span { padding-left: 7%; }
.cover__title--dark { clip-path: inset(0 54% 0 0); }
.cover__title--light { color: #fff; clip-path: inset(0 0 0 46%); }
.cover__team { position: absolute; z-index: 2; bottom: 0; left: 28%; width: 40%; height: 62%; object-fit: contain; object-position: bottom; filter: drop-shadow(0 30px 40px rgba(14,27,32,.22)); }
.cover__text { position: absolute; z-index: 3; left: 4.5%; bottom: 9%; width: min(430px, 27%); font-size: clamp(18px, 1.55vw, 24px); line-height: 1.38; letter-spacing: -.01em; color: var(--cinza); }
.cover__text b { color: var(--ink); font-weight: 600; }
.cover__text .word-pill { display: inline-block; padding: 0 10px; border: 1px solid rgba(50,54,61,.2); border-radius: 99px; color: var(--grafite); }
.cover__sub { position: absolute; z-index: 3; right: 4%; top: 58%; width: min(380px, 25%); font-size: clamp(19px, 1.6vw, 26px); line-height: 1.3; letter-spacing: -.02em; color: rgba(255,255,255,.92); }
.cover__sub span { color: rgba(255,255,255,.45); }
.cover__by { position: absolute; z-index: 3; right: 4%; bottom: 40px; font-size: clamp(18px, 1.6vw, 26px); font-weight: 300; letter-spacing: -.03em; color: rgba(255,255,255,.85); text-align: right; }
.cover__year { position: absolute; z-index: 3; left: 4.5%; bottom: 36px; font-size: 13px; letter-spacing: .3em; color: var(--cinza); }
.cover .vtext { top: 40%; }
.cover .vtext--l { left: 1.6%; }
.cover .vtext--r { right: 1.6%; }
.cover .cursor { position: absolute; z-index: 3; width: 64px; height: 64px; }

/* bloco "Nossa história" (estrutura do "About the project" do Behance) */
.story { display: grid; grid-template-columns: 1fr 1.15fr; gap: 40px 60px; align-items: start; }
.story__title { font-size: clamp(56px, 7vw, 110px); font-weight: 500; line-height: .86; letter-spacing: -.06em; color: var(--ink); }
.story__title em { font-style: normal; color: var(--azul); }
.story__title small { font-size: 26px; font-weight: 300; letter-spacing: -.02em; color: var(--cinza); margin-left: 6px; }
.story__meta { margin-top: 30px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.gcard {
  position: relative; padding: clamp(28px, 3vw, 46px); border-radius: 30px;
  background: rgba(255,255,255,.72); backdrop-filter: blur(16px) saturate(150%); -webkit-backdrop-filter: blur(16px) saturate(150%);
  border: 1px solid rgba(255,255,255,.9); box-shadow: 0 30px 60px -36px rgba(31,78,95,.4);
}
.gcard p { font-size: clamp(18px, 1.55vw, 23px); line-height: 1.5; color: var(--cinza); }
.gcard p b { color: var(--ink); font-weight: 500; }
.gcard__bulb { position: absolute; width: 96px; height: 54px; border-radius: 99px; display: grid; place-items: center; background: rgba(255,255,255,.85); box-shadow: 0 14px 30px -16px rgba(31,78,95,.4); }
.gcard__bulb img { width: 40px; height: auto; }
.gcard__head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.gcard__head h3 { font-size: 30px; font-weight: 400; letter-spacing: -.02em; color: var(--ink); }
.gcard__head img { width: 28px; height: auto; }
.gcard__head .eyebrow-line { margin-left: auto; }
.story__media { position: relative; display: block; width: 100%; min-height: 360px; border-radius: 30px; overflow: hidden; }
.story__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.story__media:hover img { transform: scale(1.04); }
.story__media .inside__label { top: 16%; font-size: clamp(24px, 2.2vw, 34px); width: 90%; }
.story__media .play { position: absolute; left: 50%; top: 66%; translate: -50% -50%; }

/* valores (estrutura dos cards de paleta do Behance) */
.values-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 30px; flex-wrap: wrap; }
.values-title { font-size: clamp(56px, 7vw, 110px); font-weight: 500; line-height: .86; letter-spacing: -.06em; color: var(--ink); }
.values-title em { font-style: normal; color: var(--azul); }
.values-head p { max-width: 420px; font-size: 17px; color: var(--cinza); }
.values { margin-top: 50px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px; }
.value { position: relative; isolation: isolate; min-height: 340px; padding: 30px 28px; border-radius: 26px; display: flex; flex-direction: column; transition: transform .4s var(--ease); }
.value:hover { transform: translateY(-6px) rotate(-.6deg); }
.value::before { content: ""; position: absolute; z-index: -1; inset: 0; border-radius: inherit; transform: translate(14px, 10px) rotate(3deg); background: inherit; filter: brightness(.94); opacity: .55; }
.value__num { font-size: 64px; font-weight: 200; line-height: 1; letter-spacing: -.04em; height: 50px; overflow: hidden; opacity: .5; }
.value h3 { margin-top: auto; font-size: 24px; font-weight: 500; letter-spacing: -.02em; }
.value p { margin-top: 10px; font-size: 17px; line-height: 1.45; opacity: .8; }
.value--1 { background: #EFE5D1; color: var(--ink); }
.value--2 { background: #1B2125; color: #fff; }
.value--3 { background: linear-gradient(160deg, var(--azul-2), var(--azul)); color: #fff; }
.value--4 { background: var(--white); color: var(--ink); box-shadow: inset 0 0 0 1px rgba(31,78,95,.1); }
.value--4::before { background: rgba(31,78,95,.08); filter: none; opacity: 1; }

/* trajetória */
.journey { margin-top: 56px; position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
.journey::before { content: ""; position: absolute; left: 0; right: 0; top: 23px; height: 2px; background: linear-gradient(90deg, var(--azul), var(--dourado) 70%, rgba(216,181,106,.2)); }
.step-node { position: relative; display: grid; gap: 14px; align-content: start; }
.step-node__dot { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--white); border: 2px solid var(--azul); color: var(--azul); font-weight: 600; font-size: 15px; box-shadow: 0 0 0 6px var(--marfim); }
.step-node--now .step-node__dot { background: var(--azul); color: #fff; border-color: var(--dourado); }
.step-node__year { font-size: 14px; letter-spacing: .2em; text-transform: uppercase; color: var(--dourado-deep); font-weight: 600; }
.step-node h3 { font-size: 24px; font-weight: 400; letter-spacing: -.02em; color: var(--ink); }
.step-node p { font-size: 17px; line-height: 1.45; color: var(--cinza); }

/* frase gigante (estrutura do "Let's take a closer look…" do Behance) */
.statement { position: relative; padding: clamp(60px, 7vw, 120px) clamp(20px, 5vw, 90px); }
.statement__text {
  font-size: clamp(36px, 4.6vw, 80px); font-weight: 400; line-height: 1.04; letter-spacing: -.045em; text-align: justify; text-align-last: left;
  color: transparent; background: linear-gradient(180deg, var(--ink) 0%, var(--ink) 34%, #7B8288 64%, rgba(119,124,131,.25) 100%); -webkit-background-clip: text; background-clip: text;
}
.statement__text .inline-pill { -webkit-text-fill-color: initial; }
.statement__photo { position: absolute; right: 9%; bottom: 70px; width: 190px; height: 160px; object-fit: cover; border-radius: 22px; rotate: -8deg; border: 5px solid rgba(255,255,255,.75); box-shadow: var(--shadow); }
.statement__brand { position: absolute; left: clamp(20px, 5vw, 90px); bottom: 40px; display: inline-flex; align-items: center; gap: 10px; font-size: 22px; color: var(--ink); }
.statement__brand img { width: 40px; height: auto; }

/* =========================================================
   SERVIÇOS
   ========================================================= */
.phead { display: grid; grid-template-columns: 1.3fr 1fr; gap: 30px 60px; align-items: end; }
.phead__title { margin-top: 18px; font-size: clamp(76px, 12vw, 210px); font-weight: 500; line-height: .82; letter-spacing: -.07em; color: var(--ink); }
.phead__title small { font-size: 22px; font-weight: 300; letter-spacing: -.01em; color: var(--cinza); margin-left: 10px; vertical-align: baseline; }
.phead__aside { display: grid; gap: 24px; justify-items: start; padding-bottom: 14px; }
.chips { margin: 40px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 10px; }
.chip { display: inline-flex; align-items: center; gap: 10px; height: 48px; padding: 0 20px 0 8px; border-radius: 99px; background: var(--white); font-size: 15px; color: var(--ink); box-shadow: 0 8px 20px -14px rgba(31,78,95,.45); }
.chip i { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(31,78,95,.08); color: var(--azul); font-style: normal; }
.chip i svg { width: 18px; height: 18px; }
.banner { position: relative; margin-top: 28px; height: clamp(360px, 36vw, 560px); border-radius: 30px; overflow: hidden; }
.banner > img { width: 100%; height: 100%; object-fit: cover; }
.banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14,27,32,.55) 0%, rgba(14,27,32,.1) 55%, transparent 100%); }
.banner__card { position: absolute; z-index: 2; left: 28px; bottom: 28px; width: min(520px, calc(100% - 56px)); padding: 28px 30px; border-radius: 26px; color: #fff; background: rgba(255,255,255,.14); backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%); border: 1px solid rgba(255,255,255,.35); }
.banner__card h2 { font-size: clamp(26px, 2.6vw, 38px); font-weight: 400; line-height: 1.05; letter-spacing: -.03em; }
.banner__nums { margin-top: 20px; display: flex; gap: 34px; }
.banner__nums b { display: block; font-size: 34px; font-weight: 400; letter-spacing: -.02em; color: var(--champagne); }
.banner__nums span { font-size: 14px; color: rgba(255,255,255,.8); }
.banner .tag { --x: auto; }

.frows { display: grid; gap: 26px; }
.frow { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 80px); align-items: center; padding: clamp(30px, 4vw, 56px); border-radius: var(--r-xl); background: rgba(255,255,255,.6); }
.frow:nth-child(even) .frow__text { order: 2; }
.frow__num { display: block; height: 70px; overflow: hidden; font-size: 98px; font-weight: 200; line-height: .96; letter-spacing: -.05em; color: rgba(31,78,95,.18); }
.frow h3 { margin-top: 18px; display: flex; align-items: center; gap: 14px; font-size: clamp(30px, 3vw, 44px); font-weight: 400; line-height: 1; letter-spacing: -.035em; color: var(--ink); }
.frow h3 svg { width: 30px; height: 30px; color: var(--azul); flex: none; }
.frow__text > p { margin-top: 18px; font-size: 19px; line-height: 1.55; color: var(--cinza); }
.frow__text > p b { color: var(--ink); font-weight: 500; }
.frow__foot { margin-top: 30px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 26px; }
.frow__media { position: relative; height: clamp(320px, 30vw, 460px); border-radius: 28px; overflow: hidden; }
.frow__media > img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.frow:hover .frow__media > img { transform: scale(1.03); }
.frow__media--panel { overflow: visible; isolation: isolate; }
.frow__media--panel::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 28px; background: var(--hex-light), radial-gradient(90% 70% at 75% 15%, var(--azul-3), transparent 60%), linear-gradient(160deg, var(--azul-2), var(--azul)); background-size: 168px 97px, auto, auto; }
.frow__media--panel > img { position: absolute; bottom: 0; left: 50%; translate: -50% 0; width: auto; height: 112%; max-width: none; object-fit: contain; filter: drop-shadow(0 24px 30px rgba(14,27,32,.25)); }
.frow:hover .frow__media--panel > img { transform: none; }
.frow__media .kv { position: absolute; left: 22px; top: 22px; z-index: 2; }

.steps-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; flex-wrap: wrap; }
.steps, .journey, .protocol__list { list-style: none; padding: 0; }
.steps { margin-top: 50px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; counter-reset: step; }
.stepc { position: relative; padding: 30px 26px 30px; border-radius: 26px; background: var(--white); box-shadow: 0 20px 40px -32px rgba(31,78,95,.45); }
.stepc::after { content: ""; position: absolute; top: 52px; right: -22px; width: 24px; height: 2px; background: linear-gradient(90deg, var(--dourado), transparent); }
.stepc:last-child::after { display: none; }
.stepc__n { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: linear-gradient(140deg, var(--azul-2), var(--azul)); color: #fff; font-weight: 600; box-shadow: 0 0 0 5px rgba(216,181,106,.35); }
.stepc h3 { margin-top: 26px; font-size: 22px; font-weight: 400; letter-spacing: -.02em; color: var(--ink); }
.stepc p { margin-top: 10px; font-size: 17px; line-height: 1.45; color: var(--cinza); }

.compare { margin-top: 44px; width: 100%; border-collapse: separate; border-spacing: 0; font-size: 17px; }
.compare th, .compare td { padding: 20px 24px; text-align: left; vertical-align: top; }
.compare thead th { font-size: 15px; font-weight: 500; letter-spacing: .02em; color: var(--cinza); }
.compare tbody th { font-weight: 500; color: var(--ink); width: 22%; }
.compare tbody tr + tr > * { border-top: 1px solid rgba(31,78,95,.08); }
.compare td { color: var(--cinza); }
.compare .is-us { background: linear-gradient(160deg, var(--azul-2), var(--azul)); color: #fff; }
.compare thead .is-us { border-radius: 22px 22px 0 0; color: var(--champagne); font-size: 18px; }
.compare tbody tr:last-child .is-us { border-radius: 0 0 22px 22px; }
.compare tbody tr + tr > .is-us { border-top-color: rgba(255,255,255,.12); }
.compare .is-us b { color: #fff; font-weight: 600; }

.appsec { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: 50px; align-items: center; overflow: hidden; color: #fff;
  background: var(--hex-light), radial-gradient(70% 70% at 90% 10%, var(--azul-3), transparent 60%), linear-gradient(160deg, var(--azul-2), var(--azul));
  background-size: 168px 97px, auto, auto; }
.appsec .sec-title { color: #fff; }
.appsec .sec-title small { color: var(--champagne); }
.appsec p.lead { color: rgba(255,255,255,.82); margin-top: 22px; }
.appsec p.lead b { color: #fff; }
.app-feats { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 10px; }
.app-feats span { padding: 10px 16px; border-radius: 99px; font-size: 15px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); }
.appsec__media { position: relative; justify-self: center; width: min(420px, 100%); aspect-ratio: 1; }
.appsec__media img { width: 100%; height: 100%; object-fit: cover; border-radius: 32px; rotate: 4deg; border: 6px solid rgba(255,255,255,.18); box-shadow: 0 40px 70px -30px rgba(0,0,0,.5); }
.appsec__media .tag { --x: -8%; --y: 70%; }
.gplay { display: inline-flex; align-items: center; gap: 12px; height: 56px; padding: 0 22px 0 16px; margin-top: 30px; border-radius: 16px; background: #0B0F11; color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); transition: transform .25s var(--ease); }
.gplay:hover { transform: translateY(-2px); }
.gplay small { display: block; font-size: 11px; opacity: .75; line-height: 1; }
.gplay b { display: block; color: #fff; font-size: 18px; font-weight: 500; line-height: 1.15; }

/* =========================================================
   EQUIPARAÇÃO
   ========================================================= */
.eqhero {
  position: relative; isolation: isolate; overflow: hidden; margin-top: 26px; padding: clamp(36px, 4vw, 60px) clamp(22px, 4.5vw, 70px) clamp(44px, 5vw, 72px);
  border-radius: var(--r-xl); color: #fff;
  background: var(--hex-light), radial-gradient(70% 90% at 85% 0%, var(--azul-3), transparent 60%), linear-gradient(160deg, var(--azul-2), var(--azul) 70%, #173C49);
  background-size: 168px 97px, auto, auto;
  display: grid; grid-template-columns: 1.05fr .95fr; gap: 40px 60px; align-items: center;
}
.eqhero h1 { margin-top: 26px; font-size: clamp(40px, 4.6vw, 76px); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
.eqhero h1 b { font-weight: 600; color: var(--champagne); }
.eqhero .lead { margin-top: 24px; color: rgba(255,255,255,.82); max-width: 560px; }
.eqhero .lead b { color: #fff; }
.eqhero__row { margin-top: 34px; display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; }
.eqhero .kv--outline { display: inline-block; margin-top: 26px; }
.rate { position: relative; display: grid; justify-items: start; padding-bottom: 90px; }
.rate__from { position: relative; font-size: clamp(90px, 11vw, 200px); font-weight: 300; line-height: .9; letter-spacing: -.06em; color: rgba(255,255,255,.28); }
.rate__from::after { content: ""; position: absolute; left: -4%; right: -4%; top: 52%; height: 6px; border-radius: 9px; background: var(--dourado); rotate: -9deg; transform-origin: center; animation: strike 1.2s var(--ease) .4s both; }
@keyframes strike { from { scale: 0 1; } }
.rate__arrow { margin: 6px 0 0 20%; width: 120px; height: 46px; color: var(--champagne); }
.rate__to { font-size: clamp(130px, 16vw, 300px); font-weight: 500; line-height: .82; letter-spacing: -.07em; color: transparent; background: linear-gradient(180deg, #FBEFD0 0%, var(--dourado) 55%, #A9843A 100%); -webkit-background-clip: text; background-clip: text; filter: drop-shadow(0 18px 30px rgba(0,0,0,.25)); }
.rate__label { margin-top: 10px; font-size: 15px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.rate__note { position: absolute; right: 0; bottom: -2%; width: min(290px, 60%); padding: 18px 20px; border-radius: 20px; font-size: 15px; line-height: 1.45; color: #fff; background: rgba(255,255,255,.12); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,.3); }
.rate__note b { color: var(--champagne); }

.who { margin-top: 44px; display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.who__card { position: relative; padding: clamp(28px, 3vw, 44px); border-radius: 28px; background: var(--white); box-shadow: 0 24px 50px -36px rgba(31,78,95,.45); }
.who__card--no { background: rgba(255,255,255,.55); box-shadow: inset 0 0 0 1px rgba(31,78,95,.1); }
.who__badge { display: inline-grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; color: #fff; background: linear-gradient(140deg, var(--azul-2), var(--azul)); }
.who__card--no .who__badge { background: #C9CDD1; color: var(--ink); }
.who__card h3 { margin-top: 22px; font-size: clamp(26px, 2.4vw, 36px); font-weight: 400; letter-spacing: -.03em; color: var(--ink); }
.who__card > p { margin-top: 12px; font-size: 17px; line-height: 1.5; color: var(--cinza); }
.who__card--no .check-list li::before { background: #C9CDD1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 8l8 8M16 8l-8 8' fill='none' stroke='%2332363D' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat; }

.paths { margin-top: 44px; display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: stretch; }
.path { position: relative; padding: clamp(28px, 3vw, 44px); border-radius: 28px; background: var(--white); box-shadow: 0 24px 50px -36px rgba(31,78,95,.45); }
.path--us { color: #fff; background: var(--hex-light), radial-gradient(90% 70% at 80% 10%, var(--azul-3), transparent 60%), linear-gradient(160deg, var(--azul-2), var(--azul)); background-size: 168px 97px, auto, auto; }
.path__tag { position: absolute; top: 24px; right: 24px; padding: 6px 14px; border-radius: 99px; font-size: 13px; font-weight: 600; letter-spacing: .04em; color: var(--ink); background: linear-gradient(90deg, #F1DDAF, var(--dourado)); }
.path h3 { font-size: clamp(26px, 2.4vw, 36px); font-weight: 400; letter-spacing: -.03em; }
.path dl { margin: 26px 0 0; display: grid; gap: 0; }
.path dt { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--cinza); padding-top: 18px; border-top: 1px solid rgba(31,78,95,.1); }
.path dd { margin: 6px 0 18px; font-size: 17px; line-height: 1.45; color: var(--grafite); }
.path--us dt { color: var(--champagne); border-top-color: rgba(255,255,255,.16); }
.path--us dd { color: rgba(255,255,255,.9); }
.path--us dd b { color: var(--champagne); }

.protocol { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(30px, 6vw, 100px); align-items: start; }
.protocol__intro { position: sticky; top: 30px; display: grid; gap: 24px; justify-items: start; }
.protocol__list { list-style: none; margin: 0; padding: 0; position: relative; display: grid; gap: 18px; }
.protocol__list::before { content: ""; position: absolute; left: 27px; top: 30px; bottom: 30px; width: 2px; background: linear-gradient(180deg, var(--azul), var(--dourado)); }
.pstep { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 22px; align-items: start; }
.pstep__n { position: relative; z-index: 1; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--white); border: 2px solid var(--azul); color: var(--azul); font-weight: 600; font-size: 17px; box-shadow: 0 0 0 6px var(--marfim); }
.pstep:last-child .pstep__n { background: var(--azul); color: #fff; border-color: var(--dourado); }
.pstep__card { padding: 24px 28px; border-radius: 22px; background: var(--white); box-shadow: 0 20px 40px -32px rgba(31,78,95,.45); }
.pstep__card h3 { font-size: 23px; font-weight: 400; letter-spacing: -.02em; color: var(--ink); }
.pstep__card p { margin-top: 8px; font-size: 17px; line-height: 1.5; color: var(--cinza); }

.notice { position: relative; min-height: 420px; display: grid; place-items: center; overflow: hidden; }
.notice .marquee { top: 50%; }
.notice__card { position: relative; z-index: 2; width: min(640px, 92%); padding: clamp(28px, 3vw, 44px); border-radius: 28px; display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: start;
  background: rgba(255,255,255,.7); backdrop-filter: blur(18px) saturate(160%); -webkit-backdrop-filter: blur(18px) saturate(160%); border: 1px solid rgba(255,255,255,.9); box-shadow: 0 40px 70px -36px rgba(14,27,32,.45); }
.notice__ic { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; background: linear-gradient(140deg, #F1DDAF, var(--dourado)); color: var(--ink); }
.notice__card h2 { font-size: clamp(26px, 2.6vw, 38px); font-weight: 400; letter-spacing: -.03em; color: var(--ink); }
.notice__card p { margin-top: 12px; font-size: 17px; line-height: 1.55; color: var(--grafite); }

/* acordeão (FAQ das páginas internas) */
.acc { margin-top: 40px; display: grid; gap: 12px; }
.acc details { border-radius: 22px; background: rgba(255,255,255,.78); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.9); box-shadow: 0 20px 40px -34px rgba(31,78,95,.45); transition: background .3s, box-shadow .3s; }
.acc details[open] { background: var(--white); box-shadow: 0 30px 60px -36px rgba(31,78,95,.5); }
.acc summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 28px; font-size: clamp(18px, 1.6vw, 22px); letter-spacing: -.01em; color: var(--ink); }
.acc summary::-webkit-details-marker { display: none; }
.acc summary:focus-visible { outline: 2px solid var(--dourado); outline-offset: -2px; border-radius: 22px; }
.acc summary i { flex: none; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; border: 1.5px solid var(--azul); color: var(--azul); transition: transform .35s var(--ease), background .3s, color .3s; }
.acc details[open] summary i { transform: rotate(45deg); background: var(--azul); color: #fff; }
.acc details > div { padding: 0 28px 26px; animation: acc-in .45s var(--ease); }
.acc details p { font-size: 17px; line-height: 1.6; color: var(--cinza); max-width: 860px; }
@keyframes acc-in { from { opacity: 0; transform: translateY(-6px); } }
.acc-wrap { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(30px, 6vw, 90px); align-items: start; }
.acc-wrap .acc { margin-top: 0; }
.acc-wrap__intro { position: sticky; top: 30px; display: grid; gap: 22px; justify-items: start; }
.acc-wrap__intro p { font-size: 17px; color: var(--cinza); }

/* =========================================================
   CONTATO
   ========================================================= */
.chead { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px 60px; align-items: stretch; }
.chead__title { margin-top: 20px; font-size: clamp(64px, 8.5vw, 150px); font-weight: 500; line-height: .84; letter-spacing: -.065em; color: var(--ink); }
.chead__title em { font-style: normal; color: var(--azul); }
.chead .lead { margin-top: 26px; max-width: 520px; }
.chead__left { display: flex; flex-direction: column; }
.chead__hours { margin-top: auto; padding-top: 30px; display: flex; align-items: center; gap: 18px; }
.clock {
  position: relative; flex: none; width: 74px; height: 74px; border-radius: 50%;
  background: radial-gradient(circle, var(--white) 60%, transparent 61%), repeating-conic-gradient(rgba(31,78,95,.4) 0 1.5deg, transparent 1.5deg 30deg), var(--white);
  box-shadow: inset 0 0 0 2px rgba(31,78,95,.12), 0 14px 30px -16px rgba(31,78,95,.4);
}
.clock i { position: absolute; left: 50%; bottom: 50%; width: 2px; border-radius: 2px; transform-origin: bottom center; background: var(--ink); }
.clock i:nth-child(1) { height: 20px; animation: tick 12s linear infinite; }
.clock i:nth-child(2) { height: 28px; background: var(--dourado-deep); animation: tick 3s linear infinite; }
.clock::after { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px; border-radius: 50%; background: var(--azul); }
@keyframes tick { to { transform: rotate(360deg); } }
.chead__hours p { font-size: 17px; line-height: 1.4; color: var(--cinza); }
.chead__hours b { display: block; font-size: 22px; font-weight: 500; color: var(--ink); }
.ccards { display: grid; grid-template-columns: 1.15fr 1fr; grid-template-rows: auto auto auto; gap: 14px; }
.ccard { position: relative; display: grid; gap: 6px; align-content: start; padding: 26px; border-radius: 26px; background: var(--white); color: var(--ink); box-shadow: 0 20px 40px -32px rgba(31,78,95,.45); transition: transform .3s var(--ease), box-shadow .3s; }
a.ccard:hover { transform: translateY(-4px); box-shadow: 0 30px 50px -30px rgba(31,78,95,.5); }
.ccard__ic { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 14px; border-radius: 15px; background: rgba(31,78,95,.08); color: var(--azul); }
.ccard small { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--cinza); }
.ccard b { font-size: 20px; font-weight: 500; letter-spacing: -.01em; }
.ccard span { font-size: 15px; color: var(--cinza); }
.ccard--wa { grid-row: span 3; color: #fff; overflow: hidden; background: radial-gradient(90% 70% at 85% 0%, #4BE48A, transparent 60%), linear-gradient(160deg, #25D366, #128C7E); }
.ccard--wa .ccard__ic { width: 64px; height: 64px; border-radius: 20px; background: rgba(255,255,255,.18); color: #fff; }
.ccard--wa small, .ccard--wa span { color: rgba(255,255,255,.85); }
.ccard--wa b { color: #fff; font-size: clamp(28px, 2.6vw, 40px); line-height: 1.05; letter-spacing: -.03em; }
.ccard--wa .ccard__cta { margin-top: 26px; justify-self: start; display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; border-radius: 99px; background: #fff; color: #128C7E; font-weight: 600; font-size: 16px; }
.ccard--wa::after { content: ""; position: absolute; right: -60px; bottom: -60px; width: 220px; height: 220px; border-radius: 50%; border: 30px solid rgba(255,255,255,.1); }

/* =========================================================
   PRIVACIDADE
   ========================================================= */
.doc { display: grid; grid-template-columns: 280px 1fr; gap: clamp(30px, 5vw, 80px); align-items: start; }
.doc__toc { position: sticky; top: 30px; display: grid; gap: 4px; padding: 20px; border-radius: 22px; background: rgba(255,255,255,.7); box-shadow: 0 20px 40px -32px rgba(31,78,95,.4); }
.doc__toc b { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--cinza); padding: 6px 10px 10px; }
.doc__toc a { padding: 9px 10px; border-radius: 12px; font-size: 15px; color: var(--grafite); transition: background .2s; }
.doc__toc a:hover { background: rgba(31,78,95,.07); }
.doc__body { max-width: 820px; }
.doc__body h2 { margin-top: 46px; font-size: clamp(26px, 2.4vw, 34px); font-weight: 400; letter-spacing: -.03em; color: var(--ink); scroll-margin-top: 30px; }
.doc__body h2:first-child { margin-top: 0; }
.doc__body p, .doc__body li { margin-top: 14px; font-size: 17px; line-height: 1.65; color: var(--grafite); }
.doc__body ul { padding-left: 20px; }
.doc__body a { color: var(--azul); text-decoration: underline; }
.doc__updated { margin-top: 18px; font-size: 15px; color: var(--cinza); }

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media (max-width: 1180px) {
  .story, .phead, .chead, .protocol, .acc-wrap { grid-template-columns: 1fr; }
  .protocol__intro, .acc-wrap__intro { position: static; }
  .values { grid-template-columns: repeat(2, 1fr); }
  .journey { grid-template-columns: repeat(2, 1fr); row-gap: 40px; }
  .journey::before { display: none; }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .stepc::after { display: none; }
  .eqhero { grid-template-columns: 1fr; }
  .rate__note { position: static; margin-top: 24px; width: auto; }
  .appsec { grid-template-columns: 1fr; }
  .cover__text { width: 38%; }
}

@media (max-width: 860px) {
  .topbar { padding: 16px; }
  .topbar::after { display: none; }
  .topbar .mobile-menu { top: 70px; }
  .cover { min-height: 0; padding: 30px 20px 0; display: flex; flex-direction: column; }
  .cover__panel { top: auto; bottom: 0; height: 300px; left: 0; border-radius: 40px 40px 0 0; }
  .cover__team { order: 9; }
  .cover .sq { display: none; }
  .cover__label, .cover__title, .cover__text, .cover__sub, .cover__by, .cover__year, .cover__team { position: static; }
  .cover__label--r, .cover .vtext, .cover .cursor, .cover__title--light, .cover__year { display: none; }
  .cover__title { margin-top: 18px; padding: 0; font-size: clamp(46px, 13.5vw, 70px); white-space: normal; }
  .cover__title span { white-space: normal; }
  .cover__title span + span { padding-left: 0; }
  .cover__title--dark { clip-path: none; }
  .cover__text { width: auto; margin-top: 20px; font-size: 18px; }
  .cover__team { width: 100%; height: 300px; margin-top: 26px; }
  .cover__sub, .cover__by { display: none; }
  .values, .journey, .steps, .who, .paths, .ccards { grid-template-columns: 1fr; }
  .ccard--wa { grid-row: auto; }
  .statement__photo { display: none; }
  .statement__brand { position: static; margin-top: 24px; }
  .statement__text { text-align: left; }
  .phead__title { font-size: clamp(64px, 19vw, 110px); }
  .banner__card { left: 14px; bottom: 14px; width: calc(100% - 28px); padding: 20px; }
  .banner__nums { gap: 20px; }
  .frow { grid-template-columns: 1fr; padding: 24px 18px; }
  .frow:nth-child(even) .frow__text { order: 0; }
  .frow__media { height: 300px; }
  .compare { font-size: 15px; display: block; overflow-x: auto; }
  .compare th, .compare td { padding: 14px 12px; min-width: 150px; }
  .rate__to { font-size: 34vw; }
  .eqhero .sq { display: none; }
  .rate { padding-bottom: 0; }
  .banner { height: 520px; }
  .banner__nums b { font-size: 26px; }
  .banner__nums span { font-size: 12px; }
  .rate__from { font-size: 22vw; }
  .doc { grid-template-columns: 1fr; }
  .doc__toc { position: static; }
  .cta { grid-template-columns: 1fr; }
  .acc summary { padding: 20px; }
  .acc details > div { padding: 0 20px 22px; }
}
