
footer::before{inset:-124px -145px;pointer-events:none;animation:footer-weave 32s linear infinite;will-change:transform}
footer>*{position:relative;z-index:1}
@keyframes footer-weave{to{transform:translate3d(145px,124px,0)}}
.motion-reveal{animation:soft-arrival .85s cubic-bezier(.2,.65,.25,1) both;animation-delay:var(--arrival-delay,0ms)}
@keyframes soft-arrival{from{opacity:.15;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.page .rule{transform-origin:left;animation:line-arrival 1.1s ease-out both}
[dir=rtl] .page .rule{transform-origin:right}
@keyframes line-arrival{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.guidance-grid article{position:relative;transition:background .3s,box-shadow .3s,transform .3s;border-radius:2px}
.guidance-grid article::after{content:"";position:absolute;inset:-1px 0 auto;height:2px;background:#967449;transform:scaleX(0);transform-origin:left;transition:transform .4s}
[dir=rtl] .guidance-grid article::after{transform-origin:right}
.guidance-grid article:hover::after{transform:scaleX(1)}
.booking-placeholder{position:relative;overflow:hidden;transition:box-shadow .35s,border-color .35s}
.booking-placeholder::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at var(--pointer-x,70%) var(--pointer-y,20%),#fff9,transparent 65%);opacity:.45}
.booking-placeholder>*{position:relative}
.booking-placeholder:focus-within{border-color:#8a6b43;box-shadow:0 12px 38px #3a281512}
.btn,.cta,.social-links a,.text-link{transition:transform .25s,box-shadow .25s,background-color .25s,color .25s}
.btn:focus-visible,.cta:focus-visible,.social-links a:focus-visible{outline:2px solid #b08b58;outline-offset:5px}
.field input,.field select,.field textarea{transition:border-color .25s,box-shadow .25s}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 3px 0 #b08b5855}
@media(hover:hover) and (pointer:fine){
.guidance-grid article:hover{transform:translateY(-5px);background:#b89b6b0c;box-shadow:0 16px 30px -24px #60442255}
.booking-placeholder:hover{border-color:#8a6b43;box-shadow:0 16px 45px #3a281518}
.btn:hover,.cta:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0002}
.social-links a:hover{transform:translateY(-5px) rotate(-5deg)}
.text-link:hover{transform:translateX(4px)}
[dir=rtl] .text-link:hover{transform:translateX(-4px)}
}
body.motion-paused footer::before{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){footer::before,.motion-reveal,.page .rule{animation:none!important;will-change:auto}.guidance-grid article,.btn,.cta,.social-links a,.text-link{transform:none!important;transition:none!important}}


.page,.values,.form-copy,.service-editorial,.craft,.strip{position:relative;isolation:isolate;overflow:hidden}
.page::before,.values::before,.form-copy::before,.service-editorial::before,.craft::before,.strip::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url("logo-white.svg") center/145px 124px repeat;opacity:.045;mask-image:linear-gradient(110deg,transparent 5%,#000 65%);-webkit-mask-image:linear-gradient(110deg,transparent 5%,#000 65%)}
.form-copy::before,.service-editorial::before{opacity:.055}
[dir=rtl] .page::before,[dir=rtl] .form-copy::before{mask-image:linear-gradient(250deg,transparent 5%,#000 65%);-webkit-mask-image:linear-gradient(250deg,transparent 5%,#000 65%)}
@media(max-width:650px){.page::before,.values::before,.form-copy::before,.service-editorial::before,.craft::before,.strip::before{background-size:110px 94px;opacity:.035}}


footer::before{animation-duration:20s}
.page::before,.values::before,.form-copy::before,.service-editorial::before,.craft::before,.strip::before{animation:section-weave 20s linear infinite}
@keyframes section-weave{from{background-position:0 0}to{background-position:145px 124px}}
@media(max-width:650px){.page::before,.values::before,.form-copy::before,.service-editorial::before,.craft::before,.strip::before{animation-name:section-weave-mobile}}
@keyframes section-weave-mobile{from{background-position:0 0}to{background-position:110px 94px}}
@media(prefers-reduced-motion:reduce){footer::before,.page::before,.values::before,.form-copy::before,.service-editorial::before,.craft::before,.strip::before{animation:none!important}}


.individual-texture::before{display:none!important;animation:none!important}
.monogram-texture{position:absolute;inset:0;z-index:-1;display:grid;overflow:hidden;pointer-events:none;opacity:.055;mask-image:linear-gradient(110deg,transparent,#000 65%);-webkit-mask-image:linear-gradient(110deg,transparent,#000 65%)}
footer>.monogram-texture{position:absolute;z-index:0;opacity:.075;mask-image:none;-webkit-mask-image:none}
.monogram-texture>span{display:block;align-self:center;justify-self:center;width:76%;aspect-ratio:264/226;background:url('logo-white.svg') center/contain no-repeat;animation:monogram-spin 24s linear infinite;animation-delay:var(--spin-delay);animation-direction:var(--spin-direction);animation-play-state:paused}
.texture-visible>.monogram-texture>span{animation-play-state:running}
@keyframes monogram-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
[dir=rtl] .monogram-texture{mask-image:linear-gradient(250deg,transparent,#000 65%);-webkit-mask-image:linear-gradient(250deg,transparent,#000 65%)}
@media(prefers-reduced-motion:reduce){.monogram-texture>span{animation:none!important}}


footer::before{animation-duration:40s}


.editorial .service-list>a{position:relative;transition:background-color .28s,color .28s,box-shadow .28s,padding .28s}
.editorial .service-list>a:focus-visible{outline:2px solid #f5f0e6;outline-offset:5px;background:#f5f0e6;color:#24251f;box-shadow:0 0 30px #f5f0e62b}
.editorial .service-list>a:focus-visible h3,.editorial .service-list>a:focus-visible p,.editorial .service-list>a:focus-visible .service-number{color:#37392e}
@media(hover:hover){
.editorial .service-list>a:hover{background:#f5f0e6;color:#24251f;box-shadow:0 0 30px #f5f0e62b}
.editorial .service-list>a:hover h3,.editorial .service-list>a:hover p,.editorial .service-list>a:hover .service-number{color:#37392e}
}
