/* MISO Copilot Trial v2 — the online.miso.academy resource-page look (dark hero, form beside the pitch,
   30-day bar), with the trial as the headline and the PDF as the bonus. */
.mx-body { margin: 0; background: #fafafa; }
.mx {
	--pink: #cc3366; --pink-d: #a82855; --pink-l: #ec6da3; --pink-bg: #fde7ef;
	--orange: #e97132; --blue: #0f9ed5;
	--ink: #0f172a; --text: #334155; --muted: #64748b; --line: #e2e8f0;
	font-family: "IBM Plex Sans Thai", system-ui, sans-serif; color: var(--text); font-size: 16px; line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
.mx *, .mx *::before, .mx *::after { box-sizing: border-box; }
:where(.mx) :where(h1, h2, h3, p, ul, ol) { margin: 0; padding: 0; }
:where(.mx) :where(ul, ol) { list-style: none; }
.mx b, .mx strong, .mx h2, .mx h3 { font-weight: 700; }
.mx a { color: inherit; }
.mx-wrap { max-width: 1152px; margin: 0 auto; padding: 0 24px; }
.mx-narrow { max-width: 880px; }
.mx-small { font-size: 13px; color: var(--muted); margin-top: 10px; text-align: center; }
.mx-muted { color: var(--muted); font-weight: 500; }

/* buttons */
.mx-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 26px; border: 0; border-radius: 12px;
	background: var(--pink); color: #fff !important; font: 600 16px/1.2 inherit; font-family: inherit; text-decoration: none; cursor: pointer;
	box-shadow: 0 10px 24px rgba(204, 51, 102, .3); transition: background .15s; }
.mx-btn:hover { background: var(--pink-d); }
.mx-btn:disabled { opacity: .7; cursor: wait; }
.mx-btn-sm { min-height: 40px; padding: 0 18px; font-size: 14px; box-shadow: none; border-radius: 10px; }
.mx-btn-full { width: 100%; margin-top: 6px; }

/* top bar */
.mx-top { background: #fff; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; }
.mx-top-in { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.mx-logo { height: 36px; width: auto; display: block; }

/* dark bands */
.mx-dark { position: relative; overflow: hidden; color: #fff;
	background:
		radial-gradient(60% 80% at 15% 20%, rgba(204, 51, 102, .35), transparent 60%),
		radial-gradient(50% 70% at 85% 30%, rgba(233, 113, 50, .22), transparent 60%),
		radial-gradient(60% 80% at 70% 90%, rgba(15, 158, 213, .22), transparent 60%),
		#0a0a14; }
.mx-grid-bg { position: absolute; inset: 0; pointer-events: none; opacity: .6;
	background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
	background-size: 48px 48px; }
.mx-dark .mx-wrap { position: relative; }

/* hero */
.mx-hero { padding: 48px 0 72px; scroll-margin-top: 64px; }
.mx-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 56px; align-items: start; }
/* hero picture — ad B (25 passes, 30 days, the book): fades up once, a sheen crosses it, tilts with the pointer */
.mx-hero-img { width: 100%; max-width: 620px; margin: -8px 0 16px -10px; perspective: 1000px; animation: mx-rise .9s cubic-bezier(.2,.9,.3,1) both; }
.mx-hero-img-in { position: relative; transform: rotateX(var(--ty, 0deg)) rotateY(var(--tx, 0deg)); transition: transform .3s ease-out;
	-webkit-mask-image: radial-gradient(ellipse 54% 54% at 50% 50%, #000 62%, transparent 100%); mask-image: radial-gradient(ellipse 54% 54% at 50% 50%, #000 62%, transparent 100%); overflow: hidden; }
.mx-hero-img img { display: block; width: 100%; height: auto; }
.mx-sheen { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.22) 48%, transparent 60%);
	transform: translateX(-120%); animation: mx-sheen 1.4s ease .7s 1 forwards; mix-blend-mode: screen; }
@keyframes mx-rise { from { opacity: 0; transform: translateY(24px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes mx-sheen { to { transform: translateX(120%); } }
@media (prefers-reduced-motion: reduce) { .mx-hero-img, .mx-sheen { animation: none; } .mx-sheen { display: none; } }
.mx-switch { display: inline-flex; align-items: center; gap: 6px; margin-left: 6px; padding: 2px 10px 2px 4px; border-radius: 999px; background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.15); font-size: 12px; color: rgba(255,255,255,.75); vertical-align: 1px; white-space: nowrap; }
.mx-switch i { width: 26px; height: 14px; border-radius: 999px; background: rgba(255,255,255,.25); position: relative; }
.mx-switch i::after { content: ""; position: absolute; left: 2px; top: 2px; width: 10px; height: 10px; border-radius: 50%; background: #fff; }
.mx-pill { display: inline-block; font-size: 13px; font-weight: 600; color: rgba(255,255,255,.85); border: 1px solid rgba(255,255,255,.18);
	background: rgba(255,255,255,.06); border-radius: 999px; padding: 6px 14px; }
.mx-pitch h1 { margin-top: 18px; font-size: 46px; line-height: 1.15; font-weight: 700; letter-spacing: -.5px; color: #fff; }
.mx-pitch h1 span { display: block; color: var(--pink-l); }
.mx-lead { margin-top: 16px; max-width: 600px; font-size: 18px; color: rgba(255,255,255,.75); }

.mx-ba { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
.mx-ba > li { border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.06); border-radius: 14px; padding: 14px 16px; backdrop-filter: blur(4px); }
.mx-app { display: inline-block; font-size: 12px; font-weight: 600; color: var(--pink-l); background: rgba(204,51,102,.2); border-radius: 6px; padding: 2px 8px; }
.mx-ba p { margin-top: 10px; font-size: 14px; line-height: 1.45; }
.mx-ba s { display: block; color: rgba(255,255,255,.55); text-decoration: line-through; text-decoration-color: rgba(236,109,163,.7); }
.mx-ba b { display: block; margin-top: 4px; color: #fff; font-weight: 600; }
.mx-ba b::before { content: "→ "; color: var(--pink-l); }

.mx-ticks { margin-top: 24px; display: grid; gap: 10px; }
.mx-ticks li { position: relative; padding-left: 30px; color: rgba(255,255,255,.85); }
.mx-ticks li::before { content: "✓"; position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%; background: rgba(236,109,163,.2);
	color: var(--pink-l); font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; }

.mx-bonus { margin-top: 28px; display: flex; gap: 16px; align-items: center; border: 1px dashed rgba(236,109,163,.5); border-radius: 14px; padding: 12px 16px;
	background: rgba(204,51,102,.08); max-width: 600px; }
.mx-bonus img { width: 56px; height: auto; border-radius: 4px; box-shadow: 0 6px 16px rgba(0,0,0,.4); flex: none; }
.mx-bonus b { display: block; color: #fff; }
.mx-bonus span { display: block; font-size: 14px; color: rgba(255,255,255,.7); }

/* form card */
.mx-card { background: #fff; color: var(--ink); border-radius: 18px; padding: 28px 26px; box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.mx-card h2 { font-size: 22px; font-weight: 700; color: var(--ink); }
.mx-card-sub { font-size: 14px; color: var(--muted); margin: 2px 0 18px; }
.mx-error { background: #fef2f2; color: #b91c1c; border-radius: 10px; padding: 10px 12px; font-size: 14px; margin-bottom: 14px; }
.mx-form label { display: block; font-size: 14px; font-weight: 600; color: var(--ink); margin-bottom: 12px; }
.mx-form em { font-weight: 400; color: var(--muted); font-style: normal; }
.mx-form input[type=text], .mx-form input[type=email], .mx-form input[type=tel], .mx-form select {
	display: block; width: 100%; margin-top: 5px; height: 44px; padding: 0 12px; border: 1px solid #cbd5e1; border-radius: 10px; background: #fff;
	font: 400 15px inherit; font-family: inherit; color: var(--ink); }
.mx-form .mx-bad { border-color: #dc2626; box-shadow: 0 0 0 3px #fee2e2; }
.mx-form input:focus, .mx-form select:focus { outline: none; border-color: var(--pink); box-shadow: 0 0 0 3px var(--pink-bg); }
.mx-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mx-teams { border: 0; padding: 0; margin: 0 0 12px; }
.mx-teams legend { font-size: 14px; font-weight: 600; color: var(--ink); padding: 0; margin-bottom: 6px; }
.mx-form label.mx-opt { display: inline-flex; align-items: center; gap: 6px; margin: 0 14px 6px 0; font-weight: 400; font-size: 14px; }
.mx-opt input, .mx-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--pink); flex: none; }
.mx-form .mx-check { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: 13px; color: var(--muted); line-height: 1.6; }
.mx-check input { margin-top: 3px; }
.mx-check a { color: var(--pink); }
.mx-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mx-form [hidden] { display: none !important; }
.mx-done { text-align: center; padding: 10px 0; }
.mx-done-icon { width: 56px; height: 56px; margin: 0 auto 12px; border-radius: 50%; background: var(--pink-bg); color: var(--pink); font-size: 28px; font-weight: 700;
	display: flex; align-items: center; justify-content: center; }
.mx-done p { margin: 8px 0 16px; color: var(--text); }
.mx-done .mx-small { margin: 10px 0 0; }

/* light sections */
.mx-sec { padding: 72px 0; background: #fafafa; }
.mx-sec-alt { background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.mx-sec h2, .mx-get h2 { font-size: 32px; line-height: 1.25; font-weight: 700; color: var(--ink); letter-spacing: -.3px; }
.mx-get h2 { color: #fff; }
.mx-sub { margin-top: 8px; color: var(--muted); }

.mx-day0 { margin-top: 24px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 12px 16px; font-size: 15px; }
.mx-day0 b { color: var(--pink); margin-right: 8px; }
.mx-bar { display: grid; grid-template-columns: repeat(30, minmax(0, 1fr)); gap: 4px; margin-top: 16px; }
.mx-bar i { height: 28px; border-radius: 4px; }
.mx-w1 { --wk: var(--pink); } .mx-w2 { --wk: var(--orange); } .mx-w3 { --wk: var(--blue); } .mx-w4 { --wk: var(--pink-l); }
.mx-bar i { background: var(--wk); }
.mx-weeks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.mx-weeks > li { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--wk); border-radius: 14px; padding: 18px; display: flex; flex-direction: column; }
.mx-wk { font-size: 13px; font-weight: 700; color: var(--wk); }
.mx-wk span { font-weight: 500; color: var(--muted); }
.mx-weeks h3 { margin-top: 6px; font-size: 18px; line-height: 1.35; color: var(--ink); }
.mx-goal { margin-top: 6px; font-size: 14px; color: var(--muted); }
.mx-weeks ul { margin-top: 12px; display: grid; gap: 8px; flex: 1; }
.mx-weeks ul li { position: relative; padding-left: 26px; font-size: 14px; color: var(--text); }
.mx-weeks ul li::before { content: ""; position: absolute; left: 0; top: 3px; width: 16px; height: 16px; border: 1.5px solid #cbd5e1; border-radius: 4px; }
.mx-wdone { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.mx-wdone b { color: var(--ink); margin-right: 4px; }

.mx-two { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.mx-steps { margin-top: 20px; counter-reset: s; display: grid; gap: 18px; }
.mx-steps li { counter-increment: s; position: relative; padding-left: 52px; color: var(--muted); }
.mx-steps li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 36px; height: 36px; border-radius: 50%; background: var(--ink); color: #fff;
	font-weight: 700; display: flex; align-items: center; justify-content: center; }
.mx-steps b { display: block; color: var(--ink); }
.mx-terms { background: #fafafa; border: 1px solid var(--line); border-radius: 14px; padding: 22px; font-size: 14px; }
.mx-terms h3 { font-size: 16px; color: var(--ink); margin-bottom: 10px; }
.mx-terms ul { list-style: disc; padding-left: 20px; display: grid; gap: 6px; }
.mx-terms p { margin-top: 12px; color: var(--muted); }

.mx-video { margin-top: 24px; border-radius: 16px; overflow: hidden; background: #000; box-shadow: 0 20px 50px rgba(15,23,42,.18); }
.mx-video video { display: block; width: 100%; height: auto; }

/* bonus band */
.mx-get { padding: 72px 0; }
.mx-get-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: center; }
.mx-get .mx-ticks { margin-top: 20px; }
.mx-proof { margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
.mx-proof-h { grid-column: 1 / -1; font-size: 14px; font-weight: 600; color: rgba(255,255,255,.9); }
.mx-proof strong { display: block; font-size: 22px; color: #fff; }
.mx-proof span { display: block; font-size: 13px; color: rgba(255,255,255,.6); }
.mx-get-cta { text-align: center; }
.mx-book { width: 220px; max-width: 70%; height: auto; border-radius: 6px; box-shadow: 0 24px 50px rgba(0,0,0,.5); transform: rotate(-3deg); margin-bottom: 28px; }

.mx-foot { background: #fff; border-top: 1px solid var(--line); padding: 32px 0; font-size: 14px; color: var(--muted); }
.mx-foot p + p { margin-top: 6px; }
.mx-foot a { color: var(--pink); text-decoration: none; }

.mx-sticky { display: none; }

@media (max-width: 1023px) {
	.mx-hero-grid, .mx-get-grid, .mx-two { grid-template-columns: 1fr; gap: 36px; }
	.mx-weeks { grid-template-columns: 1fr 1fr; }
	.mx-get-cta { order: -1; }
	.mx-sticky { display: block; position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 30; text-align: center; background: var(--pink); color: #fff;
		font-weight: 600; padding: 14px; border-radius: 12px; text-decoration: none; box-shadow: 0 10px 30px rgba(0,0,0,.25);
		transform: translateY(150%); transition: transform .25s; }
	.mx-sticky.on { transform: none; }
}
@media (max-width: 640px) {
	.mx-wrap { padding: 0 16px; }
	.mx-hero { padding: 28px 0 48px; }
	.mx-pitch h1 { font-size: 32px; }
	.mx-lead { font-size: 16px; }
	.mx-ba { grid-template-columns: 1fr; }
	.mx-hero-img { margin: 0 auto 8px; }
	.mx-row { grid-template-columns: 1fr; gap: 0; }
	.mx-card { padding: 22px 18px; }
	.mx-sec, .mx-get { padding: 52px 0; }
	.mx-sec h2, .mx-get h2 { font-size: 24px; }
	.mx-weeks { grid-template-columns: 1fr; }
	.mx-bar { gap: 2px; }
	.mx-bar i { height: 20px; }
}
