.public-site{
  min-height:100vh;
  background:radial-gradient(circle at 85% 5%,rgba(148,106,16,.10),transparent 30rem),var(--bg)
}
.public-wrap{width:min(1120px,calc(100% - 36px));margin:0 auto}
.public-head{
  height:78px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line)
}
.public-brand{margin-right:auto}.public-nav{display:flex;gap:22px}
.public-nav a{color:var(--muted);font-size:14px;font-weight:700;text-decoration:none}
.public-nav a:hover{color:var(--ink)}
.public-actions{display:flex;gap:9px}
.public-hero{
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
  gap:58px;align-items:center;padding:82px 0 70px
}
.public-eyebrow{
  font-size:13px;font-weight:800;color:var(--brass);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px
}
.public-hero h1{
  font-family:var(--serif);font-size:clamp(48px,6vw,76px);line-height:1.03;letter-spacing:-.035em;
  margin:0 0 22px;max-width:12ch
}
.public-hero p{font-size:18px;color:var(--muted);max-width:62ch;margin:0 0 26px}
.public-cta{display:flex;gap:10px;flex-wrap:wrap}
.public-card{
  background:var(--side);color:var(--side-ink);border-radius:18px;padding:28px;
  box-shadow:0 18px 50px rgba(16,36,31,.13)
}
.public-card h2{font-family:var(--serif);font-size:31px;line-height:1.1;margin:0 0 8px;color:#fff}
.public-card>p{font-size:14px;color:var(--side-muted);margin:0 0 22px}
.public-list{display:grid;gap:9px}
.public-list div{
  padding:11px 12px;border:1px solid rgba(255,255,255,.10);border-radius:9px;
  background:rgba(255,255,255,.035);font-size:14px
}
.public-list b{color:#fff}.public-list span{display:block;color:var(--side-muted);font-size:12px;margin-top:2px}
.public-section{padding:76px 0;border-top:1px solid var(--line)}
.public-section h2{font-family:var(--serif);font-size:38px;margin:0 0 10px}
.public-section>.public-wrap>p{color:var(--muted);max-width:70ch;margin:0 0 28px}
.public-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.public-feature{
  background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px;min-height:160px
}
.public-feature strong{display:block;font-family:var(--serif);font-size:21px;margin-bottom:7px}
.public-feature p{margin:0;color:var(--muted);font-size:14px}
.public-feature .badge{
  display:inline-block;margin-top:16px;font-size:11px;font-weight:800;padding:4px 8px;
  border-radius:999px;background:var(--surface-2)
}
.public-price{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.price-box{padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.price-box.premium{background:var(--side);color:#fff}
.price{font-family:var(--serif);font-size:54px;font-weight:700}
.price small{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--muted)}
.premium .price small,.premium p{color:var(--side-muted)}
.public-foot{padding:38px 0;border-top:1px solid var(--line);color:var(--muted);font-size:13px}

.auth-modal{
  position:fixed;inset:0;z-index:100;background:rgba(7,22,18,.58);display:none;
  align-items:center;justify-content:center;padding:18px
}
.auth-modal.open{display:flex}
.auth-panel{
  width:min(470px,100%);background:var(--surface);border:1px solid var(--line);border-radius:16px;
  box-shadow:0 22px 70px rgba(0,0,0,.22);overflow:hidden
}
.auth-head{display:flex;align-items:flex-start;gap:12px;padding:22px 24px 15px}
.auth-head h2{font-family:var(--serif);font-size:27px;margin:0}
.auth-head p{margin:4px 0 0;color:var(--muted);font-size:14px}
.close-auth{margin-left:auto;border:0;background:none;font-size:25px;cursor:pointer}
.auth-tabs{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.auth-tab{flex:1;padding:11px;border:0;background:none;color:var(--muted);font-weight:700;cursor:pointer}
.auth-tab.active{background:var(--surface-2);color:var(--ink)}
.auth-body{padding:22px 24px 25px}.auth-form{display:none}.auth-form.active{display:block}
.auth-meta{display:flex;justify-content:flex-end;margin:-2px 0 15px}
.auth-meta a{font-size:13px;color:var(--muted)}
.auth-msg{display:none;margin-top:13px;padding:10px 12px;border-radius:8px;font-size:13px}
.auth-msg.show{display:block}.auth-msg.error{background:var(--bad-bg);color:var(--bad)}
.auth-msg.success{background:var(--ok-bg);color:var(--ok)}
.auth-form .btn{width:100%}
.auth-provider-note{
  display:flex;gap:10px;margin:0 0 16px;padding:12px 13px;
  border:1px solid var(--line);border-radius:10px;background:var(--surface-2);
  color:var(--muted);font-size:12.5px
}
.auth-provider-note svg{flex:0 0 auto;margin-top:2px;color:var(--brass)}
.auth-provider-note strong{display:block;color:var(--ink);font-size:13px;margin-bottom:2px}
@media(max-width:900px){
  .public-nav{display:none}.public-hero{grid-template-columns:1fr;gap:34px;padding-top:52px}
  .public-grid,.public-price{grid-template-columns:1fr}.public-actions .btn:first-child{display:none}
}
@media(max-width:520px){
  .public-wrap{width:min(100% - 24px,1120px)}.public-head{height:68px}
  .public-hero h1{font-size:46px}.public-section{padding:55px 0}.public-actions .btn{padding:8px 12px}
}
