/*
Theme Name: Phantom Accounting Solutions
Theme URI: https://example.com/
Author: Phantom Accounting Solutions
Description: Modern accounting firm WordPress theme in purple, black, and silver.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
License: GPL-2.0-or-later
Text Domain: phantom-accounting
*/

:root {
  --purple: #8b2cff;
  --purple-dark: #4c1599;
  --black: #08080c;
  --black-2: #111116;
  --silver: #d7d9df;
  --silver-dark: #9ca1ad;
  --white: #ffffff;
  --muted: #b8bbc5;
  --max: 1180px;
  --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #fff;
  color: #17171d;
  line-height: 1.65;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
.container { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }

.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(8,8,12,.94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(215,217,223,.15);
}
.header-inner { min-height: 82px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand img { width: 210px; max-height: 68px; object-fit: contain; }
.brand-text { color:#fff; font-weight:800; letter-spacing:.04em; font-size:20px; }
.brand-text span { color:var(--purple); }
.main-nav ul { list-style:none; margin:0; padding:0; display:flex; gap:28px; align-items:center; }
.main-nav a { color:#e9e9ed; font-weight:600; font-size:14px; }
.main-nav a:hover { color:#b96cff; }
.menu-toggle { display:none; background:none; border:0; color:#fff; font-size:26px; }

.btn {
  display:inline-flex; align-items:center; justify-content:center;
  padding:13px 21px; border-radius:999px; font-weight:800;
  border:1px solid transparent; transition:.2s ease; cursor:pointer;
}
.btn-primary { background:linear-gradient(135deg,var(--purple),#b45cff); color:#fff; box-shadow:0 10px 28px rgba(139,44,255,.28); }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 14px 34px rgba(139,44,255,.4); }
.btn-outline { border-color:#737681; color:#fff; background:transparent; }
.btn-outline:hover { border-color:#b96cff; color:#d9b9ff; }

.hero {
  background:
    radial-gradient(circle at 78% 20%, rgba(139,44,255,.32), transparent 30%),
    radial-gradient(circle at 20% 80%, rgba(90,70,140,.15), transparent 28%),
    linear-gradient(135deg,#07070a 0%,#111118 58%,#08080c 100%);
  color:#fff; padding:100px 0 88px; overflow:hidden;
}
.hero-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:55px; align-items:center; }
.eyebrow { color:#c998ff; text-transform:uppercase; letter-spacing:.16em; font-weight:800; font-size:12px; }
.hero h1 { font-size:clamp(42px,6vw,72px); line-height:1.04; margin:15px 0 22px; letter-spacing:-.04em; }
.hero h1 span { color:#b86cff; }
.hero p { font-size:19px; color:#c7c8cf; max-width:650px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.hero-card {
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  border:1px solid rgba(215,217,223,.2); border-radius:28px; padding:30px;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.hero-card h3 { margin-top:0; font-size:22px; }
.check-list { list-style:none; margin:20px 0 0; padding:0; }
.check-list li { padding:11px 0 11px 31px; position:relative; color:#e4e4e9; }
.check-list li:before { content:"✓"; position:absolute; left:0; color:#b96cff; font-weight:900; }

.section { padding:88px 0; }
.section-dark { background:var(--black); color:#fff; }
.section-soft { background:#f5f5f7; }
.section-heading { max-width:700px; margin-bottom:42px; }
.section-heading.center { margin-left:auto; margin-right:auto; text-align:center; }
.section-heading h2 { margin:10px 0 12px; font-size:clamp(32px,4vw,50px); line-height:1.1; letter-spacing:-.03em; }
.section-heading p { color:#696c76; font-size:17px; }
.section-dark .section-heading p { color:#b8bbc5; }

.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.service-card {
  padding:30px; border:1px solid #e1e2e6; border-radius:var(--radius); background:#fff;
  transition:.2s ease; box-shadow:0 10px 35px rgba(10,10,20,.04);
}
.service-card:hover { transform:translateY(-5px); border-color:#cda5ff; box-shadow:0 18px 45px rgba(80,30,140,.11); }
.icon {
  width:50px; height:50px; border-radius:14px; display:grid; place-items:center;
  background:#f0e4ff; color:#721fd2; font-size:22px; font-weight:900;
}
.service-card h3 { margin:18px 0 8px; font-size:20px; }
.service-card p { margin:0; color:#6b6d76; }

.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:45px; }
.stat { padding:25px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(255,255,255,.04); }
.stat strong { display:block; font-size:34px; color:#fff; }
.stat span { color:#aeb0b9; font-size:14px; }

.split { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.feature-box { background:#0d0d13; border:1px solid rgba(255,255,255,.12); border-radius:26px; padding:35px; }
.feature-box h3 { font-size:27px; margin-top:0; }
.feature-list { list-style:none; padding:0; margin:0; }
.feature-list li { padding:13px 0; border-bottom:1px solid rgba(255,255,255,.1); color:#d3d4da; }
.feature-list li:last-child { border-bottom:0; }

.cta { background:linear-gradient(135deg,#40107f,#8b2cff 58%,#1b1027); color:#fff; padding:70px 0; }
.cta-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.cta h2 { margin:0 0 8px; font-size:clamp(30px,4vw,46px); }
.cta p { margin:0; color:#e4d9ef; }

.contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:30px; }
.contact-card, .contact-form { border:1px solid #e0e1e6; border-radius:22px; padding:30px; background:#fff; }
.contact-card { background:#111116; color:#fff; border-color:#26262f; }
.contact-item { margin:24px 0; }
.contact-item small { display:block; color:#9fa1aa; text-transform:uppercase; letter-spacing:.1em; font-weight:800; font-size:11px; }
.contact-item strong { display:block; margin-top:4px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
label { display:block; font-weight:700; font-size:14px; margin-bottom:6px; }
input, textarea, select {
  width:100%; padding:13px 14px; border:1px solid #d8dae0; border-radius:10px;
  font:inherit; background:#fff; color:#17171d;
}
textarea { min-height:150px; resize:vertical; }
.field { margin-bottom:17px; }

.site-footer { background:#060608; color:#c6c7ce; padding:50px 0 25px; }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; }
.site-footer h3 { color:#fff; margin-top:0; }
.site-footer a:hover { color:#c28aff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); margin-top:35px; padding-top:20px; font-size:13px; color:#858792; }

.page-hero { background:linear-gradient(135deg,#09090d,#21102e); color:#fff; padding:70px 0; }
.page-hero h1 { font-size:52px; margin:0 0 8px; }
.content-area { padding:70px 0; }
.content-area h2 { font-size:34px; }
.content-area p, .content-area li { color:#555861; }

@media (max-width: 900px) {
  .hero-grid, .split, .contact-grid { grid-template-columns:1fr; }
  .services-grid { grid-template-columns:1fr 1fr; }
  .stats { grid-template-columns:1fr 1fr; }
  .main-nav { display:none; position:absolute; top:82px; left:0; right:0; background:#08080c; padding:20px; }
  .main-nav.open { display:block; }
  .main-nav ul { flex-direction:column; align-items:flex-start; }
  .menu-toggle { display:block; }
}
@media (max-width: 600px) {
  .container { width:min(var(--max),calc(100% - 28px)); }
  .hero { padding:70px 0; }
  .services-grid, .stats, .footer-grid, .form-row { grid-template-columns:1fr; }
  .brand img { width:170px; }
  .cta-inner { flex-direction:column; align-items:flex-start; }
}


.homepage-logo { margin-bottom: 22px; }
.homepage-logo img {
  display: block;
  width: min(430px, 88%);
  max-height: 250px;
  object-fit: contain;
  object-position: left center;
}

.form-success,.form-error{padding:14px 16px;border-radius:10px;margin:0 0 20px;font-weight:700}.form-success{background:#eaf8ef;color:#176b36;border:1px solid #b9e4c7}.form-error{background:#fff0f0;color:#9d2424;border:1px solid #efb9b9}

.legal-content{max-width:900px}.legal-content h2{margin-top:36px;margin-bottom:12px}.legal-content p{line-height:1.8;color:rgba(255,255,255,.78)}.legal-content a{color:#a84cff}
