.roberta-gallery{overflow:hidden}
.roberta-gallery .center{margin-bottom:44px}
.portrait-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1180px;margin:auto}
.portrait-grid figure{margin:0;overflow:hidden;border-radius:22px;background:#eee;aspect-ratio:4/5;box-shadow:0 18px 45px rgba(29,12,20,.12)}
.portrait-grid img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.portrait-grid figure:nth-child(3) img{object-position:center 30%}
.reviews{background:#fff8fb;color:#121215}
.reviews-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;max-width:1180px;margin:0 auto 48px}
.reviews-heading>div:first-child p{max-width:700px;margin:18px 0 0;font-size:1.05rem}
.rating-badge{display:flex;align-items:center;gap:16px;padding:22px 28px;border:1px solid #e8dfe4;border-radius:24px;background:#fff;box-shadow:0 12px 30px rgba(56,17,33,.08);white-space:nowrap}
.rating-badge>strong{font:800 2.3rem Manrope;color:#e176a3}
.rating-badge>span{display:grid;color:#e176a3;font-weight:800;letter-spacing:.1em}.rating-badge small{color:#655f65;letter-spacing:0;font-size:.75rem}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1180px;margin:auto}
.review-grid article{display:flex;flex-direction:column;min-height:330px;padding:34px;border:1px solid #e8dfe4;border-radius:28px;background:#fff;box-shadow:0 14px 34px rgba(56,17,33,.06)}
.stars{color:#e176a3;letter-spacing:.12em;font-size:1.15rem}
.review-grid blockquote{margin:20px 0 26px;color:#655f65;font-size:1rem;line-height:1.65;flex:1}
.reviewer{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid #e8dfe4}
.reviewer>b{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#fff0f5;color:#e176a3;font-size:.9rem}
.reviewer p{display:grid;gap:2px;margin:0;line-height:1.25}.reviewer p strong{color:#151518}.reviewer small{color:#6f6b72;font-size:.78rem}
.estimate{padding:0!important;gap:0!important;grid-template-columns:1fr 1fr!important;background:#0d0d0f!important;border-top:1px solid #242429;align-items:stretch}
.contact-copy{padding:90px max(6vw,42px) 90px max(6vw,42px)}
.contact-copy h2{font-size:clamp(3.4rem,5vw,5.7rem)}
.contact-copy>p{font-size:1.12rem;color:#d3d0d4;max-width:590px;margin:30px 0 38px}
.contact-copy>a,.contact-copy>div{max-width:700px;padding:20px!important;border:1px solid #333339!important;background:#19191c!important;border-radius:26px!important;grid-template-columns:58px 1fr!important;column-gap:18px!important}
.contact-copy>a::first-letter,.contact-copy>div::first-letter{display:grid;background:#e176a3;border-radius:50%;color:#fff}
.contact-copy span{font-size:.82rem!important}.contact-copy b{font-size:1.18rem!important}
#quote-form{border:0!important;border-left:1px solid #2a2a2f!important;border-radius:0!important;padding:90px max(6vw,42px)!important;background:#171719!important;align-self:stretch}
#quote-form label{font-size:.8rem;color:#d9d6da}
#quote-form input,#quote-form select,#quote-form textarea{min-height:60px;border-radius:25px!important;border:0!important;padding:14px 22px!important;background:#fff!important}
#quote-form textarea{min-height:132px;border-radius:24px!important}
#quote-form .button{min-height:64px;border-radius:999px;font-size:.92rem}
@media(max-width:900px){.estimate{grid-template-columns:1fr!important}.contact-copy,#quote-form{padding:70px 24px!important}#quote-form{border-left:0!important;border-top:1px solid #2a2a2f!important}.portrait-grid{grid-template-columns:repeat(2,1fr)}.portrait-grid figure:last-child{grid-column:1/-1;max-width:560px;width:100%;margin:auto}.reviews-heading{align-items:flex-start;flex-direction:column}.review-grid{grid-template-columns:1fr}}
@media(max-width:600px){.portrait-grid{grid-template-columns:1fr}.portrait-grid figure:last-child{grid-column:auto}.contact-copy h2{font-size:3.3rem}.contact-copy>a,.contact-copy>div{grid-template-columns:42px 1fr!important}.contact-copy b{font-size:1rem!important}}
