:root {
      --ink: #222631;
      --ink-soft: #626a7c;
      --navy: #222631;
      --navy-deep: #293247;
      --navy-edge: #3d4a69;
      --ivory: #f2f3f6;
      --paper: #fbfbfc;
      --sand: #e5e8ef;
      --line: #d8dce5;
      --bronze: #0045ff;
      --bronze-light: #6f91ff;
      --white: #ffffff;
      --content: 1180px;
      --serif: "Newsreader", Georgia, serif;
      --sans: "DM Sans", Arial, sans-serif;
      --brand-logo: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAACgCAYAAADXYHMgAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEs2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDI1LTA3LTE3PC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPjMzZjFhN2ExLTUwYWUtNDUxZC1hOWEzLWJlZDAxZDE1YzJhNjwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5EZXNpZ24gc2VtIG5vbWUgLSAxPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlv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");
    }

    *, *::before, *::after { box-sizing: border-box; }

    html {
      scroll-behavior: smooth;
      scroll-padding-top: 88px;
      -webkit-text-size-adjust: 100%;
    }

    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: var(--sans);
      font-size: 16px;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    body.menu-open { overflow: hidden; }
    ::selection { color: var(--white); background: var(--bronze); }
    a { color: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    button { font: inherit; }
    h1, h2, h3, p { margin-top: 0; }

    h1, h2 {
      font-family: var(--serif);
      font-weight: 400;
      letter-spacing: -.035em;
      text-wrap: balance;
    }

    :focus-visible {
      outline: 3px solid var(--bronze-light);
      outline-offset: 4px;
    }

    .skip-link {
      position: fixed;
      z-index: 1000;
      top: 12px;
      left: 12px;
      padding: .7rem 1rem;
      color: var(--navy);
      background: var(--white);
      transform: translateY(-160%);
      transition: transform .2s ease;
    }

    .skip-link:focus { transform: translateY(0); }

    .scroll-progress {
      position: fixed;
      z-index: 200;
      inset: 0 auto auto 0;
      width: 0;
      height: 3px;
      background: var(--bronze);
      pointer-events: none;
    }

    .wrap {
      width: min(calc(100% - 48px), var(--content));
      margin-inline: auto;
    }

    .eyebrow {
      display: flex;
      align-items: center;
      gap: .8rem;
      margin-bottom: 1.25rem;
      color: var(--bronze);
      font-size: .72rem;
      font-weight: 600;
      letter-spacing: .14em;
      line-height: 1.3;
      text-transform: uppercase;
    }

    .eyebrow::before {
      content: "";
      width: 26px;
      height: 1px;
      background: currentColor;
    }

    .section-head {
      display: grid;
      grid-template-columns: .8fr 1.2fr;
      gap: clamp(2rem, 6vw, 7rem);
      align-items: end;
      margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
    }

    .section-head h2 {
      max-width: 12ch;
      margin-bottom: 0;
      font-size: clamp(1.95rem, 3.2vw, 2.9rem);
      line-height: .98;
    }

    .section-intro {
      max-width: 590px;
      margin: 0;
      color: var(--ink-soft);
      font-size: .98rem;
    }

    .site-header {
      position: absolute;
      z-index: 100;
      top: 0;
      left: 0;
      width: 100%;
      color: var(--white);
      border-bottom: 1px solid rgba(255, 255, 255, .14);
    }

    .nav-shell {
      display: flex;
      min-height: 86px;
      align-items: center;
      justify-content: space-between;
      gap: 2rem;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      color: var(--white);
      text-decoration: none;
    }

    .official-logo {
      position: relative;
      display: block;
      width: 100%;
      aspect-ratio: 280 / 160;
    }

    .official-logo::before,
    .official-logo::after {
      content: "";
      position: absolute;
      inset: 0;
      background: var(--brand-logo) center / contain no-repeat;
    }

    .official-logo::before {
      filter: brightness(0) invert(1);
    }

    .official-logo::after {
      clip-path: inset(0 38.5% 46.5% 38.5%);
    }

    .official-logo--nav {
      width: 144px;
    }

    .official-logo--display {
      z-index: 1;
      width: min(78%, 320px);
    }

    .desktop-nav {
      display: flex;
      align-items: center;
      gap: clamp(1.1rem, 2.2vw, 2rem);
    }

    .desktop-nav a {
      position: relative;
      color: rgba(255, 255, 255, .72);
      font-size: .77rem;
      font-weight: 500;
      letter-spacing: .03em;
      text-decoration: none;
      transition: color .2s ease;
    }

    .desktop-nav a::after {
      content: "";
      position: absolute;
      right: 0;
      bottom: -.6rem;
      left: 0;
      height: 1px;
      background: var(--bronze-light);
      transform: scaleX(0);
      transform-origin: right;
      transition: transform .25s ease;
    }

    .desktop-nav a:hover,
    .desktop-nav a[aria-current="true"] { color: var(--white); }

    .desktop-nav a:hover::after,
    .desktop-nav a[aria-current="true"]::after {
      transform: scaleX(1);
      transform-origin: left;
    }

    .nav-cta {
      display: inline-flex;
      min-height: 44px;
      align-items: center;
      justify-content: center;
      padding: .72rem 1.05rem;
      border: 1px solid rgba(111, 145, 255, .72);
      color: var(--white) !important;
      letter-spacing: 0 !important;
      transition: color .2s ease, background .2s ease !important;
    }

    .nav-cta::after { display: none; }
    .nav-cta:hover { color: var(--navy) !important; background: var(--bronze-light); }

    .menu-button {
      display: none;
      width: 44px;
      height: 44px;
      padding: 0;
      border: 1px solid rgba(255, 255, 255, .24);
      color: var(--white);
      background: transparent;
      cursor: pointer;
    }

    .menu-button span,
    .menu-button::before,
    .menu-button::after {
      content: "";
      display: block;
      width: 18px;
      height: 1px;
      margin: 5px auto;
      background: currentColor;
      transition: transform .25s ease, opacity .2s ease;
    }

    .menu-open .menu-button span { opacity: 0; }
    .menu-open .menu-button::before { transform: translateY(6px) rotate(45deg); }
    .menu-open .menu-button::after { transform: translateY(-6px) rotate(-45deg); }

    .mobile-panel {
      display: none;
    }

    .hero {
      position: relative;
      display: grid;
      min-height: 100svh;
      align-items: stretch;
      overflow: hidden;
      color: var(--white);
      background: linear-gradient(108deg, #222631 0%, #242a38 43%, var(--navy-edge) 100%);
    }

    .hero::before {
      content: "";
      position: absolute;
      z-index: 0;
      top: -18%;
      right: -8%;
      width: min(58vw, 850px);
      aspect-ratio: 1;
      border: 1px solid rgba(111, 145, 255, .17);
      border-radius: 50%;
      box-shadow: 0 0 0 80px rgba(111, 145, 255, .025), 0 0 0 160px rgba(111, 145, 255, .018);
    }

    .hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, transparent 0 68%, rgba(0, 0, 0, .12));
      pointer-events: none;
    }

    .hero-grid {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
      gap: clamp(3rem, 8vw, 8rem);
      align-items: end;
      padding-top: 150px;
      padding-bottom: clamp(3rem, 7vh, 5.5rem);
    }

    .hero-copy { max-width: 760px; }

    .hero h1 {
      max-width: 12.5ch;
      margin-bottom: 1.6rem;
      font-size: clamp(2.5rem, 4.7vw, 4.35rem);
      line-height: .87;
    }

    .hero-lead {
      max-width: 660px;
      margin-bottom: 2.1rem;
      color: rgba(255, 255, 255, .7);
      font-size: clamp(.94rem, 1.2vw, 1.05rem);
      line-height: 1.72;
    }

    .button-row {
      display: flex;
      flex-wrap: wrap;
      gap: .8rem;
    }

    .button {
      display: inline-flex;
      min-height: 52px;
      align-items: center;
      justify-content: center;
      gap: 1.1rem;
      padding: .85rem 1.25rem;
      border: 1px solid var(--bronze);
      color: var(--navy);
      background: var(--bronze-light);
      font-size: .85rem;
      font-weight: 600;
      text-decoration: none;
      transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease;
    }

    .button::after {
      content: "↗";
      font-size: 1rem;
      font-weight: 400;
      transition: transform .25s ease;
    }

    .button:hover { transform: translateY(-2px); background: var(--white); border-color: var(--white); }
    .button:hover::after { transform: translate(2px, -2px); }

    .button-quiet {
      color: var(--white);
      background: transparent;
      border-color: rgba(255, 255, 255, .24);
    }

    .button-quiet::after { content: "↓"; }
    .button-quiet:hover { color: var(--navy); }

    .hero-aside {
      padding: 1.8rem 0 0 1.7rem;
      border-top: 1px solid rgba(111, 145, 255, .7);
      border-left: 1px solid rgba(255, 255, 255, .15);
    }

    .hero-aside-label {
      margin-bottom: 2rem;
      color: var(--bronze-light);
      font-size: .67rem;
      font-weight: 600;
      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .credential {
      padding: 1.1rem 0;
      border-bottom: 1px solid rgba(255, 255, 255, .13);
    }

    .credential:first-of-type { padding-top: 0; }
    .credential span { display: block; color: rgba(255, 255, 255, .48); font-size: .71rem; }
    .credential strong { display: block; margin-top: .2rem; font-family: var(--serif); font-size: 1.25rem; font-weight: 400; line-height: 1.2; }
    .credential a { color: var(--bronze-light); font-size: .75rem; text-underline-offset: 4px; }

    .urgency-note {
      color: var(--white);
      background: var(--bronze);
    }

    .urgency-inner {
      display: grid;
      grid-template-columns: auto 1fr auto;
      gap: 1.25rem;
      align-items: center;
      padding-block: 1.05rem;
    }

    .urgency-tag {
      font-size: .68rem;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .urgency-inner p { margin: 0; font-size: .85rem; line-height: 1.45; }
    .urgency-inner a { font-size: .8rem; font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: 4px; }

    .office {
      padding: clamp(5rem, 10vw, 9rem) 0;
      background: var(--paper);
    }

    .office-layout {
      display: grid;
      grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
      gap: clamp(3rem, 6vw, 5.5rem);
      align-items: start;
    }

    .office-identity {
      position: sticky;
      top: 120px;
    }

    .monogram-panel {
      position: relative;
      display: grid;
      min-height: 400px;
      place-items: center;
      overflow: hidden;
      color: var(--bronze-light);
      background: linear-gradient(135deg, #222631 0%, var(--navy-edge) 100%);
    }

    .monogram-panel::before,
    .monogram-panel::after {
      content: "";
      position: absolute;
      width: 70%;
      aspect-ratio: 1;
      border: 1px solid rgba(111, 145, 255, .15);
      border-radius: 50%;
    }

    .monogram-panel::after { width: 48%; }

    .profile-caption {
      margin: 1.25rem 0 0;
      padding-left: 1rem;
      border-left: 2px solid var(--bronze);
      color: var(--ink-soft);
      font-size: .8rem;
      line-height: 1.6;
    }

    .profile-caption strong { display: block; color: var(--ink); font-weight: 600; }

    .office-copy h2 {
      max-width: 10ch;
      margin-bottom: 2.3rem;
      font-size: clamp(2.15rem, 3.6vw, 3.3rem);
      line-height: .95;
    }

    .office-copy > p {
      margin-bottom: 1.25rem;
      color: var(--ink-soft);
      font-size: .96rem;
      line-height: 1.85;
    }

    .office-copy > p:first-of-type {
      color: var(--ink);
      font-family: var(--serif);
      font-size: clamp(1.22rem, 1.9vw, 1.55rem);
      line-height: 1.38;
    }

    .fact-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      margin-top: 3rem;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }

    .fact {
      padding: 1.35rem 1.2rem 1.35rem 0;
      border-right: 1px solid var(--line);
    }

    .fact + .fact { padding-left: 1.2rem; }
    .fact:last-child { border-right: 0; }
    .fact strong { display: block; color: var(--bronze); font-family: var(--serif); font-size: 1.75rem; font-weight: 400; line-height: 1; }
    .fact span { display: block; margin-top: .5rem; color: var(--ink-soft); font-size: .73rem; line-height: 1.4; }

    .practice {
      padding: clamp(5rem, 10vw, 9rem) 0;
      background: var(--ivory);
    }

    .practice-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      border-top: 1px solid var(--line);
    }

    .practice-card {
      position: relative;
      min-height: 290px;
      padding: 2rem clamp(1.5rem, 3vw, 2.5rem) 2.2rem 0;
      border-bottom: 1px solid var(--line);
    }

    .practice-card:nth-child(odd) { border-right: 1px solid var(--line); }
    .practice-card:nth-child(even) { padding-left: clamp(1.5rem, 3vw, 2.5rem); }

    .practice-number {
      display: block;
      margin-bottom: 3.4rem;
      color: var(--bronze);
      font-size: .72rem;
      font-weight: 600;
      letter-spacing: .12em;
    }

    .practice-card h3 {
      max-width: 17ch;
      margin-bottom: .9rem;
      font-family: var(--serif);
      font-size: clamp(1.3rem, 1.8vw, 1.6rem);
      font-weight: 400;
      letter-spacing: -.025em;
      line-height: 1.08;
    }

    .practice-card p {
      max-width: 52ch;
      margin: 0;
      color: var(--ink-soft);
      font-size: .91rem;
      line-height: 1.72;
    }

    .practice-card::after {
      content: "";
      position: absolute;
      right: 1.25rem;
      bottom: -1px;
      left: 0;
      height: 2px;
      background: var(--bronze);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .35s ease;
    }

    .practice-card:nth-child(even)::after { left: 2.5rem; }
    .practice-card:hover::after { transform: scaleX(1); }

    .process {
      position: relative;
      overflow: hidden;
      padding: clamp(5rem, 10vw, 9rem) 0;
      color: var(--white);
      background: linear-gradient(112deg, #222631 0%, #2d374d 100%);
    }

    .process::before {
      content: "";
      position: absolute;
      top: 0;
      right: 8vw;
      width: 1px;
      height: 100%;
      background: rgba(255, 255, 255, .07);
      box-shadow: -220px 0 rgba(255, 255, 255, .035), -440px 0 rgba(255, 255, 255, .035);
    }

    .process .section-head { position: relative; }
    .process .section-intro { color: rgba(255, 255, 255, .62); }

    .steps {
      position: relative;
      counter-reset: steps;
      border-top: 1px solid rgba(255, 255, 255, .18);
    }

    .step {
      display: grid;
      grid-template-columns: 70px .75fr 1.25fr;
      gap: clamp(1rem, 4vw, 4rem);
      align-items: start;
      padding: 1.75rem 0;
      border-bottom: 1px solid rgba(255, 255, 255, .14);
      counter-increment: steps;
    }

    .step::before {
      content: "0" counter(steps);
      color: var(--bronze-light);
      font-size: .74rem;
      font-weight: 600;
      letter-spacing: .1em;
    }

    .step h3 {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(1.22rem, 1.6vw, 1.45rem);
      font-weight: 400;
      line-height: 1.15;
    }

    .step p {
      max-width: 58ch;
      margin: 0;
      color: rgba(255, 255, 255, .62);
      font-size: .91rem;
      line-height: 1.7;
    }

    .principles {
      padding: clamp(5rem, 10vw, 9rem) 0;
      background: var(--paper);
    }

    .principles-layout {
      display: grid;
      grid-template-columns: .72fr 1.28fr;
      gap: clamp(3rem, 8vw, 8rem);
      align-items: start;
    }

    .principles-title {
      position: sticky;
      top: 120px;
    }

    .principles-title h2 {
      max-width: 9ch;
      margin-bottom: 1.5rem;
      font-size: clamp(2.1rem, 3.2vw, 2.95rem);
      line-height: .96;
    }

    .principles-title p { max-width: 34ch; color: var(--ink-soft); font-size: .92rem; }

    .principle-list { border-top: 1px solid var(--line); }

    .principle {
      display: grid;
      grid-template-columns: 42px 1fr;
      gap: 1.25rem;
      padding: 1.8rem 0;
      border-bottom: 1px solid var(--line);
    }

    .principle-mark {
      display: grid;
      width: 34px;
      height: 34px;
      place-items: center;
      margin-top: .1rem;
      border: 1px solid var(--bronze);
      color: var(--bronze);
      font-family: var(--serif);
      font-size: 1rem;
    }

    .principle h3 {
      margin-bottom: .45rem;
      font-family: var(--serif);
      font-size: 1.3rem;
      font-weight: 400;
      letter-spacing: -.02em;
      line-height: 1.2;
    }

    .principle p { margin: 0; color: var(--ink-soft); font-size: .91rem; line-height: 1.7; }

    .contact {
      padding: clamp(5rem, 9vw, 8rem) 0 0;
      color: var(--white);
      background: linear-gradient(108deg, #222631 0%, var(--navy-edge) 100%);
    }

    .contact-top {
      display: grid;
      grid-template-columns: 1.15fr .85fr;
      gap: clamp(3rem, 8vw, 8rem);
      align-items: end;
      padding-bottom: clamp(4rem, 7vw, 6.5rem);
    }

    .contact h2 {
      max-width: 10ch;
      margin-bottom: 1.4rem;
      font-size: clamp(2.3rem, 3.9vw, 3.55rem);
      line-height: .88;
    }

    .contact-note {
      max-width: 620px;
      margin: 0;
      color: rgba(255, 255, 255, .62);
      font-size: .94rem;
    }

    .contact-links { border-top: 1px solid rgba(255, 255, 255, .17); }

    .contact-link {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 1rem;
      align-items: center;
      padding: 1.15rem 0;
      border-bottom: 1px solid rgba(255, 255, 255, .14);
      text-decoration: none;
    }

    .contact-link small { display: block; color: rgba(255, 255, 255, .45); font-size: .67rem; letter-spacing: .1em; text-transform: uppercase; }
    .contact-link strong { display: block; margin-top: .25rem; font-family: var(--serif); font-size: 1.25rem; font-weight: 400; line-height: 1.2; }
    .contact-link > span:last-child { color: var(--bronze-light); font-size: 1.15rem; transition: transform .2s ease; }
    .contact-link:hover > span:last-child { transform: translate(3px, -3px); }

    .legal {
      padding: 2rem 0 2.5rem;
      border-top: 1px solid rgba(255, 255, 255, .12);
      color: rgba(255, 255, 255, .43);
      background: #222631;
      font-size: .7rem;
      line-height: 1.65;
    }

    .legal-grid {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 2rem;
      align-items: end;
    }

    .legal p { max-width: 920px; margin-bottom: .45rem; }
    .legal p:last-child { margin-bottom: 0; }
    .legal-year { white-space: nowrap; }

    .reveal {
      opacity: 0;
      transform: translateY(18px);
      transition: opacity .7s ease, transform .7s cubic-bezier(.2, .75, .25, 1);
    }

    .reveal.is-visible { opacity: 1; transform: none; }

    @media (max-width: 980px) {
      .desktop-nav { display: none; }
      .menu-button { display: block; }

      .mobile-panel {
        position: fixed;
        z-index: 90;
        inset: 0;
        display: grid;
        place-content: center;
        padding: 110px 24px 40px;
        color: var(--white);
        background: linear-gradient(145deg, #222631 0%, var(--navy-edge) 100%);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-12px);
        transition: opacity .25s ease, transform .25s ease, visibility .25s;
      }

      .menu-open .mobile-panel { opacity: 1; visibility: visible; transform: none; }
      .mobile-panel nav { display: grid; text-align: center; }
      .mobile-panel a { padding: .5rem 1rem; font-family: var(--serif); font-size: clamp(1.5rem, 6vw, 2.25rem); line-height: 1.25; text-decoration: none; }
      .mobile-panel .mobile-contact { margin-top: 1.5rem; color: var(--bronze-light); font-family: var(--sans); font-size: .8rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }

      .hero-grid { grid-template-columns: 1fr; gap: 3rem; }
      .hero-aside { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 1.5rem; }
      .hero-aside-label { grid-column: 1 / -1; margin-bottom: 1rem; }
      .section-head, .office-layout, .principles-layout, .contact-top { grid-template-columns: 1fr; }
      .section-head h2, .office-copy h2, .principles-title h2 { max-width: 14ch; }
      .office-identity, .principles-title { position: static; }
      .office-identity { display: grid; grid-template-columns: minmax(220px, .7fr) 1.3fr; gap: 1.5rem; align-items: end; }
      .monogram-panel { min-height: 320px; }
      .profile-caption { margin-bottom: 1rem; }
    }

    @media (max-width: 700px) {
      .wrap { width: min(calc(100% - 32px), var(--content)); }
      .nav-shell { min-height: 74px; }
      .official-logo--nav { width: 122px; }
      .hero-grid { min-height: 100svh; align-content: end; padding-top: 120px; }
      .hero h1 { font-size: clamp(2.35rem, 10.5vw, 3.25rem); }
      .hero-aside { grid-template-columns: 1fr; }
      .urgency-inner { grid-template-columns: 1fr auto; gap: .4rem 1rem; }
      .urgency-tag { grid-column: 1 / -1; }
      .office-identity { grid-template-columns: 1fr; }
      .monogram-panel { min-height: 300px; }
      .fact-grid { grid-template-columns: 1fr; }
      .fact, .fact + .fact { padding: 1.1rem 0; border-right: 0; border-bottom: 1px solid var(--line); }
      .fact:last-child { border-bottom: 0; }
      .practice-grid { grid-template-columns: 1fr; }
      .practice-card, .practice-card:nth-child(even) { min-height: 0; padding: 1.8rem 0 2.1rem; border-right: 0; }
      .practice-number { margin-bottom: 2rem; }
      .practice-card:nth-child(even)::after { left: 0; }
      .step { grid-template-columns: 44px 1fr; gap: .75rem 1rem; }
      .step p { grid-column: 2; }
      .principle { grid-template-columns: 34px 1fr; gap: 1rem; }
      .contact h2 { font-size: clamp(2.3rem, 10.5vw, 3.2rem); }
      .legal-grid { grid-template-columns: 1fr; }
      .legal-year { justify-self: start; }
    }

    /* Blocos híbridos — linguagem visual da opção 5 */
    .hybrid-heading {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 3rem;
      margin-bottom: 3.5rem;
    }

    .hybrid-heading h2 {
      max-width: 15ch;
      margin: 0;
      font-size: clamp(2rem, 3.4vw, 3.05rem);
      line-height: 1;
    }

    .hybrid-heading .section-intro {
      margin-top: .85rem;
    }

    .hybrid-index {
      color: var(--line);
      font-family: var(--serif);
      font-size: 3.6rem;
      line-height: .8;
    }

    .hybrid-mosaic {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-auto-rows: minmax(210px, auto);
      gap: 12px;
    }

    .hybrid-tile {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 1.5rem;
      border: 1px solid var(--line);
      background: var(--paper);
      transition: box-shadow .25s ease, transform .25s ease;
    }

    .hybrid-tile:first-child {
      grid-column: span 2;
      grid-row: span 2;
      color: var(--white);
      background: linear-gradient(145deg, #222631, var(--navy-edge));
      border: 0;
    }

    .hybrid-tile:hover {
      box-shadow: inset 0 -3px var(--bronze);
      transform: translateY(-2px);
    }

    .hybrid-tile-number {
      color: var(--bronze);
      font-size: .66rem;
      font-weight: 600;
      letter-spacing: .1em;
    }

    .hybrid-tile:first-child .hybrid-tile-number { color: var(--bronze-light); }

    .hybrid-tile h3 {
      max-width: 18ch;
      margin: 2rem 0 .65rem;
      font-family: var(--serif);
      font-size: 1.22rem;
      font-weight: 400;
      line-height: 1.16;
    }

    .hybrid-tile:first-child h3 { font-size: 1.85rem; }

    .hybrid-tile p {
      margin: 0;
      color: var(--ink-soft);
      font-size: .79rem;
      line-height: 1.62;
    }

    .hybrid-tile:first-child p {
      max-width: 58ch;
      color: rgba(255, 255, 255, .64);
      font-size: .87rem;
    }

    .hybrid-process .hybrid-heading { position: relative; }
    .hybrid-process .hybrid-index { color: rgba(255, 255, 255, .11); }
    .hybrid-process .section-intro { color: rgba(255, 255, 255, .62); }

    .hybrid-path {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
    }

    .hybrid-path-step {
      position: relative;
      padding: 2.25rem 1.15rem 1.2rem;
      border-top: 1px solid rgba(255, 255, 255, .2);
      border-right: 1px solid rgba(255, 255, 255, .12);
    }

    .hybrid-path-step:last-child { border-right: 0; }

    .hybrid-path-step::before {
      content: attr(data-step);
      position: absolute;
      top: -15px;
      left: 1.05rem;
      display: grid;
      width: 30px;
      height: 30px;
      place-items: center;
      color: var(--white);
      background: var(--bronze);
      font-size: .64rem;
      font-weight: 600;
    }

    .hybrid-path-step h3 {
      margin-bottom: .55rem;
      font-family: var(--serif);
      font-size: 1.08rem;
      font-weight: 400;
      line-height: 1.2;
    }

    .hybrid-path-step p {
      margin: 0;
      color: rgba(255, 255, 255, .58);
      font-size: .75rem;
      line-height: 1.62;
    }

    .hybrid-commit-layout {
      display: grid;
      grid-template-columns: .75fr 1.25fr;
      gap: clamp(3rem, 8vw, 7rem);
    }

    .hybrid-commit-intro {
      position: sticky;
      top: 115px;
      align-self: start;
    }

    .hybrid-commit-intro h2 {
      max-width: 11ch;
      margin-bottom: 1rem;
      font-size: clamp(2.1rem, 3.4vw, 3rem);
      line-height: 1;
    }

    .hybrid-commit-intro > p:last-child {
      max-width: 34ch;
      color: var(--ink-soft);
      font-size: .85rem;
    }

    .hybrid-accordions { border-top: 1px solid var(--line); }

    .hybrid-accordions details { border-bottom: 1px solid var(--line); }

    .hybrid-accordions summary {
      display: grid;
      grid-template-columns: 42px 1fr auto;
      gap: 1rem;
      align-items: center;
      padding: 1.35rem 0;
      cursor: pointer;
      list-style: none;
    }

    .hybrid-accordions summary::-webkit-details-marker { display: none; }
    .hybrid-accordions summary span { color: var(--bronze); font-size: .66rem; font-weight: 600; }
    .hybrid-accordions summary h3 { margin: 0; font-family: var(--serif); font-size: 1.2rem; font-weight: 400; }
    .hybrid-accordions summary::after { content: "+"; color: var(--bronze); font-size: 1.3rem; }
    .hybrid-accordions details[open] summary::after { content: "−"; }

    .hybrid-detail-copy {
      padding: 0 2.5rem 1.4rem 58px;
      color: var(--ink-soft);
      font-size: .83rem;
    }

    .hybrid-detail-copy p { margin: 0; }

    @media (max-width: 980px) {
      .hybrid-mosaic { grid-template-columns: repeat(2, 1fr); }
      .hybrid-path { grid-template-columns: repeat(2, 1fr); }
      .hybrid-path-step { border-bottom: 1px solid rgba(255, 255, 255, .12); }
      .hybrid-commit-layout { grid-template-columns: 1fr; }
      .hybrid-commit-intro { position: static; }
    }

    @media (max-width: 700px) {
      .hybrid-heading { align-items: start; }
      .hybrid-index { font-size: 2.5rem; }
      .hybrid-mosaic, .hybrid-path { grid-template-columns: 1fr; }
      .hybrid-tile:first-child { grid-column: auto; grid-row: auto; }
      .hybrid-tile:first-child h3 { font-size: 1.4rem; }
      .hybrid-path-step { border-right: 0; }
      .hybrid-detail-copy { padding-left: 0; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation: none !important; transition: none !important; }
      .reveal { opacity: 1; transform: none; }
    }

    @media print {
      .site-header, .mobile-panel, .scroll-progress, .urgency-note { display: none; }
      .hero { min-height: auto; }
      .hero-grid { padding-top: 4rem; }
      .reveal { opacity: 1; transform: none; }
    }


    /* ---- retrato do advogado (seção O escritório) ---- */
    .portrait-panel {
      position: relative;
      margin: 0;
      max-width: 300px;
      overflow: hidden;
      aspect-ratio: 3 / 4;
      background: linear-gradient(135deg, #222631 0%, var(--navy-edge) 100%);
    }

    .portrait-panel img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 12%;
    }


/* ==========================================================================
   HOME V2 — conteúdo institucional integrado ao sistema visual original
   Mantém o hero/navy original e adiciona somente os blocos necessários.
   ========================================================================== */

.home-statement {
  max-width: 19ch;
  margin: 0 0 clamp(2.7rem, 5vw, 4.6rem);
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(2rem, 4.1vw, 3.85rem);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: .98;
}

.tile-link {
  display: inline-block;
  margin-top: 1.15rem;
  color: var(--bronze-light);
  font-size: .72rem;
  font-weight: 600;
  text-decoration: none;
  text-underline-offset: 4px;
}

.tile-link:hover {
  text-decoration: underline;
}

.audience-section {
  padding: clamp(5rem, 10vw, 9rem) 0;
  background: var(--paper);
}

.audience-heading h2 {
  max-width: 13ch;
}

.audience-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 12px;
}

.audience-card {
  min-height: 330px;
  padding: clamp(1.8rem, 4vw, 3rem);
  border: 1px solid var(--line);
  background: var(--ivory);
}

.audience-card--primary {
  color: var(--white);
  border: 0;
  background: linear-gradient(145deg, #222631 0%, var(--navy-edge) 100%);
}

.audience-kicker {
  display: block;
  margin-bottom: clamp(3.6rem, 8vw, 6rem);
  color: var(--bronze);
  font-size: .67rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.audience-card--primary .audience-kicker {
  color: var(--bronze-light);
}

.audience-card h3 {
  max-width: 16ch;
  margin-bottom: .8rem;
  font-family: var(--serif);
  font-size: clamp(1.65rem, 2.5vw, 2.25rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.04;
}

.audience-card p {
  max-width: 58ch;
  margin: 0;
  color: var(--ink-soft);
  font-size: .88rem;
  line-height: 1.7;
}

.audience-card--primary p {
  color: rgba(255,255,255,.65);
}

.audience-card a {
  display: inline-block;
  margin-top: 1.45rem;
  color: var(--bronze);
  font-size: .75rem;
  font-weight: 600;
  text-decoration: none;
}

.audience-card--primary a {
  color: var(--bronze-light);
}

.audience-card a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.situations-section {
  padding: clamp(5rem, 10vw, 9rem) 0;
  background: var(--ivory);
}

.situations-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.situation-card {
  min-height: 250px;
  padding: 1.65rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.38);
  transition: background .25s ease, box-shadow .25s ease;
}

.situation-card:hover {
  background: var(--paper);
  box-shadow: inset 0 -3px var(--bronze);
}

.situation-card > span {
  display: block;
  margin-bottom: 3.6rem;
  color: var(--bronze);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .12em;
}

.situation-card h3 {
  max-width: 16ch;
  margin-bottom: .7rem;
  font-family: var(--serif);
  font-size: 1.35rem;
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1.08;
}

.situation-card p {
  margin: 0;
  color: var(--ink-soft);
  font-size: .8rem;
  line-height: 1.65;
}

.section-action {
  margin-top: 2rem;
}

.button-on-light {
  color: var(--navy);
  background: transparent;
}

.button-on-light::after {
  content: "↗";
}

.button-on-light:hover {
  color: var(--white);
  background: var(--navy);
  border-color: var(--navy);
}

.method-link-row {
  margin-top: 2.5rem !important;
}

.verification-section {
  padding: clamp(5rem, 10vw, 9rem) 0;
  background: var(--paper);
}

.verification-section .section-head h2 {
  max-width: 14ch;
}

.verification-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.verification-card {
  min-height: 260px;
  padding: clamp(1.7rem, 3vw, 2.5rem);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.verification-card > span {
  display: block;
  margin-bottom: 3rem;
  color: var(--bronze);
  font-size: .66rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.verification-card h3 {
  max-width: 17ch;
  margin-bottom: .7rem;
  font-family: var(--serif);
  font-size: clamp(1.45rem, 2vw, 1.85rem);
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1.08;
}

.verification-card p {
  max-width: 54ch;
  margin: 0;
  color: var(--ink-soft);
  font-size: .84rem;
  line-height: 1.7;
}

.verification-card a {
  display: inline-block;
  margin-top: 1.25rem;
  color: var(--bronze);
  font-size: .75rem;
  font-weight: 600;
  text-decoration: none;
}

.verification-card a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 980px) {
  .audience-grid {
    grid-template-columns: 1fr;
  }

  .situations-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 700px) {
  .home-statement {
    max-width: 15ch;
  }

  .audience-card {
    min-height: 0;
  }

  .audience-kicker {
    margin-bottom: 3rem;
  }

  .situations-grid,
  .verification-grid {
    grid-template-columns: 1fr;
  }

  .situation-card,
  .verification-card {
    min-height: 0;
  }

  .situation-card > span,
  .verification-card > span {
    margin-bottom: 2.2rem;
  }
}


/* Consolidação final — canais oficiais */
.contact-link > span:first-child {
  min-width: 0;
}
.contact-link strong {
  font-variant-numeric: tabular-nums;
}
.contact-link[href^="https://wa.me/"] strong {
  white-space: nowrap;
  letter-spacing: .01em;
}

/* ===== Patch v3 — logo SVG transparente + cabeçalho fixo com blur ===== */
:root {
  --brand-logo: url("assets/logo-gobboneto.svg");
}

html {
  scroll-padding-top: 104px;
}

.site-header {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  border-bottom: 1px solid rgba(255,255,255,.10);
  background: transparent;
  transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}

.site-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(26, 31, 43, .14);
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  opacity: .55;
  transition: opacity .25s ease, backdrop-filter .25s ease, -webkit-backdrop-filter .25s ease, background-color .25s ease;
}

.site-header > * {
  position: relative;
  z-index: 1;
}

.site-header.is-scrolled::before,
body.menu-open .site-header::before {
  opacity: 1;
  background: rgba(26, 31, 43, .42);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.site-header.is-scrolled,
body.menu-open .site-header {
  border-bottom-color: rgba(255,255,255,.12);
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}

.official-logo {
  isolation: isolate;
}

.official-logo::before,
.official-logo::after {
  background-color: transparent !important;
  background-image: var(--brand-logo) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}

.official-logo::before {
  filter: brightness(0) invert(1);
}

.official-logo::after {
  clip-path: inset(0 38.5% 46.5% 38.5%);
  filter: none;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header::before,
  .site-header.is-scrolled::before,
  body.menu-open .site-header::before {
    background: rgba(26, 31, 43, .88);
  }
}

@media (max-width: 900px) {
  .site-header::before {
    opacity: 1;
    background: rgba(26, 31, 43, .34);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
}

/* ===== Patch v4 — ajuste fino do logo no cabeçalho ===== */
.brand {
  align-items: center;
}

.official-logo--nav {
  width: 168px !important;
  max-width: 100%;
  margin: 0 auto;
}

@media (max-width: 900px) {
  .official-logo--nav {
    width: 148px !important;
  }
}
