@font-face{font-family:Kanit;src:url('assets/fonts/Kanit-Regular.ttf')}@font-face{font-family:Kanit;src:url('assets/fonts/Kanit-Bold.ttf');font-weight:700}@font-face{font-family:Sarabun;src:url('assets/fonts/Sarabun-Regular.ttf')}@font-face{font-family:Sarabun;src:url('assets/fonts/Sarabun-Bold.ttf');font-weight:700}
:root{--ink:oklch(.15 .025 320);--pink:oklch(.67 .25 350);--pink-dark:oklch(.43 .19 350);--ice:oklch(.93 .055 205);--lilac:oklch(.9 .055 305);--white:oklch(.99 .004 320);--muted:oklch(.43 .035 320);--line:oklch(.79 .025 320)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--white);color:var(--ink);font-family:Sarabun,Tahoma,sans-serif;font-size:17px;line-height:1.7}img{display:block;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}h1,h2,h3{margin-top:0;font-family:Kanit,Tahoma,sans-serif;line-height:1.02;letter-spacing:-.035em;text-wrap:balance}p{text-wrap:pretty}.skip{position:fixed;left:16px;top:-80px;z-index:10;padding:10px 16px;background:var(--ice)}.skip:focus{top:12px}
.site-header{height:82px;padding:0 clamp(18px,4vw,64px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:var(--ink);color:white;border-bottom:1px solid #ffffff2d;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;display:grid;place-items:center;background:var(--pink);color:white;border-radius:50%}.brand-mark svg{width:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font-family:Kanit;font-size:17px}.brand small{font-size:9px;letter-spacing:.12em;color:var(--ice)}.site-header nav{display:flex;gap:24px;font:700 13px Kanit}.site-header nav a:hover{color:var(--pink)}.header-book{justify-self:end;padding:11px 18px;background:var(--ice);color:var(--ink);font:700 14px Kanit;border-radius:999px}
.promotion{height:180px;position:relative;background:var(--pink-dark);overflow:hidden}.promotion-stage,.promotion-slide,.promotion-slide picture,.promotion-slide img{width:100%;height:100%}.promotion-slide{display:none;position:relative}.promotion-slide.is-active{display:block}.promotion-slide img{filter:saturate(.55) brightness(.48)}.promotion-copy{position:absolute;inset:0;padding:22px clamp(20px,8vw,120px);display:grid;grid-template-columns:auto minmax(260px,620px) auto;gap:28px;align-items:center;color:white;background:linear-gradient(90deg,oklch(.14 .03 320/.9),oklch(.14 .03 320/.28))}.promotion-copy strong{font:700 clamp(23px,3vw,38px) Kanit}.promotion-copy span{line-height:1.5}.promotion-copy a{padding:10px 16px;background:var(--pink);color:white;font-weight:700;border-radius:999px}.promotion-controls{position:absolute;right:3vw;bottom:3px;display:flex;align-items:center}.promotion-dots{display:flex}.promotion-dots button,.promotion-toggle{width:44px;height:44px;padding:0;border:0;background:transparent;color:white;cursor:pointer;position:relative}.promotion-dots button:after{content:"";position:absolute;left:8px;right:8px;top:20px;height:3px;background:#ffffff70}.promotion-dots button.is-active:after{background:var(--ice)}.promotion-toggle{font-size:16px}.promotion-toggle:focus-visible,.promotion-dots button:focus-visible{outline:3px solid var(--ice);outline-offset:1px}
.hero{height:820px;position:relative;background:var(--ink);color:white;overflow:hidden}.hero-visual{position:absolute;inset:0}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,oklch(.12 .03 320/.94) 0%,oklch(.12 .03 320/.65) 48%,oklch(.12 .03 320/.12) 100%),linear-gradient(0deg,oklch(.12 .03 320/.85),transparent 45%)}.hero-visual img{height:100%;filter:saturate(.72) contrast(1.08)}.cutline{position:absolute;z-index:2;right:30px;top:30px;padding:10px 15px;background:var(--pink);font:700 12px Kanit;letter-spacing:.08em;border-radius:999px}.hero-copy{position:relative;z-index:2;width:min(1180px,calc(100% - 48px));height:100%;margin:auto;padding:105px 0 160px;display:flex;flex-direction:column;justify-content:center}.hero-stamp{color:var(--ice);font:700 12px Kanit;letter-spacing:.14em}.hero h1{margin:12px 0 22px;font-size:clamp(68px,10vw,96px);letter-spacing:-.04em}.hero h1 span{color:var(--pink)}.hero-copy>p:not(.hero-stamp){max-width:620px;font-size:19px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.button{min-height:50px;padding:13px 22px;display:inline-flex;align-items:center;justify-content:center;font:700 15px Kanit;border:1px solid currentColor;border-radius:999px}.button.hot{background:var(--pink);color:white;border-color:var(--pink)}.button.pale{color:white}.button.lime{background:var(--ice);color:var(--ink);border-color:var(--ice)}.button.dark{background:var(--ink);color:white}.hero-facts{position:absolute;z-index:3;left:max(24px,calc((100vw - 1180px)/2));right:max(24px,calc((100vw - 1180px)/2));bottom:0;margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff52}.hero-facts li{padding:22px 24px;border-right:1px solid #ffffff52}.hero-facts li:last-child{border-right:0}.hero-facts b,.hero-facts span{display:block}.hero-facts b{color:var(--ice);font-family:Kanit}.hero-facts span{font-size:14px;color:oklch(.88 .015 320)}
.section{padding:clamp(80px,9vw,140px) max(24px,calc((100vw - 1180px)/2));scroll-margin-top:82px}.about{display:grid;grid-template-columns:repeat(12,1fr);gap:32px;background:var(--ice)}.about-title{grid-column:1/8}.about-title>span{display:inline-block;margin-bottom:22px;padding:7px 13px;background:var(--ink);color:white;font-weight:700;border-radius:999px}.about h2,.section-title h2,.price-heading h2,.gallery-title h2,.standards h2,.faq h2,.policies h2{font-size:clamp(42px,6vw,78px)}.about-body{grid-column:8/13;max-width:60ch;color:var(--muted);font-size:18px}.about-photo{grid-column:2/12;margin:35px 0 0;position:relative}.about-photo img{height:600px;border-radius:14px}.about-photo figcaption{position:absolute;right:20px;bottom:20px;padding:10px 16px;background:white;border-radius:999px;font-weight:700}
.why{padding-top:0;background:var(--pink);color:white}.marquee{margin:0 calc(-1 * max(24px,calc((100vw - 1180px)/2))) 90px;padding:18px 0;overflow:hidden;white-space:nowrap;background:var(--ink);color:var(--ice);font:700 clamp(24px,4vw,56px) Kanit}.why-intro{display:grid;grid-template-columns:1fr .7fr;gap:9vw;align-items:end;margin-bottom:50px}.why-intro h2{font-size:clamp(42px,6vw,78px)}.why-intro p{color:white}.why-lines{border-top:1px solid #ffffff77}.why-lines article{display:grid;grid-template-columns:280px 1fr;gap:40px;padding:26px 0;border-bottom:1px solid #ffffff77}.why-lines b{font:700 24px Kanit;color:var(--ink)}.why-lines p{margin:0}
.services{background:var(--white)}.section-title,.price-heading,.gallery-title,.faq-title{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:52px}.section-title p,.price-heading p{max-width:480px;color:var(--muted)}.service-stack{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.service-stack article{display:flex;flex-direction:column;background:var(--lilac);overflow:hidden;border-radius:14px}.service-stack article:nth-child(1){grid-column:1/8}.service-stack article:nth-child(2){grid-column:8/13}.service-stack article:nth-child(3){grid-column:1/6;background:var(--ice)}.service-stack article:nth-child(4){grid-column:6/13;background:var(--ink);color:white}.service-stack img{height:310px}.service-stack article:nth-child(2) img,.service-stack article:nth-child(3) img{height:250px}.service-stack article>div{padding:28px 28px 12px}.service-stack span{font:700 11px Kanit;letter-spacing:.1em;color:var(--pink-dark)}.service-stack article:nth-child(4) span{color:var(--pink)}.service-stack h3{margin:8px 0;font-size:29px}.service-stack p{margin:0;color:var(--muted)}.service-stack article:nth-child(4) p{color:oklch(.8 .025 320)}.service-stack strong{margin-top:auto;padding:0 28px 28px;color:var(--pink-dark);font:700 20px Kanit}.service-stack article:nth-child(4) strong{color:var(--ice)}
.process{display:grid;grid-template-columns:1.05fr .95fr;padding-left:0;background:var(--ink);color:white}.process-photo{min-height:750px}.process-photo img{height:100%;filter:saturate(.6)}.process-copy{padding:clamp(65px,8vw,120px)}.process-copy h2{font-size:clamp(42px,6vw,76px)}.process-copy ol{margin:45px 0 0;padding:0;list-style:none;border-top:1px solid #ffffff55}.process-copy li{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid #ffffff55}.process-copy li>span{width:38px;height:38px;display:grid;place-items:center;background:var(--pink);border-radius:50%;font-weight:700}.process-copy b{font:700 19px Kanit}.process-copy p{margin:4px 0 0;color:oklch(.83 .02 320)}
.pricing{background:var(--lilac)}.price-board{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.price-board>div{min-height:170px;padding:24px;display:flex;flex-direction:column;background:white;border-radius:12px}.price-board>div:nth-child(1){grid-column:1/5}.price-board>div:nth-child(2){grid-column:5/9}.price-board>div:nth-child(3){grid-column:9/13}.price-board>div:nth-child(4){grid-column:1/7;background:var(--pink);color:white}.price-board>div:nth-child(5){grid-column:7/13;background:var(--ink);color:white}.price-board span{font:700 20px Kanit}.price-board b{margin-top:auto;font:700 29px Kanit;color:var(--pink-dark)}.price-board>div:nth-child(4) b,.price-board>div:nth-child(5) b{color:var(--ice)}.price-board small{color:var(--muted)}.price-board>div:nth-child(4) small,.price-board>div:nth-child(5) small{color:white}.price-note{max-width:850px;margin-top:26px;color:var(--muted);font-size:14px}
.gallery{padding-right:0;background:var(--white)}.gallery-title{padding-right:max(24px,calc((100vw - 1180px)/2))}.gallery-title span{color:var(--pink-dark);font-weight:700}.gallery-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:var(--pink) transparent}.gallery-track figure{flex:0 0 min(460px,78vw);margin:0;scroll-snap-align:start}.gallery-track figure:nth-child(even){flex-basis:min(340px,72vw)}.gallery-track img{height:470px;border-radius:12px}.gallery-track figure:nth-child(even) img{height:390px}.gallery-track figcaption{padding-top:10px;font:700 12px Kanit;color:var(--pink-dark)}
.standards{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;background:var(--ice)}.standards-list{border-top:1px solid var(--ink)}.standards-list article{padding:24px 0;border-bottom:1px solid var(--line)}.standards-list span{font:700 21px Kanit}.standards-list p{color:var(--muted)}
.faq{background:var(--white)}.faq-title a{font-weight:700;color:var(--pink-dark)}.faq-list{border-top:2px solid var(--ink)}details{border-bottom:1px solid var(--line)}summary{padding:22px 0;display:flex;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font:700 19px Kanit}summary::-webkit-details-marker{display:none}summary span{color:var(--pink);font-size:26px;transition:.2s}details[open] summary span{transform:rotate(45deg)}details p{max-width:70ch;margin:0;padding:0 40px 22px 0;color:var(--muted)}
.contact{display:grid;grid-template-columns:1fr 1fr;background:var(--pink);color:white}.contact-main{padding:clamp(65px,8vw,115px)}.contact-main>span{font-weight:700}.contact-main h2{margin:20px 0;font-size:clamp(52px,7vw,90px)}address{padding:clamp(65px,8vw,115px);display:grid;grid-template-columns:1fr 1fr;gap:28px;background:var(--ink);font-style:normal}address div{padding-top:12px;border-top:1px solid #ffffff55}address small{color:var(--ice);font-weight:700}address a,address p{display:block;margin:8px 0 0;overflow-wrap:anywhere}.map{grid-column:1/3;height:460px}.map iframe{width:100%;height:100%;border:0;filter:grayscale(.7) contrast(1.06)}
.policies{background:var(--lilac)}.policy-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:45px;gap:16px}.policy-grid article{padding:26px;background:white;border-radius:12px}.policy-grid h3{font-size:19px}.policy-grid p{font-size:14px;color:var(--muted)}
footer{padding:75px max(24px,calc((100vw - 1180px)/2)) 25px;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:50px;background:var(--ink);color:white}.footer-brand .brand-mark{background:var(--pink)}footer h2{margin:18px 0 8px}footer h3{color:var(--ice)}footer a,footer span{display:block;margin:8px 0;color:oklch(.86 .03 320)}footer>div:not(.footer-brand):not(.copyright){display:flex;flex-direction:column;align-items:flex-start}.copyright{grid-column:1/5;padding-top:20px;margin-top:20px;border-top:1px solid #ffffff55;display:flex;justify-content:space-between}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.promotion-copy{grid-template-columns:1fr}.promotion-copy span{display:none}.promotion-copy a{justify-self:start}.hero{height:760px}.hero-copy{padding-top:70px}.about-title{grid-column:1/8}.about-body{grid-column:8/13}.service-stack article:nth-child(n){grid-column:span 6}.process{grid-template-columns:1fr}.process-photo{min-height:520px}.standards{grid-template-columns:1fr}.policy-grid{grid-template-columns:1fr 1fr}footer{grid-template-columns:1.4fr 1fr 1fr}.copyright{grid-column:1/4}}
@media(max-width:620px){.site-header{height:74px;padding:0 16px}.brand-mark{width:42px;height:42px}.brand strong{font-size:14px}.brand small{font-size:7px}.header-book{display:none}.promotion{height:210px}.promotion-copy{padding:24px 20px}.hero{height:auto;min-height:800px}.hero-copy{width:calc(100% - 40px);padding:70px 0 300px}.hero h1{font-size:64px}.hero-copy>p:not(.hero-stamp){font-size:16px}.cutline{right:16px;top:16px}.hero-facts{left:0;right:0;grid-template-columns:1fr}.hero-facts li{padding:13px 20px;border-right:0;border-bottom:1px solid #ffffff55}.section{padding:72px 20px}.about-title,.about-body,.about-photo{grid-column:1/13}.about-photo img{height:390px}.marquee{margin:0 -20px 65px}.why-intro{grid-template-columns:1fr}.why-lines article{grid-template-columns:1fr;gap:5px}.section-title,.price-heading,.gallery-title,.faq-title{align-items:flex-start;flex-direction:column}.service-stack article:nth-child(n){grid-column:1/13}.service-stack img,.service-stack article:nth-child(2) img,.service-stack article:nth-child(3) img{height:245px}.process{padding-left:0}.process-photo{min-height:0;height:450px}.process-copy{padding:65px 20px}.price-board>div:nth-child(n){grid-column:1/13}.gallery{padding-right:0}.gallery-title{padding-right:20px}.gallery-track figure,.gallery-track figure:nth-child(even){flex-basis:82vw}.gallery-track img,.gallery-track figure:nth-child(even) img{height:360px}.contact{grid-template-columns:1fr}address{grid-template-columns:1fr}.map{grid-column:auto}.policy-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr}.copyright{grid-column:auto;flex-direction:column;gap:8px}}
@media(max-width:420px){.hero-copy .actions,.contact-main .actions{flex-direction:column}.hero-copy .button,.contact-main .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
