/* Direção editorial: camadas de composição, tipografia e movimento. */
@font-face {
  font-family:Bricolage;
  src:url('assets/bricolage.woff2') format('woff2');
  font-weight:400 800;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:'DM Sans';
  src:url('assets/dm-sans.woff2') format('woff2');
  font-weight:400 700;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:'DM Mono';
  src:url('assets/dm-mono.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
:root {
  --ink:#173642;
  --navy:#153745;
  --blue:#386d89;
  --sky:#c1dae5;
  --muted:#536972;
  --line:#cbd8de;
  --pale:#edf2f3;
  --paper:#f8faf9;
  --serif:Bricolage,Arial,sans-serif;
  --sans:'DM Sans',Arial,sans-serif;
  --mono:'DM Mono',monospace;
}
html {
  scroll-padding-top:110px;
}
body {
  background:var(--paper);
}
h1,h2,h3 {
  font-family:var(--serif);
  font-variation-settings:'opsz' 48;
}
h1,h2 {
  font-weight:500;
  line-height:1.04;
  letter-spacing:-2px;
}
h2 {
  font-size:clamp(38px,3.8vw,55px);
}
h3 {
  font-weight:500;
  letter-spacing:-.5px;
}
em {
  font-style:normal;
  font-weight:inherit;
}
.container {
  width:min(1240px,calc(100% - 120px));
}
.section {
  padding:105px 0;
}
.eyebrow {
  font-family:var(--mono);
  font-size:10px;
  font-weight:400;
  letter-spacing:1px;
  margin-bottom:24px;
}
.button {
  border-radius:0;
  font-weight:500;
  gap:15px;
  padding:19px 23px;
}
.button .icon {
  transition:transform .25s;
}
.button:hover .icon:last-child {
  transform:translateX(4px);
}
.button-small {
  padding:13px 18px;
}
.text-link {
  font-weight:500;
  gap:20px;
  font-size:13px;
}
.section-heading {
  margin-bottom:52px;
}
.split-heading {
  grid-template-columns:1.3fr 1fr;
  gap:90px;
}
/* Navegação acompanha o conteúdo;
rolagem permanece nativa. */
.site-header {
  position:sticky;
  top:0;
  z-index:40;
  background:#f8faf9f5;
  backdrop-filter:blur(16px);
}
.header-inner {
  height:91px;
}
.is-scrolled .site-header {
  box-shadow:0 5px 25px #1436480a;
}
.header-inner nav a {
  position:relative;
}
.header-inner nav a:after {
  content:'';
  position:absolute;
  bottom:4px;
  left:0;
  right:0;
  height:1px;
  background:var(--blue);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s;
}
.header-inner nav a:hover:after {
  transform:scaleX(1);
}
.reading-progress {
  height:2px;
  position:absolute;
  bottom:-1px;
  left:0;
  right:0;
}
.reading-progress span {
  display:block;
  width:100%;
  height:100%;
  background:var(--blue);
  transform:scaleX(0);
  transform-origin:left;
}
.section-rail {
  position:fixed;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  z-index:30;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.section-rail a {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  position:relative;
}
.section-rail a:after {
  content:'';
  width:5px;
  height:5px;
  background:#6b8c9b;
  border-radius:50%;
  transition:transform .25s,background .25s;
}
.section-rail a.is-active:after {
  transform:scale(1.8);
  background:var(--blue);
}
.section-rail span {
  position:absolute;
  right:34px;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  background:var(--navy);
  color:white;
  padding:3px 10px;
  font-size:10px;
  transition:opacity .2s;
}
.section-rail a:hover span,.section-rail a:focus-visible span {
  opacity:1;
}
/* Hero editorial, sem serifa itálica ou painéis de dados fictícios. */
.hero {
  padding:66px 0 60px;
  background:var(--paper);
  overflow:clip;
}
.hero-grid {
  grid-template-columns:1.13fr 1fr;
  gap:75px;
  align-items:center;
}
.hero-copy {
  padding:0;
}
.hero h1 {
  font-size:clamp(60px,5.65vw,82px);
  letter-spacing:-3.6px;
  line-height:.99;
  position:relative;
  z-index:1;
}
.hero-accent {
  color:var(--blue);
  position:relative;
  white-space:nowrap;
}
.hero-accent:after {
  content:'';
  position:absolute;
  height:7px;
  bottom:0;
  left:1px;
  right:-8px;
  background:var(--sky);
  z-index:-1;
  transform:rotate(-1.5deg);
}
.title-dot {
  color:#6b9eb3;
}
.hero .eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:27px;
  font-size:9px;
}
.status-dot {
  width:6px;
  height:6px;
  background:var(--blue);
  border-radius:50%;
  box-shadow:0 0 0 5px #dce8ed;
}
.hero-description {
  font-size:17px;
  line-height:1.6;
  max-width:470px;
  margin-top:27px;
  color:var(--ink);
}
.hero-detail {
  font-size:13px;
  max-width:421px;
  margin:12px 0 25px;
  line-height:1.8;
}
.hero-person {
  display:flex;
  align-items:center;
  gap:13px;
  width:max-content;
  max-width:100%;
  margin-top:26px;
  padding-top:19px;
  border-top:1px solid var(--line);
}
.hero-person img {
  width:45px;
  height:45px;
  border-radius:50%;
  object-fit:cover;
  object-position:center 25%;
}
.hero-person strong {
  display:block;
  font-size:12px;
  font-weight:600;
  line-height:1.5;
}
.hero-person>span>span {
  display:block;
  font-size:10px;
  color:var(--muted);
}
.hero-person>.icon {
  width:17px;
  margin-left:12px;
  transform:rotate(45deg);
}
.hero-visual {
  position:relative;
  padding:0 0 66px;
  margin-top:22px;
}
.hero-coordinate {
  display:flex;
  justify-content:space-between;
  font:9px var(--mono);
  letter-spacing:.5px;
  padding:0 0 15px;
}
.hero-coordinate span {
  padding-right:105px;
  color:var(--muted);
  font-size:8px;
}
.image-frame {
  height:530px;
  border-radius:2px;
  background:#dbe4e7;
}
.hero-image {
  width:100%;
  height:calc(100% + 40px);
  max-width:none;
  object-fit:cover;
  object-position:center 58%;
  margin-top:-20px;
  will-change:transform;
}
.image-frame:after {
  background:linear-gradient(transparent,#102b3a88);
}
.image-label {
  bottom:24px;
  right:20px;
  left:auto;
  font:8px var(--mono);
  letter-spacing:1px;
}
.orbit-seal {
  position:absolute;
  width:120px;
  height:120px;
  right:-32px;
  top:-30px;
  z-index:2;
  overflow:visible;
  transform:rotate(var(--seal-angle,12deg));
  will-change:transform;
}
.orbit-seal circle {
  fill:#d5e6eb;
  stroke:#d5e6eb;
}
.orbit-seal text {
  fill:var(--ink);
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:1.2px;
}
.orbit-seal .seal-arrow {
  stroke:var(--ink);
  stroke-width:1.7;
  fill:none;
}
.routine-card {
  position:absolute;
  bottom:24px;
  left:-38px;
  width:310px;
  padding:21px 24px 23px;
  background:#d9e9ed;
  box-shadow:10px 12px 0 #ffffffb3;
  z-index:3;
  transform:translateY(var(--parallax-y,0px)) rotate(-3deg);
  will-change:transform;
}
.routine-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font:8px var(--mono);
  letter-spacing:.5px;
}
.routine-top .icon {
  width:18px;
  height:18px;
}
.routine-card>p {
  font-family:var(--serif);
  font-size:28px;
  line-height:1.08;
  letter-spacing:-1px;
  margin:20px 0;
  color:var(--ink);
}
.routine-card strong {
  font-weight:500;
}
.routine-flow {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-top:1px solid #a7c2ce;
  padding-top:15px;
  font:10px var(--mono);
}
.routine-flow .icon {
  width:16px;
  height:16px;
}
.photo-caption {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  font:8px var(--mono);
  letter-spacing:.2px;
  padding:0;
}
.audience-band {
  background:var(--navy);
  color:#d2e2e9;
  border:0;
}
.audience-inner {
  padding-block:29px;
}
.audience-inner p {
  font:9px/1.7 var(--mono);
  letter-spacing:.8px;
  color:#bdd2dc;
  border-color:#ffffff2b;
  padding-right:35px;
}
.audience-inner strong {
  color:#fff;
  font-weight:400;
}
.audience-inner>span {
  color:#d2e2e9;
  font-size:13px;
  display:flex;
  align-items:center;
  gap:13px;
}
.audience-inner>span:before {
  content:'+';
  color:#7ca4b7;
  font:19px var(--mono);
}
/* Conteúdo visual da operação. */
.pain-card {
  position:relative;
  counter-increment:pain;
}
.pain-grid {
  counter-reset:pain;
}
.pain-card:after {
  content:'0' counter(pain);
  position:absolute;
  right:0;
  top:23px;
  font:11px var(--mono);
  color:#688595;
}
.pain-card h3 {
  font-size:23px;
  line-height:1.25;
  max-width:290px;
  margin-bottom:15px;
}
.pain-card p {
  font-size:14px;
  max-width:315px;
}
.pain-card>.icon {
  margin-bottom:27px;
}
.services-layout {
  grid-template-columns:1fr 1.3fr;
  gap:110px;
  align-items:start;
}
.services-intro {
  position:sticky;
  top:115px;
  align-self:start;
}
.services-intro>p:not(.eyebrow) {
  font-size:14px;
  max-width:340px;
}
.service-list article {
  padding:43px 0;
  gap:23px;
}
.service-list h3 {
  font-size:25px;
  line-height:1.2;
  margin-bottom:13px;
}
.service-list p {
  font-size:14px;
  line-height:1.85;
}
.service-number {
  font:12px var(--mono);
  padding-top:5px;
}
.finance-map {
  margin-top:30px;
  max-width:350px;
  background:#f9fbfb;
  border:1px solid #c5d5dd;
  padding:19px 20px;
}
.map-label {
  display:flex;
  align-items:center;
  justify-content:space-between;
  font:8px var(--mono);
  letter-spacing:.6px;
  color:var(--muted);
  margin-bottom:20px;
}
.map-label>span:last-child {
  font-size:20px;
  color:var(--blue);
}
.map-inputs {
  display:flex;
  justify-content:space-between;
  gap:8px;
}
.map-inputs span {
  padding:7px 8px;
  border:1px solid #c5d5dd;
  font:9px var(--mono);
}
.map-lines {
  display:block;
  width:100%;
  height:55px;
  stroke:#7499ac;
  stroke-width:1;
  overflow:visible;
}
.flow-dot {
  fill:var(--blue);
  stroke:none;
}
.map-center {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#dceaf0;
  font-size:12px;
  padding:11px;
}
.map-center .icon {
  width:18px;
  height:18px;
}
.map-stem {
  height:20px;
  width:1px;
  background:#7499ac;
  margin:auto;
}
.map-output {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  background:var(--navy);
  color:#fff;
  padding:11px;
  font-size:12px;
}
.map-output .icon {
  width:18px;
  height:18px;
}
.kinetic-band {
  padding:23px 0 30px;
  overflow:hidden;
  background:#d5e6ed;
  border-block:1px solid #bacfd9;
}
.kinetic-text {
  font-family:var(--serif);
  font-size:clamp(65px,8vw,125px);
  line-height:1.1;
  letter-spacing:-4px;
  white-space:nowrap;
  color:var(--blue);
  transform:translateX(var(--kinetic-x,0px));
  will-change:transform;
}
.kinetic-text span {
  display:inline-block;
  font-size:.7em;
  margin:0 38px;
  font-weight:400;
}
/* Presença da Julia. */
.founder-section {
  padding-block:125px;
}
.founder-layout {
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:110px;
  align-items:center;
}
.founder-visual {
  position:relative;
  padding:0 23px 50px 0;
}
.founder-photo-wrap {
  position:relative;
  overflow:hidden;
  background:#1d211f;
}
.founder-photo {
  width:100%;
  height:570px;
  object-fit:cover;
  object-position:50% 30%;
  transform:scale(1.05);
  will-change:transform;
}
.founder-name {
  position:absolute;
  bottom:0;
  left:30px;
  right:0;
  background:#d6e6eb;
  padding:23px 26px;
  box-shadow:0 0 0 8px var(--paper);
}
.founder-name>span:first-child {
  font-family:var(--serif);
  font-size:29px;
  letter-spacing:-.6px;
  display:block;
  line-height:1.1;
}
.founder-name>span:last-child {
  display:block;
  font:9px var(--mono);
  letter-spacing:1px;
  margin-top:10px;
  color:#4d6f80;
}
.founder-side-note {
  position:absolute;
  right:-17px;
  top:50%;
  writing-mode:vertical-rl;
  font:9px var(--mono);
  letter-spacing:1.4px;
}
.founder-copy h2 {
  font-size:clamp(38px,3.5vw,51px);
}
.founder-copy>p:not(.eyebrow) {
  font-size:14px;
  line-height:1.85;
  margin-top:18px;
  max-width:440px;
}
.founder-copy>.founder-lead {
  font-size:18px!important;
  color:var(--ink);
  line-height:1.6!important;
  margin-top:27px!important;
}
.founder-principle {
  display:flex;
  gap:18px;
  border-top:1px solid var(--line);
  padding-top:24px;
  margin-top:27px;
}
.founder-principle>.icon {
  color:var(--blue);
  width:27px;
  height:27px;
}
.founder-principle strong {
  font-weight:500;
  font-size:14px;
  line-height:1.5;
  display:block;
}
.founder-principle span {
  display:block;
  font:8px var(--mono);
  letter-spacing:.5px;
  color:var(--muted);
  margin-top:10px;
}
.control-section {
  padding:85px 0;
  position:relative;
  overflow:hidden;
}
.control-section:before {
  content:'+';
  position:absolute;
  left:-35px;
  bottom:-95px;
  color:#ffffff05;
  font:400px/.8 var(--sans);
  pointer-events:none;
}
.control-grid {
  position:relative;
}
.control-section h2 {
  font-size:48px;
}
.control-grid>div>p:not(.eyebrow) {
  font-size:14px;
}
.control-list strong {
  font-size:14px;
  font-weight:500;
}
.control-list p span {
  font-size:13px;
}
.step-number {
  font-size:65px;
  letter-spacing:-3px;
  line-height:1;
  margin-bottom:25px;
}
.step-number>span {
  position:relative;
  overflow:hidden;
}
.step-number>span:after {
  content:'';
  position:absolute;
  inset:0;
  background:var(--blue);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 1s;
}
.is-revealed .step-number>span:after {
  transform:scaleX(1);
}
.steps h3 {
  font-size:24px;
  max-width:250px;
  line-height:1.25;
  margin-bottom:15px;
}
.steps p {
  font-size:14px;
}
.pillars-section {
  background:#e7eef1;
}
.pillars-layout h2 {
  font-size:49px;
}
.pillars-description {
  font-size:14px;
}
.pillars-grid h3 {
  font-size:27px;
  max-width:210px;
}
.pillars-grid p {
  font-size:13px;
}
.pillars-grid article>span {
  font-family:var(--mono);
  font-weight:400;
}
.signature {
  font-size:32px;
  letter-spacing:-1px;
}
.signature>span {
  font-family:var(--mono);
  letter-spacing:1px;
}
.faq-layout h2 {
  font-size:46px;
}
.faq-layout>div>p:not(.eyebrow) {
  font-size:14px;
}
.faq-list summary {
  font-size:14px;
  font-weight:500;
}
.final-cta {
  background:#d5e5ec;
  color:var(--ink);
  padding:85px 0;
  text-align:left;
}
.final-cta:before,.final-cta:after {
  display:none;
}
.final-inner {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  column-gap:110px;
  align-items:start;
}
.final-inner .eyebrow {
  grid-column:1/-1;
  color:var(--blue);
}
.final-cta h2 {
  grid-column:1;
  grid-row:2/6;
  font-size:70px;
  position:relative;
  max-width:550px;
}
.final-cta h2 em {
  color:#386a84;
}
.final-arrow {
  width:85px;
  height:85px;
  stroke:var(--blue);
  stroke-width:2;
  position:absolute;
  right:-20px;
  top:8px;
}
.final-inner>p:not(.eyebrow):not(.cta-note) {
  grid-column:2;
  font-size:17px;
  line-height:1.7;
  margin-top:15px;
  color:var(--ink);
}
.button-light {
  grid-column:2;
  justify-self:start;
  margin-top:30px;
  background:var(--navy);
  color:white;
  border-color:var(--navy);
}
.button-light:hover {
  background:#2b5366;
}
.final-inner .cta-note {
  grid-column:2;
  color:var(--muted);
}
/* Reveal progressivo: conteúdo acessível sem JavaScript e com movimento reduzido. */
.reveal-ready {
  opacity:0;
  transform:translateY(30px);
  transition:opacity .75s ease,transform .85s cubic-bezier(.2,.65,.3,1);
  transition-delay:var(--reveal-delay,0ms);
}
.reveal-ready.is-revealed {
  opacity:1;
  transform:translateY(0);
}
.reveal-ready:focus-within {
  opacity:1;
  transform:none;
}
.hero-copy {
  animation:arrive .9s both;
}
.hero-visual {
  animation:arrive 1.1s .12s both;
}
@keyframes arrive {
  from {
    opacity:0;
    transform:translateY(22px);
  }
  to {
    opacity:1;
    transform:translateY(0);
  }
}
@media(min-width:1500px) {
  .hero {
    padding-block:80px;
  }
  .hero h1 {
    font-size:86px;
  }
  .image-frame {
    height:590px;
  }
}
@media(max-width:1150px) {
  .container {
    width:calc(100% - 80px);
  }
  .section-rail {
    display:none;
  }
  .hero-grid {
    gap:50px;
    grid-template-columns:1.1fr 1fr;
  }
  .hero h1 {
    font-size:67px;
    letter-spacing:-3px;
  }
  .image-frame {
    height:520px;
  }
  .orbit-seal {
    width:105px;
    right:-18px;
    top:-24px;
  }
  .routine-card {
    width:285px;
    left:-22px;
  }
  .hero-detail {
    max-width:370px;
  }
  .audience-inner {
    gap:17px;
  }
  .audience-inner>span {
    font-size:11px;
    gap:9px;
  }
  .audience-inner p {
    padding-right:20px;
    font-size:8px;
  }
  .services-layout {
    gap:60px;
  }
  .founder-layout {
    gap:70px;
  }
  .founder-photo {
    height:560px;
  }
  .control-grid,.pillars-layout,.faq-layout {
    gap:55px;
  }
  .control-section h2 {
    font-size:42px;
  }
  .final-inner {
    column-gap:80px;
  }
  .final-cta h2 {
    font-size:59px;
  }
  .final-arrow {
    width:60px;
    height:60px;
    right:-15px;
  }
}
@media(max-width:900px) {
  .container {
    width:calc(100% - 56px);
  }
  .section {
    padding:80px 0;
  }
  .header-inner nav {
    gap:18px;
    font-size:11px;
  }
  .header-inner {
    gap:20px;
  }
  .hero-grid {
    gap:35px;
  }
  .hero h1 {
    font-size:58px;
    letter-spacing:-2.7px;
  }
  .hero .eyebrow {
    font-size:8px;
    letter-spacing:.5px;
  }
  .hero-description {
    font-size:16px;
  }
  .hero-detail {
    font-size:12px;
  }
  .hero-copy>.button {
    font-size:11px;
    padding-inline:15px;
    gap:10px;
  }
  .hero-person>span>span {
    font-size:9px;
  }
  .hero-person>.icon {
    margin-left:0;
  }
  .hero-person img {
    width:40px;
    height:40px;
  }
  .image-frame {
    height:500px;
  }
  .routine-card {
    width:265px;
    padding:20px;
  }
  .routine-card>p {
    font-size:25px;
  }
  .routine-flow {
    font-size:9px;
  }
  .orbit-seal {
    width:90px;
    height:90px;
    right:-12px;
    top:-15px;
  }
  .hero-coordinate span {
    font-size:6px;
  }
  .photo-caption {
    font-size:6px;
  }
  .image-label {
    font-size:6px;
    right:12px;
  }
  .hero-visual {
    padding-bottom:55px;
  }
  .split-heading {
    gap:40px;
  }
  .split-heading>p {
    font-size:13px;
  }
  .pain-card h3 {
    font-size:22px;
  }
  .pain-card p {
    font-size:13px;
  }
  .services-layout {
    grid-template-columns:.9fr 1.1fr;
    gap:40px;
  }
  .services-intro h2 {
    font-size:42px;
  }
  .service-list article {
    padding-block:35px;
    gap:16px;
  }
  .service-list h3 {
    font-size:22px;
  }
  .service-list p {
    font-size:13px;
  }
  .service-list article>.icon {
    display:none;
  }
  .map-inputs span {
    font-size:8px;
    padding:6px;
  }
  .finance-map {
    padding:16px;
  }
  .map-center,.map-output {
    font-size:10px;
  }
  .founder-layout {
    gap:55px;
    grid-template-columns:1fr 1fr;
  }
  .founder-copy h2 {
    font-size:38px;
  }
  .founder-photo {
    height:580px;
  }
  .founder-copy>.founder-lead {
    font-size:16px!important;
  }
  .founder-copy>p:not(.eyebrow) {
    font-size:13px;
  }
  .control-section h2 {
    font-size:42px;
  }
  .steps h3 {
    font-size:22px;
  }
  .steps p {
    font-size:13px;
  }
  .step-number {
    font-size:55px;
  }
  .pillars-layout h2 {
    font-size:42px;
  }
  .pillars-grid h3 {
    font-size:24px;
  }
  .pillars-grid p {
    font-size:12px;
  }
  .faq-layout h2 {
    font-size:39px;
  }
  .faq-list summary {
    font-size:13px;
  }
  .final-cta h2 {
    font-size:52px;
    letter-spacing:-2px;
  }
  .final-inner {
    column-gap:45px;
  }
  .final-arrow {
    display:none;
  }
  .final-inner>p:not(.eyebrow):not(.cta-note) {
    font-size:15px;
  }
  .button-light {
    font-size:11px;
    gap:10px;
    padding:16px;
  }
}
@media(max-width:700px) {
  html {
    scroll-padding-top:95px;
  }
  .container {
    width:calc(100% - 40px);
  }
  .section {
    padding:64px 0;
  }
  h2 {
    font-size:39px;
    letter-spacing:-1.6px;
  }
  .header-inner,.is-scrolled .header-inner {
    height:74px;
    gap:12px;
  }
  .header-inner nav {
    display:none;
  }
  .brand {
    transform:scale(.8);
    transform-origin:left center;
    margin-right:-33px;
  }
  .header-inner>.button {
    font-size:10px;
    padding:10px 12px;
    min-height:40px;
    gap:10px;
  }
  .header-inner>.button .icon {
    width:16px;
  }
  .hero {
    padding:38px 0 35px;
  }
  .hero-grid {
    grid-template-columns:1fr;
    gap:43px;
  }
  .hero-copy {
    padding:0;
  }
  .hero .eyebrow {
    font-size:8px;
    letter-spacing:.8px;
    margin-bottom:26px;
  }
  .hero h1 {
    font-size:clamp(48px,11.8vw,72px);
    line-height:1.01;
    letter-spacing:-2.3px;
  }
  .hero-accent:after {
    height:5px;
  }
  .hero-description {
    font-size:16px;
    max-width:420px;
    margin-top:24px;
  }
  .desktop-break {
    display:none;
  }
  .hero-detail {
    font-size:13px;
    max-width:410px;
    margin:13px 0 24px;
  }
  .hero-copy>.button {
    width:100%;
    font-size:12px;
    min-height:57px;
    padding-inline:17px;
    gap:12px;
    justify-content:space-between;
  }
  .hero-copy>.button .arrow-icon {
    display:block;
  }
  .hero-copy>.cta-note {
    text-align:center;
    font-size:10px;
  }
  .hero-person {
    margin-top:23px;
    padding-top:19px;
    width:100%;
    gap:12px;
  }
  .hero-person img {
    width:43px;
    height:43px;
  }
  .hero-person>span>span {
    font-size:10px;
  }
  .hero-person>.icon {
    margin-left:auto;
  }
  .hero-visual {
    margin:0 12px 0 15px;
    padding:0 0 65px;
  }
  .hero-coordinate {
    font-size:8px;
    padding-bottom:12px;
  }
  .hero-coordinate span {
    font-size:7px;
    padding-right:85px;
  }
  .image-frame {
    height:410px;
    border-radius:2px;
  }
  .hero-image {
    object-position:50% 65%;
  }
  .orbit-seal {
    width:90px;
    height:90px;
    right:-22px;
    top:6px;
  }
  .routine-card {
    width:255px;
    left:-15px;
    bottom:30px;
    padding:18px 20px;
    box-shadow:7px 8px 0 #ffffffb3;
  }
  .routine-card>p {
    font-size:26px;
    margin-block:17px;
  }
  .routine-top {
    font-size:7px;
  }
  .routine-flow {
    font-size:9px;
    padding-top:12px;
  }
  .image-label {
    bottom:105px;
    right:15px;
    left:auto;
    font-size:7px;
    writing-mode:vertical-rl;
  }
  .photo-caption {
    font-size:6px;
    letter-spacing:.1px;
    padding:0;
  }
  .audience-inner {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px 15px;
    padding-block:27px;
    text-align:left;
  }
  .audience-inner p {
    grid-column:1/-1;
    padding:0 0 15px;
    border:0;
    border-bottom:1px solid #ffffff26;
    font-size:9px;
    text-align:left;
  }
  .audience-inner p br {
    display:none;
  }
  .audience-inner strong {
    margin-left:4px;
  }
  .audience-inner>span {
    font-size:11px;
    gap:9px;
  }
  .eyebrow {
    font-size:9px;
    letter-spacing:.6px;
    margin-bottom:20px;
  }
  .split-heading {
    display:block;
  }
  .split-heading>p {
    font-size:14px;
    margin-top:23px;
    max-width:none;
  }
  .section-heading {
    margin-bottom:35px;
  }
  .pain-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  .pain-card {
    padding:26px 34px 0 48px;
  }
  .pain-card>.icon {
    position:absolute;
    top:27px;
    left:0;
    width:26px;
    height:26px;
  }
  .pain-card:after {
    font-size:10px;
    top:28px;
  }
  .pain-card h3 {
    font-size:22px;
    max-width:290px;
    margin-bottom:11px;
  }
  .pain-card p {
    max-width:none;
    font-size:13px;
  }
  .section-bridge {
    font-size:12px;
    line-height:1.9;
    margin-top:30px;
    padding-top:20px;
  }
  .services-layout {
    grid-template-columns:1fr;
    gap:42px;
  }
  .services-intro {
    position:static;
  }
  .services-intro h2 {
    font-size:43px;
  }
  .services-intro h2 br {
    display:none;
  }
  .services-intro h2 em {
    display:block;
  }
  .services-intro>p:not(.eyebrow) {
    max-width:none;
    font-size:14px;
    margin-top:22px;
  }
  .finance-map {
    max-width:none;
    margin-top:27px;
    padding:20px 25px;
  }
  .map-inputs span {
    font-size:10px;
    padding:8px 12px;
  }
  .map-label {
    font-size:9px;
  }
  .map-center,.map-output {
    font-size:12px;
  }
  .map-lines {
    height:55px;
  }
  .service-list article {
    padding:28px 0;
    gap:19px;
  }
  .service-list article:first-child {
    padding-top:28px;
    border-top:1px solid #bacdd6;
  }
  .service-list article>.icon {
    display:block;
    width:22px;
  }
  .service-list h3 {
    font-size:23px;
  }
  .service-list p {
    font-size:13px;
  }
  .service-number {
    font-size:11px;
  }
  .kinetic-band {
    padding:21px 0;
  }
  .kinetic-text {
    font-size:73px;
    letter-spacing:-3px;
  }
  .kinetic-text span {
    margin:0 24px;
  }
  .founder-layout {
    grid-template-columns:1fr;
    gap:43px;
  }
  .founder-visual {
    padding:0 20px 45px 0;
    margin-right:10px;
  }
  .founder-photo {
    height:auto;
    aspect-ratio:4/5;
    object-position:50% 22%;
    width:100%;
    min-height:0;
  }
  .founder-name {
    padding:19px 22px;
    left:20px;
  }
  .founder-name>span:first-child {
    font-size:27px;
  }
  .founder-name>span:last-child {
    font-size:8px;
  }
  .founder-side-note {
    right:-12px;
    font-size:8px;
    letter-spacing:1px;
  }
  .founder-copy h2 {
    font-size:41px;
  }
  .founder-copy h2 > br:first-of-type {
    display:none;
  }
  .founder-copy h2 em {
    display:block;
  }
  .founder-copy>p:not(.eyebrow) {
    font-size:14px;
    max-width:none;
  }
  .founder-copy>.founder-lead {
    font-size:17px!important;
  }
  .founder-principle strong {
    font-size:14px;
  }
  .control-section {
    padding:58px 0;
  }
  .control-section h2 {
    font-size:39px;
  }
  .control-section .eyebrow {
    font-size:8px;
    max-width:300px;
  }
  .control-grid>div>p:not(.eyebrow) {
    font-size:14px;
    margin-top:23px;
  }
  .control-list {
    display:block;
  }
  .control-list>div {
    display:flex;
    gap:16px;
    padding:22px 0;
    border-bottom:1px solid #ffffff26;
  }
  .control-list>div:first-child {
    padding-top:0;
  }
  .control-list strong {
    font-size:14px;
  }
  .control-list p span {
    font-size:13px;
  }
  .steps {
    grid-template-columns:1fr;
    gap:30px;
    margin-top:35px;
  }
  .step-number {
    font-size:53px;
    margin-bottom:16px;
  }
  .steps h3 {
    font-size:25px;
    max-width:none;
    margin-bottom:12px;
  }
  .steps p {
    font-size:14px;
    max-width:none;
  }
  .process-cta {
    margin-top:35px;
  }
  .process-cta .button {
    width:100%;
    font-size:12px;
  }
  .pillars-layout {
    grid-template-columns:1fr;
    gap:40px;
  }
  .pillars-layout h2 {
    font-size:41px;
  }
  .pillars-description {
    font-size:14px;
    max-width:none;
  }
  .signature {
    font-size:30px;
    margin-top:24px;
  }
  .pillars-grid {
    gap:30px 25px;
  }
  .pillars-grid h3 {
    font-size:26px;
  }
  .pillars-grid article>span {
    font-size:8px;
  }
  .pillars-grid p {
    font-size:12px;
  }
  .faq-layout {
    grid-template-columns:1fr;
    gap:32px;
  }
  .faq-layout h2 {
    font-size:39px;
  }
  .faq-layout>div>p:not(.eyebrow) {
    max-width:none;
  }
  .faq-list summary {
    font-size:14px;
    padding:22px 0;
    gap:20px;
  }
  .faq-list details>p {
    font-size:13px;
    padding-right:15px;
  }
  .final-cta {
    padding:60px 0;
  }
  .final-inner {
    display:block;
  }
  .final-cta h2 {
    font-size:59px;
    letter-spacing:-2.8px;
  }
  .final-cta h2 br {
    display:block;
  }
  .final-cta h2 em {
    margin:0;
  }
  .final-arrow {
    display:block;
    right:8px;
    top:6px;
    width:55px;
    height:55px;
  }
  .final-inner>p:not(.eyebrow):not(.cta-note) {
    font-size:15px;
    margin-top:28px;
  }
  .button-light {
    width:100%;
    font-size:12px;
    padding:18px 14px;
    margin-top:27px;
  }
  .final-inner .cta-note {
    text-align:center;
    font-size:10px;
  }
  .mobile-cta {
    z-index:50;
  }
}
@media(max-width:360px) {
  .hero h1 {
    font-size:45px;
    letter-spacing:-2.2px;
  }
  .hero .eyebrow {
    font-size:7px;
    letter-spacing:.5px;
  }
  .hero-copy>.button {
    font-size:10px;
    gap:8px;
  }
  .hero-person>span>span {
    font-size:8px;
  }
  .hero-person strong {
    font-size:11px;
  }
  .routine-card {
    width:240px;
  }
  .map-inputs span {
    font-size:8px;
    padding:7px 9px;
  }
  .final-cta h2 {
    font-size:51px;
  }
  .final-arrow {
    width:43px;
    height:43px;
    right:0;
  }
  .button-light {
    font-size:10px;
    gap:8px;
  }
  .pillars-grid h3 {
    font-size:23px;
  }
}
/* Abertura enxuta: fotografia somente no fundo, uma mensagem e uma ação. */
.hero.hero-simple {
  padding:88px 0 92px;
  background-image:radial-gradient(ellipse at 50% 45%, #f8faf9f5 0%, #f8faf9e8 45%, #f8faf9a6 100%), url('assets/clinica.webp');
  background-size:cover;
  background-position:center, center 65%;
  background-repeat:no-repeat;
}
.hero-simple .hero-message {
  max-width:680px;
  margin-inline:auto;
  text-align:center;
}
.hero.hero-simple .eyebrow {
  display:block;
  font-size:10px;
  letter-spacing:1px;
  margin-bottom:22px;
}
.hero.hero-simple h1 {
  font-size:clamp(48px, 4.9vw, 70px);
  letter-spacing:-2.5px;
  line-height:1.07;
  font-weight:500;
}
.hero-simple .hero-summary {
  max-width:455px;
  font-size:18px;
  line-height:1.65;
  color:var(--muted);
  margin-top:24px;
  margin-inline:auto;
}
.hero-simple .button {
  margin-top:30px;
}
.hero-simple .hero-person {
  width:max-content;
  max-width:100%;
  margin:26px auto 0;
  padding:0;
  border:0;
  justify-content:center;
  text-align:left;
  gap:12px;
}
.hero-simple .hero-person img {
  width:42px;
  height:42px;
}
.hero-in-view .section-rail {
  visibility:hidden;
}
@media(max-width:900px) {
  .hero.hero-simple {
    padding:75px 0 80px;
  }
}
@media(max-width:700px) {
  .hero.hero-simple {
    padding:52px 0 60px;
    background-position:center, center 62%;
  }
  .hero.hero-simple h1 {
    font-size:clamp(38px, 9.2vw, 55px);
    letter-spacing:-1.6px;
    line-height:1.1;
  }
  .hero.hero-simple .eyebrow {
    font-size:8px;
    letter-spacing:.6px;
    margin-bottom:20px;
  }
  .hero-simple .hero-summary {
    font-size:16px;
    max-width:370px;
    margin-top:22px;
  }
  .hero-simple .button {
    font-size:12px;
    padding:17px 20px;
    margin-top:27px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
  }
  .reveal-ready {
    opacity:1!important;
    transform:none!important;
  }
  .hero-image,.founder-photo,.routine-card,.orbit-seal,.kinetic-text {
    transform:none!important;
    will-change:auto;
  }
}
@media print {
  .reveal-ready {
    opacity:1!important;
    transform:none!important;
  }
  .site-header {
    position:static;
  }
  .section-rail,.mobile-cta,.reading-progress {
    display:none;
  }
  .services-intro {
    position:static;
  }
}
