/* Services: the full price list. Sticky category row, sticky picture column that follows the section in view, rows that book. */
:root{--navh:56px}

.page-head .lede{margin-top:24px;max-width:62ch}

/* sticky category row */
.catnav{position:sticky;top:var(--hdr);z-index:20;background:rgba(244,243,239,.96);-webkit-backdrop-filter:saturate(1.2) blur(12px);backdrop-filter:saturate(1.2) blur(12px);border-block:1px solid var(--line);transition:top .45s var(--ease-out)}
body:has(.site-header.hide:not(.mega-open)) .catnav{top:0}
.catnav-in{display:flex;align-items:stretch;gap:clamp(20px,3.2vw,44px);height:var(--navh);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.catnav-in::-webkit-scrollbar{display:none}
.catnav-in{scroll-padding-inline:max(var(--gut),env(safe-area-inset-left,0px))}
.catnav a{position:relative;display:flex;align-items:center;flex:none;white-space:nowrap;font:500 14px/1 var(--b);color:var(--mute);transition:color .25s var(--ease)}
.catnav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease-out)}
.catnav a:hover{color:var(--ink)}
.catnav a[aria-current="true"]{color:var(--ink)}
.catnav a[aria-current="true"]::after{transform:scaleX(1);transform-origin:left}
.catnav a:focus-visible{outline-offset:-4px}

/* picture column + list */
.svc{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(40px,6vw,96px);align-items:start;padding-block:clamp(40px,5vw,72px) clamp(80px,10vw,140px)}
.svc-pic{position:sticky;top:calc(var(--hdr) + var(--navh) + 24px);height:min(calc(100vh - var(--hdr) - var(--navh) - 48px),700px);height:min(calc(100svh - var(--hdr) - var(--navh) - 48px),700px);min-height:380px;overflow:hidden;background:#ece8df}
.svc-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .8s var(--ease),transform 4.5s var(--ease-out)}
.svc-pic img.is-on{opacity:1;transform:scale(1)}

.cat-sec{margin-bottom:clamp(56px,7vw,96px);scroll-margin-top:calc(var(--hdr) + var(--navh) + 20px)}
.cat-sec:last-child{margin-bottom:0}
.cat-sec h2{font:400 clamp(34px,3.4vw,48px)/1.05 var(--d);letter-spacing:-.01em;padding-top:20px;border-top:1px solid var(--ink);margin-bottom:12px}

/* price rows: same hover as the home page */
.row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:16px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .3s var(--ease-out)}
.row-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.row-t b{font-weight:500;font-size:17px;line-height:1.3}
.row-t small{color:var(--mute);font-size:14px;line-height:1.4}
.row-p{font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;transition:opacity .2s}
.row::after{content:"Book";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:12px;font-weight:600;letter-spacing:.04em;opacity:0;transition:opacity .25s}
.row:focus-visible{padding-left:10px;outline-offset:-2px}.row:focus-visible .row-p{opacity:0}.row:focus-visible::after{opacity:1}
@media (hover:hover){.row:hover{padding-left:10px}.row:hover .row-p{opacity:0}.row:hover::after{opacity:1}}

/* black band */
.cta{background:var(--night);color:var(--snow);padding-block:clamp(88px,11vw,150px)}
.cta-in{display:flex;flex-direction:column;gap:36px;align-items:flex-start}
.cta .h2{font-size:clamp(44px,5.4vw,84px);max-width:14ch}
.cta-btns{display:flex;gap:12px;flex-wrap:wrap}

@media (max-width:980px){
  :root{--navh:52px}
  .svc{grid-template-columns:1fr;padding-top:28px}
  .svc-pic{display:none}
  .cat-sec h2{padding-top:16px}
  .row{gap:16px}
}
@media (prefers-reduced-motion:reduce){
  .svc-pic img,.catnav,.row{transition:none!important}
}
@media (max-width:420px){ .catnav-in{gap:14px} }
