@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/open-sans-400.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/open-sans-600.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/open-sans-700.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/open-sans-800.woff2) format('woff2')}

:root{
  --navy:#101824; --ink:#2e2e2e; --muted:#4b515a; --foot:#262c34;
  --red:#e13124; --red-text:#c8281c; --orange:#fe6500; --blue:#1c6bea; --green:#1e8060;
  --card:#f7f7f7; --band:#f1f4f8; --rule:#d7dde4;
  --max:1176px; --pad:clamp(16px,4vw,40px);
  --ease:cubic-bezier(.23,1,.32,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:12px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation}
body{margin:0;font:400 16px/1.6 'Open Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:#fff;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
section{overflow-x:clip}
::selection{background:var(--navy);color:#fff}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.wrap{width:min(var(--max),100% - 2*var(--pad));margin-inline:auto}

/* ---- bloco obrigatório: pular, rascunho, menu, rodapé ---- */
.pular{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:var(--navy);padding:10px 16px;border-radius:2px;font-weight:700}
.pular:focus{left:8px}
.rascunho{background:#fff3cd;color:#4a3b00;text-align:center;font-size:13px;line-height:1.4;padding:7px var(--pad)}
.pacote{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--navy);padding:10px var(--pad)}
.pacote-abas{display:flex;gap:4px;flex-wrap:wrap}
.pacote-abas a{color:#fff;text-decoration:none;font-weight:600;font-size:14px;padding:10px 14px;border-radius:2px;min-height:44px;display:inline-flex;align-items:center;transition:background-color .15s}
.pacote-abas a[aria-current="page"]{background:var(--red)}
@media (hover:hover) and (pointer:fine){.pacote-abas a:not([aria-current]):hover{background:#26324a}}
.pacote .curto{display:none}
.chat{background:#fff;color:var(--navy);text-decoration:none;font-weight:700;font-size:14px;padding:10px 16px;border-radius:2px;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;transition:transform .15s}
.chat:active{transform:scale(.97)}
.pacote :focus-visible,.rodape :focus-visible{outline-color:#fff}
@media (max-width:640px){.pacote .longo{display:none}.pacote .curto{display:inline}}
.rodape{background:var(--foot);color:#e9edf2;padding:36px var(--pad);text-align:center;font-size:14px;line-height:1.6}
.rodape p+p{margin-top:12px}
.rodape-chat{display:inline-flex;align-items:center;min-height:44px;padding:10px 20px;background:#fff;color:var(--navy);font-weight:700;text-decoration:none;border-radius:2px}
.rodape-fontes{color:#cdd5de}

/* ---- botões (raio 2px como a referência) ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border-radius:2px;font-weight:700;font-size:16px;text-decoration:none;white-space:nowrap;border:0;cursor:pointer;transition:transform .15s var(--ease),background-color .15s,box-shadow .15s}
.btn:active{transform:scale(.97)}
.btn-red{background:var(--red);color:#fff}
.btn-white{background:#fff;color:var(--ink)}
.btn-ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px var(--navy)}
@media (hover:hover) and (pointer:fine){.btn-red:hover{background:#c42a1f}.btn-white:hover{box-shadow:0 2px 0 rgba(16,24,36,.35)}.btn-ghost:hover{background:var(--band)}}

/* ---- tira lateral: a página é a tira ---- */
.rail{display:none}
@media (min-width:1360px){
  .rail{display:block;position:fixed;left:clamp(18px,2.4vw,44px);top:96px;bottom:56px;width:12px;background:var(--navy);border-radius:6px;z-index:5;pointer-events:none}
  .rail::before{content:"";position:absolute;inset:6px 4px;border-left:2px dotted rgba(255,255,255,.35)}
  .rail-tab{position:absolute;left:-6px;right:-6px;top:0;height:34px;background:var(--red);border-radius:3px;box-shadow:0 2px 6px rgba(16,24,36,.3);will-change:transform}
}

/* ---- revelação (estado escondido só sob .com-js) ---- */
.com-js .rv{transition:opacity .8s var(--ease),transform .9s var(--ease),clip-path 1s var(--ease);transition-delay:calc(var(--i,0)*70ms)}
.com-js .rv:not(.in){opacity:0}
.com-js .rv-up:not(.in){transform:translateY(22px)}
.com-js .rv-slide:not(.in){transform:translateX(-22px)}
.com-js .rv-scale:not(.in){transform:scale(.96)}
.com-js .rv-wipe:not(.in){opacity:1;clip-path:inset(0 100% 0 0)}
.com-js .rv-wipe-l:not(.in){opacity:1;clip-path:inset(0 0 0 100%)}
.com-js .rv-wipe.in,.com-js .rv-wipe-l.in{clip-path:inset(0 0 0 0)}
@media (prefers-reduced-motion:reduce){
  .com-js .rv{transition:opacity .3s}
  .com-js .rv-up:not(.in),.com-js .rv-slide:not(.in),.com-js .rv-scale:not(.in){transform:none}
  .com-js .rv-wipe:not(.in),.com-js .rv-wipe-l:not(.in){clip-path:none;opacity:0}
}

/* ---- títulos de painel: caixa-alta, 1ª parte pesada ---- */
.panel-title{font-size:clamp(1.55rem,2.5vw,2rem);font-weight:400;line-height:1.2;text-transform:uppercase}
.panel-title b{font-weight:800}

/* ---- 1. grip ---- */
.grip{background-color:#dff7fc;padding:0}
.grip-stage{position:relative}
.grip-photo{width:100%;height:auto;aspect-ratio:2000/880;object-fit:cover}
.grip-copy{position:absolute;top:50%;transform:translateY(-50%);left:max(var(--pad),calc((100% - var(--max))/2));width:min(560px,50%);color:var(--navy)}
.grip-brand{font-size:clamp(.95rem,1.3vw,1.15rem);font-weight:700;letter-spacing:.01em;margin-bottom:6px}
.grip h1{font-size:clamp(2rem,4.9vw,4.6rem);font-weight:800;line-height:1.02;letter-spacing:-.025em;text-wrap:balance;margin-bottom:clamp(10px,1.4vw,20px)}
.grip-lede{font-size:clamp(.95rem,1.45vw,1.3rem);line-height:1.45;max-width:30em;margin-bottom:clamp(8px,1.2vw,16px);text-wrap:pretty}
.grip-points{display:flex;flex-wrap:wrap;gap:4px 22px;margin-bottom:clamp(12px,1.8vw,24px);font-weight:700;color:#0b4aa6;font-size:clamp(.85rem,1.2vw,1.05rem)}
.grip-points li::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);margin-right:8px;vertical-align:middle}
.grip-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}
.grip-actions .btn{font-size:clamp(1rem,1.4vw,1.2rem);padding:12px 28px}
.grip-rating{font-size:.9rem;font-weight:600}
.stars{color:#b45309;letter-spacing:2px;margin-right:4px}
@media (max-width:860px){
  .grip{background-color:#fff}
  .grip-photo{aspect-ratio:2000/960}
  .grip-copy{position:static;transform:none;width:auto;padding:24px var(--pad) 36px;margin-inline:auto;max-width:640px}
  .grip h1{font-size:clamp(2.2rem,9vw,3rem)}
}

/* ---- 2. faixa ---- */
.faixa{background-color:var(--band)}
.faixa-row{display:flex;align-items:stretch}
.faixa-view{flex:1;min-width:0;overflow:hidden}
.faixa-track{display:flex;width:max-content;animation:faixa 42s linear infinite}
.faixa-track.pausada{animation-play-state:paused}
.faixa-track ul{display:flex}
.faixa-track li{padding:14px 52px;white-space:nowrap;font-size:17px;color:var(--ink)}
@keyframes faixa{to{transform:translateX(-50%)}}
.faixa-pausa{flex:none;border:0;background:var(--navy);color:#fff;font:600 14px 'Open Sans',sans-serif;padding:0 20px;min-width:84px;min-height:48px;cursor:pointer}
.faixa-pausa:focus-visible{outline-color:#fff;outline-offset:-4px}
@media (prefers-reduced-motion:reduce){.faixa-track{animation:none}}

/* ---- vitrines com painel colorido ---- */
.shelf{padding:56px 0 24px}
.shelf-grid{display:flex;align-items:stretch;background:#fff;box-shadow:0 1px 4px rgba(16,24,36,.14)}
.shelf-panel{flex:0 0 294px;padding:32px 20px 28px;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.shelf-orange{background-color:var(--orange);color:var(--navy)}
.shelf-blue{background-color:var(--blue);color:#fff}
.shelf-green{background-color:var(--green);color:#fff}
.panel-price{margin-top:auto;display:flex;flex-direction:column;font-size:15px;font-weight:600}
.panel-price strong{font-size:clamp(2.6rem,4vw,3.4rem);font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.shelf-cards{flex:1 1 0;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px 28px 28px}
.prod{display:block;text-decoration:none;text-align:center}
.prod-img{display:grid;place-items:center;background-color:var(--card);aspect-ratio:5/6;overflow:hidden;border-radius:2px}
.prod-img img{width:100%;height:100%;object-fit:contain;transition:transform .35s var(--ease)}
@media (hover:hover) and (pointer:fine){.prod:hover .prod-img img{transform:scale(1.04)}}
.prod-name{display:block;margin-top:12px;font-weight:700;font-size:15px;line-height:1.35}
.prod-price{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.prod-price b{color:var(--red-text);font-size:15px;font-variant-numeric:tabular-nums}
.prod-note{margin-top:10px;font-size:13px;line-height:1.5;color:var(--muted);text-align:left}

/* ---- 4. bundle ---- */
.bundle{padding:48px 0 16px}
.bundle-panel{display:flex;align-items:stretch;background-color:var(--navy);color:#fff}
.bundle-copy{flex:6 1 0;min-width:0;padding:56px 48px 48px;display:flex;flex-direction:column;gap:18px}
.bundle-copy h2{font-size:clamp(1.7rem,2.6vw,2.4rem);font-weight:400;line-height:1.15;text-wrap:balance}
.bundle-copy p{line-height:1.6}
.bundle-copy strong{font-weight:700}
.ladder{display:grid;gap:0;margin-top:6px}
.ladder li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 0;border-top:1px solid rgba(255,255,255,.2)}
.rung-n{font-size:2rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.rung-straps{display:flex;gap:6px}
.mini{display:block;width:34px;height:46px;background:#fff;border-radius:2px;flex:none;overflow:hidden}
.mini img{width:100%;height:100%;object-fit:contain}
.rung-save{font-size:14px;white-space:nowrap;text-align:right}
.rung-save b{display:block;font-size:1.5rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.bundle-note{font-size:14px;color:#dbe3ee}
.bundle-photo{flex:5 1 0;min-width:0;position:relative;min-height:420px}
.bundle-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---- 5. bancada de troca ---- */
.bench{background-color:var(--band);padding:72px 0 64px;margin-top:40px}
.bench-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;margin:0 auto 40px;max-width:46em}
.bench-head h2{font-size:clamp(1.9rem,3.6vw,3.1rem);font-weight:800;line-height:1.08;letter-spacing:-.02em;text-wrap:balance;text-align:center}
.bench-head p{font-size:1.05rem;color:var(--muted);text-wrap:pretty}
.bench-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:40px;align-items:stretch}
.bench-stage{background:#fff;border-radius:2px;box-shadow:0 1px 4px rgba(16,24,36,.14);padding:28px;display:flex;align-items:center}
.bench-panel{width:100%;display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:32px;align-items:center}
.bench-card{background-color:var(--card);aspect-ratio:3/4;display:grid;place-items:center;overflow:hidden;border-radius:2px}
.bench-card img{width:100%;height:100%;object-fit:contain}
.bench-text h3{font-size:1.7rem;font-weight:800;line-height:1.15;margin-bottom:4px;text-wrap:balance}
.bench-price{font-size:1.3rem;font-weight:700;color:var(--red-text);margin-bottom:12px;font-variant-numeric:tabular-nums}
.bench-text p{text-wrap:pretty}
.com-js .bench-panel:not(.on){display:none}
.com-js .bench-panel.on{animation:swap .24s var(--ease)}
@keyframes swap{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.sem-js .bench-stage{display:block}
.sem-js .bench-panel+.bench-panel{margin-top:28px;padding-top:28px;border-top:1px solid var(--rule)}
.bench-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.chip{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 6px 10px;background:#fff;border:2px solid transparent;border-radius:2px;font:600 12.5px/1.25 'Open Sans',sans-serif;color:var(--ink);cursor:pointer;min-height:44px;transition:border-color .15s,transform .15s var(--ease),box-shadow .15s}
.chip:active{transform:scale(.97)}
.chip[aria-selected="true"]{border-color:var(--red);box-shadow:0 2px 0 var(--red)}
@media (hover:hover) and (pointer:fine){.chip:hover{border-color:var(--navy)}.chip[aria-selected="true"]:hover{border-color:var(--red)}}
.chip-img{display:grid;place-items:center;width:100%;aspect-ratio:3/4;background-color:var(--card);overflow:hidden}
.chip-img img{width:100%;height:100%;object-fit:contain}
.chip-name{display:block;min-height:2.5em;text-wrap:balance}
.bench-foot{margin:36px auto 0;max-width:46em;font-size:1.05rem;text-align:center;text-wrap:pretty}

/* ---- 6. no-lumps ---- */
.lumps{background-color:var(--navy);color:#fff;padding:0}
.lumps-grid{display:flex;align-items:stretch;min-height:860px}
.lumps-copy{flex:1 1 0;min-width:0;padding:72px 48px 72px max(var(--pad),calc((100vw - var(--max))/2));display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px}
.lumps h2{font-size:clamp(2rem,3.8vw,3.3rem);font-weight:400;line-height:1.12;text-wrap:balance}
.lumps-lede{font-size:1.1rem}
.lumps-list{display:grid;gap:18px;margin:6px 0 10px}
.lumps-list li{padding-left:18px;border-left:3px solid var(--red);line-height:1.55}
.lumps-photo{flex:1 1 0;min-width:0;position:relative;min-height:420px}
.lumps-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---- 7. spec strip ---- */
.spec{padding:80px 0 56px}
.spec-grid{display:flex;gap:56px;align-items:flex-start}
.spec-photo{flex:5 1 0;min-width:0;position:sticky;top:24px;background-color:var(--card);aspect-ratio:4/5;overflow:hidden;border-radius:2px}
.spec-photo img{width:100%;height:100%;object-fit:cover}
.spec-body{flex:7 1 0;min-width:0}
.spec h2{font-size:clamp(2rem,4vw,3.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.05;margin-bottom:14px}
.spec-lede{font-size:1.15rem;line-height:1.55;max-width:34em;margin-bottom:28px;text-wrap:pretty}
.spec-list{border-top:2px solid var(--navy)}
.spec-list li{font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:600;padding:15px 0 15px 36px;border-bottom:1px solid var(--rule);position:relative}
.spec-list li::before{content:"";position:absolute;left:0;top:50%;width:22px;height:8px;margin-top:-4px;background:var(--red);border-radius:2px}

/* ---- 8+9. a objeção e a vida com a tira ---- */
.life{background-color:var(--card);padding:0 0 72px}
.casebar{padding:64px 0 56px}
.casebar-head{text-align:center;margin-bottom:36px}
.casebar h2{font-size:clamp(2.2rem,5.4vw,4.8rem);font-weight:800;letter-spacing:-.025em;line-height:1.04;text-wrap:balance;text-align:center}
.casebar-body{display:flex;gap:40px;align-items:flex-start}
.casebar-body>p{flex:1 1 0;min-width:0;font-size:1.05rem;text-wrap:pretty}
.casebar-card{flex:0 0 170px;display:grid;place-items:center;background-color:#fff;aspect-ratio:3/4;overflow:hidden;border-radius:2px;box-shadow:0 1px 4px rgba(16,24,36,.14)}
.casebar-card img{width:100%;height:100%;object-fit:contain}
.life-grid{display:flex;gap:56px;align-items:flex-start;border-top:2px solid var(--navy);padding-top:48px}
.life-side{flex:4 1 0;min-width:0;position:sticky;top:24px;display:grid;gap:24px}
.life h2.life-title{font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:700;line-height:1.25;text-wrap:balance}
.life-card{display:grid;place-items:center;background-color:#fff;aspect-ratio:3/4;max-width:240px;overflow:hidden;border-radius:2px;box-shadow:0 1px 4px rgba(16,24,36,.14)}
.life-card img{width:100%;height:100%;object-fit:contain}
.life-rows{flex:8 1 0;min-width:0}
.life-rows li{display:flex;gap:28px;padding:26px 0;border-top:1px solid var(--rule)}
.life-rows li:first-child{border-top:0;padding-top:0}
.life-rows h3{flex:5 1 0;min-width:0;font-size:1.2rem;font-weight:700;line-height:1.3;text-wrap:balance}
.life-rows p{flex:7 1 0;min-width:0;text-wrap:pretty}

/* ---- 10+11. camo e causas ---- */
.camo{padding:64px 0 24px}
.camo-grid{display:flex;align-items:stretch;background:#fff;box-shadow:0 1px 4px rgba(16,24,36,.14)}
.camo-card{flex:4 1 0;min-width:0;display:grid;place-items:center;background-color:var(--card);overflow:hidden;padding:24px}
.camo-card img{width:100%;max-width:340px;aspect-ratio:630/860;object-fit:contain}
.camo-panel{flex:8 1 0;min-width:0;padding:40px 40px 36px;gap:12px}
.camo-count{font-size:15px;font-weight:600;margin-bottom:8px}
.camo-list{width:100%;margin-bottom:14px}
.camo-list li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;border-top:1px solid rgba(255,255,255,.35);font-size:clamp(1.1rem,1.8vw,1.45rem);font-weight:600}
.camo-list b{font-variant-numeric:tabular-nums;font-weight:800;white-space:nowrap}
.causes-block{margin-top:56px}
.causes-band{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:26px 28px}
.causes-scroll{margin-top:24px}
.causes-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.causes-row li{min-width:0}

/* ---- 12. day in hand ---- */
.days{padding:72px 0 40px}
.days-title{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:400;line-height:1.1;letter-spacing:-.01em;margin:0 auto 32px;max-width:16em;text-wrap:balance;text-align:center}
.days-title b{font-weight:800}
.days-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.days-grid figure{aspect-ratio:3/4;overflow:hidden;background-color:var(--card);border-radius:2px;margin-bottom:16px}
.days-grid img{width:100%;height:100%;object-fit:cover}
.days-grid h3{font-size:1.2rem;font-weight:800;margin-bottom:6px}
.days-grid p{font-size:15px;line-height:1.6;color:var(--muted);text-wrap:pretty}

/* ---- 13. reviews ---- */
.wall-sec{background-color:var(--band);padding:72px 0 64px;margin-top:40px}
.wall-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 40px;flex-wrap:wrap;margin-bottom:32px}
.wall-head h2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:400;line-height:1.1;color:#0b4aa6;max-width:12em;text-wrap:balance}
.wall-nums{display:flex;align-items:flex-end;gap:28px;flex-wrap:wrap}
.wall-num{display:flex;flex-direction:column;line-height:1}
.wall-num strong{font-size:clamp(2.6rem,4vw,3.6rem);font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.wall-num span{font-size:14px;color:var(--muted);margin-top:4px}
.wall{columns:3;column-gap:20px}
.quote{break-inside:avoid;background:#fff;border-radius:2px;border-top:4px solid var(--c,var(--navy));padding:22px 22px 18px;margin:0 0 20px;box-shadow:0 1px 3px rgba(16,24,36,.1)}
.quote:nth-child(4n+1){--c:var(--orange)}
.quote:nth-child(4n+2){--c:var(--blue)}
.quote:nth-child(4n+3){--c:var(--green)}
.quote:nth-child(4n){--c:var(--navy)}
.quote blockquote p{font-size:15.5px;line-height:1.65}
.quote blockquote p::before{content:"“"}
.quote blockquote p::after{content:"”"}
.quote figcaption{margin-top:14px;font-weight:700;font-size:14px}
.quote figcaption span{display:block;font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums}
.reply{display:flex;align-items:stretch;margin-top:28px;box-shadow:0 1px 4px rgba(16,24,36,.14)}
.reply-ask{flex:5 1 0;min-width:0;background:#fff;padding:32px 32px 28px;display:flex;flex-direction:column;gap:12px}
.reply-who{font-weight:700;font-size:14px;color:var(--muted)}
.reply-ask h3{font-size:1.6rem;font-weight:800;line-height:1.15}
.reply-pull{margin-top:auto;padding-top:24px;font-size:clamp(1.3rem,2vw,1.7rem);font-weight:800;line-height:1.25;letter-spacing:-.01em;color:#0b4aa6;border-top:4px solid var(--red)}
.reply-answer{flex:7 1 0;min-width:0;background-color:var(--navy);color:#fff;padding:32px 36px 30px;display:grid;gap:12px;font-size:15.5px;align-content:start}

/* ---- 14. idea ---- */
.idea{padding:80px 0 64px}
.idea-grid{display:flex;gap:56px;align-items:flex-start}
.idea-photo{flex:4 1 0;min-width:0;position:sticky;top:24px;aspect-ratio:4/5;max-width:472px;background-color:var(--card);overflow:hidden;border-radius:2px}
.idea-photo img{width:100%;height:100%;object-fit:cover}
.idea-body{flex:8 1 0;min-width:0;display:flex;gap:40px;align-items:flex-start}
.idea-col{flex:1 1 0;min-width:0;display:grid;gap:14px;align-content:start}
.idea-col h2{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;letter-spacing:-.02em}
.idea-col p{text-wrap:pretty}

/* ---- 15. brands ---- */
.brands{padding:56px 0 48px}
.brands-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;margin:0 auto 32px;max-width:40em}
.brands-head h2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:400;line-height:1.1;text-align:center}
.brands-head h2 b{font-weight:800}
.brands-head p{font-size:1.1rem;text-wrap:pretty}
.brand-rows{border-top:2px solid var(--navy)}
.brand-row{display:grid;grid-template-columns:84px minmax(0,3fr) minmax(0,7fr);gap:28px;align-items:center;padding:20px 0;border-bottom:1px solid var(--rule)}
.brand-thumb{display:grid;place-items:center;aspect-ratio:3/4;background-color:var(--card);overflow:hidden;border-radius:2px}
.brand-thumb img{width:100%;height:100%;object-fit:contain}
.brand-token{font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:800;line-height:1.1;letter-spacing:-.02em}
.brand-row h3{font-size:1.2rem;font-weight:700;margin-bottom:4px;text-wrap:balance}
.brand-row p:not(.brand-token){text-wrap:pretty}
.brands-quotes{display:flex;gap:20px;margin-top:32px;align-items:flex-start}
.brands-quotes .quote{margin:0;flex:5 1 0;min-width:0}
.brands-quotes .quote:first-child{flex:7 1 0}

/* ---- 16. tiles ---- */
.tiles-sec{padding:40px 0 56px}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tile{display:block;text-decoration:none;background:#fff;border:1px solid var(--rule);border-radius:2px;overflow:hidden;transition:box-shadow .2s var(--ease),transform .2s var(--ease)}
.tile-img{display:grid;place-items:center;aspect-ratio:4/3;background-color:#ececec;overflow:hidden}
.tile-img img{width:100%;height:100%;object-fit:contain;padding:6px 0}
.tile-name{display:block;text-align:center;font-weight:700;font-size:15px;padding:11px 8px}
@media (hover:hover) and (pointer:fine){a.tile:hover{box-shadow:0 6px 16px rgba(16,24,36,.16);transform:translateY(-2px)}}
.tile-title{display:flex;align-items:center;justify-content:center;text-align:center;background-color:var(--navy);color:#fff;border:0;padding:24px}
.tile-title h2{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:400;line-height:1.15;text-align:center}
.tile-title b{font-weight:800}

/* ---- 17. carry ---- */
.carry{padding:64px 0 72px}
.carry-copy{max-width:52em;margin-inline:auto;text-align:center;display:grid;gap:16px}
.carry-copy h2{font-size:clamp(1.9rem,3.2vw,2.5rem);font-weight:400;text-align:center}
.carry-copy h2 b{font-weight:800}
.carry-copy p{color:var(--muted);font-size:1.05rem;text-wrap:pretty}
.carry-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:8px}
.carry-also{margin-top:56px;text-align:center;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:400}
.carry-sub{text-align:center;color:var(--muted);margin:4px 0 24px}
.carry-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.carry-fine{margin-top:36px;text-align:center;font-size:13px;color:var(--muted);font-style:italic}

/* ---- responsivo ---- */
@media (max-width:1100px){
  .shelf-grid{flex-direction:column}
  .shelf-panel{flex:none;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}
  .panel-price{margin-top:0;flex-direction:row;align-items:baseline;gap:10px}
  .panel-price strong{font-size:2rem}
  .bench-grid{grid-template-columns:minmax(0,1fr)}
  .bench-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}
  .casebar-card{display:none}
  .days-grid,.carry-cards,.causes-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wall{columns:2}
}
@media (max-width:860px){
  .bundle-panel,.lumps-grid,.camo-grid,.reply,.brands-quotes,.spec-grid,.life-grid,.idea-grid,.idea-body,.casebar-body{flex-direction:column}
  .bundle-copy,.bundle-photo,.camo-card,.camo-panel,.reply-ask,.reply-answer,.brands-quotes .quote,.brands-quotes .quote:first-child{flex:none;width:100%}
  .spec-photo,.life-side,.idea-photo{flex:none;width:100%;position:static}
  .spec-body,.life-rows,.idea-body,.idea-col,.casebar-body>p{flex:none;width:100%}
  .lumps-copy,.lumps-photo{flex:none;width:100%}
  .bundle-copy{padding:36px 24px 32px}
  .bundle-photo{min-height:340px}
  .lumps-grid{min-height:0}
  .lumps-copy{padding:48px var(--pad) 40px}
  .lumps-photo{min-height:360px}
  .spec-grid,.life-grid,.idea-grid{gap:28px}
  .spec-photo{aspect-ratio:4/3}
  .life-card{display:none}
  .idea-photo{aspect-ratio:4/3;max-width:none}
  .life-rows li{flex-direction:column;gap:8px}
  .camo-card{padding:20px}
  .camo-panel{padding:28px 20px}
  .brand-row{grid-template-columns:64px minmax(0,1fr);gap:8px 16px}
  .brand-row>div{grid-column:1/-1}
  .wall-head{align-items:flex-start}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bench-panel{grid-template-columns:minmax(0,140px) minmax(0,1fr);gap:16px}
  .bench-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bench-stage{padding:16px}
  .causes-scroll{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}
  .causes-row{display:flex;gap:16px;width:max-content}
  .causes-row li{flex:0 0 min(68vw,300px);scroll-snap-align:start}
  .reply-pull{margin-top:12px}
}
@media (max-width:560px){
  .shelf{padding-top:36px}
  .shelf-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;padding:20px 16px 24px}
  .ladder li{grid-template-columns:24px minmax(0,1fr) auto;gap:8px}
  .mini{width:26px;height:36px}
  .rung-straps{gap:4px}
  .rung-save b{font-size:1.2rem}
  .rung-n{font-size:1.5rem}
  .days-grid,.carry-cards{grid-template-columns:minmax(0,1fr)}
  .wall{columns:1}
  .reply-ask,.reply-answer{padding:24px 20px}
  .causes-band{padding:20px 16px}
  .bench{padding:48px 0 44px}
  .bench-panel{grid-template-columns:minmax(0,1fr)}
  .bench-card{max-width:220px;margin-inline:auto}
  .carry-actions .btn{width:100%}
}
