/* Oko na Dziecko 4.3 - uwagi klientek: font, czytelność, ludzie i opinie.
   Celowe reguły, bez przebudowania istniejącego desktopowego design systemu. */
:root {
  --old-pale-sky: #a1dfe1;
  --old-brunswick: #005550;
  --old-pastel-aqua: #bcebe9;
  --old-obsidian: #222222;
}
body,button,input,textarea,select,.btn,.site-header,.site-footer {font-family:'Poppins',Arial,sans-serif;}
h1,h2,h3,h4,h5,.section-top h2,.service-card h3 {font-family:'Poppins',Arial,sans-serif;}
/* Secondary typeface only for small navigational accents, never for paragraphs. */
.service-number,.step-head>span:last-child {font-family:ui-monospace,'SFMono-Regular',Consolas,monospace;letter-spacing:-.04em;}

/* Real photo montage - retain the pre-existing arch shape for every hero variant. */
.hero-visual--owners,.hero--framed .hero-visual--owners,.hero--statement .hero-visual--owners{
 background:#f3f1ea; isolation:isolate;
}
.hero-visual--owners .hero-frame{background:linear-gradient(145deg,#f4f1e9,#e9f1e9);}
.hero-visual--owners .hero-frame .hero-photo{
 width:100%;height:100%;object-fit:contain;object-position:center bottom;
 padding:clamp(10px,2vw,24px) clamp(8px,1.8vw,20px) 24px;
 filter:none;box-sizing:border-box;
}
.hero--statement .hero-visual--owners .hero-frame{border-radius:inherit;}
.hero-visual--owners .hero-photo-caption{background:rgba(255,255,255,.9);}
.hero-copy .hero-support{
 display:flex;align-items:center;flex-wrap:wrap;column-gap:7px;row-gap:3px;
 margin-top:20px;line-height:1.5;color:#335a4e;
 border-left:3px solid #a1dfe1;padding:9px 0 9px 13px;
 font-size:clamp(.81rem,1vw,.95rem);
}
.hero-copy .hero-support>span{color:#005550;font-size:1.1em;}
.hero-copy .hero-support strong{font-weight:700;color:#1e4339;}
.hero-foot{font-weight:550;color:#285744;}
.hero-foot-pin{background:#e5f5f3;border:1px solid #b6dcd6;color:#005550;}
.hero-foot-pin svg{width:18px;height:18px;stroke-width:2.4;}

/* Heading hierarchy from page 2 of client brief. */
.services-section .section-top.services-top{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:start;}
.services-section .services-top .eyebrow{
 display:block;text-transform:none;letter-spacing:-.035em;
 color:#234b3f;font-size:clamp(1.65rem,2.5vw,2.65rem);
 line-height:1.18;font-weight:700;margin:0 0 4px;
}
.services-section .services-top h2{
 font-size:clamp(1.05rem,1.35vw,1.42rem)!important;
 font-weight:600;letter-spacing:-.017em;line-height:1.35;
 color:#60766c;margin:0 0 8px;
}
.services-section .section-top.services-top>p{
 margin:0;max-width:70ch;color:#5b6f64;font-size:.98rem;
 line-height:1.65;align-self:start;
}
/* Preserve card coherence but borrow the colorful accents from the original site. */
.services-section .service-grid{gap:clamp(14px,1.5vw,22px);}
.services-section .service-card{min-height:315px;}
.services-section .service-card .service-icon{
 position:relative;border-radius:28px 25px 27px 22px;
 transition:transform .25s ease,background-color .25s ease;
}
.services-section .service-card:nth-child(1) .service-icon {background:#c8f0b1;color:#315b42;}
.services-section .service-card:nth-child(2) .service-icon {background:#f4c7b6;color:#315b42;}
.services-section .service-card:nth-child(3) .service-icon {background:#a1dfe1;color:#205b53;}
.services-section .service-card:nth-child(4) .service-icon {background:#e6d8ab;color:#315b42;}
.services-section .service-card:hover .service-icon{transform:translateY(-2px) rotate(-2deg)}
.services-section .service-card .service-number{font-size:1.15rem;}

/* More visible, human-sized, speech-bubble contact strip below services. */
.services-section .help-line.help-line--personal{
 display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:22px;
 align-items:center;min-width:0;padding:19px 24px;
 border-radius:28px;background:#e7f2ec;
 border:1px solid #c7dfd2;box-shadow:0 13px 29px rgba(28,62,48,.045);
 position:relative;isolation:isolate;overflow:visible;
}
.help-line--personal:before{
 content:'';position:absolute;top:-9px;left:122px;width:19px;height:19px;
 background:#e7f2ec;transform:rotate(45deg);
 border-top:1px solid #c7dfd2;border-left:1px solid #c7dfd2;z-index:-1;
}
.help-line--personal .help-line-person{display:flex;align-items:center;flex-direction:column;gap:5px;min-width:0;}
.help-line--personal .help-line-person img{
 width:90px;height:90px;object-fit:cover;object-position:top center;
 border-radius:24px;border:3px solid #fff;background:#e1f0eb;
 box-shadow:0 8px 20px rgba(30,60,42,.1);
}
.help-line--personal .help-line-person>span{font-size:.7rem;text-align:center;color:#345747;font-weight:700;line-height:1.2;}
.help-line--personal .help-line-person small{font-size:.58rem;color:#65796c;font-weight:500;}
.help-line--personal .help-line-copy{min-width:0;}
.help-line--personal .help-line-copy strong{
 font-size:clamp(1.22rem,1.65vw,1.68rem);line-height:1.25;
 margin-bottom:6px;display:block;letter-spacing:-.035em;
}
.help-line--personal .help-line-copy p{font-size:.93rem;max-width:52ch;line-height:1.55;margin:0;color:#50695b;}
.help-line--personal .help-line-action{min-width:0;position:relative;z-index:4;}
.help-line--personal .help-line-action>.phone-picker summary{min-width:195px;}

/* Trustindex: real reviews, no additional artificial review art or fabricated counters. */
.reviews-section--real .reviews-title{text-align:left;max-width:900px;margin-bottom:28px;}
.reviews-section--real .reviews-title h2{font-size:clamp(2rem,3.6vw,3.7rem);line-height:1.15;}
.reviews-section--real .reviews-title .eyebrow{margin-bottom:10px;}
.reviews-section--real .reviews-trustindex{min-width:0;max-width:100%;position:relative;z-index:0;}
.reviews-section--real .reviews-trustindex :where(img,iframe){max-width:100%;}
.reviews-section--real .reviews-trustindex>.btn{display:inline-flex;margin-top:10px;}

/* Cennik - remove unnecessary preheading and promotional filler. */
.home-prices .section-top--simple{margin-bottom:28px;display:block;}
.home-prices .section-top--simple h2{margin:0;}

/* Contrast and focus without changing the approved button system. */
.services-section .btn:focus-visible,.reviews-section a:focus-visible,
.help-line--personal .phone-picker summary:focus-visible{
 outline:3px solid #005550;outline-offset:4px;
}

@media(max-width:1050px){
 .services-section .help-line.help-line--personal{grid-template-columns:76px minmax(0,1fr);gap:14px;padding:18px;}
 .help-line--personal .help-line-person img{width:74px;height:74px;border-radius:21px;}
 .help-line--personal .help-line-action{grid-column:2;justify-self:start;}
 .help-line--personal:before{left:94px;}
}
@media(max-width:720px){
 .hero-visual--owners .hero-frame .hero-photo{padding:10px 7px 24px;object-position:center bottom;}
 .services-section .services-top .eyebrow{font-size:clamp(1.55rem,7.4vw,2.1rem);}
 .services-section .services-top h2{font-size:1.08rem!important;}
 .services-section .section-top.services-top>p{font-size:.9rem;line-height:1.6;}
 .services-section .service-card{min-height:270px;}
 .services-section .help-line.help-line--personal{
   grid-template-columns:66px minmax(0,1fr);gap:12px;padding:17px;border-radius:22px;
 }
 .help-line--personal .help-line-person img{width:65px;height:65px;border-radius:17px;}
 .help-line--personal .help-line-copy strong{font-size:1.17rem;}
 .help-line--personal .help-line-copy p{font-size:.86rem;}
 .help-line--personal .help-line-action{grid-column:1/-1;justify-self:stretch;}
 .help-line--personal .help-line-action>.phone-picker,.help-line--personal .help-line-action>.phone-picker summary{width:100%;min-width:0;}
 .help-line--personal:before{left:47px;}
 .reviews-section--real .reviews-title{margin-bottom:18px;}
 .reviews-section--real .reviews-title h2{font-size:clamp(1.75rem,7vw,2.4rem);}
}
@media(prefers-reduced-motion:reduce){.services-section .service-card .service-icon{transition:none;transform:none}}
