html{-webkit-text-size-adjust:100%}
body{margin:0;background:#5B1E2D;font-family:'Manrope',system-ui,sans-serif;line-height:1.5}
a{color:#5B1E2D}
a:hover{color:#4A1724}
:focus-visible{outline:3px solid #5B1E2D;outline-offset:3px;box-shadow:0 0 0 3px #FFFFFF}
input,textarea,button{font:inherit}
[hidden]{display:none !important}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.skip{position:absolute;left:12px;top:-80px;z-index:1000;padding:10px 16px;border-radius:8px;background:#C6A15B;color:#1E1B1A;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
[tabindex="-1"]:focus{outline:none}

/* Movement. All of it is switched off for visitors who ask for reduced motion. */
@keyframes au-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes au-build{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
[data-hero]>div:first-child>*{animation:au-rise .7s cubic-bezier(.2,.7,.2,1) var(--intro,0s) both}
[data-hero]>div:first-child>*:nth-child(2){animation-delay:calc(var(--intro,0s) + .08s)}
[data-hero]>div:first-child>*:nth-child(3){animation-delay:calc(var(--intro,0s) + .16s)}
[data-hero]>div:last-child{animation:au-rise .8s cubic-bezier(.2,.7,.2,1) calc(var(--intro,0s) + .2s) both}
[data-build]>*{animation:au-build .5s cubic-bezier(.2,.7,.2,1) both}
[data-hero]>div:first-child>*:nth-child(4){animation-delay:calc(var(--intro,0s) + .24s)}
[data-hero]>div:first-child>*:nth-child(5){animation-delay:calc(var(--intro,0s) + .32s)}
[data-build]>*:nth-child(1){animation-delay:1.00s}
[data-build]>*:nth-child(2){animation-delay:1.20s}
[data-build]>*:nth-child(3){animation-delay:1.40s}
[data-build]>*:nth-child(4){animation-delay:1.60s}
[data-build]>*:nth-child(5){animation-delay:1.80s}
a[style*="border-radius: 8px"],button[style*="border-radius: 8px"]{transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}
a[style*="border-radius: 8px"]:hover,button[style*="border-radius: 8px"]:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 8px 18px rgba(28,8,14,.22)}
a[style*="border-radius: 8px"]:active,button[style*="border-radius: 8px"]:active{transform:none;box-shadow:none}
article{transition:transform .2s ease,box-shadow .2s ease}
article:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(58,16,28,.14)}
[data-offer]{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease;transform-origin:50% 60%}
[data-offer]:hover{transform:scale(1.03);box-shadow:0 22px 44px rgba(58,16,28,.2);position:relative;z-index:1}
[data-tilt]{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease;will-change:transform}
[data-tilt]:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px) scale(1.03);box-shadow:0 26px 50px rgba(0,0,0,.35)}
/* Home page opening: a square window split down the middle; its two halves open to each side (assets/intro.js turns it on). */
.intro-overlay{display:none}
.intro .intro-overlay{display:block;position:fixed;inset:0;z-index:2000;overflow:hidden;cursor:pointer;perspective:2200px;animation:fx-fade .3s ease var(--intro-out) forwards}
.intro-pane{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;background:#3A101C;backface-visibility:hidden;will-change:transform}
.intro-left{left:0;border-right:1px solid #C6A15B;transform-origin:left center;animation:fx-swing-l var(--intro-open) cubic-bezier(.7,0,.2,1) var(--intro-at) forwards}
.intro-right{right:0;border-left:1px solid #C6A15B;transform-origin:right center;animation:fx-swing-r var(--intro-open) cubic-bezier(.7,0,.2,1) var(--intro-at) forwards}
.intro-art{position:absolute;top:0;bottom:0;width:100vw;background:radial-gradient(min(60vmin,440px) min(60vmin,440px) at 50% 44%,rgba(231,213,178,.2),rgba(231,213,178,0) 70%)}
.intro-left .intro-art{left:0}.intro-right .intro-art{right:0}
.intro-art::before{content:"";position:absolute;inset:18px;border:1px solid rgba(198,161,91,.55);animation:fx-in .8s ease both}
.intro-square{position:absolute;left:50%;top:44%;width:min(54vmin,380px);aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid #C6A15B;animation:fx-square .8s cubic-bezier(.2,.7,.2,1) both}
.intro-square::before{content:"";position:absolute;inset:10px;border:1px solid rgba(198,161,91,.55)}
.intro-square::after{content:"";position:absolute;left:10px;right:10px;top:50%;border-top:1px solid rgba(198,161,91,.55)}
.intro-mark{position:absolute;left:50%;top:calc(44% + min(27vmin,190px) + 30px);transform:translateX(-50%);display:flex;align-items:baseline;gap:12px;color:#F6F1E8;white-space:nowrap;animation:fx-in .7s ease .2s both}
.intro-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.intro-studio{font-size:12px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:#E7D5B2}
.intro-skip{position:absolute;right:20px;bottom:20px;z-index:2;min-height:40px;padding:6px 14px;border:1px solid rgba(231,213,178,.5);border-radius:999px;background:transparent;color:#F1E6D6;font:inherit;font-size:14px;cursor:pointer;animation:fx-gone .25s ease var(--intro-at) forwards}
.intro-full{--intro-at:1s;--intro-open:1.25s;--intro-out:2.05s;--intro:1.55s}
.intro-short{--intro-at:.1s;--intro-open:.75s;--intro-out:.7s;--intro:.45s}
.intro-short .intro-art::before,.intro-short .intro-square,.intro-short .intro-mark{animation:none}
.intro-short .intro-skip{display:none}
.intro-done .intro-overlay{display:none}
/* the page waits slightly blurred behind the window and comes into focus as the halves open */
.intro body>:not(.intro-overlay){animation:fx-focus var(--intro-open) cubic-bezier(.4,0,.2,1) var(--intro-at) both}
.intro-done body>:not(.intro-overlay){animation:none}
@keyframes fx-focus{from{filter:blur(var(--intro-blur,9px))}to{filter:none}}
.intro-short{--intro-blur:6px}
@keyframes fx-swing-l{0%{transform:rotateY(0)}100%{transform:rotateY(88deg);box-shadow:inset -60px 0 80px rgba(28,8,14,.5)}}
@keyframes fx-swing-r{0%{transform:rotateY(0)}100%{transform:rotateY(-88deg);box-shadow:inset 60px 0 80px rgba(28,8,14,.5)}}
@keyframes fx-square{from{opacity:0;transform:translate(-50%,-50%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes fx-in{from{opacity:0}to{opacity:1}}
@keyframes fx-gone{to{opacity:0}}
@keyframes fx-fade{to{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){.intro-overlay{display:none !important}}
/* Phone menu: the main links fold behind a Menu button (only when scripts run; otherwise they wrap as before). */
.menu-btn{display:none}
@media (max-width:760px){
.js-menu{column-gap:10px !important}
.js-menu>a:first-child{font-size:18px !important}
.js-menu .menu-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 11px;border:1px solid #E7D5B2;border-radius:8px;background:transparent;color:#F6F1E8;font:inherit;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.menu-btn i{position:relative;display:block;width:18px;height:1px;background:currentColor;transition:background .2s ease}
.menu-btn i::before,.menu-btn i::after{content:"";position:absolute;left:0;width:18px;height:1px;background:currentColor;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.menu-btn i::before{top:-6px}.menu-btn i::after{top:6px}
.menu-open .menu-btn i{background:transparent}
.menu-open .menu-btn i::before{transform:translateY(6px) rotate(45deg)}
.menu-open .menu-btn i::after{transform:translateY(-6px) rotate(-45deg)}
.js-menu nav[aria-label="Main"]{display:none !important}
.js-menu.menu-open nav[aria-label="Main"]{display:flex !important;flex-direction:column;align-items:stretch !important;gap:0 !important;width:100%;padding:8px 0 16px;border-top:1px solid #C6A15B;animation:menu-in .35s cubic-bezier(.2,.7,.2,1) both}
.js-menu.menu-open nav[aria-label="Main"] a{padding:14px 2px !important;border-bottom:1px solid rgba(231,213,178,.25);font-size:20px !important}
.js-menu.menu-open nav[aria-label="Main"] a:last-child,.js-menu.menu-open nav[aria-label="Main"] a:nth-last-child(2){margin-top:12px;border:1px solid #E7D5B2;border-radius:8px;text-align:center}
.js-menu.menu-open nav[aria-label="Main"] a:last-child{border-color:#C6A15B}
}
@keyframes menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.rv{opacity:0;transform:translateY(22px)}
.rv.rv-in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important}.rv{opacity:1 !important;transform:none !important}[data-offer]:hover{transform:none}[data-tilt],[data-tilt]:hover{transform:none}}
