/* INSPIRA3D | Azul profundo, turquesa e luz. Identidade do site. */
:root {
    color-scheme: dark;
    --color-primary: oklch(82% .14 190);
    --color-primary-dark: oklch(88% .09 190);
    --color-primary-light: oklch(74% .05 225);
    --color-accent: oklch(82% .14 190);
    --color-cta: oklch(80% .14 190);
    --color-cta-dark: oklch(74% .13 195);
    --color-cta-deep: oklch(56% .1 200);
    --color-cta-glow: oklch(90% .09 190);
    --color-cta-text: oklch(21% .04 240);
    --color-cream: oklch(97% .008 220);
    --color-sand: oklch(25% .04 240);
    --color-bone: oklch(22% .035 240);
    --color-graphite: oklch(95% .01 220);
    --color-graphite-soft: oklch(31% .04 235);
    --color-white: oklch(98% .005 220);
    --color-gray-light: oklch(26% .04 240);
    --color-text: oklch(94% .012 220);
    --color-text-light: oklch(78% .025 225);
    --surface: oklch(20% .04 245);
    --surface-raised: oklch(25% .04 240);
    --surface-deep: oklch(16% .03 245);
    --line: oklch(75% .09 200 / .22);
    --gradient-hero: radial-gradient(ellipse at 85% 30%, oklch(55% .1 220 / .23), transparent 55%), linear-gradient(145deg, var(--surface-deep), var(--surface));
    --gradient-cta: linear-gradient(110deg, var(--color-cta-glow), var(--color-cta));
    --gradient-cta-rich: linear-gradient(110deg, var(--color-cta-glow), var(--color-cta-dark));
    --gradient-graphite: linear-gradient(160deg, var(--surface-deep), var(--surface));
    --gradient-denim: radial-gradient(ellipse at 100% 0, oklch(52% .09 220 / .2), transparent 60%), linear-gradient(135deg, var(--surface-raised), var(--surface-deep));
    --gradient-warm-stripe: linear-gradient(135deg, var(--surface), var(--surface-raised));
    --shadow-sm: 0 3px 18px oklch(10% .025 240 / .3);
    --shadow-md: 0 10px 28px oklch(10% .025 240 / .4);
    --shadow-lg: 0 20px 50px oklch(10% .025 240 / .5);
    --shadow-cta: 0 5px 24px oklch(75% .12 190 / .2);
    --shadow-cta-lg: 0 8px 32px oklch(75% .12 190 / .3);
}
body { background: var(--surface-deep); }
section[id] { scroll-margin-top: 7rem; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--color-cta); outline-offset: 5px; }
.header, .header.scroll-header { background: var(--surface-deep); backdrop-filter: none; -webkit-backdrop-filter: none; border-bottom: 1px solid var(--line); box-shadow: 0 4px 25px oklch(10% .03 240 / .25); }
.nav__list { gap: clamp(.65rem, 1.4vw, 1.25rem); }
.nav__link { font-size: .88rem; }
.nav__logo-img, .footer__logo-img { filter: grayscale(1) brightness(1.7) sepia(1) saturate(5) hue-rotate(125deg); }
.hero { padding-block: calc(var(--header-height) + clamp(2rem, 5vw, 5rem)) clamp(3rem, 6vw, 5rem); }
.hero__top { align-items: center; }
.hero__title { font-size: clamp(2rem, 3vw + .5rem, 3.3rem); line-height: 1.16; }
.hero__title-accent { font-style: normal; }
.hero__title-accent::after { display: none; }
.hero__video-container { border: 1px solid var(--line); box-shadow: 0 0 50px oklch(70% .13 200 / .12), var(--shadow-lg); transform: none; }
.hero__video-container:hover { transform: none; }
.hero__description strong { background: none; padding: 0; }
.hero__faq-hint { color: var(--color-text-light); }
.hero__faq-hint a, .hero__faq-hint i { color: var(--color-cta); }
.hero::before { opacity: .1; }
.hero::after { opacity: .45; }
.flare { opacity: .09; background: radial-gradient(circle, oklch(80% .14 190 / .7), transparent 65%); }
.section__title, .servico__title, .feature__title, .passo__title, .garantia__title, .faq__question { color: var(--color-text); }
.servicos, .faq, .garantia { background: var(--surface); }
.servico__card, .passo, .garantia__container, .faq__item, .faq__item[open], .contato__button { background: var(--surface-raised); border: 1px solid var(--line); }
.servico__icon, .contato__card-icon { background: oklch(82% .14 190 / .1); color: var(--color-cta); border-radius: 16px; }
.feature__icon { color: var(--color-cta); background: oklch(82% .14 190 / .1); }
.sobre, .contato, .objecao { background: var(--gradient-denim); }
.galeria, .proof-bar, .footer { background: var(--surface-deep); }
.proof-bar__title, .sobre .section__title, .galeria .section__title, .objecao__title { color: var(--color-text); }
.proof-bar__sub, .galeria .section__subtitle { color: var(--color-text-light); }
.button--secondary { border-color: var(--line); color: var(--color-cta); background: oklch(82% .14 190 / .04); }
.button--secondary:hover { background: oklch(82% .14 190 / .1); color: var(--color-cta-glow); }
.button--primary:hover { color: var(--color-cta-text); }
.contato__button-value { color: var(--color-text); overflow-wrap: anywhere; }
.garantia__container { border-top: 1px solid var(--line); box-shadow: var(--shadow-md); }
.filamentos { position: relative; overflow: hidden; background: radial-gradient(ellipse at 80% 10%, oklch(60% .12 215 / .18), transparent 45%), var(--surface-deep); padding-block: clamp(4rem, 8vw, 7rem); border-block: 1px solid var(--line); }
.filamentos::after { content: ''; position: absolute; left: -15%; top: 33%; width: 65%; height: 150px; border-top: 1px solid var(--color-cta); border-radius: 50%; transform: rotate(-18deg); opacity: .35; box-shadow: 0 -8px 28px oklch(80% .14 190 / .13); pointer-events: none; }
.filamentos > .container { position: relative; z-index: 2; }
.filamentos__intro { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(2rem, 4vw, 4rem); align-items: center; }
.filamentos__eyebrow { color: var(--color-cta); font-size: .95rem; font-weight: 600; margin-bottom: 1rem; }
.filamentos h2 { font-family: var(--font-heading); font-size: clamp(2.5rem, 4.4vw, 4.4rem); line-height: 1.08; letter-spacing: -.045em; margin-bottom: 1.4rem; }
.filamentos h2 span { color: var(--color-cta); }
.filamentos__copy > p:not(.filamentos__eyebrow) { color: var(--color-text-light); max-width: 48ch; font-size: 1.08rem; }
.filamentos__materials { display: flex; flex-wrap: wrap; gap: .6rem; margin-block: 1.5rem 2rem; }
.filamentos__materials span { border: 1px solid var(--line); padding: .35rem .8rem; border-radius: 6px; font-size: .85rem; color: var(--color-cta-glow); }
.filamentos__visual { margin: 0; min-width: 0; }
.filamentos__visual img { display: block; width: 100%; height: auto; border-radius: 18px; border: 1px solid var(--line); box-shadow: 0 0 65px oklch(70% .13 200 / .12); }
.filamentos__visual figcaption { color: var(--color-text-light); font-size: .75rem; margin-top: .75rem; text-align: right; }
.filamentos__selection { margin-top: clamp(3rem, 6vw, 5rem); padding-bottom: 1.5rem; }
.filamentos__selection h3 { font-size: clamp(1.5rem, 2.5vw, 2rem); letter-spacing: -.02em; }
.filamentos__selection p { color: var(--color-text-light); margin-top: .4rem; }
.filamentos__catalog { display: grid; grid-template-columns: 1fr 1fr; column-gap: 3.5rem; }
.filamentos__family { padding: 1.8rem 0 2.2rem; border-top: 1px solid var(--line); min-width: 0; }
.filamentos__family-heading { display: flex; gap: 1rem; align-items: baseline; margin-bottom: 1.3rem; }
.filamentos__number { color: var(--color-cta); font-size: .8rem; font-weight: 600; }
.filamentos__family h3 { font-size: 1.28rem; }
.filamentos__family-heading p { color: var(--color-text-light); font-size: .88rem; margin-top: .35rem; }
.filamentos__colors { display: flex; flex-wrap: wrap; gap: .7rem 1rem; list-style: none; }
.filamentos__colors li { display: flex; align-items: center; gap: .5rem; font-size: .9rem; padding-block: .3rem; }
.filamento-swatch { width: 24px; height: 24px; flex: 0 0 24px; border-radius: 50%; border: 1px solid oklch(90% .02 220 / .4); background: var(--swatch); box-shadow: inset 0 2px 3px oklch(98% .005 220 / .25), inset 0 -2px 4px oklch(15% .03 240 / .3); }
.filamento-swatch--verde { --swatch: #17bc81; }
.filamento-swatch--roxo { --swatch: #bd92e0; }
.filamento-swatch--creme { --swatch: #e9d6b5; }
.filamento-swatch--azul { --swatch: #20a8d0; }
.filamento-swatch--bicolor { --swatch: linear-gradient(100deg, #2360e5 40%, #da2859 70%); }
.filamento-swatch--purpura { --swatch: #bd287e; }
.filamento-swatch--rainbow, .filamento-swatch--fosfo { --swatch: linear-gradient(110deg, #e74778, #e8cc47, #24c98b, #358be5, #b264df); }
.filamento-swatch--dreamy { --swatch: linear-gradient(110deg, #e7acbb, #e9d8a9, #a7ded3, #bdb5e5); }
.filamento-swatch--glitter { --swatch: radial-gradient(circle at 30% 25%, #e4c26b 1px, transparent 2px), radial-gradient(circle at 70% 60%, #c9e5e9 1px, transparent 2px), #1c2631; background-size: 8px 8px, 11px 11px, auto; }
.filamento-swatch--glitter-white { --swatch: radial-gradient(circle, #9460c0 1px, transparent 2px), #e9eef0; background-size: 7px 7px, auto; }
.filamento-swatch--preto { --swatch: #202732; }
.filamento-swatch--cinza { --swatch: #9099a4; }
.filamento-swatch--amarelo { --swatch: #edc92d; }
.filamento-swatch--marrom { --swatch: #825436; }
.filamento-swatch--madeira { --swatch: #cba577; }
.filamento-swatch--bronze { --swatch: linear-gradient(110deg, #815339, #dca071, #966543); }
.filamento-swatch--dourado { --swatch: linear-gradient(110deg, #b78c25, #efdb7e, #c19a35); }
.filamento-swatch--branco { --swatch: #eef2f3; }
.filamentos__more { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2rem 0 0; border-top: 1px solid var(--line); }
.filamentos__more h3 { color: var(--color-cta); font-size: 1.45rem; }
.filamentos__more p { color: var(--color-text-light); max-width: 65ch; margin-top: .65rem; }
.filamentos__link { flex-shrink: 0; color: var(--color-cta); font-weight: 600; text-decoration: underline; text-underline-offset: 6px; padding-block: .8rem; }
.filamentos__link span { margin-left: .4rem; }
@media (max-width: 968px) {
    .nav__menu { background: var(--surface); border-bottom: 1px solid var(--line); }
    .nav__link { font-size: 1rem; }
    .filamentos__intro { grid-template-columns: 1fr; }
    .filamentos__visual { max-width: 680px; }
    .hero__title { font-size: clamp(2rem, 5vw, 3.2rem); }
}
@media (max-width: 600px) {
    .filamentos__catalog { grid-template-columns: 1fr; }
    .filamentos__more { align-items: flex-start; flex-direction: column; gap: .75rem; }
    .filamentos h2 { font-size: clamp(2.4rem, 11vw, 3.4rem); }
    .filamentos__family h3 { font-size: 1.2rem; }
    .filamentos__visual figcaption { text-align: left; }
    .filamentos__copy .button { width: 100%; }
    .hero { padding-top: calc(var(--header-height) + 2rem); }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
.contato__form-wrap { background: var(--surface-raised); border: 1px solid var(--line); }
.form__input { background: var(--surface-deep); color: var(--color-text); border-color: var(--line); }
.form__input::placeholder { color: var(--color-text-light); opacity: .8; }
.form__error { color: oklch(82% .1 25); }
.nav__toggle, .nav__close { background: transparent; border: 0; font: inherit; cursor: pointer; }
.hero__video-container { border-color: var(--line) !important; }
/* Revisão Impeccable: vitrine colorida, navegação limpa, mobile primeiro. */
:root { --violet: oklch(73% .17 300); --pink: oklch(77% .15 350); --gold: oklch(86% .14 85); --blue: oklch(72% .14 245); }
.header, .header.scroll-header { background: #0b1b2c; box-shadow: 0 4px 20px oklch(12% .03 245 / .2); border-bottom: 1px solid oklch(70% .07 220 / .2); }
.nav { min-height: 80px; gap: 1.5rem; }
.nav__logo { flex-shrink: 0; }
.nav__logo-img, .footer__logo-img { filter: none; width: 188px; height: 44px; object-fit: contain; margin: 0; }
.footer__logo-img { width: 210px; height: auto; margin-bottom: 1.2rem; }
.nav__menu { background: transparent; border: 0; }
.nav__link { color: var(--color-text); }
.nav__link i { display: none; }
.hero { background: radial-gradient(ellipse at 100% 10%, oklch(40% .15 290 / .45), transparent 55%), radial-gradient(ellipse at 5% 85%, oklch(46% .1 210 / .35), transparent 55%), #091b30; padding-block: 8.5rem 3rem; }
.hero::before, .hero::after { display: none; }
.hero__top { grid-template-columns: .86fr 1.14fr; gap: 2.5rem; align-items: center; }
.hero__title { font-size: clamp(3.3rem, 5.3vw, 5.5rem); line-height: 1.03; letter-spacing: -.045em; }
.hero__title-accent { color: var(--color-cta); }
.hero__description { font-size: 1.06rem; line-height: 1.7; max-width: 48ch; }
.hero__faq-hint { font-size: .85rem; margin: 0; }
.hero__showcase { margin: 0; display: block; width: 100%; min-width: 0; position: relative; animation: none; }
.hero__showcase img { display: block; width: 100%; height: auto; max-width: 100%; object-fit: contain; object-position: center; border-radius: 22px; border: 1px solid oklch(75% .12 285 / .3); box-shadow: 0 15px 65px oklch(45% .13 275 / .25); }
.hero__showcase figcaption { color: var(--color-text-light); font-size: .74rem; margin: .8rem auto 0; text-align: center; }
.hero__actions { margin-top: -1rem; }
.hero__scroll { display: none; }
.proof-bar { background: linear-gradient(105deg, #123650, #25234b 70%, #3c2046); }
.proof-bar__item:nth-child(2) .proof-bar__icon { color: var(--violet); }
.proof-bar__item:nth-child(3) .proof-bar__icon { color: var(--gold); }
.proof-bar__item:nth-child(4) .proof-bar__icon { color: var(--pink); }
.proof-bar::after { background: linear-gradient(90deg, var(--color-cta), var(--blue), var(--violet), var(--pink), var(--gold)); animation: none; }
.como-funciona { background: radial-gradient(ellipse at 95% 80%, #30345e 0, transparent 65%), #10293c; }
.passo { background: #122f43; }
.passo:nth-child(2) { background: #29274a; }
.passo:nth-child(3) { background: #352c3d; }
.passo:nth-child(2) .passo__numero { color: var(--violet); }
.passo:nth-child(3) .passo__numero { color: var(--gold); }
.sobre { background: radial-gradient(ellipse at 5% 0, #353163, transparent 65%), #142938; }
.servicos { background: radial-gradient(ellipse at 100% 0, #49334c, transparent 55%), #122636; }
.servico__card { text-align: left; border-radius: 18px; background: #193447; }
.servico__icon { width: auto; height: auto; justify-content: flex-start; background: none; border-radius: 0; font-size: 1.8rem; margin: 0 0 1.2rem; }
.servico__card:nth-child(4n+2) { background: #302d50; }
.servico__card:nth-child(4n+2) .servico__icon { color: var(--violet); }
.servico__card:nth-child(4n+3) { background: #3c2c43; }
.servico__card:nth-child(4n+3) .servico__icon { color: var(--pink); }
.servico__card:nth-child(4n) { background: #34353a; }
.servico__card:nth-child(4n) .servico__icon { color: var(--gold); }
#manutencao { background: radial-gradient(ellipse at 90% 0, #453451, transparent 70%), #132c42; }
.filamentos { background: radial-gradient(ellipse at 95% 10%, #1a4056, transparent 50%), radial-gradient(ellipse at 0 90%, #2c2548, transparent 60%), #0a1d30; }
.filamentos__family:nth-child(2) h3, .filamentos__family:nth-child(2) .filamentos__number { color: var(--violet); }
.filamentos__family:nth-child(3) h3, .filamentos__family:nth-child(3) .filamentos__number { color: var(--gold); }
.filamentos__family:nth-child(4) h3, .filamentos__family:nth-child(4) .filamentos__number { color: var(--pink); }
.galeria { background: radial-gradient(ellipse at 100% 0, #302344, transparent 60%), #102337; }
#objecao { background: linear-gradient(135deg, #233855, #352a49); }
.garantia { background: #142c3c; }
.garantia__container { background: #21394a; }
.faq { background: linear-gradient(160deg, #142839, #211f37); }
.faq__item, .faq__item[open] { background: #1d3245; }
.contato { background: radial-gradient(ellipse at 0 100%, #2b304f, transparent 65%), #12374a; }
.contato__button, .contato__form-wrap { background: #183549; }
.footer { background: #0b1b2c; }
.flares { display: none; }
@media (max-width: 1100px) {
 .nav__logo-img { width: 160px; }
 .nav__list { gap: .75rem; }
 .nav__link { font-size: .8rem; }
}
@media (min-width: 769px) and (max-width: 968px) {
 .nav { gap: 1rem; }
 .nav__logo-img { width: 128px; }
 .nav__list { gap: .55rem; }
 .nav__link { font-size: .72rem; }
}
@media (max-width: 968px) {
 .hero__top { grid-template-columns: 1fr; }
 .hero__text { max-width: 650px; }
 .hero__title { font-size: clamp(3.3rem, 8vw, 5rem); }
 .hero__showcase { max-width: 680px; margin-inline: auto; }
 .hero__actions { margin-top: 0; }
 .filamentos__visual { width: 100%; max-width: 680px; margin-inline: auto; justify-self: center; }
 .filamentos__visual img { width: 100%; max-width: 100%; height: auto; object-fit: contain; object-position: center; }
 .filamentos__intro, .hero__top { min-width: 0; }
}
@media (max-width: 768px) {
 .nav { min-height: 72px; }
 .nav__logo-img { width: 172px; height: 40px; }
 .nav__menu { width: min(88vw, 380px); height: 100dvh; background: #10283c; background-blend-mode: normal; border-left: 1px solid var(--line); padding: 5.5rem 1.5rem 2rem; transform: translateX(105%); right: 0; visibility: hidden; transition: transform .3s ease, visibility .3s; box-shadow: -10px 0 40px oklch(10% .03 240 / .4); }
 .nav__menu.show-menu { transform: translateX(0); visibility: visible; }
 .nav__menu::after { display: none; }
 .nav__list { gap: .25rem; }
 .nav__link { font-size: 1.1rem; min-height: 48px; padding: .8rem; border-radius: 8px; color: var(--color-text); }
 .nav__link i { display: inline-block; font-size: 1.1rem; }
 .nav__link.active-link { background: #194257; transform: none; }
 .nav__close { width: 44px; height: 44px; top: 1rem; right: 1rem; color: var(--color-text); }
 .nav__toggle { width: 44px; height: 44px; display: grid; place-items: center; font-size: 1.5rem; }
 .hero { padding: 6.5rem 0 2.75rem; }
 .hero__top { gap: 1.5rem; }
 .hero__title { font-size: clamp(3rem, 12vw, 4.8rem); }
 .hero__faq-hint { font-size: .84rem; }
 .hero__showcase img { border-radius: 14px; }
 .hero__showcase figcaption { font-size: .7rem; max-width: 36ch; }
 .hero__buttons { display: grid; gap: .75rem; }
 .hero__buttons .button { width: 100%; min-height: 52px; font-size: .94rem; }
 .section { padding-block: 3.5rem; }
 .hero.section { padding-top: 6.5rem; }
 .servicos__grid, .como-funciona__grid { grid-template-columns: minmax(0, 1fr); }
 .filamentos__visual { max-width: 100%; }
 .filamentos__visual figcaption { text-align: center; }
 .filamentos__colors li { font-size: .87rem; }
 .filamentos::after { display: none; }
 .whatsapp-float { bottom: max(1rem, env(safe-area-inset-bottom)); right: 1rem; }
}
/* V3 | Uma vitrine visual para cada frente de trabalho. */
:root { --section-space: clamp(3.5rem, 7vw, 6.5rem); }
.section { padding-block: var(--section-space); }
.section__header { max-width: 760px; margin: 0 auto 2.5rem; }
.section__title { font-size: clamp(1.8rem, 3.3vw, 2.8rem); letter-spacing: -.035em; line-height: 1.18; }
.section__title::after { display: none; }
.section__subtitle { line-height: 1.75; }
.hero.section { padding-block: clamp(7rem, 10vw, 9rem) 4rem; }
.hero__text { gap: 1.2rem; }
.hero__kicker { color: var(--color-cta-glow); font-size: .78rem; font-weight: 500; line-height: 1.6; max-width: 45ch; }
.hero__title { font-size: clamp(3rem, 5.7vw, 5.1rem); }
.hero__actions { margin: .4rem 0 0; }
.hero__buttons { gap: .65rem; flex-wrap: wrap; }
.hero__buttons .button { font-size: .87rem; padding: .95rem 1.2rem; }
.hero__showcase { max-width: none; }
.hero__showcase img { border-radius: 20px; }
.sobre__content { max-width: none; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem, 4vw, 4rem); }
.sobre__visual { margin: 0; min-width: 0; max-width: 470px; justify-self: center; }
.sobre__visual img { width: 100%; height: auto; border-radius: 20px; display: block; }
.sobre__visual figcaption { margin-top: .7rem; font-size: .77rem; color: var(--color-text-light); }
.sobre__visual a { color: var(--color-cta); text-decoration: underline; }
.sobre__features { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.sobre .feature { background: none; border: 0; border-radius: 0; padding: 0; }
.sobre .feature:hover { transform: none; background: none; }
.sobre .feature__icon { background: none; box-shadow: none; color: var(--color-cta); width: 22px; height: 28px; min-width: 22px; font-size: 1.2rem; }
.sobre .feature__title { font-size: .92rem; }
.sobre .feature__text { font-size: .82rem; line-height: 1.6; color: var(--color-text-light); }
.sobre__text { font-size: 1rem; line-height: 1.8; margin-bottom: 1rem; }
.servicos__grid { grid-template-columns: 1fr 1fr; gap: 0 3rem; }
.servico__card, .servico__card:nth-child(n) { position: relative; padding: 1.65rem 0 1.65rem 2.5rem; background: none; box-shadow: none; border: 0; border-top: 1px solid var(--line); border-radius: 0; text-align: left; }
.servico__card:hover { transform: none; box-shadow: none; }
.servico__icon { position: absolute; left: 0; top: 1.8rem; font-size: 1.15rem; margin: 0; }
.servico__title { font-size: 1.1rem; margin-bottom: .6rem; }
.servico__title a { color: inherit; }
.servico__title a:hover { color: var(--color-cta); }
.servico__description { font-size: .91rem; line-height: 1.75; }
.showcase { position: relative; overflow: hidden; border-block: 1px solid oklch(75% .07 220 / .1); }
.showcase--brindes { --showcase-accent: var(--pink); background: radial-gradient(ellipse at 0 75%, oklch(39% .09 335 / .4), transparent 55%), #1d2037; }
.showcase--modelagem { --showcase-accent: var(--blue); background: radial-gradient(ellipse at 100% 40%, oklch(40% .1 245 / .35), transparent 55%), #10293b; }
#manutencao.showcase { --showcase-accent: var(--gold); background: radial-gradient(ellipse at 0 50%, oklch(40% .07 80 / .17), transparent 60%), #142733; }
.showcase__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 4vw, 4rem); align-items: center; }
.showcase--reverse .showcase__copy { order: 2; }
.showcase--reverse .showcase__visual { order: 1; }
.showcase__copy { min-width: 0; }
.showcase__kicker { font-size: .9rem; margin-bottom: .9rem; color: var(--showcase-accent); font-weight: 600; }
.showcase h2 { font-family: var(--font-heading); font-size: clamp(2rem, 3.1vw, 3rem); line-height: 1.15; letter-spacing: -.035em; margin-bottom: 1.25rem; }
.showcase h2 span { color: var(--showcase-accent); }
.showcase__description { max-width: 54ch; color: var(--color-text-light); font-size: 1rem; line-height: 1.8; }
.showcase__details { list-style: none; margin-block: 1.5rem 1.8rem; display: grid; gap: .7rem; }
.showcase__details li { position: relative; padding-left: 1.3rem; font-size: .9rem; line-height: 1.6; color: var(--color-text); }
.showcase__details li::before { content: ''; position: absolute; left: 0; top: .55rem; width: 6px; height: 6px; border-radius: 50%; background: var(--showcase-accent); }
.showcase__visual { width: 100%; min-width: 0; margin: 0; justify-self: center; }
.showcase__visual img { display: block; width: 100%; height: auto; object-fit: contain; object-position: center; border-radius: 18px; border: 1px solid var(--line); box-shadow: 0 15px 55px oklch(10% .03 245 / .22); }
.showcase__visual figcaption { color: var(--color-text-light); font-size: .72rem; line-height: 1.6; margin: .7rem 0 0; text-align: center; }
.showcase .button { font-size: .9rem; }
.filamentos__intro { gap: clamp(2rem, 4vw, 4rem); }
.filamentos__visual { align-self: center; }
.filamentos__copy .button { font-size: .9rem; }
.filamentos h2 { font-size: clamp(2.4rem, 4vw, 3.5rem); }
.filamentos__selection { margin-top: 3.5rem; }
.contato__button { min-height: 86px; }
.footer__link { display: inline-block; padding-block: .15rem; }
@media (max-width: 968px) {
 .hero__top, .showcase__grid, .sobre__content { grid-template-columns: minmax(0, 1fr); }
 .hero__showcase { width: 100%; max-width: 760px; margin-inline: auto; }
 .showcase--reverse .showcase__copy, .showcase--reverse .showcase__visual { order: initial; }
 .showcase__visual { max-width: 760px; margin-inline: auto; }
 .sobre__visual { max-width: 420px; }
 .sobre__info { max-width: 760px; margin-inline: auto; }
 .showcase__description, .hero__description { max-width: 65ch; }
}
@media (max-width: 768px) {
 .hero.section { padding-block: 6.25rem 3rem; }
 .hero__title { font-size: clamp(3rem, 11.5vw, 4.5rem); }
 .hero__buttons { display: grid; grid-template-columns: 1fr; }
 .hero__buttons .button { min-height: 50px; font-size: .9rem; }
 .hero__showcase { max-width: 100%; }
 .hero__kicker { font-size: .75rem; }
 .servicos__grid { grid-template-columns: minmax(0,1fr); }
 .showcase h2 { font-size: clamp(2rem, 8vw, 2.7rem); }
 .showcase__grid { gap: 1.75rem; }
 .showcase .button { width: 100%; min-height: 52px; padding-inline: .8rem; }
 .showcase__visual img { border-radius: 12px; }
 .filamentos__intro { grid-template-columns: minmax(0,1fr); }
 .filamentos__visual, .showcase__visual { width: 100%; max-width: 100%; }
 .filamentos__visual img, .showcase__visual img { max-width: 100%; height: auto; }
 .sobre__features { grid-template-columns: minmax(0,1fr); }
 .sobre__visual { width: min(100%, 360px); }
 .button { min-height: 48px; }
}
/* Miniaturas: referência visual compacta em cada serviço. */
.servicos__grid { gap: 1.25rem; }
.servico__card, .servico__card:nth-child(n) { display: grid; grid-template-columns: 150px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 1.15rem; row-gap: .6rem; padding: 1.2rem; background: oklch(26% .035 240 / .65); border: 1px solid var(--line); border-radius: 14px; }
.servico__thumbnail { grid-column: 1; grid-row: 1 / 3; align-self: start; display: block; width: 150px; height: 104px; object-fit: contain; object-position: center; background: var(--surface-deep); border-radius: 9px; border: 1px solid var(--line); }
.servico__icon { display: none; }
.servico__title { grid-column: 2; grid-row: 1; margin: 0; font-size: 1.03rem; line-height: 1.4; }
.servico__description { grid-column: 2; grid-row: 2; margin: 0; font-size: .86rem; line-height: 1.7; }
@media (max-width: 1100px) and (min-width: 769px) {
 .servico__card, .servico__card:nth-child(n) { grid-template-columns: 110px minmax(0, 1fr); padding: 1rem; gap: .8rem; }
 .servico__thumbnail { width: 110px; height: 85px; }
}
@media (max-width: 768px) {
 .servico__card, .servico__card:nth-child(n) { grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto 1fr; gap: .8rem; padding: 1.2rem; }
 .servico__thumbnail { grid-column: 1; grid-row: 1; width: 100%; height: 150px; margin-inline: auto; }
 .servico__title { grid-column: 1; grid-row: 2; font-size: 1.1rem; }
 .servico__description { grid-column: 1; grid-row: 3; font-size: .91rem; }
}
/* Contato: formulário ocupa a linha inteira, sem coluna vazia. */
.contato__content { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.contato__content > * { min-width: 0; }
.contato__form-wrap { grid-column: 1 / -1; width: 100%; max-width: none; margin: 0; padding: clamp(1.2rem, 3vw, 2.5rem); }
.contato__form { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; row-gap: 1rem; }
.contato__form .form__field { min-width: 0; }
.contato__form .form__input { width: 100%; min-width: 0; }
.contato__form .form__field:nth-child(3), .contato__form .form__field:nth-child(4), .contato__form .form__legend, .contato__form .form__error, .contato__form > .button { grid-column: 1 / -1; }
.contato__form-title { text-align: left; margin-bottom: 1.5rem; }
.contato__form > .button { justify-self: start; }
@media (max-width: 768px) {
 .contato__content, .contato__form { grid-template-columns: minmax(0, 1fr); }
 .contato__form-wrap { padding: 1.2rem; }
 .contato__form > .button { width: 100%; }
 .contato__form-title { font-size: 1.15rem; }
}
