:root {
  --navy-950: #07152E;
  --navy-900: #0B1B38;
  --blue-800: #17294A;
  --blue-700: #24395D;
  --pink-400: #D1A5AE;
  --pink-500: #C88F9C;
  --offwhite: #F7F5F2;
  --ice: #EEF3F8;
  --white: #FFFFFF;
  --ink: #0D1930;
  --muted: #62708A;
  --line: rgba(7, 21, 46, .12);
  --shadow-sm: 0 8px 18px rgba(4, 13, 31, .10), 0 2px 4px rgba(4, 13, 31, .08);
  --shadow-md: 0 18px 40px rgba(4, 13, 31, .14), 0 6px 12px rgba(4, 13, 31, .08);
  --shadow-dark: 0 24px 60px rgba(0, 0, 0, .26), 0 6px 16px rgba(0, 0, 0, .18);
  --radius: 22px;
  --radius-sm: 14px;
  --container: 1180px;
  --ease: cubic-bezier(.2,.75,.25,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--offwhite);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
:focus-visible { outline: 3px solid var(--pink-500); outline-offset: 4px; }

.skip-link {
  position: fixed; left: 14px; top: 12px; z-index: 1000;
  padding: 10px 14px; border-radius: 10px; background: var(--white); color: var(--navy-950);
  transform: translateY(-150%); transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 104px 0; position: relative; }
.section-tight { padding: 72px 0; }
.section-dark { background: var(--navy-950); color: var(--white); }
.section-blue { background: var(--blue-800); color: var(--white); }
.section-ice { background: var(--ice); }

.eyebrow {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 16px;
  text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; font-weight: 800;
  color: var(--pink-500);
}
.eyebrow::before { content:""; width: 22px; height: 2px; background: currentColor; }

h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { letter-spacing: -.035em; line-height: 1.05; }
h1 { font-size: clamp(2.7rem, 5.7vw, 5.6rem); max-width: 14ch; margin-bottom: 26px; }
h2 { font-size: clamp(2rem, 4vw, 4rem); max-width: 17ch; margin-bottom: 24px; }
h3 { font-size: clamp(1.35rem, 2.4vw, 2rem); margin-bottom: 14px; }
.lead { font-size: clamp(1.08rem, 1.6vw, 1.35rem); max-width: 760px; color: var(--muted); }
.section-dark .lead, .section-blue .lead { color: rgba(255,255,255,.74); }
.max-copy { max-width: 760px; }
.text-accent { color: var(--pink-400); }
.kicker { font-size: clamp(1.45rem, 2.6vw, 2.25rem); font-weight: 800; letter-spacing: -.025em; }

.site-header {
  position: sticky; top: 0; z-index: 90;
  background: rgba(247,245,242,.82); backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(7,21,46,.08);
}
.header-inner { min-height: 76px; display:flex; align-items:center; justify-content:space-between; gap: 26px; }
.brand { display:flex; align-items:center; gap:11px; font-weight:900; letter-spacing:-.035em; }
.brand-mark { width: 32px; height: 32px; position:relative; display:grid; place-items:center; }
.brand-mark::before, .brand-mark::after { content:""; position:absolute; border-radius: 5px; transform: rotate(12deg); }
.brand-mark::before { inset: 2px 8px 8px 2px; background: var(--navy-950); }
.brand-mark::after { inset: 10px 2px 2px 11px; background: var(--pink-400); }
.brand small { display:block; font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; font-weight:800; color:var(--muted); }
.nav { display:flex; align-items:center; gap: 26px; font-weight:720; font-size:.93rem; }
.nav a { position:relative; padding: 10px 0; }
.nav a::after { content:""; position:absolute; left:0; right:100%; bottom:4px; height:2px; background:var(--pink-500); transition:right .25s var(--ease); }
.nav a:hover::after, .nav a[aria-current="page"]::after { right:0; }
.menu-toggle { display:none; border:0; background:transparent; width:44px; height:44px; border-radius:12px; }
.menu-toggle span, .menu-toggle::before, .menu-toggle::after { content:""; display:block; width:22px; height:2px; background:var(--navy-950); margin:5px auto; transition:.2s; }

.tactile {
  transform: translateY(0);
  box-shadow: var(--shadow-sm);
  transition: transform .23s var(--ease), box-shadow .23s var(--ease), border-color .23s var(--ease), background-color .23s var(--ease);
}
.tactile:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.tactile:active { transform: translateY(1px) scale(.995); box-shadow: 0 5px 12px rgba(4,13,31,.12); }

.btn {
  display:inline-flex; align-items:center; justify-content:center; gap: 10px;
  min-height: 50px; padding: 13px 19px; border-radius: 14px;
  background: var(--navy-950); color: var(--white); border: 1px solid transparent; font-weight: 800;
}
.btn .arrow { display:inline-block; transition: transform .22s var(--ease); }
.btn:hover .arrow { transform: translateX(4px); }
.btn-pink { background: var(--pink-400); color: var(--navy-950); }
.btn-ghost { background: rgba(255,255,255,.08); color:var(--white); border-color:rgba(255,255,255,.16); }
.btn-light { background: var(--white); color: var(--navy-950); }

.hero { min-height: calc(100vh - 76px); display:flex; align-items:center; background:var(--navy-950); color:var(--white); position:relative; overflow:hidden; }
.hero::before { content:""; position:absolute; width:540px; height:540px; border:1px solid rgba(209,165,174,.16); right:-220px; top:-160px; transform:rotate(27deg); }
.hero::after { content:""; position:absolute; width:340px; height:340px; background:linear-gradient(135deg, rgba(209,165,174,.14), transparent 70%); left:-140px; bottom:-150px; transform:rotate(25deg); }
.hero-grid { display:grid; grid-template-columns: 1.2fr .8fr; gap:70px; align-items:center; padding: 86px 0; position:relative; z-index:2; }
.hero .lead { color:rgba(255,255,255,.76); }
.hero-copy p { max-width: 720px; }
.hero-question-list { display:grid; gap:7px; margin:24px 0; color:rgba(255,255,255,.78); font-weight:650; }
.hero-highlight { margin-top:30px; display:grid; gap:10px; }
.hero-highlight strong { font-size: clamp(1.45rem,2.6vw,2.4rem); color:var(--pink-400); letter-spacing:-.03em; }

.hero-cards { min-height:500px; position:relative; perspective:1000px; }
.hero-card {
  position:absolute; width:min(330px, 80%); aspect-ratio:1.25/1; border-radius:28px;
  padding:30px; display:flex; align-items:flex-end; font-size:clamp(1.25rem,2vw,1.8rem); font-weight:900;
  box-shadow:var(--shadow-dark); border:1px solid rgba(255,255,255,.12);
  transition: transform .55s var(--ease); will-change: transform;
}
.hero-card:nth-child(1) { top:5%; right:9%; background:var(--pink-400); color:var(--navy-950); transform:rotate(7deg) translateZ(30px); }
.hero-card:nth-child(2) { top:34%; left:2%; background:var(--blue-700); transform:rotate(-8deg) translateZ(15px); }
.hero-card:nth-child(3) { bottom:2%; right:0; background:var(--white); color:var(--navy-950); transform:rotate(4deg) translateZ(45px); }
.hero-cards:hover .hero-card:nth-child(1) { transform:rotate(4deg) translateY(-8px) translateZ(40px); }
.hero-cards:hover .hero-card:nth-child(2) { transform:rotate(-5deg) translateY(-4px) translateZ(25px); }
.hero-cards:hover .hero-card:nth-child(3) { transform:rotate(1deg) translateY(-10px) translateZ(55px); }

.grid-3 { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
.moment-card, .solution-card, .contact-card {
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:30px; min-height:310px;
  display:flex; flex-direction:column; align-items:flex-start; position:relative; overflow:hidden;
}
.moment-card::before, .solution-card::before, .contact-card::before { content:""; position:absolute; width:110px; height:110px; background:var(--pink-400); opacity:.14; right:-38px; top:-38px; transform:rotate(25deg); }
.moment-card p, .solution-card p, .contact-card p { color:var(--muted); }
.moment-card .btn, .solution-card .btn, .contact-card .btn { margin-top:auto; }
.card-index { font-size:.76rem; font-weight:850; letter-spacing:.12em; color:var(--pink-500); margin-bottom:48px; }

.process-stage { position:relative; min-height:540px; margin-top:38px; }
.paper {
  position:absolute; background:var(--white); color:var(--navy-950); border:1px solid rgba(7,21,46,.12); border-radius:10px;
  padding:26px; width:clamp(220px,28vw,330px); min-height:190px; box-shadow:var(--shadow-md); transition:transform .25s var(--ease), box-shadow .25s var(--ease);
}
.paper:hover { box-shadow:0 26px 70px rgba(4,13,31,.18); z-index:10; }
.paper .num { font-size:.74rem; letter-spacing:.12em; color:var(--pink-500); font-weight:900; }
.paper .note { margin-top:18px; font-size:.92rem; color:var(--muted); }
.paper::after { content:""; position:absolute; height:4px; background:var(--pink-400); left:24px; right:42%; bottom:22px; transform:rotate(-1deg); border-radius:99px; opacity:.7; }
.paper:nth-child(1) { left:2%; top:11%; transform:rotate(-5deg); }
.paper:nth-child(2) { left:25%; top:37%; transform:rotate(3deg); }
.paper:nth-child(3) { right:24%; top:6%; transform:rotate(-2deg); }
.paper:nth-child(4) { right:2%; bottom:2%; transform:rotate(5deg); }
.paper:nth-child(1):hover { transform:rotate(-2deg) translateY(-7px); }
.paper:nth-child(2):hover { transform:rotate(1deg) translateY(-7px); }
.paper:nth-child(3):hover { transform:rotate(0deg) translateY(-7px); }
.paper:nth-child(4):hover { transform:rotate(2deg) translateY(-7px); }
.process-line { position:absolute; inset:0; pointer-events:none; opacity:.38; }
.process-line svg { width:100%; height:100%; }

.project-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.project-card { border-radius:var(--radius); overflow:hidden; background:var(--white); border:1px solid var(--line); }
.project-cover { min-height:280px; padding:28px; display:flex; align-items:flex-end; position:relative; background:linear-gradient(135deg, var(--navy-950), var(--blue-700)); color:var(--white); }
.project-cover::after { content:"ASSET REAL PENDENTE"; position:absolute; top:22px; right:22px; font-size:.64rem; letter-spacing:.11em; font-weight:850; padding:7px 9px; border:1px solid rgba(255,255,255,.25); border-radius:99px; color:rgba(255,255,255,.7); }
.project-card:nth-child(even) .project-cover { background:linear-gradient(135deg, var(--pink-400), #ead7dc); color:var(--navy-950); }
.project-card:nth-child(even) .project-cover::after { color:rgba(7,21,46,.65); border-color:rgba(7,21,46,.2); }
.project-body { padding:26px; }
.tags { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 0; }
.tag { border:1px solid var(--line); border-radius:99px; padding:7px 10px; font-size:.78rem; font-weight:750; background:rgba(255,255,255,.5); }

.authority-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center; }
.signal-stack { display:grid; gap:12px; }
.signal { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:18px 20px; display:flex; justify-content:space-between; gap:12px; }
.signal span:last-child { color:var(--pink-400); font-weight:800; }

.marquee { overflow:hidden; border-block:1px solid var(--line); background:var(--white); }
.marquee-track { display:flex; width:max-content; gap:34px; padding:17px 0; animation:marquee 28s linear infinite; font-size:.84rem; font-weight:900; letter-spacing:.08em; }
.marquee-track span::after { content:"◆"; margin-left:34px; color:var(--pink-500); font-size:.6rem; }
@keyframes marquee { to { transform:translateX(-50%); } }

.solution-section { padding:90px 0; scroll-margin-top:92px; }
.solution-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:60px; align-items:start; }
.solution-sticky { position:sticky; top:110px; }
.solution-panel { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:36px; box-shadow:var(--shadow-sm); }
.solution-panel ul { padding-left:20px; columns:2; gap:40px; }
.solution-panel li { margin-bottom:9px; }
.badge { display:inline-flex; border-radius:99px; padding:6px 10px; background:var(--pink-400); color:var(--navy-950); font-size:.72rem; font-weight:900; letter-spacing:.08em; }
.quote-band { padding:42px; border-radius:var(--radius); background:var(--navy-950); color:var(--white); font-size:clamp(1.35rem,2.4vw,2.2rem); font-weight:850; letter-spacing:-.03em; box-shadow:var(--shadow-md); }

.case-card { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.case-trigger { width:100%; display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; text-align:left; padding:30px; border:0; background:transparent; cursor:pointer; }
.case-trigger .case-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.case-trigger .toggle-icon { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:var(--ice); font-size:1.4rem; transition:transform .2s var(--ease); }
.case-card[open] .toggle-icon { transform:rotate(45deg); }
.case-content { padding:0 30px 30px; border-top:1px solid var(--line); }
.case-content-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding-top:26px; }
.case-placeholder { min-height:150px; padding:18px; border:1px dashed rgba(7,21,46,.24); border-radius:14px; background:var(--ice); }
.case-placeholder strong { display:block; margin-bottom:8px; }
.case-placeholder p { margin:0; color:var(--muted); font-size:.88rem; }

.priority-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:30px; }
.priority-item { padding:26px; border-radius:18px; background:var(--white); border:1px solid var(--line); min-height:150px; }
.priority-item:nth-child(1) { transform:rotate(-1.5deg); }
.priority-item:nth-child(2) { transform:rotate(1deg) translateY(12px); }
.priority-item:nth-child(3) { transform:rotate(.8deg); }
.priority-item:nth-child(4) { transform:rotate(-1deg) translateY(12px); }

.founder-board { position:relative; min-height:460px; margin-top:36px; }
.note-card { position:absolute; border-radius:10px; padding:24px; box-shadow:var(--shadow-md); border:1px solid var(--line); background:var(--white); }
.note-card:nth-child(1) { width:42%; left:4%; top:5%; transform:rotate(-4deg); }
.note-card:nth-child(2) { width:36%; right:5%; top:18%; transform:rotate(5deg); background:var(--pink-400); }
.note-card:nth-child(3) { width:48%; left:24%; bottom:2%; transform:rotate(-1deg); background:var(--ice); }
.photo-placeholder { height:120px; border:1px dashed rgba(7,21,46,.22); display:grid; place-items:center; border-radius:8px; font-size:.72rem; letter-spacing:.08em; color:var(--muted); margin-bottom:18px; background:rgba(255,255,255,.55); }

.contact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.contact-card { min-height:260px; cursor:pointer; border:0; text-align:left; }
.contact-status { margin-top:24px; padding:14px 16px; border-radius:12px; background:var(--ice); color:var(--muted); font-size:.9rem; display:none; }
.contact-status.show { display:block; }

.footer { background:#040D1E; color:var(--white); padding:66px 0 26px; }
.footer-grid { display:grid; grid-template-columns:1.3fr .7fr .7fr; gap:50px; }
.footer .brand small { color:rgba(255,255,255,.5); }
.footer p, .footer a { color:rgba(255,255,255,.7); }
.footer nav { display:grid; gap:10px; }
.footer-bottom { margin-top:50px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; gap:20px; font-size:.82rem; color:rgba(255,255,255,.5); }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .65s var(--ease), transform .65s var(--ease); }
.reveal.visible { opacity:1; transform:translateY(0); }

@media (max-width: 960px) {
  .nav { position:fixed; inset:76px 16px auto 16px; background:var(--white); border:1px solid var(--line); border-radius:18px; padding:20px; box-shadow:var(--shadow-md); display:none; flex-direction:column; align-items:stretch; gap:4px; }
  .nav.open { display:flex; }
  .nav a { padding:12px; }
  .menu-toggle { display:block; }
  .header-cta { display:none; }
  .hero-grid, .authority-grid, .solution-layout { grid-template-columns:1fr; }
  .hero-cards { min-height:420px; width:min(580px,100%); margin-inline:auto; }
  .grid-3, .contact-grid { grid-template-columns:1fr; }
  .project-grid { grid-template-columns:1fr; }
  .solution-sticky { position:static; }
  .case-content-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 640px) {
  .container { width:min(calc(100% - 28px), var(--container)); }
  .section { padding:74px 0; }
  .section-tight { padding:54px 0; }
  .hero { min-height:auto; }
  .hero-grid { padding:64px 0 74px; gap:34px; }
  h1 { font-size:clamp(2.45rem, 12vw, 4rem); }
  h2 { font-size:clamp(2rem, 9vw, 3.2rem); }
  .hero-cards { min-height:330px; }
  .hero-card { width:68%; padding:22px; border-radius:20px; }
  .moment-card, .solution-card, .contact-card { min-height:auto; padding:24px; }
  .process-stage { min-height:760px; }
  .paper { width:82%; }
  .paper:nth-child(1) { left:2%; top:1%; }
  .paper:nth-child(2) { left:15%; top:25%; }
  .paper:nth-child(3) { right:12%; top:50%; }
  .paper:nth-child(4) { right:2%; bottom:0; }
  .process-line { display:none; }
  .solution-panel { padding:24px; }
  .solution-panel ul { columns:1; }
  .case-trigger { padding:22px; }
  .case-content { padding:0 22px 22px; }
  .case-content-grid { grid-template-columns:1fr; }
  .priority-grid { grid-template-columns:1fr; }
  .priority-item { transform:none !important; }
  .founder-board { min-height:680px; }
  .note-card:nth-child(1), .note-card:nth-child(2), .note-card:nth-child(3) { width:88%; left:6%; right:auto; transform:none; }
  .note-card:nth-child(1){ top:0; }
  .note-card:nth-child(2){ top:230px; }
  .note-card:nth-child(3){ bottom:0; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}
/* O logo/assinatura visual oficial não foi fornecido neste ambiente. Não criar marca substituta. */
.brand-mark { display: none !important; }

/* Assets oficiais — substituição de placeholders, sem alteração do sistema visual. */
.brand { flex: 0 0 auto; }
.brand-logo { display:block; width:auto; object-fit:contain; }
.brand-logo-header { height:42px; max-width:172px; }
.brand-logo-footer { height:48px; max-width:198px; }
.founder-photo {
  display:block;
  width:100%;
  aspect-ratio:3/2;
  object-fit:cover;
  object-position:center;
  border-radius:8px;
  margin-bottom:18px;
  background:var(--ice);
}
@media (max-width:640px) {
  .brand-logo-header { height:36px; max-width:150px; }
  .brand-logo-footer { height:44px; max-width:182px; }
  .founder-board { min-height:900px; }
  .note-card:nth-child(2){ top:430px; }
}

/* Preview V4 — direção visual e primeira dobra */
:root {
  --navy-950:#061126;
  --navy-900:#0A1A36;
  --blue-800:#132A4E;
  --blue-700:#28486F;
  --pink-400:#D7A5B1;
  --pink-500:#C98194;
  --offwhite:#F4F0E9;
  --ice:#E8EEF3;
  --ink:#07152E;
  --muted:#52627A;
  --container:1240px;
  --font-display:"Bahnschrift", "Arial Narrow", "Aptos Display", "Segoe UI", sans-serif;
  --font-body:"Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;
}

body { font-family:var(--font-body); background:var(--offwhite); }
h1,h2,h3 { font-family:var(--font-display); font-stretch:condensed; }
.container { width:min(calc(100% - 56px), var(--container)); }

.site-header {
  background:rgba(244,240,233,.86);
  border-bottom:1px solid rgba(6,17,38,.09);
  transition:background-color .3s var(--ease), box-shadow .3s var(--ease);
}
.header-inner { min-height:80px; }
.brand-logo-header { height:50px; max-width:205px; }
.nav { gap:30px; text-transform:uppercase; letter-spacing:.055em; font-size:.76rem; font-weight:780; }
.header-cta { min-height:44px; padding:11px 17px; border-radius:999px; }

.home-hero {
  min-height:0;
  display:block;
  background:
    radial-gradient(circle at 78% 18%, rgba(201,129,148,.20), transparent 30%),
    radial-gradient(circle at 14% 86%, rgba(40,72,111,.58), transparent 34%),
    linear-gradient(145deg, #061126 0%, #0A1A36 52%, #07152E 100%);
  isolation:isolate;
}
.home-hero::before {
  inset:0;
  width:auto;
  height:auto;
  right:0;
  top:0;
  border:0;
  transform:none;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:72px 72px;
  opacity:.42;
  mask-image:linear-gradient(to bottom, #000, transparent 88%);
}
.home-hero::after { width:240px; height:14px; left:auto; right:8vw; bottom:40px; background:var(--pink-500); opacity:.9; transform:rotate(-4deg); }
.hero-stage { min-height:620px; padding:64px 0 58px; position:relative; z-index:2; }
.hero-copy { width:min(100%, 1040px); margin-inline:auto; text-align:center; }
.home-hero h1 { max-width:19ch; margin:0 auto 34px; font-size:clamp(2.75rem,5.15vw,4.75rem); line-height:.98; letter-spacing:-.048em; text-wrap:balance; }
.hero-editorial { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.82fr); gap:50px; align-items:center; max-width:980px; margin-inline:auto; text-align:left; }
.hero-premise { border-left:2px solid var(--pink-500); padding-left:22px; }
.hero-premise .lead { font-size:clamp(1.02rem,1.25vw,1.18rem); line-height:1.55; margin-bottom:10px; }
.priority-question { position:relative; padding:19px 24px 21px; border:1px solid rgba(255,255,255,.12); border-radius:4px 22px 4px 22px; background:rgba(255,255,255,.055); box-shadow:0 24px 80px rgba(0,0,0,.18); transform:rotate(1.2deg); }
.question-label { display:block; color:rgba(255,255,255,.56); font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; font-weight:800; margin-bottom:8px; }
.question-words { display:flex; flex-wrap:wrap; gap:7px 10px; }
.question-words span { color:var(--white); font-family:var(--font-display); font-size:clamp(1.05rem,1.65vw,1.42rem); line-height:1; padding:7px 10px; border-radius:999px; border:1px solid rgba(215,165,177,.35); }
.question-words span:nth-child(2),.question-words span:nth-child(4) { color:var(--pink-400); }
.question-turn { display:block; margin-top:13px; font-weight:800; color:var(--pink-400); }
.hero-decision { display:flex; justify-content:center; gap:34px; align-items:center; margin:32px auto 0; max-width:980px; text-align:left; }
.hero-decision>p { flex:0 0 240px; margin:0; font-family:var(--font-display); text-transform:uppercase; letter-spacing:.06em; font-weight:760; line-height:1.25; }
.hero-highlight { flex:1; margin:0; padding-left:32px; border-left:1px solid rgba(255,255,255,.16); gap:4px; }
.hero-highlight strong { font-size:clamp(1.18rem,2vw,1.65rem); }
.hero-highlight span { color:rgba(255,255,255,.72); }
.hero-summary { max-width:820px!important; margin:24px auto 0; color:rgba(255,255,255,.56); font-size:.88rem; }
.hero-axis { position:absolute; inset:30px 0 auto auto; width:154px; height:154px; opacity:.62; }
.axis-disc { position:absolute; inset:0; border:1px solid rgba(215,165,177,.34); border-radius:50%; }
.axis-disc::before,.axis-disc::after { content:""; position:absolute; background:rgba(215,165,177,.34); }
.axis-disc::before { width:1px; height:calc(100% + 30px); left:50%; top:-15px; }
.axis-disc::after { height:1px; width:calc(100% + 30px); top:50%; left:-15px; }
.axis-line { position:absolute; width:56px; height:56px; left:49px; top:49px; border-radius:50%; background:radial-gradient(circle at 35% 30%, var(--pink-400), var(--pink-500)); box-shadow:0 0 42px rgba(201,129,148,.34); animation:axis-pulse 4s ease-in-out infinite; }
.axis-note { position:absolute; right:0; bottom:-28px; width:220px; color:rgba(255,255,255,.42); font-size:.58rem; text-transform:uppercase; letter-spacing:.11em; transform:rotate(-4deg); }
@keyframes axis-pulse { 50% { transform:scale(.82); box-shadow:0 0 70px rgba(201,129,148,.46); } }

.identity-band { overflow:hidden; background:var(--pink-500); color:var(--navy-950); border-block:1px solid rgba(6,17,38,.28); transform:rotate(-.35deg); margin:-2px 0; position:relative; z-index:5; }
.identity-track { display:flex; align-items:center; gap:25px; width:max-content; min-width:200%; padding:13px 0; font-family:var(--font-display); font-size:clamp(1rem,1.6vw,1.35rem); letter-spacing:.08em; font-weight:850; animation:identity-flow 24s linear infinite; }
.identity-track i { font-style:normal; font-size:.8em; }
@keyframes identity-flow { to { transform:translateX(-50%); } }

@media (max-width:960px) {
  .header-inner { min-height:74px; }
  .brand-logo-header { height:46px; max-width:188px; }
  .nav { inset:74px 16px auto; }
  .hero-stage { min-height:0; padding:58px 0 52px; }
  .hero-editorial { grid-template-columns:1fr; gap:20px; max-width:720px; }
  .hero-decision { align-items:flex-start; max-width:720px; }
  .hero-axis { display:none; }
}

@media (max-width:640px) {
  .container { width:min(calc(100% - 30px), var(--container)); }
  .brand-logo-header { height:40px; max-width:168px; }
  .home-hero h1 { font-size:clamp(2.25rem,11vw,3.1rem); margin-bottom:28px; }
  .hero-stage { padding:44px 0 48px; }
  .hero-editorial { text-align:left; }
  .priority-question { padding:17px; transform:none; }
  .question-words span { font-size:1rem; }
  .hero-decision { display:block; margin-top:25px; }
  .hero-decision>p { margin-bottom:14px; }
  .hero-highlight { padding:15px 0 0; border-left:0; border-top:1px solid rgba(255,255,255,.16); }
  .hero-summary { text-align:left; font-size:.8rem; }
  .identity-track { padding:11px 0; }
}

/* V4 — sistema editorial, profundidade e ritmos de página */
body::selection { background:var(--pink-400); color:var(--navy-950); }
main { overflow:clip; }
.section { padding:88px 0; }
.section-intro { max-width:720px; }
.section-intro-centered { margin-inline:auto; text-align:center; }
.section-intro-centered h2 { margin-inline:auto; max-width:20ch; }
.intro-rule { display:block; width:88px; height:3px; margin:24px auto 0; background:var(--pink-500); transform:rotate(-2deg); }
h2 { font-size:clamp(2.35rem,4.25vw,4.25rem); line-height:.98; }
h3 { line-height:1.05; }
.lead { line-height:1.58; }
.eyebrow { font-size:.7rem; letter-spacing:.17em; }
.eyebrow::before { width:30px; }
.site-header.is-scrolled { background:rgba(244,240,233,.96); box-shadow:0 12px 34px rgba(6,17,38,.10); }
.tactile { will-change:transform; }
.btn { border-radius:999px; padding-inline:22px; }
.btn-pink { background:var(--pink-500); color:var(--navy-950); }
.text-link { display:inline-flex; align-items:center; gap:9px; font-weight:850; border-bottom:2px solid var(--pink-500); padding-bottom:5px; }
.text-link .arrow { transition:transform .25s var(--ease); }
.text-link:hover .arrow { transform:translate(3px,-3px); }

/* Home — hero compacto */
.hero-stage { min-height:570px; padding:48px 0 44px; }
.home-hero h1 { max-width:22ch; font-size:clamp(2.65rem,4.5vw,4.1rem); margin-bottom:26px; }
.hero-editorial { gap:38px; }
.hero-decision { margin-top:24px; }
.hero-summary { margin-top:18px; }

/* Home — momentos */
.moments-section {
  background:
    radial-gradient(circle at 9% 14%, rgba(201,129,148,.13), transparent 25%),
    linear-gradient(180deg, var(--offwhite), #EFEAE2);
}
.moments-grid { margin-top:48px; align-items:stretch; gap:22px; }
.moments-grid .moment-card {
  min-height:370px;
  padding:28px 28px 26px;
  border-radius:8px 24px 8px 24px;
  border:1px solid rgba(6,17,38,.13);
  border-bottom:6px solid var(--navy-950);
  background:rgba(255,255,255,.78);
  box-shadow:0 18px 0 rgba(6,17,38,.055), 0 30px 70px rgba(6,17,38,.09);
  overflow:visible;
}
.moments-grid .moment-card:nth-child(1) { transform:rotate(-1.3deg); }
.moments-grid .moment-card:nth-child(2) { transform:translateY(14px); background:var(--navy-950); color:var(--white); border-color:rgba(255,255,255,.12); border-bottom-color:var(--pink-500); box-shadow:0 18px 0 rgba(201,129,148,.15),0 35px 80px rgba(6,17,38,.20); }
.moments-grid .moment-card:nth-child(3) { transform:rotate(1.1deg); }
.moments-grid .moment-card:hover { transform:translateY(-7px) rotate(0); }
.moments-grid .moment-card:nth-child(2):hover { transform:translateY(4px); }
.moments-grid .moment-card::before { width:58px; height:58px; right:22px; top:22px; border-radius:50%; opacity:.22; }
.moments-grid .moment-card:nth-child(2)::before { background:var(--pink-400); opacity:.85; }
.moments-grid .card-index { margin-bottom:44px; font-family:var(--font-display); font-size:.9rem; }
.moments-grid h3 { max-width:18ch; font-size:clamp(1.55rem,2.1vw,2rem); }
.moments-grid p { font-size:1.02rem; line-height:1.62; }
.moments-grid .moment-card:nth-child(2) p { color:rgba(255,255,255,.72); }
.moments-grid .moment-card:nth-child(2) .btn { background:var(--pink-500); color:var(--navy-950); }
.moment-marker { position:absolute; width:18px; height:18px; right:42px; top:42px; border:2px solid var(--pink-500); border-radius:50%; }

/* Home — mesa estratégica */
.strategy-desk {
  color:var(--ink);
  background-color:#DDE4E8;
  background-image:radial-gradient(rgba(6,17,38,.14) .7px,transparent .7px);
  background-size:18px 18px;
  border-block:1px solid rgba(6,17,38,.12);
}
.strategy-desk::before { content:""; position:absolute; inset:0; background:linear-gradient(125deg,rgba(255,255,255,.7),transparent 46%,rgba(201,129,148,.12)); pointer-events:none; }
.strategy-desk .container { position:relative; }
.strategy-board {
  min-height:520px;
  margin-top:34px;
  border:1px solid rgba(6,17,38,.14);
  border-radius:6px 34px 8px 28px;
  background:linear-gradient(145deg,rgba(238,242,244,.78),rgba(207,217,223,.86));
  box-shadow:inset 0 1px rgba(255,255,255,.9),0 35px 90px rgba(6,17,38,.13);
  overflow:hidden;
}
.strategy-board::before { content:""; position:absolute; inset:24px; border:1px dashed rgba(6,17,38,.16); border-radius:4px 26px 4px 26px; }
.strategy-board .process-line { inset:5%; color:var(--pink-500); opacity:.56; z-index:0; }
.strategy-board .process-line path { stroke-dashoffset:0; animation:draw-route 16s linear infinite; }
@keyframes draw-route { to { stroke-dashoffset:-190; } }
.strategy-board .paper {
  width:clamp(230px,25vw,300px);
  min-height:188px;
  padding:25px;
  z-index:2;
  border-radius:3px;
  background:#FFFDF9;
  box-shadow:0 18px 32px rgba(6,17,38,.16),0 3px 7px rgba(6,17,38,.12);
}
.strategy-board .paper:nth-of-type(1) { left:4%; top:10%; transform:rotate(-4deg); }
.strategy-board .paper:nth-of-type(2) { left:27%; top:43%; transform:rotate(2.5deg); }
.strategy-board .paper:nth-of-type(3) { right:25%; top:7%; transform:rotate(-1.5deg); }
.strategy-board .paper:nth-of-type(4) { right:4%; bottom:7%; transform:rotate(4deg); }
.strategy-board .paper:nth-of-type(1):hover,.strategy-board .paper:nth-of-type(2):hover,.strategy-board .paper:nth-of-type(3):hover,.strategy-board .paper:nth-of-type(4):hover { transform:translateY(-7px) rotate(0); }
.strategy-board .paper h3 { font-size:clamp(1.55rem,2.4vw,2.05rem); margin-top:13px; }
.strategy-board .paper p { font-size:.96rem; }
.strategy-board .paper .note { font-size:.76rem; text-transform:uppercase; letter-spacing:.07em; }
.paper-pin { position:absolute; width:11px; height:11px; border-radius:50%; background:var(--pink-500); top:13px; right:14px; box-shadow:0 4px 7px rgba(6,17,38,.25); }
.paper-check,.paper-arrow { position:absolute; right:20px; bottom:15px; color:var(--pink-500); font-size:1.5rem; font-weight:900; }
.paper-circle { position:absolute; width:36px; height:36px; right:16px; bottom:12px; border:3px solid var(--pink-500); border-radius:50%; transform:rotate(-7deg); }
.paper-lines { position:absolute; width:52px; height:24px; right:18px; bottom:15px; border-block:3px solid var(--pink-500); }
.desk-note { position:absolute; z-index:1; font-family:"Segoe Print","Bradley Hand",cursive; color:rgba(6,17,38,.48); font-size:.82rem; transform:rotate(-6deg); }
.desk-note-one { left:7%; bottom:13%; }
.desk-note-two { right:10%; top:15%; }
.method-signature { margin:30px 0 0; text-align:center; }
.method-signature span { color:var(--pink-500); }

/* Home — portfólio */
.portfolio-section { background:linear-gradient(155deg,#061126,#0A1A36 66%,#102A4D); color:var(--white); }
.portfolio-section::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px); background-size:100px 100%; pointer-events:none; }
.portfolio-section .container { position:relative; }
.portfolio-intro { max-width:none; display:flex; justify-content:space-between; align-items:end; gap:40px; }
.portfolio-intro h2 { max-width:17ch; }
.portfolio-intro .text-link { flex:none; color:var(--pink-400); }
.portfolio-grid { margin-top:42px; gap:20px; }
.portfolio-grid .project-card { border-radius:4px 24px 4px 24px; border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.055); box-shadow:0 22px 50px rgba(0,0,0,.22); }
.portfolio-grid .project-card:nth-child(2),.portfolio-grid .project-card:nth-child(3) { transform:translateY(16px); }
.portfolio-grid .project-card:hover { transform:translateY(-7px); }
.portfolio-grid .project-cover { min-height:245px; overflow:hidden; isolation:isolate; }
.portfolio-grid .project-cover::before { content:""; position:absolute; inset:18px; border:1px solid currentColor; opacity:.16; z-index:-1; }
.portfolio-grid .project-cover::after { display:none; }
.project-monogram { position:absolute; right:-12px; top:-34px; font-family:var(--font-display); font-size:clamp(8rem,17vw,15rem); line-height:1; font-weight:900; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.25); transform:rotate(-8deg); z-index:-1; }
.project-media-note { position:absolute; top:20px; left:22px; max-width:220px; font-size:.58rem; text-transform:uppercase; letter-spacing:.12em; opacity:.65; }
.portfolio-grid .project-cover h3 { font-size:clamp(2rem,3.4vw,3rem); margin:0; }
.portfolio-grid .project-body { padding:20px 24px 23px; }
.portfolio-grid .project-body p { margin:0; font-size:.72rem; line-height:1.6; letter-spacing:.12em; font-weight:800; color:rgba(255,255,255,.68); }
.project-lider .project-cover,.case-lider .case-visual { background:linear-gradient(135deg,#0D2342,#294E74); }
.project-physio .project-cover,.case-physio .case-visual { background:linear-gradient(135deg,#B37686,#E3BCC5); color:var(--navy-950); }
.project-ramalho .project-cover,.case-ramalho .case-visual { background:linear-gradient(135deg,#213853,#0C172B); }
.project-fusiki .project-cover,.case-fusiki .case-visual { background:linear-gradient(135deg,#D8DDE0,#8FA1AF); color:var(--navy-950); }
.portfolio-mobile-link { display:none; margin-top:30px; }

/* Home — repertório */
.repertoire-section {
  background:var(--offwhite);
  color:var(--ink);
  border-block:1px solid rgba(6,17,38,.12);
}
.repertoire-layout { display:grid; grid-template-columns:.9fr 1.12fr 1fr; gap:48px; align-items:center; }
.repertoire-intro { position:relative; min-height:360px; display:flex; flex-direction:column; justify-content:center; }
.repertoire-number { position:absolute; left:-18px; top:-34px; font-family:var(--font-display); font-size:17rem; line-height:1; font-weight:900; color:transparent; -webkit-text-stroke:1px rgba(6,17,38,.12); z-index:0; }
.repertoire-intro>*:not(.repertoire-number) { position:relative; z-index:1; }
.repertoire-intro h2 { font-size:clamp(2.4rem,4vw,3.8rem); }
.change-narrative { border-left:1px solid rgba(6,17,38,.18); padding-left:34px; }
.change-narrative p { margin:0; padding:14px 0; border-bottom:1px solid rgba(6,17,38,.12); font-family:var(--font-display); font-size:clamp(1.25rem,2.1vw,1.9rem); letter-spacing:.025em; }
.change-narrative strong { color:var(--pink-500); }
.decision-compass { min-height:360px; position:relative; border:1px solid rgba(6,17,38,.15); border-radius:50%; display:grid; place-items:center; }
.decision-compass::before,.decision-compass::after { content:""; position:absolute; background:rgba(6,17,38,.14); }
.decision-compass::before { width:1px; height:110%; top:-5%; left:50%; }
.decision-compass::after { height:1px; width:110%; left:-5%; top:50%; }
.decision-center { width:160px; aspect-ratio:1; border-radius:50%; background:var(--navy-950); color:var(--white); display:grid; place-items:center; text-align:center; padding:18px; font-weight:800; line-height:1.25; z-index:2; box-shadow:0 16px 34px rgba(6,17,38,.24); }
.decision-label { position:absolute; padding:6px 9px; background:var(--offwhite); font-size:.64rem; letter-spacing:.1em; font-weight:900; z-index:2; }
.decision-label:nth-of-type(1) { top:12%; left:50%; transform:translateX(-50%); }
.decision-label:nth-of-type(2) { right:-4%; top:50%; transform:translateY(-50%) rotate(90deg); }
.decision-label:nth-of-type(3) { bottom:12%; left:50%; transform:translateX(-50%); color:var(--pink-500); }
.decision-label:nth-of-type(4) { left:-1%; top:50%; transform:translateY(-50%) rotate(-90deg); }

/* Home — CTA final */
.final-cta { background:linear-gradient(155deg,#0A1A36,#061126); color:var(--white); padding:72px 0; }
.cta-stage { position:relative; min-height:430px; display:grid; grid-template-columns:1.25fr .75fr; align-items:center; gap:50px; padding:55px 64px; border:1px solid rgba(255,255,255,.12); border-radius:6px 34px 6px 34px; overflow:hidden; background:linear-gradient(120deg,rgba(255,255,255,.055),rgba(255,255,255,.01)); box-shadow:0 30px 80px rgba(0,0,0,.26); }
.cta-stage::before { content:""; position:absolute; width:340px; height:18px; left:-34px; bottom:34px; background:var(--pink-500); transform:rotate(-4deg); opacity:.86; }
.cta-copy { position:relative; z-index:2; }
.cta-copy h2 { max-width:18ch; }
.cta-copy h2 span { color:var(--pink-400); }
.cta-copy .lead { color:rgba(255,255,255,.68); }
.cta-graphic { min-height:280px; position:relative; display:grid; place-items:center; }
.cta-orbit { width:250px; height:250px; border:1px solid rgba(215,165,177,.42); border-radius:50%; box-shadow:inset 0 0 70px rgba(201,129,148,.08); animation:orbit-turn 18s linear infinite; }
.cta-orbit::before { content:""; position:absolute; width:20px; height:20px; border-radius:50%; background:var(--pink-500); left:calc(50% - 10px); top:-10px; box-shadow:0 0 30px rgba(201,129,148,.45); }
@keyframes orbit-turn { to { transform:rotate(360deg); } }
.cta-arrow { position:absolute; font-size:5rem; color:var(--pink-400); font-weight:200; }
.cta-graphic p { position:absolute; right:0; bottom:0; margin:0; text-align:right; font-size:.62rem; letter-spacing:.12em; line-height:1.6; color:rgba(255,255,255,.48); }

/* Heróis internos */
.page-hero { position:relative; overflow:hidden; color:var(--white); background:linear-gradient(145deg,#061126,#0C2040 65%,#142F53); }
.page-hero::after { content:""; position:absolute; width:240px; height:16px; right:7vw; bottom:32px; background:var(--pink-500); transform:rotate(-4deg); opacity:.8; }
.page-hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,#000,transparent 82%); }
.page-hero-layout { position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; padding:68px 0 64px; }
.page-hero h1 { max-width:15ch; margin:0; font-size:clamp(2.65rem,4.6vw,4.25rem); }
.page-hero-copy { border-left:1px solid rgba(255,255,255,.16); padding-left:34px; }
.page-hero-copy .lead { color:rgba(255,255,255,.70); font-size:clamp(.98rem,1.15vw,1.1rem); margin-bottom:12px; }
.page-hero-copy .kicker { font-size:clamp(1.15rem,1.8vw,1.45rem); margin:22px 0 0; }

/* Soluções */
.service-marquee { border:0; background:var(--pink-500); color:var(--navy-950); }
.service-marquee .marquee-track { padding:14px 0; }
.service-marquee .marquee-track span::after { color:var(--navy-950); }
.solution-immersive { padding:94px 0; scroll-margin-top:84px; position:relative; overflow:hidden; }
.solution-immersive .solution-layout { grid-template-columns:.74fr 1.26fr; gap:80px; }
.solution-heading { padding-top:20px; }
.solution-number { display:block; position:absolute; right:10%; top:-28px; font-family:var(--font-display); font-size:9rem; line-height:1; font-weight:900; color:transparent; -webkit-text-stroke:1px rgba(6,17,38,.13); z-index:-1; }
.solution-heading h2 { margin-top:18px; max-width:12ch; }
.solution-heading .kicker { max-width:15ch; font-size:clamp(1.25rem,2vw,1.7rem); }
.solution-line { display:block; width:120px; height:4px; margin-top:28px; background:var(--pink-500); transform:rotate(-2deg); }
.solution-flow { background:transparent; border:0; border-left:1px solid rgba(6,17,38,.16); border-radius:0; padding:10px 0 10px 48px; box-shadow:none; }
.solution-flow>p { max-width:700px; font-size:1.06rem; line-height:1.67; }
.solution-flow h3 { margin-top:32px; font-size:1.35rem; text-transform:uppercase; letter-spacing:.05em; }
.solution-flow ul { list-style:none; padding:0; margin:20px 0 30px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 26px; columns:auto; }
.solution-flow li { position:relative; padding:10px 8px 10px 22px; margin:0; border-bottom:1px solid rgba(6,17,38,.12); }
.solution-flow li::before { content:"↗"; position:absolute; left:0; color:var(--pink-500); font-weight:900; }
.solution-flow .quote-band { margin:32px 0 26px; padding:22px 24px; border-radius:3px 18px 3px 18px; font-size:clamp(1.15rem,1.8vw,1.5rem); border-left:5px solid var(--pink-500); box-shadow:0 20px 50px rgba(6,17,38,.12); }
.solution-flow>.kicker { font-size:1.25rem; }
.solution-start { background:var(--offwhite); }
.solution-raiox { background:linear-gradient(145deg,#07152E,#102A4D); color:var(--white); }
.solution-raiox::before { content:""; position:absolute; width:520px; height:520px; border:1px solid rgba(215,165,177,.16); border-radius:50%; right:-220px; top:-160px; }
.solution-raiox .solution-number { -webkit-text-stroke-color:rgba(255,255,255,.14); }
.solution-raiox .solution-flow { border-left-color:rgba(255,255,255,.15); }
.solution-raiox .solution-flow>p { color:rgba(255,255,255,.72); }
.solution-raiox .solution-flow li { border-color:rgba(255,255,255,.12); }
.solution-raiox .tag { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.14); }
.solution-raiox .quote-band { background:rgba(255,255,255,.07); }
.solution-direction { background:linear-gradient(180deg,#E9EEF2,#DCE5EA); }
.solution-manifesto { background:var(--pink-500); color:var(--navy-950); padding:72px 0; }
.manifesto-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start; }
.manifesto-layout h2 { max-width:15ch; }
.manifesto-layout .lead { color:rgba(6,17,38,.76); }
.compact-cta { background:linear-gradient(145deg,#061126,#102A4D); color:var(--white); padding:76px 0; }
.compact-cta .container { display:grid; grid-template-columns:1.25fr .75fr; gap:20px 60px; align-items:center; }
.compact-cta .eyebrow,.compact-cta h2,.compact-cta .kicker,.compact-cta .lead { grid-column:1; }
.compact-cta h2 { max-width:17ch; }
.compact-cta .lead { color:rgba(255,255,255,.68); margin-bottom:0; }
.compact-cta .btn { grid-column:2; grid-row:1 / span 5; justify-self:center; }

/* Projetos */
.cases-section { background:linear-gradient(180deg,#F4F0E9,#E9EEF1); }
.cases-list { display:grid; gap:24px; }
.projects-page .case-card { border-radius:4px 24px 4px 24px; border-color:rgba(6,17,38,.14); background:rgba(255,255,255,.78); box-shadow:0 18px 45px rgba(6,17,38,.08); }
.projects-page .case-card:hover { transform:translateY(-3px); }
.projects-page .case-trigger { grid-template-columns:280px minmax(0,1fr) auto; padding:0; gap:0; min-height:210px; }
.case-trigger::-webkit-details-marker { display:none; }
.case-trigger::marker { content:""; }
.case-visual { position:relative; align-self:stretch; min-height:210px; overflow:hidden; display:grid; place-items:center; color:var(--white); }
.case-visual::before { content:""; position:absolute; inset:18px; border:1px solid currentColor; opacity:.18; }
.case-monogram { font-family:var(--font-display); font-size:6.8rem; font-weight:900; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.36); transform:rotate(-7deg); }
.case-visual .project-media-note { left:18px; top:16px; }
.case-heading { min-width:0; padding:30px 36px; }
.case-number { display:block; margin-bottom:20px; color:var(--pink-500); font-size:.7rem; letter-spacing:.14em; font-weight:900; }
.case-heading h2 { margin:0; max-width:none; font-size:clamp(2rem,3.5vw,3.3rem); }
.case-heading .case-meta { margin-top:18px; }
.projects-page .toggle-icon { margin-right:30px; border-radius:50%; background:var(--navy-950); color:var(--white); }
.projects-page .case-content { padding:0 30px 30px; background:rgba(255,255,255,.62); }
.projects-page .case-content-grid { padding-top:30px; }
.projects-page .case-placeholder { background:transparent; border-style:solid; border-color:rgba(6,17,38,.12); border-radius:3px 16px 3px 16px; min-height:160px; }
.project-closing { background:linear-gradient(145deg,#061126,#102A4D); color:var(--white); }
.project-closing-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:72px; align-items:center; }
.project-closing-layout .lead { color:rgba(255,255,255,.68); }
.project-closing .quote-band { margin:26px 0; background:rgba(255,255,255,.07); border-left:5px solid var(--pink-500); padding:24px; font-size:clamp(1.25rem,2vw,1.65rem); }

/* Sobre */
.about-intro { background:var(--offwhite); }
.about-intro-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:72px; align-items:start; }
.about-intro-layout h2 { max-width:14ch; }
.about-intro-copy { border-left:1px solid rgba(6,17,38,.15); padding-left:40px; }
.about-intro-copy .lead { font-size:1.08rem; }
.about-intro-copy .kicker { margin-top:28px; color:var(--pink-500); }
.about-repertoire { background:linear-gradient(145deg,#0A1A36,#061126); color:var(--white); }
.about-repertoire-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:74px; align-items:center; }
.about-repertoire-layout>div:first-child { position:relative; min-height:370px; display:flex; flex-direction:column; justify-content:center; }
.about-eight { position:absolute; left:-20px; top:-40px; font-family:var(--font-display); font-size:19rem; line-height:1; font-weight:900; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.13); }
.about-repertoire-layout>div:first-child>*:not(.about-eight) { position:relative; z-index:2; }
.about-repertoire-layout h2 { font-size:clamp(2.5rem,4.3vw,4rem); }
.repertoire-choices { display:grid; grid-template-columns:repeat(2,1fr); border:1px solid rgba(255,255,255,.15); border-radius:4px 26px 4px 26px; overflow:hidden; }
.repertoire-choices>div { min-height:170px; padding:28px; border-right:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); transition:background-color .25s var(--ease); }
.repertoire-choices>div:nth-child(even) { border-right:0; }
.repertoire-choices>div:nth-child(n+3) { border-bottom:0; }
.repertoire-choices>div:hover { background:rgba(201,129,148,.12); }
.repertoire-choices span { color:var(--pink-400); font-size:.72rem; letter-spacing:.13em; font-weight:900; }
.repertoire-choices h3 { margin:28px 0 5px; }
.repertoire-choices p { margin:0; color:rgba(255,255,255,.58); }
.about-method-section { background:#DFE6EA; }
.about-method-list { margin-top:34px; border-top:1px solid rgba(6,17,38,.18); }
.about-method-list article { display:grid; grid-template-columns:80px .72fr 1.28fr; align-items:center; gap:24px; padding:24px 10px; border-bottom:1px solid rgba(6,17,38,.18); transition:padding .25s var(--ease),background-color .25s var(--ease); }
.about-method-list article:hover { padding-inline:24px; background:rgba(255,255,255,.42); }
.about-method-list span { color:var(--pink-500); font-weight:900; font-size:.75rem; letter-spacing:.12em; }
.about-method-list h3,.about-method-list p { margin:0; }
.about-method-list h3 { font-size:clamp(1.55rem,2.4vw,2.1rem); }
.about-method-list p { color:var(--muted); }
.editorial-thinking { background:var(--offwhite); }
.editorial-thinking-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:center; }
.editorial-thinking-layout h2 { max-width:16ch; }
.editorial-principles { border-top:1px solid rgba(6,17,38,.16); }
.editorial-principles p { margin:0; display:grid; grid-template-columns:48px 1fr; gap:14px; padding:25px 0; border-bottom:1px solid rgba(6,17,38,.16); font-family:var(--font-display); font-size:clamp(1.45rem,2.5vw,2.15rem); line-height:1.08; }
.editorial-principles span { color:var(--pink-500); font-family:var(--font-body); font-size:.68rem; letter-spacing:.12em; padding-top:5px; }
.founder-section { background:linear-gradient(180deg,#DDE5E9,#EDF0F1); }
.founder-feature { display:grid; grid-template-columns:.82fr 1.18fr; gap:78px; align-items:center; }
.founder-visual { position:relative; max-width:470px; padding:18px 42px 48px 18px; }
.founder-frame { position:relative; border-radius:4px 30px 4px 30px; overflow:hidden; box-shadow:0 30px 70px rgba(6,17,38,.18); }
.founder-frame::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 1px rgba(255,255,255,.35); pointer-events:none; }
.founder-photo { aspect-ratio:4/5; margin:0; border-radius:0; filter:grayscale(1) contrast(1.05); object-position:center; transition:filter .35s var(--ease),transform .55s var(--ease); }
.founder-frame:hover .founder-photo { filter:grayscale(.35) contrast(1.02); transform:scale(1.025); }
.founder-caption { position:absolute; right:0; bottom:12px; max-width:210px; padding:15px 18px; background:var(--pink-500); color:var(--navy-950); font-size:.78rem; line-height:1.45; font-weight:850; box-shadow:0 14px 30px rgba(6,17,38,.15); }
.founder-line { position:absolute; width:110px; height:3px; left:-12px; top:32%; background:var(--pink-500); transform:rotate(-5deg); }
.founder-copy h2 { max-width:16ch; }
.founder-copy .lead { font-size:1.02rem; margin-bottom:12px; }
.founder-tags { margin-top:28px; display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid rgba(6,17,38,.16); }
.founder-tags span { padding:12px 12px 12px 0; border-bottom:1px solid rgba(6,17,38,.16); font-size:.74rem; line-height:1.4; }
.founder-tags span:nth-child(odd) { font-weight:850; color:var(--pink-500); }

/* Contato */
.contact-experience { background:linear-gradient(150deg,#07152E,#0D2546); color:var(--white); }
.contact-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:start; }
.contact-conversation { padding-top:10px; }
.contact-conversation h2 { max-width:15ch; }
.contact-conversation h2 span { color:var(--pink-400); }
.contact-conversation>.lead { color:rgba(255,255,255,.66); max-width:580px; }
.contact-options { display:grid; gap:10px; margin-top:30px; }
.contact-options .contact-card { min-height:0; width:100%; display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:14px; padding:18px 20px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.12); border-radius:3px 16px 3px 16px; color:var(--white); box-shadow:none; cursor:pointer; text-align:left; overflow:hidden; }
.contact-options .contact-card::before { width:48px; height:48px; opacity:.15; }
.contact-options .contact-card:hover { background:rgba(201,129,148,.13); border-color:rgba(215,165,177,.45); }
.contact-options .contact-card.is-context { background:rgba(201,129,148,.16); border-color:var(--pink-500); box-shadow:inset 4px 0 0 var(--pink-500); }
.contact-options .card-index { margin:0; color:var(--pink-400); }
.contact-options strong { display:block; font-family:var(--font-display); font-size:1.12rem; letter-spacing:-.015em; }
.contact-options small { display:block; margin-top:4px; color:rgba(255,255,255,.57); font-size:.82rem; line-height:1.35; }
.contact-arrow { color:var(--pink-400); font-size:1.4rem; }
.contact-support { margin:24px 0 0; color:rgba(255,255,255,.56); font-size:.9rem; }
.contact-status { background:rgba(255,255,255,.08); color:var(--pink-400); border:1px solid rgba(255,255,255,.12); }
.form-shell { position:relative; background:var(--offwhite); color:var(--ink); padding:38px; border-radius:5px 28px 5px 28px; box-shadow:18px 18px 0 rgba(201,129,148,.18),0 36px 80px rgba(0,0,0,.28); }
.form-shell::before { content:""; position:absolute; inset:14px; border:1px solid rgba(6,17,38,.08); border-radius:2px 20px 2px 20px; pointer-events:none; }
.form-kicker { display:block; position:relative; margin-bottom:26px; color:var(--pink-500); text-transform:uppercase; letter-spacing:.13em; font-size:.72rem; font-weight:900; }
.contact-form { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.field { display:grid; gap:8px; }
.field-full { grid-column:1 / -1; }
.field label { font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; font-weight:850; }
.field input,.field select,.field textarea { width:100%; border:0; border-bottom:1px solid rgba(6,17,38,.24); border-radius:0; background:transparent; padding:10px 2px 11px; color:var(--ink); outline:0; }
.field textarea { resize:vertical; min-height:104px; border:1px solid rgba(6,17,38,.18); border-radius:3px 14px 3px 14px; padding:12px; }
.field input:focus,.field select:focus { border-bottom-color:var(--pink-500); box-shadow:0 2px 0 var(--pink-500); }
.field textarea:focus { border-color:var(--pink-500); box-shadow:0 0 0 2px rgba(201,129,148,.16); }
.form-submit { grid-column:1 / -1; justify-self:start; border:0; cursor:pointer; }
.form-note { grid-column:1 / -1; margin:0; color:var(--muted); font-size:.72rem; line-height:1.45; }
.form-status { grid-column:1 / -1; display:none; padding:14px 16px; background:#E3E9EC; border-left:4px solid var(--pink-500); font-size:.88rem; line-height:1.45; }
.form-status.show { display:block; }

/* Rodapé */
.footer { padding-top:58px; }
.footer-grid { align-items:start; }
.footer-grid>div:first-child p { max-width:420px; margin-top:20px; }
.brand-logo-footer { height:54px; max-width:220px; }

/* Reveal progressivo */
.reveal { transform:translateY(24px) scale(.995); transition-duration:.72s; transition-delay:calc(var(--reveal-order,0) * 70ms); }
.reveal.visible { transform:translateY(0) scale(1); }

@media (max-width:1080px) {
  .repertoire-layout { grid-template-columns:1fr 1fr; }
  .decision-compass { grid-column:1 / -1; width:min(420px,90%); margin-inline:auto; }
  .strategy-board .paper { width:260px; }
}

@media (max-width:960px) {
  .section { padding:76px 0; }
  .moments-grid { grid-template-columns:1fr; max-width:700px; margin-inline:auto; }
  .moments-grid .moment-card,.moments-grid .moment-card:nth-child(1),.moments-grid .moment-card:nth-child(2),.moments-grid .moment-card:nth-child(3) { min-height:0; transform:none; }
  .moments-grid .card-index { margin-bottom:28px; }
  .strategy-board { min-height:760px; }
  .strategy-board .paper { width:42%; }
  .strategy-board .paper:nth-of-type(1) { left:5%; top:7%; }
  .strategy-board .paper:nth-of-type(2) { left:10%; top:39%; }
  .strategy-board .paper:nth-of-type(3) { right:6%; top:20%; }
  .strategy-board .paper:nth-of-type(4) { right:8%; bottom:6%; }
  .portfolio-grid { grid-template-columns:1fr 1fr; }
  .repertoire-layout,.page-hero-layout,.manifesto-layout,.project-closing-layout,.about-intro-layout,.about-repertoire-layout,.editorial-thinking-layout,.founder-feature,.contact-layout { grid-template-columns:1fr; }
  .page-hero-layout { gap:34px; padding:58px 0; }
  .page-hero h1 { max-width:18ch; }
  .page-hero-copy { max-width:760px; }
  .solution-immersive .solution-layout { grid-template-columns:1fr; gap:34px; }
  .solution-sticky { position:static; }
  .solution-heading { max-width:700px; }
  .solution-number { right:auto; left:45%; }
  .solution-flow { padding-left:34px; }
  .compact-cta .container { grid-template-columns:1fr; }
  .compact-cta .eyebrow,.compact-cta h2,.compact-cta .kicker,.compact-cta .lead,.compact-cta .btn { grid-column:1; grid-row:auto; justify-self:start; }
  .projects-page .case-trigger { grid-template-columns:220px minmax(0,1fr) auto; }
  .about-intro-copy { padding-left:0; border-left:0; max-width:760px; }
  .founder-feature { gap:44px; }
  .founder-visual { justify-self:center; }
  .founder-copy { max-width:760px; }
  .contact-layout { gap:48px; }
}

@media (max-width:700px) {
  h2 { font-size:clamp(2.15rem,9vw,3.2rem); }
  .portfolio-intro { display:block; }
  .portfolio-intro>.text-link { display:none; }
  .portfolio-mobile-link { display:block; }
  .portfolio-grid { grid-template-columns:1fr; }
  .portfolio-grid .project-card:nth-child(2),.portfolio-grid .project-card:nth-child(3) { transform:none; }
  .repertoire-layout { grid-template-columns:1fr; }
  .repertoire-intro { min-height:300px; }
  .change-narrative { padding-left:18px; }
  .decision-compass { grid-column:auto; min-height:320px; }
  .cta-stage { grid-template-columns:1fr; padding:38px 28px; }
  .cta-graphic { min-height:220px; }
  .projects-page .case-trigger { grid-template-columns:1fr auto; }
  .case-visual { grid-column:1 / -1; min-height:180px; }
  .case-heading { padding:24px; }
  .projects-page .toggle-icon { margin-right:22px; }
  .projects-page .case-content-grid { grid-template-columns:1fr; }
  .about-method-list article { grid-template-columns:46px 1fr; gap:12px; }
  .about-method-list p { grid-column:2; }
  .repertoire-choices { grid-template-columns:1fr; }
  .repertoire-choices>div { border-right:0; border-bottom:1px solid rgba(255,255,255,.14)!important; min-height:130px; }
  .repertoire-choices>div:last-child { border-bottom:0!important; }
  .editorial-principles p { grid-template-columns:38px 1fr; }
  .founder-tags { grid-template-columns:1fr; }
  .contact-form { grid-template-columns:1fr; }
  .field-full,.form-submit,.form-note,.form-status { grid-column:1; }
}

@media (max-width:640px) {
  .section { padding:64px 0; }
  .header-inner { min-height:70px; }
  .nav { inset:70px 12px auto; }
  .home-hero h1 { max-width:20ch; font-size:clamp(2.15rem,10.4vw,2.85rem); }
  .hero-stage { padding:38px 0 42px; }
  .hero-premise { padding-left:16px; }
  .moments-grid { margin-top:36px; }
  .moments-grid .moment-card { padding:24px; border-bottom-width:5px; }
  .strategy-board { min-height:900px; overflow:hidden; }
  .strategy-board .process-line,.desk-note { display:none; }
  .strategy-board .paper { width:84%; min-height:175px; }
  .strategy-board .paper:nth-of-type(1) { left:5%; top:4%; }
  .strategy-board .paper:nth-of-type(2) { left:11%; top:27%; }
  .strategy-board .paper:nth-of-type(3) { right:9%; top:51%; }
  .strategy-board .paper:nth-of-type(4) { right:5%; bottom:4%; }
  .portfolio-grid .project-cover { min-height:220px; }
  .change-narrative p { font-size:1.2rem; }
  .decision-compass { width:290px; min-height:290px; }
  .decision-center { width:130px; font-size:.82rem; }
  .final-cta { padding:50px 0; }
  .cta-stage { min-height:0; gap:20px; }
  .cta-stage::before { bottom:20px; }
  .cta-orbit { width:190px; height:190px; }
  .page-hero-layout { padding:46px 0 50px; gap:26px; }
  .page-hero h1 { font-size:clamp(2.25rem,10vw,3.05rem); }
  .page-hero-copy { padding-left:18px; }
  .page-hero::after { width:120px; right:5vw; bottom:20px; }
  .solution-immersive { padding:68px 0; }
  .solution-flow { padding:0; border-left:0; }
  .solution-flow ul { grid-template-columns:1fr; }
  .solution-number { left:auto; right:0; font-size:6.5rem; }
  .solution-flow .quote-band { padding:20px; }
  .projects-page .case-trigger { min-height:0; }
  .case-visual { min-height:160px; }
  .case-monogram { font-size:5.4rem; }
  .project-closing-layout { gap:28px; }
  .about-repertoire-layout>div:first-child { min-height:300px; }
  .about-eight { font-size:15rem; }
  .about-method-list article { padding:20px 4px; }
  .founder-visual { padding:12px 24px 46px 12px; }
  .founder-caption { right:-4px; }
  .form-shell { padding:30px 22px; box-shadow:10px 10px 0 rgba(201,129,148,.18),0 28px 60px rgba(0,0,0,.25); }
  .contact-options .contact-card { grid-template-columns:34px 1fr auto; padding:16px; }
  .contact-options small { font-size:.76rem; }
}

@media (prefers-reduced-motion:reduce) {
  .identity-track,.marquee-track,.axis-line,.cta-orbit,.strategy-board .process-line path { animation:none!important; transform:none!important; }
  .founder-photo { transition:none; }
  .founder-frame:hover .founder-photo { transform:none; filter:grayscale(1) contrast(1.05); }
}

/* PREVIEW V4.1 — photography as editorial structure */
.photo-plane { margin:0; position:absolute; pointer-events:none; overflow:hidden; z-index:0; --photo-shift:0px; }
.photo-plane img { width:100%; height:calc(100% + 72px); object-fit:cover; transform:translate3d(0,var(--photo-shift),0) scale(1.07); filter:grayscale(1) contrast(1.12); transition:clip-path 1.1s var(--ease),opacity .9s var(--ease); }
.photo-reveal img { clip-path:inset(0 100% 0 0); opacity:0; }
.photo-reveal.visible img { clip-path:inset(0); opacity:1; }
.home-hero .container,.strategy-desk .container,.repertoire-section .container { position:relative; z-index:2; }
.photo-billboard { width:min(58vw,980px); height:78%; right:-6vw; top:9%; opacity:.28; mix-blend-mode:screen; mask-image:linear-gradient(90deg,transparent 0,#000 28%,#000 76%,transparent 100%); }
.photo-billboard img { object-position:54% center; }
.photo-network { width:58vw; height:72%; right:-9vw; top:8%; opacity:.115; transform:rotate(-4deg); mask-image:radial-gradient(ellipse at 68% 45%,#000 0,transparent 72%); }
.photo-analysis { width:52vw; height:112%; left:-8vw; top:-8%; opacity:.16; mix-blend-mode:multiply; mask-image:linear-gradient(90deg,#000 10%,rgba(0,0,0,.8) 54%,transparent 100%); }
.photo-analysis img { object-position:58% center; }

.page-hero { isolation:isolate; }
.page-hero::before,.solution-immersive::before,.about-method-section::before,.contact-experience::before { content:""; position:absolute; pointer-events:none; background-repeat:no-repeat; background-size:cover; filter:grayscale(1) contrast(1.12); }
.page-hero-solutions::before { width:54vw; height:125%; right:-7vw; top:-12%; background-image:linear-gradient(90deg,transparent,rgba(6,17,38,.08)),url('/assets/photos/direcao/6.jpg'); background-position:center; opacity:.27; mix-blend-mode:screen; clip-path:polygon(16% 0,100% 0,100% 100%,0 82%); }
.page-hero-projects::before { width:62vw; height:118%; right:-9vw; top:-8%; background-image:linear-gradient(90deg,transparent 4%,rgba(6,17,38,.15)),url('/assets/photos/direcao/5.jpg'); background-position:center; opacity:.32; mix-blend-mode:screen; mask-image:linear-gradient(90deg,transparent,#000 30%); }
.page-hero-about::before { width:62vw; height:120%; right:-8vw; top:-10%; background-image:url('/assets/photos/direcao/7.jpg'); background-position:center; opacity:.3; mix-blend-mode:screen; mask-image:linear-gradient(90deg,transparent,#000 32%); }
.page-hero-contact::before { width:62vw; height:118%; right:-8vw; top:-8%; background-image:url('/assets/photos/direcao/1.jpg'); background-position:center; opacity:.27; mix-blend-mode:screen; clip-path:polygon(18% 0,100% 0,100% 100%,0 84%); }

.solution-immersive,.about-method-section,.contact-experience,.founder-section { position:relative; overflow:hidden; isolation:isolate; }
.solution-immersive>.container,.about-method-section>.container,.contact-experience>.container,.founder-section>.container { position:relative; z-index:2; }
.solution-start::before { inset:8% auto 6% -9vw; width:44vw; background-image:url('/assets/photos/direcao/2.jpg'); background-position:58% center; opacity:.09; clip-path:polygon(0 8%,92% 0,100% 86%,8% 100%); }
.solution-raiox::before { inset:-5% -7vw -5% auto; width:50vw; background-image:url('/assets/photos/direcao/10.jpg'); background-position:58% center; opacity:.12; mix-blend-mode:multiply; mask-image:linear-gradient(90deg,transparent,#000 35%); }
.solution-direction::before { inset:2% auto 2% -8vw; width:52vw; background-image:url('/assets/photos/direcao/5.jpg'); background-position:center; opacity:.11; mask-image:linear-gradient(90deg,#000 58%,transparent); }
.about-method-section::before { inset:-14% -10vw -14% auto; width:61vw; background-image:url('/assets/photos/direcao/6.jpg'); opacity:.1; background-position:center; transform:rotate(3deg); mask-image:radial-gradient(ellipse at center,#000,transparent 70%); }
.contact-experience::before { inset:8% auto 8% -10vw; width:54vw; background-image:url('/assets/photos/direcao/7.jpg'); background-position:center; opacity:.07; transform:rotate(-5deg); mask-image:linear-gradient(90deg,#000 55%,transparent); }

.founder-section { min-height:680px; background:#dfe6e9; }
.founder-feature { min-height:520px; grid-template-columns:.72fr 1.28fr; }
.founder-visual { position:static; min-height:470px; padding:0; }
.founder-frame { position:absolute; inset:-80px 38% -80px -9vw; border-radius:0; box-shadow:none; opacity:.3; mask-image:linear-gradient(90deg,#000 0,#000 70%,transparent 100%); }
.founder-frame::after { display:none; }
.founder-photo,.founder-frame:hover .founder-photo { width:100%; height:100%; object-fit:cover; object-position:center; filter:grayscale(1) contrast(1.12); transform:scale(1.06); }
.founder-caption { right:auto; left:0; bottom:22px; z-index:3; background:var(--navy-950); color:var(--white); padding:16px 20px; border-left:4px solid var(--pink-500); }
.founder-line { left:8%; right:auto; bottom:112px; width:180px; z-index:3; }
.founder-copy { position:relative; z-index:3; }
.founder-copy::before { display:none; }

@media (max-width:960px) {
  .photo-billboard { width:82vw; right:-22vw; opacity:.19; }
  .photo-network,.photo-analysis { width:78vw; opacity:.08; }
  .page-hero::before { width:78vw; opacity:.18; }
  .solution-immersive::before,.about-method-section::before,.contact-experience::before { width:72vw; opacity:.06; }
  .founder-feature { grid-template-columns:1fr; }
  .founder-frame { inset:-20px -20vw 36% -20vw; mask-image:linear-gradient(180deg,#000 0,transparent 100%); }
  .founder-visual { min-height:330px; }
  .founder-caption { bottom:auto; top:220px; }
}

@media (max-width:620px) {
  .photo-billboard { width:118vw; right:-55vw; top:18%; height:64%; }
  .photo-network { width:110vw; right:-48vw; }
  .photo-analysis { width:105vw; left:-52vw; }
  .page-hero::before { width:115vw; right:-62vw; opacity:.14; }
  .founder-section { min-height:0; }
}

@media (prefers-reduced-motion:reduce) {
  .photo-plane img,.photo-reveal img,.photo-reveal.visible img { transform:none!important; transition:none!important; clip-path:inset(0); opacity:1; }
}

/* V4.1 — refinamentos da Home a partir da revisão visual */
.header-inner { min-height:96px; }
.brand-logo-header { height:62px; max-width:248px; }
.nav { font-size:.79rem; }

.home-hero::after { display:none; }
.hero-stage { min-height:650px; padding:58px 0 54px; }
.hero-copy { width:min(100%,1120px); display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); grid-template-areas:"title title" "premise questions" "decision decision" "summary summary"; column-gap:64px; text-align:left; }
.home-hero h1 { grid-area:title; max-width:none; margin:0 0 42px; text-align:left; font-size:clamp(3.2rem,4.75vw,4.65rem); line-height:.96; letter-spacing:-.04em; }
.hero-editorial { display:contents; }
.hero-premise { grid-area:premise; align-self:center; max-width:560px; padding:8px 0 8px 28px; }
.priority-question { grid-area:questions; align-self:center; margin:0; padding:25px 28px 27px; transform:none; border-radius:3px 30px 3px 30px; background:linear-gradient(140deg,rgba(255,255,255,.10),rgba(255,255,255,.035)); border-color:rgba(215,165,177,.26); box-shadow:0 28px 70px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.10); }
.hero-decision { grid-area:decision; width:100%; max-width:none; display:grid; grid-template-columns:260px 1fr; gap:0; margin:36px 0 0; padding:22px 26px; align-items:center; background:linear-gradient(90deg,rgba(201,129,148,.13),rgba(255,255,255,.035)); border:1px solid rgba(255,255,255,.10); border-left:4px solid var(--pink-500); border-radius:2px 20px 2px 20px; }
.hero-decision>p { flex:none; padding-right:28px; font-size:.92rem; }
.hero-highlight { padding-left:34px; }
.hero-summary { grid-area:summary; max-width:none!important; margin:20px 0 0; text-align:center; }
.hero-axis { width:210px; height:210px; right:-55px; top:-22px; opacity:.28; z-index:-1; }
.axis-line { width:72px; height:72px; left:69px; top:69px; }
.axis-note { display:none; }
.photo-billboard { width:min(62vw,1050px); height:84%; right:-14vw; top:7%; opacity:.34; z-index:1; mix-blend-mode:luminosity; }

.identity-band { transform:none; margin:0; background:linear-gradient(90deg,#B8758A 0%,#D5A6B2 42%,#B47B9C 100%); border-color:rgba(6,17,38,.18); }
.identity-track { padding:14px 0; animation-duration:15s; }

.moments-section .section-intro-centered { max-width:none; }
.moments-section .section-intro-centered h2 { max-width:none; white-space:nowrap; font-size:clamp(2.6rem,3.7vw,3.7rem); }
.moments-grid { gap:26px; perspective:1200px; }
.moments-grid .moment-card,.moments-grid .moment-card:nth-child(1),.moments-grid .moment-card:nth-child(2),.moments-grid .moment-card:nth-child(3) { min-height:390px; transform:none; border-radius:5px 30px 5px 30px; transition:transform .42s var(--ease),box-shadow .42s var(--ease),border-radius .42s var(--ease); }
.moments-grid .moment-card:hover,.moments-grid .moment-card:nth-child(2):hover { transform:translateY(-12px) scale(1.012); border-radius:18px 5px 30px 5px; box-shadow:0 34px 80px rgba(6,17,38,.20); }
.moments-grid .card-index { position:absolute; left:23px; top:9px; margin:0; font-size:5.8rem; line-height:1; font-weight:900; color:transparent; -webkit-text-stroke:1px rgba(6,17,38,.13); letter-spacing:-.08em; }
.moments-grid .moment-card:nth-child(2) .card-index { -webkit-text-stroke-color:rgba(255,255,255,.17); }
.moments-grid h3 { margin-top:73px; }
.moment-marker { animation:marker-breathe 3.6s ease-in-out infinite; }
@keyframes marker-breathe { 50% { transform:scale(1.35); opacity:.45; box-shadow:0 0 0 12px rgba(201,129,148,.09); } }

.strategy-board { min-height:540px; background:linear-gradient(135deg,#102D52 0%,#1D4A72 48%,#7694A9 100%); border-color:rgba(255,255,255,.22); box-shadow:inset 0 1px rgba(255,255,255,.3),0 38px 90px rgba(6,17,38,.22); }
.strategy-board::before { border-color:rgba(255,255,255,.2); }
.strategy-board .paper,.strategy-board .paper:nth-of-type(1),.strategy-board .paper:nth-of-type(2),.strategy-board .paper:nth-of-type(3),.strategy-board .paper:nth-of-type(4) { width:21.5%; min-height:215px; right:auto; bottom:auto; transform:none; border-radius:3px 18px 3px 18px; }
.strategy-board .paper:nth-of-type(1) { left:3%; top:12%; }
.strategy-board .paper:nth-of-type(2) { left:27.3%; top:39%; }
.strategy-board .paper:nth-of-type(3) { left:51.5%; top:12%; }
.strategy-board .paper:nth-of-type(4) { left:75.5%; top:39%; }
.strategy-board .paper:nth-of-type(1):hover,.strategy-board .paper:nth-of-type(2):hover,.strategy-board .paper:nth-of-type(3):hover,.strategy-board .paper:nth-of-type(4):hover { transform:translateY(-10px) scale(1.02); box-shadow:0 30px 48px rgba(3,10,25,.30); }
.strategy-board .paper::after { display:none; }
.strategy-board .paper .note { display:inline; font-size:.82rem; font-weight:850; letter-spacing:.06em; line-height:1.8; background:linear-gradient(transparent 72%,rgba(201,129,148,.44) 72%,rgba(201,129,148,.44) 94%,transparent 94%); }
.desk-note { color:rgba(255,255,255,.78); font-size:1.22rem; font-weight:600; text-shadow:0 2px 12px rgba(6,17,38,.25); }
.desk-note-one { left:5%; bottom:7%; }
.desk-note-two { right:7%; top:8%; }

.repertoire-number { left:-2px; top:-22px; font-family:"Segoe Print","Bradley Hand",cursive; font-size:15.5rem; font-weight:400; font-style:italic; letter-spacing:-.13em; -webkit-text-stroke:1px rgba(6,17,38,.17); transform:rotate(-7deg); }
.decision-compass { animation:compass-glow 5s ease-in-out infinite; }
.decision-center { animation:compass-float 4s ease-in-out infinite; }
@keyframes compass-glow { 50% { border-color:rgba(201,129,148,.7); box-shadow:0 0 0 14px rgba(201,129,148,.05),0 20px 50px rgba(6,17,38,.08); } }
@keyframes compass-float { 50% { transform:translateY(-8px) scale(1.035); box-shadow:0 24px 46px rgba(6,17,38,.28); } }

.cta-stage::before { display:none; }
.cta-arrow { width:112px; height:112px; display:grid; place-items:center; }
.cta-arrow svg { width:100%; height:100%; overflow:visible; }
.cta-arrow path { fill:none; stroke:var(--pink-400); stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.footer { background:linear-gradient(145deg,#020917 0%,#061126 46%,#12365B 100%); }

@media (max-width:960px) {
  .header-inner { min-height:84px; }
  .brand-logo-header { height:54px; max-width:216px; }
  .nav { inset-block-start:84px; }
  .hero-copy { grid-template-columns:1fr; grid-template-areas:"title" "premise" "questions" "decision" "summary"; row-gap:22px; }
  .home-hero h1 { margin-bottom:8px; }
  .hero-premise,.priority-question { max-width:none; }
  .hero-decision { margin-top:4px; }
  .strategy-board .paper,.strategy-board .paper:nth-of-type(1),.strategy-board .paper:nth-of-type(2),.strategy-board .paper:nth-of-type(3),.strategy-board .paper:nth-of-type(4) { width:42%; }
  .strategy-board .paper:nth-of-type(1) { left:5%; top:6%; }
  .strategy-board .paper:nth-of-type(2) { left:53%; top:25%; }
  .strategy-board .paper:nth-of-type(3) { left:5%; top:47%; }
  .strategy-board .paper:nth-of-type(4) { left:53%; top:68%; }
  .strategy-board { min-height:900px; }
}

@media (max-width:640px) {
  .header-inner { min-height:74px; }
  .brand-logo-header { height:46px; max-width:184px; }
  .nav { inset-block-start:74px; }
  .hero-stage { padding:42px 0 46px; }
  .home-hero h1 { font-size:clamp(2.25rem,10.6vw,3rem); }
  .home-hero h1 br { display:none; }
  .hero-copy { row-gap:18px; }
  .hero-decision { display:block; padding:20px; }
  .hero-decision>p { padding:0 0 14px; }
  .hero-highlight { padding:16px 0 0; border-left:0; border-top:1px solid rgba(255,255,255,.16); }
  .moments-section .section-intro-centered h2 { white-space:normal; font-size:clamp(2.35rem,10vw,3.1rem); }
  .moments-grid .moment-card,.moments-grid .moment-card:nth-child(1),.moments-grid .moment-card:nth-child(2),.moments-grid .moment-card:nth-child(3) { min-height:0; }
  .strategy-board { min-height:0; display:grid; gap:18px; padding:28px 18px; }
  .strategy-board .paper,.strategy-board .paper:nth-of-type(1),.strategy-board .paper:nth-of-type(2),.strategy-board .paper:nth-of-type(3),.strategy-board .paper:nth-of-type(4) { position:relative; inset:auto; width:100%; min-height:190px; }
}

@media (prefers-reduced-motion:reduce) {
  .moment-marker,.decision-compass,.decision-center { animation:none!important; }
}

/* Soluções — contraste, tipografia e hierarquia revisados */
.page-hero-solutions .page-hero-grid {
  background-image:
    linear-gradient(90deg,rgba(6,17,38,.98) 0%,rgba(6,17,38,.88) 42%,rgba(6,17,38,.56) 100%),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:auto,72px 72px,72px 72px;
  mask-image:none;
}
.page-hero-solutions::before { opacity:.2; filter:grayscale(1) contrast(1.18) brightness(.78); }
.page-hero-solutions .page-hero-layout { grid-template-columns:.95fr 1.05fr; gap:82px; }
.page-hero-solutions .page-hero-copy { padding:27px 31px; border:1px solid rgba(255,255,255,.15); border-left:4px solid rgba(215,165,177,.72); border-radius:2px 24px 2px 24px; background:linear-gradient(135deg,rgba(6,17,38,.74),rgba(17,46,79,.58)); box-shadow:0 24px 64px rgba(0,0,0,.22); backdrop-filter:blur(4px); }
.page-hero-solutions .page-hero-copy .lead { color:rgba(255,255,255,.92); font-size:clamp(1.02rem,1.2vw,1.14rem); font-weight:620; line-height:1.58; letter-spacing:.004em; }
.page-hero-solutions .page-hero-copy .kicker { color:#E4B5C0; font-weight:850; line-height:1.38; }

.service-marquee { background:linear-gradient(90deg,#B97C90 0%,#D3ABB5 45%,#A87999 100%); border-color:rgba(6,17,38,.14); }
.service-marquee .marquee-track { padding:15px 0; color:rgba(6,17,38,.88); animation-duration:23s; }

.solution-number,.solution-raiox .solution-number { right:4%; top:-48px; z-index:0; font-family:"Segoe Print","Bradley Hand",cursive; font-size:10.5rem; font-weight:400; font-style:italic; letter-spacing:-.14em; color:rgba(181,112,137,.42); -webkit-text-stroke:0; text-shadow:0 14px 32px rgba(6,17,38,.08); transform:rotate(-8deg); }
.solution-raiox .solution-number { color:rgba(222,170,183,.3); }
.solution-heading>*:not(.solution-number) { position:relative; z-index:2; }
.solution-flow>p { font-size:1.1rem; font-weight:560; line-height:1.7; letter-spacing:.003em; }
.solution-flow li { font-weight:650; }
.solution-flow li::first-letter,.solution-flow .tag::first-letter { text-transform:uppercase; }

.solution-raiox .solution-flow { padding:38px 42px; border:1px solid rgba(255,255,255,.14); border-left:5px solid #D39AAA; border-radius:3px 28px 3px 28px; background:linear-gradient(145deg,rgba(52,89,126,.72),rgba(17,43,76,.9)); box-shadow:0 30px 80px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.08); }
.solution-raiox .solution-flow>p { color:rgba(255,255,255,.94); font-weight:620; }
.solution-raiox .solution-flow h3 { color:#F2DFE4; }
.solution-raiox .solution-flow li { color:rgba(255,255,255,.9); }

.solution-manifesto { background:linear-gradient(125deg,#E8E6E3 0%,#D8BDC4 52%,#B9CBD3 100%); color:var(--navy-950); border-block:1px solid rgba(6,17,38,.1); }
.solution-manifesto::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(255,255,255,.34) 1px,transparent 1px); background-size:96px 100%; opacity:.5; }
.solution-manifesto .container { position:relative; z-index:1; }
.solution-manifesto .lead { color:#172C49; font-size:clamp(1.08rem,1.35vw,1.22rem); font-weight:650; line-height:1.62; }

@media (max-width:960px) {
  .page-hero-solutions .page-hero-layout { grid-template-columns:1fr; gap:34px; }
  .page-hero-solutions .page-hero-copy { max-width:none; }
  .solution-raiox .solution-flow { padding:32px; }
}

@media (max-width:640px) {
  .page-hero-solutions .page-hero-copy { padding:22px 20px; }
  .solution-number,.solution-raiox .solution-number { font-size:7.2rem; right:2%; top:-24px; }
  .solution-raiox .solution-flow { padding:25px 20px; border-left-width:4px; }
}

/* Sobre — símbolos, método, retratos e encerramento */
.about-intro { position:relative; overflow:hidden; isolation:isolate; background:linear-gradient(120deg,#F4F0E9 0%,#E9EBEA 100%); }
.about-intro::before { content:""; position:absolute; width:560px; height:300px; left:-70px; bottom:-35px; background:url('/assets/brand/suportdigital-rosa-gradiente.png') center/contain no-repeat; opacity:.055; filter:grayscale(1); transform:rotate(-9deg); pointer-events:none; }
.about-intro>.container { position:relative; z-index:1; }
.about-intro-copy .lead { font-weight:560; line-height:1.66; }
.about-intro-copy .kicker { display:block; margin-top:30px; padding:22px 26px; color:var(--navy-950); font-family:var(--font-display); font-size:clamp(1.35rem,2.2vw,1.8rem); font-weight:850; line-height:1.28; border-left:5px solid var(--pink-500); border-radius:2px 20px 2px 20px; background:linear-gradient(120deg,rgba(201,129,148,.2),rgba(185,204,213,.55)); box-shadow:0 18px 45px rgba(6,17,38,.1); }

.about-method-section { color:var(--white); background:linear-gradient(135deg,#07152E 0%,#173C63 52%,#67869C 100%); }
.about-method-section::before { inset:-18% -8vw -18% auto; width:68vw; opacity:.16; filter:grayscale(1) contrast(1.15); mix-blend-mode:screen; }
.about-method-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:44px; border:0; }
.about-method-list article { position:relative; display:block; min-height:280px; padding:30px 24px; overflow:hidden; border:1px solid rgba(255,255,255,.24); border-radius:3px 24px 3px 24px; background:linear-gradient(145deg,rgba(8,29,57,.82),rgba(29,68,103,.68)); box-shadow:0 24px 54px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.08); transition:transform .35s var(--ease),background-color .35s var(--ease); }
.about-method-list article:hover { padding:30px 24px; transform:translateY(-9px); background:rgba(255,255,255,.15); }
.about-method-list span { display:block; margin-bottom:46px; color:#E5AFBC; font-family:"Segoe Print","Bradley Hand",cursive; font-size:4.6rem; font-weight:400; font-style:italic; line-height:.8; letter-spacing:-.12em; }
.about-method-list h3 { color:#FFF; font-size:clamp(1.65rem,2.3vw,2.15rem); text-shadow:0 2px 14px rgba(0,0,0,.28); }
.about-method-list p { margin-top:18px; color:rgba(255,255,255,.9); font-size:.98rem; font-weight:600; line-height:1.55; }
.about-method-section .method-signature { color:var(--white); }

.editorial-thinking { position:relative; background:linear-gradient(120deg,#F4F0E9,#E2E8EA); }
.editorial-thinking::before { content:""; position:absolute; width:360px; height:360px; right:-90px; top:-100px; border:1px solid rgba(201,129,148,.25); border-radius:50%; box-shadow:0 0 0 38px rgba(201,129,148,.04),0 0 0 78px rgba(6,17,38,.025); }
.editorial-thinking-layout { position:relative; z-index:1; grid-template-columns:.9fr 1.1fr; }
.editorial-thinking-layout h2 { max-width:14ch; font-size:clamp(2.8rem,4.6vw,4.6rem); }
.editorial-thinking-layout .lead { font-weight:560; }
.editorial-principles { display:grid; gap:16px; border:0; }
.editorial-principles p { position:relative; display:block; min-height:112px; padding:31px 28px 24px 100px; overflow:hidden; border:1px solid rgba(6,17,38,.11); border-radius:3px 22px 3px 22px; background:rgba(255,255,255,.56); box-shadow:0 18px 38px rgba(6,17,38,.08); font-size:clamp(1.35rem,2vw,1.9rem); font-weight:760; }
.editorial-principles span { position:absolute; left:22px; top:17px; color:rgba(183,112,137,.52); font-family:"Segoe Print","Bradley Hand",cursive; font-size:3.6rem; font-style:italic; line-height:1; letter-spacing:-.12em; }

.founder-section { min-height:720px; background:linear-gradient(120deg,#DDE7EB,#EDF0EF); }
.founder-section::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(221,231,235,.32),rgba(221,231,235,.96) 58%),url('/assets/photos/equipe-suport-fundo.jpg') center/cover no-repeat; filter:grayscale(1) contrast(1.05); opacity:.3; pointer-events:none; }
.founder-feature { min-height:570px; grid-template-columns:.78fr 1.22fr; gap:86px; }
.founder-visual { position:relative; min-height:560px; max-width:460px; padding:0; }
.founder-frame { position:relative; inset:auto; width:100%; height:560px; border-radius:4px 34px 4px 34px; opacity:1; mask-image:none; box-shadow:0 34px 76px rgba(6,17,38,.22); }
.founder-photo,.founder-frame:hover .founder-photo { content:url('/assets/photos/denise-suport.jpg'); width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:50% 47%; filter:grayscale(.12) contrast(1.03); transform:scale(1.01); }
.founder-caption { left:-22px; bottom:28px; top:auto; max-width:280px; padding:19px 24px; background:linear-gradient(120deg,#07152E,#153D67); border-left:5px solid var(--pink-500); border-radius:2px 16px 2px 16px; font-size:1rem; line-height:1.38; box-shadow:0 22px 46px rgba(6,17,38,.24); }
.founder-line { width:170px; left:-26px; top:25%; }
.founder-copy h2 { max-width:13ch; font-size:clamp(3rem,4.8vw,5rem); line-height:.93; }
.founder-copy .lead { font-size:1.08rem; font-weight:560; line-height:1.62; }
.founder-tags { gap:10px; border:0; }
.founder-tags span { padding:13px 15px; border:1px solid rgba(6,17,38,.12); border-radius:2px 14px 2px 14px; background:rgba(255,255,255,.43); font-size:.78rem; }

.about-page .compact-cta { position:relative; overflow:hidden; background:radial-gradient(circle at 78% 30%,rgba(201,129,148,.22),transparent 24%),linear-gradient(135deg,#061126,#12365B); }
.about-page .compact-cta::before { content:""; position:absolute; width:420px; height:420px; right:-100px; top:-130px; border:1px solid rgba(215,165,177,.24); border-radius:50%; box-shadow:0 0 0 48px rgba(215,165,177,.035),0 0 0 96px rgba(215,165,177,.025); }
.about-page .compact-cta .container { position:relative; z-index:1; padding-block:18px; }
.about-page .compact-cta h2 { font-size:clamp(3rem,5vw,5.2rem); }
.about-page .compact-cta .kicker { display:inline-block; width:max-content; padding:10px 14px; border:1px solid rgba(215,165,177,.35); border-radius:999px; }
.about-page .compact-cta .lead { font-size:1.12rem; font-weight:580; }

/* Contato — opções claras sobre fundo profundo */
.contact-options .contact-card { background:linear-gradient(120deg,rgba(255,255,255,.94),rgba(229,234,235,.9)); border-color:rgba(255,255,255,.42); color:var(--navy-950); box-shadow:0 14px 32px rgba(0,0,0,.13); }
.contact-options .contact-card:hover { background:linear-gradient(120deg,#FFF,#E3D0D5); border-color:rgba(215,165,177,.8); transform:translateY(-4px); }
.contact-options .contact-card.is-context { background:linear-gradient(120deg,#FFF,#E5D2D8); }
.contact-options .card-index { color:#A9627B; }
.contact-options small { color:#52627A; font-weight:560; }
.contact-arrow { color:#A9627B; }
.contact-support { max-width:570px; color:rgba(255,255,255,.88); font-size:1rem; font-weight:700; line-height:1.55; }

@media (max-width:960px) {
  .about-method-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .founder-feature { grid-template-columns:1fr; gap:46px; }
  .founder-visual { width:min(100%,520px); max-width:none; }
}

@media (max-width:640px) {
  .about-intro::before { width:340px; left:-120px; }
  .about-method-list { grid-template-columns:1fr; }
  .about-method-list article { min-height:230px; }
  .editorial-thinking-layout { grid-template-columns:1fr; }
  .editorial-principles p { padding-left:86px; }
  .founder-frame { height:470px; }
  .founder-visual { min-height:500px; }
  .founder-caption { left:10px; bottom:10px; }
}

/* Contato — formulário editorial e contraste definitivo */
.contact-experience .contact-options .contact-card {
  background:linear-gradient(118deg,#FFF 0%,#E8EEF0 100%) !important;
  border:1px solid rgba(255,255,255,.76) !important;
  color:#061126 !important;
  box-shadow:0 16px 34px rgba(0,0,0,.18) !important;
}
.contact-experience .contact-options .contact-card strong { color:#061126; font-weight:900; }
.contact-experience .contact-options .contact-card small { color:#40536D !important; font-weight:650; }
.contact-experience .contact-options .contact-card:hover {
  background:linear-gradient(118deg,#FFF,#EBD8DE) !important;
  border-color:#E0A8B6 !important;
}
.contact-experience .contact-options .contact-card.is-context {
  background:linear-gradient(118deg,#F7E8EC,#FFF) !important;
  border:2px solid #C98194 !important;
  box-shadow:inset 6px 0 0 #A95E78,0 18px 38px rgba(0,0,0,.2) !important;
}
.contact-experience .contact-options .card-index,
.contact-experience .contact-options .contact-arrow { color:#9F536F !important; font-weight:900; }

.contact-experience .form-shell {
  padding:0;
  overflow:hidden;
  background:linear-gradient(145deg,#FBFAF7,#E9EFF1);
  border:1px solid rgba(255,255,255,.8);
  border-radius:5px 34px 5px 34px;
  box-shadow:18px 18px 0 rgba(201,129,148,.2),0 42px 90px rgba(0,0,0,.3);
}
.contact-experience .form-shell::before { display:none; }
.contact-experience .form-kicker {
  margin:0;
  padding:28px 38px 25px 74px;
  color:#FFF;
  background:linear-gradient(110deg,#0A1D38,#1D4A72);
  border-bottom:4px solid #C98194;
  font-size:.78rem;
  letter-spacing:.16em;
}
.contact-experience .form-kicker::before {
  content:"↗";
  position:absolute;
  left:34px;
  top:20px;
  color:#E0A8B6;
  font-family:var(--font-display);
  font-size:1.7rem;
}
.contact-experience .contact-form { gap:18px; padding:34px 38px 38px; }
.contact-experience .field {
  gap:9px;
  padding:15px 17px 12px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(6,17,38,.12);
  border-radius:3px 15px 3px 15px;
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.contact-experience .field:focus-within {
  border-color:#C98194;
  box-shadow:0 12px 26px rgba(6,17,38,.1),inset 4px 0 0 #C98194;
  transform:translateY(-2px);
}
.contact-experience .field label { color:#243B58; font-size:.68rem; letter-spacing:.13em; }
.contact-experience .field input,
.contact-experience .field select,
.contact-experience .field textarea {
  min-height:36px;
  padding:5px 0 7px;
  border:0;
  border-bottom:1px solid rgba(6,17,38,.2);
  background:transparent;
  font-size:1rem;
  font-weight:600;
}
.contact-experience .field textarea { min-height:122px; padding:8px 0; border-bottom:0; border-radius:0; line-height:1.55; }
.contact-experience .field input:focus,
.contact-experience .field select:focus,
.contact-experience .field textarea:focus { border-color:#C98194; box-shadow:none; }
.contact-experience .form-submit { margin-top:5px; padding:16px 24px; box-shadow:0 13px 26px rgba(132,67,91,.22); }
.contact-experience .form-note { padding-top:3px; color:#52627A; font-weight:600; }

@media (max-width:640px) {
  .contact-experience .form-kicker { padding:24px 24px 22px 60px; }
  .contact-experience .form-kicker::before { left:24px; top:17px; }
  .contact-experience .contact-form { padding:26px 22px 30px; }
}

/* V4.2 — projetos de identidade e presença digital */
.case-womencare .case-visual { background:linear-gradient(135deg,#28172D 0%,#9A6079 58%,#E2B9C3 100%); }
.case-contibi .case-visual { background:#092F38; }
.case-identity .case-visual::before { z-index:3; inset:16px; border-color:rgba(255,255,255,.55); }
.case-visual-pending { isolation:isolate; }
.case-visual-pending::after { content:""; position:absolute; width:210px; height:210px; right:-58px; bottom:-82px; border:1px solid rgba(255,255,255,.28); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.04),0 0 0 68px rgba(255,255,255,.025); }
.case-visual-pending .case-monogram { position:relative; z-index:2; font-size:5.5rem; letter-spacing:-.08em; }
.case-scope-line { position:absolute; z-index:2; left:20px; bottom:18px; color:rgba(255,255,255,.82); font-size:.62rem; font-weight:850; letter-spacing:.16em; }
.case-visual-real { display:block; isolation:isolate; }
.case-visual-real>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.72) contrast(1.08); transform:scale(1.02); transition:transform .65s var(--ease),filter .65s var(--ease); }
.case-card:hover .case-visual-real>img { transform:scale(1.075); filter:saturate(.9) contrast(1.04); }
.case-visual-real::after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(145deg,rgba(3,29,37,.18),rgba(3,29,37,.72)); }
.case-logo-plate { position:absolute; z-index:4; left:22px; bottom:20px; width:142px; padding:13px 15px; background:rgba(255,255,255,.94); border-radius:2px 13px 2px 13px; box-shadow:0 14px 30px rgba(0,0,0,.22); }
.case-logo-plate img { display:block; width:100%; height:auto; max-height:44px; object-fit:contain; }
.case-content-identity { position:relative; }
.case-project-intro { max-width:720px; margin:28px 0 0; color:#203C59; font-size:1.06rem; font-weight:650; line-height:1.6; }
.case-content-identity .case-content-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.case-content-identity .case-pending { grid-column:1 / -1; border-style:dashed; background:linear-gradient(120deg,rgba(201,129,148,.1),rgba(185,204,213,.18)); }
.case-gallery { display:grid; grid-template-columns:1.18fr .82fr; gap:24px; align-items:stretch; margin-top:25px; }
.case-gallery figure { min-height:310px; margin:0; overflow:hidden; border-radius:3px 22px 3px 22px; background:#DDE7E8; box-shadow:0 20px 48px rgba(6,17,38,.15); }
.case-gallery figure img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .7s var(--ease); }
.case-card[open] .case-gallery figure img { transform:scale(1.025); }
.case-gallery .case-content-grid { grid-template-columns:1fr; align-content:stretch; padding-top:0; }

@media (max-width:760px) {
  .case-gallery { grid-template-columns:1fr; }
  .case-gallery figure { min-height:240px; }
  .case-content-identity .case-content-grid { grid-template-columns:1fr; }
  .case-content-identity .case-pending { grid-column:1; }
}

/* V4.3 — sistema visual premium, movimento e continuidade */
:root { --glow-x:72%; --glow-y:18%; --deep-blue:#0D2B4C; --soft-pink:#D8A0AE; }
html { scroll-behavior:smooth; }
body { background:#F3F0EA; }
main { overflow:clip; }
.section,.page-hero,.solution-section { position:relative; }
.section::after,.solution-section::after { content:""; position:absolute; pointer-events:none; z-index:0; width:260px; height:1px; right:5vw; bottom:0; background:linear-gradient(90deg,transparent,rgba(201,129,148,.55),transparent); }
.section>.container,.solution-section>.container { position:relative; z-index:1; }
.eyebrow { position:relative; padding-left:38px; }
.eyebrow::before { width:26px; transform-origin:left; animation:label-line 1.1s var(--ease) both; }
@keyframes label-line { from { transform:scaleX(0); } to { transform:scaleX(1); } }

.reveal { opacity:0; transform:translate3d(0,46px,0) scale(.985); filter:blur(5px); transition:opacity .85s var(--ease),transform .95s var(--ease),filter .75s var(--ease); transition-delay:calc(var(--reveal-order,0) * 90ms); }
.reveal.reveal-left { transform:translate3d(-64px,20px,0) rotate(-1deg); }
.reveal.reveal-right { transform:translate3d(64px,20px,0) rotate(1deg); }
.reveal.visible { opacity:1; transform:none; filter:none; }
.stagger-child { opacity:0; transform:translateY(28px); transition:opacity .7s var(--ease),transform .8s var(--ease); transition-delay:calc(var(--stagger,0) * 100ms); }
.visible .stagger-child,.stagger-child.visible { opacity:1; transform:none; }

.btn { position:relative; overflow:hidden; isolation:isolate; border:1px solid rgba(255,255,255,.16); box-shadow:0 14px 30px rgba(6,17,38,.16),inset 0 1px rgba(255,255,255,.24); transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-position .4s ease; }
.btn::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(110deg,transparent 18%,rgba(255,255,255,.22) 48%,transparent 72%); transform:translateX(-120%); transition:transform .65s var(--ease); }
.btn:hover { transform:translateY(-4px); box-shadow:0 22px 44px rgba(6,17,38,.24),inset 0 1px rgba(255,255,255,.3); }
.btn:hover::before { transform:translateX(120%); }
.btn:active { transform:translateY(1px) scale(.985); box-shadow:0 8px 16px rgba(6,17,38,.18); }
.btn .arrow,.text-link .arrow { display:inline-block; transition:transform .3s var(--ease); }
.btn:hover .arrow,.text-link:hover .arrow { transform:translateX(6px); }

.home-hero { min-height:calc(100svh - 96px); background:radial-gradient(circle at var(--glow-x) var(--glow-y),rgba(117,154,187,.32),transparent 28%),radial-gradient(circle at 24% 88%,rgba(201,129,148,.18),transparent 30%),linear-gradient(135deg,#030B1B 0%,#071A35 48%,#153F68 100%); }
.home-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px); background-size:88px 88px; mask-image:linear-gradient(90deg,#000,transparent 72%); opacity:.55; }
.home-hero .hero-stage { min-height:calc(100svh - 96px); display:flex; align-items:center; padding-block:64px; }
.hero-copy-v43 { position:relative; z-index:4; display:block; width:min(60%,790px); text-align:left; }
.home-hero .hero-copy-v43 h1 { max-width:14ch; margin:22px 0 28px; font-size:clamp(3.15rem,5.5vw,5.7rem); line-height:.94; letter-spacing:-.045em; text-wrap:balance; }
.hero-label { display:block; color:#E4AFBC; font-size:.72rem; font-weight:900; letter-spacing:.18em; }
.hero-subtext { max-width:660px; color:rgba(255,255,255,.82); font-size:clamp(1.05rem,1.45vw,1.3rem); font-weight:560; line-height:1.6; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:25px; margin-top:34px; }
.hero-secondary { color:#FFF; font-size:.88rem; font-weight:800; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.3); padding:10px 0; }
.hero-secondary span { display:inline-block; margin-left:8px; color:#E4AFBC; animation:arrow-drop 2s ease-in-out infinite; }
@keyframes arrow-drop { 50% { transform:translateY(5px); } }
.home-hero .photo-billboard { width:56%; height:88%; right:-1%; top:6%; opacity:.67; clip-path:polygon(20% 0,100% 0,100% 94%,2% 100%,12% 52%); mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 100%); mix-blend-mode:luminosity; }
.home-hero .photo-billboard::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(8,27,55,.05),rgba(201,129,148,.2)); }
.home-hero .photo-billboard img { filter:grayscale(1) contrast(1.18) brightness(.88); }
.home-hero .hero-axis { right:6%; top:12%; opacity:.36; }
.home-hero .hero-atmosphere span:nth-child(1) { animation:atmosphere-drift 9s ease-in-out infinite alternate; }
@keyframes atmosphere-drift { to { transform:translate(55px,-22px) scale(1.15); } }

.digital-transition { overflow:hidden; background:linear-gradient(90deg,#0B1E3B,#173F65 48%,#87647A); color:#FFF; box-shadow:0 18px 48px rgba(6,17,38,.24); transform:rotate(-.55deg) scale(1.012); transform-origin:center; }
.digital-transition-track { display:flex; width:max-content; gap:24px; padding:18px 0; align-items:center; animation:transition-marquee 24s linear infinite; font-size:clamp(1.15rem,2vw,1.85rem); font-weight:900; letter-spacing:.08em; }
.digital-transition-track i { color:#E3AEBB; font-style:normal; }
@keyframes transition-marquee { to { transform:translateX(-50%); } }
.identity-band { position:relative; z-index:2; margin-top:-1px; transform:perspective(900px) rotateX(2deg); box-shadow:0 15px 42px rgba(6,17,38,.18); }

.moments-section { background:radial-gradient(circle at 12% 18%,rgba(201,129,148,.13),transparent 22%),linear-gradient(135deg,#F5F1EA,#E4EBED); }
.moments-grid .moment-card { background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(229,237,239,.74)); border-color:rgba(255,255,255,.85); box-shadow:0 26px 70px rgba(6,17,38,.14),inset 0 1px rgba(255,255,255,.9); }
.moments-grid .moment-card:nth-child(2) { background:linear-gradient(145deg,#102B4C,#1E527C); color:#FFF; }
.moments-grid .moment-card:nth-child(3) { background:linear-gradient(145deg,#F5E8EB,#D6E1E5); }
.moments-grid .moment-card::after { content:""; position:absolute; inset:0; border-radius:inherit; background:radial-gradient(circle at var(--card-x,70%) var(--card-y,20%),rgba(255,255,255,.5),transparent 30%); opacity:.5; pointer-events:none; }

.strategy-desk,.about-method-section { background:radial-gradient(circle at 82% 15%,rgba(124,165,194,.3),transparent 25%),linear-gradient(135deg,#061126,#153B61 55%,#496F89); }
.strategy-board { overflow:visible; }
.strategy-board .paper { transition:transform .55s var(--ease),box-shadow .55s var(--ease); }
.strategy-board .paper:nth-of-type(odd) { transform:translateY(-8px) rotate(-1.2deg); }
.strategy-board .paper:nth-of-type(even) { transform:translateY(14px) rotate(1.2deg); }
.strategy-board .paper:hover { transform:translateY(-16px) rotate(0) scale(1.025)!important; }

.about-method-list span,.editorial-principles span,.solution-number,.solution-raiox .solution-number,.repertoire-number {
  font-family:var(--font-display); font-style:normal; font-weight:900; letter-spacing:-.08em; color:transparent; -webkit-text-stroke:1px rgba(218,160,174,.72); text-shadow:none; transform:none;
}
.about-method-list span { font-size:5.4rem; margin-bottom:38px; }
.editorial-principles span { font-size:4rem; color:transparent; }
.solution-number,.solution-raiox .solution-number { font-size:11rem; color:transparent; -webkit-text-stroke:1px rgba(181,112,137,.35); }
.repertoire-number { font-size:14rem; color:transparent; -webkit-text-stroke:1px rgba(6,17,38,.18); }

.portfolio-section,.cases-section { background:radial-gradient(circle at 86% 12%,rgba(201,129,148,.13),transparent 23%),linear-gradient(145deg,#F5F1EB,#E4EBEE); }
.portfolio-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.project-card,.projects-page .case-card { box-shadow:0 24px 60px rgba(6,17,38,.12); transition:transform .45s var(--ease),box-shadow .45s var(--ease); }
.project-card:hover,.projects-page .case-card:hover { transform:translateY(-10px); box-shadow:0 38px 80px rgba(6,17,38,.2); }
.project-womencare .project-cover { background:linear-gradient(135deg,#301D36,#A06C83); }
.project-contibi .project-cover { background:#0C3E47; }
.project-cover-image { position:relative; overflow:hidden; }
.project-cover-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent,rgba(3,24,31,.85)); }
.project-cover-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.project-card:hover .project-cover-image img { transform:scale(1.08); }
.project-cover-image h3 { position:relative; z-index:2; }

.page-hero { background:radial-gradient(circle at var(--glow-x) var(--glow-y),rgba(118,158,188,.3),transparent 28%),linear-gradient(135deg,#061126,#143A60); }
.page-hero::after { content:""; position:absolute; inset:auto 0 0; height:90px; background:linear-gradient(180deg,transparent,rgba(201,129,148,.08)); pointer-events:none; }
.page-hero-copy { backdrop-filter:blur(8px); box-shadow:0 28px 70px rgba(0,0,0,.22); }
.solution-section { background-image:radial-gradient(circle at 85% 12%,rgba(201,129,148,.1),transparent 24%); }
.solution-panel { transition:transform .65s var(--ease),box-shadow .65s var(--ease); }
.solution-panel.visible { box-shadow:0 30px 80px rgba(6,17,38,.13); }
.solution-manifesto { background:radial-gradient(circle at 70% 0,rgba(255,255,255,.58),transparent 34%),linear-gradient(120deg,#EEE8E2,#D8C2C9 55%,#B9CDD4); }

.about-intro,.editorial-thinking,.founder-section { background:radial-gradient(circle at 82% 12%,rgba(201,129,148,.14),transparent 24%),linear-gradient(135deg,#F4F0E9,#E1EAED); }
.founder-section::before { opacity:.13; }
.founder-feature { grid-template-columns:1.08fr .92fr; }
.founder-visual { max-width:none; }
.founder-frame { width:100%; height:600px; }
.founder-photo,.founder-frame:hover .founder-photo { content:normal; object-fit:cover; object-position:center; filter:grayscale(1) contrast(1.08); transform:none; }
.founder-caption { max-width:330px; }
.founder-copy h2 { font-size:clamp(2.8rem,4.2vw,4.6rem); }

.contact-experience { background:radial-gradient(circle at 20% 10%,rgba(109,150,185,.25),transparent 28%),radial-gradient(circle at 86% 80%,rgba(201,129,148,.15),transparent 25%),linear-gradient(140deg,#041026,#0F3155); }
.contact-experience::before { opacity:.13; mix-blend-mode:screen; }
.contact-experience .form-shell { box-shadow:22px 24px 0 rgba(201,129,148,.15),0 50px 100px rgba(0,0,0,.35); }

@media (max-width:960px) {
  .home-hero,.home-hero .hero-stage { min-height:auto; }
  .hero-copy-v43 { width:72%; }
  .home-hero .photo-billboard { width:60%; right:-16%; opacity:.48; }
  .portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .founder-feature { grid-template-columns:1fr; }
}

@media (max-width:640px) {
  .home-hero .hero-stage { padding:58px 0 70px; }
  .hero-copy-v43 { width:100%; }
  .home-hero .hero-copy-v43 h1 { max-width:12ch; font-size:clamp(2.65rem,12vw,4rem); }
  .hero-subtext { max-width:92%; font-size:1rem; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:10px; }
  .home-hero .photo-billboard { width:112%; height:68%; right:-58%; top:28%; opacity:.28; }
  .digital-transition-track { padding:14px 0; }
  .portfolio-grid { grid-template-columns:1fr; }
  .strategy-board .paper:nth-of-type(odd),.strategy-board .paper:nth-of-type(even) { transform:none; }
  .founder-frame { height:430px; }
  .about-method-list span { font-size:4.7rem; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .reveal,.reveal.reveal-left,.reveal.reveal-right,.stagger-child { opacity:1!important; transform:none!important; filter:none!important; transition:none!important; }
  .digital-transition-track,.hero-secondary span,.home-hero .hero-atmosphere span { animation:none!important; }
  .photo-drift,.photo-drift img { transform:none!important; }
}

/* V3 — PATCH 01: somente os seis ajustes solicitados */
.home-page .portfolio-section #projetos-home-title {
  color:#FFFFFF;
  -webkit-text-fill-color:#FFFFFF;
  -webkit-text-stroke:0 transparent;
  text-shadow:none;
}
.home-page .strategy-desk .method-signature,
.home-page .strategy-desk .method-signature span {
  color:#0B2341;
  -webkit-text-fill-color:#0B2341;
  text-shadow:none;
}
.home-page .strategy-desk .section-intro .lead {
  color:#315675;
  font-weight:700;
  text-shadow:none;
}
.home-page .strategy-board .paper-arrow,
.home-page .strategy-board .paper-circle {
  display:none;
}
.solutions-page .solution-raiox .solution-heading h2,
.solutions-page .solution-raiox .solution-heading .kicker {
  color:#FFFFFF;
  -webkit-text-fill-color:#FFFFFF;
  text-shadow:0 3px 22px rgba(0,0,0,.3);
}
.solutions-page .solution-raiox .solution-heading .eyebrow {
  color:#F0B7C4;
  -webkit-text-fill-color:#F0B7C4;
}
.solutions-page .solution-raiox .solution-heading .eyebrow::before {
  background:#F0B7C4;
}

/* V3 — PATCH 02: correção estrita de contraste e consistência */
.home-page .portfolio-section #projetos-home-title {
  color:#071936;
  -webkit-text-fill-color:#071936;
  -webkit-text-stroke:0 transparent;
  text-shadow:none;
}
.home-page .strategy-desk .method-signature,
.home-page .strategy-desk .method-signature span {
  color:#FFF9F3;
  -webkit-text-fill-color:#FFF9F3;
  text-shadow:0 2px 18px rgba(6,17,38,.28);
}
.home-page .strategy-desk .section-intro .lead {
  color:#F2F5F7;
  font-weight:700;
  text-shadow:0 2px 16px rgba(6,17,38,.28);
}
.home-page .strategy-desk .section-intro .eyebrow {
  color:#F0B7C4;
  -webkit-text-fill-color:#F0B7C4;
}
.home-page .strategy-desk .section-intro .eyebrow::before {
  background:#F0B7C4;
}
.home-page .strategy-board .paper .note {
  color:#40536D;
  background:none;
  font-family:"Segoe Print","Bradley Hand",cursive;
  font-size:.88rem;
  font-style:italic;
  font-weight:600;
  letter-spacing:.01em;
  line-height:1.45;
  text-decoration:none;
  text-transform:none;
}
.home-page .strategy-board .paper-check,
.home-page .strategy-board .paper-arrow,
.home-page .strategy-board .paper-circle,
.home-page .strategy-board .paper-lines {
  display:none;
}

/* V3 — PATCH 03: contraste localizado do Raio-X Digital */
.solutions-page .solution-raiox .solution-heading h2 {
  color:#071936;
  -webkit-text-fill-color:#071936;
  text-shadow:none;
}

.solutions-page .solution-raiox .solution-heading .kicker {
  color:#315675;
  -webkit-text-fill-color:#315675;
  font-weight:800;
  text-shadow:none;
}

/* V3 — PATCH 04: área de Projetos */
.projects-page .cases-list { gap:20px; }
.projects-page .case-card { overflow:hidden; border:1px solid rgba(255,255,255,.72); background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(226,235,239,.72)); box-shadow:0 24px 60px rgba(6,17,38,.13),inset 0 1px rgba(255,255,255,.95); }
.projects-page .case-card[open] { box-shadow:0 34px 76px rgba(6,17,38,.2),inset 0 1px rgba(255,255,255,.95); }
.projects-page .case-trigger { min-height:224px; grid-template-columns:320px minmax(0,1fr) auto; }
.projects-page .case-visual-portfolio { display:block; isolation:isolate; background:#0A1C36; }
.projects-page .case-visual-portfolio::before { z-index:3; inset:16px; border-color:rgba(255,255,255,.42); }
.projects-page .case-visual-portfolio::after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(120deg,rgba(4,17,37,.12),rgba(4,17,37,.72)); }
.projects-page .case-visual-portfolio>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:grayscale(.9) contrast(1.08); transform:scale(1.015); transition:transform .8s var(--ease),filter .8s var(--ease); }
.projects-page .case-card:hover .case-visual-portfolio>img,.projects-page .case-card[open] .case-visual-portfolio>img { transform:scale(1.075); filter:grayscale(.25) contrast(1.05); }
.projects-page .case-visual-logo>img { object-fit:contain; padding:56px 28px; background:linear-gradient(135deg,#0B1735,#193D64); }
.projects-page .case-visual-mark>img { width:112px; height:112px; inset:50% auto auto 50%; object-fit:contain; transform:translate(-50%,-50%); border-radius:24px; box-shadow:0 20px 45px rgba(0,0,0,.28); filter:grayscale(.25) contrast(1.05); }
.projects-page .case-card:hover .case-visual-mark>img,.projects-page .case-card[open] .case-visual-mark>img { transform:translate(-50%,-50%) scale(1.06); filter:grayscale(0); }
.projects-page .case-fusiki .case-visual-portfolio { background:linear-gradient(135deg,#26394E,#7990A2); }
.projects-page .case-ramalho .case-visual-portfolio { background:linear-gradient(135deg,#142A45,#6C8292); }
.projects-page .case-visual-index { position:absolute; z-index:2; right:20px; bottom:-17px; font-family:var(--font-display); font-size:6.8rem; line-height:1; font-weight:900; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.32); letter-spacing:-.08em; }
.projects-page .case-heading { align-self:center; }
.projects-page .case-heading h2 { color:var(--navy-950); }
.projects-page .case-heading .tag { background:rgba(255,255,255,.58); border-color:rgba(6,17,38,.13); color:#29445F; }
.projects-page .toggle-icon { display:grid; place-items:center; width:48px; height:48px; font-size:1.5rem; box-shadow:0 15px 32px rgba(6,17,38,.2); transition:transform .45s var(--ease),background-color .35s ease; }
.projects-page .case-card[open] .toggle-icon { transform:rotate(45deg); background:var(--pink-500); }
.projects-page .case-content { padding:0 34px 34px; background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(230,238,241,.66)); border-top:1px solid rgba(6,17,38,.08); }
.projects-page .case-expanded { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:34px; align-items:center; padding-top:30px; }
.projects-page .case-project-intro { margin:0; max-width:760px; }
.projects-page .case-scope-copy { margin:9px 0 0; color:#52667B; font-weight:650; line-height:1.6; }
.projects-page .case-external-link { display:inline-flex; align-items:center; gap:18px; min-width:164px; justify-content:space-between; padding:15px 19px; border-radius:99px; background:var(--navy-950); color:#FFF; font-size:.82rem; font-weight:850; text-decoration:none; box-shadow:0 14px 30px rgba(6,17,38,.2); transition:transform .3s var(--ease),background-color .3s ease; }
.projects-page .case-external-link:hover { transform:translateY(-3px); background:#173E64; }
.projects-page .case-external-link span { color:var(--pink-400); font-size:1rem; }

@media (max-width:960px) {
  .projects-page .case-trigger { grid-template-columns:240px minmax(0,1fr) auto; }
}

@media (max-width:760px) {
  .projects-page .case-trigger { grid-template-columns:1fr auto; }
  .projects-page .case-visual-portfolio { grid-column:1 / -1; min-height:220px; }
  .projects-page .case-heading { padding:25px 22px; }
  .projects-page .case-heading .case-number { margin-bottom:12px; }
  .projects-page .toggle-icon { margin-right:18px; }
  .projects-page .case-content { padding:0 22px 26px; }
  .projects-page .case-expanded { grid-template-columns:1fr; gap:22px; }
  .projects-page .case-external-link { justify-self:start; }
}

/* V3 — PATCH 05: correções localizadas Contibi e Fusiki */
.projects-page .case-contibi .case-logo-plate { background:#073B44; }
.projects-page .case-fusiki .case-visual-mark>img { width:210px; height:112px; }

/* V3 — PATCH 06: refinamento estrito da primeira dobra da Home */
.home-page .brand-logo-header { height:73px; max-width:292px; }
.home-page .home-hero .hero-copy-v43 { width:min(64%,850px); }
.home-page .home-hero .hero-copy-v43 h1 { max-width:17ch; font-size:clamp(3rem,4.75vw,5rem); line-height:.96; }
.home-page .home-hero .photo-billboard { width:52%; height:92%; right:-2%; top:4%; opacity:.72; clip-path:polygon(24% 0,100% 0,100% 100%,5% 96%,14% 61%,9% 25%); mask-image:linear-gradient(90deg,transparent 0,#000 25%,#000 88%,rgba(0,0,0,.72) 100%); }
.home-page .home-hero .photo-billboard::after { background:linear-gradient(110deg,rgba(4,17,37,.55) 0,rgba(4,17,37,.1) 48%,rgba(201,129,148,.2) 100%); }
.home-page .home-hero .photo-billboard img { object-position:54% center; filter:grayscale(1) contrast(1.12) brightness(.78); opacity:1; clip-path:inset(0); animation:hero-photo-reveal 1.4s var(--ease) both,hero-photo-breathe 14s ease-in-out 1.4s infinite alternate; }
.home-page .home-hero .hero-axis { animation:hero-axis-orbit 32s linear infinite; transform-origin:center; }
.home-page .hero-secondary { padding:11px 14px; border:1px solid rgba(255,255,255,.2); border-radius:99px; background:rgba(255,255,255,.055); box-shadow:inset 0 1px rgba(255,255,255,.1); transition:background-color .3s ease,border-color .3s ease,transform .3s var(--ease); }
.home-page .hero-secondary:hover { background:rgba(255,255,255,.1); border-color:rgba(228,175,188,.48); transform:translateY(-2px); }

@keyframes hero-axis-orbit { to { transform:rotate(360deg); } }
@keyframes hero-photo-reveal { from { opacity:0; clip-path:inset(0 0 0 32%); } to { opacity:1; clip-path:inset(0); } }
@keyframes hero-photo-breathe { from { transform:translate3d(0,var(--photo-shift,0),0) scale(1.015); } to { transform:translate3d(-10px,var(--photo-shift,0),0) scale(1.045); } }

@media (max-width:960px) {
  .home-page .brand-logo-header { height:62px; max-width:248px; }
  .home-page .home-hero .hero-copy-v43 { width:72%; }
  .home-page .home-hero .photo-billboard { width:58%; right:-15%; opacity:.5; }
}

@media (max-width:640px) {
  .home-page .brand-logo-header { height:53px; max-width:212px; }
  .home-page .home-hero .hero-copy-v43 { width:100%; }
  .home-page .home-hero .hero-copy-v43 h1 { max-width:13ch; font-size:clamp(2.35rem,10.6vw,3.15rem); }
  .home-page .home-hero .photo-billboard { width:112%; height:66%; right:-57%; top:30%; opacity:.26; }
}

@media (prefers-reduced-motion:reduce) {
  .home-page .home-hero .photo-billboard img,.home-page .home-hero .hero-axis { animation:none!important; }
}

/* V3 — PATCH 07: vitrine editorial de Projetos na Home */
.home-page .portfolio-showcase { background:radial-gradient(circle at 82% 8%,rgba(201,129,148,.2),transparent 24%),linear-gradient(145deg,#061126 0%,#0B2342 58%,#163E63 100%); color:#FFF; overflow:hidden; scroll-margin-top:96px; }
.home-page .portfolio-showcase::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:104px 100%; opacity:.55; pointer-events:none; }
.home-page .portfolio-showcase #projetos-home-title { color:#FFF; -webkit-text-fill-color:#FFF; max-width:16ch; }
.home-page .portfolio-showcase .portfolio-intro .text-link { color:#F0B7C4; }
.home-page .portfolio-editorial-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:20px; margin-top:30px; }
.home-page .portfolio-feature { position:relative; overflow:hidden; min-height:290px; border:1px solid rgba(255,255,255,.14); border-radius:4px 28px 4px 28px; background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035)); box-shadow:0 28px 70px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.12); transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-radius .5s var(--ease); }
.home-page .portfolio-feature:hover { transform:translateY(-10px); border-radius:24px 4px 30px 4px; box-shadow:0 40px 90px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.16); }
.home-page .portfolio-feature-lider,.home-page .portfolio-feature-fusiki { grid-column:span 7; }
.home-page .portfolio-feature-physio,.home-page .portfolio-feature-ramalho { grid-column:span 5; }
.home-page .portfolio-feature-physio { min-height:340px; margin-top:34px; }
.home-page .portfolio-feature-ramalho { min-height:270px; margin-top:-18px; }
.home-page .portfolio-feature-fusiki { min-height:320px; }
.home-page .portfolio-feature-media { position:absolute; inset:0; overflow:hidden; background:#102A4D; }
.home-page .portfolio-feature-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(4,14,31,.04) 22%,rgba(4,14,31,.88) 100%); }
.home-page .portfolio-feature-media>img { width:100%; height:100%; object-fit:cover; object-position:center; filter:grayscale(.92) contrast(1.08); transform:scale(1.015); transition:transform .8s var(--ease),filter .8s var(--ease); }
.home-page .portfolio-feature:hover .portfolio-feature-media>img { transform:scale(1.075); filter:grayscale(.18) contrast(1.05); }
.home-page .portfolio-feature-lider .portfolio-feature-media>img { object-fit:contain; padding:42px 38px 104px; background:linear-gradient(135deg,#07142C,#1B446B); }
.home-page .portfolio-feature-mark { display:grid; place-items:center; background:linear-gradient(135deg,#102944,#536E82); }
.home-page .portfolio-feature-mark>img { width:132px; height:132px; object-fit:contain; border-radius:26px; box-shadow:0 24px 50px rgba(0,0,0,.3); }
.home-page .portfolio-feature-logo { background:linear-gradient(135deg,#20364E,#7890A2); }
.home-page .portfolio-feature-logo>img { width:min(64%,360px); height:auto; border-radius:0; box-shadow:none; }
.home-page .portfolio-feature-index { position:absolute; z-index:2; right:20px; top:14px; font-family:var(--font-display); font-size:clamp(4rem,7vw,6.5rem); line-height:1; font-weight:900; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.28); letter-spacing:-.09em; }
.home-page .portfolio-feature-copy { position:absolute; z-index:3; inset:auto 0 0; padding:20px 24px; }
.home-page .portfolio-feature-copy h3 { margin:0 0 5px; color:#FFF; font-size:clamp(2rem,3.6vw,3.5rem); }
.home-page .portfolio-feature-copy p { margin:0; max-width:58ch; color:rgba(255,255,255,.7); font-size:.7rem; font-weight:850; letter-spacing:.12em; line-height:1.7; }
.home-page .portfolio-showcase-action { display:flex; justify-content:center; margin-top:28px; }

@media (max-width:960px) {
  .home-page .portfolio-feature-lider,.home-page .portfolio-feature-fusiki { grid-column:span 7; }
  .home-page .portfolio-feature-physio,.home-page .portfolio-feature-ramalho { grid-column:span 5; }
  .home-page .portfolio-feature { min-height:300px; }
}

@media (max-width:640px) {
  .home-page .portfolio-editorial-grid { grid-template-columns:1fr; gap:18px; }
  .home-page .portfolio-feature-lider,.home-page .portfolio-feature-physio,.home-page .portfolio-feature-ramalho,.home-page .portfolio-feature-fusiki { grid-column:auto; min-height:290px; margin-top:0; }
  .home-page .portfolio-feature-lider .portfolio-feature-media>img { padding:38px 24px 104px; }
  .home-page .portfolio-feature-copy { padding:20px; }
}

/* V3 — PATCH 09: vitrine compacta em quatro colunas */
@media (min-width:961px) {
  .home-page .portfolio-showcase { padding:48px 0; }
  .home-page .portfolio-showcase .portfolio-intro { align-items:center; }
  .home-page .portfolio-showcase #projetos-home-title { max-width:18ch; font-size:clamp(2.35rem,3.7vw,4.1rem); }
  .home-page .portfolio-editorial-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:22px; }
  .home-page .portfolio-feature-lider,
  .home-page .portfolio-feature-physio,
  .home-page .portfolio-feature-ramalho,
  .home-page .portfolio-feature-fusiki { grid-column:auto; min-height:230px; margin-top:0; }
  .home-page .portfolio-feature { border-radius:4px 22px 4px 22px; }
  .home-page .portfolio-feature:hover { transform:translateY(-7px); }
  .home-page .portfolio-feature-lider .portfolio-feature-media>img { padding:30px 22px 84px; }
  .home-page .portfolio-feature-mark>img { width:92px; height:92px; border-radius:20px; }
  .home-page .portfolio-feature-logo>img { width:min(70%,210px); height:auto; border-radius:0; }
  .home-page .portfolio-feature-index { right:14px; top:12px; font-size:3.4rem; }
  .home-page .portfolio-feature-copy { padding:15px 16px; }
  .home-page .portfolio-feature-copy h3 { margin-bottom:3px; font-size:clamp(1.4rem,1.9vw,2rem); line-height:1.02; }
  .home-page .portfolio-feature-copy p { font-size:.56rem; line-height:1.45; letter-spacing:.09em; }
  .home-page .portfolio-showcase-action { margin-top:20px; }
}

@media (min-width:641px) and (max-width:960px) {
  .home-page .portfolio-showcase { padding:58px 0; }
  .home-page .portfolio-editorial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:26px; }
  .home-page .portfolio-feature-lider,
  .home-page .portfolio-feature-physio,
  .home-page .portfolio-feature-ramalho,
  .home-page .portfolio-feature-fusiki { grid-column:auto; min-height:270px; margin-top:0; }
  .home-page .portfolio-feature-copy { padding:18px 20px; }
  .home-page .portfolio-feature-copy h3 { margin-bottom:4px; font-size:clamp(1.75rem,3.3vw,2.5rem); }
  .home-page .portfolio-feature-index { font-size:4.2rem; }
}

@media (max-width:640px) {
  .home-page .portfolio-showcase { padding:52px 0; }
  .home-page .portfolio-feature-lider,
  .home-page .portfolio-feature-physio,
  .home-page .portfolio-feature-ramalho,
  .home-page .portfolio-feature-fusiki { min-height:250px; }
  .home-page .portfolio-feature-copy h3 { margin-bottom:4px; font-size:2rem; }
  .home-page .portfolio-feature-index { font-size:3.8rem; }
}

/* Privacidade e consentimento */
.footer-privacy-links { display:grid; gap:8px; margin-top:18px; }
.footer-privacy-links a,.footer-privacy-links button { width:max-content; max-width:100%; color:rgba(255,255,255,.7); font:inherit; font-size:.86rem; text-align:left; text-decoration:none; background:none; border:0; padding:0; cursor:pointer; }
.footer-privacy-links a:hover,.footer-privacy-links button:hover { color:#F0B7C4; }
.cookie-banner { position:fixed; z-index:10000; right:22px; bottom:22px; left:22px; display:none; pointer-events:none; }
.cookie-banner.is-visible { display:block; }
.cookie-banner-inner { width:min(1120px,100%); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:22px 24px; color:#FFF; background:linear-gradient(135deg,rgba(4,13,30,.98),rgba(14,48,82,.98)); border:1px solid rgba(240,183,196,.34); border-radius:18px; box-shadow:0 24px 70px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.1); backdrop-filter:blur(18px); pointer-events:auto; }
.cookie-banner-copy { max-width:650px; }
.cookie-banner-copy strong { display:block; margin-bottom:7px; font-family:var(--font-display); font-size:1.35rem; line-height:1.1; color:#FFF; }
.cookie-banner-copy p { margin:0; color:rgba(255,255,255,.75); font-size:.93rem; line-height:1.55; }
.cookie-banner-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
.cookie-button,.cookie-policy-link { min-height:42px; display:inline-flex; align-items:center; justify-content:center; padding:10px 17px; border-radius:999px; font:inherit; font-size:.82rem; font-weight:800; text-decoration:none; cursor:pointer; }
.cookie-button { border:1px solid rgba(255,255,255,.24); }
.cookie-accept { color:#07142C; background:#E4AFBC; border-color:#E4AFBC; }
.cookie-refuse { color:#FFF; background:transparent; }
.cookie-policy-link { color:#F0B7C4; }
.cookie-button:focus-visible,.cookie-policy-link:focus-visible,.footer-privacy-links a:focus-visible,.footer-privacy-links button:focus-visible { outline:3px solid #F0B7C4; outline-offset:3px; }
.privacy-main { background:radial-gradient(circle at 84% 8%,rgba(201,129,148,.13),transparent 28%),linear-gradient(180deg,#F8F5EF 0%,#FFF 100%); }
.privacy-hero { padding:150px 0 64px; color:#FFF; background:linear-gradient(145deg,#061126 0%,#0B2342 58%,#163E63 100%); }
.privacy-hero h1 { max-width:14ch; margin:14px 0 16px; }
.privacy-hero p { margin:0; color:rgba(255,255,255,.72); }
.privacy-copy { width:min(860px,calc(100% - 40px)); margin:0 auto; padding:72px 0 90px; }
.privacy-copy>p:first-child { margin-top:0; }
.privacy-copy h2 { margin:44px 0 12px; font-size:clamp(1.55rem,2.4vw,2.15rem); color:#07142C; }
.privacy-copy p { color:#415675; line-height:1.75; }
.privacy-contact { padding:22px 24px; border-left:4px solid #C98194; background:#FFF; box-shadow:0 18px 48px rgba(7,20,44,.08); }
@media (max-width:760px) {
  .cookie-banner { right:12px; bottom:12px; left:12px; }
  .cookie-banner-inner { align-items:stretch; flex-direction:column; gap:18px; padding:19px; border-radius:16px; }
  .cookie-banner-actions { justify-content:flex-start; }
  .privacy-hero { padding:125px 0 52px; }
  .privacy-copy { padding:52px 0 70px; }
}
