/*
Theme Name: LawyersSEORank
Theme URI: https://lawyersseorank.com
Author: LawyersSEORank
Description: Custom WordPress theme for LawyersSEORank.com, an SEO agency built for law firms. Includes templates for Services, Practice Areas, Locations, and Case Studies.
Version: 1.0.0
Text Domain: lawyersseorank
*/

/* ==========================================================================
   Design tokens — distinct palette: warm slate + burnt-orange accent,
   serif display type + sans body, on an off-white ground.
   ========================================================================== */
:root{
  --lsr-ink:        #1E2A38;   /* deep slate navy - headings/nav */
  --lsr-ink-2:      #2C3B4E;
  --lsr-accent:     #D9722C;   /* burnt orange - CTAs, highlights */
  --lsr-accent-2:   #F0954F;
  --lsr-gold:       #C9A24B;   /* muted gold - stat numbers */
  --lsr-bg:         #FAF8F5;   /* warm off-white */
  --lsr-bg-alt:     #F1ECE4;
  --lsr-card:       #FFFFFF;
  --lsr-text:       #2A2E34;
  --lsr-text-muted: #6B7178;
  --lsr-border:     #E5DFD5;
  --lsr-success:    #3F7A5A;
  --radius:         10px;
  --shadow:         0 6px 24px rgba(30,42,56,0.08);
  --maxw:           1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color:var(--lsr-text);
  background:var(--lsr-bg);
  line-height:1.6;
  font-size:17px;
}
h1,h2,h3,h4{
  font-family:'Playfair Display', Georgia, serif;
  color:var(--lsr-ink);
  line-height:1.2;
  margin:0 0 .5em;
  font-weight:700;
}
h1{font-size:clamp(2.1rem,4vw,3.2rem);}
h2{font-size:clamp(1.6rem,3vw,2.3rem);}
h3{font-size:1.35rem;}
p{margin:0 0 1em;}
a{color:var(--lsr-accent);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
section{padding:72px 0;}
.section-alt{background:var(--lsr-bg-alt);}
.eyebrow{
  text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;
  font-weight:700;color:var(--lsr-accent);margin-bottom:.6em;display:block;
}
.lede{font-size:1.15rem;color:var(--lsr-text-muted);max-width:680px;}

/* Buttons */
.btn{
  display:inline-block;padding:14px 26px;border-radius:999px;font-weight:700;
  font-size:.98rem;transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{text-decoration:none;transform:translateY(-2px);}
.btn-primary{background:var(--lsr-accent);color:#fff;box-shadow:0 8px 20px rgba(217,114,44,.35);}
.btn-primary:hover{background:var(--lsr-accent-2);}
.btn-outline{background:transparent;color:var(--lsr-ink);border:2px solid var(--lsr-ink);}
.btn-outline:hover{background:var(--lsr-ink);color:#fff;}
.btn-ghost-light{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4);}

/* Header */
.site-header{background:var(--lsr-ink);position:sticky;top:0;z-index:50;}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-family:'Playfair Display',serif;font-weight:700;font-size:1.3rem;}
.brand .mark{width:34px;height:34px;border-radius:8px;background:var(--lsr-accent);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;}
.main-nav{display:flex;gap:26px;align-items:center;}
.main-nav a{color:#DCE1E8;font-weight:600;font-size:.95rem;}
.main-nav a:hover{color:#fff;text-decoration:none;}
.header-cta{display:flex;gap:12px;align-items:center;}
.header-cta .btn{padding:10px 20px;font-size:.9rem;}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:1.6rem;}

/* Hero */
.hero{background:linear-gradient(160deg,var(--lsr-ink) 0%, var(--lsr-ink-2) 100%);color:#fff;padding:96px 0 72px;}
.hero .eyebrow{color:var(--lsr-accent-2);}
.hero h1{color:#fff;}
.hero .lede{color:#C9D0D9;}
.hero-actions{display:flex;gap:16px;margin-top:28px;flex-wrap:wrap;}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:56px;border-top:1px solid rgba(255,255,255,.15);padding-top:32px;}
.stat-row div{text-align:center;}
.stat-num{font-family:'Playfair Display',serif;font-size:2.1rem;color:var(--lsr-gold);font-weight:700;}
.stat-label{color:#B9C0CA;font-size:.85rem;}

/* Cards / grids */
.grid{display:grid;gap:24px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.card{background:var(--lsr-card);border:1px solid var(--lsr-border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);}
.card h3{margin-bottom:.4em;}
.card .cta-link{font-weight:700;font-size:.92rem;}
.icon-badge{width:46px;height:46px;border-radius:10px;background:rgba(217,114,44,.12);color:var(--lsr-accent);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:14px;}

/* Process steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.step-num{font-family:'Playfair Display',serif;font-size:2.4rem;color:var(--lsr-border);font-weight:700;}

/* Testimonials */
.testimonial{background:var(--lsr-card);border-left:4px solid var(--lsr-accent);border-radius:0 var(--radius) var(--radius) 0;padding:26px 28px;box-shadow:var(--shadow);}
.testimonial .quote{font-style:italic;font-size:1.05rem;}
.testimonial .who{margin-top:14px;font-weight:700;color:var(--lsr-ink);font-size:.9rem;}
.placeholder-note{font-size:.78rem;color:var(--lsr-text-muted);}

/* Case study cards */
.case-card{background:var(--lsr-card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--lsr-border);}
.case-card .body{padding:22px;}
.case-tag{display:inline-block;background:var(--lsr-bg-alt);color:var(--lsr-ink);font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:999px;margin-bottom:10px;}
.case-metrics{display:flex;gap:20px;margin:14px 0;}
.case-metrics .m{font-family:'Playfair Display',serif;font-weight:700;color:var(--lsr-accent);font-size:1.4rem;}

/* Location / practice-area page hero (narrower) */
.page-hero{background:linear-gradient(160deg,var(--lsr-ink) 0%, var(--lsr-ink-2) 100%);color:#fff;padding:64px 0;}
.page-hero .breadcrumb{color:#B9C0CA;font-size:.85rem;margin-bottom:16px;}
.page-hero .breadcrumb a{color:#DCE1E8;}

/* Table (pricing) */
table.compare{width:100%;border-collapse:collapse;background:var(--lsr-card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
table.compare th, table.compare td{padding:16px;border-bottom:1px solid var(--lsr-border);text-align:left;}
table.compare th{background:var(--lsr-ink);color:#fff;}

/* FAQ */
.faq-item{border-bottom:1px solid var(--lsr-border);padding:18px 0;}
.faq-item h3{font-size:1.05rem;margin-bottom:6px;font-family:'Inter',sans-serif;font-weight:700;}

/* CTA band */
.cta-band{background:var(--lsr-ink);color:#fff;text-align:center;padding:64px 0;}
.cta-band h2{color:#fff;}
.cta-band .lede{color:#C9D0D9;margin:0 auto 24px;}

/* Footer */
.site-footer{background:#151E29;color:#B9C0CA;padding:56px 0 24px;font-size:.92rem;}
.footer-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:32px;}
.footer-grid h4{color:#fff;font-family:'Inter',sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;}
.footer-grid ul{list-style:none;padding:0;margin:0;}
.footer-grid li{margin-bottom:8px;}
.footer-grid a{color:#B9C0CA;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem;}
.tag-cloud a{display:inline-block;margin:0 8px 8px 0;font-size:.85rem;}

/* Blog */
.post-card{background:var(--lsr-card);border-radius:var(--radius);border:1px solid var(--lsr-border);padding:24px;box-shadow:var(--shadow);}
.post-meta{font-size:.8rem;color:var(--lsr-text-muted);margin-bottom:8px;}

/* Responsive */
@media (max-width:960px){
  .main-nav, .header-cta .btn-outline{display:none;}
  .nav-toggle{display:block;}
  .grid-4,.grid-3,.grid-2,.stat-row,.steps,.footer-grid{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
  .grid-4,.grid-3,.grid-2,.stat-row,.steps,.footer-grid{grid-template-columns:1fr;}
  section{padding:48px 0;}
}
