/* Shared layout for individual photography services. */
body.service-page{height:auto;min-height:100%;}
body[data-page="services"] .service-detail{max-width:1280px;}
.detail-back{display:inline-block;color:var(--muted);font-size:16.25px;text-decoration:none;margin:8px 0 20px;}
.detail-back:hover{color:var(--accent);}
.detail-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);align-items:center;gap:clamp(28px,4vw,56px);}
.detail-hero h1{font-size:clamp(55px,6.875vw,95px);font-weight:700;line-height:1.06;letter-spacing:-2px;margin:0 0 24px;}
.detail-hero h1 span{color:var(--accent);}
.detail-hero__copy>p{max-width:510px;color:var(--muted);line-height:1.8;}
.detail-hero__copy .detail-lead{font-size:25px;color:var(--fg);line-height:1.5;}

.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px;}
.detail-link{color:var(--accent);font-size:17.5px;font-weight:600;text-decoration:none;border-bottom:1px solid #b8a8bd;padding-bottom:5px;}
.detail-work{margin-top:40px;scroll-margin-top:24px;}
.detail-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px;}
.detail-heading>p{margin:0;}
.service-detail h2{font-size:clamp(35px,3.75vw,52.5px);font-weight:650;line-height:1.15;letter-spacing:-1px;margin:0;}
.detail-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.detail-gallery a{display:block;border-radius:10px;overflow:hidden;cursor:zoom-in;background:#eee7f1;}
.detail-gallery img{display:block;width:100%;height:auto;aspect-ratio:3 / 4;object-fit:cover;object-position:center 30%;transition:transform .25s ease;}
.detail-gallery a:hover img{transform:scale(1.025);}
.detail-enquiry{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:72px;padding:clamp(24px,4vw,48px);background:#eee7f1;color:#faf7f2;border-radius:12px;}
.detail-enquiry p{color:#6b6570;line-height:1.75;margin:16px 0 0;max-width:540px;}
body[data-page="services"] .detail-enquiry .btn{background:#eaded2;color:#eee7f1;flex-shrink:0;}
body[data-page="services"] .detail-enquiry .btn:hover{background:#faf7f2;}
.detail-footer{box-sizing:border-box;max-width:1280px;margin:auto;padding:24px clamp(16px,4vw,80px) 28px;border-top:1px solid #e2d9dd;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:16.25px;}
.detail-footer a{color:var(--fg);text-decoration:none;}
.detail-lightbox{border:0;padding:0;background:transparent;max-width:94vw;max-height:94vh;overflow:visible;}
.detail-lightbox::backdrop{background:rgba(15,25,20,.92);}
.detail-lightbox img{display:block;max-width:90vw;max-height:84vh;width:auto;height:auto;border-radius:8px;}
.detail-lightbox__close{position:absolute;right:0;top:0;width:44px;height:44px;border:0;border-radius:0 8px 0 8px;background:#faf7f2;color:#302e36;font-size:25px;cursor:pointer;}
@media(max-width:760px){
  .detail-hero{grid-template-columns:1fr;gap:28px;}

  .detail-hero h1{font-size:clamp(55px,11.25vw,80px);}
  .detail-work{margin-top:32px;}
  .detail-enquiry{margin-top:48px;}
  .detail-heading{align-items:start;flex-direction:column;gap:16px;}
  .detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .detail-enquiry{flex-direction:column;align-items:start;}
}
@media(prefers-reduced-motion:reduce){.detail-gallery img{transition:none;}}

.detail-pricing{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);margin-top:36px;padding:clamp(24px,4vw,44px);background:#f1e9e2;border:1px solid #e2d9dd;border-radius:12px;scroll-margin-top:24px;}
.detail-pricing h2 span{display:block;color:var(--accent);margin-top:12px;font-size:clamp(50px,5vw,70px);}
.detail-pricing__intro .detail-link{display:inline-block;margin-top:20px;}
.detail-pricing__inclusions{align-self:center;}
.detail-pricing ul{padding-left:22px;margin:0;line-height:1.75;}
.detail-pricing li{padding-left:6px;margin-bottom:10px;}
.detail-pricing li::marker{color:var(--accent);}
.detail-pricing__inclusions>p{border-top:1px solid #e2d9dd;padding-top:18px;margin:20px 0 0;font-size:17.5px;line-height:1.8;color:var(--muted);}
.detail-pricing strong{color:var(--fg);}
@media(max-width:760px){.detail-pricing{grid-template-columns:1fr;margin-top:32px;}}

.detail-session{margin-top:36px;padding:0 clamp(24px,4vw,44px);}
.service-detail .detail-session h2{font-size:27.5px;letter-spacing:-.3px;}
.detail-session ul{margin:16px 0 0;padding-left:22px;color:var(--muted);line-height:1.8;}
.detail-session li{padding-left:6px;margin:6px 0;}
.detail-session li::marker{color:var(--accent);}
.detail-enquiry{background:transparent;color:var(--fg);border-top:1px solid #e2d9dd;border-radius:0;padding:28px 0 0;margin-top:48px;}
.service-detail .detail-enquiry h2{font-size:35px;}
body[data-page="services"] .detail-enquiry .btn{background:var(--accent);color:#faf7f2;}
body[data-page="services"] .detail-enquiry .btn:hover{background:#514158;}

.detail-hero__portraits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:center;}
.detail-hero__portraits img{display:block;width:100%;height:auto;aspect-ratio:3 / 4;object-fit:cover;object-position:center 35%;border-radius:10px;}
@media(max-width:760px){.detail-hero__portraits{gap:8px;}}
