:root {
    --ink: #1c2430;
    --muted: #697281;
    --paper: #fcfcfb;
    --soft: #f5f6f8;
    --line: #e2e5e9;
    --pink: #b94f73;
    --orange: #bd7a34;
    --violet: #684a87;
    --purple: #87608f;
    --blue: #506f96;
    --coral: #b86161;
    --radius: 28px;
    --shadow: 0 24px 65px rgba(31, 39, 51, .1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.landing-page {
    background: var(--paper);
    color: var(--ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.5;
    overflow-x: hidden;
}

.landing-container { width: min(1240px, calc(100% - 48px)); margin-inline: auto; position: relative; }
.landing-header { position: fixed; inset: 0 0 auto; z-index: 50; padding: 14px 0; transition: .25s ease; }
.landing-header.is-scrolled { background: rgba(252, 252, 251, .92); border-bottom: 1px solid rgba(226, 229, 233, .94); backdrop-filter: blur(18px); padding: 8px 0; }
.nav-shell { min-height: 58px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 40px; }
.landing-brand { display: inline-flex; align-items: center; gap: 10px; }
.landing-brand img { width: 48px; height: 48px; object-fit: contain; }
.landing-brand > span { display: grid; line-height: 1; }
.landing-brand strong { font-size: 17px; letter-spacing: -.5px; }
.landing-brand strong span { color: var(--pink); }
.landing-brand small { margin-top: 5px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: 2.2px; }
.landing-nav { justify-self: center; display: flex; align-items: center; gap: 28px; }
.landing-nav a, .landing-login { color: #4b5563; font-size: 14px; font-weight: 650; transition: .2s; }
.landing-nav a:hover, .landing-login:hover { color: var(--pink); }
.landing-actions { display: flex; align-items: center; gap: 16px; }
.landing-france-badge { display: inline-flex; align-items: center; gap: 7px; min-height: 30px; padding: 5px 9px; border: 1px solid #d8e0e8; border-radius: 999px; color: #3f4e5d; background: rgba(255,255,255,.82); font-size: 9.5px; font-weight: 850; white-space: nowrap; box-shadow: 0 5px 14px rgba(31,39,51,.045); }
.landing-france-badge i { width: 20px; height: 13px; flex: 0 0 auto; overflow: hidden; border: 1px solid rgba(20,34,58,.12); border-radius: 2px; background: linear-gradient(90deg,#163f8f 0 33.333%,#fff 33.333% 66.666%,#ed2939 66.666%); box-shadow: 0 1px 3px rgba(20,34,58,.12); }
@media (min-width:1101px) and (max-width:1260px) {
    .landing-actions { gap: 10px; }
    .landing-france-badge { padding-inline: 7px; font-size: 8.5px; }
}
.landing-locales { display: flex; padding: 4px; background: #fff; border: 1px solid var(--line); border-radius: 999px; }
.landing-locales a { width: 27px; height: 24px; display: grid; place-items: center; border-radius: 99px; font-size: 9px; font-weight: 850; color: #706979; }
.landing-locales a:hover { background: #f1eef3; color: var(--violet); }
.landing-menu-button { display: none; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 13px; background: #fff; padding: 10px; }
.landing-menu-button i { display: block; height: 2px; margin: 4px 0; background: var(--ink); border-radius: 2px; }

.landing-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 18px; padding: 0 23px; border: 0; border-radius: 16px; background: linear-gradient(120deg, #a8496c, #8c5278 55%, #9d633f); color: #fff; font-weight: 800; font-size: 14px; box-shadow: 0 12px 28px rgba(102, 55, 82, .18); transition: transform .2s, box-shadow .2s; }
.landing-button:hover { transform: translateY(-2px); box-shadow: 0 17px 34px rgba(82, 51, 71, .24); }
.landing-button-small { min-height: 43px; border-radius: 13px; padding-inline: 18px; font-size: 12px; }
.landing-button-ghost { background: #fff; color: var(--ink); border: 1px solid var(--line); box-shadow: none; }
.landing-button-light { background: #fff; color: #4c3a61; box-shadow: 0 18px 40px rgba(20, 29, 39, .2); }
.landing-button-outline-light { background: transparent; border: 1px solid rgba(255,255,255,.4); box-shadow: none; }

.landing-hero { position: relative; overflow: hidden; padding: 150px 0 52px; min-height: 940px; background: radial-gradient(circle at 65% 28%, #fff 0, #faf8fa 38%, #fcfcfb 70%); isolation: isolate; }
.landing-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .2; background-image: linear-gradient(#dfe2e7 1px, transparent 1px), linear-gradient(90deg, #dfe2e7 1px, transparent 1px); background-size: 66px 66px; mask-image: linear-gradient(to bottom, black, transparent 75%); }
.hero-aura { position: absolute; z-index: -1; border-radius: 50%; filter: blur(4px); opacity: .2; }
.hero-aura-one { width: 560px; height: 560px; right: -180px; top: 60px; background: radial-gradient(circle, rgba(111, 75, 137, .34), transparent 67%); }
.hero-aura-two { width: 420px; height: 420px; left: -240px; top: 340px; background: radial-gradient(circle, rgba(184, 120, 52, .25), transparent 68%); }
.hero-grid { display: grid; grid-template-columns: .85fr 1.25fr; align-items: center; gap: 64px; min-height: 630px; }
.hero-copy { position: relative; z-index: 3; padding-top: 12px; }
.landing-eyebrow { display: inline-flex; align-items: center; gap: 11px; color: #655073; font-size: 11px; font-weight: 900; letter-spacing: 2.2px; }
.landing-eyebrow i { width: 32px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--pink), var(--orange)); }
.landing-eyebrow.light { color: #d8cfdd; }
.hero-copy h1 { max-width: 610px; margin: 24px 0; font-size: clamp(52px, 6.3vw, 88px); line-height: .98; letter-spacing: -5.5px; }
.hero-copy h1 span { display: block; color: transparent; background: linear-gradient(110deg, #a8486c, #9b5d5b 45%, #6b4c88 86%); background-clip: text; -webkit-background-clip: text; }
.hero-copy > p { max-width: 570px; color: var(--muted); font-size: 18px; line-height: 1.75; }
.hero-buttons { display: flex; gap: 13px; margin-top: 36px; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 24px; color: #716879; font-size: 11px; font-weight: 750; }
.hero-trust span::first-letter { color: #6b4d83; }

.product-scene { min-height: 650px; position: relative; perspective: 1500px; }
.scene-logo { position: absolute; z-index: 6; left: 46%; top: -12px; width: 116px; height: 116px; padding: 6px; border-radius: 31px; background: rgba(255,255,255,.94); box-shadow: 0 24px 60px rgba(63, 47, 73, .16); transform: rotate(4deg); }
.scene-logo img { width: 100%; height: 100%; object-fit: contain; }
.scene-orbit { position: absolute; border-radius: 50%; border: 1px solid rgba(103, 76, 130, .13); }
.orbit-one { width: 550px; height: 550px; top: 20px; right: 10px; }
.orbit-two { width: 390px; height: 390px; top: 100px; right: 90px; border-color: rgba(184, 122, 52, .16); }
.product-window { position: absolute; z-index: 3; left: 2%; top: 85px; width: 770px; max-width: 100%; overflow: hidden; border: 1px solid rgba(255,255,255,.95); border-radius: 26px; background: #f6f6f7; box-shadow: 0 38px 95px rgba(31, 39, 51, .17), 0 0 0 10px rgba(255,255,255,.45); transform: rotateY(-5deg) rotateX(2deg); }
.window-bar { height: 45px; display: grid; grid-template-columns: 1fr 2fr 1fr; align-items: center; padding: 0 16px; border-bottom: 1px solid #e9e3ea; background: rgba(255,255,255,.86); font-size: 9px; color: #8a8290; }
.window-dots { display: flex; gap: 5px; }
.window-dots i { width: 7px; height: 7px; border-radius: 50%; background: #e0d8e2; }
.window-dots i:first-child { background: #fa647b; }
.window-dots i:nth-child(2) { background: #ffb52e; }
.window-url { justify-self: center; padding: 5px 20px; border-radius: 7px; background: #f5f0f6; }
.window-live { justify-self: end; color: #3a9d72; font-weight: 850; }
.window-live i { display: inline-block; width: 6px; height: 6px; margin-right: 4px; border-radius: 50%; background: #36c98c; box-shadow: 0 0 0 4px #dff8ed; }
.window-body { min-height: 440px; display: grid; grid-template-columns: 62px 1fr; }
.preview-sidebar { padding: 18px 15px; display: flex; flex-direction: column; align-items: center; gap: 24px; background: #1d2732; }
.preview-sidebar b { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: linear-gradient(145deg, var(--pink), var(--orange)); color: #fff; }
.preview-sidebar i { width: 19px; height: 19px; border-radius: 6px; border: 2px solid #685575; }
.preview-main { padding: 25px; }
.preview-heading { display: flex; justify-content: space-between; align-items: start; }
.preview-heading div { display: grid; }
.preview-heading small, .preview-list > small { color: #9b8fa0; font-size: 8px; font-weight: 850; letter-spacing: 1.5px; }
.preview-heading strong { font-size: 21px; }
.preview-heading > span { font-size: 8px; color: #958a9b; }
.preview-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 20px 0 14px; }
.preview-kpis article { min-height: 82px; display: grid; grid-template-columns: 1fr auto; align-content: center; gap: 1px 8px; padding: 14px; border: 1px solid #ece5ed; border-radius: 14px; background: #fff; }
.preview-kpis article.hot { color: #fff; border: 0; background: linear-gradient(125deg, #54406b, #8a566f); }
.preview-kpis small { grid-column: 1 / -1; font-size: 8px; opacity: .7; }
.preview-kpis b { font-size: 23px; }
.preview-kpis span { align-self: end; font-size: 8px; color: #38a87b; }
.preview-kpis .hot span { color: #ffcfed; }
.preview-panels { display: grid; grid-template-columns: 1.6fr .85fr; gap: 13px; }
.preview-map { position: relative; min-height: 235px; overflow: hidden; border-radius: 17px; background: #e9e5eb; }
.map-grid { position: absolute; inset: 0; opacity: .55; background-image: linear-gradient(32deg, transparent 47%, #c8c0cd 48%, #c8c0cd 50%, transparent 51%), linear-gradient(122deg, transparent 47%, #d1c9d5 48%, #d1c9d5 50%, transparent 51%); background-size: 70px 70px; }
.map-zone { position: absolute; border: 1px solid rgba(197, 41, 165, .45); border-radius: 50%; background: rgba(222, 49, 183, .12); }
.zone-one { width: 150px; height: 100px; left: 80px; top: 60px; transform: rotate(-20deg); }
.zone-two { width: 70px; height: 70px; right: 40px; top: 20px; background: rgba(255, 151, 12, .16); border-color: rgba(255, 151, 12, .5); }
.drone-pin { position: absolute; left: 47%; top: 41%; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: #fff; color: var(--pink); font-size: 20px; box-shadow: 0 8px 20px rgba(50,20,70,.2); }
.map-label { position: absolute; left: 16px; right: 16px; bottom: 13px; display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 11px; background: rgba(255,255,255,.91); box-shadow: 0 8px 20px rgba(40,20,50,.1); }
.map-label i { width: 9px; height: 9px; border-radius: 50%; background: #31c58a; box-shadow: 0 0 0 5px #dff8ee; }
.map-label span { display: grid; }
.map-label b { font-size: 9px; }
.map-label small { color: #55a887; font-size: 8px; }
.preview-list { padding: 16px; border-radius: 17px; background: #fff; }
.preview-list > div { display: flex; align-items: center; gap: 10px; margin-top: 16px; padding-bottom: 13px; border-bottom: 1px solid #eee8ef; }
.preview-list i { width: 8px; height: 30px; border-radius: 8px; background: var(--pink); }
.preview-list i.orange { background: var(--orange); }
.preview-list i.violet { background: var(--violet); }
.preview-list span { display: grid; }
.preview-list b { font-size: 9px; }
.preview-list small { font-size: 8px; color: #8a808f; }
.floating-card { position: absolute; z-index: 5; display: flex; align-items: center; gap: 11px; min-width: 170px; padding: 12px 15px; border: 1px solid rgba(255,255,255,.86); border-radius: 16px; background: rgba(255,255,255,.9); backdrop-filter: blur(14px); box-shadow: 0 18px 42px rgba(48,20,62,.16); }
.floating-card > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; background: #fff2dc; color: #ff8f00; font-size: 17px; }
.floating-card div { display: grid; }
.floating-card small { color: #978c9c; font-size: 7px; font-weight: 850; letter-spacing: 1px; }
.floating-card b { font-size: 10px; }
.floating-weather { left: -20px; top: 210px; }
.floating-compliance { right: -10px; bottom: 90px; }
.floating-compliance > span { background: #e5f8ee; color: #25a76e; }

.proof-strip { margin-top: 35px; display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.9); box-shadow: 0 18px 48px rgba(31,39,51,.06); }
.proof-strip article { display: flex; align-items: center; gap: 13px; min-height: 92px; padding: 20px 26px; border-right: 1px solid var(--line); }
.proof-strip article:last-child { border: 0; }
.proof-strip strong { color: transparent; background: linear-gradient(130deg, #a84d6d, #654b80); background-clip: text; -webkit-background-clip: text; font-size: 30px; letter-spacing: -2px; }
.proof-strip span { color: var(--muted); font-size: 11px; font-weight: 700; }

.operations-panorama { padding: 78px 0 48px; background: linear-gradient(180deg, #f5f6f8, #fbfbfa); border-top: 1px solid #eceef1; }
.assurance-strip { display: grid; grid-template-columns: repeat(2, 1fr); max-width: 850px; margin: 0 auto 45px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.92); box-shadow: 0 12px 35px rgba(31,39,51,.07); }
.assurance-strip-bottom { max-width: none; margin: 22px 0 0; }
.assurance-strip article { min-height: 82px; display: flex; align-items: center; gap: 15px; padding: 18px 28px; }
.assurance-strip article + article { border-left: 1px solid var(--line); }
.assurance-icon, .coverage-icon { flex: 0 0 auto; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #d6ccd9; border-radius: 14px; color: #654b80; background: #f7f3f8; font-size: 18px; font-weight: 900; }
.assurance-strip div, .country-coverage > div { display: grid; }
.assurance-strip strong { font-size: 13px; }
.assurance-strip small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.operations-heading { max-width: 800px; margin: 0 auto 30px; text-align: center; }
.operations-heading h2 { margin: 16px 0 9px; font-size: clamp(34px, 4vw, 52px); line-height: 1.08; letter-spacing: -2.4px; }
.operations-heading p { margin: 0; color: var(--muted); font-size: 15px; }
.operations-grid { display: grid; grid-template-columns: repeat(10, 1fr); gap: 9px; }
.operations-grid article { min-height: 116px; display: grid; place-items: center; align-content: center; gap: 12px; padding: 15px 8px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(31,39,51,.045); text-align: center; }
.operation-glyph { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #d9d0dc; border-radius: 14px; color: #6b4d83; background: #f8f5f9; font-size: 10px; font-weight: 950; letter-spacing: .4px; }
.operations-grid strong { color: #414b58; font-size: 10px; line-height: 1.2; }
.operations-grid article:nth-child(3n+2) .operation-glyph { color: #956034; border-color: #e3d7c8; background: #faf6f0; }
.operations-grid article:nth-child(3n) .operation-glyph { color: #456d6a; border-color: #cfdedc; background: #f1f7f6; }
.country-coverage { display: grid; grid-template-columns: auto minmax(260px, 1fr) auto auto; align-items: center; gap: 18px; margin-top: 12px; padding: 14px 19px; border: 1px solid #d8d0df; border-radius: 16px; background: linear-gradient(90deg, #f8f5fa, #fbfaf7); }
.country-coverage strong { font-size: 12px; }
.country-coverage small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.coverage-flags { display: flex !important; grid-auto-flow: column; gap: 7px; }
.coverage-flags span { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: #fff; font-size: 16px; }
.country-coverage > a { color: #604878; font-size: 10px; font-weight: 850; white-space: nowrap; }

.pricing-section { padding-top: 100px; background: radial-gradient(circle at 50% 5%, rgba(24,184,144,.07), transparent 34%), var(--paper); }
.pricing-heading { margin-bottom: 25px !important; }
.pricing-billing-switch { width: fit-content; display: grid; grid-template-columns: 135px 135px auto; align-items: center; margin: 0 auto 38px; padding: 4px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 12px 30px rgba(31,39,51,.06); }
.pricing-billing-switch button { min-height: 44px; padding: 0 20px; border: 0; border-radius: 14px; color: #53606c; background: transparent; font: 800 12px 'Space Grotesk',system-ui; cursor: pointer; transition: color .2s, background .2s, box-shadow .2s; }
.pricing-billing-switch button.is-active { color: #fff; background: linear-gradient(110deg,#0ba982,#20c29a); box-shadow: 0 9px 20px rgba(19,171,133,.22); }
.pricing-billing-switch > span { margin: 0 9px; padding: 6px 9px; border: 1px solid #9edfcf; border-radius: 999px; color: #087b68; background: #effbf7; font-size: 10px; font-weight: 950; white-space: nowrap; }
.pricing-grid { width: 100%; max-width: 1120px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); align-items: start; gap: 12px; margin-inline: auto; }
.pricing-card { --plan:#607991; position: relative; min-width: 0; display: flex; flex-direction: column; min-height: 655px; padding: 28px 18px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.94); box-shadow: 0 18px 48px rgba(31,39,51,.065); }
.pricing-card-pro { --plan:#0ca982; }
.pricing-card-ultimate { --plan:#7446a6; }
.pricing-card-featured { border: 2px solid #18b890; box-shadow: 0 30px 68px rgba(10,145,111,.17); transform: translateY(-10px); }
.pricing-popular { position: absolute; z-index: 1; top: -16px; left: 50%; transform: translateX(-50%); padding: 9px 18px; border-radius: 999px; color: #fff; background: linear-gradient(110deg,#0a9d79,#20c39a); box-shadow: 0 9px 22px rgba(13,154,119,.22); font-size: 9px; font-weight: 950; letter-spacing: 1px; white-space: nowrap; }
.pricing-card-head { display: grid; justify-items: center; gap: 13px; text-align: center; }
.pricing-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; color: var(--plan); background: color-mix(in srgb, var(--plan) 11%, white); font-size: 25px; font-weight: 900; }
.pricing-plan { color: #142c34; font-size: 29px; font-weight: 900; letter-spacing: -.9px; text-transform: uppercase; }
.pricing-description { min-height: 49px; margin: 10px 0 12px; color: var(--muted); font-size: 12px; line-height: 1.55; text-align: center; }
.pricing-limit { align-self: center; max-width: 100%; padding: 7px 11px; overflow-wrap: anywhere; border: 1px solid color-mix(in srgb, var(--plan) 22%, var(--line)); border-radius: 999px; color: color-mix(in srgb, var(--plan) 76%, #23313a); background: color-mix(in srgb, var(--plan) 6%, white); font-size: 9px; font-weight: 850; text-align: center; }
.pricing-price-panel { margin-top: 18px; }
.pricing-price-panel[hidden] { display: none !important; }
.pricing-price { min-height: 68px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.pricing-price > strong { color: #172f37; font-size: 48px; line-height: 1; letter-spacing: -2.8px; }
.pricing-price > span { display: flex; align-items: baseline; gap: 5px; color: #394c54; font-size: 18px; font-weight: 850; }
.pricing-price small { color: var(--muted); font-size: 10px; font-weight: 700; }
.pricing-price-quote > strong { color: var(--plan); font-size: 34px; letter-spacing: -1.5px; }
.pricing-equivalent { display: block; margin-top: -3px; color: var(--plan); font-size: 10px; font-weight: 850; text-align: center; }
.pricing-billing { min-height: 22px; display: block; margin-top: 7px; color: #858e98; font-size: 9px; line-height: 1.4; text-align: center; }
.pricing-action { width: 100%; min-height: 50px; margin: 20px 0 24px; border-radius: 13px; }
.pricing-card-ultimate > .pricing-action:not(.registration-closed-action) { background: linear-gradient(110deg,#693c9c,#8756ba); }
.pricing-features { padding-top: 21px; border-top: 1px solid var(--line); }
.pricing-features > strong { display: block; font-size: 10px; letter-spacing: .65px; text-align: center; text-transform: uppercase; }
.pricing-features ul { margin: 16px 0 0; padding: 0; list-style: none; }
.pricing-features li { display: grid; grid-template-columns: 20px 1fr; gap: 8px; margin: 11px 0; color: #52606c; font-size: 10.5px; line-height: 1.4; }
.pricing-features li span { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--plan); font-size: 9px; font-weight: 900; }
.pricing-feature-details { margin-top: 13px; border-top: 1px dashed color-mix(in srgb, var(--plan) 22%, var(--line)); }
.pricing-feature-details summary { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 9px 2px 0; color: var(--plan); font-size: 12px; font-weight: 900; line-height: 1.3; text-align: center; cursor: pointer; list-style: none; }
.pricing-feature-details summary::-webkit-details-marker { display: none; }
.pricing-feature-details summary i { font-style: normal; font-size: 14px; transition: transform .2s ease; }
.pricing-feature-details[open] summary i { transform: rotate(180deg); }
.pricing-feature-open { display: none; }
.pricing-feature-details[open] .pricing-feature-closed { display: none; }
.pricing-feature-details[open] .pricing-feature-open { display: inline; }
.pricing-feature-details[open] > ul { margin-top: 8px; }
.pricing-feature-details summary:focus-visible { outline: 2px solid var(--plan); outline-offset: 3px; border-radius: 8px; }
.pricing-reassurance { max-width: 930px; display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin: 30px auto 0; overflow: hidden; border: 1px solid #d9e3e5; border-radius: 17px; background: #d9e3e5; box-shadow: 0 11px 30px rgba(31,39,51,.045); }
.pricing-reassurance span { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 58px; padding: 10px 15px; color: #3f535b; background: #f5f9f9; font-size: 10px; font-weight: 800; text-align: center; }
.pricing-reassurance i { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: #087b68; background: #e2f6f0; font-style: normal; font-weight: 950; }
.pricing-note { max-width: 900px; margin: 18px auto 0; color: #818894; font-size: 9px; line-height: 1.6; text-align: center; }

.landing-section { position: relative; padding: 120px 0; }
.section-heading { max-width: 780px; }
.section-heading.centered { margin: 0 auto 58px; text-align: center; }
.section-heading h2, .workflow-intro h2, .regulatory-copy h2, .security-copy h2, .cta-content h2 { margin: 18px 0; font-size: clamp(40px, 4.4vw, 64px); line-height: 1.04; letter-spacing: -3.2px; }
.section-heading p, .workflow-intro p, .regulatory-copy > p, .security-copy p, .cta-content p { color: var(--muted); font-size: 17px; line-height: 1.7; }
.apps-section { background: #f3f5f6; }
.apps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.app-tile { position: relative; min-height: 320px; overflow: hidden; padding: 30px; border: 1px solid var(--line); border-radius: 25px; background: #fff; transition: transform .25s, box-shadow .25s; }
.app-tile::after { content: ""; position: absolute; width: 180px; height: 180px; right: -80px; bottom: -90px; border-radius: 50%; background: var(--tile-color, var(--pink)); opacity: .08; }
.app-tile:hover { transform: translateY(-7px); box-shadow: 0 26px 55px rgba(44,20,58,.1); }
.app-number { position: absolute; right: 25px; top: 25px; color: #c4bac6; font-size: 10px; font-weight: 850; }
.app-icon { width: 64px; height: 64px; display: grid; place-items: center; margin-bottom: 48px; border-radius: 19px; color: #fff; background: linear-gradient(140deg, var(--tile-color, var(--pink)), color-mix(in srgb, var(--tile-color, var(--pink)) 62%, #2a1237)); box-shadow: 0 14px 28px color-mix(in srgb, var(--tile-color, var(--pink)) 24%, transparent); font-size: 13px; font-weight: 950; }
.app-tile h3 { margin: 0 0 10px; font-size: 21px; letter-spacing: -.7px; }
.app-tile p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.app-tile > a { position: absolute; right: 25px; bottom: 24px; z-index: 2; width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--tile-color, var(--pink)); }
.tone-pink { --tile-color: var(--pink); } .tone-orange { --tile-color: var(--orange); } .tone-violet { --tile-color: var(--violet); } .tone-purple { --tile-color: var(--purple); }
.tone-blue { --tile-color: var(--blue); } .tone-coral { --tile-color: var(--coral); } .tone-amber { --tile-color: #ed9707; } .tone-magenta { --tile-color: #ca2c9d; }

.workflow-section { overflow: hidden; background: #1d2732; color: #fff; }
.workflow-section::after { content: ""; position: absolute; width: 700px; height: 700px; right: -270px; top: -240px; border-radius: 50%; background: radial-gradient(circle, rgba(110,78,132,.25), transparent 68%); }
.workflow-grid { z-index: 1; display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: start; }
.workflow-intro { position: sticky; top: 140px; }
.workflow-intro p { color: #c1b4c7; }
.workflow-intro .landing-button { margin-top: 25px; }
.workflow-steps { margin: 0; padding: 0; list-style: none; }
.workflow-steps li { display: grid; grid-template-columns: 62px 1fr; gap: 20px; padding: 27px 0; border-top: 1px solid rgba(255,255,255,.13); }
.workflow-steps li > span { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 14px; background: rgba(255,255,255,.08); color: #d5c5df; font-size: 11px; font-weight: 850; }
.workflow-steps h3 { margin: 0 0 7px; font-size: 19px; }
.workflow-steps p { margin: 0; color: #ad9fb4; font-size: 13px; }

.regulatory-section { background: linear-gradient(140deg, #fff 45%, #f8f5ef); }
.regulatory-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.regulatory-visual { position: relative; min-height: 520px; display: grid; place-items: center; }
.radar { position: relative; width: 410px; height: 410px; display: grid; place-items: center; border-radius: 50%; border: 1px solid #eadfea; background: radial-gradient(circle, rgba(194,49,190,.1), rgba(255,255,255,.85) 62%); box-shadow: inset 0 0 0 64px rgba(249,242,249,.7), 0 30px 80px rgba(62,20,74,.12); overflow: hidden; }
.radar::before, .radar::after { content: ""; position: absolute; background: #e6dce8; }
.radar::before { width: 1px; height: 100%; } .radar::after { width: 100%; height: 1px; }
.radar > i { position: absolute; border: 1px solid #e4d8e5; border-radius: 50%; }
.radar > i:first-child { width: 130px; height: 130px; } .radar > i:nth-child(2) { width: 250px; height: 250px; } .radar > i:nth-child(3) { width: 350px; height: 350px; }
.radar-sweep { position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from 8deg, transparent 0 65%, rgba(228,47,146,.24) 92%, transparent 100%); }
.radar b { position: relative; z-index: 2; width: 80px; height: 80px; display: grid; place-items: center; border-radius: 25px; color: #fff; background: linear-gradient(145deg, var(--pink), var(--violet)); box-shadow: 0 18px 40px rgba(149,29,170,.3); font-size: 27px; }
.country { position: absolute; z-index: 3; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 17px; border: 1px solid #eee5ee; background: #fff; box-shadow: 0 12px 34px rgba(50,20,60,.12); color: var(--violet); font-size: 11px; font-weight: 900; }
.country-fr { left: 7%; top: 19%; } .country-es { right: 2%; top: 31%; color: #f17717; } .country-it { left: 14%; bottom: 8%; color: var(--pink); } .country-gb { right: 13%; bottom: 8%; color: var(--blue); }
.regulatory-copy ul { margin: 36px 0 0; padding: 0; list-style: none; }
.regulatory-copy li { display: grid; grid-template-columns: 44px 1fr; align-items: center; gap: 13px; padding: 17px 0; border-top: 1px solid var(--line); color: #4f4654; font-size: 13px; font-weight: 650; }
.regulatory-copy li span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: var(--pink); background: #fff0f6; font-size: 10px; font-weight: 900; }

.sectors-section { background: #fff; }
.sector-cloud { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.sector-cloud span { padding: 16px 23px; border: 1px solid var(--line); border-radius: 99px; background: #fff; color: #4e4754; font-size: 13px; font-weight: 750; box-shadow: 0 9px 25px rgba(45,18,58,.045); }
.sector-cloud span:nth-child(3n+1) { background: #fff2f7; color: #b52b6e; border-color: #ffd8e7; }
.sector-cloud span:nth-child(3n+2) { background: #fff9e9; color: #a96b06; border-color: #fbe7b7; }
.sector-cloud span:nth-child(3n) { background: #f6eefb; color: #6d2495; border-color: #ead7f4; }

.security-section { padding: 36px 0 120px; }
.security-shell { overflow: hidden; padding: 76px; border-radius: 38px; color: #fff; background: linear-gradient(135deg, #202a35, #3d344b 58%, #51405b); box-shadow: 0 34px 85px rgba(31,39,51,.2); }
.security-shell::after { content: ""; position: absolute; width: 520px; height: 520px; right: -160px; top: -240px; border-radius: 50%; background: radial-gradient(circle, rgba(117,151,144,.19), transparent 66%); }
.security-copy { position: relative; z-index: 2; max-width: 720px; }
.security-copy p { color: #cdbfd1; }
.security-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 50px; }
.security-grid article { min-height: 230px; padding: 24px; border: 1px solid rgba(255,255,255,.13); border-radius: 20px; background: rgba(255,255,255,.07); backdrop-filter: blur(12px); }
.security-grid article > span { width: 45px; height: 45px; display: grid; place-items: center; margin-bottom: 34px; border-radius: 14px; background: rgba(255,255,255,.12); color: #d7c8df; font-size: 20px; }
.security-grid h3 { margin: 0 0 10px; font-size: 16px; }
.security-grid p { margin: 0; color: #c1b1c7; font-size: 12px; line-height: 1.6; }

.landing-cta { position: relative; overflow: hidden; padding: 130px 0; color: #fff; text-align: center; background: linear-gradient(120deg, #75465c, #60465f 55%, #443b5d); }
.landing-cta::before { content: ""; position: absolute; inset: 0; opacity: .16; background-image: radial-gradient(#fff 1px, transparent 1px); background-size: 22px 22px; }
.cta-aura { position: absolute; width: 600px; height: 600px; left: 50%; top: 50%; transform: translate(-50%, -50%); border-radius: 50%; border: 1px solid rgba(255,255,255,.18); box-shadow: 0 0 0 90px rgba(255,255,255,.04), 0 0 0 180px rgba(255,255,255,.025); }
.cta-content { display: grid; justify-items: center; }
.cta-content > img { margin-bottom: 24px; border-radius: 24px; background: rgba(255,255,255,.9); box-shadow: 0 18px 50px rgba(75,13,82,.22); }
.cta-content h2 { max-width: 880px; font-size: clamp(45px, 6vw, 78px); }
.cta-content p { max-width: 650px; color: #f6dff3; }
.cta-content > div { display: flex; gap: 12px; margin-top: 25px; }

.faq-section { padding: 110px 0; background: #f5f6f8; }
.faq-shell { display: grid; grid-template-columns: .75fr 1.25fr; gap: 90px; align-items: start; }
.faq-shell .section-heading { position: sticky; top: 120px; }
.faq-shell .section-heading h2 { margin-top: 18px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { min-height: 78px; display: grid; grid-template-columns: 1fr 35px; align-items: center; gap: 24px; padding: 18px 0; color: #303945; font-size: 15px; font-weight: 780; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #d9dce1; border-radius: 50%; color: #654b80; background: #fff; font-size: 18px; transition: transform .2s; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 760px; margin: -4px 54px 24px 0; color: var(--muted); font-size: 13px; line-height: 1.75; }

.landing-footer { padding: 70px 0 26px; color: #c2c8cf; background: #171f27; }
.footer-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 70px; }
.footer-grid-expanded { grid-template-columns: 1.7fr repeat(4, 1fr); gap: 42px; }
.footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.footer-brand strong { color: #fff; }
.footer-brand small { color: #998ba0; }
.footer-grid p { max-width: 320px; color: #95899b; font-size: 13px; line-height: 1.7; }
.footer-grid > div > strong { margin-bottom: 12px; color: #fff; font-size: 10px; letter-spacing: 1.7px; }
.footer-grid > div > a:not(.landing-brand) { color: #a99dac; font-size: 12px; }
.footer-grid > div > a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; margin-top: 60px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.08); color: #766c7a; font-size: 10px; }
.facebook-share-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; padding: 8px 13px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: #fff !important; background: #1877f2; font-size: 11px; font-weight: 800; box-shadow: 0 8px 22px rgba(24,119,242,.2); transition: transform .2s, background .2s, box-shadow .2s; }
.facebook-share-link:hover { color: #fff; background: #0f65d8; transform: translateY(-1px); box-shadow: 0 10px 26px rgba(24,119,242,.3); }
.facebook-share-link:focus-visible { outline: 3px solid rgba(255,255,255,.5); outline-offset: 3px; }
.facebook-share-link svg { width: 17px; height: 17px; flex: 0 0 auto; }

.purchase-page, .legal-page { min-height: 100vh; background: #f5f6f8; }
.purchase-header { padding: 14px 0; border-bottom: 1px solid var(--line); background: rgba(252,252,251,.95); }
.purchase-nav { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.purchase-nav-actions { display: flex; align-items: center; gap: 22px; }
.purchase-back { color: #58616e; font-size: 12px; font-weight: 750; }
.purchase-back:hover { color: var(--violet); }
.purchase-main { position: relative; overflow: hidden; padding: 75px 0 105px; }
.purchase-main::before { content: ""; position: absolute; width: 640px; height: 640px; right: -270px; top: -260px; border-radius: 50%; background: radial-gradient(circle, rgba(104,74,135,.14), transparent 68%); }
.purchase-heading { max-width: 790px; margin: 0 auto 48px; text-align: center; }
.purchase-heading h1 { margin: 18px 0 14px; color: #29323e; font-size: clamp(42px, 5vw, 66px); line-height: 1.03; letter-spacing: -3.2px; }
.purchase-heading h1 span { color: #684a87; }
.purchase-heading p { margin: 0; color: var(--muted); font-size: 16px; }
.purchase-layout { position: relative; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(330px, .7fr); gap: 24px; align-items: start; }
.purchase-options, .order-summary { border: 1px solid var(--line); border-radius: 26px; background: #fff; box-shadow: 0 18px 45px rgba(31,39,51,.065); }
.purchase-options { padding: 38px; }
.purchase-step { display: grid; grid-template-columns: 48px 1fr; gap: 16px; align-items: start; }
.purchase-step > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: #664e7b; background: #f1edf4; font-size: 10px; font-weight: 900; }
.purchase-step h2 { margin: 0 0 5px; font-size: 20px; }
.purchase-step p { margin: 0; color: var(--muted); font-size: 12px; }
.billing-options { display: grid; gap: 12px; margin: 27px 0 38px 64px; }
.billing-option { position: relative; min-height: 105px; display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 16px; padding: 20px 22px; border: 1px solid var(--line); border-radius: 18px; background: #fbfbfb; cursor: pointer; transition: border-color .2s, box-shadow .2s, background .2s; }
.billing-option:hover, .billing-option.is-selected { border-color: #817091; background: #faf8fb; box-shadow: 0 11px 25px rgba(83,64,97,.09); }
.billing-option input { position: absolute; opacity: 0; pointer-events: none; }
.billing-check { width: 22px; height: 22px; border: 2px solid #cbd0d7; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 4px #fff; }
.billing-option input:checked + .billing-check { border-color: #684a87; background: #684a87; }
.billing-option input:focus-visible + .billing-check { outline: 3px solid rgba(104,74,135,.2); outline-offset: 3px; }
.billing-copy, .billing-amount { display: grid; }
.billing-copy strong { color: #303945; font-size: 15px; }
.billing-copy small, .billing-amount small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.billing-amount { min-width: 125px; text-align: right; }
.billing-amount strong { font-size: 23px; letter-spacing: -.8px; }
.billing-saving { position: absolute; right: 18px; top: -16px; padding: 9px 15px; border: 2px solid #fff; border-radius: 999px; color: #fff; background: linear-gradient(135deg, #159d7c, #08785f); box-shadow: 0 7px 18px rgba(8,120,95,.26); font-size: 14px; line-height: 1; font-weight: 900; letter-spacing: .6px; }
.purchase-included { padding-top: 32px; border-top: 1px solid var(--line); }
.purchase-feature-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px 20px; margin: 25px 0 0 64px; padding: 0; list-style: none; }
.purchase-feature-list li { display: grid; grid-template-columns: 19px 1fr; gap: 8px; color: #596270; font-size: 11px; line-height: 1.45; }
.purchase-feature-list li span { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; color: #426f64; background: #edf6f3; font-size: 9px; font-weight: 900; }
.order-summary { position: sticky; top: 24px; padding: 32px; }
.summary-badge { display: inline-flex; padding: 6px 10px; border-radius: 99px; color: #654b80; background: #f1edf4; font-size: 8px; font-weight: 900; letter-spacing: 1px; }
.order-summary h2 { margin: 16px 0 25px; font-size: 26px; letter-spacing: -1px; }
.summary-plan { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-top: 1px solid var(--line); font-size: 11px; }
.summary-plan span { color: var(--muted); }
.summary-plan strong { max-width: 180px; text-align: right; }
.summary-total { display: grid; grid-template-columns: 1fr auto; align-items: end; margin: 18px 0; padding: 24px 0 4px; border-top: 1px solid var(--line); }
.summary-total > span { color: var(--muted); font-size: 11px; }
.summary-total > strong { color: #3f334a; font-size: 31px; line-height: 1; letter-spacing: -1.3px; }
.summary-total > small { grid-column: 2; margin-top: 5px; color: var(--muted); font-size: 9px; text-align: right; }
.summary-button { width: 100%; margin-top: 20px; cursor: pointer; }
.checkout-notice { margin: 13px 0 0; padding: 13px; border-radius: 12px; color: #715d40; background: #fff7e8; font-size: 10px; line-height: 1.5; }
.summary-trust { display: grid; grid-template-columns: 36px 1fr; gap: 11px; align-items: center; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.summary-trust > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: #426f64; background: #edf6f3; font-weight: 900; }
.summary-trust p { display: grid; margin: 0; }
.summary-trust strong { font-size: 10px; }
.summary-trust small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.purchase-tax-note { margin: 18px 0 0; color: #8b929c; font-size: 8px; line-height: 1.5; text-align: center; }
.purchase-footer { padding: 26px 0; color: #a7afb8; background: #171f27; }
.purchase-footer .landing-container { display: flex; flex-wrap: wrap; gap: 23px; align-items: center; }
.purchase-footer span { margin-right: auto; }
.purchase-footer a, .purchase-footer span { font-size: 10px; }
.purchase-footer a:hover { color: #fff; }
.registration-closed-banner { display: grid; gap: 5px; max-width: 850px; margin: -12px auto 34px; padding: 17px 20px; border: 1px solid #e3b361; border-radius: 15px; color: #674611; background: #fff8e9; text-align: center; }
.registration-closed-banner strong { font-size: 13px; }
.registration-closed-banner span { color: #8b6a34; font-size: 11px; line-height: 1.5; }
.registration-closed-action { color: #765d31!important; border-color: #dfc38e!important; background: #fff8e9!important; }
.registration-lock-card { max-width: 820px; margin: 0 auto; padding: 46px; display: grid; grid-template-columns: 75px 1fr; gap: 25px; align-items: start; border: 1px solid #e1c184; border-radius: 26px; background: #fffaf0; box-shadow: 0 18px 45px rgba(81,59,23,.08); }
.registration-lock-card h2 { margin: 12px 0 10px; color: #49371a; font-size: 30px; }
.registration-lock-card p { margin: 0 0 25px; color: #806c49; line-height: 1.65; }
.registration-lock-icon { width: 68px; height: 68px; display: grid; place-items: center; border-radius: 20px; color: #6d4f1f; background: #f5dfb3; font-size: 30px; }
@media(max-width:650px){.registration-lock-card{grid-template-columns:1fr;padding:28px}.registration-lock-icon{width:56px;height:56px}}

.legal-main { padding: 74px 0 110px; }
.legal-layout { display: grid; grid-template-columns: 245px minmax(0, 820px); gap: 75px; justify-content: center; align-items: start; }
.legal-menu { position: sticky; top: 30px; display: grid; gap: 12px; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.legal-menu strong { margin-bottom: 7px; font-size: 12px; }
.legal-menu a { color: var(--muted); font-size: 11px; }
.legal-menu a:hover { color: var(--violet); }
.legal-content { padding: 48px; border: 1px solid var(--line); border-radius: 26px; background: #fff; box-shadow: 0 18px 45px rgba(31,39,51,.06); }
.legal-content h1 { margin: 17px 0; font-size: clamp(38px, 5vw, 58px); line-height: 1.05; letter-spacing: -2.6px; }
.legal-intro { color: var(--muted); font-size: 15px; line-height: 1.7; }
.legal-warning { margin: 30px 0 42px; padding: 20px; border: 1px solid #eedcba; border-radius: 14px; background: #fff9ee; }
.legal-warning strong { font-size: 11px; }
.legal-warning p { margin: 7px 0 0; color: #745f42; font-size: 11px; line-height: 1.6; }
.legal-content section { scroll-margin-top: 25px; padding: 31px 0; border-top: 1px solid var(--line); }
.legal-content section h2 { margin: 0 0 12px; font-size: 20px; }
.legal-content section p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }

.contact-page { min-height: 100vh; background: #f5f6f8; }
.contact-main { position: relative; overflow: hidden; padding: 82px 0 110px; }
.contact-aura { position: absolute; pointer-events: none; border-radius: 50%; filter: blur(4px); }
.contact-aura-one { width: 620px; height: 620px; left: -330px; top: -250px; background: radial-gradient(circle, rgba(185,79,115,.15), transparent 68%); }
.contact-aura-two { width: 700px; height: 700px; right: -380px; bottom: -410px; background: radial-gradient(circle, rgba(104,74,135,.16), transparent 68%); }
.contact-layout { position: relative; display: grid; grid-template-columns: minmax(0,.86fr) minmax(480px,1.14fr); gap: 78px; align-items: center; }
.contact-intro h1 { margin: 22px 0 24px; max-width: 660px; color: #252e39; font-size: clamp(48px,5.5vw,76px); line-height: .98; letter-spacing: -4px; }
.contact-intro h1 span { display: block; color: #76538f; }
.contact-intro > p { max-width: 620px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.75; }
.contact-assurances { display: grid; gap: 3px; margin: 42px 0 32px; }
.contact-assurances article { display: grid; grid-template-columns: 42px 1fr; gap: 15px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.contact-assurances article > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; color: #725180; background: #eee8f1; font-size: 9px; font-weight: 900; }
.contact-assurances strong { display: block; margin-bottom: 4px; font-size: 13px; }
.contact-assurances p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.contact-direct { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
.contact-direct small { color: var(--muted); font-size: 10px; }
.contact-direct a { color: #684a87; font-size: 12px; font-weight: 800; }
.contact-form-card { scroll-margin-top: 22px; padding: 42px; border: 1px solid var(--line); border-radius: 30px; background: rgba(255,255,255,.96); box-shadow: 0 28px 75px rgba(42,34,49,.11); }
.contact-form-heading > span { display: inline-flex; padding: 7px 10px; border-radius: 999px; color: #674878; background: #f0eaf3; font-size: 8px; font-weight: 900; letter-spacing: 1.2px; }
.contact-form-heading h2 { margin: 17px 0 7px; font-size: 28px; letter-spacing: -1.2px; }
.contact-form-heading p { margin: 0 0 28px; color: var(--muted); font-size: 11px; }
.contact-alert { margin-bottom: 20px; padding: 14px 16px; border-radius: 13px; font-size: 11px; font-weight: 700; line-height: 1.55; }
.contact-alert-success { color: #286654; border: 1px solid #c9e5dc; background: #edf8f4; }
.contact-alert-error { color: #9c3d4d; border: 1px solid #efd0d6; background: #fff1f3; }
.contact-form { display: grid; gap: 18px; }
.contact-form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.contact-form label { display: grid; gap: 7px; color: #414a56; font-size: 10px; font-weight: 800; }
.contact-form input:not([type="checkbox"]), .contact-form select, .contact-form textarea { width: 100%; border: 1px solid #dfe3e7; border-radius: 13px; outline: 0; background: #fafbfc; color: var(--ink); font-size: 12px; transition: border-color .2s, box-shadow .2s, background .2s; }
.contact-form input:not([type="checkbox"]), .contact-form select { min-height: 48px; padding: 0 13px; }
.contact-form textarea { min-height: 150px; resize: vertical; padding: 13px; line-height: 1.6; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: #8a6b9b; background: #fff; box-shadow: 0 0 0 4px rgba(104,74,135,.1); }
.contact-form [aria-invalid="true"] { border-color: #c75b6d!important; }
.contact-field-error { color: #b44356; font-size: 9px; font-weight: 700; }
.contact-consent { grid-template-columns: 18px 1fr!important; align-items: start; gap: 10px!important; color: var(--muted)!important; font-weight: 600!important; line-height: 1.55; }
.contact-consent input { width: 16px; height: 16px; margin: 1px 0 0; accent-color: #76538f; }
.contact-consent a { color: #684a87; text-decoration: underline; text-underline-offset: 2px; }
.contact-submit { width: 100%; cursor: pointer; }
.contact-form-note { margin: -5px 0 0; color: #858d97; font-size: 8px; line-height: 1.5; text-align: center; }
.contact-trap { position: absolute!important; left: -10000px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }

[data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s ease; }
[data-reveal].is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    [data-reveal] { opacity: 1; transform: none; transition: none; }
}

@media (max-width: 1100px) {
    .landing-menu-button { display: block; justify-self: end; }
    .nav-shell { grid-template-columns: auto 1fr auto; gap: 14px; }
    .landing-nav, .landing-actions { display: none; }
    .landing-header.menu-open { background: #fff; }
    .landing-header.menu-open .nav-shell { align-items: start; }
    .landing-header.menu-open .landing-nav { position: absolute; top: 67px; left: 0; right: 0; display: grid; gap: 0; padding: 12px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow); }
    .landing-header.menu-open .landing-nav a { padding: 13px; }
    .landing-header.menu-open .landing-actions { position: absolute; top: 232px; left: 0; right: 0; display: flex; padding: 16px; border-radius: 0 0 20px 20px; background: #fff; }
    .hero-grid { grid-template-columns: 1fr; }
    .hero-copy { max-width: 760px; text-align: center; margin: auto; }
    .hero-copy > p { margin-inline: auto; }
    .hero-buttons, .hero-trust { justify-content: center; }
    .product-scene { width: min(820px, 100%); margin: 0 auto; }
    .apps-grid { grid-template-columns: repeat(2, 1fr); }
    .security-grid { grid-template-columns: repeat(2, 1fr); }
    .operations-grid { grid-template-columns: repeat(5, 1fr); }
    .footer-grid-expanded { grid-template-columns: repeat(3, 1fr); }
    .footer-grid-expanded > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 780px) {
    .landing-container { width: min(100% - 28px, 1240px); }
    .landing-header { padding: 8px 0; }
    .landing-brand img { width: 42px; height: 42px; }
    .landing-header.menu-open .landing-actions { flex-wrap: wrap; }
    .landing-login { margin-left: auto; }
    .landing-hero { padding-top: 120px; min-height: auto; }
    .hero-copy h1 { font-size: clamp(45px, 14vw, 66px); letter-spacing: -3.5px; }
    .hero-copy > p { font-size: 16px; }
    .hero-buttons { flex-direction: column; align-items: stretch; }
    .product-scene { min-height: 480px; margin-top: 20px; }
    .product-window { top: 70px; width: 710px; left: 0; transform: scale(.72); transform-origin: left top; }
    .scene-logo { width: 82px; height: 82px; left: auto; right: 5%; }
    .scene-orbit { display: none; }
    .floating-card { transform: scale(.82); }
    .floating-weather { left: -14px; top: 175px; }
    .floating-compliance { right: -14px; bottom: 44px; }
    .proof-strip { grid-template-columns: 1fr 1fr; }
    .proof-strip article:nth-child(2) { border-right: 0; }
    .proof-strip article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    .operations-panorama { padding-top: 62px; }
    .assurance-strip { grid-template-columns: 1fr; }
    .assurance-strip article + article { border-left: 0; border-top: 1px solid var(--line); }
    .operations-grid { grid-template-columns: repeat(2, 1fr); }
    .country-coverage { grid-template-columns: auto 1fr; }
    .coverage-flags, .country-coverage > a { grid-column: 2; }
    .pricing-billing-switch { width: min(100%, 420px); grid-template-columns: 1fr 1fr; }
    .pricing-billing-switch > span { grid-column: 1 / -1; justify-self: center; margin: 5px 0 3px; }
    .pricing-grid { grid-template-columns: 1fr; max-width: 660px; margin-inline: auto; }
    .pricing-card { min-height: auto; }
    .pricing-card-featured { transform: none; }
    .pricing-reassurance { grid-template-columns: 1fr; }
    .landing-section { padding: 84px 0; }
    .section-heading h2, .workflow-intro h2, .regulatory-copy h2, .security-copy h2 { letter-spacing: -2.2px; }
    .apps-grid { grid-template-columns: 1fr; }
    .app-tile { min-height: 275px; }
    .workflow-grid, .regulatory-grid { grid-template-columns: 1fr; gap: 60px; }
    .workflow-intro { position: static; }
    .regulatory-visual { min-height: 390px; }
    .radar { width: 320px; height: 320px; }
    .radar > i:nth-child(2) { width: 210px; height: 210px; } .radar > i:nth-child(3) { width: 290px; height: 290px; }
    .security-shell { padding: 46px 24px; border-radius: 28px; }
    .security-grid { grid-template-columns: 1fr; }
    .landing-cta { padding: 95px 0; }
    .cta-content > div { width: 100%; flex-direction: column; }
    .faq-shell { grid-template-columns: 1fr; gap: 35px; }
    .faq-shell .section-heading { position: static; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 38px; }
    .footer-grid > div:first-child { grid-column: 1 / -1; }
    .footer-bottom { flex-direction: column; gap: 7px; }
    .purchase-main { padding-top: 50px; }
    .purchase-layout { grid-template-columns: 1fr; }
    .order-summary { position: static; }
    .legal-layout { grid-template-columns: 1fr; gap: 22px; }
    .legal-menu { position: static; grid-template-columns: repeat(2, 1fr); }
    .contact-layout { grid-template-columns: 1fr; gap: 50px; }
    .contact-intro { max-width: 720px; }
}

@media (max-width: 480px) {
    .product-scene { min-height: 385px; }
    .product-window { transform: scale(.5); width: 760px; }
    .floating-card { transform: scale(.72); }
    .floating-compliance { bottom: 10px; }
    .proof-strip { grid-template-columns: 1fr; }
    .proof-strip article { border-right: 0; border-bottom: 1px solid var(--line); }
    .proof-strip article:nth-child(3) { border-bottom: 1px solid var(--line); }
    .operations-grid { gap: 8px; }
    .operations-grid article { min-height: 104px; }
    .country-coverage { padding: 14px; }
    .coverage-flags { flex-wrap: wrap; }
    .pricing-card { padding: 28px 22px; }
    .pricing-card-head { align-items: flex-start; flex-direction: column; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-grid > div:first-child { grid-column: auto; }
    .footer-grid-expanded > div:first-child { grid-column: auto; }
    .purchase-nav-actions .landing-locales { display: none; }
    .purchase-heading h1 { letter-spacing: -2.2px; }
    .purchase-options, .order-summary { padding: 24px 20px; }
    .billing-options, .purchase-feature-list { margin-left: 0; }
    .billing-option { grid-template-columns: 24px 1fr; }
    .billing-saving { right: 14px; top: -14px; padding: 8px 12px; font-size: 12px; }
    .billing-amount { grid-column: 2; text-align: left; }
    .purchase-feature-list { grid-template-columns: 1fr; }
    .legal-menu { grid-template-columns: 1fr; }
    .legal-content { padding: 30px 22px; }
    .contact-main { padding: 50px 0 80px; }
    .contact-intro h1 { font-size: clamp(43px,13vw,62px); letter-spacing: -2.8px; }
    .contact-form-card { padding: 28px 20px; border-radius: 23px; }
    .contact-form-grid { grid-template-columns: 1fr; }
}

/* Company story */
.company-main{position:relative;overflow:hidden;padding-top:76px}.company-aura{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.company-aura-one{width:560px;height:560px;right:-260px;top:-210px;background:radial-gradient(circle,rgba(169,65,199,.14),transparent 68%)}.company-aura-two{width:500px;height:500px;left:-280px;top:540px;background:radial-gradient(circle,rgba(255,118,34,.11),transparent 68%)}.company-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:90px;align-items:center;padding-bottom:86px}.company-hero-copy{max-width:850px}.company-hero-copy h1{max-width:820px;margin:21px 0 24px;font-size:clamp(52px,6.2vw,96px);line-height:.94;letter-spacing:-5px}.company-hero-copy h1 span{display:block;background:linear-gradient(102deg,#6e2b9d,#d43a8c 55%,#f2871c);-webkit-background-clip:text;background-clip:text;color:transparent}.company-hero-copy>p{max-width:760px;margin:0;color:var(--muted);font-size:18px;line-height:1.7}.company-founder-mark{position:relative;display:grid;justify-items:center;padding:42px 28px;border:1px solid rgba(113,59,145,.18);border-radius:34px;background:rgba(255,255,255,.78);box-shadow:0 28px 70px rgba(74,31,102,.12);backdrop-filter:blur(18px);text-align:center}.company-founder-mark:before{content:'';position:absolute;inset:13px;border:1px dashed rgba(199,58,141,.2);border-radius:25px}.company-founder-mark img{position:relative;margin-bottom:20px}.company-founder-mark span,.company-founder-mark small{position:relative;color:var(--muted);font-size:10px;letter-spacing:.8px;text-transform:uppercase}.company-founder-mark strong{position:relative;margin:6px 0;font:800 42px 'Space Grotesk',system-ui;letter-spacing:4px;color:var(--text)}.company-story-shell{position:relative;display:grid;grid-template-columns:300px minmax(0,790px);justify-content:center;gap:85px;padding-bottom:110px}.company-story-aside{position:sticky;top:92px;align-self:start;padding:31px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:0 15px 45px rgba(20,32,46,.07)}.company-story-aside>span{color:var(--purple);font-size:9px;font-weight:900;letter-spacing:1.6px}.company-story-aside blockquote{margin:20px 0 29px;font:700 21px/1.45 'Space Grotesk',system-ui;color:var(--text)}.company-story-aside>div{padding:16px 0;border-top:1px solid var(--line)}.company-story-aside strong,.company-story-aside small{display:block}.company-story-aside strong{font-size:12px}.company-story-aside small{margin-top:5px;color:var(--muted);font-size:9px}.company-story{font-size:17px;line-height:1.9;color:#45505d}.company-story>p{margin:0 0 28px}.company-story strong{color:var(--text)}.company-lead{font:700 31px/1.3 'Space Grotesk',system-ui!important;color:var(--text);letter-spacing:-.8px}.company-highlight{margin:45px -45px;padding:34px 44px;border-radius:24px;background:linear-gradient(120deg,#5b2384,#9f2d9c 54%,#d34d65);color:#fff;box-shadow:0 22px 50px rgba(87,35,132,.18)}.company-highlight span{font-size:9px;font-weight:900;letter-spacing:1.5px;opacity:.72}.company-highlight p{margin:10px 0 0;font:700 26px/1.35 'Space Grotesk',system-ui}.company-conviction{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;margin:42px 0;padding:25px 28px;border:1px solid rgba(243,124,26,.25);border-left:5px solid #ed7d1b;border-radius:18px;background:linear-gradient(110deg,rgba(255,151,44,.09),rgba(189,57,152,.05))}.company-conviction p{margin:0;font:700 17px/1.55 'Space Grotesk',system-ui;color:var(--text)}.company-signature{display:grid;justify-content:end;margin-top:55px;text-align:right}.company-signature span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px}.company-signature strong{margin-top:6px;font:800 42px 'Space Grotesk',system-ui;letter-spacing:5px;background:linear-gradient(90deg,#6d288f,#d23b86,#ef8219);-webkit-background-clip:text;background-clip:text;color:transparent}.company-cta{padding:75px 0;background:linear-gradient(120deg,#3a155c,#7b267e 54%,#bd355e);color:#fff}.company-cta>.landing-container{display:flex;align-items:end;justify-content:space-between;gap:50px}.company-cta h2{max-width:690px;margin:13px 0 8px;font:700 clamp(34px,4vw,59px)/1.04 'Space Grotesk',system-ui;letter-spacing:-2.4px}.company-cta p{margin:0;color:rgba(255,255,255,.7)}.company-cta>.landing-container>div:last-child{display:flex;gap:12px;flex:0 0 auto}
@media(max-width:900px){.company-hero{grid-template-columns:1fr;gap:45px}.company-founder-mark{max-width:440px}.company-story-shell{grid-template-columns:1fr;gap:40px}.company-story-aside{position:static;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.company-story-aside>span,.company-story-aside blockquote{grid-column:1/-1}.company-story-aside>div{border-top:1px solid var(--line)}.company-highlight{margin-inline:0}.company-cta>.landing-container{display:block}.company-cta>.landing-container>div:last-child{margin-top:28px}}
@media(max-width:600px){.company-main{padding-top:50px}.company-hero{padding-bottom:60px}.company-hero-copy h1{font-size:clamp(46px,14vw,68px);letter-spacing:-3px}.company-hero-copy>p{font-size:15px}.company-founder-mark{padding:34px 20px}.company-story-shell{padding-bottom:75px}.company-story-aside{grid-template-columns:1fr}.company-story-aside>span,.company-story-aside blockquote{grid-column:auto}.company-story{font-size:15px}.company-lead{font-size:26px!important}.company-highlight{padding:27px 23px}.company-highlight p{font-size:21px}.company-conviction{grid-template-columns:1fr}.company-cta>.landing-container>div:last-child{flex-direction:column}.company-cta .landing-button{justify-content:center}}

/* Stripe hosted checkout */
.purchase-alert{max-width:920px;margin:0 auto 20px;padding:15px 18px;border:1px solid #c9b6dc;border-radius:14px;background:#f8f3fc;color:#4d315f;font-weight:700}.purchase-alert-error{border-color:#dca9ad;background:#fff3f3;color:#8a2832}.purchase-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.purchase-identity-step{margin-top:34px}.purchase-identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0 16px 58px}.purchase-identity-grid label{display:grid;gap:8px;color:#46505c;font-size:12px;font-weight:800}.purchase-identity-grid input,.purchase-identity-grid select{width:100%;min-height:48px;padding:11px 13px;border:1px solid #b7c1ca;border-radius:12px;background:#fff;color:#17202a;font:600 15px system-ui;outline:none}.purchase-identity-grid input:focus,.purchase-identity-grid select:focus{border-color:#7c3ba0;box-shadow:0 0 0 3px rgba(124,59,160,.12)}.purchase-consent{display:flex;gap:11px;align-items:flex-start;margin:14px 0 4px 58px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#f7f9fa;color:#52606d;font-size:12px;line-height:1.55}.purchase-consent input{width:18px;height:18px;margin-top:1px;accent-color:#6c2a8d;flex:0 0 auto}.purchase-consent a{color:#642783;font-weight:800}.summary-button[aria-busy="true"]{opacity:.72;cursor:wait}
@media(max-width:650px){.purchase-identity-grid{grid-template-columns:1fr;margin-left:0}.purchase-consent{margin-left:0}}
.activation-card{max-width:620px;margin:0 auto;padding:34px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 18px 45px rgba(31,39,51,.08)}.activation-card p{margin:0 0 24px;color:#46505c;line-height:1.7}.activation-card label{display:grid;gap:8px;margin:15px 0;color:#3c4652;font-size:12px;font-weight:800}.activation-card input{min-height:50px;padding:12px 14px;border:1px solid #aeb9c3;border-radius:12px;font:600 16px system-ui}.activation-card input:focus{outline:none;border-color:#733393;box-shadow:0 0 0 3px rgba(115,51,147,.12)}.activation-card>small{display:block;margin:8px 0 22px;color:var(--muted)}.purchase-result-card{margin-top:70px}.purchase-result-card h1{margin:12px 0;font-size:clamp(30px,5vw,48px);letter-spacing:-1.6px}.purchase-result-card .hero-buttons{justify-content:flex-start;margin-top:24px}

/* Legal centre v1 */
.legal-meta{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 28px}.legal-meta span{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#f8f9fb;color:var(--muted);font-size:10px;font-weight:700}.legal-menu a[aria-current="page"]{color:#5f3f82;font-weight:800}.legal-content a{color:#5f3f82;text-decoration:underline;text-underline-offset:3px}.legal-content section p+p{margin-top:12px}.legal-content section ul{margin:12px 0 0;padding-left:21px;color:var(--muted);font-size:12px;line-height:1.8}.legal-alert{margin:28px 0 36px;padding:20px;border-radius:15px}.legal-alert strong{font-size:12px}.legal-alert p{margin:7px 0 0;font-size:11px;line-height:1.65}.legal-alert-important{border:1px solid #e7c982;background:#fff8e8;color:#67502c}.legal-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}.legal-card{display:grid;gap:8px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fafbfc;text-decoration:none!important;transition:transform .2s,border-color .2s,box-shadow .2s}.legal-card:hover{transform:translateY(-2px);border-color:#b9a5d1;box-shadow:0 12px 28px rgba(68,44,92,.08)}.legal-card small{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.legal-card strong{color:#202632;font-size:14px}.legal-card span{color:#5f3f82;font-size:10px;font-weight:800}.legal-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}.legal-facts div{padding:14px;background:#fafbfc}.legal-facts dt{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.legal-facts dd{margin:6px 0 0;color:#202632;font-size:12px;line-height:1.5}.legal-table-wrap{margin:16px 0;overflow-x:auto;border:1px solid var(--line);border-radius:14px}.legal-table{width:100%;border-collapse:collapse;font-size:11px}.legal-table th,.legal-table td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.55}.legal-table th{background:#f3f4f7;color:#3c4655;font-size:9px;text-transform:uppercase;letter-spacing:.5px}.legal-table tr:last-child td{border-bottom:0}.legal-table code{white-space:nowrap;color:#5f3f82}.legal-bottom-nav{display:flex;justify-content:space-between;gap:16px;margin-top:34px;padding-top:22px;border-top:1px solid var(--line)}.legal-bottom-nav a{font-size:11px;font-weight:800}.legal-footer-links{flex-wrap:wrap}.legal-footer-links a{white-space:nowrap}
@media(max-width:700px){.legal-card-grid,.legal-facts{grid-template-columns:1fr}.legal-bottom-nav{align-items:flex-start;flex-direction:column}.legal-content h1{font-size:38px;letter-spacing:-1.8px}.legal-table{min-width:620px}}

.purchase-test-banner{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 24px;padding:14px 18px;border:1px solid #d79b16;border-radius:14px;background:#fff7dc;color:#4f3a09;box-shadow:0 10px 30px rgba(139,96,0,.08)}.purchase-test-banner strong{font-size:.78rem;letter-spacing:.1em}.purchase-test-banner span{font-size:.9rem}@media(max-width:720px){.purchase-test-banner{align-items:flex-start;flex-direction:column;gap:5px}}

/* Company verification before the Pro trial */
.company-verification-step{margin-top:28px;padding:22px;border:1px solid rgba(105,46,139,.2);border-radius:20px;background:linear-gradient(145deg,#fff,#f8f4fb)}
.company-verification-step .purchase-step{margin-top:0}.company-verification-step .purchase-identity-grid{margin-bottom:14px}
.company-verify-button{margin-left:58px;border:0;cursor:pointer}.company-verify-button[aria-busy="true"]{opacity:.7;cursor:wait}
.company-verification-result{margin:15px 0 0 58px;padding:14px 16px;border-radius:13px;font-size:12px;font-weight:750;line-height:1.55}
.company-verification-result.is-pending{background:#f2eef7;color:#59366d}.company-verification-result.is-verified{border:1px solid #9edbc9;background:#eaf9f4;color:#086c52}
.company-verification-result.is-rejected,.company-verification-result.is-manual_review{border:1px solid #e0b3b6;background:#fff1f2;color:#892d36}.company-verification-result.is-api_error,.company-verification-result.is-error{border:1px solid #e6cc8c;background:#fff8e5;color:#70500a}
.purchase-identity-grid input:disabled{cursor:not-allowed;background:#eef1f3;color:#7a838c}.summary-button:disabled{opacity:.55;cursor:not-allowed;transform:none}
@media(max-width:650px){.company-verification-step{padding:18px 16px}.company-verify-button,.company-verification-result{width:100%;margin-left:0}}
