/*
Theme Name: Steven Lee Attorney
Theme URI: https://traverseweb.com/
Author: Traverse Web
Description: Custom ACF-ready attorney website for Steven A. Lee.
Version: 1.0.16
Text Domain: steven-lee-attorney
*/
:root{--navy:#092039;--navy2:#102c46;--gold:#d8a735;--cream:#faf7f1;--ink:#142238;--muted:#526071;--line:#e8dfd1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}h1,h2,h3,.serif{font-family:Georgia,'Times New Roman',serif;line-height:1.12;font-weight:500}h1{font-size:clamp(2.55rem,5vw,4.8rem)}h2{font-size:clamp(2rem,3.2vw,3.2rem);margin:0 0 18px}h3{font-size:1.6rem;margin:0 0 10px}p{margin:0 0 18px}a{color:inherit}img{max-width:100%;height:auto}.wrap{width:min(1180px,calc(100% - 44px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:700;color:#986e20}.section{padding:76px 0}.center{text-align:center}.section-title{max-width:760px;margin:0 auto 34px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 23px;text-decoration:none;font-weight:700;font-size:.91rem;border:1px solid var(--gold);border-radius:3px;background:var(--gold);color:#091d31;transition:.2s}.btn:hover{background:#f2c65c}.btn-outline{background:transparent;color:inherit;border-color:currentColor}.btn-outline:hover{background:#fff;color:var(--navy)}.btn-row{display:flex;gap:14px;flex-wrap:wrap}.site-header{background:var(--navy);color:#fff;position:relative;z-index:30}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px}.brand{display:flex;align-items:center;text-decoration:none;min-width:230px}.brand img{display:block;max-width:250px;max-height:75px;object-fit:contain}.brand-text{font-family:Georgia,serif;font-size:1.55rem;line-height:1.05}.brand-text small{display:block;font-size:.75em}.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.header-top{font-size:.8rem}.header-top a{text-decoration:none}.nav-row{display:flex;align-items:center;gap:25px}.nav-row ul{list-style:none;display:flex;align-items:center;gap:22px;margin:0;padding:0}.nav-row a{text-decoration:none;font-size:.9rem}.nav-row .menu-item-has-children{position:relative}.sub-menu{display:none!important;position:absolute;top:100%;left:0;min-width:220px;background:var(--navy);padding:12px!important;box-shadow:0 15px 20px #0003}.menu-item-has-children:hover>.sub-menu,.menu-item-has-children:focus-within>.sub-menu{display:block!important}.sub-menu li{padding:5px}.mobile-toggle{display:none;background:none;border:1px solid #ffffff80;color:#fff;padding:8px 12px;font-size:1.2rem}.hero{background:linear-gradient(110deg,#092039 5%,#123b5d 55%,#3c7695 100%);color:white;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;min-height:465px;gap:20px}.hero-copy{padding:60px 0 66px;position:relative;z-index:2}.hero .eyebrow{color:#f2c55a}.hero h1{margin:14px 0 18px}.hero p{max-width:560px;font-size:1.06rem}.hero-photo{height:465px;align-self:end;display:flex;justify-content:center;align-items:flex-end;overflow:hidden}.hero-photo img{height:100%;width:auto;max-width:none;object-fit:cover;object-position:center top;mask-image:linear-gradient(to right,transparent 0%,black 12%,black 90%,transparent 100%)}.hero.hero-image{background-position:center;background-size:cover}.hero-image .hero-inner{background:linear-gradient(90deg,#092039dc,#09203918)}.featured{padding:28px 0 18px}.featured-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.feature-card{min-height:230px;padding:32px;color:white;display:flex;align-items:flex-end;background:linear-gradient(120deg,#0a223c,#3b5567);position:relative;overflow:hidden}.feature-card:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#061b31dd,#061b3160)}.feature-card>*{position:relative}.feature-card h2{font-size:2.2rem}.feature-card p{max-width:360px}.feature-card a{color:#f5ca6b;font-weight:700}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-tile{background:#fffaf4;border:1px solid var(--line);padding:24px;text-align:center;text-decoration:none;transition:.2s}.service-tile:hover{transform:translateY(-3px);border-color:var(--gold)}.service-icon{display:block;font-family:Georgia,serif;color:#a47c2b;font-size:2rem;line-height:1;margin-bottom:10px}.service-tile strong{font-family:Georgia,serif;font-size:1.18rem}.about-band{background:#f1ebe2}.about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:65px;align-items:center}.about-image{height:390px;overflow:hidden;background:#1e3448}.about-image img{width:100%;height:100%;object-fit:cover;object-position:center 28%}.testimonial{background:var(--navy);color:white;text-align:center;padding:55px 0}.testimonial blockquote{font:italic clamp(1.35rem,2.4vw,2rem)/1.45 Georgia,serif;max-width:930px;margin:0 auto 12px}.testimonial .quote-mark{font-size:3rem;color:var(--gold);line-height:1}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.post-card{background:white}.post-image{height:160px;background:linear-gradient(125deg,#203e56,#9f9b8d);display:block;overflow:hidden}.post-image img{height:100%;width:100%;object-fit:cover}.post-content{padding:16px 4px}.post-content h3{font-size:1.3rem}.post-content a{text-decoration:none}.post-content time{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.cta-band{background:linear-gradient(110deg,#082038,#183b57);color:white;padding:50px 0}.cta-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:45px;align-items:center}.cta-grid h2{margin:8px 0}.cta-contact{border-left:1px solid var(--gold);padding-left:35px}.cta-contact a.phone{font-size:1.3rem;font-weight:700;display:block;margin-bottom:15px;text-decoration:none}.site-footer{background:#06192b;color:#d6dce2;padding:42px 0 22px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:35px}.footer-grid img{max-width:220px;max-height:65px;object-fit:contain}.footer-grid h3{font-size:1.2rem;color:#fff}.footer-grid ul{padding:0;margin:0;list-style:none}.footer-grid a{text-decoration:none}.copyright{border-top:1px solid #ffffff26;margin-top:35px;padding-top:18px;font-size:.78rem}.page-hero{background:var(--navy);color:white;padding:66px 0}.page-hero h1{font-size:clamp(2.5rem,4vw,4rem);margin:0 0 12px}.page-body{padding:65px 0;min-height:340px}.page-body .prose{max-width:820px}.page-body .prose h2{margin-top:30px}.practice-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.practice-item{background:#fff;padding:28px;border:1px solid var(--line)}.practice-item a{color:var(--navy);font-weight:700}.detail-grid{display:grid;grid-template-columns:1fr 310px;gap:60px}.sidebar-card{background:#efe8dd;padding:28px;align-self:start}.sidebar-card h3{font-size:1.5rem}.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{cursor:pointer;font-weight:700}.contact-form{max-width:780px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{margin-bottom:17px}.form-field label{display:block;font-weight:700;font-size:.87rem;margin-bottom:5px}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #bfc3c7;padding:12px;font:inherit;background:white}.form-field textarea{min-height:130px}.form-note{font-size:.85rem;color:var(--muted)}.notice{padding:15px;background:#e8f3e8;margin-bottom:20px}.notice.error{background:#fae4e4}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:900px){.header-inner{min-height:85px}.header-top{display:none}.mobile-toggle{display:block}.header-right{gap:0}.nav-row{display:none;position:absolute;left:0;right:0;top:100%;padding:20px 24px;background:var(--navy);align-items:stretch;flex-direction:column}.nav-row.open{display:flex}.nav-row ul{flex-direction:column;align-items:flex-start}.sub-menu{display:block!important;position:static;box-shadow:none;padding:5px 0 5px 15px!important}.hero-inner{grid-template-columns:1.1fr .9fr}.hero-photo{height:380px}.about-grid{gap:30px}}@media(max-width:650px){.section{padding:48px 0}.wrap{width:min(100% - 32px,1180px)}.brand img{max-width:200px}.hero-inner{display:flex;flex-direction:column;gap:0;min-height:0;align-items:stretch}.hero-copy{padding:46px 0 18px}.hero-photo{height:260px}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%;mask-image:linear-gradient(to bottom,black 75%,transparent)}.featured-grid,.about-grid,.post-grid,.cta-grid,.footer-grid,.detail-grid{grid-template-columns:1fr}.service-grid,.practice-list{grid-template-columns:repeat(2,1fr)}.feature-card{min-height:205px}.about-image{height:300px}.cta-contact{border-left:0;border-top:1px solid var(--gold);padding:20px 0 0}.form-grid{grid-template-columns:1fr}}@media(max-width:420px){.service-grid,.practice-list{grid-template-columns:1fr}.btn-row .btn{width:100%}}

/* v1.0.2: composed hero using Steven's real portrait; no awkward feather mask */
.hero:not(.hero-image){background:linear-gradient(112deg,#071c30 0%,#12314b 65%,#244b65 100%)}
.hero-inner{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:48px;min-height:500px;align-items:center}
.hero-copy{padding:75px 0;max-width:680px}
.hero h1{font-size:clamp(2.65rem,4.4vw,4.45rem);line-height:1.1;max-width:660px}
.hero-photo{height:440px;width:100%;align-self:end;align-items:flex-end;justify-content:center;overflow:hidden;position:relative}
.hero-photo img{height:100%;width:100%;max-width:100%;object-fit:cover;object-position:center 22%;mask-image:none;-webkit-mask-image:none;border-radius:6px 6px 0 0}
.hero-photo:after{content:'';position:absolute;inset:auto 0 0;height:42px;background:linear-gradient(transparent,#09203975);pointer-events:none}
.hero.hero-image .hero-inner{background:none}
@media(max-width:900px){.hero-inner{gap:24px;grid-template-columns:minmax(0,1fr) minmax(250px,.8fr)}.hero-photo{height:360px}.hero-copy{padding:55px 0}}
@media(max-width:650px){.hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:0}.hero-copy{padding:45px 0 30px}.hero-photo{height:300px;max-width:390px;margin:0 auto}.hero-photo img{object-position:center 20%;mask-image:none;-webkit-mask-image:none}.hero h1{font-size:clamp(2.4rem,9vw,3.5rem)}}

/* v1.0.3: preserve the composite hero with no overlaid portrait. */
.hero.hero-image{background-size:cover;background-position:center center}
.hero-photo{display:none!important}
.service-icon i{font-size:1.65rem;color:var(--gold)}
.testimonial .eyebrow,.testimonial h2{text-align:center}
.testimonial h2{color:#fff;font-size:clamp(1.45rem,2.5vw,2rem);margin:.4rem 0 1rem}
@media(max-width:767px){.hero.hero-image{background-position:63% center}}

.cta-band{background-size:cover;background-position:center}

/* Steven Lee Attorney — homepage refinements, November 2026
   Add after existing style.css rules; preserves all ACF fields and templates. */

/* Featured practice area imagery: less navy, stronger photography. */
.feature-card::before {
    background: linear-gradient(90deg,
        rgba(6, 27, 49, .78) 0%,
        rgba(6, 27, 49, .52) 62%,
        rgba(6, 27, 49, .28) 100%);
}

/* Allow descriptions to use the full card content width. */
.feature-card p {
    max-width: none;
    width: 100%;
}
.feature-card > div { width: 100%; }

/* Shorter testimonial band, without shrinking the quote too far. */
.testimonial { padding: 32px 0 34px; }
.testimonial h2 { margin: 3px 0 10px; }
.testimonial .quote-mark { font-size: 2.1rem; line-height: .85; margin: 2px 0 9px; }
.testimonial blockquote {
    max-width: 780px;
    font-size: clamp(1.15rem, 1.9vw, 1.55rem);
    line-height: 1.38;
    margin: 0 auto 9px;
}

/* Lighthouse CTA: reveal more of the photo while retaining contrast. */
.cta-band {
    background-blend-mode: normal;
    background-position: center center;
}
.cta-band::before { pointer-events: none; }
/* If an inline background includes a dark gradient, the overlay must be
   adjusted in PHP/CSS where that background is constructed. */

@media (max-width: 650px) {
    .feature-card::before {
        background: linear-gradient(90deg, rgba(6,27,49,.82), rgba(6,27,49,.42));
    }
    .testimonial { padding: 29px 0 31px; }
    .testimonial blockquote { font-size: 1.2rem; }
}

/* v1.0.5 — shared practice area template */
.practice-hero{background-color:var(--navy);background-size:cover;background-position:center 48%;color:#fff;text-align:center}
.practice-hero-inner{padding:85px 0 90px}
.practice-hero .eyebrow{color:#efc45a;margin-bottom:14px}
.practice-hero h1{font-size:clamp(2.6rem,4.4vw,4.2rem);margin:0}
.practice-intro,.practice-details{background:var(--cream)}
.practice-intro h2{margin-bottom:24px}
.practice-details{background:#f2ece4}
.practice-richtext{width:100%;max-width:none}
.practice-richtext h2,.practice-richtext h3{margin:30px 0 16px}
.practice-richtext p:last-child{margin-bottom:0}
.practice-richtext ul,.practice-richtext ol{padding-left:25px;margin:0 0 22px}
.practice-faq-section{background:#fffaf4}
.practice-faq-grid{display:grid;grid-template-columns: minmax(0,1fr) minmax(0,1.15fr);gap:55px;align-items:center}
.practice-faq-photo{min-height:400px;height:100%;overflow:hidden}
.practice-faq-photo img{width:100%;height:100%;min-height:400px;object-fit:cover;display:block}
.practice-faq-content h2{margin:8px 0 20px}
.practice-faq-content .faq details{padding:17px 0;border-bottom:1px solid var(--line)}
.practice-faq-content .faq summary{list-style:none;position:relative;padding-right:30px;cursor:pointer}
.practice-faq-content .faq summary::-webkit-details-marker{display:none}
.practice-faq-content .faq summary:after{content:'+';position:absolute;right:2px;top:0;color:#a47c2b;font-size:1.3rem}
.practice-faq-content .faq details[open] summary:after{content:'−'}
.practice-faq-content .faq-answer{padding:13px 0 0}
@media(max-width:800px){.practice-faq-grid{grid-template-columns:1fr;gap:25px}.practice-faq-photo,.practice-faq-photo img{min-height:260px;max-height:360px}.practice-hero-inner{padding:65px 0}}

/* v1.0.7: Practice Area readability and strict site-container alignment */
.practice-details > .wrap.practice-richtext{width:min(1180px,calc(100% - 44px));max-width:1180px;margin-left:auto;margin-right:auto;}
.practice-intro h2,.practice-details .practice-richtext h2,.practice-faq-content h2{font-size:clamp(1.65rem,2.35vw,2.35rem);line-height:1.2;}
.practice-details .practice-richtext h3{font-size:clamp(1.25rem,1.7vw,1.55rem);line-height:1.25;}
.practice-details .practice-richtext h2{margin-top:35px;margin-bottom:17px;}
.practice-details .practice-richtext h3{margin-top:23px;margin-bottom:10px;}
.practice-details .practice-richtext > :first-child{margin-top:0;}
@media(max-width:650px){.practice-details > .wrap.practice-richtext{width:calc(100% - 32px);}}

/* v1.0.10: About attorney page */
.sla-about-intro{background:var(--cream)}
.sla-about-intro-grid{display:grid;grid-template-columns:minmax(260px,.82fr) 1.18fr;gap:62px;align-items:start}
.sla-about-portrait{background:#e5ded3;overflow:hidden;aspect-ratio:4/5}
.sla-about-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.sla-about-section{padding:74px 0}
.sla-about-section:nth-of-type(odd){background:#f2ece4}
.sla-about-section:nth-of-type(even){background:var(--cream)}
.sla-about-section .wrap{max-width:1180px}
.sla-about-section .eyebrow,.sla-about-intro .eyebrow{margin-bottom:14px}
.sla-about-section h2,.sla-about-intro h2{font-size:clamp(1.8rem,2.6vw,2.65rem);margin-bottom:24px}
.sla-about-copy{max-width:1000px}
.sla-about-copy h2{font-size:clamp(1.5rem,2vw,2rem);margin-top:28px}
.sla-about-copy h3{font-size:1.3rem;margin-top:24px}
.sla-about-copy ul{padding-left:24px}
.sla-about-copy li{margin-bottom:8px}
@media(max-width:800px){.sla-about-intro-grid{grid-template-columns:1fr;gap:30px}.sla-about-portrait{max-width:480px}.sla-about-section{padding:50px 0}}

/* v1.0.10: About attorney page */
.sla-about-intro{background:var(--cream)}
.sla-about-intro-grid{display:grid;grid-template-columns:minmax(260px,.82fr) 1.18fr;gap:62px;align-items:start}
.sla-about-portrait{background:#e5ded3;overflow:hidden;aspect-ratio:4/5}
.sla-about-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.sla-about-section{padding:74px 0}
.sla-about-section:nth-of-type(odd){background:#f2ece4}
.sla-about-section:nth-of-type(even){background:var(--cream)}
.sla-about-section .wrap{max-width:1180px}
.sla-about-section .eyebrow,.sla-about-intro .eyebrow{margin-bottom:14px}
.sla-about-section h2,.sla-about-intro h2{font-size:clamp(1.8rem,2.6vw,2.65rem);margin-bottom:24px}
.sla-about-copy{max-width:1000px}
.sla-about-copy h2{font-size:clamp(1.5rem,2vw,2rem);margin-top:28px}
.sla-about-copy h3{font-size:1.3rem;margin-top:24px}
.sla-about-copy ul{padding-left:24px}
.sla-about-copy li{margin-bottom:8px}
@media(max-width:800px){.sla-about-intro-grid{grid-template-columns:1fr;gap:30px}.sla-about-portrait{max-width:480px}.sla-about-section{padding:50px 0}}

/* v1.0.11 — Contact page */
.sla-contact-intro{background:var(--cream);text-align:center}
.sla-contact-intro .wrap{max-width:900px}
.sla-contact-intro h2{font-size:clamp(1.85rem,2.7vw,2.7rem)}
.sla-contact-intro-copy{font-size:1.06rem;color:var(--muted)}
.sla-contact-main{background:#f2ece4}
.sla-contact-grid{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:55px;align-items:start}
.sla-contact-details,.sla-contact-form-panel{background:#fffaf4;padding:38px;border:1px solid var(--line)}
.sla-contact-grid h2{font-size:clamp(1.65rem,2.25vw,2.2rem);margin:8px 0 26px}
.sla-contact-detail{padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.sla-contact-detail:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.sla-contact-detail h3{font:700 .8rem/1.5 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#936c20;margin-bottom:7px}
.sla-contact-detail a{color:var(--navy);overflow-wrap:anywhere}
.sla-contact-detail p{margin:0;white-space:normal}
.sla-contact-form-panel .frm_forms input:not([type=checkbox]):not([type=radio]),.sla-contact-form-panel .frm_forms textarea,.sla-contact-form-panel .frm_forms select{max-width:100%}
.sla-contact-form-panel .frm_forms button,.sla-contact-form-panel .frm_forms input[type=submit]{background:var(--gold);color:var(--navy);border:1px solid var(--gold);padding:12px 22px;font-weight:700;cursor:pointer}
.sla-contact-disclaimer{font-size:.82rem;line-height:1.55;color:var(--muted);border-top:1px solid var(--line);padding-top:17px;margin:22px 0 0}
.sla-contact-location{background:var(--cream)}
.sla-contact-location h2{text-align:center;margin-bottom:30px}
.sla-contact-map{height:390px;background:#e5ded3}
.sla-contact-map iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:800px){.sla-contact-grid{grid-template-columns:1fr;gap:24px}.sla-contact-details,.sla-contact-form-panel{padding:27px}.sla-contact-map{height:300px}}


/* v1.0.12 — Clear dropdown affordance and accessible submenu states */
@media (min-width:901px) {
  .nav-row .menu-item-has-children > a {
    display:inline-flex;
    align-items:center;
    gap:8px;
  }
  .nav-row .menu-item-has-children > a::after {
    content:"";
    width:6px;
    height:6px;
    border-right:2px solid var(--gold);
    border-bottom:2px solid var(--gold);
    transform:translateY(-2px) rotate(45deg);
    transition:transform .2s ease;
  }
  .nav-row .menu-item-has-children:hover > a::after,
  .nav-row .menu-item-has-children:focus-within > a::after {
    transform:translateY(2px) rotate(225deg);
  }
  .nav-row .sub-menu {
    min-width:235px;
    padding:8px 0!important;
    border-top:2px solid var(--gold);
  }
}
.nav-row .sub-menu li {padding:0;display:block;width:100%;}
.nav-row .sub-menu a {
  display:block;
  padding:11px 17px;
  color:#fff;
  line-height:1.35;
  transition:background-color .18s ease,color .18s ease;
}
.nav-row .sub-menu a:hover,
.nav-row .sub-menu a:focus-visible {
  background:var(--navy2);
  color:#f2c55a;
}
.nav-row .sub-menu .current-menu-item > a,
.nav-row .sub-menu .current_page_item > a {
  background:var(--navy2);
  color:#f2c55a;
  box-shadow:inset 3px 0 0 var(--gold);
}
.nav-row a:focus-visible {outline:2px solid var(--gold);outline-offset:2px;}
@media (max-width:900px) {
  .nav-row .menu-item-has-children > a::after {
    content:"";
    display:inline-block;
    width:6px;height:6px;
    margin:0 0 3px 10px;
    border-right:2px solid var(--gold);
    border-bottom:2px solid var(--gold);
    transform:rotate(45deg);
  }
  .nav-row .sub-menu {width:100%;padding:5px 0 5px 15px!important;}
  .nav-row .sub-menu a {padding:10px 12px;}
}

/* v1.0.13: whole-card practice links */
.feature-card-link{display:flex;text-decoration:none;color:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;}
.feature-card-link:visited{color:#fff;}
.feature-card-link:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(6,25,45,.2);}
.feature-card-link:focus-visible{outline:3px solid var(--gold);outline-offset:4px;}
.feature-card-link .feature-card-more{color:#f5ca6b;font-weight:700;text-decoration:underline;text-underline-offset:3px;}
.feature-card-link:hover .feature-card-more,.feature-card-link:focus-visible .feature-card-more{color:#ffe29c;}
@media(prefers-reduced-motion:reduce){.feature-card-link{transition:none}.feature-card-link:hover{transform:none}}

/* v1.0.14: clear keyboard focus for consultation actions */
.site-header .btn:focus-visible,.cta-band .btn:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* v1.0.15: Practice Areas archive responsive cards and full-card links */
.practice-list > .practice-item{min-width:0;}
.practice-item{padding:0;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;}
.practice-item-link{display:flex;flex-direction:column;align-items:flex-start;height:100%;padding:28px;color:var(--ink);text-decoration:none;}
.practice-item .practice-item-link{color:var(--ink);font-weight:400;}
.practice-item-link h3{color:var(--ink);}
.practice-item-link p{flex:1;}
.practice-item-link .practice-item-more{color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:3px;}
.practice-item:hover,.practice-item:focus-within{border-color:var(--gold);box-shadow:0 8px 20px rgba(6,25,45,.09);transform:translateY(-2px);}
.practice-item-link:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
.practice-item:hover .practice-item-more,.practice-item:focus-within .practice-item-more{color:#986e20;}
@media(max-width:767px){.practice-list{grid-template-columns:minmax(0,1fr);}.practice-item-link{padding:26px;}}
@media(prefers-reduced-motion:reduce){.practice-item{transition:none}.practice-item:hover{transform:none}}

/* v1.0.16: dynamic, visitor-friendly HTML sitemap */
.sla-sitemap-intro{max-width:780px;margin:0 auto 38px;text-align:center}
.sla-sitemap-intro p{color:var(--muted);font-size:1.06rem}
.sla-sitemap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start}
.sla-sitemap-panel{background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);padding:32px 36px;box-shadow:0 8px 24px #0920390a}
.sla-sitemap-panel h2{font-size:clamp(1.65rem,2.5vw,2.2rem);margin:0 0 22px;color:var(--navy)}
.sla-sitemap-panel ul{list-style:none;margin:0;padding:0}
.sla-sitemap-panel li{border-bottom:1px solid var(--line)}
.sla-sitemap-panel li:last-child{border-bottom:0}
.sla-sitemap-panel a{display:block;position:relative;padding:12px 12px 12px 22px;text-decoration:none;transition:background-color .2s,color .2s}
.sla-sitemap-panel a::before{content:'›';position:absolute;left:3px;color:#a47c2b;font-weight:700;font-size:1.25rem;top:8px}
.sla-sitemap-panel a:hover,.sla-sitemap-panel a:focus-visible{background:#faf5e9;color:#8d671f}
.sla-sitemap-panel a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:767px){.sla-sitemap-grid{grid-template-columns:1fr;gap:22px}.sla-sitemap-panel{padding:25px 22px}}
