/*
Theme Name: Psych-Appeal
Theme URI: https://psych-appeal.com
Author: Psych-Appeal, Inc.
Description: Custom theme for Psych-Appeal — the first private law firm in the United States dedicated exclusively to mental health insurance advocacy. Restrained, editorial design in an ink-and-oxblood palette.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: All rights reserved
Text Domain: psych-appeal
*/

/* ============================================================
   SELF-HOSTED FONTS  (no external/Google requests)
   Font files live in this theme's /fonts/ folder.
   Filenames match google-webfonts-helper output exactly.
   ============================================================ */

/* --- Newsreader (serif headings) --- */
@font-face{
  font-family:"Newsreader";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/newsreader-v26-latin-regular.woff2") format("woff2");
}
@font-face{
  font-family:"Newsreader";font-style:normal;font-weight:500;font-display:swap;
  src:url("fonts/newsreader-v26-latin-500.woff2") format("woff2");
}
@font-face{
  font-family:"Newsreader";font-style:normal;font-weight:600;font-display:swap;
  src:url("fonts/newsreader-v26-latin-600.woff2") format("woff2");
}
@font-face{
  font-family:"Newsreader";font-style:italic;font-weight:500;font-display:swap;
  src:url("fonts/newsreader-v26-latin-500italic.woff2") format("woff2");
}

/* --- Spectral (serif body) --- */
@font-face{
  font-family:"Spectral";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/spectral-v15-latin-regular.woff2") format("woff2");
}
@font-face{
  font-family:"Spectral";font-style:normal;font-weight:500;font-display:swap;
  src:url("fonts/spectral-v15-latin-500.woff2") format("woff2");
}
@font-face{
  font-family:"Spectral";font-style:normal;font-weight:600;font-display:swap;
  src:url("fonts/spectral-v15-latin-600.woff2") format("woff2");
}

/* --- Inter (UI labels) --- */
@font-face{
  font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/inter-v20-latin-regular.woff2") format("woff2");
}
@font-face{
  font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;
  src:url("fonts/inter-v20-latin-500.woff2") format("woff2");
}
@font-face{
  font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;
  src:url("fonts/inter-v20-latin-600.woff2") format("woff2");
}

:root{
    --ink:#1A1A1A;
    --ink-2:#3A3A38;
    --paper:#FAF9F6;
    --paper-2:#F2F0EA;
    --rule:#DAD6CC;
    --rule-strong:#C4BFB2;
    --muted:#75716A;
    --oxblood:#6E2433;
    --oxblood-deep:#581C29;
    --maxw:1140px;
    --ease:cubic-bezier(.2,.7,.3,1);
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:"Inter",system-ui,sans-serif;
    background:var(--paper);
    color:var(--ink);
    line-height:1.62;
    font-size:17px;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 36px}

  /* ---------- type ---------- */
  h1,h2,h3,h4{font-family:"Newsreader",Georgia,serif;font-weight:500;line-height:1.12;letter-spacing:-.01em;color:var(--ink)}
  .eyebrow{
    font-family:"Inter",sans-serif;font-size:12.5px;font-weight:600;
    letter-spacing:.14em;text-transform:uppercase;color:var(--oxblood);
  }

  /* ---------- header ---------- */
  header{
    position:sticky;top:0;z-index:50;background:var(--paper);
    border-bottom:1px solid var(--rule);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;height:80px}
  .brand{font-family:"Newsreader",serif;font-size:30px;font-weight:600;letter-spacing:.01em;color:var(--ink);padding-bottom:6px;border-bottom:2.5px solid var(--oxblood);line-height:1;display:inline-block}
  .nav-links{display:flex;align-items:center;gap:36px;font-size:15px;font-weight:500}
  /* Handle WordPress-generated menu markup: the <ul>/<li> inside .nav-links */
  .nav-links ul{display:flex;align-items:center;gap:36px;list-style:none;margin:0;padding:0}
  .nav-links li{list-style:none;margin:0;padding:0}
  .nav-links a{color:var(--ink-2);transition:color .2s;padding-bottom:2px;border-bottom:1px solid transparent;text-decoration:none;font-family:"Inter",sans-serif;font-weight:500}
  .nav-links a:hover{color:var(--ink);border-bottom-color:var(--oxblood)}
  /* Current-page menu item */
  .nav-links .current-menu-item > a{color:var(--ink)}
  .nav-contact{color:var(--ink)!important;font-weight:600}
  .burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:6px}
  .burger span{width:24px;height:1.5px;background:var(--ink);transition:.3s}

  /* ---------- hero ---------- */
  .hero{padding:90px 0 0}
  .hero-top{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;align-items:end;padding-bottom:54px}
  .hero h1{font-size:clamp(2.4rem,4.2vw,3.6rem);font-weight:500;letter-spacing:-.022em}
  .hero h1 .ox{color:var(--oxblood)}
  .hero-right{padding-bottom:8px}
  .hero-right p{font-family:"Spectral",serif;font-size:1.18rem;color:var(--ink-2);line-height:1.5}
  .hero-actions{display:flex;gap:28px;align-items:center;padding:30px 0 0}
  .lnk{
    font-weight:600;font-size:15.5px;display:inline-flex;align-items:center;gap:9px;
    padding-bottom:4px;border-bottom:1.5px solid var(--ink);transition:gap .2s var(--ease),border-color .2s,color .2s;
  }
  .lnk:hover{gap:13px;border-bottom-color:var(--oxblood);color:var(--oxblood)}
  .lnk-quiet{border-bottom-color:var(--rule-strong);color:var(--ink-2)}
  .lnk-quiet:hover{color:var(--ink);border-bottom-color:var(--ink)}

  /* landmark band */
  .landmark{border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
  .landmark-inner{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center;padding:30px 0}
  .landmark .label{font-family:"Inter",sans-serif;font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
  .landmark .case-line{font-family:"Newsreader",serif;font-size:1.32rem;font-weight:500;line-height:1.32}
  .landmark .case-line em{font-style:italic}
  .landmark .case-line .ox{color:var(--oxblood)}

  /* ---------- press ---------- */
  .press{padding:46px 0;border-bottom:1px solid var(--rule)}
  .press-label{font-family:"Inter",sans-serif;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
  .press-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px 40px}
  .press-row span{
    font-family:"Newsreader",serif;font-weight:500;font-size:clamp(1.05rem,1.9vw,1.4rem);color:var(--ink-2);
    transition:color .2s;letter-spacing:-.005em;
  }
  .press-row span:hover{color:var(--ink)}

  /* ---------- section scaffold ---------- */
  section{padding:96px 0}
  .sec-head{max-width:62ch;margin-bottom:18px}
  .sec-head .eyebrow{display:block;margin-bottom:18px}
  .sec-head h2{font-size:clamp(2rem,3.7vw,3rem);font-weight:500;letter-spacing:-.018em;margin-bottom:22px}
  .sec-head p{font-family:"Spectral",serif;font-size:1.18rem;color:var(--ink-2);line-height:1.55;max-width:54ch}

  /* ---------- services ---------- */
  .services-rule{height:1px;background:var(--rule);margin:54px 0 0}
  .path{
    display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:baseline;
    padding:42px 4px;border-bottom:1px solid var(--rule);transition:padding-left .3s var(--ease);
    position:relative;
  }
  .path::before{
    content:"";position:absolute;left:-36px;top:0;bottom:-1px;width:3px;background:var(--oxblood);
    transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease);
  }
  .path:hover::before{transform:scaleY(1)}
  .path:hover{padding-left:18px}
  .path .idx{width:8px;height:8px;background:var(--oxblood);display:inline-block;margin-top:14px;flex-shrink:0}
  .path-main{max-width:64ch}
  .path h3{font-size:1.7rem;font-weight:500;margin-bottom:10px}
  .path-lead h3{font-size:2.05rem}
  .path p{font-family:"Spectral",serif;font-size:1.08rem;color:var(--ink-2);line-height:1.5}
  .path .tag{
    display:inline-block;font-family:"Inter",sans-serif;font-size:11.5px;font-weight:600;
    letter-spacing:.1em;text-transform:uppercase;color:var(--oxblood);margin-bottom:14px;
  }
  .path-services{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:18px}
  .path-services span{
    font-family:"Inter",sans-serif;font-size:13.5px;color:var(--ink-2);font-weight:500;
    padding-left:16px;position:relative;
  }
  .path-services span::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;background:var(--oxblood)}
  .path .go{
    font-family:"Inter",sans-serif;font-size:14px;font-weight:600;white-space:nowrap;
    display:inline-flex;align-items:center;gap:8px;color:var(--ink);align-self:center;
    border-bottom:1.5px solid transparent;padding-bottom:2px;transition:border-color .2s,gap .2s var(--ease)
  }
  .path:hover .go{border-bottom-color:var(--oxblood);gap:12px}

  /* ---------- impact ---------- */
  .impact{background:var(--paper-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:50px;border-top:1px solid var(--rule-strong)}
  .case{padding:40px 40px 40px 0;border-bottom:1px solid var(--rule)}
  .case:nth-child(odd){border-right:1px solid var(--rule);padding-right:48px}
  .case:nth-child(even){padding-left:48px}
  .case .tag{font-family:"Inter",sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--oxblood);display:block;margin-bottom:14px}
  .case h3{font-family:"Newsreader",serif;font-size:1.6rem;font-weight:500;font-style:italic;margin-bottom:14px}
  .case p{font-family:"Spectral",serif;font-size:1.06rem;color:var(--ink-2);line-height:1.5;margin-bottom:18px}
  .case a{font-family:"Inter",sans-serif;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:8px;border-bottom:1.5px solid var(--ink);padding-bottom:2px;transition:gap .2s var(--ease),border-color .2s,color .2s}
  .case a:hover{gap:12px;color:var(--oxblood);border-bottom-color:var(--oxblood)}

  /* ---------- mission ---------- */
  .mission{padding:104px 0}
  .mission-inner{display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:start}
  .mission .eyebrow{padding-top:14px;white-space:nowrap}
  .mission blockquote{
    font-family:"Newsreader",serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:500;
    line-height:1.3;letter-spacing:-.012em;max-width:24ch;
  }
  .mission blockquote .ox{color:var(--oxblood)}

  /* ---------- about ---------- */
  .about{background:var(--ink);color:var(--paper);border-top:1px solid var(--ink)}
  .about .eyebrow{color:#C98A98}
  .about h2{color:var(--paper);font-size:clamp(2rem,3.7vw,3rem);font-weight:500;letter-spacing:-.018em;margin-bottom:24px}
  .about .body{font-family:"Spectral",serif;font-size:1.2rem;line-height:1.6;color:#CFCBC2;max-width:58ch;margin-bottom:30px}
  .about-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:start}
  .about-aside{border-left:1px solid rgba(255,255,255,.18);padding-left:36px}
  .about-aside h4{font-family:"Inter",sans-serif;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:#9A958C;font-weight:600;margin-bottom:14px}
  .about-aside .founder{font-family:"Newsreader",serif;font-size:1.3rem;color:var(--paper);margin-bottom:6px}
  .about-aside .role{font-family:"Spectral",serif;font-size:1rem;color:#A8A39A;font-style:italic}
  .about .lnk{border-bottom-color:#C98A98;color:var(--paper)}
  .about .lnk:hover{color:#E3B5C0;border-bottom-color:#E3B5C0}

  /* ---------- contact ---------- */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
  .contact h2{font-size:clamp(2rem,3.7vw,3rem);font-weight:500;letter-spacing:-.018em;margin-bottom:22px}
  .contact .intro{font-family:"Spectral",serif;font-size:1.18rem;color:var(--ink-2);line-height:1.55;max-width:42ch;margin-bottom:36px}
  .contact-info{font-family:"Spectral",serif;font-size:1.08rem;line-height:1.9;color:var(--ink-2)}
  .contact-info .org{font-family:"Newsreader",serif;font-size:1.2rem;color:var(--ink);margin-bottom:6px}
  .contact-info a{color:var(--oxblood);border-bottom:1px solid var(--rule-strong);transition:border-color .2s}
  .contact-info a:hover{border-bottom-color:var(--oxblood)}
  .cform{border-top:1px solid var(--ink);padding-top:32px}
  .cfield{margin-bottom:24px}
  .cfield label{display:block;font-family:"Inter",sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
  .cfield input,.cfield select,.cfield textarea{
    width:100%;padding:12px 0;border:none;border-bottom:1px solid var(--rule-strong);
    font-family:"Spectral",serif;font-size:1.08rem;color:var(--ink);background:transparent;transition:border-color .2s;
  }
  .cfield input::placeholder,.cfield textarea::placeholder{color:#A8A39A}
  .cfield input:focus,.cfield select:focus,.cfield textarea:focus{outline:none;border-bottom-color:var(--oxblood)}
  .cfield textarea{resize:vertical;min-height:80px}
  .cform button{
    font-family:"Inter",sans-serif;font-size:15px;font-weight:600;color:var(--paper);background:var(--ink);
    border:none;padding:15px 30px;cursor:pointer;transition:background .2s;display:inline-flex;align-items:center;gap:9px;margin-top:8px;
  }
  .cform button:hover{background:var(--oxblood)}

  /* ---------- footer ---------- */
  footer{background:var(--ink);color:#A8A39A;padding:66px 0 32px;border-top:1px solid rgba(255,255,255,.1)}
  .foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:48px;padding-bottom:42px;border-bottom:1px solid rgba(255,255,255,.12)}
  .foot-brand .name{font-family:"Newsreader",serif;font-size:23px;font-weight:600;letter-spacing:.01em;color:var(--paper);padding-bottom:5px;border-bottom:2.5px solid var(--oxblood);line-height:1;display:inline-block}
  .foot-brand p{font-family:"Spectral",serif;font-size:1.02rem;max-width:32ch;line-height:1.55;color:#9A958C;margin-top:16px}
  .foot-col h4{font-family:"Inter",sans-serif;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:#7A766E;margin-bottom:18px;font-weight:600}
  .foot-col a{display:block;font-family:"Inter",sans-serif;font-size:14.5px;color:#BBB6AD;margin-bottom:12px;transition:color .2s}
  .foot-col a:hover{color:var(--paper)}
  .foot-bottom{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:16px;padding-top:28px;font-family:"Inter",sans-serif;font-size:13px;color:#7A766E}
  .foot-bottom .legal{display:flex;gap:24px;flex-wrap:wrap}
  .foot-bottom a:hover{color:#BBB6AD}
  .adv{color:#6A675F;letter-spacing:.02em}

  /* ---------- reveal ---------- */
  .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .reveal.in{opacity:1;transform:none}

  /* ---------- responsive ---------- */
  @media(max-width:880px){
    body{font-size:16px}
    .hero-top,.landmark-inner,.impact-grid,.mission-inner,.contact-grid,.about-grid,.foot-top{grid-template-columns:1fr}
    .hero-top{gap:30px;align-items:start}
    .landmark-inner{gap:14px}
    .impact-grid{border-top:none}
    .case,.case:nth-child(odd),.case:nth-child(even){border-right:none;padding:32px 0}
    .mission-inner{gap:20px}
    .mission .eyebrow{padding-top:0}
    .about-aside{border-left:none;border-top:1px solid rgba(255,255,255,.18);padding-left:0;padding-top:28px}
    .path{grid-template-columns:1fr;gap:14px;padding:34px 4px}
    .path::before{left:-20px}
    .path:hover{padding-left:14px}
    .path .idx{margin-top:0}
    .path .go{align-self:start}
    .nav-links{display:none}
    .burger{display:flex}
    .nav-links.open{
      display:flex;position:absolute;top:78px;left:0;right:0;flex-direction:column;gap:0;
      background:var(--paper);border-bottom:1px solid var(--rule);padding:6px 36px 22px;
    }
    .nav-links.open ul{flex-direction:column;align-items:stretch;gap:0;width:100%}
    .nav-links.open a{padding:14px 0;border-bottom:1px solid var(--rule);width:100%;display:block}
    section{padding:64px 0}
    .hero{padding:54px 0 0}
    .mission{padding:72px 0}
  }
  @media(prefers-reduced-motion:reduce){
    *{transition:none!important;scroll-behavior:auto!important}
    .reveal{opacity:1;transform:none}
  }
  /* ============================================================
     INTERIOR PAGE STYLES
     ============================================================ */

  /* page header (interior hero) */
  .page-head{padding:72px 0 0;border-bottom:1px solid var(--rule)}
  .page-head .inner{padding-bottom:56px;max-width:74ch}
  .page-head .eyebrow{display:block;margin-bottom:20px}
  .page-head h1{font-size:clamp(2.4rem,5vw,3.9rem);font-weight:500;letter-spacing:-.02em;line-height:1.06}
  .page-head .standfirst{font-family:"Spectral",serif;font-size:clamp(1.2rem,1.9vw,1.5rem);color:var(--ink-2);line-height:1.45;margin-top:26px;max-width:50ch}

  /* breadcrumb */
  .crumb{font-family:"Inter",sans-serif;font-size:13px;letter-spacing:.02em;color:var(--muted);padding:26px 0 0}
  .crumb a{color:var(--muted);border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
  .crumb a:hover{color:var(--oxblood);border-bottom-color:var(--oxblood)}
  .crumb .sep{margin:0 9px;color:var(--rule-strong)}

  /* article / prose body */
  .prose{max-width:70ch}
  .prose p{font-family:"Spectral",serif;font-size:1.16rem;line-height:1.62;color:var(--ink-2);margin-bottom:24px}
  .prose p strong{color:var(--ink);font-weight:600}
  .prose a.inline{color:var(--oxblood);border-bottom:1px solid var(--rule-strong);transition:border-color .2s}
  .prose a.inline:hover{border-bottom-color:var(--oxblood)}
  .prose h2{font-family:"Newsreader",serif;font-size:1.7rem;font-weight:500;letter-spacing:-.012em;margin:46px 0 18px;color:var(--ink)}
  .prose h3{font-family:"Newsreader",serif;font-size:1.35rem;font-weight:500;margin:38px 0 14px;color:var(--ink)}

  /* service list (checklist of offerings) */
  .offer-list{list-style:none;margin:8px 0 28px;padding:0}
  .offer-list li{
    font-family:"Spectral",serif;font-size:1.1rem;line-height:1.5;color:var(--ink-2);
    padding:16px 0 16px 30px;border-bottom:1px solid var(--rule);position:relative;
  }
  .offer-list li::before{content:"";position:absolute;left:0;top:24px;width:7px;height:7px;background:var(--oxblood)}
  .offer-list li:last-child{border-bottom:none}

  /* two-column layout: body + aside */
  .split{display:grid;grid-template-columns:1.7fr 1fr;gap:64px;align-items:start}
  .aside-card{border-top:1px solid var(--ink);padding-top:26px;position:sticky;top:104px}
  .aside-card h4{font-family:"Inter",sans-serif;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:18px}
  .aside-nav a{
    display:flex;align-items:baseline;gap:12px;font-family:"Newsreader",serif;font-size:1.18rem;color:var(--ink-2);
    padding:14px 0;border-bottom:1px solid var(--rule);transition:color .2s,padding-left .2s var(--ease)
  }
  .aside-nav a .n{font-family:"Inter",sans-serif;font-size:12px;font-weight:600;color:var(--muted)}
  .aside-nav a:hover{color:var(--oxblood);padding-left:6px}
  .aside-nav a.current{color:var(--oxblood);font-weight:500}
  .aside-nav a.current .n{color:var(--oxblood)}

  /* client / org list */
  .org-list{display:flex;flex-direction:column;gap:0;margin-top:8px}
  .org-list a{
    font-family:"Newsreader",serif;font-size:1.3rem;color:var(--ink);padding:18px 0;
    border-bottom:1px solid var(--rule);transition:color .2s,padding-left .2s var(--ease);
    display:flex;justify-content:space-between;align-items:center;
  }
  .org-list a::after{content:"\2197";font-size:.95rem;color:var(--muted);transition:color .2s,transform .2s var(--ease)}
  .org-list a:hover{color:var(--oxblood);padding-left:6px}
  .org-list a:hover::after{color:var(--oxblood);transform:translate(2px,-2px)}

  /* bio / founder layout */
  .bio-top{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:start;padding:64px 0;border-bottom:1px solid var(--rule)}
  .bio-portrait{width:100%;height:auto;aspect-ratio:4/5;background:var(--paper-2);border:1px solid var(--rule);object-fit:cover;object-position:center top;display:block}
  .bio-portrait-ph{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-family:"Inter",sans-serif;font-size:13px;letter-spacing:.04em;padding:24px}
  .bio-name{font-family:"Newsreader",serif;font-size:clamp(2.2rem,4vw,3.2rem);font-weight:500;letter-spacing:-.018em;line-height:1.04}
  .bio-role{font-family:"Spectral",serif;font-style:italic;font-size:1.3rem;color:var(--oxblood);margin:10px 0 28px}
  .bio-lede{font-family:"Spectral",serif;font-size:1.18rem;line-height:1.6;color:var(--ink-2)}

  /* credentials grid */
  .creds{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule-strong);margin-top:0}
  .cred-col{padding:36px 32px 36px 0;border-bottom:1px solid var(--rule)}
  .cred-col:not(:last-child){border-right:1px solid var(--rule);padding-right:32px}
  .cred-col h4{font-family:"Inter",sans-serif;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--oxblood);font-weight:600;margin-bottom:18px}
  .cred-col ul{list-style:none;padding:0;margin:0}
  .cred-col li{font-family:"Spectral",serif;font-size:1.04rem;line-height:1.4;color:var(--ink-2);padding:7px 0}
  .cred-col li .yr{color:var(--muted);font-size:.92rem}

  /* representations */
  .reps{margin-top:8px}
  .rep-group{padding:30px 0;border-bottom:1px solid var(--rule)}
  .rep-group:first-child{border-top:1px solid var(--rule-strong)}
  .rep-group h3{font-family:"Newsreader",serif;font-size:1.4rem;font-weight:500;margin-bottom:6px}
  .rep-group .rep-sub{font-family:"Inter",sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--oxblood);font-weight:600;margin:18px 0 8px}
  .rep-group .rep-cases{font-family:"Spectral",serif;font-size:1.06rem;line-height:1.7;color:var(--ink-2)}
  .rep-group .rep-cases em{font-style:italic}

  /* speaking list */
  .speaking{columns:2;column-gap:48px;margin-top:8px}
  .speaking .item{
    break-inside:avoid;padding:13px 0;border-bottom:1px solid var(--rule);
    font-family:"Spectral",serif;font-size:1.04rem;color:var(--ink-2);display:flex;justify-content:space-between;gap:16px;
  }
  .speaking .item .yr{font-family:"Inter",sans-serif;font-size:12.5px;color:var(--muted);white-space:nowrap;padding-top:3px}

  /* news list */
  .news-filters{display:flex;flex-wrap:wrap;gap:8px 10px;padding:32px 0 0;border-bottom:1px solid var(--rule);padding-bottom:32px}
  .news-filters button{
    font-family:"Inter",sans-serif;font-size:13.5px;font-weight:500;color:var(--ink-2);
    background:transparent;border:1px solid var(--rule-strong);padding:9px 18px;border-radius:0;cursor:pointer;
    transition:all .2s;
  }
  .news-filters button:hover{border-color:var(--ink);color:var(--ink)}
  .news-filters button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .news-item{
    display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:baseline;
    padding:32px 4px;border-bottom:1px solid var(--rule);transition:padding-left .3s var(--ease);position:relative;
  }
  .news-item::before{content:"";position:absolute;left:-36px;top:0;bottom:-1px;width:3px;background:var(--oxblood);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
  .news-item:hover::before{transform:scaleY(1)}
  .news-item:hover{padding-left:18px}
  .news-date{font-family:"Inter",sans-serif;font-size:13px;color:var(--muted);white-space:nowrap;letter-spacing:.02em;padding-top:5px;min-width:96px}
  .news-body h3{font-family:"Newsreader",serif;font-size:1.4rem;font-weight:500;line-height:1.22;margin-bottom:8px}
  .news-body .meta{font-family:"Spectral",serif;font-style:italic;font-size:1rem;color:var(--ink-2)}
  .news-body .cat{display:inline-block;font-family:"Inter",sans-serif;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--oxblood);margin-bottom:10px}
  .news-item .read{font-family:"Inter",sans-serif;font-size:13.5px;font-weight:600;white-space:nowrap;color:var(--ink);align-self:center;display:inline-flex;align-items:center;gap:7px;border-bottom:1.5px solid transparent;padding-bottom:2px;transition:border-color .2s,gap .2s var(--ease)}
  .news-item:hover .read{border-bottom-color:var(--oxblood);gap:11px}

  /* contact page specifics */
  .confidential{font-family:"Inter",sans-serif;font-size:13px;letter-spacing:.04em;color:var(--oxblood);font-weight:600;display:inline-flex;align-items:center;gap:9px;margin-bottom:8px}
  .confidential::before{content:"";width:7px;height:7px;background:var(--oxblood);border-radius:50%}

  /* interior responsive */
  @media(max-width:880px){
    .split,.bio-top,.creds{grid-template-columns:1fr}
    .aside-card{position:static;border-top:1px solid var(--rule);margin-top:8px}
    .cred-col,.cred-col:not(:last-child){border-right:none;padding-right:0;padding-left:0}
    .speaking{columns:1}
    .news-item{grid-template-columns:1fr;gap:10px;padding:26px 4px}
    .news-item::before{left:-20px}
    .news-date{padding-top:0}
    .news-item .read{align-self:start}
    .page-head{padding:48px 0 0}
    .bio-top{padding:44px 0}
  }

  /* ============================================================
     CLASS NOTICES PAGE
     ============================================================ */
  .notice-intro{max-width:70ch;margin-bottom:8px}
  .notice-intro p{font-family:"Spectral",serif;font-size:1.16rem;line-height:1.62;color:var(--ink-2);margin-bottom:20px}
  .notice-case{padding:8px 0 0;margin-top:48px;border-top:2px solid var(--ink)}
  .notice-case:first-of-type{margin-top:36px}
  .notice-case > .case-name{font-family:"Newsreader",serif;font-size:1.9rem;font-weight:500;font-style:italic;letter-spacing:-.01em;margin:22px 0 6px}
  .notice-case > .case-court{font-family:"Inter",sans-serif;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:24px}
  .notice-doc{
    display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:baseline;
    padding:22px 4px;border-bottom:1px solid var(--rule);transition:padding-left .3s var(--ease);position:relative;
  }
  .notice-doc::before{content:"";position:absolute;left:-24px;top:0;bottom:-1px;width:3px;background:var(--oxblood);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
  .notice-doc:hover::before{transform:scaleY(1)}
  .notice-doc:hover{padding-left:14px}
  .notice-doc .doc-icon{font-family:"Newsreader",serif;color:var(--muted);font-size:1.1rem;padding-top:2px}
  .notice-doc .doc-title{font-family:"Newsreader",serif;font-size:1.22rem;font-weight:500;line-height:1.3;color:var(--ink)}
  .notice-doc .doc-meta{font-family:"Spectral",serif;font-style:italic;font-size:.98rem;color:var(--muted);margin-top:4px}
  .notice-doc .doc-link{font-family:"Inter",sans-serif;font-size:13.5px;font-weight:600;white-space:nowrap;color:var(--ink);align-self:center;display:inline-flex;align-items:center;gap:7px;border-bottom:1.5px solid transparent;padding-bottom:2px;transition:border-color .2s,gap .2s var(--ease)}
  .notice-doc:hover .doc-link{border-bottom-color:var(--oxblood);gap:11px}
  .notice-doc .doc-link.pending{color:var(--muted);font-weight:500;font-style:italic;border:none}
  .notice-disclaimer{margin-top:50px;padding:26px 28px;border:1px solid var(--rule);border-radius:4px;background:var(--paper-2);font-family:"Spectral",serif;font-size:1.02rem;line-height:1.55;color:var(--ink-2)}
  .notice-disclaimer strong{font-family:"Inter",sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--oxblood);font-weight:600;display:block;margin-bottom:8px}
  @media(max-width:880px){
    .notice-doc{grid-template-columns:1fr;gap:8px;padding:20px 4px}
    .notice-doc::before{left:-16px}
    .notice-doc .doc-icon{display:none}
    .notice-doc .doc-link{align-self:start}
  }

  /* ============================================================
     WPForms — style the plugin's contact form to match the site
     ============================================================ */
  .wpforms-styled .wpforms-form{margin:0}
  .wpforms-styled .wpforms-field{padding:0 0 22px 0}
  .wpforms-styled .wpforms-field-label,
  div[class*="wpforms-container"] .wpforms-field-label{
    font-family:"Inter",sans-serif !important;font-size:12.5px !important;font-weight:600 !important;
    letter-spacing:.04em !important;text-transform:uppercase !important;color:var(--muted) !important;
    margin-bottom:9px !important;line-height:1.4 !important;
  }
  .wpforms-styled .wpforms-required-label,
  div[class*="wpforms-container"] .wpforms-required-label{color:var(--oxblood) !important}
  /* text, email, textarea, select — underline style (override WPForms defaults) */
  .wpforms-styled input[type=text],
  .wpforms-styled input[type=email],
  .wpforms-styled input[type=tel],
  .wpforms-styled input[type=url],
  .wpforms-styled textarea,
  .wpforms-styled select,
  div[class*="wpforms-container"] input[type=text],
  div[class*="wpforms-container"] input[type=email],
  div[class*="wpforms-container"] input[type=tel],
  div[class*="wpforms-container"] textarea,
  div[class*="wpforms-container"] select{
    width:100% !important;padding:12px 0 !important;border:none !important;
    border-bottom:1px solid var(--rule-strong) !important;
    font-family:"Spectral",serif !important;font-size:1.08rem !important;color:var(--ink) !important;
    background:transparent !important;border-radius:0 !important;box-shadow:none !important;
  }
  .wpforms-styled input::placeholder,
  .wpforms-styled textarea::placeholder{color:#A8A39A}
  .wpforms-styled input:focus,
  .wpforms-styled textarea:focus,
  .wpforms-styled select:focus,
  div[class*="wpforms-container"] input:focus,
  div[class*="wpforms-container"] textarea:focus,
  div[class*="wpforms-container"] select:focus{
    outline:none !important;border-bottom-color:var(--oxblood) !important;box-shadow:none !important;
  }
  .wpforms-styled textarea{resize:vertical;min-height:90px}
  /* sub-labels (First/Last under name) */
  div[class*="wpforms-container"] .wpforms-field-sublabel{
    font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.03em;color:var(--muted);
    text-transform:uppercase;font-weight:500;margin-top:6px;
  }
  /* submit button — dark, matches .cform button */
  .wpforms-styled .wpforms-submit-container{margin-top:8px}
  .wpforms-styled button[type=submit],
  .wpforms-styled .wpforms-submit,
  div[class*="wpforms-container"] button[type=submit],
  div[class*="wpforms-container"] .wpforms-submit{
    font-family:"Inter",sans-serif !important;font-size:15px !important;font-weight:600 !important;
    color:var(--paper) !important;background:var(--ink) !important;border:none !important;
    border-radius:0 !important;padding:15px 30px !important;cursor:pointer;
    width:auto !important;text-transform:none !important;letter-spacing:0 !important;
  }
  .wpforms-styled button[type=submit]:hover,
  .wpforms-styled .wpforms-submit:hover,
  div[class*="wpforms-container"] button[type=submit]:hover,
  div[class*="wpforms-container"] .wpforms-submit:hover{background:var(--oxblood) !important}
  /* validation + confirmation messaging */
  .wpforms-error{
    font-family:"Inter",sans-serif;font-size:12.5px;color:var(--oxblood);margin-top:6px;
  }
  /* Override WPForms' default GREEN confirmation box with the site palette.
     Targeted broadly (and with !important) because WPForms' own CSS is specific
     and the confirmation can render outside the .wpforms-styled wrapper. */
  div.wpforms-confirmation-container-full,
  .wpforms-confirmation-container-full,
  .wpforms-styled .wpforms-confirmation-container-full,
  div[class*="wpforms-confirmation"]{
    font-family:"Spectral",serif !important;
    font-size:1.08rem !important;
    color:var(--ink-2) !important;
    background:var(--paper-2) !important;
    border:1px solid var(--rule) !important;
    border-left:3px solid var(--oxblood) !important;
    border-radius:0 !important;
    padding:22px 24px !important;
    line-height:1.55 !important;
  }
  div[class*="wpforms-confirmation"] p{margin:0;color:var(--ink-2)}

  /* ============================================================
     CONTACT (direct email, no form)
     ============================================================ */
  .contact-direct{max-width:680px;padding:8px 0 0}
  .contact-direct .confidential{display:inline-block}
  .contact-direct .contact-lede{
    font-family:"Spectral",serif;font-size:1.2rem;line-height:1.6;color:var(--ink-2);
    margin:20px 0 28px;max-width:30em;
  }
  .contact-direct .contact-email{
    display:inline-block;font-family:"Newsreader",serif;font-size:clamp(1.9rem,3.4vw,2.7rem);
    font-weight:500;color:var(--ink);letter-spacing:-.015em;line-height:1.1;
    padding-bottom:8px;border-bottom:2.5px solid var(--oxblood);transition:color .2s;
  }
  .contact-direct .contact-email:hover{color:var(--oxblood)}
  .contact-direct .contact-info{
    margin-top:44px;padding-top:26px;border-top:1px solid var(--rule);
    font-family:"Spectral",serif;font-size:1.05rem;line-height:1.7;color:var(--ink-2);
  }
  .contact-direct .contact-info .org{
    font-family:"Inter",sans-serif;font-size:13px;font-weight:600;letter-spacing:.04em;
    text-transform:uppercase;color:var(--ink);margin-bottom:10px;
  }
  .contact-direct .contact-info a{color:var(--oxblood);border-bottom:1px solid transparent;transition:border-color .2s}
  .contact-direct .contact-info a:hover{border-bottom-color:var(--oxblood)}
