/* ============================================================
   SMITH TAYLOR, PLLC — GLOBAL STYLESHEET
   Canonical source for every page on the site.
   Base block below is copied wholesale from the approved
   homepage build (never hand-sliced) to guarantee every page
   gets byte-identical header/footer/consult-band CSS.
   ============================================================ */

  :root{
    --black:#0a0a0a;
    --charcoal:#1c1b19;
    --charcoal-2:#242220;
    --white:#ffffff;
    --gold:#ffc000;
    --logo-gold:#ffc000;
    --muted:#b7b3a9;
    --muted-2:#8a877e;
    --line:rgba(255,255,255,0.14);
    --font-heading:'Fraunces','Iowan Old Style','Apple Garamond',Baskerville,'Times New Roman','Droid Serif',Times,'Source Serif Pro',serif;
    --font-body:'Plus Jakarta Sans',sans-serif;
    --font-logo:'Poppins',sans-serif;
  }
  *{box-sizing:border-box;}
  body{margin:0;background:#0a0a0a;font-family:var(--font-body);-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  .serif{font-family:var(--font-heading);}

  /* ---------- LOGO (official transparent asset) ---------- */
  .logo-img{display:block;height:44px;width:auto;}
  .logo-img.sm{height:42px;}
  a.logo-link{display:inline-flex;align-items:center;}

  /* ---------- HEADER ---------- */
  header{
    background:var(--black);
    border-bottom:1px solid var(--line);
    padding:0 48px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:88px;
    position:relative;
  }
  nav.primary{display:flex;align-items:center;gap:36px;height:100%;}
  nav.primary > a, nav.primary > .has-menu > a{
    background:none;border:none;cursor:pointer;
    font-family:var(--font-body);font-size:14px;font-weight:500;line-height:1.72;
    color:#e7e5e0;letter-spacing:0.015em;
    padding:0;height:100%;display:flex;align-items:center;gap:6px;
    text-decoration:none;
  }
  .has-menu{position:relative;display:flex;align-items:center;height:100%;}
  .has-menu .chev-btn{background:none;border:none;cursor:pointer;padding:0 4px 0 0;height:100%;display:flex;align-items:center;color:#e7e5e0;}
  .has-menu .chev-btn svg{width:10px;height:10px;opacity:0.6;transition:transform .15s;}
  .has-menu:hover .chev-btn svg{transform:rotate(180deg);}
  .has-menu:hover a, .has-menu:hover .chev-btn, nav.primary > a:hover{color:var(--gold);}
  .callbar{display:flex;align-items:center;gap:10px;color:var(--gold);font-weight:600;font-size:16px;font-family:var(--font-body);}
  .callbar svg{width:16px;height:16px;}

  .megamenu{
    position:absolute;top:100%;left:50%;transform:translateX(-50%);
    background:var(--charcoal);border:1px solid var(--line);
    box-shadow:0 24px 48px rgba(0,0,0,0.45);
    padding:28px 32px;display:none;gap:40px;
    width:640px;z-index:20;
  }
  .has-menu:hover .megamenu{display:flex;}
  .megamenu-col{min-width:150px;}
  .megamenu-col h4{
    font-family:var(--font-body);font-size:11px;letter-spacing:0.08em;
    color:var(--muted-2);margin:0 0 14px;font-weight:600;text-transform:uppercase;
  }
  .megamenu-col a{display:block;font-size:14.5px;color:#eae8e2;padding:7px 0;border-bottom:1px solid transparent;}
  .megamenu-col a:hover{color:var(--gold);}

  /* ---------- ABOUT / EXPERIENCE BAND ---------- */
  .about-band{position:relative;background:#fff;overflow:hidden;padding:140px 0;}
  .about-band .bg-texture{
    position:absolute;inset:0;background-size:cover;background-position:right center;
    opacity:0.9;
    -webkit-mask-image:linear-gradient(to right, transparent 0%, transparent 45%, white 78%);
    mask-image:linear-gradient(to right, transparent 0%, transparent 45%, white 78%);
  }
  .about-grid{
    position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 48px;
    display:flex;align-items:center;gap:65px;
  }
  .about-copy{flex:0 0 50%;max-width:50%;}
  .about-kicker{
    border-left:4px solid var(--gold);padding:8px 0 8px 24px;margin-bottom:32px;
    font-family:var(--font-body);font-weight:700;font-size:15px;color:var(--black);
  }
  .about-copy h2{
    font-family:var(--font-heading);font-weight:400;font-style:normal;
    font-size:clamp(24px,2.4vw,30px);color:var(--black);line-height:1.3;margin:0 0 24px;
  }
  .about-copy p{
    font-family:var(--font-body);font-size:16px;line-height:1.7;color:#4a4a4a;margin:0 0 40px;
  }
  .about-call-btn{
    display:inline-flex;align-items:center;gap:10px;
    background:#e4e4e4;color:#262626;font-family:var(--font-body);font-weight:600;font-size:14px;
    padding:16px 24px;transition:background .2s,color .2s;
  }
  .about-call-btn:hover{background:#464646;color:var(--gold);}
  .about-call-btn svg{width:15px;height:15px;}

  .about-media{flex:0 0 50%;max-width:50%;position:relative;}
  .about-media img{
    width:100%;aspect-ratio:100/130;object-fit:cover;object-position:45% 48%;display:block;
  }
  .about-stat-card{
    position:relative;z-index:3;margin-top:-70px;margin-left:48px;width:60%;
    background:#fff;box-shadow:0 12px 40px rgba(0,0,0,0.16);
    padding:24px 28px;display:flex;align-items:center;gap:16px;
  }
  .about-stat-card svg{width:38px;height:38px;color:var(--gold);flex-shrink:0;}
  .about-stat-card .txt{font-family:var(--font-body);font-weight:600;font-size:15px;color:var(--black);line-height:1.4;}

  @media (max-width:900px){
    .about-band{padding:80px 0;}
    .about-grid{flex-direction:column;padding:0 20px;gap:40px;}
    .about-copy, .about-media{flex:0 0 100%;max-width:100%;}
    .about-stat-card{margin-left:0;width:80%;}
  }

  /* ---------- MEET OUR ATTORNEYS ---------- */
  .attorneys-band{position:relative;background:#fff;padding:140px 0;}
  .attorneys-intro{max-width:1200px;margin:0 auto 64px;padding:0 48px;}
  .attorneys-intro h2{
    font-family:var(--font-heading);font-weight:400;font-style:normal;
    font-size:clamp(26px,2.6vw,34px);color:var(--black);line-height:1.3;margin:0 0 20px;
  }
  .attorneys-intro p{
    font-family:var(--font-body);font-size:16px;line-height:1.75;color:#4a4a4a;margin:0;max-width:760px;
  }

  .attorney-row{
    max-width:1200px;margin:0 auto;padding:0 48px;
    display:flex;align-items:center;gap:70px;
  }
  .attorney-row.reverse{flex-direction:row-reverse;}
  .attorney-row .photo{flex:0 0 380px;position:relative;overflow:hidden;}
  .attorney-row .photo img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .4s;}
  .attorney-row .photo:hover img{transform:scale(1.03);}
  .attorney-row .text{flex:1;}
  .attorney-row .text h3{
    font-family:var(--font-heading);font-weight:400;font-style:normal;
    font-size:clamp(22px,2.2vw,26px);color:var(--black);margin:0 0 4px;
  }
  .attorney-row .text .title{
    font-family:var(--font-body);font-weight:600;font-size:13px;letter-spacing:0.08em;text-transform:uppercase;
    color:var(--gold);margin:0 0 20px;
  }
  .attorney-row .text p{
    font-family:var(--font-body);font-size:16px;line-height:1.75;color:#4a4a4a;margin:0 0 24px;
  }
  .attorney-row .text a.bio-link{
    font-family:var(--font-body);font-weight:600;font-size:14px;color:var(--black);
    border-bottom:1px solid var(--gold);padding-bottom:2px;
  }
  .attorney-row .text a.bio-link:hover{color:var(--gold);}

  .attorneys-divider{
    max-width:1200px;margin:56px auto;padding:0 48px;
  }
  .attorneys-divider div{height:1px;background:linear-gradient(90deg, transparent 0%, rgba(255,192,0,0.5) 50%, transparent 100%);}

  .attorneys-closing{max-width:1200px;margin:64px auto 0;padding:0 48px;}
  .attorneys-closing p{
    font-family:var(--font-body);font-size:16px;line-height:1.75;color:#4a4a4a;margin:0;
    border-left:3px solid var(--gold);padding-left:24px;max-width:820px;
  }

  @media (max-width:900px){
    .attorneys-band{padding:80px 0;}
    .attorneys-intro{padding:0 20px;margin-bottom:48px;}
    .attorney-row, .attorney-row.reverse{flex-direction:column;padding:0 20px;gap:28px;align-items:flex-start;}
    .attorney-row .photo{flex:0 0 auto;width:100%;max-width:320px;}
    .attorneys-divider{padding:0 20px;margin:40px auto;}
    .attorneys-closing{padding:0 20px;}
  }

  /* ---------- CLIENT TESTIMONIALS ---------- */
  .testimonials-band{position:relative;background:#faf8f4;padding:140px 0;}
  .testimonials-intro{max-width:1200px;margin:0 auto 56px;padding:0 48px;text-align:center;}
  .testimonials-intro h2{
    font-family:var(--font-heading);font-weight:400;font-style:normal;
    font-size:clamp(26px,2.6vw,34px);color:var(--black);line-height:1.3;margin:0;
  }
  .testimonials-wrap{max-width:1200px;margin:0 auto;padding:0 48px;}

  @media (max-width:900px){
    .testimonials-band{padding:80px 0;}
    .testimonials-intro{padding:0 20px;margin-bottom:40px;}
    .testimonials-wrap{padding:0 20px;}
  }

  /* ---------- PRACTICE AREAS SECTION ---------- */
  .practice-section{
    position:relative;
    background-color:#0a0a0a;
    padding:120px 48px 100px;
    overflow:hidden;
  }
  .practice-section .bg-photo{
    position:absolute;inset:0;
    background-image:url('../images/practice-areas-bg.jpg');
    background-size:cover;background-position:center 30%;
    opacity:0.34;
    filter:grayscale(35%) contrast(1.05);
    mix-blend-mode:luminosity;
  }
  .practice-section .bg-gradient{
    position:absolute;inset:0;
    background:
      linear-gradient(180deg, rgba(10,10,10,0.55) 0%, rgba(10,10,10,0.88) 46%, #0a0a0a 88%),
      linear-gradient(100deg, rgba(10,10,10,0.96) 0%, rgba(10,10,10,0.55) 42%, rgba(10,10,10,0.2) 70%);
  }
  .practice-section .bg-glow{
    position:absolute;top:-180px;right:-160px;width:560px;height:560px;border-radius:50%;
    background:radial-gradient(circle, rgba(255,192,0,0.10) 0%, rgba(255,192,0,0) 70%);
  }
  .practice-inner{position:relative;z-index:2;max-width:1180px;margin:0 auto;}

  .practice-intro{max-width:620px;margin-bottom:64px;}
  .practice-kicker{display:flex;align-items:center;gap:12px;margin-bottom:22px;}
  .practice-kicker .rule{width:34px;height:1px;background:var(--gold);}
  .practice-kicker span{font-size:13px;letter-spacing:0.04em;color:var(--muted);font-family:var(--font-body);}
  .practice-intro h2{
    font-family:var(--font-heading);font-weight:600;font-size:clamp(32px,3.6vw,46px);
    color:#fff;line-height:1.15;margin:0 0 20px;
  }
  .practice-intro p{
    font-size:16.5px;line-height:1.7;color:var(--muted);margin:0;
    font-family:var(--font-body);
  }

  .practice-list{border-top:1px solid var(--line);}
  .practice-row{
    display:grid;grid-template-columns:280px 1fr 130px;align-items:center;
    gap:32px;padding:34px 4px;border-bottom:1px solid var(--line);
    transition:background .2s;position:relative;
  }
  .practice-row:hover{background:rgba(255,255,255,0.025);}
  .practice-row a.row-link{position:absolute;inset:0;}
  .practice-name{font-family:var(--font-heading);font-weight:600;font-size:26px;color:#fff;}
  .practice-desc{font-size:15px;line-height:1.6;color:var(--muted);max-width:520px;font-family:var(--font-body);}
  .practice-cta{
    justify-self:end;display:flex;align-items:center;gap:8px;
    font-size:13.5px;color:var(--gold);font-weight:600;white-space:nowrap;font-family:var(--font-body);
  }
  .practice-cta svg{width:14px;height:14px;transition:transform .2s;}
  .practice-row:hover .practice-cta svg{transform:translateX(4px);}

  .practice-footnote{
    margin-top:32px;padding-top:28px;border-top:1px solid var(--line);
    font-size:14px;color:var(--muted-2);font-family:var(--font-body);
  }
  .practice-footnote a{color:var(--muted);border-bottom:1px solid var(--muted-2);}
  .practice-footnote a:hover{color:var(--gold);border-color:var(--gold);}

  /* ---------- FOOTER (matches approved screenshot) ---------- */
  footer.site-footer{
    position:relative;
    padding:90px 48px 0;
    overflow:hidden;
    color:#fff;
    background:var(--black);
  }
  footer.site-footer .bg-photo{
    position:absolute;inset:0;
    background-image:url('../images/practice-areas-bg.jpg');
    background-size:cover;background-position:center 62%;
    opacity:0.65;
  }
  footer.site-footer .bg-gradient{
    position:absolute;inset:0;
    background:
      linear-gradient(180deg, rgba(6,6,8,0.92) 0%, rgba(8,8,10,0.55) 28%, rgba(10,9,8,0.55) 60%, rgba(6,5,4,0.85) 100%),
      linear-gradient(0deg, rgba(20,14,4,0.55) 0%, rgba(10,9,8,0) 45%);
  }
  .footer-inner{position:relative;z-index:2;max-width:1320px;margin:0 auto;}
  .footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:70px;}
  .footer-left{max-width:400px;}
  .footer-email-btn{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--gold);color:#1a1400;font-weight:700;font-size:15px;
    padding:16px 26px;margin:28px 0 46px;font-family:var(--font-body);
  }
  .footer-pa h5{
    font-family:var(--font-heading);font-weight:600;font-style:italic;font-size:19px;
    color:var(--gold);margin:0 0 18px;
  }
  .footer-pa a{display:block;font-size:14.5px;color:#f2f0ea;padding:5px 0;font-family:var(--font-body);}
  .footer-pa a:hover{color:var(--gold);}

  .footer-right{text-align:right;max-width:600px;padding-top:6px;}
  .footer-headline{
    font-family:var(--font-heading);font-weight:500;font-size:clamp(24px,2.6vw,33px);
    line-height:1.3;color:#fff;margin:0 0 20px;
  }
  .footer-divider{border:none;border-top:1px solid rgba(255,255,255,0.25);margin:26px 0;}
  .footer-touch-label{font-size:13px;letter-spacing:0.06em;color:var(--gold);font-family:var(--font-body);margin-bottom:8px;}
  .footer-phone{font-family:var(--font-body);font-size:34px;color:var(--gold);font-weight:700;margin:0 0 14px;}
  .footer-firmname{font-family:var(--font-body);font-weight:700;font-size:15px;color:var(--gold);margin-bottom:10px;}
  .footer-firmname b{color:#fff;}
  .footer-address{font-size:14px;color:var(--gold);line-height:1.6;font-family:var(--font-body);}

  .footer-bottom{
    position:relative;z-index:2;border-top:1px solid rgba(255,255,255,0.18);
    padding:24px 0 26px;display:flex;justify-content:space-between;align-items:center;
    font-size:13.5px;color:#e5e3dd;font-family:var(--font-body);
  }
  .footer-bottom a{color:var(--gold);border-bottom:1px solid var(--gold);font-weight:600;}
  .social-row{display:flex;gap:8px;}
  .social-row a{
    width:36px;height:36px;display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(255,255,255,0.3);color:#fff;
  }
  .social-row a svg{width:15px;height:15px;}
  .social-row a.accent{background:var(--gold);border-color:var(--gold);color:#1a1400;}

  /* ---------- HERO SLIDER ---------- */
  .hero{position:relative;overflow:hidden;background:#0a0a0a;min-height:88vh;display:flex;align-items:center;padding:150px 0 90px;}
  .hero-slide{
    position:absolute;inset:0;opacity:0;transition:opacity 2s ease;
    background-size:cover;background-position:center;
  }
  .hero-slide.active{opacity:1;}
  .hero-slide::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(90deg, #ffffff 0%, rgba(0,0,0,0.75) 50%, rgba(0,0,0,0.75) 100%);
    mix-blend-mode:multiply;
  }
  .hero-content{
    position:relative;z-index:3;max-width:820px;width:100%;margin:0 auto;
    padding:0 48px;display:flex;flex-direction:column;align-items:center;text-align:center;
  }
  .hero-text{width:100%;}
  .hero-kicker{display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:28px;}
  .hero-kicker .logo-img{height:40px;}
  .hero-kicker::after{content:'';display:block;width:56px;height:3px;background:var(--gold);}
  .hero-text h1{
    font-family:var(--font-heading);font-weight:400;font-style:normal;
    font-size:clamp(28px,4vw,44px);color:#fff;line-height:1.32;margin:0;text-align:center;
  }
  .hero-cta-row{width:100%;text-align:center;margin-top:32px;}
  .hero-cta{
    display:inline-flex;align-items:center;gap:10px;
    border:2px solid var(--gold);border-radius:2px;color:#fff;background:rgba(0,0,0,0.62);
    font-family:var(--font-body);font-weight:700;font-size:14px;
    padding:16px 28px;letter-spacing:0.02em;transition:background .2s,color .2s,border-color .2s;
  }
  .hero-cta:hover{background:var(--gold);border-color:#fff;color:#161616;}
  .hero-cta svg{width:14px;height:14px;}

  .hero-dots{
    position:absolute;z-index:4;left:48px;bottom:32px;display:flex;gap:10px;
  }
  .hero-dots button{
    width:34px;height:3px;background:rgba(255,255,255,0.32);border:none;padding:0;cursor:pointer;
  }
  .hero-dots button.active{background:var(--gold);}

  @media (max-width:900px){
    .hero{min-height:0;padding:120px 0 72px;}
    .hero-content{padding:0 24px;}
    .hero-kicker{margin-bottom:22px;}
    .hero-text h1{font-size:clamp(26px,7vw,32px);}
  }

  .hero-scroll{
    position:absolute;z-index:4;right:48px;bottom:32px;
    display:flex;align-items:center;gap:10px;color:var(--muted);
    font-family:var(--font-body);font-size:12px;letter-spacing:0.06em;
  }
  .hero-scroll svg{width:14px;height:14px;color:var(--gold);}

  @media (max-width:900px){
    header{padding:0 20px;height:72px;}
    nav.primary{display:none;}
    .hero{height:auto;}
    .hero-dots{left:20px;bottom:20px;}
    .hero-scroll{display:none;}
    .practice-section{padding:72px 20px 64px;}
    .practice-row{grid-template-columns:1fr;gap:10px;padding:26px 2px;}
    .practice-cta{justify-self:start;}
    .footer-top{flex-direction:column;}
    .footer-right{text-align:left;}
    footer.site-footer{padding:60px 20px 0;}
    .footer-bottom{flex-direction:column;gap:16px;align-items:flex-start;}
  }

  /* ---------- CONSULT / CONTACT-FORM BAND ---------- */
  .consult-band{position:relative;background:#faf8f4;overflow:hidden;}
  .consult-band .bg-photo{
    position:absolute;inset:0;z-index:0;
    background-image:url('../images/consult-band-bg.jpg');
    background-size:cover;background-position:center 35%;
    opacity:0.23;
    -webkit-mask-image:radial-gradient(ellipse 60% 75% at 68% 42%, black 0%, transparent 55%);
    mask-image:radial-gradient(ellipse 60% 75% at 68% 42%, black 0%, transparent 55%);
  }
  .consult-band .grid{
    position:relative;z-index:1;
    max-width:1400px;margin:0 auto;padding:88px 48px 0;
    display:flex;align-items:stretch;
  }
  .consult-band .form-col{
    flex:0 0 58%;max-width:58%;border-right:8px solid var(--gold);
    padding:0 64px 88px 0;
  }
  .consult-band .quote-col{
    flex:1;padding:56px 0 88px 64px;
  }

  .marquee{overflow:hidden;margin-bottom:16px;}
  .marquee-track{
    display:flex;white-space:nowrap;width:max-content;
    animation:marquee-scroll 18s linear infinite;
  }
  .marquee-track span{
    font-family:var(--font-heading);font-weight:500;font-style:normal;
    font-size:20px;color:#1a1a1a;padding-right:40px;
  }
  @keyframes marquee-scroll{
    0%{transform:translateX(0);}
    100%{transform:translateX(-50%);}
  }

  .consult-form{display:flex;flex-direction:column;gap:20px;}
  .consult-form .row-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .consult-form input, .consult-form textarea{
    width:100%;border:none;border-bottom:1px solid #d8d4c9;background:transparent;
    font-family:var(--font-body);font-size:15px;color:#1a1a1a;
    padding:14px 4px;outline:none;
  }
  .consult-form input::placeholder, .consult-form textarea::placeholder{color:#8a877e;}
  .consult-form input:focus, .consult-form textarea:focus{border-bottom-color:var(--black);}
  .consult-form textarea{resize:vertical;min-height:90px;font-family:var(--font-body);}
  .consult-form button{
    align-self:center;margin-top:12px;
    background:var(--gold);color:#1a1400;border:none;
    font-family:var(--font-body);font-weight:700;font-size:14px;letter-spacing:0.03em;text-transform:lowercase;
    padding:18px 56px;cursor:pointer;transition:background .2s;
  }
  .consult-form button:hover{background:#e6ac00;}

  .quote-col h3{
    font-family:var(--font-heading);font-weight:500;font-style:normal;
    font-size:clamp(22px,2.2vw,27px);color:#0a0a0a;line-height:1.35;margin:0 0 28px;
  }
  .quote-col blockquote{
    margin:0 0 14px;font-family:var(--font-body);font-size:15.5px;line-height:1.75;
    color:#4a4a4a;font-style:italic;border-left:3px solid var(--gold);padding-left:22px;
  }
  .quote-col .attribution{
    font-family:var(--font-body);font-size:14px;color:#8a877e;margin:0 0 40px;padding-left:25px;
  }
  .quote-col .callback-label{
    font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:0.06em;text-transform:uppercase;
    color:#0a0a0a;margin:0 0 10px;
  }
  .quote-col .callback-phone{
    font-family:var(--font-body);font-weight:700;font-style:normal;
    font-size:clamp(26px,2.6vw,32px);color:var(--gold);
  }

  @media (max-width:900px){
    .consult-band .bg-photo{opacity:0.11;}
    .consult-band .grid{flex-direction:column;padding:64px 20px 0;}
    .consult-band .form-col{flex:0 0 100%;max-width:100%;border-right:none;border-bottom:6px solid var(--gold);padding:0 0 56px;}
    .consult-band .quote-col{padding:48px 0 56px;}
    .consult-form .row-2{grid-template-columns:1fr;}
  }


/* ============================================================
   GLOBAL RESET (site-wide, added beyond homepage's original block
   since homepage had no top-level reset of its own)
   ============================================================ */
*{box-sizing:border-box;}
body{margin:0;background:#fff;}
a{text-decoration:none;color:inherit;}

/* ============================================================
   INTERNAL PAGE COMPONENTS
   Shared across Practice Areas, Attorneys, and attorney bio pages.
   ============================================================ */

/* ---------- PAGE HERO (simple, centered — hub-style internal pages) ---------- */
.page-hero{
  background:var(--black);padding:120px 48px 90px;text-align:center;
}
.page-hero.pa-hero{position:relative;overflow:hidden;}
.page-hero.pa-hero .bg-photo{
  position:absolute;inset:0;z-index:0;
  background-image:url('../images/hero-slide-2.jpg');
  background-size:cover;background-position:center;
  opacity:0.2;
}
.page-hero.pa-hero > *:not(.bg-photo){position:relative;z-index:1;}
.page-hero .kicker{
  font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--gold);margin:0 0 18px;
}
.page-hero h1{
  font-family:var(--font-heading);font-weight:400;font-style:normal;
  font-size:clamp(32px,4.2vw,50px);color:#fff;line-height:1.2;margin:0 0 26px;
}
.page-hero p{
  font-family:var(--font-body);font-size:17px;line-height:1.75;color:#cfcdc7;
  max-width:760px;margin:0 auto 34px;
}
.page-hero .cta{
  display:inline-flex;align-items:center;gap:10px;
  border:2px solid var(--gold);border-radius:2px;color:#fff;background:rgba(255,255,255,0.05);
  font-family:var(--font-body);font-weight:700;font-size:14px;
  padding:16px 30px;letter-spacing:0.02em;transition:background .2s,color .2s;
}
.page-hero .cta:hover{background:var(--gold);color:#161616;}

/* ---------- PRACTICE AREA LIST (rows — Practice Areas hub) ---------- */
.pa-list-section{padding:88px 48px 40px;max-width:1100px;margin:0 auto;}
.pa-row{
  display:flex;gap:40px;align-items:flex-start;
  padding:38px 0;border-bottom:1px solid #e6e2d8;
}
.pa-row:first-child{padding-top:0;}
.pa-row .num{
  font-family:var(--font-heading);font-weight:500;font-style:italic;font-size:34px;
  color:var(--gold);flex:0 0 60px;line-height:1;
}
.pa-row .body{flex:1;}
.pa-row h2{
  font-family:var(--font-heading);font-weight:400;font-style:normal;font-size:26px;
  color:var(--black);margin:0 0 12px;
}
.pa-row p{
  font-family:var(--font-body);font-size:15.5px;line-height:1.75;color:#4a4a4a;margin:0 0 16px;
}
.pa-row a.learn-more{
  font-family:var(--font-body);font-weight:700;font-size:14px;color:var(--black);
  border-bottom:2px solid var(--gold);padding-bottom:2px;display:inline-block;
}
.pa-row a.learn-more:hover{color:var(--gold);}

/* ---------- CLOSING CTA (light band, centered) ---------- */
.closing-cta{background:#faf8f4;padding:80px 48px;text-align:center;}
.closing-cta h2{
  font-family:var(--font-heading);font-weight:400;font-style:normal;
  font-size:clamp(24px,2.6vw,32px);color:var(--black);margin:0 0 18px;
}
.closing-cta p{
  font-family:var(--font-body);font-size:16px;line-height:1.7;color:#4a4a4a;
  max-width:640px;margin:0 auto;
}
.closing-cta a{color:var(--black);border-bottom:2px solid var(--gold);font-weight:700;}

/* ---------- ATTORNEYS HUB GRID ---------- */
.attorney-grid{
  max-width:1000px;margin:0 auto;padding:80px 48px;
  display:flex;gap:48px;
}
.attorney-card{flex:1;border:1px solid #e6e2d8;}
.attorney-card .photo{
  height:280px;background:var(--charcoal);display:flex;align-items:center;justify-content:center;
  text-align:center;color:var(--muted);font-family:var(--font-body);font-size:13px;line-height:1.5;
  overflow:hidden;
}
.attorney-card .photo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}
.attorney-card .info{padding:32px;}
.attorney-card h2{
  font-family:var(--font-heading);font-weight:400;font-style:normal;font-size:24px;
  color:var(--black);margin:0 0 8px;
}
.attorney-card .role{
  font-family:var(--font-body);font-size:14px;color:var(--muted-2);margin:0 0 18px;
}
.attorney-card p.teaser{
  font-family:var(--font-body);font-size:15px;line-height:1.7;color:#4a4a4a;margin:0 0 20px;
}
.attorney-card a.read-more{
  font-family:var(--font-body);font-weight:700;font-size:14px;color:var(--black);
  border-bottom:2px solid var(--gold);padding-bottom:2px;
}
.attorney-card a.read-more:hover{color:var(--gold);}

/* ---------- ATTORNEY BIO HERO (individual bio pages) ---------- */
.bio-hero{
  position:relative;overflow:hidden;background:var(--black);
  padding:80px 48px;
}
.bio-hero .bg-photo{
  position:absolute;inset:0;z-index:0;
  background-image:url('../images/bio-hero-skyline-bg.jpg');
  background-size:cover;background-position:center 45%;
}
.bio-hero .bg-gradient{
  position:absolute;inset:0;z-index:0;
  background:linear-gradient(90deg, rgba(0,0,0,0.93) 0%, rgba(0,0,0,0.8) 30%, rgba(0,0,0,0.5) 55%, rgba(0,0,0,0.22) 100%);
}
.bio-hero .inner{
  position:relative;z-index:1;
  display:flex;align-items:center;gap:56px;max-width:1200px;margin:0 auto;
}
.bio-hero .photo{
  flex:0 0 300px;width:300px;height:370px;
  background:var(--charcoal);border-right:8px solid var(--gold);
  display:flex;align-items:center;justify-content:center;text-align:center;
  color:var(--muted);font-family:var(--font-body);font-size:13px;line-height:1.5;
  overflow:hidden;
}
.bio-hero .photo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}
.bio-hero .intro{flex:1;}
.bio-hero .kicker{
  font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--gold);margin:0 0 14px;
  text-shadow:0 1px 6px rgba(0,0,0,0.65);
}
.bio-hero h1{
  font-family:var(--font-heading);font-weight:400;font-style:normal;
  font-size:clamp(30px,4vw,44px);color:#fff;line-height:1.15;margin:0 0 18px;
  text-shadow:0 2px 10px rgba(0,0,0,0.65);
}
.bio-hero .role{
  font-family:var(--font-body);font-size:16px;color:#cfcdc7;margin:0 0 28px;
  text-shadow:0 1px 6px rgba(0,0,0,0.65);
}
.bio-hero .cta{
  display:inline-flex;align-items:center;gap:10px;
  border:2px solid var(--gold);border-radius:2px;color:#fff;background:rgba(255,255,255,0.05);
  font-family:var(--font-body);font-weight:700;font-size:14px;
  padding:15px 28px;letter-spacing:0.02em;transition:background .2s,color .2s;
}
.bio-hero .cta:hover{background:var(--gold);color:#161616;}

/* ---------- ATTORNEY BIO BODY ---------- */
.bio-body{max-width:800px;margin:0 auto;padding:72px 48px;}
.bio-body h2{
  font-family:var(--font-heading);font-weight:400;font-style:normal;font-size:24px;
  color:var(--black);margin:44px 0 18px;
}
.bio-body h2:first-child{margin-top:0;}
.bio-body p{
  font-family:var(--font-body);font-size:16px;line-height:1.8;color:#3f3f3f;margin:0 0 20px;
}
.bio-body ul.cred-list{
  font-family:var(--font-body);font-size:15.5px;line-height:1.9;color:#3f3f3f;
  margin:0 0 20px;padding-left:22px;
}
.bio-body ul.cred-list li{margin-bottom:4px;}

/* ---------- 404 ERROR PAGE ---------- */
.error-page{
  background:var(--black);padding:140px 48px 110px;text-align:center;
}
.error-page .error-icon{
  font-size:44px;color:var(--gold);margin-bottom:28px;display:inline-block;
}
.error-page .error-code{
  font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--muted);margin:0 0 14px;
}
.error-page h1{
  font-family:var(--font-heading);font-weight:400;font-style:normal;
  font-size:clamp(40px,6vw,64px);color:#fff;line-height:1.1;margin:0 0 22px;
}
.error-page .error-message{
  font-family:var(--font-body);font-size:17px;line-height:1.75;color:#cfcdc7;
  max-width:620px;margin:0 auto 36px;
}
.error-page .cta{
  display:inline-flex;align-items:center;gap:10px;
  border:2px solid var(--gold);border-radius:2px;color:#fff;background:rgba(255,255,255,0.05);
  font-family:var(--font-body);font-weight:700;font-size:14px;
  padding:16px 30px;letter-spacing:0.02em;transition:background .2s,color .2s;
}
.error-page .cta:hover{background:var(--gold);color:#161616;}

/* ---------- SITEMAP (404 page) ---------- */
.sitemap-section{background:#faf8f4;padding:80px 48px;}
.sitemap-section h2{
  font-family:var(--font-heading);font-weight:400;font-style:normal;
  font-size:clamp(24px,2.6vw,32px);color:var(--black);text-align:center;margin:0 0 48px;
}
.sitemap-grid{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);gap:40px;
}
.sitemap-col h4{
  font-family:var(--font-body);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;
  font-weight:700;color:var(--muted-2);margin:0 0 16px;
}
.sitemap-col a{
  display:block;font-family:var(--font-body);font-size:15px;color:#3f3f3f;
  padding:7px 0;border-bottom:1px solid #e6e2d8;
}
.sitemap-col a:hover{color:var(--gold);}

@media (max-width:900px){
  .sitemap-grid{grid-template-columns:repeat(2,1fr);gap:32px;}
}
@media (max-width:560px){
  .sitemap-grid{grid-template-columns:1fr;}
}

/* ---------- INTERNAL-PAGE MOBILE OVERRIDES (one consolidated block) ---------- */
@media (max-width:900px){
  header{padding:0 20px;height:72px;}
  nav.primary{display:none;}
  .page-hero{padding:80px 20px 60px;}
  .pa-list-section{padding:56px 20px 20px;}
  .pa-row{flex-direction:column;gap:12px;}
  .attorney-grid{flex-direction:column;padding:56px 20px;}
  .bio-hero{padding:60px 20px;}
  .bio-hero .inner{flex-direction:column;text-align:center;gap:28px;}
  .bio-hero .photo{margin:0 auto;}
  .bio-body{padding:48px 20px;}
  .error-page{padding:90px 20px 70px;}
  .sitemap-section{padding:56px 20px;}
}


/* ============================================================
   HEADER NAV v2 — icons, "The Firm" dropdown, Trial Lawyer folded
   into the Practice Areas mega menu, active/current-page state.
   ============================================================ */
.nav-icon{color:var(--muted-2);transition:color .15s;margin-right:3px;font-size:15px;width:16px;display:inline-flex;align-items:center;justify-content:center;}
.has-menu:hover .nav-icon,
nav.primary > a:hover .nav-icon{color:var(--gold);}

nav.primary > a.nav-current,
.has-menu > a.nav-current{color:var(--gold);}
nav.primary > a.nav-current .nav-icon,
.has-menu > a.nav-current .nav-icon{color:var(--gold);}

.simple-dropdown{
  position:absolute;top:100%;left:0;
  background:var(--charcoal);border:1px solid var(--line);
  box-shadow:0 24px 48px rgba(0,0,0,0.45);
  padding:14px 0;display:none;flex-direction:column;
  min-width:190px;z-index:20;
}
.has-menu:hover .simple-dropdown{display:flex;}
.simple-dropdown a{display:block;font-size:14.5px;color:#eae8e2;padding:9px 22px;font-family:var(--font-body);}
.simple-dropdown a:hover{color:var(--gold);}