/*
Theme Name: Callahan Criminal Defense
Theme URI: https://www.defenselawyersite.com/
Author: Defense Lawyer Site
Description: A fast, accessible custom theme for Robert J. Callahan's Chicago criminal defense practice.
Version: 4.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: callahan-defense
*/

:root{--navy:#071b33;--navy2:#0d2e50;--gold:#c99a3c;--gold2:#e2bd72;--cream:#f7f3ea;--ink:#142033;--muted:#5d6878;--white:#fff;--line:#dce2e8;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65}a{color:#174f86}a:hover{color:#8b641b}img{max-width:100%;height:auto}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.screen-reader-text{position:absolute;left:-9999px}.site-header{background:var(--navy);color:#fff;border-bottom:3px solid var(--gold);position:relative;z-index:5}.header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{color:#fff;text-decoration:none}.brand strong{display:block;font-family:Georgia,serif;font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.15}.brand span{display:block;color:var(--gold2);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;margin-top:7px}.main-nav ul{display:flex;gap:24px;align-items:center;list-style:none;margin:0;padding:0}.main-nav a{color:#fff;text-decoration:none;font-weight:650;font-size:.94rem}.header-call,.button{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#111a26!important;text-decoration:none;font-weight:800;border-radius:4px;padding:13px 20px;line-height:1.2;box-shadow:0 5px 16px rgba(0,0,0,.16)}.header-call:hover,.button:hover{background:var(--gold2);color:#111a26}.button-outline{background:transparent;color:#fff!important;border:2px solid rgba(255,255,255,.75);box-shadow:none}.hero{background:linear-gradient(112deg,rgba(5,22,43,.98),rgba(10,43,73,.92));color:#fff;padding:92px 0 82px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:68px;align-items:center}.eyebrow{color:var(--gold2);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;margin:0 0 16px}.hero h1{font-family:Georgia,serif;font-size:clamp(2.6rem,6vw,5rem);line-height:1.02;margin:0 0 22px;max-width:850px}.hero .lead{font-size:clamp(1.05rem,2vw,1.3rem);color:#e5edf5;max-width:720px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.trust-card{background:#fff;color:var(--ink);padding:32px;border-top:5px solid var(--gold);box-shadow:0 18px 50px rgba(0,0,0,.28)}.trust-card h2{font-family:Georgia,serif;margin:0 0 16px;font-size:1.65rem}.trust-card ul{list-style:none;margin:0;padding:0}.trust-card li{padding:10px 0;border-bottom:1px solid var(--line)}.trust-card li:before{content:"✓";color:#956a17;font-weight:900;margin-right:10px}.section{padding:76px 0}.section.alt{background:var(--cream)}.section.dark{background:var(--navy);color:#fff}.section-heading{max-width:760px;margin-bottom:38px}.section-heading h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.1rem);line-height:1.14;margin:0 0 12px}.section-heading p{color:var(--muted);font-size:1.08rem}.dark .section-heading p{color:#d2dde9}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.practice-card{background:#fff;border:1px solid var(--line);padding:28px;box-shadow:0 8px 26px rgba(10,30,50,.06)}.practice-card h3{font-family:Georgia,serif;font-size:1.3rem;margin:0 0 8px}.practice-card p{color:var(--muted);margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center}.split h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.12;margin-top:0}.stat-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stat{background:var(--navy2);color:#fff;padding:28px;border-left:4px solid var(--gold)}.stat strong{display:block;color:var(--gold2);font-family:Georgia,serif;font-size:1.55rem}.victories{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.victory{background:#fff;color:var(--ink);padding:26px;border-top:4px solid var(--gold)}.victory h3{margin-top:0;font-family:Georgia,serif}.victory .result{color:#805b13;font-weight:900;text-transform:uppercase;font-size:.82rem;letter-spacing:.08em}.cta{text-align:center;background:linear-gradient(135deg,var(--gold),#e5c47f);padding:56px 20px;color:#101b29}.cta h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem);margin:0 0 12px}.cta p{font-size:1.15rem;margin:0 0 24px}.cta .button{background:var(--navy);color:#fff!important}.content-area{width:min(calc(100% - 40px),900px);margin:auto;padding:60px 0}.entry-title{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem)}.site-footer{background:#041426;color:#c9d4df;padding:46px 0 25px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}.site-footer h2,.site-footer h3{color:#fff;font-family:Georgia,serif}.site-footer a{color:#e3bd71}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:34px;padding-top:20px;font-size:.84rem}.mobile-call{display:none;position:fixed;z-index:20;bottom:0;left:0;right:0;background:var(--gold);color:#111!important;text-align:center;text-decoration:none;font-weight:900;padding:14px}
@media(max-width:900px){.main-nav{display:none}.hero{padding:66px 0}.hero-grid,.split{grid-template-columns:1fr;gap:38px}.practice-grid,.victories{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.header-call{display:none}.mobile-call{display:block}body{padding-bottom:50px}}
@media(max-width:620px){.container{width:min(calc(100% - 28px),var(--max))}.header-inner{min-height:80px}.practice-grid,.victories,.stat-panel{grid-template-columns:1fr}.hero h1{font-size:2.65rem}.section{padding:58px 0}.hero-actions{display:grid}.button{width:100%}}

/* Existing page and post presentation */
.page-hero{background:linear-gradient(112deg,var(--navy),var(--navy2));color:#fff;padding:54px 0;border-bottom:3px solid var(--gold)}
.page-hero h1{font-family:Georgia,serif;font-size:clamp(2.25rem,5vw,4rem);line-height:1.08;margin:0;max-width:920px}
.page-content{background:#fff;border:1px solid var(--line);box-shadow:0 12px 36px rgba(7,27,51,.08);padding:clamp(26px,5vw,54px);margin-top:-24px;position:relative}
.page-content h2,.page-content h3,.page-content h4{font-family:Georgia,serif;color:var(--navy);line-height:1.2}
.page-content h2{font-size:clamp(1.65rem,3vw,2.35rem);margin-top:1.6em}.page-content h3{font-size:1.4rem}
.page-content p,.page-content li{font-size:1.04rem}.page-content blockquote{border-left:4px solid var(--gold);margin:28px 0;padding:6px 0 6px 24px;color:var(--muted)}
.page-content img{border-radius:3px}.page-content table{width:100%;border-collapse:collapse}.page-content th,.page-content td{border:1px solid var(--line);padding:12px;text-align:left}
.legacy-post-list{list-style:none;margin:26px 0;padding:0;border-top:1px solid var(--line)}.legacy-post-list li{padding:14px 0;border-bottom:1px solid var(--line)}.legacy-post-list a{font-weight:750;text-decoration:none}
@media(max-width:900px){.page-content{margin-top:-14px}}
.main-nav li{position:relative}.main-nav .sub-menu{display:none;position:absolute;top:100%;left:-18px;min-width:310px;background:#fff;border-top:3px solid var(--gold);box-shadow:0 14px 35px rgba(0,0,0,.22);padding:10px 0;z-index:30}.main-nav .sub-menu li{display:block}.main-nav .sub-menu a{display:block;color:var(--navy);padding:10px 18px;white-space:nowrap}.main-nav .sub-menu a:hover{background:var(--cream);color:#7e5811}.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{display:block}.practice-intro{font-size:1.16rem;color:#34445a}.practice-cta{background:var(--cream);border-left:5px solid var(--gold);padding:26px;margin:36px 0}.practice-cta h2{margin-top:0}.practice-cta .button{margin-top:8px}
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:30px}.blog-card{border:1px solid var(--line);border-top:4px solid var(--gold);padding:26px;background:#fff}.blog-card h2{font-size:1.45rem;margin-top:0}.blog-card a{text-decoration:none}.related-reading{background:#eef3f7;border-left:4px solid var(--gold);padding:22px;margin:30px 0}.related-reading h2{margin-top:0;font-size:1.4rem}.related-reading ul{margin-bottom:0}@media(max-width:700px){.blog-grid{grid-template-columns:1fr}}
