
  * { box-sizing: border-box; margin: 0; padding: 0; }
  :root { --ink: #000; --plum: #4b3080; --violet: #7b5ea7; --lilac: #c8c3e8; --cream: #f3efe6; }
  html, body { overflow-x: hidden; }
  body { font-family: 'Switzer', system-ui, sans-serif; font-size: 14px; line-height: 1.55; color: #111; background: #fff; -webkit-font-smoothing: antialiased; }
  a { color: inherit; text-decoration: none; }
  .up { font-family: 'Switzer', 'Switzer', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .01em; text-transform: uppercase; }
  .mock { background: #fef3c7; color: #78350f; font-size: 11px; text-align: center; padding: 5px; }

  /* Masthead: edge to edge */
  .mast { padding: 6px 2vw 0; }
  .mast h1 { -webkit-text-stroke: 0.02em currentColor; font-family: 'Futura', 'Futura PT', 'Jost', sans-serif; font-weight: 500; font-size: 17vw; line-height: .9; letter-spacing: 0; color: var(--ink); text-align: right; margin-right: -.04em; white-space: nowrap; margin-top: .4vw; }
  .mast h1 .g { color: #8a8a8a; }
  .navrow { display: flex; justify-content: space-between; align-items: center; padding: 16px 0 0 0; }
  .navrow nav { gap: 26px !important; }
  .navrow nav { display: flex; gap: 22px; flex-wrap: wrap; }
  .navrow a:hover { color: var(--violet); }

  /* Moving strip of tiles */
  .strip { margin: 34px 0 0; overflow: hidden; background: #fff; padding: 10px 0 30px; }
  .strip .cap { text-align: center; font-size: 13px; color: #111; margin-top: 30px; letter-spacing: .01em; }
  .track { display: flex; align-items: center; gap: 30px; width: max-content; animation: slide 60s linear infinite; }
  .strip:hover .track { animation-play-state: paused; }
  @keyframes slide { to { transform: translateX(-50%); } }
  .tile { flex: none; display: flex; flex-direction: column; justify-content: space-between; padding: 12px; transition: transform .35s cubic-bezier(.2,.7,.2,1); box-shadow: 0 10px 24px rgba(0,0,0,.08); }
  .tile:hover { transform: rotate(-1.5deg) scale(1.03); }
  .tile .w { font-family: 'Jost', sans-serif; font-weight: 600; line-height: .9; letter-spacing: -0.02em; }
  .tile .s { font-size: 9.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
  .t1 { width: 160px; height: 210px; background: var(--ink); color: #fff; } .t1 .w { font-size: 34px; }
  .t2 { width: 230px; height: 170px; background: var(--lilac); color: var(--plum); } .t2 .w { font-size: 30px; }
  .t3 { width: 150px; height: 200px; background: var(--plum); color: var(--lilac); } .t3 .w { font-size: 32px; }
  .t4 { width: 220px; height: 165px; background: var(--cream); color: var(--ink); border: 1px solid var(--ink); } .t4 .w { font-size: 28px; }
  .t5 { width: 165px; height: 215px; background: var(--violet); color: #fff; } .t5 .w { font-size: 34px; }
  .t6 { width: 230px; height: 175px; background: var(--ink); color: var(--lilac); } .t6 .w { font-size: 28px; }
  .photo { width: 180px; height: 235px; position: relative; background: linear-gradient(160deg, var(--plum), var(--violet)); overflow: hidden; padding: 0; }
  .photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 54% 22%; filter: grayscale(100%) contrast(1.15) brightness(1.08); mix-blend-mode: screen; }
  .photo span { position: absolute; left: 10px; bottom: 10px; background: #fff; color: #000; padding: 3px 7px; font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }

  .bar { display: block; background: #2b2b2b; color: #fff; text-align: center; padding: 9px 16px; font-family: 'Switzer', 'Switzer', sans-serif; font-size: 14px; font-weight: 500; margin: 14px 0 0; border-radius: 3px; letter-spacing: .04em; transition: background .25s; }
  .bar:hover { background: var(--plum); }

  .wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
  .intro { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; padding: 44px 0 36px; align-items: end; }
  .intro h2 { font-family: 'Jost', sans-serif; font-weight: 500; font-size: 44px; line-height: 1; letter-spacing: -0.02em; }
  .intro h2 b { color: var(--violet); font-weight: 500; }
  .intro p { font-size: 14px; color: #333; margin-bottom: 14px; }
  .btns { display: flex; gap: 8px; flex-wrap: wrap; }
  .btn { display: inline-flex; padding: 10px 15px; border: 1px solid #000; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; transition: background .2s, color .2s, border-color .2s; }
  .btn.solid { background: #000; color: #fff; }
  .btn:hover { background: var(--violet); border-color: var(--violet); color: #fff; }

  .cred { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #000; border-bottom: 1px solid #000; }
  .cred div { padding: 12px 14px 14px 0; }
  .cred div + div { border-left: 1px solid #ddd; padding-left: 14px; }
  .cred .k { color: #777; }
  .cred p { font-size: 13px; margin-top: 3px; }

  .portal { display: grid; grid-template-columns: 1fr 1.25fr; gap: 28px; align-items: center; padding: 44px 0; }
  .portal h3 { font-family: 'Jost', sans-serif; font-weight: 500; font-size: 30px; line-height: 1.05; margin: 8px 0 12px; }
  .portal ul { list-style: none; margin-bottom: 16px; }
  .portal li { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid #e5e5e5; font-size: 13px; }
  .portal li span { color: #777; }
  .app { background: #fff; color: #333; overflow: hidden; border: 1px solid #e6e6e6; border-radius: 14px; box-shadow: 0 18px 40px rgba(0,0,0,.06); }
  .app:hover { transform: none; }
  .app .top { display: flex; gap: 6px; align-items: center; padding: 9px 12px; border-bottom: 1px solid #eee; font-size: 11px; color: #999; background: #fafafa; }
  .app .top i { width: 8px; height: 8px; border-radius: 50%; background: #ddd; }
  .app .body { padding: 16px; }
  .mh { display: flex; justify-content: space-between; align-items: start; }
  .mt { font-family: 'Jost', sans-serif; font-size: 19px; color: #111; }
  .pill { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--plum); background: #efeaf8; border-radius: 99px; padding: 4px 9px; }
  .trk { display: grid; grid-template-columns: repeat(5, 1fr); margin: 14px 0 12px; }
  .trk div { font-size: 10px; color: #aaa; position: relative; padding-top: 14px; }
  .trk div::after { content: ""; position: absolute; top: 3px; left: 8px; right: 0; height: 1px; background: #e2e2e2; }
  .trk div:last-child::after { display: none; }
  .trk i { position: absolute; top: 0; left: 0; width: 8px; height: 8px; border-radius: 50%; background: #e2e2e2; }
  .trk .ok { color: #555; } .trk .ok i, .trk .ok::after { background: #111; }
  .trk .now { color: var(--plum); font-weight: 600; } .trk .now i { background: var(--violet); box-shadow: 0 0 0 3px rgba(123,94,167,.25); }
  .msg { display: flex; gap: 8px; margin-bottom: 12px; }
  .av { width: 26px; height: 26px; border-radius: 50%; background: var(--violet); color: #fff; font-size: 10px; font-weight: 700; display: grid; place-items: center; flex: none; }
  .bub { background: #f4f4f4; font-size: 12px; padding: 8px 10px; border-radius: 3px 10px 10px 10px; }
  .rw { display: flex; justify-content: space-between; font-size: 12px; padding: 7px 0; border-top: 1px solid #222; }
  .rw em { font-style: normal; color: #888; } .rw a { color: var(--lilac); }
  .illus { font-size: 10px; color: #888; text-align: right; margin-top: 8px; }

  .quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid #000; }
  .quotes div { padding: 16px 18px 18px 0; }
  .quotes div + div { border-left: 1px solid #ddd; padding-left: 18px; }
  .quotes p { font-family: 'Jost', sans-serif; font-size: 17px; line-height: 1.3; margin-bottom: 10px; }
  .quotes .who { color: #777; }

  .members { display: block; background: var(--plum); color: #fff; margin-top: 40px; }
  .members .wrap { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 24px; flex-wrap: wrap; }
  .members b { font-family: 'Jost', sans-serif; font-size: 24px; font-weight: 500; }
  .members span.d { color: var(--lilac); font-size: 13px; }
  .members:hover { background: var(--violet); }

  .mini { max-width: 760px; margin: 0 auto; padding: 56px 24px 0; text-align: center; }
  .mini .line { font-family: 'Jost', sans-serif; font-weight: 500; font-size: 22px; line-height: 1.1; letter-spacing: -0.01em; margin-bottom: 20px; }
  .mini .line b { color: var(--violet); font-weight: 500; }
  .portalmini { padding-bottom: 80px; }
  .portalmini .app { text-align: left; max-width: 560px; margin: 0 auto; transform: none; }
  footer .wrap { padding-top: 30px; }
  .hello { max-width: 880px; margin: 0 auto; padding: 56px 24px 0; display: grid; grid-template-columns: 1fr 230px; gap: 36px; align-items: center; }
  .hello .me { order: 2; }
  .hello .say { text-align: right; }
  .hello .say .btns { justify-content: flex-end; }
  .me { display: block; position: relative; height: 290px; background: linear-gradient(160deg, var(--plum), var(--violet)); overflow: hidden; box-shadow: 0 14px 30px rgba(0,0,0,.08); }
  .me img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 54% 22%; filter: grayscale(100%) contrast(1.15) brightness(1.08); mix-blend-mode: screen; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
  .me:hover img { transform: scale(1.04); }
  .say .line { font-family: 'Jost', sans-serif; font-weight: 500; font-size: 30px; line-height: 1.08; letter-spacing: -0.01em; margin-bottom: 10px; }
  .say .line b { color: var(--violet); font-weight: 500; }
  .say .who { font-size: 13px; color: #666; margin-bottom: 18px; }
  .say .who a { color: #111; border-bottom: 1px solid #111; }
  @media (max-width: 760px) { .hello { grid-template-columns: 1fr; text-align: center; } .me { max-width: 260px; margin: 0 auto; } .say .btns { justify-content: center; } }
  .pt { max-width: 1240px; margin: 0 auto; padding: 70px 2vw 90px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 48px; align-items: center; }
  .pt-copy h3 { font-family: 'Jost', sans-serif; font-weight: 500; font-size: 34px; line-height: 1.05; letter-spacing: -0.01em; margin: 10px 0 18px; }
  .pt-copy h3 b { color: var(--violet); font-weight: 500; }
  .pt-copy ul { list-style: none; margin-bottom: 22px; }
  .pt-copy li { display: flex; gap: 14px; padding: 8px 0; border-bottom: 1px solid #eee; font-size: 14px; }
  .pt-copy li span { font-size: 11px; font-weight: 700; color: var(--violet); padding-top: 2px; }
  .win { background: #fff; border: 1px solid #e6e6e6; border-radius: 14px; overflow: hidden; box-shadow: 0 30px 60px rgba(75,48,128,.12), 0 2px 6px rgba(0,0,0,.04); }
  .wbar { display: flex; align-items: center; gap: 6px; padding: 10px 14px; background: #fafafa; border-bottom: 1px solid #eee; }
  .wbar i { width: 9px; height: 9px; border-radius: 50%; background: #e2e2e2; }
  .wbar span { margin-left: 10px; font-size: 11px; color: #999; }
  .wbody { display: grid; grid-template-columns: 150px 1fr; min-height: 330px; }
  .wbody aside { background: #f7f6fa; border-right: 1px solid #eee; padding: 16px 12px; display: flex; flex-direction: column; gap: 4px; }
  .brandmini { font-family: 'Futura', 'Jost', sans-serif; font-weight: 500; font-size: 20px; margin: 0 0 14px 6px; }
  .wbody aside a { font-size: 13px; color: #555; padding: 7px 8px; border-radius: 6px; display: flex; justify-content: space-between; }
  .wbody aside a.on { background: #fff; color: #111; font-weight: 600; box-shadow: 0 1px 2px rgba(0,0,0,.05); }
  .wbody aside em { font-style: normal; background: var(--violet); color: #fff; font-size: 10px; border-radius: 99px; padding: 0 6px; }
  .wbody main { padding: 18px 20px; }
  .mrow { display: flex; justify-content: space-between; align-items: start; gap: 10px; }
  .tiny { font-size: 10px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #999; }
  .mtitle { font-family: 'Jost', sans-serif; font-size: 21px; color: #111; margin-top: 2px; }
  .pill { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--plum); background: #efeaf8; border-radius: 99px; padding: 4px 10px; white-space: nowrap; }
  .steps5 { display: grid; grid-template-columns: repeat(5, 1fr); margin: 18px 0 16px; }
  .steps5 .s { font-size: 10px; color: #aaa; position: relative; padding-top: 15px; }
  .steps5 .s i { position: absolute; top: 0; left: 0; width: 9px; height: 9px; border-radius: 50%; background: #e2e2e2; z-index: 1; }
  .steps5 .s::after { content: ""; position: absolute; top: 4px; left: 9px; right: 0; height: 1px; background: #e2e2e2; }
  .steps5 .s:last-child::after { display: none; }
  .steps5 .s:nth-child(-n+3) { color: #444; } .steps5 .s:nth-child(-n+3) i, .steps5 .s:nth-child(-n+3)::after { background: #111; }
  .steps5 .s:nth-child(4) { color: var(--plum); font-weight: 600; }
  .steps5 .s:nth-child(4) i { background: var(--violet); animation: ping 2s infinite; }
  @keyframes ping { 0% { box-shadow: 0 0 0 0 rgba(123,94,167,.45); } 70% { box-shadow: 0 0 0 8px rgba(123,94,167,0); } 100% { box-shadow: 0 0 0 0 rgba(123,94,167,0); } }
  .chat { display: flex; gap: 10px; align-items: start; margin-bottom: 14px; }
  .av { width: 28px; height: 28px; border-radius: 50%; background: var(--violet); color: #fff; font-size: 10px; font-weight: 700; display: grid; place-items: center; flex: none; }
  .bubble { background: #f4f2f8; font-size: 12.5px; line-height: 1.5; padding: 9px 12px; border-radius: 4px 12px 12px 12px; min-height: 36px; position: relative; }
  .bubble .typing { display: inline-flex; gap: 4px; }
  .bubble .typing b { width: 5px; height: 5px; border-radius: 50%; background: #aaa; animation: dot 1s infinite; }
  .bubble .typing b:nth-child(2) { animation-delay: .15s; } .bubble .typing b:nth-child(3) { animation-delay: .3s; }
  .bubble .text { display: none; }
  .bubble.done .typing { display: none; } .bubble.done .text { display: inline; }
  @keyframes dot { 50% { transform: translateY(-3px); opacity: .5; } }
  @keyframes hide { to { display: none; width: 0; height: 0; overflow: hidden; } }
  @keyframes show { to { display: inline; } }
  .docs .doc { display: grid; grid-template-columns: 34px 1fr auto; gap: 10px; align-items: center; padding: 9px 0; border-top: 1px solid #f0f0f0; }
  .docs .ic { width: 34px; height: 40px; border: 1px solid #e3e3e3; border-radius: 4px; font-size: 9px; font-weight: 700; color: var(--plum); display: grid; place-items: end center; padding-bottom: 5px; }
  .docs b { font-size: 12.5px; font-weight: 600; color: #111; display: block; }
  .docs small { font-size: 11px; color: #999; }
  .docs .sign { font-size: 11px; font-weight: 700; color: #fff; background: #111; padding: 6px 12px; border-radius: 99px; cursor: default; }
  .docs .ok { color: var(--violet); font-weight: 700; }
  .pt .illus { font-size: 10px; color: #999; text-align: right; margin-top: 10px; }
  @media (max-width: 900px) { .pt { grid-template-columns: 1fr; } .wbody { grid-template-columns: 1fr; } .wbody aside { display: none; } }
  footer { background: #000; color: #fff; }
  footer .wrap { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 20px; padding: 34px 24px 20px; }
  footer .brand { font-family: 'Futura', 'Futura PT', 'Jost', sans-serif; font-size: 30px; font-weight: 600; letter-spacing: -0.02em; }
  footer ul { list-style: none; }
  footer li { margin-bottom: 7px; }
  footer a:hover { color: var(--lilac); }
  footer .base { grid-column: 1 / -1; display: flex; justify-content: space-between; padding-top: 22px; }
  .float { position: fixed; right: 16px; bottom: 16px; background: #fff; color: #000; box-shadow: 0 6px 22px rgba(0,0,0,.15); padding: 10px 16px; font-size: 13px; font-weight: 600; border-radius: 4px; }
  .float:hover { background: #000; color: #fff; }

  @media (prefers-reduced-motion: reduce) { .track { animation: none; } }
  @media (max-width: 900px) {
    .navrow { flex-direction: column; gap: 10px; padding: 12px 16px 0; }
    .navrow nav { justify-content: center; gap: 12px; }
    .intro, .portal { grid-template-columns: 1fr; gap: 20px; }
    .intro h2 { font-size: 34px; }
    .cred, .quotes { grid-template-columns: 1fr 1fr; }
    .quotes { grid-template-columns: 1fr; }
    .quotes div + div { border-left: 0; padding-left: 0; border-top: 1px solid #ddd; }
    footer .wrap { grid-template-columns: 1fr 1fr; }
  }

  /* Inner pages */
  .mast.small h1 { font-size: 8.2vw; }
  .mast.small .navrow { padding-top: 10px; }
  .page { max-width: 1100px; margin: 0 auto; padding: 24px 2vw 44px; }
  .ptitle { font-family: 'Jost', sans-serif; font-weight: 700; font-size: clamp(34px, 4.8vw, 62px); line-height: .95; letter-spacing: -0.045em; color: #000; margin-bottom: 14px; }
  .ptitle .soft { color: #8a8a8a; }
  .ptitle .wd { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; }
  .ptitle .wd > span { display: inline-block; transform: translateY(105%); animation: rise .9s cubic-bezier(.2,.8,.2,1) forwards; }
  @keyframes rise { to { transform: none; } }
  .lede { font-size: 15px; line-height: 1.55; color: #333; max-width: 600px; margin-bottom: 16px; }
  .kick { font-family: 'Switzer', 'Switzer', sans-serif; font-size: 12px; font-weight: 700; text-transform: uppercase; color: #999; margin-bottom: 10px; }
  .prose { font-size: 15px; line-height: 1.7; color: #222; }
  .prose h2 { font-family: 'Jost', sans-serif; font-weight: 700; font-size: 26px; letter-spacing: -0.02em; margin: 34px 0 10px; color: #000; }
  .prose h3 { font-family: 'Jost', sans-serif; font-weight: 700; font-size: 19px; margin: 24px 0 8px; color: #000; }
  .prose h4 { font-size: 15px; margin: 18px 0 6px; }
  .prose p { margin-bottom: 12px; }
  .prose ul, .prose ol { margin: 0 0 14px 20px; }
  .prose li { margin-bottom: 5px; }
  .prose a { color: var(--violet); text-decoration: underline; text-underline-offset: 2px; }
  .prose table { border-collapse: collapse; width: 100%; margin: 10px 0 18px; font-size: 13px; }
  .prose td, .prose th { border: 1px solid #e5e5e5; padding: 8px 10px; text-align: left; vertical-align: top; }
  /* Numbered fold-out sections (from the engagement letter page, made compact) */
  details { border-bottom: 1px solid #e8e8e8; }
  details summary { list-style: none; cursor: pointer; display: flex; align-items: baseline; gap: 14px; padding: 13px 0; font-size: 15px; font-weight: 600; color: #000; }
  details summary::-webkit-details-marker { display: none; }
  details summary::after { content: "+"; margin-left: auto; font-weight: 400; color: #999; transition: transform .25s; }
  details[open] summary::after { transform: rotate(45deg); color: var(--violet); }
  details summary:hover { color: var(--violet); }
  .section-num { font-size: 11px; font-weight: 700; color: var(--violet); min-width: 20px; }
  details .section-body, details .details-inner, details > div { padding: 0 0 16px 34px; font-size: 14.5px; line-height: 1.7; color: #333; }
  .part-title, .legal h2 { font-family: 'Switzer', 'Switzer', sans-serif !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .06em !important; text-transform: uppercase; color: #999 !important; margin: 34px 0 4px !important; padding-top: 0 !important; border: 0 !important; }
  .legal .subtitle { color: #999; font-size: 13px; margin-bottom: 18px; }
  .legal .x-intro p { font-size: 15px; line-height: 1.7; margin-bottom: 10px; }
  .legal .highlight, .legal .sample-banner { background: #f6f3fb; border-left: 3px solid var(--violet); padding: 12px 14px; font-size: 13.5px; margin: 14px 0; }
  .legal > h1 { display: none; }
  .two { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
  .three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .lbl { font-family: 'Switzer', 'Switzer', sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; color: #999; margin-bottom: 8px; }
  .glist { list-style: none; }
  .glist li { padding: 6px 0; border-bottom: 1px solid #eee; font-size: 14px; }
  .note { font-size: 12px; color: #999; }
  .about-hero { display: grid; grid-template-columns: 1fr 220px; gap: 28px; align-items: center; }
  .about-hero .say { text-align: right; }
  .about-hero .lede { margin-left: auto; }
  .about-hero .btns { justify-content: flex-end; }
  .about-hero .who { font-size: 12.5px; color: #666; margin: -6px 0 14px; }
  .about-hero .me { height: 270px; }
  .ab-top { display: grid; grid-template-columns: 1.5fr 1fr; gap: 32px; align-items: end; margin-bottom: 14px; }
  .ab-title { font-size: clamp(38px, 5.2vw, 70px) !important; margin-bottom: 0 !important; }
  .ab-side p { font-size: 15px; line-height: 1.5; color: #333; margin-bottom: 10px; }
  .ab-banner { display: block; position: relative; height: 220px; overflow: hidden; background: linear-gradient(160deg, var(--plum), var(--violet)); }
  .ab-banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; filter: grayscale(100%) contrast(1.15) brightness(1.08); mix-blend-mode: screen; transform: scale(1.06); transition: transform 1.6s cubic-bezier(.2,.7,.2,1); }
  .ab-banner:hover img { transform: scale(1.02); }
  .cc .tagline { font-weight: 600; color: #000; margin: 0; }
  .bio { padding: 0 60px; }
  .bio-head { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-bottom: 6px; }
  .bio-head h2 { margin: 0 !important; }
  .bio .bio-intro { font-size: 15px !important; line-height: 1.6 !important; max-width: 860px; color: #222; margin-bottom: 14px !important; }
  .bio-text { margin-bottom: 12px; max-width: none; }
  .bio-text p { break-inside: avoid; margin-bottom: 8px !important; }
  .bio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .bb { background: #f6f4fa; padding: 14px 16px; }
  .bb ul { list-style: none; margin: 0 !important; }
  .bb li { font-size: 13px !important; line-height: 1.45; padding: 5px 0 !important; border-bottom: 1px solid #e6e1f0; }
  .bb li:last-child { border-bottom: 0; }
  .bb .lbl { color: var(--violet); }
  .bb.wide { grid-column: 1 / -1; background: var(--plum); color: #fff; }
  .bb.wide .lbl { color: var(--lilac); }
  .bb.wide ul { columns: 2; column-gap: 30px; }
  .bb.wide li { border-color: rgba(255,255,255,.15); color: #f1edf9; break-inside: avoid; }
  @media (max-width: 900px) { .bio { padding: 0; } .bio-text { columns: 1; } .bio-grid { grid-template-columns: 1fr; } .bb.wide ul { columns: 1; } }
  .cc .x-abio { columns: 2; column-gap: 36px; padding: 0 60px !important; }
  .cc .x-abio h2, .cc .x-abio .tagline { column-span: all; }
  .cc .x-abio p { font-size: 13.5px; line-height: 1.55; margin-bottom: 8px; break-inside: avoid-column; }
  .cc > div { margin-top: 0 !important; margin-bottom: 22px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
  .cc h2 { font-size: 20px !important; margin: 0 0 8px !important; }
  .cc li, .cc .x-cols li { padding-top: 3px !important; padding-bottom: 3px !important; font-size: 13.5px !important; }
  .cc .x-cols { margin: 4px 0 8px !important; gap: 22px !important; }
  @media (max-width: 900px) { .cc .x-abio { columns: 1; padding: 0 !important; } }
  @media (max-width: 900px) { .ab-top { grid-template-columns: 1fr; } .ab-banner { height: 240px; } }
  /* Compact About */
  .ab .ab-hero { display: grid; grid-template-columns: 1fr 200px; gap: 28px; align-items: end; }
  .ab .ab-title { font-size: clamp(30px, 3.6vw, 46px) !important; margin-bottom: 8px !important; }
  .ab .ab-lede { font-size: 14px; line-height: 1.5; color: #444; max-width: 520px; margin-bottom: 12px; }
  .ab .ab-photo { display: block; position: relative; height: 210px; overflow: hidden; background: linear-gradient(160deg, var(--plum), var(--violet)); }
  .ab .ab-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 55% 22%; filter: grayscale(100%) contrast(1.15) brightness(1.08); mix-blend-mode: screen; }
  .ab .cc, .ab .cc p, .ab .cc li { font-size: 13px !important; line-height: 1.5 !important; }
  .ab .cc h2 { font-size: 17px !important; margin: 0 0 6px !important; letter-spacing: -0.01em; }
  .ab .cc > div { margin-bottom: 16px !important; }
  .ab .bio { padding: 0; }
  .ab .bio-intro { font-size: 13.5px !important; margin-bottom: 10px !important; }
  .ab .bb { padding: 10px 12px; }
  .ab .bb li { font-size: 12.5px !important; padding: 3px 0 !important; }
  .ab .bio-grid { gap: 8px; }
  .ab .cc [class*="x-"] { padding-left: 0 !important; padding-right: 0 !important; max-width: none !important; }
  @media (max-width: 900px) { .ab .ab-hero { grid-template-columns: 1fr; } .ab .ab-photo { max-width: 220px; } }
  .logostrip { overflow: hidden; border-top: 1px solid #eee; border-bottom: 1px solid #eee; padding: 9px 0; margin-top: 4px; }
  .ltrack { display: flex; align-items: center; gap: 56px; width: max-content; animation: slide 45s linear infinite; }
  .logostrip:hover .ltrack { animation-play-state: paused; }
  .ltrack img { height: 20px; width: auto; filter: grayscale(100%); opacity: .6; transition: opacity .2s, filter .2s; }
  .ltrack img:hover { opacity: 1; filter: none; }
  .ltrack img.inv { filter: invert(1) grayscale(100%); }
  .ltrack img.inv:hover { filter: invert(1); }
  @media (max-width: 900px) { .about-hero { grid-template-columns: 1fr; } .about-hero .say { text-align: left; } .about-hero .btns { justify-content: flex-start; } }
  /* Services */
  .sgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
  .sgrid a { min-height: 190px; padding: 14px; display: flex; flex-direction: column; justify-content: space-between; transition: transform .3s cubic-bezier(.2,.7,.2,1); box-shadow: 0 10px 24px rgba(0,0,0,.06); }
  .sgrid a:hover { transform: translateY(-4px) rotate(-.6deg); }
  .sgrid .s { font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
  .sgrid .w { font-family: 'Jost', sans-serif; font-weight: 600; font-size: 25px; line-height: 1; letter-spacing: -0.01em; }
  .c1 { background: #000; color: #fff; } .c2 { background: var(--lilac); color: var(--plum); } .c3 { background: var(--plum); color: var(--lilac); } .c4 { background: var(--cream); color: #000; border: 1px solid #000; }
  .c5 { background: var(--violet); color: #fff; } .c6 { background: #000; color: var(--lilac); } .c7 { background: #f2f2f2; color: #000; } .c8 { background: var(--lilac); color: #000; }
  .svc-hero { display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: start; }
  .quote { border-left: 3px solid var(--violet); padding: 6px 0 6px 16px; font-family: 'Jost', sans-serif; font-size: 20px; line-height: 1.3; color: #000; }
  .quote small { display: block; font-family: 'Switzer', 'Switzer', sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; color: #999; margin-top: 8px; }
  .related { display: flex; gap: 10px; flex-wrap: wrap; }
  .related a { border: 1px solid #000; padding: 8px 12px; font-size: 12px; font-weight: 600; }
  .related a:hover { background: #000; color: #fff; }
  /* Insights, in the style of artcryption.com/blog */
  .feature { display: block; position: relative; height: 380px; overflow: hidden; background: linear-gradient(135deg, var(--plum), var(--violet) 60%, var(--lilac)); color: #fff; text-align: center; }
  .feature .in { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 30px; }
  .feature .cat { font-size: 15px; font-weight: 600; margin-bottom: 12px; }
  .feature h2 { font-family: 'Jost', sans-serif; font-weight: 600; font-size: clamp(32px, 4.6vw, 56px); line-height: 1.02; letter-spacing: -0.03em; max-width: 860px; }
  .feature .sub { font-size: 15px; font-weight: 500; margin-top: 16px; opacity: .9; }
  .feature::after { content: ""; position: absolute; right: -80px; bottom: -80px; width: 320px; height: 320px; border-radius: 50%; background: rgba(255,255,255,.08); }
  .latest-h { text-align: center; font-family: 'Jost', sans-serif; font-weight: 600; font-size: 30px; margin: 46px 0 26px; letter-spacing: -0.02em; }
  .pgrid4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px 22px; }
  .card .cover { aspect-ratio: 1.38; display: flex; align-items: flex-end; padding: 14px; font-family: 'Jost', sans-serif; font-weight: 600; font-size: 22px; line-height: 1; margin-bottom: 12px; transition: filter .3s; }
  .card:hover .cover { filter: brightness(1.08); }
  .card .cat { font-size: 11px; color: #111; margin-bottom: 4px; }
  .card h3 { font-family: 'Switzer', sans-serif; font-weight: 500; font-size: 18px; line-height: 1.25; color: #000; margin-bottom: 6px; }
  .card:hover h3 { color: var(--violet); }
  .card .meta { font-size: 12px; color: #999; }
  .article { max-width: 760px; margin: 0 auto; }
  .article .meta { font-size: 13px; color: #999; margin-bottom: 26px; }
  /* Forms */
  .form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .form label { font-family: 'Switzer', 'Switzer', sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; color: #777; display: block; margin-bottom: 5px; }
  .form input, .form select, .form textarea { width: 100%; border: 1px solid #ddd; padding: 11px 12px; font: inherit; font-size: 14px; background: #fff; border-radius: 0; }
  .form input:focus, .form select:focus, .form textarea:focus { outline: none; border-color: var(--violet); }
  .form .full { grid-column: 1 / -1; }
  /* Code blocks brought over from Framer code components */
  .cc .btns { margin: 14px 0; }
  .cc .btn.primary { background: #000; color: #fff; }
  .cc h2 { font-family: 'Jost', sans-serif; font-weight: 700; font-size: 24px; letter-spacing: -0.02em; margin: 34px 0 10px; }
  .cc h3 { font-size: 17px; font-weight: 700; margin: 20px 0 6px; }
  .cc p { font-size: 15px; line-height: 1.7; margin-bottom: 10px; color: #222; }
  .cc ul, .cc ol { margin: 0 0 12px 20px; font-size: 15px; line-height: 1.65; }
  .cc a { color: var(--violet); }
  .cc img { max-width: 100%; height: auto; }
  .cc .x-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 8px 0 18px; }
  .cc .x-cols h3 { margin-top: 6px; }
  .cc .x-cols ul { list-style: none; margin-left: 0; }
  .cc .x-cols li { padding: 5px 0; border-bottom: 1px solid #eee; font-size: 14px; }
  .cc .x-lawyer { display: grid; grid-template-columns: 180px 1fr; gap: 24px; align-items: start; border-top: 1px solid #000; padding-top: 18px; margin: 26px 0; }
  .cc .x-kicker { font-family: 'Switzer','Inter',sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; color: #999; margin: 0; }
  .cc .x-name { font-family: 'Jost', sans-serif; font-size: 26px; color: #000; margin: 2px 0 4px; }
  .cc .x-qa { border-top: 1px solid #eee; padding-top: 6px; }
  @media (max-width: 900px) { .cc .x-cols, .cc .x-lawyer { grid-template-columns: 1fr; } }
  @media (max-width: 900px) {
    .two, .three, .svc-hero, .form { grid-template-columns: 1fr; }
    .sgrid, .pgrid4 { grid-template-columns: 1fr 1fr; }
    .mast.small h1 { font-size: 13vw; }
  }
  .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
  .ways { display: grid; gap: 14px; }
  .way { border: 1px solid #e6e6e6; padding: 22px 24px; background: #fff; }
  .way h3 { font-family: 'Jost', sans-serif; font-weight: 700; font-size: 22px; letter-spacing: -0.02em; margin: 4px 0 8px; color: #000; }
  .way p { font-size: 15px; line-height: 1.55; color: #333; margin-bottom: 14px; }
  /* New outlined wordmark (custom Jost) with italic 'law firm' */
  .mast h1 { font-size: 0 !important; -webkit-text-stroke: 0 !important; margin: .4vw 0 0 !important; text-align: right; }
  .mast h1 .wm { display: block; width: 100%; height: auto; color: #000; overflow: visible; }
  .mast h1 .wm g { transform-box: fill-box; }
  .mast h1 .lf, footer .brand .lf { display: block; text-align: right; font-family: 'Cormorant Garamond', Georgia, serif !important; font-style: italic; font-weight: 500; color: #6f6f6f; letter-spacing: 0 !important; }
  .mast h1 .lf { font-size: 3.4vw; line-height: 1; margin: -.6vw .3vw 0 0; }
  footer .brand { display: inline-block; width: 210px; font-size: 0 !important; }
  footer .brand .wm { display: block; width: 100%; height: auto; color: #fff; }
  footer .brand .lf { font-size: 22px; line-height: 1; margin-top: -2px; color: #cfcfcf; }
  @media (max-width: 760px) { .mast h1 .lf { font-size: 5vw; } }

/* Original page layouts, scoped */
.cc .x-pra-wrap{ width: 100%; container-type: inline-size; }
.cc .x-pra{
    Switzer&#x27;, -apple-system, BlinkMacSystemFont, sans-serif;
    color: #030712;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 60px 0 60px;
    box-sizing: border-box;
  }
.cc .x-pra h2{ font-size: 26px; font-weight: 700; letter-spacing: -0.3px; line-height: 1.1; margin: 0 0 18px 0; color: #030712; }
.cc .x-pra .x-cols{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 40px; }
.cc .x-pra .x-col h3{ font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: #6B7280; margin: 0 0 8px 0; padding-bottom: 6px; border-bottom: 1px solid #E5E7EB; }
.cc .x-pra .x-col ul{ list-style: none; margin: 0; padding: 0; }
.cc .x-pra .x-col li{ font-size: 15px; line-height: 1.5; color: #111827; padding: 3px 0; }
.cc .x-pra .x-foot{ margin: 16px 0 0 0; font-size: 14px; color: #6B7280; }
.cc .x-pra .x-foot a{ color: #111827; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
@container (max-width: 900px) {.cc .x-pra{ padding: 28px 32px 0 32px; }
.cc .x-pra .x-cols{ grid-template-columns: 1fr 1fr; gap: 18px 32px; }}
@container (max-width: 600px) {.cc .x-pra{ padding: 28px 20px 0 20px; }
.cc .x-pra h2{ font-size: 22px; }
.cc .x-pra .x-cols{ grid-template-columns: 1fr; gap: 18px; }}
.cc .x-spk-wrap{ width: 100%; container-type: inline-size; }
.cc .x-spk{
    Switzer&#x27;, -apple-system, BlinkMacSystemFont, sans-serif;
    color: #030712;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 60px 8px 60px;
    box-sizing: border-box;
  }
.cc .x-spk h2{ font-size: 26px; font-weight: 700; letter-spacing: -0.3px; line-height: 1.1; margin: 0 0 20px 0; color: #030712; }
.cc .x-spk .x-cols{ display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
.cc .x-spk .x-group{ margin: 0 0 20px 0; }
.cc .x-spk .x-label{ font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: #6B7280; margin: 0 0 6px 0; padding-bottom: 6px; border-bottom: 1px solid #E5E7EB; }
.cc .x-spk .x-row{ display: grid; grid-template-columns: 78px 1fr; gap: 12px; padding: 6px 0; font-size: 14px; line-height: 1.45; }
.cc .x-spk .x-date{ font-weight: 600; color: #111827; white-space: nowrap; }
.cc .x-spk .x-org{ font-weight: 600; color: #111827; }
.cc .x-spk .x-what{ color: #374151; }
.cc .x-spk .x-note{ display: block; font-size: 13px; color: #6B7280; }
.cc .x-spk a{ color: #111827; text-decoration: underline; text-underline-offset: 2px; }
.cc .x-spk .x-feat{ padding: 5px 0; font-size: 14px; line-height: 1.45; }
@container (max-width: 900px) {.cc .x-spk{ padding: 40px 32px 8px 32px; }
.cc .x-spk .x-cols{ grid-template-columns: 1fr; }}
@container (max-width: 600px) {.cc .x-spk{ padding: 32px 20px 8px 20px; }
.cc .x-spk h2{ font-size: 22px; }
.cc .x-spk .x-row{ grid-template-columns: 1fr; gap: 2px; padding: 8px 0; }
.cc .x-spk .x-date{ font-size: 12px; color: #6B7280; text-transform: uppercase; letter-spacing: 0.05em; }}
.cc .x-brd-wrap{ width: 100%; container-type: inline-size; }
.cc .x-brd{
    Switzer&#x27;, -apple-system, BlinkMacSystemFont, sans-serif;
    color: #030712;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 60px 56px 60px;
    box-sizing: border-box;
  }
.cc .x-brd h2{ font-size: 26px; font-weight: 700; letter-spacing: -0.3px; line-height: 1.1; margin: 0 0 20px 0; color: #030712; }
.cc .x-brd .x-cols{ display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
.cc .x-brd .x-label{ font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: #6B7280; margin: 0 0 6px 0; padding-bottom: 6px; border-bottom: 1px solid #E5E7EB; }
.cc .x-brd .x-group{ margin: 0 0 20px 0; }
.cc .x-brd .x-row{ display: grid; grid-template-columns: 1fr auto; gap: 16px; padding: 4px 0; font-size: 14px; line-height: 1.45; }
.cc .x-brd .x-org{ font-weight: 600; color: #111827; }
.cc .x-brd .x-role{ color: #6B7280; }
.cc .x-brd .x-years{ color: #6B7280; white-space: nowrap; font-variant-numeric: tabular-nums; }
@container (max-width: 900px) {.cc .x-brd{ padding: 24px 32px 48px 32px; }
.cc .x-brd .x-cols{ grid-template-columns: 1fr; }}
@container (max-width: 600px) {.cc .x-brd{ padding: 20px 20px 40px 20px; }
.cc .x-brd h2{ font-size: 22px; }
.cc .x-brd .x-row{ grid-template-columns: 1fr; gap: 0; padding: 6px 0; }
.cc .x-brd .x-years{ font-size: 12px; }}
.cc { font-size: 14px; } .cc .me img { mix-blend-mode: screen; } .cc p { font-size: 14px; line-height: 1.6; margin-bottom: 8px; } .cc h2 { margin: 22px 0 8px; font-size: 22px; }
/* Site-wide compact pass: applied last so it wins */
body { font-size: 13px; line-height: 1.5; }
.page { padding: 14px 2vw 30px !important; }
.kick { font-size: 10.5px; margin-bottom: 6px; }
.ptitle { font-size: clamp(26px, 3.2vw, 42px) !important; margin-bottom: 8px !important; }
.lede, .ab .ab-lede { font-size: 13.5px !important; line-height: 1.5; margin-bottom: 10px !important; }
.btn { padding: 8px 12px !important; font-size: 10.5px !important; }
.btns { gap: 6px !important; }
.cc, .cc p, .cc li, .cc td, .cc span, .cc a { font-size: 12.5px !important; line-height: 1.5 !important; }
.cc p { margin-bottom: 6px !important; }
.cc h1 { font-size: 22px !important; margin: 0 0 6px !important; }
.cc h2 { font-size: 16px !important; margin: 0 0 6px !important; }
.cc h3, .cc h4 { font-size: 13.5px !important; margin: 10px 0 4px !important; }
.cc ul, .cc ol { margin: 0 0 8px 16px !important; }
.cc li { margin-bottom: 2px !important; padding-top: 2px !important; padding-bottom: 2px !important; }
.cc > div, .cc section, .cc [class*="x-"] { padding-top: 0 !important; padding-bottom: 0 !important; }
.cc > div, .cc section { margin: 0 0 18px !important; }
.cc [class*="x-"] { margin-top: 0 !important; }
.cc [class*="x-"] + [class*="x-"] { margin-top: 8px !important; }
.cc .x-cols { gap: 16px !important; margin: 2px 0 6px !important; }
.cc .btns { margin: 8px 0 !important; }
.cc .x-lawyer { grid-template-columns: 130px 1fr !important; gap: 16px !important; padding-top: 10px !important; margin: 12px 0 !important; }
.cc .x-lawyer .me { height: 150px !important; width: 130px !important; }
.cc .x-name { font-size: 18px !important; }
.prose, .prose p, .prose li { font-size: 13px !important; line-height: 1.55 !important; }
.prose p { margin-bottom: 7px !important; }
.prose h2 { font-size: 17px !important; margin: 16px 0 6px !important; }
.prose h3 { font-size: 14px !important; margin: 12px 0 4px !important; }
details summary { padding: 8px 0 !important; font-size: 13px !important; gap: 10px !important; }
details .section-body, details .details-inner, details > div { padding: 0 0 10px 30px !important; font-size: 12.5px !important; line-height: 1.55 !important; }
details .section-body p, details > div p { font-size: 12.5px !important; margin-bottom: 6px !important; }
.part-title, .legal h2 { margin: 18px 0 2px !important; }
.legal .x-intro p, .legal p { font-size: 12.5px !important; line-height: 1.55 !important; margin-bottom: 6px !important; }
.legal .highlight, .legal .sample-banner { padding: 8px 10px !important; font-size: 12px !important; margin: 8px 0 !important; }
.legal .subtitle { margin-bottom: 8px !important; font-size: 12px !important; }
.sgrid { gap: 8px !important; }
.sgrid a { min-height: 130px !important; padding: 10px !important; }
.sgrid .w { font-size: 18px !important; }
.svc-hero { gap: 26px !important; }
.quote { font-size: 15px !important; padding-left: 12px !important; }
.related a { padding: 6px 10px !important; font-size: 11px !important; }
.feature { height: 240px !important; }
.feature h2 { font-size: clamp(24px, 3vw, 38px) !important; }
.feature .cat, .feature .sub { font-size: 12.5px !important; }
.latest-h { font-size: 20px !important; margin: 22px 0 14px !important; }
.pgrid4 { gap: 16px 14px !important; }
.card .cover { aspect-ratio: 1.7 !important; font-size: 16px !important; padding: 10px !important; margin-bottom: 8px !important; }
.card h3 { font-size: 14px !important; }
.card .meta, .card .cat { font-size: 11px !important; }
.article .meta { margin-bottom: 14px !important; }
.form { gap: 8px !important; }
.form input, .form select, .form textarea { padding: 8px 10px !important; font-size: 13px !important; }
.two { gap: 20px !important; }
.bio-text p, .bio .bio-intro { font-size: 13px !important; }
.bb { padding: 9px 11px !important; }
.bb li { font-size: 12px !important; padding: 2px 0 !important; }
.bio-grid { gap: 6px !important; }
.ab .ab-photo { height: 180px !important; }
.ab .ab-hero { grid-template-columns: 1fr 160px !important; }
.logostrip { padding: 7px 0 !important; }
.ltrack img { height: 18px !important; }
footer .wrap { padding: 18px 20px 12px !important; gap: 14px !important; }
footer li { margin-bottom: 4px !important; }
footer .brand { font-size: 22px !important; }
footer .base { padding-top: 10px !important; }
.navrow { padding-top: 10px !important; }
/* Section labels and lists inside imported sections */
.cc .x-col h3, .cc .x-label, .cc .x-group > p:first-child { font-family: 'Switzer','Inter',sans-serif !important; font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .06em !important; text-transform: uppercase; color: #999 !important; margin: 0 0 4px !important; padding-bottom: 4px !important; }
.cc .x-cols ul, .cc .x-col ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.cc .x-cols li { padding: 3px 0 !important; }
.cc .x-row { padding: 3px 0 !important; gap: 12px !important; }
.cc .x-row span, .cc .x-row a { font-size: 12.5px !important; }
.cc .x-note { font-size: 11.5px !important; }
.cc .x-foot { font-size: 12px !important; margin-top: 4px !important; }
.cc .me img { width: 100% !important; height: 100% !important; }
/* Wider white margins on the sides */
.mast { padding-left: 4vw !important; padding-right: 4vw !important; }
.page { padding-left: max(28px, 6vw) !important; padding-right: max(28px, 6vw) !important; }
.logostrip { margin-left: 4vw !important; margin-right: 4vw !important; }
footer .wrap { padding-left: 6vw !important; padding-right: 6vw !important; }
.float { right: 4vw !important; }
.cc .x-col, .cc .x-cols > div { margin-top: 0 !important; }
.cc .bb ul { margin: 0 !important; padding: 0 !important; }
.cc .x-note { display: block; margin-top: 1px !important; }
.cc .x-group + .x-group { margin-top: 10px !important; }
/* Bigger side margins */
.mast { padding-left: 8vw !important; padding-right: 8vw !important; }
.page { padding-left: max(32px, 11vw) !important; padding-right: max(32px, 11vw) !important; max-width: none !important; }
.logostrip { margin-left: 8vw !important; margin-right: 8vw !important; }
footer .wrap { padding-left: 11vw !important; padding-right: 11vw !important; }
.float { right: 8vw !important; }
@media (max-width: 760px) { .mast { padding-left: 20px !important; padding-right: 20px !important; } .page { padding-left: 20px !important; padding-right: 20px !important; } .logostrip { margin-left: 0 !important; margin-right: 0 !important; } footer .wrap { padding-left: 20px !important; padding-right: 20px !important; } .float { right: 16px !important; } }
.strip { margin-left: 8vw !important; margin-right: 8vw !important; }
.bar { margin-left: 8vw !important; margin-right: 8vw !important; }
.hello, .pt { padding-left: 11vw !important; padding-right: 11vw !important; max-width: none !important; }
@media (max-width: 760px) { .strip, .bar { margin-left: 0 !important; margin-right: 0 !important; } .hello, .pt { padding-left: 20px !important; padding-right: 20px !important; } }
/* Smaller type, round two */
body { font-size: 12px !important; }
.ptitle { font-size: clamp(24px, 2.8vw, 36px) !important; }
.lede, .ab .ab-lede { font-size: 12.5px !important; }
.cc, .cc p, .cc li, .cc td, .cc span, .cc a, .bio-text p, .bio .bio-intro { font-size: 12px !important; line-height: 1.5 !important; }
.cc h2 { font-size: 15px !important; }
.bio-head h2 { font-size: 15px !important; }
.cc .tagline { font-size: 12px !important; }
.bb { padding: 8px 10px !important; }
.bb li, .cc .bb li { font-size: 11.5px !important; line-height: 1.4 !important; padding: 2px 0 !important; }
.bb .lbl, .lbl { font-size: 9.5px !important; margin-bottom: 4px !important; }
.cc .x-col h3, .cc .x-label { font-size: 9.5px !important; }
.cc .x-cols li, .cc .x-row span, .cc .x-row a { font-size: 11.5px !important; }
.cc .x-note { font-size: 10.5px !important; }
.prose, .prose p, .prose li { font-size: 12.5px !important; }
details summary { font-size: 12.5px !important; padding: 7px 0 !important; }
details .section-body, details > div, details .section-body p, details > div p { font-size: 12px !important; }
.legal p, .legal .x-intro p { font-size: 12px !important; }
.card h3 { font-size: 13px !important; }
.sgrid .w { font-size: 16px !important; }
.sgrid a { min-height: 110px !important; }
.navrow, .navrow a { font-size: 11px !important; }
.ab .ab-photo { height: 160px !important; }
.ab .ab-hero { grid-template-columns: 1fr 140px !important; }
/* Tight line spacing everywhere */
p, li, td { line-height: 1.38 !important; }
.cc p, .bio-text p, .prose p, .legal p, details .section-body p, details > div p { margin-bottom: 4px !important; }
.cc li, .cc .x-cols li, .bb li { padding-top: 1px !important; padding-bottom: 1px !important; margin-bottom: 0 !important; }
.cc .x-row { padding: 2px 0 !important; }
.cc .x-note { margin-top: 0 !important; }
.cc h2, .bio-head { margin-bottom: 4px !important; }
.cc > div, .cc section { margin-bottom: 12px !important; }
.bio-text { margin-bottom: 8px !important; }
.lede, .ab .ab-lede { margin-bottom: 8px !important; }
.ptitle { line-height: .95 !important; margin-bottom: 6px !important; }
details summary { padding: 5px 0 !important; }
details .section-body, details > div { padding-bottom: 6px !important; }
.prose h2 { margin: 10px 0 4px !important; } .prose h3 { margin: 8px 0 3px !important; }
.glist li { padding: 3px 0 !important; }
/* Home: carousel and bar run edge to edge like garytaxali.com */
.strip, .bar { margin-left: 0 !important; margin-right: 0 !important; }
.bar { border-radius: 0 !important; }
/* Type system copied from artcryption.com: 14/20 body, 12/16 small, 20/28 headings, 44/48 titles, tight tracking */
body, .cc, .cc p, .cc li, .cc td, .cc span, .cc a, .bio-text p, .bio .bio-intro, .prose, .prose p, .prose li, .legal p, .legal .x-intro p, details .section-body, details > div, details .section-body p, details > div p, .lede, .ab .ab-lede, .glist li, .form input, .form select, .form textarea { font-size: 14px !important; line-height: 20px !important; letter-spacing: -0.02em !important; }
.bb li, .cc .bb li, .cc .x-cols li, .cc .x-row span, .cc .x-row a, .card h3 { font-size: 13px !important; line-height: 18px !important; letter-spacing: -0.02em !important; }
.cc .x-note, .card .meta, .card .cat, .note, .cc .x-foot { font-size: 12px !important; line-height: 16px !important; letter-spacing: -0.01em !important; }
.lbl, .bb .lbl, .kick, .cc .x-col h3, .cc .x-label { font-size: 11px !important; line-height: 16px !important; letter-spacing: .04em !important; }
.cc h2, .bio-head h2, .prose h2, .latest-h { font-size: 20px !important; line-height: 28px !important; letter-spacing: -0.03em !important; }
.cc h3, .prose h3 { font-size: 16px !important; line-height: 22px !important; letter-spacing: -0.02em !important; }
details summary { font-size: 14px !important; line-height: 20px !important; letter-spacing: -0.02em !important; }
.ptitle { font-size: 44px !important; line-height: 48px !important; letter-spacing: -0.04em !important; }
.ab .ab-title { font-size: 64px !important; line-height: 64px !important; letter-spacing: -0.05em !important; }
.cc p, .bio-text p, .prose p, .legal p { margin-bottom: 10px !important; }
.cc li, .cc .x-cols li, .bb li { padding-top: 3px !important; padding-bottom: 3px !important; }
@media (max-width: 760px) { .ptitle { font-size: 34px !important; line-height: 38px !important; } .ab .ab-title { font-size: 44px !important; line-height: 46px !important; } }
/* Letter animation and About title */
.ptitle .wd { display: inline-block; overflow: visible; padding-bottom: 0; white-space: nowrap; }
.ptitle .ch { display: inline-block; opacity: 0; transform: translateY(20px); animation: chrise .7s cubic-bezier(.2,.8,.2,1) forwards; }
@keyframes chrise { to { opacity: 1; transform: none; } }
.ab .ab-title { font-size: clamp(56px, 8.4vw, 116px) !important; line-height: .92 !important; letter-spacing: -0.055em !important; }
.ab .ab-hero { align-items: end !important; grid-template-columns: 1fr 170px !important; }
.ab .ab-photo { height: 210px !important; }
/* About logo strip edge to edge */
.logostrip { margin-left: 0 !important; margin-right: 0 !important; }
@media (prefers-reduced-motion: reduce) { .ptitle .ch { animation: none; opacity: 1; transform: none; } }

.mast h1, .mast h1 span { line-height: .9 !important; letter-spacing: 0 !important; }
.ptitle.ready .ch { opacity: 1 !important; transform: none !important; }
.ab .ab-hero { grid-template-columns: 1fr 270px !important; gap: 36px !important; }
.ab .ab-photo { height: 330px !important; }
@media (max-width: 760px) { .ab .ab-hero { grid-template-columns: 1fr !important; } .ab .ab-photo { height: 280px !important; max-width: 260px; } }
/* Artists page */
.ar .ar-hero { display: grid; grid-template-columns: 1fr 260px; gap: 40px; align-items: start; }
.ar .ar-title { font-size: clamp(40px, 5.2vw, 72px) !important; line-height: .95 !important; letter-spacing: -0.05em !important; }
.ar .ar-lawyer .me { display: block; position: relative; height: 260px; overflow: hidden; background: linear-gradient(160deg, var(--plum), var(--violet)); }
.ar .ar-lawyer .me img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 55% 22%; filter: grayscale(100%) contrast(1.15) brightness(1.08); mix-blend-mode: screen; }
.ar .ar-name { font-family: 'Jost', sans-serif; font-size: 22px; color: #000; margin: 2px 0 4px; }
.ben-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 6px; }
.ben { background: #f6f4fa; padding: 12px 14px; display: flex; gap: 10px; align-items: baseline; }
.ben .bn { font-size: 11px; font-weight: 700; color: var(--violet); }
.ben p { margin: 0 !important; font-size: 13px !important; line-height: 18px !important; color: #111; }
.ar-two { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.ar-card { border: 1px solid #e6e1f0; padding: 14px 16px; }
.ar-card p { margin: 0 !important; }
.ar-card.dark { background: var(--plum); border-color: var(--plum); color: #fff; }
.ar-card.dark .lbl { color: var(--lilac) !important; }
.ar-card.dark p { color: #f1edf9 !important; }
.ar-diff { margin-top: 26px; max-width: 900px; }
.ar-diff h2 { font-size: 20px; line-height: 28px; letter-spacing: -0.03em; margin-bottom: 6px; }
.ar-diff p { margin-bottom: 8px; }
.ar-acc { margin-top: 18px; max-width: 900px; }
@media (max-width: 900px) { .ar .ar-hero, .ar-two { grid-template-columns: 1fr; } .ben-grid { grid-template-columns: 1fr; } .ar .ar-lawyer { max-width: 260px; } }
.ar-acc details li h3 { font-size: 14px !important; line-height: 20px !important; margin: 6px 0 2px !important; }
.ar-acc details li { margin-bottom: 6px !important; }
.ar-sec { margin-top: 26px; }
.ar-sec h2 { font-size: 20px !important; line-height: 28px !important; letter-spacing: -0.03em; margin-bottom: 6px; }
.ar-sec p { margin-bottom: 8px; }
.ar-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; }
.box { background: #f6f4fa; border-left: 3px solid var(--violet); padding: 14px 16px; }
.box p { margin-bottom: 8px !important; }
.box.pilot { background: #fbf8ef; border-left-color: #c9a227; }
.issues { list-style: none; margin: 4px 0 8px !important; padding: 0 !important; }
.issues li { padding: 5px 0 !important; border-bottom: 1px solid #eee; }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.step { background: #f6f4fa; padding: 12px 14px; display: flex; gap: 10px; align-items: flex-start; }
.step .bn { font-size: 11px; font-weight: 700; color: var(--violet); padding-top: 3px; }
.step h3 { font-size: 14px !important; line-height: 20px !important; margin: 0 0 3px !important; }
.step p { font-size: 13px !important; line-height: 18px !important; margin: 0 0 4px !important; }

@media (max-width: 900px) { .ar-cols, .steps-grid { grid-template-columns: 1fr; } }
.ar-acc.wide { max-width: none; }
.dgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 36px; }
.dgroup { margin-bottom: 14px; }
.dgroup .lbl { margin: 10px 0 2px !important; color: var(--violet) !important; }
.tgrid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 36px; }
.step .tag { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--violet); margin-bottom: 2px; }
.step details.more { border: 0; margin-top: 2px; }
.step details.more summary { padding: 0 !important; font-size: 11px !important; font-weight: 700; color: var(--violet); }
.step details.more summary::after { content: "" !important; }
.step details.more[open] summary { display: none; }
.step details.more p { font-size: 13px !important; line-height: 18px !important; }
.step details.more[open] { margin-top: 0; }
.step:has(details.more[open]) > div > p:not(details p) { display: none; }
@media (max-width: 900px) { .dgrid, .tgrid { grid-template-columns: 1fr; } }
/* Switzer is naturally tight: relax tracking for body text; tighten big titles */
body, .cc, .cc p, .cc li, .cc td, .cc span, .cc a, .bio-text p, .prose p, .prose li, .legal p, details .section-body p, .lede, .ab .ab-lede, .bb li, .ben p, .step p, .issues li, .box p, .ar-card p, .glist li { letter-spacing: 0 !important; }
.ptitle { line-height: 1 !important; }
.ab .ab-title, .ar .ar-title { line-height: .95 !important; }
/* Artists: start here, who cards, difference cards */
.start { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 26px; }
.start a { display: flex; flex-direction: column; gap: 4px; padding: 16px; background: #f6f4fa; transition: transform .25s, box-shadow .25s; }
.start a:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(75,48,128,.12); }
.start h3 { font-size: 18px !important; line-height: 22px !important; color: #000; margin: 0; }
.start p { font-size: 13px !important; line-height: 18px !important; color: #444; margin: 2px 0 6px !important; }
.start .go { margin-top: auto; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--violet); }
.start a.dark { background: var(--plum); }
.start a.dark h3, .start a.dark p { color: #fff !important; }
.start a.dark .lbl, .start a.dark .go { color: var(--lilac) !important; }
.who-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 4px 0 12px; }
.who-card { border: 1px solid #e6e1f0; padding: 10px 12px; }
.who-card h3 { font-size: 15px !important; line-height: 20px !important; margin: 0 0 2px !important; }
.who-card p { font-size: 12.5px !important; line-height: 17px !important; margin: 0 !important; color: #555; }
.diff-card { border-top: 1px solid #000; padding: 8px 0 4px; }
.diff-card h3 { font-size: 15px !important; line-height: 20px !important; margin: 0 0 4px !important; }
@media (max-width: 900px) { .start, .who-cards { grid-template-columns: 1fr; } }
.docs-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 10px; padding: 10px 14px; border: 1px solid #e6e1f0; }
.docs-row .lbl { margin: 0 !important; }
.docs-row a { font-size: 13px; font-weight: 600; color: #000; border-bottom: 1px solid var(--violet); }
.docs-row a:hover { color: var(--violet); }
.ar-intro { margin-top: 22px; max-width: 980px; }
.ar-intro p { margin-bottom: 8px !important; }
.qchips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 8px 0 12px; }
.qchips .lbl { width: 100%; margin: 0 0 2px !important; }
.qchips span:not(.lbl) { font-size: 12.5px; background: #f6f4fa; color: var(--plum); padding: 5px 10px; border-radius: 99px; }
.faq-h { font-family: 'Jost',sans-serif !important; font-weight: 700 !important; font-size: 20px !important; line-height: 28px !important; letter-spacing: -0.03em; margin: 22px 0 2px !important; }
/* FAQs */
.fq { margin-top: 44px; padding-top: 26px; border-top: 1px solid #000; }
.fq .fq-title { font-size: clamp(64px, 9vw, 128px) !important; line-height: .9 !important; letter-spacing: -0.06em !important; margin-bottom: 10px !important; }
.fq-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 16px; }
.fq-tabs button { font-family: 'Switzer', sans-serif; font-size: 12px; font-weight: 600; padding: 7px 12px; border: 1px solid #ddd; background: #fff; color: #111; border-radius: 99px; cursor: pointer; transition: all .2s; }
.fq-tabs button em { font-style: normal; color: var(--violet); margin-left: 3px; }
.fq-tabs button:hover { border-color: var(--violet); }
.fq-tabs button.on { background: #000; border-color: #000; color: #fff; }
.fq-tabs button.on em { color: var(--lilac); }
.fq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: start; }
.fq-card { background: #f6f4fa; padding: 14px 16px 6px; }
.fq-head { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid #000; padding-bottom: 6px; margin-bottom: 2px; }
.fq-head h3 { font-family: 'Jost',sans-serif !important; font-weight: 700 !important; font-size: 18px !important; line-height: 24px !important; letter-spacing: -0.03em; margin: 0 !important; }
.fq-head span { font-size: 11px; color: #888; }
.fq-card details { border-bottom: 1px solid #e3ddef; }
.fq-card details:last-child { border-bottom: 0; }
.fq-card details summary { font-size: 13.5px !important; }
.fq-card .section-body { padding-left: 30px !important; }
@media (max-width: 900px) { .fq-grid { grid-template-columns: 1fr; } }
/* Less visible text on Artists */
.ar-more { margin-top: 14px; border: 0; }
.ar-more > summary, details.lead > summary, details.more > summary { font-size: 12px !important; font-weight: 700; color: var(--violet); padding: 4px 0 !important; }
.ar-more > summary::after, details.more > summary::after { content: "" !important; }
.ar-more p { max-width: 980px; margin: 6px 0 !important; }
details.more { border: 0; }
details.more[open] > summary { display: none; }
details.lead { border-bottom: 1px solid #e3ddef; }
details.lead > summary { color: #000 !important; font-size: 13.5px !important; padding: 6px 0 !important; }
details.lead > p { padding: 0 0 8px; margin: 0 !important; }
.box details.lead:last-child { border-bottom: 0; }
/* Legal Subsidy */
.ls { margin-top: 30px; }
.ls-panel { background: linear-gradient(135deg, var(--plum), var(--violet)); color: #fff; padding: 20px 24px; display: grid; grid-template-columns: 1.1fr 1fr; gap: 24px; align-items: center; }
.ls-title { font-family: 'Jost',sans-serif; font-weight: 700; font-size: 38px; line-height: 1; letter-spacing: -0.04em; margin: 4px 0 8px; }
.ls-panel p { color: #efeaf8 !important; margin: 0 !important; }
.ls-panel ul { list-style: none; margin: 0 !important; padding: 0 !important; }
.ls-panel li { color: #fff; font-size: 13.5px; padding: 4px 0 4px 16px !important; position: relative; }
.ls-panel li::before { content: ""; position: absolute; left: 0; top: 11px; width: 7px; height: 7px; border-radius: 50%; background: #FF554C; }
.ls-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; border: 1px solid #e6e1f0; border-top: 0; padding: 16px 20px 10px; }
.ls-grid ul { margin: 0 0 0 14px !important; }
.ls-grid li { font-size: 12.5px !important; line-height: 17px !important; padding: 2px 0 !important; }
.ls .note { margin-top: 8px; }
@media (max-width: 900px) { .ls-panel, .ls-grid { grid-template-columns: 1fr; } }
.creds { list-style: none; margin: 4px 0 0 !important; padding: 0 !important; }
.creds li { font-size: 12px !important; line-height: 16px !important; color: #666; padding: 3px 0 !important; border-bottom: 1px solid #eee; }
.ls-terms { margin-top: 16px; }
.ls-terms h3 { font-family: 'Jost',sans-serif !important; font-weight: 700 !important; font-size: 20px !important; line-height: 28px !important; letter-spacing: -0.03em; border-bottom: 1px solid #000; padding-bottom: 6px; margin: 0 0 2px !important; }
.ls-terms .section-body ul { margin: 0 0 8px 16px !important; }

/* Fold-outs stay black when opened */
details summary, details summary:hover, details[open] > summary { color: #000 !important; }
details[open] > summary::after { color: #000 !important; }
details summary:hover { text-decoration: underline; text-underline-offset: 3px; }
details .section-body, details .section-body p, details .section-body li, details.more p, details.lead > p { color: #222 !important; text-transform: none !important; font-weight: 400 !important; }
.step details.more p { font-size: 13px !important; line-height: 18px !important; letter-spacing: 0 !important; }
.fq-link { display: flex; flex-direction: column; gap: 8px; background: #000 !important; color: #fff; }
.fq-link .fq-head { border-color: #fff; }
.fq-link h3, .fq-link p { color: #fff !important; }
.fq-link .fq-head span { color: #bbb; }
.fq-link .go { font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--lilac); padding-bottom: 8px; }
.fq-link:hover { background: var(--plum) !important; }
details.ls-terms { border: 1px solid #000; margin-top: 14px; }
details.ls-terms > summary { padding: 12px 16px !important; font-family: 'Jost',sans-serif !important; font-weight: 700 !important; font-size: 18px !important; line-height: 24px !important; letter-spacing: -0.03em; display: flex; align-items: baseline; gap: 12px; }
details.ls-terms > summary em { font-style: normal; font-family: 'Switzer', sans-serif; font-size: 11px; font-weight: 600; color: #888; letter-spacing: 0; }
details.ls-terms > .legal { padding: 0 16px 10px; }
/* Insights */
.ins-tabs { margin: 0 auto 18px !important; }
.arch { margin-top: 40px; border-top: 1px solid #000; padding-top: 6px; }
.arch-list { columns: 2; column-gap: 36px; margin-top: 8px; }
.arch-list a { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px solid #eee; break-inside: avoid; font-size: 13px; }
.arch-list a:hover span { color: var(--violet); }
.arch-list em { font-style: normal; font-size: 11px; color: #999; white-space: nowrap; }
.card .cover.c5 { color: #fff; } .card .cover.c6 { color: var(--lilac); } .card .cover.c7 { color: #000; }
@media (max-width: 760px) { .arch-list { columns: 1; } }
.card .cover { flex-direction: column; justify-content: space-between; align-items: flex-start !important; }
.card .cover .ct { font-family: 'Switzer', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; opacity: .8; }
.card .cover .cw { font-family: 'Jost', sans-serif; font-weight: 600; font-size: 19px; line-height: 1.05; letter-spacing: -0.01em; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.card .cover.c2 { color: var(--plum) !important; } .card .cover.c3 { color: #fff !important; } .card .cover.c6 { color: var(--lilac) !important; } .card .cover.c7 { color: #000 !important; }
/* Who we help dropdown */
.navrow nav { align-items: center; }
.dd { position: relative; display: inline-flex; }
.dd > a::after { content: " \25BE"; font-size: 9px; }
.ddm { display: none; position: absolute; top: 100%; left: -12px; z-index: 30; background: #fff; border: 1px solid #000; padding: 6px 0; min-width: 190px; box-shadow: 0 12px 30px rgba(0,0,0,.08); }
.ddm a { display: block; padding: 7px 14px; white-space: nowrap; }
.ddm a:hover { background: #f6f4fa; color: var(--violet); }
.dd:hover .ddm, .dd:focus-within .ddm { display: block; }
.dd { padding-bottom: 8px; margin-bottom: -8px; }
/* Tighter, more editorial masthead */
.mast h1 { letter-spacing: -0.045em !important; }
.mast h1 .g { letter-spacing: -0.045em !important; margin-right: 0.02em; }

/* Phone menu: keep the two wrapped rows close together */
@media (max-width: 760px) { .navrow nav { row-gap: 2px !important; column-gap: 16px !important; line-height: 1 !important; } .navrow nav a, .navrow nav .dd { padding-top: 4px !important; padding-bottom: 4px !important; line-height: 1.2 !important; } .navrow { gap: 6px !important; } }
@media (max-width: 760px) { .navrow nav { align-items: center !important; } .navrow nav .dd { display: inline-flex !important; align-items: center !important; } .navrow nav .dd > a { padding: 0 !important; } }
@media (max-width: 760px) { .navrow nav .dd { margin-bottom: 0 !important; } }

/* Masthead entrance, same motion as the Artcryption v1 hero: a slow 1.5s fade with a gentle drop.
   "ent" arrives first, "counsel" follows. Runs on the first page of a visit only. */
@keyframes mast-in { 0% { opacity: 0; transform: translateY(-10%); } 100% { opacity: 1; transform: translateY(0); } }
html.mast-anim .mast h1 .g { display: inline-block; opacity: 0; animation: mast-in 1.5s ease forwards; }
html.mast-anim .mast h1 .c { display: inline-block; opacity: 0; animation: mast-in 1.5s ease .35s forwards; }
@media (prefers-reduced-motion: reduce) { html.mast-anim .mast h1 .g, html.mast-anim .mast h1 .c { animation: none; opacity: 1; } }

/* Legal pages (Terms, Privacy, Engagement Letter): the live entcounsel.com/terms layout, tighter */
.legal { margin-top: 18px !important; }
.legal h2 { font-family: "Inter Tight", Inter, sans-serif !important; font-weight: 700 !important; font-size: 22px !important; line-height: 28px !important; letter-spacing: -0.02em !important; margin: 0 0 2px !important; }
.legal .subtitle { font-size: 12px !important; line-height: 16px !important; color: #777 !important; margin: 0 0 14px !important; }
.legal .x-intro { padding-bottom: 16px !important; margin-bottom: 16px !important; border-bottom: 1px solid #e6e6e6 !important; }
.legal .x-intro p { font-size: 13px !important; line-height: 20px !important; color: #444 !important; margin: 0 0 8px !important; }
.legal .x-intro p:first-child { font-size: 11.5px !important; letter-spacing: .02em; color: #555 !important; }
.legal .highlight { background: #f7f7f8 !important; border-left: 3px solid #111 !important; padding: 10px 14px !important; margin: 0 0 8px !important; font-size: 12.5px !important; line-height: 19px !important; color: #333 !important; }
.legal .part-title { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: #111 !important; margin: 22px 0 4px !important; padding-top: 16px !important; border-top: 1px solid #e6e6e6 !important; }
.legal .x-part-intro { font-size: 12.5px !important; font-style: italic; color: #555 !important; margin: 0 0 6px !important; }
.legal .section-num { color: #999 !important; font-size: 11px !important; font-weight: 500 !important; min-width: 26px; display: inline-block; }
.legal summary { padding: 9px 0 !important; font-size: 13.5px !important; font-weight: 600 !important; }
.legal .section-body { font-size: 13px !important; line-height: 20px !important; color: #333 !important; padding: 0 0 12px 26px !important; }
.legal .section-body p { margin: 0 0 8px !important; }
.legal .x-footer { margin-top: 18px !important; font-size: 12px !important; color: #777 !important; }
.page .legal h2, .page .legal .cc h2 { font-size: 20px !important; line-height: 26px !important; margin: 0 0 4px !important; }
.page .legal .subtitle { display: block; margin: 0 0 14px !important; }
.page .legal .part-title { font-family: "Switzer", system-ui, sans-serif !important; }
.page .ptitle + .legal { margin-top: 14px !important; }
.page .legal h1 { font-family: "Inter Tight", "Inter", sans-serif !important; font-weight: 700 !important; font-size: 20px !important; line-height: 26px !important; letter-spacing: -0.02em !important; margin: 0 0 4px !important; }
.page .legal p.subtitle { font-size: 12px !important; line-height: 16px !important; color: #777 !important; margin: 0 0 14px !important; }
/* Legal pages, tighter pass */
.page .legal .x-intro { padding-bottom: 12px !important; margin-bottom: 12px !important; }
.page .legal .x-intro p { font-size: 12.5px !important; line-height: 18px !important; margin: 0 0 6px !important; }
.page .legal .x-intro p:first-child { font-size: 11px !important; line-height: 16px !important; }
.page .legal .highlight { padding: 7px 12px !important; margin: 0 0 5px !important; font-size: 12px !important; line-height: 17px !important; }
.page .legal .part-title { margin: 14px 0 0 !important; padding-top: 12px !important; font-size: 10.5px !important; }
.page .legal summary { padding: 6px 0 !important; font-size: 13px !important; line-height: 18px !important; }
.page .legal .section-num { font-size: 10.5px !important; min-width: 24px; }
.page .legal .section-body { font-size: 12.5px !important; line-height: 18px !important; padding: 0 0 10px 24px !important; }
.page .legal .section-body p, .page .legal .section-body li { margin: 0 0 6px !important; }
.page .legal p.subtitle { margin: 0 0 10px !important; }
.page .legal h1 { font-size: 18px !important; line-height: 24px !important; }
/* accordion marker turns smoothly */
summary::after { transition: transform .3s cubic-bezier(.2,.7,.2,1), color .3s !important; }
footer .disc { grid-column: 1 / -1; font-size: 11.5px; line-height: 17px; color: #9a9a9a; margin: 6px 0 0; max-width: 820px; }
footer .disc a { color: #ccc; text-decoration: underline; }
/* CARFAC page: live-content port */
.ar .ar-links { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 12px; }
.ar .ar-links a { font-size: 12px; line-height: 16px; font-weight: 600; color: #000; border-bottom: 1px solid var(--violet); }
.ar .ar-links a:hover { color: var(--violet); }
.ar .ar-links.sm { margin-top: 6px; gap: 4px 12px; }
.ar .ar-links.sm a { font-size: 11px; }
.ar .talks { font-size: 12px !important; line-height: 16px !important; color: #666; margin: 8px 0 0 !important; }
.ar .talks span { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--violet); }
.gs-row { display: grid; grid-template-columns: auto repeat(3, 1fr); gap: 8px; align-items: stretch; margin: 10px 0 4px; }
.gs-row .lbl { align-self: center; margin: 0 6px 0 0 !important; }
.gs-row a { display: flex; flex-direction: column; gap: 2px; padding: 8px 12px; border: 1px solid #e6e1f0; transition: border-color .2s; }
.gs-row a:hover { border-color: var(--violet); }
.gs-row strong { font-size: 13px; line-height: 18px; color: #000; }
.gs-row a span { font-size: 11px; line-height: 16px; color: var(--violet); }
.expect { margin-top: 10px; padding: 10px 14px; background: #f6f4fa; }
.expect .lbl { display: block; margin: 0 0 4px !important; }
.expect ul { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px 16px; }
.expect li { font-size: 12px !important; line-height: 16px !important; padding: 3px 0 3px 14px !important; position: relative; color: #333; }
.expect li::before { content: ""; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; background: var(--violet); }
.fq-intro { font-size: 12px !important; line-height: 16px !important; color: #555; margin: 8px 0 2px !important; }
.res-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 24px; margin-top: 8px; }
.res-grid ul { list-style: none; margin: 0 !important; padding: 0 !important; }
.res-grid li { padding: 6px 0 !important; border-bottom: 1px solid #eee; display: flex; flex-direction: column; gap: 1px; }
.res-grid li a { font-size: 13px; line-height: 18px; font-weight: 600; color: #000; }
.res-grid li a:hover { color: var(--violet); }
.res-grid li span { font-size: 12px; line-height: 16px; color: #555; }
.res .note { margin-top: 8px; }
@media (max-width: 900px) { .gs-row, .res-grid { grid-template-columns: 1fr; } .gs-row .lbl { margin: 0 !important; } .expect ul { grid-template-columns: 1fr 1fr; } }
/* Masthead entrance v2: rise from just below, lift slightly past, then settle */
@keyframes mast-in { 0% { opacity: 0; transform: translateY(10%); } 65% { opacity: 1; transform: translateY(-2.5%); } 100% { opacity: 1; transform: translateY(0); } }
html.mast-anim .mast h1 .g { animation: mast-in 1.5s cubic-bezier(.22,.8,.3,1) forwards !important; }
html.mast-anim .mast h1 .c { animation: mast-in 1.5s cubic-bezier(.22,.8,.3,1) .3s forwards !important; }
/* slower */
html.mast-anim .mast h1 .g { animation-duration: 2.1s !important; }
html.mast-anim .mast h1 .c { animation-duration: 2.1s !important; animation-delay: .4s !important; }
/* Masthead entrance v3: slowly up past its place, then slowly down to rest */
@keyframes mast-rise-settle {
  0%   { opacity: 0; transform: translateY(12%); }
  25%  { opacity: 1; }
  55%  { opacity: 1; transform: translateY(-6%); }
  100% { opacity: 1; transform: translateY(0); }
}
html.mast-anim .mast h1 .g { animation: mast-rise-settle 2.6s cubic-bezier(.45,0,.55,1) forwards !important; }
html.mast-anim .mast h1 .c { animation: mast-rise-settle 2.6s cubic-bezier(.45,0,.55,1) .45s forwards !important; }
/* Member rates (carfac.html#rates), ported from the live CARFAC member rates sheet */
.rt { scroll-margin-top: 80px; }
.rt h2 { font-size: 20px !important; line-height: 26px !important; margin: 2px 0 6px !important; }
.rt .rt-lede, .rt .rt-hourly { font-size: 13px !important; line-height: 19px !important; color: #333; margin: 0 0 8px !important; max-width: 980px; }
.rt-types { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 4px 0 10px; }
.rt-types div { border: 1px solid #e6e1f0; padding: 6px 10px; display: flex; flex-direction: column; gap: 1px; }
.rt-types strong { font-size: 13px; line-height: 18px; color: #000; }
.rt-types span { font-size: 12px; line-height: 16px; color: #555; }
.rt-fine { margin: 6px 0 10px; border-top: 1px solid #eee; border-bottom: 1px solid #eee; }
.rt-fine > summary { font-size: 12px; line-height: 16px; font-weight: 600; color: var(--violet); padding: 7px 0; cursor: pointer; }
.rt-fine p, .rt-fine li { font-size: 12px !important; line-height: 17px !important; color: #444; margin: 0 0 6px !important; }
.rt-table { margin-top: 6px; border-top: 1px solid #000; }
.rt-head, .rt-row { display: grid; grid-template-columns: minmax(0, 1fr) 108px 108px 108px; gap: 0 14px; align-items: baseline; }
.rt-head { padding: 6px 0; border-bottom: 1px solid #ddd; }
.rt-head span { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--violet); }
.rt-head span:not(:first-child), .rt-p { text-align: right; }
.rt-grp { padding: 12px 0 4px; border-bottom: 1px solid #eee; }
.rt-grp h3 { font-size: 13px !important; line-height: 18px !important; margin: 0 0 2px !important; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #000; }
.rt-grp p { font-size: 12px !important; line-height: 16px !important; color: #666; margin: 0 0 3px !important; max-width: 980px; }
.rt-row { padding: 7px 0; border-bottom: 1px solid #eee; }
.rt-svc strong { font-size: 13px; line-height: 18px; color: #000; display: block; }
.rt-time { display: block; font-size: 12px; line-height: 16px; color: var(--violet); }
.rt-svc p, .rt-svc li { font-size: 12px !important; line-height: 16px !important; color: #555; margin: 2px 0 0 !important; }
.rt-svc ul { margin: 2px 0 4px 16px !important; padding: 0 !important; }
.rt-svc details.more summary { font-size: 12px; color: var(--violet); cursor: pointer; margin-top: 2px; }
.rt-p { font-size: 14px; line-height: 18px; font-weight: 600; color: #000; white-space: nowrap; }
.rt-p em { font-style: normal; font-weight: 400; color: #666; font-size: 12px; margin-left: 2px; }
@media (max-width: 700px) {
  .rt-types { grid-template-columns: 1fr; }
  .rt-head { display: none; }
  .rt-row { grid-template-columns: repeat(3, 1fr); gap: 4px 8px; }
  .rt-svc { grid-column: 1 / -1; }
  .rt-p { text-align: left; white-space: normal; font-size: 13px; }
  .rt-p::before { content: attr(data-l); display: block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--violet); }
}

/* Blog article typography (article pages only). Bodies are tidied by build/blog_clean.py. */
.article .prose { font-family: 'Switzer', system-ui, sans-serif !important; font-size: 16px !important; line-height: 26px !important; max-width: 68ch; color: #222; }
.article .prose p, .article .prose li, .article .prose blockquote { font-family: 'Switzer', system-ui, sans-serif !important; font-size: 16px !important; line-height: 26px !important; letter-spacing: 0 !important; }
.article .prose p { margin: 0 0 14px !important; }
.article .prose > :first-child { margin-top: 0 !important; }
.article .prose h2 { font-family: "Inter Tight", Inter, sans-serif !important; font-weight: 700 !important; font-size: 22px !important; line-height: 28px !important; letter-spacing: -0.02em !important; margin: 28px 0 10px !important; color: #000; }
.article .prose h3 { font-family: 'Jost', sans-serif !important; font-weight: 700 !important; font-size: 17px !important; line-height: 24px !important; letter-spacing: -0.01em !important; margin: 20px 0 8px !important; color: #000; }
.article .prose h4 { font-size: 16px !important; line-height: 24px !important; font-weight: 700; margin: 16px 0 6px !important; }
.article .prose h2 + h3 { margin-top: 10px !important; }
.article .prose ul, .article .prose ol { margin: 0 0 14px !important; padding-left: 18px !important; }
.article .prose ul { list-style: disc; } .article .prose ol { list-style: decimal; }
.article .prose li { margin: 0 0 6px !important; padding-left: 2px; }
.article .prose li > ul, .article .prose li > ol { margin: 6px 0 0 !important; }
.article .prose blockquote { margin: 0 0 14px !important; padding: 2px 0 2px 16px; border-left: 3px solid #d9d3e6; color: #333; }
.article .prose blockquote p:last-child { margin-bottom: 0 !important; }
.article .prose table { border-collapse: collapse; width: 100%; margin: 0 0 16px; font-size: 14px !important; line-height: 20px; }
.article .prose td, .article .prose th { border: 1px solid #e5e5e5; padding: 6px 8px; text-align: left; vertical-align: top; font-size: 14px !important; line-height: 20px !important; }
.article .prose img { display: block; width: 100%; height: auto; margin: 0 0 14px; }
.article .prose hr { border: 0; border-top: 1px solid #e5e5e5; margin: 20px 0; }
.article .prose a { word-break: break-word; }

/* Article headings in Inter Tight (not Jost), and purple highlights for update notes and links */
.article .prose h2, .article .prose h3, .article .prose h4 { font-family: "Inter Tight", Inter, sans-serif !important; font-weight: 700 !important; letter-spacing: -0.02em !important; text-transform: none !important; }
.article .prose p.upd { background: rgba(123, 94, 167, .10); border-left: 3px solid #7b5ea7; padding: 10px 14px; border-radius: 0 6px 6px 0; }
.article .prose span.upd { display: block; margin-top: 8px; background: rgba(123, 94, 167, .10); border-left: 3px solid #7b5ea7; padding: 8px 12px; border-radius: 0 6px 6px 0; }
.article .prose li span.upd { margin-top: 6px; }
.article .prose a { color: #5b3f8c; text-decoration: underline; text-decoration-color: rgba(123,94,167,.45); text-underline-offset: 2px; }
.article .prose a:hover { text-decoration-color: #5b3f8c; }

/* Services hub: FAQs and Resources entry cards (two across) */
.start.svc-more { grid-template-columns: repeat(2, 1fr); margin-top: 34px; }
@media (max-width: 900px) { .start.svc-more { grid-template-columns: 1fr; } }
/* 'law firm' fades in after the wordmark */
html.mast-anim .mast h1 .lf { opacity: 0; animation: mast-in 1.6s ease 1.2s forwards; }
@media (prefers-reduced-motion: reduce) { html.mast-anim .mast h1 .lf { animation: none; opacity: 1; } }
/* keep the SVG wordmark inside the screen on phones */
.mast > a { display: block; max-width: 100%; }
.mast h1 { width: 100% !important; max-width: 100% !important; white-space: normal !important; margin-right: 0 !important; }
.mast h1 .wm { max-width: 100%; }
/* phone: the photo frame had no width (centred grid item with only an absolute image inside) */
@media (max-width: 760px) { .hello .me { width: 100% !important; max-width: 300px !important; height: 340px !important; margin: 0 auto !important; } }
/* Phone: editorial header. One hairline-ruled menu row that scrolls sideways, left-aligned, no wrapping. */
@media (max-width: 760px) {
  .mast .navrow { display: block !important; padding: 0 !important; margin-top: 10px !important; border-top: 1px solid #000; border-bottom: 1px solid #e5e5e5; }
  .mast .navrow > div:first-child { display: none !important; }
  .mast .navrow nav { display: flex !important; flex-wrap: nowrap !important; justify-content: flex-start !important; gap: 18px !important; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 11px 0 !important; white-space: nowrap; }
  .mast .navrow nav::-webkit-scrollbar { display: none; }
  .mast .navrow nav a, .mast .navrow nav .dd > a { font-size: 11px !important; letter-spacing: .08em !important; margin: 0 !important; }
  .mast .navrow nav .ddm { display: none !important; }
  .hello, .hello .say { text-align: left !important; }
  .hello .say .btns { justify-content: flex-start !important; }
  .hello .say .line { font-size: 30px !important; line-height: 1.12 !important; }
}
/* Phone footer: one clean column, logo first, call button full width, links in two even columns */
@media (max-width: 760px) {
  footer .wrap { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0 20px !important; padding: 36px 20px 24px !important; }
  footer .wrap > div:first-child { grid-column: 1 / -1; margin-bottom: 22px; }
  footer .brand { width: 220px !important; }
  footer .wrap > div:first-child p { font-size: 14px; margin-top: 10px !important; }
  footer .wrap > div:has(> .btn) { grid-column: 1 / -1; order: -1; margin: 0 0 26px; }
  footer .wrap > div:first-child { order: -2; }
  footer .wrap > div:has(> .btn) .btn { display: block; text-align: center; padding: 14px 0; }
  footer ul.up { margin-bottom: 22px; }
  footer ul.up li { margin-bottom: 9px; }
  footer ul.up a { font-size: 12px; letter-spacing: .06em; color: #ddd; }
  footer .disc { grid-column: 1 / -1; font-size: 12px !important; line-height: 1.55 !important; color: #9a9a9a !important; border-top: 1px solid #333; padding-top: 18px; }
  footer .base { grid-column: 1 / -1; flex-direction: column; gap: 8px; align-items: flex-start; font-size: 11px; color: #9a9a9a; border-top: 1px solid #333; margin-top: 14px; padding-top: 16px !important; }
}
/* Testimonials */
.testi { padding: 56px 11vw 60px; border-top: 1px solid #e5e5e5; }
.testi-h h2 { font-family: 'Inter Tight', Inter, sans-serif !important; font-weight: 700; font-size: clamp(32px, 4vw, 52px); letter-spacing: -0.04em; line-height: 1; margin: 6px 0 28px; color: #000; }
.testi-h h2 .soft { color: #8a8a8a; }
.testi-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.tq { margin: 0; padding: 22px 22px 20px; border: 1px solid #e6e6e6; background: #fff; display: flex; flex-direction: column; justify-content: space-between; }
.tq blockquote { margin: 0 0 18px; font-size: 15px; line-height: 1.55; color: #222; }
.tq blockquote::before { content: "\201C"; display: block; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 54px; line-height: .6; color: var(--violet); margin-bottom: 8px; }
.tq figcaption b { display: block; font-size: 14px; color: #000; }
.tq figcaption span { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #8a8a8a; }
.testi-note { margin-top: 16px; font-size: 12px; color: #9a9a9a; }
@media (max-width: 1100px) { .testi-row { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) {
  .testi { padding: 40px 0 44px; }
  .testi-h, .testi-note { padding: 0 20px; }
  .testi-row { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding: 0 20px 6px; scrollbar-width: none; }
  .testi-row::-webkit-scrollbar { display: none; }
  .tq { flex: 0 0 82%; scroll-snap-align: start; }
}
@media (max-width: 760px) { .testi-row { padding: 0 0 6px !important; } .tq:first-child { margin-left: 20px; } .tq:last-child { margin-right: 20px; } }

body, p, li, td, input, select, textarea, button, .cc, .cc * { font-family: 'Switzer', system-ui, sans-serif; }
.sgrid .w, .ar-name, .mt, .mtitle, .say .line, .pt-copy h3, .quote { font-family: 'Jost', sans-serif !important; }
.ptitle, .ptitle * { font-family: 'Inter Tight', 'Inter', sans-serif !important; font-weight: 700 !important; letter-spacing: -0.05em !important; }
.cc h1, .cc h2, .prose h2, .prose h3, .latest-h, .feature h2, .ar-diff h2, .ar-sec h2, .bio-head h2, .start h3, .who-card h3, .diff-card h3 { font-family: 'Inter Tight', 'Inter', sans-serif !important; font-weight: 700 !important; letter-spacing: -0.03em !important; }
.mast h1, .mast h1 *, footer .brand, footer .brand * { font-family: 'Futura', 'Futura PT', 'Jost', sans-serif !important; }
/* ===== About page: compact type system + tabbed Speaking / Recognition ===== */

/* Base type: 14/20 body, 12/16 small, 11 labels, 20/28 headings */
.ab .cc, .ab .cc p, .ab .cc li, .ab .cc span, .ab .cc a, .ab .bio-text p { font-size: 14px !important; line-height: 20px !important; letter-spacing: 0 !important; }
.ab .cc p, .ab .bio-text p { margin: 0 0 8px !important; }
.ab .cc h2, .ab .bio-head h2 { font-family: 'Inter Tight', 'Inter', sans-serif !important; font-weight: 700 !important; font-size: 20px !important; line-height: 28px !important; letter-spacing: -0.03em !important; color: #000 !important; margin: 0 0 10px !important; }
.ab .lbl, .ab .bb .lbl, .ab .cc .x-label, .ab .cc .x-col h3 { font-family: 'Switzer', sans-serif !important; font-size: 11px !important; line-height: 16px !important; font-weight: 600 !important; letter-spacing: .06em !important; text-transform: uppercase; }

/* Bio */
.page.ab .cc .bio { margin: 0 !important; }
.ab .bio-head { margin: 0 0 6px !important; gap: 10px; }
.ab .bio-head .tagline { font-size: 12px !important; line-height: 16px !important; margin: 0 !important; }
.ab .bio-text { margin-bottom: 14px !important; }
.ab .bio-grid { gap: 8px !important; }
.ab .bb { padding: 12px 14px !important; }
.ab .bb .lbl { margin: 0 0 6px !important; }
.ab .bb li, .ab .cc .bb li { font-size: 12px !important; line-height: 16px !important; padding: 5px 0 !important; }

/* Imported sections: no own side padding, tight vertical rhythm */
.ab .cc .x-pra-wrap, .ab .cc .x-spk-wrap, .ab .cc .x-brd-wrap { margin: 0 !important; }
.ab .cc .x-pra, .ab .cc .x-spk, .ab .cc .x-brd { padding: 32px 0 0 !important; margin: 0 !important; max-width: none !important; }
.ab .cc .x-brd { padding-bottom: 40px !important; }
.ab .cc .x-pra .x-cols { gap: 0 32px !important; margin: 0 !important; }
.page.ab .cc .x-pra .x-col { margin: 0 !important; }
.ab .cc .x-pra .x-col h3 { color: #6B7280 !important; margin: 0 0 4px !important; padding: 0 0 6px !important; border-bottom: 1px solid #E5E7EB; }
.ab .cc .x-pra .x-col li { font-size: 14px !important; line-height: 20px !important; padding: 3px 0 !important; }
.ab .cc .x-pra .x-foot { margin: 10px 0 0 !important; font-size: 12px !important; line-height: 16px !important; color: #6B7280; }
.ab .cc .x-pra .x-foot a { font-size: 12px !important; line-height: 16px !important; }

/* Pill tabs (same look as the FAQ .fq-tabs) */
.ab .ab-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.ab .ab-tab { font-family: 'Switzer', sans-serif; font-size: 12px; line-height: 16px; font-weight: 600; padding: 6px 12px; border: 1px solid #ddd; background: #fff; color: #111; border-radius: 99px; cursor: pointer; transition: all .2s; }
.ab .ab-tab:hover { border-color: var(--violet); }
.ab .ab-tab.on { background: #000; border-color: #000; color: #fff; }
.ab .ab-tab:focus-visible { outline: 2px solid var(--violet); outline-offset: 2px; }
.ab .ab-panel[hidden] { display: none !important; }

/* Panels: label duplicated by the tab, so hide it visually but keep it for screen readers */
.ab .ab-panel .x-group { margin: 0 !important; border-top: 1px solid #E5E7EB; }
.ab .ab-panel .x-label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0 !important; padding: 0 !important; border: 0 !important; }

/* Rows: narrow date/years column left, title and detail right, thin dividers */
.ab .ab-panel .x-row, .ab .ab-panel .x-feat { display: grid !important; grid-template-columns: 112px 1fr !important; gap: 0 20px !important; padding: 8px 0 !important; border-bottom: 1px solid #EEECF2; align-items: baseline; }
.ab .ab-panel .x-feat { grid-template-columns: 1fr !important; }
.ab .ab-panel .x-row span, .ab .ab-panel .x-row a, .ab .ab-panel .x-feat span, .ab .ab-panel .x-feat a { font-size: 14px !important; line-height: 20px !important; }
.ab .ab-panel .x-date, .ab .ab-panel .x-years { font-size: 12px !important; line-height: 20px !important; font-weight: 600; color: var(--plum) !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ab .x-brd .ab-panel .x-years { order: -1; text-align: left; }
.ab .ab-panel .x-org { font-weight: 600; color: #111827; }
.ab .ab-panel .x-what, .ab .ab-panel .x-role { color: #374151 !important; }
.ab .ab-panel .x-note { display: block; font-size: 12px !important; line-height: 16px !important; color: #6B7280; margin-top: 2px; }
.ab .ab-panel a { color: #111827; text-decoration: underline; text-decoration-color: #c9c2d8; text-underline-offset: 2px; }
.ab .ab-panel a:hover { text-decoration-color: var(--violet); }

/* Mobile */
@media (max-width: 760px) {
  .ab .bio-grid, .ab .cc .x-pra .x-cols { grid-template-columns: 1fr !important; gap: 8px !important; }
  .page.ab .cc .x-pra .x-col { margin: 0 0 10px !important; }
  .ab .bb.wide ul { columns: 1 !important; }
  .ab .cc .x-pra, .ab .cc .x-spk, .ab .cc .x-brd { padding-top: 28px !important; }
  .ab .ab-tabs { flex-wrap: nowrap; overflow-x: auto; margin: 0 -20px 12px; padding: 0 20px 2px; scrollbar-width: none; }
  .ab .ab-tabs::-webkit-scrollbar { display: none; }
  .ab .ab-tab { flex: none; }
  .ab .ab-panel .x-row { grid-template-columns: 1fr !important; gap: 2px !important; }
  .ab .ab-panel .x-date { text-transform: none !important; letter-spacing: 0 !important; }
}

/* About Entcounsel: firm statement above the bio */
.ab .firm { border-top: 1px solid #e6e6e6; border-bottom: 1px solid #e6e6e6; padding: 16px 0; margin: 0 0 24px; }
.ab .firm .lbl { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--plum, #4a2f7a); margin-bottom: 6px; }
.ab .firm p { font-size: 15px; line-height: 22px; margin: 0; max-width: 860px; color: #222; }
.ab .firm a { text-decoration: underline; text-underline-offset: 2px; }
