/* ============================================================
   SMITH TAYLOR, PLLC — GLOBAL STYLESHEET
   ============================================================ */

  :root{
    --black:#0a0a0a;
    --charcoal:#1c1b19;
    --charcoal-2:#242220;
    --white:#ffffff;
    --paper:#faf8f4;
    --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;}
  html{scroll-behavior:smooth;}
  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%;gap:4px;}
  .has-menu .chev-btn{background:none;border:none;cursor:pointer;padding:0 10px;min-width:28px;height:100%;display:flex;align-items:center;justify-content: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;z-index:0;
    background-image:url('../images/about-band-skyline.webp');
    background-size:110% auto;background-position:top right;background-repeat:no-repeat;
    opacity:1;
  }
  .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%;position:relative;}
  .about-copy::before{
    content:'';position:absolute;z-index:-1;
    top:-24px;left:-32px;right:-16px;bottom:-24px;
    background:radial-gradient(ellipse at center, rgba(255,255,255,.72) 0%, rgba(255,255,255,.35) 65%, transparent 100%);
  }
  .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 — offset panel treatment ---------- */
  .attorneys-band{
    position:relative;padding:140px 0;overflow:hidden;
    background-color:var(--paper, #faf8f4);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Ccircle cx='2' cy='2' r='1.6' fill='%231c1b19' fill-opacity='0.09'/%3E%3C/svg%3E");
    background-repeat:repeat;
  }
  .attorneys-intro{position:relative;z-index:2;max-width:1200px;margin:0 auto 72px;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;
  }

  .offset-row{
    position:relative;z-index:2;max-width:1200px;margin:0 auto 100px;padding:0 48px;
    display:flex;align-items:flex-start;gap:80px;
  }
  .offset-row.reverse{flex-direction:row-reverse;}
  .offset-photo-wrap{flex:0 0 380px;position:relative;}
  .offset-photo-wrap .shade-block{
    position:absolute;top:36px;left:-36px;width:100%;height:100%;background:var(--charcoal);z-index:0;
  }
  .offset-row.reverse .offset-photo-wrap .shade-block{left:auto;right:-36px;}
  .offset-photo-wrap img{
    position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .4s;
  }
  .offset-photo-wrap:hover img{transform:scale(1.03);}
  .offset-photo-wrap .year-badge{
    position:absolute;z-index:2;left:-36px;bottom:-28px;background:var(--paper, #faf8f4);
    border:1px solid #e6e2d8;padding:14px 22px;box-shadow:0 12px 30px rgba(0,0,0,.1);
  }
  .offset-row.reverse .offset-photo-wrap .year-badge{left:auto;right:-36px;}
  .year-badge .num{font-family:var(--font-heading);font-size:26px;color:var(--black);line-height:1;}
  .year-badge .lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6b6860;margin-top:4px;}

  .offset-text{flex:1;padding-top:8px;}
  .offset-text .eyebrow{
    font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;
    color:var(--gold);margin:0 0 12px;
  }
  .offset-text h3{
    font-family:var(--font-heading);font-weight:400;font-style:normal;
    font-size:clamp(22px,2.2vw,28px);color:var(--black);margin:0 0 6px;
  }
  .offset-text .title{
    font-family:var(--font-body);font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;
    color:#8a877e;margin:0 0 20px;
  }
  .offset-text p{
    font-family:var(--font-body);font-size:16px;line-height:1.75;color:#4a4a4a;margin:0 0 22px;
  }
  .offset-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;
  }
  .offset-text a.bio-link:hover{color:var(--gold);}

  .attorneys-closing{position:relative;z-index:2;max-width:1200px;margin:0 auto;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;}
    .offset-row, .offset-row.reverse{flex-direction:column;padding:0 20px;gap:48px 28px;align-items:flex-start;}
    .offset-photo-wrap{flex:0 0 auto;width:100%;max-width:320px;margin-bottom:20px;}
    .attorneys-closing{padding:0 20px;}
  }

  /* ---------- CLIENT TESTIMONIALS ---------- */
  .testimonials-band{position:relative;background:#fff;padding:140px 0;overflow:hidden;}
  .testimonials-band .accent{
    position:absolute;inset:0;z-index:0;
    background:linear-gradient(115deg, transparent 0%, transparent 48%, rgba(28,27,25,.15) 48%, rgba(28,27,25,.15) 100%);
  }
  .testimonials-band .accent-2{
    position:absolute;right:40px;top:60px;width:260px;height:260px;border-radius:50%;
    border:44px solid rgba(28,27,25,.072);z-index:0;
  }
  .testimonials-band .accent-3{
    position:absolute;left:-60px;bottom:-60px;width:200px;height:200px;border-radius:50%;
    border:36px solid rgba(28,27,25,.064);z-index:0;
  }
  .testimonials-intro{position:relative;z-index:2;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{position:relative;z-index:2;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/footer-tulsa-downtown-aerial.jpg');
    background-size:cover;background-position:center 55%;
    opacity:0.55;
  }
  footer.site-footer .bg-gradient{
    position:absolute;inset:0;
    background:
      linear-gradient(180deg, rgba(6,6,8,0.95) 0%, rgba(8,8,10,0.65) 28%, rgba(10,9,8,0.65) 60%, rgba(6,5,4,0.95) 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:56px;padding-bottom:70px;flex-wrap:nowrap;}
  .footer-left{max-width:620px;flex:1 1 560px;min-width:0;}
  .footer-email-btn{
    display:flex;width:fit-content;align-items:center;gap:10px;
    background:var(--gold);color:#1a1400;font-weight:700;font-size:15px;
    padding:16px 26px;margin:28px 0 40px;font-family:var(--font-body);
  }
  .footer-pa{display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px;}
  .footer-pa-col .footer-pa-title{
    font-family:var(--font-body);font-weight:600;font-size:11px;letter-spacing:0.08em;
    text-transform:uppercase;color:var(--muted-2);margin:0 0 14px;
  }
  .footer-pa-col a{display:block;font-size:14.5px;color:#eae8e2;padding:7px 0;font-family:var(--font-body);border-bottom:1px solid transparent;}
  .footer-pa-col a:hover{color:var(--gold);}
  @media (max-width:640px){
    .footer-pa{grid-template-columns:1fr;gap:28px 0;}
  }

  .footer-right{text-align:right;max-width:600px;flex:1 1 420px;min-width:0;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;justify-content:center;padding:120px 0;}
  .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;width:fit-content;max-width:100%;margin:0 auto;
    padding:0 48px 0 76px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;
  }
  .hero-content::before{
    content:'';position:absolute;left:48px;top:6px;bottom:6px;width:3px;background:var(--gold);
  }
  .hero-text{width:100%;}
  .hero-kicker{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin-bottom:18px;}
  .hero-kicker .logo-img{height:40px;}
  .hero-kicker::after{content:none;}
  .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:left;
  }
  .hero-cta-row{width:100%;text-align:left;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:96px 0;}
    .hero-content{padding:0 24px 0 44px;}
    .hero-content::before{left: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-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);}
  .form-disclaimer{
    font-family:var(--font-body);font-size:12px;line-height:1.6;color:#6a6864;
    margin:16px 0 0;
  }
  .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 h2{
    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:#6b6860;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 svg{width:15px;height:15px;flex-shrink:0;}
.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-wrap{width:100%;}
.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;}
.bio-linkedin{
  display:inline-flex;align-items:center;gap:8px;margin-left:16px;
  font-family:var(--font-body);font-weight:600;font-size:14px;color:#cfcdc7;
  text-shadow:0 1px 6px rgba(0,0,0,0.65);
}
.bio-linkedin svg{width:16px;height:16px;}
.bio-linkedin:hover{color:var(--gold);}
@media (max-width:640px){
  .bio-linkedin{margin-left:0;margin-top:12px;}
}

/* ---------- 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;height:16px;flex-shrink:0;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);}

/* ============================================================
   CONTRACT LAW — SPLIT-PANEL HERO + CASE-BAND
   (was previously unstyled — .grid/.content/.info-grid/.case-band
   etc. had no matching rules anywhere in this file)
   ============================================================ */
.page-hero .grid{
  position:relative;z-index:1;
  max-width:1300px;margin:0 auto;
  display:flex;align-items:center;gap:64px;
  text-align:left;
}
.page-hero .content{flex:0 0 54%;max-width:54%;}
.page-hero .content .eyebrow{
  font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--gold);margin:0 0 20px;
}
.page-hero .content .logo-img.lg{height:52px;margin-bottom:22px;display:block;}
.page-hero .content .rule{width:56px;height:3px;background:var(--gold);margin:0 0 26px;}
.page-hero .content .intro{
  font-family:var(--font-body);font-size:16.5px;line-height:1.75;color:#cfcdc7;margin:0 0 40px;
}
.page-hero .content h1{
  font-family:var(--font-heading);font-weight:400;font-style:normal;
  font-size:clamp(28px,3.2vw,40px);color:#fff;line-height:1.25;margin:0 0 22px;
}

.info-grid{
  display:flex;gap:32px;margin-bottom:40px;padding:28px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.info-left{flex:0 0 55%;}
.info-left .icon-badge{
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  color:var(--gold);margin-bottom:14px;
}
.info-left .icon-badge svg{width:28px;height:28px;}
.info-left h4{font-family:var(--font-body);font-weight:700;font-size:14px;color:#fff;margin:14px 0 4px;}
.info-left h4:first-of-type{margin-top:0;}
.info-left p{font-family:var(--font-body);font-size:13.5px;line-height:1.6;color:var(--muted);margin:0 0 10px;}
.info-divider{width:1px;background:var(--line);align-self:stretch;}
.info-right{flex:1;}
.info-right h4{
  font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--gold);margin:0 0 16px;
}
.checklist{list-style:none;margin:0;padding:0;}
.checklist li{
  display:flex;align-items:center;gap:10px;
  font-family:var(--font-body);font-size:14.5px;color:#e7e5e0;padding:8px 0;
}
.checklist li svg{width:14px;height:14px;color:var(--gold);flex-shrink:0;}

.page-hero .media{flex:0 0 40%;max-width:40%;align-self:stretch;}
.page-hero .media img{width:100%;height:100%;min-height:480px;object-fit:cover;display:block;}
.page-hero .media.contain{background:var(--charcoal);}
.page-hero .media.contain img{object-fit:contain;object-position:bottom center;}

@media (max-width:900px){
  .page-hero .grid{flex-direction:column;gap:36px;}
  .page-hero .content, .page-hero .media{flex:0 0 100%;max-width:100%;}
  .page-hero .media img{min-height:280px;}
  .info-grid{flex-direction:column;}
  .info-divider{display:none;}
}

/* ---------- CASE-BAND (split pitch section) ---------- */
.case-band{position:relative;overflow:hidden;background:#faf8f4;padding:100px 48px;}
.case-band .facet{position:absolute;background:var(--gold);border-radius:50%;}
.case-band .facet-1{width:400px;height:400px;top:-160px;right:-120px;opacity:0.06;}
.case-band .facet-2{width:260px;height:260px;bottom:-100px;left:-80px;opacity:0.05;}
.case-band .facet-3{width:180px;height:180px;top:40%;right:8%;opacity:0.04;}
.case-band .grid{
  position:relative;z-index:1;max-width:1200px;margin:0 auto;
  display:flex;gap:70px;align-items:flex-start;
}
.case-band .left{flex:0 0 42%;max-width:42%;}
.case-band .left h2{
  font-family:var(--font-heading);font-weight:400;font-style:normal;
  font-size:clamp(26px,2.8vw,36px);color:var(--black);line-height:1.3;margin:0 0 32px;
}
.case-band .pitch{display:flex;gap:16px;align-items:flex-start;margin-bottom:32px;}
.case-band .pitch .icon-badge{
  width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  color:var(--gold);
}
.case-band .pitch .icon-badge svg{width:28px;height:28px;}
.case-band .pitch-text{font-family:var(--font-body);font-size:16px;line-height:1.6;color:#3f3f3f;}
.case-band a.phone{
  display:inline-block;font-family:var(--font-body);font-weight:700;font-size:28px;color:var(--black);
  border-bottom:2px solid var(--gold);padding-bottom:4px;
}
.case-band a.phone:hover{color:var(--gold);}

.case-band .right{flex:1;}
.case-band .right h4{
  font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--gold);margin:0 0 24px;
}
.case-band .right ul{list-style:none;margin:0;padding:0;}
.case-band .right li{display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-top:1px solid #e6e2d8;}
.case-band .right li:first-child{border-top:none;padding-top:0;}
.case-band .right li svg{width:18px;height:18px;color:var(--gold);flex-shrink:0;margin-top:3px;}
.case-band .right p{font-family:var(--font-body);font-size:15px;line-height:1.7;color:#4a4a4a;margin:0;}

@media (max-width:900px){
  .case-band{padding:64px 20px;}
  .case-band .grid{flex-direction:column;gap:40px;}
  .case-band .left, .case-band .right{flex:0 0 100%;max-width:100%;}
  .case-band .facet{display:none;}
}
/* ============================================================
   DOT-MATRIX UTILITY
   Shared subtle grey dot-matrix background (same tile used on
   the homepage Meet Our Attorneys band) — apply to any white
   content section that needs the same texture.
   ============================================================ */
.dot-matrix-bg{
  background-color:var(--paper,#faf8f4);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Ccircle cx='2' cy='2' r='1.6' fill='%231c1b19' fill-opacity='0.09'/%3E%3C/svg%3E");
  background-repeat:repeat;
}

/* ============================================================
   ATTORNEYS PAGE — hero photo blend (matches Practice Areas hub)
   ============================================================ */
.page-hero.attorneys-hero .bg-photo{
  background-image:url('../images/hero-slide-4.jpg');
}
.page-hero.tl-hero .bg-photo{
  background-image:url('../images/courtroom-attorney-witness-swearing-in-tulsa.jpg');
  opacity:0.32;
}
.tl-quote{
  max-width:760px;margin:0 auto;padding:90px 48px;text-align:center;background:#fff;
}
.tl-quote blockquote{
  font-family:var(--font-heading);font-weight:400;font-style:italic;
  font-size:clamp(19px,2.1vw,24px);color:var(--black);line-height:1.55;margin:0 0 20px;
}
.tl-quote cite{font-family:var(--font-body);font-weight:700;font-style:normal;font-size:14px;color:var(--muted-2);}
@media (max-width:900px){.tl-quote{padding:56px 20px;}}

/* ============================================================
   SPLIT-PANEL — alternating image/copy sections on white
   (Criminal Defense: Felonies / Misdemeanors)
   ============================================================ */
.split-panel{position:relative;overflow:hidden;padding:110px 48px;}
.split-panel .grid{
  position:relative;z-index:1;max-width:1200px;margin:0 auto;
  display:flex;align-items:center;gap:72px;
}
.split-panel.reverse .grid{flex-direction:row-reverse;}
.split-panel .media{flex:0 0 42%;max-width:42%;}
.split-panel .media img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;}
.split-panel .content{flex:1;}
.split-panel .content .eyebrow{
  font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--gold);margin:0 0 14px;
}
.split-panel .content h2{
  font-family:var(--font-heading);font-weight:400;font-style:normal;
  font-size:clamp(26px,2.8vw,36px);color:var(--black);line-height:1.3;margin:0 0 20px;
}
.split-panel .content p{
  font-family:var(--font-body);font-size:15.5px;line-height:1.75;color:#4a4a4a;margin:0 0 22px;
}
.split-panel .type-list{
  list-style:none;margin:0 0 26px;padding:0;
  columns:2;column-gap:24px;
}
.split-panel .type-list li{
  font-family:var(--font-body);font-size:14px;line-height:1.9;color:#3f3f3f;
  break-inside:avoid;
}
.split-panel .type-list li a{border-bottom:1px solid transparent;}
.split-panel .type-list li a:hover{color:var(--gold);border-color:var(--gold);}
.split-panel .obj-list{list-style:none;margin:0;padding:20px 0 0;border-top:1px solid #e6e2d8;}
.split-panel .obj-list li{
  display:flex;align-items:flex-start;gap:10px;
  font-family:var(--font-body);font-weight:600;font-size:14.5px;color:var(--black);padding:6px 0;
}
.split-panel .obj-list li svg{width:14px;height:14px;color:var(--gold);flex-shrink:0;margin-top:3px;}
@media (max-width:900px){
  .split-panel{padding:64px 20px;}
  .split-panel .grid, .split-panel.reverse .grid{flex-direction:column;gap:32px;}
  .split-panel .media, .split-panel .content{flex:0 0 100%;max-width:100%;}
  .split-panel .type-list{columns:1;}
}

/* ============================================================
   DUI TABS — CSS-only sidebar/tab pattern, all 7 panels present
   in the DOM at load (crawlable, no JS dependency)
   ============================================================ */
.dui-tabs{padding:110px 48px;}
.dui-tabs-inner{max-width:1200px;margin:0 auto;}
.dui-tabs-intro{max-width:760px;margin:0 0 56px;}
.dui-tabs-intro h2{
  font-family:var(--font-heading);font-weight:400;font-style:normal;
  font-size:clamp(26px,2.8vw,36px);color:var(--black);line-height:1.3;margin:0 0 18px;
}
.dui-tabs-intro p{font-family:var(--font-body);font-size:15.5px;line-height:1.75;color:#4a4a4a;margin:0;}
.tab-wrap{display:flex;align-items:flex-start;gap:0;border:1px solid #e6e2d8;background:#fff;}
.tab-radio{position:absolute;opacity:0;pointer-events:none;}
.tab-radio:focus-visible ~ .tab-wrap{outline:3px solid var(--gold);outline-offset:2px;}
.tab-sidebar{flex:0 0 300px;max-width:300px;border-right:1px solid #e6e2d8;}
.tab-label{
  display:block;font-family:var(--font-body);font-weight:600;font-size:14.5px;color:#3f3f3f;
  padding:18px 26px;border-bottom:1px solid #e6e2d8;cursor:pointer;transition:background .15s,color .15s;
}
.tab-sidebar label:last-child{border-bottom:none;}
.tab-label:hover{color:var(--black);background:#faf8f4;}
.tab-panels{flex:1;position:relative;min-height:340px;}
.tab-panel{display:none;padding:46px 52px;}
.tab-panel h3{
  font-family:var(--font-heading);font-weight:400;font-style:normal;font-size:24px;
  color:var(--black);margin:0 0 18px;
}
.tab-panel p{font-family:var(--font-body);font-size:15.5px;line-height:1.8;color:#4a4a4a;margin:0 0 16px;}
.tab-panel p:last-child{margin-bottom:0;}
#tab-1:checked ~ .tab-wrap .tab-sidebar label[for="tab-1"],
#tab-2:checked ~ .tab-wrap .tab-sidebar label[for="tab-2"],
#tab-3:checked ~ .tab-wrap .tab-sidebar label[for="tab-3"],
#tab-4:checked ~ .tab-wrap .tab-sidebar label[for="tab-4"],
#tab-5:checked ~ .tab-wrap .tab-sidebar label[for="tab-5"],
#tab-6:checked ~ .tab-wrap .tab-sidebar label[for="tab-6"],
#tab-7:checked ~ .tab-wrap .tab-sidebar label[for="tab-7"]{
  background:var(--charcoal);color:var(--gold);position:relative;
}
#tab-1:checked ~ .tab-wrap .tab-panels #panel-1,
#tab-2:checked ~ .tab-wrap .tab-panels #panel-2,
#tab-3:checked ~ .tab-wrap .tab-panels #panel-3,
#tab-4:checked ~ .tab-wrap .tab-panels #panel-4,
#tab-5:checked ~ .tab-wrap .tab-panels #panel-5,
#tab-6:checked ~ .tab-wrap .tab-panels #panel-6,
#tab-7:checked ~ .tab-wrap .tab-panels #panel-7{
  display:block;
}
@media (max-width:900px){
  .dui-tabs{padding:64px 20px;}
  .tab-wrap{flex-direction:column;}
  .tab-sidebar{flex:0 0 auto;max-width:100%;border-right:none;border-bottom:1px solid #e6e2d8;display:flex;flex-wrap:wrap;}
  .tab-label{flex:1 1 auto;text-align:center;padding:14px 10px;font-size:13px;border-bottom:1px solid #e6e2d8;}
  .tab-panel{padding:32px 24px;}
}

/* ============================================================
   TRIAL LAWYER — fresh layout (stat band + image-broken copy)
   ============================================================ */
.tl-stat-band{background:var(--charcoal);padding:70px 48px;text-align:center;}
.tl-stat-band .stat{
  font-family:var(--font-heading);font-weight:500;font-size:clamp(40px,6vw,68px);
  color:var(--gold);line-height:1;margin:0 0 14px;
}
.tl-stat-band p{
  font-family:var(--font-body);font-size:17px;line-height:1.7;color:#e7e5e0;
  max-width:760px;margin:0 auto;
}
.tl-copy-wrap{width:100%;}
.tl-copy-block{max-width:820px;margin:0 auto;padding:100px 48px;}
.tl-copy-block h2{
  font-family:var(--font-heading);font-weight:400;font-style:normal;
  font-size:clamp(24px,2.6vw,32px);color:var(--black);line-height:1.35;margin:0 0 22px;
}
.tl-copy-block p{font-family:var(--font-body);font-size:16px;line-height:1.8;color:#4a4a4a;margin:0 0 20px;}
.tl-img-break{padding:0 48px 100px;}
.tl-img-break .row{max-width:1200px;margin:0 auto;display:flex;gap:28px;}
.tl-img-break img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;}
@media (max-width:900px){
  .tl-stat-band{padding:56px 20px;}
  .tl-copy-block{padding:64px 20px;}
  .tl-img-break{padding:0 20px 64px;}
  .tl-img-break .row{flex-direction:column;}
}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.contact-details{width:100%;padding:100px 48px;}
.cd-inner{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:#e6e2d8;border:1px solid #e6e2d8;
}
.cd-card{background:#faf8f4;padding:32px 28px;}
.cd-label{
  font-family:var(--font-body);font-weight:700;font-size:12px;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--gold);margin:0 0 12px;
}
.cd-value{
  font-family:var(--font-body);font-weight:600;font-size:16px;color:var(--black);
  line-height:1.5;display:block;
}
a.cd-value:hover{color:var(--gold);}
.cd-static{font-weight:500;color:#4a4a4a;}
@media (max-width:900px){
  .contact-details{padding:56px 20px;}
  .cd-inner{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .cd-inner{grid-template-columns:1fr;}
}

.contact-map{position:relative;background:var(--black);}
.cm-placeholder{position:relative;width:100%;max-height:380px;overflow:hidden;}
.cm-placeholder svg{width:100%;height:380px;display:block;}
.cm-caption{
  position:absolute;left:48px;bottom:32px;z-index:1;
  background:rgba(10,10,10,0.72);border-left:3px solid var(--gold);
  padding:18px 26px;max-width:420px;
}
.cm-title{font-family:var(--font-heading);font-weight:400;font-size:19px;color:#fff;margin:0 0 6px;}
.cm-sub{font-family:var(--font-body);font-size:13.5px;color:var(--muted);margin:0;}
@media (max-width:900px){
  .cm-caption{left:20px;right:20px;max-width:none;bottom:20px;}
}

/* ============================================================
   FOOTER DISCLAIMER BAND — sits above the dark footer, white
   bg with the dot-matrix texture, carries required legal text
   ============================================================ */
.footer-disclaimer-band{width:100%;padding:48px 48px;}
.footer-disclaimer-inner{max-width:1100px;margin:0 auto;}
.footer-disclaimer-inner p{
  font-family:var(--font-body);font-size:12.5px;line-height:1.7;color:#5a5854;margin:0;
}
@media (max-width:900px){
  .footer-disclaimer-band{padding:32px 20px;}
}

/* ============================================================
   DEADLINE / STATUTE CALLOUT — bordered panel, full content
   width, used on Civil Litigation, Construction Litigation,
   Estate Planning, Personal Injury
   ============================================================ */
.deadline-callout{width:100%;padding:100px 48px;}
.dc-inner{
  max-width:1000px;margin:0 auto;background:var(--charcoal);
  border:1px solid #33312c;border-left:4px solid var(--gold);padding:52px 56px;
}
.dc-inner h2{
  font-family:var(--font-heading);font-weight:400;font-style:normal;
  font-size:clamp(24px,2.6vw,30px);color:#fff;line-height:1.3;margin:0 0 22px;
}
.dc-inner p{font-family:var(--font-body);font-size:15px;line-height:1.75;color:#cfcdc7;margin:0 0 18px;}
.dc-inner p:last-child{margin-bottom:0;}
.dc-list{list-style:none;margin:0 0 22px;padding:0;}
.dc-list li{
  font-family:var(--font-body);font-size:15px;line-height:1.7;color:#e7e5e0;
  padding:10px 0;border-top:1px solid #33312c;
}
.dc-list li:first-child{border-top:none;}
.dc-list li strong{color:#fff;}
.dc-cta{
  display:inline-flex;align-items:center;gap:10px;margin-top:6px;
  font-family:var(--font-body);font-weight:700;font-size:15px;color:var(--gold);
}
@media (max-width:900px){
  .deadline-callout{padding:56px 20px;}
  .dc-inner{padding:34px 26px;}
}

/* ============================================================
   FAQ — native details/summary, no JS, fully crawlable
   ============================================================ */
.faq-block{width:100%;padding:100px 48px;}
.faq-inner{max-width:900px;margin:0 auto;}
.faq-inner > h2{
  font-family:var(--font-heading);font-weight:400;font-style:normal;
  font-size:clamp(26px,2.8vw,36px);color:var(--black);line-height:1.3;margin:0 0 40px;
}
.faq-item{border-bottom:1px solid #e6e2d8;}
.faq-item:first-of-type{border-top:1px solid #e6e2d8;}
.faq-item summary{
  font-family:var(--font-body);font-weight:700;font-size:16px;color:var(--black);
  padding:22px 40px 22px 0;cursor:pointer;list-style:none;position:relative;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:'+';position:absolute;right:8px;top:18px;font-size:24px;font-weight:400;color:var(--gold);
  transition:transform .2s;
}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item .faq-a{
  font-family:var(--font-body);font-size:15px;line-height:1.75;color:#4a4a4a;
  padding:0 40px 24px 0;margin:0;
}
@media (max-width:900px){
  .faq-block{padding:56px 20px;}
  .faq-item summary{padding-right:32px;}
}

/* ============================================================
   MAP EMBED — responsive full-width Google Maps iframe
   ============================================================ */
.map-embed-wrap{position:relative;width:100%;padding-bottom:42%;min-height:320px;background:var(--black);}
.map-embed-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
@media (max-width:700px){
  .map-embed-wrap{padding-bottom:80%;}
}