/* linuxpbx.com — commercial site */
:root {
  --brand: #0f5f3f; --brand-2: #12734d; --dark: #102a1f; --dark-2: #173d2d;
  --bg: #f7f8fa; --panel: #fff; --line: #e2e6ea; --text: #1f2933; --muted: #5f6b76;
}
* { box-sizing: border-box; }
body { margin: 0; font: 16px/1.6 system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--text); background: var(--bg); }
a { color: var(--brand-2); text-decoration: none; }
a:hover { text-decoration: underline; }
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 24px; }

header.site { background: var(--dark); color: #cfe3d8; }
header.site .wrap { display: flex; align-items: center; gap: 28px; height: 64px; }
header.site .logo { font-weight: 800; font-size: 20px; color: #fff; letter-spacing: .3px; }
header.site nav { display: flex; gap: 18px; flex-wrap: wrap; }
header.site nav a { color: #cfe3d8; font-size: 15px; }
header.site nav a:hover { color: #fff; text-decoration: none; }
header.site .cta { margin-left: auto; }

.hero { background: linear-gradient(160deg, var(--dark) 0%, var(--brand) 100%); color: #fff; padding: 72px 0 64px; }
.hero h1 { font-size: 42px; line-height: 1.15; margin: 0 0 14px; max-width: 720px; }
.hero p.sub { font-size: 19px; color: #d7e8df; max-width: 640px; margin: 0 0 28px; }
.hero .install { background: rgba(0,0,0,.35); border: 1px solid rgba(255,255,255,.15); border-radius: 8px; padding: 14px 18px; font-family: ui-monospace, Menlo, monospace; font-size: 15px; display: inline-block; margin-bottom: 26px; user-select: all; }
.btn { display: inline-block; background: #fff; color: var(--brand); font-weight: 600; border-radius: 8px; padding: 12px 22px; font-size: 16px; }
.btn:hover { text-decoration: none; opacity: .92; }
.btn.ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.4); margin-left: 10px; }
.btn.brand { background: var(--brand); color: #fff; }

section { padding: 56px 0; }
section.alt { background: var(--panel); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
h2 { font-size: 30px; margin: 0 0 8px; }
p.lead { color: var(--muted); font-size: 17px; margin-top: 0; }

.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 28px; }
.card { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 22px; }
section.alt .card { background: var(--bg); }
.card h3 { margin: 0 0 6px; font-size: 18px; }
.card p { margin: 0; color: var(--muted); font-size: 15px; }

table.pricing { width: 100%; border-collapse: collapse; margin-top: 24px; background: var(--panel); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
table.pricing th, table.pricing td { padding: 13px 16px; text-align: left; border-bottom: 1px solid var(--line); }
table.pricing th { background: var(--dark); color: #fff; font-size: 13px; text-transform: uppercase; letter-spacing: .6px; }
table.pricing tr.highlight { background: #eaf5ef; }
.tag { display: inline-block; background: #dcefe5; color: var(--brand); border-radius: 12px; padding: 2px 10px; font-size: 12px; font-weight: 700; }

.faq-item { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 20px 22px; margin-bottom: 14px; }
.faq-item h3 { margin: 0 0 8px; font-size: 17px; }
.faq-item p { margin: 0; color: var(--muted); }

pre.code { background: var(--dark); color: #d7e8df; border-radius: 8px; padding: 16px 18px; overflow-x: auto; font-size: 14px; font-family: ui-monospace, Menlo, monospace; }

footer.site { background: var(--dark); color: #9fbcac; padding: 36px 0; font-size: 14px; margin-top: 40px; }
footer.site a { color: #cfe3d8; }
footer.site .cols { display: flex; gap: 48px; flex-wrap: wrap; }

.notice { background: #fdf3e0; border: 1px solid #f0d9a8; color: #7a5b12; border-radius: 8px; padding: 12px 16px; font-size: 15px; margin: 20px 0; }
@media (max-width: 640px) { .hero h1 { font-size: 30px; } header.site .wrap { height: auto; padding: 12px 24px; flex-wrap: wrap; } }
