/* Slide-in menu panel (Services on desktop, full menu behind the burger on phones),
   ported from the Say Notary navigation. Injected by panel.js. */
.svc-wrap{--cream:#F4ECE6;--rose:#FF4F93;--violet:#B14CFF;--ink:#2A0F1C;position:fixed;inset:0;z-index:180;visibility:hidden}
.svc-wrap a{text-decoration:none;color:inherit}
.svc-wrap.on{visibility:visible}
.svc-wrap .svc-panel{position:absolute;top:0;right:0;height:100%;width:min(600px,94vw);overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:5rem 3.4rem}
.svc-wrap .svc-overlay{position:absolute;inset:0;background:rgba(8,3,6,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .5s}
.svc-wrap.on .svc-overlay{opacity:1}
/* colour layers sweep in from the right, then leave in reverse order */
.svc-wrap .svc-layer{position:absolute;inset:0;transform:translateX(101%);transition:transform .32s cubic-bezier(.65,.01,.05,.99)}
.svc-wrap .svc-layer.l1{background:linear-gradient(140deg,#FF4F93,#FF2E88);transition-delay:.10s}
.svc-wrap .svc-layer.l2{background:linear-gradient(140deg,#B14CFF,#7B3FD1);transition-delay:.05s}
.svc-wrap .svc-layer.l3{background:#160910;transition-delay:0s}
.svc-wrap.on .svc-layer{transform:translateX(0)}
.svc-wrap.on .svc-layer.l1{transition-delay:0s}
.svc-wrap.on .svc-layer.l2{transition-delay:.05s}
.svc-wrap.on .svc-layer.l3{transition-delay:.10s}
/* ambient shapes that pop in behind the hovered link */
.svc-wrap .svc-shapes,.svc-wrap .mainshapes{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.svc-wrap .mainshapes{display:none}
.svc-wrap.mode-main .mainshapes{display:block}
.svc-wrap.mode-main .svc-shapes{display:none}
.svc-wrap .bg-shape{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .45s}
.svc-wrap .bg-shape.active{opacity:1}
.svc-wrap .shape-el{opacity:0;transform-box:fill-box;transform-origin:center}
.svc-wrap .bg-shape.active .shape-el{animation:svcPopIn .6s cubic-bezier(.34,1.56,.64,1) forwards}
.svc-wrap .bg-shape.active .shape-el:nth-child(2){animation-delay:.07s}
.svc-wrap .bg-shape.active .shape-el:nth-child(3){animation-delay:.14s}
.svc-wrap .bg-shape.active .shape-el:nth-child(4){animation-delay:.21s}
.svc-wrap .bg-shape.active .shape-el:nth-child(5){animation-delay:.28s}
.svc-wrap .bg-shape.active .shape-el:nth-child(6){animation-delay:.35s}
@keyframes svcPopIn{from{opacity:0;transform:scale(.5) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.svc-wrap .svc-inner{position:relative;z-index:2}
.svc-wrap .svc-kick{font-family:'Space Grotesk',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.24em;font-size:.68rem;color:rgba(244,236,230,.5);margin-bottom:1.8rem;opacity:0;transition:opacity .5s .4s}
.svc-wrap.on .svc-kick{opacity:1}
.svc-wrap .svc-list{list-style:none;margin:0;padding:0}
.svc-wrap .svc-list[hidden]{display:none}
.svc-wrap .svc-list li{overflow:hidden;position:relative}
/* each row rises into place; on hover a colour bar climbs behind it and the word flips */
.svc-wrap .svc-link{position:relative;display:block;padding:.55rem 3.4rem;margin:0 -3.4rem;border-radius:0;overflow:hidden;transform:translateY(140%) rotate(8deg);transition:transform .62s cubic-bezier(.65,.01,.05,.99)}
.svc-wrap.on .svc-link{transform:translateY(0) rotate(0)}
.svc-wrap .svc-list li:nth-child(1) .svc-link{transition-delay:.32s}
.svc-wrap .svc-list li:nth-child(2) .svc-link{transition-delay:.37s}
.svc-wrap .svc-list li:nth-child(3) .svc-link{transition-delay:.42s}
.svc-wrap .svc-list li:nth-child(4) .svc-link{transition-delay:.47s}
.svc-wrap .svc-list li:nth-child(5) .svc-link{transition-delay:.52s}
.svc-wrap .svc-list li:nth-child(6) .svc-link{transition-delay:.57s}
.svc-wrap .svc-list li:nth-child(7) .svc-link{transition-delay:.62s}
.svc-wrap .svc-list.sub .svc-link{transition-delay:0s!important}
.svc-wrap .svc-link .hover-bg{position:absolute;inset:0;border-radius:0;background:var(--hb,rgba(255,79,147,.9));transform:translateY(101%);transition:transform .42s cubic-bezier(.65,.01,.05,.99);z-index:0}
.svc-wrap .svc-link:hover .hover-bg{transform:translateY(0)}
.svc-wrap .svc-link .txtmask{position:relative;z-index:1;display:block;overflow:hidden}
.svc-wrap .svc-link .txt{display:block;font-family:'Instrument Serif',Georgia,serif;font-size:clamp(1.6rem,3.2vw,2.35rem);line-height:1.3;color:var(--cream);transition:transform .48s cubic-bezier(.65,.01,.05,.99),color .35s}
.svc-wrap .svc-link:hover .txt{animation:svcSlideUpWord .55s cubic-bezier(.65,.01,.05,.99) forwards}
@keyframes svcSlideUpWord{0%{transform:translateY(0)}45%{transform:translateY(-105%)}46%{transform:translateY(105%)}100%{transform:translateY(0)}}
.svc-wrap .svc-link.on-light:hover .txt{color:#160910}
.svc-wrap .svc-close{position:absolute;top:2rem;right:2.4rem;z-index:3;width:44px;height:44px;border:0;background:none;cursor:pointer;color:var(--cream);font-size:1.7rem;line-height:1;opacity:0;transition:opacity .4s .35s,transform .35s,color .3s}
.svc-wrap.on .svc-close{opacity:1}
.svc-wrap .svc-close:hover{transform:rotate(90deg);color:var(--rose)}
.svc-wrap .svc-back{margin-top:1.8rem;background:none;border:1px solid rgba(244,236,230,.3);color:rgba(244,236,230,.75);font-family:'Space Grotesk',system-ui,sans-serif;font-weight:600;font-size:.85rem;padding:.55rem 1.3rem;border-radius:999px;cursor:pointer;transition:.25s}
.svc-wrap .svc-back[hidden]{display:none}
.svc-wrap .svc-back:hover{background:rgba(255,255,255,.08);color:#fff}
/* main-menu mode (behind the burger): inverted, cream palette */
.svc-wrap.mode-main .svc-layer.l1{background:linear-gradient(140deg,#C9A96E,#E7C9A3)}
.svc-wrap.mode-main .svc-layer.l2{background:linear-gradient(140deg,#FFD9E6,#F7E3D4)}
.svc-wrap.mode-main .svc-layer.l3{background:#F6F0E9}
.svc-wrap.mode-main .svc-kick{color:rgba(42,15,28,.55)}
.svc-wrap.mode-main .svc-close{color:#2A0F1C}
.svc-wrap.mode-main .svc-close:hover{color:#FF4F93}
.svc-wrap.mode-main .svc-link .txt{color:#2A0F1C}
.svc-wrap.mode-main .svc-link:hover .txt{color:#F6F0E9}
.svc-wrap.mode-main .svc-back{border-color:rgba(42,15,28,.3);color:rgba(42,15,28,.7)}
.svc-wrap.mode-main .svc-back:hover{background:rgba(42,15,28,.07);color:#2A0F1C}
.svc-wrap :focus-visible{outline:2px solid var(--rose);outline-offset:4px}
@media(max-width:960px){.svc-wrap .svc-panel{width:100%}}
@media(min-width:961px){.svc-wrap .svc-back{display:none!important}}
@media(max-width:600px){.svc-wrap .svc-panel{padding:5rem 1.6rem}.svc-wrap .svc-link{padding:.55rem 1.6rem;margin:0 -1.6rem}}
@media(prefers-reduced-motion:reduce){.svc-wrap .svc-layer,.svc-wrap .svc-link,.svc-wrap .svc-overlay,.svc-wrap .svc-kick,.svc-wrap .svc-close{transition-duration:.01s;transition-delay:0s}.svc-wrap .svc-link:hover .txt,.svc-wrap .bg-shape.active .shape-el{animation:none}.svc-wrap .shape-el{opacity:1}}
