.site-header { height:86px; background:transparent; border:0; gap:20px; }
.site-header::after {
  content:"";
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  bottom:2px;
  width:48%;
  background:url("images/header-silver-waves.png") right bottom / 100% 240% no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.3) 12%,rgba(0,0,0,.85) 28%,#000 42%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.3) 12%,rgba(0,0,0,.85) 28%,#000 42%);
  opacity:1;
  filter:contrast(1.8) brightness(.92);
  pointer-events:none;
}
.hero { background-position:center 35%; }
.hero-shade {
  inset:0;
  background:linear-gradient(90deg,
    rgba(6,31,43,.84) 0%,
    rgba(6,31,43,.82) 37%,
    rgba(6,31,43,.68) 47%,
    rgba(6,31,43,.32) 56%,
    rgba(6,31,43,.08) 63%,
    transparent 70%);
}
@media(max-width:640px) {
  .hero { background-position:62% 42%; }
  .hero-shade { background:rgba(5,28,39,.7); }
}
.plans-section {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#fdfdfd;
}
.plans-section::before {
  content:'';
  position:absolute;
  inset:-18%;
  z-index:-2;
  pointer-events:none;
  background:url('images/subscription-waves-hd.png') center / cover no-repeat;
  opacity:.38;
  filter:brightness(1.12);
  transform-origin:center;
  animation:subscription-wave-roll 12s ease-in-out infinite alternate;
  will-change:transform;
}
.plans-section::after {
  content:'';
  position:absolute;
  inset:-18%;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.76) 45%,rgba(255,255,255,.38) 58%,transparent 75%);
  animation:subscription-wave-light 9s ease-in-out infinite alternate;
}
.plans-section .section-heading {
  text-shadow:0 1px 5px #fff,0 0 14px #fff;
}
.plans-section .plan-card {
  box-shadow:0 12px 30px rgba(26,45,65,.12);
}
.plans-section .plan-top svg {
  transform-box:fill-box;
  transform-origin:center;
  will-change:transform,filter;
}
.plans-section .plan-card:nth-child(1) .plan-top svg {
  animation:plan-tag-motion 5.6s ease-in-out infinite;
}
.plans-section .plan-card:nth-child(3) .plan-top svg {
  animation:plan-sparkle-motion 5.2s ease-in-out infinite 1.1s;
}
.plans-section .popular {
  background:linear-gradient(180deg,#bd2b39 0%,#86131f 100%);
  color:#fff;
  border:1px solid #760f1a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 3px 7px rgba(101,11,22,.22);
  animation:popular-badge-pulse 5.8s ease-in-out infinite .6s;
}
.platform-features svg {
  transform-box:fill-box;
  transform-origin:center;
  will-change:transform,filter;
}
.platform-features article:nth-child(1) svg { animation:platform-search-motion 5.4s ease-in-out infinite; }
.platform-features article:nth-child(2) svg { animation:platform-bag-motion 5.9s ease-in-out infinite .8s; }
.platform-features article:nth-child(3) svg { animation:platform-bell-motion 5.2s ease-in-out infinite 1.5s; }
.platform-copy > .button-coral {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(180deg,#df443d 0%,#c7352f 58%,#85201d 100%);
  border-color:#a52a25;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -7px 10px rgba(75,7,5,.34),0 7px 13px rgba(4,18,28,.34);
  animation:platform-button-edge 5.8s ease-in-out infinite;
}
.platform-copy > .button-coral:hover {
  background:linear-gradient(180deg,#cf3732 0%,#a92a26 58%,#681815 100%);
}
.platform-copy > .button-coral::before {
  content:'';
  position:absolute;
  z-index:0;
  top:-55%;
  bottom:-55%;
  left:-55%;
  width:34%;
  pointer-events:none;
  transform:skewX(-22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.68),transparent);
  animation:platform-button-glaze 5.8s ease-in-out infinite;
}
.platform-copy > .button-coral > * { position:relative; z-index:1; }
.platform-copy > .button-coral svg {
  transform-box:fill-box;
  transform-origin:center;
  animation:platform-profile-motion 5.5s ease-in-out infinite .7s;
}
.final-cta {
  background:linear-gradient(180deg,#d33a34 0%,#c9322e 58%,#9b201f 82%,#681416 100%);
  box-shadow:inset 0 -18px 25px rgba(68,5,9,.32),inset 0 2px 0 rgba(255,255,255,.08);
}
.final-actions .button {
  color:#fff !important;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.final-actions .button > * { position:relative; z-index:1; }
.final-actions .button-outline {
  background:linear-gradient(180deg,#c93c38 0%,#a72425 62%,#681416 100%);
  border-color:rgba(255,255,255,.88);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -6px 9px rgba(66,4,8,.32),0 5px 9px rgba(75,8,12,.25);
}
.final-actions .button-outline:hover {
  background:linear-gradient(180deg,#b93431 0%,#921d20 62%,#551013 100%);
  color:#fff;
}
.final-actions .button:first-child svg {
  transform-box:fill-box;
  transform-origin:center;
  animation:final-register-icon 5.5s ease-in-out infinite;
}
.final-actions .button-outline svg {
  transform-box:fill-box;
  transform-origin:center;
  animation:final-signin-icon 5.8s ease-in-out infinite .9s;
}
.platform-features h3 a,
.platform-features p a {
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  text-decoration:none;
  border:1px solid rgba(255,197,78,.48);
  border-radius:5px;
  background:rgba(255,255,255,.07);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 3px 7px rgba(1,13,22,.16);
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.platform-features h3 a { padding:.26rem .58rem; color:#fff; }
.platform-features p a { padding:.34rem .65rem; margin:.65rem 0 .15rem; color:#ffe09a; }
.platform-features h3 a:hover,
.platform-features p a:hover {
  color:#fff;
  border-color:#ffc94e;
  background:rgba(255,197,78,.17);
  box-shadow:0 0 11px rgba(255,197,78,.22),inset 0 1px 0 rgba(255,255,255,.14);
  transform:translateY(-1px);
}
@keyframes subscription-wave-roll {
  0% { transform:translate(-2%,-2%) scale(1.04) rotate(-1deg) skewY(-1deg); }
  50% { transform:translate(1%,2%) scale(1.08,1.03) rotate(.5deg) skewY(1deg); }
  100% { transform:translate(2%,-1%) scale(1.04,1.08) rotate(1deg) skewY(-.5deg); }
}
@keyframes subscription-wave-light {
  from { transform:translateX(-15%); opacity:.35; }
  to { transform:translateX(15%); opacity:.8; }
}
@keyframes plan-tag-motion {
  0%,11%,45%,100% { transform:rotate(0) translateY(0); filter:none; }
  18% { transform:rotate(-14deg) translateY(-3px); filter:drop-shadow(0 0 5px rgba(22,191,108,.62)); }
  27% { transform:rotate(10deg) translateY(1px); }
  36% { transform:rotate(-5deg) translateY(-1px); filter:drop-shadow(0 0 3px rgba(22,191,108,.42)); }
}
@keyframes plan-sparkle-motion {
  0%,10%,46%,100% { transform:rotate(0) scale(1); filter:none; }
  18% { transform:rotate(90deg) scale(1.28); filter:drop-shadow(0 0 5px rgba(22,210,119,.78)); }
  28% { transform:rotate(200deg) scale(.92); filter:drop-shadow(0 0 8px rgba(22,210,119,.92)); }
  38% { transform:rotate(360deg) scale(1.18); filter:drop-shadow(0 0 4px rgba(22,210,119,.65)); }
}
@keyframes popular-badge-pulse {
  0%,12%,46%,100% { transform:scale(1); box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 3px 7px rgba(101,11,22,.22); }
  22%,34% { transform:scale(1.06); box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 0 0 2px rgba(196,39,55,.16),0 0 12px rgba(177,26,43,.42); }
}
@keyframes platform-search-motion {
  0%,10%,46%,100% { transform:translate(0,0) rotate(0); filter:none; }
  17% { transform:translate(-4px,-3px) rotate(-10deg); filter:drop-shadow(0 0 5px rgba(255,197,43,.65)); }
  25% { transform:translate(4px,-2px) rotate(9deg); }
  33% { transform:translate(3px,4px) rotate(5deg); filter:drop-shadow(0 0 7px rgba(255,197,43,.82)); }
  41% { transform:translate(-2px,2px) rotate(-5deg); }
}
@keyframes platform-bag-motion {
  0%,11%,47%,100% { transform:translateY(0) rotate(0); filter:none; }
  19% { transform:translateY(-7px) rotate(-7deg); filter:drop-shadow(0 6px 4px rgba(255,197,43,.3)); }
  28% { transform:translateY(1px) rotate(6deg); }
  37% { transform:translateY(-3px) rotate(-3deg); filter:drop-shadow(0 3px 5px rgba(255,197,43,.5)); }
}
@keyframes platform-bell-motion {
  0%,10%,45%,100% { transform:rotate(0) scale(1); filter:none; }
  17% { transform:rotate(-16deg) scale(1.12); filter:drop-shadow(0 0 5px rgba(255,197,43,.68)); }
  23% { transform:rotate(15deg) scale(1.12); }
  29% { transform:rotate(-11deg) scale(1.08); filter:drop-shadow(0 0 8px rgba(255,197,43,.9)); }
  35% { transform:rotate(8deg) scale(1.05); }
  41% { transform:rotate(0) scale(1); }
}
@keyframes platform-button-edge {
  0%,11%,48%,100% { box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -7px 10px rgba(75,7,5,.34),0 7px 13px rgba(4,18,28,.34); }
  22%,37% { box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -7px 10px rgba(75,7,5,.34),0 0 0 2px rgba(255,105,94,.32),0 0 17px rgba(255,71,61,.5),0 8px 15px rgba(4,18,28,.38); }
}
@keyframes platform-button-glaze {
  0%,13% { left:-55%; opacity:0; }
  19% { opacity:1; }
  38% { left:130%; opacity:.08; }
  39%,100% { left:130%; opacity:0; }
}
@keyframes platform-profile-motion {
  0%,11%,45%,100% { transform:rotate(0) scale(1); filter:none; }
  18% { transform:rotate(-9deg) scale(1.18); filter:drop-shadow(0 0 4px rgba(255,255,255,.72)); }
  27% { transform:rotate(8deg) scale(1.08); }
  36% { transform:rotate(-3deg) scale(1.14); filter:drop-shadow(0 0 6px rgba(255,255,255,.86)); }
}
@keyframes final-register-icon {
  0%,11%,45%,100% { transform:scale(1) rotate(0); filter:none; }
  19% { transform:scale(1.2) rotate(-9deg); filter:drop-shadow(0 0 4px rgba(255,255,255,.75)); }
  28% { transform:scale(1.07) rotate(8deg); }
  37% { transform:scale(1.14) rotate(-3deg); filter:drop-shadow(0 0 6px rgba(255,255,255,.9)); }
}
@keyframes final-signin-icon {
  0%,10%,45%,100% { transform:translateX(0); filter:none; }
  18% { transform:translateX(5px); filter:drop-shadow(0 0 4px rgba(255,255,255,.7)); }
  27% { transform:translateX(-2px); }
  36% { transform:translateX(4px); filter:drop-shadow(0 0 6px rgba(255,255,255,.88)); }
}
.signal-strip svg {
  transform-box:fill-box;
  transform-origin:center;
  will-change:transform,filter;
}
.signal-strip > div:nth-child(1) svg { animation:home-qr-scan 5.2s ease-in-out infinite; }
.signal-strip > div:nth-child(2) svg { animation:home-delivery-lift 5.8s ease-in-out infinite .7s; }
.signal-strip > div:nth-child(3) svg { animation:home-shield-confirm 6.1s ease-in-out infinite 1.4s; }
@keyframes home-qr-scan {
  0%,10%,45%,100% { transform:scale(1); filter:none; }
  18% { transform:scale(1.18) rotate(-4deg); filter:drop-shadow(0 0 5px rgba(24,211,121,.8)); }
  27% { transform:scale(.96) rotate(3deg); filter:drop-shadow(0 0 8px rgba(24,211,121,.95)); }
  36% { transform:scale(1.12); filter:drop-shadow(0 0 4px rgba(24,211,121,.7)); }
}
@keyframes home-delivery-lift {
  0%,11%,47%,100% { transform:translateY(0) rotate(0); filter:none; }
  19% { transform:translateY(-7px) rotate(-6deg); filter:drop-shadow(0 6px 4px rgba(16,91,57,.25)); }
  28% { transform:translateY(1px) rotate(4deg); }
  36% { transform:translateY(-3px) rotate(-2deg); filter:drop-shadow(0 3px 3px rgba(16,91,57,.2)); }
  42% { transform:translateY(0) rotate(0); }
}
@keyframes home-shield-confirm {
  0%,12%,47%,100% { transform:scale(1) rotate(0); filter:none; }
  20% { transform:scale(1.17) rotate(-7deg); filter:drop-shadow(0 0 6px rgba(24,211,121,.75)); }
  29% { transform:scale(1.04) rotate(6deg); filter:drop-shadow(0 0 9px rgba(24,211,121,.92)); }
  38% { transform:scale(1.12) rotate(0); filter:drop-shadow(0 0 5px rgba(24,211,121,.65)); }
}
.home-contour { position:absolute; top:0; left:0; width:100%; height:120px; overflow:visible; pointer-events:none; }
.home-surface { filter:drop-shadow(0 13px 10px rgba(7,20,34,.55)) drop-shadow(0 5px 4px rgba(7,20,34,.24)); }
.home-edge,.home-travel { fill:none; stroke-width:1.5px; filter:drop-shadow(0 0 3px rgba(0,157,255,.65)); }
.home-travel { stroke-width:2px; }
.site-header > .brand { position:absolute; left:50%; top:14px; transform:translateX(-50%); width:88px; height:88px; z-index:2; isolation:isolate; }
.site-header > .brand::after {
  content:'';
  position:absolute;
  z-index:3;
  inset:0;
  pointer-events:none;
  background:linear-gradient(108deg,transparent 30%,rgba(255,255,255,.98) 46%,rgba(196,239,255,.9) 51%,transparent 66%);
  background-size:260% 100%;
  background-position:150% 0;
  -webkit-mask:url("images/m2-1.png") center / contain no-repeat;
  mask:url("images/m2-1.png") center / contain no-repeat;
  filter:drop-shadow(0 0 5px rgba(186,235,255,.9));
  animation:home-emblem-shine 5.8s ease-in-out infinite;
}
@keyframes home-emblem-shine {
  0%, 17% { background-position:150% 0; opacity:0; }
  23% { opacity:1; }
  45% { background-position:-65% 0; opacity:.95; }
  46%, 100% { background-position:-65% 0; opacity:0; }
}
.site-header > .desktop-nav { position:relative; z-index:1; gap:clamp(12px,1.2vw,24px); max-width:calc(50% - 110px); }
.site-header > .desktop-nav a { white-space:nowrap; gap:.5rem; font-size:clamp(.82rem,.85vw,.94rem); color:#071d49; }
.site-header > .desktop-nav a:hover { color:#123f80; }
.site-header > .desktop-nav a svg {
  width:1rem;
  height:1rem;
  transform-origin:center;
  animation:desktop-nav-icon-wake 7s ease-in-out infinite;
}
.site-header > .desktop-nav a:nth-child(2) svg { animation-delay:.55s; }
.site-header > .desktop-nav a:nth-child(3) svg { animation-delay:1.1s; }
.site-header > .desktop-nav a:nth-child(4) svg { animation-delay:1.65s; }
.site-header > .desktop-nav a:nth-child(5) svg { animation-delay:2.2s; }
@keyframes desktop-nav-icon-wake {
  0%,70%,100% { transform:translateY(0) rotate(0) scale(1); filter:none; }
  75% { transform:translateY(-2px) rotate(-8deg) scale(1.16); filter:drop-shadow(0 0 3px #13975c80); }
  80% { transform:translateY(1px) rotate(7deg) scale(1.08); filter:drop-shadow(0 0 5px #20c97a70); }
  86% { transform:translateY(0) rotate(0) scale(1); filter:none; }
}
.header-actions { position:relative; z-index:2; margin-left:auto; }
.header-actions > .button { position:relative; overflow:hidden; isolation:isolate; }
.header-actions > .button::after {
  content:''; position:absolute; inset:-50% auto -50% -65%; width:38%; pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-22deg); animation:home-action-shine 6.4s ease-in-out infinite;
}
.header-actions > .home-register::after { animation-delay:1.7s; }
.header-actions > .home-support::after { animation-delay:3.1s; }
.header-actions > .home-install::after { animation-delay:4.4s; }
.header-actions > .home-support {
  background:linear-gradient(180deg,#244e89 0%,#143464 62%,#081936 100%);
  border-color:#102950;
  color:#fff;
  box-shadow:inset 0 1px 0 #ffffff45,inset 0 -5px 8px #020d2466,0 4px 7px #071a3638;
  animation:none;
}
.header-actions > .home-support:hover {
  background:linear-gradient(180deg,#2c5b9c 0%,#183d74 62%,#091e42 100%);
  border-color:#153868;
  color:#fff;
}
.home-support svg { transform-origin:center; animation:home-support-motion 6.6s ease-in-out infinite .5s; }
@keyframes home-support-motion {
  0%,12%,44%,100% { transform:rotate(0) translateY(0); }
  20% { transform:rotate(-12deg) translateY(-2px); }
  28% { transform:rotate(10deg) translateY(-2px); }
  36% { transform:rotate(-5deg) translateY(-1px); }
}
.home-signin svg { animation:home-signin-motion 5.6s ease-in-out infinite; }
.home-register svg { transform-origin:center; animation:home-register-motion 6.2s ease-in-out infinite .8s; }
@keyframes home-action-shine {
  0%,15% { left:-65%; opacity:0; }
  20% { opacity:1; }
  38% { left:140%; opacity:0; }
  100% { left:140%; opacity:0; }
}
@keyframes home-signin-motion {
  0%,12%,43%,100% { transform:translateX(0); }
  22% { transform:translateX(4px); }
  30% { transform:translateX(-2px); }
}
@keyframes home-register-motion {
  0%,14%,45%,100% { transform:rotate(0) scale(1); }
  24% { transform:rotate(-10deg) scale(1.12); }
  34% { transform:rotate(8deg) scale(1.06); }
}
.header-actions .home-signin {
  background:linear-gradient(180deg,#b82c39 0%,#901522 62%,#560b15 100%);
  border-color:#78121d;
  color:#fff;
  box-shadow:inset 0 1px 0 #ffffff45,inset 0 -5px 8px #35020b66,0 4px 7px #380b2038;
}
.header-actions .home-signin:hover {
  background:linear-gradient(180deg,#a42130 0%,#7a101d 62%,#450810 100%);
  border-color:#650f19;
  color:#fff;
}
.button:not(.button-outline):not(.button-quiet):not(.button-coral):not(.button-support) {
  background:linear-gradient(180deg,#228e60 0%,#18794e 62%,#084c2d 100%);
  border-color:#10653e;
  box-shadow:inset 0 1px 0 #ffffff50,inset 0 -5px 8px #033c2855,0 4px 7px #092e3430;
  animation:home-button-pulse 5.8s ease-in-out infinite;
}
.hero .button { animation-delay:1s; }
@keyframes home-button-pulse {
  0%,12%,48%,100% { box-shadow:inset 0 1px 0 #ffffff50,inset 0 -5px 8px #033c2855,0 4px 7px #092e3430; }
  23%,35% { box-shadow:inset 0 1px 0 #ffffff60,inset 0 -5px 8px #033c2855,0 0 0 2px #34dc8830,0 0 17px #1ee17f65,0 5px 9px #092e3430; }
}
/* Rounded glass-like header actions, matching the red, green and blue emblem palette. */
.site-header .header-actions > .home-signin {
  --pill-top:#ff7189; --pill-body:#bb0025; --pill-base:#50000d;
  --pill-rim:#8a0920; --pill-light:#ff9aac; --pill-glow:#ce123b55;
}
.site-header .header-actions > .home-register {
  --pill-top:#53e8ac; --pill-body:#078651; --pill-base:#003821;
  --pill-rim:#00784c; --pill-light:#99ffcf; --pill-glow:#00b87550;
}
.site-header .header-actions > .home-support {
  --pill-top:#38b9f4; --pill-body:#074783; --pill-base:#00152f;
  --pill-rim:#062c55; --pill-light:#74d7ff; --pill-glow:#087ec64d;
}
.site-header .header-actions > .home-install {
  --pill-top:#d3d7dc; --pill-body:#737b84; --pill-base:#30363d;
  --pill-rim:#555d66; --pill-light:#f4f6f8; --pill-glow:#aeb7c34d;
}
.site-header .header-actions > .button.button-small:is(.home-signin,.home-register,.home-support,.home-install) {
  min-height:44px;
  padding:.6rem 1.2rem;
  border:2px solid var(--pill-rim);
  border-radius:999px;
  background:linear-gradient(180deg,var(--pill-top) 0%,var(--pill-body) 28%,var(--pill-base) 100%);
  color:#fff;
  box-shadow:inset 0 2px 1px var(--pill-light),inset 0 -3px 2px #00000050,0 4px 4px -1px #020b185c,0 9px 12px -3px #020b1873,0 0 13px var(--pill-glow);
  text-shadow:0 1px 2px #00000035;
  animation:header-pill-glow 6.4s ease-in-out infinite;
}
.site-header .header-actions > .button::before {
  content:"";
  position:absolute;
  inset:2px;
  border:1px solid #ffffff25;
  border-radius:inherit;
  background:radial-gradient(ellipse at 18% 0%,#ffffff45,transparent 55%);
  pointer-events:none;
  z-index:-1;
}
.site-header .header-actions > .button.button-small:hover { filter:brightness(1.09); }
.site-header .header-actions > .button.button-small:active { transform:translateY(1px); }
@keyframes header-pill-glow {
  0%,15%,55%,100% { filter:brightness(1); }
  30%,40% { filter:brightness(1.08); }
}
@media(prefers-reduced-motion:reduce) {
  .site-header .header-actions > .button.button-small:is(.home-signin,.home-register,.home-support,.home-install) { animation:none; }
}

/* Install actions use the same dimensional language as the site controls, in neutral grey. */
.install-app-button {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border:1px solid #555d66 !important;
  background:linear-gradient(180deg,#cbd0d5 0%,#777f88 42%,#363c43 100%) !important;
  color:#fff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -4px 7px rgba(10,14,18,.42),0 5px 10px rgba(2,11,18,.26) !important;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
}
.install-app-button:hover {
  background:linear-gradient(180deg,#d9dde1 0%,#858e97 42%,#414850 100%) !important;
  color:#fff !important;
  filter:brightness(1.06);
}
.home-install svg,.install-app-button svg {
  transform-origin:center;
  animation:install-icon-motion 2.7s ease-in-out infinite;
}
.install-app-button::after {
  content:"";
  position:absolute;
  inset:-55% auto -55% -45%;
  width:28%;
  z-index:-1;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);
  animation:install-button-shine 5.8s ease-in-out infinite;
}
.platform-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.8rem;
}
.platform-actions .button { margin-top:0; }
@keyframes install-icon-motion {
  0%,58%,100% { transform:translateY(0); }
  67% { transform:translateY(3px); }
  75% { transform:translateY(-2px); }
  83% { transform:translateY(1px); }
}
@keyframes install-button-shine {
  0%,56% { left:-45%; opacity:0; }
  62% { opacity:.8; }
  76% { left:120%; opacity:.18; }
  77%,100% { left:120%; opacity:0; }
}

/* Click-to-play video showcase between pricing and the process steps. */
.video-showcase {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);
  gap:clamp(30px,5vw,76px);
  align-items:center;
  background:
    radial-gradient(ellipse at 76% 52%,rgba(25,161,255,.38) 0%,rgba(13,111,210,.2) 24%,transparent 49%),
    linear-gradient(135deg,#123f75 0%,#082d5b 48%,#031a38 100%);
  box-shadow:inset 0 2px 0 rgba(145,211,255,.2),inset 0 -18px 28px rgba(0,8,28,.28);
}
.video-showcase::before {
  content:'';
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(115deg,transparent 22%,rgba(255,255,255,.62) 43%,transparent 61%);
  background-size:220% 100%;
  animation:video-section-sheen 8.5s ease-in-out infinite;
  pointer-events:none;
}
.video-showcase-copy { max-width:500px; }
.video-showcase .eyebrow { color:#7fd4ff; }
.video-showcase-copy h2 { margin-bottom:18px; color:#fff; font-size:clamp(2rem,3.3vw,3.5rem); text-shadow:0 2px 9px rgba(0,9,31,.42); }
.video-showcase-copy > p:last-child { max-width:440px; margin:0; color:#c7deef; font-size:1.05rem; }
.video-player-shell {
  position:relative;
  aspect-ratio:16 / 9;
  padding:4px;
  border:1px solid rgba(98,124,138,.42);
  border-radius:24px;
  background:linear-gradient(145deg,#fff 0%,#cbd5dc 48%,#71808b 100%);
  transform:translateY(-6px);
  box-shadow:inset 0 3px 0 rgba(255,255,255,1),inset 0 -4px 7px rgba(15,36,49,.3),0 7px 0 #354c63,0 22px 12px -12px rgba(0,5,19,.76),0 38px 38px -18px rgba(0,7,25,.72),0 58px 70px -28px rgba(0,8,29,.52),0 0 30px rgba(38,174,255,.76),0 0 76px rgba(0,132,255,.52),0 0 122px rgba(16,106,255,.26);
}
.video-player-shell::before {
  content:'';
  position:absolute;
  z-index:4;
  inset:-2px;
  padding:1px;
  border-radius:26px;
  background:conic-gradient(from var(--video-rim-angle),transparent 0deg,transparent 188deg,rgba(7,73,255,.04) 203deg,rgba(18,103,255,.16) 225deg,rgba(28,145,255,.34) 250deg,rgba(49,188,255,.66) 272deg,rgba(105,224,255,.96) 287deg,#d9f9ff 292deg,#fff 295deg,#fff 297deg,#a8efff 300deg,#35c4ff 306deg,rgba(22,125,255,.72) 319deg,rgba(10,72,255,.28) 339deg,transparent 354deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  filter:drop-shadow(0 0 12px rgba(225,252,255,1)) drop-shadow(0 0 27px rgba(41,169,255,.96)) drop-shadow(0 0 44px rgba(15,91,255,.58));
  opacity:1;
  pointer-events:none;
  animation:video-border-travel 2.85s linear infinite,video-border-breathe 1.9s ease-in-out infinite;
}
.video-player-shell::after {
  content:'';
  position:absolute;
  z-index:3;
  top:5px;
  left:8%;
  width:32%;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#fff,rgba(175,239,255,.9),transparent);
  filter:drop-shadow(0 0 5px rgba(255,255,255,.85));
  animation:video-rim-light 5.8s ease-in-out infinite;
  pointer-events:none;
}
.video-poster {
  position:relative;
  width:100%;
  height:100%;
  display:block;
  overflow:hidden;
  padding:0;
  border:0;
  border-radius:17px;
  background:#071e2a;
  color:#fff;
  cursor:pointer;
}
.video-poster img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease,filter .55s ease; }
.video-poster-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(2,11,18,.05) 28%,rgba(2,11,18,.82) 100%); }
.video-play {
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:84px;
  height:84px;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.82);
  border-radius:50%;
  background:linear-gradient(180deg,#36b97d 0%,#087347 100%);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.42),inset 0 -5px 8px rgba(0,39,23,.36),0 8px 0 #044d30,0 14px 28px rgba(0,0,0,.42),0 0 28px rgba(42,226,139,.46);
  transform:translate(-50%,-55%);
  animation:video-play-pulse 3.4s ease-in-out infinite;
}
.video-play svg { width:34px; height:34px; margin-left:4px; fill:#fff; stroke:#fff; }
.video-caption { position:absolute; z-index:2; left:24px; right:24px; bottom:21px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; text-align:left; }
.video-caption strong { font:700 clamp(1.1rem,2vw,1.55rem)/1.2 'Manrope',Arial,sans-serif; }
.video-caption small { color:#d8e9e2; font-size:.82rem; }
.video-poster:hover img,.video-poster:focus-visible img { transform:scale(1.035); filter:brightness(1.06) saturate(1.06); }
.video-poster:hover .video-play,.video-poster:focus-visible .video-play { animation-play-state:paused; transform:translate(-50%,-59%) scale(1.06); }
.video-player-shell iframe { width:100%; height:100%; display:block; border:0; border-radius:17px; background:#000; }
.video-cursor-spark {
  position:absolute;
  z-index:5;
  left:var(--spark-x);
  top:var(--spark-y);
  width:var(--spark-size);
  height:var(--spark-size);
  border-radius:50%;
  background:var(--spark-color);
  box-shadow:0 0 5px var(--spark-color),0 0 11px var(--spark-glow);
  transform:translate(-50%,-50%);
  pointer-events:none;
  animation:video-cursor-spark .78s ease-out forwards;
}
@keyframes video-section-sheen { 0%,15% { background-position:125% 0; opacity:0; } 26% { opacity:.8; } 54% { background-position:-35% 0; opacity:.45; } 55%,100% { background-position:-35% 0; opacity:0; } }
@keyframes video-rim-light { 0%,100% { left:5%; opacity:.25; } 50% { left:63%; opacity:1; } }
@property --video-rim-angle { syntax:'<angle>'; initial-value:0deg; inherits:false; }
@keyframes video-border-travel { to { --video-rim-angle:360deg; } }
@keyframes video-border-breathe { 0%,100% { opacity:.86; filter:drop-shadow(0 0 9px rgba(184,240,255,.92)) drop-shadow(0 0 22px rgba(31,145,255,.74)) drop-shadow(0 0 35px rgba(16,82,255,.42)); } 50% { opacity:1; filter:drop-shadow(0 0 15px rgba(239,254,255,1)) drop-shadow(0 0 34px rgba(45,179,255,1)) drop-shadow(0 0 52px rgba(16,92,255,.66)); } }
@keyframes video-cursor-spark { 0% { opacity:0; transform:translate(-50%,-50%) scale(.35); } 18% { opacity:.72; } 100% { opacity:0; transform:translate(calc(-50% + var(--spark-dx)),calc(-50% + var(--spark-dy))) scale(1.55); } }
@keyframes video-play-pulse { 0%,100% { box-shadow:inset 0 2px 0 rgba(255,255,255,.42),inset 0 -5px 8px rgba(0,39,23,.36),0 8px 0 #044d30,0 14px 28px rgba(0,0,0,.42),0 0 15px rgba(42,226,139,.26); } 50% { box-shadow:inset 0 2px 0 rgba(255,255,255,.55),inset 0 -5px 8px rgba(0,39,23,.36),0 8px 0 #044d30,0 16px 30px rgba(0,0,0,.46),0 0 35px rgba(42,226,139,.72); } }
@media(max-width:900px) {
  .video-showcase { grid-template-columns:1fr; }
  .video-showcase-copy { max-width:700px; }
}
@media(max-width:640px) {
  .video-showcase { gap:24px; }
  .video-player-shell { padding:3px; border-radius:16px; transform:translateY(-4px); box-shadow:inset 0 2px 0 rgba(255,255,255,1),inset 0 -2px 4px rgba(15,36,49,.24),0 4px 0 #354c63,0 16px 10px -9px rgba(0,5,19,.72),0 29px 31px -17px rgba(0,7,25,.58),0 0 26px rgba(38,174,255,.72),0 0 56px rgba(0,132,255,.42); }
  .video-poster,.video-player-shell iframe { border-radius:11px; }
  .video-play { width:62px; height:62px; box-shadow:inset 0 2px 0 rgba(255,255,255,.42),inset 0 -4px 6px rgba(0,39,23,.32),0 5px 0 #044d30,0 11px 21px rgba(0,0,0,.4),0 0 22px rgba(42,226,139,.42); }
  .video-play svg { width:26px; height:26px; }
  .video-caption { left:15px; right:15px; bottom:12px; }
  .video-caption small { display:none; }
}

/* A quiet emblem watermark gives the process section depth without competing with its copy. */
.steps-section {
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.steps-section::after {
  content:"";
  position:absolute;
  z-index:-1;
  top:50%;
  right:clamp(-95px,-3vw,-35px);
  width:clamp(360px,34vw,650px);
  aspect-ratio:1;
  background:url("images/m2-1.png") center / contain no-repeat;
  opacity:.055;
  filter:saturate(.65) blur(.25px);
  transform:translateY(-47%) rotate(-7deg);
  pointer-events:none;
}
.steps-section > * { position:relative; z-index:1; }
@media(max-width:760px) {
  .steps-section::after {
    top:58%;
    right:-125px;
    width:430px;
    opacity:.04;
  }
}

/* Shared public footer: bevelled base with a narrow, travelling white highlight. */
.site-footer {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);
  background:linear-gradient(180deg,#173a49 0%,#0b2c3d 34%,#071e2a 74%,#020b12 100%);
  border-top:1px solid #ffffff4d;
  border-bottom:7px solid #02090e;
  box-shadow:inset 0 2px 0 #ffffff12,inset 0 -18px 24px #00000040,0 8px 18px #020b1255;
}
.site-footer::before {
  content:""; position:absolute; z-index:1; top:-2px; left:0; width:25%; height:7px;
  background:
    radial-gradient(ellipse at center,#ffffffe6 0%,#ffffff80 22%,#ffffff26 48%,#ffffff08 68%,transparent 100%) center / 100% 2px no-repeat,
    radial-gradient(ellipse at center,#ffffff45 0%,#ffffff1c 32%,#ffffff08 58%,transparent 78%);
  filter:blur(.4px);
  pointer-events:none;
  animation:footer-roof-shine 6s ease-in-out infinite;
}
.site-footer > * { min-width:0; }
.site-footer .footer-legal a {
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  margin:0; padding:.47rem 0; color:#d3e0e6;
  border-bottom:1px solid #ffffff0c;
}
.site-footer .footer-legal a { justify-content:flex-start; gap:.8rem; }
.site-footer .footer-brand strong { color:#fff; font-weight:700; }
.site-footer .footer-legal a:hover,.site-footer .footer-legal a[aria-current="page"] { color:#fff; }
.footer-link-arrow { color:#8fe5bc; transition:transform .2s ease; }
.footer-legal a:hover .footer-link-arrow { transform:translateX(4px); }
.footer-connect {
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem 2rem;
  padding-top:1.15rem;
  border-top:1px solid rgba(255,255,255,.14);
}
.site-footer .footer-connect .copyright {
  flex:0 0 auto;
  margin:0;
  padding-top:0;
  border-top:0;
  white-space:nowrap;
  color:#9eb3bd;
}
.footer-utility-links {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:.45rem 1.15rem;
}
.site-footer .footer-utility-links a {
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  margin:0;
  padding:.32rem 0;
  color:#c9d8df;
  font-size:.82rem;
  font-weight:600;
  line-height:1.25;
  transition:color .2s ease,transform .2s ease,text-shadow .2s ease;
}
.site-footer .footer-utility-links a + a::before {
  content:"";
  width:1px;
  height:1em;
  margin-right:.65rem;
  background:rgba(255,255,255,.18);
}
.footer-utility-links svg {
  width:16px;
  height:16px;
  flex:0 0 auto;
  color:#8fe5bc;
  filter:drop-shadow(0 0 5px rgba(85,220,163,.2));
  transform-origin:center;
  animation:footer-icon-float 2.8s ease-in-out infinite;
}
.footer-utility-links a:nth-child(2) svg { animation-delay:-.55s; }
.footer-utility-links a:nth-child(3) svg { animation-delay:-1.1s; }
.footer-utility-links a:nth-child(4) svg { animation-delay:-1.65s; }
.footer-utility-links a:nth-child(5) svg { animation-delay:-2.2s; }
.footer-utility-links .footer-social-link svg {
  color:#fff;
  filter:drop-shadow(0 0 6px rgba(91,190,255,.65));
  animation-name:footer-social-pulse;
}
.site-footer .footer-utility-links a:hover {
  color:#fff;
  transform:translateY(-2px);
  text-shadow:0 0 10px rgba(143,229,188,.55);
}
.site-footer a:focus-visible { outline:2px solid #fff; outline-offset:4px; border-radius:3px; }
@keyframes footer-icon-float {
  0%,100% { transform:translateY(0) rotate(0); }
  50% { transform:translateY(-3px) rotate(5deg); }
}
@keyframes footer-social-pulse {
  0%,100% { transform:scale(1); filter:drop-shadow(0 0 4px rgba(91,190,255,.42)); }
  50% { transform:scale(1.16); filter:drop-shadow(0 0 9px rgba(91,190,255,.9)); }
}
@keyframes footer-roof-shine {
  0% { transform:translateX(-110%); opacity:0; }
  12%,80% { opacity:.9; }
  100% { transform:translateX(410%); opacity:0; }
}
@media(max-width:760px) {
  .site-footer { grid-template-columns:1fr 1fr; gap:2rem 1.2rem; }
  .site-footer .footer-brand { grid-column:1 / -1; }
  .footer-connect { align-items:flex-start; flex-direction:column; }
  .footer-utility-links { justify-content:flex-start; }
  .footer-connect .footer-utility-links { order:1; }
  .site-footer .footer-connect .copyright {
    order:2;
    width:100%;
  }
}
@media(max-width:440px) {
  .site-footer { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  .video-showcase::before,.video-player-shell::before,.video-player-shell::after,.video-play { animation:none; }
  .video-cursor-spark { display:none; }
  .site-footer::before,.footer-utility-links svg { animation:none; }
  .site-footer::before { width:100%; opacity:.45; }
}
@media(max-width:1450px) {
  .site-header .desktop-nav { display:none; }
  .site-header .menu-button { display:inline-flex; }
  .site-header .header-actions { margin-left:auto; }
  .mobile-nav { top:120px; max-height:calc(100svh - 120px); overflow-y:auto; }
  .mobile-nav a {
    display:flex;
    align-items:center;
    gap:.85rem;
  }
  .mobile-nav a svg {
    width:1.15rem;
    height:1.15rem;
    flex:0 0 1.15rem;
    transform-origin:center;
    animation:mobile-nav-icon-wake 6.4s ease-in-out infinite;
  }
  .mobile-nav a:nth-child(2) svg { animation-delay:.45s; }
  .mobile-nav a:nth-child(3) svg { animation-delay:.9s; }
  .mobile-nav a:nth-child(4) svg { animation-delay:1.35s; }
  .mobile-nav a:nth-child(5) svg { animation-delay:1.8s; }
  .mobile-nav a:nth-child(6) svg { animation-delay:2.25s; }
  .mobile-nav a:nth-child(7) svg { animation-delay:2.7s; }
  .mobile-nav a:nth-child(8) svg { animation-delay:3.15s; }
}
@keyframes mobile-nav-icon-wake {
  0%,68%,100% { transform:translateY(0) rotate(0) scale(1); color:inherit; filter:none; }
  73% { transform:translateY(-2px) rotate(-7deg) scale(1.12); color:#168457; filter:drop-shadow(0 0 3px #2adf8a80); }
  78% { transform:translateY(1px) rotate(6deg) scale(1.06); color:#168457; filter:drop-shadow(0 0 5px #2adf8a70); }
  84% { transform:translateY(0) rotate(0) scale(1); color:inherit; filter:none; }
}
@media(max-width:640px) {
  .site-header { padding-inline:12px; }
  .site-header::after {
    width:52%;
    background-position:right center;
    background-size:108% 225%;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 38%,rgba(0,0,0,.08) 48%,rgba(0,0,0,.34) 62%,rgba(0,0,0,.76) 79%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0%,transparent 38%,rgba(0,0,0,.08) 48%,rgba(0,0,0,.34) 62%,rgba(0,0,0,.76) 79%,#000 100%);
    opacity:.86;
    filter:contrast(1.45) brightness(.98);
  }
  .site-header > .brand { top:10px; width:112px; height:102px; }
  .header-actions > .text-link,.header-actions > .button { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .site-header > .brand::after { animation:none; opacity:0; }
  .mobile-nav a svg,.site-header > .desktop-nav a svg { animation:none; }
  .plans-section::before,.plans-section::after { animation:none; will-change:auto; }
  .plans-section .plan-top svg,.plans-section .popular { animation:none; }
  .platform-features svg,.platform-copy > .button-coral,.platform-copy > .button-coral::before,.platform-copy > .button-coral svg { animation:none; }
  .final-actions .button svg { animation:none; }
  .signal-strip svg { animation:none; }
  .header-actions > .button::after,.home-signin svg,.home-register svg,.home-support svg,.home-install svg,.install-app-button svg,.install-app-button::after { animation:none; }
  .button:not(.button-outline):not(.button-quiet):not(.button-coral):not(.button-support) { animation:none; }
  .home-travel { display:none; }
}

/* --- Small screens: keep the circular cradle the right size -------------
   The contour SVG is viewBox "0 0 1600 112" with preserveAspectRatio="none",
   so it stretches horizontally to the viewport. The lobe that cradles the
   emblem is x 712-888, i.e. 11% of the width: ~150px on a desktop, but only
   ~41px at 375px wide - far narrower than the emblem, so the flat edge at
   y=78 cut straight through the logo.
   Fixing the geometry rather than hiding it: the SVG is given a fixed width
   and centred, so the lobe renders at a usable size (11% of 900px = ~99px)
   and still cradles the emblem. The curve, its blue edge and the travelling
   highlight all stay exactly as designed.
   The lobe only clears the emblem above ~800px wide, so this runs to 860px -
   at 700px the lobe is 77px and still cuts. */
@media(max-width:860px) {
  /* The contour is deliberately wider than the viewport, so the header must
     clip it or the page gains ~260px of sideways scroll on a phone.
     overflow-x:clip rather than hidden: clip allows overflow-y to stay
     visible, so the mobile menu can still drop below the header. */
  .site-header { overflow-x:clip; }
  .home-contour {
    width:900px;
    left:50%;
    transform:translateX(-50%);
  }
}
