* {margin: 0;padding: 0;box-sizing: border-box;}html {height: 100%;}body {min-height: 100vh;background: #000;overflow-x: hidden;font-family: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif;position: relative;color: #fff;}.bg-sunlight {position: fixed;inset: 0;display: flex;align-items: center;justify-content: center;pointer-events: none;z-index: 0;background: #000;}.bg-sunlight img {width: 120vmin;max-width: 850px;height: auto;opacity: 0.55;animation: spinSun 60s linear infinite;will-change: transform;filter:drop-shadow(0 0 32px rgba(0, 0, 0, 0.95))drop-shadow(0 0 18px rgba(255, 255, 255, 0.08));}@keyframes spinSun {from { transform: rotate(0deg); }to   { transform: rotate(360deg); }}.side-leaves {position: fixed;inset: 0;pointer-events: none;z-index: 1;background-image: url("../img/leaves-sides.webp");background-repeat: no-repeat;background-position: center center;background-size: cover;animation: swayLeaves 6s ease-in-out infinite;will-change: transform;filter:drop-shadow(0 0 18px rgba(0, 0, 0, 0.9))drop-shadow(0 0 14px rgba(0, 0, 0, 0.7));}@keyframes swayLeaves {0%   { transform: translateY(0) scale(1); }50%  { transform: translateY(-6px) scale(1.01); }100% { transform: translateY(0) scale(1); }}.top-bar {position: fixed;top: 0;left: 0;right: 0;padding: 0.7rem 1.2rem;display: flex;align-items: center;justify-content: space-between;gap: 1rem;z-index: 3;background: transparent;}.social-left,.social-right {display: flex;align-items: center;gap: 0.6rem;}.icon-btn {width: 36px;height: 36px;border-radius: 999px;display: inline-flex;align-items: center;justify-content: center;font-size: 1.2rem;color: #fff;text-decoration: none;background: rgba(0,0,0,0.65);border: 1px solid rgba(255,255,255,0.12);box-shadow: 0 0 12px rgba(0,0,0,0.8);animation: floatIcon 3.5s ease-in-out infinite;will-change: transform;transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;}@keyframes floatIcon {0%   { transform: translateY(0); }50%  { transform: translateY(-3px); }100% { transform: translateY(0); }}.icon-btn:hover {transform: translateY(-2px) scale(1.05);border-color: rgba(255,255,255,0.4);box-shadow: 0 0 18px rgba(0,0,0,0.95);}.icon-btn.tg { background: radial-gradient(circle at 30% 0%, #43b0ff, #0088cc); }.icon-btn.ig { background: radial-gradient(circle at 30% 0%, #ffdc80, #f77737, #e1306c, #833ab4); }.nav-main {display: flex;align-items: center;gap: 1.8rem;margin: 0 auto;text-transform: uppercase;letter-spacing: 0.18em;font-size: 0.95rem;font-weight: 500;}.nav-main a {position: relative;color: #f5f5f5;text-decoration: none;padding-bottom: 0.2rem;opacity: 0.9;transition: opacity 0.2s ease;text-shadow: 0 0 8px rgba(0,0,0,0.85);}.nav-main a::after {content: "";position: absolute;left: 0;right: 0;bottom: -0.2rem;height: 2px;border-radius: 999px;background: linear-gradient(90deg, #ff5ec3, #ffd65b);transform: scaleX(0);transform-origin: center;transition: transform 0.2s ease;}.nav-main a:hover {opacity: 1;}.nav-main a:hover::after {transform: scaleX(1);}.nav-toggle {display: none;width: 40px;height: 40px;border-radius: 999px;border: 1px solid rgba(255,255,255,0.3);background: rgba(0,0,0,0.8);align-items: center;justify-content: center;flex-direction: column;gap: 4px;padding: 0;cursor: pointer;}.nav-toggle span {width: 22px;height: 2px;background: #fff;border-radius: 999px;transition: transform 0.25s ease, opacity 0.25s ease;}body.nav-open .nav-toggle span:nth-child(1) {transform: translateY(6px) rotate(45deg);}body.nav-open .nav-toggle span:nth-child(2) {opacity: 0;}body.nav-open .nav-toggle span:nth-child(3) {transform: translateY(-6px) rotate(-45deg);}.hero-logo {position: fixed;inset: 0;display: flex;align-items: center;justify-content: center;padding: 3.5rem 1.5rem 3rem;z-index: 2;pointer-events: none;}.hero-logo .logo-inner {pointer-events: auto;}.hero-logo img {width: 30vw;max-width: 260px;min-width: 130px;height: auto;filter:drop-shadow(0 0 10px rgba(255, 255, 255, 0.35))drop-shadow(0 0 20px rgba(255, 255, 255, 0.25));transition: transform 0.25s ease, filter 0.25s ease;}@media (hover: hover) and (pointer: fine) {.hero-logo img:hover {transform: scale(1.06) rotate(-1.5deg);filter:drop-shadow(0 0 14px rgba(255, 255, 255, 0.45))drop-shadow(0 0 26px rgba(255, 255, 255, 0.35));}}@media (hover: none) and (pointer: coarse) {.hero-logo img:active {transform: scale(0.97);}}.site-footer {position: fixed;left: 0;right: 0;bottom: 0;padding: 0.35rem 1rem 0.6rem;text-align: center;font-size: 0.78rem;color: #bfbfbf;z-index: 3;background: linear-gradient(to top, rgba(0,0,0,0.9), transparent);}.site-footer span.heart {color: #ff4b8b;}@media (max-width: 900px) {.nav-main {font-size: 0.9rem;letter-spacing: 0.16em;gap: 1.2rem;}}@media (max-width: 768px) {html,body {height: 100%;overflow: hidden;}.nav-main {position: fixed;top: 56px;left: 0;right: 0;padding: 0.9rem 1.4rem 1.2rem;background: rgba(0,0,0,0.82);flex-direction: column;align-items: flex-start;gap: 0.8rem;border-bottom: 1px solid rgba(255,255,255,0.06);display: none;}body.nav-open .nav-main {display: flex;}.nav-toggle {display: inline-flex;}.hero-logo img {width: 55vw;max-width: 220px;}}.contact-modal,.menu-modal,.find-modal {position: fixed;inset: 0;z-index: 4;display: none;align-items: center;justify-content: center;padding: 1.6rem;background: radial-gradient(circle at top, rgba(0,0,0,0.82), rgba(0,0,0,0.96));overflow-y: auto;}.contact-modal.open,.menu-modal.open,.find-modal.open {display: flex;}body.modal-open {overflow: hidden;}.contact-card,.menu-card,.find-card {width: 100%;max-width: 560px;padding: 2.2rem 2.4rem;border-radius: 24px;background: rgba(0, 0, 0, 0.55);border: 1px solid rgba(255, 255, 255, 0.07);box-shadow: 0 22px 60px rgba(0, 0, 0, 0.9);position: relative;overflow: hidden;}.contact-card::before,.menu-card::before,.find-card::before {content: "";position: absolute;inset: -2px;border-radius: inherit;background: radial-gradient(circle at top, rgba(255, 255, 255, 0.08), transparent 55%);opacity: 0.7;pointer-events: none;}.contact-card > *,.menu-card > *,.find-card > * {position: relative;z-index: 1;}@supports (backdrop-filter: blur(18px)) {.contact-card,.menu-card,.find-card {backdrop-filter: blur(18px);background: rgba(0, 0, 0, 0.45);}}.modal-close {position: absolute;top: 0.8rem;right: 0.9rem;width: 28px;height: 28px;border-radius: 999px;border: 1px solid rgba(255,255,255,0.35);background: rgba(0,0,0,0.8);display: inline-flex;align-items: center;justify-content: center;cursor: pointer;padding: 0;}.modal-close span {position: absolute;width: 14px;height: 2px;border-radius: 999px;background: #fff;}.modal-close span:first-child { transform: rotate(45deg); }.modal-close span:last-child  { transform: rotate(-45deg); }.modal-close:hover {border-color: rgba(255,255,255,0.8);}.contact-card h2 {font-size: 1.6rem;margin-bottom: 0.4rem;letter-spacing: 0.12em;text-transform: uppercase;}.contact-intro {font-size: 0.9rem;opacity: 0.85;margin-bottom: 1.5rem;}.contact-alert {margin-bottom: 1.2rem;padding: 0.6rem 0.9rem;border-radius: 999px;font-size: 0.85rem;}.contact-alert-success {background: rgba(46, 204, 113, 0.1);border: 1px solid rgba(46, 204, 113, 0.65);color: #7bed9f;}.contact-alert-error {background: rgba(231, 76, 60, 0.1);border: 1px solid rgba(231, 76, 60, 0.75);color: #ff6b81;}.contact-form {display: flex;flex-direction: column;gap: 1rem;}.form-row {display: flex;gap: 1rem;}.field {display: flex;flex-direction: column;flex: 1;}.field label {font-size: 0.8rem;text-transform: uppercase;letter-spacing: 0.14em;margin-bottom: 0.35rem;opacity: 0.8;}.field input,.field textarea {background: rgba(0, 0, 0, 0.7);border-radius: 12px;border: 1px solid rgba(255, 255, 255, 0.16);padding: 0.7rem 0.8rem;font-size: 0.92rem;color: #fff;outline: none;resize: vertical;}.field input::placeholder,.field textarea::placeholder {color: rgba(255, 255, 255, 0.4);}.field input:focus,.field textarea:focus {border-color: rgba(255, 214, 91, 0.9);box-shadow: 0 0 0 1px rgba(255, 94, 195, 0.5);}.contact-btn {margin-top: 0.4rem;width: 100%;border: none;border-radius: 999px;padding: 0.85rem 1.2rem;font-size: 0.95rem;font-weight: 600;letter-spacing: 0.12em;text-transform: uppercase;cursor: pointer;color: #000;background: linear-gradient(90deg, #ff5ec3, #ffd65b);box-shadow: 0 12px 30px rgba(0, 0, 0, 0.8);transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;}.contact-btn:hover {transform: translateY(-1px);filter: brightness(1.05);box-shadow: 0 16px 36px rgba(0, 0, 0, 0.9);}.contact-btn:active {transform: translateY(0);box-shadow: 0 10px 26px rgba(0, 0, 0, 0.85);}.hp-field {position: absolute;left: -9999px;opacity: 0;pointer-events: none;}.menu-card h2 {font-size: 1.6rem;margin-bottom: 0.6rem;letter-spacing: 0.12em;text-transform: uppercase;}.menu-text {font-size: 0.95rem;opacity: 0.9;margin-bottom: 0.8rem;}.menu-subnote {font-size: 0.78rem;opacity: 0.75;margin-bottom: 1.4rem;}.menu-location-buttons {display: flex;flex-wrap: wrap;gap: 0.8rem;}.btn-location {flex: 1 1 90px;text-align: center;border-radius: 999px;padding: 0.7rem 1rem;font-size: 0.9rem;font-weight: 600;letter-spacing: 0.12em;text-transform: uppercase;text-decoration: none;border: none;cursor: pointer;box-shadow: 0 12px 30px rgba(0, 0, 0, 0.85);transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;}.btn-location-primary {color: #000;background: linear-gradient(90deg, #ff5ec3, #ffd65b);}.btn-location-primary:hover {transform: translateY(-1px);filter: brightness(1.05);box-shadow: 0 16px 36px rgba(0, 0, 0, 0.95);}.btn-location-disabled {color: rgba(255,255,255,0.6);background: rgba(120,120,120,0.4);border: 1px solid rgba(255,255,255,0.15);cursor: default;box-shadow: none;}.btn-location-disabled:hover {transform: none;filter: none;box-shadow: none;}.menu-patong-msg {margin-top: 0.7rem;font-size: 0.8rem;opacity: 0;transform: translateY(4px);transition: opacity 0.25s ease, transform 0.25s ease;}.menu-patong-msg.show {opacity: 0.9;transform: translateY(0);}@keyframes shakeButton {0%   { transform: translateX(0); }20%  { transform: translateX(-3px); }40%  { transform: translateX(3px); }60%  { transform: translateX(-3px); }80%  { transform: translateX(3px); }100% { transform: translateX(0); }}.btn-location.shake {animation: shakeButton 0.45s ease;}.find-card h2 {font-size: 1.6rem;margin-bottom: 0.6rem;letter-spacing: 0.12em;text-transform: uppercase;}.find-intro {font-size: 0.95rem;opacity: 0.9;margin-bottom: 0.4rem;}.find-subnote {font-size: 0.8rem;opacity: 0.75;margin-bottom: 1.4rem;}.find-layout {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 1.1rem;}.find-location {padding: 0.9rem 0.9rem 1rem;border-radius: 18px;background: rgba(0,0,0,0.55);border: 1px solid rgba(255,255,255,0.06);}.find-location h3 {font-size: 0.95rem;letter-spacing: 0.14em;text-transform: uppercase;margin-bottom: 0.3rem;}.find-location:nth-child(1) h3 {color: #ffd65b;}.find-location:nth-child(2) h3 {color: #ff5ec3;}.find-location:nth-child(3) h3 {color: #7efcc4;}.find-tag-soon {display: inline-flex;align-items: center;justify-content: center;font-size: 0.65rem;line-height: 1;text-transform: uppercase;letter-spacing: 0.16em;margin-left: 0.25rem;padding: 0.12rem 0.45rem;border-radius: 999px;background: rgba(255, 94, 195, 0.2);border: 1px solid rgba(255, 94, 195, 0.7);}.find-address {font-size: 0.8rem;opacity: 0.85;margin-bottom: 0.35rem;}.find-phone {font-size: 0.75rem;opacity: 0.85;margin-bottom: 0.6rem;white-space: nowrap;}.find-phone a {color: #ffd65b;text-decoration: none;}.find-phone a:hover {text-decoration: underline;}.find-actions {display: flex;flex-wrap: wrap;gap: 0.4rem;}.find-btn {flex: 1 1 90px;text-align: center;border-radius: 999px;padding: 0.5rem 0.8rem;font-size: 0.78rem;font-weight: 600;letter-spacing: 0.12em;text-transform: uppercase;text-decoration: none;border: none;cursor: pointer;box-shadow: 0 10px 24px rgba(0,0,0,0.85);transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;}.find-btn-primary {color: #000;background: linear-gradient(90deg, #ff5ec3, #ffd65b);}.find-btn-secondary {color: #fff;background: rgba(0,0,0,0.85);border: 1px solid rgba(255,255,255,0.25);}.find-btn-primary:hover,.find-btn-secondary:hover {transform: translateY(-1px);filter: brightness(1.05);box-shadow: 0 14px 32px rgba(0,0,0,0.95);}.find-btn-disabled {color: rgba(255,255,255,0.55);background: rgba(120,120,120,0.4);border: 1px solid rgba(255,255,255,0.15);cursor: default;box-shadow: none;}.find-btn-disabled:hover {transform: none;filter: none;box-shadow: none;}@media (max-width: 768px) {.contact-card,.menu-card,.find-card {padding: 1.9rem 1.7rem;}.form-row {flex-direction: column;}.menu-location-buttons {flex-direction: column;}.btn-location {padding: 0.55rem 0.9rem;font-size: 0.95rem;}.find-layout {grid-template-columns: 1fr;}}.bg-page-loader {position: fixed;inset: 0;z-index: 10000;display: flex;align-items: center;justify-content: center;background: radial-gradient(circle at top, #000000, #050505 55%, #000000 100%);color: #f5f5f5;transition: opacity 0.6s ease;}.bg-page-loader.hidden {opacity: 0;pointer-events: none;}.bg-page-loader-inner {text-align: center;padding: 2rem 2.4rem;border-radius: 26px;background: rgba(0, 0, 0, 0.7);border: 1px solid rgba(255, 255, 255, 0.06);box-shadow:0 18px 50px rgba(0, 0, 0, 0.95),0 0 32px rgba(255, 196, 70, 0.35);max-width: 360px;width: 92%;}@supports (backdrop-filter: blur(20px)) {.bg-page-loader-inner {backdrop-filter: blur(20px);background: rgba(0, 0, 0, 0.55);}}.bg-page-loader-logo-wrap {margin: 0 auto 1.4rem;display: flex;align-items: center;justify-content: center;width: auto;height: auto;background: transparent;box-shadow: none;border-radius: 0;position: static;overflow: visible;}.bg-page-loader-logo-wrap::after {content: none;}.bg-page-loader-logo {width: 70%;height: auto;object-fit: contain;animation: bg-logo-float 2.4s ease-in-out infinite;}@keyframes bg-logo-float {0%   { transform: translateY(0) rotate(0deg); }40%  { transform: translateY(-6px) rotate(-1.5deg); }60%  { transform: translateY(-6px) rotate(1.5deg); }100% { transform: translateY(0) rotate(0deg); }}.bg-page-loader-bar {width: 100%;height: 6px;border-radius: 999px;background: rgba(255, 255, 255, 0.08);overflow: hidden;margin: 0 0 0.55rem;position: relative;}.bg-page-loader-bar-fill {width: 100%;height: 100%;border-radius: 999px;background: linear-gradient(90deg, #ffdf6b, #ff8f3c, #ff4d92, #6c5ce7);transform: scaleX(0);transform-origin: left;transition: transform 0.2s ease-out;}.bg-page-loader-bar-fill::after {content: "";position: absolute;inset: 0;background: linear-gradient(120deg, rgba(255,255,255,0.4), transparent 60%);mix-blend-mode: screen;opacity: 0.7;animation: bg-loader-sheen 1.4s linear infinite;}@keyframes bg-loader-sheen {0%   { transform: translateX(-100%); }100% { transform: translateX(100%); }}.bg-page-loader-percent {font-size: 0.8rem;letter-spacing: 0.18em;text-transform: uppercase;opacity: 0.7;margin-bottom: 0.5rem;}.bg-page-loader-phrase {font-size: 0.9rem;opacity: 0.9;}@media (max-width: 640px) {.bg-page-loader-inner {padding: 1.6rem 1.8rem;border-radius: 22px;}.bg-page-loader-logo-wrap {width: 100px;height: 100px;}.bg-page-loader-phrase {font-size: 0.85rem;}}