/* Measured photographic framing. Source images remain unchanged. */
:root{--radius-photo:18px;--radius-panel:16px;--radius-control:10px}
/* Match the centered hero container, including wide screens. */
.hero--inner .breadcrumb{left:max(var(--gutter),calc((100% - var(--container))/2))}
.button{border-radius:var(--radius-control)}
.nav-link,.catalog-menu>summary{font-size:14px}
.header-nav{gap:30px}
.catalog-panel{border-radius:var(--radius-panel);width:640px;grid-template-columns:185px 1fr;gap:27px;padding:24px}
.catalog-preview-image{aspect-ratio:2/3;border-radius:12px;background:#b3b9b0}
.catalog-preview-image img{object-fit:cover;padding:0}
.catalog-categories{gap:14px 18px}
.catalog-category{font-size:14px;padding:12px 10px}
.catalog-all{font-size:12px}
.language-panel{border-radius:12px;width:190px}
.language-choice{min-height:46px}
.nav-contact{border-radius:10px;font-size:13px}

/* Openings keep the native campaign ratio so feet, seats and backs remain visible. */
.hero:not(.hero--texture),.hero--contact{aspect-ratio:2.4/1;min-height:0;height:auto}
.hero:not(.hero--texture) .hero-image,.hero--contact .hero-image{object-position:50% 50%}
.hero--contact::after{background:linear-gradient(90deg,rgba(13,32,19,.58),rgba(13,32,19,.28) 40%,transparent 65%)}
.hero--texture:not(.hero--contact) .hero-image{object-position:50% 44%}

.line-image{height:auto;aspect-ratio:3/4;border-radius:var(--radius-photo);position:relative;isolation:isolate;background:var(--line-bg,#fff)}
.line-image img{position:absolute;width:var(--line-width,100%);height:auto;max-width:none;left:50%;top:50%;transform:translate(calc(-1 * var(--line-x,50%)),calc(-1 * var(--line-y,50%)));object-fit:initial;transition:none}
.line-card:hover .line-image img{transform:translate(calc(-1 * var(--line-x,50%)),calc(-1 * var(--line-y,50%)))}
.line-card:hover h3{color:var(--brand)}
.line-card:hover .line-image{box-shadow:inset 0 0 0 1px #6d3e3526}
.line-card[data-line="tables"] .line-image img,.line-card[data-line="tables"]:hover .line-image img{position:static;width:100%;height:100%;object-fit:cover;object-position:50% 100%;transform:none}
.line-card[data-line="chairs"] .line-image img,.line-card[data-line="stools"] .line-image img{mask-image:linear-gradient(to right,transparent 0%,#000 2.5%,#000 97.5%,transparent 100%)}

.catalog-section{padding-top:45px}
.catalog-toolbar{margin-bottom:18px}
.catalog-filters{gap:8px 25px;margin-bottom:45px}
.catalog-filter{font-size:13px;padding-inline:2px}
.catalog-group{margin-bottom:60px}
.catalog-group:last-child{margin-bottom:0}
.catalog-group-title{font-size:26px;letter-spacing:-.025em;margin-bottom:26px}
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:39px 28px}
.product-image{aspect-ratio:2/3;border-radius:var(--radius-photo);background:var(--image-background,#fff);isolation:isolate;border:1px solid #e7e7e3}
.product-image img{position:absolute;left:50%;top:50%;width:var(--image-width,100%);height:auto;max-width:none;object-fit:initial;transform:translate(calc(-1 * var(--image-x,50%)),calc(-1 * var(--image-y,50%)));transition:none}
.product-card:hover .product-image img{transform:translate(calc(-1 * var(--image-x,50%)),calc(-1 * var(--image-y,50%)))}
.product-card:hover h3{color:var(--brand)}
.product-card h3{font-size:20px;min-height:45px;line-height:1.14;margin-top:7px;transition:color .2s}
.product-category{margin-top:19px}
.product-materials{margin-top:3px;min-height:34px}
.product-detail{margin-top:9px}
.product-detail summary{font-size:12px;min-height:45px}
.product-body .button{border-radius:8px}
.catalog-group--stools>.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.catalog-group--tables>.product-grid,.catalog-group--armchairs>.product-grid,.catalog-group--rocking>.product-grid,.catalog-group--children>.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}
.catalog-group--tables .product-image,.catalog-group--armchairs .product-image{aspect-ratio:1/1}
.catalog-group--rocking .product-image{aspect-ratio:4/3}
.catalog-group--children .product-image{aspect-ratio:5/4}
.catalog-compact{margin-top:40px}
.catalog-compact-title{font-size:20px;margin-bottom:22px}
.catalog-compact .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}
.catalog-compact .product-image{aspect-ratio:16/9}

/* Page photographs: full objects or deliberate details, rather than arbitrary cover crops. */
.business-feature{min-height:0;height:auto;align-items:center;background:var(--surface)}
.business-feature .feature-image{height:auto;min-height:0;aspect-ratio:4/3;overflow:hidden;border-radius:0 22px 22px 0}
.business-feature .feature-image img{height:100%;object-fit:cover;object-position:50% 100%}
.craft-layout{grid-template-columns:1.05fr 1fr .48fr}
.craft-image{height:auto;aspect-ratio:1/1;border-radius:22px}
.craft-image img{object-fit:cover;object-position:50% 70%}
.social-image{aspect-ratio:3/2;border-radius:var(--radius-photo)}
.social-image img{object-fit:cover}
.social-image:last-child{aspect-ratio:2.19/1}
.story-photo{height:auto;aspect-ratio:1/1;border-radius:22px}
.story-photo img{object-position:50% 55%}
.material-photo{aspect-ratio:5/4;border-radius:var(--radius-photo);position:relative;background:var(--photo-bg,#fff);overflow:hidden}
.material-photo img{position:absolute;left:50%;top:50%;width:var(--photo-width,100%);height:auto;max-width:none;transform:translate(calc(-1 * var(--photo-x,50%)),calc(-1 * var(--photo-y,50%)));object-fit:initial}
.scope-photo{aspect-ratio:4/3;border-radius:var(--radius-photo);position:relative;background:var(--photo-bg,#fff);overflow:hidden}
.scope-photo img{position:absolute;left:50%;top:50%;width:var(--photo-width,100%);height:auto;max-width:none;transform:translate(calc(-1 * var(--photo-x,50%)),calc(-1 * var(--photo-y,50%)));object-fit:initial}
.channel{padding:29px;border:1px solid var(--line);border-radius:var(--radius-panel)}
.channel:hover{border-color:#6d3e3540}
.visit-section{border-radius:22px;margin-inline:var(--gutter)}
.visit-section .wrap{padding-inline:clamp(26px,3.3vw,65px)}

@media(min-width:1700px){.line-image{height:auto}.header-nav{gap:36px}.header-bar{min-height:108px}.hero--inner .hero-content{max-width:520px}}
@media(max-width:1250px){.header-nav{gap:23px}.nav-link,.catalog-menu>summary{font-size:13px}.catalog-panel{left:-20px;width:600px;grid-template-columns:175px 1fr;gap:22px}.catalog-category{font-size:13px}.product-grid{gap:34px 23px}}
@media(min-width:601px) and (max-width:1100px){
 .hero:not(.hero--texture),.hero--contact{aspect-ratio:2.4/1;min-height:0;height:auto}
 .hero:not(.hero--texture) .hero-content{width:46%;padding-block:30px;max-width:405px}
 .hero:not(.hero--texture) h1{font-size:clamp(32px,4.1vw,43px);margin-bottom:17px}
 .hero:not(.hero--texture) p:not(.eyebrow){font-size:13px;line-height:1.65;max-width:300px}
 .hero:not(.hero--texture) .eyebrow{font-size:9px;margin-bottom:13px}
 .hero:not(.hero--texture) .button{min-height:43px;font-size:12px;padding:11px 18px;margin-top:19px}
 .hero--professionals:not(.hero--texture) .hero-content{width:43%}
 .hero--contact .hero-content{width:47%;padding-block:30px}
 .hero--contact h1{font-size:34px}
 .hero--contact p:not(.eyebrow){font-size:13px;max-width:295px}
 .business-feature{height:auto;min-height:0}
 .business-feature .feature-image{height:auto}
 .feature-copy{padding:35px}
}
@media(max-width:900px){
 .line-image{height:auto;aspect-ratio:3/4}
 .craft-layout{grid-template-columns:1fr 1fr}
 .craft-image,.story-photo{height:auto}
 .catalog-group--stools>.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:31px 20px}
 .product-card h3{font-size:18px;min-height:42px}
 .scope-grid{gap:22px}
 .scope-photo{aspect-ratio:4/3}
 .scope-item h3{font-size:18px}
}
@media(max-width:600px){
 .hero:not(.hero--texture){aspect-ratio:auto;min-height:660px}
 .hero:not(.hero--texture) .hero-image{object-position:50% 100%}
 .hero--inner:not(.hero--texture){min-height:620px}
 .hero--inner:not(.hero--texture) .hero-content{padding-top:45px}
 .hero--professionals:not(.hero--texture) .hero-content{padding-top:35px}
 .hero--professionals:not(.hero--texture) h1{font-size:34px}
 .hero--professionals:not(.hero--texture) .hero-image{object-position:50% 100%}
 .hero--contact{aspect-ratio:auto;min-height:620px;align-items:flex-start}
 .hero--contact .hero-content{padding-top:65px}
 .hero--contact .hero-image{object-position:50% 100%}
 .hero--contact::after{background:linear-gradient(180deg,rgba(11,28,16,.65) 0%,rgba(11,28,16,.52) 42%,transparent 67%)}
 .line-grid{gap:25px 15px}
 .line-image{aspect-ratio:3/4;border-radius:14px}
 .line-card h3{font-size:16px}
 .business-feature{height:auto;min-height:0}
 .business-feature .feature-image{height:auto;aspect-ratio:4/3;border-radius:0}
 .feature-copy{padding:35px var(--gutter) 37px}
 .craft-layout{grid-template-columns:1fr;gap:26px}
 .craft-image{height:auto;aspect-ratio:5/4;border-radius:17px}
 .social-layout .social-image:last-child{display:block}
 .social-image{aspect-ratio:3/2;border-radius:15px}
 .social-image:last-child{aspect-ratio:2.19/1}
 .catalog-section{padding-top:34px}
 .catalog-filters{gap:4px 17px;margin-bottom:30px}
 .catalog-filter{font-size:11px;min-height:41px}
 .catalog-group{margin-bottom:42px}
 .catalog-group-title{font-size:23px;margin-bottom:21px}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 15px}
 .product-image{border-radius:14px;aspect-ratio:2/3}
 .product-card h3{font-size:16px;min-height:37px;line-height:1.17}
 .product-category{font-size:9px;margin-top:14px}
 .product-materials{font-size:10px;min-height:32px}
 .product-detail summary{font-size:10px;min-height:42px}
 .catalog-group--tables>.product-grid,.catalog-group--armchairs>.product-grid,.catalog-group--rocking>.product-grid,.catalog-group--children>.product-grid,.catalog-compact .product-grid{gap:25px 15px}
 .catalog-group--tables .product-image,.catalog-group--armchairs .product-image{aspect-ratio:1/1}
 .catalog-group--rocking .product-image{aspect-ratio:4/3}
 .catalog-group--children .product-image{aspect-ratio:5/4}
 .catalog-compact{margin-top:29px}
 .catalog-compact-title{font-size:19px;margin-bottom:18px}
 .catalog-compact .product-image{aspect-ratio:16/9}
 .story-photo{height:auto;aspect-ratio:1/1;border-radius:17px}
 .material-photo{aspect-ratio:5/4;border-radius:16px}
 .scope-photo{aspect-ratio:4/3;border-radius:16px}
 .channel{padding:23px;border-radius:14px}
 .channel .contact-value{font-size:21px}
 .visit-section{border-radius:17px;margin-inline:15px}
 .visit-section .wrap{padding-inline:22px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.product-card-link{display:block}
a.product-card-link:focus-visible{outline:2px solid var(--brand);outline-offset:7px;border-radius:var(--radius-photo)}
.product-page-link{display:inline-block;margin-top:14px;padding-block:9px;font-size:12px;font-weight:600;color:var(--brand);border-bottom:1px solid currentColor;line-height:1.4}
.product-card:not(.product-card--linked):hover h3{color:var(--ink)}
.line-card[data-line="chairs"] .line-image,.line-card[data-line="stools"] .line-image,.line-card[data-line="children"] .line-image{aspect-ratio:2/3;background:none}
.line-card[data-line="tables"] .line-image,.line-card[data-line="armchairs"] .line-image,.line-card[data-line="rocking"] .line-image{aspect-ratio:1/1}
.line-card[data-line="chairs"] .line-image img,.line-card[data-line="stools"] .line-image img,.line-card[data-line="children"] .line-image img,.line-card[data-line="rocking"] .line-image img,.line-card[data-line="armchairs"] .line-image img,.line-card[data-line="chairs"]:hover .line-image img,.line-card[data-line="stools"]:hover .line-image img,.line-card[data-line="children"]:hover .line-image img,.line-card[data-line="rocking"]:hover .line-image img,.line-card[data-line="armchairs"]:hover .line-image img{position:static;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:none;mask-image:none}
.line-card[data-line="rocking"] .line-image img{object-position:50% 100%}
.line-card[data-line="children"] .line-image,.line-card[data-line="armchairs"] .line-image{border:1px solid #e7e7e3}
#banco-tela .product-image{background:none;border:0;border-radius:0}
#banco-tela .product-image img,#banco-tela:hover .product-image img{position:static;width:auto;height:100%;max-width:100%;margin-inline:auto;transform:none;object-fit:contain;border-radius:var(--radius-photo)}
#banco-trento .product-image img,#banco-trento:hover .product-image img,#banco-palha .product-image img,#banco-palha:hover .product-image img{position:static;width:100%;height:100%;transform:none;object-fit:cover;object-position:50% 100%}
.scope-item:nth-child(1) .scope-photo img,.scope-item:nth-child(2) .scope-photo img,.material-photo img{mask-image:linear-gradient(to right,transparent 0%,#000 2%,#000 98%,transparent 100%)}
.scope-item:nth-child(3) .scope-photo{background:none;border-radius:0}
.scope-item:nth-child(3) .scope-photo img{width:100%;height:auto;left:0;top:50%;transform:translateY(-50%);border-radius:var(--radius-photo)}
.hero-short{display:none}
.mobile-title-break{display:none}
@media(max-width:600px){
 .mobile-title-break{display:initial}
 .hero:not(.hero--texture){aspect-ratio:3/4;min-height:0;height:auto;align-items:flex-start}
 .hero:not(.hero--texture) .hero-image{object-position:50% 50%}
 .hero:not(.hero--texture) .hero-content{padding:28px 0;max-width:none;width:100%}
 .hero:not(.hero--texture) h1{font-size:36px;margin-bottom:14px}
 .hero:not(.hero--texture) .eyebrow{margin-bottom:12px}
 .hero:not(.hero--texture) p:not(.eyebrow){font-size:13px;max-width:300px;line-height:1.6}
 .hero:not(.hero--texture) .button{margin-top:16px;min-height:42px;font-size:12px}
 .hero--inner:not(.hero--texture) .hero-content{padding:34px 0 20px}
 .hero--inner:not(.hero--texture) h1{font-size:30px;max-width:none;margin-bottom:12px}
 .hero--inner:not(.hero--texture) p:not(.eyebrow){font-size:12px;line-height:1.55}
 .hero--inner:not(.hero--texture) .button{margin-top:12px;min-height:40px}
 .hero--professionals:not(.hero--texture) .hero-content{padding-top:34px}
 .hero--contact{aspect-ratio:2/3;min-height:0;height:auto;align-items:flex-start}
 .hero--contact .hero-image{object-position:50% 50%}
 .hero--contact .hero-content{padding:65px 0 28px}
 .hero-long{display:none}.hero-short{display:inline}
}
