/* Preflight equivalente ao Tailwind CDN do HTML */
*, *::before, *::after { box-sizing: border-box; border-width: 0; border-style: solid; border-color: currentColor; }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; tab-size: 4; font-family: "IBM Plex Sans", system-ui, sans-serif; }
body { margin: 0; line-height: inherit; }
hr { height: 0; color: inherit; border-top-width: 1px; }
h1, h2, h3, h4, p { margin: 0; font-size: inherit; font-weight: inherit; }
ol, ul { list-style: none; margin: 0; padding: 0; }
img, svg, video { display: block; vertical-align: middle; }
img, video { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: inherit; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; font-weight: inherit; line-height: inherit; color: inherit; margin: 0; padding: 0; }
button, select { text-transform: none; }
button, [type='button'], [type='submit'] { -webkit-appearance: button; background-color: transparent; background-image: none; }
button { cursor: pointer; }
address { font-style: inherit; }
summary { display: list-item; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }
.focus\:not-sr-only:focus { position: static; width: auto; height: auto; padding: 0; margin: 0; overflow: visible; clip: auto; white-space: normal; }
.focus\:absolute:focus { position: absolute; }
.focus\:z-\[100\]:focus { z-index: 100; }
.focus\:m-3:focus { margin: 0.75rem; }
.focus\:bg-cerne:focus { background-color: #241609; }
.focus\:text-white:focus { color: #fff; }
.focus\:px-4:focus { padding-left: 1rem; padding-right: 1rem; }
.focus\:py-2:focus { padding-top: 0.5rem; padding-bottom: 0.5rem; }

.font-sans { font-family: "IBM Plex Sans", system-ui, sans-serif; }
.font-display { font-family: Jost, system-ui, sans-serif; }
.antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.relative { position: relative; }
.absolute { position: absolute; }
.inset-0 { inset: 0; }
.z-10 { z-index: 10; }

.flex { display: flex; }
.inline-flex { display: inline-flex; }
.grid { display: grid; }
.hidden { display: none; }
.block { display: block; }

.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.justify-between { justify-content: space-between; }
.justify-end { justify-content: flex-end; }
.justify-center { justify-content: center; }
.shrink-0 { flex-shrink: 0; }
.order-last { order: 9999; }

.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-5 { gap: 1.25rem; }
.gap-6 { gap: 1.5rem; }
.gap-8 { gap: 2rem; }
.gap-10 { gap: 2.5rem; }
.gap-12 { gap: 3rem; }
.gap-x-8 { column-gap: 2rem; }
.gap-y-6 { row-gap: 1.5rem; }

.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.w-auto { width: auto; }
.w-full { width: 100%; }
.w-fit { width: fit-content; }
.h-full { height: 100%; }
.h-16 { height: 4rem; }
.h-32 { height: 8rem; }
.h-52 { height: 13rem; }
.h-60 { height: 15rem; }
.h-64 { height: 16rem; }
.h-\[106px\] { height: 106px; }
.h-\[62vw\] { height: 62vw; }
.h-\[22rem\] { height: 22rem; }
.max-h-\[420px\] { max-height: 420px; }
.min-h-\[24rem\] { min-height: 24rem; }

.max-w-\[22ch\] { max-width: 22ch; }
.max-w-\[36ch\] { max-width: 36ch; }
.max-w-\[38ch\] { max-width: 38ch; }
.max-w-\[46ch\] { max-width: 46ch; }
.max-w-\[58ch\] { max-width: 58ch; }
.max-w-\[62ch\] { max-width: 62ch; }
.max-w-md { max-width: 28rem; }

.overflow-hidden { overflow: hidden; }
.object-cover { object-fit: cover; }

.p-2 { padding: 0.5rem; }
.p-6 { padding: 1.5rem; }
.p-7 { padding: 1.75rem; }
.px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.py-8 { padding-top: 2rem; padding-bottom: 2rem; }
.py-16 { padding-top: 4rem; padding-bottom: 4rem; }
.pt-12 { padding-top: 3rem; }
.pt-16 { padding-top: 4rem; }
.pb-1 { padding-bottom: 0.25rem; }
.pb-10 { padding-bottom: 2.5rem; }
.pb-14 { padding-bottom: 3.5rem; }
.-mr-2 { margin-right: -0.5rem; }
.mb-5 { margin-bottom: 1.25rem; }
.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1rem; }
.mt-5 { margin-top: 1.25rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-7 { margin-top: 1.75rem; }
.mt-8 { margin-top: 2rem; }
.mt-9 { margin-top: 2.25rem; }
.mt-10 { margin-top: 2.5rem; }
.mt-12 { margin-top: 3rem; }

.space-y-3 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.75rem; }
.space-y-4 > :not([hidden]) ~ :not([hidden]) { margin-top: 1rem; }
.space-y-12 > :not([hidden]) ~ :not([hidden]) { margin-top: 3rem; }

.rounded-\[2px\] { border-radius: 2px; }
.border-t { border-top-width: 1px; }
.border-b { border-bottom-width: 1px; }
.border-casca\/15 { border-color: rgb(94 55 18 / 0.15); }
.border-casca\/10 { border-color: rgb(94 55 18 / 0.1); }
.border-ambar { border-color: #C87838; }
.border-white\/10 { border-color: rgb(255 255 255 / 0.1); }

.bg-cerne { background-color: #241609; }
.bg-papel { background-color: #FBFAF7; }
.bg-serragem { background-color: #E8E1D4; }
.bg-ambar { background-color: #C87838; }
.bg-white { background-color: #fff; }
.bg-\[\#1e8e50\] { background-color: #1e8e50; }
.bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-stops)); }
.from-papel { --tw-gradient-from: #FBFAF7; --tw-gradient-to: rgb(251 250 247 / 0); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.via-papel\/10 { --tw-gradient-to: rgb(251 250 247 / 0); --tw-gradient-stops: var(--tw-gradient-from), rgb(251 250 247 / 0.1), var(--tw-gradient-to); }
.to-transparent { --tw-gradient-to: transparent; }

.text-white { color: #fff; }
.text-tinta { color: #2C2016; }
.text-casca { color: #5E3712; }
.text-ambar { color: #C87838; }
.text-\[\#a33\] { color: #a33; }
.text-casca\/80 { color: rgb(94 55 18 / 0.8); }
.text-tinta\/85 { color: rgb(44 32 22 / 0.85); }
.text-tinta\/80 { color: rgb(44 32 22 / 0.8); }
.text-tinta\/75 { color: rgb(44 32 22 / 0.75); }
.text-tinta\/70 { color: rgb(44 32 22 / 0.7); }
.text-tinta\/65 { color: rgb(44 32 22 / 0.65); }
.text-tinta\/60 { color: rgb(44 32 22 / 0.6); }
.text-white\/85 { color: rgb(255 255 255 / 0.85); }
.text-white\/80 { color: rgb(255 255 255 / 0.8); }
.text-white\/70 { color: rgb(255 255 255 / 0.7); }
.text-white\/60 { color: rgb(255 255 255 / 0.6); }

.text-\[\.88rem\] { font-size: .88rem; }
.text-\[\.9rem\] { font-size: .9rem; }
.text-\[\.92rem\] { font-size: .92rem; }
.text-\[\.95rem\] { font-size: .95rem; }
.text-\[\.96rem\] { font-size: .96rem; }
.text-\[\.98rem\] { font-size: .98rem; }
.text-\[1rem\] { font-size: 1rem; }
.text-\[1\.02rem\] { font-size: 1.02rem; }
.text-\[1\.05rem\] { font-size: 1.05rem; }
.text-\[1\.2rem\] { font-size: 1.2rem; }
.text-\[1\.35rem\] { font-size: 1.35rem; }
.text-\[2rem\] { font-size: 2rem; }
.leading-snug { line-height: 1.375; }
.leading-relaxed { line-height: 1.625; }
.leading-none { line-height: 1; }
.not-italic { font-style: normal; }
.break-all { word-break: break-all; }
.underline { text-decoration-line: underline; }
.decoration-ambar { text-decoration-color: #C87838; }
.underline-offset-4 { text-underline-offset: 4px; }

.opacity-\[0\.16\] { opacity: 0.16; }

.transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.transition-transform { transition-property: transform; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.duration-700 { transition-duration: 700ms; }
.duration-\[900ms\] { transition-duration: 900ms; }
.hover\:scale-105:hover { transform: scale(1.05); }
.hover\:text-casca:hover { color: #5E3712; }
.hover\:text-ambar:hover { color: #C87838; }
.group:hover .group-hover\:scale-105 { transform: scale(1.05); }
.group:hover .group-hover\:text-ambar { color: #C87838; }
.group:hover .group-hover\:bg-\[\#186f3f\] { background-color: #186f3f; }

@media (min-width: 640px) {
  .sm\:inline-flex { display: inline-flex; }
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sm\:gap-10 { gap: 2.5rem; }
  .sm\:divide-x > :not([hidden]) ~ :not([hidden]) { border-left-width: 1px; }
  .sm\:divide-white\/10 > :not([hidden]) ~ :not([hidden]) { border-color: rgb(255 255 255 / 0.1); }
  .sm\:pr-6 { padding-right: 1.5rem; }
  .sm\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
  .sm\:pl-6 { padding-left: 1.5rem; }
  .sm\:w-fit { width: fit-content; }
  .sm\:w-auto { width: auto; }
  .sm\:justify-start { justify-content: flex-start; }
  .sm\:col-span-2 { grid-column: span 2 / span 2; }
  .sm\:p-8 { padding: 2rem; }
  .sm\:flex-row { flex-direction: row; }
  .sm\:items-center { align-items: center; }
  .sm\:justify-between { justify-content: space-between; }
}

@media (min-width: 768px) {
  .md\:flex { display: flex; }
  .md\:h-40 { height: 10rem; }
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .lg\:flex { display: flex; }
  .lg\:hidden { display: none; }
  .lg\:block { display: block; }
  .lg\:absolute { position: absolute; }
  .lg\:sticky { position: sticky; }
  .lg\:top-0 { top: 0; }
  .lg\:top-28 { top: 7rem; }
  .lg\:right-0 { right: 0; }
  .lg\:bottom-0 { bottom: 0; }
  .lg\:h-auto { height: auto; }
  .lg\:max-h-none { max-height: none; }
  .lg\:w-\[44vw\] { width: 44vw; }
  .lg\:h-80 { height: 20rem; }
  .lg\:h-\[30rem\] { height: 30rem; }
  .lg\:max-w-\[54\%\] { max-width: 54%; }
  .lg\:pt-24 { padding-top: 6rem; }
  .lg\:pb-28 { padding-bottom: 7rem; }
  .lg\:py-24 { padding-top: 6rem; padding-bottom: 6rem; }
  .lg\:gap-16 { gap: 4rem; }
  .lg\:items-start { align-items: flex-start; }
  .lg\:items-center { align-items: center; }
  .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lg\:grid-cols-\[1fr_1\.05fr\] { grid-template-columns: 1fr 1.05fr; }
  .lg\:grid-cols-\[1fr_1\.1fr\] { grid-template-columns: 1fr 1.1fr; }
  .lg\:grid-cols-\[\.8fr_1\.2fr\] { grid-template-columns: .8fr 1.2fr; }
  .lg\:grid-cols-\[1\.2fr_1fr_1fr\] { grid-template-columns: 1.2fr 1fr 1fr; }
  .lg\:order-first { order: -9999; }
}

:root{
  --cerne:#241609; --casca:#5E3712; --ambar:#C87838; --brasa:#9A5A22;
  --serragem:#E8E1D4; --papel:#FBFAF7; --tinta:#2C2016;
  --header-h:76px;
}
html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 12px); }
body{ background:var(--papel); color:var(--tinta); -webkit-font-smoothing:antialiased; }

/* Alinhamento único: header, corpo e rodapé partilham a mesma caixa */
.shell{ width:100%; max-width:1200px; margin-inline:auto; padding-inline:20px; }
@media (min-width:768px){ .shell{ padding-inline:40px; } }

.h-display{ font-family:'Jost',sans-serif; font-weight:500; letter-spacing:-.015em; line-height:1.06; }
.h1{ font-size:clamp(2.15rem,5.4vw,4rem); }
.h2{ font-size:clamp(1.75rem,3.6vw,2.7rem); }
.h3{ font-size:clamp(1.15rem,1.9vw,1.45rem); }
.lede{ font-size:clamp(1.02rem,1.35vw,1.18rem); line-height:1.65; max-width:62ch; }

/* Botões */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
      font-family:'Jost',sans-serif; font-weight:500; font-size:1rem; line-height:1;
      padding:.95rem 1.6rem; border-radius:2px; transition:background-color .25s, color .25s, transform .25s, box-shadow .25s; }
.btn-primary{ background:var(--ambar); color:#fff; box-shadow:0 1px 0 rgba(0,0,0,.15); }
.btn-primary:hover{ background:var(--brasa); transform:translateY(-2px); }
.btn-ghost{ border:1px solid rgba(94,55,18,.35); color:var(--casca); background:transparent; }
.btn-ghost:hover{ background:var(--casca); border-color:var(--casca); color:#fff; }
.btn-dark{ background:#fff; color:var(--cerne); }
.btn-dark:hover{ background:var(--ambar); color:#fff; }
.btn-wa{ background:#1e8e50; color:#fff; }
.btn-wa:hover{ background:#186f3f; transform:translateY(-2px); }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible{
  outline:3px solid var(--ambar); outline-offset:3px;
}

/* Cabeçalho */
.site-header{ position:sticky; top:0; z-index:60; background:rgba(251,250,247,.92); backdrop-filter:blur(10px);
              border-bottom:1px solid rgba(94,55,18,.14); transition:box-shadow .3s, background-color .3s; }
.site-header.is-stuck{ box-shadow:0 8px 30px -18px rgba(36,22,9,.55); background:rgba(251,250,247,.98); }
.nav-link{ position:relative; font-family:'Jost',sans-serif; font-size:.98rem; color:var(--tinta); padding-block:.35rem; }
.nav-link::after{ content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--ambar); transition:width .3s ease; }
.nav-link:hover::after, .nav-link[aria-current="true"]::after{ width:100%; }

/* Paralax */
.px-wrap{ overflow:hidden; }
.px-img{ will-change:transform; height:118%; width:100%; object-fit:cover; position:absolute; inset:-9% 0 auto 0; }

/* Revelação suave */
[data-reveal]{ opacity:0; transform:translateY(14px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
[data-reveal].in{ opacity:1; transform:none; }

/* Estante de pranchas (elemento assinatura) */
.rack{ display:flex; gap:8px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
       padding-bottom:8px; scrollbar-width:thin; }
.plank{ position:relative; flex:0 0 78%; scroll-snap-align:center; height:26rem; overflow:hidden;
        border-radius:2px; background:var(--cerne); }
.plank img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.04);
            transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
.plank::after{ content:""; position:absolute; inset:0;
               background:linear-gradient(to top, rgba(20,12,5,.92) 0%, rgba(20,12,5,.55) 42%, rgba(20,12,5,.08) 100%); }
.plank-body{ position:absolute; z-index:2; left:0; right:0; bottom:0; padding:1.4rem 1.3rem; color:#fff; }
.plank-vlabel{ display:none; }
.plank-esp{ color:#EBD8C2; font-size:.9rem; }
.plank-desc{ color:rgba(255,255,255,.82); font-size:.95rem; line-height:1.55; margin-top:.55rem; max-width:38ch; }
.plank-cta{ display:inline-flex; margin-top:1rem; font-family:'Jost',sans-serif; font-size:.95rem; color:#fff;
            border-bottom:1px solid var(--ambar); padding-bottom:3px; }
.plank-cta:hover{ color:var(--ambar); }

@media (min-width:960px){
  .rack{ overflow:visible; gap:10px; }
  .plank{ flex:1 1 0%; height:31rem; transition:flex-grow .65s cubic-bezier(.2,.7,.2,1); cursor:pointer; }
  .plank.is-active{ flex-grow:3.6; }
  .plank.is-active img{ transform:scale(1); }
  .plank-vlabel{ display:block; position:absolute; z-index:2; bottom:1.3rem; left:50%; transform:translateX(-50%);
                 writing-mode:vertical-rl; rotate:180deg; font-family:'Jost',sans-serif; font-weight:500;
                 font-size:1.05rem; color:#fff; white-space:nowrap; transition:opacity .35s; }
  .plank.is-active .plank-vlabel{ opacity:0; pointer-events:none; }
  .plank-body{ opacity:0; transform:translateY(10px); transition:opacity .45s .12s, transform .45s .12s; }
  .plank.is-active .plank-body{ opacity:1; transform:none; }
}

/* Lista técnica de bitolas */
.spec{ display:grid; grid-template-columns:1fr auto; gap:.75rem 1.5rem; align-items:baseline;
       padding:.85rem 0; border-bottom:1px solid rgba(94,55,18,.16); }
.spec:last-child{ border-bottom:0; }
.spec dt{ font-family:'Jost',sans-serif; font-size:1.05rem; color:var(--casca); }
.spec dd{ font-size:.95rem; color:#6b5a49; text-align:right; }

/* Cartões de caminho */
.door{ position:relative; overflow:hidden; display:block; min-height:24rem; border-radius:2px; }
.door img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.05); transition:transform 1s cubic-bezier(.2,.7,.2,1); }
.door:hover img{ transform:scale(1.11); }
.door::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(24,14,6,.94), rgba(24,14,6,.35) 55%, rgba(24,14,6,.1)); }

details.q{ border-bottom:1px solid rgba(94,55,18,.18); }
details.q summary{ cursor:pointer; list-style:none; padding:1.15rem 0; font-family:'Jost',sans-serif; font-size:1.1rem; color:var(--casca);
                   display:flex; justify-content:space-between; gap:1rem; align-items:center; }
details.q summary::-webkit-details-marker{ display:none; }
details.q summary span.sign{ flex:none; width:22px; height:22px; position:relative; }
details.q summary span.sign::before, details.q summary span.sign::after{
  content:""; position:absolute; background:var(--ambar); left:50%; top:50%; translate:-50% -50%; transition:opacity .25s, rotate .25s; }
details.q summary span.sign::before{ width:16px; height:2px; }
details.q summary span.sign::after{ width:2px; height:16px; }
details.q[open] summary span.sign::after{ opacity:0; rotate:90deg; }
details.q .a{ padding-bottom:1.2rem; color:#5c4c3d; line-height:1.7; max-width:70ch; }

input, select, textarea{ font-family:'IBM Plex Sans',sans-serif; }
.field{ width:100%; background:#fff; border:1px solid rgba(94,55,18,.28); border-radius:2px;
        padding:.85rem .95rem; font-size:1rem; color:var(--tinta); transition:border-color .2s, box-shadow .2s; }
.field:focus{ border-color:var(--ambar); box-shadow:0 0 0 3px rgba(200,120,56,.18); outline:none; }
.label{ font-family:'Jost',sans-serif; font-size:.95rem; color:var(--casca); margin-bottom:.4rem; display:block; }

.logo-mono{ filter:brightness(0) invert(1); }
.rule-ambar{ width:56px; height:3px; background:var(--ambar); }

/* Barra fixa mobile */
.dock{ position:fixed; left:0; right:0; bottom:0; z-index:70; display:grid; grid-template-columns:1fr 1fr;
       gap:1px; background:rgba(36,22,9,.2); padding-bottom:env(safe-area-inset-bottom);
       transition:transform .35s cubic-bezier(.2,.7,.2,1), opacity .25s ease; }
.dock.is-oculto{ transform:translateY(115%); opacity:0; pointer-events:none; }
@media (min-width:900px){ .dock{ display:none; } }

/* CTAs em largura total no mobile: bordas alinhadas ao texto e área de toque maior */
@media (max-width:639px){
  main .btn, footer .btn{ width:100%; }
}

/* espaço para a barra fixa do mobile */
@media (max-width:899px){ body{ padding-bottom:60px; } }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation:none !important; transition-duration:.01ms !important; }
  [data-reveal]{ opacity:1; transform:none; }
  .px-img{ transform:none !important; }
}
