/* Cupcake public site. Native-app-inspired surfaces; existing brand artwork. */
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
@media(max-width:380px) {
  .nav-actions>.button {
    display:none!important
  }
}
img {
  height:auto
}
.product-menu {
  position:relative
}
.product-menu>summary {
  white-space:nowrap;
  font-size:12px;
  font-weight:600;
  color:var(--muted);
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:7px
}
.product-menu>summary::-webkit-details-marker {
  display:none
}
.product-menu[open]>summary {
  color:var(--blue)
}
.product-dropdown {
  position:absolute;
  top:calc(100% + 26px);
  left:-24px;
  width:325px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  padding:8px;
  box-shadow:0 18px 50px #10284924
}
.product-dropdown a {
  display:flex;
  gap:14px;
  align-items:center;
  padding:14px 12px;
  border-radius:7px;
  text-decoration:none
}
.portal-menu .product-dropdown {
  left:auto;
  right:0
}
.product-dropdown a:hover {
  background:#eef3fc
}
.product-dropdown .icon {
  color:var(--blue)
}
.product-dropdown strong {
  font-size:12px;
  font-weight:600;
  display:block
}
.product-dropdown small {
  font-size:10px;
  color:var(--muted);
  display:block;
  margin-top:3px
}
.edition-hero {
  padding:80px 0 60px;
  background:radial-gradient(ellipse at 80% 60%,#dce6ff70,transparent 60%)
}
.edition-hero h1 {
  font-size:clamp(46px,5.1vw,68px)
}
.edition-hero .lead {
  font-size:17px;
  max-width:570px;
  margin:25px 0
}
.edition-hero-layout {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:60px;
  align-items:center
}
.edition-hero .edition-name {
  font-size:12px;
  color:var(--blue);
  font-weight:650;
  margin-bottom:17px
}
.platform-visual {
  border:1px solid #cbd9f1;
  background:linear-gradient(135deg,#eef4ff,#fff);
  border-radius:23px;
  padding:35px;
  box-shadow:var(--shadow);
  text-align:center;
  position:relative
}
.platform-visual>.icon {
  height:64px;
  width:64px;
  color:var(--blue);
  margin:0 auto 20px
}
.platform-visual h2 {
  font-size:27px;
  margin-bottom:12px
}
.platform-visual p {
  font-size:12px
}
.platform-visual .tag {
  margin-top:20px
}
.platform-specs {
  display:flex;
  justify-content:space-around;
  margin-top:25px;
  padding-top:25px;
  border-top:1px solid var(--line);
  gap:15px
}
.platform-specs strong {
  display:block;
  font-size:18px
}
.platform-specs span {
  font-size:9px;
  color:var(--muted)
}
.platform-visual img {
  margin-bottom:25px
}
.release-section {
  padding:65px 0;
  border-top:1px solid var(--line)
}
.release-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px
}
.release-grid h2 {
  font-size:34px
}
.release-grid p {
  font-size:13px;
  margin-top:18px
}
.release-grid ul {
  margin-top:0;
  font-size:13px;
  color:var(--muted);
  line-height:2
}
.release-grid .tag {
  margin-bottom:15px
}
.download-panel {
  padding:45px;
  border:1px solid #bfd0ee;
  background:linear-gradient(110deg,#e8f0ff,#fff);
  border-radius:18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:45px;
  margin-bottom:75px
}
.download-panel h2 {
  font-size:31px
}
.download-panel p {
  font-size:13px;
  margin-top:15px
}
.download-panel .button {
  margin-top:25px
}
.download-panel ul {
  font-size:12px;
  line-height:2;
  color:var(--muted)
}
.download-panel h3 {
  font-size:18px;
  margin:10px 0
}
.product-detail-section {
  padding:70px 0
}
.product-detail-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px
}
.product-detail-grid article {
  padding:26px 0;
  border-top:1px solid var(--line)
}
.product-detail-grid .icon {
  color:var(--blue);
  margin-bottom:17px
}
.product-detail-grid h3 {
  font-size:21px;
  margin-bottom:15px
}
.product-detail-grid p {
  font-size:13px;
  line-height:1.9
}
.product-comparison {
  margin:0 0 75px;
  padding:40px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff
}
.product-comparison h2 {
  font-size:29px
}
.product-comparison>p {
  font-size:13px;
  margin:17px 0 25px
}
.comparison-scroll {
  overflow-x:auto
}
.comparison-table {
  width:100%;
  border-collapse:collapse;
  min-width:620px;
  font-size:12px
}
.comparison-table th,.comparison-table td {
  padding:16px;
  text-align:left;
  border-bottom:1px solid var(--line)
}
.comparison-table thead {
  background:#edf2fa
}
.comparison-table tbody th {
  font-weight:550
}
.comparison-table td {
  color:var(--muted)
}
.enterprise-screen-links {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:30px
}
.enterprise-screen-links a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:15px;
  border:1px solid var(--line);
  border-radius:8px;
  font-size:12px;
  text-decoration:none;
  background:white
}
.enterprise-screen-links a:hover {
  border-color:var(--blue);
  color:var(--blue)
}
.enterprise-diagram {
  background:#172640;
  border-color:#4c638455;
  color:#e2eafd
}
.enterprise-diagram .eyebrow {
  color:#95bbff;
  font-size:9px
}
.enterprise-diagram>.icon {
  color:#96bdff
}
.enterprise-diagram .network-db {
  background:#203653
}
.enterprise-diagram .network-db strong {
  color:#dce8fa
}
.enterprise-diagram .network-mac {
  margin-top:25px
}
.enterprise-diagram .platform-specs {
  border-color:#51678555
}
.enterprise-diagram .platform-specs span {
  color:#a5b9d6
}
.enterprise-hero {
  background:radial-gradient(at 80% 50%,#274471,transparent 65%),#122038;
  color:#f1f5ff
}
.enterprise-hero .edition-name {
  color:#a5c6ff
}
.enterprise-hero .lead {
  color:#b8c8e0
}
.enterprise-hero .hero-note {
  color:#a5b9d2
}
.enterprise-hero .button.secondary {
  background:#ffffff10;
  color:#e7efff;
  border-color:#7285a35c
}
.windows-hero {
  background:radial-gradient(at 70% 70%,#dbe8ff,transparent 65%),#f4f7fd
}
.windows-visual {
  background:linear-gradient(140deg,#edf5ff,#d7e7ff);
  border-color:#aec8f0
}
.windows-visual>.icon {
  width:80px;
  height:80px;
  transform:perspective(300px) rotateY(-13deg);
  margin-block:25px 30px
}
.planned-label {
  margin-top:22px;
  font-size:11px!important
}
.product-switch {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:27px
}
.product-switch a {
  font-size:11px;
  color:var(--blue);
  text-decoration:none;
  border-bottom:1px solid #bdcfee;
  padding-bottom:3px
}
@media(max-width:1000px) {
  .product-menu>summary {
    padding:13px 8px;
    font-size:14px
  }
  .product-dropdown {
    position:static;
    width:100%;
    box-shadow:none;
    border:0;
    background:#edf1f9;
    padding:4px;
    margin-block:7px
  }
  .product-dropdown strong {
    font-size:13px
  }
}
@media(max-width:800px) {
  .edition-hero-layout {
    gap:30px
  }
  .edition-hero h1 {
    font-size:47px
  }
  .edition-hero .lead {
    font-size:15px
  }
  .platform-visual {
    padding:25px
  }
  .platform-visual h2 {
    font-size:24px
  }
  .release-grid {
    gap:35px
  }
  .download-panel {
    padding:30px;
    gap:30px
  }
  .product-detail-grid {
    gap:20px
  }
  .enterprise-screen-links {
    grid-template-columns:repeat(3,1fr)
  }
}
@media(max-width:600px) {
  .edition-hero {
    padding:43px 0
  }
  .edition-hero-layout {
    grid-template-columns:1fr;
    gap:35px
  }
  .edition-hero h1 {
    font-size:49px
  }
  .edition-hero .lead {
    font-size:15px
  }
  .platform-visual {
    padding:28px
  }
  .release-section {
    padding:45px 0
  }
  .release-grid {
    grid-template-columns:1fr;
    gap:20px
  }
  .release-grid h2 {
    font-size:30px
  }
  .release-grid ul {
    padding-left:18px;
    font-size:12px
  }
  .download-panel {
    grid-template-columns:1fr;
    gap:25px;
    padding:27px;
    margin-bottom:45px
  }
  .download-panel h2 {
    font-size:28px
  }
  .product-detail-section {
    padding:45px 0
  }
  .product-detail-grid {
    grid-template-columns:1fr;
    gap:5px
  }
  .product-detail-grid article {
    padding:24px 0
  }
  .product-comparison {
    padding:24px;
    margin-bottom:45px
  }
  .product-comparison h2 {
    font-size:27px
  }
  .enterprise-screen-links {
    grid-template-columns:1fr 1fr
  }
  .enterprise-screen-links a {
    font-size:11px;
    padding:12px
  }
}
:root {
  --paper:#f7f8fc;
  --white:#fff;
  --ink:#14213c;
  --muted:#586780;
  --line:#dce2ee;
  --blue:#275ee8;
  --blue-dark:#1949c4;
  --orange:#d46019;
  --green:#13775d;
  --navy:#101b30;
  --radius:20px;
  --display:"Avenir Next","Segoe UI",sans-serif;
  --body:"Avenir Next",system-ui,sans-serif;
  --mono:"SFMono-Regular",Consolas,monospace;
  --shadow:0 24px 70px #18325713
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit
}
button,input {
  font:inherit
}
button,a {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
button:disabled {
  cursor:default
}
img {
  max-width:100%;
  display:block
}
h1,h2,h3,p,figure {
  margin:0
}
h1,h2,h3 {
  font-family:var(--display);
  line-height:1.12;
  letter-spacing:-.045em
}
h1 {
  font-size:clamp(46px,5.5vw,78px);
  font-weight:700;
  letter-spacing:-.06em
}
h2 {
  font-size:clamp(32px,3.4vw,46px);
  font-weight:650
}
h3 {
  font-size:22px;
  letter-spacing:-.03em
}
p {
  color:var(--muted)
}
[hidden] {
  display:none!important
}
.wrap {
  width:min(1200px,calc(100% - 64px));
  margin-inline:auto
}
.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  z-index:100;
  padding:10px 18px;
  background:var(--white);
  border:2px solid var(--blue);
  border-radius:8px
}
.skip-link:focus {
  top:10px
}
:focus-visible {
  outline:3px solid var(--blue);
  outline-offset:5px
}
.icon {
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0
}
.symbol-library {
  position:absolute;
  width:0;
  height:0;
  overflow:hidden
}
.mono {
  font-family:var(--mono)
}
.eyebrow {
  font-size:11px;
  font-weight:750;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:var(--blue);
  margin-bottom:20px
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font-size:14px;
  font-weight:650;
  color:var(--blue)
}
.text-link:hover {
  text-decoration:underline;
  text-underline-offset:4px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:12px 23px;
  background:var(--blue);
  border:1px solid var(--blue);
  border-radius:9px;
  text-decoration:none;
  font-size:14px;
  font-weight:650;
  color:#fff;
  transition:background .2s,transform .2s,box-shadow .2s;
  box-shadow:0 5px 12px #275ee819
}
.button:hover {
  background:var(--blue-dark);
  transform:translateY(-2px);
  box-shadow:0 7px 20px #275ee829
}
.button.secondary {
  background:#ffffffa6;
  border-color:var(--line);
  color:var(--ink);
  box-shadow:none
}
.button.secondary:hover {
  background:#fff
}
.button.small {
  min-height:40px;
  padding:9px 16px;
  font-size:12px
}
.button.dark {
  background:var(--navy);
  border-color:var(--navy)
}
.actions {
  display:flex;
  align-items:center;
  gap:13px;
  flex-wrap:wrap
}
.tag {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 9px;
  border-radius:5px;
  background:#eaf0ff;
  color:var(--blue-dark);
  font-size:10px;
  font-weight:700;
  letter-spacing:.03em
}
.tag.green {
  background:#e5f4ee;
  color:var(--green)
}
.tag.amber {
  background:#fff0dd;
  color:#975011
}
.dot {
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
  display:inline-block
}
.announcement {
  background:var(--navy);
  color:#d4dfef;
  text-align:center;
  min-height:34px;
  padding:7px 20px;
  font-size:11px;
  letter-spacing:.025em
}
.announcement a {
  color:#fff;
  text-decoration:none
}
.announcement a:hover {
  text-decoration:underline
}
.announcement b {
  font-weight:600;
  color:#a9c8ff
}
.announcement span {
  margin-inline:9px;
  opacity:.55
}
.site-nav {
  position:sticky;
  top:0;
  z-index:30;
  background:#f7f8fce8;
  backdrop-filter:blur(20px);
  border-bottom:1px solid #dce2eea8
}
.nav-inner {
  height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px
}
.brand {
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  flex-shrink:0
}
.brand-mark {
  display:block;
  width:35px;
  height:44px;
  overflow:hidden;
  position:relative
}
.brand-mark img {
  position:absolute;
  width:83px;
  max-width:none;
  left:-24px;
  top:-11px;
  mix-blend-mode:multiply
}
.brand-name {
  font-size:19px;
  letter-spacing:-.7px;
  font-weight:750;
  line-height:1.25
}
.brand-name span {
  font-weight:450;
  color:var(--orange)
}
.brand small {
  font-size:8px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  display:block;
  line-height:1.6
}
.nav-links {
  display:flex;
  align-items:center;
  gap:29px
}
.nav-links>a {
  font-size:12px;
  font-weight:600;
  text-decoration:none;
  color:var(--muted)
}
.nav-links>a:hover {
  color:var(--blue)
}
.nav-actions {
  display:flex;
  align-items:center;
  gap:23px
}
.nav-actions>.text-link {
  font-size:12px;
  color:var(--muted)
}
.menu-toggle {
  display:none;
  background:none;
  border:1px solid var(--line);
  border-radius:8px;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center
}
.hero {
  position:relative;
  padding-top:76px;
  overflow:hidden;
  background:radial-gradient(ellipse at 78% 32%,#dce9ff90,transparent 40%),radial-gradient(ellipse at 100% 45%,#ffdfc440,transparent 40%)
}
.hero-top {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  align-items:center;
  gap:34px
}
.release-pill {
  display:inline-flex;
  align-items:center;
  gap:9px;
  border:1px solid #d5ddec;
  background:#ffffffb8;
  padding:5px 10px;
  border-radius:6px;
  font-size:10px;
  color:var(--muted);
  margin-bottom:25px
}
.release-pill .dot {
  color:var(--green)
}
.hero h1 span {
  display:block
}
.hero h1 .blue {
  color:var(--blue)
}
.hero h1 .orange {
  color:var(--orange)
}
.hero-description {
  font-size:17px;
  line-height:1.75;
  max-width:510px;
  margin:26px 0
}
.hero-note {
  font-size:11px;
  margin-top:14px
}
.hero-art {
  position:relative;
  padding-top:18px
}
.art-labels {
  display:flex;
  justify-content:space-between;
  margin:0 37px 4px;
  color:#637492;
  font:10px var(--mono);
  letter-spacing:.1em
}
.art-labels span:last-child {
  color:#a66b3d
}
.hero-art img {
  width:100%;
  filter:drop-shadow(0 25px 32px #25468120)
}
.art-flow {
  position:absolute;
  left:50%;
  top:45%;
  transform:translate(-50%,-50%);
  width:90px;
  display:grid;
  place-items:center;
  gap:12px
}
.art-flow span {
  width:95px;
  height:24px;
  background:#fffffff0;
  box-shadow:0 3px 15px #1e417127;
  border:1px solid #dce3f0;
  border-radius:16px;
  text-align:center;
  font:9px/22px var(--mono);
  color:#405b80
}
.art-flow span:after {
  content:" ✓";
  color:var(--green)
}
.art-caption {
  margin-top:14px;
  text-align:center;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase
}
.art-caption em {
  font-style:normal;
  color:var(--orange)
}
.hero-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  margin-top:58px;
  padding:25px 0;
  border-top:1px solid var(--line)
}
.hero-bottom p {
  font-size:11px;
  max-width:190px
}
.database-list {
  display:flex;
  align-items:center;
  gap:44px
}
.database-list span {
  font-size:17px;
  color:#5d6c82;
  font-weight:650;
  letter-spacing:-.6px
}
.database-list small {
  font-size:9px;
  display:block;
  font-weight:450;
  letter-spacing:0;
  color:var(--muted)
}
.product-section {
  padding:47px 0 92px
}
.section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:30px
}
.section-heading h2 {
  max-width:650px
}
.section-heading>p {
  max-width:340px;
  font-size:13px
}
.section-heading .eyebrow {
  margin-bottom:12px
}
.tour-tabs {
  display:flex;
  gap:6px;
  background:#e9edf5;
  width:fit-content;
  padding:5px;
  border:1px solid #dfe5ef;
  border-radius:10px;
  margin-bottom:23px
}
.tour-tabs button {
  display:flex;
  align-items:center;
  gap:8px;
  border:0;
  background:transparent;
  color:var(--muted);
  border-radius:6px;
  padding:10px 20px;
  font-size:12px;
  white-space:nowrap
}
.tour-tabs button .icon {
  width:15px;
  height:15px
}
.tour-tabs button[aria-selected=true] {
  background:white;
  color:var(--blue);
  box-shadow:0 2px 5px #19244310
}
.tour-tabs button:hover {
  color:var(--blue)
}
.product-window {
  border:1px solid #bfcadb;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 30px 65px #142c4e1c,0 2px 6px #15294810;
  background:#f4f6fb
}
.window-bar {
  height:39px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 17px;
  background:#eaf0f8;
  border-bottom:1px solid #d5deeb
}
.traffic {
  display:flex;
  gap:7px;
  margin-right:auto
}
.traffic i {
  width:9px;
  height:9px;
  border-radius:50%;
  background:#fa6f6b;
  border:1px solid #e7605e
}
.traffic i:nth-child(2) {
  background:#f3c04f;
  border-color:#e4b144
}
.traffic i:nth-child(3) {
  background:#4dc77a;
  border-color:#44b970
}
.window-title {
  font-size:10px;
  color:#5b6981;
  margin-right:auto
}
.window-status {
  font-size:9px;
  color:#35705f;
  display:flex;
  align-items:center;
  gap:5px
}
.app-layout {
  display:grid;
  grid-template-columns:173px minmax(0,1fr);
  min-height:470px
}
.app-sidebar {
  background:#152138;
  color:#bcc9e0;
  padding:26px 14px 16px;
  display:flex;
  flex-direction:column;
  font-size:10px
}
.app-wordmark {
  font-size:16px;
  font-weight:700;
  color:#fff;
  letter-spacing:-.6px;
  margin:0 10px 22px
}
.app-wordmark span {
  color:#ffad69
}
.app-project {
  padding:10px;
  border:1px solid #ffffff20;
  background:#ffffff09;
  border-radius:7px;
  margin-bottom:25px;
  color:#e2e9f6
}
.app-project small {
  display:block;
  color:#93a5c2;
  font-size:8px;
  margin-top:3px
}
.sidebar-label {
  font-size:8px;
  letter-spacing:.12em;
  color:#8b9fbe;
  margin:0 10px 8px
}
.app-sidebar .side-item {
  padding:9px 10px;
  display:flex;
  gap:9px;
  align-items:center;
  border-radius:6px
}
.app-sidebar .side-item .icon {
  width:13px;
  height:13px
}
.app-sidebar .side-item.active {
  background:#2a426b;
  color:#f1f6ff
}
.engine-state {
  margin-top:auto;
  padding:12px 10px 0;
  border-top:1px solid #ffffff15;
  font-size:9px;
  color:#b9c9e0
}
.engine-state .dot {
  color:#67d8a9;
  margin-right:5px
}
.engine-state small {
  display:block;
  margin-top:3px;
  font-size:8px;
  color:#90a4c5
}
.app-content {
  padding:25px 27px 22px;
  background:radial-gradient(at 100% 0,#eef0ff,transparent 65%),#f6f7fb
}
.app-topline {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:19px
}
.app-topline small {
  font-size:9px;
  color:var(--muted)
}
.app-topline h3 {
  font-size:20px;
  letter-spacing:-.035em;
  margin-bottom:4px
}
.preview-panel {
  min-height:390px
}
.app-welcome {
  padding:23px 22px;
  border:1px solid #e1e6f2;
  border-radius:9px;
  background:linear-gradient(100deg,#fff,#eef3ff 75%,#fff1e7);
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  margin-bottom:15px
}
.app-welcome h3 {
  font-size:23px
}
.app-welcome h3 span {
  color:var(--blue)
}
.app-welcome h3 em {
  font-style:normal;
  color:var(--orange)
}
.app-welcome p {
  font-size:10px;
  max-width:350px;
  margin-top:8px
}
.app-welcome img {
  width:170px;
  max-height:83px;
  object-fit:contain
}
.app-stats {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:15px 0
}
.app-stat {
  background:white;
  border:1px solid #e0e5ef;
  border-radius:7px;
  padding:14px
}
.app-stat strong {
  font-size:23px;
  letter-spacing:-1px;
  line-height:1.2;
  display:block;
  font-weight:650
}
.app-stat span {
  font-size:9px;
  color:#63718a;
  display:block;
  margin-top:4px
}
.app-stat.amber strong {
  color:#b76522
}
.app-stat.green strong {
  color:var(--green)
}
.app-bottom {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:12px
}
.mini-panel {
  background:white;
  border:1px solid #e0e5ef;
  border-radius:8px;
  padding:15px
}
.mini-panel h4 {
  margin:0 0 12px;
  font-size:10px
}
.activity-row {
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 0;
  border-top:1px solid #edf0f6;
  font-size:9px
}
.activity-row .icon {
  width:14px;
  height:14px;
  color:var(--green)
}
.activity-row small {
  margin-left:auto;
  color:#77869e;
  font-size:8px
}
.health-row {
  display:flex;
  align-items:center;
  gap:22px;
  padding:8px 0
}
.health-ring {
  width:83px;
  height:83px;
  border-radius:50%;
  background:conic-gradient(#26997d 0% 92%,#e6ecf5 92% 100%);
  display:grid;
  place-items:center;
  flex-shrink:0
}
.health-ring>span {
  display:grid;
  place-content:center;
  text-align:center;
  width:66px;
  height:66px;
  border-radius:50%;
  background:white;
  font-size:18px;
  font-weight:650
}
.health-ring small {
  font-size:8px;
  font-weight:400;
  color:var(--muted)
}
.health-key {
  font-size:9px;
  line-height:2.2
}
.health-key i {
  width:5px;
  height:5px;
  border-radius:50%;
  display:inline-block;
  margin-right:5px;
  background:var(--green)
}
.health-key i.amber {
  background:#d88130
}
.app-table {
  width:100%;
  border-collapse:collapse;
  font-size:10px;
  background:white;
  border:1px solid #e0e5ef
}
.app-table th {
  text-align:left;
  font-size:8px;
  letter-spacing:.06em;
  font-weight:600;
  color:#6d7e99;
  background:#eef2f8;
  padding:10px 13px;
  text-transform:uppercase
}
.app-table td {
  padding:14px 13px;
  border-bottom:1px solid #e9edf4
}
.app-table td.mono {
  font-size:9px
}
.app-table .tag {
  font-size:8px;
  padding:2px 6px
}
.app-callout {
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 14px;
  background:#ecf2ff;
  border:1px solid #d7e3fa;
  border-radius:6px;
  font-size:10px;
  color:#466287;
  margin-top:16px
}
.app-callout .icon {
  width:16px;
  height:16px
}
.app-callout.warm {
  background:#fff4e8;
  border-color:#f2ddc0;
  color:#99602b
}
.code-preview {
  font:11px/2 var(--mono);
  background:var(--navy);
  color:#d7e1f4;
  border-radius:8px;
  padding:18px 20px;
  overflow:auto;
  margin:14px 0 0
}
.code-preview .comment {
  color:#94a6c0
}
.code-preview .keyword {
  color:#8fbdff
}
.code-preview .value {
  color:#80d1b0
}
.demo-caption {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:17px
}
.demo-caption p {
  font-size:10px
}
.demo-caption .text-link {
  font-size:11px
}
.tour-description {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  padding-top:24px;
  margin-top:25px;
  border-top:1px solid var(--line)
}
.tour-description h3 {
  font-size:22px
}
.tour-description p {
  font-size:13px
}
.feature-strip {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:35px;
  margin-top:46px
}
.feature-strip article {
  border-top:1px solid var(--line);
  padding-top:21px
}
.feature-strip .icon {
  color:var(--blue);
  margin-bottom:15px
}
.feature-strip h3 {
  font-size:17px;
  margin-bottom:10px
}
.feature-strip p {
  font-size:12px;
  line-height:1.8
}
.security-section {
  padding:87px 0 82px;
  background:var(--navy);
  color:#f0f4fc;
  overflow:hidden;
  position:relative
}
.security-section:before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 85% 40%,#25477570,transparent 55%);
  pointer-events:none
}
.security-grid {
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:85px;
  align-items:center
}
.security-section .eyebrow {
  color:#8caef9
}
.security-section h2 {
  max-width:480px
}
.security-section p {
  color:#b1c0d8;
  font-size:14px
}
.security-section h2+p {
  margin-top:24px;
  line-height:1.85
}
.security-points {
  display:grid;
  gap:20px;
  margin-top:32px
}
.security-point {
  display:flex;
  gap:15px;
  align-items:start
}
.security-point>.icon {
  color:#9fbff4;
  margin-top:2px
}
.security-point h3 {
  font-size:14px;
  font-weight:650;
  letter-spacing:-.01em;
  margin-bottom:6px
}
.security-point p {
  font-size:11px
}
.network-card {
  border:1px solid #6d84a544;
  border-radius:17px;
  padding:28px;
  background:#172840a6;
  box-shadow:0 25px 80px #00000021
}
.network-card>.eyebrow {
  font-size:9px;
  letter-spacing:.13em;
  margin:0 0 25px
}
.network-databases {
  display:flex;
  justify-content:space-between;
  gap:25px
}
.network-db {
  border:1px solid #6983aa55;
  border-radius:9px;
  flex:1;
  text-align:center;
  padding:20px 10px;
  background:#1b2e48
}
.network-db .icon {
  width:26px;
  height:26px;
  color:#8bb5ff;
  margin:0 auto 8px
}
.network-db:last-child .icon {
  color:#ffb37a
}
.network-db strong {
  font-size:12px;
  font-weight:500;
  display:block
}
.network-db small {
  font-size:9px;
  color:#a1b3cd
}
.network-path {
  display:flex;
  justify-content:space-around;
  height:50px
}
.network-path i {
  height:100%;
  width:1px;
  border-left:1px dashed #7197cf
}
.network-mac {
  display:flex;
  align-items:center;
  gap:15px;
  justify-content:center;
  border:1px solid #6682b1;
  border-radius:10px;
  background:linear-gradient(120deg,#263c60,#263957);
  padding:21px
}
.network-mac .icon {
  width:32px;
  height:32px;
  color:#bed4f7
}
.network-mac strong {
  font-size:14px;
  font-weight:600;
  display:block
}
.network-mac small {
  font-size:10px;
  color:#afc4e1
}
.network-card .local-label {
  text-align:center;
  margin-top:13px;
  font-size:9px;
  color:#96c9b5
}
.licensing-note {
  border-top:1px solid #6880a53d;
  margin-top:22px;
  padding-top:20px;
  display:flex;
  align-items:start;
  gap:10px
}
.licensing-note .icon {
  color:#a4b6cf;
  width:16px;
  height:16px
}
.licensing-note p {
  font-size:10px
}
.licensing-note strong {
  display:block;
  color:#dce5f4;
  font-weight:500;
  margin-bottom:4px
}
.workflow-section {
  padding:96px 0
}
.workflow-steps {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
  margin-top:40px;
  counter-reset:step
}
.workflow-steps article {
  border-top:1px solid #ccd7e8;
  padding-top:19px
}
.step-number {
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--blue);
  font:11px var(--mono);
  margin-bottom:26px
}
.step-number .icon {
  width:15px;
  height:15px;
  color:#a1b1c9
}
.workflow-steps h3 {
  font-size:19px;
  margin-bottom:13px
}
.workflow-steps p {
  font-size:12px;
  line-height:1.85
}
.workflow-footnote {
  margin-top:30px;
  padding:15px 18px;
  background:#edf1f8;
  border-radius:8px;
  font-size:11px
}
.evidence-section {
  padding:0 0 94px
}
.evidence-card {
  background:linear-gradient(120deg,#edf2ff,#fff 60%,#fff6ee);
  border:1px solid #d9e2f1;
  border-radius:var(--radius);
  padding:47px;
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:60px;
  align-items:center
}
.evidence-card h2 {
  font-size:35px
}
.evidence-card h2+p {
  margin-top:20px;
  font-size:13px
}
.evidence-card .text-link {
  margin-top:24px
}
.evidence-exports {
  border-radius:11px;
  padding:25px;
  border:1px solid #d6deeb;
  background:#ffffffd9;
  box-shadow:var(--shadow);
  transform:rotate(-2deg)
}
.export-topline {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:11px;
  font-weight:650;
  margin-bottom:20px
}
.export-file {
  display:flex;
  gap:13px;
  align-items:center;
  padding:13px 0;
  border-top:1px solid #e7ebf3
}
.export-file .icon {
  color:#637faf
}
.export-file strong {
  font-size:11px;
  display:block;
  font-weight:550
}
.export-file small {
  font-size:9px;
  color:var(--muted);
  display:block
}
.export-file>span:last-child {
  margin-left:auto;
  font:9px var(--mono);
  color:var(--blue)
}
.evidence-note {
  font-size:10px;
  margin-top:18px;
  color:var(--muted)
}
.editions-section {
  padding:80px 0 85px;
  background:#eef1f7;
  border-block:1px solid var(--line)
}
.edition-grid {
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  gap:19px;
  margin-top:34px;
  align-items:stretch
}
.edition-card {
  padding:30px;
  border:1px solid #d5deed;
  border-radius:14px;
  display:flex;
  flex-direction:column;
  background:#f8f9fc
}
.edition-card.featured {
  background:#fff;
  border-color:#9bb6f2;
  box-shadow:0 15px 35px #2241780b
}
.edition-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:25px
}
.edition-top>.icon {
  width:30px;
  height:30px;
  color:#506682
}
.edition-card.featured .edition-top>.icon {
  color:var(--blue)
}
.edition-card h3 {
  font-size:25px
}
.edition-card>.subtitle {
  font-size:11px;
  margin:8px 0 17px
}
.edition-card>p {
  font-size:12px;
  line-height:1.85
}
.edition-card ul {
  font-size:11px;
  color:var(--muted);
  padding-left:17px;
  margin:20px 0 25px
}
.edition-card li {
  margin-bottom:9px
}
.edition-card>.button,.edition-card>.text-link {
  margin-top:auto
}
.edition-card>.text-link {
  padding-block:12px
}
.edition-card .edition-footnote {
  font-size:10px;
  margin-top:13px
}
.license-note {
  font-size:11px;
  margin-top:23px
}
.resources-section {
  padding:90px 0
}
.resource-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:32px
}
.resource-card {
  text-decoration:none;
  border-top:1px solid var(--line);
  padding:23px 0 0;
  display:flex;
  flex-direction:column;
  align-items:start
}
.resource-card:hover h3 {
  color:var(--blue)
}
.resource-card small {
  font-size:9px;
  letter-spacing:.12em;
  color:var(--blue);
  text-transform:uppercase
}
.resource-card h3 {
  font-size:23px;
  margin:18px 0 14px;
  transition:color .2s
}
.resource-card p {
  font-size:12px;
  line-height:1.8;
  margin-bottom:22px
}
.resource-card .text-link {
  font-size:11px;
  margin-top:auto
}
.faq-section {
  padding:0 0 90px;
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:90px
}
.faq-intro h2 {
  font-size:35px
}
.faq-intro>p {
  font-size:13px;
  margin-top:20px
}
.faq-intro>.text-link {
  margin-top:24px;
  font-size:12px
}
.faq-list details {
  border-top:1px solid var(--line);
  padding:20px 0
}
.faq-list details:last-child {
  border-bottom:1px solid var(--line)
}
.faq-list summary {
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  font-size:13px;
  font-weight:600;
  list-style:none;
  line-height:1.6
}
.faq-list summary::-webkit-details-marker {
  display:none
}
.faq-list summary:after {
  content:"+";
  color:var(--blue);
  font:20px var(--mono)
}
.faq-list details[open] summary:after {
  content:"−"
}
.faq-list details p {
  font-size:12px;
  margin-top:15px;
  line-height:1.9;
  padding-right:20px
}
.faq-list details a {
  color:var(--blue)
}
.closing {
  background:radial-gradient(ellipse at 100% 100%,#34528470,transparent 70%),var(--navy);
  color:white;
  padding:61px 0
}
.closing .wrap {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px
}
.closing h2 {
  font-size:38px;
  max-width:600px
}
.closing p {
  font-size:13px;
  margin-top:14px;
  color:#b9c9e1
}
.closing .hero-note {
  font-size:10px;
  text-align:center
}
.closing .button {
  white-space:nowrap;
  background:#fff;
  color:var(--ink);
  border-color:#fff
}
.footer {
  padding:49px 0 26px
}
.footer-main {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px
}
.footer-links {
  display:flex;
  gap:26px;
  flex-wrap:wrap;
  font-size:11px
}
.footer-links a {
  color:var(--muted);
  text-decoration:none
}
.footer-links a:hover {
  color:var(--blue)
}
.footer-links small {
  display:block;
  margin-top:4px;
  font-size:9px
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:20px;
  border-top:1px solid var(--line);
  margin-top:34px;
  padding-top:22px;
  font-size:10px;
  color:var(--muted)
}
.footer-legal {
  display:grid;
  gap:8px
}
.guide {
  max-width:820px;
  margin:70px auto 90px
}
.guide .eyebrow {
  margin-top:35px
}
.guide h1 {
  font-size:clamp(38px,5vw,58px);
  max-width:800px
}
.guide .lead {
  font-size:19px;
  margin:25px 0 35px
}
.guide .article-meta {
  font-size:11px;
  border-bottom:1px solid var(--line);
  padding-bottom:25px
}
.guide section {
  margin-top:37px
}
.guide h2 {
  font-size:27px;
  margin-bottom:18px
}
.guide p,.guide li {
  font-size:15px;
  line-height:1.95;
  color:var(--muted)
}
.guide p+p {
  margin-top:16px
}
.guide li {
  margin-bottom:13px
}
.guide a {
  color:var(--blue)
}
.guide .guide-callout {
  padding:25px;
  border:1px solid #d9e3f4;
  background:#eaf0ff;
  border-radius:11px;
  margin-top:35px
}
.guide .guide-callout p {
  font-size:13px
}
.guide .guide-callout .button {
  color:white;
  margin-top:19px
}
.guide .related-guides {
  padding-top:30px;
  border-top:1px solid var(--line);
  margin-top:45px;
  display:flex;
  gap:22px;
  flex-wrap:wrap;
  font-size:12px
}
@media(min-width:1500px) {
  .hero {
    padding-top:90px
  }
  .hero-bottom {
    margin-top:72px
  }
}
@media(max-width:1050px) {
  .nav-links {
    gap:18px
  }
  .nav-actions>.text-link {
    display:none
  }
  .hero-top {
    gap:15px
  }
  .art-flow {
    width:65px
  }
  .art-flow span {
    width:75px;
    font-size:8px
  }
  .database-list {
    gap:28px
  }
  .security-grid {
    gap:45px
  }
  .app-layout {
    grid-template-columns:145px minmax(0,1fr)
  }
  .app-content {
    padding:20px
  }
  .health-row {
    gap:10px
  }
  .evidence-card {
    gap:30px;
    padding:35px
  }
  .edition-card {
    padding:24px
  }
  .edition-grid {
    grid-template-columns:1.1fr 1fr 1fr
  }
  .faq-section {
    gap:50px
  }
}
@media(max-width:1000px) {
  .nav-inner {
    height:72px
  }
  .nav-links {
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:72px;
    padding:20px;
    background:#f7f8c0;
    border-bottom:1px solid var(--line);
    background:var(--paper);
    box-shadow:0 20px 30px #12213810;
    max-height:calc(100dvh - 72px);
    overflow-y:auto
  }
  .nav-links.open {
    display:grid;
    gap:0
  }
  .nav-links>a {
    padding:13px 8px;
    font-size:14px
  }
  .menu-toggle {
    display:flex
  }
  .nav-actions {
    gap:12px
  }
  .brand-name {
    font-size:17px
  }
}
@media(max-width:800px) {
  .wrap {
    width:calc(100% - 40px)
  }
  .hero {
    padding-top:50px
  }
  .hero-top {
    grid-template-columns:1fr 1fr;
    gap:0
  }
  h1 {
    font-size:52px
  }
  .hero-description {
    font-size:14px
  }
  .hero .actions {
    gap:11px
  }
  .hero .button {
    font-size:12px;
    padding:11px 16px
  }
  .hero-art {
    margin-right:-20px
  }
  .art-flow {
    gap:9px
  }
  .art-flow span {
    width:65px;
    height:21px;
    line-height:19px;
    font-size:7px
  }
  .art-labels {
    font-size:8px;
    margin-inline:15px
  }
  .art-caption {
    font-size:8px;
    letter-spacing:.12em
  }
  .hero-bottom {
    margin-top:40px
  }
  .database-list {
    gap:22px
  }
  .database-list span {
    font-size:14px
  }
  .hero-bottom p {
    font-size:10px;
    max-width:130px
  }
  .section-heading {
    align-items:start
  }
  .section-heading>p {
    max-width:230px;
    font-size:12px
  }
  .tour-tabs button {
    padding:10px 15px
  }
  .app-layout {
    grid-template-columns:125px minmax(0,1fr)
  }
  .app-sidebar {
    padding:22px 9px 15px
  }
  .app-content {
    padding:18px
  }
  .app-welcome img {
    width:120px
  }
  .app-welcome {
    padding:18px
  }
  .app-welcome h3 {
    font-size:18px
  }
  .app-welcome p {
    font-size:9px
  }
  .app-stat {
    padding:11px
  }
  .app-bottom {
    grid-template-columns:1fr
  }
  .app-bottom .mini-panel:last-child {
    display:none
  }
  .app-table td {
    padding:14px 9px
  }
  .app-table th {
    padding:10px 9px
  }
  .feature-strip {
    gap:24px
  }
  .security-grid {
    grid-template-columns:1fr 1fr;
    gap:30px
  }
  .network-card {
    padding:20px
  }
  .network-db {
    padding:16px 8px
  }
  .security-section h2 {
    font-size:34px
  }
  .security-section h2+p {
    font-size:12px
  }
  .workflow-steps {
    gap:20px
  }
  .workflow-steps h3 {
    font-size:17px
  }
  .evidence-card {
    padding:30px
  }
  .evidence-card h2 {
    font-size:29px
  }
  .edition-grid {
    grid-template-columns:1fr 1fr
  }
  .edition-card.featured {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 40px
  }
  .edition-card.featured .edition-top {
    grid-column:1/-1;
    margin-bottom:20px
  }
  .edition-card.featured .subtitle {
    grid-column:1
  }
  .edition-card.featured>p:not(.subtitle) {
    grid-column:1
  }
  .edition-card.featured ul {
    grid-column:2;
    grid-row:2/5;
    margin-top:0
  }
  .edition-card.featured .button {
    grid-column:2;
    grid-row:5;
    align-self:end
  }
  .edition-card.featured .edition-footnote {
    grid-column:1;
    grid-row:5
  }
  .resource-card h3 {
    font-size:20px
  }
  .faq-section {
    gap:30px
  }
  .closing h2 {
    font-size:32px
  }
  .closing p {
    font-size:12px
  }
  .footer-main {
    align-items:start
  }
  .footer-links {
    gap:16px
  }
  .guide {
    margin-top:45px
  }
}
@media(max-width:600px) {
  html {
    scroll-padding-top:90px
  }
  .wrap {
    width:calc(100% - 36px)
  }
  .announcement {
    font-size:9px;
    padding:8px 10px
  }
  .announcement span {
    margin:0 5px
  }
  .nav-inner {
    gap:8px;
    height:68px
  }
  .nav-links {
    top:68px
  }
  .brand-mark {
    width:29px;
    height:35px
  }
  .brand-mark img {
    width:69px;
    left:-20px;
    top:-9px
  }
  .brand-name {
    font-size:16px
  }
  .brand small {
    font-size:6px
  }
  .nav-actions>.button {
    font-size:10px;
    min-height:36px;
    padding:8px 11px
  }
  .menu-toggle {
    height:36px;
    width:36px
  }
  .nav-actions {
    gap:8px
  }
  .hero {
    padding-top:37px
  }
  .hero-top {
    display:flex;
    flex-direction:column;
    align-items:stretch
  }
  .release-pill {
    margin-bottom:22px;
    font-size:9px
  }
  h1 {
    font-size:64px;
    line-height:1.04
  }
  .hero-description {
    font-size:15px;
    max-width:400px;
    margin:24px 0
  }
  .hero .button {
    font-size:12px;
    padding:12px 17px
  }
  .hero-note {
    font-size:10px
  }
  .hero-art {
    margin:35px auto 0;
    width:min(420px,100%);
    padding-top:0
  }
  .art-labels {
    margin:0 30px 0;
    font-size:9px
  }
  .art-flow {
    top:45%;
    gap:11px
  }
  .art-flow span {
    width:73px;
    font-size:8px;
    height:23px;
    line-height:21px
  }
  .art-caption {
    font-size:8px;
    margin-top:10px
  }
  .hero-bottom {
    display:block;
    margin-top:28px;
    padding-top:20px
  }
  .hero-bottom p {
    max-width:none;
    font-size:10px;
    margin-bottom:14px
  }
  .database-list {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px
  }
  .database-list span {
    font-size:13px;
    letter-spacing:-.5px
  }
  .database-list small {
    font-size:8px
  }
  .product-section {
    padding:40px 0 57px
  }
  .section-heading {
    display:block
  }
  .section-heading h2 {
    font-size:33px
  }
  .section-heading>p {
    max-width:none;
    margin-top:15px;
    font-size:12px
  }
  .eyebrow {
    font-size:10px
  }
  .tour-tabs {
    max-width:100%;
    width:100%;
    overflow:auto;
    gap:2px;
    margin-bottom:16px
  }
  .tour-tabs button {
    padding:9px 12px;
    font-size:11px
  }
  .tour-tabs button .icon {
    display:none
  }
  .product-window {
    border-radius:10px
  }
  .window-bar {
    padding:0 11px;
    height:33px
  }
  .window-title {
    font-size:8px
  }
  .window-status {
    display:none
  }
  .traffic i {
    width:7px;
    height:7px
  }
  .app-layout {
    display:block;
    min-height:0
  }
  .app-sidebar {
    display:none
  }
  .app-content {
    padding:15px 12px
  }
  .preview-panel {
    min-height:420px;
    overflow-x:auto
  }
  .app-topline h3 {
    font-size:18px
  }
  .app-topline small {
    font-size:8px
  }
  .app-topline .tag {
    font-size:8px
  }
  .app-welcome {
    padding:17px 12px;
    gap:4px
  }
  .app-welcome h3 {
    font-size:18px;
    max-width:200px;
    line-height:1.3
  }
  .app-welcome p {
    font-size:8px
  }
  .app-welcome img {
    width:85px
  }
  .app-stats {
    gap:7px;
    margin:12px 0;
    grid-template-columns:repeat(2,1fr)
  }
  .app-stat {
    padding:10px 12px
  }
  .app-stat strong {
    font-size:21px
  }
  .app-stat span {
    font-size:8px
  }
  .app-bottom {
    gap:8px
  }
  .mini-panel {
    padding:12px
  }
  .activity-row {
    font-size:8px
  }
  .app-table {
    min-width:430px;
    font-size:9px
  }
  .app-table td {
    padding:13px 10px
  }
  .app-table .mono {
    font-size:8px
  }
  .app-callout {
    font-size:9px;
    margin-top:12px
  }
  .code-preview {
    font-size:9px;
    padding:14px;
    min-width:300px
  }
  .demo-caption {
    align-items:start;
    gap:15px
  }
  .demo-caption p {
    font-size:9px;
    max-width:230px
  }
  .demo-caption .text-link {
    font-size:10px;
    white-space:nowrap
  }
  .tour-description {
    grid-template-columns:1fr;
    gap:10px;
    padding-top:20px;
    margin-top:20px
  }
  .tour-description h3 {
    font-size:21px
  }
  .tour-description p {
    font-size:12px
  }
  .feature-strip {
    grid-template-columns:1fr;
    gap:24px;
    margin-top:35px
  }
  .feature-strip article {
    display:grid;
    grid-template-columns:28px 1fr;
    gap:0 14px;
    padding-top:20px
  }
  .feature-strip .icon {
    grid-row:1/3
  }
  .feature-strip h3 {
    font-size:17px
  }
  .feature-strip p {
    font-size:12px
  }
  .security-section {
    padding:55px 0
  }
  .security-grid {
    grid-template-columns:1fr;
    gap:35px
  }
  .security-section h2 {
    font-size:35px;
    max-width:350px
  }
  .security-section h2+p {
    font-size:13px
  }
  .security-points {
    gap:22px
  }
  .security-point p {
    font-size:12px
  }
  .network-card {
    padding:25px
  }
  .workflow-section {
    padding:58px 0
  }
  .workflow-steps {
    grid-template-columns:1fr 1fr;
    gap:27px 20px;
    margin-top:28px
  }
  .step-number {
    margin-bottom:18px
  }
  .workflow-steps h3 {
    font-size:18px
  }
  .workflow-steps p {
    font-size:11px
  }
  .workflow-footnote {
    font-size:10px
  }
  .evidence-section {
    padding-bottom:55px
  }
  .evidence-card {
    grid-template-columns:1fr;
    gap:30px;
    padding:27px 24px
  }
  .evidence-card h2 {
    font-size:31px
  }
  .evidence-card h2+p {
    font-size:12px
  }
  .evidence-exports {
    transform:none;
    padding:20px
  }
  .evidence-note {
    font-size:9px
  }
  .editions-section {
    padding:55px 0
  }
  .edition-grid {
    grid-template-columns:1fr;
    gap:15px
  }
  .edition-card {
    padding:25px
  }
  .edition-card.featured {
    display:flex;
    gap:0
  }
  .edition-card.featured ul {
    margin:20px 0 25px
  }
  .edition-card.featured .button {
    align-self:stretch
  }
  .edition-card.featured .edition-top {
    margin-bottom:25px
  }
  .edition-card .edition-footnote {
    font-size:10px
  }
  .edition-card>p,.edition-card ul {
    font-size:12px
  }
  .resources-section {
    padding:57px 0
  }
  .resource-grid {
    grid-template-columns:1fr;
    gap:26px
  }
  .resource-card h3 {
    font-size:24px;
    max-width:330px
  }
  .resource-card p {
    font-size:12px
  }
  .resource-card .text-link {
    font-size:12px
  }
  .faq-section {
    padding-bottom:55px;
    grid-template-columns:1fr;
    gap:28px
  }
  .faq-intro h2 {
    font-size:32px
  }
  .faq-intro>.text-link {
    margin-top:16px
  }
  .faq-list summary {
    font-size:12px
  }
  .closing {
    padding:42px 0
  }
  .closing .wrap {
    display:block
  }
  .closing h2 {
    font-size:35px
  }
  .closing .actions {
    margin-top:25px
  }
  .closing .hero-note {
    text-align:left
  }
  .footer {
    padding:33px 0 23px
  }
  .footer-main {
    display:block
  }
  .footer-links {
    margin-top:28px;
    font-size:11px;
    gap:18px
  }
  .footer-bottom {
    flex-direction:column;
    align-items:flex-start;
    gap:24px;
    font-size:9px;
    margin-top:27px
  }
  .guide h1 {
    font-size:39px
  }
  .guide .lead {
    font-size:17px
  }
  .guide p,.guide li {
    font-size:14px
  }
  .guide h2 {
    font-size:25px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important
  }
}

/* Current macOS pricing and plan editor. */
.pricing-section {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:80px;
  align-items:center;
  padding-block:90px;
  scroll-margin-top:100px;
}
.pricing-intro h2 { font-size:clamp(32px,4vw,48px); letter-spacing:-.045em; line-height:1.08; margin:16px 0 22px; }
.pricing-intro>p { max-width:510px; }
.pricing-features { padding-left:20px; color:var(--ink); font-size:15px; line-height:2; margin:24px 0; }
.pricing-card { padding:38px; background:#fff; border:1px solid #bdcdee; border-top:4px solid var(--blue); border-radius:16px; box-shadow:0 14px 42px #14213c0a; }
.pricing-label { display:block; font-size:12px; color:var(--blue); text-transform:uppercase; letter-spacing:.09em; font-weight:700; }
.price-amount { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin:20px 0 16px; }
.price-amount strong { font-size:clamp(48px,5vw,68px); letter-spacing:-.06em; color:var(--ink); line-height:1.1; }
.price-amount>span { font-size:13px; color:var(--muted); }
.price-schedule { font-size:14px; line-height:1.8; margin-bottom:8px; }
.price-boundary { font-size:11px; color:var(--muted); margin-bottom:26px; }
.pricing-card .button { width:100%; justify-content:center; }
.pricing-contact { display:flex; justify-content:center; margin-top:18px; font-size:13px; }
.price-exclusion { margin:26px 0 0; border-top:1px solid var(--line); padding-top:18px; font-size:12px; line-height:1.7; color:var(--muted); }
.workflow-hero { padding-block:52px 56px; }
.workflow-hero>.eyebrow { margin-top:42px; }
.workflow-hero h1 { max-width:1000px; font-size:clamp(40px,5.7vw,74px); line-height:1.06; letter-spacing:-.055em; margin:20px 0 24px; }
.workflow-hero h1>span { color:var(--blue); }
.workflow-hero .lead { max-width:660px; }
#mapping-editor { scroll-margin-top:100px; }
.mapping-preview { margin:0; background:white; border:1px solid #cbd6e8; border-radius:14px; overflow:hidden; box-shadow:0 24px 70px #14213c12; }
.mapping-preview .window-bar { background:#edf1f7; }
.mapping-editor { padding:28px; background:#f6f8fc; }
.mapping-editor-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.mapping-back { color:var(--blue); font-size:11px; font-weight:600; }
.mapping-editor-heading h2 { font-size:25px; letter-spacing:-.025em; margin:12px 0 6px; }
.mapping-editor-heading p { margin:0; font-size:12px; max-width:550px; }
.mapping-tools { display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end; }
.mapping-tools>span { white-space:nowrap; padding:7px 10px; border:1px solid #d5dcea; background:white; color:#4d5b73; border-radius:6px; font-size:10px; }
.mapping-tools>.mapping-save { background:var(--blue); color:white; border-color:var(--blue); }
.mapping-endpoints { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; margin-bottom:22px; }
.mapping-endpoints>div { display:flex; flex-direction:column; gap:9px; border:1px solid #dbe2ef; border-radius:9px; padding:18px 20px; background:white; }
.mapping-endpoints small { color:var(--blue); font-size:9px; font-weight:700; letter-spacing:.12em; }
.mapping-endpoints strong { display:flex; align-items:center; gap:9px; font-size:14px; font-weight:600; }
.mapping-endpoints>div:last-child small { color:#a54b13; }
.mapping-endpoints>div>span { color:var(--muted); font:11px ui-monospace,monospace; }
.mapping-direction { color:#8a9dbb; font-size:23px; }
.mapping-panes { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.mapping-pane { background:white; border:1px solid #dbe2ef; border-radius:9px; min-width:0; overflow:hidden; }
.mapping-pane-heading { padding:16px 15px 11px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.mapping-pane-heading h3 { margin:0; font-size:12px; letter-spacing:-.01em; }
.mapping-pane-heading>span { color:#6c7c94; font-size:9px; }
.mapping-pane-tools { display:flex; justify-content:flex-end; gap:13px; color:#61728c; padding:4px 15px 11px; font-size:9px; }
.mapping-pane-tools>span:first-child { margin-right:auto; }
.mapping-table-scroll { overflow-x:auto; }
.mapping-table-scroll:focus-visible { outline:2px solid var(--blue); outline-offset:-2px; }
.mapping-data { width:100%; border-collapse:collapse; white-space:nowrap; font:10px ui-monospace,SFMono-Regular,monospace; }
.mapping-data th,.mapping-data td { padding:12px 9px; text-align:left; border-bottom:1px solid #eaf0f7; font-weight:400; }
.mapping-data thead th { background:#f8fafd; text-transform:uppercase; font:8px 'Avenir Next',system-ui,sans-serif; font-weight:700; letter-spacing:.025em; color:#6b7b91; padding-block:9px; }
.mapping-data th:first-child,.mapping-data td:first-child { padding-left:15px; }
.mapping-data th button { color:var(--blue); padding:4px 0; font:inherit; font-weight:600; background:none; border:0; cursor:pointer; }
.mapping-data .is-selected { background:#edf3ff; }
.mapping-data code { font:inherit; }
.mapping-data small { display:block; color:#8490a2; font-size:8px; margin-top:3px; }
.mapping-data .mapping-check { color:var(--blue); }
.mapping-key { background:#eaf1ff; padding:3px 4px; border-radius:3px; color:#285abe; font-size:8px; }
.mapping-pane-note { font-size:10px; line-height:1.6; color:#6d7d92; padding:15px; margin:0; }
.mapping-save-note { display:flex; gap:8px; align-items:center; color:#6b7b91; font-size:10px; margin:20px 0 0; }
.mapping-save-note .icon { width:14px; height:14px; }
.mapping-preview figcaption { padding:15px 28px; font-size:11px; color:var(--muted); border-top:1px solid #dbe2ef; line-height:1.7; }
.workflow-number { display:block; color:var(--blue); font-size:13px; font-weight:700; margin-bottom:24px; }
.mapping-guidance { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding-block:0 90px; }
.mapping-guidance h2 { font-size:36px; line-height:1.15; letter-spacing:-.04em; margin:16px 0 24px; }
.mapping-guidance h3 { margin:35px 0 18px; font-size:21px; }
.mapping-guidance p { font-size:15px; }
.plan-story { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; padding-bottom:40px; }
.plan-definition { padding:38px; background:white; border:1px solid #cbd6e8; border-radius:14px; box-shadow:0 20px 50px #14213c0a; }
.plan-definition h2 { margin:24px 0 12px; font-size:30px; letter-spacing:-.03em; }
.plan-definition>.mono { font-size:13px; color:var(--muted); overflow-wrap:anywhere; }
.plan-definition dl { margin:24px 0; font-size:13px; }
.plan-definition dl>div { padding:14px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:100px 1fr; gap:20px; }
.plan-definition dt { color:var(--muted); }
.plan-definition dd { margin:0; }
.plan-operations article { display:flex; gap:20px; align-items:baseline; padding:16px 0; border-bottom:1px solid var(--line); }
.plan-operations article>span { color:var(--blue); font-size:12px; font-weight:700; }
.plan-operations h3 { margin:0 0 8px; font-size:21px; }
.plan-operations p { font-size:14px; margin:0; }
@media(max-width:1050px) {
  .pricing-section { gap:40px; }
  .mapping-editor-heading { align-items:flex-start; }
  .mapping-tools { max-width:200px; }
  .mapping-panes { grid-template-columns:1fr; }
}
@media(max-width:800px) {
  .pricing-section,.mapping-guidance,.plan-story { grid-template-columns:1fr; gap:30px; }
  .pricing-section { padding-block:60px; }
  .mapping-guidance { padding-bottom:60px; }
  .mapping-editor-heading { flex-direction:column; }
  .mapping-tools { max-width:none; justify-content:flex-start; }
  .workflow-hero { padding-block:32px 42px; }
}
@media(max-width:600px) {
  .pricing-card,.plan-definition { padding:26px; }
  .pricing-features { font-size:13px; line-height:1.7; }
  .pricing-features li { margin-bottom:10px; }
  .mapping-editor { padding:16px; }
  .mapping-endpoints { grid-template-columns:1fr; gap:10px; }
  .mapping-direction { display:none; }
  .mapping-preview figcaption { padding:14px 16px; }
  .mapping-preview .window-status { display:none; }
  .mapping-preview .window-title { font-size:10px; }
  .mapping-pane-heading { align-items:flex-start; }
  .mapping-pane-tools { gap:10px; }
  .mapping-data { font-size:10px; }
  .plan-definition dl>div { grid-template-columns:1fr; gap:6px; }
  .price-amount { gap:8px; }
}

.offer-announcement a { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:6px 12px; }
.offer-announcement span { margin:0; opacity:1; }
.offer-announcement [data-price-amount] { font-weight:700; }
@media(max-width:600px) {
  .offer-announcement { padding:10px 18px; }
  .offer-announcement [data-price-term] { flex-basis:100%; font-size:10px; }
  .offer-announcement a>span:last-child { display:none; }
}
