.page { background: var(--paper); }
.page .site-header { mix-blend-mode: difference; }
.page-main { overflow: hidden; }
.page-shell { width: min(100%, var(--max)); margin-inline: auto; padding-inline: var(--pad); }

.breadcrumbs { display: flex; flex-wrap: wrap; gap: .55rem; padding-top: 7.5rem; color: #69707a; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.breadcrumbs a { color: inherit; }
.breadcrumbs a:hover { color: var(--blue); }

.page-hero { min-height: min(900px, 100svh); display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem, 7vw, 8rem); align-items: center; padding-top: clamp(3rem, 6vw, 6rem); padding-bottom: clamp(5rem, 9vw, 9rem); }
.page-hero__copy h1, .page-statement h2, .page-heading h2, .process-head h2, .visit-map h2 { margin: 0; font-family: var(--display); font-weight: 900; line-height: .86; letter-spacing: -.075em; text-transform: uppercase; text-wrap: balance; }
.page-hero__copy h1 { font-size: clamp(4rem, 9vw, 9.5rem); }
.page-hero__copy p { max-width: 600px; margin: 2rem 0 0; color: #4e5661; font-size: clamp(1rem, 1.5vw, 1.25rem); line-height: 1.65; }
.page-hero__actions { display: flex; flex-wrap: wrap; gap: 1.2rem; margin-top: 2.3rem; }
.page-hero__media { height: min(72vw, 780px); margin: 0; overflow: hidden; }
.page-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.editorial-photo figcaption, .collection-figure figcaption { margin-top: .75rem; color: #737a83; font-size: .68rem; line-height: 1.45; }

.page-statement { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(2rem, 8vw, 10rem); align-items: end; padding-top: clamp(7rem, 13vw, 13rem); padding-bottom: clamp(7rem, 13vw, 13rem); }
.page-statement h2, .page-heading h2, .process-head h2, .visit-map h2 { font-size: clamp(3.6rem, 8vw, 8.5rem); }
.page-statement p, .page-heading p, .process-head p { max-width: 570px; margin: 0; color: #555d67; font-size: clamp(1rem, 1.5vw, 1.24rem); line-height: 1.65; }

.editorial-rows { border-top: 1px solid rgba(7,9,13,.18); }
.editorial-row { display: grid; grid-template-columns: minmax(190px, .55fr) 1.45fr; gap: clamp(2rem, 7vw, 8rem); padding-block: clamp(3rem, 6vw, 6rem); border-bottom: 1px solid rgba(7,9,13,.18); }
.editorial-row h3 { margin: 0; font: 900 clamp(2.3rem, 5vw, 5.2rem)/.94 var(--display); letter-spacing: -.065em; text-transform: uppercase; }
.editorial-row__body { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.editorial-row__body p { margin: 0; color: #555d67; line-height: 1.65; }
.editorial-row__body ul { margin: 0; padding: 0; list-style: none; }
.editorial-row__body li { padding-block: .7rem; border-bottom: 1px solid rgba(7,9,13,.13); font-weight: 800; }

.page-heading { display: flex; justify-content: space-between; gap: 3rem; align-items: end; margin-bottom: clamp(3.5rem, 7vw, 7rem); }
.photo-ribbon { display: flex; gap: clamp(1rem, 2vw, 2rem); overflow-x: auto; padding-bottom: 1.2rem; scrollbar-color: var(--blue) rgba(7,9,13,.12); }
.photo-ribbon figure { flex: 0 0 min(72vw, 530px); height: min(96vw, 690px); margin: 0; }
.photo-ribbon figure:nth-child(even) { margin-top: 4rem; }
.photo-ribbon img { width: 100%; height: 100%; object-fit: cover; }

.split-feature { display: grid; grid-template-columns: 1fr 1fr; min-height: 80vh; margin-top: clamp(7rem, 13vw, 13rem); }
.split-feature__media { min-height: 650px; }
.split-feature__media img { width: 100%; height: 100%; object-fit: cover; }
.split-feature__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(3rem, 8vw, 9rem); background: #071224; color: #fff; }
.split-feature__copy h2 { margin: 0; font: 900 clamp(3.2rem, 6.7vw, 7rem)/.88 var(--display); letter-spacing: -.07em; text-transform: uppercase; }
.split-feature__copy p { max-width: 540px; margin: 2rem 0 0; color: rgba(255,255,255,.64); line-height: 1.65; }
.split-feature__copy .text-link { margin-top: 2rem; }

.page-cta { display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: end; padding-top: clamp(7rem, 12vw, 12rem); padding-bottom: clamp(7rem, 12vw, 12rem); }
.page-cta h2 { max-width: 1000px; margin: 0; font: 900 clamp(3.4rem, 8vw, 8rem)/.88 var(--display); letter-spacing: -.075em; text-transform: uppercase; }

/* Loja */
.page--loja .page-hero__media { height: min(65vw, 720px); }
.generation-index { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: clamp(6rem, 10vw, 10rem); background: rgba(7,9,13,.18); }
.generation-index a { min-height: 230px; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(1.3rem, 3vw, 2.6rem); background: var(--paper); transition: background .25s, color .25s; }
.generation-index a:hover { color: #fff; background: #071224; }
.generation-index strong { font: 900 clamp(2rem, 4vw, 4rem)/.9 var(--display); letter-spacing: -.06em; text-transform: uppercase; }
.generation-index span { color: #6c737c; font-size: .74rem; line-height: 1.5; }
.generation-index a:hover span { color: rgba(255,255,255,.64); }

/* Assistência */
.page--assistencia { color: #eef8ff; background: #06101c; }
.page--assistencia .site-header { mix-blend-mode: normal; background: linear-gradient(180deg, rgba(3,9,17,.94), rgba(3,9,17,.6) 72%, transparent); backdrop-filter: blur(10px); }
.page--assistencia .breadcrumbs, .page--assistencia .page-hero__copy p, .page--assistencia .page-statement p, .page--assistencia .page-heading p, .page--assistencia .process-head p { color: rgba(238,248,255,.58); }
.page--assistencia .assist-hero { min-height: 0; grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr); gap: clamp(2.5rem, 6vw, 7rem); align-items: center; padding-top: clamp(3rem, 5vw, 5rem); padding-bottom: clamp(6rem, 10vw, 10rem); }
.page--assistencia .assist-hero h1 { max-width: 830px; font-size: clamp(4rem, 7.2vw, 7.8rem); }
.page--assistencia .assist-hero .page-hero__copy > p { max-width: 680px; }
.page--assistencia .assist-hero .page-hero__actions { align-items: center; gap: 1.4rem; }
.page--assistencia .assist-hero .page-hero__media { position: relative; height: min(62vw, 720px); min-height: 540px; }
.page--assistencia .assist-hero .page-hero__media::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(57,219,255,.18); pointer-events: none; background: linear-gradient(90deg, rgba(6,16,28,.18), transparent 48%); }
.page--assistencia .assist-hero .page-hero__media img { object-position: 48% center; }
.assist-hero__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: clamp(2.5rem, 4vw, 4rem) 0 0; border-top: 1px solid rgba(255,255,255,.14); padding-top: 1.2rem; }
.assist-hero__facts div { min-width: 0; }
.assist-hero__facts dt { color: var(--cyan); font-size: .48rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.assist-hero__facts dd { margin: .45rem 0 0; color: rgba(238,248,255,.75); font-size: .69rem; line-height: 1.45; }
.assist-statement { padding-top: clamp(5rem, 9vw, 9rem); padding-bottom: clamp(6rem, 10vw, 10rem); }
.page--assistencia .editorial-rows { border-color: rgba(255,255,255,.14); }
.page--assistencia .editorial-row { border-color: rgba(255,255,255,.14); }
.page--assistencia .editorial-row__body p { color: rgba(238,248,255,.58); }
.page--assistencia .editorial-row__body li { border-color: rgba(255,255,255,.13); }
.assist-service { grid-template-columns: 2.5rem minmax(340px, .78fr) minmax(0, 1.22fr); gap: clamp(1.5rem, 3vw, 3.5rem); align-items: start; padding-block: clamp(3rem, 4.5vw, 4.8rem); }
.assist-service > span { color: var(--cyan); font: 900 .8rem/1 var(--display); }
.assist-service h3 { min-width: 0; font-size: clamp(2.35rem, 3.5vw, 3.9rem); overflow-wrap: normal; }
.assist-service .editorial-row__body { min-width: 0; }
.lab-sequence { position: relative; padding-top: clamp(7rem, 13vw, 13rem); padding-bottom: clamp(7rem, 13vw, 13rem); }
.lab-sequence::before { content: ""; position: absolute; inset: 0; opacity: .11; background-image: linear-gradient(rgba(57,219,255,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(57,219,255,.18) 1px, transparent 1px); background-size: 62px 62px; }
.process-head { position: relative; display: grid; grid-template-columns: 1.25fr .75fr; gap: 4rem; align-items: end; }
.process-list { position: relative; width: min(100%, 1180px); margin: clamp(4rem, 8vw, 8rem) 0 0 auto; }
.process-step { display: grid; grid-template-columns: 5rem 1fr 1fr; gap: clamp(1rem, 4vw, 5rem); padding-block: clamp(2rem, 4vw, 4rem); border-top: 1px solid rgba(255,255,255,.17); }
.process-step:last-child { border-bottom: 1px solid rgba(255,255,255,.17); }
.process-step > span { color: var(--cyan); font: 900 1.1rem/1 var(--display); }
.process-step h3 { margin: 0; font: 900 clamp(2rem, 4vw, 4.4rem)/.95 var(--display); letter-spacing: -.06em; text-transform: uppercase; }
.process-step p { margin: 0; color: rgba(238,248,255,.58); line-height: 1.65; }
.assist-gallery { padding-top: clamp(7rem, 12vw, 12rem); padding-bottom: clamp(7rem, 12vw, 12rem); }
.page--assistencia .assist-gallery .photo-ribbon figure { height: min(76vw, 620px); }
.assist-cta { border-top: 1px solid rgba(255,255,255,.14); }
.assist-cta > div { max-width: 960px; }
.assist-cta p { max-width: 630px; margin: 1.6rem 0 0; color: rgba(238,248,255,.58); font-size: clamp(.95rem, 1.4vw, 1.15rem); line-height: 1.65; }

/* Arquivo */
.page--arquivo { color: #fff; background: #07090d; }
.page--arquivo .breadcrumbs, .page--arquivo .page-hero__copy p, .page--arquivo .page-statement p, .page--arquivo .page-heading p { color: rgba(255,255,255,.58); }
.page--arquivo .page-hero { grid-template-columns: 1fr .9fr; }
.page--arquivo .page-hero__media { height: min(76vw, 840px); }
.collection-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(1rem, 2vw, 2rem); }
.collection-figure { grid-column: span 5; margin: 0 0 clamp(4rem, 8vw, 8rem); }
.collection-figure:nth-child(2), .collection-figure:nth-child(5) { grid-column: 7 / span 6; margin-top: 9rem; }
.collection-figure:nth-child(3) { grid-column: 2 / span 7; }
.collection-figure:nth-child(4) { grid-column: 9 / span 4; }
.collection-figure img { width: 100%; height: min(58vw, 740px); object-fit: cover; }
.collection-figure:nth-child(4) img { height: min(45vw, 570px); }
.collection-figure h3 { margin: 1.25rem 0 0; font: 900 clamp(2rem, 4vw, 4rem)/.95 var(--display); letter-spacing: -.06em; text-transform: uppercase; }
.collection-figure p { max-width: 470px; color: rgba(255,255,255,.55); line-height: 1.55; }
.collection-grid--clean { gap: clamp(.8rem, 1.5vw, 1.4rem); padding-bottom: clamp(7rem, 12vw, 12rem); }
.collection-grid--clean .collection-figure, .collection-grid--clean .collection-figure:nth-child(2), .collection-grid--clean .collection-figure:nth-child(3), .collection-grid--clean .collection-figure:nth-child(4), .collection-grid--clean .collection-figure:nth-child(5) { grid-column: span 4; margin: 0; }
.collection-grid--clean .collection-figure:nth-child(1) { grid-column: span 7; }
.collection-grid--clean .collection-figure:nth-child(2) { grid-column: span 5; }
.collection-grid--clean .collection-figure img, .collection-grid--clean .collection-figure:nth-child(4) img { height: clamp(300px, 32vw, 520px); }
.collection-grid--clean .collection-figure:nth-child(-n+2) img { height: clamp(430px, 48vw, 720px); }

/* Trocas */
.page--trocas { color: #fff; background: #081426; }
.page--trocas .breadcrumbs, .page--trocas .page-hero__copy p, .page--trocas .page-statement p, .page--trocas .page-heading p { color: rgba(255,255,255,.58); }
.page--trocas .page-hero__media { background: radial-gradient(circle at 50% 45%, rgba(57,219,255,.15), transparent 58%); }
.page--trocas .page-hero__media img { object-fit: contain; }
.trade-rules { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(2rem, 5vw, 6rem); padding-bottom: clamp(7rem, 12vw, 12rem); }
.trade-rule { border-top: 1px solid rgba(255,255,255,.2); padding-top: 1.5rem; }
.trade-rule h3 { margin: 0; font: 900 clamp(2rem, 3.5vw, 3.8rem)/.95 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.trade-rule p { color: rgba(255,255,255,.56); line-height: 1.6; }

/* Kids */
.page--kids { color: #08101e; background: #ffd348; }
.page--kids .breadcrumbs { color: rgba(8,16,30,.6); }
.page--kids .page-hero { grid-template-columns: 1.1fr .9fr; }
.page--kids .page-hero__copy h1 { font-size: clamp(6rem, 16vw, 18rem); }
.page--kids .page-hero__copy p, .page--kids .page-statement p, .page--kids .page-heading p { color: rgba(8,16,30,.68); }
.page--kids .page-hero__media { height: min(68vw, 740px); border-radius: 50% 50% 0 0; }
.kids-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(8,16,30,.24); }
.kids-path { min-height: 48vw; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(2rem, 5vw, 5rem); background: #fff4c8; }
.kids-path:nth-child(2) { background: #58c8ff; }
.kids-path:nth-child(3) { background: #ff6f78; }
.kids-path:nth-child(4) { background: #fff; }
.kids-path h3 { margin: 0; font: 900 clamp(3rem, 8vw, 8rem)/.86 var(--display); letter-spacing: -.08em; text-transform: uppercase; }
.kids-path p { max-width: 430px; line-height: 1.55; }

/* Visite */
.page--visite .page-hero { grid-template-columns: 1fr 1fr; }
.visit-map { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 8vw, 9rem); padding-top: clamp(7rem, 12vw, 12rem); padding-bottom: clamp(7rem, 12vw, 12rem); }
.visit-map__details { display: grid; align-content: end; gap: 2.5rem; }
.visit-map__details p { margin: 0; }
.visit-map__details span { display: block; margin-bottom: .55rem; color: #6b727c; font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.visit-map__details strong { font-size: clamp(1.2rem, 2vw, 1.7rem); line-height: 1.45; }
.community-mosaic { display: grid; grid-template-columns: 1.2fr .8fr; gap: 1rem; padding-bottom: clamp(8rem, 13vw, 13rem); }
.community-mosaic figure { height: min(68vw, 780px); margin: 0; }
.community-mosaic figure:last-child { height: min(54vw, 620px); margin-top: 8rem; }
.community-mosaic img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 980px) {
  .page-hero, .page-statement, .process-head, .visit-map { grid-template-columns: 1fr; }
  .page-hero { padding-top: 4rem; }
  .page-hero__media { height: 75vw; }
  .editorial-row { grid-template-columns: 1fr; }
  .page--assistencia .assist-hero { grid-template-columns: 1fr; }
  .page--assistencia .assist-hero .page-hero__media { width: min(100%, 760px); height: 72vw; min-height: 500px; }
  .assist-service { grid-template-columns: 3rem 1fr; }
  .assist-service h3, .assist-service .editorial-row__body { grid-column: 2; }
  .generation-index { grid-template-columns: 1fr 1fr; }
  .page--arquivo .page-hero, .page--kids .page-hero, .page--visite .page-hero { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .breadcrumbs { padding-top: 6rem; }
  .page-hero { min-height: 0; gap: 3rem; padding-bottom: 5rem; }
  .page-hero__copy h1 { max-width: 100%; font-size: clamp(3.25rem, 15vw, 5.1rem); overflow-wrap: normal; }
  .page-hero__actions { display: grid; grid-template-columns: 1fr; justify-items: start; gap: 1rem; }
  .page-hero__actions .button { width: 100%; }
  .page-hero__media { height: 115vw; }
  .page--assistencia .assist-hero { gap: 2.5rem; padding-top: 2rem; padding-bottom: 5.5rem; }
  .page--assistencia .assist-hero h1 { font-size: clamp(3.1rem, 14.7vw, 4.9rem); }
  .page--assistencia .assist-hero .page-hero__media { width: 100%; height: 112vw; min-height: 0; }
  .assist-hero__facts { grid-template-columns: 1fr; gap: 0; }
  .assist-hero__facts div { display: grid; grid-template-columns: .72fr 1.28fr; gap: .75rem; padding-block: .75rem; border-bottom: 1px solid rgba(255,255,255,.1); }
  .assist-hero__facts dd { margin: 0; }
  .page-statement, .page-cta { display: grid; grid-template-columns: 1fr; }
  .page-statement h2, .page-heading h2, .process-head h2, .visit-map h2 { font-size: clamp(3.2rem, 15vw, 5.4rem); }
  .editorial-row__body { grid-template-columns: 1fr; }
  .assist-service { grid-template-columns: 2.2rem 1fr; gap: 1rem; }
  .assist-service h3, .assist-service .editorial-row__body { grid-column: 2; }
  .assist-service h3 { font-size: clamp(2.4rem, 13vw, 4rem); }
  .generation-index { grid-template-columns: 1fr; }
  .generation-index a { min-height: 190px; }
  .page-heading { display: grid; }
  .split-feature { grid-template-columns: 1fr; }
  .split-feature__media { min-height: 110vw; }
  .process-step { grid-template-columns: 2.5rem 1fr; }
  .process-step p { grid-column: 2; }
  .assist-gallery .photo-ribbon figure, .page--assistencia .assist-gallery .photo-ribbon figure { flex-basis: 82vw; height: 108vw; }
  .assist-gallery .photo-ribbon figure:nth-child(even) { margin-top: 1.5rem; }
  .assist-cta { align-items: start; }
  .collection-grid { display: block; }
  .collection-figure, .collection-figure:nth-child(2), .collection-figure:nth-child(3), .collection-figure:nth-child(4), .collection-figure:nth-child(5) { margin: 0 0 5rem; }
  .collection-figure img, .collection-figure:nth-child(4) img { height: 115vw; }
  .collection-grid--clean .collection-figure, .collection-grid--clean .collection-figure:nth-child(2), .collection-grid--clean .collection-figure:nth-child(3), .collection-grid--clean .collection-figure:nth-child(4), .collection-grid--clean .collection-figure:nth-child(5) { margin-bottom: 1rem; }
  .collection-grid--clean .collection-figure img, .collection-grid--clean .collection-figure:nth-child(4) img, .collection-grid--clean .collection-figure:nth-child(-n+2) img { height: 92vw; }
  .trade-rules { grid-template-columns: 1fr; }
  .page--kids .page-hero__copy h1 { font-size: 30vw; }
  .page--kids .page-hero__media { height: 100vw; }
  .kids-paths { grid-template-columns: 1fr; }
  .kids-path { min-height: 100vw; }
  .community-mosaic { grid-template-columns: 1fr; }
  .community-mosaic figure, .community-mosaic figure:last-child { height: 120vw; margin-top: 0; }
}
