.contact-form-section[data-astro-cid-ca7uxiov]{background-color:var(--color-bg);padding:var(--section-padding-md) 0}.contact-form-container[data-astro-cid-ca7uxiov]{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.contact-form-card[data-astro-cid-ca7uxiov]{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000f;padding:var(--space-2xl) var(--space-2xl) var(--space-xl)}.contact-form-title[data-astro-cid-ca7uxiov]{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:300;color:var(--color-primary);text-align:center;margin-bottom:var(--space-md)}.contact-form-disclaimer[data-astro-cid-ca7uxiov]{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-secondary-dark);text-align:center;line-height:1.6;margin-bottom:var(--space-2xl);max-width:720px;margin-left:auto;margin-right:auto}.contact-form[data-astro-cid-ca7uxiov]{display:flex;flex-direction:column;gap:var(--space-lg)}.form-row[data-astro-cid-ca7uxiov]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.form-group[data-astro-cid-ca7uxiov]{display:flex;flex-direction:column}.form-label[data-astro-cid-ca7uxiov]{font-family:var(--font-body);font-size:var(--text-base);font-weight:500;color:var(--color-secondary-dark);margin-bottom:6px}.required[data-astro-cid-ca7uxiov]{color:#ef4444}.form-input[data-astro-cid-ca7uxiov],.form-textarea[data-astro-cid-ca7uxiov]{font-family:var(--font-body);font-size:var(--text-base);padding:12px 16px;border:1px solid var(--color-gray-light);border-radius:var(--radius-md);background-color:var(--color-white);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input[data-astro-cid-ca7uxiov]:focus,.form-textarea[data-astro-cid-ca7uxiov]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0078641a}.form-textarea[data-astro-cid-ca7uxiov]{resize:vertical;min-height:120px}.form-error[data-astro-cid-ca7uxiov]{font-size:var(--text-xs);color:#ef4444;margin-top:4px;display:none}.form-group[data-astro-cid-ca7uxiov].has-error .form-input[data-astro-cid-ca7uxiov],.form-group[data-astro-cid-ca7uxiov].has-error .form-textarea[data-astro-cid-ca7uxiov]{border-color:#ef4444;background-color:#ef44440d}.form-group[data-astro-cid-ca7uxiov].has-error .form-error[data-astro-cid-ca7uxiov]{display:block}.btn-submit[data-astro-cid-ca7uxiov]{width:100%;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;letter-spacing:2px;padding:14px 32px;background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.btn-submit[data-astro-cid-ca7uxiov]:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-white);transform:translateY(-1px)}.btn-submit[data-astro-cid-ca7uxiov]:disabled{opacity:.6;cursor:not-allowed}.form-status[data-astro-cid-ca7uxiov]{display:none;padding:var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.5}.form-status[data-astro-cid-ca7uxiov].success{display:block;background-color:#00786414;border-left:3px solid var(--color-primary);color:var(--color-primary)}.form-status[data-astro-cid-ca7uxiov].error{display:block;background-color:#ef444414;border-left:3px solid #ef4444;color:#991b1b}@media(max-width:1024px){.form-row[data-astro-cid-ca7uxiov]{grid-template-columns:1fr 1fr}}@media(max-width:768px){.contact-form-section[data-astro-cid-ca7uxiov]{padding:var(--section-padding-sm) 0}.contact-form-card[data-astro-cid-ca7uxiov]{padding:var(--space-xl) var(--space-lg)}.contact-form-title[data-astro-cid-ca7uxiov]{font-size:var(--text-xl)}.contact-form-disclaimer[data-astro-cid-ca7uxiov]{font-size:var(--text-xs)}.form-row[data-astro-cid-ca7uxiov]{grid-template-columns:1fr}.form-label[data-astro-cid-ca7uxiov]{font-size:var(--text-sm)}.form-input[data-astro-cid-ca7uxiov],.form-textarea[data-astro-cid-ca7uxiov]{font-size:var(--text-sm);padding:10px 14px}}.gallery-section{padding:var(--space-3xl) 0;background-color:var(--color-off-white)}.gallery-container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.gallery-container--full{max-width:100%;padding:0 var(--space-md)}.gallery-header{text-align:center;margin-bottom:var(--space-2xl)}.gallery-title{font-size:var(--text-4xl);margin:0;color:var(--color-primary);font-family:var(--font-heading);font-weight:300}.gallery-subtitle{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:3px;color:var(--color-secondary-dark);margin-top:4px;font-family:var(--font-body)}.gallery-subtitle .text-thai,.gallery-subtitle .text-thai-body,.gallery-subtitle .text-chinese,.gallery-subtitle .text-chinese-body{font-size:var(--text-base);letter-spacing:normal;text-transform:none}@media(max-width:768px){.gallery-title{font-size:var(--text-3xl)}}.gallery-filter{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-2xl)}.gallery-filter-btn{font-family:var(--font-body);font-size:var(--text-sm);padding:var(--space-xs) var(--space-lg);border:1px solid var(--color-gray-light);border-radius:var(--radius-full);background:var(--color-white);color:var(--color-secondary-dark);cursor:pointer;transition:all var(--transition-base)}.gallery-filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.gallery-filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.gallery-empty{text-align:center;padding:var(--space-3xl) var(--space-md)}.gallery-empty-icon{color:var(--color-gray);margin-bottom:var(--space-md)}.gallery-empty-text{font-size:var(--text-lg);color:var(--color-secondary);margin:0}.gallery-masonry{column-count:var(--desktop-cols);column-gap:var(--space-md)}@media(max-width:1024px){.gallery-masonry{column-count:var(--tablet-cols)}}@media(max-width:640px){.gallery-masonry{column-count:var(--mobile-cols)}}.gallery-masonry .gallery-item{break-inside:avoid;margin-bottom:var(--space-md)}.gallery-grid{display:grid;grid-template-columns:repeat(var(--desktop-cols),1fr);gap:var(--space-md)}@media(max-width:1024px){.gallery-grid{grid-template-columns:repeat(var(--tablet-cols),1fr)}}@media(max-width:640px){.gallery-grid{grid-template-columns:repeat(var(--mobile-cols),1fr)}}.gallery-grid .gallery-item img{aspect-ratio:4/3;object-fit:cover}.gallery-item{overflow:hidden;border-radius:var(--radius-md);position:relative;display:none}.gallery-item.visible{display:block}.gallery-item img{width:100%;height:auto;display:block;transition:transform .4s ease,opacity .3s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-item-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#000000b3,#0000);color:var(--color-white);padding:var(--space-lg) var(--space-md) var(--space-md);font-size:var(--text-sm);opacity:0;transition:opacity var(--transition-base)}.gallery-item:hover .gallery-item-caption{opacity:1}.gallery-slider{position:relative}.gallery-slider-wrapper{height:var(--slider-height);overflow:hidden;border-radius:var(--radius-lg);position:relative;cursor:grab;user-select:none}@media(max-width:640px){.gallery-slider-wrapper{height:var(--slider-height-mobile)}}.gallery-slider-track{display:flex;height:100%;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.gallery-slide{flex-shrink:0;width:100%;height:100%;position:relative}.gallery-slide img{width:100%;height:100%;object-fit:cover;display:block}[data-show-lightbox=true] .gallery-item,[data-show-lightbox=true] .gallery-slide img{cursor:pointer}.gallery-slider-prev,.gallery-slider-next{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:#00000026;color:#ffffffd9;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);z-index:2}.gallery-slider-prev{left:var(--space-md)}.gallery-slider-next{right:var(--space-md)}.gallery-slider-prev:hover,.gallery-slider-next:hover{color:var(--color-white);background:#0000004d}@media(max-width:1024px){.gallery-slider-prev,.gallery-slider-next{width:36px;height:36px}}@media(max-width:640px){.gallery-slider-prev,.gallery-slider-next{width:32px;height:32px}.gallery-slider-prev{left:var(--space-sm)}.gallery-slider-next{right:var(--space-sm)}}.gallery-slider-counter{position:absolute;bottom:var(--space-md);right:var(--space-lg);background:#00000026;color:#ffffffd9;font-size:var(--text-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);z-index:2}.gallery-load-more-wrapper{display:flex;justify-content:center;margin-top:var(--space-2xl)}.gallery-load-more{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:var(--font-heading);font-weight:400;font-size:var(--text-base);color:var(--color-primary);padding:var(--space-sm) var(--space-xl);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:transparent;cursor:pointer;letter-spacing:1px;transition:all var(--transition-base)}.gallery-load-more:hover{background:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-md);transform:translateY(-1px)}.gallery-load-more.hidden{display:none}.gallery-lightbox{position:fixed;inset:0;background:#000000eb;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s ease}.gallery-lightbox.active{opacity:1;pointer-events:auto;visibility:visible}.gallery-lightbox-content{position:relative;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;align-items:center}.gallery-lightbox-image{max-width:100%;max-height:calc(85vh - 60px);object-fit:contain;opacity:0;transition:opacity .3s ease}.gallery-lightbox-image.loaded{opacity:1}.gallery-lightbox-caption{color:var(--color-white);margin-top:var(--space-md);font-size:var(--text-base);text-align:center}.gallery-lightbox-close{position:absolute;top:var(--space-lg);right:var(--space-lg);width:40px;height:40px;border:none;background:#fff3;backdrop-filter:blur(8px);color:var(--color-white);border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base);z-index:10001}.gallery-lightbox-close:hover{background:#ffffff4d}.gallery-lightbox-prev,.gallery-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:none;background:#fff3;backdrop-filter:blur(8px);color:var(--color-white);border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base);z-index:10001}.gallery-lightbox-prev{left:var(--space-lg)}.gallery-lightbox-next{right:var(--space-lg)}.gallery-lightbox-prev:hover,.gallery-lightbox-next:hover{background:#ffffff4d}.gallery-lightbox-prev.hidden,.gallery-lightbox-next.hidden{display:none}.gallery-lightbox-counter{position:absolute;bottom:var(--space-lg);left:50%;transform:translate(-50%);color:var(--color-white);font-size:var(--text-sm);background:#00000080;backdrop-filter:blur(8px);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full)}@media(max-width:640px){.gallery-lightbox-prev{left:var(--space-sm)}.gallery-lightbox-next{right:var(--space-sm)}.gallery-lightbox-close{top:var(--space-sm);right:var(--space-sm)}}
