:root { --editorial-tint: var(--pale); }
@supports (background: color-mix(in srgb, white, black)) {
  :root:not([data-contrast]) { --editorial-tint: color-mix(in srgb, var(--pale) 91%, var(--teal)); }
}

:root[data-js] body:has(main > .page-masthead:first-child) .site-header { background: transparent; }
main:has(> .page-masthead:first-child) { margin-block-start: calc(-1 * var(--hero-header-overlap, 0px)); }

.page-masthead {
  --section-fade-start: .92;
  --focus: var(--white);
  --heading: var(--white);
  --muted: var(--pale);
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: calc(var(--hero-header-overlap, 0px) + clamp(1.4rem, 3.8vw, 3.5rem)) clamp(2.8rem, 6.1vw, 6.25rem);
  background: var(--deep);
  color: var(--white);
}

.page-masthead::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto -7rem -11rem auto;
  inline-size: clamp(15rem, 38vw, 39rem);
  aspect-ratio: 49 / 55;
  background: url("assets/cohedron-symbol.svg") center / contain no-repeat;
  opacity: .07;
  pointer-events: none;
}

.breadcrumbs { margin-block-end: clamp(1.35rem, 3.2vw, 2.8rem); color: var(--pale); font-size: .92rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .72rem; padding: 0; list-style: none; }
.breadcrumbs li { display: inline-flex; align-items: center; gap: .72rem; min-inline-size: 0; line-height: 1.32; }
.breadcrumbs li + li::before { content: ""; flex: none; inline-size: .35rem; block-size: .35rem; border-block-start: 1px solid currentColor; border-inline-end: 1px solid currentColor; transform: rotate(45deg); }
.breadcrumbs a { display: inline-flex; align-items: center; min-block-size: 1.75rem; }
.breadcrumbs [aria-current] { min-inline-size: 0; }

.masthead-grid { display: grid; align-items: center; gap: clamp(1.65rem, 5vw, 5.2rem); }
.masthead-with-image .masthead-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .94fr); }
.masthead-portrait .masthead-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .76fr); }
.masthead-copy.hero-copy { inline-size: auto; max-inline-size: 55rem; }
.masthead-copy h1 { font-size: var(--display); line-height: 1.05; letter-spacing: -.04em; font-weight: 500; text-wrap: balance; }
.masthead-copy .eyebrow { margin-block-end: .85rem; color: var(--pale); }
.masthead-lede { max-inline-size: 58ch; margin-block-start: 1.15rem; color: var(--pale); font-size: var(--body); }
.masthead-lede p + p { margin-block-start: .85em; }
.masthead-copy .editorial-actions { margin-block-start: 1.25rem; }
.masthead-copy .button-light { --heading: var(--deep); }
.masthead-photo, .editorial-photo { overflow: clip; border-radius: var(--image-radius); }
.masthead-photo img { inline-size: 100%; block-size: auto; aspect-ratio: 1.52; object-fit: cover; }
.masthead-portrait .masthead-photo { max-inline-size: 27rem; }
.masthead-portrait .masthead-photo img { aspect-ratio: 1.1; object-position: 50% 35%; }
.masthead-photo img[src$=".svg"] { object-fit: contain; padding: 1.25rem; background: var(--white); }

.page-jumps { padding-block: .8rem; border-block-end: 1px solid var(--line); background: var(--canvas); }
.jump-menu { inline-size: fit-content; max-inline-size: 100%; }
.jump-menu > summary, .guide-nav summary {
  display: inline-flex; align-items: center; gap: .7rem; min-block-size: 2.75rem;
  padding: .4rem .8rem; color: var(--heading); font-size: .94rem; font-weight: 700;
  border: 1px solid var(--line); border-radius: .35rem;
}
.jump-menu[open] > summary .icon, .guide-nav details[open] summary .icon { transform: rotate(180deg); }
.jump-menu :is(ol, ul) { display: flex; flex-wrap: wrap; gap: .25rem 1.4rem; margin: .6rem 0 0; padding: .3rem .8rem; list-style: none; }
.editorial-jump { display: inline-flex; align-items: center; gap: .4rem; min-block-size: 2rem; font-size: .94rem; }
.editorial-jump .icon { inline-size: .9em; }

.editorial-section { padding-block: clamp(2.25rem, 5.9vw, 5.75rem); }
main > .editorial-section + .editorial-section {
  border-block-start: 1px solid var(--line);
  border-block-start-color: color-mix(in srgb, var(--line) 72%, var(--muted));
}
.editorial-soft, .editorial-band { background: var(--editorial-tint); }
.editorial-section[data-section-surface="paper"] { background: var(--panel); }
.editorial-section[data-section-surface="pale"] { background: var(--editorial-tint); }
.editorial-section[data-section-surface="white"] { background: var(--canvas); }
.editorial-section-head { max-inline-size: 54rem; }
.editorial-section-head:has(> .sr-only:only-child) { margin: 0; }
.editorial-section-head p { margin-block: .6rem 1.35rem; }
.editorial-section.split-band { padding: 0; }
.editorial-split {
  --split-edge: max(var(--edge), calc((100vw - var(--page)) / 2));
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: "copy photo";
}
.editorial-reverse { grid-template-areas: "photo copy"; }
.editorial-copy {
  grid-area: copy; align-self: center; min-inline-size: 0;
  padding: clamp(2.25rem, 5.3vw, 5.5rem) clamp(1.65rem, 4.8vw, 5rem) clamp(2.25rem, 5.3vw, 5.5rem) var(--split-edge);
}
.editorial-reverse .editorial-copy { padding-inline: clamp(1.65rem, 4.8vw, 5rem) var(--split-edge); }
.editorial-photo {
  grid-area: photo; position: relative; min-block-size: clamp(23rem, 34vw, 36rem);
  border-radius: 0; background: var(--pale);
}
.editorial-photo img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; }
.editorial-photo.editorial-artwork img { object-fit: contain; padding: clamp(1rem, 4vw, 3rem); }
.editorial-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: clamp(1.05rem, 3vw, 2.6rem); align-items: start; }
.editorial-columns > .editorial-rich { padding: clamp(1.15rem, 3vw, 2.4rem); border: 1px solid var(--line); border-radius: .8rem; background: var(--canvas); }
.editorial-columns > .editorial-rich > img:only-child { inline-size: 100%; max-block-size: 26rem; object-fit: contain; }
.editorial-columns > .editorial-rich h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2.35rem); }
.editorial-reading { max-inline-size: 75ch; margin-inline: auto; }
.editorial-wide { max-inline-size: 100%; }
.editorial-rich { overflow-wrap: anywhere; }
.editorial-rich > :where(p, ul, ol, dl, table, figure, blockquote, address, details, .editorial-actions) + * { margin-block-start: .9em; }
.editorial-rich :where(h2, h3, h4, h5, h6) + * { margin-block-start: .6rem; }
.editorial-rich * + :where(h2, h3, h4, h5, h6) { margin-block-start: 1.65em; }
.editorial-rich h2, .editorial-section-head h2 { font-size: var(--headline); font-weight: 500; letter-spacing: -.032em; text-wrap: balance; }
.editorial-rich h3 { font-size: clamp(1.35rem, 1.05rem + .8vw, 1.85rem); letter-spacing: -.018em; }
.editorial-rich :is(ul, ol) { padding-inline-start: 1.3em; list-style: revert; }
.editorial-rich li + li { margin-block-start: .25rem; }
.editorial-rich dl dt { font-weight: 700; }
.editorial-rich dl dd { margin-block-end: .8rem; }
.editorial-rich img { block-size: auto; border-radius: var(--image-radius); }
.editorial-rich figure { margin-block: 1.25rem; }
.editorial-rich figcaption { margin-block-start: .45rem; color: var(--muted); font-size: .93rem; }
.editorial-rich blockquote { padding: .85rem 1rem .85rem 1.25rem; margin-inline: 0; border-inline-start: 3px solid var(--teal); background: var(--pale); }
.editorial-rich :where(a:not(.button)):hover { color: var(--teal); text-decoration-thickness: 2px; }
.editorial-rich details { padding: .7rem 1rem; border: 1px solid var(--line); border-radius: var(--image-radius); background: var(--canvas); }
.editorial-rich details summary { display: list-item; list-style: revert; font-weight: 700; }
.editorial-rich details[open] summary { margin-block-end: .5rem; }
.editorial-actions { display: flex; flex-wrap: wrap; gap: .55rem 1rem; align-items: center; }
.editorial-rich .editorial-actions { margin-block-start: 1.25rem; }
.button-outline { border-color: var(--teal); color: var(--teal); background: var(--canvas); }
.button-outline:hover { background: var(--pale); }
.button-outline-light { border-color: var(--pale); color: var(--white); background: transparent; }
.button-outline-light:hover { color: var(--deep); background: var(--white); }
.editorial-callout, .editorial-innovation {
  margin-block: 1.2rem;
  padding: clamp(1.15rem, 3.4vw, 2.45rem);
  border: 1px solid var(--line);
  border-radius: .8rem;
  background: var(--canvas);
}
.editorial-innovation .editorial-feature { margin-block-start: .9rem; padding-block-start: .9rem; border-block-start: 1px solid var(--line); }
.editorial-feature h4 { margin: 0; color: var(--heading); }
.editorial-table { overflow-x: auto; margin-block: 1rem; }
.editorial-table table { border-collapse: collapse; min-inline-size: 100%; }
.editorial-table :is(th, td) { border: 1px solid var(--line); padding: .5rem .75rem; text-align: start; vertical-align: top; }
.editorial-table th { background: var(--pale); }

.editorial-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.9rem, 2.25vw, 1.85rem); }
.editorial-section-head:not(:has(> .sr-only:only-child)) + .editorial-cards { margin-block-start: 1.4rem; }
.editorial-card {
  display: flex;
  flex-direction: column;
  position: relative;
  min-inline-size: 0;
  overflow: clip;
  border: 1px solid var(--line);
  border-radius: .8rem;
  background: var(--canvas);
  transition: border-color .2s, background-color .2s;
}
.editorial-card:is(:hover, :focus-within) { border-color: var(--teal); }
.editorial-card figure { overflow: clip; background: var(--pale); }
.editorial-card figure img { inline-size: 100%; block-size: auto; aspect-ratio: 1.68; object-fit: cover; transition: transform .3s; }
.editorial-card:is(:hover, :focus-within) img { transform: scale(1.025); }
.cards-people .editorial-card img { aspect-ratio: 1.38; object-position: 50% 35%; }
.editorial-logo-card { --card-inset: clamp(1rem, 2.5vw, 1.65rem); }
.cards-companies .editorial-logo-card figure { display: flex; align-items: center; min-block-size: 5.15rem; padding: 1rem var(--card-inset) .55rem; background: var(--canvas); }
.cards-companies .editorial-logo-card img { inline-size: auto; max-inline-size: min(100%, 10rem); block-size: auto; max-block-size: 2.75rem; aspect-ratio: auto; object-fit: contain; }
.cards-companies .editorial-logo-card:is(:hover, :focus-within) img { transform: none; }
.editorial-logo-card .editorial-card-copy { padding-block-start: .3rem; }
.editorial-logo-card .editorial-card-copy > p { margin-block-start: 0; }
.cards-compact .editorial-card-footer { padding-block: .45rem; }
.cards-compact .editorial-card-footer > span:first-child { display: none; }
.editorial-card-copy { flex: 1; min-inline-size: 0; padding: clamp(1rem, 2.5vw, 1.65rem); }
.cards-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.editorial-card:has(.editorial-card-footer) .editorial-card-copy { padding-block-end: 1.35rem; }
.editorial-card h3 { font-size: clamp(1.27rem, 1.04rem + .64vw, 1.68rem); line-height: 1.18; }
.editorial-card-copy > p { margin-block: .6rem 0; color: var(--muted); }
.editorial-card-copy > .eyebrow { margin-block: 0 .55rem; }
.editorial-card-link { text-decoration: none; }
.editorial-card-link::after { content: ""; position: absolute; inset: 0; }
.editorial-card-link:hover { text-decoration: underline; }
.editorial-card-link:focus-visible { outline: none; }
.editorial-card-link:focus-visible::after { outline: 3px solid var(--focus); outline-offset: -4px; border-radius: .7rem; }
.editorial-card-actions { position: relative; margin-block-start: .65rem; }
.editorial-card-footer {
  display: flex; align-items: center; justify-content: space-between; gap: .8rem;
  min-block-size: 3.8rem; margin-inline: clamp(1rem, 2.5vw, 1.65rem); padding-block: .62rem .75rem;
  border-block-start: 1px solid var(--line); color: var(--teal); font-size: .91rem; font-weight: 700;
}
.editorial-card-arrow {
  flex: none; display: grid; place-items: center; inline-size: 2.35rem; block-size: 2.35rem;
  border-radius: 50%; background: var(--pale); color: var(--heading);
  transition: background-color .2s, color .2s, transform .2s;
}
.editorial-card:is(:hover, :focus-within) .editorial-card-arrow { transform: translate(2px, -2px); background: var(--teal); color: var(--white); }
.editorial-pagination { margin-block-start: 1.6rem; }
.editorial-pagination ul { display: flex; flex-wrap: wrap; gap: .45rem; }
.editorial-pagination :is(a, span) { display: grid; place-items: center; min-inline-size: 2.75rem; min-block-size: 2.75rem; padding-inline: .6rem; border: 1px solid var(--line); border-radius: .3rem; text-decoration: none; }
.editorial-pagination a:hover { background: var(--pale); }
.editorial-pagination [aria-current] { border-color: var(--teal); background: var(--teal); color: var(--white); }

.editorial-ending { padding-block: clamp(1rem, 2.15vw, 1.8rem) clamp(2rem, 4vw, 3.65rem); }
.editorial-back {
  display: inline-flex; align-items: center; gap: .7rem; min-block-size: 2.75rem; max-inline-size: 100%;
  padding: .26rem .85rem .26rem .3rem; border: 1px solid var(--line);
  border-radius: 2rem; color: var(--teal); text-decoration: none; font-weight: 700; overflow-wrap: anywhere;
  transition: background-color .2s, border-color .2s;
}
.editorial-back:hover { background: var(--pale); border-color: var(--teal); }
.editorial-back-icon {
  flex: none; display: grid; place-items: center; inline-size: 2.15rem; block-size: 2.15rem;
  border-radius: 50%; background: var(--pale); transition: background-color .2s, color .2s;
}
.editorial-back:hover .editorial-back-icon { color: var(--white); background: var(--teal); }
.editorial-section:has(+ .editorial-ending) { padding-block-end: clamp(1.55rem, 3.4vw, 3.2rem); }
.editorial-directory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.9rem, 3vw, 2.3rem); align-items: start; }
.editorial-directory-group { padding: clamp(1rem, 2.6vw, 1.9rem); border: 1px solid var(--line); border-radius: .7rem; }
.editorial-directory-group h2 { margin-block-end: .65rem; font-size: clamp(1.35rem, 1rem + .8vw, 1.85rem); }
.editorial-directory-group a { display: inline-block; min-block-size: 2rem; padding-block: .16rem; }
.search-page { max-inline-size: 54rem; }
.search-page-form label { display: block; margin-block-end: .45rem; font-weight: 700; }
.search-page-form input { flex: 1 1 12rem; min-inline-size: 0; min-block-size: 2.9rem; padding: .55rem .8rem; border: 1px solid var(--muted); border-radius: .3rem; background: var(--canvas); color: var(--text); }
.search-status { margin-block: 1.1rem .55rem; }
[data-search-results] li { padding-block: 1.1rem; border-block-start: 1px solid var(--line); }
[data-search-results] h2 { margin-block: .25rem .4rem; font-size: 1.4rem; }
[data-search-results] h2 a { text-decoration-thickness: 1px; }
[data-search-results] p { color: var(--muted); }
.search-page > p:last-of-type { margin-block-start: 1.1rem; }


/* Shared accent panels and editorial layouts */
.editorial-section:is(.editorial-cta, .editorial-band, .form-banner) {
  --banner-heading: clamp(1.5rem, 1.28rem + .95vw, 2.15rem);
  padding-block: clamp(1.25rem, 2.8vw, 2.4rem);
}
.editorial-cta { background: var(--canvas); }
.cta-panel, .editorial-form-callout {
  padding: clamp(1.1rem, 2.15vw, 1.85rem) clamp(1.05rem, 3vw, 2.5rem);
  border: 1px solid var(--line);
  border-inline-start: 3px solid var(--teal);
  border-radius: var(--image-radius);
}
.cta-panel { background: var(--editorial-tint); }
.editorial-cta[data-section-surface="pale"] .cta-panel { background: var(--canvas); }
.cta-copy h2, .editorial-band .editorial-reading h2, .editorial-form-callout h2 {
  font-size: var(--banner-heading);
  line-height: 1.16;
  text-wrap: pretty;
}
.cta-copy { max-inline-size: 68ch; }
.cta-copy p { margin-block-start: .35rem; color: var(--muted); }
.cta-buttons { display: flex; flex-wrap: wrap; gap: .55rem; margin-block-start: .8rem; }
.editorial-form-callout { background: var(--canvas); }
.editorial-form-callout > .button { margin-block: .75rem; }
.editorial-proof::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  background: url("assets/cohedron-symbol.svg") center / contain no-repeat; aspect-ratio: 49 / 55;
}

.feature-band { background: var(--editorial-tint); }
.feature-intro { max-inline-size: 42rem; margin-block-end: 1.6rem; }
.feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; padding: 0; }
.feature-tile { display: grid; align-content: start; gap: .6rem; min-inline-size: 0; padding: clamp(1rem, 2.8vw, 2.1rem); border: 1px solid var(--line); border-radius: .75rem; background: var(--canvas); }
.feature-tile h3 { font-size: clamp(1.35rem, 1.08rem + .65vw, 1.8rem); }
.feature-tile .editorial-rich { color: var(--muted); }
.feature-number {
  display: grid; place-items: center; inline-size: 2.65rem; block-size: 2.65rem; margin-block-end: .4rem;
  border-radius: .4rem; background: var(--pale); color: var(--teal);
  font-size: .9rem; font-weight: 700; font-variant-numeric: tabular-nums;
}
.platform-benefits .wrap { display: grid; grid-template-columns: minmax(0, .74fr) minmax(0, 1.45fr); gap: clamp(1.4rem, 4vw, 4.4rem); }
.platform-benefits .feature-intro { margin-block-end: 0; }
.certificates .feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.boutique-head { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: .85rem; margin-block-end: 1.5rem; }
.boutique-controls { display: flex; gap: .5rem; }
.boutique-controls button {
  display: grid; place-items: center; inline-size: 2.75rem; block-size: 2.75rem;
  border: 1px solid var(--teal); border-radius: 50%; background: var(--canvas); color: var(--teal);
}
.boutique-controls button:not([aria-disabled=true]):hover { background: var(--teal); color: var(--white); }
.boutique-controls [aria-disabled=true] { opacity: .55; cursor: default; }
.boutique-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2.4rem) / 3); gap: 1.2rem; overflow-x: auto; scroll-snap-type: x mandatory; padding-block: .2rem .8rem; }
.boutique-slide {
  min-inline-size: 0; display: flex; flex-direction: column; gap: .65rem;
  scroll-snap-align: start; min-block-size: 11.75rem; padding: clamp(1rem, 2.5vw, 1.6rem);
  border: 1px solid var(--line); border-radius: .7rem; background: var(--canvas);
}
.boutique-logo { display: flex; align-items: center; block-size: 3rem; margin-block-end: .25rem; }
.boutique-logo img { inline-size: min(100%, 9rem); block-size: 2.7rem; object-fit: contain; object-position: left center; }
.boutique-link { position: relative; display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-block-start: auto; padding-block-start: .55rem; border-block-start: 1px solid var(--line); font-size: .95rem; font-weight: 700; min-block-size: 2.75rem; text-decoration: none; }
.boutique-link:hover { text-decoration: underline; }
.boutique-slide p { color: var(--muted); font-size: 1rem; }

.editorial-proof { position: relative; isolation: isolate; overflow: clip; background: var(--deep); color: var(--white); }
.editorial-proof::before { inset: auto -8% -45% auto; inline-size: min(42rem, 48vw); opacity: .1; }
.proof-layout { display: grid; grid-template-columns: minmax(0, .73fr) minmax(0, 1.36fr); align-items: start; gap: clamp(1.35rem, 5vw, 5rem); }
.proof-intro { --heading: var(--white); align-self: center; }
.proof-intro p { color: var(--pale); }
.editorial-proof .editorial-card { --focus: var(--deep); color: var(--text); }

.tech-intro-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .77fr); align-items: center; gap: clamp(1.4rem, 6vw, 6rem); }
.tech-mark { padding: clamp(1.1rem, 4vw, 4rem); border: 1px solid var(--line); border-radius: .8rem; background: var(--pale); }
.tech-mark img { inline-size: 100%; max-block-size: 16rem; object-fit: contain; block-size: auto; }
.tech-section-head { max-inline-size: 47rem; margin-block-end: 1.2rem; }
.product-index { display: flex; flex-wrap: wrap; gap: .55rem; margin-block-end: 1.9rem; }
.product-index a { display: inline-flex; gap: .6rem; align-items: center; min-block-size: 2.65rem; padding: .35rem .85rem; border: 1px solid var(--line); border-radius: .35rem; background: var(--canvas); color: var(--heading); text-decoration: none; font-size: .95rem; font-weight: 700; }
.product-index a:hover { border-color: var(--teal); background: var(--pale); }
.product-panel {
  display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1fr); align-items: start;
  gap: clamp(1.15rem, 3vw, 2.45rem) clamp(1.05rem, 4.7vw, 4rem);
  padding: clamp(1rem, 3.5vw, 3rem); margin-block: 1.2rem; min-inline-size: 0;
  border: 1px solid var(--line); border-radius: .85rem; background: var(--canvas);
}
.product-heading :is(h2, h3) { font-size: clamp(1.9rem, 1.3rem + 2vw, 3.2rem); line-height: 1.07; letter-spacing: -.03em; }
.product-number { display: inline-block; padding: .18rem .55rem; margin-block-end: .55rem; border-radius: .3rem; background: var(--pale); color: var(--teal); font-weight: 700; font-variant-numeric: tabular-nums; }
.product-heading p { margin-block: .55rem 0; color: var(--muted); }
.tech-photo { overflow: clip; margin-block-start: .9rem; border-radius: .55rem; }
.tech-photo img { inline-size: 100%; block-size: auto; aspect-ratio: 1.5; object-fit: cover; }
.product-faq { grid-column: 1 / -1; min-inline-size: 0; }
.product-faq { padding-block-start: clamp(1.05rem, 2.3vw, 1.7rem); border-block-start: 1px solid var(--line); }
.product-faq > :is(h3, h4) { margin-block-end: .85rem; font-size: clamp(1.28rem, 1.05rem + .8vw, 1.8rem); }
.product-accordions { display: grid; gap: .48rem; }
.product-feature { border: 1px solid var(--line); border-radius: .55rem; background: var(--canvas); }
.product-feature > summary {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center;
  gap: clamp(.45rem, 1.5vw, 1rem); min-block-size: 3.75rem; padding: .68rem clamp(.55rem, 1.75vw, 1.2rem);
  border-radius: inherit; color: var(--heading); font-weight: 700;
}
.product-feature > summary::-webkit-details-marker { display: none; }
.product-feature > summary:hover, .product-feature[open] > summary { background: var(--pale); }
.product-feature[open] { border-color: var(--teal); }
.product-feature[open] > summary { border-end-start-radius: 0; border-end-end-radius: 0; }
.product-feature-title { line-height: 1.32; overflow-wrap: anywhere; }
.product-feature-benefit { display: block; margin-block-start: .22rem; color: var(--muted); font-size: .93rem; font-weight: 400; }
.product-feature-number { color: var(--teal); font-size: .82rem; font-variant-numeric: tabular-nums; }
.product-feature-icon { display: grid; place-items: center; inline-size: 1.85rem; block-size: 1.85rem; border-radius: 50%; color: var(--teal); background: var(--pale); }
.product-feature[open] .product-feature-icon { background: var(--canvas); }
.product-feature[open] .product-feature-icon .icon { transform: rotate(180deg); }
.product-feature-body { padding: clamp(.85rem, 2.6vw, 1.8rem); }
.product-feature-body > .editorial-rich { max-inline-size: 74ch; }
.product-feature-body :is(h4, h5) { font-size: 1.12rem; }

.career-directory { background: var(--editorial-tint); }
.career-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13.5rem), 1fr));
  gap: .6rem; margin-block-start: 1.35rem; padding: .6rem;
  border: 1px solid var(--line); border-radius: .8rem; background: var(--panel);
}
.career-tile {
  position: relative; display: grid; grid-template-rows: 1fr auto; min-inline-size: 0; min-block-size: 8rem; block-size: 100%;
  padding: .7rem .85rem; border: 1px solid transparent; border-radius: .45rem;
  color: var(--heading); background: var(--canvas); text-decoration: none;
  transition: border-color .2s, box-shadow .2s;
}
.career-tile:hover { border-color: var(--teal); box-shadow: 0 .2rem .65rem rgb(0 44 48 / .09); }
.career-logo { display: grid; place-items: center; padding: .6rem .3rem; text-align: center; font-weight: 700; }
.career-logo img { inline-size: min(100%, 7.85rem); block-size: 2.55rem; object-fit: contain; }
.career-tile-action {
  display: flex; justify-content: space-between; align-items: center; gap: .3rem;
  padding-block-start: .45rem; border-block-start: 1px solid var(--line);
  color: var(--teal); font-size: .88rem; font-weight: 700; line-height: 1.3;
}
.career-tile-action .icon { flex: none; }

.masthead-job { padding-block-end: clamp(2.25rem, 5vw, 4.8rem); }
.masthead-job .masthead-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .78fr); }
.job-status {
  display: inline-block; margin-block-end: .65rem; padding: .2rem .62rem;
  border: 1px solid var(--pale); border-radius: 2rem; color: var(--white); font-size: .9rem; font-weight: 700;
}
.job-facts { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; margin-block-start: 1.25rem; }
.job-facts > div { flex: 0 1 auto; padding-inline-start: .75rem; border-inline-start: 1px solid var(--pale); }
.job-facts dt { color: var(--pale); font-size: .86rem; }
.job-facts dd { font-weight: 700; }
.job-cover img { aspect-ratio: 1.54; }
.job-layout {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, .48fr);
  align-items: start; gap: clamp(1.8rem, 5vw, 5.2rem);
  padding-block: clamp(2rem, 4.7vw, 4.75rem);
}
.job-story { min-inline-size: 0; }
.job-story > p { max-inline-size: 70ch; }
.job-chapter { max-inline-size: 70ch; }
.job-story > p + .job-chapter, .job-chapter + .job-chapter { border-block-start: 1px solid var(--line); padding-block-start: 1.45rem; margin-block-start: 1.6rem; }
.job-chapter h2 { font-size: clamp(1.62rem, 1.28rem + 1.25vw, 2.45rem); text-wrap: pretty; }
.job-chapter h3 { font-size: clamp(1.15rem, 1rem + .55vw, 1.5rem); }
.job-chapter > :is(p, ul, ol) + :is(p, ul, ol) { margin-block-start: .85em; }
.job-chapter li::marker { color: var(--teal); }
.job-apply { min-inline-size: 0; }
.job-apply-inner {
  padding: clamp(1rem, 3.1vw, 2rem); border: 1px solid var(--line); border-radius: .75rem;
  background: var(--pale); overflow-wrap: anywhere;
}
.job-apply h2 { font-size: clamp(1.48rem, 1.19rem + .7vw, 2.02rem); line-height: 1.1; }
.job-apply p { margin-block: .65rem 0; color: var(--muted); }
.job-apply .button { margin-block-start: .9rem; }
.job-recruiter { margin-block-start: 1.35rem; padding-block-start: 1.15rem; border-block-start: 1px solid var(--line); }
.job-recruiter-person { display: flex; gap: .65rem; align-items: center; }
.job-recruiter-person img { flex: none; inline-size: 3.75rem; block-size: 3.75rem; object-fit: cover; object-position: 50% 36%; border-radius: 50%; }
.job-recruiter-person p { margin: 0; font-size: .92rem; }
.job-recruiter-profile { display: block; inline-size: fit-content; margin-block-start: .55rem; font-size: .94rem; }

.video-panel {
  --focus: var(--white); --heading: var(--white); position: relative; overflow: clip;
  display: grid; grid-template-columns: minmax(0, .77fr) minmax(0, 1.23fr); grid-template-areas: "copy image";
  border-radius: .85rem; background: var(--deep); color: var(--white);
}
.video-panel > img { grid-area: image; align-self: stretch; inline-size: 100%; block-size: 100%; object-fit: cover; object-position: center; }
.video-copy { grid-area: copy; align-self: center; padding: clamp(1.4rem, 4.5vw, 4rem); }
.video-copy h2 { font-size: var(--headline); font-weight: 500; letter-spacing: -.03em; }
.video-copy p { margin-block: .55rem 1rem; }
.video-copy .button-light { --heading: var(--deep); }

.project-intro { max-inline-size: 46rem; margin-block-end: 1.25rem; }
.project-filters { display: flex; flex-wrap: wrap; gap: .5rem; }
.project-filters button {
  border: 1px solid var(--line); border-radius: 2rem; min-block-size: 2.75rem; padding: .38rem .9rem;
  background: var(--canvas); color: var(--heading); font-size: .95rem; font-weight: 700;
}
.project-filters button:hover { border-color: var(--teal); }
.project-filters [aria-pressed=true] { border-color: var(--teal); background: var(--teal); color: var(--white); }
.project-count { margin-block: .85rem 1rem; color: var(--muted); font-size: .94rem; }
.project-topic-links { display: flex; flex-wrap: wrap; gap: .45rem 1rem; }

.masthead-guide, .article-masthead { --focus: var(--ink); --heading: var(--deep); --muted: var(--ink); background: var(--editorial-tint); color: var(--ink); }
.masthead-guide .breadcrumbs, .masthead-guide .masthead-lede, .article-masthead .breadcrumbs, .article-heading .eyebrow { color: var(--muted); }
.masthead-guide .masthead-grid { align-items: center; }
.guide-layout { display: grid; grid-template-columns: minmax(13rem, .61fr) minmax(0, 1.5fr); gap: clamp(1.6rem, 5vw, 5rem); align-items: start; }
.guide-nav { position: sticky; inset-block-start: calc(var(--sticky-nav-height, 5.05rem) + 1.1rem); max-block-size: calc(100svh - var(--sticky-nav-height, 5.05rem) - 2.4rem); overflow: auto; }
.guide-nav-desktop { border-inline-start: 2px solid var(--line); padding-inline-start: 1rem; }
.guide-nav-desktop > p { color: var(--heading); font-weight: 700; margin-block-end: .5rem; }
.guide-nav :is(ol,ul) { padding: 0; margin: 0; list-style: none; }
.guide-nav a { align-items: flex-start; padding-block: .28rem; text-decoration: none; line-height: 1.34; }
.guide-nav a:hover, .guide-nav a:focus-visible { text-decoration: underline; }
.guide-nav-mobile { display: none; }
.guide-content { min-inline-size: 0; max-inline-size: 77ch; }
.guide-chapter { position: relative; padding: 1.25rem 0 2rem; border-block-start: 1px solid var(--line); }
.guide-chapter:first-child { padding-block-start: 0; border: 0; }
.guide-chapter h2 { font-size: clamp(1.7rem, 1.15rem + 1.7vw, 2.75rem); }
.guide-step + h2 { margin-block-start: .35rem; }
.guide-step { display: inline-block; color: var(--teal); font-size: .9rem; font-weight: 700; margin-block-end: .25rem; }
.guide-photo img, .decision-tree figure img { max-block-size: 30rem; inline-size: 100%; object-fit: contain; }
.decision-tree { padding: clamp(.95rem, 2.5vw, 1.75rem); margin-block: 1.15rem; border-radius: .75rem; background: var(--pale); }
.decision-tree ol, .decision-tree p { margin-block-end: .8rem; }
.reading-flow-part + .reading-flow-part { border-block-start: 1px solid var(--line); padding-block-start: 1.75rem; margin-block-start: 1.75rem; }
.guide-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.guide-columns > div { padding: clamp(.85rem, 2vw, 1.5rem); background: var(--pale); border-radius: .65rem; }
.guide-columns > div h2 { font-size: clamp(1.25rem, 1rem + .8vw, 1.6rem); }

.article-masthead { padding-block-end: 0; overflow: visible; }
.article-masthead::before { display: none; }
.article-masthead .breadcrumbs { max-inline-size: 67rem; margin-inline: auto; }
.article-heading.hero-copy { inline-size: 100%; max-inline-size: 67rem; margin-inline: auto; }
.article-heading h1 { max-inline-size: 21ch; margin-block: .5rem clamp(1.25rem, 3vw, 2.8rem); font-size: clamp(2.45rem, 1.7rem + 3.35vw, 5rem); line-height: 1.04; letter-spacing: -.035em; font-weight: 500; text-wrap: balance; }
.article-cover { overflow: clip; max-inline-size: 67rem; margin-inline: auto; border-radius: .75rem; background: var(--paper); }
.article-cover img { inline-size: 100%; block-size: auto; aspect-ratio: 2.15; object-fit: cover; object-position: 50% 43%; }
.article-masthead:not(:has(.article-cover)) { padding-block-end: 1.1rem; }
.article-body { padding-block-start: clamp(1.9rem, 5vw, 4.5rem); }
.article-reading { max-inline-size: min(calc(100% - 2 * var(--edge)), 72ch); }
.article-prose p:first-of-type { font-size: clamp(1.18rem, 1.1rem + .45vw, 1.47rem); line-height: 1.48; }
.article-prose h2 { font-size: clamp(1.65rem, 1.22rem + 1.2vw, 2.35rem); }
.related-head { margin-block-end: 1rem; }

.masthead-contact { padding-block-end: clamp(2rem, 4vw, 3.8rem); }
.masthead-contact .masthead-photo img { aspect-ratio: 1.82; }
.contact-page { background: var(--editorial-tint); }
.contact-page-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .82fr); gap: clamp(1rem, 4vw, 3rem); align-items: start; }
.contact-form-panel, .contact-visit { border-radius: .85rem; padding: clamp(1.2rem, 3.4vw, 2.65rem); }
.contact-form-panel { border: 1px solid var(--line); background: var(--canvas); }
.contact-form-panel h2, .contact-visit h2 { font-size: clamp(1.8rem, 1.22rem + 1.7vw, 2.9rem); font-weight: 500; letter-spacing: -.025em; }
.contact-form-panel > p { margin-block: .6rem 1.3rem; color: var(--muted); }
.contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.contact-fields label { display: block; margin-block-end: .35rem; font-weight: 700; }
.contact-fields :is(input, textarea) {
  display: block; inline-size: 100%; min-block-size: 2.9rem; padding: .65rem .75rem;
  border: 1px solid var(--muted); border-radius: .35rem; background: var(--canvas); color: var(--text); font: inherit;
}
.contact-fields textarea { resize: vertical; }
.contact-field-wide { grid-column: 1 / -1; }
.contact-submit { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-block-start: 1rem; }
.contact-submit p, .contact-form-alternative, .contact-form-status { font-size: .94rem; }
.contact-form-status:not(:empty) { margin-block-start: .9rem; }
.contact-form-panel .contact-form-alternative { margin: 1.15rem 0 0; }
.contact-visit { --heading: var(--white); --focus: var(--white); background: var(--deep); color: var(--white); }
.contact-direct { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .75rem; margin-block: .9rem 1.35rem; }
.contact-direct .button-teal { border-color: var(--pale); background: var(--white); color: var(--deep); }
.contact-direct .button-teal:hover { background: var(--pale); }
.contact-email { overflow-wrap: anywhere; }
.contact-visit dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem 1rem; padding-block: 1.15rem; border-block: 1px solid #ffffff52; }
.contact-visit dt { font-weight: 700; }
.contact-visit dd { color: var(--pale); }
.contact-route { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem 1rem; margin-block-start: 1.25rem; }

@media (max-width: 62rem) {
  .editorial-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .boutique-track { grid-auto-columns: calc((100% - 1.2rem) / 2); }
  .platform-benefits .wrap, .proof-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 49rem) {
  .masthead-with-image .masthead-grid, .masthead-portrait .masthead-grid { grid-template-columns: minmax(0, 1fr); }
  .editorial-split, .editorial-reverse { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "photo"; }
  .editorial-copy, .editorial-reverse .editorial-copy { padding: 2rem var(--edge); }
  .editorial-photo { min-block-size: 0; aspect-ratio: 1.65; }
  .editorial-photo.editorial-artwork { aspect-ratio: 1.7; }
  .page-masthead { padding-block-end: 2.75rem; }
  .masthead-copy h1 { font-size: clamp(2.35rem, 1.5rem + 4.25vw, 4rem); }
  .masthead-photo img { aspect-ratio: 1.65; }
  .tech-intro-grid, .product-panel, .contact-page-grid, .guide-layout, .job-layout { grid-template-columns: minmax(0, 1fr); }
  .guide-nav { position: static; max-block-size: none; overflow: visible; }
  .guide-nav-desktop { display: none; }
  .guide-nav-mobile { display: block; }
  .guide-nav-mobile[open] ol { margin-block-start: .5rem; }
  .video-panel { grid-template-columns: minmax(0, 1fr); grid-template-areas: "image" "copy"; }
  .video-panel > img { block-size: auto; aspect-ratio: 1.78; }
  .article-masthead { padding-block-end: 0; }
  .article-cover img { aspect-ratio: 1.57; }
}
@media (max-width: 37rem) {
  .editorial-cards, .editorial-directory, .feature-grid, .certificates .feature-grid, .contact-fields, .guide-columns { grid-template-columns: minmax(0, 1fr); }
  .boutique-track { grid-auto-columns: min(86%, 18rem); gap: .75rem; }
  .career-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 7.2rem), 1fr)); }
  .contact-visit dl { grid-template-columns: minmax(0, 1fr); gap: .2rem; }
  .contact-visit dd + dt { margin-block-start: .55rem; }
}
