/* Shared styles for ZZ Law inner pages (practice areas, legal guides).
   Same colors and fonts as the homepage. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --navy:#1a2557; --navy-deep:#0d1128; --gold:#b8922a; --gold-light:#d4a843;
  --paper:#f9f6f0; --cream:#ede8dc; --ink:#1a1a1a; --mid:#5a5a6a;
  --serif:'Playfair Display',Georgia,serif; --sans:'Raleway',system-ui,sans-serif; --body:'Crimson Text',Georgia,serif;
}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;}
a{color:var(--navy);}

/* NAV */
nav{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;
  padding:0 3.5rem;height:72px;background:rgba(13,17,40,0.97);border-bottom:1px solid rgba(184,146,42,0.25);}
.nav-brand{display:flex;align-items:center;gap:.85rem;text-decoration:none;}
.nav-brand img{height:42px;width:auto;mix-blend-mode:screen;filter:grayscale(1) invert(1) brightness(.75);opacity:.9;}
.nav-brand-name{font-family:var(--serif);font-size:1.05rem;font-weight:700;color:#fff;letter-spacing:.04em;}
.nav-brand-name span{color:var(--gold);}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none;}
.nav-links a{font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7);text-decoration:none;}
.nav-links a:hover{color:var(--gold-light);}
.nav-links .nav-cta{border:1px solid var(--gold);color:var(--gold);padding:.5rem 1.4rem;}
.hamburger{display:none;background:none;border:none;color:#fff;font-size:1.4rem;cursor:pointer;}

/* PAGE HEADER */
.page-hero{background:var(--navy-deep);color:#fff;padding:4.5rem 3.5rem 4rem;
  background-image:linear-gradient(rgba(184,146,42,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(184,146,42,.04) 1px,transparent 1px);
  background-size:60px 60px;}
.page-hero-inner{max-width:1100px;margin:0 auto;}
.crumbs{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:1.5rem;}
.crumbs a{color:var(--gold-light);text-decoration:none;}
.page-hero h1{font-family:var(--serif);font-size:clamp(2rem,4.5vw,3.4rem);font-weight:700;line-height:1.1;max-width:22ch;}
.page-hero .lede{font-family:var(--body);font-size:1.2rem;color:rgba(255,255,255,.65);max-width:60ch;margin-top:1.25rem;line-height:1.7;}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem;}
.btn-gold,.btn-ghost{display:inline-block;padding:.95rem 2.2rem;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;}
.btn-gold{background:var(--gold);color:var(--navy-deep);border:1px solid var(--gold);}
.btn-gold:hover{background:var(--gold-light);}
.btn-ghost{border:1px solid rgba(255,255,255,.3);color:#fff;}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-light);}

/* BODY LAYOUT */
.page-body{max-width:1100px;margin:0 auto;padding:4rem 3.5rem;display:grid;grid-template-columns:1fr 320px;gap:4rem;align-items:start;}
.content h2{font-family:var(--serif);font-size:1.75rem;color:var(--navy);margin:2.75rem 0 1rem;line-height:1.2;}
.content h2:first-child{margin-top:0;}
.content h3{font-family:var(--serif);font-size:1.2rem;color:var(--navy);margin:1.75rem 0 .5rem;}
.content p,.content li{font-family:var(--body);font-size:1.12rem;color:#333;line-height:1.8;}
.content p+p{margin-top:1rem;}
.content ul,.content ol{margin:1rem 0 1rem 1.4rem;}
.content li{margin-bottom:.5rem;}
.content strong{color:var(--navy);}
.callout{background:var(--cream);border-left:3px solid var(--gold);padding:1.25rem 1.5rem;margin:1.75rem 0;}
.callout p{font-size:1.05rem;}
.steps{counter-reset:step;list-style:none;margin:1.25rem 0 0 !important;}
.steps li{counter-increment:step;position:relative;padding-left:3.25rem;margin-bottom:1.25rem;}
.steps li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:-.15rem;font-family:var(--serif);font-weight:900;font-size:1.6rem;color:var(--gold);}
.checklist{list-style:none;margin-left:0 !important;}
.checklist li{padding-left:1.75rem;position:relative;}
.checklist li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:700;}

/* FAQ */
.faq details{border-top:1px solid rgba(26,37,87,.12);padding:1.25rem 0;}
.faq details:last-child{border-bottom:1px solid rgba(26,37,87,.12);}
.faq summary{font-family:var(--serif);font-size:1.1rem;font-weight:700;color:var(--navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;}
.faq summary::after{content:"+";color:var(--gold);font-size:1.4rem;font-weight:300;}
.faq details[open] summary::after{content:"–";}
.faq details p{margin-top:.75rem;}

/* SIDEBAR */
.sidebar{position:sticky;top:96px;display:flex;flex-direction:column;gap:1.25rem;}
.side-card{background:var(--navy-deep);color:#fff;padding:2rem;border-top:3px solid var(--gold);}
.side-card h3{font-family:var(--serif);font-size:1.3rem;margin-bottom:.75rem;}
.side-card p{font-family:var(--body);font-size:1rem;color:rgba(255,255,255,.65);line-height:1.7;}
.side-card .btn-gold{margin-top:1.25rem;width:100%;text-align:center;}
.side-card .phone{display:block;margin-top:1rem;text-align:center;color:var(--gold-light);font-weight:600;text-decoration:none;letter-spacing:.05em;}
.side-box{background:#fff;padding:1.5rem;border-left:3px solid var(--gold);}
.side-box h4{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem;}
.side-box p,.side-box li{font-family:var(--body);font-size:.98rem;color:var(--mid);line-height:1.65;}
.side-box ul{list-style:none;}
.side-box li{margin-bottom:.4rem;}
.side-box a{color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(184,146,42,.4);}

/* CTA + FOOTER */
.cta-band{background:var(--gold);padding:3rem 3.5rem;}
.cta-inner{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;}
.cta-inner h2{font-family:var(--serif);font-size:1.8rem;color:var(--navy-deep);}
.cta-inner p{font-family:var(--body);color:rgba(13,17,40,.7);margin-top:.35rem;}
.cta-inner .btn-dark{background:var(--navy-deep);color:#fff;padding:1rem 2.4rem;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;}
footer{background:var(--navy-deep);padding:3rem 3.5rem 2rem;color:rgba(255,255,255,.45);}
.footer-inner{max-width:1100px;margin:0 auto;}
.footer-row{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.06);}
.footer-row a{color:rgba(255,255,255,.6);text-decoration:none;font-family:var(--body);}
.footer-row a:hover{color:var(--gold-light);}
.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap;}
.disclaimer{font-family:var(--body);font-size:.85rem;line-height:1.6;margin-top:1.5rem;max-width:80ch;}

/* MOBILE */
@media (max-width:960px){
  nav{padding:0 1.25rem;}
  .hamburger{display:block;}
  .nav-links{display:none;position:fixed;top:72px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--navy-deep);border-top:2px solid var(--gold);padding:1rem 0;}
  .nav-links.open{display:flex;}
  .nav-links li{width:100%;}
  .nav-links a{display:block;padding:.85rem 1.5rem;}
  .nav-links .nav-cta{border:none;}
  .page-hero{padding:3rem 1.25rem;}
  .page-body{grid-template-columns:1fr;padding:2.5rem 1.25rem;gap:2.5rem;}
  .sidebar{position:static;}
  .cta-band,footer{padding-left:1.25rem;padding-right:1.25rem;}
  .btn-gold,.btn-ghost{width:100%;text-align:center;}
}

/* LEGAL GUIDES LIST */
.guide-list{display:flex;flex-direction:column;gap:1.25rem;max-width:820px;}
.guide-card{display:block;background:#fff;padding:2rem;border-left:3px solid var(--gold);text-decoration:none;transition:transform .2s;}
.guide-card:hover{transform:translateY(-2px);}
.guide-card h2{margin:.5rem 0 .5rem !important;font-size:1.4rem !important;}
.guide-tag{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600;}
.guide-meta{display:block;margin-top:.75rem;font-size:.75rem;color:var(--mid);letter-spacing:.05em;}
.content .intro{font-size:1.25rem;}
.content .guide-cat{margin:3rem 0 1.25rem;padding-bottom:.5rem;border-bottom:1px solid rgba(184,146,42,.35);}
.content .guide-cat:first-of-type{margin-top:0;}
.guide-jump{margin-top:1.75rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4);line-height:2;}
.guide-jump a{color:var(--gold-light);text-decoration:none;}
.guide-cat{scroll-margin-top:90px;}

/* Quotes and tables in guides */
.content .quote{margin:1.5rem 0;padding:1.25rem 1.5rem;border-left:3px solid var(--navy);background:#fff;font-family:var(--body);font-style:italic;font-size:1.08rem;line-height:1.75;color:#444;}
.table-wrap{overflow-x:auto;margin:1.25rem 0 1.5rem;-webkit-overflow-scrolling:touch;}
.content table{width:100%;min-width:560px;border-collapse:collapse;background:#fff;font-family:var(--body);font-size:1.02rem;}
.content th,.content td{padding:.85rem 1rem;border:1px solid rgba(26,37,87,.12);vertical-align:top;text-align:left;line-height:1.55;color:#333;}
.content thead th{background:var(--navy-deep);color:#fff;font-family:var(--sans);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;}
.content tbody th{background:var(--cream);color:var(--navy);font-family:var(--serif);font-size:1rem;width:24%;}
.page-body > .content{min-width:0;}
.swipe-hint{display:none;font-family:var(--sans) !important;font-size:.75rem !important;color:var(--mid) !important;letter-spacing:.05em;margin-bottom:-.5rem;}
@media (max-width:640px){.swipe-hint{display:block;}}
.steps.flow li{padding-bottom:.25rem;}
.steps.flow li em{display:block;margin-top:.35rem;color:var(--mid);}
.content .sources{list-style:none;margin-left:0 !important;}
.content .sources li{font-size:1rem;}
