*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--green-deep:#0a2e1f;--green-mid:#14503a;--green-light:#1b6b4a;--green-pale:#e8f0ec;--gold:#c5a028;--gold-light:#d4b84a;--gold-pale:#f5edd4;--cream:#faf8f3;--cream-dark:#f0ece3;--white:#fff;--black:#0a0a0a;--text-dark:#1a1a1a;--text-mid:#5a5a5a;--text-light:#8a8a8a}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--cream);color:var(--text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Outfit,sans-serif;overflow-x:hidden}[data-lang=th] body,[data-lang=th] .body-font{font-family:Noto Sans Thai,Outfit,sans-serif}body:before{content:"";opacity:.025;z-index:9999;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");width:100%;height:100%;position:fixed;top:0;left:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}header{z-index:1000;justify-content:space-between;align-items:center;padding:1.5rem 3rem;transition:all .5s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;right:0}header.scrolled{-webkit-backdrop-filter:blur(20px);background:#faf8f3eb;padding:1rem 3rem;box-shadow:0 1px #c5a02826}.header-logo{color:var(--green-deep);align-items:center;gap:.8rem;text-decoration:none;display:flex}.logo-img{object-fit:contain;width:auto;height:42px;transition:transform .3s}.header-logo:hover .logo-img{transform:scale(1.04)}header.on-hero .logo-img{filter:brightness(0)invert()}header.scrolled .logo-img,header.scrolled.on-hero .logo-img{filter:none}.logo-text{letter-spacing:.08em;text-transform:uppercase;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600}.logo-cross{color:var(--gold);margin-left:.3rem;font-size:1.1em;font-weight:300}.header-nav{align-items:center;gap:2.5rem;display:flex}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{color:var(--text-mid);letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;font-weight:400;text-decoration:none;transition:color .3s;position:relative}.nav-links a:after{content:"";background:var(--gold);width:0;height:1px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-links a:hover{color:var(--green-deep)}.nav-links a:hover:after{width:100%}header.on-hero .nav-links a{color:#ffffffb3}header.on-hero .nav-links a:hover,header.on-hero .logo-text{color:#fff}header.on-hero .lang-btn{color:#ffffff80}header.on-hero .lang-btn.active{color:var(--gold-light);background:#ffffff26}header.on-hero .lang-toggle{border-color:#fff3}header.scrolled.on-hero .nav-links a{color:var(--text-mid)}header.scrolled.on-hero .nav-links a:hover,header.scrolled.on-hero .logo-text{color:var(--green-deep)}header.scrolled.on-hero .lang-btn{color:var(--text-light)}header.scrolled.on-hero .lang-btn.active{background:var(--green-deep);color:var(--gold-light)}header.scrolled.on-hero .lang-toggle{border-color:#c5a0284d}.lang-toggle{cursor:pointer;background:0 0;border:1px solid #c5a0284d;border-radius:100px;align-items:center;gap:0;padding:3px;display:flex}.lang-btn{color:var(--text-light);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:100px;padding:6px 14px;font-family:Outfit,sans-serif;font-size:.75rem;font-weight:500;transition:all .35s cubic-bezier(.4,0,.2,1)}.lang-btn.active{background:var(--green-deep);color:var(--gold-light)}.hero{text-align:center;background:var(--green-deep);justify-content:center;align-items:center;min-height:100vh;padding:8rem 2rem 4rem;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;position:absolute;inset:0}.hero-bg img{object-fit:cover;object-position:center 40%;opacity:.35;filter:brightness(.8);width:100%;height:100%}.hero-bg-overlay{background:linear-gradient(#0a2e1f99 0%,#0a2e1f4d 40%,#0a2e1fb3 100%),radial-gradient(at 50% 40%,#c5a02814 0%,#0000 60%);position:absolute;inset:0}.hero-content{z-index:2;position:relative}.hero-eyebrow{opacity:0;align-items:center;gap:1rem;margin-bottom:2.5rem;animation:.8s .3s forwards fadeUp;display:inline-flex}.hero-eyebrow-line{background:var(--gold);width:40px;height:1px}.hero-eyebrow-text{letter-spacing:.25em;text-transform:uppercase;color:var(--gold);font-size:.8rem;font-weight:500}.hero-logo{opacity:0;margin-bottom:2rem;animation:.8s .5s forwards fadeUp}.hero-logo img{filter:drop-shadow(0 2px 8px #0000004d);opacity:.9;width:auto;height:80px}.hero-title{letter-spacing:.05em;color:var(--white);text-transform:uppercase;opacity:0;margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:clamp(3.5rem,8vw,7.5rem);font-weight:300;line-height:1;animation:1s .6s forwards fadeUp}.hero-title .gold{color:var(--gold-light);font-style:italic;font-weight:400}.hero-subtitle{letter-spacing:.15em;text-transform:uppercase;color:#fff9;opacity:0;margin-bottom:3rem;font-family:Cormorant Garamond,serif;font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:400;animation:.8s .9s forwards fadeUp}[data-lang=th] .hero-subtitle{letter-spacing:.05em;font-family:Noto Sans Thai,sans-serif;font-weight:300}.hero-tagline{color:#ffffff80;letter-spacing:.05em;opacity:0;max-width:500px;margin:0 auto 3rem;font-size:.9rem;font-weight:300;line-height:1.8;animation:.8s 1.1s forwards fadeUp}.hero-cta-group{opacity:0;justify-content:center;align-items:center;gap:2rem;animation:.8s 1.3s forwards fadeUp;display:flex}.btn-primary{background:var(--gold);color:var(--green-deep);letter-spacing:.15em;text-transform:uppercase;border-radius:0;align-items:center;gap:.8rem;padding:1rem 2.5rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .4s;display:inline-flex;position:relative;overflow:hidden}.btn-primary:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-primary:hover:before{left:100%}.btn-primary:hover{background:var(--gold-light);transform:translateY(-1px)}.btn-primary svg{width:16px;height:16px;transition:transform .3s}.btn-primary:hover svg{transform:translate(3px)}.hero-phone{color:#fff9;letter-spacing:.05em;align-items:center;gap:.6rem;font-size:.9rem;font-weight:400;text-decoration:none;transition:color .3s;display:flex}.hero-phone:hover{color:var(--gold-light)}.hero-phone svg{width:18px;height:18px;color:var(--gold)}.hero-scroll{opacity:0;z-index:2;flex-direction:column;align-items:center;gap:.8rem;animation:.8s 1.8s forwards fadeUp;display:flex;position:absolute;bottom:3rem;left:50%;transform:translate(-50%)}.hero-scroll-text{letter-spacing:.2em;text-transform:uppercase;color:#fff6;writing-mode:vertical-rl;font-size:.65rem}.hero-scroll-line{background:var(--gold);opacity:.5;width:1px;height:40px;animation:2s infinite scrollPulse}.gallery-strip{background:var(--cream);padding:5rem 0;position:relative;overflow:hidden}.gallery-strip-label{text-align:center;margin-bottom:2.5rem}.gallery-strip-label .section-label-text{letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-size:.7rem;font-weight:600}.gallery-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:1.5rem;padding:0 2rem;display:flex;overflow-x:auto}.gallery-track::-webkit-scrollbar{display:none}.gallery-item{scroll-snap-align:center;flex:none;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;filter:saturate(.9);width:auto;height:340px;transition:transform .6s cubic-bezier(.4,0,.2,1);display:block}.gallery-item:hover img{filter:saturate();transform:scale(1.03)}.gallery-item:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0a2e1f26);height:40%;position:absolute;bottom:0;left:0;right:0}.gallery-item.tall img{width:260px;height:340px}.gallery-item.wide img{width:500px;height:340px}.gallery-item.medium img{width:380px;height:340px}.divider{justify-content:center;align-items:center;gap:1.5rem;padding:2rem 0;display:flex}.divider-line{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:80px;height:1px}.divider-diamond{background:var(--gold);width:8px;height:8px;transform:rotate(45deg)}.hours-section{text-align:center;padding:6rem 2rem;position:relative}.section-label{align-items:center;gap:1rem;margin-bottom:1.5rem;display:inline-flex}.section-label-line{background:var(--gold);width:30px;height:1px}.section-label-text{letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-size:.7rem;font-weight:600}.section-title{color:var(--green-deep);letter-spacing:.03em;margin-bottom:3rem;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:400}[data-lang=th] .section-title{font-family:Noto Sans Thai,sans-serif;font-weight:300}.hours-card{background:var(--white);border:1px solid #c5a02826;max-width:520px;margin:0 auto;padding:3.5rem 3rem;position:relative}.hours-card:before{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);height:2px;position:absolute;top:-1px;left:30%;right:30%}.hours-status{background:#1b6b4a0f;border-radius:100px;align-items:center;gap:.6rem;margin-bottom:2rem;padding:.5rem 1.2rem;display:inline-flex}.hours-status-dot{background:var(--green-light);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}.hours-status-text{letter-spacing:.12em;text-transform:uppercase;color:var(--green-mid);font-size:.75rem;font-weight:500}.hours-time{color:var(--green-deep);letter-spacing:.05em;margin-bottom:.5rem;font-family:Cormorant Garamond,serif;font-size:3rem;font-weight:300}.hours-time .separator{color:var(--gold);margin:0 .5rem;font-weight:300}.hours-daily{letter-spacing:.15em;text-transform:uppercase;color:var(--text-light);font-size:.8rem;font-weight:400}.hours-note{color:var(--text-light);border-top:1px solid #c5a0281a;margin-top:2rem;padding-top:2rem;font-size:.8rem;font-weight:300;line-height:1.6}.location-section{padding:4rem 2rem 6rem;position:relative}.location-inner{text-align:center;max-width:1100px;margin:0 auto}.map-wrapper{background:var(--white);border:1px solid #c5a02826;margin-top:3rem;position:relative;overflow:hidden}.map-wrapper:before{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);z-index:2;height:2px;position:absolute;top:-1px;left:20%;right:20%}.map-container{width:100%;height:420px}.map-container iframe{filter:saturate(.7)contrast(1.05);border:0;width:100%;height:100%;transition:filter .5s}.map-container iframe:hover{filter:saturate()contrast()}.map-info{border-top:1px solid #c5a0281a;justify-content:space-between;align-items:center;padding:2rem 2.5rem;display:flex}.map-address{text-align:left}.map-address-label{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;font-size:.65rem;font-weight:600}.map-address-text{color:var(--text-mid);font-size:.9rem;font-weight:300;line-height:1.7}.map-directions{background:var(--green-deep);color:var(--gold-light);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.6rem;padding:.8rem 1.8rem;font-size:.72rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.map-directions:hover{background:var(--green-mid)}.map-directions svg{width:14px;height:14px}.contact-section{background:var(--green-deep);color:var(--white);text-align:center;padding:6rem 2rem;position:relative;overflow:hidden}.contact-section:before{content:"";pointer-events:none;background:radial-gradient(at 30% 20%,#c5a0280d 0%,#0000 50%),radial-gradient(at 70% 80%,#c5a02808 0%,#0000 50%);position:absolute;inset:0}.contact-bg-img{z-index:0;position:absolute;inset:0}.contact-bg-img img{object-fit:cover;opacity:.06;filter:brightness(.5);width:100%;height:100%}.contact-inner{z-index:2;max-width:800px;margin:0 auto;position:relative}.contact-section .section-label-text{color:var(--gold-light)}.contact-section .section-label-line{background:var(--gold-light)}.contact-logo{margin-bottom:2rem}.contact-logo img{opacity:.85;width:auto;height:60px}.contact-title{color:var(--white);letter-spacing:.03em;margin-bottom:3rem;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:400}[data-lang=th] .contact-title{font-family:Noto Sans Thai,sans-serif;font-weight:300}.contact-grid{grid-template-columns:1fr 1px 1fr;gap:2.5rem;margin-bottom:3rem;display:grid}.contact-grid-divider{background:linear-gradient(180deg, transparent, var(--gold), transparent);opacity:.3}.contact-item-label{letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);margin-bottom:1rem;font-size:.65rem;font-weight:600}.contact-phone-number{color:var(--white);letter-spacing:.08em;font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:400;text-decoration:none;transition:color .3s;display:block}.contact-phone-number:hover{color:var(--gold-light)}.contact-address-text{color:#ffffffb3;font-size:.9rem;font-weight:300;line-height:1.8}footer{background:var(--green-deep);color:#ffffff59;letter-spacing:.05em;border-top:1px solid #c5a0281f;justify-content:space-between;align-items:center;padding:2.5rem 3rem;font-size:.72rem;display:flex}.footer-brand{align-items:center;gap:.6rem;display:flex}.footer-brand img{opacity:.4;width:auto;height:28px}.footer-brand-text{letter-spacing:.1em;text-transform:uppercase;color:#ffffff80;font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:600}.footer-brand-text .gold{color:var(--gold);opacity:.6}.footer-reg{color:#ffffff40;font-size:.65rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.2)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(30px)}.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width:768px){header{padding:1rem 1.5rem}header.scrolled{padding:.8rem 1.5rem}.nav-links,.logo-text{display:none}.hero{padding:7rem 1.5rem 4rem}.hero-cta-group{flex-direction:column;gap:1.2rem}.gallery-item img{height:240px}.gallery-item.tall img{width:180px;height:240px}.gallery-item.wide img{width:340px;height:240px}.gallery-item.medium img{width:280px;height:240px}.hours-card{padding:2.5rem 2rem}.hours-time{font-size:2.2rem}.map-container{height:300px}.map-info{text-align:center;flex-direction:column;gap:1.5rem}.map-address{text-align:center}.contact-grid{grid-template-columns:1fr;gap:2rem}.contact-grid-divider{display:none}footer{text-align:center;flex-direction:column;gap:1rem;padding:2rem 1.5rem}}
