/* Original homepage sequence, using the typography and neutral palette of the preview. */
.section-link{display:inline-flex;align-items:center;gap:32px;padding:14px 0;border-bottom:1px solid currentColor;font-size:13px;line-height:1.5;text-decoration:none;color:inherit}
.section-link span{font-size:22px;transition:transform .25s}
.section-link:hover span{transform:translate(3px,-3px)}
#servizi .section-link{justify-self:start}
#materiali .section-title{display:block}
.material-intro{margin:18px 0 0;font-size:14px;line-height:1.6;letter-spacing:0}
.material-copy .section-link{margin-top:20px}
#collezioni .collection-cta{position:static;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:11px 0;border:0;border-bottom:1px solid #b8a797;border-radius:0;background:transparent;color:#695646;font-size:12px;line-height:1.5;text-decoration:none}
#collezioni .collection-cta:hover{color:#30271f;border-color:currentColor}
#collezioni .collection-cta span{font-size:20px}
#collezioni .collection-cta:focus-visible{outline:2px solid #695646;outline-offset:4px}
.section-controls{display:flex;gap:8px;flex-shrink:0}
.section-controls button{width:46px;height:46px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;font:20px Arial;cursor:pointer;transition:background .2s,color .2s}
.section-controls button:hover:not(:disabled){background:#262626;color:#fff}
.section-controls button:disabled{opacity:.25;cursor:default}
body:has(.fullscreen-slider) main>section.original-projects{background:#f8f8f6;padding:54px 4vw 44px;border-block:1px solid #cececa}
.original-projects .section-title,.reviews-section .section-title{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 30px}
.original-projects .section-title:after,.press-section .section-title:after,.reviews-section .section-title:after{content:none}
.original-project-grid,.reviews-grid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#888 #ddd;padding:0 0 20px}
.project-card{flex:0 0 calc((100% - 72px)/4);min-width:0;scroll-snap-align:start}
.project-photo{display:block;overflow:hidden;aspect-ratio:3/4}
.project-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s}
.project-photo:hover img{transform:scale(1.035)}
.project-copy{padding:20px 0 8px}
.project-date{font-size:11px;letter-spacing:.04em;color:#777;margin:0 0 16px}
.project-copy h3{margin:0 0 16px;min-height:2.3em}
.project-copy h3 a{color:inherit;text-decoration:none}
.project-excerpt{font-size:13px;line-height:1.7;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;color:#5b5b5b}
.original-projects>.section-link{margin-top:20px}
body:has(.fullscreen-slider) main>section.press-section{padding:48px 4vw;background:#1a1a1a;color:#fff}
.press-section .section-title{margin:0 0 36px}
.press-logos{overflow-x:auto;scrollbar-width:thin}
.press-logos img{display:block;width:100%;height:auto;min-width:850px}
body:has(.fullscreen-slider) main>section.idea-section{display:grid;grid-template-columns:52% minmax(0,1fr);align-items:center;gap:0;background:#f7f7f5;padding:0;border-bottom:1px solid #ccc}
.idea-photo{margin:0;overflow:hidden}
.idea-photo img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover}
.idea-copy{padding:44px 5vw;background:#f7f7f5;position:relative;margin-left:-28px}
.idea-copy h2{margin:0 0 28px}
.idea-copy p{font-size:15px;line-height:1.8;margin:0 0 20px}
body:has(.fullscreen-slider) main>section.reviews-section{background:#e9e8e4;padding:52px 4vw 58px;border-bottom:1px solid #ccc}
.reviews-section .section-title{margin-bottom:12px}
.reviews-source{color:#666;font-size:12px;margin:0 0 30px}
.review-card{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start;margin:0;background:#f8f8f6;padding:30px;display:flex;flex-direction:column}
.review-rating{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:#333;gap:16px}
.review-rating span:last-child{font-size:12px;color:#777}
.review-card blockquote{font-size:15px;line-height:1.7;margin:24px 0;flex:1;color:#333}
.review-card figcaption{position:static;display:flex;justify-content:space-between;gap:16px;background:none;color:#333;padding:18px 0 0;border-top:1px solid #ccc;font-size:12px}
.review-card time{white-space:nowrap;color:#777}
@media(max-width:1100px){.project-card{flex-basis:calc((100% - 24px)/2)}.review-card{flex-basis:calc((100% - 24px)/2)}.idea-photo img{min-height:450px}.idea-copy{padding:36px 4vw;margin-left:0}}
@media(max-width:700px){
 body:has(.fullscreen-slider) main>section.original-projects,body:has(.fullscreen-slider) main>section.reviews-section,body:has(.fullscreen-slider) main>section.press-section{padding:36px 6vw}
 .section-controls{gap:6px}.section-controls button{width:36px;height:36px}
 .original-project-grid,.reviews-grid{gap:16px}.project-card,.review-card{flex-basis:88%}
 .review-card{padding:24px}.review-card figcaption{flex-wrap:wrap;gap:6px}
 body:has(.fullscreen-slider) main>section.idea-section{grid-template-columns:minmax(0,1fr)}
 .idea-photo img{min-height:0;max-height:360px}.idea-copy{margin:-24px 6vw 0 0;padding:30px 6vw}
 .original-projects .section-title,.reviews-section .section-title{align-items:flex-start;gap:16px}
}
@media(prefers-reduced-motion:reduce){.project-photo img,.section-link span{transition:none}}
/* Native range comparison: no carousel dependency or continuous animation. */
#servizi .service-visual.service-comparison{margin:36px 0 36px 4vw;min-width:0;overflow:visible;box-shadow:none}
@media(min-width:701px){
 body:has(.fullscreen-slider) main>section#servizi{grid-template-rows:auto 1fr}
 #servizi .section-title{align-self:start;padding-bottom:20px}
 #servizi .section-title h2{margin:0}
 #servizi .text-columns{align-self:start}
}
#servizi .comparison-stage{position:relative;isolation:isolate;aspect-ratio:16/10;overflow:hidden;background:#ded4c8;clip-path:polygon(0 0,100% 0,100% 94%,42% 100%,0 93%)}
#servizi .comparison-stage img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;max-height:none;user-select:none;pointer-events:none}
#servizi .comparison-before{clip-path:inset(0 calc(100% - var(--before)) 0 0)}
#servizi .comparison-label{position:absolute;top:20px;padding:7px 12px;border-radius:3px;background:#493c30e6;color:#fff;font:13px/1.4 Arial,sans-serif;pointer-events:none}
#servizi .comparison-label-before{left:calc(var(--before) / 2);transform:translateX(-50%)}
#servizi .comparison-label-after{left:calc(50% + var(--before) / 2);transform:translateX(-50%)}
#servizi .comparison-divider{position:absolute;left:var(--before);top:0;bottom:0;width:2px;background:#fff;transform:translateX(-50%);pointer-events:none}
#servizi .comparison-handle{position:absolute;left:clamp(24px,var(--before),calc(100% - 24px));top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:46px;height:46px;border:1px solid #d8cbbc;border-radius:50%;background:#faf8f5;color:#493c30;font:28px/1 Arial,sans-serif;box-shadow:0 2px 8px #0002;pointer-events:none}
#servizi .comparison-range{position:absolute;left:-22px;top:0;width:calc(100% + 44px);height:100%;margin:0;padding:0;opacity:0;appearance:none;-webkit-appearance:none;cursor:ew-resize;touch-action:pan-y}
#servizi .comparison-range::-webkit-slider-runnable-track{height:2px;background:transparent}
#servizi .comparison-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:44px;height:44px;margin-top:-21px;border:0;background:transparent}
#servizi .comparison-range::-moz-range-track{height:2px;background:transparent}
#servizi .comparison-range::-moz-range-thumb{width:44px;height:44px;border:0;background:transparent}
#servizi .comparison-stage:has(.comparison-range:focus-visible){outline:3px solid #695646;outline-offset:4px}
#servizi .comparison-stage:has(.comparison-range:focus-visible) .comparison-handle{outline:3px solid #695646;outline-offset:3px}
#servizi .service-comparison figcaption{position:static;inset:auto;display:flex;align-items:center;justify-content:flex-end;gap:20px;margin:0;padding:8px 24px;background:transparent;color:#63584d;font:12px/1.5 Arial,sans-serif;text-align:left}
#servizi .service-comparison img.service-signature{display:block;flex:0 0 auto;width:200px;max-width:45%;height:auto;object-fit:contain}
@media(max-width:700px){
 #servizi .service-visual.service-comparison{margin:0 6vw;width:auto}
 #servizi .comparison-stage{aspect-ratio:16/11}
 #servizi .comparison-label{top:14px;padding:6px 10px;font-size:12px}
 #servizi .service-comparison figcaption{padding:8px 6vw;gap:14px}
 #servizi .service-comparison img.service-signature{width:150px}
}
/* Lightweight masonry previews: native columns, no layout scripts. */
#ultimi-lavori .section-title{max-width:1440px;margin-inline:auto}
#ultimi-lavori .original-project-grid,#ultimi-lavori .project-more{max-width:none;margin-inline:auto}
body:has(.fullscreen-slider) main>section#ultimi-lavori{padding-inline:16px}
#ultimi-lavori .section-title{justify-content:center;margin-bottom:36px;text-align:center}
#ultimi-lavori .original-project-grid{display:block;columns:5 240px;column-gap:16px;overflow:visible;padding:0;scroll-snap-type:none}
#ultimi-lavori .project-card{display:inline-block;vertical-align:top;break-inside:avoid;width:100%;margin:0 0 16px;padding:0;background:#fff;border:0;border-radius:10px;overflow:hidden}
#ultimi-lavori .project-card:before{content:none}
#ultimi-lavori .project-photo{display:block;aspect-ratio:3/4;clip-path:none}
#ultimi-lavori .project-card:nth-child(4n+2) .project-photo{aspect-ratio:1/1}
#ultimi-lavori .project-card:nth-child(4n+3) .project-photo{aspect-ratio:4/3}
#ultimi-lavori .project-card:nth-child(4n) .project-photo{aspect-ratio:2/3}
#ultimi-lavori .project-photo img{display:block;width:100%;height:100%;object-fit:cover;transform:none;transition:none}
#ultimi-lavori .project-photo:focus-visible{outline:3px solid #8b7866;outline-offset:-4px}
#ultimi-lavori .project-more-toggle{display:flex;justify-content:center;align-items:center;gap:24px;list-style:none;cursor:pointer;width:fit-content;margin:8px auto 28px;padding:12px 24px;border:1px solid #b8a797;border-radius:28px;background:transparent;color:inherit;font:14px/1.5 Arial,sans-serif}
#ultimi-lavori>.section-link{display:flex;width:fit-content;margin:20px auto 0}
@media(max-width:1000px){#ultimi-lavori .original-project-grid{columns:3;column-gap:12px}#ultimi-lavori .project-card{margin-bottom:12px}}
@media(max-width:650px){body:has(.fullscreen-slider) main>section#ultimi-lavori{padding-inline:8px}#ultimi-lavori .original-project-grid{column-gap:8px}#ultimi-lavori .project-card{margin-bottom:8px;border-radius:6px}}
@media(max-width:360px){#ultimi-lavori .original-project-grid{columns:2}}

#ultimi-lavori .project-card[hidden],#ultimi-lavori .project-more-toggle[hidden]{display:none}

/* Instructions and signature share the space immediately beneath the comparison. */
#servizi .service-comparison figcaption{justify-content:space-between;align-items:flex-start;padding:0 8px;gap:16px;margin-top:-12px;position:relative}
#servizi .service-comparison img.service-signature{width:180px;max-width:28%;margin-top:-14px}
#servizi .simulator-steps{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;counter-reset:step;margin:26px 0 0;padding:0}
#servizi .simulator-steps li{counter-increment:step;margin:0;padding:0;font:12px/1.5 Arial,sans-serif}
#servizi .simulator-steps li::before{content:counter(step);display:grid;place-items:center;width:26px;height:26px;border:1px solid #b8a795;border-radius:50%;margin-bottom:8px;color:#796653}
#servizi .simulator-steps strong,#servizi .simulator-steps span{display:block}
#servizi .simulator-steps strong{font-size:13px;margin-bottom:4px;color:#292521}
#servizi .text-columns.service-simulator-copy{display:block}
#servizi .service-simulator-copy h3{--rimura-h3:clamp(24px,2.1vw,34px);margin:0 0 20px}
#servizi .service-simulator-copy p{margin:0 0 18px}
@media(max-width:700px){#servizi .service-comparison figcaption{padding:0;gap:8px;margin-top:-8px}#servizi .service-comparison img.service-signature{width:110px;max-width:26%;margin-top:0}#servizi .simulator-steps{gap:9px;margin-top:20px}#servizi .simulator-steps li{font-size:10px}#servizi .simulator-steps strong{font-size:11px}}

@media(max-width:1100px){
 #servizi .service-comparison figcaption{margin-top:12px;gap:22px}
 #servizi .service-comparison img.service-signature{margin-top:8px}
}
@media(max-width:700px){#servizi .service-comparison figcaption{padding-bottom:24px;gap:18px}}

#servizi .product-try-room{display:grid;grid-template-columns:48px minmax(0,1fr) 28px;align-items:center;gap:16px;padding:20px;margin-top:24px;background:#ece5db;color:#292521;border:0;border-radius:3px;font:16px/1.4 Arial,sans-serif;text-decoration:none}
#servizi .product-try-room .try-room-icon{width:48px;height:48px;color:#796653}
#servizi .product-try-room .try-room-arrow{font:24px/1 Arial,sans-serif;text-align:right}
#servizi .product-try-room:hover{background:#e3d8ca}
#servizi .product-try-room:focus-visible{outline:2px solid #796653;outline-offset:4px}
@media(max-width:480px){#servizi .product-try-room{grid-template-columns:40px minmax(0,1fr) 20px;gap:12px;padding:16px;font-size:15px}#servizi .product-try-room .try-room-icon{width:40px;height:40px}}
