/* Reference-led service cards, scoped exclusively to the homepage section. */
#home-services { position: relative; isolation: isolate; overflow: hidden; padding: 50px 0 36px; background: radial-gradient(ellipse at 50% 8%,#fffdfa,#faf7ef 80%); }
#home-services::before, #home-services::after { content: ''; position: absolute; z-index: -1; pointer-events: none; width: 260px; height: 460px; background: url('../images/services/botanical.svg') no-repeat center/contain; opacity: .32; }
#home-services::before { left: -70px; top: -35px; transform: rotate(4deg); }
#home-services::after { right: -45px; top: 112px; transform: scaleX(-1) rotate(8deg); }
#home-services > .hp-container { width: min(1140px,calc(100% - 80px)); position: relative; }
.hp-services-sweep { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; fill: none; stroke: #c39a56; stroke-width: 1.4; opacity: .75; pointer-events: none; }
#home-services .hp-services-heading { text-align: center; margin: 0 auto 27px; }
#home-services .hp-services-kicker { display: flex; align-items: center; justify-content: center; gap: 20px; color: #b18b50; font: 400 11px/1.5 'Inter',Arial,sans-serif; text-transform: uppercase; letter-spacing: .26em; text-align: center; margin: 0 0 17px; }
.hp-services-kicker::before, .hp-services-kicker::after { content: ''; width: 63px; height: 1px; background: linear-gradient(90deg,transparent,#bc9759); }
.hp-services-kicker::after { transform: rotate(180deg); }
#home-services h2 { font: 400 clamp(34px,3.3vw,52px)/1.08 'PP Editorial New',Georgia,serif; color: #142e25; letter-spacing: -.02em; text-align: center; }
#home-services h2 em { color: #b08d55; font-weight: 400; }
.hp-services-ornament { display: flex; align-items: center; justify-content: center; gap: 15px; margin-top: 17px; }
.hp-services-ornament span { width: 94px; height: 1px; background: linear-gradient(90deg,transparent,#c19b5c); }
.hp-services-ornament span:last-child { transform: rotate(180deg); }
.hp-services-ornament svg { fill: #b59358; width: 24px; height: 23px; }
.hp-services-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: 1fr; gap: 21px; }
#home-services .hp-service-card { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; align-items: center; border: 1px solid #c6a065; border-radius: 18px; padding: 23px 23px 25px; background: linear-gradient(145deg,#fffdf9b8,#fbf8f1ad); box-shadow: 0 0 0 3px #fff9,0 9px 20px #9971340d; text-align: center; }
.hp-service-card::after { content: ''; position: absolute; z-index: -1; right: 0; bottom: 0; width: 66%; height: 85px; background: url('../images/services/book-pages.svg') no-repeat right bottom/contain; opacity: .13; pointer-events: none; }
.hp-service-card:last-child::after { opacity: .1; }
.hp-service-card__icon { display: grid; place-items: center; flex-shrink: 0; width: 76px; height: 76px; border: 1px solid #c69d58; border-radius: 50%; background: linear-gradient(145deg,#fffdf7,#f0e9db); box-shadow: 0 0 0 3px #fff9,0 6px 10px #93753f0d; margin-bottom: 14px; }
.hp-service-card__icon img { display: block; width: 66%; height: 66%; object-fit: contain; }
#home-services .hp-service-card h3 { color: #18392a; font: 400 25px/1.2 'PP Editorial New',Georgia,serif; letter-spacing: -.025em; margin: 0; text-align: center; }
.hp-service-card__rule { display: block; width: 43px; height: 1px; background: #b18b50; margin: 12px 0; }
#home-services .hp-service-card > p { flex: 1; color: #62615d; font: 400 16px/1.45 Georgia,serif; text-align: center; max-width: 290px; margin: 0 0 18px; }
#home-services .hp-service-card > a { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; gap: 18px; padding: 10px 22px; min-height: 42px; border: 1px solid #b88b3e; border-radius: 99px; color: #18392a; background: #fffdf780; text-decoration: none; font: 400 16px/1.2 Georgia,serif; box-shadow: inset 0 0 0 2px #fff7; transition: background .2s,transform .2s; }
.hp-service-card > a svg { width: 18px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.4; }
#home-services .hp-service-card > a:hover { background: #365642; color: #fff; transform: translateY(-2px); }
#home-services .hp-services-more { margin: 24px 0 0; text-align: center; font-size: 12px; }
.hp-services-more a { color: #7e704f; font: 400 12px/1.5 'Inter',Arial,sans-serif; text-decoration: none; border-bottom: 1px solid #c6ae8260; padding-bottom: 4px; }
.hp-services-more a > span { margin-left: 11px; }
@media (max-width: 1100px) {
  #home-services > .hp-container { width: calc(100% - 64px); }
  .hp-services-cards { gap: 19px; }
  #home-services .hp-service-card { padding: 23px 18px; }
  #home-services .hp-service-card h3 { font-size: 23px; }
  #home-services .hp-service-card > p { font-size: 15px; }
}
@media (max-width: 900px) {
  #home-services > .hp-container { max-width: 700px; }
  .hp-services-cards { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 21px; }
  #home-services h2 { font-size: 40px; }
}
@media (max-width: 600px) {
  #home-services { padding: 38px 0 30px; }
  #home-services > .hp-container { width: calc(100% - 46px); max-width: 370px; }
  #home-services::before { width: 150px; opacity: .16; left: -65px; }
  #home-services::after { width: 160px; opacity: .13; right: -65px; }
  #home-services .hp-services-kicker { font-size: 9px; letter-spacing: .2em; gap: 13px; margin-bottom: 17px; }
  .hp-services-kicker::before, .hp-services-kicker::after { width: 30px; }
  #home-services h2 { font-size: clamp(29px,8vw,35px); line-height: 1.14; }
  .hp-services-ornament { margin-top: 17px; }
  .hp-services-ornament span { width: 62px; }
  .hp-services-cards { grid-template-columns: 1fr; gap: 20px; }
  #home-services .hp-service-card { padding: 23px 25px; border-radius: 17px; }
  .hp-service-card__icon { width: 70px; height: 70px; margin-bottom: 13px; }
  #home-services .hp-service-card h3 { font-size: 24px; }
  #home-services .hp-service-card > p { font-size: 16px; }
  #home-services .hp-service-card > a { min-height: 44px; }
}
@media (max-width: 359px) { #home-services > .hp-container { width: calc(100% - 36px); } }
@media (prefers-reduced-motion: reduce) { #home-services .hp-service-card > a { transition: none; } }
