:root {
  --card-radius: 22px;
  --card-radius-lg: 30px;
  --soft-card-shadow: 0 18px 50px rgba(24, 22, 20, .075);
  --soft-card-shadow-hover: 0 24px 70px rgba(24, 22, 20, .11);
  --bg: #f4f4f6;
  --surface: #ffffff;
  --surface-2: #f2eee8;
  --ink: #29292b;
  --ink-soft: #56514d;
  --muted: #9b9591;
  --line: rgba(36, 34, 32, .12);
  --dark: #191817;
  --dark-2: #26211d;
  --accent: #faab9f;
  --gold: #b78342;
  --hero-olive: #707166;
  --shadow: 0 18px 50px rgba(0, 0, 0, .12);
  --max: 1180px;
  --serif: Georgia, 'Times New Roman', Times, serif;
  --sans: Arial, Helvetica, sans-serif;
  --nav-height: 104px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  padding-top: var(--nav-height);
  font-family: var(--sans);
  color: var(--ink);
  background: var(--bg);
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
p { margin: 0; }

.visually-hidden,
.skip-link:not(:focus) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.skip-link:focus {
  position: fixed;
  top: 14px;
  left: 14px;
  z-index: 9999;
  padding: 11px 15px;
  background: #111;
  color: #fff;
  border-radius: 999px;
}

.container {
  width: min(calc(100% - 48px), var(--max));
  margin-inline: auto;
}

/* Menu clonado do espírito visual do tema original, sem Bootstrap nem jQuery. */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-height: var(--nav-height);
  background-color: #fafafa;
  box-shadow: 1px 1px 6px rgba(0, 0, 0, .13);
  z-index: 500;
  transition: min-height .2s ease, box-shadow .2s ease;
}
.site-header.is-scrolled { box-shadow: 1px 3px 16px rgba(0, 0, 0, .14); }
.navigation-wrapper {
  width: min(calc(100% - 56px), 1320px);
  min-height: var(--nav-height);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(238px, 250px) minmax(0, 1fr);
  align-items: center;
}
.main-navigation-menu ul {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.navigation-left ul { justify-content: flex-end; padding-right: clamp(26px, 3vw, 54px); }
.navigation-right ul { justify-content: flex-start; padding-left: clamp(26px, 3vw, 54px); }
.main-navigation-menu li { position: relative; }
.main-navigation-menu a {
  display: inline-flex;
  align-items: center;
  min-height: var(--nav-height);
  padding: 40px 20px;
  color: #333;
  font-size: 13px;
  line-height: 1.46;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  transition: color .2s ease;
}
.main-navigation-menu a:hover,
.main-navigation-menu a:focus-visible { color: var(--accent); }
.navigation-logo {
  text-align: center;
  align-self: stretch;
  display: grid;
  place-items: center;
}
.navigation-logo a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--nav-height);
  color: #202020;
  font-family: var(--serif);
  font-size: clamp(28px, 2.25vw, 36px);
  line-height: .96;
  font-weight: 700;
  letter-spacing: -.045em;
  text-transform: uppercase;
  white-space: nowrap;
}
.menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  justify-self: end;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(0, 0, 0, .2);
  background: #fafafa;
  color: #222;
  font: 700 12px/1 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.mobile-menu {
  width: min(calc(100% - 32px), 680px);
  margin: 0 auto 16px;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow);
}
.mobile-menu a {
  display: block;
  padding: 12px 14px;
  color: #333;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.mobile-menu a + a { border-top: 1px solid rgba(0, 0, 0, .07); }

/* Hero original/parallax */
.hero-parallax {
  position: relative;
  min-height: calc(100svh - var(--nav-height));
  overflow: hidden;
  background: var(--hero-olive);
  display: grid;
  align-items: center;
}
.hero-portrait {
  position: absolute;
  top: -7%;
  right: 0;
  width: min(76vw, 1320px);
  height: 116%;
  background-image: url('../images/ryoki-hero-parallax.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center right;
  transform: translate3d(0, var(--parallax-y, 0px), 0) scale(1.012);
  will-change: transform;
}
.hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(112, 113, 102, 1) 0%, rgba(112, 113, 102, .98) 26%, rgba(112, 113, 102, .52) 45%, rgba(112, 113, 102, .04) 69%),
    linear-gradient(0deg, rgba(0, 0, 0, .06), rgba(255, 255, 255, .02));
  pointer-events: none;
}
.hero-shade::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url('data:image/svg+xml;base64,PHN2ZyAgZmlsbD0icmdiYSgwLDAsMCwwLjIzKSIgaGVpZ2h0PSI1NnB4IiB3aWR0aD0iNTZweCIgdmlld0JveD0iMCAwIDU2IDU2IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0yOCwyOEg1NlY1NkgyOFpNMCwwSDI4VjI4SDBaIi8+PC9zdmc+');
  background-size: 4px 4px;
  background-repeat: repeat;
  opacity: .64;
  mix-blend-mode: multiply;
  -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.98) 42%, rgba(0,0,0,.74) 58%, rgba(0,0,0,.22) 72%, transparent 84%);
  mask-image: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.98) 42%, rgba(0,0,0,.74) 58%, rgba(0,0,0,.22) 72%, transparent 84%);
}
.hero-content {
  position: relative;
  z-index: 2;
  width: min(520px, calc(100% - 48px));
  margin-left: max(48px, calc((100vw - var(--max)) / 2));
  padding: clamp(56px, 8vw, 92px) 0 clamp(70px, 10vw, 118px);
}
.hero-wordmark {
  margin: 0 0 22px;
  color: rgba(255, 255, 255, .96);
  font-family: var(--serif);
  font-size: clamp(58px, 6.2vw, 92px);
  font-weight: 700;
  line-height: .94;
  letter-spacing: -.055em;
  text-transform: uppercase;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .10);
}
.hero-subtitle {
  display: inline-block;
  margin-top: 4px;
  color: #fff;
  font: 700 14px/1.4 var(--serif);
  letter-spacing: .23em;
  text-transform: uppercase;
}
.hero-quote {
  max-width: 448px;
  margin-top: 78px;
  color: rgba(255, 255, 255, .92);
  font-family: var(--serif);
  font-size: clamp(21px, 2vw, 28px);
  font-style: italic;
  line-height: 1.68;
}
.legacy-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 370px;
  max-width: 100%;
  min-height: 72px;
  margin-top: 78px;
  border: 1px solid rgba(255, 255, 255, .70);
  color: #fff;
  background: rgba(255, 255, 255, .02);
  font: 800 21px/1 var(--serif);
  letter-spacing: .05em;
  text-transform: uppercase;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.legacy-button:hover,
.legacy-button:focus-visible {
  background: rgba(0, 0, 0, .84);
  color: #fff;
  transform: translateY(-2px);
}

/* Books panel: preserva a lógica original de hover + painel lateral. */
.books-section {
  padding: clamp(72px, 8vw, 110px) 0 clamp(76px, 8vw, 118px);
  background: #f6f6f8;
}
.section-kicker {
  margin-bottom: 32px;
  color: #9c9896;
  font: 700 12px/1 var(--sans);
  letter-spacing: .26em;
  text-transform: uppercase;
}
.books-panel {
  display: grid;
  grid-template-columns: minmax(0, 60%) minmax(330px, 40%);
  align-items: start;
  gap: clamp(44px, 6vw, 88px);
}
.books-panel-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 66px clamp(34px, 4vw, 66px);
}
.book-tile {
  position: relative;
  min-width: 0;
}
.book-thumb-link {
  display: block;
  color: #2b2b2d;
  outline: none;
}
.book-thumb-link .book-thumb-stage {
  display: inline-block;
  perspective: 1200px;
  perspective-origin: 35% 50%;
  margin-bottom: 26px;
  line-height: 0;
}
.book-thumb-wrap {
  display: inline-block;
  position: relative;
  width: min(100%, 226px);
  line-height: 0;
  transform-origin: 35% 50%;
  transform-style: preserve-3d;
  transition: transform .22s ease, filter .22s ease;
}
.book-thumb-wrap img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: left bottom;
  filter: saturate(.98) contrast(.995);
  transition: filter .22s ease, box-shadow .22s ease;
  backface-visibility: hidden;
}
.book-thumb-wrap.has-edge::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 98.5%;
  bottom: 3px;
  width: 45px;
  background: repeating-linear-gradient(to right, #f5f5f5, #f5f5f5 5px, #aaa 5px, #aaa 6px);
  transform-origin: 0% 50%;
  transform: rotateY(90deg);
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
}
.book-thumb-wrap.has-edge.has-edge-thin::after {
  width: 30px;
}
.book-thumb-wrap.has-edge.has-edge-thick::after {
  width: 70px;
}
.book-thumb-link:hover .book-thumb-wrap,
.book-thumb-link:focus-visible .book-thumb-wrap,
.book-tile:focus-within .book-thumb-wrap {
  transform: rotateY(-35deg);
}
.book-thumb-link:hover .book-thumb-wrap img,
.book-thumb-link:focus-visible .book-thumb-wrap img,
.book-tile:focus-within .book-thumb-wrap img {
  filter: saturate(1.04) contrast(1.02);
  box-shadow: 18px 22px 34px rgba(0, 0, 0, .11);
}
.book-thumb-link:hover .book-thumb-wrap.single-has-edge::after,
.book-thumb-link:focus-visible .book-thumb-wrap.single-has-edge::after,
.book-tile:focus-within .book-thumb-wrap.single-has-edge::after {
  opacity: 1;
}
.book-tile-title {
  display: block;
  font-family: var(--serif);
  font-size: clamp(21px, 2vw, 28px);
  font-weight: 700;
  line-height: 1.18;
  text-transform: none;
  letter-spacing: -.025em;
}
.book-mobile-summary { display: none; }
.books-panel-info {
  position: sticky;
  top: calc(var(--nav-height) + 42px);
  min-height: 670px;
  padding-top: 80px;
}
.book-detail {
  opacity: 0;
  visibility: hidden;
  transform: translateY(38px);
  transition: opacity .34s ease, transform .34s ease, visibility .34s ease;
  display: none;
}
.book-detail.is-visible {
  display: block;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.book-detail h3 {
  margin: 0;
  color: #272727;
  font-family: var(--serif);
  font-size: clamp(42px, 4.7vw, 62px);
  line-height: 1.12;
  font-weight: 700;
  letter-spacing: -.045em;
  text-transform: uppercase;
}
.book-detail-category {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 46px;
  color: #aaa5a3;
  font-family: var(--serif);
  font-size: clamp(19px, 2vw, 25px);
  font-weight: 700;
}
.book-detail-category span {
  display: block;
  width: 72px;
  height: 3px;
  background: #1f1f1f;
}
.book-detail-description {
  margin-top: 56px;
  color: #3e3b39;
  font-family: var(--serif);
  font-size: clamp(20px, 2vw, 27px);
  line-height: 1.76;
}
.book-detail-price {
  display: flex;
  align-items: baseline;
  gap: 34px;
  margin-top: 54px;
  color: #2b2b2b;
  font-family: var(--serif);
}
.book-detail-price del {
  font-size: clamp(21px, 2vw, 28px);
  color: #625e5c;
  text-decoration-thickness: 2px;
}
.book-detail-price strong {
  font-size: clamp(38px, 4vw, 55px);
  line-height: 1;
  font-weight: 500;
}
.book-detail-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  min-height: 52px;
  margin-top: 38px;
  border: 1px solid rgba(0,0,0,.32);
  border-radius: 999px;
  color: #222;
  font: 800 12px/1 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.book-detail-link:hover,
.book-detail-link:focus-visible {
  background: #1f1f1f;
  color: #fff;
  transform: translateY(-2px);
}

/* Seções posteriores preservadas, com acabamento mais neutro para encaixar na estética original. */
section { position: relative; }
.section-dark { background: var(--dark); color: #fff8ed; }
.section-light { background: var(--bg); }
.eyebrow {
  margin-bottom: 14px;
  color: var(--gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .23em;
  text-transform: uppercase;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 22px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .13em;
  text-transform: uppercase;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.btn:hover,
.btn:focus-visible { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(0,0,0,.12); }
.btn-primary { background: var(--dark); color: #fff8ed; }
.btn-ghost { background: transparent; border-color: rgba(33,26,20,.22); color: var(--ink); }
.btn-light { color: var(--dark); background: #fff8ed; }
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.text-link::after { content: '→'; }
.press-band { padding: clamp(76px, 9vw, 128px) 0; }
.press-grid {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: start;
}
.press-intro h2,
.editorial-card h2,
.support-section h2,
.newsletter-section h2,
.section-head h2 {
  margin: 0;
  font-family: var(--serif);
  letter-spacing: -.035em;
  font-weight: 500;
  line-height: 1.04;
}
.press-intro h2,
.editorial-card h2,
.support-section h2,
.newsletter-section h2 { font-size: clamp(38px, 5vw, 72px); }
.press-intro p:not(.eyebrow) {
  max-width: 560px;
  margin: 26px 0 30px;
  color: rgba(255,248,237,.76);
  font-size: 18px;
}
.quote-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.quote-card {
  margin: 0;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--card-radius);
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  box-shadow: 0 18px 46px rgba(0,0,0,.12);
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
.quote-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255,248,237,.24);
  background: linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.045));
}
.quote-card blockquote {
  margin: 0;
  font-family: var(--serif);
  font-size: 21px;
  line-height: 1.45;
}
.quote-card figcaption {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 22px;
  color: rgba(255,248,237,.72);
  font-size: 13px;
}
.quote-card strong { color: #fff8ed; }
.editorial-section { padding: clamp(72px, 8vw, 118px) 0; background: #fff; }
.editorial-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: 22px;
}
.editorial-card {
  min-height: 360px;
  padding: clamp(28px, 5vw, 58px);
  border: 1px solid var(--line);
  border-radius: var(--card-radius-lg);
  background: #f8f7f5;
  box-shadow: var(--soft-card-shadow);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  overflow: hidden;
}
.editorial-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--soft-card-shadow-hover);
  border-color: rgba(183,131,66,.24);
}
.editorial-main { background: linear-gradient(145deg, #fff, #f7f3ec); }
.editorial-card p:not(.eyebrow) {
  max-width: 660px;
  margin-top: 24px;
  color: var(--ink-soft);
  font-size: 18px;
}
.editorial-card .btn { margin-top: 30px; }
.editorial-card h3 {
  margin: 24px 0 0;
  font-family: var(--serif);
  font-size: 34px;
  line-height: 1.08;
}
.seal { width: 96px; }
.support-section { padding: clamp(72px, 8vw, 118px) 0; }
.support-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}
.lead {
  max-width: 780px;
  margin-top: 24px;
  color: var(--ink-soft);
  font-family: var(--serif);
  font-size: clamp(20px, 2vw, 27px);
  line-height: 1.62;
}
.support-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}
.support-note {
  padding: 36px;
  border: 1px solid var(--line);
  border-radius: var(--card-radius-lg);
  background: linear-gradient(145deg, #fff, #f8f6f1);
  box-shadow: var(--soft-card-shadow);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.support-note:hover {
  transform: translateY(-4px);
  box-shadow: var(--soft-card-shadow-hover);
  border-color: rgba(183,131,66,.24);
}
.note-label {
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.support-note h3 {
  margin: 20px 0 12px;
  font-family: var(--serif);
  font-size: 34px;
  line-height: 1.08;
}
.support-note p { color: var(--ink-soft); }
.archive-section { padding: clamp(72px, 8vw, 118px) 0; background: #fff; }
.section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr);
  gap: 28px;
  align-items: end;
  margin-bottom: 38px;
}
.section-head h2 { font-size: clamp(38px, 5vw, 70px); }
.section-head > p {
  color: var(--ink-soft);
  font-size: 17px;
}
.route-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.route-card {
  min-height: 190px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--card-radius);
  background: #f8f7f5;
  box-shadow: 0 12px 34px rgba(24, 22, 20, .045);
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}
.route-card:hover,
.route-card:focus-visible {
  transform: translateY(-5px);
  border-color: rgba(183,131,66,.45);
  background: #fff;
  box-shadow: var(--soft-card-shadow-hover);
}
.route-card span {
  display: block;
  font-family: var(--serif);
  font-size: 27px;
  line-height: 1.05;
}
.route-card p {
  margin-top: 16px;
  color: var(--ink-soft);
  font-size: 15px;
}
.historical-strip {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 22px;
  align-items: start;
  margin-top: 28px;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: var(--card-radius);
  background: linear-gradient(145deg, #fbfaf7, #f3efe8);
  box-shadow: 0 12px 34px rgba(24, 22, 20, .05);
}
.historical-strip p {
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.historical-strip div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.historical-strip a {
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink-soft);
  font-size: 13px;
  transition: transform .2s ease, border-color .2s ease, color .2s ease;
}
.historical-strip a:hover,
.historical-strip a:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(183,131,66,.42);
  color: var(--ink);
}
.newsletter-section { padding: clamp(72px, 8vw, 118px) 0; }
.newsletter-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(320px, .75fr);
  gap: clamp(28px, 5vw, 76px);
  align-items: start;
}
.newsletter-section p:not(.eyebrow) {
  margin-top: 22px;
  color: rgba(255,248,237,.74);
  font-size: 18px;
}
.newsletter-form {
  display: grid;
  gap: 12px;
  padding: 30px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--card-radius-lg);
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  box-shadow: 0 18px 52px rgba(0,0,0,.18);
}
.newsletter-form label {
  color: rgba(255,248,237,.7);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.newsletter-form input {
  width: 100%;
  min-height: 50px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  background: rgba(0,0,0,.14);
  color: #fff8ed;
  padding: 0 15px;
  font: inherit;
}
.newsletter-form input::placeholder { color: rgba(255,248,237,.36); }
.newsletter-form p { font-size: 13px !important; margin-top: 4px !important; }
.site-footer {
  padding: 44px 0 24px;
  background: #100f0e;
  color: rgba(255,248,237,.74);
}
.footer-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(260px, .8fr);
  gap: 28px;
  align-items: start;
}
.footer-brand {
  display: inline-block;
  margin-bottom: 10px;
  color: #fff8ed;
  font-family: var(--serif);
  font-size: 30px;
  line-height: 1;
}
.site-footer nav {
  display: grid;
  gap: 7px;
}
.site-footer a:hover { color: #fff8ed; }
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: 34px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.1);
}


/* v13 — refinamentos editoriais e novas seções */
.press-quotes {
  min-width: 0;
}
.quote-card[hidden] {
  display: none !important;
}
.quote-card {
  min-height: 245px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.quote-card blockquote {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.quote-card figcaption {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.quote-card figcaption span {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.quote-card figcaption em {
  font-style: normal;
  color: rgba(255,248,237,.66);
}
.quote-more {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255,248,237,.36);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff8ed;
  font-size: 24px;
  line-height: 1;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.quote-more:hover,
.quote-more:focus-visible {
  background: #fff8ed;
  color: #171412;
  border-color: #fff8ed;
  transform: translateY(-2px);
}
.press-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 26px;
}
.press-pagination button {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,248,237,.22);
  border-radius: 999px;
  background: transparent;
  color: rgba(255,248,237,.72);
  font: 800 12px/1 var(--sans);
  letter-spacing: .12em;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.press-pagination button:hover,
.press-pagination button:focus-visible,
.press-pagination button.is-active {
  background: #fff8ed;
  color: #171412;
  border-color: #fff8ed;
  transform: translateY(-2px);
}

.editorial-main {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.editorial-main-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 172px;
  gap: clamp(24px, 4vw, 50px);
  align-items: center;
}
.editorial-title-block { min-width: 0; }
.editorial-main-description {
  width: 100%;
  max-width: none !important;
  margin-top: 30px !important;
}
.production-logo-frame {
  justify-self: end;
  align-self: center;
  width: 154px;
  min-height: 154px;
  padding: 16px;
  border: 1px solid #111;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.48);
  transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}
.production-logo-frame:hover,
.production-logo-frame:focus-visible {
  transform: translateY(-4px);
  background: #fff;
  box-shadow: var(--soft-card-shadow-hover);
}
.production-logo-frame img {
  width: 100%;
  height: auto;
  display: block;
}
.author-cta-card {
  background: linear-gradient(135deg, #f57400 0%, #c75f00 100%);
  color: #fff;
  border-color: rgba(0,0,0,.14);
}
.author-cta-card .eyebrow,
.author-cta-card p {
  color: #fff;
}
.author-cta-card h3 {
  margin: 10px 0 18px;
  color: #fff;
  font-family: var(--serif);
  font-size: clamp(32px, 3.2vw, 48px);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.author-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.btn-author-primary {
  background: #fff;
  border: 2px solid #fff;
  color: #c75f00;
}
.btn-author-primary:hover,
.btn-author-primary:focus-visible {
  background: transparent;
  border-color: #fff;
  color: #fff;
}
.btn-author-outline {
  background: transparent;
  border: 2px solid #fff;
  color: #fff;
}
.btn-author-outline:hover,
.btn-author-outline:focus-visible {
  background: #fff;
  color: #c75f00;
}
.support-photo-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--card-radius-lg);
  background: #fff;
  box-shadow: var(--soft-card-shadow);
}
.support-photo-card img {
  display: block;
  width: 100%;
  height: min(560px, 58vw);
  object-fit: cover;
  object-position: center 35%;
}
.collectors-section {
  padding: clamp(72px, 8vw, 118px) 0;
  background: #f8f7f5;
}
.collectors-head {
  align-items: end;
}
.collector-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.collector-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--card-radius-lg);
  background: #fff;
  box-shadow: var(--soft-card-shadow);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.collector-card:hover {
  transform: translateY(-5px);
  border-color: rgba(183,131,66,.38);
  box-shadow: var(--soft-card-shadow-hover);
}
.collector-card > img {
  display: block;
  width: 100%;
  height: clamp(230px, 24vw, 340px);
  object-fit: cover;
}
.collector-card-body {
  padding: clamp(26px, 4vw, 42px);
}
.collector-card h3 {
  margin: 0 0 16px;
  font-family: var(--serif);
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.collector-card p {
  color: var(--ink-soft);
  font-size: 17px;
}
.collector-card .btn {
  margin-top: 22px;
}

.footer-grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(210px, .8fr) minmax(220px, .8fr);
  gap: clamp(28px, 5vw, 64px);
}
.footer-about p {
  max-width: 430px;
}
.footer-social {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}
.footer-social a {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,248,237,.22);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff8ed;
  font: 800 13px/1 var(--sans);
  text-decoration: none;
  transition: background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}
.footer-social a:hover,
.footer-social a:focus-visible {
  background: #fff8ed;
  color: #100f0e;
  border-color: #fff8ed;
  transform: translateY(-2px);
}
.footer-nav h3 {
  margin: 0 0 16px;
  color: #fff8ed;
  font: 800 12px/1.2 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.footer-nav a {
  color: rgba(255,248,237,.72);
  font-size: 14px;
}
.footer-credit-links {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

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

@media (max-width: 1240px) {
  .navigation-wrapper { grid-template-columns: minmax(0, 1fr) minmax(210px, 224px) minmax(0, 1fr); }
  .main-navigation-menu a { padding-inline: 14px; font-size: 12px; letter-spacing: 1.25px; }
  .navigation-left ul { padding-right: 28px; }
  .navigation-right ul { padding-left: 28px; }
  .navigation-logo a { font-size: 32px; }
  .books-panel { gap: 46px; }
  .books-panel-list { gap: 52px 36px; }
}

@media (max-width: 1024px) {
  :root { --nav-height: 82px; }
  body { padding-top: var(--nav-height); }
  .navigation-wrapper {
    grid-template-columns: 1fr auto;
    min-height: var(--nav-height);
  }
  .main-navigation-menu { display: none; }
  .navigation-logo {
    justify-self: start;
  }
  .navigation-logo a {
    min-height: var(--nav-height);
    font-size: 34px;
  }
  .menu-toggle { display: inline-flex; }
  .hero-parallax { min-height: calc(92svh - var(--nav-height)); }
  .hero-portrait { width: 86vw; opacity: .85; }
  .hero-shade {
    background: linear-gradient(90deg, rgba(112, 113, 102, 1) 0%, rgba(112, 113, 102, .95) 34%, rgba(112, 113, 102, .62) 66%, rgba(112, 113, 102, .1) 100%);
  }
  .hero-content { margin-left: 32px; }
  .books-panel { grid-template-columns: 1fr; }
  .books-panel-info { display: none; }
  .books-panel-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .book-mobile-summary {
    display: block;
    margin-top: 10px;
    color: #6b6663;
    font-size: 14px;
    line-height: 1.55;
  }
  .press-grid,
  .editorial-grid,
  .support-grid,
  .section-head,
  .newsletter-grid,
  .footer-grid { grid-template-columns: 1fr; }
  .route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .container { width: min(calc(100% - 32px), var(--max)); }
  .hero-parallax { min-height: auto; }
  .hero-portrait {
    width: 100%;
    height: 100%;
    opacity: .38;
    background-position: center right;
  }
  .hero-shade { background: rgba(112, 113, 102, .78); }
  .hero-content {
    width: min(calc(100% - 32px), 520px);
    margin-inline: auto;
    padding: 54px 0 68px;
  }
  .hero-wordmark { font-size: clamp(48px, 10vw, 70px); margin-bottom: 18px; }
  .hero-subtitle { font-size: 12px; }
  .hero-quote { margin-top: 52px; font-size: 20px; line-height: 1.58; }
  .legacy-button { min-width: 0; width: 100%; margin-top: 46px; font-size: 17px; }
  .books-panel-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px 24px; }
  .book-thumb-wrap { min-height: 238px; margin-bottom: 18px; }
  .book-tile-title { font-size: 19px; }
  .quote-grid,
  .route-grid { grid-template-columns: 1fr; }
  .historical-strip { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
}

@media (max-width: 460px) {
  .navigation-logo a { font-size: 28px; }
  .books-panel-list { grid-template-columns: 1fr; }
  .book-thumb-wrap { width: 210px; min-height: 306px; }
  .hero-wordmark { font-size: clamp(40px, 11vw, 56px); margin-bottom: 14px; }
  .hero-shade::before { opacity: .50; background-size: 4px 4px; }
}

@media (max-width: 980px) {
  .editorial-main-head {
    grid-template-columns: 1fr;
  }
  .production-logo-frame {
    justify-self: start;
  }
  .collector-grid,
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .support-photo-card img {
    height: 520px;
  }
  .press-pagination {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .quote-grid {
    grid-template-columns: 1fr;
  }
  .quote-card {
    min-height: 0;
  }
  .press-pagination button {
    width: 40px;
    height: 40px;
  }
  .collector-card > img {
    height: 245px;
  }
  .support-photo-card img {
    height: 420px;
  }
  .footer-bottom {
    flex-direction: column;
  }
}


/* ==========================================================================
   Página interna modelo — Perfil do Autor
   ========================================================================== */

.internal-page {
  background: #f5f5f6;
}

.internal-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 20%, rgba(183, 131, 66, .18), transparent 34%),
    linear-gradient(135deg, #eee9df 0%, #f7f7f7 52%, #ece7df 100%);
}

.internal-hero-pattern {
  position: absolute;
  inset: 0;
  opacity: .42;
  background-image: url(data:image/svg+xml;base64,PHN2ZyAgZmlsbD0icmdiYSgwLDAsMCwwLjIzKSIgaGVpZ2h0PSI1NnB4IiB3aWR0aD0iNTZweCIgdmlld0JveD0iMCAwIDU2IDU2IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0yOCwyOEg1NlY1NkgyOFpNMCwwSDI4VjI4SDBaIi8+PC9zdmc+);
  background-size: 4px 4px;
  -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.8) 0%, rgba(0,0,0,.55) 48%, transparent 86%);
  mask-image: linear-gradient(90deg, rgba(0,0,0,.8) 0%, rgba(0,0,0,.55) 48%, transparent 86%);
  pointer-events: none;
}

.internal-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: clamp(44px, 7vw, 96px);
  align-items: center;
  padding: clamp(74px, 8vw, 118px) 0 clamp(70px, 8vw, 108px);
}

.internal-hero-copy {
  max-width: 720px;
}

.breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 36px;
  color: #6e6862;
  font: 700 12px/1 var(--sans);
  letter-spacing: .13em;
  text-transform: uppercase;
}

.breadcrumb a {
  color: #2b2927;
}

.breadcrumb a:hover,
.breadcrumb a:focus-visible {
  color: var(--gold);
}

.breadcrumb span::before {
  content: '/';
  margin-right: 10px;
  color: rgba(0,0,0,.28);
}

.internal-hero h1 {
  max-width: 760px;
  margin: 0;
  color: #1f1d1b;
  font-family: var(--serif);
  font-size: clamp(62px, 8.2vw, 118px);
  line-height: .88;
  letter-spacing: -.07em;
}

.internal-lead {
  max-width: 650px;
  margin-top: 34px;
  color: #4f4a45;
  font-family: var(--serif);
  font-size: clamp(22px, 2.2vw, 31px);
  line-height: 1.46;
}

.internal-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 42px;
}

.btn-outline-dark {
  border: 1px solid rgba(0,0,0,.72);
  color: #111;
  background: transparent;
}

.btn-outline-dark:hover,
.btn-outline-dark:focus-visible {
  background: #111;
  color: #fff;
}

.profile-hero-card {
  position: relative;
  margin: 0;
  border-radius: 30px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--soft-card-shadow-hover);
}

.profile-hero-card::before {
  content: '';
  position: absolute;
  inset: 18px;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 22px;
  pointer-events: none;
}

.profile-hero-card img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  object-position: center top;
  filter: saturate(.96) contrast(1.02);
}

.profile-hero-card-body {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  z-index: 3;
  padding: 20px 22px;
  border: 1px solid rgba(255,255,255,.36);
  border-radius: 18px;
  background: rgba(25, 24, 23, .76);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #fff;
}

.profile-hero-card-body span {
  display: block;
  margin-bottom: 4px;
  font: 700 11px/1 var(--sans);
  letter-spacing: .2em;
  text-transform: uppercase;
  opacity: .72;
}

.profile-hero-card-body strong {
  display: block;
  font-family: var(--serif);
  font-size: 25px;
  line-height: 1.08;
}

.internal-anchor-band {
  position: sticky;
  top: var(--nav-height);
  z-index: 110;
  background: rgba(255,255,255,.88);
  border-block: 1px solid rgba(0,0,0,.08);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.internal-anchor-list {
  display: flex;
  justify-content: center;
  gap: clamp(18px, 4vw, 56px);
  padding: 16px 0;
}

.internal-anchor-list a {
  color: #4e4944;
  font: 800 12px/1 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
}

.internal-anchor-list a:hover,
.internal-anchor-list a:focus-visible {
  color: var(--gold);
}

.profile-intro-section,
.profile-work-section,
.next-routes-section {
  padding: clamp(78px, 8vw, 122px) 0;
}

.profile-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(290px, 360px);
  gap: clamp(44px, 7vw, 98px);
  align-items: start;
}

.profile-prose {
  max-width: 760px;
}

.profile-prose h2,
.work-feature-copy h2,
.method-grid h2 {
  margin: 0;
  color: #201d1a;
  font-family: var(--serif);
  font-size: clamp(40px, 5vw, 68px);
  line-height: .98;
  letter-spacing: -.055em;
}

.profile-prose p:not(.eyebrow),
.work-feature-copy p,
.method-grid p {
  color: #57514b;
  font-size: 18px;
  line-height: 1.82;
}

.profile-prose h2 + p,
.work-feature-copy h2 + p {
  margin-top: 34px;
}

.profile-prose p + p,
.work-feature-copy p + p {
  margin-top: 22px;
}

.profile-stat-panel {
  position: sticky;
  top: calc(var(--nav-height) + 82px);
  display: grid;
  gap: 14px;
}

.profile-stat {
  padding: 26px 26px 24px;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: var(--card-radius);
  background: #fff;
  box-shadow: var(--soft-card-shadow);
}

.profile-stat strong {
  display: block;
  color: #1c1a18;
  font-family: var(--serif);
  font-size: 46px;
  line-height: .95;
  letter-spacing: -.05em;
}

.profile-stat span {
  display: block;
  margin-top: 10px;
  color: #6c6762;
  font-size: 14px;
  line-height: 1.5;
}

.section-head-centered {
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
}

.section-head-centered h2 {
  margin-inline: auto;
}

.timeline-section {
  padding: clamp(72px, 8vw, 112px) 0;
}

.timeline-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 46px;
}

.timeline-card {
  position: relative;
  min-height: 270px;
  padding: 30px 26px 28px;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: var(--card-radius);
  background: #fff;
  box-shadow: var(--soft-card-shadow);
  overflow: hidden;
}

.timeline-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 26px;
  width: 1px;
  height: 100%;
  background: linear-gradient(180deg, rgba(183,131,66,.7), transparent);
  opacity: .5;
}

.timeline-card span,
.next-routes-grid span {
  display: inline-flex;
  color: var(--gold);
  font: 800 12px/1 var(--sans);
  letter-spacing: .2em;
  text-transform: uppercase;
}

.timeline-card h3 {
  position: relative;
  z-index: 2;
  margin: 30px 0 14px;
  color: #24211f;
  font-family: var(--serif);
  font-size: 25px;
  line-height: 1.12;
}

.timeline-card p {
  position: relative;
  z-index: 2;
  color: #635d57;
  font-size: 15px;
  line-height: 1.7;
}

.work-feature-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(360px, .8fr);
  gap: clamp(46px, 7vw, 92px);
  align-items: center;
}

.work-cards {
  display: grid;
  gap: 16px;
}

.work-cards article {
  padding: 28px 30px;
  border-radius: var(--card-radius);
  background: #fff;
  border: 1px solid rgba(0,0,0,.1);
  box-shadow: var(--soft-card-shadow);
  transition: transform .22s ease, box-shadow .22s ease;
}

.work-cards article:hover {
  transform: translateY(-3px);
  box-shadow: var(--soft-card-shadow-hover);
}

.work-cards h3 {
  margin: 0;
  color: #211e1b;
  font-family: var(--serif);
  font-size: 28px;
  line-height: 1.05;
}

.work-cards p {
  margin-top: 12px;
  color: #625c56;
  font-size: 15px;
  line-height: 1.72;
}

.method-band {
  padding: clamp(58px, 7vw, 86px) 0;
  background:
    linear-gradient(135deg, rgba(25,24,23,.96), rgba(38,33,29,.96)),
    #191817;
  color: #fff;
}

.method-grid {
  display: grid;
  grid-template-columns: minmax(260px, .55fr) minmax(0, 1fr);
  gap: clamp(36px, 6vw, 80px);
  align-items: start;
}

.method-grid .eyebrow,
.profile-press-section .eyebrow {
  color: rgba(255,255,255,.64);
}

.method-grid h2,
.method-grid p {
  color: #fff;
}

.method-grid p {
  font-family: var(--serif);
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.58;
  opacity: .88;
}

.profile-press-section {
  padding: clamp(76px, 8vw, 118px) 0;
}

.profile-quote-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}

.profile-quote-card {
  margin: 0;
  min-height: 260px;
  padding: 34px 30px;
  border-radius: var(--card-radius);
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.11);
}

.profile-quote-card blockquote {
  margin: 0;
  color: #fff;
  font-family: var(--serif);
  font-size: 26px;
  line-height: 1.28;
}

.profile-quote-card figcaption {
  margin-top: 28px;
  color: rgba(255,255,255,.62);
}

.profile-quote-card figcaption strong,
.profile-quote-card figcaption span {
  display: block;
}

.profile-quote-card figcaption strong {
  color: #fff;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.profile-quote-card figcaption span {
  margin-top: 4px;
  font-size: 14px;
}

.next-routes-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 44px;
}

.next-routes-grid a {
  min-height: 268px;
  padding: 30px 28px;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: var(--card-radius);
  background: #fff;
  box-shadow: var(--soft-card-shadow);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.next-routes-grid a:hover,
.next-routes-grid a:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(183,131,66,.35);
  box-shadow: var(--soft-card-shadow-hover);
}

.next-routes-grid strong {
  display: block;
  margin-top: 44px;
  color: #211e1b;
  font-family: var(--serif);
  font-size: 30px;
  line-height: 1;
}

.next-routes-grid em {
  display: block;
  margin-top: 14px;
  color: #645f59;
  font-style: normal;
  font-size: 15px;
  line-height: 1.66;
}

/* Correção preservada do box laranja da home */
.editorial-section .editorial-grid > .editorial-card:nth-child(2) p {
  color: #fff !important;
}

@media (max-width: 1080px) {
  .internal-hero-grid,
  .profile-intro-grid,
  .work-feature-grid,
  .method-grid {
    grid-template-columns: 1fr;
  }
  .profile-hero-card {
    max-width: 440px;
  }
  .profile-stat-panel {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .timeline-grid,
  .next-routes-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .profile-quote-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .internal-hero-grid {
    padding: 54px 0 68px;
  }
  .internal-hero h1 {
    font-size: clamp(54px, 16vw, 82px);
  }
  .internal-lead {
    font-size: 21px;
  }
  .internal-hero-actions {
    display: grid;
  }
  .internal-hero-actions .btn {
    width: 100%;
  }
  .internal-anchor-band {
    position: relative;
    top: auto;
  }
  .internal-anchor-list {
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 14px;
  }
  .internal-anchor-list a {
    white-space: nowrap;
  }
  .profile-hero-card img {
    height: 430px;
  }
  .profile-stat-panel,
  .timeline-grid,
  .next-routes-grid {
    grid-template-columns: 1fr;
  }
  .timeline-card,
  .next-routes-grid a {
    min-height: 0;
  }
  .profile-prose p:not(.eyebrow),
  .work-feature-copy p {
    font-size: 17px;
  }
}

/* Página Perfil v16 — modelo interno refinado */
.profile-page-v16 .internal-hero {
  background:
    linear-gradient(135deg, #f5f3f0 0%, #eeebe6 58%, #e6dfd5 100%);
}
.profile-hero-v16 .internal-hero-pattern {
  opacity: .36;
}
.profile-hero-layout {
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 430px);
  gap: clamp(48px, 7vw, 108px);
  padding-top: clamp(66px, 7vw, 104px);
  padding-bottom: clamp(66px, 7vw, 104px);
}
.profile-hero-copy-v16 {
  max-width: 760px;
}
.profile-hero-v16 .internal-hero h1 {
  font-size: clamp(64px, 7.2vw, 106px);
  line-height: .9;
  max-width: 720px;
}
.profile-hero-v16 .internal-lead {
  max-width: 690px;
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.5;
}
.profile-hero-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px 18px;
  align-items: baseline;
  max-width: 660px;
  margin-top: 30px;
  padding: 18px 20px;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 18px;
  background: rgba(255,255,255,.48);
}
.profile-hero-note strong {
  color: #1f1c19;
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.08;
  white-space: nowrap;
}
.profile-hero-note span {
  color: #5c554e;
  font-size: 15px;
  line-height: 1.55;
}
.profile-intro-grid-v16 {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
  gap: clamp(52px, 7vw, 112px);
}
.profile-prose-v16 {
  max-width: 835px;
}
.profile-prose-v16 h2 {
  max-width: 760px;
  font-size: clamp(42px, 4.4vw, 64px);
  line-height: 1.02;
}
.profile-prose-v16 p:not(.eyebrow) {
  font-size: 18.5px;
  line-height: 1.86;
}
.profile-stat-panel-v16 {
  top: calc(var(--nav-height) + 74px);
}
.profile-stat-counter {
  position: relative;
  overflow: hidden;
  padding: 28px 28px 25px;
}
.profile-stat-counter::before {
  content: '';
  position: absolute;
  width: 86px;
  height: 86px;
  top: -46px;
  right: -38px;
  border-radius: 50%;
  background: rgba(183,131,66,.10);
}
.profile-stat-counter strong {
  position: relative;
  z-index: 2;
  font-size: clamp(42px, 4vw, 58px);
}
.profile-stat-counter span:last-child {
  position: relative;
  z-index: 2;
  font-size: 14.5px;
}
.timeline-section-v16 {
  overflow: hidden;
}
.timeline-head-v16 {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(320px, .58fr);
  gap: clamp(34px, 6vw, 88px);
  align-items: end;
  margin-bottom: 42px;
}
.timeline-head-v16 h2,
.next-routes-head-v16 h2 {
  margin: 0;
  color: #211e1b;
  font-family: var(--serif);
  font-size: clamp(42px, 5vw, 72px);
  line-height: .98;
  letter-spacing: -.055em;
}
.timeline-head-v16 p:not(.eyebrow),
.next-routes-head-v16 p {
  color: #625c56;
  font-size: 18px;
  line-height: 1.78;
}
.timeline-carousel {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  gap: 16px;
  align-items: center;
}
.timeline-viewport {
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding: 10px 2px 22px;
}
.timeline-viewport::-webkit-scrollbar { display: none; }
.timeline-track {
  display: flex;
  gap: 20px;
}
.timeline-card-v16 {
  flex: 0 0 min(386px, calc((100% - 40px) / 3));
  scroll-snap-align: start;
  min-height: 336px;
  padding: 34px 30px 32px;
}
.timeline-card-v16 h3 {
  font-size: 29px;
  line-height: 1.08;
}
.timeline-card-v16 p {
  font-size: 15.5px;
  line-height: 1.72;
}
.timeline-arrow {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.62);
  color: #221f1c;
  font-family: var(--serif);
  font-size: 34px;
  line-height: 36px;
  display: grid;
  place-items: center;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.timeline-arrow:hover,
.timeline-arrow:focus-visible {
  background: #171615;
  color: #fff;
  border-color: #171615;
  transform: translateY(-1px);
}
.timeline-arrow[disabled] {
  opacity: .28;
  pointer-events: none;
}
.work-feature-grid-v16 {
  align-items: start;
}
.work-cards-v16 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.profile-biography-deep {
  padding: clamp(76px, 8vw, 118px) 0;
  background: #ebe7df;
  border-block: 1px solid rgba(0,0,0,.08);
}
.biography-deep-grid {
  display: grid;
  grid-template-columns: minmax(260px, .48fr) minmax(0, 1fr);
  gap: clamp(44px, 7vw, 94px);
  align-items: start;
}
.biography-deep-kicker {
  position: sticky;
  top: calc(var(--nav-height) + 78px);
}
.biography-deep-kicker h2 {
  margin: 0;
  color: #211e1b;
  font-family: var(--serif);
  font-size: clamp(38px, 4.6vw, 68px);
  line-height: 1;
  letter-spacing: -.055em;
}
.biography-deep-prose {
  padding: clamp(34px, 4vw, 54px);
  border-radius: var(--card-radius-lg);
  background: rgba(255,255,255,.72);
  box-shadow: var(--soft-card-shadow);
}
.biography-deep-prose p {
  color: #554f49;
  font-size: 18.5px;
  line-height: 1.9;
}
.biography-deep-prose p + p {
  margin-top: 24px;
}
.method-grid-v16 h2 {
  max-width: 560px;
}
.profile-press-head-v16 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 34px;
  align-items: end;
}
.profile-press-head-v16 h2 {
  max-width: 880px;
  font-size: clamp(42px, 5vw, 76px);
  line-height: .98;
}
.profile-quote-grid-v16 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.profile-quote-grid-v16 .profile-quote-card {
  min-height: 286px;
  padding: 30px 26px;
}
.profile-quote-grid-v16 .profile-quote-card blockquote {
  font-size: clamp(21px, 1.7vw, 25px);
}
.next-routes-section-v16 .section-head-centered,
.next-routes-head-v16 {
  max-width: 940px;
  margin-inline: auto;
  text-align: center;
}
.next-routes-head-v16 h2 {
  max-width: 860px;
  margin-inline: auto;
}
.next-routes-head-v16 p {
  max-width: 720px;
  margin: 22px auto 0;
}

@media (max-width: 1180px) {
  .profile-quote-grid-v16 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .timeline-card-v16 { flex-basis: min(420px, calc((100% - 20px) / 2)); }
}
@media (max-width: 1080px) {
  .profile-hero-layout,
  .profile-intro-grid-v16,
  .timeline-head-v16,
  .biography-deep-grid,
  .profile-press-head-v16 {
    grid-template-columns: 1fr;
  }
  .profile-hero-note { grid-template-columns: 1fr; }
  .profile-stat-panel-v16 { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .biography-deep-kicker { position: static; }
  .profile-press-head-v16 .btn { justify-self: start; }
}
@media (max-width: 760px) {
  .profile-hero-v16 .internal-hero h1 { font-size: clamp(52px, 16vw, 74px); }
  .profile-hero-note strong { white-space: normal; }
  .timeline-carousel { grid-template-columns: 1fr; }
  .timeline-arrow { display: none; }
  .timeline-card-v16 { flex-basis: min(84vw, 360px); min-height: 320px; }
  .work-cards-v16,
  .profile-stat-panel-v16,
  .profile-quote-grid-v16 { grid-template-columns: 1fr; }
  .profile-prose-v16 p:not(.eyebrow),
  .biography-deep-prose p { font-size: 17px; line-height: 1.78; }
  .biography-deep-prose { padding: 28px 24px; }
  .profile-press-head-v16 h2,
  .timeline-head-v16 h2,
  .next-routes-head-v16 h2 { font-size: clamp(38px, 12vw, 56px); }
}


/* v17 — ajustes finais do modelo Perfil */
.profile-stat-counter::before {
  display: none !important;
}
.profile-stat-counter {
  padding: 34px 30px 30px;
}
.profile-stat-counter strong {
  font-size: clamp(78px, 7.8vw, 118px) !important;
  line-height: .82;
  letter-spacing: -.07em;
}
.profile-stat-counter span:last-child {
  margin-top: 18px;
  font-size: 15px;
}
.timeline-section-v16 {
  background: #fff !important;
}
.timeline-viewport {
  padding: 0 2px 18px;
}
.profile-press-section .press-pagination,
.profile-press-pagination {
  justify-content: center;
  margin-top: 34px;
}
.profile-press-pagination button {
  border-color: rgba(255,248,237,.24);
  color: rgba(255,248,237,.76);
}
.profile-press-pagination button:hover,
.profile-press-pagination button:focus-visible,
.profile-press-pagination button.is-active {
  background: #fff8ed;
  color: #171412;
  border-color: #fff8ed;
}

@media (max-width: 760px) {
  .profile-stat-counter strong {
    font-size: clamp(62px, 18vw, 92px) !important;
  }
}


/* v18 — ajustes pontuais Perfil: contadores e linha do tempo */
.profile-stat-counter {
  overflow: visible;
  padding: 40px 34px 34px;
}
.profile-stat-counter strong {
  display: block;
  color: #1c1a18;
  font-size: clamp(112px, 10.5vw, 176px) !important;
  line-height: .72;
  letter-spacing: -.085em;
}
.profile-stat-counter strong span {
  display: inline !important;
  margin: 0 !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}
.profile-stat-counter > span:last-child {
  display: block;
  max-width: 430px;
  margin-top: 26px !important;
  color: #625c56;
  font-size: clamp(18px, 1.55vw, 24px) !important;
  line-height: 1.45;
}
.profile-stat-counter::before,
.profile-stat-counter::after {
  display: none !important;
}
.timeline-section-v16,
.timeline-section-v16.section-light,
.timeline-section-v16 .timeline-carousel,
.timeline-section-v16 .timeline-viewport,
.timeline-section-v16 .timeline-track {
  background: transparent !important;
  box-shadow: none !important;
}
.timeline-section-v16 {
  background-color: #fff !important;
}
.timeline-viewport {
  padding: 0 !important;
}
.timeline-track {
  padding: 0 0 18px;
}

@media (max-width: 760px) {
  .profile-stat-counter strong {
    font-size: clamp(86px, 26vw, 132px) !important;
  }
  .profile-stat-counter > span:last-child {
    font-size: 18px !important;
  }
}


/* v19 — ajuste final: contadores proporcionais e timeline sem sombra */
.profile-stat-counter {
  padding: 34px 30px 30px;
}
.profile-stat-counter strong {
  display: block;
  color: #1c1a18;
  font-size: clamp(70px, 6.4vw, 102px) !important;
  line-height: .86;
  letter-spacing: -.065em;
}
.profile-stat-counter strong span {
  display: inline !important;
  margin: 0 !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}
.profile-stat-counter > span:last-child {
  max-width: 360px;
  margin-top: 18px !important;
  font-size: clamp(15px, 1.15vw, 18px) !important;
  line-height: 1.5;
}
.timeline-section-v16,
.timeline-section-v16.section-light,
.timeline-section-v16 .timeline-carousel,
.timeline-section-v16 .timeline-viewport,
.timeline-section-v16 .timeline-track {
  background: transparent !important;
  box-shadow: none !important;
}
.timeline-section-v16 {
  background-color: #fff !important;
}
.timeline-card-v16,
.timeline-section-v16 .timeline-card,
.timeline-section-v16 .timeline-card-v16 {
  box-shadow: none !important;
}
.timeline-viewport {
  padding: 0 !important;
}
.timeline-track {
  padding: 0 0 18px;
}

@media (max-width: 760px) {
  .profile-stat-counter strong {
    font-size: clamp(56px, 18vw, 84px) !important;
    line-height: .88;
  }
  .profile-stat-counter > span:last-child {
    font-size: 16px !important;
  }
}


/* --------------------------------------------------------------------------
   Página /cachimbo/ — v21
   -------------------------------------------------------------------------- */
.pipe-page-v21 {
  background: #f7f7f8;
}
.pipe-page-v21 .navigation-right a[href$="/cachimbo/"],
.pipe-page-v21 .mobile-menu a[href$="/cachimbo/"] {
  color: #111;
}
.pipe-hero-v21 {
  position: relative;
  overflow: hidden;
  padding: clamp(92px, 10vw, 148px) 0 clamp(78px, 9vw, 124px);
  background:
    radial-gradient(circle at 88% 16%, rgba(245,116,0,.18), transparent 28%),
    linear-gradient(135deg, #11100e 0%, #18130f 54%, #21150d 100%);
  color: #fff;
}
.pipe-hero-v21::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: rgba(255,255,255,.12);
}
.pipe-hero-pattern {
  position: absolute;
  inset: 0;
  opacity: .18;
  background-image: url(data:image/svg+xml;base64,PHN2ZyAgZmlsbD0icmdiYSgwLDAsMCwwLjIzKSIgaGVpZ2h0PSI1NnB4IiB3aWR0aD0iNTZweCIgdmlld0JveD0iMCAwIDU2IDU2IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0yOCwyOEg1NlY1NkgyOFpNMCwwSDI4VjI4SDBaIi8+PC9zdmc+);
  background-size: 4px 4px;
  mix-blend-mode: soft-light;
  pointer-events: none;
}
.pipe-hero-grid-v21 {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, .86fr);
  gap: clamp(48px, 7vw, 108px);
  align-items: center;
}
.pipe-hero-copy-v21 {
  max-width: 820px;
}
.pipe-hero-v21 .breadcrumb,
.pipe-hero-v21 .breadcrumb a {
  color: rgba(255,255,255,.72);
}
.pipe-hero-v21 .eyebrow {
  color: rgba(255,255,255,.66);
}
.pipe-hero-v21 h1 {
  margin: 18px 0 0;
  color: #fff7ea;
  font-family: var(--serif);
  font-size: clamp(56px, 7.4vw, 116px);
  line-height: .89;
  letter-spacing: -.06em;
  max-width: 900px;
}
.pipe-lead-v21 {
  max-width: 680px;
  margin: 34px 0 0;
  color: rgba(255,255,255,.82);
  font-family: var(--serif);
  font-size: clamp(23px, 2.2vw, 34px);
  line-height: 1.36;
}
.pipe-hero-v21 .btn-primary,
.pipe-campaign-section-v21 .btn-primary {
  background: #f57400;
  border-color: #f57400;
  color: #fff;
}
.pipe-hero-v21 .btn-primary:hover,
.pipe-hero-v21 .btn-primary:focus-visible,
.pipe-campaign-section-v21 .btn-primary:hover,
.pipe-campaign-section-v21 .btn-primary:focus-visible {
  background: #fff;
  border-color: #fff;
  color: #c75f00;
}
.pipe-hero-v21 .btn-ghost {
  border-color: rgba(255,255,255,.48);
  color: #fff;
}
.pipe-hero-v21 .btn-ghost:hover,
.pipe-hero-v21 .btn-ghost:focus-visible {
  background: #fff;
  color: #111;
  border-color: #fff;
}
.pipe-hero-media-v21 {
  position: relative;
  min-height: min(660px, 56vw);
}
.pipe-hero-image-v21 {
  margin: 0;
  overflow: hidden;
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(255,255,255,.20);
}
.pipe-hero-image-v21 img {
  display: block;
  width: 100%;
  height: 100%;
}
.pipe-hero-image-main {
  position: relative;
  z-index: 2;
  border-radius: 34px;
  box-shadow: 0 34px 100px rgba(0,0,0,.26);
}
.pipe-hero-image-main img {
  aspect-ratio: 1 / .92;
  object-fit: contain;
  padding: clamp(16px, 2.2vw, 30px);
  background: #fff;
}
.pipe-hero-image-small {
  position: absolute;
  z-index: 3;
  right: -2%;
  bottom: -8%;
  width: min(260px, 38%);
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
}
.pipe-hero-image-small img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  padding: 12px;
  background: #fff;
}
.pipe-hero-image-small figcaption {
  padding: 10px 14px 14px;
  color: #5f5852;
  font: 800 11px/1 var(--sans);
  letter-spacing: .17em;
  text-transform: uppercase;
}
.pipe-anchor-list {
  justify-content: center;
}
.pipe-intro-section-v21,
.pipe-catalog-section-v21,
.pipe-faq-section-v21 {
  padding: clamp(78px, 9vw, 126px) 0;
  background: #f7f7f8;
}
.pipe-intro-grid-v21 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(310px, 390px);
  gap: clamp(44px, 7vw, 98px);
  align-items: start;
}
.pipe-prose-v21 h2,
.pipe-section-head-v21 h2,
.pipe-acquisition-grid-v21 h2,
.pipe-faq-head-v21 h2,
.pipe-campaign-copy-v21 h2,
.pipe-craft-copy-v21 h2 {
  margin: 0;
  color: #282829;
  font-family: var(--serif);
  font-size: clamp(48px, 6vw, 92px);
  line-height: .94;
  letter-spacing: -.055em;
}
.pipe-campaign-copy-v21 h2,
.pipe-craft-copy-v21 h2 {
  color: #fff7ea;
}
.pipe-prose-v21 p:not(.eyebrow),
.pipe-section-head-v21 p:not(.eyebrow),
.pipe-acquisition-card-v21 p,
.pipe-faq-list-v21 p,
.pipe-campaign-copy-v21 p:not(.eyebrow),
.pipe-craft-copy-v21 p:not(.eyebrow),
.pipe-value-card-v21 p,
.pipe-side-card-v21 p,
.pipe-gallery-card-v21 p,
.pipe-craft-cards-v21 p {
  color: #6d6864;
  font-size: clamp(18px, 1.28vw, 21px);
  line-height: 1.78;
}
.pipe-campaign-copy-v21 p:not(.eyebrow),
.pipe-craft-copy-v21 p:not(.eyebrow) {
  color: rgba(255,255,255,.78);
}
.pipe-prose-v21 p + p,
.pipe-craft-copy-v21 p + p {
  margin-top: 22px;
}
.pipe-side-card-v21 {
  position: sticky;
  top: calc(var(--nav-height) + 34px);
  padding: clamp(30px, 4vw, 44px);
  border-radius: 32px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 18px 54px rgba(0,0,0,.045);
}
.pipe-seal {
  display: inline-flex;
  margin-bottom: 30px;
  padding: 9px 13px;
  border: 1px solid rgba(245,116,0,.28);
  border-radius: 999px;
  color: #c75f00;
  font: 800 11px/1 var(--sans);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.pipe-side-card-v21 h3 {
  margin: 0 0 18px;
  color: #222;
  font-family: var(--serif);
  font-size: clamp(34px, 3vw, 48px);
  line-height: .98;
  letter-spacing: -.045em;
}
.pipe-value-grid-v21 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: clamp(48px, 6vw, 78px);
}
.pipe-value-card-v21 {
  min-height: 286px;
  padding: 34px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.075);
}
.pipe-value-card-v21 span {
  display: block;
  width: 38px;
  height: 2px;
  margin-bottom: 38px;
  background: #f57400;
}
.pipe-value-card-v21 h3,
.pipe-gallery-card-v21 h3,
.pipe-craft-cards-v21 h3 {
  margin: 0 0 16px;
  color: #242425;
  font-family: var(--serif);
  font-size: clamp(30px, 2.6vw, 42px);
  line-height: .98;
  letter-spacing: -.04em;
}
.pipe-craft-section-v21,
.pipe-campaign-section-v21 {
  padding: clamp(82px, 10vw, 136px) 0;
  background:
    radial-gradient(circle at 84% 16%, rgba(245,116,0,.20), transparent 28%),
    linear-gradient(135deg, #141210 0%, #191512 100%);
}
.pipe-craft-grid-v21 {
  display: grid;
  grid-template-columns: minmax(360px, .68fr) minmax(0, 1fr);
  gap: clamp(44px, 7vw, 96px);
  align-items: center;
}
.pipe-craft-image-v21 {
  margin: 0;
  overflow: hidden;
  border-radius: 36px;
  background: #fff;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 24px 80px rgba(0,0,0,.22);
}
.pipe-craft-image-v21 img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  padding: 18px;
  background: #fff;
}
.pipe-craft-cards-v21 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 34px;
}
.pipe-craft-cards-v21 article {
  padding: 24px;
  border-radius: 24px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
}
.pipe-craft-cards-v21 h3 {
  color: #fff7ea;
  font-size: clamp(24px, 2.2vw, 34px);
}
.pipe-craft-cards-v21 p {
  color: rgba(255,255,255,.70) !important;
  font-size: 16px !important;
  line-height: 1.58 !important;
}
.pipe-campaign-grid-v21 {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(340px, .78fr);
  gap: clamp(46px, 7vw, 96px);
  align-items: center;
}
.pix-card-v21 {
  margin-top: 36px;
  padding: 24px;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  color: #fff;
}
.pix-card-v21 span {
  display: block;
  margin-bottom: 8px;
  color: rgba(255,255,255,.56);
  font: 800 11px/1 var(--sans);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.pix-card-v21 strong {
  display: block;
  font-family: var(--serif);
  font-size: clamp(31px, 3.6vw, 52px);
  line-height: 1;
  letter-spacing: -.04em;
}
.pix-card-v21 button {
  margin-top: 20px;
  padding: 13px 18px;
  border-radius: 999px;
  border: 1px solid #fff;
  background: #fff;
  color: #c75f00;
  font: 800 12px/1 var(--sans);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.pix-card-v21 button:hover,
.pix-card-v21 button:focus-visible {
  background: transparent;
  color: #fff;
}
.pipe-small-note-v21 {
  margin-top: 16px;
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: rgba(255,255,255,.62) !important;
}
.points-panel-v21 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.point-card-v21 {
  padding: clamp(24px, 3.4vw, 36px);
  border-radius: 30px;
  background: #fff7ea;
  border: 1px solid rgba(255,255,255,.18);
}
.point-card-v21 span {
  display: block;
  color: #c75f00;
  font: 800 12px/1 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.point-card-v21 strong {
  display: block;
  margin: 18px 0 6px;
  color: #1e1e1e;
  font-family: var(--serif);
  font-size: clamp(42px, 5.6vw, 66px);
  line-height: .86;
  letter-spacing: -.055em;
}
.point-card-v21 p {
  margin: 0;
  color: #6d6864;
  font-size: 15px;
  line-height: 1.45;
}
.pipe-section-head-v21 {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(340px, .68fr);
  gap: clamp(34px, 6vw, 92px);
  align-items: end;
  margin-bottom: clamp(38px, 6vw, 74px);
}
.pipe-gallery-grid-v21 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.pipe-gallery-card-v21 {
  overflow: hidden;
  border-radius: 32px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
}
.pipe-gallery-card-v21 figure {
  margin: 0;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.07);
}
.pipe-gallery-card-v21 img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / .82;
  object-fit: contain;
  padding: 16px;
  background: #fff;
}
.pipe-gallery-card-v21 div {
  padding: 28px;
}
.pipe-gallery-card-v21 span {
  display: block;
  margin-bottom: 20px;
  color: #c75f00;
  font: 800 11px/1 var(--sans);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.pipe-acquisition-section-v21 {
  padding: clamp(76px, 9vw, 126px) 0;
  background: #fff;
}
.pipe-acquisition-grid-v21 {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(340px, .75fr);
  gap: clamp(34px, 6vw, 96px);
  align-items: center;
}
.pipe-acquisition-card-v21 {
  padding: clamp(32px, 4vw, 48px);
  border-radius: 34px;
  background: #f7f7f8;
  border: 1px solid rgba(0,0,0,.08);
}
.pipe-acquisition-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}
.btn-ghost-dark {
  border-color: rgba(0,0,0,.22);
  color: #222;
  background: transparent;
}
.btn-ghost-dark:hover,
.btn-ghost-dark:focus-visible {
  background: #222;
  color: #fff;
  border-color: #222;
}
.pipe-faq-grid-v21 {
  display: grid;
  grid-template-columns: minmax(0, .62fr) minmax(360px, .85fr);
  gap: clamp(34px, 6vw, 82px);
  align-items: start;
}
.pipe-faq-list-v21 {
  display: grid;
  gap: 12px;
}
.pipe-faq-list-v21 details {
  border-radius: 24px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  overflow: hidden;
}
.pipe-faq-list-v21 summary {
  cursor: pointer;
  padding: 22px 26px;
  color: #222;
  font-family: var(--serif);
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.05;
  letter-spacing: -.035em;
}
.pipe-faq-list-v21 p {
  margin: 0;
  padding: 0 26px 24px;
}
@media (max-width: 1100px) {
  .pipe-hero-grid-v21,
  .pipe-intro-grid-v21,
  .pipe-craft-grid-v21,
  .pipe-campaign-grid-v21,
  .pipe-section-head-v21,
  .pipe-acquisition-grid-v21,
  .pipe-faq-grid-v21 {
    grid-template-columns: 1fr;
  }
  .pipe-value-grid-v21,
  .pipe-gallery-grid-v21 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pipe-side-card-v21 { position: static; }
  .pipe-hero-media-v21 { min-height: auto; }
  .pipe-hero-image-small { position: relative; right: auto; bottom: auto; width: min(280px, 52%); margin: -44px 24px 0 auto; }
}
@media (max-width: 760px) {
  .pipe-hero-v21 { padding-top: 74px; }
  .pipe-hero-v21 h1 { font-size: clamp(48px, 16vw, 74px); }
  .pipe-lead-v21 { font-size: 22px; }
  .pipe-value-grid-v21,
  .points-panel-v21,
  .pipe-gallery-grid-v21,
  .pipe-craft-cards-v21 { grid-template-columns: 1fr; }
  .pipe-value-card-v21 { min-height: auto; }
  .pipe-section-head-v21 { margin-bottom: 30px; }
  .pipe-prose-v21 h2,
  .pipe-section-head-v21 h2,
  .pipe-acquisition-grid-v21 h2,
  .pipe-faq-head-v21 h2,
  .pipe-campaign-copy-v21 h2,
  .pipe-craft-copy-v21 h2 {
    font-size: clamp(42px, 13vw, 64px);
  }
  .pipe-acquisition-actions .btn { width: 100%; }
}

/* --------------------------------------------------------------------------
   Página /cachimbo/ — v22 refinada
   -------------------------------------------------------------------------- */
.pipe-page-v22 {
  background: #f7f6f4;
  color: #262422;
}
.pipe-page-v22 .navigation-right a[href$="/cachimbo/"],
.pipe-page-v22 .mobile-menu a[href$="/cachimbo/"] {
  color: #111;
}
.pipe-hero-v22 {
  position: relative;
  overflow: hidden;
  padding: clamp(82px, 9vw, 136px) 0 clamp(72px, 8vw, 118px);
  color: #fff;
  background:
    radial-gradient(circle at 83% 11%, rgba(245,116,0,.16), transparent 28%),
    linear-gradient(135deg, #120f0d 0%, #1d1712 58%, #2c1a0f 100%);
}
.pipe-hero-pattern-v22 {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .16;
  background-image: url(data:image/svg+xml;base64,PHN2ZyAgZmlsbD0icmdiYSgwLDAsMCwwLjIzKSIgaGVpZ2h0PSI1NnB4IiB3aWR0aD0iNTZweCIgdmlld0JveD0iMCAwIDU2IDU2IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0yOCwyOEg1NlY1NkgyOFpNMCwwSDI4VjI4SDBaIi8+PC9zdmc+);
  background-size: 4px 4px;
  mix-blend-mode: soft-light;
}
.pipe-hero-grid-v22 {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, .95fr);
  gap: clamp(42px, 7vw, 98px);
  align-items: center;
}
.pipe-breadcrumb-v22,
.pipe-breadcrumb-v22 a {
  color: rgba(255,255,255,.65);
}
.pipe-hero-copy-v22 .eyebrow,
.pipe-ritual-copy-v22 .eyebrow,
.pipe-campaign-copy-v22 .eyebrow {
  color: #d69a57;
}
.pipe-hero-copy-v22 h1 {
  max-width: 760px;
  margin: 18px 0 22px;
  color: #fff8ee;
  font-family: var(--serif);
  font-size: clamp(66px, 8.8vw, 128px);
  font-weight: 700;
  line-height: .84;
  letter-spacing: -.066em;
}
.pipe-lead-v22 {
  max-width: 650px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-family: var(--serif);
  font-size: clamp(25px, 2.4vw, 35px);
  line-height: 1.36;
  letter-spacing: -.018em;
}
.pipe-hero-actions-v22 {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}
.pipe-hero-actions-v22 .btn-primary {
  background: #fff8ee;
  border-color: #fff8ee;
  color: #1b130e;
}
.pipe-hero-actions-v22 .btn-primary:hover,
.pipe-hero-actions-v22 .btn-primary:focus-visible {
  background: transparent;
  color: #fff8ee;
  border-color: #fff8ee;
}
.pipe-hero-actions-v22 .btn-ghost {
  color: #fff8ee;
  border-color: rgba(255,255,255,.42);
  background: transparent;
}
.pipe-hero-actions-v22 .btn-ghost:hover,
.pipe-hero-actions-v22 .btn-ghost:focus-visible {
  background: #fff8ee;
  color: #1b130e;
  border-color: #fff8ee;
}
.pipe-hero-meta-v22 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 34px;
}
.pipe-hero-meta-v22 span {
  display: inline-flex;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: rgba(255,255,255,.72);
  font: 800 10px/1 var(--sans);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.pipe-hero-showcase-v22 {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 560px;
}
.pipe-main-object-v22 {
  position: relative;
  width: min(100%, 580px);
  margin: 0;
  padding: clamp(18px, 3vw, 34px);
  border-radius: 42px;
  background: #fff8ee;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 34px 110px rgba(0,0,0,.36);
}
.pipe-main-object-v22::before {
  content: '';
  position: absolute;
  inset: 22px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 30px;
  pointer-events: none;
}
.pipe-main-object-v22 img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  aspect-ratio: 1 / .86;
  object-fit: contain;
}
.pipe-showcase-caption-v22 {
  position: absolute;
  right: 4%;
  bottom: 3%;
  max-width: 260px;
  padding: 20px 22px;
  border-radius: 24px;
  background: rgba(255,248,238,.95);
  color: #211915;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 16px 54px rgba(0,0,0,.22);
}
.pipe-showcase-caption-v22 span,
.pipe-mosaic-card-v22 span {
  display: block;
  margin-bottom: 10px;
  color: #c17b31;
  font: 800 10px/1 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.pipe-showcase-caption-v22 strong {
  display: block;
  font-family: var(--serif);
  font-size: 28px;
  line-height: .98;
  letter-spacing: -.035em;
}
.pipe-anchor-list-v22 {
  justify-content: center;
}
.pipe-origin-section-v22,
.pipe-gallery-feature-v22,
.pipe-faq-section-v22 {
  padding: clamp(78px, 9vw, 128px) 0;
  background: #f7f6f4;
}
.pipe-origin-grid-v22 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 410px);
  gap: clamp(44px, 7vw, 96px);
  align-items: start;
}
.pipe-editorial-copy-v22 h2,
.pipe-gallery-head-v22 h2,
.pipe-ritual-copy-v22 h2,
.pipe-campaign-copy-v22 h2,
.pipe-acquire-grid-v22 h2,
.pipe-faq-head-v22 h2 {
  margin: 0;
  color: #262422;
  font-family: var(--serif);
  font-size: clamp(50px, 6vw, 96px);
  line-height: .92;
  letter-spacing: -.058em;
}
.pipe-editorial-copy-v22 p:not(.eyebrow),
.pipe-gallery-head-v22 p,
.pipe-fiche-v22 dd,
.pipe-value-grid-v22 p,
.pipe-mosaic-card-v22 p,
.pipe-ritual-copy-v22 p:not(.eyebrow),
.pipe-ritual-cards-v22 p,
.pipe-campaign-copy-v22 p:not(.eyebrow),
.pipe-acquire-panel-v22 p,
.pipe-faq-list-v22 p {
  color: #69625d;
  font-size: clamp(18px, 1.28vw, 21px);
  line-height: 1.78;
}
.pipe-editorial-copy-v22 p + p,
.pipe-ritual-copy-v22 p + p,
.pipe-campaign-copy-v22 p + p {
  margin-top: 22px;
}
.pipe-fiche-v22 {
  padding: clamp(30px, 4vw, 46px);
  border-radius: 32px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 18px 58px rgba(0,0,0,.045);
}
.pipe-fiche-v22 > span {
  display: inline-flex;
  margin-bottom: 28px;
  padding: 9px 13px;
  border-radius: 999px;
  background: #fff1e0;
  color: #b36518;
  font: 800 11px/1 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.pipe-fiche-v22 dl {
  display: grid;
  gap: 0;
  margin: 0;
}
.pipe-fiche-v22 dl div {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 18px;
  padding: 18px 0;
  border-top: 1px solid rgba(0,0,0,.08);
}
.pipe-fiche-v22 dt {
  color: #2a2826;
  font: 800 12px/1.2 var(--sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pipe-fiche-v22 dd {
  margin: 0;
  font-size: 18px;
  line-height: 1.45;
}
.pipe-fiche-v22 a {
  color: #b36518;
}
.pipe-value-grid-v22 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: clamp(46px, 6vw, 76px);
}
.pipe-value-grid-v22 article {
  min-height: 246px;
  padding: 30px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.075);
}
.pipe-value-grid-v22 h3,
.pipe-mosaic-card-v22 h3,
.pipe-ritual-cards-v22 h3 {
  margin: 0 0 14px;
  color: #272524;
  font-family: var(--serif);
  font-size: clamp(29px, 2.5vw, 42px);
  line-height: .98;
  letter-spacing: -.045em;
}
.pipe-gallery-head-v22 {
  max-width: 980px;
  margin-bottom: clamp(40px, 6vw, 72px);
}
.pipe-gallery-mosaic-v22 {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  grid-template-rows: auto auto;
  gap: 22px;
}
.pipe-mosaic-card-v22 {
  display: grid;
  grid-template-columns: minmax(180px, .66fr) minmax(0, 1fr);
  overflow: hidden;
  border-radius: 34px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
}
.pipe-mosaic-large-v22 {
  grid-row: span 2;
  grid-template-columns: 1fr;
}
.pipe-mosaic-dark-v22 {
  background: #181411;
}
.pipe-mosaic-dark-v22 h3,
.pipe-mosaic-dark-v22 p {
  color: #fff8ee !important;
}
.pipe-mosaic-card-v22 figure {
  margin: 0;
  display: grid;
  place-items: center;
  background: #fff8ee;
  min-height: 260px;
}
.pipe-mosaic-large-v22 figure {
  min-height: 460px;
}
.pipe-mosaic-dark-v22 figure {
  background: #211915;
}
.pipe-mosaic-card-v22 img {
  display: block;
  width: 100%;
  max-height: 460px;
  object-fit: contain;
  padding: clamp(14px, 2vw, 24px);
}
.pipe-mosaic-card-v22 div {
  padding: clamp(28px, 4vw, 42px);
}
.pipe-ritual-section-v22 {
  padding: clamp(78px, 9vw, 128px) 0;
  background:
    radial-gradient(circle at 92% 8%, rgba(245,116,0,.18), transparent 30%),
    linear-gradient(135deg, #12100f 0%, #1c1713 100%);
}
.pipe-ritual-grid-v22 {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(360px, 1fr);
  gap: clamp(46px, 7vw, 98px);
  align-items: center;
}
.pipe-ritual-copy-v22 h2,
.pipe-campaign-copy-v22 h2 {
  color: #fff8ee;
}
.pipe-ritual-copy-v22 p:not(.eyebrow),
.pipe-campaign-copy-v22 p:not(.eyebrow) {
  color: rgba(255,255,255,.76);
}
.pipe-ritual-cards-v22 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.pipe-ritual-cards-v22 article {
  min-height: 210px;
  padding: 28px;
  border-radius: 28px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
}
.pipe-ritual-cards-v22 h3 {
  color: #fff8ee;
}
.pipe-ritual-cards-v22 p {
  color: rgba(255,255,255,.72) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}
.pipe-campaign-section-v22 {
  padding: clamp(78px, 9vw, 128px) 0;
  background: #191410;
  color: #fff;
}
.pipe-campaign-grid-v22 {
  display: grid;
  grid-template-columns: minmax(360px, .78fr) minmax(0, .96fr);
  gap: clamp(46px, 7vw, 96px);
  align-items: center;
}
.pipe-campaign-image-v22 {
  margin: 0;
  padding: clamp(18px, 3vw, 30px);
  border-radius: 38px;
  background: #fff8ee;
  box-shadow: 0 28px 90px rgba(0,0,0,.26);
}
.pipe-campaign-image-v22 img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / .9;
  object-fit: contain;
}
.pix-card-v22 {
  margin-top: 32px;
  padding: 24px;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.07);
}
.pix-card-v22 span {
  display: block;
  margin-bottom: 8px;
  color: rgba(255,255,255,.58);
  font: 800 11px/1 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.pix-card-v22 strong {
  display: block;
  color: #fff8ee;
  font-family: var(--serif);
  font-size: clamp(31px, 3.4vw, 50px);
  line-height: 1;
  letter-spacing: -.04em;
}
.pix-card-v22 button {
  margin-top: 20px;
  padding: 13px 18px;
  border-radius: 999px;
  border: 1px solid #fff8ee;
  background: #fff8ee;
  color: #a85c14;
  font: 800 12px/1 var(--sans);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.pix-card-v22 button:hover,
.pix-card-v22 button:focus-visible {
  background: transparent;
  color: #fff8ee;
}
.pipe-points-grid-v22 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: clamp(34px, 5vw, 58px);
}
.pipe-points-grid-v22 article {
  padding: 26px;
  border-radius: 28px;
  background: #fff8ee;
  border: 1px solid rgba(255,255,255,.18);
}
.pipe-points-grid-v22 span {
  display: block;
  color: #b36518;
  font: 800 12px/1 var(--sans);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.pipe-points-grid-v22 strong {
  display: block;
  margin: 16px 0 4px;
  color: #241f1c;
  font-family: var(--serif);
  font-size: clamp(42px, 4.8vw, 62px);
  line-height: .88;
  letter-spacing: -.05em;
}
.pipe-points-grid-v22 p {
  margin: 0;
  color: #665d56;
  font: 700 13px/1.3 var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pipe-campaign-note-v22 {
  max-width: var(--max);
  margin-top: 18px;
  color: rgba(255,255,255,.62);
  font-size: 15px;
  line-height: 1.55;
}
.pipe-acquire-section-v22 {
  padding: clamp(78px, 9vw, 128px) 0;
  background: #fff;
}
.pipe-acquire-grid-v22 {
  display: grid;
  grid-template-columns: minmax(0, .76fr) minmax(360px, .82fr);
  gap: clamp(40px, 7vw, 96px);
  align-items: center;
}
.pipe-acquire-panel-v22 {
  padding: clamp(32px, 4vw, 50px);
  border-radius: 34px;
  background: #f7f6f4;
  border: 1px solid rgba(0,0,0,.08);
}
.pipe-acquire-actions-v22 {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}
.pipe-faq-grid-v22 {
  display: grid;
  grid-template-columns: minmax(0, .62fr) minmax(360px, .85fr);
  gap: clamp(34px, 6vw, 82px);
  align-items: start;
}
.pipe-faq-list-v22 {
  display: grid;
  gap: 12px;
}
.pipe-faq-list-v22 details {
  border-radius: 24px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  overflow: hidden;
}
.pipe-faq-list-v22 summary {
  cursor: pointer;
  padding: 22px 26px;
  color: #222;
  font-family: var(--serif);
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.05;
  letter-spacing: -.035em;
}
.pipe-faq-list-v22 p {
  margin: 0;
  padding: 0 26px 24px;
}
@media (max-width: 1100px) {
  .pipe-hero-grid-v22,
  .pipe-origin-grid-v22,
  .pipe-ritual-grid-v22,
  .pipe-campaign-grid-v22,
  .pipe-acquire-grid-v22,
  .pipe-faq-grid-v22 {
    grid-template-columns: 1fr;
  }
  .pipe-gallery-mosaic-v22 {
    grid-template-columns: 1fr;
  }
  .pipe-mosaic-large-v22 {
    grid-row: auto;
  }
  .pipe-points-grid-v22,
  .pipe-value-grid-v22 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pipe-hero-showcase-v22 {
    min-height: auto;
  }
}
@media (max-width: 760px) {
  .pipe-hero-v22 {
    padding-top: 74px;
  }
  .pipe-hero-copy-v22 h1 {
    font-size: clamp(54px, 17vw, 76px);
  }
  .pipe-lead-v22 {
    font-size: 22px;
  }
  .pipe-hero-actions-v22 .btn,
  .pipe-acquire-actions-v22 .btn {
    width: 100%;
  }
  .pipe-value-grid-v22,
  .pipe-ritual-cards-v22,
  .pipe-points-grid-v22 {
    grid-template-columns: 1fr;
  }
  .pipe-mosaic-card-v22 {
    grid-template-columns: 1fr;
  }
  .pipe-editorial-copy-v22 h2,
  .pipe-gallery-head-v22 h2,
  .pipe-ritual-copy-v22 h2,
  .pipe-campaign-copy-v22 h2,
  .pipe-acquire-grid-v22 h2,
  .pipe-faq-head-v22 h2 {
    font-size: clamp(42px, 13vw, 64px);
  }
  .pipe-fiche-v22 dl div {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .pipe-showcase-caption-v22 {
    position: static;
    max-width: none;
    margin-top: 14px;
  }
}

/* ==============================
   Cachimbo v23
   ============================== */
.pipe-page-v23 {
  background: #f6f4f1;
  color: #24211f;
}
.pipe-page-v23 .navigation-right a[href$="/cachimbo/"],
.pipe-page-v23 .mobile-menu a[href$="/cachimbo/"] {
  color: #111;
}
.pipe-hero-v23 {
  position: relative;
  overflow: hidden;
  padding: clamp(84px, 9vw, 134px) 0 clamp(76px, 8vw, 116px);
  background:
    radial-gradient(circle at 85% 18%, rgba(245,116,0,.17), transparent 28%),
    linear-gradient(140deg, #140f0d 0%, #211812 62%, #2d1e16 100%);
  color: #fff;
}
.pipe-hero-pattern-v23 {
  position: absolute;
  inset: 0;
  opacity: .14;
  pointer-events: none;
  background-image: url(data:image/svg+xml;base64,PHN2ZyAgZmlsbD0icmdiYSgwLDAsMCwwLjIzKSIgaGVpZ2h0PSI1NnB4IiB3aWR0aD0iNTZweCIgdmlld0JveD0iMCAwIDU2IDU2IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0yOCwyOEg1NlY1NkgyOFpNMCwwSDI4VjI4SDBaIi8+PC9zdmc+);
  background-size: 4px 4px;
  mix-blend-mode: soft-light;
}
.pipe-hero-grid-v23 {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(360px, .88fr);
  gap: clamp(42px, 7vw, 94px);
  align-items: center;
}
.pipe-breadcrumb-v23,
.pipe-breadcrumb-v23 a {
  color: rgba(255,255,255,.68);
}
.pipe-hero-copy-v23 .eyebrow,
.pipe-editorial-copy-v23 .eyebrow,
.pipe-offer-card-v23 .eyebrow,
.pipe-smoke-copy-v23 .eyebrow,
.pipe-ritual-copy-v23 .eyebrow,
.pipe-campaign-copy-v23 .eyebrow,
.pipe-faq-head-v23 .eyebrow,
.pipe-form-copy-v23 .eyebrow,
.pipe-acquire-grid-v23 .eyebrow {
  color: #d69a57;
}
.pipe-hero-copy-v23 h1 {
  max-width: 760px;
  margin: 18px 0 22px;
  color: #fff7ed;
  font-family: var(--serif);
  font-size: clamp(66px, 8vw, 118px);
  font-weight: 700;
  line-height: .86;
  letter-spacing: -.064em;
}
.pipe-lead-v23 {
  max-width: 620px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-family: var(--serif);
  font-size: clamp(24px, 2.3vw, 34px);
  line-height: 1.36;
  letter-spacing: -.018em;
}
.pipe-hero-actions-v23,
.pipe-offer-actions-v23,
.pipe-acquire-actions-v23,
.pipe-form-actions-v23 {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.pipe-hero-actions-v23 { margin-top: 34px; }
.pipe-hero-actions-v23 .btn-primary,
.pipe-form-actions-v23 .btn-primary,
.pipe-acquire-card-v23 .btn-primary,
.pipe-offer-actions-v23 .btn-primary {
  background: #fff7ed;
  border-color: #fff7ed;
  color: #1c1511;
}
.pipe-hero-actions-v23 .btn-primary:hover,
.pipe-hero-actions-v23 .btn-primary:focus-visible,
.pipe-form-actions-v23 .btn-primary:hover,
.pipe-form-actions-v23 .btn-primary:focus-visible,
.pipe-acquire-card-v23 .btn-primary:hover,
.pipe-acquire-card-v23 .btn-primary:focus-visible,
.pipe-offer-actions-v23 .btn-primary:hover,
.pipe-offer-actions-v23 .btn-primary:focus-visible {
  background: transparent;
  border-color: #fff7ed;
  color: #fff7ed;
}
.pipe-hero-actions-v23 .btn-ghost,
.btn-ghost-light {
  color: #fff7ed;
  border-color: rgba(255,255,255,.42);
  background: transparent;
}
.pipe-hero-actions-v23 .btn-ghost:hover,
.pipe-hero-actions-v23 .btn-ghost:focus-visible,
.btn-ghost-light:hover,
.btn-ghost-light:focus-visible {
  background: #fff7ed;
  border-color: #fff7ed;
  color: #1c1511;
}
.pipe-hero-meta-v23 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 34px;
}
.pipe-hero-meta-v23 span {
  display: inline-flex;
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.72);
  font: 800 10px/1 var(--sans);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.pipe-hero-showcase-v23 {
  display: grid;
  place-items: center;
}
.pipe-hero-portrait-v23 {
  margin: 0;
  width: min(100%, 560px);
  padding: clamp(14px, 2vw, 18px);
  border-radius: 40px;
  background: linear-gradient(180deg, rgba(255,248,238,.9), rgba(255,248,238,.72));
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 30px 90px rgba(0,0,0,.30);
}
.pipe-hero-portrait-v23 img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}
.pipe-anchor-list-v23 { justify-content: center; }
.pipe-origin-section-v23,
.pipe-smoke-section-v23,
.pipe-faq-section-v23 {
  padding: clamp(78px, 9vw, 124px) 0;
  background: #f6f4f1;
}
.pipe-origin-grid-v23,
.pipe-smoke-head-v23,
.pipe-campaign-grid-v23,
.pipe-acquire-grid-v23,
.pipe-form-grid-v23 {
  display: grid;
  gap: clamp(38px, 6vw, 88px);
}
.pipe-origin-grid-v23 { grid-template-columns: minmax(0, 1fr) minmax(310px, 410px); align-items: start; }
.pipe-smoke-head-v23 { grid-template-columns: minmax(0, .95fr) minmax(320px, .62fr); align-items: center; }
.pipe-campaign-grid-v23 { grid-template-columns: minmax(360px, .88fr) minmax(0, 1fr); align-items: start; }
.pipe-acquire-grid-v23 { grid-template-columns: minmax(0, .78fr) minmax(320px, .85fr); align-items: center; }
.pipe-form-grid-v23 { grid-template-columns: minmax(0, .74fr) minmax(380px, 1fr); align-items: start; }
.pipe-editorial-copy-v23 h2,
.pipe-offer-card-v23 h2,
.pipe-smoke-copy-v23 h2,
.pipe-ritual-copy-v23 h2,
.pipe-campaign-copy-v23 h2,
.pipe-acquire-grid-v23 h2,
.pipe-faq-head-v23 h2,
.pipe-form-copy-v23 h2 {
  margin: 0;
  color: #262321;
  font-family: var(--serif);
  font-size: clamp(50px, 6vw, 96px);
  line-height: .93;
  letter-spacing: -.058em;
}
.pipe-editorial-copy-v23 p:not(.eyebrow),
.pipe-offer-card-v23 p:not(.eyebrow),
.pipe-smoke-copy-v23 p:not(.eyebrow),
.pipe-gallery-card-v23 p,
.pipe-fiche-v23 dd,
.pipe-value-grid-v23 p,
.pipe-ritual-copy-v23 p:not(.eyebrow),
.pipe-ritual-cards-v23 p,
.pipe-campaign-copy-v23 p:not(.eyebrow),
.pipe-acquire-intro-v23,
.pipe-acquire-card-v23 p,
.pipe-faq-list-v23 p,
.pipe-form-copy-v23 p,
.pipe-contact-form-v23 input,
.pipe-contact-form-v23 select,
.pipe-contact-form-v23 textarea {
  color: #69625d;
  font-size: clamp(18px, 1.28vw, 21px);
  line-height: 1.78;
}
.pipe-editorial-copy-v23 p + p,
.pipe-smoke-copy-v23 p + p,
.pipe-ritual-copy-v23 p + p,
.pipe-campaign-copy-v23 p + p,
.pipe-form-copy-v23 p + p { margin-top: 20px; }
.pipe-fiche-v23 {
  padding: clamp(30px, 4vw, 46px);
  border-radius: 32px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
}
.pipe-fiche-v23 > span {
  display: inline-flex;
  margin-bottom: 28px;
  padding: 9px 13px;
  border-radius: 999px;
  background: #fff1e0;
  color: #b36518;
  font: 800 11px/1 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.pipe-fiche-v23 dl { display: grid; gap: 0; margin: 0; }
.pipe-fiche-v23 dl div {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 18px;
  padding: 18px 0;
  border-top: 1px solid rgba(0,0,0,.08);
}
.pipe-fiche-v23 dt {
  color: #2a2826;
  font: 800 12px/1.2 var(--sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pipe-fiche-v23 dd { margin: 0; font-size: 18px; line-height: 1.45; }
.pipe-fiche-v23 a { color: #b36518; }
.pipe-value-grid-v23 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: clamp(44px, 6vw, 74px);
}
.pipe-value-grid-v23 article {
  min-height: 224px;
  padding: 28px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.075);
}
.pipe-value-grid-v23 h3,
.pipe-gallery-card-v23 h3,
.pipe-ritual-cards-v23 h3,
.pipe-acquire-card-v23 h3 {
  margin: 0 0 14px;
  color: #272524;
  font-family: var(--serif);
  font-size: clamp(29px, 2.5vw, 42px);
  line-height: .98;
  letter-spacing: -.045em;
}
.pipe-offer-banner-v23 {
  position: relative;
  overflow: hidden;
  background: #181310;
  color: #fff;
}
.pipe-offer-image-v23 {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(17,12,10,.86) 0%, rgba(17,12,10,.66) 38%, rgba(17,12,10,.32) 100%),
    url('https://ryoki.com.br/wp-content/uploads/2024/07/escritor-recordista-cachimbo.png') center center / cover no-repeat;
}
.pipe-offer-content-v23 {
  position: relative;
  z-index: 2;
  padding: clamp(80px, 10vw, 140px) 0;
}
.pipe-offer-card-v23 {
  max-width: 820px;
}
.pipe-offer-card-v23 h2,
.pipe-form-copy-v23 h2 {
  color: #fff7ed;
}
.pipe-offer-card-v23 p:not(.eyebrow),
.pipe-form-copy-v23 p {
  color: rgba(255,255,255,.78);
}
.pipe-offer-price-v23 {
  margin: 28px 0 30px;
  color: #fff7ed;
  font-family: var(--serif);
  font-size: clamp(58px, 7vw, 108px);
  line-height: .9;
  letter-spacing: -.055em;
}
.pipe-smoke-figure-v23 {
  margin: 0;
  padding: 26px;
  border-radius: 36px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
}
.pipe-smoke-figure-v23 img {
  display: block;
  width: 100%;
  max-height: 620px;
  object-fit: contain;
}
.pipe-gallery-row-v23 {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
  gap: 22px;
  margin-top: clamp(34px, 5vw, 54px);
}
.pipe-gallery-card-v23 {
  display: grid;
  grid-template-columns: minmax(190px, .8fr) minmax(0, 1fr);
  overflow: hidden;
  border-radius: 34px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
}
.pipe-gallery-card-wide-v23 { grid-template-columns: minmax(280px, .9fr) minmax(0, 1fr); }
.pipe-gallery-card-v23 figure { margin: 0; display: grid; place-items: center; background: #fff8ee; min-height: 340px; }
.pipe-gallery-card-v23 img { display: block; width: 100%; max-height: 520px; object-fit: contain; padding: 18px; }
.pipe-gallery-card-v23 div { padding: clamp(28px, 4vw, 42px); }
.pipe-gallery-card-v23 span {
  display: block;
  margin-bottom: 10px;
  color: #c17b31;
  font: 800 10px/1 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.pipe-ritual-section-v23 {
  padding: clamp(78px, 9vw, 128px) 0;
  background:
    radial-gradient(circle at 92% 8%, rgba(245,116,0,.18), transparent 30%),
    linear-gradient(135deg, #12100f 0%, #1c1713 100%);
}
.pipe-ritual-grid-v23 {
  display: grid;
  grid-template-columns: minmax(0, .84fr) minmax(360px, 1fr);
  gap: clamp(46px, 7vw, 98px);
  align-items: start;
}
.pipe-ritual-copy-v23 h2,
.pipe-campaign-copy-v23 h2 { color: #fff7ed; }
.pipe-ritual-copy-v23 p:not(.eyebrow),
.pipe-campaign-copy-v23 p:not(.eyebrow) { color: rgba(255,255,255,.76); }
.pipe-ritual-copy-v23 h2 { margin-bottom: 20px; }
.pipe-ritual-cards-v23 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.pipe-ritual-cards-v23 article {
  min-height: 210px;
  padding: 28px;
  border-radius: 28px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
}
.pipe-ritual-cards-v23 h3 { color: #fff7ed; }
.pipe-ritual-cards-v23 p { color: rgba(255,255,255,.72) !important; font-size: 16px !important; line-height: 1.6 !important; }
.pipe-campaign-section-v23 {
  padding: clamp(78px, 9vw, 128px) 0;
  background: #1a1411;
  color: #fff;
}
.pipe-campaign-image-v23 {
  margin: 0;
  display: grid;
  gap: 18px;
}
.pipe-campaign-image-v23 img {
  display: block;
  width: 100%;
  border-radius: 28px;
  background: rgba(255,248,238,.06);
  border: 1px solid rgba(255,255,255,.12);
}
.pipe-campaign-image-v23 figcaption {
  color: rgba(255,255,255,.74);
  font-size: 15px;
  line-height: 1.7;
}
.pipe-campaign-copy-v23 h2 { margin-bottom: 20px; }
.pix-card-v23 {
  margin-top: 32px;
  padding: 24px;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.07);
}
.pix-card-v23 span {
  display: block;
  margin-bottom: 8px;
  color: rgba(255,255,255,.58);
  font: 800 11px/1 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.pix-card-v23 strong {
  display: block;
  color: #fff7ed;
  font-family: var(--serif);
  font-size: clamp(31px, 3.4vw, 50px);
  line-height: 1;
  letter-spacing: -.04em;
}
.pix-card-v23 button {
  margin-top: 20px;
  padding: 13px 18px;
  border-radius: 999px;
  border: 1px solid #fff7ed;
  background: #fff7ed;
  color: #a85c14;
  font: 800 12px/1 var(--sans);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.pix-card-v23 button:hover,
.pix-card-v23 button:focus-visible {
  background: transparent;
  color: #fff7ed;
}
.pipe-points-grid-v23 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: clamp(34px, 5vw, 58px);
}
.pipe-points-grid-v23 article {
  padding: 26px;
  border-radius: 28px;
  background: #fff7ed;
  border: 1px solid rgba(255,255,255,.12);
}
.pipe-points-grid-v23 span {
  display: block;
  color: #b36518;
  font: 800 12px/1 var(--sans);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.pipe-points-grid-v23 strong {
  display: block;
  margin: 16px 0 4px;
  color: #241f1c;
  font-family: var(--serif);
  font-size: clamp(36px, 3.8vw, 54px);
  line-height: .92;
  letter-spacing: -.05em;
}
.pipe-points-grid-v23 p {
  margin: 0;
  color: #665d56;
  font: 700 13px/1.3 var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pipe-campaign-note-v23 {
  max-width: var(--max);
  margin-top: 18px;
  color: rgba(255,255,255,.62);
  font-size: 15px;
  line-height: 1.55;
}
.pipe-acquire-section-v23 {
  padding: clamp(78px, 9vw, 128px) 0;
  background: #fff;
}
.pipe-acquire-intro-v23 { margin-top: 24px; }
.pipe-acquire-panel-v23 {
  padding: clamp(28px, 4vw, 44px);
  border-radius: 36px;
  background: #f6f4f1;
  border: 1px solid rgba(0,0,0,.08);
}
.pipe-acquire-panel-v23 figure { margin: 0; }
.pipe-acquire-panel-v23 img { display: block; width: 100%; max-height: 420px; object-fit: contain; }
.pipe-acquire-cards-v23 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: clamp(32px, 5vw, 48px);
}
.pipe-acquire-card-v23 {
  padding: 32px;
  border-radius: 30px;
  background: #f6f4f1;
  border: 1px solid rgba(0,0,0,.08);
}
.pipe-acquire-card-v23 .btn-ghost-dark:hover,
.pipe-acquire-card-v23 .btn-ghost-dark:focus-visible {
  background: #111;
  color: #fff;
}
.pipe-faq-head-v23 {
  max-width: 920px;
  margin: 0 auto 34px;
  text-align: center;
}
.pipe-faq-list-v23 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.pipe-faq-list-v23 details {
  height: 100%;
  border-radius: 24px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  overflow: hidden;
}
.pipe-faq-list-v23 summary {
  position: relative;
  cursor: pointer;
  list-style: none;
  padding: 24px 50px 24px 24px;
  color: #222;
  font-family: var(--serif);
  font-size: clamp(24px, 2vw, 31px);
  line-height: 1.04;
  letter-spacing: -.035em;
}
.pipe-faq-list-v23 summary::-webkit-details-marker { display: none; }
.pipe-faq-list-v23 summary::after {
  content: '>';
  position: absolute;
  right: 22px;
  top: 22px;
  color: #b36518;
  font: 300 28px/1 var(--sans);
  transition: transform .2s ease;
}
.pipe-faq-list-v23 details[open] summary::after { transform: rotate(90deg); }
.pipe-faq-list-v23 p { margin: 0; padding: 0 24px 24px; }
.pipe-form-section-v23 {
  padding: clamp(78px, 9vw, 128px) 0;
  background:
    radial-gradient(circle at 92% 8%, rgba(245,116,0,.16), transparent 28%),
    linear-gradient(135deg, #110e0c 0%, #1a1512 100%);
}
.pipe-contact-form-v23 {
  padding: clamp(28px, 4vw, 42px);
  border-radius: 34px;
  background: rgba(255,248,238,.96);
  border: 1px solid rgba(255,255,255,.12);
}
.form-row-v23 { display: grid; gap: 12px; margin-bottom: 16px; }
.form-row-2-v23 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pipe-contact-form-v23 label > span {
  display: block;
  color: #2b2622;
  font: 800 11px/1 var(--sans);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.pipe-contact-form-v23 input,
.pipe-contact-form-v23 select,
.pipe-contact-form-v23 textarea {
  width: 100%;
  margin-top: 10px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  font-family: var(--sans);
}
.pipe-contact-form-v23 textarea { resize: vertical; min-height: 180px; }
.pipe-form-actions-v23 {
  align-items: center;
  justify-content: space-between;
  margin-top: 18px;
}
.pipe-form-feedback-v23 {
  margin: 0;
  color: #2a6e37;
  font-size: 15px;
  line-height: 1.4;
}
.pipe-form-feedback-v23.is-pending { color: #6b625c; }
.pipe-form-feedback-v23.is-error { color: #a84332; }
@media (max-width: 1100px) {
  .pipe-hero-grid-v23,
  .pipe-origin-grid-v23,
  .pipe-smoke-head-v23,
  .pipe-gallery-row-v23,
  .pipe-ritual-grid-v23,
  .pipe-campaign-grid-v23,
  .pipe-acquire-grid-v23,
  .pipe-form-grid-v23 {
    grid-template-columns: 1fr;
  }
  .pipe-value-grid-v23,
  .pipe-points-grid-v23,
  .pipe-faq-list-v23 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .pipe-hero-v23 { padding-top: 74px; }
  .pipe-hero-copy-v23 h1 { font-size: clamp(52px, 16vw, 76px); }
  .pipe-lead-v23 { font-size: 22px; }
  .pipe-editorial-copy-v23 h2,
  .pipe-offer-card-v23 h2,
  .pipe-smoke-copy-v23 h2,
  .pipe-ritual-copy-v23 h2,
  .pipe-campaign-copy-v23 h2,
  .pipe-acquire-grid-v23 h2,
  .pipe-faq-head-v23 h2,
  .pipe-form-copy-v23 h2 { font-size: clamp(42px, 13vw, 64px); }
  .pipe-hero-actions-v23 .btn,
  .pipe-offer-actions-v23 .btn,
  .pipe-acquire-card-v23 .btn,
  .pipe-form-actions-v23 .btn { width: 100%; }
  .pipe-value-grid-v23,
  .pipe-ritual-cards-v23,
  .pipe-points-grid-v23,
  .pipe-acquire-cards-v23,
  .pipe-faq-list-v23,
  .form-row-2-v23 { grid-template-columns: 1fr; }
  .pipe-gallery-card-v23 { grid-template-columns: 1fr; }
  .pipe-fiche-v23 dl div { grid-template-columns: 1fr; gap: 8px; }
}

/* ==============================
   Cachimbo v24 — ajustes finos finais
   ============================== */
.pipe-page-v23 .btn {
  min-height: 52px;
  padding: 0 22px;
}
.pipe-hero-copy-v23 h1 {
  font-size: clamp(62px, 7.2vw, 102px);
  line-height: .88;
}
.pipe-hero-showcase-v23 {
  justify-items: end;
}
.pipe-hero-portrait-v23 {
  width: min(100%, 650px);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.pipe-hero-portrait-v23 img {
  aspect-ratio: auto;
  object-fit: contain;
}
#sentido-title {
  font-size: clamp(46px, 5vw, 82px);
  line-height: .94;
}
.pipe-fiche-v23 dl div:last-child {
  grid-template-columns: 1fr;
}
.pipe-fiche-v23 dl div:last-child dd {
  font-size: 16px;
  line-height: 1.65;
}
.pipe-offer-banner-v23 {
  background:
    radial-gradient(circle at 82% 16%, rgba(245,116,0,.16), transparent 30%),
    linear-gradient(135deg, #130f0d 0%, #211712 100%);
}
.pipe-offer-content-v23 {
  padding: clamp(78px, 9vw, 126px) 0;
}
.pipe-offer-card-v23 {
  max-width: none;
}
.pipe-offer-split-v24 {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(340px, .72fr);
  gap: clamp(34px, 6vw, 84px);
  align-items: start;
}
.pipe-offer-card-v23 h2 {
  font-size: clamp(38px, 3vw, 58px);
  line-height: 1.1;
  letter-spacing: -.045em;
}
.pipe-offer-aside-v24 p {
  margin-top: 0;
  color: rgba(255,255,255,.78);
}
.pipe-offer-price-v23 {
  margin: 22px 0 24px;
  font-size: clamp(48px, 5.4vw, 84px);
}
.pipe-offer-full-image-v24 {
  width: 100%;
  margin: clamp(42px, 6vw, 72px) 0 0;
  padding: 0;
}
.pipe-offer-full-image-v24 img {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  border-radius: 0;
  object-fit: contain;
}
.pipe-smoke-head-v23 {
  grid-template-columns: minmax(0, .98fr) minmax(320px, .52fr);
}
.pipe-smoke-figure-v23 {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.pipe-smoke-figure-v23 img {
  max-height: 760px;
}
.pipe-gallery-row-v23 {
  display: none !important;
}
.pipe-pix-under-image-v24 {
  margin-top: 18px;
}
.pipe-campaign-image-v23 img {
  border: 0;
  background: transparent;
}
.pipe-campaign-image-v23 figcaption.pix-card-v23 {
  display: block;
}
.pipe-acquire-panel-v23 {
  padding: 0;
  border: 0;
  background: transparent;
}
.pipe-acquire-panel-v23 img {
  border-radius: 30px;
  max-height: 520px;
  object-fit: cover;
}
.pipe-acquire-card-v23 p + .btn,
.pipe-acquire-card-v23 .btn {
  margin-top: 24px;
}
.pipe-acquire-card-v23 .btn-primary,
.pipe-acquire-card-v23 .btn-ghost-dark {
  background: #fff;
  color: #111;
  border-color: #fff;
}
.pipe-acquire-card-v23 .btn-primary:hover,
.pipe-acquire-card-v23 .btn-primary:focus-visible,
.pipe-acquire-card-v23 .btn-ghost-dark:hover,
.pipe-acquire-card-v23 .btn-ghost-dark:focus-visible {
  background: transparent;
  color: #111;
  border-color: #111;
}
.pipe-faq-list-v23 summary {
  padding-right: 72px;
}
.pipe-faq-list-v23 summary::after {
  content: '';
  position: absolute;
  right: 20px;
  top: 22px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #f6f4f1;
  border: 1px solid rgba(0,0,0,.07);
  transition: background .2s ease, transform .2s ease;
}
.pipe-faq-list-v23 summary::before {
  content: '';
  position: absolute;
  right: 34px;
  top: 34px;
  z-index: 2;
  width: 8px;
  height: 8px;
  border-right: 1px solid #8d7a69;
  border-bottom: 1px solid #8d7a69;
  transform: rotate(45deg);
  transition: transform .2s ease, top .2s ease;
}
.pipe-faq-list-v23 details[open] summary::after {
  transform: none;
}
.pipe-faq-list-v23 details[open] summary::before {
  top: 38px;
  transform: rotate(225deg);
}
.pipe-form-copy-v23 h2 {
  font-size: clamp(42px, 4vw, 74px);
  line-height: .96;
}
.pipe-contact-form-v23 {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: none;
}
.pipe-contact-form-v23 label > span {
  color: rgba(255,255,255,.74);
}
.pipe-contact-form-v23 input,
.pipe-contact-form-v23 select,
.pipe-contact-form-v23 textarea {
  background: rgba(255,255,255,.08);
  color: #fff7ed;
  border: 1px solid rgba(255,255,255,.2);
}
.pipe-contact-form-v23 input:focus,
.pipe-contact-form-v23 select:focus,
.pipe-contact-form-v23 textarea:focus {
  outline: 2px solid rgba(255,247,237,.34);
  outline-offset: 2px;
}
.pipe-contact-form-v23 select option {
  color: #1a1512;
}
.pipe-form-feedback-v23 {
  color: #fff7ed;
}
.pipe-form-feedback-v23.is-pending {
  color: rgba(255,255,255,.7);
}
.pipe-form-feedback-v23.is-error {
  color: #ffb2a6;
}
@media (max-width: 1100px) {
  .pipe-offer-split-v24,
  .pipe-smoke-head-v23 {
    grid-template-columns: 1fr;
  }
  .pipe-hero-showcase-v23 {
    justify-items: center;
  }
}
@media (max-width: 760px) {
  .pipe-hero-copy-v23 h1 {
    font-size: clamp(50px, 15vw, 72px);
  }
  #sentido-title,
  .pipe-offer-card-v23 h2,
  .pipe-form-copy-v23 h2 {
    font-size: clamp(38px, 11vw, 58px);
  }
  .pipe-page-v23 .btn {
    width: 100%;
  }
}

/* ==============================
   Cachimbo v25 — ajustes finais
   ============================== */
.pipe-page-v23 .btn {
  min-height: 46px;
  padding: 0 22px;
}
.pipe-hero-v23 {
  padding-bottom: 0;
}
.pipe-hero-grid-v23 {
  grid-template-columns: minmax(0, .9fr) minmax(390px, 1fr);
  gap: clamp(22px, 4vw, 56px);
  align-items: end;
}
.pipe-hero-copy-v23 {
  padding-bottom: clamp(54px, 7vw, 104px);
}
.pipe-hero-copy-v23 h1 {
  font-size: clamp(64px, 7.2vw, 102px);
}
.pipe-hero-showcase-v23 {
  align-self: end;
  place-items: end center;
  min-height: 0;
}
.pipe-hero-portrait-v23 {
  width: min(100%, 660px);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.pipe-hero-portrait-v23 img {
  width: 100%;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center bottom;
}
.pipe-editorial-copy-v23 h2 {
  font-size: clamp(48px, 5vw, 86px);
}
.pipe-offer-split-v24 {
  align-items: start;
}
.pipe-offer-split-v24 h2,
.pipe-offer-card-v23 h2 {
  font-size: clamp(36px, 3vw, 58px);
  line-height: 1.1;
  letter-spacing: -.045em;
}
.pipe-offer-aside-v24 {
  padding-top: 6px;
}
.pipe-offer-full-image-v24 {
  margin-top: clamp(34px, 5vw, 62px);
  margin-bottom: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.pipe-offer-full-image-v24 img {
  display: block;
  width: 100%;
  max-height: none;
  object-fit: contain;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.pipe-smoke-copy-v23 h2 {
  margin-bottom: clamp(28px, 4vw, 48px);
}
.pipe-smoke-copy-v23 > p:not(.eyebrow) {
  margin-bottom: clamp(26px, 3vw, 40px);
}
.pipe-smoke-notes-v25 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin-top: clamp(26px, 3vw, 42px);
  border-top: 1px dotted rgba(0,0,0,.18);
  border-bottom: 1px dotted rgba(0,0,0,.18);
}
.pipe-smoke-notes-v25 article {
  padding: 24px 26px 24px 0;
}
.pipe-smoke-notes-v25 article + article {
  padding-left: 26px;
  border-left: 1px dotted rgba(0,0,0,.22);
}
.pipe-smoke-notes-v25 h3 {
  margin: 0 0 10px;
  color: #282522;
  font-family: var(--serif);
  font-size: clamp(26px, 2.2vw, 38px);
  line-height: 1;
  letter-spacing: -.04em;
}
.pipe-smoke-notes-v25 p {
  margin: 0;
  color: #69625d;
  font-size: 16px;
  line-height: 1.62;
}
.pipe-smoke-figure-v23 {
  padding: 0;
  border: 0;
  background: transparent;
}
.pipe-smoke-figure-v23 img {
  border-radius: 18px;
}
.pipe-ritual-side-v25 {
  display: grid;
  gap: 22px;
}
.pipe-article-button-v25 {
  justify-self: start;
}
.pipe-campaign-section-v23 {
  border-top: 1px solid rgba(180,174,166,.42);
}
.pix-card-v23 strong {
  font-size: clamp(22px, 2.4vw, 36px);
}
.pipe-points-grid-v23 span {
  font-size: clamp(15px, 1.2vw, 18px);
  letter-spacing: .14em;
}
.pipe-acquire-panel-v23 {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.pipe-acquire-panel-v23 img {
  width: 100%;
  max-height: 470px;
  border-radius: 24px;
  object-fit: cover;
}
.pipe-collection-carousel-v25 {
  position: relative;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 52px;
  gap: 18px;
  align-items: center;
  margin-top: clamp(36px, 5vw, 62px);
}
.pipe-carousel-viewport-v25 {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px, 32%);
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 4px 0 10px;
}
.pipe-carousel-viewport-v25::-webkit-scrollbar { display: none; }
.pipe-carousel-card-v25 {
  scroll-snap-align: start;
  overflow: hidden;
  border-radius: 28px;
  background: #f6f4f1;
  border: 1px solid rgba(0,0,0,.08);
}
.pipe-carousel-card-v25 img {
  display: block;
  width: 100%;
  height: 310px;
  object-fit: contain;
  padding: 18px;
  background: #fff8ee;
}
.pipe-carousel-card-v25 span {
  display: block;
  padding: 16px 18px 18px;
  color: #2a2622;
  font: 800 12px/1.2 var(--sans);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.pipe-carousel-arrow-v25 {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.16);
  background: #fff;
  color: #2a2622;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.pipe-carousel-arrow-v25:hover,
.pipe-carousel-arrow-v25:focus-visible {
  background: #2a2622;
  color: #fff;
  border-color: #2a2622;
  transform: translateY(-2px);
}
.pipe-carousel-arrow-v25:disabled {
  opacity: .28;
  cursor: default;
  transform: none;
}
.pipe-faq-list-v23 {
  grid-template-columns: 1fr;
  max-width: 980px;
}
.pipe-faq-list-v23 summary {
  padding-right: 72px;
}
.pipe-faq-list-v23 summary::after {
  content: '⌄';
  right: 22px;
  top: 50%;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff7ed;
  color: #b36518;
  font: 300 24px/1 var(--sans);
  transform: translateY(-50%);
}
.pipe-faq-list-v23 details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}
.pipe-form-grid-v23 {
  grid-template-columns: minmax(260px, .36fr) minmax(0, 1fr);
}
.pipe-form-copy-v23 h2 {
  font-size: clamp(40px, 4vw, 72px);
}
.pipe-form-copy-v23 p {
  display: none;
}
.pipe-contact-form-v23 {
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: none;
}
.pipe-contact-form-v23 label > span {
  color: rgba(255,247,237,.72);
}
.pipe-contact-form-v23 input,
.pipe-contact-form-v23 select,
.pipe-contact-form-v23 textarea {
  color: #fff7ed;
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.16);
}
.pipe-contact-form-v23 input:focus,
.pipe-contact-form-v23 select:focus,
.pipe-contact-form-v23 textarea:focus {
  outline: none;
  border-color: rgba(255,247,237,.7);
  box-shadow: 0 0 0 3px rgba(255,247,237,.08);
}
.pipe-contact-form-v23 option {
  color: #1c1511;
}
.pipe-form-feedback-v23 {
  color: #fff7ed;
}
@media (max-width: 1100px) {
  .pipe-hero-v23 { padding-bottom: clamp(54px, 7vw, 90px); }
  .pipe-hero-copy-v23 { padding-bottom: 0; }
  .pipe-hero-grid-v23,
  .pipe-form-grid-v23 { grid-template-columns: 1fr; }
  .pipe-carousel-viewport-v25 { grid-auto-columns: minmax(260px, 46%); }
}
@media (max-width: 760px) {
  .pipe-page-v23 .btn { min-height: 44px; }
  .pipe-smoke-notes-v25 { grid-template-columns: 1fr; }
  .pipe-smoke-notes-v25 article,
  .pipe-smoke-notes-v25 article + article { padding: 22px 0; border-left: 0; }
  .pipe-smoke-notes-v25 article + article { border-top: 1px dotted rgba(0,0,0,.22); }
  .pipe-collection-carousel-v25 { grid-template-columns: 44px minmax(0,1fr) 44px; gap: 10px; }
  .pipe-carousel-arrow-v25 { width: 44px; height: 44px; font-size: 28px; }
  .pipe-carousel-viewport-v25 { grid-auto-columns: 86%; }
  .pipe-carousel-card-v25 img { height: 260px; }
}

/* ==============================
   Cachimbo v26 — ajustes finais
   ============================== */
.pipe-collection-carousel-v25 {
  grid-template-columns: 46px minmax(0, 1fr) 46px;
  gap: 14px;
  align-items: center;
}
.pipe-carousel-viewport-v25 {
  grid-auto-columns: minmax(220px, 19%);
  gap: clamp(18px, 2vw, 28px);
  padding: 4px 0 12px;
}
.pipe-carousel-card-v25 {
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.pipe-carousel-card-v25 img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / .82;
  object-fit: contain;
  padding: 0;
  border-radius: 12px;
  background: transparent;
}
.pipe-carousel-card-v25 span {
  display: none;
}
.pipe-carousel-arrow-v25 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border-radius: 50%;
  background: #fff;
  color: #25211e;
  font-family: var(--sans);
  font-size: 30px;
  font-weight: 300;
  line-height: 1;
  text-align: center;
}
.pipe-carousel-arrow-v25:hover,
.pipe-carousel-arrow-v25:focus-visible {
  transform: none;
}
.pipe-faq-list-v23 {
  grid-template-columns: 1fr !important;
  max-width: 980px;
}
.pipe-faq-list-v23 summary {
  padding-right: 78px;
}
.pipe-faq-list-v23 summary::before {
  content: none !important;
  display: none !important;
}
.pipe-faq-list-v23 summary::after {
  content: '⌄' !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  right: 22px;
  top: 50%;
  width: 38px;
  height: 38px;
  padding: 0;
  border-radius: 50%;
  background: #fff7ed;
  color: #b36518;
  font-family: var(--sans);
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
  transform: translateY(-50%) !important;
}
.pipe-faq-list-v23 details[open] summary::after {
  transform: translateY(-50%) rotate(180deg) !important;
}
.pipe-form-copy-v23 .eyebrow {
  display: block !important;
}
.pipe-form-copy-v23 .pipe-form-intro-v26 {
  display: block !important;
  margin-top: 22px;
  color: rgba(255,247,237,.72);
  font-size: clamp(17px, 1.25vw, 20px);
  line-height: 1.7;
}
@media (max-width: 1100px) {
  .pipe-carousel-viewport-v25 { grid-auto-columns: minmax(220px, 30%); }
}
@media (max-width: 760px) {
  .pipe-collection-carousel-v25 { grid-template-columns: 42px minmax(0,1fr) 42px; gap: 10px; }
  .pipe-carousel-arrow-v25 { width: 42px; height: 42px; font-size: 27px; }
  .pipe-carousel-viewport-v25 { grid-auto-columns: 78%; }
  .pipe-carousel-card-v25 img { height: auto; }
}

/* ==============================
   Cachimbo v27 — fechamento UX/UI
   ============================== */
.pipe-page-v23 {
  --pipe-title-hero: clamp(62px, 7.2vw, 102px);
  --pipe-title-origin: clamp(46px, 5vw, 82px);
  --pipe-title-offer: clamp(36px, 3vw, 58px);
  --pipe-title-smoke: clamp(50px, 6vw, 96px);
  --pipe-title-art: clamp(50px, 6vw, 96px);
  --pipe-title-campaign: clamp(50px, 6vw, 96px);
  --pipe-title-collectors: clamp(50px, 6vw, 96px);
  --pipe-title-faq: clamp(50px, 6vw, 96px);
  --pipe-title-form: clamp(40px, 4vw, 72px);
}
.pipe-hero-copy-v23 h1 { font-size: var(--pipe-title-hero) !important; }
#sentido-title { font-size: var(--pipe-title-origin) !important; }
.pipe-offer-card-v23 h2 { font-size: var(--pipe-title-offer) !important; }
.pipe-smoke-copy-v23 h2 { font-size: var(--pipe-title-smoke) !important; }
.pipe-ritual-copy-v23 h2 { font-size: var(--pipe-title-art) !important; }
.pipe-campaign-copy-v23 h2 { font-size: var(--pipe-title-campaign) !important; }
.pipe-acquire-grid-v23 h2 { font-size: var(--pipe-title-collectors) !important; }
.pipe-faq-head-v23 h2 { font-size: var(--pipe-title-faq) !important; }
.pipe-form-copy-v23 h2 { font-size: var(--pipe-title-form) !important; }
.pipe-article-button-v25 {
  justify-self: center !important;
  margin-inline: auto !important;
}
.pipe-carousel-viewport-v25 {
  grid-auto-columns: minmax(220px, 19%) !important;
}
.pipe-carousel-card-v25 {
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
.pipe-lightbox-trigger-v27 {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}
.pipe-carousel-card-v25 img {
  display: block;
  width: 100%;
  height: auto !important;
  aspect-ratio: 1 / .82;
  object-fit: contain;
  padding: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
}
.pipe-carousel-arrow-v25 {
  position: relative;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 1 !important;
}
.pipe-carousel-arrow-v25::before {
  content: attr(data-arrow);
  display: block;
  font: 300 30px/1 var(--sans);
  transform: translateY(-1px);
}
.pipe-lightbox-v27 {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: clamp(24px, 4vw, 52px);
  background: rgba(13, 11, 10, .88);
  backdrop-filter: blur(8px);
}
.pipe-lightbox-v27[hidden] { display: none !important; }
.pipe-lightbox-figure-v27 {
  width: min(92vw, 1040px);
  max-height: 86vh;
  margin: 0;
  display: grid;
  place-items: center;
}
.pipe-lightbox-figure-v27 img {
  display: block;
  max-width: 100%;
  max-height: 82vh;
  border-radius: 18px;
  box-shadow: 0 28px 90px rgba(0,0,0,.35);
}
.pipe-lightbox-close-v27,
.pipe-lightbox-nav-v27 {
  position: fixed;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.24);
  background: rgba(255,247,237,.94);
  color: #231b15;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.pipe-lightbox-close-v27 {
  top: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  font: 300 32px/1 var(--sans);
}
.pipe-lightbox-nav-v27 {
  top: 50%;
  width: 52px;
  height: 52px;
  font: 300 34px/1 var(--sans);
  transform: translateY(-50%);
}
.pipe-lightbox-prev-v27 { left: 24px; }
.pipe-lightbox-next-v27 { right: 24px; }
.pipe-lightbox-close-v27:hover,
.pipe-lightbox-close-v27:focus-visible,
.pipe-lightbox-nav-v27:hover,
.pipe-lightbox-nav-v27:focus-visible {
  background: #231b15;
  color: #fff7ed;
  transform: translateY(-2px);
}
.pipe-lightbox-nav-v27:hover,
.pipe-lightbox-nav-v27:focus-visible { transform: translateY(-50%) scale(1.04); }
.pipe-faq-list-v23 summary::before {
  content: none !important;
  display: none !important;
}
.pipe-faq-list-v23 summary::after {
  content: '⌄' !important;
  display: grid !important;
  place-items: center !important;
  right: 22px !important;
  top: 50% !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  border-radius: 50%;
  background: #fff7ed;
  color: #b36518;
  font: 300 21px/1 var(--sans) !important;
  text-align: center;
  transform: translateY(-50%) !important;
}
.pipe-faq-list-v23 details[open] summary::after {
  transform: translateY(-50%) rotate(180deg) !important;
}
.pipe-contact-form-v23 select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 58px !important;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(255,247,237,.78) 50%),
    linear-gradient(135deg, rgba(255,247,237,.78) 50%, transparent 50%);
  background-position:
    calc(100% - 26px) 52%,
    calc(100% - 18px) 52%;
  background-size: 8px 8px, 8px 8px;
  background-repeat: no-repeat;
}
.pipe-interest-guide-v27 {
  display: grid;
  gap: 12px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}
.pipe-interest-guide-v27 li {
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,247,237,.14);
  background: rgba(255,255,255,.045);
}
.pipe-interest-guide-v27 strong {
  display: block;
  color: #fff7ed;
  font: 800 12px/1.2 var(--sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pipe-interest-guide-v27 span {
  display: block;
  margin-top: 8px;
  color: rgba(255,247,237,.68);
  font-size: 15px;
  line-height: 1.55;
}
@media (max-width: 1100px) {
  .pipe-carousel-viewport-v25 { grid-auto-columns: minmax(220px, 30%) !important; }
}
@media (max-width: 760px) {
  .pipe-page-v23 {
    --pipe-title-hero: clamp(50px, 15vw, 72px);
    --pipe-title-origin: clamp(38px, 11vw, 58px);
    --pipe-title-offer: clamp(38px, 11vw, 58px);
    --pipe-title-smoke: clamp(42px, 13vw, 64px);
    --pipe-title-art: clamp(42px, 13vw, 64px);
    --pipe-title-campaign: clamp(42px, 13vw, 64px);
    --pipe-title-collectors: clamp(42px, 13vw, 64px);
    --pipe-title-faq: clamp(42px, 13vw, 64px);
    --pipe-title-form: clamp(38px, 11vw, 58px);
  }
  .pipe-carousel-viewport-v25 { grid-auto-columns: 78% !important; }
  .pipe-carousel-arrow-v25::before { font-size: 27px; }
  .pipe-lightbox-close-v27 { top: 16px; right: 16px; width: 44px; height: 44px; }
  .pipe-lightbox-nav-v27 { width: 44px; height: 44px; font-size: 28px; }
  .pipe-lightbox-prev-v27 { left: 12px; }
  .pipe-lightbox-next-v27 { right: 12px; }
  .pipe-article-button-v25 { justify-self: center !important; margin-inline: auto !important; }
}


/* ==============================
   Cachimbo v29 — imagens reais e setas refinadas
   ============================== */
.pipe-carousel-card-v25 img {
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 12px !important;
}
.pipe-carousel-arrow-v25 {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 50px !important;
  height: 50px !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px;
  overflow: hidden;
}
.pipe-carousel-arrow-v25::before {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 10px !important;
  height: 10px !important;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: 0;
  transform-origin: center center;
}
.pipe-carousel-arrow-v25[data-pipe-prev]::before {
  transform: translate(-38%, -50%) rotate(-135deg) !important;
}
.pipe-carousel-arrow-v25[data-pipe-next]::before {
  transform: translate(-62%, -50%) rotate(45deg) !important;
}
.pipe-lightbox-nav-v27,
.pipe-lightbox-close-v27 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}
.pipe-lightbox-nav-v27 {
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px;
  overflow: hidden;
}
.pipe-lightbox-nav-v27::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 11px;
  height: 11px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform-origin: center center;
}
.pipe-lightbox-prev-v27::before {
  transform: translate(-38%, -50%) rotate(-135deg);
}
.pipe-lightbox-next-v27::before {
  transform: translate(-62%, -50%) rotate(45deg);
}
.pipe-lightbox-figure-v27 img {
  max-width: min(94vw, 1180px) !important;
  max-height: 86vh !important;
  object-fit: contain;
}
.pipe-faq-list-v23 summary::after {
  content: '' !important;
  position: absolute !important;
  right: 22px !important;
  top: 50% !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: #fff7ed !important;
  transform: translateY(-50%) !important;
  z-index: 1;
}
.pipe-faq-list-v23 summary::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  right: 37px !important;
  top: 50% !important;
  width: 8px !important;
  height: 8px !important;
  border-right: 1.5px solid #b36518 !important;
  border-bottom: 1.5px solid #b36518 !important;
  background: transparent !important;
  transform: translateY(-65%) rotate(45deg) !important;
  z-index: 2 !important;
}
.pipe-faq-list-v23 details[open] summary::after {
  transform: translateY(-50%) !important;
}
.pipe-faq-list-v23 details[open] summary::before {
  transform: translateY(-35%) rotate(-135deg) !important;
}
@media (max-width: 760px) {
  .pipe-carousel-arrow-v25 { width: 44px !important; height: 44px !important; }
  .pipe-carousel-arrow-v25::before,
  .pipe-lightbox-nav-v27::before { width: 9px !important; height: 9px !important; }
}


/* v30 — refinamento técnico final do rodapé compartilhado */
.footer-social-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}
.footer-social-row .footer-social {
  margin-top: 0;
}
.footer-contact-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid rgba(255,248,237,.28);
  border-radius: 999px;
  background: transparent;
  color: #fff8ed;
  font: 800 12px/1 var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.footer-contact-button:hover,
.footer-contact-button:focus-visible {
  background: #000;
  color: #fff;
  border-color: #5d5a55;
  outline: none;
  transform: translateY(-2px);
}
.footer-bottom small,
.footer-credit-links a {
  color: rgba(255,248,237,.70);
  font-size: 13px;
  line-height: 1.5;
}
.footer-credit-links a:hover,
.footer-credit-links a:focus-visible {
  color: #fff8ed;
}
