@charset "UTF-8";:root{--color-viet-red: #c41e3a;--color-viet-red-dark: #a01830;--color-jade: #2d8b6f;--color-jade-dark: #237359;--color-gold: #c9a227;--color-gold-dark: #9a7209;--color-gold-light: #e8d48b;--gradient-accent-welcome-static: linear-gradient( 102deg, var(--color-gold-light) 0%, var(--color-gold) 14%, var(--color-gold-dark) 28%, var(--color-jade) 42%, var(--color-jade-dark) 50%, var(--color-viet-red) 64%, var(--color-viet-red-dark) 78%, var(--color-gold-light) 100% );--gradient-accent-welcome-wave: linear-gradient( 102deg, var(--color-gold-light) 0%, var(--color-gold) 6.25%, var(--color-gold-dark) 12.5%, var(--color-jade) 18.75%, var(--color-jade-dark) 25%, var(--color-viet-red) 31.25%, var(--color-viet-red-dark) 37.5%, var(--color-gold-light) 50%, var(--color-gold) 56.25%, var(--color-gold-dark) 62.5%, var(--color-jade) 68.75%, var(--color-jade-dark) 75%, var(--color-viet-red) 81.25%, var(--color-viet-red-dark) 87.5%, var(--color-gold-light) 100% );--duration-accent-wave: 6s;--color-dark: #1a1a1a;--color-muted: #5c5c5c;--color-cream: #fdf6f0;--color-cream-light: #f8f0e8;--color-white: #ffffff;--font-display: "Noto Serif", "Be Vietnam Pro", Georgia, serif;--font-body: "Be Vietnam Pro", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--line-height-tight: 1.25;--shadow-sm: 0 2px 8px rgba(26, 26, 26, .06);--shadow-md: 0 4px 20px rgba(26, 26, 26, .08);--shadow-lg: 0 8px 30px rgba(26, 26, 26, .1);--shadow-xl: 0 16px 48px rgba(26, 26, 26, .08);--shadow-premium: 0 24px 64px rgba(26, 26, 26, .12), 0 8px 24px rgba(26, 26, 26, .06);--shadow-glow: 0 0 40px rgba(201, 162, 39, .15), 0 0 80px rgba(196, 30, 58, .08);--shadow-card-hover: 0 12px 40px rgba(196, 30, 58, .12);--shadow-gold: 0 4px 20px rgba(201, 162, 39, .2);--radius-md: 16px;--radius-lg: 20px;--radius-pill: 999px;--focus-ring: var(--color-gold);--focus-ring-offset: 3px;--transition: .3s ease;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .2s;--duration-normal: .35s;--duration-slow: .6s}@keyframes accentWelcomeWave{0%{background-position:0% 50%}to{background-position:100% 50%}}.hero-greeting.accent-farewell-fill,.footer-welcome.accent-farewell-fill{background-color:transparent;background-image:var(--gradient-accent-welcome-wave);background-size:200% 100%;background-position:0 50%;background-repeat:no-repeat;animation:accentWelcomeWave var(--duration-accent-wave) linear infinite;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.hero-greeting.accent-farewell-fill span,.footer-welcome.accent-farewell-fill span{color:inherit;-webkit-text-fill-color:inherit}@media(prefers-reduced-motion:reduce){.hero-greeting.accent-farewell-fill,.footer-welcome.accent-farewell-fill{animation:none!important;background-color:transparent!important;background-image:var(--gradient-accent-welcome-static)!important;background-size:100% 100%!important;background-position:0 50%!important;background-repeat:no-repeat!important}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;width:100%;margin:0;overflow-x:clip}body{margin:0;overflow-x:hidden;min-height:100%;min-height:100vh;min-height:100dvh;width:100%;font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--color-dark);background:linear-gradient(180deg,var(--color-cream) 0%,var(--color-cream-light) 100%);background-attachment:scroll}::selection{background:#c9a22747;color:var(--color-dark)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;margin:0 0 .5em;line-height:var(--line-height-tight)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}img{max-width:100%;height:auto;display:block}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.section-title{font-weight:600;text-align:center;letter-spacing:.1em;position:relative;padding-bottom:1.25rem;font-size:2.35rem;font-family:var(--font-display);color:var(--color-dark);margin:0 0 .35em}@media(min-width:1024px){.section-title{font-size:3rem}}.section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:140px;height:4px;background:linear-gradient(90deg,transparent,var(--color-gold),var(--color-viet-red),var(--color-jade),var(--color-gold),transparent);border-radius:3px;box-shadow:0 1px #ffffff4d}.section-title:before{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:80px;height:2px;background:linear-gradient(90deg,transparent,var(--color-gold-light),var(--color-viet-red),var(--color-gold-light),transparent);opacity:.6;border-radius:1px}section{padding:clamp(3.5rem,7vw,7rem) clamp(1rem,4vw,2.5rem);width:100%;max-width:100%;margin:0 auto;box-sizing:border-box;scroll-margin-top:88px}.location-section .section-intro{max-width:34rem;margin-left:auto;margin-right:auto;font-size:.98rem;line-height:1.65;white-space:pre-line}.fade-in{opacity:0;transform:translateY(24px);transition:opacity var(--duration-slow) var(--ease-out-expo),transform var(--duration-slow) var(--ease-out-expo)}.fade-in.visible{opacity:1;transform:translateY(0)}.fade-in.fade-up{transform:translateY(32px)}.fade-in.fade-up.visible{transform:translateY(0)}.fade-in.fade-left{transform:translate(-24px)}.fade-in.fade-left.visible{transform:translate(0)}.fade-in.fade-right{transform:translate(24px)}.fade-in.fade-right.visible{transform:translate(0)}.fade-in.scale-in{transform:scale(.96)}.fade-in.scale-in.visible{transform:scale(1)}.fade-in.blur-in{opacity:0;filter:blur(8px);transform:translateY(16px);transition:opacity var(--duration-slow) var(--ease-out-expo),filter var(--duration-slow) var(--ease-out-expo),transform var(--duration-slow) var(--ease-out-expo)}.fade-in.blur-in.visible{opacity:1;filter:blur(0);transform:translateY(0)}.fade-in.slide-up-bounce{opacity:0;transform:translateY(40px);transition:opacity var(--duration-slow) var(--ease-spring),transform var(--duration-slow) var(--ease-spring)}.fade-in.slide-up-bounce.visible{opacity:1;transform:translateY(0)}.stagger-children>*{opacity:0;transform:translateY(24px);transition:opacity var(--duration-slow) var(--ease-out-expo),transform var(--duration-slow) var(--ease-out-expo)}.stagger-children.visible>*{opacity:1;transform:translateY(0)}@keyframes asiPhotoReveal{0%{opacity:0;clip-path:inset(6% 6% 6% 6%);transform:scale(1.05)}to{opacity:1;clip-path:inset(0);transform:scale(1)}}@keyframes asiGalleryImgReveal{0%{clip-path:inset(5% 5% 5% 5%);transform:scale(1.07)}to{clip-path:inset(0);transform:scale(1)}}.bg-paper{background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 5 Q35 15 30 25 Q25 15 30 5' fill='none' stroke='%23c9a227' stroke-width='0.15' opacity='0.15'/%3E%3Cpath d='M30 35 Q35 45 30 55 Q25 45 30 35' fill='none' stroke='%23c9a227' stroke-width='0.15' opacity='0.15'/%3E%3C/svg%3E");background-size:60px 60px}@media(prefers-reduced-motion:reduce){.fade-in,.fade-up,.fade-left,.fade-right,.scale-in,.blur-in,.slide-up-bounce,.hero-logo,.hero-tagline,.scroll-chevron{animation:none!important;transition:opacity .01s!important;filter:none!important}.fade-in.visible,.fade-up.visible,.fade-left.visible,.fade-right.visible,.scale-in.visible,.blur-in.visible,.slide-up-bounce.visible{opacity:1;transform:none!important;filter:none!important}.menu-category,.stagger-children>*{transition:none}.stagger-children.visible>*{opacity:1;transform:none!important}.impressions-grid.visible .impression-item img,.gallery-section.visible .gallery-item img,.location-grid.visible .location-image img,.location-grid.visible .location-accent img,.contact-section.visible .contact-image-block img,.image-strip:has(.image-strip-overlay.visible) .image-strip-parallax img{animation:none!important;clip-path:none!important;opacity:1!important;transform:none!important}}
