/* E.D. Impianti — homepage proposal. Shared template, dedicated identity. */
:root{--navy:#143d46;--ink:#143d46;--blue:#197a9b;--warm:#cf663c;--pale:#edf5f6;--paper:#f5f7f5}
.button{max-width:100%}.button-warm{background:#b34d2e;border-color:#b34d2e}.button-warm:hover{background:#913d24;border-color:#913d24}
.hero-photo img{object-position:65% center}.hero-promises{flex-wrap:wrap;gap:12px 20px}.hero-promises span{white-space:normal}
.hero h1 em:after{width:90%}.hero-description{max-width:480px}
.platform-review-whatsapp{border-color:#168d59;background:#f7fcf8}.platform-review-whatsapp small{max-width:150px;color:#526671}
.platform-rating{display:block;font-size:14px;line-height:20px;font-weight:600}.platform-rating .stars{display:inline}
.rating-summary{display:flex;align-items:center;gap:17px;margin-top:22px}.rating-summary>b{font-family:var(--heading);font-size:48px;line-height:56px;font-weight:400;color:white}.rating-summary .stars{display:block;font-size:21px;line-height:27px;letter-spacing:2px;color:#f0bc61}.rating-summary small{display:block;font-size:14px;line-height:22px;color:#d5e8ed}
.review-card{min-height:280px}.review-card blockquote{min-height:66px}.reviews-section .review-card:nth-child(2) .avatar{background:#f4e8d7;color:#855c21}.reviews-section .review-card:nth-child(3) .avatar{background:#e9f2e9;color:#386c4a}
.review-source{margin:0}.credits-dialog>.text-link{display:flex;margin-top:18px}.credits-dialog a:not(.button):hover{color:var(--blue)}
.story-visual .person-note img{border-radius:12px}.story-visual .person-note small{max-width:270px}.photo-frame img{object-position:35% center}
.service-card h3{line-height:1.16}.service-card-compact h3{max-width:100%}.service-card .service-image img{transition:transform .5s}.service-card:hover .service-image img{transform:scale(1.035)}
.opening-hours{display:flex;gap:13px;align-items:flex-start;margin:26px 0 30px}.opening-hours>.icon{color:var(--blue);margin-top:3px}.opening-hours b{font-size:16px;line-height:24px;font-weight:600;display:block}.opening-hours small{font-size:13px;line-height:20px;color:var(--muted);display:block;margin-top:4px}
.map-address b{font-size:16px}.map-address small{font-size:13px}.footer-grid>div>a{overflow-wrap:anywhere}.footer-brand>.brand{width:270px;max-width:100%}
.footer-grid>div:nth-child(3)>a{line-height:1.5;margin-bottom:13px}.footer-entity{max-width:320px}.footer-bottom .text-button{padding:0}
#privacy-dialog a{text-decoration:underline;text-underline-offset:3px}#future-page-dialog .button{margin-top:10px}#future-page-dialog p:not(.eyebrow){font-size:16px;line-height:25px}
.motion-paused .service-card:hover .service-image img{transform:none}
@media(max-width:1150px) and (min-width:961px){.nav-shell{grid-template-columns:1fr 235px 1fr;gap:18px}.nav-shell>.brand{width:235px}.main-nav,.nav-services,.nav-right{font-size:18px;gap:18px}.nav-right .button{font-size:16px}}
@media(max-width:960px){.platform-reviews{gap:10px}.hero-promises{gap:9px}.rating-summary{margin-top:20px}.person-note small{font-size:11px}.opening-hours b{font-size:15px}.opening-hours small{font-size:12px}}
@media(max-width:760px){.hero-photo img{object-position:66% center}.hero-promises{flex-direction:column;align-items:flex-start;gap:10px}.hero-promises span{font-size:12px;line-height:18px}.hero-photo-note{font-size:9px}.platform-reviews{flex-wrap:nowrap;gap:10px}.platform-review{padding:10px;gap:9px}.platform-review-whatsapp small{max-width:120px}.platform-rating{font-size:12px;line-height:18px}.platform-rating .stars{font-size:10px;letter-spacing:.4px}.platform-review strong{font-size:11px}.platform-review small{font-size:10px;line-height:15px}.rating-summary>b{font-size:42px;line-height:50px}.rating-summary .stars{font-size:18px}.rating-summary small{font-size:13px}.review-card{min-height:280px}.review-card blockquote{min-height:66px}.person-note b{font-size:14px}.person-note small{font-size:10px}.opening-hours{margin:22px 0 26px}.opening-hours b{font-size:14px}.opening-hours small{font-size:12px}.map-address b{font-size:14px}.map-address small{font-size:11px}.footer-grid>div:nth-child(3)>a{font-size:14px}.footer-brand>.brand{width:250px}.footer-entity{max-width:100%}}
@media(max-width:360px){.platform-review{padding:9px 7px;gap:7px}.platform-review>img{width:24px;height:24px}.platform-review strong{font-size:10px}.platform-review small{font-size:9px}.platform-review .stars{font-size:9px;letter-spacing:.2px}.person-note{padding:11px;gap:10px}.person-note small{font-size:9px}.person-note>.icon{display:none}.hero-promises span{font-size:11px}}
