/* Live-site overrides: fluid width, landing and login. Keep v15 tokens. */
html,body{width:100%;max-width:100%}
body{width:auto}
.frame{max-width:1440px;margin:0 auto;width:100%}

.pub{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;padding:28px 32px 64px;max-width:1040px;margin:0 auto}
.pub-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:88px}
.brand{display:flex;align-items:center;gap:12px}
.brand .name{font:500 13px/1 Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}

.hero-copy{max-width:640px;padding:12px 4px 48px}
.hero-copy .h1{font:500 48px/1.12 Inter;letter-spacing:-.03em;color:#fff}
.hero-copy .lead{margin-top:18px;font:400 18px/1.5 Inter;color:var(--mu);max-width:520px}
.hero-copy .cta{margin-top:36px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hero-copy .btn.pri{height:40px;padding:0 20px;font-size:14px}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:8px 0 80px}
.pillars .lg{padding:28px 26px 32px}
.pillars .lbl{margin-bottom:18px}
.pillars .ttl{font:500 17px/1.3 Inter;margin-bottom:10px}
.pillars .mu{font-size:14px;line-height:1.55}

.request{padding:32px 34px 36px;max-width:560px}
.request .h1{font-size:22px}
.request form{display:grid;gap:16px;margin-top:24px}
.request label{display:grid;gap:8px}
.request input,.request textarea{
  width:100%;background:rgba(255,255,255,.04);border:1px solid var(--line);
  border-radius:12px;color:var(--tx);font:400 14px/1.4 Inter;padding:12px 14px;outline:none
}
.request textarea{min-height:96px;resize:vertical}
.request input:focus,.request textarea:focus{border-color:rgba(255,255,255,.14)}
.request .btn{justify-content:center;height:40px;width:fit-content}
.request .thanks{display:none;margin-top:8px}
.request.is-sent form{display:none}
.request.is-sent .thanks{display:block}

.foot{margin-top:auto;padding-top:48px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.foot .mu{font-size:12px}

.login-wrap{min-height:100vh;display:grid;place-items:center;padding:40px 24px;position:relative;z-index:1}
.login-card{width:100%;max-width:400px;padding:40px 36px 36px}
.login-card .mark{width:40px;height:40px;border-radius:12px;font-size:13px;margin-bottom:28px}
.login-card .h1{font-size:24px;margin-bottom:8px}
.login-card .mu{margin-bottom:32px}
.login-card .field{margin-bottom:28px}
.login-card .field .lbl{margin-bottom:10px}
.login-card .household{
  display:flex;align-items:center;height:44px;padding:0 16px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid var(--line);font:400 14px Inter
}
.login-card .btn.pri{width:100%;height:42px;justify-content:center}
.login-card .back{display:block;margin-top:20px;text-align:center;font-size:13px;color:var(--dim)}

@media (max-width:900px){
  .pillars{grid-template-columns:1fr}
  .hero-copy .h1{font-size:36px}
  .pub{padding:24px 20px 48px}
  .shell{grid-template-columns:1fr}
}
