/* Malaysia warm-up site (website/my-*.php, 30 Oct 2026): its own header, footer, text pages and waitlist form. Built on the
   shared feature-page styles (feature-pages.css: colours, dark mode) and contact.css (the form card); colours only through
   the shared variables, so dark mode follows (deploy/tools/web_dark.py --check). */
.ofp.my-site{min-height:100vh;display:flex;flex-direction:column}
.ofp .my-bar{position:sticky;top:0;z-index:20;background:var(--card,#fff);border-bottom:1px solid var(--line);padding-block:12px}
.ofp .my-bar-in{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.ofp .my-logo{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink,#1A1A1C);text-decoration:none;font-size:18px}
.ofp .my-flag{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--magSoft,#F8E6F7);color:var(--magText,#BC08B0)}
.ofp .my-nav{display:flex;align-items:center;gap:18px;margin-left:auto;flex-wrap:wrap}
.ofp .my-nav a{color:var(--ink2,#4A4F55);text-decoration:none;font-weight:500}
.ofp .my-nav a:hover{color:var(--magText,#BC08B0)}
.ofp .my-nav .my-nav-cta{color:#fff;padding:8px 16px}
.ofp .my-langs{display:flex;gap:8px}
.ofp .my-langs a{font-size:13px;font-weight:600;color:var(--ink3,#7A8087);text-decoration:none}
.ofp .my-langs a[aria-current]{color:var(--magText,#BC08B0)}
.ofp .my-hero{position:relative;overflow:hidden}
.ofp .my-hv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.35}
.ofp .my-hero .fp-wrap{position:relative;z-index:1}
.ofp .my-text{max-width:760px}
.ofp .my-text h1{margin-bottom:16px}
.ofp .my-text h2{font-size:24px;margin:28px 0 8px}
.ofp .my-wl{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:start}
.ofp .my-check{display:flex;gap:10px;align-items:flex-start;margin:8px 0;color:var(--ink2,#4A4F55)}
.ofp .my-check input{margin-top:5px;width:auto}
.ofp .my-small{font-size:13px;color:var(--ink3,#7A8087)}
.ofp .my-msg:empty{display:none}
.ofp .my-msg{padding:12px 14px;border-radius:8px;margin-bottom:12px;font-weight:500}
.ofp .my-ok{background:var(--magSoft,#F8E6F7);color:var(--ink,#1A1A1C)}
.ofp .my-err{background:var(--sec,#F4F5F8);color:var(--magText,#BC08B0)}
.ofp .my-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
.ofp .my-card{background:var(--card,#fff);border:1px solid var(--line);border-radius:12px;padding:20px}
.ofp .my-card h3{font-size:18px;margin:0 0 8px;color:var(--ink,#1A1A1C)}
.ofp .my-card p{margin:0;color:var(--ink2,#4A4F55)}
.ofp .my-card a,.ofp .my-check a{color:var(--magText,#BC08B0)}
.ofp .my-foot{margin-top:auto;padding-block:32px;border-top:1px solid var(--line);background:var(--sec,#F4F5F8)}
.ofp .my-foot a{color:var(--magText,#BC08B0)}
@media (max-width:860px){
  .ofp .my-wl{grid-template-columns:1fr;gap:24px}
  .ofp .my-cards{grid-template-columns:1fr}
  .ofp .my-nav{margin-left:0;gap:12px;width:100%}
  .ofp .my-bar{position:static}
}
