@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}:root{--primary-color:#ff6f91;--secondary-color:#ffe4ec;--text-color:#333;--max-width:1200px}body{color:var(--text-color);background:#fff;font-family:Noto Sans KR,sans-serif}.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}.hero{background-position:50%;background-size:cover;height:100vh;position:relative}.hero__overlay{background:linear-gradient(#00000080,#0003,#0009);flex-direction:column;justify-content:space-between;align-items:center;padding:60px 20px;display:flex;position:absolute;inset:0}.hero__top{color:#f1eeee;text-align:center;max-width:800px;margin-top:80px}.hero__top h1{letter-spacing:1px;margin-bottom:20px;font-family:Playfair Display,serif;font-size:56px;line-height:1.2}.hero__top p{opacity:.85;font-size:18px}.hero__bottom{flex-direction:column;align-items:center;margin-bottom:50px;display:flex}.hero__cta{color:#fff;cursor:pointer;letter-spacing:.5px;background:linear-gradient(135deg,#ff6f91,#ff9aa2);border:none;border-radius:999px;padding:14px 32px;font-size:16px;font-weight:500;transition:all .3s;box-shadow:0 10px 25px #ff6f9166}.hero__cta:hover{transform:translateY(-3px);box-shadow:0 15px 35px #ff6f9180}.hero__scroll{color:#fff;letter-spacing:2px;margin-top:60px;font-size:20px;animation:1.5s infinite bounceY}@keyframes bounceY{0%{transform:translateY(0)}50%{transform:translateY(10px)}to{transform:translateY(0)}}@media (width<=768px){.hero__top h1{font-size:38px}.hero__top p{font-size:16px}.hero__cta{padding:12px 26px;font-size:14px}.hero__scroll{margin-top:40px;font-size:16px}}.gallery{background:#f9fafb;padding:100px 20px}.gallery__container{text-align:center;max-width:1200px;margin:0 auto}.gallery__title{margin-bottom:10px;font-family:Playfair Display,serif;font-size:32px}.gallery__subtitle{color:#777;margin-bottom:30px}.gallery__tabs{justify-content:center;gap:10px;margin-bottom:40px;display:flex}.gallery__tabs button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:999px;padding:8px 16px;transition:all .3s}.gallery__tabs button:hover{background:#f7f7f7}.gallery__tabs button.active{color:#fff;background:#ff6f91;border-color:#ff6f91}.gallery__grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.gallery__item{aspect-ratio:1;border-radius:12px;position:relative;overflow:hidden}.gallery__item img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.gallery__item:hover img{transform:scale(1.1)}.gallery__overlay{opacity:0;background:#0006;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.gallery__item:hover .gallery__overlay{opacity:1}.gallery__info{text-align:center;color:#fff;transition:all .3s;transform:translateY(20px)}.gallery__item:hover .gallery__info{transform:translateY(0)}.gallery__info h3{margin-bottom:6px;font-size:18px}.gallery__info p{color:#ffb6c1;font-size:14px;font-weight:700}@media (width<=768px){.gallery__grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media (width<=480px){.gallery{padding:70px 16px}.gallery__grid{grid-template-columns:repeat(2,1fr);gap:10px}.gallery__item{border-radius:10px}.gallery__info h3{font-size:14px}.gallery__info p{font-size:12px}}.pricing{background-color:#fff;padding:80px 20px;font-family:Noto Sans KR,sans-serif}.pricing__container{text-align:center;max-width:1400px;margin:0 auto}.pricing__subtitle{color:#555;margin-bottom:50px;font-size:18px}.pricing__grid{flex-wrap:wrap;justify-content:space-between;gap:20px;display:flex}.pricing__card{aspect-ratio:4/3;background-color:#f9fafb;border:1px solid #ddd;border-radius:15px;flex-direction:column;flex:22%;justify-content:space-between;padding:40px;transition:transform .3s,box-shadow .3s;display:flex;position:relative;box-shadow:0 8px 20px #0000000d}.pricing__card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #0000001a}.pricing__card--popular{border:2px solid #ff6f91;box-shadow:0 15px 30px #ff6f9133}.pricing__badge{color:#fff;background-color:#ff6f91;border-radius:20px;padding:5px 15px;font-size:14px;font-weight:500;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.pricing__info{flex-direction:column;align-items:flex-start;display:flex}.pricing__name{margin-top:20px;margin-bottom:5px;font-size:20px;font-weight:600}.pricing__price{margin-bottom:10px;font-size:24px;font-weight:700}.pricing__features{flex-wrap:wrap;justify-content:center;gap:5px;margin:15px 0;padding:0;font-size:14px;list-style:none;display:flex}.pricing__features li{margin:0}.pricing__features li:not(:last-child):after{content:",";margin-left:5px}.pricing__cta{color:#fff;cursor:pointer;background-color:#ff6f91;border:none;border-radius:50px;align-self:center;padding:10px 20px;font-size:16px;transition:background .3s,transform .3s}.pricing__cta:hover{background-color:#ff4f7a;transform:translateY(-2px)}@media (width<=1200px){.pricing__card{flex:30%}}@media (width<=992px){.pricing__card{flex:45%}}@media (width<=768px){.pricing__grid{flex-direction:column;align-items:center}.pricing__card{aspect-ratio:auto;flex:90%}}.reservation{background-color:#f9f9f9;padding:80px 20px;font-family:Noto Sans KR,sans-serif}.reservation__container{max-width:800px;margin:0 auto}.pricing__title-wrapper{text-align:center;margin-bottom:40px}.reservation__form-wrapper{background-color:#fff;border-radius:16px;flex-direction:column;gap:20px;padding:40px;display:flex;box-shadow:0 8px 20px #0000001a}.reservation__form{flex-direction:column;gap:20px;display:flex}.reservation__row{gap:20px;display:flex}.reservation__row input,.reservation__row select,.reservation__form textarea{border:1px solid #ccc;border-radius:8px;outline:none;flex:1;padding:12px 15px;font-size:14px;transition:border .3s,box-shadow .3s}.reservation__row input:focus,.reservation__row select:focus,.reservation__form textarea:focus{border-color:#ff6f91;box-shadow:0 0 5px #ff6f914d}.reservation__form textarea{resize:vertical;min-height:100px;padding-top:12px}.reservation__cta{color:#fff;cursor:pointer;background-color:#ff6f91;border:none;border-radius:50px;align-self:center;padding:14px 28px;font-size:16px;transition:background .3s,transform .3s}.reservation__cta:hover{background-color:#ff4f7a;transform:translateY(-2px)}@media (width<=768px){.reservation__row{flex-direction:column}.reservation__form-wrapper{padding:30px 20px}}.contact{background-color:#fff;padding:80px 20px;font-family:Noto Sans KR,sans-serif}.contact__container-wrapper{text-align:center;max-width:1200px;margin:0 auto;padding-bottom:50px}.pricing__title-wrapper{margin-bottom:40px}.pricing__title{margin-bottom:10px;font-size:36px;font-weight:700}.pricing__subtitle{color:#555;font-size:18px}.contact__container{align-items:flex-start;gap:40px;max-width:1200px;margin:0 auto;display:flex}.contact__map{border-radius:15px;flex:1;height:400px;overflow:hidden;box-shadow:0 8px 20px #0000000d}.contact__info{flex-direction:column;flex:1;justify-content:center;gap:15px;display:flex}.contact__info h2{margin-bottom:10px;font-size:28px}.contact__info p{color:#555;margin:0;font-size:16px}@media (width<=992px){.contact__container{flex-direction:column;align-items:center;gap:30px}.contact__map{aspect-ratio:1;border-radius:15px;width:100%;overflow:hidden;box-shadow:0 8px 20px #0000000d}.contact__info{text-align:center;width:100%}.contact__info h2{font-size:24px}.contact__info p{font-size:14px}}.footer{color:#fff;background-color:#222;padding:40px 20px 20px;font-family:Noto Sans KR,sans-serif}.footer__container{flex-wrap:wrap;justify-content:space-between;gap:30px;max-width:1200px;margin:0 auto;display:flex}.footer__logo h2{font-size:24px;font-weight:700}.footer__info p{color:#ccc;margin:5px 0;font-size:14px}.footer__social{gap:15px;display:flex}.footer__social a{color:#ff6f91;font-size:14px;text-decoration:none;transition:color .3s}.footer__social a:hover{color:#ff4f7a}.footer__copyright{text-align:center;color:#888;border-top:1px solid #444;max-width:1300px;margin-top:30px;margin-left:auto;margin-right:auto;padding-top:15px;font-size:12px}@media (width<=768px){.footer__container{text-align:center;flex-direction:column;align-items:center}.footer__social{justify-content:center}}
