:root{--brand: #560519;--brand-dark: #3d0312;--brand-light: #7a0a26;--ink: #2b2b2b;--muted: #6b6b6b;--line: #ececec;--bg: #ffffff;--bg-soft: #faf7f5;--radius: 18px;--shadow: 0 10px 30px rgba(86, 5, 25, .08);--shadow-hover: 0 18px 45px rgba(86, 5, 25, .16);--font-head: "Kanit", sans-serif;--font-body: "Rosario", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:#f4f3f4;line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-head);line-height:1.2;font-weight:600}#preloader{position:fixed;inset:0;z-index:1000;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;opacity:1;transition:opacity .6s ease,visibility .6s ease}#preloader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.preloader-logo{width:110px;height:auto;animation:preloader-pulse 1.4s ease-in-out infinite}@keyframes preloader-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.75}}.preloader-bar{width:160px;height:3px;border-radius:3px;background:var(--line);overflow:hidden}.preloader-bar span{display:block;height:100%;width:40%;border-radius:3px;background:var(--brand);animation:preloader-slide 1.1s ease-in-out infinite}@keyframes preloader-slide{0%{transform:translate(-100%)}to{transform:translate(400%)}}.hero{position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 24px 90px;background:url(/img/bg.jpg) center / cover no-repeat;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#1e020ab8,#3d0312ad 55%,#1e020acc)}.hero-inner{max-width:820px;animation:hero-in 1s ease both .2s}@keyframes hero-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-logo{width:min(340px,68vw);margin:0 auto 34px;filter:drop-shadow(0 8px 30px rgba(0,0,0,.45))}.hero-tagline{font-family:var(--font-head);font-weight:500;font-size:clamp(1.35rem,3.2vw,2.1rem);color:#fff;text-wrap:balance;max-width:700px;margin:0 auto 18px}.hero-sub{color:#ffffffd1;font-size:clamp(1rem,2vw,1.15rem);max-width:560px;margin:0 auto 38px}.hero-cta{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:500;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:var(--brand);background:#fff;padding:15px 34px;border-radius:999px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.hero-cta:hover{transform:translateY(-3px);box-shadow:0 14px 34px #00000059;background:#fdf3f0}.container{width:min(1180px,100% - 48px);margin:0 auto}.section{width:min(1180px,100% - 48px);margin:72px auto 0;background:#fff;border-radius:30px;box-shadow:0 24px 70px #2b2b2b17;padding:clamp(44px,6vw,72px) clamp(24px,5vw,64px)}.section .container{width:100%}.section-head{max-width:820px;margin:0 auto 52px;text-align:center}.section-kicker{font-family:var(--font-head);font-size:.8rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--brand);display:inline-flex;align-items:center;gap:10px;margin-bottom:14px}.section-title{font-size:clamp(1.9rem,5vw,3rem);font-weight:700;color:var(--brand-dark);margin-bottom:14px}.section-desc{color:var(--muted);font-size:1.06rem}.subsection{margin-top:54px}.subsection-title{font-size:clamp(2.3rem,4.8vw,2.9rem);font-weight:600;color:var(--ink);text-align:center;margin-bottom:32px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:26px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 26px 26px;display:flex;flex-direction:column;gap:18px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover);border-color:#56051938}.card-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;color:var(--brand);background:linear-gradient(135deg,#56051914,#56051908);transition:background .3s ease,color .3s ease}.card:hover .card-icon{background:var(--brand);color:#fff}.card-icon svg{width:26px;height:26px}.card-body{flex:1;display:flex;flex-direction:column;gap:10px}.card-title{font-size:1.12rem;font-weight:600;color:var(--ink)}.card-code{align-self:flex-start;font-family:var(--font-head);font-size:.78rem;font-weight:500;letter-spacing:.08em;color:var(--brand);background:#56051912;border:1px solid rgba(86,5,25,.14);padding:4px 12px;border-radius:999px}.card-download{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-head);font-weight:500;font-size:.95rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:#fff;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);padding:13px 22px;border-radius:999px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.card-download:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--brand-dark) 0%,var(--brand) 100%);opacity:0;transition:opacity .25s ease}.card-download span,.card-download svg{position:relative;z-index:1}.card-download svg{width:18px;height:18px;transition:transform .25s ease}.card-download:hover{transform:translateY(-2px);box-shadow:0 10px 26px #56051959}.card-download:hover:before{opacity:1}.card-download:hover svg{transform:translateY(3px)}.footer{margin-top:84px;background:var(--brand-dark);color:#ffffffbf;padding:46px 0 30px;text-align:center}.footer-logo{width:190px;margin:0 auto 18px}.footer p{font-size:.95rem}.footer-credit{margin-top:22px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;align-items:center;gap:10px;font-size:.85rem;color:#ffffff8c}.footer-credit a{display:inline-flex;align-items:center;gap:8px;color:#ffffffd9;text-decoration:none;transition:color .25s ease}.footer-credit a:hover{color:#fff}.footer-credit img{height:20px;width:auto}@media(max-width:640px){.hero{min-height:70vh;padding:96px 20px 70px}.section{width:min(1180px,100% - 28px);margin-top:48px;border-radius:22px;padding:40px 20px}.grid{grid-template-columns:1fr;gap:18px}.card{padding:24px 22px 22px}}
