/* Generated images occupy the existing visual containers. */
.service-image { position:relative; padding:0; overflow:hidden; }
.service-image > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.identity-board.service-image { border-radius:16px; }
.material.service-image { display:block; }
.error-page { background:#080808; color:#fff; min-height:100vh; display:grid; align-items:center; }
.error-content { padding-block:64px; max-width:960px; }
.error-content .brand { display:inline-block; margin-bottom:72px; }
.error-content h1 { font-size:clamp(40px,8vw,84px); line-height:1.05; letter-spacing:-.055em; margin:18px 0; }
.error-content > p:not(.eyebrow) { color:#bbb; max-width:560px; margin-bottom:32px; }

/* Product cards: equal composition with a restrained translucent surface. */
#produtos .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:stretch; }
#produtos .physical-card {
  display:flex; flex-direction:column; position:relative;
  background:rgba(255,255,255,.64);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 8px 28px rgba(5,5,5,.045), inset 0 0 0 1px rgba(5,5,5,.035);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  transition:transform 300ms ease, border-color 300ms ease, box-shadow 300ms ease;
}
#produtos .physical-card .material { min-height:0; aspect-ratio:4/3; flex:none; }
#produtos .physical-card > .physical-card-content { display:flex; flex-direction:column; align-items:flex-start; flex:1; padding:26px; gap:12px; }
#produtos .physical-card-content h3 { font-size:24px; }
#produtos .physical-card-content p { margin:0 0 12px; max-width:40ch; color:#595959; font-size:15px; line-height:1.6; }
#produtos .physical-card .product-quote { margin-top:auto; min-height:48px; padding:13px 20px; border:1px solid rgba(255,0,64,.2); border-radius:10px; background:rgba(255,255,255,.72); color:#c90032; font-size:13px; font-weight:750; gap:24px; transition:background 250ms ease, color 250ms ease, border-color 250ms ease; }
#produtos .physical-card:focus-within { border-color:rgba(255,0,64,.5); box-shadow:0 14px 36px rgba(5,5,5,.08); }
#produtos .product-quote:focus-visible { outline:2px solid #c90032; outline-offset:4px; }
@media (hover:hover) and (pointer:fine) {
  #produtos .physical-card.is-visible:hover { transform:translateY(-4px); border-color:rgba(255,0,64,.42); box-shadow:0 18px 38px rgba(5,5,5,.085); }
  #produtos .product-quote:hover { background:#c90032; border-color:#c90032; color:#fff; }
}
@supports not ((backdrop-filter:blur(14px)) or (-webkit-backdrop-filter:blur(14px))) {
  #produtos .physical-card { background:#fcfcfb; }
}
@media (max-width:680px) {
  #produtos .product-grid { grid-template-columns:1fr; gap:24px; }
  #produtos .physical-card > .physical-card-content { padding:22px; }
  #produtos .physical-card .product-quote { width:100%; justify-content:space-between; }
}
@media (prefers-reduced-motion:reduce) {
  #produtos .physical-card, #produtos .physical-card .product-quote { transition:none !important; }
  #produtos .physical-card.is-visible:hover { transform:none; }
}

/* Official logo, original proportions and colours. */
.brand-logo { display:block; width:156px; max-width:100%; height:auto; }
/* Offers share the existing visual language without changing other sections. */
#ofertas { background:#ebebe8; }
#ofertas .offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
#ofertas .offer-card { display:flex; flex-direction:column; padding:30px; border:1px solid rgba(255,255,255,.9); border-radius:18px; background:rgba(255,255,255,.72); box-shadow:0 12px 34px #05050508; min-width:0; }
#ofertas .offer-category { font-size:11px; letter-spacing:.12em; font-weight:750; color:#bd0030; margin:0 0 20px; }
#ofertas h3 { font-size:clamp(24px,2.3vw,32px); line-height:1.12; margin:0 0 18px; }
#ofertas .offer-card > p:not(.offer-category) { color:#595959; font-size:15px; line-height:1.6; }
#ofertas ul { padding-left:18px; color:#454545; font-size:14px; line-height:1.6; margin:12px 0 24px; }
#ofertas li + li { margin-top:10px; }
#ofertas .offer-price { margin-top:auto; padding-top:20px; border-top:1px solid #05050515; display:flex; flex-direction:column; gap:6px; }
#ofertas .offer-price strong { font-size:clamp(30px,3vw,42px); letter-spacing:-.055em; line-height:1.15; }
#ofertas .offer-price span { color:#595959; font-size:13px; }
#ofertas .offer-card .button { margin-top:24px; gap:12px; min-height:52px; font-size:14px; }
#ofertas .offer-card .offer-note { font-size:12px !important; margin:12px 0 0; }
#ofertas .offer-card .offer-detail { font-size:13px !important; margin:14px 0 0; }
#ofertas a:focus-visible { outline:2px solid #050505; outline-offset:4px; }
@media(max-width:1100px) { #ofertas .offer-card { padding:24px; } }
@media(max-width:980px) { #ofertas .offer-grid { grid-template-columns:1fr; } #ofertas .offer-card .button { align-self:flex-start; } }
@media(max-width:680px) { #ofertas .offer-card .button { width:100%; justify-content:space-between; } }
/* Alternating project compositions, compact product carousel and aligned CTAs. */
#projetos .project-grid { display:flex; flex-direction:column; gap:64px; }
#projetos .project { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:center; width:100%; margin:0; }
#projetos .project--wide .project-intro { grid-column:1; grid-row:1; }
#projetos .project--wide .project-visual { grid-column:2; grid-row:1; }
#projetos .project--tall { grid-template-columns:1fr 1fr; }
#projetos .project--tall .project-visual { width:min(100%,400px); justify-self:center; }
#projetos .project-intro { display:block; padding:0; }
#projetos .project-intro h3 { font-size:clamp(28px,3vw,42px); line-height:1.15; margin:16px 0; }
#projetos .project-intro > p:last-child { max-width:36ch; color:#666; font-size:16px; }
#ofertas .offer-price { margin-top:20px; }
#ofertas .offer-action { margin-top:auto; padding-top:24px; }
#ofertas .offer-action .button { width:100%; margin-top:0; }
#ofertas .offer-action .offer-note { min-height:3.2em; }
#produtos .product-grid { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; padding:8px 0 24px; scrollbar-width:none; }
#produtos .product-grid::-webkit-scrollbar { display:none; }
#produtos .physical-card { flex:0 0 calc((100% - 48px)/3); scroll-snap-align:start; opacity:1; transform:none; }
#produtos .physical-card .material { aspect-ratio:4/3; }
#produtos .physical-card > .physical-card-content { padding:22px; }
#produtos .physical-card-content h3 { font-size:22px; }
#produtos .physical-card-content p { font-size:14px; }
#produtos .physical-card .product-quote { width:100%; justify-content:space-between; gap:12px; padding:12px 14px; }
#produtos .product-navigation { display:flex; align-items:center; justify-content:flex-end; gap:18px; margin-top:8px; }
#produtos .product-navigation[hidden] { display:none; }
#produtos .product-navigation button { width:44px; height:44px; border-radius:50%; border:1px solid #05050520; background:#ffffffb8; color:#bd0030; cursor:pointer; font-size:20px; }
#produtos .product-navigation button:disabled { opacity:.35; cursor:default; }
#produtos .product-navigation span { min-width:64px; text-align:center; color:#555; font-size:13px; }
#produtos .product-navigation button:focus-visible, #produtos .product-grid:focus-visible { outline:2px solid #c90032; outline-offset:3px; }
@media(max-width:980px) {
  #projetos .project, #projetos .project--tall { grid-template-columns:1fr 1fr; gap:32px; }
  #produtos .physical-card { flex-basis:calc((100% - 24px)/2); }
}
@media(max-width:680px) {
  #projetos .project, #projetos .project--tall { display:flex; flex-direction:column; gap:24px; align-items:stretch; }
  #projetos .project--wide .project-intro { order:-1; }
  #projetos .project--tall .project-visual { align-self:center; }
  #produtos .physical-card { flex-basis:86%; }
  #ofertas .offer-action .offer-note { min-height:0; }
}

/* Shared rows align the price values as well as the action buttons. */
@media(min-width:981px) {
  #ofertas .offer-grid { row-gap:0; }
  #ofertas .offer-card { display:grid; grid-row:span 7; grid-template-rows:subgrid; row-gap:0; }
  #ofertas .offer-category { grid-row:1; }
  #ofertas .offer-card > h3 { grid-row:2; }
  #ofertas .offer-card > p:not([class]) { grid-row:3; }
  #ofertas .offer-card > ul { grid-row:4; }
  #ofertas .offer-price { grid-row:5; display:grid; grid-template-rows:1.5em auto auto; align-content:start; }
  #ofertas .offer-price > span:first-child { grid-row:1; }
  #ofertas .offer-price > strong { grid-row:2; }
  #ofertas .offer-price > span:last-child { grid-row:3; }
  #ofertas .offer-detail { grid-row:6; }
  #ofertas .offer-action { grid-row:7; margin-top:0; }
}
