/* ============================================================
   zenscan.ai · Public pages (landing / auth / legal) · Day 96 redesign
   แหล่งอ้างอิง: design-reference/zenscan-design/dist/assets/public-pages.css (ส่วน .pub-*)
   โหลดหลัง tokens.css + shell.css (หน้า standalone ไม่ผ่าน render_v3_shell)
   หลักการ: ใช้ตัวแปรธีมเท่านั้น · ไม่มี glass/blob/aurora/รูปมาสคอต · ไม่มี serif/ตัวเอียง
   ============================================================ */

/* ---------- site frame ---------- */
.pub-site{max-width:1400px;margin:0 auto;padding:0 44px;color:var(--text);min-width:0}
.pub-site a{text-decoration:none;color:inherit}
.pub-site button{font:inherit}
.pub-site .btn{font-family:var(--font)}
.pub-site .btn svg{width:1.1em;height:1.1em}

/* ---------- header ---------- */
.pub-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:96px;border-bottom:1px solid var(--border)}
.pub-brand-link{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0}
.pub-marketing-nav{display:flex;gap:32px;color:var(--text2);font-size:13px}
.pub-marketing-nav a{padding:16px 0}
.pub-marketing-nav a:hover,.pub-footer-links a:hover{color:var(--text)}
.pub-header-actions{gap:10px}
.pub-header-actions .btn{font-size:13px;min-height:42px}
.pub-header-actions .zb-th-btn{width:42px;height:42px;border:1px solid var(--border);border-radius:9px;color:var(--text2)}
.pub-header-actions .zb-th-btn:hover{color:var(--text);background:var(--surface2)}
.pub-nav-help{font-size:12px;color:var(--text3);white-space:nowrap}
.pub-kicker{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.15em;font-weight:650;color:var(--text2)}
.pub-kicker>span{width:6px;height:6px;background:var(--cyan);border-radius:50%}

/* ---------- hero ---------- */
.pub-hero{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:42px;padding:85px 0 76px;min-height:690px}
.pub-hero-copy{padding-bottom:22px;min-width:0}
.pub-hero h1{font-size:clamp(32px,3.35vw,51px);line-height:1.4;letter-spacing:-.045em;margin:23px 0;font-weight:620;white-space:nowrap}
.pub-hero h1 em{font-style:normal;color:var(--text2);font-weight:440}
.pub-hero-description{font-family:var(--thai);font-size:16px;line-height:1.9;color:var(--text2);margin:0 0 29px;max-width:500px}
.pub-hero-description b{color:var(--text);font-weight:600}
.pub-hero-cta{display:flex;gap:11px;flex-wrap:wrap}
.pub-hero-cta .btn{min-height:48px;font-size:13px;padding:12px 18px}
.pub-under-cta{font-size:11px;color:var(--text3);margin:14px 0 28px}
.pub-hero-footnote{display:flex;align-items:flex-start;gap:9px;color:var(--text3);font-size:11px;padding-top:20px;border-top:1px solid var(--border);max-width:420px;line-height:1.7;font-family:var(--thai)}
.pub-hero-footnote svg{flex-shrink:0;margin-top:2px}

/* ---------- product miniature (ภาพตัวอย่างหน้าจอ · ติดป้าย "ตัวอย่าง") ---------- */
.pub-product-stage{position:relative;padding-bottom:34px;min-width:0}
.pub-preview-window{border:1px solid var(--border);background:var(--surface);border-radius:13px;overflow:hidden;box-shadow:0 30px 70px -42px rgba(0,0,0,.55);transform:perspective(1600px) rotateY(-5deg) rotateX(1deg);transform-origin:center}
.pub-window-bar{height:38px;display:flex;align-items:center;gap:14px;justify-content:space-between;background:var(--surface2);border-bottom:1px solid var(--border);padding:0 14px;font-size:9px;color:var(--text3)}
.pub-window-bar>span:nth-child(2){display:flex;align-items:center;gap:5px}
.pub-window-dots{display:flex;gap:4px}
.pub-window-dots i{display:block;width:5px;height:5px;border-radius:50%;background:var(--text3);opacity:.5}
.pub-preview-shell{display:grid;grid-template-columns:50px minmax(0,1fr)}
.pub-preview-rail{padding:15px 10px;display:flex;flex-direction:column;gap:24px;align-items:center;border-right:1px solid var(--border);background:var(--sidebar)}
.pub-preview-rail>.brand-lockup>svg{width:25px;height:25px}
.pub-preview-rail>span{color:var(--text3);width:30px;height:30px;display:flex;align-items:center;justify-content:center}
.pub-preview-rail>.is-active{color:var(--cyan-text);background:color-mix(in srgb,var(--cyan) 12%,transparent);border-radius:7px}
.pub-preview-main{padding:19px 18px 18px;min-width:0}
.pub-preview-main .eyebrow{font-size:7px;letter-spacing:.13em;margin-bottom:0}
.pub-preview-main h3{font-size:16px;font-weight:550;letter-spacing:-.02em;margin:6px 0}
.pub-preview-main .pill{font-size:8px;padding:3px 6px}
.pub-live-label{font-size:8px;color:var(--text3);display:flex;align-items:center;gap:5px;white-space:nowrap}
.pub-live-label i{width:4px;height:4px;background:var(--green);border-radius:100%}
.pub-preview-metrics{display:grid;grid-template-columns:1.2fr .9fr .9fr;border:1px solid var(--border);border-radius:8px;margin:15px 0}
.pub-preview-metrics>div{padding:10px 12px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:4px;min-width:0}
.pub-preview-metrics>div:last-child{border:0}
.pub-preview-metrics small{font-size:8px;color:var(--text3)}
.pub-preview-metrics b{font-size:14px;font-weight:530}
.pub-preview-metrics b em{font-size:7px;font-style:normal;color:var(--text3)}
.pub-preview-metrics span{font-size:7px;color:var(--text2)}
.pub-preview-chart{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:11px 9px 8px}
.pub-preview-chart>.row{font-size:9px}
.pub-preview-chart>.row>.row{gap:6px}
.pub-preview-chart .coin{width:20px;height:20px;font-size:8px}
.pub-preview-chart>svg{width:100%;height:170px;display:block;margin-top:5px}
.pub-preview-chart-legend{display:flex;gap:12px;font-size:7px;color:var(--text3);border-top:1px solid var(--border);padding-top:7px}
.pub-preview-chart-legend>span{display:flex;align-items:center;gap:4px}
.pub-dot{width:4px;height:4px;display:inline-block;border-radius:50%}
.pub-dot-green{background:var(--green)}
.pub-dot-blue{background:var(--primary)}
.pub-dot-red{background:var(--red)}
.pub-preview-signal{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:7px}
.pub-preview-signal>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px}
.pub-preview-signal strong{font-size:10px;font-weight:520}
.pub-preview-signal small{font-size:8px;color:var(--text3);grid-column:2}
.pub-preview-signal>div:nth-child(2){display:flex;flex-direction:column;text-align:right;gap:2px}
.pub-preview-signal b{font-size:20px;font-weight:500;line-height:1.2}
.pub-preview-signal b span{font-size:9px;color:var(--text3)}
.pub-preview-signal>svg{color:var(--text3)}
.pub-insight-card{position:absolute;left:20px;bottom:7px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;display:flex;gap:12px;align-items:center;padding:13px 20px 13px 13px;box-shadow:0 15px 34px -23px rgba(0,0,0,.55)}
.pub-insight-icon{width:38px;height:38px;display:flex;justify-content:center;align-items:center;background:color-mix(in srgb,var(--green) 10%,transparent);color:var(--positive);border-radius:9px;flex-shrink:0}
.pub-insight-card>div{display:flex;flex-direction:column;gap:4px}
.pub-insight-card strong{font-size:12px;font-weight:550}
.pub-insight-card div span{font-size:9px;color:var(--text2)}

/* ---------- proof strip / sections ---------- */
.pub-proof-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:27px 0 30px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:22px}
.pub-proof-strip>div{display:flex;flex-direction:column;gap:8px;padding-left:24px;border-left:1px solid var(--border);min-width:0}
.pub-proof-strip>div:first-child{padding-left:0;border-left:0}
.pub-proof-strip strong{font-size:16px;font-weight:540;letter-spacing:-.02em}
.pub-proof-strip span{font-size:11px;color:var(--text3);font-family:var(--thai)}
.pub-section{padding:76px 0}
.pub-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}
.pub-section .eyebrow,.pub-principles .eyebrow,.pub-centered-heading .eyebrow{font-size:10px;letter-spacing:.13em;color:var(--text3)}
.pub-section h2,.pub-principles h2,.pub-final-cta h2{font-size:30px;line-height:1.5;letter-spacing:-.035em;font-weight:550;margin:10px 0 0}
.pub-section-head>p{font-size:13px;color:var(--text3);line-height:1.7;margin:0;font-family:var(--thai)}
.pub-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pub-feature-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px;min-height:290px;transition:background .15s,border-color .15s;min-width:0}
.pub-feature-card:hover{background:var(--surface2);border-color:var(--text3)}
.pub-icon-tile{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid var(--border);border-radius:10px;color:var(--cyan-text);background:var(--surface2);flex-shrink:0}
.pub-feature-card>.pub-icon-tile{margin-bottom:24px}
.pub-feature-card .eyebrow{font-size:9px;color:var(--text3);letter-spacing:.08em;margin-bottom:0}
.pub-feature-card h3{font-size:18px;letter-spacing:-.015em;font-weight:550;margin:10px 0 10px}
.pub-feature-card p{font-size:12px;line-height:1.8;color:var(--text2);margin:0;max-width:320px;font-family:var(--thai)}
.pub-feature-number{position:absolute;right:24px;top:26px;color:var(--text3);font:10px var(--mono);opacity:.65}
.pub-principles{padding:50px 46px;display:grid;grid-template-columns:1.1fr 1fr;gap:65px;background:var(--surface);border:1px solid var(--border);border-radius:13px}
.pub-principles h2{font-size:32px}
.pub-principles>div>p{font-size:13px;color:var(--text2);line-height:1.9;max-width:390px;margin:20px 0;font-family:var(--thai)}
.pub-principle-list{display:flex;flex-direction:column;justify-content:center}
.pub-principle-list>div{display:flex;gap:20px;padding:21px 0;border-bottom:1px solid var(--border)}
.pub-principle-list>div:last-child{border:0}
.pub-principle-list>div>span{font:12px var(--mono);color:var(--text3);padding-top:4px}
.pub-principle-list h3{margin:0 0 6px;font-size:15px;font-weight:550}
.pub-principle-list p{margin:0;color:var(--text3);font-size:12px;line-height:1.7;font-family:var(--thai)}
.pub-centered-heading{text-align:center;margin-bottom:36px}
.pub-centered-heading h2{margin:10px 0}
.pub-centered-heading p{font-size:14px;color:var(--text2);line-height:1.8;margin:12px 0 0;font-family:var(--thai)}

/* ---------- pricing teaser (ข้อมูลจาก PLAN_MATRIX) ---------- */
.pub-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pub-plan{display:flex;flex-direction:column;min-width:0;border:1px solid var(--border);border-radius:13px;padding:28px;background:var(--surface)}
.pub-plan-featured{border-color:color-mix(in srgb,var(--green) 60%,var(--border));box-shadow:inset 0 3px 0 var(--green)}
.pub-plan-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}
.pub-plan-icon{width:45px;height:45px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:11px;color:var(--text2)}
.pub-plan-icon-supporter{color:var(--cyan-text);background:color-mix(in srgb,var(--cyan) 8%,transparent)}
.pub-plan-icon-trader{color:var(--positive);background:color-mix(in srgb,var(--green) 10%,transparent)}
.pub-plan>.eyebrow{font-size:8px;letter-spacing:.12em;color:var(--text3);margin-bottom:0}
.pub-plan h3{font-size:20px;font-weight:550;margin:7px 0 8px;letter-spacing:-.025em}
.pub-plan>p{font-size:12px;color:var(--text3);line-height:1.7;min-height:42px;margin:0 0 18px;font-family:var(--thai)}
.pub-plan-price{display:flex;align-items:baseline;gap:8px}
.pub-plan-price>strong{font-size:39px;font-weight:500;letter-spacing:-.06em;line-height:1.2}
.pub-plan-price>span{font-size:12px;color:var(--text3)}
.pub-plan-price-note{font-size:10px;color:var(--text3);margin:11px 0 23px;min-height:18px}
.pub-plan>.btn{width:100%;min-height:46px;justify-content:center;font-size:13px}
.pub-check-list{padding:21px 0 0;margin:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.pub-check-list li{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--text2);line-height:1.6;font-family:var(--thai)}
.pub-check-list svg{color:var(--positive);flex-shrink:0;margin-top:2px}
.pub-trial-mini{font-size:10px;margin-top:20px;padding-top:15px;border-top:1px solid var(--border);color:var(--text3)}
.pub-plans-note{display:flex;align-items:center;justify-content:center;gap:29px;flex-wrap:wrap;color:var(--text3);font-size:11px;padding:28px 0 0}
.pub-plans-note>span{display:flex;align-items:center;gap:7px}
.pub-plans-note svg{color:var(--text2)}

/* ---------- FAQ / final CTA / footer ---------- */
.pub-faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;border-top:1px solid var(--border)}
.pub-faq details{border-bottom:1px solid var(--border)}
.pub-faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;padding:22px 0;font-size:14px;min-height:44px}
.pub-faq summary::-webkit-details-marker{display:none}
.pub-faq summary>svg{flex-shrink:0;color:var(--text3);transition:transform .15s}
.pub-faq details[open] summary>svg{transform:rotate(45deg)}
.pub-faq details p{font-size:12px;color:var(--text2);line-height:1.9;margin:0 0 22px;max-width:580px;font-family:var(--thai)}
.pub-final-cta{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:40px 44px;margin:0 0 60px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.pub-final-cta h2{font-size:27px;margin:0 0 10px}
.pub-final-cta p{margin:0;font-size:13px;color:var(--text3);font-family:var(--thai)}
.pub-final-cta .btn{min-height:46px;font-size:13px;flex-shrink:0}
.pub-footer{border-top:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:30px;padding:35px 0 23px}
.pub-footer>div>a:first-child{display:inline-flex;align-items:center;min-height:44px}
.pub-footer>div>p{font-size:12px;color:var(--text2);margin:18px 0 6px;font-family:var(--thai)}
.pub-footer-links{display:grid;grid-template-columns:1fr 1fr;gap:17px 30px;align-content:start;color:var(--text3);font-size:11px}
.pub-footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--border);padding-top:21px;color:var(--text3);font-size:10px;flex-wrap:wrap}

/* ---------- auth ---------- */
.pub-auth-site{min-height:100vh;display:flex;flex-direction:column}
.pub-auth-layout{display:grid;grid-template-columns:1fr 440px;max-width:1080px;gap:110px;margin:64px auto 55px;align-items:center;width:100%}
.pub-auth-story{padding-right:5px;min-width:0}
.pub-auth-story h2{font-size:43px;line-height:1.48;letter-spacing:-.04em;font-weight:550;margin:26px 0 20px}
.pub-auth-story>p{color:var(--text2);font-size:16px;line-height:1.8;font-family:var(--thai)}
.pub-auth-story-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:25px;margin-top:36px}
.pub-auth-story-card>.row{gap:12px}
.pub-auth-story-card>.row>div{display:flex;flex-direction:column;gap:2px}
.pub-auth-story-card strong{font-size:13px}
.pub-auth-story-card>p{font-size:13px;color:var(--text2);line-height:1.95;margin:17px 0 0;font-family:var(--thai)}
.pub-auth-story-bottom{display:flex;flex-wrap:wrap;gap:18px;margin-top:27px}
.pub-auth-story-bottom>span{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--text3)}
.pub-auth-card{background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:35px;box-shadow:0 24px 62px -42px rgba(0,0,0,.55);min-width:0}
.pub-auth-card>.brand-lockup{display:flex;justify-content:center}
.pub-auth-card>.btn,.pub-auth-card>.stack>.btn,.pub-auth-card>form>.btn,.pub-auth-card>form>.stack>.btn{width:100%;justify-content:center;min-height:45px;font-size:13px}
.pub-auth-title{margin:25px 0 23px;text-align:center}
.pub-auth-title h1{font-size:25px;line-height:1.5;font-weight:550;letter-spacing:-.03em;margin:0 0 7px}
.pub-auth-title p{font-size:12px;color:var(--text3);line-height:1.8;margin:0;font-family:var(--thai)}
.pub-auth-title p b{color:var(--text2);font-weight:600}
.pub-auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:var(--bg);border:1px solid var(--border);border-radius:9px;margin-bottom:22px}
.pub-auth-tabs a,.pub-auth-tabs button{display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;font-size:12px;color:var(--text3);border-radius:6px;min-height:40px;background:transparent;border:0;cursor:pointer}
.pub-auth-tabs .is-active{background:var(--surface2);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.pub-auth-notice{display:flex;gap:8px;align-items:flex-start;margin-bottom:17px;font-family:var(--thai)}
.pub-auth-notice svg{flex-shrink:0;margin-top:4px}
.pub-google-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text);font-size:12px;cursor:pointer;font-weight:550}
.pub-google-button:hover{background:var(--surface2)}
.pub-google-button svg{width:18px;height:18px}
.pub-or{display:flex;align-items:center;gap:13px;color:var(--text3);font-size:10px;margin:22px 0}
.pub-or:before,.pub-or:after{content:'';height:1px;background:var(--border);flex:1}
.pub-auth-fields{gap:15px}
.pub-auth-fields .field{margin:0}
.pub-auth-fields label{font-size:11px}
.pub-auth-fields .input{font-size:12px;min-height:44px}
.pub-password-field{position:relative}
.pub-password-field .input{padding-right:47px;width:100%}
.pub-password-field>button{position:absolute;right:0;top:0;bottom:0;width:44px;border:0;background:transparent;color:var(--text3);display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:0 8px 8px 0}
.pub-password-field>button:hover{color:var(--text)}
.pub-password-field .pw-eye{display:inline-flex}
.pub-password-field .pw-eye-off{display:none}
.pub-password-field .is-shown .pw-eye{display:none}
.pub-password-field .is-shown .pw-eye-off{display:inline-flex}
.pub-forgot-link{text-align:right;font-size:11px;margin-top:-6px;color:var(--text2)}
.pub-forgot-link a{display:inline-flex;align-items:center;min-height:28px;color:var(--blue-text)}
.pub-password-hints{display:flex;flex-direction:column;gap:6px;margin-top:-4px;font-size:10px;color:var(--text3)}
.pub-password-hints span{display:flex;align-items:center;gap:6px}
.pub-password-hints svg{color:var(--text3)}
.pub-password-hints span.is-ok{color:var(--positive)}
.pub-password-hints span.is-ok svg{color:var(--positive)}
.pub-password-hints span.is-no{color:var(--negative)}
.pub-password-hints span.is-no svg{color:var(--negative)}
.pub-auth-terms{font-size:10px;color:var(--text3);line-height:1.8;text-align:center;margin:17px 0;font-family:var(--thai)}
.pub-auth-terms a{color:var(--text2);text-decoration:underline;text-underline-offset:2px}
.pub-auth-trust{display:flex;align-items:flex-start;gap:8px;color:var(--text3);font-size:10px;line-height:1.7;padding-top:18px;margin-top:18px;border-top:1px solid var(--border);font-family:var(--thai)}
.pub-auth-trust>svg{flex-shrink:0}
.pub-auth-footer{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text3);font-size:10px;padding:0 0 25px;margin-top:auto;flex-wrap:wrap}
.pub-auth-footer a{min-height:32px;display:inline-flex;align-items:center}
.pub-auth-footer-note{margin-left:20px}
.pub-auth-compact{grid-template-columns:440px;justify-content:center;margin-top:74px;min-height:540px;align-items:start}
.pub-auth-compact .pub-auth-title{margin-top:20px}
.pub-auth-aux-icon{width:62px;height:62px;display:flex;justify-content:center;align-items:center;color:var(--cyan-text);background:color-mix(in srgb,var(--cyan) 9%,transparent);border:1px solid color-mix(in srgb,var(--cyan) 25%,var(--border));border-radius:15px;margin:25px auto 0}
.pub-auth-aux-icon.is-error{color:var(--amber-text);background:var(--tint-amber);border-color:color-mix(in srgb,var(--amber) 30%,var(--border))}
.pub-auth-back{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:var(--text3);padding:17px 0 0;min-height:44px}
.pub-auth-back:hover{color:var(--text)}
.pub-mail-preview{text-align:center;padding:24px 15px;margin:17px 0 22px;background:var(--bg);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:7px}
.pub-mail-preview strong{font-size:16px;font-weight:550;overflow-wrap:anywhere}
.pub-mail-preview p,.pub-mail-preview>span{font-size:12px;color:var(--text3);line-height:1.8;margin:5px 0 0;font-family:var(--thai)}
.pub-auth-help{font-size:11px;color:var(--text3);text-align:center;margin:18px 0 0;font-family:var(--thai)}
.pub-auth-card form.stack{gap:15px}
.pub-auth-card form.stack .field label{font-size:11px}
.pub-auth-card form.stack .input{font-size:12px;min-height:44px}
.pub-callback-progress{display:flex;gap:5px;max-width:170px;margin:25px auto}
.pub-callback-progress span{height:3px;flex:1;background:var(--border);border-radius:4px;overflow:hidden;position:relative}
.pub-callback-progress .is-done{background:var(--cyan)}
.pub-callback-progress .is-busy:after{content:'';position:absolute;inset:0;background:var(--cyan);transform-origin:left;animation:pub-fill 1.6s ease-in-out infinite}
.pub-cb-slow{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.pub-cb-slow .btn{width:100%;justify-content:center;min-height:45px;font-size:13px}
.pub-cb-slow[hidden]{display:none}
.pub-spin svg{animation:pub-rotate 3s linear infinite}
@keyframes pub-rotate{to{transform:rotate(360deg)}}
@keyframes pub-fill{0%{transform:scaleX(0)}70%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}
@media(prefers-reduced-motion:reduce){.pub-spin svg{animation:none}.pub-callback-progress .is-busy:after{animation:none;transform:none}.pub-preview-window{transform:none}}

/* ---------- legal ---------- */
.pub-legal{max-width:810px;margin:58px auto 68px}
.pub-legal-intro .eyebrow{font-size:10px;letter-spacing:.14em;color:var(--text3)}
.pub-legal-intro h1{font-size:36px;font-weight:550;line-height:1.5;letter-spacing:-.04em;margin:14px 0 11px}
.pub-legal-intro>p{font-size:12px;color:var(--text3);margin:0 0 20px}
.pub-legal-lead{font-size:14px;color:var(--text2);line-height:1.9;margin:0 0 8px;font-family:var(--thai)}
.pub-legal-toc{display:grid;grid-template-columns:1fr 1fr;gap:13px 22px;padding:24px;border:1px solid var(--border);border-radius:10px;background:var(--surface);margin:25px 0 33px}
.pub-legal-toc a{font-size:11px;line-height:1.8;color:var(--text2);font-family:var(--thai)}
.pub-legal-toc a:hover{color:var(--text)}
.pub-legal-body>section{display:flex;gap:22px;padding:27px 0;border-bottom:1px solid var(--border);scroll-margin-top:35px}
.pub-legal-body>section>div{min-width:0;flex:1}
.pub-legal-number{font:11px var(--mono);color:var(--text3);padding-top:7px;flex-shrink:0}
.pub-legal-body h2{font-size:19px;font-weight:550;letter-spacing:-.015em;margin:0 0 12px}
.pub-legal-body p,.pub-legal-body li{font-size:13px;color:var(--text2);line-height:2;margin:0;font-family:var(--thai);overflow-wrap:anywhere}
.pub-legal-body p+p,.pub-legal-body ul+p,.pub-legal-body p+ul{margin-top:10px}
.pub-legal-body ul{padding-left:20px;margin:0}
.pub-legal-body li+li{margin-top:4px}
.pub-legal-body b{color:var(--text);font-weight:600}
.pub-legal-contact{padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:32px}
.pub-legal-contact strong{font-size:15px;font-weight:550}
.pub-legal-contact p{font-size:12px;color:var(--text3);line-height:1.8;margin:10px 0 18px;font-family:var(--thai)}
.pub-legal-contact p a{color:var(--blue-text)}
.pub-legal-contact .btn{font-size:12px}

/* ---------- responsive ---------- */
@media(min-width:1600px){.pub-hero{gap:65px}.pub-hero h1{font-size:52px}}
@media(max-width:1180px){.pub-site{padding:0 30px}
.pub-hero{grid-template-columns:1fr 1fr;gap:24px;min-height:590px;padding:60px 0}
.pub-hero h1{font-size:36px}
.pub-hero-description{font-size:14px}
.pub-hero-cta .btn{font-size:11px;padding:11px 14px}
.pub-preview-main{padding:14px}
.pub-preview-main h3{font-size:13px}
.pub-preview-metrics>div{padding:9px}
.pub-preview-metrics b{font-size:12px}
.pub-preview-signal strong{font-size:9px}
.pub-insight-card{left:4px}
.pub-feature-card{padding:23px}
.pub-feature-card h3{font-size:17px}
.pub-plan{padding:22px}
.pub-plan h3{font-size:18px}
.pub-plan-price>strong{font-size:34px}
.pub-plan .pub-check-list li{font-size:11px}
.pub-principles{gap:35px;padding:39px 33px}
.pub-principles h2{font-size:28px}
.pub-auth-layout{gap:55px;grid-template-columns:1fr 410px}
.pub-auth-story h2{font-size:36px}
.pub-auth-card{padding:29px}
.pub-auth-compact{grid-template-columns:430px}}
@media(max-width:980px){.pub-marketing-nav{display:none}
.pub-hero{grid-template-columns:1fr;max-width:720px;margin:0 auto;padding:52px 0 45px;gap:35px;min-height:0}
.pub-hero h1{font-size:46px;white-space:normal}
.pub-hero-description{font-size:16px}
.pub-product-stage{max-width:650px;width:100%;margin:auto}
.pub-hero-copy{padding-bottom:0}
.pub-preview-window{transform:none}
.pub-preview-main{padding:23px}
.pub-preview-main h3{font-size:17px}
.pub-preview-chart>svg{height:205px}
.pub-preview-metrics>div{padding:14px}
.pub-preview-metrics b{font-size:15px}
.pub-preview-metrics span{font-size:8px}
.pub-preview-metrics small{font-size:9px}
.pub-preview-chart>.row{font-size:12px}
.pub-feature-grid{grid-template-columns:1fr 1fr}
.pub-feature-card{min-height:270px}
.pub-plans{gap:12px}
.pub-plan{padding:21px 17px}
.pub-plan h3{font-size:16px}
.pub-plan>.eyebrow{font-size:7px}
.pub-plan-price>strong{font-size:31px}
.pub-plan>p{font-size:11px;min-height:42px}
.pub-plan-price-note{font-size:9px}
.pub-plan>.btn{font-size:11px}
.pub-proof-strip{gap:15px}
.pub-proof-strip>div{padding-left:16px}
.pub-proof-strip strong{font-size:14px}
.pub-proof-strip span{font-size:10px}
.pub-auth-layout{gap:30px;grid-template-columns:1fr 390px}
.pub-auth-story h2{font-size:31px}
.pub-auth-story>p{font-size:14px}
.pub-auth-story-card{padding:20px}
.pub-auth-story-card>p{font-size:12px}
.pub-auth-compact{grid-template-columns:420px}}
@media(max-width:720px){.pub-site{padding:0 16px}
.pub-header{min-height:72px;gap:10px}
.pub-header .brand-name{font-size:21px;letter-spacing:-.8px}
.pub-header .brand-lockup{gap:7px}
.pub-header .brand-lockup>svg{width:29px;height:29px}
.pub-header-actions{gap:7px}
.pub-header-actions>.btn{font-size:11px;min-height:44px;padding:10px 12px}
.pub-header-actions>#navLogin{display:none}
.pub-header-actions .zb-th-btn{width:44px;height:44px}
.pub-nav-help{display:none}
.pub-hero{padding:34px 0 29px;gap:26px}
.pub-hero .pub-kicker{font-size:9px;letter-spacing:.1em}
.pub-hero h1{font-size:clamp(27px,7.5vw,42px);letter-spacing:-.035em;margin:20px 0 17px;line-height:1.47}
.pub-hero-description{font-size:13px;line-height:1.9;margin-bottom:23px;max-width:360px}
.pub-desktop-break{display:none}
.pub-hero-cta{gap:8px}
.pub-hero-cta>.btn{font-size:11px;min-height:45px;padding:10px 13px}
.pub-under-cta{font-size:9px;line-height:1.8;margin:12px 0 20px}
.pub-hero-footnote{font-size:10px;padding-top:16px;max-width:360px;gap:7px}
.pub-hero-footnote svg{width:15px}
.pub-product-stage{padding-bottom:28px}
.pub-window-bar{height:30px;padding:0 9px;font-size:7px;gap:8px}
.pub-window-bar .pill{font-size:7px;padding:3px 5px}
.pub-preview-shell{grid-template-columns:36px minmax(0,1fr)}
.pub-preview-rail{padding:12px 6px;gap:18px}
.pub-preview-rail>.brand-lockup>svg{width:20px;height:20px}
.pub-preview-rail>span{width:24px;height:24px}
.pub-preview-rail>span svg{width:14px}
.pub-preview-main{padding:13px 10px}
.pub-preview-main h3{font-size:11px;line-height:1.5;margin:4px 0}
.pub-preview-main .eyebrow{font-size:6px;letter-spacing:.09em}
.pub-live-label{font-size:6px;gap:3px}
.pub-live-label i{width:3px;height:3px}
.pub-preview-metrics{margin:10px 0}
.pub-preview-metrics>div{padding:8px 7px;gap:4px}
.pub-preview-metrics b{font-size:10px}
.pub-preview-metrics b em{font-size:5px}
.pub-preview-metrics small{font-size:6px}
.pub-preview-metrics span{font-size:5px}
.pub-preview-chart{padding:9px 7px 6px}
.pub-preview-chart>.row{font-size:8px}
.pub-preview-chart .coin{width:17px;height:17px;font-size:7px}
.pub-preview-chart>svg{height:136px}
.pub-preview-chart-legend{font-size:5px;gap:7px;padding-top:5px}
.pub-preview-signal{padding:8px;gap:8px;margin-top:8px}
.pub-preview-signal strong{font-size:7px}
.pub-preview-signal small{font-size:6px}
.pub-preview-signal .pill{font-size:6px;padding:2px 4px}
.pub-preview-signal b{font-size:16px}
.pub-preview-signal b span{font-size:7px}
.pub-preview-signal>svg{width:13px}
.pub-insight-card{padding:10px 13px 10px 10px;gap:8px;border-radius:8px;left:10px;bottom:2px}
.pub-insight-icon{width:30px;height:30px;border-radius:7px}
.pub-insight-icon svg{width:17px}
.pub-insight-card strong{font-size:9px}
.pub-insight-card div span{font-size:7px}
.pub-proof-strip{grid-template-columns:1fr 1fr;gap:22px 15px;padding:23px 0}
.pub-proof-strip>div{padding-left:0;border:0;gap:6px}
.pub-proof-strip>div:nth-child(even){border-left:1px solid var(--border);padding-left:19px}
.pub-proof-strip strong{font-size:13px}
.pub-proof-strip span{font-size:9px}
.pub-section{padding:42px 0}
.pub-section-head{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:23px}
.pub-section h2,.pub-principles h2{font-size:25px;line-height:1.5}
.pub-section-head>p{font-size:11px}
.pub-section .eyebrow,.pub-principles .eyebrow,.pub-centered-heading .eyebrow{font-size:8px}
.pub-feature-grid{grid-template-columns:1fr;gap:12px}
.pub-feature-card{padding:24px;min-height:0}
.pub-feature-card>.pub-icon-tile{margin-bottom:19px;width:39px;height:39px}
.pub-feature-card h3{font-size:18px;margin:8px 0 9px}
.pub-feature-card p{font-size:12px;line-height:1.85;max-width:none}
.pub-feature-card .eyebrow{font-size:8px}
.pub-principles{grid-template-columns:1fr;gap:22px;padding:28px 23px;border-radius:10px}
.pub-principles>div>p{font-size:12px;line-height:1.9;margin:17px 0}
.pub-principle-list>div{padding:17px 0;gap:15px}
.pub-principle-list h3{font-size:14px}
.pub-principle-list p{font-size:11px}
.pub-centered-heading{margin-bottom:26px}
.pub-centered-heading h2{font-size:26px;margin:9px 0}
.pub-centered-heading p{font-size:12px;line-height:1.9;margin:11px 0 0}
.pub-plans{grid-template-columns:1fr;gap:16px;max-width:460px;margin:auto}
.pub-plan{padding:27px}
.pub-plan-top{margin-bottom:20px}
.pub-plan>.eyebrow{font-size:8px}
.pub-plan h3{font-size:21px}
.pub-plan>p{font-size:12px;min-height:0;margin-bottom:23px}
.pub-plan-price>strong{font-size:38px}
.pub-plan-price>span{font-size:12px}
.pub-plan-price-note{font-size:10px;margin:12px 0 23px}
.pub-plan>.btn{font-size:13px;min-height:46px}
.pub-plan .pub-check-list li{font-size:12px}
.pub-plan .pub-check-list{gap:11px}
.pub-plans-note{align-items:flex-start;flex-direction:column;max-width:350px;margin:auto;gap:14px;font-size:10px;padding-top:23px}
.pub-faq{grid-template-columns:1fr;gap:14px}
.pub-faq summary{font-size:12px;padding:18px 0;line-height:1.8}
.pub-faq details p{font-size:11px}
.pub-final-cta{padding:27px 23px;flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:37px}
.pub-final-cta h2{font-size:23px}
.pub-final-cta p{font-size:12px;line-height:1.8}
.pub-final-cta .btn{font-size:12px;width:100%}
.pub-footer{grid-template-columns:1fr;gap:29px;padding:28px 0 21px}
.pub-footer>div>p{font-size:11px;line-height:1.8;margin:15px 0 5px}
.pub-footer>div>.small{font-size:10px}
.pub-footer-links{font-size:11px;gap:5px 20px}
.pub-footer-links>a{min-height:40px;display:flex;align-items:center}
.pub-footer-bottom{flex-direction:column;gap:8px;font-size:9px;padding-top:18px}
.pub-auth-layout{grid-template-columns:1fr;gap:0;max-width:450px;margin:28px auto 30px}
.pub-auth-story{display:none}
.pub-auth-card{padding:25px 23px;border-radius:12px}
.pub-auth-title{margin:23px 0 22px}
.pub-auth-title h1{font-size:23px}
.pub-auth-title p{font-size:11px}
.pub-auth-tabs a,.pub-auth-tabs button{min-height:44px}
.pub-google-button{min-height:46px}
.pub-auth-fields .input,.pub-auth-card form.stack .input{font-size:13px;min-height:46px}
.pub-auth-fields label,.pub-auth-card form.stack .field label{font-size:12px}
.pub-auth-footer{gap:8px;font-size:9px;line-height:1.8;padding-bottom:25px}
.pub-auth-footer-note{margin-left:6px}
.pub-auth-compact{min-height:0;margin-top:30px}
.pub-auth-aux-icon{width:58px;height:58px;margin-top:25px}
.pub-auth-help{font-size:10px}
.pub-mail-preview strong{font-size:15px}
.pub-legal{margin:35px auto 42px}
.pub-legal-intro h1{font-size:28px;line-height:1.6;letter-spacing:-.03em;margin:12px 0 10px}
.pub-legal-intro>p{font-size:11px;margin-bottom:16px}
.pub-legal-intro .eyebrow{font-size:9px}
.pub-legal-lead{font-size:13px}
.pub-legal-toc{grid-template-columns:1fr;gap:2px;padding:17px 20px;margin:22px 0}
.pub-legal-toc a{font-size:11px;min-height:40px;display:flex;align-items:center}
.pub-legal-body>section{gap:15px;padding:23px 0}
.pub-legal-number{font-size:10px;padding-top:6px}
.pub-legal-body h2{font-size:18px;line-height:1.6;margin-bottom:11px}
.pub-legal-body p,.pub-legal-body li{font-size:12px;line-height:2}
.pub-legal-contact{padding:23px;margin-top:25px}
.pub-legal-contact strong{font-size:14px}
.pub-legal-contact p{font-size:11px;line-height:1.9}
.pub-legal-contact .btn{font-size:11px;min-height:44px;width:100%}}
@media(max-width:370px){.pub-hero h1{font-size:27px}
.pub-header .brand-name{font-size:20px}
.pub-header-actions>.btn{padding:10px;font-size:9px}
.pub-hero-cta>.btn{font-size:10px;padding:10px 11px}
.pub-preview-main{padding:11px 8px}
.pub-preview-main h3{font-size:10px}
.pub-preview-metrics>div{padding:7px 5px}
.pub-preview-metrics b{font-size:9px}
.pub-preview-chart>svg{height:120px}
.pub-live-label{display:none}
.pub-feature-card{padding:22px}
.pub-plan{padding:24px}}
