@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap");
@import url("https://use.typekit.net/pub0udm.css");

:root {
  --yellow: #ffc716;
  --ink: #1e1e1e;
  --ink-2: #272324;
  --paper: #f4f2ed;
  --white: #ffffff;
  --line: rgba(30, 30, 30, 0.16);
  --page-gutter: 12.5vw;
  --display: "loos-extrawide", "Arial Black", sans-serif;
  --body: "Montserrat", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
img { display: block; max-width: 100%; }

/* Motion system */
.motion-ready.motion-mounted .motion-reveal {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition:
    opacity .72s cubic-bezier(.22, 1, .36, 1) var(--motion-delay, 0ms),
    transform .72s cubic-bezier(.22, 1, .36, 1) var(--motion-delay, 0ms);
  will-change: opacity, transform;
}
.motion-ready.motion-mounted .motion-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.hero-copy,
.about-page-hero-copy,
.consulting-hero-copy,
.speaking-hero-copy {
  animation: hero-copy-in .85s cubic-bezier(.22, 1, .36, 1) both;
}
.hero-portrait,
.about-page-hero-image,
.consulting-hero-panel,
.speaking-hero-stage {
  animation: hero-visual-in 1s cubic-bezier(.22, 1, .36, 1) .12s both;
}
@keyframes hero-copy-in {
  from { opacity: 0; transform: translate3d(0, 24px, 0); }
  to { opacity: 1; }
}
@keyframes hero-visual-in {
  from { opacity: 0; transform: translate3d(18px, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
.service-card,
.consulting-area-grid article,
.format-grid article,
.audience-grid article,
.beliefs-grid article,
.entity,
.worked-entity {
  transition: transform .3s cubic-bezier(.22, 1, .36, 1), box-shadow .3s ease, border-color .3s ease;
}
@media (hover:hover) {
  .service-card:hover,
  .consulting-area-grid article:hover,
  .format-grid article:hover,
  .audience-grid article:hover,
  .beliefs-grid article:hover,
  .entity:hover,
  .worked-entity:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 44px rgba(20,20,20,.10);
    z-index: 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .motion-reveal { opacity: 1 !important; transform: none !important; }
}

.site-header {
  height: 66px;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 32px;
  position: fixed;
  top: 18px;
  left: 12.5vw;
  z-index: 100;
  width: 75vw;
  color: var(--ink);
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition:
    color .3s ease;
}

.site-header::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -18px;
  left: 50%;
  width: 100vw;
  height: calc(100% + 36px);
  transform: translateX(-50%);
  border-bottom: 1px solid transparent;
  background: transparent;
  box-shadow: none;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition:
    background-color .3s ease,
    border-color .3s ease,
    box-shadow .3s ease,
    backdrop-filter .3s ease;
}

.site-header.is-scrolled {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.site-header.is-scrolled::before {
  border-color: rgba(255, 255, 255, .58);
  background: rgba(244, 242, 237, .68);
  box-shadow: 0 12px 34px rgba(30, 30, 30, .1);
  backdrop-filter: blur(20px) saturate(135%);
  -webkit-backdrop-filter: blur(20px) saturate(135%);
}

.wordmark {
  font-family: var(--display);
  font-size: 16px;
  line-height: .84;
  letter-spacing: -.03em;
  width: max-content;
}
.wordmark span { color: var(--yellow); }
.desktop-nav { display: flex; gap: clamp(20px, 3vw, 46px); }
.desktop-nav a {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  position: relative;
}
.desktop-nav a::after {
  content: "";
  height: 2px;
  width: 0;
  background: var(--ink);
  position: absolute;
  left: 0;
  bottom: -8px;
  transition: width .25s;
}
.desktop-nav a:hover::after { width: 100%; }
.desktop-nav a[aria-current="page"]::after { width: 100%; background: var(--yellow); }
.header-cta {
  justify-self: end;
  background: var(--ink);
  color: white;
  border-radius: 999px;
  padding: 14px 19px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.header-cta span { color: var(--yellow); margin-left: 8px; }
.mobile-menu { display: none; }

.hero {
  min-height: 800px;
  height: 100svh;
  max-height: 970px;
  background: var(--paper);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
  padding: 124px var(--page-gutter) 0;
  position: relative;
  overflow: hidden;
}
.hero-grid {
  display: none;
}
.hero-copy {
  align-self: center;
  z-index: 2;
  padding-bottom: 0;
  transform: translateY(-58px);
  max-width: 830px;
}
.eyebrow {
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: .19em;
  font-weight: 800;
}
.hero h1, h2, .service-copy h3 {
  font-family: var(--display);
  font-weight: 800;
  text-transform: uppercase;
  margin: 0;
}
.hero h1 {
  font-size: clamp(66px, 7.25vw, 118px);
  line-height: .78;
  letter-spacing: -.06em;
  margin: 40px 0 36px;
}
.hero h1 span { display: block; color: var(--yellow); }
.hero-intro {
  max-width: 610px;
  font-size: clamp(15px, 1.35vw, 20px);
  font-weight: 600;
  line-height: 1.6;
}
.hero-actions { display: flex; align-items: center; gap: 32px; margin-top: 36px; }
.button {
  min-height: 54px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  border-radius: 999px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-weight: 800;
  transition: transform .2s, background .2s;
}
.button:hover { transform: translateY(-2px); }
.button-dark { background: var(--ink); color: white; }
.button-dark span { color: var(--yellow); font-size: 16px; }
.text-link {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .09em;
  border-bottom: 1px solid currentColor;
  padding-bottom: 7px;
}
.text-link span { margin-left: 6px; }
.hero-portrait {
  align-self: end;
  justify-self: stretch;
  height: calc(100% - 34px);
  position: relative;
  z-index: 2;
}
.hero-portrait::before {
  display: none;
}
.portrait-circle {
  display: none;
}
.hero-portrait img {
  height: 100%;
  width: 100%;
  object-fit: contain;
  object-position: bottom center;
  position: relative;
  z-index: 2;
}
.portrait-note {
  position: absolute;
  z-index: 3;
  right: -1.5vw;
  bottom: 5%;
  background: transparent;
  color: var(--ink);
  padding: 5px 0 5px 16px;
  border-left: 3px solid var(--yellow);
  font-size: 9px;
  line-height: 1.55;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.portrait-note span {
  color: var(--ink);
  font-family: var(--display);
  font-size: 22px;
  display: block;
}
.scroll-note {
  position: absolute;
  bottom: 34px;
  left: var(--page-gutter);
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 5;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 800;
}
.scroll-note i { height: 1px; width: 50px; background: var(--ink); }

.authority {
  background: var(--ink);
  color: white;
  display: grid;
  grid-template-columns: 1.15fr repeat(4, 1fr);
  padding: 0 var(--page-gutter);
}
.authority > div { min-height: 220px; border-right: 1px solid rgba(255,255,255,.12); padding: 35px; display: flex; flex-direction: column; justify-content: center; }
.authority > div:first-child { border-left: 1px solid rgba(255,255,255,.12); }
.authority-heading { flex-direction: row !important; align-items: center; justify-content: space-between !important; }
.authority-heading > span { font-size: 11px; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; line-height: 1.5; color: #aaa; }
.arrow { font-size: 25px; color: var(--yellow); font-weight: 900; }
.stat strong { font-family: var(--display); font-size: clamp(48px, 4.35vw, 76px); line-height: .9; color: var(--yellow); letter-spacing: -.045em; }
.stat span { margin-top: 20px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.78); line-height: 1.45; }

.section-pad { padding: clamp(88px, 10vw, 160px) var(--page-gutter); }
.section-kicker { display: flex; align-items: center; gap: 14px; margin-bottom: 50px; }
.section-kicker span { font-family: var(--display); font-size: 10px; color: var(--yellow); }
.section-kicker p { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; margin: 0; }
.section-kicker::after { content: ""; width: 54px; height: 1px; background: currentColor; opacity: .4; }
.section-kicker.inverse { color: white; }
.manifesto { background: var(--paper); }
.manifesto-copy { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .45fr); gap: clamp(50px, 8vw, 140px); align-items: end; }
.manifesto h2 {
  max-width: 1040px;
  font-size: clamp(42px, 4.65vw, 74px);
  letter-spacing: -.045em;
  line-height: .98;
}
.manifesto h2 em { display: block; font-style: normal; position: relative; width: max-content; z-index: 1; }
.manifesto h2 em::after {
  content: ""; position: absolute; height: 34%; background: var(--yellow); left: -1%; right: -2%; bottom: 3%; z-index: -1;
}
.manifesto-detail { border-left: 1px solid var(--line); padding-left: 35px; }
.manifesto-detail p { font-size: 13px; line-height: 1.8; color: #666; margin: 0 0 24px; }
.manifesto-detail p:last-child { color: var(--ink); font-weight: 700; }

.solutions {
  background: var(--ink);
  color: white;
}
.solutions-head {
  display: block;
  padding-left: 0;
  margin-bottom: 68px;
  text-align: center;
}
.solutions-head .section-kicker { justify-content: center; }
.solutions-head h2, .cases-title h2, .method-intro h2, .about h2, .newsletter h2, .content h2, .final-cta h2 {
  font-size: clamp(45px, 5.4vw, 88px);
  letter-spacing: -.05em;
  line-height: .88;
}
.solutions-head h2 {
  width: 100%;
  max-width: none;
  font-size: clamp(42px, 4.8vw, 78px);
  line-height: .96;
  margin-left: 0;
  margin-right: 0;
}
.solutions-head > p {
  max-width: 610px;
  margin: 28px auto 0;
  color: #aaa;
  line-height: 1.8;
  font-size: 13px;
}
.service-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.service-card {
  min-height: 365px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto 1fr auto;
  align-items: start;
  gap: 0;
  border: 1px solid rgba(255,255,255,.13);
  padding: clamp(30px, 2.8vw, 44px);
  position: relative;
  overflow: hidden;
  background: rgba(255,255,255,.025);
  color: white;
  transition: transform .25s, background .25s, border-color .25s;
}
.service-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  background: rgba(255,255,255,.55);
}
.service-yellow::before {
  background: var(--yellow);
}
.service-number {
  position: static;
  font-family: var(--display);
  color: var(--yellow);
  font-size: 10px;
}
.service-copy { padding-top: clamp(38px, 4vw, 58px); }
.service-copy p { text-transform: uppercase; letter-spacing: .15em; font-size: 9px; color: #999; font-weight: 800; }
.service-copy h3 { font-size: clamp(34px, 3.4vw, 54px); line-height: .92; margin: 12px 0 0; }
.service-text { color: #aaa; max-width: 470px; line-height: 1.8; font-size: 12px; margin: 28px 0 38px; }
.service-card > a { display: flex; align-items: center; justify-content: space-between; gap: 15px; width: 100%; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.15); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }
.service-card > a b { width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; display: grid; place-items: center; color: var(--yellow); }
.service-card:hover { transform: translateY(-4px); background: rgba(255,255,255,.055); border-color: rgba(255,255,255,.25); }

.cases { background: var(--paper); display: grid; grid-template-columns: minmax(390px, .9fr) minmax(0, 1.1fr); gap: clamp(55px, 6vw, 90px); }
.cases-title { position: sticky; top: 70px; height: max-content; min-width: 0; }
.cases-title h2 { margin-bottom: 42px; font-size: clamp(38px, 3.35vw, 54px); }
.dark-link { color: var(--ink); }
.case-grid { display: grid; gap: 28px; }
.case-card {
  min-height: 390px;
  padding: 32px 38px 38px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}
.case-yellow {
  background: var(--yellow);
}
.case-dark {
  background: var(--ink);
  color: white;
}
.case-paper { background: white; border: 1px solid var(--line); }
.case-top { display: flex; justify-content: space-between; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.case-mark {
  font-family: var(--display);
  font-size: clamp(100px, 12vw, 190px);
  line-height: 1;
  opacity: .055;
  position: absolute;
  right: 3%;
  top: 11%;
  letter-spacing: -.1em;
  pointer-events: none;
}
.case-dark .case-mark { color: var(--yellow); opacity: .09; font-size: clamp(90px, 11vw, 170px); }
.case-bottom { margin-top: auto; z-index: 2; max-width: 560px; }
.case-bottom > p { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.case-bottom h3 { font-family: var(--display); font-size: clamp(24px, 2.35vw, 38px); line-height: 1.12; text-transform: uppercase; margin: 14px 0 28px; }
.case-bottom > span { font-size: 9px; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }

.method {
  background: var(--ink-2);
  color: white;
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: clamp(55px, 7vw, 105px);
}
.method-intro { min-width: 0; }
.method-intro h2 {
  max-width: 560px;
  font-size: clamp(42px, 3.85vw, 62px);
  line-height: .98;
  overflow-wrap: normal;
}
.method-intro > p { max-width: 410px; line-height: 1.8; color: #aaa; font-size: 13px; margin-top: 34px; }
.method-steps { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.16); min-width: 0; }
.method-steps li { display: grid; grid-template-columns: 50px minmax(0, 1fr) minmax(0, 1fr) 30px; gap: 22px; align-items: center; padding: 34px 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.method-steps li > span { font-family: var(--display); font-size: 9px; color: var(--yellow); }
.method-steps h3 { font-family: var(--display); font-size: clamp(20px, 2.2vw, 34px); text-transform: uppercase; margin: 0; }
.method-steps p { font-size: 11px; color: #999; line-height: 1.6; }
.method-steps i { font-style: normal; color: var(--yellow); font-size: 20px; }

.about { background: white; display: grid; grid-template-columns: .9fr 1.1fr; column-gap: clamp(60px, 10vw, 160px); row-gap: clamp(75px, 8vw, 120px); align-items: center; }
.about-visual { position: relative; }
.about-frame { background: var(--yellow); min-height: 650px; overflow: hidden; position: relative; }
.about-frame::before { content: ""; position: absolute; inset: 8%; border: 1px solid rgba(30,30,30,.25); border-radius: 50%; }
.about-frame img { height: 100%; width: 100%; object-fit: cover; object-position: 48% top; position: absolute; z-index: 2; filter: grayscale(1); mix-blend-mode: multiply; }
.about-stamp {
  position: absolute; z-index: 3; right: -38px; bottom: 35px; width: 145px; height: 145px; border-radius: 50%; background: var(--ink); color: white; display: grid; place-content: center; text-align: center; text-transform: uppercase; font-size: 8px; line-height: 1.5; letter-spacing: .12em;
}
.about-stamp span { display: block; color: var(--yellow); font-family: var(--display); font-size: 30px; letter-spacing: -.05em; }
.about-copy h2 { margin-bottom: 36px; }
.about-copy > p { color: #666; font-size: 13px; line-height: 1.8; max-width: 650px; }
.about-copy .about-lead { color: var(--ink); font-size: clamp(16px, 1.4vw, 21px); font-weight: 700; }
.about-copy .button { margin-top: 24px; }
.entities { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: clamp(42px, 5vw, 70px); }
.entities-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 36px; }
.entities-head > span { font-family: var(--display); font-size: clamp(25px, 2.4vw, 38px); line-height: 1; text-transform: uppercase; }
.entities-head p { max-width: 430px; margin: 0; color: #777; font-size: 12px; line-height: 1.7; }
.entities-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.entity { min-height: 135px; padding: 24px; display: flex; align-items: center; gap: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.entity img { width: 42px; height: 42px; flex: 0 0 42px; object-fit: contain; }
.entity span { font-size: 11px; font-weight: 700; line-height: 1.45; text-transform: uppercase; letter-spacing: .045em; }
.about-testimonials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: clamp(48px, 5vw, 72px); }
.about-testimonial { min-height: 330px; margin: 0; padding: clamp(30px, 3vw, 46px); background: var(--ink); color: white; border-top: 3px solid var(--yellow); display: flex; flex-direction: column; }
.about-testimonial blockquote { margin: 0; color: rgba(255,255,255,.9); font-size: clamp(14px, 1.15vw, 17px); line-height: 1.8; }
.about-testimonial figcaption { margin-top: auto; padding-top: 30px; border-top: 1px solid rgba(255,255,255,.16); display: flex; align-items: center; gap: 16px; }
.about-testimonial figcaption > img { width: 58px; height: 58px; flex: 0 0 58px; border-radius: 50%; object-fit: cover; background: white; }
.testimonial-person { display: flex; flex-direction: column; gap: 7px; color: inherit; }
.testimonial-person strong { font-family: var(--display); font-size: 16px; text-transform: uppercase; }
.testimonial-person > span { color: #aaa; font-size: 10px; line-height: 1.5; text-transform: uppercase; letter-spacing: .07em; }

.instagram {
  background: white;
}
.instagram-head {
  display: flex;
  justify-content: space-between;
  gap: clamp(40px, 7vw, 110px);
  align-items: end;
  margin-bottom: clamp(50px, 6vw, 85px);
}
.instagram-head .section-kicker { margin-bottom: 42px; }
.instagram-head h2 {
  font-family: var(--display);
  font-size: clamp(36px, 4vw, 60px);
  line-height: .92;
  letter-spacing: -.04em;
  margin: 0;
}
.instagram-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}
.instagram-post {
  aspect-ratio: 9 / 16;
  border: 1px solid var(--line);
  background: var(--paper);
  overflow: hidden;
}
.instagram-post iframe { width: 100%; height: 100%; border: 0; display: block; background: white; }

.specialties {
  background: var(--paper);
}
.specialties-head {
  text-align: center;
  margin-bottom: clamp(58px, 7vw, 100px);
}
.specialties-head .section-kicker {
  justify-content: center;
  margin-bottom: 34px;
}
.specialties-head h2 {
  font-family: var(--display);
  font-size: clamp(42px, 5vw, 80px);
  line-height: .95;
  letter-spacing: -.045em;
  margin: 0;
}
.specialties-head > p {
  margin: 25px auto 0;
  font-size: 15px;
  color: #555;
}
.specialties-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(38px, 5vw, 80px);
}
.specialty {
  min-height: 98px;
  display: grid;
  grid-template-columns: 30px 1fr;
  align-items: center;
  gap: 0;
  border-bottom: 1px solid var(--line);
}
.specialty span {
  align-self: center;
  color: var(--yellow);
  font-family: var(--display);
  font-size: 9px;
}
.specialty h3 {
  font-size: clamp(13px, 1.15vw, 17px);
  line-height: 1.35;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin: 0;
}

.testimonial {
  background: var(--paper);
  padding: clamp(80px, 8vw, 120px) var(--page-gutter);
  text-align: left;
  position: relative;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.testimonial::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 10px;
  background: var(--yellow);
}
.quote-mark { font-family: Georgia, serif; font-size: 72px; line-height: .5; color: var(--yellow); }
.testimonial blockquote {
  font-family: var(--body);
  font-size: clamp(21px, 2vw, 31px);
  font-weight: 600;
  line-height: 1.48;
  text-transform: none;
  margin: 30px 0 40px;
  max-width: 980px;
  letter-spacing: -.02em;
}
.quote-author { display: flex; justify-content: flex-start; align-items: center; gap: 14px; text-align: left; }
.avatar { width: 42px; height: 42px; background: var(--ink); color: var(--yellow); border-radius: 50%; display: grid; place-content: center; font-size: 10px; font-weight: 800; }
.quote-author p { font-size: 9px; text-transform: uppercase; line-height: 1.6; letter-spacing: .08em; }
.quote-nav { position: absolute; right: 7vw; bottom: 48px; display: flex; gap: 5px; }
.quote-nav button { background: transparent; border: 1px solid var(--ink); border-radius: 50%; width: 42px; height: 42px; cursor: pointer; }

.newsletter {
  background: var(--ink);
  color: white;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(70px, 10vw, 160px);
  align-items: center;
}
.newsletter-copy h2 { font-size: clamp(40px, 4.5vw, 70px); line-height: .92; }
.newsletter-copy h2 > span { color: var(--yellow); }
.newsletter-copy > p { color: #aaa; line-height: 1.8; font-size: 13px; max-width: 570px; margin-top: 35px; }
.newsletter-form { border-top: 1px solid rgba(255,255,255,.18); }
.newsletter-form label { display: block; border-bottom: 1px solid rgba(255,255,255,.18); padding: 24px 0 15px; }
.newsletter-form label span { display: block; font-size: 8px; text-transform: uppercase; letter-spacing: .13em; color: #888; margin-bottom: 10px; }
.newsletter-form input { width: 100%; background: transparent; border: 0; outline: 0; color: white; font-size: 18px; font-weight: 600; }
.newsletter-form input::placeholder { color: #666; }
.newsletter-form button { border: 0; background: var(--yellow); width: 100%; min-height: 60px; margin-top: 28px; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; font-weight: 900; cursor: pointer; }
.newsletter-form button span { float: right; margin-right: 12px; }
.newsletter-form small { color: #777; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; display: block; margin-top: 14px; }
.newsletter-form .privacy-consent,
.contact-form .privacy-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border: 0;
  padding: 18px 0 0;
}
.newsletter-form .privacy-consent input,
.contact-form .privacy-consent input {
  width: 15px;
  height: 15px;
  margin: 1px 0 0;
  flex: 0 0 auto;
  accent-color: var(--yellow);
}
.newsletter-form .privacy-consent span,
.contact-form .privacy-consent span {
  margin: 0;
  font-size: 9px;
  line-height: 1.55;
  letter-spacing: 0;
  text-transform: none;
}
.privacy-consent a { text-decoration: underline; text-underline-offset: 3px; }
.contact-form .contact-consent { grid-column: 1 / -1; padding-top: 0; }

.content { background: var(--paper); }
.content h2 { font-size: clamp(38px, 4.2vw, 64px); line-height: .92; }
.content-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 65px; }
.articles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.article-image { aspect-ratio: 1.3; position: relative; overflow: hidden; background: #ddd; }
.article-image img { height: 100%; width: 100%; object-fit: cover; transition: transform .4s; }
.article:hover .article-image img { transform: scale(1.035); }
.article-image > span { position: absolute; top: 18px; left: 18px; background: var(--yellow); padding: 8px 11px; font-size: 8px; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }
.article-yellow { background: var(--yellow); display: grid; place-content: center; }
.article-yellow strong { font-family: var(--display); font-size: clamp(42px, 5vw, 75px); line-height: .82; }
.article > p { font-size: 8px; text-transform: uppercase; letter-spacing: .1em; color: #777; margin-top: 20px; }
.article h3 { font-family: var(--display); text-transform: uppercase; line-height: 1.08; font-size: clamp(18px, 1.7vw, 27px); margin: 14px 0 22px; }
.article a { font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; border-bottom: 1px solid; padding-bottom: 4px; }

.final-cta {
  background: linear-gradient(135deg, #ffe98b 0%, #ffc716 52%, #ed9700 100%);
  text-align: left;
  padding: clamp(100px, 10vw, 160px) var(--page-gutter);
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr);
  gap: clamp(70px, 9vw, 145px);
  align-items: start;
}
.final-cta::before {
  display: none;
}
.final-cta::after {
  display: none;
}
.final-cta h2 {
  position: relative;
  z-index: 2;
  font-size: clamp(40px, 4.4vw, 68px);
  margin: 0 0 35px;
}
.final-cta h2 span { color: white; }
.contact-copy > p {
  max-width: 580px;
  font-size: 14px;
  line-height: 1.8;
  margin: 0 0 30px;
}
.contact-copy > a {
  display: inline-block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-bottom: 1px solid;
  padding-bottom: 7px;
}
.contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 24px;
  border-top: 1px solid rgba(30,30,30,.35);
}
.contact-type {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(30,30,30,.35);
}
.contact-type button {
  min-height: 48px;
  border: 1px solid rgba(30,30,30,.32);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: background .2s, color .2s;
}
.contact-type button.active {
  background: var(--ink);
  color: white;
}
.contact-context {
  grid-column: 1 / -1;
  margin: 0;
  padding: 20px 18px;
  border-bottom: 1px solid rgba(30,30,30,.35);
  border-left: 3px solid var(--ink);
  background: rgba(255,255,255,.18);
  font-size: clamp(13px, 1vw, 15px);
  font-weight: 750;
  line-height: 1.6;
}
.contact-form label {
  display: block;
  padding: 24px 0 14px;
  border-bottom: 1px solid rgba(30,30,30,.35);
}
.contact-form label span {
  display: block;
  margin-bottom: 10px;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.contact-form input,
.contact-form textarea {
  width: 100%;
  border: 0;
  outline: 0;
  resize: vertical;
  background: transparent;
  color: var(--ink);
  font-size: 15px;
  font-weight: 600;
}
.contact-form textarea { min-height: 90px; }
.contact-form input::placeholder,
.contact-form textarea::placeholder { color: rgba(30,30,30,.55); }
.contact-message { grid-column: 1 / -1; }
.contact-form > button[type="submit"] {
  grid-column: 1 / -1;
  border: 0;
  min-height: 60px;
  margin-top: 28px;
  padding: 0 22px;
  background: var(--ink);
  color: white;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: 10px;
  font-weight: 900;
  text-align: left;
}
.contact-form > button[type="submit"] span { float: right; color: var(--yellow); }
.button-light { background: white; position: relative; z-index: 2; }
.cta-orbit {
  display: none;
}
.cta-orbit::after, .cta-orbit::before { display: none; }

footer {
  background: var(--ink);
  color: white;
  padding: 72px var(--page-gutter) 24px;
}

/* Sobre mim */
.about-page-hero {
  min-height: 790px;
  height: 100svh;
  max-height: 980px;
  padding: 120px var(--page-gutter) 0;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(48px, 7vw, 110px);
  align-items: center;
  position: relative;
  overflow: hidden;
  background: var(--paper);
}
.about-page-hero-copy { max-width: 870px; padding-bottom: 30px; }
.about-page-hero h1 {
  font-family: var(--display);
  font-size: clamp(56px, 6.3vw, 101px);
  line-height: .86;
  letter-spacing: -.055em;
  margin: 38px 0 42px;
  text-transform: uppercase;
}
.about-page-hero h1 span { color: var(--yellow); display: block; }
.about-hero-quote { max-width: 680px; padding-left: 24px; border-left: 3px solid var(--yellow); font-size: clamp(15px, 1.25vw, 19px); line-height: 1.7; font-weight: 600; }
.about-page-hero-image { height: calc(100% - 46px); align-self: end; position: relative; background: var(--yellow); overflow: hidden; }
.about-page-hero-image::after { content: ""; position: absolute; inset: 9%; border: 1px solid rgba(30,30,30,.23); border-radius: 50%; }
.about-page-hero-image img { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 48% top; filter: grayscale(1); mix-blend-mode: multiply; }
.image-index { position: absolute; z-index: 3; top: 22px; left: 22px; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.about-intro { background: white; position: relative; overflow: hidden; }
.about-intro-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(70px, 10vw, 160px); align-items: start; }
.about-intro h2, .work-way h2, .education h2, .beliefs h2, .worked-with h2, .about-page-cta h2 {
  font-family: var(--display); text-transform: uppercase; letter-spacing: -.045em; margin: 0; line-height: .95;
}
.about-intro h2 { font-size: clamp(43px, 4.7vw, 76px); }
.about-intro h2 span,
.work-way h2 span { color: var(--yellow); }
.about-intro-copy { padding-top: 8px; }
.about-intro-copy p { margin: 0 0 25px; font-size: 14px; line-height: 1.9; color: #5f5f5f; }
.about-intro-copy p:first-child { color: var(--ink); font-size: clamp(17px, 1.35vw, 21px); font-weight: 650; }
.terceira-signature {
  min-height: clamp(190px, 17vw, 245px);
  margin: 0 0 clamp(60px, 7vw, 105px);
  padding: clamp(34px, 4.5vw, 70px);
  position: relative;
  overflow: hidden;
  background: #191919;
  color: white;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.terceira-place {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: clamp(20px, 2.3vw, 34px);
}
.terceira-place i {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--yellow);
  box-shadow: 0 0 0 10px rgba(255,199,22,.12);
}
.terceira-place strong,
.terceira-place span { display: block; }
.terceira-place strong {
  font-family: var(--display);
  font-size: clamp(29px, 3vw, 48px);
  text-transform: uppercase;
  letter-spacing: -.035em;
  line-height: .95;
}
.terceira-place span {
  margin-top: 13px;
  color: rgba(255,255,255,.58);
  font-size: clamp(10px, .8vw, 12px);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #a9a9a9;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.about-photo-story {
  margin-top: clamp(52px, 6vw, 92px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(8px, 1vw, 16px);
  align-items: stretch;
  padding: 0;
}
.about-photo {
  margin: 0;
  height: clamp(260px, 23vw, 380px);
  position: relative;
  overflow: hidden;
  background: #d9d7d1;
}
.about-photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: filter .35s ease, transform .5s ease; }
.about-photo:first-child img { object-position: center 16%; }
.about-photo:hover img { filter: grayscale(0); transform: scale(1.02); }
.what-i-do { background: var(--ink); color: white; display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(70px, 10vw, 160px); }
.about-section-side > p { max-width: 340px; color: #999; font-size: 13px; line-height: 1.8; }
.project-list { border-top: 1px solid rgba(255,255,255,.18); }
.project-row { min-height: 105px; border-bottom: 1px solid rgba(255,255,255,.18); display: grid; grid-template-columns: 55px 1fr 30px; align-items: center; gap: 20px; }
.project-row > span { font-family: var(--display); color: var(--yellow); font-size: 9px; }
.project-row h3 { margin: 0; font-family: var(--display); font-size: clamp(20px, 2vw, 31px); line-height: 1; text-transform: uppercase; }
.project-row i { font-style: normal; color: var(--yellow); font-size: 19px; }
.work-way { background: var(--paper); display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(70px, 10vw, 155px); align-items: center; }
.work-way-image { height: 690px; position: relative; overflow: hidden; background: #ddd; }
.work-way-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); }
.work-way-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(30,30,30,.7)); }
.work-way-image > span { position: absolute; z-index: 2; left: 28px; bottom: 25px; color: white; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.work-way h2 { font-size: clamp(42px, 4.2vw, 68px); margin-bottom: 32px; }
.work-way-copy > p { font-size: 13px; line-height: 1.85; color: #666; }
.work-way ol { list-style: none; padding: 0; margin: 45px 0 0; border-top: 1px solid var(--line); }
.work-way li { min-height: 88px; display: grid; grid-template-columns: 52px 1fr; align-items: center; border-bottom: 1px solid var(--line); }
.work-way li > span { color: var(--yellow); font-family: var(--display); font-size: 9px; }
.work-way li div { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 25px; }
.work-way li strong { font-family: var(--display); font-size: 20px; text-transform: uppercase; }
.work-way li p { color: #777; font-size: 11px; }
.worked-with { background: var(--ink-2); color: white; }
.worked-heading { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(60px, 9vw, 140px); align-items: end; }
.worked-heading .section-kicker { margin: 0; }
.worked-with h2 { font-size: clamp(36px, 3.75vw, 60px); }
.worked-with h2 > span { color: var(--yellow); }
.worked-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 85px; border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.worked-stats > div { min-height: 220px; padding: 36px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.worked-stats strong { font-family: var(--display); color: var(--yellow); font-size: clamp(50px, 5vw, 82px); line-height: .9; }
.worked-stats span { margin-top: 20px; color: #aaa; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.worked-entities { margin-top: clamp(62px, 7vw, 105px); padding-top: clamp(42px, 5vw, 70px); border-top: 1px solid rgba(255,255,255,.16); }
.worked-entities-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 36px; }
.worked-entities-head > span { max-width: 680px; font-family: var(--display); font-size: clamp(24px, 2.45vw, 39px); line-height: 1; text-transform: uppercase; }
.worked-entities-head p { max-width: 390px; margin: 0; color: #aaa; font-size: 12px; line-height: 1.7; }
.worked-entities-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.worked-entity { min-height: 135px; padding: 24px; display: flex; align-items: center; gap: 18px; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.worked-entity img { width: 42px; height: 42px; flex: 0 0 42px; object-fit: contain; filter: invert(1); opacity: .7; }
.worked-entity span { font-size: 10px; font-weight: 700; line-height: 1.45; text-transform: uppercase; letter-spacing: .045em; }
.worked-note { max-width: 800px; margin: 45px 0 0 auto; color: #aaa; line-height: 1.8; font-size: 13px; }
.education { background: white; }
.education-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(70px, 10vw, 160px); }
.education h2 { font-size: clamp(40px, 4.2vw, 67px); }
.education-list { border-top: 1px solid var(--line); }
.education-list article { padding: 30px 0 34px; border-bottom: 1px solid var(--line); }
.education-list span { color: #888; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.education-list h3 { font-family: var(--display); font-size: clamp(20px, 2vw, 30px); text-transform: uppercase; line-height: 1.12; margin: 16px 0 12px; }
.education-list p { margin: 0; color: #666; font-size: 12px; line-height: 1.7; }
.education-courses ul { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 0; border-top: 1px solid var(--line); }
.education-list article.education-courses { padding-bottom: 0; border-bottom: 0; }
.education-courses li { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(150px, .8fr); gap: 24px; align-items: center; padding: 17px 0; border-bottom: 1px solid var(--line); }
.education-courses li strong { font-size: 12px; line-height: 1.45; }
.education-courses li small { color: #777; font-size: 10px; line-height: 1.45; text-align: right; }
.beliefs { background: var(--ink); color: white; }
.beliefs-head { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(60px, 9vw, 140px); align-items: end; }
.beliefs-head .section-kicker { margin: 0; }
.beliefs h2 { font-size: clamp(36px, 3.8vw, 60px); }
.beliefs-grid { margin-top: 75px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.beliefs-grid article { min-height: 360px; padding: 38px; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); display: flex; flex-direction: column; }
.beliefs-grid article > span { color: var(--yellow); font-family: var(--display); font-size: 10px; }
.beliefs-grid h3 { font-family: var(--display); font-size: clamp(23px, 2.1vw, 33px); line-height: 1.05; text-transform: uppercase; margin: auto 0 24px; }
.beliefs-grid p { color: #aaa; font-size: 12px; line-height: 1.8; margin: 0; }
.about-page-cta { text-align: center; background: var(--yellow); }
.about-page-cta .eyebrow { margin-bottom: 35px; }
.about-page-cta h2 { max-width: 1050px; margin: 0 auto 45px; font-size: clamp(44px, 5.4vw, 84px); }
.about-page-cta h2 span { color: white; }

@media (max-width: 1050px) {
  .about-page-hero { grid-template-columns: 1fr .8fr; gap: 35px; }
  .about-intro-grid, .what-i-do, .work-way, .education-grid { grid-template-columns: 1fr; }
  .about-section-side > p { max-width: 600px; }
  .work-way-image { height: 570px; }
  .worked-heading, .beliefs-head { grid-template-columns: 1fr; gap: 45px; }
  .worked-entities-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .about-page-hero { height: auto; min-height: 850px; max-height: none; padding: 115px 20px 0; display: flex; flex-direction: column; align-items: stretch; }
  .about-page-hero h1 { font-size: clamp(48px, 14vw, 68px); margin: 30px 0; }
  .about-photo-story {
    grid-template-columns: 1.35fr .65fr;
    gap: 8px;
    margin-top: 44px;
  }
  .terceira-signature {
    min-height: 205px;
    margin: 0 0 52px;
    padding: 28px 22px;
    align-items: center;
  }
  .education-courses li {
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .education-courses li small {
    text-align: left;
  }
  .about-photo { height: 250px; }
  .about-photo:first-child { grid-row: span 2; height: 508px; }
  .worked-entities-head { display: block; }
  .worked-entities-head p { margin-top: 18px; }
  .worked-entities-grid { grid-template-columns: 1fr 1fr; }
  .worked-entity { min-height: 120px; padding: 17px 13px; align-items: flex-start; flex-direction: column; gap: 12px; }
  .about-hero-quote { font-size: 14px; }
  .about-page-hero-image { width: 100%; height: 470px; margin-top: 20px; }
  .project-row { grid-template-columns: 38px 1fr 22px; min-height: 88px; }
  .work-way-image { height: 480px; }
  .work-way li div { grid-template-columns: 1fr; gap: 4px; padding: 18px 0; }
  .worked-stats, .beliefs-grid { grid-template-columns: 1fr; margin-top: 50px; }
  .worked-stats > div { min-height: 155px; }
  .beliefs-grid article { min-height: 280px; }
  .worked-note { margin-left: 0; }
}
.footer-brand { display: flex; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.16); padding-bottom: 65px; }
.footer-brand .wordmark { font-size: 30px; }
.footer-brand p { font-size: 11px; color: #888; max-width: 300px; line-height: 1.7; }
.footer-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(50px, 9vw, 150px); padding: 52px 0 58px; margin-left: 0; }
.footer-links div { display: flex; flex-direction: column; gap: 13px; }
.footer-links span { color: var(--yellow); font-size: 8px; text-transform: uppercase; letter-spacing: .14em; margin-bottom: 10px; }
.footer-links a { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.16); padding-top: 24px; display: flex; justify-content: space-between; color: #777; font-size: 8px; text-transform: uppercase; letter-spacing: .09em; }

@media (max-width: 1050px) {
  :root { --page-gutter: 6vw; }
  .desktop-nav, .header-cta { display: none; }
  .site-header { left: 6vw; width: 88vw; grid-template-columns: 1fr auto; }
  .site-header::before { top: -18px; height: calc(100% + 36px); }
  .mobile-menu { display: block; justify-self: end; }
  .mobile-menu summary { list-style: none; width: 42px; height: 42px; background: var(--ink); border-radius: 50%; display: grid; place-content: center; gap: 5px; cursor: pointer; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary span { width: 16px; height: 1px; background: white; }
  .mobile-menu nav { position: absolute; right: 24px; top: 74px; width: min(330px, calc(100vw - 48px)); background: var(--ink); color: white; padding: 26px; display: flex; flex-direction: column; gap: 20px; box-shadow: 0 15px 50px rgba(0,0,0,.25); }
  .mobile-menu nav a { font-family: var(--display); font-size: 17px; text-transform: uppercase; }
  .hero { grid-template-columns: 1.1fr .9fr; }
  .hero-copy { transform: translateY(-35px); }
  .hero h1 { font-size: clamp(60px, 8vw, 86px); }
  .authority { grid-template-columns: repeat(4, 1fr); }
  .authority-heading { grid-column: 1 / -1; min-height: 90px !important; border-bottom: 1px solid rgba(255,255,255,.12); }
  .manifesto-copy, .cases, .method, .about, .newsletter, .final-cta { grid-template-columns: 1fr; }
  .cases-title { position: static; }
  .case-grid { grid-template-columns: repeat(2, 1fr); }
  .case-card:last-child { grid-column: 1 / -1; }
  .method { gap: 70px; }
  .about-visual { max-width: 620px; }
  .about-frame { min-height: 550px; }
  .entities-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .specialties-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  :root { --page-gutter: 22px; }
  .site-header { top: 12px; left: 22px; width: calc(100vw - 44px); height: 60px; padding: 0 15px; }
  .site-header::before { top: -12px; height: calc(100% + 24px); }
  .hero { min-height: 780px; height: auto; max-height: none; display: flex; flex-direction: column; padding: 115px 20px 0; }
  .hero-copy { padding: 0; transform: none; }
  .hero h1 { font-size: clamp(52px, 16vw, 78px); margin: 32px 0 28px; }
  .hero-intro { font-size: 14px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .hero-portrait { width: 100%; height: 480px; margin-top: 25px; }
  .hero-portrait::before { top: 8%; right: -20px; left: 18%; }
  .portrait-circle { width: 100vw; }
  .portrait-note { right: 0; bottom: 5%; }
  .scroll-note { display: none; }
  .authority { grid-template-columns: repeat(2, 1fr); padding: 0 20px; }
  .authority-heading { grid-column: 1 / -1; }
  .authority > div { min-height: 140px; padding: 22px 15px; }
  .authority > div:nth-child(4) { border-left: 1px solid rgba(255,255,255,.12); }
  .section-pad { padding: 85px 20px; }
  .section-kicker { margin-bottom: 38px; }
  .manifesto-copy { gap: 45px; }
  .manifesto h2 { font-size: clamp(36px, 10.5vw, 52px); }
  .manifesto h2 em { width: auto; }
  .manifesto-detail { padding-left: 22px; }
  .solutions-head { display: block; margin-bottom: 45px; padding-left: 5px; }
  .solutions-head > p { margin-top: 28px; }
  .service-list { grid-template-columns: 1fr; gap: 14px; }
  .service-card { min-height: 340px; padding: 28px 24px; }
  .service-copy { padding-top: 38px; }
  .service-text, .service-card > a { justify-self: start; }
  .service-copy h3 { font-size: 36px; }
  .case-grid { grid-template-columns: 1fr; }
  .case-card, .case-card:last-child { grid-column: auto; min-height: 350px; padding: 28px 25px 30px; }
  .method-steps li { grid-template-columns: 34px 1fr 20px; }
  .method-steps p { grid-column: 2; margin: 0; }
  .method-steps i { grid-column: 3; grid-row: 1; }
  .about-frame { min-height: 470px; }
  .about-stamp { right: -5px; width: 120px; height: 120px; }
  .entities-head { display: block; }
  .entities-head p { margin-top: 18px; }
  .entities-grid { grid-template-columns: 1fr 1fr; }
  .entity { min-height: 115px; padding: 18px 14px; align-items: flex-start; flex-direction: column; gap: 12px; }
  .about-testimonials { grid-template-columns: 1fr; gap: 16px; margin-top: 44px; }
  .about-testimonial { min-height: 0; }
  .specialties-head { text-align: left; }
  .specialties-head .section-kicker { justify-content: flex-start; }
  .specialties-grid { grid-template-columns: 1fr; }
  .instagram-head { display: block; }
  .instagram-head .text-link { display: inline-block; margin-top: 30px; }
  .instagram-grid { grid-template-columns: 1fr; gap: 36px; }
  .testimonial { padding: 80px 28px 120px; }
  .quote-nav { bottom: 35px; }
  .content-head, .footer-brand { display: block; }
  .content-head .text-link { display: inline-block; margin-top: 30px; }
  .articles { grid-template-columns: 1fr; gap: 55px; }
  .article-image { aspect-ratio: 1.45; }
  .footer-brand p { margin-top: 30px; }
  .footer-links { margin-left: 0; grid-template-columns: 1fr 1fr; }
  .footer-bottom { flex-direction: column; gap: 10px; }
  .contact-form { grid-template-columns: 1fr; }
  .contact-form label, .contact-message, .contact-form > button[type="submit"], .contact-type, .contact-context { grid-column: 1; }
  .cta-orbit { width: 470px; height: 470px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}

/* Palestras */
.speaking-page h2,.speaking-hero h1{margin:0;font-family:var(--display);text-transform:uppercase;letter-spacing:-.05em;line-height:.9}.speaking-page h2 span,.speaking-hero h1 span{color:var(--yellow)}
.speaking-hero{min-height:820px;height:100svh;max-height:980px;padding:135px var(--page-gutter) 75px;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(55px,9vw,145px);align-items:center;background:var(--yellow)}.speaking-hero-copy{max-width:880px}.speaking-hero h1{margin:38px 0 35px;font-size:clamp(58px,6.7vw,108px)}.speaking-hero h1 span{display:block;color:white}.speaking-hero-copy>p:not(.eyebrow){max-width:680px;font-size:clamp(15px,1.25vw,19px);line-height:1.7;font-weight:600}
.speaking-hero-stage{min-height:520px;padding:clamp(38px,4vw,62px);display:flex;flex-direction:column;background:var(--ink);color:white}.speaking-hero-stage strong{font-family:var(--display);font-size:clamp(43px,4.3vw,70px);line-height:.82;text-transform:uppercase}.speaking-hero-stage strong span{color:var(--yellow)}.speaking-hero-stage p{max-width:390px;margin:auto 0 35px;color:#aaa;font-size:13px;line-height:1.8}.speaking-hero-stage i{color:var(--yellow);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-style:normal}
.speaking-purpose{background:white}.speaking-purpose-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(70px,10vw,160px)}.speaking-purpose h2{font-size:clamp(43px,4.8vw,77px)}.speaking-purpose-grid>div>p{margin:0 0 24px;color:#626262;font-size:13px;line-height:1.85}.speaking-purpose ul{list-style:none;padding:0;margin:40px 0 0;border-top:1px solid var(--line)}.speaking-purpose li{padding:18px 0;border-bottom:1px solid var(--line);font-size:11px;font-weight:700}.speaking-purpose li:before{content:"↘";margin-right:14px;color:var(--yellow)}
.speaking-audiences,.speaking-proof{background:var(--ink-2);color:white}.speaking-section-head{display:grid;grid-template-columns:.7fr 1.05fr .65fr;gap:clamp(35px,6vw,100px);align-items:end;margin-bottom:75px}.speaking-section-head .section-kicker{margin:0}.speaking-section-head h2{font-size:clamp(38px,3.8vw,61px)}.speaking-section-head>p{margin:0;color:#696969;font-size:12px;line-height:1.8}.speaking-section-head.dark>p{color:#aaa}
.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15)}.audience-grid article{min-height:350px;padding:32px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}.audience-grid article>span{color:var(--yellow);font-family:var(--display);font-size:9px}.audience-grid h3{margin:auto 0 20px;font-family:var(--display);font-size:clamp(23px,2vw,32px);line-height:1.05;text-transform:uppercase}.audience-grid p{margin:0;color:#aaa;font-size:11px;line-height:1.75}
.speaking-themes{background:var(--paper)}.theme-list{border-top:1px solid var(--line)}.theme-list article{min-height:125px;display:grid;grid-template-columns:70px .9fr 1.1fr 30px;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.theme-list article>span{color:var(--yellow);font-family:var(--display);font-size:9px}.theme-list h3{font-family:var(--display);font-size:clamp(21px,2vw,31px);line-height:1;text-transform:uppercase}.theme-list p{color:#6b6b6b;font-size:11px;line-height:1.75}.theme-list i{color:var(--yellow);font-style:normal;font-size:20px}
.speaking-custom{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(70px,10vw,160px);background:var(--yellow)}.custom-statement>span{font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.custom-statement h2{margin-top:85px;font-size:clamp(42px,4.7vw,76px)}.custom-statement em{display:block;color:white;font-style:normal}.custom-details>p{margin:0 0 55px;font-size:14px;font-weight:600;line-height:1.8}.custom-details>div{padding:24px 0;border-top:1px solid rgba(30,30,30,.28)}.custom-details>div:last-child{border-bottom:1px solid rgba(30,30,30,.28)}.custom-details span,.custom-details strong{display:block}.custom-details span{margin-bottom:10px;font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.custom-details strong{font-family:var(--display);font-size:18px;text-transform:uppercase}
.speaking-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15)}.speaking-stats>div{min-height:220px;padding:34px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}.speaking-stats strong{color:var(--yellow);font-family:var(--display);font-size:clamp(42px,4.4vw,72px);line-height:.9}.speaking-stats span{margin-top:18px;color:#999;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.speaking-entities{margin-top:75px}.speaking-entities>p{color:#999;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.speaking-entities>div{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15)}.speaking-entities span{min-height:110px;padding:22px;display:flex;align-items:center;border-right:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);font-size:9px;font-weight:700;line-height:1.5;text-transform:uppercase}
.speaking-process{background:white}.speaking-quote{min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--ink);color:white}.speaking-quote p{max-width:1050px;margin:0;font-family:var(--display);font-size:clamp(30px,3.4vw,55px);line-height:1.15;text-transform:uppercase}.speaking-quote span{margin-top:38px;color:var(--yellow);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.speaking-contact{background:var(--yellow);display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(70px,10vw,160px)}.speaking-contact h2{font-size:clamp(43px,4.8vw,76px)}.speaking-contact h2 span{color:white}.speaking-contact>div>p{max-width:540px;margin:35px 0;font-size:13px;line-height:1.8}.speaking-contact>div>a{font-size:12px;font-weight:900;border-bottom:1px solid currentColor}
@media(max-width:1050px){.speaking-hero{grid-template-columns:1fr .8fr;gap:40px}.speaking-purpose-grid,.speaking-custom,.speaking-contact{grid-template-columns:1fr}.speaking-section-head{grid-template-columns:1fr;align-items:start}.speaking-section-head .section-kicker{margin-bottom:10px}.audience-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.speaking-hero{min-height:0;height:auto;max-height:none;padding:120px 20px 70px;display:flex;flex-direction:column}.speaking-hero h1{font-size:clamp(49px,14.5vw,70px)}.speaking-hero-stage{min-height:430px;margin-top:25px}.speaking-purpose-grid{grid-template-columns:1fr;gap:45px}.speaking-purpose h2,.speaking-contact h2{font-size:clamp(39px,11vw,52px)}.speaking-section-head{margin-bottom:45px}.audience-grid,.speaking-stats,.speaking-entities>div{grid-template-columns:1fr}.audience-grid article{min-height:285px}.theme-list article{padding:26px 0;grid-template-columns:35px 1fr 20px;gap:12px}.theme-list p{grid-column:2;margin:0}.theme-list i{grid-column:3;grid-row:1}.custom-statement h2{margin-top:45px}.speaking-quote{min-height:430px}.speaking-contact .consulting-contact-form{grid-template-columns:1fr}}

/* Consultoria */
.consulting-hero { min-height:820px;height:100svh;max-height:980px;padding:135px var(--page-gutter) 75px;display:grid;grid-template-columns:1.13fr .87fr;gap:clamp(55px,9vw,145px);align-items:center;background:var(--paper) }
.consulting-hero-copy{max-width:900px}
.consulting-hero h1,.consulting-page h2{margin:0;font-family:var(--display);text-transform:uppercase;letter-spacing:-.05em;line-height:.9}
.consulting-hero h1{margin:38px 0 35px;font-size:clamp(58px,6.7vw,108px)}
.consulting-hero h1 span,.consulting-page h2 span{color:var(--yellow)}
.consulting-hero-copy>p:not(.eyebrow){max-width:700px;font-size:clamp(15px,1.25vw,19px);line-height:1.7;font-weight:600}
.consulting-hero-panel{min-height:490px;padding:clamp(35px,4vw,62px);position:relative;display:flex;flex-direction:column;justify-content:center;background:var(--ink);color:white}
.consulting-hero-panel:before{content:"";position:absolute;inset:25px;border:1px solid rgba(255,255,255,.12)}
.consulting-hero-panel>*{position:relative;z-index:1}.consulting-hero-panel>span,.consulting-hero-panel i{color:var(--yellow);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-style:normal}
.consulting-hero-panel p{margin:auto 0 15px;color:#aaa;font-size:14px;line-height:1.7}.consulting-hero-panel strong{max-width:500px;font-family:var(--display);font-size:clamp(31px,3vw,48px);line-height:.98;text-transform:uppercase}.consulting-hero-panel i{margin-top:auto}
.consulting-problem{background:white}.consulting-problem-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(70px,10vw,160px)}.consulting-problem h2{font-size:clamp(43px,4.8vw,77px)}
.problem-list{border-top:1px solid var(--line)}.problem-list p{min-height:90px;margin:0;display:grid;grid-template-columns:48px 1fr;align-items:center;gap:20px;border-bottom:1px solid var(--line);font-size:13px;font-weight:600;line-height:1.6}.problem-list span{color:var(--yellow);font-family:var(--display);font-size:9px}
.consulting-outcome{display:grid;grid-template-columns:1fr 1fr;gap:clamp(70px,10vw,160px);background:var(--ink);color:white}.consulting-outcome h2{font-size:clamp(42px,4.5vw,72px)}
.outcome-copy>p{margin:75px 0 50px;color:#b0b0b0;font-size:15px;line-height:1.9}.outcome-copy ul{list-style:none;padding:0;border-top:1px solid rgba(255,255,255,.15)}.outcome-copy li{padding:21px 0;border-bottom:1px solid rgba(255,255,255,.15);font-size:12px;font-weight:700}.outcome-copy li span{color:var(--yellow);margin-right:15px}
.consulting-areas{background:var(--paper)}.consulting-section-head{display:grid;grid-template-columns:.7fr 1.05fr .65fr;gap:clamp(35px,6vw,100px);align-items:end;margin-bottom:75px}.consulting-section-head .section-kicker{margin:0}.consulting-section-head h2{font-size:clamp(38px,3.8vw,61px)}.consulting-section-head>p{margin:0;color:#707070;font-size:12px;line-height:1.8}
.consulting-area-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.consulting-area-grid article{min-height:310px;padding:34px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.consulting-area-grid article>span{color:var(--yellow);font-family:var(--display);font-size:9px}.consulting-area-grid h3{margin:auto 0 20px;font-family:var(--display);font-size:clamp(23px,2vw,32px);line-height:1.05;text-transform:uppercase}.consulting-area-grid p{min-height:58px;margin:0;color:#696969;font-size:11px;line-height:1.75}
.consulting-formats{background:var(--ink-2);color:white}.consulting-section-head.dark>p{color:#aaa}.format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch}.format-grid article{min-height:550px;padding:36px;position:relative;display:flex;flex-direction:column;background:#202020;border:1px solid rgba(255,255,255,.14)}.format-grid article.featured{background:var(--yellow);color:var(--ink);border-color:var(--yellow);transform:translateY(-14px)}.format-grid article>b{position:absolute;top:0;right:0;padding:10px 14px;background:white;font-size:8px;text-transform:uppercase;letter-spacing:.12em}.format-grid article>span{color:var(--yellow);font-family:var(--display);font-size:10px}.format-grid article.featured>span{color:var(--ink)}.format-grid small{margin:50px 0 14px;color:#999;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.format-grid .featured small{color:rgba(30,30,30,.6)}.format-grid h3{margin:0 0 22px;font-family:var(--display);font-size:clamp(27px,2.45vw,39px);line-height:1;text-transform:uppercase}.format-grid p{color:#aaa;font-size:11px;line-height:1.8}.format-grid .featured p{color:rgba(30,30,30,.72)}.format-grid ul{list-style:none;padding:0;margin:auto 0 34px;border-top:1px solid rgba(255,255,255,.15)}.format-grid .featured ul{border-color:rgba(30,30,30,.18)}.format-grid li{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.15);font-size:10px;font-weight:700}.format-grid .featured li{border-color:rgba(30,30,30,.18)}.format-grid li:before{content:"↘";margin-right:12px;color:var(--yellow)}.format-grid .featured li:before{color:white}.format-grid a{padding-top:20px;border-top:1px solid currentColor;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.format-grid a i{float:right;color:var(--yellow);font-style:normal}.format-grid .featured a i{color:white}
.consulting-process{background:white}.process-heading{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(60px,9vw,140px);align-items:end}.process-heading .section-kicker{margin:0}.process-heading h2{font-size:clamp(40px,4vw,64px)}.process-list{margin-top:80px;border-top:1px solid var(--line)}.process-list article{min-height:118px;display:grid;grid-template-columns:80px .75fr 1.25fr;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.process-list article>span{color:var(--yellow);font-family:var(--display);font-size:10px}.process-list h3{font-family:var(--display);font-size:clamp(23px,2vw,31px);text-transform:uppercase}.process-list p{color:#6e6e6e;font-size:12px;line-height:1.75}
.consulting-fit{display:grid;grid-template-columns:1fr 1fr;padding-top:0;padding-bottom:0;background:var(--paper)}.fit-card{min-height:650px;padding:clamp(55px,6vw,95px);display:flex;flex-direction:column}.fit-card.good{background:var(--yellow)}.fit-card.bad{background:var(--ink);color:white}.fit-card>span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.fit-card h2{margin:auto 0 55px;font-size:clamp(36px,3.7vw,59px)}.fit-card h2 em{color:white;font-style:normal}.fit-card.bad h2 em{color:var(--yellow)}.fit-card ul{list-style:none;padding:0;margin:0;border-top:1px solid currentColor}.fit-card li{padding:18px 0;border-bottom:1px solid currentColor;font-size:11px;font-weight:700}.fit-card li:before{content:"↘";margin-right:13px}.fit-card.bad li{color:#aaa;border-color:rgba(255,255,255,.18)}.fit-card.bad li:before{color:var(--yellow)}
.consulting-proof{background:var(--ink-2);color:white}.proof-intro{display:grid;grid-template-columns:.7fr 1fr .75fr;gap:clamp(45px,7vw,110px);align-items:end}.proof-intro .section-kicker{margin:0}.proof-intro h2{font-size:clamp(38px,3.7vw,59px)}.proof-intro>p{margin:0;color:#aaa;font-size:12px;line-height:1.8}.proof-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:75px;border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15)}.proof-stats div{min-height:210px;padding:34px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}.proof-stats strong{color:var(--yellow);font-family:var(--display);font-size:clamp(52px,5vw,80px);line-height:.9}.proof-stats span{margin-top:18px;color:#999;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.consulting-proof figure{max-width:950px;margin:90px auto 0;text-align:center}.consulting-proof blockquote{margin:0;font-family:var(--display);font-size:clamp(25px,2.6vw,41px);line-height:1.2;text-transform:uppercase}.consulting-proof figcaption{margin-top:35px;display:flex;align-items:center;justify-content:center;gap:15px;text-align:left}.consulting-proof figcaption img{width:48px;height:48px;border-radius:50%}.consulting-proof figcaption span{display:flex;flex-direction:column;color:#888;font-size:9px;line-height:1.5}.consulting-proof figcaption strong{color:white;font-size:11px;text-transform:uppercase}
.consulting-faq{background:white;display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(70px,10vw,160px)}.faq-heading h2{font-size:clamp(43px,4.8vw,76px)}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{min-height:90px;display:grid;grid-template-columns:45px 1fr 25px;gap:15px;align-items:center;list-style:none;cursor:pointer;font-size:12px;font-weight:800}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--yellow);font-family:var(--display);font-size:9px}.faq-list summary i{font-style:normal;font-size:20px;transition:transform .2s}.faq-list details[open] summary i{transform:rotate(45deg)}.faq-list details>p{margin:-5px 35px 28px 60px;color:#6c6c6c;font-size:12px;line-height:1.8}
.consulting-contact{background:var(--yellow);display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(70px,10vw,160px)}.consulting-contact h2{font-size:clamp(43px,4.8vw,76px)}.consulting-contact h2 span{color:white}.consulting-contact-copy>p{max-width:520px;margin:35px 0;font-size:13px;line-height:1.8}.consulting-contact-copy>a{font-size:12px;font-weight:900;border-bottom:1px solid currentColor}.consulting-contact-form{padding:clamp(32px,4vw,55px);display:grid;grid-template-columns:1fr 1fr;gap:27px 24px;background:white}.consulting-contact-form label{border-bottom:1px solid var(--line);padding-bottom:12px}.consulting-contact-form label span{display:block;margin-bottom:11px;color:#777;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.consulting-contact-form input,.consulting-contact-form textarea{width:100%;border:0;outline:0;resize:vertical;background:transparent;color:var(--ink);font-size:13px}.consulting-contact-form textarea{min-height:80px}.consulting-contact-form .wide,.consulting-contact-form button,.consulting-contact-form small{grid-column:1/-1}.consulting-contact-form button{min-height:58px;margin-top:10px;padding:0 20px;border:0;background:var(--ink);color:white;text-align:left;cursor:pointer;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.consulting-contact-form button span{float:right;color:var(--yellow)}.consulting-contact-form small{color:#777;font-size:9px;line-height:1.6}

@media(max-width:1050px){
  .consulting-hero{grid-template-columns:1fr .8fr;gap:40px}.consulting-problem-grid,.consulting-outcome,.consulting-faq,.consulting-contact{grid-template-columns:1fr}
  .consulting-section-head,.proof-intro{grid-template-columns:1fr;align-items:start}.consulting-section-head .section-kicker,.proof-intro .section-kicker{margin-bottom:10px}.consulting-section-head>p,.proof-intro>p{max-width:600px}.consulting-area-grid{grid-template-columns:repeat(2,1fr)}.consulting-fit{grid-template-columns:1fr}
}
@media(max-width:720px){
  .consulting-hero{min-height:0;height:auto;max-height:none;padding:120px 20px 70px;display:flex;flex-direction:column;align-items:stretch}.consulting-hero h1{font-size:clamp(49px,14.5vw,70px)}.consulting-hero-panel{min-height:410px;margin-top:20px}
  .consulting-problem-grid,.consulting-outcome,.process-heading{grid-template-columns:1fr}.consulting-problem h2,.consulting-outcome h2,.consulting-contact h2,.faq-heading h2{font-size:clamp(39px,11vw,52px)}.outcome-copy>p{margin-top:40px}.consulting-section-head{margin-bottom:45px}.consulting-area-grid,.format-grid,.proof-stats{grid-template-columns:1fr}.consulting-area-grid article{min-height:270px}.format-grid{gap:12px}.format-grid article,.format-grid article.featured{min-height:520px;transform:none}
  .process-heading{display:block}.process-heading h2{font-size:clamp(39px,11vw,52px)}.process-list{margin-top:50px}.process-list article{padding:25px 0;grid-template-columns:40px 1fr;gap:12px}.process-list p{grid-column:2;margin:0}.fit-card{min-height:560px;padding:65px 25px}.proof-intro h2{font-size:clamp(36px,10.5vw,50px)}.consulting-proof figure{margin-top:65px}.consulting-faq{gap:55px}.faq-list summary{grid-template-columns:35px 1fr 22px}.faq-list details>p{margin-left:50px}.consulting-contact-form{grid-template-columns:1fr;padding:30px 22px}.consulting-contact-form label,.consulting-contact-form .wide,.consulting-contact-form button,.consulting-contact-form small{grid-column:1}
}

/* Mobile polish — shared across Homepage, Sobre Mim, Consultoria and Palestras */
@media (max-width: 720px) {
  :root { --page-gutter: 20px; }
  html { scroll-padding-top: 88px; }
  body { font-size: 14px; }
  main, section, header, footer { max-width: 100%; }

  .site-header {
    top: 10px;
    left: 14px;
    width: calc(100% - 28px);
    height: 58px;
    padding: 0 16px;
    gap: 12px;
  }
  .site-header::before { top: -10px; height: calc(100% + 20px); }
  .wordmark { font-size: 14px; }
  .header-cta, .desktop-nav { display: none; }
  .mobile-menu { display: block; justify-self: end; position: relative; }
  .mobile-menu summary { width: 42px; height: 42px; display: grid; place-content: center; gap: 6px; list-style: none; cursor: pointer; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary span { width: 22px; height: 2px; display: block; background: currentColor; }
  .mobile-menu nav { position: fixed; top: 76px; left: 14px; right: 14px; padding: 24px; display: flex; flex-direction: column; gap: 0; background: var(--ink); color: white; box-shadow: 0 18px 45px rgba(0,0,0,.18); }
  .mobile-menu nav a { padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.14); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
  .mobile-menu nav a:last-child { color: var(--yellow); border-bottom: 0; }

  .section-pad { padding: 72px 20px; }
  .section-kicker { margin-bottom: 30px; }
  .section-kicker::after { width: 34px; }
  .button { width: 100%; min-height: 52px; padding: 0 20px; }

  .hero { min-height: 0; height: auto; max-height: none; padding: 112px 20px 0; display: flex; flex-direction: column; }
  .hero-copy { width: 100%; min-width: 0; transform: none; align-self: auto; max-width: none; }
  .hero h1 { max-width: 100%; font-size: clamp(42px, 12vw, 58px); line-height: .84; margin: 26px 0 24px; overflow-wrap: normal; }
  .hero-intro { font-size: 15px; line-height: 1.55; }
  .hero-actions { margin-top: 28px; display: grid; gap: 20px; }
  .hero-actions .text-link { width: max-content; justify-self: center; }
  .hero-portrait { order: 2; width: calc(100% + 40px); height: 430px; margin: 34px -20px 0; }
  .hero-portrait img { object-position: bottom center; }
  .scroll-note { display: none; }

  .authority { grid-template-columns: repeat(2, minmax(0,1fr)); padding: 0; }
  .authority > div { min-height: 145px; padding: 22px 18px; border-bottom: 1px solid rgba(255,255,255,.12); }
  .authority-heading { grid-column: 1 / -1; min-height: 92px !important; border-left: 0 !important; }
  .stat strong { font-size: 43px; }
  .stat span { margin-top: 12px; font-size: 8px; }

  .solutions-head { margin-bottom: 42px; text-align: left; }
  .solutions-head .section-kicker { justify-content: flex-start; }
  .solutions-head > div { width: 100%; min-width: 0; }
  .solutions-head h2, .about h2, .newsletter h2, .content h2, .final-cta h2 { max-width: 100%; font-size: clamp(34px, 9vw, 43px); line-height: .96; }
  .solutions-head > p { margin: 20px 0 0; font-size: 12px; }
  .service-card { min-height: 0; padding: 28px 24px; }
  .service-copy h3 { font-size: 36px; }
  .service-text { margin: 24px 0 34px; }
  .service-card > a { margin-top: 0; }

  .about { gap: 54px; }
  .about-visual { min-height: 430px; }
  .about-copy p { font-size: 13px; line-height: 1.75; }
  .entities { margin-top: 70px; }
  .entities-head { display: block; }
  .entities-head p { margin-top: 14px; }
  .entity { min-height: 100px; padding: 18px 12px; }
  .about-testimonial { padding: 26px 22px; }
  .about-testimonial blockquote { font-size: 16px; }

  .newsletter { gap: 48px; }
  .newsletter-form, .contact-form, .consulting-contact-form { padding: 28px 20px; }
  .articles { gap: 44px; }
  .final-cta { gap: 45px; }
  .footer-main { padding-left: 20px; padding-right: 20px; }
  .footer-links { grid-template-columns: 1fr; gap: 30px; }

  .about-page-hero { min-height: 0; height: auto; padding: 112px 20px 0; display: flex; flex-direction: column; }
  .about-page-hero h1 { font-size: clamp(45px, 13.8vw, 62px); line-height: .86; }
  .about-page-hero-image { width: calc(100% + 40px); height: 440px; margin: 45px -20px 0; }
  .about-intro-grid { gap: 38px; }
  .about-intro h2, .work-way h2, .education h2 { font-size: clamp(38px, 10.8vw, 50px); line-height: .95; }
  .azores-strip { min-height: 240px; padding: 36px 24px; }
  .about-photo-strip { gap: 8px; margin-top: 58px; }
  .about-photo-strip figure { min-height: 210px; }
  .what-i-do { gap: 45px; }
  .project-row h3 { font-size: 21px; }
  .work-way-image { height: 430px; }
  .worked-with h2, .beliefs h2 { font-size: clamp(35px, 10vw, 47px); line-height: .98; }
  .worked-stats > div, .beliefs-grid article { min-height: 210px; padding: 28px 24px; }
  .worked-entities-grid { grid-template-columns: 1fr; }
  .worked-entities-grid > div { min-height: 92px; }
  .education-courses li { grid-template-columns: 1fr; gap: 7px; padding: 18px 0; }
  .beliefs-grid article { min-height: 240px; }
  .about-page-cta h2 { font-size: clamp(39px, 11vw, 52px); }

  .consulting-hero, .speaking-hero { padding-top: 112px; padding-bottom: 64px; }
  .consulting-hero h1, .speaking-hero h1 { font-size: clamp(44px, 13.5vw, 62px); line-height: .86; margin: 28px 0 24px; }
  .consulting-hero-panel, .speaking-hero-stage { min-height: 340px; padding: 32px 26px; }
  .consulting-hero-panel:before { inset: 14px; }
  .consulting-problem h2, .consulting-outcome h2, .consulting-contact h2, .faq-heading h2,
  .speaking-purpose h2, .speaking-contact h2 { font-size: clamp(37px, 10.7vw, 49px); line-height: .96; }
  .problem-list p { min-height: 76px; grid-template-columns: 34px 1fr; gap: 10px; }
  .consulting-area-grid article { min-height: 235px; padding: 26px 22px; }
  .format-grid article, .format-grid article.featured { min-height: 0; padding: 30px 24px; }
  .format-grid small { margin-top: 34px; }
  .format-grid ul { margin: 30px 0; }
  .fit-card { min-height: 500px; }
  .proof-stats div { min-height: 150px; padding: 26px 22px; }
  .consulting-proof blockquote { font-size: 23px; }
  .faq-list summary { min-height: 78px; }

  .audience-grid article { min-height: 230px; padding: 26px 22px; }
  .theme-list article { grid-template-columns: 28px minmax(0,1fr) 18px; }
  .custom-statement h2 { font-size: clamp(38px, 10.8vw, 50px); }
  .speaking-stats > div { min-height: 150px; padding: 26px 22px; }
  .speaking-entities span { min-height: 88px; }
  .speaking-quote { min-height: 360px; padding: 70px 20px; }
  .speaking-quote p { font-size: clamp(25px, 7.5vw, 34px); }
}

@media (max-width: 390px) {
  .hero h1, .about-page-hero h1, .consulting-hero h1, .speaking-hero h1 { font-size: 43px; }
  .solutions-head h2, .about h2, .newsletter h2, .content h2, .final-cta h2,
  .about-intro h2, .work-way h2, .education h2,
  .consulting-problem h2, .consulting-outcome h2, .consulting-contact h2, .faq-heading h2,
  .speaking-purpose h2, .speaking-contact h2 { font-size: 36px; }
  .authority > div { padding-left: 14px; padding-right: 14px; }
  .stat strong { font-size: 38px; }
  .entity { padding-left: 8px; padding-right: 8px; }
}
