.legal-page{min-height:100vh;font-family:var(--body);flex-direction:column;display:flex}.legal-header{padding:0 32px;position:relative;overflow:hidden}.legal-header-inner{z-index:1;max-width:1176px;margin:0 auto;padding:72px 0 64px;position:relative}.legal-back-link{color:var(--hm-ink-500);align-items:center;gap:6px;margin-bottom:32px;font-size:14px;font-weight:500;text-decoration:none;transition:color .16s;display:inline-flex}.legal-back-link:hover{color:var(--hm-teal-text)}.legal-back-link svg{width:16px;height:16px;transition:transform .28s var(--hm-ease)}.legal-back-link:hover svg{transform:translate(-3px)}.legal-badge{color:var(--hm-teal-text);margin-bottom:16px;font-size:15px;font-weight:600;display:block}.legal-header h1{max-width:min(20em,62%);font-family:var(--display);letter-spacing:-.03em;color:var(--hm-ink);margin:0 0 24px;font-size:max(34px,min(4.4vw,54px));font-weight:800;line-height:1.18}:lang(th) .legal-header h1{letter-spacing:-.01em;overflow-wrap:break-word;line-height:1.34}.legal-mask{margin-bottom:-.14em;padding-bottom:.14em;display:block;overflow:hidden}.legal-mask>span{text-wrap:balance;animation:legal-line-up .9s var(--hm-ease) .1s both;display:block}@keyframes legal-line-up{0%{transform:translateY(105%)}}.legal-header-meta{max-width:62%;color:var(--hm-ink-500);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:8px 24px;font-size:14px;display:flex}.legal-header-meta span{align-items:center;display:inline-flex}.legal-meta-note{border:1px solid var(--hm-line);color:var(--hm-ink-500);background:#fff;border-radius:6px;padding:4px 10px}.legal-content{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:72px 32px 112px}.legal-content>:not(.legal-toc){max-width:44em}@media (min-width:1080px){.legal-content{grid-template-columns:248px minmax(0,1fr);align-items:start;column-gap:72px;display:grid}.legal-toc{grid-area:1/1/span 40;max-height:calc(100vh - 120px);position:-webkit-sticky;position:sticky;top:96px;overflow-y:auto}.legal-content>:not(.legal-toc){grid-column:2}}.legal-toc{border-top:2px solid var(--hm-ink);margin-bottom:48px;padding-top:16px}.hm .legal-toc h2{font-family:var(--body);letter-spacing:0;color:var(--hm-teal-text);margin:0 0 12px;font-size:14px;font-weight:600}.legal-toc ol{counter-reset:legal-toc;grid-template-columns:1fr 1fr;gap:0 32px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:1080px){.legal-toc ol{grid-template-columns:1fr}}.legal-toc li{counter-increment:legal-toc;border-bottom:1px solid var(--hm-line);grid-template-columns:2.2ch 1fr;gap:8px;padding:7px 0;font-size:14.5px;line-height:1.5;display:grid}.legal-toc li:before{content:counter(legal-toc);font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--hm-ink-400)}.legal-toc a{color:var(--hm-ink-500);transition:color .16s, background-size .28s var(--hm-ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;justify-self:start;text-decoration:none}.legal-toc a:hover{color:var(--hm-teal-text);background-size:100% 1.5px}.legal-section{margin-bottom:56px;scroll-margin-top:96px}.legal-section-header{align-items:baseline;gap:14px;margin-bottom:20px;padding-bottom:14px;display:flex;position:relative}.legal-section-header:after{content:"";background:var(--hm-line);transform-origin:0;height:1px;transition:transform .9s var(--hm-draw);position:absolute;top:auto;bottom:0;left:0;right:0}html.js .legal-section-header:not(.in):after{transform:scaleX(0)}.legal-section-number{min-width:2ch;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--hm-teal-text);font-size:16px;font-weight:600}.hm .legal-section h2{letter-spacing:-.015em;color:var(--hm-ink);text-wrap:balance;margin:0;font-size:max(22px,min(2.4vw,26px));font-weight:700;line-height:1.35}:lang(th) .hm .legal-section h2{overflow-wrap:break-word;line-height:1.5}.hm .legal-section p{color:var(--hm-ink-500);margin:0 0 16px;font-size:17px;line-height:1.8}.hm .legal-section p:last-child{margin-bottom:0}.legal-section strong,.legal-info-box strong,.legal-notice-box strong{color:var(--hm-ink);font-weight:600}.legal-section a:not(.contact-value),.legal-info-box a{color:var(--hm-teal-text);text-underline-offset:3px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.legal-section a:not(.contact-value):hover,.legal-info-box a:hover{text-decoration-thickness:2px}.legal-page code{background:var(--hm-paper-2);font-family:var(--mono);color:var(--hm-ink);border-radius:6px;padding:1px 6px;font-size:.92em}.legal-subsection{margin:28px 0}.hm .legal-subsection h3{letter-spacing:-.01em;color:var(--hm-ink);margin:0 0 8px;font-size:18px;font-weight:700;line-height:1.45}:lang(th) .hm .legal-subsection h3{line-height:1.6}.legal-list{margin:12px 0 18px;padding:0;list-style:none}.legal-list li{color:var(--hm-ink-500);margin-bottom:10px;padding-left:22px;font-size:17px;line-height:1.75;position:relative}.legal-list li:before{content:"";background:var(--hm-teal);border-radius:2px;width:7px;height:7px;position:absolute;top:.72em;left:2px}.legal-info-box,.legal-notice-box{border:1px solid var(--hm-line);border-radius:16px;margin:24px 0;padding:20px 24px}.legal-info-box{box-shadow:inset 3px 0 0 var(--hm-teal);background:#fff}.legal-notice-box{box-shadow:inset 3px 0 0 var(--hm-amber);background:#fffaf0;border-color:#f3dfb4}.hm .legal-info-box p,.hm .legal-notice-box p{color:var(--hm-ink-500);margin:0;font-size:16px;line-height:1.75}.legal-contact-card{border-radius:24px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px 32px;margin:28px 0 36px;padding:max(28px,min(4vw,40px));display:grid}.legal-contact-item{flex-direction:column;gap:4px;min-width:0;display:flex;position:relative}.legal-contact-item .contact-label{color:var(--hm-fg-3);font-size:13.5px;font-weight:500}.legal-contact-item .contact-value{color:#fff;overflow-wrap:anywhere;font-size:16px;font-weight:600}.legal-contact-item a.contact-value{color:var(--hm-accent);transition:background-size .28s var(--hm-ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;align-self:flex-start;justify-self:start;padding-bottom:2px;text-decoration:none}.legal-contact-item a.contact-value:hover{background-size:100% 1.5px}@media (max-width:768px){.legal-header{padding:0 20px}.legal-header-inner{padding:48px 0 44px}.legal-header h1,.legal-header-meta{max-width:none}.legal-content{padding:48px 20px 88px}.legal-toc ol,.legal-contact-card{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.legal-mask>span{animation:none}html.js .legal-section-header:not(.in):after{transform:none}}
