:root {
  --midnight: #0f1728;
  --slate: #1e293b;
  --teal: #15b8a6;
  --teal-accessible: #0f766e;
  --coral: #f25543;
  --cloud: #f8fafc;
  --paper: #ffffff;
  --mist: #eef2f4;
  --line: #d6dde2;
  --muted: #556173;
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--cloud); color: var(--midnight); font-family: var(--font); -webkit-font-smoothing: antialiased; }
body:has(dialog[open]) { overflow: hidden; }
a { color: inherit; }
button, input, textarea { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #43c9ef; outline-offset: 4px; }
.skip-link { position: fixed; left: 18px; top: 12px; z-index: 100; padding: 11px 15px; transform: translateY(-160%); background: var(--paper); font-weight: 800; }
.skip-link:focus { transform: translateY(0); }

.site-header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; width: min(100%, 1320px); min-height: 88px; margin: 0 auto; padding: 0 clamp(28px, 4.5vw, 64px); }
.brand { display: inline-flex; align-items: center; gap: 12px; width: fit-content; color: var(--midnight); font-size: 15px; font-weight: 850; letter-spacing: .07em; text-decoration: none; }
.brand img { width: 42px; height: 37px; object-fit: contain; background: #000; }
.site-header nav { display: flex; gap: clamp(25px, 3.2vw, 48px); }
.site-header nav a { font-size: 13px; font-weight: 700; text-decoration: none; }
.site-header nav a:hover { color: var(--teal-accessible); }
.header-cta { justify-self: end; min-height: 44px; padding: 0 18px; border: 1px solid var(--midnight); background: transparent; cursor: pointer; font-size: 12px; font-weight: 800; }
.header-cta:hover, .button-outline:hover { background: var(--midnight); color: #fff; }

.eyebrow, .section-label, .article-topic { margin: 0; color: var(--teal-accessible); font-size: 11px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.section-label-light { color: #54d4c6; }
.hero { display: grid; grid-template-columns: minmax(0, 1.36fr) minmax(250px, .64fr); gap: clamp(45px, 7vw, 106px); align-items: center; width: min(100%, 1320px); min-height: 650px; margin: 0 auto; padding: clamp(74px, 9vw, 116px) clamp(28px, 4.5vw, 64px) 62px; }
.hero-copy { max-width: 760px; }
.hero h1 { max-width: 720px; margin: 24px 0 24px; font-size: clamp(57px, 6.4vw, 92px); font-weight: 860; letter-spacing: -.064em; line-height: .93; }
.hero h1 span { display: block; }
.hero-lede { max-width: 690px; margin-bottom: 31px; color: #344156; font-size: clamp(17px, 1.45vw, 21px); line-height: 1.62; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 30px; }
.button { display: inline-flex; min-height: 49px; align-items: center; justify-content: center; padding: 12px 21px; border: 0; border-radius: 0; cursor: pointer; font-size: 12px; font-weight: 820; text-decoration: none; }
.button-primary { background: var(--teal-accessible); color: #fff; }
.button-primary:hover { background: #0a5f59; }
.button-outline { border: 1px solid var(--teal-accessible); background: transparent; color: var(--teal-accessible); }
.text-link, .article-link, .text-button { color: var(--teal-accessible); font-size: 12px; font-weight: 800; text-decoration: none; }
.text-link { padding-bottom: 6px; border-bottom: 1px solid var(--teal-accessible); }
.text-link span, .article-link span, .text-button span { margin-left: 7px; }
.hero-mark { display: grid; place-items: center; aspect-ratio: 1 / 1; width: min(100%, 390px); justify-self: end; background: #000; }
.hero-mark img { width: 76%; height: auto; }
.hero-promise { grid-column: 1 / -1; display: flex; align-items: center; gap: 24px; margin: 18px 0 0; color: #233047; font-size: 13px; line-height: 1.5; }
.hero-promise span { width: 65px; height: 2px; background: var(--teal-accessible); }

.section-rule { border-top: 1px solid var(--mist); background: var(--paper); }
.section-heading { width: min(100%, 1320px); margin: 0 auto; padding: 76px clamp(28px, 4.5vw, 64px) 40px; }
.section-heading::before { content: ""; display: block; width: 35px; height: 2px; margin-bottom: 24px; background: var(--teal-accessible); }
.section-heading h2 { margin: 17px 0 0; font-size: clamp(38px, 4vw, 58px); letter-spacing: -.045em; line-height: 1.02; }
.role { padding-bottom: 82px; }
.ownership-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(100%, 1320px); margin: 0 auto; padding: 0 clamp(28px, 4.5vw, 64px); }
.ownership-grid article { min-height: 245px; padding: 0 34px 0 0; border-right: 1px solid var(--line); }
.ownership-grid article + article { padding-left: 34px; }
.ownership-grid article:last-child { padding-right: 0; border-right: 0; }
.ownership-grid span { color: var(--teal-accessible); font-size: 12px; font-weight: 780; }
.ownership-grid h3 { margin: 28px 0 14px; font-size: clamp(21px, 2vw, 28px); letter-spacing: -.03em; }
.ownership-grid p { max-width: 360px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.67; }

.engagement { display: grid; grid-template-columns: .82fr 1fr; gap: clamp(52px, 8vw, 122px); padding: 102px max(clamp(28px, 4.5vw, 64px), calc((100vw - 1320px) / 2 + 64px)); background: var(--midnight); color: #fff; }
.engagement-intro { align-self: start; }
.engagement-intro h2 { margin: 23px 0 27px; font-size: clamp(44px, 4.8vw, 70px); letter-spacing: -.055em; line-height: .98; }
.engagement-intro > p:last-child { max-width: 600px; color: #b8c2cf; font-size: 16px; line-height: 1.68; }
.engagement-steps { margin: 0; padding: 0; border-top: 1px solid #435065; list-style: none; }
.engagement-steps li { display: grid; grid-template-columns: 104px 1fr; gap: 28px; padding: 29px 0 32px; border-bottom: 1px solid #435065; }
.engagement-steps li > span { color: #54d4c6; font-size: 10px; font-weight: 760; letter-spacing: .09em; }
.engagement-steps h3 { margin: -4px 0 10px; font-size: 24px; }
.engagement-steps p { max-width: 570px; margin: 0; color: #aeb8c7; font-size: 14px; line-height: 1.62; }
.engagement-foot { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 35px; align-items: center; margin-top: 8px; padding-top: 26px; border-top: 1px solid #435065; }
.engagement-foot p { max-width: 710px; margin: 0; color: #b8c2cf; font-size: 13px; line-height: 1.55; }
.engagement-foot strong { color: #fff; }
.text-button { padding: 0 0 6px; border: 0; border-bottom: 1px solid #54d4c6; background: transparent; color: #54d4c6; cursor: pointer; }

.commercial { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(58px, 9vw, 145px); padding: 106px max(clamp(28px, 4.5vw, 64px), calc((100vw - 1320px) / 2 + 64px)); background: var(--mist); }
.commercial-statement h2 { max-width: 750px; margin: 24px 0 0; font-size: clamp(48px, 5.4vw, 78px); letter-spacing: -.058em; line-height: .96; }
.commercial-copy { align-self: end; }
.commercial-copy p { color: #344156; font-size: 16px; line-height: 1.72; }
.commercial-copy p:last-child { margin-bottom: 0; padding-top: 22px; border-top: 1px solid #c8d0d6; }

.intellectual-property { padding: 108px max(clamp(28px, 4.5vw, 64px), calc((100vw - 1320px) / 2 + 64px)) 96px; background: #080c14; color: #fff; }
.ip-intro { display: grid; grid-template-columns: 1fr .82fr; gap: clamp(60px, 9vw, 146px); align-items: end; }
.ip-intro h2 { max-width: 770px; margin: 24px 0 0; font-size: clamp(49px, 5.6vw, 80px); letter-spacing: -.06em; line-height: .95; }
.ip-copy { padding-left: 34px; border-left: 1px solid #3a4659; }
.ip-name { margin-bottom: 22px; color: #54d4c6; font-size: 11px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.ip-lede { margin-bottom: 18px; color: #fff; font-size: clamp(20px, 2vw, 27px); font-weight: 680; letter-spacing: -.025em; line-height: 1.36; }
.ip-copy > p:last-child { margin-bottom: 0; color: #aeb8c7; font-size: 14px; line-height: 1.7; }
.ip-outcomes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 82px; border-top: 1px solid #3a4659; border-bottom: 1px solid #3a4659; }
.ip-outcomes article { min-height: 282px; padding: 31px 28px 36px; border-right: 1px solid #3a4659; }
.ip-outcomes article:first-child { padding-left: 0; }
.ip-outcomes article:last-child { padding-right: 0; border-right: 0; }
.ip-outcomes span { color: #54d4c6; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.ip-outcomes h3 { margin: 57px 0 15px; font-size: clamp(23px, 2.2vw, 31px); letter-spacing: -.04em; line-height: 1.05; }
.ip-outcomes p { max-width: 260px; margin: 0; color: #aeb8c7; font-size: 13px; line-height: 1.64; }
.ip-close { display: flex; justify-content: space-between; gap: 48px; align-items: center; padding-top: 31px; }
.ip-close p { max-width: 760px; margin: 0; color: #aeb8c7; font-size: 13px; line-height: 1.62; }
.ip-close strong { color: #fff; }
.ip-close .text-button { flex: 0 0 auto; }

.shift-preview { padding-bottom: 28px; }
.shift-heading { display: flex; justify-content: space-between; gap: 35px; align-items: end; }
.shift-heading > div { max-width: 750px; }
.shift-heading h2 { font-size: clamp(36px, 4.3vw, 62px); }
.article-list { width: min(100%, 1320px); margin: 0 auto; padding: 0 clamp(28px, 4.5vw, 64px); }
.article-list article { display: grid; grid-template-columns: .48fr 1.2fr .35fr; gap: clamp(30px, 5vw, 82px); align-items: center; min-height: 190px; border-top: 1px solid var(--line); }
.article-list article:last-child { border-bottom: 1px solid var(--line); }
.article-topic { font-size: 10px; }
.article-list h3 { max-width: 610px; margin: 0 0 10px; font-size: clamp(25px, 2.5vw, 36px); letter-spacing: -.04em; line-height: 1.08; }
.article-list h3 a { text-decoration: none; }
.article-list h3 a:hover { color: var(--teal-accessible); }
.article-list article div p { max-width: 650px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.article-link { justify-self: end; padding-bottom: 6px; border-bottom: 1px solid var(--teal-accessible); white-space: nowrap; }

.final-cta { display: grid; justify-items: center; padding: 86px 28px 94px; text-align: center; }
.final-cta > span { width: 35px; height: 2px; margin-bottom: 25px; background: var(--teal-accessible); }
.final-cta h2 { margin-bottom: 12px; font-size: clamp(32px, 3.2vw, 46px); letter-spacing: -.04em; }
.final-cta p { max-width: 620px; margin-bottom: 24px; color: var(--muted); font-size: 14px; line-height: 1.6; }
footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 30px max(clamp(28px, 4.5vw, 64px), calc((100vw - 1320px) / 2 + 64px)); background: var(--midnight); color: #aeb8c7; }
.footer-brand { color: #fff; }
footer p { margin: 0; font-size: 11px; }
footer > a:last-child { justify-self: end; font-size: 11px; }

.contact-dialog { width: min(980px, calc(100% - 36px)); max-height: calc(100vh - 36px); margin: auto; padding: 0; border: 0; background: var(--paper); color: var(--midnight); box-shadow: 0 24px 80px rgba(15,23,40,.28); }
.contact-dialog::backdrop { background: rgba(15,23,40,.78); }
.dialog-close { position: absolute; right: 20px; top: 16px; z-index: 2; width: 42px; height: 42px; border: 1px solid var(--line); background: #fff; cursor: pointer; font-size: 26px; line-height: 1; }
.dialog-copy { padding: 58px 58px 36px; background: var(--mist); }
.dialog-copy h2 { max-width: 700px; margin: 19px 0 17px; font-size: clamp(38px, 5vw, 62px); letter-spacing: -.052em; line-height: .98; }
.dialog-copy > p:last-child { max-width: 650px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.6; }
.inquiry-form { padding: 34px 58px 48px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.inquiry-form label { display: grid; gap: 8px; margin-bottom: 18px; color: #344156; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.inquiry-form input, .inquiry-form textarea { width: 100%; border: 1px solid #c3ccd4; border-radius: 0; background: #fff; color: var(--midnight); font-size: 14px; letter-spacing: 0; text-transform: none; }
.inquiry-form input { height: 47px; padding: 0 12px; }
.inquiry-form textarea { min-height: 108px; padding: 12px; resize: vertical; }
.inquiry-form input:focus, .inquiry-form textarea:focus { border-color: var(--teal-accessible); }
.inquiry-form [aria-invalid="true"] { border-color: var(--coral); }
.inquiry-form .consent { display: flex; align-items: flex-start; gap: 10px; margin: 3px 0 20px; color: var(--muted); font-size: 11px; font-weight: 550; line-height: 1.5; letter-spacing: 0; text-transform: none; }
.consent input { flex: 0 0 auto; width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--teal-accessible); }
.field-error { display: block; margin: 0; color: #a52d20; font-size: 11px; font-weight: 650; letter-spacing: 0; line-height: 1.4; text-transform: none; }
.field-error:empty { display: none; }
.form-note { display: inline-block; margin: 0 0 0 14px; color: var(--muted); font-size: 10px; }
.honey { position: absolute; left: -9999px; }

.library-hero, .article-hero { width: min(100%, 1320px); margin: 0 auto; padding: 100px clamp(28px, 4.5vw, 64px) 80px; }
.library-hero h1, .article-hero h1 { max-width: 980px; margin: 22px 0 24px; font-size: clamp(57px, 7vw, 96px); letter-spacing: -.064em; line-height: .92; }
.library-hero > p:last-child, .article-hero .article-deck { max-width: 770px; margin: 0; color: #344156; font-size: clamp(18px, 1.6vw, 23px); line-height: 1.6; }
.library-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 1320px); margin: 0 auto; padding: 0 clamp(28px, 4.5vw, 64px) 105px; border-top: 1px solid var(--midnight); }
.library-card { display: grid; align-content: space-between; min-height: 340px; padding: 34px 42px 36px 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.library-card:nth-child(even) { padding-right: 0; padding-left: 42px; border-right: 0; }
.library-card h2 { max-width: 530px; margin: 56px 0 16px; font-size: clamp(28px, 3vw, 42px); letter-spacing: -.045em; line-height: 1.05; }
.library-card h2 a { text-decoration: none; }
.library-card h2 a:hover { color: var(--teal-accessible); }
.library-card p:not(.article-topic) { max-width: 540px; margin: 0 0 28px; color: var(--muted); font-size: 14px; line-height: 1.65; }
.article-meta { display: flex; gap: 18px; margin-top: 28px; color: var(--muted); font-size: 11px; }
.article-body { display: grid; grid-template-columns: minmax(180px, .35fr) minmax(0, 1fr); gap: clamp(48px, 9vw, 135px); width: min(100%, 1120px); margin: 0 auto; padding: 0 clamp(28px, 4.5vw, 64px) 110px; }
.article-aside { position: sticky; top: 38px; align-self: start; padding-top: 8px; }
.article-aside p { margin-bottom: 6px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.article-aside a { display: inline-block; margin-top: 18px; color: var(--teal-accessible); font-size: 11px; font-weight: 800; }
.article-content { max-width: 740px; }
.article-content > p:first-child { font-size: 21px; line-height: 1.65; }
.article-content p, .article-content li { color: #344156; font-size: 17px; line-height: 1.78; }
.article-content h2 { margin: 62px 0 20px; font-size: clamp(31px, 3.4vw, 46px); letter-spacing: -.045em; line-height: 1.05; }
.article-content h3 { margin: 38px 0 15px; font-size: 24px; letter-spacing: -.03em; }
.article-content blockquote { margin: 52px 0; padding: 27px 0 27px 28px; border-left: 3px solid var(--teal-accessible); color: var(--midnight); font-size: clamp(25px, 3vw, 38px); font-weight: 760; letter-spacing: -.035em; line-height: 1.2; }
.article-end { margin-top: 62px; padding-top: 28px; border-top: 1px solid var(--line); }
.related { padding: 82px max(clamp(28px, 4.5vw, 64px), calc((100vw - 1120px) / 2 + 64px)); background: var(--mist); }
.related h2 { margin: 18px 0 32px; font-size: 36px; letter-spacing: -.04em; }

@media (max-width: 920px) {
  .hero { grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr); gap: 38px; }
  .hero h1 { font-size: clamp(52px, 6.2vw, 58px); }
  .engagement, .commercial, .ip-intro { grid-template-columns: 1fr; }
  .ip-copy { padding: 0; border-left: 0; }
  .ip-outcomes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ip-outcomes article:nth-child(2) { padding-right: 0; border-right: 0; }
  .ip-outcomes article:nth-child(3), .ip-outcomes article:nth-child(4) { border-top: 1px solid #3a4659; }
  .ip-outcomes article:nth-child(3) { padding-left: 0; }
  .article-list article { grid-template-columns: .42fr 1fr; padding: 30px 0; }
  .article-list .article-link { grid-column: 2; justify-self: start; }
}

@media (max-width: 720px) {
  html { scroll-behavior: auto; }
  .site-header { grid-template-columns: 1fr auto; }
  .site-header nav { display: none; }
  .site-header { min-height: 72px; padding-right: 22px; padding-left: 22px; }
  .brand { font-size: 13px; }
  .brand img { width: 37px; height: 33px; }
  .header-cta { min-height: 40px; padding: 0 10px; font-size: 10px; }
  .hero { grid-template-columns: 1fr; min-height: 0; padding: 65px 22px 52px; }
  .hero h1 { font-size: clamp(49px, 14vw, 68px); }
  .hero-lede { font-size: 17px; }
  .hero-mark { width: min(100%, 330px); justify-self: start; }
  .hero-promise { align-items: flex-start; margin-top: 0; font-size: 12px; }
  .hero-promise span { flex: 0 0 42px; margin-top: 9px; }
  .section-heading { padding: 70px 22px 36px; }
  .ownership-grid { grid-template-columns: 1fr; padding: 0 22px; }
  .ownership-grid article, .ownership-grid article + article { min-height: 0; padding: 28px 0 34px; border-right: 0; border-top: 1px solid var(--line); }
  .ownership-grid article:first-child { border-top: 0; }
  .ownership-grid h3 { margin-top: 18px; }
  .engagement, .commercial, .intellectual-property { padding: 82px 22px; }
  .engagement-steps li { grid-template-columns: 1fr; gap: 12px; }
  .engagement-foot { display: grid; }
  .ip-intro h2 { font-size: clamp(47px, 13vw, 62px); }
  .ip-outcomes { grid-template-columns: 1fr; margin-top: 60px; }
  .ip-outcomes article, .ip-outcomes article:first-child, .ip-outcomes article:nth-child(2), .ip-outcomes article:nth-child(3), .ip-outcomes article:last-child { min-height: 0; padding: 28px 0 32px; border-top: 1px solid #3a4659; border-right: 0; }
  .ip-outcomes article:first-child { border-top: 0; }
  .ip-outcomes h3 { margin-top: 28px; }
  .ip-outcomes p { max-width: 520px; }
  .ip-close { display: grid; }
  .shift-heading { display: grid; align-items: start; }
  .article-list { padding: 0 22px; }
  .article-list article { grid-template-columns: 1fr; gap: 18px; }
  .article-list .article-link { grid-column: 1; }
  footer { grid-template-columns: 1fr; gap: 18px; padding: 28px 22px; }
  footer > a:last-child { justify-self: start; }
  .dialog-copy, .inquiry-form { padding-right: 24px; padding-left: 24px; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .form-note { display: block; margin: 13px 0 0; }
  .library-hero, .article-hero { padding: 72px 22px 60px; }
  .library-hero h1, .article-hero h1 { font-size: clamp(49px, 14vw, 68px); }
  .library-grid { grid-template-columns: 1fr; padding: 0 22px 78px; }
  .library-card, .library-card:nth-child(even) { min-height: 0; padding: 31px 0 38px; border-right: 0; }
  .library-card h2 { margin-top: 38px; }
  .article-body { grid-template-columns: 1fr; gap: 38px; padding: 0 22px 82px; }
  .article-aside { position: static; padding-top: 0; }
  .article-content > p:first-child { font-size: 19px; }
  .article-content p, .article-content li { font-size: 16px; }
  .related { padding: 70px 22px; }
}

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