*{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{background:#fff;color:#111;font-family:'Onest',sans-serif;overflow-x:hidden;min-height:100vh}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid #b15f2c;outline-offset:2px}

@media (max-width:1920px){html{font-size:0.833333vw}}
@media (max-width:1440px){html{font-size:1.111111vw}}
@media (max-width:1024px){html{font-size:1.5625vw}}
@media (max-width:640px){html{font-size:4.444444vw}}

.shell{max-width:88rem;margin-inline:auto;padding-inline:1.25rem}
@media (min-width:640px){.shell{padding-inline:2rem}}

/* Header */
.hdr{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid #e6e5e2}
.hdr .shell{display:flex;align-items:center;justify-content:space-between;padding-block:1.25rem}
.brand{display:inline-flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;letter-spacing:-.01em;color:#111}
.back-btn{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:rgba(17,17,17,.7);border:1px solid #e6e5e2;border-radius:.875rem;padding:.5rem 1rem;transition:background .3s,color .3s}
.back-btn:hover{background:#f1f0ee;color:#111}

/* Breadcrumb */
.breadcrumb{padding-block:1.25rem;font-size:.8125rem;color:rgba(17,17,17,.68);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.breadcrumb a{color:rgba(17,17,17,.7);transition:color .2s}
.breadcrumb a:hover{color:#b15f2c}
.breadcrumb .sep{color:rgba(17,17,17,.3)}
.breadcrumb .current{color:#111;font-weight:500}

/* Hero */
.p-hero{display:grid;grid-template-columns:1fr;gap:2.5rem;padding-block:1.5rem 4rem;align-items:start}
@media (min-width:1024px){.p-hero{grid-template-columns:1.15fr 1fr;gap:5rem;padding-block:2rem 6rem}}
.p-gallery{display:flex;flex-direction:column;gap:1rem}
.p-photo{position:relative;aspect-ratio:4/3;border-radius:2rem;overflow:hidden;background:#fff;box-shadow:0 25px 60px -15px rgba(0,0,0,.25);padding:1.5rem}
.p-photo img{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .3s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.p-photo:hover img{transform:scale(1.03)}
.p-photo img.fading{opacity:0}
.p-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(5rem,1fr));gap:.625rem}
@media (min-width:640px){.p-thumbs{grid-template-columns:repeat(auto-fill,minmax(6rem,1fr))}}
.p-thumb{aspect-ratio:1/1;border-radius:.875rem;overflow:hidden;background:#fff;border:2px solid #e6e5e2;padding:.375rem;cursor:pointer;transition:border-color .3s,transform .3s}
.p-thumb:hover{border-color:#b15f2c;transform:translateY(-2px)}
.p-thumb.active{border-color:#b15f2c;box-shadow:0 0 0 2px rgba(177,95,44,.15)}
.p-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.p-info{display:flex;flex-direction:column;gap:1.5rem}
.p-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:rgba(17,17,17,.7)}
.p-eyebrow .dot{width:.375rem;height:.375rem;border-radius:9999px;background:#b15f2c}
.p-name{font-size:2.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.05}
@media (min-width:640px){.p-name{font-size:3rem}}
@media (min-width:1024px){.p-name{font-size:3.5rem}}
.p-desc{font-size:1.125rem;line-height:1.55;color:rgba(17,17,17,.7);max-width:34rem}
.p-tags{display:flex;flex-wrap:wrap;gap:.5rem}
.tag-chip{display:inline-flex;border:1px solid #e6e5e2;color:#111;border-radius:9999px;padding:.5rem 1rem;font-size:.875rem;font-weight:500}
.p-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}
.pill{display:inline-block}
.pill .pill-inner{display:inline-flex;align-items:center;gap:.75rem;border-radius:9999px;font-size:.875rem;font-weight:500;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.pill:hover .pill-inner{transform:scale(1.04)}
.pill.dark .pill-inner{background:#0a0a0a;color:#fff}
.pill.outline .pill-inner{border:1px solid #e6e5e2;background:transparent;color:#111}
.pill.accent .pill-inner{background:#b15f2c;color:#fff}
.pill.no-arrow .pill-inner{padding:.875rem 1.75rem}
.pill.with-arrow .pill-inner{padding:.375rem .375rem .375rem 1.5rem}
.pill .badge{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:9999px;font-size:1rem}
.pill.dark .badge{background:#fff;color:#0a0a0a}
.pill.accent .badge{background:#fff;color:#b15f2c}
.pill.outline .badge{background:#0a0a0a;color:#fff}
.pill .badge svg{width:1em;height:1em;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.pill.arrow-up-right:hover .badge svg{transform:translate(2px,-2px)}
.pill.arrow-right:hover .badge svg{transform:translate(3px,0)}

/* Quick info bar */
.quick-info{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;border-top:1px solid #e6e5e2;padding-top:1.5rem;margin-top:.5rem}
@media (min-width:640px){.quick-info{grid-template-columns:repeat(3,1fr)}}
.qi-item{display:flex;flex-direction:column;gap:.25rem}
.qi-lbl{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:rgba(17,17,17,.68)}
.qi-val{font-size:.9375rem;font-weight:600;color:#111}

/* Section base */
.section{padding-block:3.5rem}
@media (min-width:1024px){.section{padding-block:5rem}}
.section.alt{background:#f1f0ee}
.section-head{margin-bottom:2.5rem;max-width:36rem}
.section-eye{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:rgba(17,17,17,.7);margin-bottom:.75rem}
.section-eye .dot{width:.375rem;height:.375rem;border-radius:9999px;background:#b15f2c}
.section-title{font-size:1.75rem;font-weight:600;letter-spacing:-.02em;line-height:1.15}
@media (min-width:640px){.section-title{font-size:2.25rem}}
@media (min-width:1024px){.section-title{font-size:2.75rem}}
.section-lead{margin-top:1rem;font-size:1rem;color:rgba(17,17,17,.65);line-height:1.6}

/* Long description */
.long-desc{font-size:1rem;line-height:1.7;color:rgba(17,17,17,.75);max-width:52rem}
@media (min-width:640px){.long-desc{font-size:1.0625rem}}

/* Features grid */
.features-grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media (min-width:640px){.features-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.features-grid{grid-template-columns:1fr 1fr 1fr}}
.feature{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;background:#fff;border:1px solid #e6e5e2;border-radius:1.25rem;transition:border-color .3s,transform .3s}
.section.alt .feature{background:#fff}
.feature:hover{border-color:#b15f2c;transform:translateY(-3px)}
.feature-icon{width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:.75rem;background:rgba(177,95,44,.1);color:#b15f2c;font-size:1rem}
.feature-text{font-size:.9375rem;color:rgba(17,17,17,.8);line-height:1.5}

/* Specs table */
.specs{display:grid;grid-template-columns:1fr;gap:0;max-width:52rem;border-top:1px solid #e6e5e2}
.spec-row{display:grid;grid-template-columns:1fr;gap:.25rem;padding-block:1rem;border-bottom:1px solid #e6e5e2}
@media (min-width:640px){.spec-row{grid-template-columns:14rem 1fr;gap:1rem;align-items:baseline}}
.spec-key{font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:rgba(17,17,17,.68)}
.spec-val{font-size:1rem;color:#111;font-weight:500}

/* Applications list */
.applications{display:grid;grid-template-columns:1fr;gap:.75rem;max-width:52rem}
@media (min-width:640px){.applications{grid-template-columns:1fr 1fr}}
.app-item{display:flex;gap:.75rem;padding:1rem 1.25rem;background:#fff;border:1px solid #e6e5e2;border-radius:.875rem;font-size:.9375rem;color:rgba(17,17,17,.85);align-items:center}
.section.alt .app-item{background:#fff}
.app-item::before{content:'';width:.375rem;height:.375rem;border-radius:9999px;background:#b15f2c;flex-shrink:0}

/* Warranty card */
.warranty{display:grid;grid-template-columns:1fr;gap:1.5rem;padding:2rem;border-radius:2rem;background:#0a0a0a;color:#fff;max-width:52rem}
@media (min-width:640px){.warranty{grid-template-columns:auto 1fr;padding:2.5rem;gap:2rem;align-items:center}}
.warranty-badge{width:4rem;height:4rem;display:grid;place-items:center;border-radius:1rem;background:rgba(207,128,71,.15);color:#cf8047;font-size:1.5rem;flex-shrink:0}
.warranty-content h3{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}
.warranty-content p{font-size:.9375rem;color:rgba(255,255,255,.7);line-height:1.55}

/* Related products */
.related-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media (min-width:640px){.related-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.related-grid{grid-template-columns:repeat(3,1fr)}}
.rel-card{position:relative;display:flex;flex-direction:column;border-radius:1.5rem;background:#fff;overflow:hidden;border:1px solid #e6e5e2;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.rel-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -12px rgba(0,0,0,.15)}
.rel-photo{aspect-ratio:1/1;background:#f1f0ee;overflow:hidden}
.rel-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.rel-card:hover .rel-photo img{transform:scale(1.05)}
.rel-body{padding:1.25rem;display:flex;flex-direction:column;gap:.375rem;flex:1}
.rel-cat{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:#b15f2c}
.rel-name{font-size:1.0625rem;font-weight:600;color:#111}
.rel-btn{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;background:#b15f2c;color:#fff;border-radius:9999px;transition:background .3s,transform .3s;align-self:flex-start;margin-top:1rem}
.rel-card:hover .rel-btn{background:#97501f;transform:scale(1.04)}

/* Final CTA */
.final-cta{padding:3rem 1.5rem;border-radius:2rem;background:linear-gradient(135deg,#0a0a0a 0%,#1a1a1a 100%);color:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.25rem}
@media (min-width:640px){.final-cta{padding:4rem 3rem}}
.final-cta h2{font-size:1.75rem;font-weight:600;letter-spacing:-.02em;max-width:32rem}
@media (min-width:640px){.final-cta h2{font-size:2.25rem}}
.final-cta p{font-size:1rem;color:rgba(255,255,255,.65);max-width:32rem}
.final-cta .pill .badge{width:1.75rem;height:1.75rem;font-size:.75rem}
.final-cta .pill .badge svg{width:.85em;height:.85em}
.final-cta .p-cta{justify-content:center}

/* Not found */
.notfound{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;padding-block:5rem}
.notfound h1{font-size:2.25rem;font-weight:600;letter-spacing:-.02em}
.notfound p{font-size:1rem;color:rgba(17,17,17,.6);max-width:32rem}

/* Footer */
footer{background:#0a0a0a;color:#fff;padding-block:2rem;text-align:center}
footer .shell{font-size:.75rem;color:rgba(255,255,255,.55)}

/* área de toque maior (celular), sem mudar o visual */
.brand,.breadcrumb a,.contact-card .item .val a,.toc-list a{position:relative}
.brand::before{content:"";position:absolute;inset:-12px -8px}
.breadcrumb a::before,.contact-card .item .val a::before,.toc-list a::before{content:"";position:absolute;inset:-14px -4px}
