/* Service-first entry: shared card colours and proportional desktop columns. */
.home-page .home-entry { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); grid-template-rows:max-content 1fr; grid-template-areas:"details photo" "services photo"; align-content:start; align-items:stretch; gap:22px clamp(24px,3vw,54px); padding:clamp(24px,3vw,48px) var(--warm-gutter); background:var(--paper); }
.home-page .home-entry .home-hero { display:contents; }
.home-page .home-entry .hero-details { grid-area:details; align-self:start; }
.home-page .home-entry .hero-details > .home-eyebrow,
.home-page .home-entry .hero-details > .home-lead,
.home-page .home-entry .hero-details > .home-note { display:none; }
.home-page .home-entry .hero-details h1 { font-size:clamp(24px,2.5vw,38px); line-height:1.6; margin:0 0 18px; font-weight:650; }
.home-page .home-entry .home-search { display:flex; align-items:center; width:100%; margin:0; padding:3px 3px 3px 14px; gap:6px; border-radius:12px; box-shadow:none; }
.home-page .home-entry .home-search > span[aria-hidden] { display:none; }
.home-page .home-entry .home-search input { flex:1; width:0; min-width:0; font-size:clamp(11px,1vw,14px); }
.home-page .home-entry .home-search button { display:grid; place-items:center; flex:none; width:46px; height:46px; min-height:44px; padding:11px; border-radius:9px; }
.home-page .home-entry .search-submit-text { display:none; }
.home-page .home-entry .search-submit-icon { display:block; width:21px; height:21px; }
.home-page .home-entry .hero-service-grid { grid-area:services; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-self:start; gap:12px; width:100%; margin:0; padding:0; background:none; }
.home-page .home-entry .hero-service-link { --service-bg:#fff0ce; --service-line:#f0d99c; --service-icon:#a96d08; --service-bubble:#ffe3a0; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; min-width:0; min-height:clamp(102px,9vw,145px); padding:clamp(14px,1.7vw,24px); border:1px solid var(--service-line); border-radius:16px; color:var(--ink); background:var(--service-bg); box-shadow:none; }
.home-page .home-entry .hero-service-link--darshanam { --service-bg:#ffe3d3; --service-line:#f4c5aa; --service-icon:#b74c1d; --service-bubble:#ffd0b5; }
.home-page .home-entry .hero-service-link--seva { --service-bg:#eae3fc; --service-line:#d7caf5; --service-icon:#6843a1; --service-bubble:#dcd0f7; }
.home-page .home-entry .hero-service-link--events { --service-bg:#fbe0ed; --service-line:#efc1d6; --service-icon:#ab426e; --service-bubble:#f7c9df; }
.home-page .home-entry .hero-service-link::before,
.home-page .home-entry .hero-service-link::after,
.home-page .home-entry .hero-service-label::before { display:none; }
.home-page .home-entry .hero-service-copy { display:block; min-width:0; }
.home-page .home-entry .hero-service-label { display:block; margin:0; font-size:clamp(12px,1.2vw,18px); line-height:1.65; color:var(--ink); overflow-wrap:normal; }
.home-page .home-entry .hero-service-meta { display:block; margin-top:4px; font-size:clamp(10px,.9vw,13px); line-height:1.7; color:#625a56; }
.home-page .home-entry .hero-service-link--darshanam .hero-service-meta,
.home-page .home-entry .hero-service-link--seva .hero-service-meta { display:table; padding:1px 7px; border-radius:12px; background:var(--service-bubble); color:var(--service-icon); }
.home-page .home-entry .hero-service-icon { display:grid; place-items:center; width:clamp(36px,3.7vw,56px); height:clamp(36px,3.7vw,56px); margin:0; border-radius:50%; color:var(--service-icon); background:var(--service-bubble); }
.home-page .home-entry .hero-service-icon svg { width:65%; height:65%; }
.home-page .home-entry .hero-service-arrow { position:static; display:block; width:auto; height:auto; border:0; border-radius:0; background:none; color:var(--service-icon); font:20px/1 Arial,sans-serif; }
.home-page .home-entry .hero-art { grid-area:photo; position:relative; inset:auto; z-index:0; width:100%; height:100%; min-height:450px; max-height:640px; margin:0; border-radius:22px; overflow:hidden; aspect-ratio:auto; }
.home-page .home-entry .hero-art > img { width:100%; height:100%; margin:0; object-fit:cover; object-position:center 38%; }
.home-page .home-entry .hero-art::after { z-index:0; background:linear-gradient(transparent 55%,#18120bb0); }
.home-page .home-entry .mobile-hero-caption { display:block; position:absolute; z-index:1; left:20px; right:20px; bottom:76px; max-width:none; color:white; font-size:clamp(15px,1.6vw,23px); line-height:1.65; text-shadow:0 1px 4px #0008; }
.home-page .home-entry .hero-darshan-preview { position:absolute; z-index:2; inset:auto 20px 20px auto; display:flex; align-items:center; justify-content:center; gap:10px; width:auto; max-width:calc(100% - 40px); min-height:44px; aspect-ratio:auto; padding:8px 15px; border:1px solid #ffffffd9; border-radius:24px; background:#201a1780; color:#fff; box-shadow:none; font-size:12px; line-height:1.7; }
@media(max-width:1000px) and (min-width:801px) {
  .home-page .home-entry .hero-service-link { gap:8px; padding:12px; }
  .home-page .home-entry .hero-service-arrow { font-size:16px; }
}
@media(max-width:800px) {
  .home-page .home-entry { display:flex; flex-direction:column; gap:12px; padding:16px var(--warm-gutter) 20px; }
  .home-page .home-entry .hero-details { order:0; align-self:stretch; }
  .home-page .home-entry .hero-details h1 { font-size:clamp(20px,5.2vw,27px); line-height:1.5; margin:0 0 10px; }
  .home-page .home-entry .home-search button { width:44px; height:44px; }
  .home-page .home-entry .hero-service-grid { order:1; gap:10px; align-self:stretch; }
  .home-page .home-entry .hero-service-link { gap:8px; min-height:82px; padding:12px 10px; border-radius:14px; }
  .home-page .home-entry .hero-service-label { font-size:12px; }
  .home-page .home-entry .hero-service-meta { font-size:10px; margin-top:3px; }
  .home-page .home-entry .hero-service-icon { width:34px; height:34px; }
  .home-page .home-entry .hero-service-arrow { font-size:16px; }
  .home-page .home-entry .hero-art { order:2; min-height:0; height:clamp(190px,28svh,290px); max-height:none; margin:2px 0 0; border-radius:16px; }
  .home-page .home-entry .mobile-hero-caption { left:12px; right:12px; bottom:61px; font-size:12px; }
  .home-page .home-entry .hero-darshan-preview { right:12px; bottom:12px; max-width:calc(100% - 24px); padding:6px 12px; font-size:11px; }
}
@media(max-width:380px) {
  .home-page .home-entry .hero-service-link { grid-template-columns:28px minmax(0,1fr) 8px; gap:6px; padding:10px 8px; }
  .home-page .home-entry .hero-service-icon { width:28px; height:28px; }
  .home-page .home-entry .hero-service-label { font-size:11px; }
  .home-page .home-entry .hero-service-meta { font-size:9px; }
}

.home-page .home-entry .hero-service-link .hero-service-icon { background:var(--service-bubble); color:var(--service-icon); }
