*,*:before,*:after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}body{margin:0;font-family:Sarabun,Inter,sans-serif;font-size:1rem;line-height:1.6;color:#f4ecd8;background-color:#1a2318;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,Sarabun,serif;font-weight:700;line-height:1.2;color:#f4ecd8;margin:0 0 .5em}h1{font-size:3.5rem}h2{font-size:2.5rem}h3{font-size:2rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}@media(max-width:430px){h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}}p{margin:0 0 1rem;color:#e8d8b8;line-height:1.8}a{color:#8aac6a;text-decoration:none;transition:color .2s ease}a:hover{color:#c89b6e}strong{font-weight:700}em{font-style:italic}small{font-size:.875rem}.text-display{font-family:Playfair Display,Sarabun,serif;font-size:clamp(2.5rem,6vw,5rem);font-weight:700;line-height:1.2;letter-spacing:-.02em}.text-display-sm{font-family:Playfair Display,Sarabun,serif;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:600}.text-section-title{font-family:Playfair Display,Sarabun,serif;font-size:clamp(1.5rem,3.5vw,2rem);font-weight:700;color:#c89b6e;text-transform:uppercase;letter-spacing:.1em}.text-accent{color:#c89b6e}.text-primary{color:#8aac6a}.text-muted{color:#8a8570}.text-cream{color:#f4ecd8}.text-center{text-align:center}.th-heading{font-family:Sarabun,sans-serif;font-weight:700}.en-heading{font-family:Playfair Display,serif}::selection{background:#3d6130;color:#f4ecd8}@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes scaleInBounce{0%{opacity:0;transform:scale(.7)}70%{opacity:1;transform:scale(1.05)}to{transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes floatSlow{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-8px) rotate(1deg)}66%{transform:translateY(4px) rotate(-1deg)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #8aac6a00}50%{box-shadow:0 0 18px 6px #8aac6a66}}@keyframes soundBar1{0%,to{height:4px}50%{height:18px}}@keyframes soundBar2{0%,to{height:12px}25%{height:4px}75%{height:22px}}@keyframes soundBar3{0%,to{height:8px}40%{height:20px}80%{height:4px}}@keyframes soundBar4{0%,to{height:16px}30%{height:4px}60%{height:12px}}@keyframes soundBar5{0%,to{height:6px}50%{height:18px}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.anim-fade-up{animation:fadeUp .6s cubic-bezier(.16,1,.3,1) both}.anim-fade-in{animation:fadeIn .35s ease-out both}.anim-scale-in{animation:scaleIn .4s cubic-bezier(.16,1,.3,1) both}.anim-slide-left{animation:slideInLeft .5s cubic-bezier(.16,1,.3,1) both}.anim-float{animation:float 4s ease-in-out infinite}.anim-float-slow{animation:floatSlow 6s ease-in-out infinite}.anim-delay-1{animation-delay:0ms}.anim-delay-2{animation-delay:80ms}.anim-delay-3{animation-delay:.16s}.anim-delay-4{animation-delay:.24s}.anim-delay-5{animation-delay:.32s}.anim-delay-6{animation-delay:.4s}.anim-delay-7{animation-delay:.48s}.anim-delay-8{animation-delay:.56s}.anim-delay-9{animation-delay:.64s}.anim-delay-10{animation-delay:.72s}.anim-delay-11{animation-delay:.8s}.anim-delay-12{animation-delay:.88s}.aos-hidden{opacity:0;transform:translateY(40px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.aos-visible{opacity:1;transform:translateY(0)}.aos-hidden-left{opacity:0;transform:translate(-40px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.aos-hidden-right{opacity:0;transform:translate(40px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.skeleton{background:linear-gradient(90deg,#2a3528 25%,#3a4838,#2a3528 75%);background-size:600px 100%;animation:shimmer 1.4s infinite linear;border-radius:6px}.image-placeholder{background:linear-gradient(135deg,#2a3528,#3d5030,#2a3528);display:flex;align-items:center;justify-content:center;color:#f4ecd859;font-size:.75rem;font-style:italic;text-align:center;padding:1rem;letter-spacing:.05em;min-height:200px;width:100%;border:1px dashed rgba(244,236,216,.12)}.ql-toolbar{background:#3b2a1c!important;border-color:#f4ecd826!important}.ql-container{background:#1a2318cc!important;border-color:#f4ecd826!important;color:#e8d8b8!important;font-family:Sarabun,Inter,sans-serif!important;font-size:1rem!important}.ql-editor{min-height:200px;line-height:1.7}.ql-editor.ql-blank:before{color:#8a8570!important}.ql-toolbar .ql-stroke{stroke:#e8d8b8!important}.ql-toolbar .ql-fill{fill:#e8d8b8!important}.ql-toolbar .ql-picker{color:#e8d8b8!important}.ql-toolbar button:hover .ql-stroke,.ql-toolbar button.ql-active .ql-stroke{stroke:#c89b6e!important}.page-wrapper{min-height:100vh;display:flex;flex-direction:column}.page-content{flex:1}.btn-primary,.btn-danger{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;background:#3d6130;color:#f4ecd8;border:none;border-radius:12px;font-family:Sarabun,Inter,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .2s,transform .15s,box-shadow .2s}.btn-primary:hover,.btn-danger:hover{background:#527a43;transform:translateY(-2px);box-shadow:0 4px 16px #00000059}.btn-primary:active,.btn-danger:active{transform:translateY(0)}.btn-primary:focus-visible,.btn-danger:focus-visible{outline:3px solid #8aac6a;outline-offset:2px}.btn-primary:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-outline{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.7rem;background:transparent;color:#f4ecd8;border:1.5px solid rgba(244,236,216,.18);border-radius:12px;font-family:Sarabun,Inter,sans-serif;font-size:1rem;font-weight:500;cursor:pointer;text-decoration:none;transition:border-color .2s,color .2s,background .2s,transform .15s}.btn-outline:hover{border-color:#c89b6e;color:#c89b6e;background:#c89b6e14}.btn-outline:focus-visible{outline:3px solid #8aac6a;outline-offset:2px}.btn-danger{background:#c0392b}.btn-danger:hover{background:#9b2e22}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem}.form-label{font-size:.875rem;font-weight:600;color:#e8d8b8}.form-control{width:100%;padding:.7rem 1rem;background:#1a231899;border:1px solid rgba(244,236,216,.15);border-radius:6px;color:#f4ecd8;font-family:Sarabun,Inter,sans-serif;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-control:focus{outline:none;border-color:#8aac6a;box-shadow:0 0 0 3px #8aac6a33}.form-control::placeholder{color:#8a8570}textarea.form-control{resize:vertical;min-height:120px}.form-error{font-size:.8rem;color:#c0392b;margin-top:.2rem}.card{background:#3b2a1c59;border:1px solid rgba(244,236,216,.08);border-radius:20px;overflow:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1)}.card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000073}.section-tag{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#c89b6e;margin-bottom:.75rem}.divider{border:none;border-top:1px solid rgba(244,236,216,.08);margin:2rem 0}.toast{position:fixed;bottom:5rem;left:50%;transform:translate(-50%);z-index:400;background:#3d6130;color:#f4ecd8;padding:.9rem 1.75rem;border-radius:9999px;font-size:.95rem;font-weight:600;box-shadow:0 12px 40px #00000073;animation:fadeUp .4s cubic-bezier(.16,1,.3,1) both}.skip-link{position:absolute;top:-100%;left:1rem;z-index:9999;background:#3d6130;color:#f4ecd8;padding:.5rem 1rem;border-radius:6px;font-weight:600;text-decoration:none}.skip-link:focus{top:1rem}
