:root{--red:#c8102e;--red-deep:#8e0b20;--red-soft:#fde8eb;--violet:#4b3fb5;--violet-deep:#2a2273;--violet-soft:#eeebfb;--cream:#f6f4fc;--cream-2:#ebe7f8;--ink:#1f1b3a;--muted:#5e5a74;--line:#e4e0f2;--white:#fff;--gold:#c9a227;--radius:20px;--shadow:0 10px 30px -12px #2a227347;--font-head:"Prompt", "Noto Sans Thai", system-ui, sans-serif;--font-body:"Noto Sans Thai", system-ui, -apple-system, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{background:var(--white);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:var(--red)}h1,h2,h3{font-family:var(--font-head);color:var(--violet-deep);margin:0 0 .5em;line-height:1.25}h1{letter-spacing:-.01em;font-size:clamp(2rem,5vw,3.4rem);font-weight:700}h2{font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:600}h3{font-size:1.15rem;font-weight:600}p{margin:0 0 1em}.wrap{width:min(1160px,100% - 32px);margin-inline:auto}.section{padding:clamp(56px,9vw,104px) 0}.section-cream{background:var(--cream)}.section-head{max-width:640px;margin-bottom:40px}.section-head p{color:var(--muted);font-size:1.05rem}.eyebrow{font-family:var(--font-head);color:var(--violet);background:var(--violet-soft);border-radius:999px;margin-bottom:16px;padding:4px 14px;font-size:.9rem;font-weight:500;display:inline-block}.skip{position:absolute;left:-999px}.skip:focus{z-index:100;background:#fff;padding:8px 12px;top:16px;left:16px}.btn{font-family:var(--font-head);border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 26px;font-size:1rem;font-weight:500;text-decoration:none;transition:transform .15s,background .15s,box-shadow .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--red);color:#fff;box-shadow:0 8px 20px -8px #c8102e99}.btn-primary:hover{background:var(--red-deep)}.btn-ghost{border-color:var(--line);color:var(--ink);background:#fff}.btn-ghost:hover{border-color:var(--red);color:var(--red)}.btn-line{color:#fff;background:#06803c}.btn-sm{padding:9px 18px;font-size:.95rem}.site-header{z-index:50;backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line);background:#ffffffeb;position:sticky;top:0}.header-inner{align-items:center;gap:24px;height:72px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{flex:none;width:40px;height:40px}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-text strong{font-family:var(--font-head);font-size:1.1rem}.brand-text small{color:var(--muted);font-size:.78rem}.nav{gap:26px;margin-left:auto;display:flex}.nav a{color:var(--ink);font-size:.98rem;font-weight:500;text-decoration:none}.nav a:hover{color:var(--red)}.header-actions{align-items:center;gap:12px;display:flex}.lang{font-family:var(--font-head);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.9rem;text-decoration:none}.lang:hover{border-color:var(--red);color:var(--red)}.hero{background:radial-gradient(1200px 500px at 85% -10%, #c8102e1a, transparent 60%), radial-gradient(900px 500px at 0% 0%, #4b3fb524, transparent 60%), linear-gradient(180deg, var(--cream) 0%, #fff 100%);padding:clamp(40px,6vw,80px) 0 clamp(48px,7vw,88px);overflow:hidden}.hero-grid{grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(32px,5vw,64px);display:grid}.hero h1{margin-bottom:20px}.hero h1 em{color:var(--red);font-style:normal}.hero-sub{color:var(--muted);max-width:520px;margin-bottom:28px;font-size:1.12rem}.hero-ctas{flex-wrap:wrap;gap:12px;margin-bottom:28px;display:flex}.rating{align-items:center;gap:12px;display:flex}.rating .stars{color:var(--gold);letter-spacing:2px;font-size:1.1rem}.rating strong{font-family:var(--font-head);font-size:1.3rem}.rating span{color:var(--muted);font-size:.95rem}.hero-photo{position:relative}.hero-photo img{aspect-ratio:4/3.3;object-fit:cover;width:100%;box-shadow:var(--shadow);border-radius:28px}.trust{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:clamp(40px,6vw,64px);display:grid}.trust-item{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:14px;padding:18px 20px;display:flex}.trust-icon{background:var(--violet-soft);width:42px;height:42px;color:var(--violet);border-radius:12px;flex:none;place-items:center;display:grid}.trust-item strong{font-family:var(--font-head);font-weight:600;line-height:1.3;display:block}.trust-item span{color:var(--muted);font-size:.88rem;line-height:1.3}.services{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.service{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.service:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.service img{aspect-ratio:1;object-fit:cover;background:var(--cream);width:100%}.service-body{flex-direction:column;flex:1;padding:18px 20px 20px;display:flex}.service-body p{color:var(--muted);margin-bottom:14px;font-size:.94rem;line-height:1.55}.service-price{font-family:var(--font-head);color:var(--red);margin-top:auto;font-weight:600}.center{text-align:center;margin-top:40px}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,5vw,72px);display:grid}.about-photos{grid-template-columns:1.3fr 1fr;gap:14px;display:grid}.about-photos img{object-fit:cover;border-radius:18px;width:100%}.about-photos .tall{aspect-ratio:3/4;height:100%}.about-photos .stack{gap:14px;display:grid}.about-photos .stack img{aspect-ratio:1}.about-body p{color:var(--muted)}.features{gap:16px;margin:28px 0 0;padding:0;list-style:none;display:grid}.features li{align-items:flex-start;gap:14px;display:flex}.features .tick{background:var(--violet);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;margin-top:2px;display:grid}.features strong{font-family:var(--font-head);display:block}.features span{color:var(--muted);font-size:.95rem}.split{grid-template-columns:1fr 1fr;gap:24px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:32px}.team-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.team-list li{align-items:center;gap:14px;display:flex}.avatar{background:var(--violet-soft);width:52px;height:52px;color:var(--violet);font-family:var(--font-head);border-radius:50%;flex:none;place-items:center;font-size:1.2rem;font-weight:600;display:grid}.team-list strong{font-family:var(--font-head);display:block}.team-list span{color:var(--muted);font-size:.92rem}.family{border-top:1px dashed var(--line);align-items:center;gap:20px;margin-top:24px;padding-top:24px;display:flex}.family img{border-radius:16px;width:96px;height:96px!important}.family p{color:var(--muted);margin:0;font-size:.95rem}.reviews-card{background:linear-gradient(135deg, var(--red) 0%, #9b1653 55%, var(--violet) 100%);color:#fff;border:0;flex-direction:column;justify-content:center;display:flex}.reviews-card h2{color:#fff}.reviews-card .big{font-family:var(--font-head);font-size:4.2rem;font-weight:700;line-height:1}.reviews-card .stars{color:#ffd76a;letter-spacing:4px;margin:6px 0 12px;font-size:1.6rem}.reviews-card p{opacity:.9}.reviews-card .btn{color:var(--red);background:#fff;align-self:flex-start}.contact-grid{grid-template-columns:1fr 1.2fr;align-items:stretch;gap:24px;display:grid}.contact-list{gap:18px;margin:0 0 24px;padding:0;list-style:none;display:grid}.contact-list li{gap:14px;display:flex}.contact-list .ic{background:var(--violet-soft);width:40px;height:40px;color:var(--violet);border-radius:12px;flex:none;place-items:center;display:grid}.contact-list small{color:var(--muted);font-size:.85rem;display:block}.contact-list strong,.contact-list a{font-family:var(--font-head);color:var(--ink);font-weight:500;text-decoration:none}.contact-list a:hover{color:var(--red)}.chips{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.chip{background:var(--violet-soft);color:var(--violet-deep);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:.88rem}.map{border-radius:var(--radius);border:1px solid var(--line);min-height:380px;overflow:hidden}.map iframe{border:0;width:100%;height:100%;min-height:380px;display:block}.page-hero{background:var(--cream);padding:clamp(40px,6vw,72px) 0 clamp(32px,5vw,48px)}.page-hero p{color:var(--muted);max-width:640px;font-size:1.05rem}.price-nav{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.price-nav a{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font-size:.9rem;text-decoration:none}.price-nav a:hover{border-color:var(--red);color:var(--red)}.price-groups{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.price-group{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.price-group h2{background:var(--cream);border-bottom:1px solid var(--line);align-items:center;gap:12px;margin:0;padding:18px 22px;font-size:1.15rem;display:flex}.price-group h2 img{border-radius:10px;width:44px;height:44px!important}.price-group table{border-collapse:collapse;width:100%}.price-group td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px 22px;font-size:.97rem}.price-group tr:last-child td{border-bottom:0}.price-group td:last-child{text-align:right;white-space:nowrap;font-family:var(--font-head);color:var(--violet);font-weight:500}.price-group td small{color:var(--muted);font-size:.82rem;display:block}.price-note{color:var(--muted);margin-top:24px;font-size:.92rem}.cta-band{background:linear-gradient(120deg, var(--violet-deep) 0%, var(--violet) 60%, #8a2d8f 100%);color:#fff;border-radius:28px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:clamp(28px,5vw,48px);display:flex}.cta-band h2{color:#fff;margin-bottom:6px}.cta-band p{opacity:.9;max-width:560px;margin:0}.cta-band .btn{background:var(--red);color:#fff}.site-footer{background:var(--violet-deep);color:#e6e3f7;padding:48px 0 24px}.site-footer a{color:#fff;text-decoration:none}.site-footer a:hover{text-decoration:underline}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:32px;display:flex}.footer-inner p{margin:4px 0;font-size:.95rem}.footer-links{flex-wrap:wrap;align-items:flex-start;gap:22px;display:flex}.copyright{opacity:.6;margin-top:32px;font-size:.85rem}.mobile-bar{display:none}@media (width<=1000px){.services,.trust{grid-template-columns:repeat(2,1fr)}.nav{display:none}.header-actions{margin-left:auto}}@media (width<=820px){.hero-grid,.about-grid,.split,.contact-grid,.price-groups{grid-template-columns:1fr}.about-photos{order:-1}}@media (width<=640px){body{padding-bottom:68px;font-size:16px}.header-actions .btn span{display:none}.header-actions .btn{padding:10px}.services{gap:12px}.service-body{padding:14px}.service-body p{display:none}.trust{gap:10px}.trust-item{flex-direction:column;align-items:flex-start;gap:10px;padding:14px}.card{padding:24px}.price-group td{padding:11px 16px}.mobile-bar{z-index:60;border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#fff;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-bar a{text-align:center;font-family:var(--font-head);border-radius:12px;flex:1;padding:12px 8px;font-size:.95rem;font-weight:500;text-decoration:none}.mb-call{background:var(--red);color:#fff}.mb-map{background:var(--cream);color:var(--ink);border:1px solid var(--line)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.service{transition:none}.btn:hover,.service:hover{transform:none}}.team-photo{aspect-ratio:16/10;object-fit:cover;object-position:center;border-radius:14px;width:100%;margin-bottom:24px}.about-photos .stack img{object-position:center 40%}.gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:14px;display:grid}.gallery img{object-fit:cover;border-radius:16px;width:100%;height:100%!important}.gallery .g-wide{grid-area:span 2/span 2}.storefront{background:var(--violet-soft);border-radius:16px;margin:0 0 24px;overflow:hidden}.storefront img{aspect-ratio:4/3;object-fit:cover;width:100%}.storefront figcaption{color:var(--violet-deep);padding:10px 14px;font-size:.92rem}@media (width<=820px){.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}}.more-services{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:32px;display:flex}.more-services>span:first-child{font-family:var(--font-head);color:var(--violet-deep);margin-right:4px}.hero h1 em{color:var(--red);margin-top:6px;font-size:.62em;font-weight:600;display:block}.btn-line.is-soon{background:var(--violet-soft);color:var(--muted);border:2px dashed var(--line);cursor:not-allowed;box-shadow:none}.btn-line.is-soon:hover{transform:none}.menu{display:none;position:relative}.menu summary{cursor:pointer;border:1px solid var(--line);font-family:var(--font-head);color:var(--violet-deep);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:9px 12px;font-size:.92rem;list-style:none;display:flex}.menu summary::-webkit-details-marker{display:none}.bars,.bars:before,.bars:after{background:currentColor;border-radius:2px;width:18px;height:2px;display:block;position:relative}.bars:before,.bars:after{content:"";position:absolute;left:0}.bars:before{top:-6px}.bars:after{top:6px}.menu[open] .bars{background:0 0}.menu[open] .bars:before{top:0;transform:rotate(45deg)}.menu[open] .bars:after{top:0;transform:rotate(-45deg)}.menu-panel{border:1px solid var(--line);width:min(320px,100vw - 32px);box-shadow:var(--shadow);z-index:70;background:#fff;border-radius:18px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.menu-panel>a{color:var(--ink);font-family:var(--font-head);border-radius:12px;padding:12px 14px;font-weight:500;text-decoration:none}.menu-panel>a:hover,.menu-sub a:hover{background:var(--violet-soft);color:var(--violet)}.menu-sub{border-left:2px solid var(--violet-soft);margin:0 0 6px 14px;padding:0 0 6px 14px;display:grid}.menu-sub a{color:var(--muted);border-radius:10px;padding:7px 10px;font-size:.94rem;text-decoration:none}@media (width<=1000px){.menu{display:block}}@media (width<=640px){.menu-label{display:none}.menu summary{padding:10px}}a:focus-visible,summary:focus-visible,.btn:focus-visible{outline:3px solid var(--violet);outline-offset:2px}.faq-wrap{max-width:820px}.faq{gap:10px;display:grid}.faq details{border:1px solid var(--line);background:#fff;border-radius:14px;padding:4px 18px}.faq summary{cursor:pointer;font-family:var(--font-head);color:var(--violet-deep);justify-content:space-between;gap:12px;padding:12px 0;font-weight:500;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--violet);font-size:1.3rem;line-height:1}.faq details[open] summary:after{content:"–"}.faq details p{color:var(--muted);margin:0 0 14px}.price-group thead th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 22px;font-size:.8rem;font-weight:500}.price-group thead th:last-child{text-align:right}a.chip{color:var(--violet-deep);text-decoration:none}a.chip:hover{border-color:var(--violet)}.svc-hero{grid-template-columns:1.4fr 1fr;align-items:center;gap:40px;display:grid}.svc-img{width:100%;max-width:360px;box-shadow:var(--shadow);border-radius:28px;justify-self:center}.crumbs{color:var(--muted);margin-bottom:12px;font-size:.9rem}.crumbs a{color:var(--violet);text-decoration:none}.svc-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:32px;display:grid}.features .pt{color:var(--ink)}.svc-ask{color:var(--muted);margin:0;padding:14px 22px}.svc-links{flex-wrap:wrap;gap:10px;display:flex}.sso-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.sso-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.sso-list li{border-left:4px solid var(--violet);padding:4px 0 4px 14px}.sso-list strong{font-family:var(--font-head);color:var(--violet-deep);display:block}.sso-list span{color:var(--muted)}@media (width<=820px){.svc-hero,.svc-grid,.sso-grid{grid-template-columns:1fr}.svc-img{order:-1;max-width:220px}}@media (width<=640px){.mb-price{background:var(--violet-soft);color:var(--violet-deep);border:1px solid var(--line)}.hero-ctas .btn{flex:auto}.brand-text strong{white-space:nowrap;font-size:1rem}.brand-text small{white-space:nowrap;font-size:.72rem}.header-inner{gap:10px}.header-actions{gap:8px}}@media (width<=360px){.brand-text small{display:none}}
