/* Mezaic platform pages (landing, pricing, auth) — same design language as the sites */
.pf{min-height:100vh;display:flex;flex-direction:column}
.pf-nav{max-width:1100px;width:100%;margin:0 auto;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.pf-links{display:flex;gap:8px;align-items:center}
.pf-main{max-width:1100px;width:100%;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:24px;flex:1}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.plan{background:#fff;border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:16px}
.plan.hl{background:var(--dark);color:#fff}
.plan .plan-name{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.plan .price{font-size:40px;font-weight:800;letter-spacing:-0.03em;line-height:1}
.plan .price small{font-size:14px;font-weight:600;color:var(--faint);letter-spacing:0}
.plan .desc{font-size:14px;line-height:1.55;color:var(--body);margin:0}
.plan.hl .desc{color:var(--light)}
.plan ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500}
.plan li::before{content:"✓";font-weight:800;margin-right:10px;color:var(--green)}
.plan .btn{margin-top:auto;justify-content:center;border-radius:14px;padding:13px}
.plan.hl .btn{background:#fff;color:var(--fg)}
.plan.hl .btn:hover{background:var(--hover)}
.auth{max-width:440px;width:100%;margin:6vh auto;background:#fff;border-radius:28px;padding:36px}
.auth h1{margin:0;font-size:28px;font-weight:800;letter-spacing:-0.02em}
.auth p.sub{margin:8px 0 22px;color:var(--muted);font-size:14px}
.field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:14px}
.field input{border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:12px 14px;font-size:14px;outline:none;font-weight:500;font-family:inherit;color:var(--fg)}
.field input:focus{border-color:var(--fg)}
.auth .btn{width:100%;justify-content:center;border-radius:14px;padding:13px;font-size:14px}
.alert{background:#f2e0dc;color:var(--red);border-radius:12px;padding:12px 14px;font-size:13px;font-weight:600;margin-bottom:14px}
.notice{background:#dfeee6;color:#1f6b4a;border-radius:12px;padding:12px 14px;font-size:13px;font-weight:600;margin-bottom:14px}
.auth-foot{margin-top:18px;font-size:13px;color:var(--muted);text-align:center}
.auth-foot a{font-weight:700}

/* ---- brand ---- */
.logo{display:inline-flex;align-items:center;color:var(--fg)}
.logo img{height:32px;width:auto;display:block}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---- landing ---- */
.landing{gap:56px;padding-top:40px;padding-bottom:56px}
.hero{max-width:760px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;padding:24px 0 0}
.hero .kicker{margin:0 0 18px}
.hero h1{font-size:clamp(38px,6vw,68px);font-weight:800;letter-spacing:-0.035em;line-height:1.02;margin:0;text-wrap:balance}
.hero .lead{font-size:18px;line-height:1.6;color:var(--body);margin:22px auto 0;max-width:600px;text-wrap:pretty}
.br-wide{display:none}
@media (min-width:700px){.br-wide{display:inline}}
.claim{display:flex;align-items:stretch;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--border2);width:100%;max-width:460px;margin:32px auto 0;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.claim:focus-within{border-color:var(--fg)}
.claim input{flex:1;border:0;background:transparent;padding:16px 4px 16px 18px;font-size:16px;font-weight:700;outline:none;min-width:0;font-family:inherit;color:var(--fg)}
.claim input::placeholder{color:var(--faint2);font-weight:600}
.claim span{padding:0 12px 0 0;font-size:14px;color:var(--faint);font-weight:600;white-space:nowrap;display:flex;align-items:center}
.claim button{border:0;background:var(--dark);color:#fff;font-weight:700;font-size:14px;padding:0 22px;cursor:pointer;font-family:inherit;margin:5px;border-radius:12px}
.claim button:hover{background:var(--dark3)}
.hero-note{margin:14px 0 0;font-size:13px;color:var(--faint);font-weight:600}

.showcase{max-width:880px;width:100%;margin:0 auto}
.frame{background:#fff;border-radius:24px;overflow:hidden;border:1px solid var(--border);box-shadow:0 30px 80px -40px rgba(31,31,31,.25)}
.frame-bar{display:flex;align-items:center;gap:6px;padding:12px 16px;border-bottom:1px solid var(--border)}
.frame-bar span{width:9px;height:9px;border-radius:50%;background:var(--border2)}
.frame-bar i{margin-left:auto;margin-right:auto;font-style:normal;font-size:12px;font-weight:600;color:var(--faint);background:var(--bg);padding:5px 14px;border-radius:999px}
/* The frame embeds the real tenant template (/preview) rendered at desktop width and scaled down. */
.frame-body{position:relative;height:640px;overflow:hidden;background:#f5f4f0;--pv-scale:.78}
.frame-body iframe{position:absolute;top:0;left:0;width:calc(100% / var(--pv-scale));height:calc(100% / var(--pv-scale));border:0;transform:scale(var(--pv-scale));transform-origin:0 0;pointer-events:none;display:block}
.frame-body::after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(to bottom,rgba(245,244,240,0),#f5f4f0)}

.features{max-width:880px;width:100%;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 48px;padding:8px 8px 0}
.feature{border-top:1px solid var(--border2);padding-top:18px}
.feature h3{margin:0;font-size:17px;font-weight:800;letter-spacing:-0.01em}
.feature p{margin:8px 0 0;font-size:15px;line-height:1.6;color:var(--body);text-wrap:pretty}

.section-title{text-align:center;max-width:620px;margin:0 auto}
.section-title h2{margin:0;font-size:32px;font-weight:800;letter-spacing:-0.025em}
.section-title p{margin:10px 0 0;color:var(--muted);font-size:15px;line-height:1.55}
.landing .plans{max-width:880px;width:100%;margin:-24px auto 0}
.plan .price-alt{font-size:13px;color:var(--faint);font-weight:600;margin-top:-8px}

.closing{text-align:center;padding:24px 0 0;display:flex;flex-direction:column;align-items:center;gap:8px}
.closing h2{margin:0;font-size:32px;font-weight:800;letter-spacing:-0.025em}
.closing p{margin:0 0 12px;color:var(--muted);font-size:15px}
.closing .btn{padding:14px 24px;font-size:14px;border-radius:14px}

.pf-footer{max-width:1100px;width:100%;margin:0 auto;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--faint);flex-wrap:wrap}
.pf-footer a{color:var(--faint)}
.pf-footer a:hover{color:var(--fg)}
.pf-footer-brand{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.pf-footer-brand img{opacity:.8}

@media (max-width:820px){
  .landing{gap:40px;padding-top:16px}
  .features{grid-template-columns:1fr;gap:24px}
  .frame-body{--pv-scale:1;height:520px}
}
@media (max-width:520px){
  .claim{flex-wrap:wrap}
  .claim span{padding-right:14px}
  .claim button{width:calc(100% - 10px);padding:13px}
}
