/* Wspólny szlif układu: małe telefony, tablety i szerokie ekrany. */
body { text-size-adjust:100%; -webkit-text-size-adjust:100%; }
main, .main-nav, .header-tools, .review-name, .journal-copy, .contact-form, .service-copy, .founder-copy { min-width:0; }
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
.review-name strong { overflow-wrap:anywhere; }
.reviews-track { touch-action:pan-x pan-y; overscroll-behavior-x:contain; scroll-padding-inline:24px; }
.reviews-controls button { touch-action:manipulation; min-width:46px; min-height:46px; }
.google-rating-summary { max-width:100%; }
.contact-form :is(input,select,textarea) { max-width:100%; }
.contact-form textarea { resize:vertical; }
@media(min-width:761px) and (max-width:1100px) {
 .header-inner { justify-content:space-between; gap:20px; }
 .header-tools { margin-left:auto; }
 .main-nav { display:none; position:absolute; top:75px; left:0; right:0; background:var(--bg); padding:22px var(--edge) 35px; max-height:calc(100dvh - 76px); overflow-y:auto; flex-direction:column; align-items:stretch; justify-content:start; gap:0; font-size:20px; border-bottom:1px solid var(--line); }
 .main-nav.is-open { display:flex; }
 .main-nav a { padding:13px 0; }
 .menu-toggle { height:44px; width:44px; display:flex; flex-direction:column; gap:7px; justify-content:center; align-items:center; background:none; border:0; }
 .menu-toggle span { display:block; width:23px; height:1.5px; background:var(--ink); transition:transform .2s; }
 .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(4.25px) rotate(45deg); }
 .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-4.25px) rotate(-45deg); }
 body.menu-open { overflow:hidden; }
 .simple-nav { display:flex; position:static; max-height:none; border:0; background:none; padding:0; flex:1; align-items:end; font-size:14px; }
 .simple-nav a { font-size:14px; padding:10px 0; }
 .header-inner:has(.simple-nav) .menu-toggle { display:none; }
}
@media(max-width:760px) {
 .contact-form :is(input,select,textarea) { font-size:16px; }
 .contact-form :is(input:not([type=checkbox]),select,button) { min-height:48px; }
 .mobile-cta-bar { padding-bottom:max(12px,env(safe-area-inset-bottom)); }
 body { padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
 .reviews-heading { padding-inline:24px; }
 .review-card { flex-basis:min(520px,calc(100vw - 48px)); width:min(520px,calc(100vw - 48px)); padding:28px 24px; }
 .review-name strong { font-size:15px; line-height:1.4; }
 .review-top { align-items:center; }
 .review-text { font-size:17px; line-height:1.75; }
 .review-read-more { min-height:44px; display:inline-flex; align-items:center; }
 .google-rating-summary { margin-inline:auto; }
}
@media(max-width:360px) {
 .header-inner { padding-inline:16px; gap:12px; }
 .reviews-heading { padding-inline:20px; }
 .reviews-heading h2 { font-size:clamp(30px,9vw,36px); }
 .review-card { flex-basis:calc(100vw - 40px); width:calc(100vw - 40px); padding:24px 20px; }
 .google-rating-title { font-size:27px; }
 .google-rating-count { font-size:16px; }
 .google-rating-logo { width:136px; }
}
@media(min-width:1920px) { .reviews-heading { max-width:1440px; } }
