
/* Phase 5: responsive and accessible layout refinements */
img, video, iframe { max-width: 100%; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
button, input, select, textarea { max-width: 100%; }
:focus-visible { outline: 3px solid #e4b34e; outline-offset: 3px; }
@media (max-width: 768px) {
  body { overflow-x: hidden; }
  .container, .wrapper, .content, section { max-width: 100%; }
  .home .slide .content h3, .home .slide .content .heading,
  .home .slide .content p { overflow-wrap: anywhere; }
  .home .slide { background-position: center; }
  .home .slide .content { width: 100%; max-width: 100%; padding: 2rem 1.5rem; }
  .home .slide .content h3 { font-size: clamp(2.8rem, 10vw, 5rem); line-height: 1.05; }
  .home .slide .content p { max-width: 100%; }
  .btn, a.btn { min-height: 44px; }
  .swiper-button-next, .swiper-button-prev { width: 38px; height: 38px; }
}
@media (max-width: 480px) {
  .home .slide .content { padding: 1.5rem 1rem; }
  .home .slide .content h3 { font-size: clamp(2.35rem, 11vw, 3.5rem); }
  .home .slide .content p { font-size: 1.4rem; line-height: 1.6; }
  .home .slide .content .btn { margin: .5rem .35rem .5rem 0; }
}


/* Phase 14 — centered, editable services collection and consistent mobile cards */
#services.services { width:100%; padding:clamp(58px,7vw,96px) 0; overflow:hidden; }
#services.services .services-container { width:min(1240px, calc(100% - 48px)); max-width:1240px; margin-left:auto; margin-right:auto; }
#services .services-intro { width:100%; max-width:760px; margin:0 auto 34px; text-align:center; }
#services .services-intro .section-label { display:inline-block; }
#services .services-intro .heading { margin-left:auto; margin-right:auto; }
#services .services-intro p { max-width:620px; margin:12px auto 0; }
#services .services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; width:100%; margin:0 auto; align-items:stretch; }
#services .service-card { min-width:0; width:100%; height:100%; display:flex; flex-direction:column; background:#fff; border:1px solid rgba(16,24,32,.09); box-shadow:0 10px 30px rgba(16,24,32,.045); }
#services .service-image { width:100%; height:auto; aspect-ratio:1.48 / 1; flex:0 0 auto; background:#edf0eb; }
#services .service-image img { display:block; width:100%; height:100%; object-fit:cover; }
#services .service-content { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:22px 22px 24px; }
#services .service-content h3 { font-size:clamp(19px,1.65vw,24px); line-height:1.2; }
#services .service-content p { min-height:0; flex:1; font-size:13px; line-height:1.7; margin-bottom:18px; }
#services .service-content a { margin-top:auto; min-height:32px; }
#services .service-label { color:#159d36; }
@media (max-width:900px) {
  #services.services .services-container { width:calc(100% - 36px); max-width:760px; }
  #services .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  #services .service-content { padding:18px; }
  #services .service-content h3 { font-size:20px; }
  #services .service-content p { font-size:12px; }
}
@media (max-width:520px) {
  #services.services { padding:52px 0; }
  #services.services .services-container { width:calc(100% - 28px); }
  #services .services-intro { margin-bottom:24px; }
  #services .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
  #services .service-image { aspect-ratio:1.12 / 1; }
  #services .service-number { width:28px; height:28px; top:8px; right:8px; font-size:10px; }
  #services .service-content { padding:12px 11px 14px; }
  #services .service-label { font-size:7px; letter-spacing:1px; line-height:1.5; }
  #services .service-content h3 { font-size:clamp(15px,4vw,18px); line-height:1.2; margin-bottom:7px; overflow-wrap:anywhere; }
  #services .service-content p { font-size:11px; line-height:1.55; margin-bottom:12px; }
  #services .service-content a { font-size:8px; letter-spacing:.45px; gap:5px; }
}
@media (max-width:350px) {
  #services .services-grid { grid-template-columns:1fr; gap:14px; }
  #services .service-image { aspect-ratio:1.5 / 1; }
  #services .service-content { padding:16px; }
  #services .service-content h3 { font-size:19px; }
  #services .service-content p { font-size:12px; }
}
