/* Presencefy Public Foundation v1 */
.public-shell{
  min-height:100vh;
  background:var(--pf-bg);
  color:var(--pf-text);
}

.public-page{
  width:min(var(--pf-page-max), calc(100% - 32px));
  margin:0 auto;
}

.public-section{
  padding:var(--pf-space-16) 0;
}

.public-hero{
  padding:80px 0 64px;
}

.public-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 0;
}

.public-logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:950;
  letter-spacing:-.03em;
}

.public-logo-mark{
  width:38px;
  height:38px;
  border-radius:13px;
  background:var(--pf-brand);
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:950;
}

.public-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--pf-grid-gap);
}

.public-span-12{grid-column:span 12}
.public-span-8{grid-column:span 8}
.public-span-6{grid-column:span 6}
.public-span-4{grid-column:span 4}
.public-span-3{grid-column:span 3}

.public-card{
  background:var(--pf-surface);
  border:1px solid var(--pf-line);
  border-radius:var(--pf-radius-lg);
  box-shadow:var(--pf-shadow-sm);
  padding:var(--pf-space-5);
}

.public-form{
  display:grid;
  gap:14px;
}

.public-footer{
  padding:40px 0;
  border-top:1px solid var(--pf-line);
  color:var(--pf-muted);
}

@media(max-width:860px){
  .public-grid{grid-template-columns:1fr}
  [class*="public-span-"]{grid-column:1/-1}
  .public-hero{padding:46px 0 40px}
  .public-nav{align-items:flex-start;flex-direction:column}
}
