/* immanait corporate design v0.3 — only brand blue #A6CAEC is used */
@font-face  {

  font-family: 'Geist';

  src: url('fonts/GeistVF.woff2') format('woff2');

  font-weight: 100 900;

  font-style: normal;

  font-display: swap;

}


:root  {
  --blue:#A6CAEC;
  --grey:#A6A6A6;
  --ink:#25292d;
  --copy:#4b5154;
  --muted:#62676a;
  --line:#e4e6e7;
  --white:#fff;
  --surface:#fafafa;
  --font:'Geist', system-ui, -apple-system, sans-serif;
}

*  {
  box-sizing:border-box;
}
 html {
  scroll-behavior:auto;
}
 body {
  margin:0;
  background:var(--white);
  color:var(--ink);
  font-family:var(--font);
  -webkit-font-smoothing:antialiased;
}
 a {
  color:inherit;
  text-decoration:none;
}
 img {
  max-width:100%;
}
 button,input {
  font:inherit;
}
 ::selection {
  background:var(--blue);
  color:#171717;
}

.skip-link {
  position:absolute;
  left:12px;
  top:-100px;
  z-index:100;
  background:#fff;
  padding:12px 18px;
  border:2px solid var(--ink);
}
.skip-link:focus {
  top:8px;
}

a:focus-visible,summary:focus-visible {
  outline:2px solid #292929;
  outline-offset:5px;
}

.site-header {
  border-bottom:1px solid var(--line);
  background:#fff;
}
.header-inner {
  max-width:1220px;
  margin:auto;
  min-height:109px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 34px;
  gap:35px;
}

.brand-logo {
  display:flex;
  align-items:center;
  flex:none;
  width:224px;
}
.brand-logo img {
  display:block;
  width:224px;
  height:auto;
}

.nav-desktop {
  display:flex;
  align-items:center;
  gap:27px;
  margin-left:auto;
}
.nav-desktop a {
  display:inline-flex;
  align-items:center;
  min-height:45px;
  position:relative;
  font-size:12.2px;
  letter-spacing:.01em;
  color:#4e5256;
  font-weight:500;
}
.nav-desktop a:hover {
  color:var(--ink);
}
.nav-desktop a[aria-current="page"] {
  color:#202427;
  font-weight:700;
}
.nav-desktop a[aria-current="page"]:after {
  content:"";
  position:absolute;
  bottom:1px;
  left:0;
  right:0;
  height:2px;
  background:var(--blue);
}

.mobile-nav {
  display:none;
}
.site-footer {
  margin-top:0;
  border-top:1px solid var(--line);
}
.footer-inner {
  max-width:1220px;
  margin:0 auto;
  padding:24px 34px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  font-size:11px;
  color:#62676a;
}
.footer-inner a {
  color:#4b5154;
}
.footer-inner a:hover {
  text-decoration:underline;
  text-underline-offset:4px;
}
.footer-links {
  display:flex;
  align-items:center;
  gap:28px;
}

 /* Homepage — finite gateway, not article or scrolling landing page */
.home-gateway {
  max-width:1130px;
  margin:auto;
  padding:50px 35px 39px;
}
.hero-intro {
  text-align:center;
}
.eyebrow {
  font-size:10.7px;
  font-weight:700;
  color:#656a6f;
  letter-spacing:.18em;
  margin:0;
  line-height:1.7;
}
.eyebrow-sep {
  padding:0 12px;
  color:var(--grey);
}
.hero-intro h1 {
  font-size:clamp(34px,3.55vw,53px);
  font-weight:400;
  letter-spacing:-.037em;
  line-height:1.22;
  margin:26px auto 0;
  max-width:1000px;
}
.no-break {
  white-space:nowrap;
}
.blue-tick {
  width:48px;
  height:3px;
  background:var(--blue);
  margin:24px auto 0;
}
.hero-principle {
  font-size:17px;
  line-height:1.5;
  font-weight:500;
  color:var(--ink);
  margin:18px auto 0;
  letter-spacing:.005em;
}
.hero-description {
  max-width:680px;
  margin:7px auto 0;
  color:#5f6367;
  font-size:14px;
  line-height:1.65;
  letter-spacing:.004em;
}

.gateway-duo {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:47px;
}
.gateway-tile {
  border:1px solid var(--line);
  border-radius:7px;
  padding:24px 29px 23px;
  display:flex;
  flex-direction:column;
  min-height:251px;
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
.gateway-tile:hover {
  border-color:#c8cbcd;
  box-shadow:0 12px 25px rgba(0,0,0,.045);
  transform:translateY(-2px);
}
.tile-overline,.card-index {
  font-size:10px;
  letter-spacing:.17em;
  font-weight:700;
  color:#62676a;
}
.tile-main {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:13px;
}
.tile-main h2 {
  font-size:41px;
  line-height:1;
  font-weight:400;
  letter-spacing:-.05em;
  margin:0;
}
.tile-arrow {
  font-size:23px;
  font-weight:300;
  color:#4a4a4a;
}
.tile-title {
  font-size:13px;
  font-weight:700;
  margin:15px 0 0;
  line-height:1.5;
}
.tile-detail {
  font-size:14px;
  line-height:1.55;
  color:#61666a;
  max-width:430px;
  margin:9px 0 0;
}
.tile-explore {
  font-size:12px;
  color:#34383b;
  font-weight:700;
  display:block;
  margin-top:auto;
  padding-top:17px;
}
.tile-explore span {
  margin-left:6px;
}

.research-path {
  display:grid;
  grid-template-columns:200px 1fr 24px;
  align-items:center;
  gap:18px;
  padding:21px 20px 20px;
  border:1px solid var(--line);
  border-radius:7px;
  margin-top:18px;
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
.research-path:hover {
  border-color:#c8cbcd;
  box-shadow:0 12px 25px rgba(0,0,0,.045);
  transform:translateY(-2px);
}
.research-label {
  font-size:10px;
  letter-spacing:.15em;
  font-weight:700;
  color:#62676a;
}
.research-name {
  font-size:14px;
  font-weight:700;
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.research-copy {
  font-size:12px;
  font-weight:400;
  color:#62676a;
}
.research-arrow {
  font-size:20px;
  justify-self:end;
}
.lifecycle {
  text-align:center;
  margin:28px 0 0;
  color:#62676a;
  font-size:10px;
  letter-spacing:.13em;
  font-weight:600;
}
.lifecycle span {
  margin:0 13px;
  color:var(--grey);
}

 /* Level 2 reference pages */
.depth-main {
  max-width:1130px;
  margin:0 auto;
  padding:66px 35px 88px;
}
.depth-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
}
.depth-heading h1,.short-main h1 {
  font-size:clamp(38px,4.1vw,61px);
  letter-spacing:-.047em;
  line-height:1.13;
  font-weight:400;
  margin:24px 0 0;
}
.depth-heading h1 {
  max-width:800px;
}
.punct {
  color:var(--blue);
}
.depth-subtitle {
  font-size:18px;
  color:#63696d;
  margin:20px 0 0;
  line-height:1.5;
}
.depth-meta {
  margin:63px 0 0;
  text-align:right;
  min-width:128px;
  font-size:12px;
  color:#62676a;
  line-height:1.8;
}
.depth-meta strong {
  font-weight:700;
  color:#4d5356;
}
.depth-orientation {
  display:grid;
  grid-template-columns:237px minmax(0,1fr);
  gap:40px;
  border-top:1px solid var(--line);
  padding:33px 0 39px;
  margin-top:48px;
}
.orientation-rail {
  display:flex;
  flex-direction:column;
  align-items:start;
  gap:12px;
}
.small-blue-line {
  background:var(--blue);
  width:45px;
  height:3px;
  display:block;
}
.orientation-rail p {
  font-size:10px;
  color:#72777a;
  letter-spacing:.15em;
  font-weight:700;
  margin:0;
  line-height:1.6;
}
.orientation-content {
  max-width:715px;
}
.orientation-content p {
  font-size:17px;
  color:#343a3d;
  line-height:1.73;
  margin:0 0 15px;
}
.orientation-content p:last-child {
  margin-bottom:0;
}
.orientation-content strong {
  font-weight:700;
  color:#282d30;
}

.concept-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.concept-card {
  border:1px solid var(--line);
  border-radius:7px;
  padding:27px 30px 33px;
  min-height:268px;
}
.vertical-divider {
  padding:0 6px;
  color:var(--grey);
}
.concept-card h2 {
  font-size:34px;
  letter-spacing:-.05em;
  line-height:1.1;
  font-weight:400;
  margin:17px 0 0;
}
.concept-sub {
  font-size:15px;
  font-weight:700;
  color:#33373a;
  margin:15px 0 10px;
}
.concept-card>p:last-child {
  color:#62676a;
  font-size:14px;
  line-height:1.73;
  margin:0;
  max-width:438px;
}

.depth-bottom {
  border-top:1px solid var(--line);
  margin-top:43px;
  padding-top:38px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:75px;
}
.depth-bottom h2 {
  font-size:28px;
  font-weight:400;
  letter-spacing:-.025em;
  line-height:1.26;
  margin:17px 0 16px;
}
.depth-bottom-left>p:last-child {
  font-size:14px;
  color:#646a6d;
  line-height:1.75;
  margin:0;
  max-width:455px;
}
.reading-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid var(--line);
  padding:15px 0;
}
.reading-row:first-of-type {
  margin-top:10px;
}
.reading-row strong {
  font-size:13px;
  font-weight:600;
  display:block;
}
.reading-row small {
  font-size:11px;
  color:#62676a;
  display:block;
  margin-top:6px;
}
.pending {
  font-size:9px;
  color:#62676a;
  font-weight:700;
  letter-spacing:.12em;
  white-space:nowrap;
}
.cross-reference {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding-top:23px;
  font-size:13px;
  font-weight:700;
  line-height:1.5;
}
.cross-reference:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}
.short-main {
  min-height:75vh;
}
.short-main .depth-orientation {
  margin-top:50px;
}
.small-muted {
  color:#62676a!important;
  font-size:13px!important;
}
.short-back {
  max-width:440px;
  border-bottom:1px solid var(--line);
  padding-bottom:18px;
}

@media(max-width:1070px) {
  .nav-desktop {
    gap:18px;
  }
  .header-inner {
    padding:0 28px;
  }
  .brand-logo,.brand-logo img {
    width:195px;
  }
  .no-break {
    white-space:normal;
  }
  .hero-intro h1 {
    font-size:46px;
  }
}

@media(max-width:820px) {
  .header-inner {
    min-height:89px;
  }
  .nav-desktop {
    display:none;
  }
  .mobile-nav {
    display:block;
    margin-left:auto;
    position:relative;
  }
  .mobile-nav summary {
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    list-style:none;
    border:1px solid var(--line);
    padding:11px 15px;
    border-radius:4px;
  }
  .mobile-nav summary::-webkit-details-marker {
    display:none;
  }
  .mobile-nav summary:after {
    content:' ☰';
    font-size:14px;
  }
  .mobile-nav[open] summary:after {
    content:' ×';
  }
  .mobile-nav .mobile-menu-list {
    position:absolute;
    top:52px;
    right:0;
    width:215px;
    background:white;
    border:1px solid var(--line);
    box-shadow:0 16px 30px rgba(0,0,0,.08);
    z-index:20;
    padding:9px 14px;
    display:flex;
    flex-direction:column;
  }
  .mobile-menu-list a {
    font-size:14px;
    padding:11px 6px;
    border-bottom:1px solid var(--line);
  }
  .mobile-menu-list a:last-child {
    border:0;
  }
  .mobile-menu-list a[aria-current="page"] {
    font-weight:700;
  }
  .home-gateway {
    padding-top:66px;
  }
  .hero-intro h1 {
    font-size:clamp(34px,5vw,45px);
  }
  .depth-main {
    padding-top:58px;
  }
  .depth-orientation {
    grid-template-columns:175px 1fr;
    gap:20px;
  }
  .depth-meta {
    display:none;
  }
  .depth-bottom {
    gap:35px;
  }
}

@media(max-width:620px) {
  .header-inner {
    min-height:76px;
    padding:0 20px;
  }
  .brand-logo,.brand-logo img {
    width:156px;
  }
  .home-gateway {
    padding:55px 20px 35px;
  }
  .hero-intro h1 {
    font-size:clamp(31px,8vw,42px);
    line-height:1.2;
    margin-top:22px;
  }
  .hero-intro h1 br {
    display:none;
  }
  .hero-principle {
    font-size:15px;
    margin-top:17px;
  }
  .hero-description {
    font-size:13px;
    margin-top:8px;
  }
  .blue-tick {
    margin-top:22px;
  }
  .gateway-duo {
    grid-template-columns:1fr;
    gap:13px;
    margin-top:39px;
  }
  .gateway-tile {
    min-height:207px;
    padding:21px 22px;
  }
  .tile-main h2 {
    font-size:35px;
  }
  .tile-detail {
    font-size:13px;
  }
  .research-path {
    grid-template-columns:1fr 23px;
    gap:8px;
    padding:22px 3px 19px;
  }
  .research-label {
    grid-column:1/-1;
  }
  .research-name {
    display:block;
    font-size:14px;
    line-height:1.6;
  }
  .research-copy {
    display:block;
    margin-top:4px;
  }
  .research-arrow {
    grid-column:2;
    grid-row:2;
  }
  .lifecycle {
    font-size:9px;
    line-height:2.2;
    margin-top:21px;
  }
  .lifecycle span {
    margin:0 5px;
  }
  .footer-inner {
    padding:20px;
    display:block;
    line-height:1.9;
  }
  .footer-links {
    margin-top:7px;
    flex-wrap:wrap;
    gap:11px 20px;
  }
  .depth-main {
    padding:48px 20px 65px;
  }
  .depth-heading h1,.short-main h1 {
    font-size:clamp(38px,9vw,49px);
    margin-top:17px;
  }
  .depth-subtitle {
    font-size:16px;
    margin-top:15px;
  }
  .depth-orientation {
    display:block;
    margin-top:32px;
    padding:24px 0 29px;
  }
  .orientation-rail {
    margin-bottom:20px;
  }
  .orientation-content p {
    font-size:15px;
    line-height:1.72;
  }
  .concept-grid {
    display:block;
  }
  .concept-card {
    margin-bottom:13px;
    min-height:0;
    padding:24px;
  }
  .concept-card h2 {
    font-size:30px;
  }
  .depth-bottom {
    display:block;
    margin-top:27px;
    padding-top:28px;
  }
  .depth-bottom-left {
    margin-bottom:37px;
  }
  .depth-bottom h2 {
    font-size:27px;
  }
  .reading-row {
    align-items:flex-start;
  }
  .pending {
    font-size:8px;
    margin-top:2px;
  }
  .short-main {
    min-height:72vh;
  }
}

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


 /* v0.4: Patent family and legal reference pages */
.nav-desktop  {
  gap:21px;
}

.legal-main .depth-hero > h1  {
  font-size:clamp(38px,4.1vw,61px);
  letter-spacing:-.047em;
  line-height:1.13;
  font-weight:400;
  margin:22px 0 0;
}

.legal-main h1  {
  font-size:clamp(38px,4.1vw,61px);
  letter-spacing:-.047em;
  line-height:1.13;
  font-weight:400;
}

.legal-main a.inline-underlined,.inline-underlined {
  text-decoration:underline;
  text-underline-offset:5px;
  text-decoration-color:#a6a6a6;
}

.patent-meta-grid  {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:2px 0 46px;
}

.patent-meta-grid > div  {
  border:1px solid var(--line);
  border-radius:6px;
  padding:23px 23px 26px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.patent-meta-grid strong  {
  font-size:18px;
  letter-spacing:-.025em;
  font-weight:500;
  line-height:1.3;
  overflow-wrap:anywhere;
}

.patent-meta-grid div > span:last-child  {
  font-size:12px;
  color:var(--muted);
}

.patent-status  {
  border-top:1px solid var(--line);
  padding-top:35px;
}

.section-eyebrow  {
  display:flex;
  align-items:center;
  gap:18px;
}

.patent-status h2  {
  font-size:30px;
  font-weight:400;
  letter-spacing:-.03em;
  line-height:1.25;
  margin:22px 0 9px;
}

.status-caption  {
  font-size:13px;
  color:var(--muted);
  line-height:1.75;
  max-width:760px;
  margin:0 0 20px;
}

.table-scroll  {
  overflow-x:auto;
  max-width:100%;
}

.patent-table  {
  border-collapse:collapse;
  width:100%;
  min-width:650px;
  text-align:left;
}

.patent-table th  {
  font-size:11px;
  letter-spacing:.075em;
  text-transform:uppercase;
  font-weight:700;
  color:#61666a;
  padding:15px 14px;
  border-bottom:2px solid var(--line);
}

.patent-table td  {
  font-size:14px;
  font-variant-numeric:tabular-nums;
  color:#303539;
  padding:15px 14px;
  border-bottom:1px solid var(--line);
}

.patent-table td:nth-child(4)  {
  font-weight:600;
}

.micro-note  {
  font-size:11px;
  line-height:1.8;
  color:var(--muted);
  max-width:830px;
  margin:16px 0 0;
}

.patents-bottom  {
  margin-top:42px;
}

.linked-row  {
  cursor:pointer;
}

.linked-row:hover strong  {
  text-decoration:underline;
  text-underline-offset:5px;
}

.legal-disclaimer  {
  font-size:11px;
  line-height:1.8;
  color:var(--muted);
  border-top:1px solid var(--line);
  padding-top:20px;
  margin:45px 0 0;
}

.draft-notice  {
  font-size:13px;
  line-height:1.75;
  background:#f6f6f6;
  border:1px solid #e4e6e7;
  padding:20px 25px;
  margin:43px 0;
}

.draft-notice strong  {
  font-weight:700;
}

.legal-sections  {
  margin-top:35px;
}

.legal-sections > section  {
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:240px 1fr;
  gap:35px;
  padding:31px 0;
}

.legal-sections > section > .eyebrow  {
  padding-top:9px;
}

.legal-sections h2  {
  font-size:27px;
  font-weight:400;
  letter-spacing:-.026em;
  line-height:1.3;
  margin:0;
}

.legal-body  {
  grid-column:2;
  font-size:15px;
  line-height:1.85;
  color:#444a4d;
}

.legal-body p  {
  margin:0 0 12px;
}

.legal-body p:last-child  {
  margin-bottom:0;
}

.legal-body a:hover  {
  text-decoration:underline;
  text-underline-offset:3px;
}

@media(max-width:820px) {
  .patent-meta-grid  {
    grid-template-columns:1fr 1fr;
  }
  .legal-sections > section  {
    grid-template-columns:175px 1fr;
    gap:20px;
  }
}

@media(max-width:620px) {
  .patent-meta-grid  {
    display:block;
    margin-bottom:30px;
  }
  .patent-meta-grid > div  {
    margin-bottom:11px;
  }
  .patent-status h2  {
    font-size:27px;
  }
  .legal-sections > section  {
    display:block;
    padding:26px 0;
  }
  .legal-sections h2  {
    margin:15px 0 10px;
  }
  .legal-body  {
    font-size:14px;
  }
  .draft-notice  {
    padding:17px 18px;
    margin:30px 0;
  }
  .footer-links  {
    gap:9px 17px;
  }
}


@media(max-width:620px) {

  .patent-table {
    min-width:0;
    width:100%;
  }

  .patent-table thead {
    display:none;
  }

  .patent-table tbody {
    display:block;
  }

  .patent-table tr {
    display:block;
    padding:12px 17px 15px;
    border:1px solid var(--line);
    border-radius:5px;
    margin-bottom:12px;
  }

  .patent-table td {
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    border:0;
    padding:8px 0;
    text-align:right;
    font-size:12px;
  }

  .patent-table td:first-child {
    font-size:15px;
    font-weight:700;
    text-align:left;
    padding-bottom:11px;
    border-bottom:1px solid var(--line);
    margin-bottom:4px;
  }

  .patent-table td:not(:first-child)::before {
    font-size:10px;
    font-weight:700;
    letter-spacing:.065em;
    text-align:left;
    color:#62676a;
    flex-shrink:0;
  }

  .patent-table td:nth-child(2)::before {
    content:'PATENT';
  }

  .patent-table td:nth-child(3)::before {
    content:'GRANT DATE';
  }

  .patent-table td:nth-child(4)::before {
    content:'STATUS';
  }

}



 /* v0.6: structured contact, curated publications, restrained research and four NEO principles */
.contact-detail {
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:26px;
  border-top:1px solid var(--line);
  padding-top:28px;
  margin-top:4px;
}

.contact-detail-item {
  padding:9px 0 18px;
}

.contact-detail-item>p:not(.eyebrow):not(.small-muted) {
  font-size:22px;
  line-height:1.4;
  letter-spacing:-.025em;
  margin:20px 0 6px;
}

.contact-placeholder {
  color:var(--muted);
  font-size:19px!important;
}

.contact-after-note {
  font-size:12px;
  color:var(--muted);
  line-height:1.75;
  margin:24px 0 0;
  max-width:660px;
}

.neo-grid .concept-card {
  min-height:224px;
  padding:24px 27px 27px;
}

.neo-grid .concept-card h2 {
  font-size:30px;
  margin-top:14px;
}

.neo-grid .concept-card>p:last-child {
  font-size:13px;
}

.neo-grid .concept-card .concept-sub {
  font-size:13px;
  margin-top:13px;
}

.research-duo .concept-card {
  min-height:225px;
}

.collection-topics {
  margin-top:8px;
}

.collection-row {
  display:grid;
  grid-template-columns:220px 1fr 30px;
  align-items:center;
  gap:18px;
  padding:29px 8px 30px;
  border-top:1px solid var(--line);
}

.collection-row:last-child {
  border-bottom:1px solid var(--line);
}

.collection-row:hover {
  background:var(--surface);
}

.collection-row h2 {
  font-size:24px;
  font-weight:400;
  letter-spacing:-.028em;
  margin:0 0 8px;
}

.collection-row p {
  font-size:13px;
  color:var(--muted);
  line-height:1.6;
  margin:0;
}

.collection-arrow {
  font-size:21px;
  justify-self:end;
}

.publications-policy {
  border-top:1px solid var(--line);
  margin-top:44px;
  padding-top:31px;
  display:grid;
  grid-template-columns:238px 1fr;
  gap:40px;
}

.publications-policy h2 {
  font-size:26px;
  font-weight:400;
  letter-spacing:-.025em;
  margin:0 0 12px;
}

.publications-policy p {
  font-size:14px;
  line-height:1.75;
  color:var(--muted);
  margin:0;
}

@media(max-width:820px) {
  .collection-row {
    grid-template-columns:160px 1fr 25px;
  }
  .publications-policy {
    grid-template-columns:165px 1fr;
    gap:24px;
  }
}

@media(max-width:620px) {
  .contact-detail {
    grid-template-columns:1fr;
    gap:8px;
  }
  .contact-detail-item>p:not(.eyebrow):not(.small-muted) {
    font-size:20px;
  }
  .neo-grid .concept-card {
    min-height:0;
  }
  .collection-row {
    grid-template-columns:1fr 25px;
    gap:10px;
    padding:24px 2px;
  }
  .collection-row .card-index {
    grid-column:1/-1;
  }
  .collection-row h2 {
    font-size:23px;
  }
  .publications-policy {
    display:block;
  }
  .publications-policy>div:last-child {
    margin-top:20px;
  }
}


 /* v0.8: scoped presentation for real publication links and third contact method */
.publication-category {
  border-top:1px solid var(--line);
}

.publication-category:last-child {
  border-bottom:1px solid var(--line);
}

.publication-category .collection-row {
  border:0;
  padding-bottom:12px;
}

.publication-category .collection-row:hover {
  background:transparent;
}

.publication-list {
  list-style:none;
  margin:0 0 23px 238px;
  padding:0;
}

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

.publication-list a {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:20px;
  font-size:13px;
  line-height:1.5;
  padding:11px 8px;
  text-decoration:none;
  color:var(--ink);
}

.publication-list a:hover span:first-child {
  text-decoration:underline;
  text-underline-offset:3px;
}

.publication-link-out {
  font-size:17px;
  flex:none;
}

.reading-intro {
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
  margin:6px 0 16px;
}

.contact-detail {
  grid-template-columns:1fr 1.65fr .8fr;
  gap:24px;
}

.contact-detail-item .contact-email {
  font-size:16px!important;
  letter-spacing:0!important;
  overflow-wrap:anywhere;
}

.contact-email a {
  color:var(--ink);
  text-underline-offset:4px;
}

.contact-detail-item .contact-threema {
  font-size:19px!important;
  letter-spacing:.015em!important;
}

@media(max-width:820px) {
  .publication-list {
    margin-left:178px;
  }
  .contact-detail {
    grid-template-columns:1fr 1.4fr;
  }
  .contact-detail-item:last-child {
    grid-column:1/-1;
  }
}

@media(max-width:620px) {
  .publication-list {
    margin-left:0;
  }
  .contact-detail {
    grid-template-columns:1fr;
    gap:8px;
  }
  .contact-detail-item:last-child {
    grid-column:auto;
  }
}




 /* immanait v0.9.3 — intentionally scoped Gutenberg-safe editorial reset.
   One brand blue (#A6CAEC). No global .wp-block-group margin override. */
:root  {
  --wp--style--block-gap:0px
}

.site-main  {
  --wp--style--block-gap:0px;
  max-width:1130px;
  margin-inline:auto;
}

.site-main :where(.wp-block-group)  {
  min-width:0;
}

.site-main :where(.wp-block-heading) {
  font-family:var(--font);
}

.site-main :where(p) {
  overflow-wrap:break-word;
}

 /* Visual reset: restore explicit margins overridden by the v0.9.2 global group rule. */
main.site-main .home-gateway .gateway-duo {
  margin-block-start:47px;
}

main.site-main .home-gateway .research-path {
  margin-block-start:18px;
}

main.site-main .depth-hero .depth-orientation {
  margin-block-start:48px;
}

main.site-main .depth-bottom {
  margin-block-start:55px;
}

main.site-main .neo-statement {
  margin-block-start:64px;
}

main.site-main .neo-applications {
  margin-block-start:55px;
}

main.site-main .neo-links {
  margin-block-start:46px;
}

 /* Approved display-title color adjustment only: match the original wordmark gray.
   No typography, sizing, spacing, positioning or other layout changes. */
.hero-intro h1,.depth-heading h1,.short-main h1 {
  color:var(--grey);
}

 /* WordPress heading markup is slightly different from the old HTML, but remains native/editable. */
.heading-copy {
  min-width:0;
}

.depth-heading .heading-copy h1 {
  margin-top:24px;
}

.depth-heading .depth-meta {
  flex-shrink:0;
}

.depth-orientation .rail-label {
  font-size:10px;
  letter-spacing:.15em;
  font-weight:700;
  color:var(--muted);
  margin:0;
}

.depth-orientation .orientation-rail,.neo-statement .orientation-rail {
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:flex-start;
}

.orientation-rail .small-blue-line {
  width:45px;
  height:3px;
  margin:0;
  background:var(--blue);
}

.orientation-content p {
  margin:0;
}

.orientation-content p + p {
  margin-top:15px;
}

 /* Native Gutenberg anchor yields a full clickable tile, without nested links or custom HTML blocks. */
.gateway-tile {
  position:relative;
  isolation:isolate;
}

.gateway-tile .tile-explore a {
  color:inherit;
  text-decoration:none;
}

.gateway-tile .tile-explore a::after {
  position:absolute;
  inset:0;
  content:"";
  z-index:1;
}

.gateway-tile:focus-within {
  outline:2px solid var(--ink);
  outline-offset:4px;
}

.gateway-tile .tile-explore a:focus-visible {
  outline:none;
}

.gateway-tile .tile-explore a:hover {
  text-decoration:underline;
  text-underline-offset:4px;
}

.gateway-tile .tile-overline {
  margin:0;
}

.gateway-tile .tile-arrow {
  margin:0;
}

 /* Home remains a portal, not a long landing page. */
.home-gateway {
  padding-block:59px 46px;
}

.hero-intro h1 {
  margin-top:29px;
}

.gateway-tile {
  min-height:235px;
}

.research-path {
  position:relative;
  grid-template-columns:200px minmax(0,1fr) 24px;
}

.research-path .research-label,.research-path .research-arrow {
  margin:0;
}

.research-path .research-name {
  display:block;
  margin:0;
}

.research-path .research-name>a {
  font-weight:700;
}

.research-path .research-name>a::after {
  position:absolute;
  inset:0;
  content:"";
  z-index:1;
}

.research-path .research-copy {
  display:inline;
  font-size:12px;
  font-weight:400;
  padding-left:16px;
}

@media(max-width:620px) {
  .research-path {
    grid-template-columns:minmax(0,1fr) 24px;
  }
  .research-path .research-label {
    grid-column:1/-1;
  }
  .research-path .research-copy {
    display:block;
    padding-left:0;
  }
}

.research-path:focus-within {
  outline:2px solid var(--ink);
  outline-offset:3px;
}

 /* Inner pages: each thought has its own space. */
.depth-main {
  padding-block:71px 100px;
}

.depth-heading h1 {
  max-width:820px;
}

.depth-orientation {
  padding-block:36px 43px;
}

.orientation-content {
  max-width:710px;
}

.orientation-content p {
  font-size:16px;
  line-height:1.72;
}

.concept-grid {
  gap:22px;
}

.concept-card {
  min-height:190px;
  padding:28px 31px 30px;
}

.concept-card h2 {
  font-size:29px;
  line-height:1.19;
  margin:17px 0 12px;
  letter-spacing:-.035em;
}

.concept-card .card-description {
  font-size:14px;
  line-height:1.68;
  color:var(--muted);
  margin:0;
  max-width:450px;
}

.neo-grid .concept-card {
  min-height:192px;
  padding:26px 30px 28px;
}

.neo-grid .concept-card h2 {
  font-size:25px;
  margin:16px 0 11px;
}

.neo-grid .concept-card .card-description {
  font-size:14px;
  line-height:1.62;
}

.depth-bottom {
  grid-template-columns:1fr 1fr;
  gap:75px;
  padding-top:39px;
}

.depth-bottom-left .bottom-copy {
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
  max-width:435px;
}

.depth-bottom h2 {
  margin-top:18px;
}

.linkline {
  margin:0;
  border-bottom:1px solid var(--line);
}

.linkline a.cross-reference {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  padding:15px 0;
  color:var(--ink);
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}

.linkline a.cross-reference:hover {
  text-decoration:underline;
  text-underline-offset:4px;
}

.kq-grid {
  margin-top:58px;
}

.kq-grid .concept-card {
  min-height:244px;
}

.kq-grid .concept-card h2 {
  font-size:29px;
}

 /* NEO hierarchy: mechanisms, thesis, two restrained application notes. */
.neo-statement {
  display:grid;
  grid-template-columns:237px minmax(0,1fr);
  gap:40px;
  border-top:1px solid var(--line);
  padding-top:36px;
}

.neo-statement-copy {
  max-width:755px;
}

.neo-statement h2 {
  font-size:clamp(29px,3vw,37px);
  line-height:1.2;
  font-weight:400;
  letter-spacing:-.037em;
  margin:0 0 13px;
}

.neo-statement-copy p {
  font-size:16px;
  line-height:1.73;
  color:var(--copy);
  margin:0;
}

.neo-applications {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:55px;
}

.neo-application {
  border-top:1px solid var(--line);
  padding-top:31px;
}

.neo-application h2 {
  font-size:24px;
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.25;
  margin:16px 0 13px;
}

.neo-application>p:last-child {
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
  margin:0;
  max-width:475px;
}

.neo-links {
  border-top:1px solid var(--line);
  display:flex;
  gap:36px;
  flex-wrap:wrap;
  padding-top:11px;
}

.neo-links .linkline {
  border:0;
  flex:1;
  min-width:165px;
}

 /* Publications and patents keep source attribution, but no confidential paper excerpts. */
.collection-topics {
  margin-top:3px;
}

.publication-category {
  border-top:1px solid var(--line);
}

.publication-category:last-child {
  border-bottom:1px solid var(--line);
}

.publication-category .collection-row {
  border:0;
  grid-template-columns:218px 1fr;
  padding:29px 6px 11px;
}

.publication-category .collection-row:hover {
  background:transparent;
}

.collection-description h2 {
  font-size:24px;
  font-weight:400;
  margin:0 0 7px;
  letter-spacing:-.03em;
}

.collection-description p {
  font-size:13px;
  color:var(--muted);
  margin:0;
  line-height:1.6;
}

.publication-list {
  margin:0 0 23px 235px;
  padding:0;
  list-style:none;
}

.publication-list li {
  border-top:1px solid var(--line);
  list-style:none;
}

.publication-list li::marker {
  content:none;
}

.publication-list li a {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:12px 6px;
  font-size:13px;
  line-height:1.65;
  color:var(--ink);
  text-decoration:none;
}

.publication-list li a span {
  margin-left:auto;
}

.publication-list li a:hover {
  text-decoration:underline;
  text-underline-offset:4px;
}

.publication-footnote {
  margin-top:27px;
  font-size:12px;
  color:var(--muted);
  line-height:1.6;
}

.patent-grid .concept-card {
  min-height:178px;
}

 /* Contact */
.contact-detail {
  margin-top:55px;
  display:grid;
  grid-template-columns:1fr 1.7fr .8fr;
  gap:23px;
}

.contact-detail-item {
  border-top:1px solid var(--line);
  padding-top:24px;
}

.contact-detail-item>p:not(.eyebrow) {
  font-size:18px;
  color:var(--ink);
  margin:17px 0 0;
  line-height:1.5;
}

.contact-detail-item .contact-email {
  font-size:15px!important;
  overflow-wrap:anywhere;
}

.contact-detail-item .contact-email a {
  text-decoration:underline;
  text-decoration-color:var(--grey);
  text-underline-offset:4px;
}

 /* Legal Notice is draft-only: complete identity and serviceable address before publication. */
@media(max-width:820px) {

  .depth-main {
    padding-top:58px;
  }

  .neo-statement {
    grid-template-columns:175px 1fr;
    gap:20px;
  }

  .neo-applications {
    gap:28px;
  }

  .publication-list {
    margin-left:177px;
  }

  .publication-category .collection-row {
    grid-template-columns:160px 1fr;
  }

  .contact-detail {
    grid-template-columns:1fr 1.6fr;
  }

  .contact-detail-item:last-child {
    grid-column:1/-1;
  }

}

@media(max-width:620px) {

  main.site-main .home-gateway .gateway-duo {
    margin-block-start:39px;
  }

  main.site-main .depth-hero .depth-orientation {
    margin-block-start:42px;
  }

  .home-gateway {
    padding:57px 20px 42px;
  }

  .gateway-tile {
    min-height:200px;
  }

  .research-path .research-copy {
    display:block;
    padding-left:0;
    margin-top:5px;
  }

  .depth-main {
    padding:52px 20px 76px;
  }

  .depth-heading .heading-copy h1 {
    margin-top:18px;
  }

  .depth-orientation {
    grid-template-columns:1fr;
    gap:20px;
    padding-block:27px 38px;
  }

  .orientation-content p {
    font-size:15px;
    line-height:1.7;
  }

  .concept-grid {
    grid-template-columns:1fr;
    gap:15px;
  }

  .kq-grid {
    margin-top:44px;
  }

  .kq-grid .concept-card {
    min-height:0;
  }

  .concept-card,.neo-grid .concept-card {
    min-height:0;
    padding:25px 25px 27px;
  }

  .concept-card h2,.neo-grid .concept-card h2 {
    font-size:27px;
  }

  main.site-main .depth-bottom {
    margin-block-start:43px;
  }

  .depth-bottom {
    grid-template-columns:1fr;
    gap:26px;
  }

  .neo-statement {
    grid-template-columns:1fr;
    gap:23px;
    padding-top:31px;
  }

  main.site-main .neo-statement {
    margin-block-start:47px;
  }

  .neo-statement h2 {
    font-size:31px;
  }

  .neo-applications {
    grid-template-columns:1fr;
    gap:36px;
  }

  main.site-main .neo-applications {
    margin-block-start:43px;
  }

  .neo-links {
    gap:0;
    display:block;
  }

  main.site-main .neo-links {
    margin-block-start:36px;
  }

  .publication-category .collection-row {
    grid-template-columns:1fr;
    padding:24px 2px 16px;
    gap:12px;
  }

  .publication-list {
    margin-left:0;
  }

  .contact-detail {
    grid-template-columns:1fr;
    gap:22px;
    margin-top:42px;
  }

  .contact-detail-item:last-child {
    grid-column:auto;
  }

}

@media(prefers-reduced-motion:reduce) {
  .gateway-tile,.research-path {
    transition:none;
  }
  .research-path:hover {
    transform:none;
  }
}


 /* v0.9.3c: all headings, subheadings and category/section labels use logo gray.
   Brand blue remains reserved for small graphic accents; no spacing/geometry changes. */
.site-main :is(h2,h3) {
  color:var(--grey);
}

.site-main .eyebrow,
.site-main .tile-overline,
.site-main .card-index,
.site-main .research-label,
.site-main .rail-label {
  color:var(--grey);
}

 /* Gutenberg body inherits reset colors identically to the offline full review. */

 /* v0.9.3d — Home hero only: left-aligned on the existing KQ/NEO content axis.
   No changes to typography, color, vertical rhythm or inner-page layout. */
main.site-main .home-gateway .hero-intro {
  text-align:left;
}

main.site-main .home-gateway .hero-intro h1 {
  max-width:850px;
  margin-inline:0;
}

main.site-main .home-gateway .hero-intro .blue-tick {
  margin-inline:0;
}

main.site-main .home-gateway .hero-intro .hero-principle {
  max-width:750px;
  margin-inline:0;
}


 /* v0.9.3e — Shared horizontal Home grid: align Home content with the
   logo and navigation's 1220px header container. Content and vertical rhythm
   are unchanged. The homepage alone receives the wider shared container. */
main.site-main.home-main {
  max-width:1220px;
}

main.site-main.home-main > .home-gateway {
  max-width:1220px;
  padding-inline:34px;
}

@media(max-width:1070px) {

  main.site-main.home-main > .home-gateway {
    padding-inline:28px;
  }

}

@media(max-width:620px) {

  main.site-main.home-main > .home-gateway {
    padding-inline:20px;
  }

}


 /* v0.9.3f — Refined Home, restrained type scale. No changes to page copy or
   architecture content; left-aligned Home shares the header's horizontal axis. */
main.site-main.home-main .hero-period {
  color:var(--blue);
}

 /* With the overline removed, preserve an intentional quiet opening above h1. */
main.site-main.home-main .hero-intro h1 {
  margin-top:0;
}

 /* Make the sparse hero rhythm deliberate without a redundant introductory label. */
main.site-main.home-main .hero-intro .blue-tick {
  margin-top:24px;
}

 /* Harmonize related type roles rather than layering one-off font sizes. */
.nav-desktop a {
  font-size:13px;
}

.site-main :is(.eyebrow,.tile-overline,.card-index,.research-label,.rail-label),
.site-main .orientation-rail p {
  font-size:11px;
}

.site-main :is(.tile-explore,.research-copy,.collection-description p,.publication-footnote) {
  font-size:13px;
}

.site-main .hero-principle,.site-main .depth-subtitle {
  font-size:16px;
}

.site-main .concept-card h2,.site-main .neo-grid .concept-card h2,
.site-main .kq-grid .concept-card h2,.site-main .neo-application h2 {
  font-size:27px;
}

 /* A long, non-promotional status belongs in the sitewide footer. */
.footer-inner {
  column-gap:26px;
}

.footer-status {
  font-size:11px;
  letter-spacing:.025em;
  line-height:1.6;
}

.footer-links {
  flex-shrink:0;
}

@media(max-width:820px) {

  .footer-inner {
    flex-wrap:wrap;
    row-gap:10px;
  }

  .footer-links {
    flex-wrap:wrap;
  }

}

@media(max-width:620px) {

  .site-main .tile-detail {
    font-size:14px;
  }

  .site-main .hero-principle,.site-main .depth-subtitle {
    font-size:15px;
  }

  .footer-inner {
    display:block;
  }

  .footer-status {
    display:block;
  }

  .footer-links {
    margin-top:11px;
  }

}



 /* v0.9.3g — align all reference pages with the common Home/header grid.
   This changes the horizontal axis only; vertical rhythm and content hierarchy stay intact. */
main.site-main.depth-main {
  max-width:1220px;
  padding-inline:34px;
}

@media(max-width:1070px) {
  main.site-main.depth-main {
    padding-inline:28px;
  }
}

@media(max-width:620px) {
  main.site-main.depth-main {
    padding-inline:20px;
  }
}

 /* Keep the Research Horizon gateway bordered like KQ and NEO;
   contact separators remain minimal. */
main.site-main.contact-main .contact-detail {
  border-top:0;
}



 /* v0.9.3i — Publications: match the text axis of THE LIBRARY and all
   three publication category titles (including their source links). */
main.site-main .publication-category .collection-row  {

  grid-template-columns:237px minmax(0,1fr);

  column-gap:40px;
  padding-inline:0;

}

main.site-main .publication-list  {
  margin-left:277px;
}

main.site-main .publication-list li a  {
  padding-inline:0;
}

@media(max-width:820px)  {

  main.site-main .publication-category .collection-row  {

    grid-template-columns:175px minmax(0,1fr);
    column-gap:20px;

  }

  main.site-main .publication-list  {
    margin-left:195px;
  }

}

@media(max-width:620px)  {

  main.site-main .publication-category .collection-row  {

    grid-template-columns:minmax(0,1fr);
    row-gap:12px;
    padding-inline:0;

  }

  main.site-main .publication-list  {
    margin-left:0;
  }

}


 /* NEO: free the desktop title from the previous hard line break and h1
   max-width; the text wraps naturally on smaller displays. */
main.site-main.neo-main .depth-heading h1  {
  max-width:none;
}


 /* v0.9.5: the pre-market status is a subtle, identifiable internal link. */
.footer-status a {
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-color:var(--blue);
}


 /* v0.9.7: optical clearance for the blue terminal dot only.
   Original Geist heading tracking and all layout parameters remain unchanged. */
.hero-intro h1 .hero-period,
.depth-heading h1 .punct,
.short-main h1 .punct  {
  margin-inline-start: .055em;
}



 /* v0.9.8 — one restrained, native Home > Brand disclosure. The existing
   header dimensions, type sizes, colors and other navigation items are intact. */
.visually-hidden {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.nav-desktop :is(.nav-home-group,.nav-dropdown-group) {
  display:flex;
  align-items:center;
  position:relative;
  gap:3px;
}

.nav-desktop .nav-submenu {
  position:relative;
}

.nav-desktop .nav-submenu>summary {
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:center;
  width:17px;
  min-height:45px;
  cursor:pointer;
  color:#60666a;
}

.nav-desktop .nav-submenu>summary::-webkit-details-marker {
  display:none;
}

.nav-desktop .nav-submenu>summary::after {
  content:"";
  display:block;
  width:5px;
  height:5px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .12s ease;
}

.nav-desktop .nav-submenu[open]>summary::after {
  transform:translateY(1px) rotate(225deg);
}

.nav-desktop .nav-submenu-panel {
  position:absolute;
  z-index:60;
  top:calc(100% - 2px);
  left:-55px;
  min-width:138px;
  padding:7px 10px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 25px rgba(0,0,0,.06);
  border-radius:4px;
}

.nav-desktop .nav-submenu-panel a {
  display:flex;
  min-height:36px;
  padding:0 10px;
  font-size:12.2px;
  letter-spacing:.01em;
}

.nav-desktop .nav-submenu-panel a[aria-current="page"] {
  color:#202427;
  font-weight:700;
}

.nav-desktop .nav-submenu-panel a[aria-current="page"]::after {
  display:none;
}

.site-header {
  position:relative;
  z-index:200;
}

 /* Only the nested disclosure is new; the existing mobile Menu remains intact. */
.mobile-menu-list :is(.mobile-home-group,.mobile-dropdown-group) {
  display:block;
  position:relative;
  border-bottom:1px solid var(--line);
}

.mobile-menu-list :is(.mobile-home-group,.mobile-dropdown-group)>a {
  position:absolute;
  z-index:1;
  top:0;
  left:0;
  right:43px;
  min-height:44px;
  display:flex;
  align-items:center;
  border:0;
}

.mobile-nav .mobile-menu-list .mobile-submenu {
  display:block;
  width:100%;
}

.mobile-nav .mobile-menu-list .mobile-submenu>summary {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:100%;
  height:44px;
  padding:0 16px;
  margin:0;
  border:0;
  list-style:none;
  cursor:pointer;
  font-size:0;
  line-height:1;
  border-radius:0;
}

.mobile-nav .mobile-menu-list .mobile-submenu>summary::-webkit-details-marker {
  display:none;
}

.mobile-nav .mobile-menu-list .mobile-submenu>summary::after {
  content:"";
  display:block;
  width:6px;
  height:6px;
  border-right:1px solid #62676a;
  border-bottom:1px solid #62676a;
  transform:rotate(45deg);
  font-size:inherit;
}

.mobile-nav .mobile-menu-list .mobile-submenu[open]>summary::after {
  transform:rotate(225deg);
}

.mobile-nav .mobile-menu-list .mobile-submenu-panel {
  width:100%;
  padding-left:15px;
  border-top:1px solid var(--line);
}

.mobile-nav .mobile-menu-list .mobile-submenu-panel a {
  display:block;
  border:0;
  padding:10px 6px;
  font-size:13px;
}

.mobile-nav .mobile-menu-list .mobile-submenu-panel a[aria-current="page"] {
  font-weight:700;
}

 /* Brand alone follows the established depth-page typography and left axis. */
.brand-main .brand-orientation+.brand-orientation {
  margin-top:0;
}

.brand-main .brand-orientation:last-child {
  border-bottom:1px solid var(--line);
}

.brand-main .depth-subtitle {
  max-width:720px;
}

@media(max-width:1070px) and (min-width:821px) {
  .nav-desktop {
    gap:17px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .nav-desktop .nav-submenu>summary::after {
    transition:none;
  }
}


 /* v0.9.9 — one lead statement for the public Brand excerpt; scoped to this page. */
main.brand-main .brand-premise {
  font-size:21px;
  line-height:1.42;
  letter-spacing:-.025em;
  color:var(--ink);
  font-weight:600;
}

@media(max-width:620px) {
  main.brand-main .brand-premise {
    font-size:19px;
  }
}



 /* v0.9.10 — keep submenu entries typographically equal to main navigation.
   Active Brand remains programmatically identified by aria-current, not bold. */
.nav-desktop .nav-submenu-panel a,
.nav-desktop .nav-submenu-panel a[aria-current="page"]  {

  font-size:13px;

  font-weight:500;

  color:#4e5256;

}

.mobile-nav .mobile-menu-list .mobile-submenu-panel a,
.mobile-nav .mobile-menu-list .mobile-submenu-panel a[aria-current="page"]  {

  font-size:14px;

  font-weight:400;

}


 /* Consolidation: identical Publications submenu behavior on every page.
   Strategy keeps its own page treatment; site header remains shared. */
.nav-desktop .nav-dropdown-group>a.nav-section-active {
  color:var(--ink)
}

.nav-desktop .nav-dropdown-group>a.nav-section-active::after {
  content:"";
  position:absolute;
  bottom:1px;
  left:0;
  right:0;
  height:2px;
  background:var(--blue)
}

.nav-desktop .nav-submenu-panel a[aria-current="page"],
.mobile-nav .mobile-menu-list .mobile-submenu-panel a[aria-current="page"] {
  font-weight:inherit
}

 /* Logo grey for standard top-level page titles; strategy canvas is exempt. */
main.site-main h1 {
  color:var(--grey)
}

 /* Reserve a genuine 43px tap target for each mobile submenu trigger. */
.mobile-nav .mobile-menu-list .mobile-submenu>summary {
  width:43px;
  margin-left:auto;
  padding-right:16px
}


 /* Local, opt-in additions for accessibility and publication metadata (no change to color tokens). */

 /* Long approved phrase: allow intentional line wrapping at smaller widths. */
.hero-intro h1 .enterprise-intelligence {
  white-space:normal;
}



/* v0.43.4 — discreet menu motion only; site palette, layout and typography preserved.
   Element height is animated via nav.js where needed. Native details still work
   when scripting is unavailable. */
.nav-desktop .nav-submenu>summary::after,
.mobile-nav .mobile-menu-list .mobile-submenu>summary::after {
  transition: transform 150ms ease;
}
.nav-desktop .nav-submenu.is-closing>summary::after {
  transform:translateY(-2px) rotate(45deg);
}
.mobile-nav .mobile-menu-list .mobile-submenu.is-closing>summary::after {
  transform:rotate(45deg);
}
@media (max-width:820px) {
  .mobile-nav .mobile-menu-list {
    max-height:calc(100dvh - 110px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
}
@media(prefers-reduced-motion:reduce) {
  .nav-desktop .nav-submenu>summary::after,
  .mobile-nav .mobile-menu-list .mobile-submenu>summary::after {
    transition:none;
  }
}



/* v1.0.1: restore the pre-v1.0 styles for CTAs, publication lists,
   arrow-marked links and component links. Only explicitly scoped editorial
   links in their own components carry an always-visible understated underline. */
/* Desktop Publications submenu can show full entry on one line. */
.nav-desktop .nav-dropdown-group .nav-submenu-panel {
  left: auto;
  right: -8px;
  min-width: max-content;
  max-width: calc(100vw - 24px);
}
.nav-desktop .nav-dropdown-group .nav-submenu-panel a { white-space: nowrap; }
/* Mobile: enlarge just the submenu panel, keep tap targets and all timers. */
@media (max-width:820px) {
  .mobile-nav .mobile-menu-list { width: min(305px, calc(100vw - 38px)); }
  .mobile-nav .mobile-menu-list .mobile-submenu-panel a { white-space:nowrap; }
}
/* Contact: keep the contextual LinkedIn link; the ORCID reference now lives
   with the publications overview (v1.0.2). */
.contact-main .orientation-content p a {
  color:inherit;
  text-decoration-line:underline;
  text-decoration-color:var(--blue);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.contact-main .orientation-content p a:hover { text-decoration-color:currentColor; }

/* Research identity is secondary bibliographic metadata, visually subordinate
   to the Publications intro, not an extra heading or publication-list item. */
.publication-main .orientation-content p.publication-orcid {
  margin:10px 0 0;
  font-size:13px;
  line-height:1.6;
  color:var(--muted);
}
.publication-main .publication-orcid a {
  color:inherit;
  text-decoration:none;
}
.publication-main .publication-orcid a:hover,
.publication-main .publication-orcid a:focus-visible {
  text-decoration:underline;
  text-decoration-color:var(--blue);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.publication-main .publication-orcid a .external-arrow {
  color:var(--blue);
  font-size:.92em;
}
