:root{--color-primary: #F5F5F3;--color-secondary: #4A4A4A;--color-accent: #9A8C73;--color-surface: #E8E8E6;--color-white: #FFFFFF;--font-serif: "Cormorant Garamond", serif;--font-sans: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, Roboto, sans-serif;--section-padding: 8rem 2rem;--container-max-width: 1200px;--transition-smooth: all .5s cubic-bezier(.23, 1, .32, 1)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{background-color:var(--color-primary);color:var(--color-secondary);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:500;line-height:1.2}a{text-decoration:none;color:inherit;transition:var(--transition-smooth)}button{cursor:pointer;border:none;background:none;font-family:inherit;transition:var(--transition-smooth)}ul{list-style:none}img{max-width:100%;display:block}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 2rem}.section{padding:var(--section-padding)}.text-center{text-align:center}.fade-in{opacity:0;transform:translateY(20px);animation:fadeIn .8s ease-out forwards}@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}.glass{background:#f5f5f3cc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.nav{position:fixed;top:0;left:0;width:100%;padding:2rem 0;z-index:1000;transition:var(--transition-smooth)}.nav--scrolled{padding:1rem 0}.nav__container{max-width:var(--container-max-width);margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.nav__logo{font-family:var(--font-serif);font-size:1.5rem;letter-spacing:.2rem;font-weight:500}.nav__links{display:flex;gap:3rem;align-items:center}.nav__links a{font-family:var(--font-sans);font-size:.9rem;text-transform:uppercase;letter-spacing:.1rem;opacity:.8}.nav__links a:hover{opacity:1;color:var(--color-accent)}.nav__booking{padding:.6rem 1.5rem;border:1px solid var(--color-secondary);border-radius:0}.nav__booking:hover{background-color:var(--color-secondary);color:var(--color-primary)!important}@media(max-width:768px){.nav__links{display:none}}.hero{position:relative;height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background-color:#2c2c2c;background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden}.hero__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,transparent 0%,rgba(0,0,0,.3) 100%);pointer-events:none}.hero__content{text-align:center;z-index:10;color:var(--color-primary)}.hero__title{font-size:clamp(3rem,10vw,6rem);margin-bottom:1.5rem;letter-spacing:-.02em}.hero__subtitle{font-size:1.25rem;letter-spacing:.3rem;text-transform:uppercase;margin-bottom:3rem;font-weight:300;opacity:.9}.btn{display:inline-block;padding:1rem 2.5rem;border:1px solid var(--color-primary);color:var(--color-primary);text-transform:uppercase;letter-spacing:.1rem;font-size:.9rem}.btn:hover{background-color:var(--color-primary);color:var(--color-secondary)}.hero__scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--color-primary);font-size:.7rem;text-transform:uppercase;letter-spacing:.2rem;opacity:.6}.mouse{width:20px;height:35px;border:1px solid var(--color-primary);border-radius:20px;position:relative}.mouse:before{content:"";position:absolute;top:5px;left:50%;transform:translate(-50%);width:2px;height:6px;background-color:var(--color-primary);border-radius:2px;animation:scrollMouse 2s infinite}@keyframes scrollMouse{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(10px)}}.rooms{background-color:var(--color-white)}.section-label{display:block;font-family:var(--font-sans);font-size:.8rem;text-transform:uppercase;letter-spacing:.3rem;color:var(--color-accent);margin-bottom:1rem}.section-title{font-size:clamp(2.5rem,5vw,3.5rem);margin-bottom:1.5rem}.section-desc{max-width:600px;margin:0 auto 5rem;opacity:.7}.rooms__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.room-card{position:relative;cursor:pointer}.room-card__image-wrapper{position:relative;aspect-ratio:3/4;overflow:hidden;background-color:var(--color-surface)}.room-card__image{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.23,1,.32,1)}.room-card:hover .room-card__image{transform:scale(1.1)}.room-card__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#4a4a4acc;padding:3rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;opacity:0;transition:var(--transition-smooth)}.room-card:hover .room-card__overlay{opacity:1}.room-card__desc{color:var(--color-primary);font-size:.95rem;line-height:1.8;margin-bottom:2rem;transform:translateY(20px);transition:var(--transition-smooth)}.room-card:hover .room-card__desc{transform:translateY(0)}.room-card__link{color:var(--color-accent);border-bottom:1px solid var(--color-accent);padding-bottom:.3rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.1rem;background:none;border-top:none;border-left:none;border-right:none;cursor:pointer}.room-card__info{padding:2rem 0}.room-card__type{font-size:.7rem;text-transform:uppercase;letter-spacing:.15rem;opacity:.5;margin-bottom:.5rem;display:block}.room-card__name{font-size:1.8rem;letter-spacing:.05rem}.gallery-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#4a4a4afa;z-index:2000;display:flex;align-items:center;justify-content:center}.gallery-modal__close{position:absolute;top:2rem;right:2rem;color:var(--color-primary);background:none;border:none;cursor:pointer;z-index:2010;transition:var(--transition-smooth)}.gallery-modal__close:hover{transform:rotate(90deg);color:var(--color-accent)}.gallery-modal__content{position:relative;width:90%;max-width:1200px;height:80vh;display:flex;align-items:center;justify-content:center}.gallery-modal__image-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.gallery-modal__image{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 20px 50px #00000080}.gallery-modal__nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-primary);cursor:pointer;z-index:2005;padding:2rem;transition:var(--transition-smooth)}.gallery-modal__nav:hover{color:var(--color-accent);transform:translateY(-50%) scale(1.1)}.gallery-modal__nav--prev{left:-4rem}.gallery-modal__nav--next{right:-4rem}.gallery-modal__counter{position:absolute;bottom:-3rem;left:50%;transform:translate(-50%);color:var(--color-primary);font-family:var(--font-sans);font-size:.9rem;letter-spacing:.2rem;opacity:.6}.gallery-modal__info{position:absolute;bottom:-6rem;left:0;width:100%;text-align:center;color:var(--color-primary)}.gallery-modal__info h3{font-size:2rem;margin-bottom:.5rem}.gallery-modal__info p{font-size:.8rem;text-transform:uppercase;letter-spacing:.2rem;opacity:.6}@media(max-width:992px){.gallery-modal__nav--prev{left:0}.gallery-modal__nav--next{right:0}.gallery-modal__nav{padding:1rem}}@media(max-width:768px){.rooms__grid{grid-template-columns:1fr}}.experience{background-color:var(--color-primary)}.experience__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:1.5rem}.exp-card{position:relative;overflow:hidden}.exp-card__image-wrapper{width:100%;height:100%;position:relative}.exp-card__image{width:100%;height:100%;object-fit:cover;filter:grayscale(.3);transition:var(--transition-smooth)}.exp-card:hover .exp-card__image{filter:grayscale(0);transform:scale(1.05)}.exp-card__content{position:absolute;bottom:0;left:0;width:100%;padding:2rem;background:linear-gradient(transparent,#000000b3);color:var(--color-primary);display:flex;flex-direction:column;justify-content:flex-end;height:100%}.exp-card__number{font-family:var(--font-serif);font-size:.8rem;opacity:.6;margin-bottom:.5rem}.exp-card__title{font-size:1.5rem;margin-bottom:.5rem}.exp-card__desc{font-size:.85rem;opacity:.8;max-width:250px;line-height:1.6}.exp-card--large{grid-column:span 2;grid-row:span 2}.exp-card--medium{grid-column:span 2;grid-row:span 1}@media(max-width:992px){.experience__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.experience__grid{display:flex;flex-direction:column}.exp-card{height:350px}}.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.booking{background-color:var(--color-white)}.booking__content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:flex-start;margin-top:2rem}.react-calendar{width:100%;border:none;background:var(--color-primary);font-family:var(--font-sans);padding:2rem}.react-calendar__navigation{margin-bottom:2rem}.react-calendar__navigation button{font-family:var(--font-serif);font-size:1.2rem;color:var(--color-secondary)}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:transparent;color:var(--color-accent)}.react-calendar__month-view__weekdays{text-transform:uppercase;font-size:.7rem;font-weight:500;opacity:.5;margin-bottom:1rem}.react-calendar__month-view__days__day{font-size:.9rem;padding:1rem 0}.react-calendar__tile--now{background:var(--color-surface);color:var(--color-secondary)}.react-calendar__tile--active{background:var(--color-secondary)!important;color:var(--color-primary)!important}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background:var(--color-accent);color:var(--color-primary)}.booking__form{padding:3rem;background-color:var(--color-primary);display:flex;flex-direction:column;gap:2rem}.booking__selected .label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1rem;opacity:.5;display:block;margin-bottom:.5rem}.booking__selected .value{font-family:var(--font-serif);font-size:1.5rem}.form-group label{display:block;font-size:.8rem;margin-bottom:1rem;opacity:.8}.form-group select,.form-group input{width:100%;padding:1rem;border:1px solid rgba(74,74,74,.1);background:transparent;font-size:1rem;color:var(--color-secondary)}.booking__submit{background-color:var(--color-secondary);color:var(--color-primary);padding:1.2rem;text-transform:uppercase;letter-spacing:.2rem;font-size:.9rem;margin-top:1rem}.booking__submit:hover{background-color:var(--color-accent)}.booking__note{font-size:.75rem;opacity:.5;text-align:center}@media(max-width:992px){.booking__content{grid-template-columns:1fr;gap:2rem}}.map{padding-bottom:0}.map__wrapper{position:relative;margin-top:3rem;box-shadow:0 10px 30px #0000000d}.map__placeholder{width:100%;height:450px;background-color:var(--color-surface)}.map__info{position:absolute;bottom:2rem;right:2rem;padding:2.5rem;max-width:300px;z-index:10}.map__info h3{font-size:1.5rem;margin-bottom:1rem}.map__info p{font-size:.9rem;opacity:.7;line-height:1.6}.map__contact{margin-top:1.5rem;font-weight:500;color:var(--color-accent)}@media(max-width:768px){.map__info{position:static;max-width:100%;margin-top:-1px}}.footer{background-color:var(--color-secondary);color:var(--color-primary);padding-bottom:2rem}.footer__content{display:flex;justify-content:space-between;margin-bottom:5rem;flex-wrap:wrap;gap:3rem}.footer__brand{flex:1;min-width:250px}.footer__logo{font-size:2.5rem;margin-bottom:.5rem;letter-spacing:.2rem}.footer__tagline{font-size:.9rem;opacity:.6;letter-spacing:.1rem}.footer__info{display:flex;gap:4rem;flex:2;justify-content:flex-end;flex-wrap:wrap}.footer__group h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.15rem;margin-bottom:1.5rem;opacity:.5}.footer__group p,.footer__group a{font-size:.9rem;opacity:.8}.footer__bottom{padding-top:2rem;border-top:1px solid rgba(245,245,243,.1);font-size:.7rem;opacity:.4;letter-spacing:.05rem}@media(max-width:768px){.footer__info{justify-content:flex-start;gap:2rem}}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}@media(max-width:768px){:root{--section-padding: 5rem 1.5rem}}
