/* Tortuga — landing exclusiva. Tokens do CSS real de tortugabackpacks.com (MARCA.json); sem degradê, como a home. */

/* Fontes: equivalentes OFL das licenciadas (Owners → Archivo, OwnersNarrow → Archivo Narrow). Ver DIRECAO.md §7. */
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:local('Archivo Regular'),local('Archivo-Regular'),url(fonts/archivo-400.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:local('Archivo Medium'),local('Archivo-Medium'),url(fonts/archivo-500.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:local('Archivo Bold'),local('Archivo-Bold'),url(fonts/archivo-700.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-display:swap;src:local('Archivo ExtraBold'),local('Archivo-ExtraBold'),url(fonts/archivo-800.woff2) format('woff2')}
@font-face{font-family:'Archivo Narrow';font-style:normal;font-weight:600;font-display:swap;src:local('Archivo Narrow SemiBold'),local('ArchivoNarrow-SemiBold'),url(fonts/archivo-narrow-600.woff2) format('woff2')}
@font-face{font-family:'Archivo Narrow';font-style:normal;font-weight:700;font-display:swap;src:local('Archivo Narrow Bold'),local('ArchivoNarrow-Bold'),url(fonts/archivo-narrow-700.woff2) format('woff2')}

:root{
  /* primitivos (variáveis do site real) */
  --verde:#01462b;          /* --btn-primary-bg */
  --verde-vivo:#015f3a;     /* --btn-primary-bg-brighter */
  --areia:#f8f7f6;          /* --color-bg-accent */
  --branco:#ffffff;         /* --color-bg */
  --preto:#000000;          /* --color-text */
  --grafite:#4d4d4d;        /* --color-text-light */
  --vitrine:#f5f5f4;        /* fundo das fotos de produto da vitrine */
  --liquida:#b32428;        /* --color-sale */
  --etiqueta:#e1c16e;       /* --color-badge-bg */
  --risco:#dcd8d2;          /* fio claro entre itens */
  /* papéis */
  --tx:var(--preto);
  --tx-2:var(--grafite);
  --acao:var(--verde);
  --sobre-escuro:var(--branco);
  --fundo-acento:var(--areia);
  /* medidas */
  --max:1340px;
  --margem:clamp(20px,3.5vw,50px);
  --encosto:max(var(--margem),calc((100vw - var(--max)) / 2 + var(--margem)));
  --respiro:clamp(64px,8vw,120px);
  --h2:clamp(2.25rem,1.35rem + 2.5vw,3.5rem);
  --titulo:'Archivo Narrow','Arial Narrow','Roboto Condensed','Helvetica Neue',Arial,sans-serif;
  --texto:'Archivo','Helvetica Neue',Arial,sans-serif;
  --sai:cubic-bezier(.23,1,.32,1);
  --vai-e-vem:cubic-bezier(.77,0,.175,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:24px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%}
body{margin:0;background-color:var(--branco);color:var(--tx);font:400 16px/1.55 var(--texto)}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
h1,h2,h3,h4{margin:0;text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
blockquote{margin:0}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:from-font}
html,body{overflow-x:clip}
a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:rgba(1,70,43,.12)}
button{font:inherit;color:inherit}
::selection{background:var(--verde);color:var(--branco)}
:focus-visible{outline:3px solid var(--verde);outline-offset:3px}
.so-leitor{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

main > section{overflow-x:clip}
.largura{max-width:var(--max);margin-inline:auto;padding-inline:var(--margem)}

h2{font:700 var(--h2)/1.02 var(--titulo);letter-spacing:.005em;margin-bottom:24px;font-stretch:condensed}
h3{font:700 clamp(1.35rem,1.1rem + .7vw,1.75rem)/1.1 var(--titulo);margin-bottom:12px;font-stretch:condensed}
h4{font:600 1.05rem/1.3 var(--texto)}

/* ---------- pacote: faixa, menu, rodapé ---------- */
.pular{position:absolute;left:12px;top:-80px;z-index:100;background:var(--verde);color:var(--branco);padding:12px 18px;font-weight:700;text-decoration:none}
.pular:focus{top:12px}
.rascunho{background-color:var(--verde);color:var(--branco);text-align:center;font:500 14px/1.4 var(--texto);padding:10px var(--margem)}
.pacote{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px var(--margem);background-color:var(--branco);border-bottom:1px solid var(--risco)}
.pacote-abas{display:flex;flex-wrap:wrap;gap:2px}
.pacote-abas a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;color:var(--tx);font:500 15px/1.2 var(--texto);text-decoration:none;transition:color .2s ease}
.pacote-abas a:hover{text-decoration:underline}
.pacote-abas a[aria-current="page"]{font-weight:700;text-decoration:underline;text-decoration-color:var(--verde);text-decoration-thickness:2px;text-underline-offset:8px}
.pacote-abas .curto{display:none}
.chat{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;background-color:var(--verde);color:var(--branco);font:800 13px/1 var(--texto);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:background-color .2s ease}
.chat:hover{background-color:var(--verde-vivo)}
.rodape{background-color:var(--areia);color:var(--tx-2);padding:48px var(--margem) 56px;font-size:14px;border-top:1px solid var(--risco)}
.rodape p{max-width:72ch;margin:0 auto 14px;text-align:center}
.rodape-chat{display:inline-flex;align-items:center;min-height:44px;padding:12px 20px;background-color:var(--verde);color:var(--branco);font:800 13px/1 var(--texto);letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.rodape-chat:hover{background-color:var(--verde-vivo)}
.rodape-fontes{font-size:13px;color:var(--grafite)}

/* ---------- botões (raio 0, caixa alta larga, como a home) ---------- */
.botoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:15px 22px;background-color:var(--verde);color:var(--branco);border:2px solid var(--verde);border-radius:0;font:800 14px/1 var(--texto);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition-property:background-color,color,transform;transition-duration:.2s,.2s,.14s;transition-timing-function:ease,ease,ease-out}
.btn:hover{background-color:var(--verde-vivo);border-color:var(--verde-vivo)}
.btn:active{transform:scale(.97)}
.btn-contorno{background-color:var(--branco);color:var(--verde)}
.btn-contorno:hover{background-color:#f2f2f2;border-color:var(--verde)}

.traços li{padding:10px 0;border-top:1px solid var(--risco)}
.traços li:last-child{border-bottom:1px solid var(--risco)}
.nota-estrela{display:flex;align-items:center;gap:8px;font-size:15px;font-variant-numeric:tabular-nums}
.estrela{width:18px;height:18px;fill:var(--verde);flex:none}
.parada-preco{font:500 1.15rem/1 var(--texto);margin-inline-start:.45em;white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:.2em}
.parada-medida{font-weight:600;font-variant-numeric:tabular-nums}

/* ---------- 1 · on-your-back: a escadaria do hero real ---------- */
.casco{position:relative;background-color:var(--areia)}
.casco-foto{height:calc(100svh - 104px);min-height:600px;max-height:1000px;overflow:hidden}
.casco-foto img{width:100%;height:100%;object-fit:cover;object-position:52% 42%}
.casco-painel{position:absolute;inset-inline-start:0;inset-block-end:0;width:min(calc(max(0px,(100vw - var(--max)) / 2) + 640px),62%);background-color:var(--areia);padding:56px 56px 44px var(--encosto)}
.casco-marca{font:700 14px/1.2 var(--texto);color:var(--tx-2);margin-bottom:14px}
.casco h1{font:700 clamp(2.8rem,1.4rem + 3.6vw,4.75rem)/.98 var(--titulo);letter-spacing:.005em;font-stretch:condensed;margin-bottom:18px}
.casco-linha{font-size:1.125rem;max-width:34ch;margin-bottom:0}
.casco-nota{margin:20px 0 0;font-size:14px;font-variant-numeric:tabular-nums}

/* ---------- 2 · carry-on-only ---------- */
.selos{padding-block:44px;background-color:var(--branco)}
.selos-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.selo{display:grid;grid-template-columns:76px minmax(0,1fr);gap:20px;align-items:center}
.selo-icone{display:grid;place-items:center;width:76px;height:76px;background-color:var(--areia)}
.selo-icone img{width:52px;height:52px;object-fit:contain}
.selo h2{font:700 1.6rem/1.1 var(--titulo);margin-bottom:6px}
.selo p{margin:0;font-size:15px}

/* ---------- 3 · best-for-one-bag (centralizado, como a faixa de selos da home) ---------- */
.aplausos{background-color:var(--areia);padding-block:clamp(56px,7vw,92px);text-align:center}
.aplauso-maior{font:700 clamp(1.6rem,1rem + 1.8vw,2.5rem)/1.15 var(--texto);letter-spacing:-.01em;max-width:30ch;margin:0 auto 36px}
.aplausos-linha{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.aplausos-linha li{padding:14px 22px;font:600 1.3rem/1.2 var(--titulo);border-inline-start:1px solid #cdc8c0}
.aplausos-linha li:first-child{border-inline-start:0}
.aplausos-pe{max-width:74ch;margin:36px auto 0;font-size:14px;color:var(--tx-2)}

/* ---------- blocos divididos com foto encostada na borda (home: blocos 1, 10, 11) ---------- */
.mala,.chao,.origem,.adiante{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background-color:var(--branco)}
.mala-coluna-foto,.chao-coluna-foto,.origem-coluna-foto,.adiante-coluna-foto{position:relative}
.mala-foto,.chao-foto,.origem-foto{position:sticky;top:0;height:min(100svh,920px);overflow:hidden}
.mala-foto img,.chao-foto img,.origem-foto img,.adiante-foto img{width:100%;height:100%;object-fit:cover}
.mala-texto,.adiante-texto{padding-block:var(--respiro);padding-inline:clamp(32px,5vw,96px) var(--encosto)}
.chao-texto,.origem-texto{padding-block:var(--respiro);padding-inline:var(--encosto) clamp(32px,5vw,96px)}
.mala-texto > *,.chao-texto > *,.origem-texto > *,.adiante-texto > *{max-width:620px}

/* 4 · clamshell */
.mala-abre{font-size:1.2rem;line-height:1.5}
.mala-mini{aspect-ratio:2/1;overflow:hidden;margin:32px 0 40px}
.mala-mini img{width:100%;height:100%;object-fit:cover}
.bolsos li{padding:12px 0;border-top:1px solid var(--preto)}
.bolsos li:last-child{border-bottom:1px solid var(--preto)}

/* ---------- 5 · trip-ruler (elemento memorável) ---------- */
.regua{padding-block:var(--respiro);background-color:var(--branco)}
.regua-topo{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,4vw,72px);align-items:end}
.regua-topo h2{margin-bottom:0}
.regua-dica{margin:0;font-size:1.05rem;color:var(--tx-2)}
.regua-trilho{margin-top:48px}
.regua-marcas{display:block;width:100%;height:24px;fill:none;stroke:var(--preto);stroke-width:1}
.regua-barra{height:8px;margin-top:6px;background-color:#e8e5e0;overflow:hidden}
.regua-barra span{display:block;height:100%;background-color:var(--verde);transform-origin:0 50%;transform:scaleX(var(--p,.25));transition:transform .6s var(--sai)}
.regua-abas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.regua-abas [role="tab"]{appearance:none;background:none;border:0;padding:16px 12px 10px 0;min-height:48px;text-align:start;cursor:pointer;color:#6b6b6b;font:700 clamp(1.05rem,.7rem + 1.1vw,1.75rem)/1.1 var(--titulo);font-stretch:condensed;transition:color .2s ease}
.regua-abas [role="tab"]:hover{color:var(--preto)}
.regua-abas [role="tab"][aria-selected="true"]{color:var(--preto)}
.regua-paineis{margin-top:8px}
.parada{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);padding-top:40px;align-items:start}
.parada + .parada{border-top:1px solid var(--risco);margin-top:40px}
.parada[hidden]{display:none}
.parada-foto{aspect-ratio:1;background-color:var(--vitrine);overflow:hidden}
.parada-foto img{width:100%;height:100%;object-fit:cover}
.parada-texto h3{font-size:clamp(2rem,1.4rem + 1.6vw,2.75rem);margin-bottom:10px}
.parada-linha{font-size:1.15rem;color:var(--tx-2)}
.parada-texto .traços{margin:18px 0 20px}
.parada-texto .btn{margin-top:8px}
.ficha{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:20px 0}
.ficha dt{font-size:14px;color:var(--tx-2)}
.ficha dd{margin:2px 0 0;font:600 1.3rem/1.2 var(--titulo);font-variant-numeric:tabular-nums}
.parada-rodape{font-size:14px;color:var(--tx-2)}

/* ---------- 6 · sizer ---------- */
.medidor{padding-block:0 var(--respiro);background-color:var(--branco)}
#sizer::before,#by-collection::before,#pro-or-lite::before{content:"";display:block;height:1px;background-color:var(--preto);margin:0 var(--margem) var(--respiro)}
.medidor-grade{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,96px);align-items:center}
.medidor-numero{display:flex;flex-direction:column;gap:6px;margin-bottom:28px}
.medidor-numero span:first-child{font:700 clamp(3rem,1.4rem + 4.6vw,6rem)/.95 var(--titulo);letter-spacing:-.01em;white-space:nowrap;font-variant-numeric:tabular-nums}
.medidor-cm{font:600 clamp(1.5rem,1rem + 1.4vw,2.25rem)/1 var(--titulo);color:var(--tx-2);white-space:nowrap}
.medidor-lista{margin:0 0 24px}
.medidor-lista li{position:relative;padding:8px 0 8px 30px}
.medidor-lista li::before{content:"";position:absolute;inset-inline-start:0;top:.75em;width:14px;height:14px;border:2px solid var(--verde)}
.medidor-portao{font:600 1.4rem/1.25 var(--titulo);border-top:1px solid var(--preto);padding-top:20px;margin-top:8px}
.medidor-caixa{position:relative;width:100%;max-width:460px;aspect-ratio:330/460;justify-self:center}
.medidor-caixa img{position:absolute;left:9.09%;top:8.7%;width:71.52%;height:80.65%;object-fit:contain;background-color:var(--branco)}
.medidor-caixa svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.traco{fill:none;stroke:var(--preto);stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.4s var(--vai-e-vem)}
.traco-fundo{stroke:#77736c;transition-delay:.35s}
.traco-cota{stroke:var(--verde);transition-delay:.7s}
.cota{font:600 15px var(--titulo);fill:var(--preto);transition:opacity .5s ease .9s}

/* ---------- 7 · suitcase-tax ---------- */
.taxa{background-color:var(--areia);padding-block:var(--respiro)}
.taxa h2{max-width:16ch;margin-bottom:40px}
.taxa-grade{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,88px);align-items:start}
.taxa-foto{position:sticky;top:32px;aspect-ratio:1440/1024;overflow:hidden;max-width:1440px}
.taxa-foto img{width:100%;height:100%;object-fit:cover}
.taxa-abre{font-size:1.15rem}
.recibo{margin:28px 0}
.recibo li{padding:20px 0;border-top:1px dashed var(--preto)}
.recibo li:last-child{border-bottom:1px dashed var(--preto)}
.recibo strong{display:block;font:700 clamp(1.75rem,1.3rem + 1.2vw,2.5rem)/1 var(--titulo);margin-bottom:8px;font-variant-numeric:tabular-nums}
.recibo-total{font:600 1.5rem/1.25 var(--titulo)}
.taxa-fecho{font-weight:700;margin-bottom:0}

/* ---------- 8 · used-on-real-trips: a esteira ---------- */
.esteira{padding-block:var(--respiro);background-color:var(--branco)}
.esteira-topo{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end}
.esteira-topo h2{margin-bottom:8px}
.esteira-topo p{margin:0}
.esteira-placar{text-align:end}
.esteira-placar strong{font:700 2rem/1 var(--titulo);font-variant-numeric:tabular-nums}
.esteira-pausa{margin-top:14px;min-height:44px;padding:10px 16px;background-color:var(--branco);color:var(--verde);border:2px solid var(--verde);font:800 13px/1 var(--texto);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background-color .2s ease,color .2s ease}
.esteira-pausa[aria-pressed="true"]{background-color:var(--verde);color:var(--branco)}
.esteira-trilho{margin-top:40px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--margem) 12px}
.esteira-rolo{display:flex;gap:20px;width:max-content}
.esteira-fita{display:flex;gap:20px}
.bilhete{display:flex;flex-direction:column;gap:12px;width:340px;flex:none;padding:24px;background-color:var(--areia);scroll-snap-align:start}
.bilhete-foto{width:76px;aspect-ratio:1;background-color:var(--branco);overflow:hidden}
.bilhete-foto img{width:100%;height:100%;object-fit:contain}
.bilhete h3{font-size:1.35rem;margin:0}
.bilhete blockquote p{margin:0;font-size:15px;line-height:1.5}
.bilhete-nome{margin:auto 0 0;font-weight:700}
.bilhete-nome span{font-weight:400;color:var(--tx-2);margin-inline-start:6px}
.esteira.anda .esteira-trilho{overflow:hidden;padding-inline:0;scroll-snap-type:none}
.esteira.anda .esteira-rolo{animation:desfila 90s linear infinite}
.esteira.anda.pausada .esteira-rolo,.esteira.anda .esteira-trilho:hover .esteira-rolo,.esteira.anda .esteira-trilho:focus-within .esteira-rolo{animation-play-state:paused}
@keyframes desfila{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 10px))}}

/* 9 · on-the-ground */
.chao-mini{aspect-ratio:4/3;max-width:360px;overflow:hidden;margin-top:32px}
.chao-mini img{width:100%;height:100%;object-fit:cover}

/* ---------- 10 · by-collection ---------- */
.colecoes{padding-block:0 clamp(56px,7vw,100px);background-color:var(--branco)}
.colecoes-grade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:12px}
.colecoes-grade a{text-decoration:none}
.colecoes-grade figure{display:block}
.colecoes-grade img{width:100%;aspect-ratio:1;object-fit:cover}
.colecoes-grade figcaption{padding:14px 20px 0;font-size:16px}
.colecoes-grade a:hover figcaption{text-decoration:underline}

/* ---------- 11 · perfect-fit ---------- */
.ajuste{padding-block:var(--respiro);background-color:var(--branco)}
.ajuste-grade{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,96px);align-items:start}
.ajuste-coluna-foto{align-self:stretch}
.ajuste-foto{position:sticky;top:32px;aspect-ratio:4/5;overflow:hidden}
.ajuste-foto img{width:100%;height:100%;object-fit:cover}
.ajuste-abre{font-size:1.15rem}
.ajuste-citacao{margin:32px 0;padding:0}
.ajuste-citacao p{font:600 clamp(1.4rem,1.1rem + .9vw,1.95rem)/1.2 var(--titulo);margin:0}
.ajuste-citacao footer{margin-top:10px;font-size:15px;color:var(--tx-2)}
.passos{margin-top:36px}
.passos li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;padding:24px 0;border-top:1px solid var(--preto)}
.passo-n{font:700 2.5rem/1 var(--titulo);color:var(--verde);font-variant-numeric:tabular-nums}
.passos p{margin:0}
.cinto{display:grid;grid-template-columns:140px minmax(0,1fr);gap:24px;align-items:start;margin-top:32px;padding:24px;background-color:var(--areia)}
.cinto-foto{aspect-ratio:1;background-color:var(--branco);overflow:hidden}
.cinto-foto img{width:100%;height:100%;object-fit:contain}
.cinto .traços{margin-bottom:12px}
.cinto p{margin:0}

/* ---------- 12 · sailcloth ---------- */
.vela{background-color:var(--areia)}
.vela-faixa{height:clamp(240px,34vw,520px);overflow:hidden}
.vela-faixa img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.vela-corpo{background-color:var(--areia);padding-block:var(--respiro)}
.vela-colunas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,96px)}
.vela-abre{font-size:1.15rem}
.camadas{margin-bottom:16px}
.camadas li{padding:10px 0;border-top:1px solid var(--preto);font:600 1.25rem/1.2 var(--titulo)}
.camadas li:last-child{border-bottom:1px solid var(--preto)}
.vela .traços li{border-color:#d9d4cc}
.tabela-rolo{margin-top:56px;overflow-x:auto}
.tabela{width:100%;min-width:560px;border-collapse:collapse;font-variant-numeric:tabular-nums}
.tabela caption{text-align:start;font:700 1.5rem/1.2 var(--titulo);padding-bottom:12px}
.tabela th,.tabela td{padding:14px 16px 14px 0;text-align:start;border-bottom:1px solid #cdc8c0;vertical-align:top}
.tabela thead th{font:700 1.2rem/1.2 var(--titulo);border-bottom:2px solid var(--preto)}
.tabela tbody th{font-weight:500;color:var(--tx-2);width:38%}
.tabela td{font-weight:600}
.vela-nota{margin-top:14px;font-size:14px;color:var(--tx-2)}
.vela-pe{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);margin-top:56px;align-items:start}
.vela-pe > div{border-top:1px solid var(--preto);padding-top:20px}
.vela-daypack{background-color:var(--branco)}
.vela-daypack img{width:100%;aspect-ratio:1;object-fit:cover}
.vela-daypack figcaption{padding:12px 16px 14px;font-size:15px}

/* ---------- 13 · pro-or-lite ---------- */
.duelo{padding-block:0 var(--respiro);background-color:var(--branco)}
.duelo-par{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px);margin-top:12px}
.duelo-lado figure{aspect-ratio:4/3;background-color:var(--branco);border:1px solid var(--risco);overflow:hidden;margin-bottom:20px}
.duelo-lado img{width:100%;height:100%;object-fit:contain}
.duelo-lado h3{font-size:clamp(1.75rem,1.3rem + 1.2vw,2.4rem)}
.selinhos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.selinhos li{padding:10px 14px;background-color:var(--areia);font-weight:600;font-size:15px}
.tabela-duelo td[colspan]{text-align:start}
.duelo-igual{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,72px);margin-top:56px;align-items:start}
.duelo-firme{font-weight:700}
.quatro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.quatro li{padding:22px;border:1px solid var(--preto);font:700 1.5rem/1.1 var(--titulo)}

/* ---------- 14 · bundle-and-save: vitrine longa ---------- */
.vitrine{padding-block:var(--respiro);background-color:var(--branco)}
.vitrine-topo,.vitrine-dupla{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,72px);align-items:end}
.vitrine-topo h2{margin-bottom:0}
.vitrine-topo p,.vitrine-dupla p{margin:0;font-size:1.05rem}
.vitrine-sub{font-size:1.6rem;margin:56px 0 20px;padding-top:16px;border-top:1px solid var(--preto)}
.vitrine-dupla .vitrine-sub{margin-bottom:0}
.vitrine-dupla{margin-bottom:20px}
.pecas{display:grid;gap:36px 24px}
.pecas-seis,.pecas-tres{grid-template-columns:repeat(3,minmax(0,1fr))}
.peca figure{position:relative;aspect-ratio:1;background-color:var(--vitrine);overflow:hidden;margin-bottom:14px}
.peca figure img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--sai)}
.etiqueta{position:absolute;top:12px;inset-inline-end:12px;z-index:1;background-color:var(--etiqueta);color:var(--preto);font:700 13px/1 var(--texto);padding:7px 10px}
.peca h4{margin-bottom:4px}
.peca-linha{margin:0 0 6px;font-size:15px;color:var(--tx-2)}
.peca .nota-estrela{margin:0 0 6px}
.preco{margin:0;font-size:17px;font-variant-numeric:tabular-nums}
.preco-novo{color:var(--liquida);font-weight:600}
.preco-velho{color:var(--tx-2);margin-inline-start:6px}
.vitrine-nota{margin-top:20px;font-size:15px;color:var(--tx-2)}
.vitrine-pe{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:64px}
.vitrine-bloco{border:1px solid var(--preto);padding:clamp(24px,3vw,40px)}
.tres-passos li{padding:10px 0;border-top:1px solid var(--risco);font:600 1.25rem/1.2 var(--titulo)}
.vitrine-miudo{font-size:14px;color:var(--tx-2)}

/* ---------- 15 · superlite ---------- */
.leve{padding-block:var(--respiro);background-color:var(--branco)}
.leve-grade{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,96px);align-items:start}
.leve-cabeca{position:sticky;top:32px}
.leve-data{display:inline-block;background-color:var(--etiqueta);color:var(--preto);font:700 14px/1 var(--texto);padding:8px 12px;margin-bottom:18px}
.leve-item{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;padding:28px 0;border-top:1px solid var(--preto)}
.leve-item:last-child{border-bottom:1px solid var(--preto)}
.leve-item figure{aspect-ratio:1;background-color:var(--vitrine);overflow:hidden}
.leve-item img{width:100%;height:100%;object-fit:cover}

/* ---------- 16 · we-start-with-the-customer ---------- */
.conversa{padding-block:var(--respiro);background-color:var(--branco)}
.conversa-par{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,72px);margin-top:40px;align-items:start}
.queixa{position:sticky;top:32px;background-color:var(--areia);padding:clamp(24px,3vw,40px)}
.queixa-foto{width:120px;aspect-ratio:1;background-color:var(--branco);overflow:hidden;margin-bottom:20px}
.queixa-foto img{width:100%;height:100%;object-fit:cover}
.queixa-grande{font:700 clamp(1.5rem,1.1rem + 1.2vw,2.25rem)/1.1 var(--titulo)}
.queixa-quem{margin:0;font-size:14px;color:var(--tx-2)}
.resposta-quem{font-weight:700;color:var(--verde);padding-top:14px;border-top:1px solid var(--preto)}
.resposta-itens{margin:8px 0 20px}
.resposta-itens li{padding:16px 0;border-top:1px solid var(--risco)}
.conversa-curta{margin-top:64px}
.conversa-curta .queixa{position:static}

/* ---------- 17 · practical-lifetime ---------- */
.vida{padding-block:var(--respiro);background-color:var(--branco)}
.vida-grade{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,96px);align-items:start}
.vida-coluna{align-self:stretch}
.vida-fixa{position:sticky;top:32px}
.vida-promessa{font:600 clamp(1.4rem,1.1rem + .9vw,1.95rem)/1.2 var(--titulo)}
.vida-foto{aspect-ratio:1;overflow:hidden;margin-top:28px}
.vida-foto img{width:100%;height:100%;object-fit:cover}
.vida-bloco{border-top:1px solid var(--preto);padding-top:28px;margin-bottom:44px}
.vida-bloco h3:not(:first-child){margin-top:28px}
.vida-bloco .traços{margin-bottom:20px}
.vida-desde{font-weight:500}
.puxador{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;align-items:start;margin-top:24px;padding:20px;background-color:var(--areia)}
.puxador figure{aspect-ratio:1;background-color:var(--branco);overflow:hidden}
.puxador img{width:100%;height:100%;object-fit:contain}
.puxador h4{margin-bottom:8px}
.frete{margin-top:clamp(40px,5vw,72px)}
.frete-abre{color:var(--tx-2)}
.frete-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0 0}
.frete-grade > div{border-top:2px solid var(--preto);padding-top:18px}
.frete-grade dt{font:700 1.4rem/1.15 var(--titulo);margin-bottom:6px}
.frete-grade dd{margin:8px 0 0;font-size:15px;font-variant-numeric:tabular-nums}

/* ---------- 18 · questions ---------- */
.perguntas{background-color:var(--areia);padding-block:clamp(64px,8vw,104px)}
.perguntas-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,64px);margin-top:16px}
.perguntas details{border-top:1px solid var(--preto)}
.perguntas-coluna details:last-child{border-bottom:1px solid var(--preto)}
.perguntas summary{position:relative;list-style:none;cursor:pointer;padding:20px 44px 20px 0;font:600 1.1rem/1.35 var(--texto);min-height:44px}
.perguntas summary::-webkit-details-marker{display:none}
.perguntas summary::before,.perguntas summary::after{content:"";position:absolute;inset-inline-end:6px;top:50%;width:16px;height:2px;background-color:var(--preto);transition:transform .25s var(--sai)}
.perguntas summary::after{transform:rotate(90deg)}
.perguntas details[open] summary::after{transform:rotate(0deg)}
.perguntas details p{max-width:62ch}
.perguntas details p:last-child{padding-bottom:12px}

/* 19 · fred-and-jeremy */
.origem-citacao{margin:28px 0;padding:0}
.origem-citacao p{font:700 clamp(1.6rem,1.2rem + 1.2vw,2.4rem)/1.1 var(--titulo);margin:0}
.origem-citacao footer{margin-top:10px;font-size:15px;color:var(--tx-2)}
.origem-foto img{object-position:50% 30%}
.bolsa-estudo{margin-top:32px;padding:28px;background-color:var(--areia)}
.bolsa-itens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.bolsa-itens li{padding:14px 16px;background-color:var(--branco);font:700 1.3rem/1.15 var(--titulo)}
.bolsa-data{font-weight:700}
.bolsa-ultimo{margin:0;color:var(--tx-2)}

/* 20 · go-farther */
.adiante-foto{height:100%;min-height:620px;overflow:hidden}
.adiante-texto{display:flex;flex-direction:column;justify-content:center}
.adiante-forte{font:700 1.4rem/1.2 var(--titulo)}
.garantias{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}
.garantias li{border-top:1px solid var(--preto);padding-top:14px;font-size:15px}
.garantias strong{display:block;font:700 1.2rem/1.15 var(--titulo);margin-bottom:4px}

/* ---------- movimento (estado escondido só sob .com-js) ---------- */
.rv{transition-property:opacity,transform,clip-path;transition-duration:.9s,.9s,1.1s;transition-timing-function:var(--sai);transition-delay:calc(var(--i,0) * 70ms)}
.rv-cortina-esq,.rv-cortina-dir,.rv-cortina-sobe{clip-path:inset(0 0 0 0)}
.com-js .rv:not(.in){opacity:0}
.com-js .rv-sobe:not(.in){transform:translateY(24px)}
.com-js .rv-linha:not(.in){transform:translateX(-18px)}
.com-js .rv-desliza:not(.in){transform:translateX(18px)}
.com-js .rv-passo:not(.in){transform:translateY(16px)}
.com-js .rv-escala:not(.in){transform:scale(.96)}
.com-js .rv-aperta:not(.in){transform:scale(1.04)}
.com-js .rv.rv-cortina-esq:not(.in),.com-js .rv.rv-cortina-dir:not(.in),.com-js .rv.rv-cortina-sobe:not(.in){opacity:1}
.com-js .rv-cortina-esq:not(.in){clip-path:inset(0 100% 0 0)}
.com-js .rv-cortina-dir:not(.in){clip-path:inset(0 0 0 100%)}
.com-js .rv-cortina-sobe:not(.in){clip-path:inset(100% 0 0 0)}
.com-js .medidor-caixa:not(.in) .traco{stroke-dashoffset:1}
.com-js .medidor-caixa:not(.in) .cota{opacity:0}
/* o único momento de carregamento: o hero */
.com-js .casco-foto img{animation:casco-foto 1.6s var(--sai) both}
.com-js .casco-painel > *{animation:casco-texto .9s var(--sai) both}
.com-js .casco-painel > :nth-child(2){animation-delay:.08s}
.com-js .casco-painel > :nth-child(3){animation-delay:.16s}
.com-js .casco-painel > :nth-child(4){animation-delay:.24s}
.com-js .casco-painel > :nth-child(5){animation-delay:.32s}
@keyframes casco-foto{from{transform:scale(1.06)}to{transform:none}}
@keyframes casco-texto{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.com-js .parada:not([hidden]){animation:parada-entra .45s var(--sai)}
@keyframes parada-entra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

@media (hover:hover) and (pointer:fine){
  .peca:hover figure img{transform:scale(1.03)}
}

@media (prefers-reduced-motion:reduce){
  .rv{transition:opacity .4s ease !important;transform:none !important}
  .rv-cortina-esq,.rv-cortina-dir,.rv-cortina-sobe,.com-js .rv-cortina-esq:not(.in),.com-js .rv-cortina-dir:not(.in),.com-js .rv-cortina-sobe:not(.in){clip-path:none}
  .com-js .rv.rv-cortina-esq:not(.in),.com-js .rv.rv-cortina-dir:not(.in),.com-js .rv.rv-cortina-sobe:not(.in){opacity:0}
  .com-js .casco-foto img{animation:none}
  .com-js .casco-painel > *{animation:fade-so .6s ease both}
  .com-js .parada:not([hidden]){animation:fade-so .3s ease}
  .esteira.anda .esteira-rolo{animation:none}
  .traco{transition:none}
  .regua-barra span{transition:none}
}
@keyframes fade-so{from{opacity:0}to{opacity:1}}

/* ---------- larguras ---------- */
@media (max-width:1100px){
  .pecas-seis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vela-pe{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vela-daypack{grid-column:1 / -1;max-width:420px}
}
@media (max-width:860px){
  .casco-foto{height:62svh;min-height:360px;max-height:640px}
  .casco-painel{position:static;width:auto;padding:32px var(--margem) 40px}
  .selos-grade{grid-template-columns:minmax(0,1fr);gap:24px}
  .aplausos-linha{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aplausos-linha li{border-inline-start:0;border-top:1px solid #cdc8c0;padding:16px 10px}
  .mala,.chao,.origem,.adiante{grid-template-columns:minmax(0,1fr)}
  .chao-coluna-foto,.origem-coluna-foto{order:-1}
  .mala-foto,.chao-foto,.origem-foto{position:relative;height:auto;aspect-ratio:4/5;max-height:620px}
  .adiante-foto{min-height:0;aspect-ratio:4/5;max-height:620px}
  .mala-texto,.adiante-texto,.chao-texto,.origem-texto{padding:48px var(--margem) 64px}
  .regua-topo,.parada,.medidor-grade,.taxa-grade,.ajuste-grade,.vela-colunas,.duelo-igual,.vitrine-topo,.vitrine-dupla,.leve-grade,.conversa-par,.vida-grade,.vitrine-pe,.perguntas-grade{grid-template-columns:minmax(0,1fr)}
  .regua-abas [role="tab"]{font-size:.98rem;padding-inline-end:6px}
  .taxa-foto,.ajuste-foto,.leve-cabeca,.queixa,.vida-fixa{position:static}
  .colecoes-grade{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .colecoes-grade figcaption{padding-inline:0}
  .esteira-topo{grid-template-columns:minmax(0,1fr)}
  .esteira-placar{text-align:start}
  .bilhete{width:280px}
  .duelo-par{grid-template-columns:minmax(0,1fr)}
  .pecas-tres{grid-template-columns:minmax(0,1fr)}
  .vela-pe{grid-template-columns:minmax(0,1fr)}
  .frete-grade,.garantias{grid-template-columns:minmax(0,1fr)}
  .pacote{flex-wrap:wrap}
}
@media (max-width:600px){
  .pecas-seis{grid-template-columns:minmax(0,1fr)}
  .leve-item{grid-template-columns:110px minmax(0,1fr);gap:18px}
  .cinto{grid-template-columns:96px minmax(0,1fr);gap:16px;padding:18px}
  .passos li{grid-template-columns:44px minmax(0,1fr)}
  .medidor-caixa{max-width:340px}
  .medidor-numero span:first-child{white-space:normal}
  .ficha{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .btn{white-space:normal;text-align:center}
}

/* Rodada 2b (Sensei): corpo da landing >= 16 px em 1440 e >= 15 px em 390; legendas sobem junto. So CSS. */
@media (min-width:900px){#used-on-real-trips p,#bundle-and-save p.peca-linha,#practical-lifetime dd,.aplausos-pe,.vitrine-miudo,.parada-rodape,.vela-nota{font-size:16px}}
@media (max-width:899px){.aplausos-pe,.vitrine-miudo,.parada-rodape,.vela-nota{font-size:15px}}