/* Primo Strato / portfolio completo */
.collection-head{max-width:1120px}.collection-stats{font-size:15px;color:#536057;margin-top:24px}
.collection-tools{padding:24px 0;border-top:1px solid #d9d7ca;border-bottom:1px solid #d9d7ca;margin-bottom:24px}
.portfolio-search{display:block;max-width:570px;margin-bottom:22px}.portfolio-search input{display:block;width:100%;margin-top:8px;background:#fffdf8;border:1px solid #c6cbbf;border-radius:4px}
.collection-tools .filter-bar{gap:8px;flex-wrap:wrap}.collection-tools .filter-bar button{border-radius:30px}
.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}
.collection-card{display:flex;flex-direction:column;border:0;background:transparent;min-width:0}.collection-card[hidden]{display:none}
.collection-photo{display:block;position:relative;background:#e9e5db;padding:12px;border:1px solid #dbd7cb;overflow:hidden}
.collection-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;display:block;transition:transform .25s ease;background:#e9e5db}
.collection-photo:hover img{transform:scale(1.025)}.photo-total{position:absolute;right:20px;bottom:20px;background:#fffdf4;color:#183d32;padding:4px 10px;border-radius:20px;font-size:13px;font-weight:650}
.collection-card .project-copy{padding:22px 0 0}.collection-card .project-copy h2{font-size:28px;margin:0 0 14px}.collection-card .project-copy .eyebrow{font-size:13px;margin:0 0 10px}.collection-card .project-copy>p:not(.eyebrow){font-size:16px;line-height:1.65}.collection-card .project-copy .text-link{margin-top:18px;display:inline-block}
.portfolio-empty{padding:48px 24px;background:#e9e5db}.portfolio-empty[hidden]{display:none}
.project-breadcrumb{padding:28px 5vw;display:flex;gap:12px;font-size:14px;flex-wrap:wrap;color:#526056}.project-breadcrumb a{text-decoration:underline;text-underline-offset:5px}
.project-detail{padding:20px 5vw 72px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:6vw;max-width:1540px;margin:auto}
.project-gallery{min-width:0}.detail-main{display:block;background:#e9e5db;border:1px solid #dcd6ca;padding:20px;position:relative}.detail-main img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;max-height:650px}.detail-main>span{display:block;text-align:right;font-size:14px;padding-top:12px}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0}.gallery-controls button{width:48px;height:44px;border:1px solid #bac3b7;background:transparent;color:#183d32;font:24px Manrope,sans-serif;cursor:pointer}.gallery-controls p{margin:0;font-size:15px}.gallery-controls button:disabled{opacity:.3;cursor:default}
.detail-caption{font-size:14px;color:#596153;min-height:24px;line-height:1.5}.project-thumbs{display:flex;gap:10px;overflow-x:auto;padding:8px 2px 12px;scrollbar-width:thin}.project-thumbs button{flex:0 0 85px;border:2px solid transparent;padding:4px;background:#e9e5db;cursor:pointer;color:#183d32}.project-thumbs button[aria-pressed=true]{border-color:#183d32}.project-thumbs img{width:73px;height:73px;object-fit:contain}.project-thumbs span{display:block;font:12px Manrope,sans-serif}
.project-detail-copy{padding-top:18px}.project-detail-copy h1{font-size:clamp(38px,4vw,62px);margin:0 0 24px}.project-detail-copy .lead{font-size:20px}.project-facts{margin:32px 0}.project-facts>div{padding:18px 0;border-top:1px solid #d4d6cb}.project-facts dt{font-size:13px;color:#526056;margin-bottom:6px}.project-facts dd{font-size:17px;margin:0}.project-detail-copy>.text-link{display:block;margin-top:22px}
.related-section,.request-steps,.contact-shortcut,.collection-invite{padding:64px 5vw}.related-section{border-top:1px solid #d6d8cc}.related-grid .project-copy>p:not(.eyebrow){display:none}.related-section .section-top{margin-bottom:32px}
.request-steps{background:#e9e5db}.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.steps-grid article{padding-top:26px;border-top:1px solid #b9c3b5}.steps-grid span{font-size:14px;color:#536456}.steps-grid h3{font-size:28px;margin:20px 0 14px}.steps-grid p{font-size:17px}.practical-faq{max-width:none;padding:72px 5vw}.practical-faq>h2{font-size:42px}.practical-faq details{max-width:1000px}.practical-faq summary{font-size:20px}.delivery-note{margin:28px 5vw;padding:28px;background:#e9e5db;border-left:3px solid #183d32}.delivery-note p{font-size:16px}.shipping-strip{padding:24px 5vw;display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap;background:#dfe5d9;color:#183d32;font-size:15px;font-weight:650}.closing>p:last-child{font-size:17px;margin-top:20px}.contact-shortcut{border-top:1px solid #d6d8cc}
.photo-dialog .gallery-controls{margin:10px 0 0}.photo-dialog .gallery-controls button{flex:none}.photo-dialog img{max-height:58vh}
:focus-visible{outline:3px solid #8c6242;outline-offset:5px}
@media(max-width:1000px){.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail{gap:30px}.project-detail-copy h1{font-size:40px}.related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.related-grid .project-copy h2{font-size:23px}}
@media(max-width:780px){.collection-grid,.related-grid{grid-template-columns:1fr;gap:36px}.collection-card .project-copy{padding-top:18px}.collection-card .project-copy h2{font-size:29px}.collection-card .project-copy>p:not(.eyebrow){font-size:17px}.collection-photo{padding:10px}.collection-photo img{aspect-ratio:4/3}.collection-tools{padding-top:20px}.collection-head .lead{font-size:19px}.project-detail{grid-template-columns:1fr;padding:4px 5vw 44px;gap:28px}.project-detail-copy{padding:0}.project-detail-copy h1{font-size:42px}.project-detail-copy .lead{font-size:19px}.detail-main{padding:12px}.detail-main img{aspect-ratio:4/5;max-height:510px}.detail-caption{font-size:14px}.project-thumbs button{flex-basis:78px}.project-thumbs img{width:66px;height:66px}.project-breadcrumb{padding-top:22px;padding-bottom:22px}.project-facts{margin:24px 0}.project-detail-copy>.button{width:100%;text-align:center}.related-section,.request-steps,.contact-shortcut,.collection-invite,.practical-faq{padding:42px 5vw}.steps-grid{grid-template-columns:1fr;gap:28px}.steps-grid h3{font-size:28px}.practical-faq>h2{font-size:36px}.practical-faq summary{font-size:18px}.shipping-strip{flex-direction:column;gap:8px}.related-grid .collection-photo img{aspect-ratio:4/3}.related-grid .project-copy h2{font-size:27px}.collection-stats{font-size:14px}.photo-dialog img{max-height:52vh}}
@media(prefers-reduced-motion:reduce){.collection-photo img{transition:none}}
