.deployment-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.deployment-card {
  background: #fff;
  border-radius: 14px;
  padding: 42px;
  min-height: 405px;
  display: flex;
  flex-direction: column;
}

.deployment-card h3 {
  font-size: clamp(26px, 2.4vw, 34px);
  line-height: 1.15;
  letter-spacing: -.03em;
  margin-bottom: 20px;
  max-width: 520px;
}

.deployment-card > p:not(.mini-label) {
  font-size: 16px;
  line-height: 1.7;
  color: var(--muted);
  max-width: 510px;
}

.platform-card { background: #e3edfb; }
.platform-row,
.owned-options {
  display: flex;
  gap: 11px;
  flex-wrap: wrap;
  margin-top: auto;
  padding-top: 28px;
}

.platform-row span,
.owned-options span {
  display: flex;
  align-items: center;
  gap: 9px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 12px 15px;
  font-size: 13px;
  font-weight: 600;
}

.platform-row img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.owned-card {
  background: var(--ink);
  color: #fff;
}
.owned-card > p:not(.mini-label) { color: #b9cce1; }
.owned-card .mini-label { color: #7fc0ff; }
.owned-card strong { color: #fff; }
.owned-options span {
  background: #152846;
  border-color: #30415d;
  color: #fff;
}

.footer-sitemap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  font-size: 12px;
}
.footer-sitemap a { color: var(--muted); }
.footer-sitemap a:hover { color: var(--blue); }

.product-page .site-header { position: static; }
.product-hero { padding-block: 72px 90px; display: grid; grid-template-columns: .92fr 1.08fr; gap: 70px; align-items: center; }
.product-hero h1 { max-width: 680px; }
.product-lede { max-width: 590px; margin: 30px 0 0; color: var(--muted); font-size: 19px; line-height: 1.65; }
.product-page nav a[aria-current="page"] { color: var(--ink); font-weight: 600; }
.copy-status { min-height: 20px; margin: 10px 0 0; color: var(--muted); font-size: 12px; }
.contact-page-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; padding-block: 85px 105px; align-items: start; }
.contact-page-copy { position: sticky; top: 120px; }
.contact-page-copy h1 { font-size: clamp(44px, 5vw, 68px); }
.contact-page-copy > p:not(.eyebrow) { max-width: 520px; margin-top: 28px; color: var(--muted); font-size: 18px; line-height: 1.7; }
.contact-direct { margin-top: 45px; padding-top: 22px; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 8px; }
.contact-direct span { color: var(--muted); font-size: 12px; }.contact-direct a { color: var(--blue); font-size: 16px; font-weight: 600; }
.contact-form { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 38px; box-shadow: 0 24px 65px #0b1e3d0c; }
.contact-form label { display: flex; flex-direction: column; gap: 9px; margin-bottom: 22px; color: var(--ink); font-size: 14px; font-weight: 600; }
.contact-form input,.contact-form select,.contact-form textarea { width: 100%; border: 1px solid #cdd9e6; border-radius: 7px; background: #f8fbff; color: var(--ink); padding: 14px 15px; font: inherit; font-size: 16px; line-height: 1.4; }
.contact-form textarea { resize: vertical; min-height: 135px; }.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { outline: 3px solid #0755f542; border-color: var(--bright); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.form-honey { position: absolute !important; left: -10000px !important; }
.form-submit { width: 100%; border: 0; cursor: pointer; }.form-note { margin: 14px 0 0; text-align: center; color: var(--muted); font-size: 12px; }
.thanks-page { min-height: 100vh; padding-block: 45px 100px; display: flex; flex-direction: column; justify-content: space-between; }.thanks-page > div { padding-block: 100px; }.thanks-page p:not(.eyebrow) { color: var(--muted); font-size: 18px; margin: 25px 0 30px; }

.motion-stage { position: relative; min-height: 610px; overflow: hidden; border-radius: 16px; background: #e3edfb; box-shadow: inset 0 0 0 1px #d3dfed; }
.motion-stage::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 70% 25%, #fff 0, #fff0 34%), linear-gradient(145deg, transparent 45%, #cbdcf2 100%); }
.context-pill { position: absolute; z-index: 2; top: 36px; left: 36px; display: flex; align-items: center; gap: 10px; padding: 11px 15px; border: 1px solid #cfdeee; border-radius: 999px; background: #ffffffdb; color: #536078; font-size: 12px; box-shadow: 0 8px 30px #0b1e3d0d; animation: pill-in 6s ease-in-out infinite; }
.pulse-dot { width: 8px; height: 8px; border-radius: 50%; background: #0755f5; box-shadow: 0 0 0 0 #0755f566; animation: pulse 2s ease-out infinite; }
.shop-card { position: absolute; z-index: 2; background: #fff; border: 1px solid #dce5ef; border-radius: 12px; box-shadow: 0 22px 55px #0b1e3d1b; }
.card-one { top: 125px; left: 11%; width: 78%; padding: 28px; animation: float-one 7s ease-in-out infinite; }
.card-one strong { display: block; font-size: 25px; margin: 7px 0 10px; }
.card-one small { color: #536078; }
.card-kicker { color: #0755f5; font-size: 10px; letter-spacing: .11em; font-weight: 700; }
.card-two,.card-three { left: 17%; right: 10%; display: grid; grid-template-columns: 54px 1fr auto; align-items: center; gap: 16px; padding: 17px; }
.card-two { top: 275px; animation: float-two 7s .35s ease-in-out infinite; }
.card-three { top: 385px; animation: float-three 7s .7s ease-in-out infinite; }
.card-two strong,.card-three strong { display: block; font-size: 15px; margin-bottom: 7px; }
.card-two small,.card-three small { color: #68758b; font-size: 12px; }
.product-swatch { width: 54px; height: 64px; border-radius: 8px; }
.product-swatch.blue { background: linear-gradient(145deg,#173d70,#0755f5); }
.product-swatch.gold { background: linear-gradient(145deg,#8c6827,#e5c371); }
.shop-card button { border: 0; border-radius: 6px; background: #0b1e3d; color: #fff; padding: 10px 14px; font: inherit; font-size: 12px; }
.intent-line { position: absolute; z-index: 2; left: 0; right: 0; bottom: 34px; display: flex; justify-content: center; gap: 8px; }
.intent-line span { width: 7px; height: 7px; border-radius: 50%; background: #9cb9d8; animation: thinking 1.3s ease-in-out infinite; }
.intent-line span:nth-child(2) { animation-delay: .18s; }.intent-line span:nth-child(3) { animation-delay: .36s; }

.lifecycle-motion { background: #0b1e3d; box-shadow: inset 0 0 0 1px #20314f; }
.lifecycle-motion::before { background: radial-gradient(circle at 48% 45%, #0755f566 0, transparent 44%), linear-gradient(145deg, transparent 50%, #0f2a50 100%); }
.signal { position: absolute; z-index: 2; left: 32px; width: 205px; padding: 16px; color: #fff; border: 1px solid #304563; background: #112440e8; border-radius: 10px; box-shadow: 0 16px 35px #02081766; }
.signal-one { top: 70px; animation: signal-in 7s ease-in-out infinite; }.signal-two { top: 205px; animation: signal-in 7s .65s ease-in-out infinite; }
.signal>span { float: left; margin-right: 12px; color: #7fc0ff; font-size: 11px; }.signal strong { display: block; font-size: 14px; margin-bottom: 6px; }.signal small { color: #a8bfda; font-size: 11px; }
.decision-core { position: absolute; z-index: 3; top: 170px; right: 32px; width: 210px; padding: 25px; color: #fff; background: #0755f5; border-radius: 12px; box-shadow: 0 25px 60px #02081780; animation: core-glow 7s ease-in-out infinite; }
.decision-core small { display: block; color: #d2e9ff; font-size: 9px; letter-spacing: .1em; }.decision-core strong { display: block; font-size: 27px; margin: 12px 0; }.decision-core span { font-size: 12px; color: #d2e9ff; }
.message-card { position: absolute; z-index: 4; left: 16%; right: 9%; bottom: 55px; padding: 24px; border-radius: 12px; background: #fff; box-shadow: 0 26px 60px #02081799; animation: message-rise 7s ease-in-out infinite; }
.message-card .message-channel { display: block; color: #0755f5; font-size: 10px; letter-spacing: .12em; font-weight: 700; }.message-card strong { display: block; font-size: 19px; margin: 12px 0 8px; }.message-card small { color: #68758b; }.message-cta { display: block; margin-top: 19px; color: #0755f5; font-size: 12px; font-weight: 700; }
.decision-path { position: absolute; z-index: 1; height: 1px; background: linear-gradient(90deg,#427ebc,#7fc0ff); transform-origin: left; animation: path-draw 7s ease-in-out infinite; }.path-one { width: 190px; left: 215px; top: 135px; transform: rotate(18deg); }.path-two { width: 190px; left: 215px; top: 265px; transform: rotate(-14deg); animation-delay: .5s; }

@keyframes pill-in { 0%,10%{opacity:0;transform:translateY(-10px)}20%,85%{opacity:1;transform:none}95%,100%{opacity:0;transform:translateY(-6px)} }
@keyframes pulse { 70%{box-shadow:0 0 0 9px #0755f500}100%{box-shadow:0 0 0 0 #0755f500} }
@keyframes float-one { 0%,12%{opacity:0;transform:translateY(16px)}25%,82%{opacity:1;transform:translateY(0)}50%{transform:translateY(-4px)}95%,100%{opacity:0;transform:translateY(-8px)} }
@keyframes float-two { 0%,18%{opacity:0;transform:translateX(25px)}31%,85%{opacity:1;transform:none}55%{transform:translateX(-4px)}96%,100%{opacity:0;transform:translateX(-8px)} }
@keyframes float-three { 0%,24%{opacity:0;transform:translateX(25px)}37%,88%{opacity:1;transform:none}60%{transform:translateX(-4px)}97%,100%{opacity:0;transform:translateX(-8px)} }
@keyframes thinking { 0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-6px);opacity:1} }
@keyframes signal-in { 0%,12%{opacity:0;transform:translateX(-18px)}24%,82%{opacity:1;transform:none}94%,100%{opacity:0;transform:translateX(5px)} }
@keyframes path-draw { 0%,20%{opacity:0;scale:0 1}35%,78%{opacity:1;scale:1 1}92%,100%{opacity:0;scale:1 1} }
@keyframes core-glow { 0%,28%{opacity:.25;transform:scale(.96);box-shadow:0 0 0 #0755f500}42%,80%{opacity:1;transform:scale(1);box-shadow:0 0 45px #0755f555}94%,100%{opacity:.25;transform:scale(.98)} }
@keyframes message-rise { 0%,43%{opacity:0;transform:translateY(26px)}57%,86%{opacity:1;transform:none}97%,100%{opacity:0;transform:translateY(-8px)} }
.product-band { background: var(--ink); color: #fff; padding-block: 90px; }
.product-band .eyebrow { color: #7fc0ff; }
.product-band h2 { max-width: 760px; }
.product-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 45px; margin-top: 60px; }
.product-columns article { border-top: 1px solid #30415d; padding-top: 24px; }
.product-columns h3 { font-size: 22px; line-height: 1.3; }
.product-columns p { color: #b9cce1; line-height: 1.7; }
.product-proof { padding-block: 100px; display: grid; grid-template-columns: .85fr 1.25fr; gap: 90px; }
.product-proof > p { color: var(--muted); font-size: 18px; line-height: 1.75; }

@media (max-width: 760px) {
  .deployment-grid,
  .product-columns,
  .product-proof { grid-template-columns: 1fr; }
  .deployment-card { min-height: 350px; padding: 30px 24px; }
  .footer-sitemap { order: 3; width: 100%; justify-content: flex-start; flex-wrap: wrap; gap: 10px 16px; }
  .product-hero { padding-block: 55px 60px; grid-template-columns: 1fr; gap: 38px; }
  .product-lede { margin-left: 0; font-size: 17px; }
  .motion-stage { min-height: 500px; }
  .context-pill { top: 24px; left: 20px; }
  .card-one { top: 100px; left: 7%; width: 86%; }
  .card-two,.card-three { left: 10%; right: 6%; grid-template-columns: 46px 1fr auto; }
  .card-two { top: 250px; }.card-three { top: 355px; }
  .product-swatch { width: 46px; height: 56px; }
  .signal { left: 18px; width: 190px; }.signal-one { top: 55px; }.signal-two { top: 165px; }
  .decision-core { right: 18px; top: 250px; width: 190px; }
  .message-card { left: 7%; right: 7%; bottom: 35px; }
  .path-one,.path-two { display:none; }
  .product-columns { gap: 28px; margin-top: 40px; }
  .product-proof { gap: 25px; padding-block: 70px; }
  .contact-page-grid { grid-template-columns: 1fr; gap: 38px; padding-block: 55px 75px; }
  .contact-page-copy { position: static; }.contact-form { padding: 25px 20px; }.form-row { grid-template-columns: 1fr; gap: 0; }
}

@media (min-width: 761px) and (max-width: 1050px) {
  .nav-wrap nav { gap: 14px; font-size: 12px; }
  .nav-wrap .button.small { padding: 10px 12px; gap: 9px; }
}

@media (min-width: 761px) and (max-width: 1250px) {
  .menu-toggle { display: flex; align-items: center; gap: 15px; background: none; border: 0; color: var(--ink); font-size: 14px; padding: 8px 0; }
  .menu-toggle > span { font-size: 20px; }
  .nav-wrap nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--paper); padding: 22px 28px; box-shadow: 0 15px 20px #0b1e3d12; border-top: 1px solid var(--line); align-items: stretch; gap: 24px; font-size: 14px; }
  .nav-wrap nav.open { display: flex; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .motion-stage * { animation: none !important; }
}

.site-footer{flex-wrap:wrap}.footer-sitemap{flex-wrap:wrap}

/* Keep the footer sitemap in the document flow on narrow screens. The
   header's mobile menu styles in site.css otherwise match every nav. */
@media (max-width: 760px) {
  .site-footer .footer-sitemap {
    position: static;
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    gap: 12px 18px;
  }
  .site-footer .footer-sitemap a { font-size: 13px; line-height: 1.5; }
}

/* Homepage copy additions, using the existing palette and typography. */
#deploy { padding-top:70px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button-secondary { color:var(--ink); background:transparent; border:1px solid var(--ink); }
.button-secondary:hover { color:#fff; }
.proof-band { background:var(--blue); color:#fff; padding-block:33px; }
.proof-inner { display:grid; grid-template-columns:minmax(280px,.85fr) 1fr; align-items:center; gap:36px; }
.proof-stat { display:flex; flex-direction:column; gap:5px; }
.proof-kicker { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#dbe8ff; }
.proof-stat strong { font-size:clamp(28px,3vw,42px); line-height:1.1; letter-spacing:-.035em; white-space:nowrap; }
.proof-stat strong span { font-weight:400; opacity:.75; }
.proof-caption { font-size:14px; color:#dbe8ff; }
.proof-band p { max-width:560px; margin:0; font-size:16px; font-weight:400; line-height:1.55; color:#f2f6ff; }
.differentiation-heading { display:grid; grid-template-columns:1fr 1fr; gap:25px 60px; }
.differentiation-heading > p { position:static !important; max-width:none !important; margin:0 !important; font-size:17px !important; line-height:1.65; color:var(--muted); }
.differentiation-list { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 44px; list-style:none; padding:26px 0 0; margin:0; border-top:1px solid var(--line); }
.differentiation-list li { font-size:16px; line-height:1.65; color:var(--muted); }
.differentiation-list strong { color:var(--ink); }
@media(max-width:760px) {
  #deploy { padding-top:42px; }
  .proof-band { padding-block:26px; }
  .proof-inner { grid-template-columns:1fr; gap:16px; }
  .proof-stat { gap:3px; }
  .proof-stat strong { font-size:clamp(27px,7vw,36px); }
  .proof-band p { font-size:15px; line-height:1.5; }
  .differentiation-heading, .differentiation-list { grid-template-columns:1fr; }
  .differentiation-heading { gap:20px; }
  .differentiation-list { gap:18px; padding-top:22px; }
}

/* Keep the hero description and its action together below the headline. */
@media (min-width:761px) {
  .hero-section .hero-heading { display:block; margin-bottom:36px; }
  .hero-section .hero-heading > div:first-child { max-width:1000px; }
  .hero-section .hero-summary { display:flex; align-items:center; gap:28px; margin-top:30px; padding:0; }
  .hero-section .hero-summary > p { max-width:700px; margin:0; font-size:17px; line-height:1.55; }
  .hero-section .hero-actions { flex:none; }
}
