
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{--navy:#071d34;--gold:#b7833a;--gold2:#d1a55f;--cream:#f7f4ef;--paper:#fffdf9;--ink:#132538;--muted:#536171;--line:#e2dbd0;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter',Arial,sans-serif;--shadow:0 16px 42px rgba(7,29,52,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.55}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}p,h1,h2,h3,h4{margin:0}button,input,select,textarea{font:inherit}.wrap{max-width:1220px;margin:0 auto;padding:0 34px}.eyebrow{color:var(--gold);font-weight:700;letter-spacing:.25em;text-transform:uppercase;font-size:.7rem;margin-bottom:14px}
.header{height:88px;background:rgba(255,253,249,.98);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{height:100%;display:flex;align-items:center;gap:34px}.brand{width:300px;display:block}.brand img{width:100%}.nav{display:flex;flex:1;justify-content:center;gap:27px;align-items:center}.nav-link{font-size:.84rem;font-weight:600;color:#304355;padding:33px 0 27px;border-bottom:3px solid transparent}.nav-link:hover,.nav-link.active{color:var(--navy);border-bottom-color:var(--gold)}.case-review,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-transform:uppercase;font-size:.73rem;font-weight:700;letter-spacing:.11em;transition:.18s}.case-review,.btn.gold{background:var(--gold);color:white;padding:15px 23px}.case-review:hover,.btn.gold:hover{background:#986b2e}.btn.outline{border:1px solid rgba(255,255,255,.65);color:white;padding:14px 23px}.btn.outline:hover{background:rgba(255,255,255,.07)}.menu-button{display:none;border:0;background:none;font-size:1.4rem;color:var(--navy)}
.hero{display:grid;grid-template-columns:48% 52%;min-height:553px;background:var(--navy);color:#fff;overflow:hidden}.hero-copy{padding:58px 30px 45px max(34px,calc((100vw - 1220px)/2));position:relative;z-index:2}.hero h1{font-family:var(--serif);font-size:4.6rem;letter-spacing:-.02em;font-weight:600;line-height:.94}.hero h1 span{color:var(--gold2);display:block}.lead{margin-top:25px;max-width:455px;font-size:.96rem;line-height:1.75;color:#f0ece4}.hero-buttons{display:flex;gap:17px;margin-top:29px}.impact{margin-top:28px;border-top:1px solid rgba(209,165,95,.4);padding-top:18px;max-width:468px;line-height:1.65;font-size:.89rem;color:#f0ebe4}.hero-photo{position:relative}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 13%}.hero-photo:before{position:absolute;content:"";z-index:1;inset:0;background:linear-gradient(90deg,var(--navy),rgba(7,29,52,.62) 10%,transparent 35%),linear-gradient(0deg,rgba(7,29,52,.12),transparent 30%)}
.practice-section{background:var(--paper);padding:56px max(34px,calc((100vw - 1220px)/2)) 39px}.section-heading{text-align:center}.section-heading h2{font-family:var(--serif);color:var(--navy);font-size:3.2rem;line-height:1.05;font-weight:600}.section-heading h2:after{display:block;content:"";background:var(--gold);height:2px;width:54px;margin:18px auto 29px}.practice-grid{display:grid;grid-template-columns:repeat(6,1fr)}.practice-card{text-align:center;border-right:1px solid var(--line);padding:11px 17px 22px;transition:.17s}.practice-card:first-child{border-left:1px solid var(--line)}.practice-card:hover{background:#faf6ee}.practice-card svg,.info-card svg{width:49px;height:49px;stroke:var(--gold);fill:none;stroke-width:1.8;margin:0 auto 16px}.practice-card h3{font-family:var(--serif);font-size:1.36rem;color:var(--navy);line-height:1.15;margin-bottom:12px}.practice-card p{font-size:.75rem;color:var(--muted);line-height:1.7}
.philosophy{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:#fff}.philosophy-copy{padding:58px 52px 54px max(34px,calc((100vw - 1220px)/2))}.philosophy-copy h2{font-family:var(--serif);font-size:3rem;font-weight:600;line-height:1.06;margin-bottom:18px}.philosophy-copy p{font-size:.9rem;line-height:1.68;color:#e9e4dc;margin-bottom:14px}.checks{list-style:none;padding:0;margin:22px 0}.checks li{display:flex;gap:10px;margin:10px 0;font-size:.87rem;color:#f0ece5}.checks li:before{content:"✓";display:flex;align-items:center;justify-content:center;width:19px;height:19px;flex:none;border:1px solid var(--gold2);border-radius:50%;font-size:.65rem;color:var(--gold2)}.probono-note{color:var(--gold2)!important;font-weight:600}.quote-side{min-height:545px;display:flex;justify-content:center;align-items:center;padding:42px;background:linear-gradient(110deg,#73512f,#c79a62 35%,#8e6338 100%);position:relative;overflow:hidden}.quote-side:before{content:"";position:absolute;inset:0;opacity:.23;background:repeating-linear-gradient(90deg,rgba(12,18,25,.9) 0 17px, transparent 17px 32px)}.quote{position:relative;z-index:1;max-width:335px;background:var(--navy);border:2px solid var(--gold);padding:40px 32px;color:var(--gold2);font-family:var(--serif);font-size:2.1rem;line-height:1.24;text-align:center}
.cta-contact{background:var(--navy);display:grid;grid-template-columns:30% 54% 16%;color:white}.cta-side{padding:52px 32px 53px max(34px,calc((100vw - 1220px)/2))}.cta-side h2{font-family:var(--serif);font-size:2.75rem;line-height:1.04;margin-bottom:18px}.cta-side p{color:#dfdcd5;line-height:1.7;margin-bottom:26px}.confidential{font-size:.76rem;margin-top:18px!important}.form-wrap{background:white;padding:34px 18px}.review-form{background:white;color:var(--ink);padding:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.review-form input,.review-form select,.review-form textarea{border:1px solid #ebe5dc;background:#faf9f7;padding:12px;font-size:.8rem;width:100%}.review-form textarea{height:78px;grid-column:1/-1;resize:none}.upload{border:1px dashed #d9d0c3;text-align:center;padding:10px;color:var(--muted);font-size:.73rem;margin:10px 0}.consent{display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:.68rem;margin:8px 0 13px}.consent input{width:auto}.submit{background:var(--navy);color:white;width:100%;border:0;padding:12px;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:700}.scale-image{background:linear-gradient(rgba(7,29,52,.2),rgba(7,29,52,.25)),radial-gradient(circle at 50% 20%,#c4944e,#4a311e 38%,#071d34 90%);position:relative}.scale-image:after{content:"⚖";position:absolute;color:var(--gold2);font-size:7.2rem;left:50%;top:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 7px 7px rgba(0,0,0,.25))}
.footer{background:#061a30;color:#dce0e5}.footer-grid{display:grid;grid-template-columns:1.35fr .8fr 1fr .7fr;gap:30px;padding-top:34px;padding-bottom:27px}.footer-brand img{max-width:285px;filter:none;opacity:1;margin-bottom:18px;height:auto}.footer p,.footer li{font-size:.77rem;line-height:1.7;color:#bfc8d0}.footer h4{text-transform:uppercase;font-size:.65rem;letter-spacing:.2em;color:var(--gold2);margin-bottom:11px}.footer ul{list-style:none;padding:0;margin:0}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:15px 34px 18px;display:flex;justify-content:space-between;color:#96a5b4;font-size:.68rem}
.page-hero{background:var(--navy);color:white;padding:70px 0 64px}.page-hero .wrap{max-width:1000px}.page-hero h1{font-family:var(--serif);font-size:4rem;font-weight:600;line-height:1.04;max-width:870px}.page-hero p{margin-top:18px;max-width:740px;color:#e6e2db;font-size:1.02rem;line-height:1.8}.page-actions{display:flex;gap:16px;margin-top:28px}
.content{padding:62px 0}.white{background:var(--paper)}.two-col{display:grid;grid-template-columns:1.08fr .92fr;gap:54px}.content h2,.review-copy h2{font-family:var(--serif);font-size:2.8rem;font-weight:600;line-height:1.1;color:var(--navy);margin-bottom:18px}.content h3{font-family:var(--serif);font-size:1.85rem;color:var(--navy);font-weight:600;margin:29px 0 12px}.content p,.review-copy p{color:var(--muted);line-height:1.83;margin-bottom:16px}.side-card{background:white;border:1px solid var(--line);padding:32px;box-shadow:var(--shadow);align-self:start}.side-card h3{margin-top:0}.side-card .btn{margin-top:16px}.highlight{color:var(--navy)!important;font-weight:700}.credential-list,.text-list{list-style:none;padding:0;margin:20px 0}.credential-list li,.text-list li{border-bottom:1px solid var(--line);padding:13px 0;color:var(--muted)}.credential-list li:before,.text-list li:before{content:"—";color:var(--gold);margin-right:11px}.intro-block{max-width:800px;margin-bottom:42px}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.info-card{background:white;border:1px solid var(--line);padding:29px 25px}.info-card h3{font-family:var(--serif);font-size:1.7rem;color:var(--navy);line-height:1.18;margin:14px 0 12px}.info-card p{font-size:.9rem}.inline-link{display:inline-block;color:var(--gold);text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.12em;margin-top:12px}.notice{background:#f8f4ec;border-left:3px solid var(--gold);padding:18px 20px;color:var(--muted);font-size:.87rem;line-height:1.7;margin-top:26px}.notice.wide{margin-top:40px}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;list-style:none;padding:0}.evidence-grid li{background:#faf7f1;border:1px solid var(--line);padding:13px;color:var(--muted);font-size:.86rem}.fineprint{font-size:.72rem!important;margin-top:18px}.results-grid{margin-top:40px}.contact-panel{background:#faf7f1;border:1px solid var(--line);padding:24px;margin-top:24px}.contact-panel a{color:var(--gold)}.review-section{background:var(--paper);padding:58px 0}.review-page-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start}.large-review{padding:26px;border:1px solid var(--line);box-shadow:var(--shadow)}.legal-copy{max-width:850px}.narrow{max-width:850px}
#app{min-height:100vh}
@media(max-width:1050px){.header-inner{gap:17px}.brand{width:250px}.nav{gap:18px}.hero{grid-template-columns:1fr}.hero-photo{height:430px}.practice-grid{grid-template-columns:repeat(3,1fr)}.practice-card:nth-child(4){border-left:1px solid var(--line)}.philosophy,.cta-contact{grid-template-columns:1fr}.form-wrap{padding:28px}.scale-image{display:none}.two-col,.review-page-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.quote-side{min-height:420px}}
@media(max-width:760px){.wrap{padding:0 20px}.header{height:72px}.brand{width:230px}.nav,.case-review{display:none}.menu-button{display:block;margin-left:auto}.hero-copy{padding:45px 20px}.hero h1{font-size:3.35rem}.hero-buttons{flex-direction:column;align-items:start}.practice-grid,.cards-3{grid-template-columns:1fr}.practice-card,.practice-card:first-child{border-left:0;border-right:0;border-bottom:1px solid var(--line)}.philosophy-copy{padding:45px 20px}.philosophy-copy h2{font-size:2.45rem}.quote{font-size:1.7rem}.cta-side{padding:45px 20px}.form-grid,.evidence-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;padding:16px 20px}.page-hero{padding:50px 0}.page-hero h1{font-size:3rem}}

/* Interior practice-area pages based on the supplied PDF designs */
.pdf-practice-hero{background:var(--navy);color:#fff;text-align:center;padding:47px 20px 45px}
.pdf-column{width:min(790px,calc(100% - 44px));margin:0 auto}
.pdf-column.centered{text-align:center}
.pdf-crumb{font-size:.66rem;font-weight:700;letter-spacing:.30em;color:var(--gold2);text-transform:uppercase;margin-bottom:14px}
.pdf-practice-hero h1{font-family:var(--serif);font-weight:600;letter-spacing:.01em;font-size:3.15rem;line-height:1.04;margin:0}
.pdf-practice-hero p{max-width:660px;margin:13px auto 0;color:#e9e3d8;font-size:.9rem;line-height:1.7}
.pdf-band{padding:48px 0 50px}
.pdf-band.paper{background:#fcfaf5}
.pdf-band.sand{background:#f3eddf}
.pdf-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:.31em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.pdf-band h2{font-family:var(--serif);font-size:2.1rem;line-height:1.12;font-weight:600;color:var(--navy);margin:0 0 14px}
.pdf-band p{font-size:.86rem;line-height:1.78;color:#52606b;margin:0 0 13px}
.pdf-band ul{list-style:none;margin:18px 0 0;padding:0}
.pdf-band li{position:relative;padding-left:20px;margin:9px 0;color:#52606b;font-size:.84rem;line-height:1.55}
.gold-arrows li:before{position:absolute;left:0;top:.15em;content:"›";font-size:1.1rem;font-weight:700;color:var(--gold)}
.gold-checks li:before{position:absolute;left:0;top:.12em;content:"✓";font-weight:700;color:var(--gold)}
.legal-note{border-top:1px solid #dfd5c5;padding-top:18px;margin-top:22px!important;font-size:.72rem!important;color:#77808a!important;line-height:1.65!important}
.pdf-cta{background:#bf893c;color:#fff;text-align:center;padding:36px 20px 38px}
.pdf-cta h2{font-family:var(--serif);font-weight:600;font-size:2.25rem;line-height:1.14;margin:0 0 8px}
.pdf-cta p{color:#fff9ec;font-size:.87rem;line-height:1.7;max-width:650px;margin:0 auto 18px}
.pdf-cta-button{display:inline-flex;padding:12px 25px;border:1px solid rgba(255,255,255,.9);color:#fff;text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;font-weight:700}
.pdf-cta-button:hover{background:rgba(255,255,255,.09)}
@media(max-width:760px){
  .pdf-practice-hero{padding:40px 18px}
  .pdf-practice-hero h1{font-size:2.45rem}
  .pdf-band{padding:40px 0}
  .pdf-band h2{font-size:1.8rem}
  .pdf-cta h2{font-size:1.85rem}
}


/* v3 interior-page alignment with supplied PDF designs */
.pa-column{width:min(920px,calc(100% - 44px));margin:0 auto}
.paper{background:#fcfaf5}.sand{background:#f2ecde}
.pa-list{background:#fcfaf5;padding:48px 0 54px}
.pa-row{display:grid;grid-template-columns:64px 1fr;gap:22px;padding:20px 0;border-bottom:1px solid #dfd4c2;transition:background .18s}
.pa-row:last-child{border-bottom:0}
.pa-row:hover{background:#f8f3e8}
.pa-row h3{font-family:var(--serif);font-size:1.55rem;color:var(--navy);font-weight:600;margin:0 0 6px}
.pa-row p{font-size:.84rem;line-height:1.65;color:#596672;margin:0 0 7px}
.pa-row span{color:var(--gold);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700}
.pa-icon svg{width:29px;height:29px;fill:none;stroke:var(--gold);stroke-width:1.6;display:block;margin:4px auto 0}
.about-message{padding:52px 0}
.about-lead-grid{width:min(920px,calc(100% - 44px));margin:0 auto;display:grid;grid-template-columns:310px 1fr;gap:45px;align-items:center}
.about-lead-grid h2,.commitments h2,.pb-priorities h2{font-family:var(--serif);font-size:2.2rem;line-height:1.15;color:var(--navy);margin:0 0 14px}
.about-lead-grid p{font-size:.86rem;line-height:1.72;color:#55626d;margin:0}
.attorney-portrait{margin:0;background:var(--navy);border:1px solid var(--gold);padding:8px;position:relative}
.attorney-portrait img{height:362px;width:100%;object-fit:cover;object-position:center 15%;display:block}
.attorney-portrait figcaption{position:absolute;left:18px;bottom:18px;background:rgba(7,29,52,.9);padding:10px 13px;color:#fff;font-family:var(--serif);font-size:1.15rem;line-height:1.15;border-left:2px solid var(--gold)}
.attorney-portrait figcaption span{font-family:var(--sans);font-size:.62rem;color:var(--gold2);letter-spacing:.18em;text-transform:uppercase}
.about-letter{padding:45px 0 47px}
.about-letter p{font-size:.88rem;line-height:1.79;color:#4e5d68;margin:0 0 16px}
.about-letter .signature{font-family:var(--serif);font-size:1.55rem;color:var(--navy);font-weight:600;margin-top:24px}
.commitments{padding:48px 0 57px;text-align:center}
.centered-label{text-align:center}
.commit-grid,.priority-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:27px;text-align:left}
.commit-card,.priority-card{background:#fff;border-top:2px solid var(--gold);border-left:1px solid #e2d8c9;border-right:1px solid #e2d8c9;border-bottom:1px solid #e2d8c9;padding:24px}
.commit-card h3,.priority-card h3{font-family:var(--serif);font-size:1.3rem;color:var(--navy);margin:0 0 10px}
.commit-card p,.priority-card p{font-size:.78rem;line-height:1.65;color:#596672;margin:0}
.pb-narrative{padding:52px 0}
.pb-narrative p{font-size:.88rem;line-height:1.79;color:#4e5d68;margin:0 0 17px}
.pb-priorities{padding:48px 0 58px;text-align:center}
.pb-contact-navy{background:#102d47;color:white;text-align:center;padding:50px 0}
.pb-contact-navy h2{font-family:var(--serif);font-size:2.25rem;margin:9px 0 10px;color:#fff}
.pb-contact-navy p{font-size:.88rem;line-height:1.7;color:#e5e0d7;margin:0 auto 22px;max-width:610px}
.contact-info{padding:48px 0}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.contact-card{background:white;border:1px solid #dfd7ca;text-align:center;padding:25px 15px 27px}
.contact-symbol{font-size:1.35rem;color:var(--gold);margin-bottom:10px}
.contact-card h3{font-family:var(--serif);font-size:1.35rem;color:var(--navy);margin:0 0 8px}
.contact-card p{font-size:.78rem;color:#5e6c76;line-height:1.6;margin:0}
.contact-review-navy{background:#102d47;padding:55px 0;color:#fff}
.contact-review-grid{width:min(920px,calc(100% - 44px));margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
.contact-review-copy h2{font-family:var(--serif);font-size:2.6rem;line-height:1.1;margin:53px 0 18px;color:white}
.contact-review-copy p{font-size:.84rem;line-height:1.75;color:#dde1e4;max-width:350px;margin:0 0 15px}
.contact-visual{height:160px;border:1px solid rgba(209,165,95,.2);margin-top:28px;max-width:370px;background:linear-gradient(135deg,rgba(184,131,58,.08),transparent)}
.pdf-review-form{background:#fcfaf5;color:var(--navy);padding:25px 22px}
.pdf-review-form label{display:block;font-size:.65rem;font-weight:600;color:#3e4c59}
.pdf-review-form input,.pdf-review-form select,.pdf-review-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #ddd3c4;background:#fff;padding:10px;font-size:.77rem;font-weight:400;color:#4d5965}
.pdf-review-form textarea{height:84px;resize:none}
.pdf-review-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pdf-review-form .span-all{grid-column:1/-1}
.pdf-upload{margin:15px 0 12px;border:1px dashed #d7cbb9;padding:13px;text-align:center;color:#64717d;font-size:.69rem}
.pdf-consent{display:flex!important;align-items:flex-start;gap:8px;font-size:.66rem!important;line-height:1.55;color:#5b6670!important}
.pdf-consent input{width:auto!important;margin:3px 0 0!important}
.pdf-submit{display:block;width:100%;margin-top:18px;border:0;background:var(--gold);color:#fff;text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;font-weight:700;padding:13px}
.pdf-form-bottom{font-size:.7rem;text-align:center;color:#6e7780;margin:13px 0 0}
@media(max-width:760px){
 .pa-row{grid-template-columns:45px 1fr;gap:12px}
 .about-lead-grid,.contact-review-grid{grid-template-columns:1fr}
 .attorney-portrait{max-width:330px;margin:0 auto}
 .commit-grid,.priority-grid,.contact-cards{grid-template-columns:1fr}
 .contact-review-copy h2{margin-top:0}
}





/* Rebalanced homepage hero: shorter composition with integrated credential treatment */
.hero{
    height:600px;
    min-height:600px;
    max-height:600px;
    align-items:stretch;
}
.hero-copy{
    padding-top:40px;
    padding-bottom:30px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}
.hero h1{font-size:4.25rem}
.hero .lead{margin-top:18px;line-height:1.62}
.hero-buttons{margin-top:21px}
.impact{margin-top:19px;padding-top:14px;line-height:1.5}
.hero-photo{
    min-height:0;
    height:600px;
    overflow:hidden;
}
/* Attorney portrait is now visible (no longer an opacity:0 spacer).
   object-position keeps Wesley's face/torso framed at the top of the crop. */
.hero-photo img{
    width:100%;
    height:600px;
    min-height:600px;
    object-fit:cover;
    object-position:center 18%;
    display:block;
    opacity:1;
}
.hero{
    position:relative;
    background:var(--navy);
}
/* Restore the 2-column grid for desktop. The base rule (top of file)
   sets 48%/52%, but the max-width:1050px block later collapses it to 1fr.
   Because that block appears after the base rule in source order, desktop
   widths must explicitly re-assert two columns here.
   Breakpoint lowered to 861px so the side-by-side hero holds on smaller
   laptops, split screens, and when DevTools is open (effective width
   often ~900px). Below 861px the hero stacks (mobile behavior unchanged). */
@media(min-width:861px){
    .hero{
        display:grid;
        grid-template-columns:48% 52%;
    }
}
/* In the 861–1050px range the copy column is narrower, so scale the
   headline down slightly to prevent "Accountability" from overflowing. */
@media(min-width:861px) and (max-width:1050px){
    .hero h1{font-size:3.5rem}
}
/* Subtle navy gradient on the LEFT edge of the photo only, so the photo
   blends into the copy column without a hard seam. Does not cover the face. */
.hero:after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:48%;
    width:90px;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(90deg,var(--navy) 0%,rgba(7,29,52,0) 100%);
}
.hero-copy{
    position:relative;
    z-index:2;
}
.hero-photo{
    position:relative;
    z-index:1;
}
.hero-photo:before{
    display:none;
}
.hero-inline-credential{
    margin-top:17px;
    display:flex;
    align-items:center;
    gap:13px;
    color:#f4efe5;
    font-size:.70rem;
    line-height:1.55;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.hero-inline-mark{
    width:2px;
    height:39px;
    background:var(--gold2);
    flex:none;
}
.hero-inline-credential strong{
    color:var(--gold2);
    font-weight:700;
    letter-spacing:.18em;
}
.hero-inline-credential em{
    font-style:normal;
    color:#d0c8bc;
    font-size:.63rem;
    letter-spacing:.12em;
}
@media(max-width:860px){
    .hero{height:auto;min-height:0;max-height:none}
    .hero:after{display:none}
    .hero-photo{height:480px}
    .hero-photo img{height:480px;min-height:480px;object-position:center 16%}
}
@media(max-width:760px){
    .hero-copy{padding-top:38px;padding-bottom:30px}
    .hero h1{font-size:3.2rem}
    .hero-photo{height:420px}
    .hero-photo img{height:420px;min-height:420px;object-position:center 14%}
}
@media(min-width:375px) and (max-width:760px){
    .hero-photo{height:440px}
    .hero-photo img{height:440px;min-height:440px}
}
@media(min-width:430px) and (max-width:760px){
    .hero-photo{height:470px}
    .hero-photo img{height:470px;min-height:470px}
}



/* Homepage contingent-fee message and repaired transparent footer lockup */
.contingency-message{
    margin-top:21px;
    padding-top:17px;
    border-top:1px solid rgba(209,165,95,.42);
    max-width:280px;
}
.contingency-headline{
    margin:0 0 7px!important;
    color:var(--gold2)!important;
    font-size:.78rem!important;
    line-height:1.5!important;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.contingency-disclosure{
    margin:0!important;
    color:#c5ccd1!important;
    font-size:.64rem!important;
    line-height:1.58!important;
}
.cta-side .confidential{
    margin-top:16px!important;
    color:#e2ded6;
}
.footer-brand img{
    display:block;
    width:min(285px,100%);
    background:transparent;
}


/* Crisp SVG footer lockup */
.footer-brand img{display:block;width:min(300px,100%);height:auto;max-width:none;filter:none;opacity:1;margin-bottom:18px}

/* Eight landing-page cards in a clean 4 + 4 grid (Wesley preferred "4 and 4") */
.practice-section{padding-left:max(24px,calc((100vw - 1180px)/2));padding-right:max(24px,calc((100vw - 1180px)/2))}
.practice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.practice-card:nth-child(5){border-left:1px solid var(--line)}
.practice-card{padding-left:12px;padding-right:12px}
.practice-card h3{font-size:1.25rem}
.practice-card p{font-size:.72rem}
.practice-card-truck{background:#faf6ee}
@media(max-width:1220px){.practice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.practice-card:nth-child(5){border-left:1px solid var(--line)}}
@media(max-width:760px){.practice-grid{grid-template-columns:1fr}.practice-card:nth-child(5){border-left:0}}

/* Centered holding page until verified results are ready */
.results-coming-soon{background:var(--paper);padding:68px 28px 84px;text-align:center}
.results-coming-inner{max-width:800px;margin:0 auto}
.results-coming-inner h2{margin:13px 0 20px;font-family:var(--serif);font-size:3.3rem;line-height:1.12;color:var(--navy);font-weight:600}
.results-lead{max-width:700px;margin:0 auto 18px;color:var(--muted);font-size:1.02rem;line-height:1.82}
.results-experience{max-width:730px;margin:0 auto;color:var(--muted);font-size:.93rem;line-height:1.78}
.results-rule{width:56px;height:2px;background:var(--gold);margin:32px auto 26px}
.results-disclaimer{max-width:700px;margin:0 auto 30px;padding:18px 22px;background:#f8f3ea;border:1px solid #e2d8c8;color:#586672;font-size:.78rem;line-height:1.7}
.results-button{margin-top:2px}
@media(max-width:760px){.results-coming-soon{padding:50px 20px 62px}.results-coming-inner h2{font-size:2.45rem}}


/* Corrected footer treatment: display the exact approved header logo as a deliberate signature plate */
.footer-brand img{
    display:block;
    width:min(292px,100%);
    max-width:292px;
    height:auto;
    padding:10px 11px;
    box-sizing:border-box;
    background:#fbf8f2;
    border:1px solid rgba(201,154,80,.48);
    filter:none;
    opacity:1;
    margin-bottom:18px;
}

/* Commercial/18-wheeler is first in priority, but should not appear pre-selected */
.practice-card-truck{
    background:transparent;
}
.practice-card-truck:hover{
    background:#faf6ee;
}



/* Landing-page alignment: hero copy and seven-card practice grid share one visual gutter */
:root{
    --landing-gutter: clamp(42px, 8.4vw, 160px);
}
.hero-copy{
    padding-left:var(--landing-gutter);
}
.practice-section{
    padding-left:var(--landing-gutter);
    padding-right:var(--landing-gutter);
}
.practice-grid{
    max-width:none;
    margin:0;
}
@media(max-width:1220px){
    :root{--landing-gutter:clamp(28px, 5vw, 54px)}
}
@media(max-width:760px){
    :root{--landing-gutter:20px}
}

/* Identical high-resolution approved logo lockup in header and footer */
.brand img{
    width:100%;
    height:auto;
    image-rendering:auto;
}
.footer-brand img{
    width:min(300px,100%);
    height:auto;
    max-width:300px;
    padding:0;
    background:#fbf8f2;
    border:0;
    filter:none;
    opacity:1;
    image-rendering:auto;
    margin-bottom:18px;
}

/* Dedicated pro bono request section */
.probono-intake{
    background:#102d47;
    color:#fff;
    padding:58px 0 62px;
}
.probono-intake-grid{
    width:min(1040px,calc(100% - 44px));
    margin:0 auto;
    display:grid;
    grid-template-columns:.88fr 1.12fr;
    gap:42px;
    align-items:start;
}
.probono-form-copy h2{
    margin:8px 0 18px;
    font-family:var(--serif);
    color:#fff;
    font-size:2.65rem;
    line-height:1.1;
    font-weight:600;
}
.probono-form-copy p{
    margin:0 0 18px;
    color:#e3e0db;
    font-size:.87rem;
    line-height:1.78;
}
.probono-form-copy .probono-separate-note{
    color:var(--gold2);
    font-weight:600;
}
.probono-warning{
    border-left:2px solid var(--gold2);
    padding:14px 0 14px 16px;
    color:#d8d5cf;
    font-size:.76rem;
    line-height:1.7;
}
.probono-review-form{
    background:#fcfaf5;
    color:var(--navy);
    padding:26px 23px 24px;
}
.probono-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.probono-review-form label{
    display:block;
    font-size:.66rem;
    font-weight:700;
    color:#3d4c59;
    letter-spacing:.02em;
}
.probono-review-form input,
.probono-review-form select,
.probono-review-form textarea{
    display:block;
    width:100%;
    box-sizing:border-box;
    margin-top:6px;
    border:1px solid #ddd3c4;
    background:#fff;
    padding:10px;
    color:#4b5864;
    font-size:.77rem;
    font-weight:400;
}
.probono-review-form textarea{
    height:82px;
    resize:none;
}
.probono-review-form .span-all{
    grid-column:1/-1;
}
.probono-upload{
    margin:15px 0 13px;
    border:1px dashed #d5c9b7;
    padding:13px;
    color:#697580;
    text-align:center;
    font-size:.69rem;
}
.probono-consent{
    display:flex!important;
    align-items:flex-start;
    gap:8px;
    color:#5b6770!important;
    font-size:.66rem!important;
    line-height:1.55;
}
.probono-consent input{
    width:auto!important;
    margin:3px 0 0!important;
}
.probono-submit{
    display:block;
    width:100%;
    margin-top:18px;
    border:0;
    background:var(--gold);
    color:#fff;
    text-transform:uppercase;
    letter-spacing:.15em;
    font-size:.67rem;
    font-weight:700;
    padding:14px 9px;
}
@media(max-width:850px){
    .probono-intake-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
    .probono-fields{grid-template-columns:1fr}
}



/* Privacy Policy page - PDF-aligned legal document treatment */
.privacy-hero{
    background:var(--navy);
    color:#fff;
    text-align:center;
    padding:54px 20px 52px;
}
.privacy-hero-inner{
    width:min(760px,calc(100% - 32px));
    margin:0 auto;
}
.privacy-hero .pdf-eyebrow{
    color:var(--gold2);
    margin-bottom:12px;
}
.privacy-hero h1{
    margin:0;
    font-family:var(--serif);
    font-size:3.45rem;
    line-height:1.06;
    font-weight:600;
    letter-spacing:.01em;
}
.privacy-hero p{
    margin:14px auto 0;
    color:#e6e1d7;
    font-size:.86rem;
    line-height:1.7;
}
.privacy-document{
    background:#fcfaf5;
    padding:54px 0 64px;
}
.privacy-column{
    width:min(790px,calc(100% - 44px));
    margin:0 auto;
    color:#4d5a66;
}
.privacy-column p{
    margin:0 0 15px;
    color:#4d5a66;
    font-size:.84rem;
    line-height:1.74;
}
.privacy-column .privacy-updated{
    margin-bottom:18px;
    font-size:.76rem;
    font-weight:600;
    color:#596570;
}
.privacy-column h2{
    margin:22px 0 8px;
    font-family:var(--serif);
    color:var(--navy);
    font-size:2.02rem;
    line-height:1.15;
    font-weight:600;
}
.privacy-column h3{
    margin:18px 0 7px;
    font-family:var(--serif);
    color:var(--navy);
    font-size:1.22rem;
    line-height:1.2;
    font-weight:600;
}
.privacy-column .privacy-lead-in{
    margin-bottom:10px;
    font-style:italic;
    font-size:.79rem;
}
.privacy-list{
    list-style:none;
    margin:8px 0 15px;
    padding:0;
}
.privacy-list li{
    position:relative;
    padding-left:20px;
    margin:7px 0;
    color:#4d5a66;
    font-size:.82rem;
    line-height:1.62;
}
.privacy-list li:before{
    position:absolute;
    left:0;
    top:.05em;
    content:"›";
    color:var(--gold);
    font-weight:700;
    font-size:1.12rem;
}
.privacy-share-list li{
    margin:10px 0;
}
.privacy-contact{
    font-style:normal;
    color:#4d5a66;
    font-size:.83rem;
    line-height:1.72;
    margin:0 0 25px;
}
.privacy-contact span{
    color:var(--gold);
}
.privacy-template-note{
    border-top:1px solid #dfd4c4;
    padding-top:18px;
    margin-top:23px!important;
    color:#727b83!important;
    font-style:italic;
    font-size:.68rem!important;
    line-height:1.62!important;
}
@media(max-width:760px){
    .privacy-hero{padding:43px 18px}
    .privacy-hero h1{font-size:2.65rem}
    .privacy-document{padding:40px 0 48px}
    .privacy-column h2{font-size:1.72rem}
}



/* ------------------------------------------------------------------
   Spacing refinement: preserve a premium feel without oversized voids
   ------------------------------------------------------------------ */

/* Homepage confidential-review band:
   treat the form as a contained card rather than a full white column. */
.cta-contact{
    align-items:stretch;
    background:var(--navy);
}
.cta-side{
    padding-top:42px;
    padding-bottom:40px;
}
.cta-side h2{
    font-size:2.55rem;
    margin-bottom:14px;
}
.cta-side p{
    line-height:1.62;
    margin-bottom:18px;
}
.cta-side .btn{
    margin-top:2px;
}
.contingency-message{
    margin-top:16px;
    padding-top:14px;
}
.cta-side .confidential{
    margin-top:12px!important;
    margin-bottom:0!important;
}
.form-wrap{
    background:transparent;
    padding:38px 18px;
    display:flex;
    align-items:center;
}
.form-wrap .review-form{
    width:100%;
    height:auto;
    padding:22px;
    background:#fff;
    box-shadow:0 12px 32px rgba(4,18,34,.13);
}
.scale-image{
    min-height:100%;
}

/* Reduce over-generous section padding on content-heavy interior pages. */
.page-hero{
    padding-top:56px;
    padding-bottom:54px;
}
.pdf-practice-hero{
    padding-top:39px;
    padding-bottom:38px;
}
.pdf-band{
    padding-top:37px;
    padding-bottom:39px;
}
.pa-list{
    padding-top:34px;
    padding-bottom:40px;
}
.pa-row{
    padding-top:15px;
    padding-bottom:15px;
}
.pdf-cta{
    padding-top:31px;
    padding-bottom:32px;
}
.about-message{
    padding-top:42px;
    padding-bottom:42px;
}
.about-letter{
    padding-top:35px;
    padding-bottom:36px;
}
.commitments{
    padding-top:39px;
    padding-bottom:45px;
}
.pb-narrative{
    padding-top:42px;
    padding-bottom:39px;
}
.pb-priorities{
    padding-top:39px;
    padding-bottom:45px;
}
.pb-contact-navy{
    padding-top:40px;
    padding-bottom:42px;
}
.probono-intake{
    padding-top:46px;
    padding-bottom:49px;
}
.contact-info{
    padding-top:38px;
    padding-bottom:39px;
}
.contact-card{
    padding-top:21px;
    padding-bottom:22px;
}
.contact-review-navy{
    padding-top:44px;
    padding-bottom:46px;
}
.contact-review-copy h2{
    margin-top:18px;
}
.privacy-document{
    padding-top:43px;
    padding-bottom:49px;
}
.privacy-column h2{
    margin-top:19px;
}
.results-coming-soon{
    padding-top:54px;
    padding-bottom:61px;
}

/* Footer sits closer to the completed content without feeling crowded. */
.footer-grid{
    padding-top:28px;
    padding-bottom:23px;
}
.footer-bottom{
    padding-top:13px;
    padding-bottom:15px;
}

@media(max-width:1050px){
    .form-wrap{
        padding:30px 24px 36px;
    }
}
@media(max-width:760px){
    .cta-side{
        padding-top:36px;
        padding-bottom:30px;
    }
    .form-wrap{
        padding:0 20px 34px;
    }
    .pdf-band, .pa-list, .about-message, .about-letter,
    .commitments, .pb-narrative, .pb-priorities,
    .probono-intake, .contact-info, .contact-review-navy,
    .privacy-document{
        padding-top:33px;
        padding-bottom:35px;
    }
}



/* About page — commitment cards: centered titles with balanced justified copy */
.commitments .commit-card h3{
    text-align:center;
}
.commitments .commit-card p{
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
}


/* Pro Bono priority cards — match centered/justified About-page treatment */
.pb-priorities .priority-card h3{
    text-align:center;
}
.pb-priorities .priority-card p{
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
}


/* Landing page text-alignment test:
   centered headings retained; substantive text blocks justified for review. */
.practice-section .practice-card p{
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
}
.philosophy .philosophy-copy p:not(.probono-note){
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
}
.philosophy .checks li span{
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
}
.cta-contact .cta-side > p:not(.confidential),
.cta-contact .contingency-disclosure{
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
}

/* The hero copy is also long-form copy; test the same editorial alignment there. */
.hero-copy .lead,
.hero-copy .impact{
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
}

/* Prevent justified card copy from producing distracting gaps in narrow layouts. */
@media(max-width:1220px){
    .practice-section .practice-card p{
        text-align:left;
        hyphens:none;
    }
}
@media(max-width:760px){
    .hero-copy .lead,
    .hero-copy .impact,
    .philosophy .philosophy-copy p:not(.probono-note),
    .philosophy .checks li span,
    .cta-contact .cta-side > p:not(.confidential),
    .cta-contact .contingency-disclosure{
        text-align:left;
        hyphens:none;
    }
}



/* ------------------------------------------------------------------
   Sitewide editorial alignment system
   Justifies substantive narrative copy where it improves the formal,
   publication-like feel; keeps legal, short-form, and UI copy readable.
   ------------------------------------------------------------------ */

/* About page: attorney message and narrative letter */
.about-message .about-lead-grid p,
.about-letter p:not(.signature){
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
}

/* Practice Areas overview: longer category summaries */
.pa-list .pa-row p{
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
}

/* Individual practice-area pages: substantive explanatory paragraphs only.
   Bullets remain left-aligned for scanning and the legal note remains unchanged. */
.pdf-band p:not(.legal-note){
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
}

/* Pro Bono page: mission narrative and intake explanation.
   The priority cards were previously set to this treatment. */
.pb-narrative p,
.probono-form-copy p:not(.probono-separate-note){
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
}

/* Contact and case-review explanatory narrative, not contact data or fields. */
.contact-review-copy p,
.review-copy p{
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
}

/* Standard content narratives used on non-legal informational sections.
   Do not affect the centered Results holding page or Privacy Policy document. */
.content.white .intro-block p,
.content.white .two-col > div > p{
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
}

/* Maintain readability in narrow mobile columns. */
@media(max-width:760px){
    .about-message .about-lead-grid p,
    .about-letter p:not(.signature),
    .pa-list .pa-row p,
    .pdf-band p:not(.legal-note),
    .pb-narrative p,
    .probono-form-copy p:not(.probono-separate-note),
    .contact-review-copy p,
    .review-copy p,
    .content.white .intro-block p,
    .content.white .two-col > div > p{
        text-align:left;
        hyphens:none;
    }
}


/* 10DLC/SMS consent and terms disclosure styling */
.sms-consent-block{
    margin:14px 0 14px;
    padding:13px 14px;
    background:#f7f2e8;
    border:1px solid #dfd3c1;
    color:#53616c;
}
.sms-consent-block p{
    margin:9px 0 0!important;
    color:#53616c!important;
    font-size:.66rem!important;
    line-height:1.58!important;
    text-align:left!important;
}
.sms-consent-block a{
    color:var(--gold);
    font-weight:700;
    text-decoration:none;
}
.sms-optin{
    display:flex!important;
    align-items:flex-start;
    gap:8px;
    color:var(--navy)!important;
    font-size:.72rem!important;
    line-height:1.45!important;
    font-weight:400!important;
}
.sms-optin input{
    width:auto!important;
    min-width:14px;
    margin-top:2px!important;
}
.terms-document a{
    color:var(--gold);
    font-weight:700;
    text-decoration:none;
}


/* Legal Disclaimer / Attorney Advertising and Terms pages — justified legal body copy */
.legal-copy p,
.terms-document .privacy-column p:not(.privacy-updated){
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
}
@media(max-width:760px){
    .legal-copy p,
    .terms-document .privacy-column p:not(.privacy-updated){
        text-align:left;
        hyphens:none;
    }
}



/* Contact-info update: public email intentionally omitted in favor of website forms */
.contact-card p,
.contact-panel p,
.footer p,
.privacy-contact{
    overflow-wrap:anywhere;
}


/* ============================================================
   MOBILE NAVIGATION DRAWER + iOS FORM ZOOM FIX
   Added for responsiveness. Activated by .nav-open on <body>.
   ============================================================ */
.mobile-nav-overlay,
.mobile-nav-drawer{ display:none; }

@media(max-width:760px){
    .mobile-nav-overlay{
        display:block;
        position:fixed; inset:0; z-index:30;
        background:rgba(7,29,52,.55);
        opacity:0; pointer-events:none;
        transition:opacity .28s;
        -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
    }
    .mobile-nav-drawer{
        display:flex; flex-direction:column;
        position:fixed; top:0; right:0; bottom:0; z-index:31;
        width:min(320px,88vw);
        background:var(--paper,#fdfaf4);
        box-shadow:-8px 0 32px rgba(7,29,52,.18);
        transform:translateX(100%);
        transition:transform .28s cubic-bezier(.4,0,.2,1);
        overflow-y:auto; -webkit-overflow-scrolling:touch;
        padding-bottom:env(safe-area-inset-bottom);
    }
    .nav-open .mobile-nav-overlay{ opacity:1; pointer-events:auto; }
    .nav-open .mobile-nav-drawer{ transform:translateX(0); }
    .nav-open{ overflow:hidden; }
}
.mobile-nav-header{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 20px; border-bottom:1px solid var(--line,#e7e0d4);
}
.mobile-nav-header img{ height:36px; width:auto; }
.mobile-nav-close{
    border:0; background:none; font-size:1.5rem; line-height:1;
    color:var(--navy,#071d34); cursor:pointer;
    min-width:44px; min-height:44px;
    display:flex; align-items:center; justify-content:center;
}
.mobile-nav-links{ display:flex; flex-direction:column; padding:8px 0; }
.mobile-nav-links a{
    display:flex; align-items:center;
    padding:15px 24px; min-height:44px;
    font-size:.9rem; font-weight:600; letter-spacing:.02em;
    color:var(--navy,#071d34);
    border-bottom:1px solid var(--line,#e7e0d4);
}
.mobile-nav-links a:hover,
.mobile-nav-links a.active{ background:#faf6ee; color:var(--gold,#9c6f2e); }
.mobile-nav-cta{ padding:20px 24px 28px; }
.mobile-nav-cta a{
    display:flex; align-items:center; justify-content:center; gap:8px;
    width:100%; min-height:48px; padding:16px;
    background:var(--gold,#9c6f2e); color:#fff;
    text-transform:uppercase; font-size:.72rem; font-weight:700; letter-spacing:.12em;
}

/* iOS Safari auto-zooms when an input's font-size is < 16px. Force 16px on mobile. */
@media(max-width:760px){
    .review-form input, .review-form select, .review-form textarea,
    .pdf-review-form input, .pdf-review-form select, .pdf-review-form textarea,
    .probono-review-form input, .probono-review-form select, .probono-review-form textarea{
        font-size:16px;
    }
}


/* ============================================================
   CASE REVIEW — REAL FILE UPLOAD INPUT
   The visible dashed box is a <label for="documents">; the real
   <input type="file"> is visually hidden but fully functional.
   Clicking the label opens the native file picker.
   ============================================================ */
.upload{ display:block; cursor:pointer; }
.upload-input{
    position:absolute;
    width:1px; height:1px;
    padding:0; margin:-1px; border:0;
    overflow:hidden; clip:rect(0 0 0 0);
    white-space:nowrap;
}
/* Keyboard focus visibility on the styled label */
.upload-input:focus-visible + .upload,
.upload:focus-within{ outline:2px solid var(--gold,#9c6f2e); outline-offset:2px; }


/* ============================================================
   QA SAFEGUARD: prevent header overflow on very small phones
   At ≤360px the 230px logo + hamburger can crowd the edge.
   Scale the brand down slightly so it always fits with no
   horizontal scroll. Logo aspect ratio is preserved.
   ============================================================ */
@media(max-width:360px){
    .brand{ width:190px; }
}


/* ============================================================
   QA FIX: make aria-disabled placeholder links inert
   These footer links (href="#") are intentional non-links in the
   client's content. Prevent the click-jump-to-top behavior so
   they behave as the disabled state already implies. No content
   or visual change.
   ============================================================ */
a[aria-disabled="true"]{
    pointer-events:none;
    cursor:default;
}


/* ============================================================
   FAQ PAGE — styled to match site branding (navy/gold/serif)
   Content classes from the provided faq.html, adapted to the
   current design system. No other pages affected.
   ============================================================ */
.section{ padding:56px 0; }
.faq-prose{ max-width:860px; }
.faq-prose .lead{
    font-size:1.04rem; line-height:1.8; color:var(--muted);
}
.faq-list{ max-width:860px; margin:0 auto; }
.faq-cat{ margin:42px 0 14px; }
.faq-cat:first-child{ margin-top:0; }
.faq-cat .eyebrow{ margin-bottom:0; }
.faq-item{
    background:var(--paper);
    border:1px solid var(--line);
    margin-bottom:12px;
}
.faq-item summary{
    list-style:none;
    cursor:pointer;
    padding:20px 52px 20px 24px;
    position:relative;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary:after{
    content:"+";
    position:absolute; right:22px; top:18px;
    font-size:1.5rem; line-height:1;
    color:var(--gold);
    transition:transform .2s;
}
.faq-item[open] summary:after{ content:"–"; }
.faq-item summary:hover{ background:#faf6ee; }
.faq-q{
    display:block;
    font-family:var(--serif);
    font-size:1.42rem; font-weight:600;
    color:var(--navy); line-height:1.2;
}
.faq-teaser{
    margin-top:7px;
    font-size:.85rem; color:var(--muted); line-height:1.6;
}
.faq-answer{
    padding:0 24px 22px;
    border-top:1px solid var(--line);
}
.faq-answer p{
    margin-top:16px;
    font-size:.92rem; color:var(--muted); line-height:1.8;
}
.faq-answer ul, .faq-answer ol{
    margin:14px 0 0; padding-left:22px;
    color:var(--muted); font-size:.92rem; line-height:1.8;
}
.faq-answer li{ margin-bottom:7px; }
.faq-answer a{ color:var(--gold); }
.disclaimer{
    margin-top:34px;
    font-size:.78rem; color:var(--muted); line-height:1.7;
    border-top:1px solid var(--line); padding-top:18px;
}
.cta-strip{
    background:var(--navy); color:white;
    padding:58px 0; text-align:center;
}
.cta-strip h2{
    font-family:var(--serif);
    font-size:2.6rem; font-weight:600; line-height:1.1;
    margin-bottom:14px;
}
.cta-strip p{ color:#e6e2db; line-height:1.75; }
@media(max-width:760px){
    .faq-item summary{ padding:17px 46px 17px 18px; }
    .faq-q{ font-size:1.22rem; }
    .faq-answer{ padding:0 18px 18px; }
    .cta-strip h2{ font-size:2rem; }
}


/* ============================================================
   FIX: stray left borders on practice cards
   .practice-card:nth-child(5) (set for the 4-col layout) bled
   into the 3-col range, and :nth-child(4) (set for 3-col) bled
   into the stacked mobile layout where the generic reset loses
   on specificity. Scope both correctly.
   ============================================================ */
@media(min-width:761px) and (max-width:1050px){
    .practice-card:nth-child(5){ border-left:0; }
}
@media(max-width:760px){
    .practice-card:nth-child(4){ border-left:0; }
}


/* ============================================================
   HERO PHOTO POLISH (no layout change)
   Subtle contrast/saturation lift on the portrait and a soft
   gold accent line at the base of the photo column to tie the
   image into the brand palette. Layout, crop, and stacking
   behavior are unchanged.
   ============================================================ */
.hero-photo img{
    filter:contrast(1.05) saturate(1.06) brightness(1.01);
}
.hero-photo:after{
    content:"";
    position:absolute;
    left:0; right:0; bottom:0;
    height:4px;
    background:linear-gradient(90deg, var(--gold) 0%, var(--gold2) 55%, rgba(209,165,95,0) 100%);
    z-index:2;
}
/* Gentle vignette at the very bottom of the photo so it transitions
   smoothly into the next section instead of a hard cut. */
.hero-photo:before{
    display:block !important;
    content:"";
    position:absolute;
    left:0; right:0; bottom:0; top:auto;
    height:70px;
    z-index:1;
    background:linear-gradient(0deg, rgba(7,29,52,.28), rgba(7,29,52,0));
    pointer-events:none;
}


/* FAQ answers: left-aligned at all widths per attorney request
   ("the text in the middle aligned as well, not justified"). */
.faq-answer p{
    text-align:left;
    hyphens:none;
}


/* Click-to-call link in the mobile nav drawer */
.mobile-nav-phone{
    display:flex; align-items:center; justify-content:center; gap:8px;
    margin-top:12px; min-height:44px; padding:12px;
    border:1px solid var(--gold,#9c6f2e);
    color:var(--navy,#071d34);
    font-size:.84rem; font-weight:700; letter-spacing:.04em;
}
.mobile-nav-phone:hover{ background:#faf6ee; }


/* ============================================================
   OTHER MATTERS PAGE — content classes, matching site branding
   ============================================================ */
.bg-cream{ background:var(--sand,#f4efe5); }
.prose{ max-width:860px; }
.prose h2{
    font-family:var(--serif);
    font-size:2.2rem; font-weight:600; line-height:1.15;
    color:var(--navy); margin:6px 0 16px;
}
.prose p{
    font-size:.92rem; color:var(--muted); line-height:1.8;
    margin:0 0 16px;
    text-align:justify; text-justify:inter-word; hyphens:auto;
}
.prose p:last-child{ margin-bottom:0; }
.list-arrow{
    margin:0 0 18px; padding:0; list-style:none;
}
.list-arrow li{
    position:relative;
    padding:6px 0 6px 26px;
    font-size:.92rem; color:var(--muted); line-height:1.7;
}
.list-arrow li:before{
    content:"→";
    position:absolute; left:0; top:6px;
    color:var(--gold);
    font-weight:700;
}
.prose .disclaimer{ text-align:left; }
@media(max-width:760px){
    .prose p{ text-align:left; hyphens:none; }
    .prose h2{ font-size:1.8rem; }
}

/* With 8 desktop nav items, compress spacing slightly in the
   1051–1250px band so the header never wraps. */
@media(min-width:1051px) and (max-width:1250px){
    .nav{ gap:16px; }
    .nav-link{ font-size:.78rem; }
}


/* ============================================================
   CLIENT REVISION 1 — HERO PORTRAIT, FRAMED PRESENTATION
   Matches the About page attorney-portrait treatment: gold
   border, navy matte, caption plate. Featured rather than
   full-bleed. Overrides the earlier edge-to-edge crop rules.
   ============================================================ */
.hero-photo{
    display:flex;
    align-items:center;
    justify-content:center;
    height:600px;
    min-height:0;
    overflow:visible;
    padding:0 24px;
}
/* retire the full-bleed polish effects (gold base line + vignette) */
.hero-photo:before,
.hero-photo:after{ display:none !important; }

.hero-portrait{
    margin:0;
    position:relative;
    background:var(--navy);
    border:1px solid var(--gold);
    padding:8px;
    box-shadow:0 18px 44px rgba(0,0,0,.35);
}
.hero-portrait img{
    display:block;
    width:380px;
    max-width:100%;
    height:500px;
    min-height:0;
    object-fit:cover;
    object-position:center 12%;
    filter:contrast(1.05) saturate(1.06) brightness(1.01);
}
.hero-portrait figcaption{
    position:absolute;
    left:20px; bottom:20px;
    background:rgba(7,29,52,.9);
    padding:10px 13px;
    color:#fff;
    font-family:var(--serif);
    font-size:1.15rem; line-height:1.15;
    border-left:2px solid var(--gold);
}
.hero-portrait figcaption span{
    font-family:var(--sans);
    font-size:.62rem; color:var(--gold2);
    letter-spacing:.18em; text-transform:uppercase;
}

/* Tablet (stacked, 761–860px): centered framed portrait */
@media(max-width:860px){
    .hero-photo{
        height:auto;
        padding:8px 24px 46px;
    }
    .hero-portrait img{
        width:360px;
        height:460px;
        min-height:0;
    }
}
/* Mobile */
@media(max-width:760px){
    .hero-photo{
        padding:6px 20px 42px;
    }
    .hero-portrait img{
        width:min(340px, 82vw);
        height:440px;
        min-height:0;
        object-position:center 14%;
    }
}
@media(max-width:380px){
    .hero-portrait img{
        height:400px;
    }
    .hero-portrait figcaption{
        left:14px; bottom:14px;
        font-size:1.02rem;
    }
}


/* With 7 homepage cards: at 3-col (761–1050px) card 7 begins row 3
   and needs the row-start left border. */
@media(min-width:761px) and (max-width:1050px){
    .practice-card:nth-child(7){ border-left:1px solid var(--line); }
}


/* ============================================================
   CLIENT REVISION 3–5 — ALIGNMENT PASS
   ============================================================ */
/* Long-form content containers were max-width capped but hugged
   the left edge of the 1220px wrap. Center them. */
.prose, .faq-prose{ margin-left:auto; margin-right:auto; }

/* FAQ: center the intro block and category headers for balance
   (Q&A items stay left-aligned for readability). */
.faq-prose{ text-align:center; }
.faq-prose .lead{ text-align:center; }
.faq-cat{ text-align:center; }

/* Hero copy: justified text in the narrow 48% column produced
   uneven word spacing on desktop. Clean left rag instead. */
.hero-copy .lead,
.hero-copy .impact{
    text-align:left !important;
    hyphens:none;
}


/* Hero copy: equalize paragraph wrap widths so the lead and
   impact paragraphs share the same right-edge measure. */
.hero-copy .lead,
.hero-copy .impact{
    max-width:468px;
}


/* ============================================================
   V7 BATCH — tasks 3,4,5,6,7
   ============================================================ */

/* TASK 3 — FAQ hero centered (scoped to .faq-hero; EN + ES FAQ) */
.faq-hero .wrap{ text-align:center; }
.faq-hero .wrap h1,
.faq-hero .wrap .eyebrow,
.faq-hero .wrap p{ margin-left:auto; margin-right:auto; }
.faq-hero .wrap p{ max-width:640px; }

/* TASK 4 — justified prose on legal/long-form (NOT FAQ answers) */
.privacy-column p,
.privacy-column li,
.terms-document .privacy-column p,
.content.white p,
.prose p,
.hero-copy .lead,
.hero-copy .impact{
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
}
.faq-answer p{ text-align:left !important; hyphens:none; }
@media(max-width:760px){
    .privacy-column p,.privacy-column li,.content.white p,.prose p,
    .hero-copy .lead,.hero-copy .impact{ text-align:left; hyphens:none; }
}

/* TASK 5 — clean stroke joins so scales/other icons have no gaps */
.pa-icon svg,.practice-card svg,.info-card svg{
    stroke-linejoin:round; stroke-linecap:round;
}

/* TASK 6 — 4x4 grid border resets across breakpoints */
@media(min-width:761px) and (max-width:1050px){
    .practice-card:nth-child(5){ border-left:0; }
    .practice-card:nth-child(7){ border-left:1px solid var(--line); }
}
@media(max-width:760px){
    .practice-card:nth-child(4),
    .practice-card:nth-child(5),
    .practice-card:nth-child(7){ border-left:0; }
}

/* TASK 7 — footer ES CTA (sidebar/grid styles removed; page is single-column) */
.footer-es-cta{ margin-top:14px; }
.footer-es-cta a{
    color:var(--gold2); font-size:.82rem; line-height:1.55;
    border-bottom:1px solid rgba(209,165,95,.4); padding-bottom:1px;
}
.footer-es-cta a:hover{ color:#fff; }


/* ============================================================
   FINAL POLISH — HERO DESKTOP BALANCE (tasks 1–3)
   Desktop only (>=1051px). Enlarges the framed portrait ~18%,
   widens the text column, and reduces the empty navy gap by
   aligning the portrait toward the text. Mobile + tablet
   (<=1050px) are intentionally NOT touched.
   ============================================================ */
@media(min-width:1051px){
    /* Task 2: wider text column, tighter photo column */
    .hero{
        grid-template-columns:54% 46%;
        min-height:620px;
    }
    /* Task 2: give body copy a more readable measure (not too long) */
    .hero .lead{ max-width:520px; }
    .hero .impact{ max-width:540px; }

    /* Task 1 + 3: larger portrait, pulled toward the text, vertically centered.
       Remove the wide centering padding that created the isolated look. */
    .hero-photo{
        justify-content:flex-start;
        align-items:center;
        padding:0 0 0 8px;
        height:620px;
    }
    .hero-portrait img{
        width:450px;      /* ~18% larger than 380px */
        height:590px;     /* ~18% larger than 500px */
    }
    /* Keep the left-edge blend aligned to the new 54% split */
    .hero:after{ left:54%; }
}

/* Safeguard for mid-desktop (1051–1200px): prevent the larger
   portrait from overflowing its column on smaller laptops. */
@media(min-width:1051px) and (max-width:1200px){
    .hero-portrait img{
        width:400px;
        height:530px;
    }
}


/* 8-item nav: tighten spacing on mid-size desktops so it never wraps */
@media(min-width:1051px) and (max-width:1280px){
    .nav{ gap:19px; }
    .nav-link{ font-size:.8rem; }
}


/* ============================================================
   FAQ INTRO BLOCK — desktop centering fix (faq.html only)
   The .lead paragraph has max-width:455px with no auto margins,
   so it sat left-aligned inside the centered .faq-prose container
   despite its text being centered. Center the paragraph box
   itself on desktop. Mobile/tablet unchanged.
   ============================================================ */
@media(min-width:1051px){
    .section > .faq-prose{
        max-width:820px;
        margin-left:auto;
        margin-right:auto;
    }
    .section > .faq-prose .lead{
        max-width:760px;
        margin-left:auto;
        margin-right:auto;
        text-align:center;
    }
}



/* ============================================================
   FINAL FAQ INTRO CENTERING — English + Spanish, desktop only.
   Authoritative rule (overrides earlier intro-centering blocks).
   ============================================================ */
@media (min-width:1051px){
  .section > .faq-prose,
  .es-faq-layout .es-main .faq-prose{
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .section > .faq-prose .lead,
  .es-faq-layout .es-main .faq-prose .lead{
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}


/* ============================================================
   FOOTER LOGO — light card/panel (Option A)
   The client logo is used EXACTLY as supplied (artwork unchanged;
   only the white background is transparent). It sits on a subtle
   cream card so the navy/gold artwork stays readable on the dark
   navy footer. Footer-only; header & drawer untouched.
   ============================================================ */
.footer-brand img{
    background:#f6f1e7;            /* subtle off-white/cream card */
    padding:16px 20px;
    border-radius:6px;
    border:1px solid rgba(198,160,90,.45);  /* thin gold border */
    box-sizing:border-box;
    width:auto;
    max-width:300px;
    height:auto;
    margin-bottom:18px;
    display:block;
}
@media(max-width:760px){
    .footer-brand img{
        max-width:260px;
        padding:14px 16px;
    }
}


/* SMS checkbox alignment: the SMS checkbox sits inside the cream card,
   inset by its 1px border + 14px padding = 15px. Indent the attorney-
   client consent line above it by the same 15px so both checkboxes
   share the same left edge. Cream box is left untouched (no negative
   margins, no width change). */
.consent,
.pdf-consent,
.probono-consent{
    padding-left:15px;
}
