:root{--beige:#efe3d2;--cream:#fdf8f3;--rose:#d9a7a4;--rose-soft:#f3dbd7;--rose-deep:#a75d68;--rose-wine:#8f4a55;--rose-ink:#7c3e48;--gold:#b48b3f;--gold-light:#e6c887;--gold-deep:#8a6524;--ink:#3b2c25;--muted:#7d6a5c;--muted-deep:#5f4c40}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;background:radial-gradient(90% 60% at 50% -10%,#fff7f4 0%,#fff7f400 62%),radial-gradient(78% 58% at 100% 100%,#d9a7a485 0%,#d9a7a400 72%),radial-gradient(70% 50% at 0 88%,#a75d6838 0%,#a75d6800 70%),linear-gradient(165deg,#fbeae6 0%,#f3dbd7 45%,#e9d3c6 100%);flex-direction:column;align-items:center;padding:3rem 1.5rem 2rem;font-family:Jost,system-ui,sans-serif;font-weight:300;display:flex}body:before{content:"";pointer-events:none;opacity:.2;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E");position:fixed;inset:0}.card{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:27rem;margin-top:auto;padding:1.5rem 1.5rem .5rem;animation:1.2s cubic-bezier(.2,.7,.2,1) both rise;display:flex}.brand{justify-content:center;width:100%;margin:0;display:flex}.brand-logo{width:min(100%,21rem);height:auto;display:block}.slogan{width:100%;color:var(--rose-deep);align-items:center;gap:1rem;margin:2rem 0 2.9rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;font-style:italic;display:flex}.slogan:before,.slogan:after{content:"";background:linear-gradient(90deg,#a75d6800,#a75d6880);flex:1;height:1px}.slogan:after{transform:scaleX(-1)}.links{flex-direction:column;gap:.9rem;width:100%;display:flex}.btn{color:var(--rose-wine);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:linear-gradient(#ffffffa3,#fff3);border:1px solid #a75d6857;border-radius:999px;justify-content:center;align-items:center;gap:.85rem;padding:1.05rem 1.5rem;font-family:inherit;font-size:.78rem;text-decoration:none;transition:background .4s,color .4s,border-color .4s,transform .4s,box-shadow .4s;display:flex}.btn:hover,.btn:focus-visible{border-color:var(--rose-deep);color:var(--rose-deep);background:linear-gradient(#d9a7a457,#ffffff3d);transform:translateY(-2px);box-shadow:0 14px 34px -18px #a75d688c}.btn:focus-visible{outline:2px solid var(--rose-deep);outline-offset:3px}.logo{opacity:.82;flex:none;transition:opacity .4s}.btn:hover .logo,.btn:focus-visible .logo{opacity:1}.btn-primary{color:#fff8f6;background:linear-gradient(135deg,#b06a75 0%,#8f4a55 55%,#7a3b46 100%);border-color:#0000;font-weight:400;box-shadow:0 18px 36px -20px #8f4a55cc,inset 0 1px #ffffff47}.btn-primary:hover,.btn-primary:focus-visible{color:#fff8f6;background:linear-gradient(135deg,#c07a84 0%,#9a5460 55%,#874350 100%)}footer{text-align:center;color:var(--ink);letter-spacing:.12em;margin-top:3rem;margin-bottom:auto;font-size:.82rem}address{color:var(--ink);margin-bottom:.55rem;font-style:normal}.map-link{color:var(--ink);border-bottom:1px solid #a75d684d;align-items:center;gap:.5rem;padding-bottom:2px;text-decoration:none;transition:color .4s,border-color .4s;display:inline-flex}.map-link:hover,.map-link:focus-visible{color:var(--rose-deep);border-color:var(--rose-deep)}.map-link:focus-visible{outline:2px solid var(--rose-deep);outline-offset:3px}.pin{flex:none}.copy{margin-top:1.5rem;display:block}small{color:var(--muted-deep);font-size:.72rem}.vat{letter-spacing:.16em;color:var(--muted-deep);opacity:.9;margin-top:.4rem;font-size:.66rem;display:block}.modal{z-index:30;opacity:0;visibility:hidden;justify-content:center;align-items:center;padding:1.5rem;transition:opacity .35s,visibility .35s;display:flex;position:fixed;inset:0}.modal:target,.modal.open{opacity:1;visibility:visible}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#3b2c2573;position:absolute;inset:0}.modal-panel{text-align:center;background:linear-gradient(#fff8f3f0,#f3dbd7e0);border-radius:1.6rem;flex-direction:column;align-items:center;gap:1.15rem;width:100%;max-width:22rem;padding:2.1rem 1.75rem;display:flex;position:relative;box-shadow:0 34px 80px -34px #3b2c258c,inset 0 1px #ffffff8c}.modal-panel>p{color:var(--rose-ink);font-family:Cormorant Garamond,Georgia,serif;font-size:1.18rem;line-height:1.55}.access{letter-spacing:.16em;color:var(--muted-deep);margin-top:.85rem;font-size:.7rem}.privacy-link{letter-spacing:.16em;color:var(--muted-deep);border-bottom:1px solid #5f4c4047;margin-top:.4rem;padding-bottom:1px;font-size:.66rem;text-decoration:none;transition:color .4s,border-color .4s;display:inline-block}.privacy-link:hover,.privacy-link:focus-visible{color:var(--rose-wine);border-color:#a75d688c}.modal-panel.wide{max-width:30rem}.policy{text-align:left;letter-spacing:.02em;max-height:58vh;color:var(--ink);font-size:.84rem;line-height:1.65;overflow:auto}.policy h2{text-align:center;color:var(--rose-wine);margin-bottom:.8rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.6rem;font-weight:400}.policy p+p{margin-top:.7rem}.policy a{color:var(--rose-wine);border-bottom:1px solid #a75d6866;padding-bottom:1px;text-decoration:none;transition:color .4s,border-color .4s}.policy a:hover,.policy a:focus-visible{color:var(--rose-deep);border-color:var(--rose-deep)}.modal-panel.booking{gap:.85rem;max-width:34rem;height:min(88vh,52rem);padding:1.4rem 1.1rem 1.2rem}.booking-title{color:var(--rose-wine);font-family:Cormorant Garamond,Georgia,serif;font-size:1.6rem;font-weight:400;line-height:1}.booking-frame{background:#fff;border:0;border-radius:1rem;flex:1;width:100%;min-height:0}.booking-help{letter-spacing:.06em;color:var(--muted-deep);font-size:.74rem}.booking-help a{color:var(--rose-wine);border-bottom:1px solid #a75d6866;text-decoration:none}.booking-help a:hover,.booking-help a:focus-visible{color:var(--rose-deep);border-color:var(--rose-deep)}.about-photo{aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 1.2rem 1.2rem;width:min(15rem,70%);box-shadow:0 24px 50px -28px #8f4a55b3}.about .policy{max-height:30vh}.about .greeting{text-align:center;color:var(--rose-wine);font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;font-style:italic;line-height:1.4}.about .sign{text-align:right;color:var(--rose-wine);margin-top:.9rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.05rem;font-style:italic;line-height:1.45}@media (width<=30rem){.modal{padding:.6rem}.modal-panel.booking{height:94vh;padding:1rem .7rem}.modal-panel.about{max-height:94vh;overflow:auto}.about .policy{max-height:none;overflow:visible}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
