:root {
    --bg:#f5f6f2;
    --surface:#fff;
    --raised:#eef0e9;
    --ink:#151b15;
    --body:#475044;
    --muted:#626d61;
    --line:#dce1d7;
    --accent:#496a1f;
    --lime:#d0ff82;
    --lime-ink:#16200e;
    --glow:#759b3b18;
    --sans:'Plus Jakarta Sans',Arial,sans-serif;
    --mono:Consolas,monospace;
}

html[data-theme="dark"] {
    color-scheme:dark;
    --bg:#080a0b;
    --surface:#111516;
    --raised:#191f20;
    --ink:#f4f5ef;
    --body:#b9c0ba;
    --muted:#8c968f;
    --line:#262d2a;
    --accent:#d0ff82;
    --glow:#aae05f15;
}

* {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
    scroll-padding-top:100px;
    -webkit-text-size-adjust:100%;
}

body.landing {
    margin:0;
    background:var(--bg);
    color:var(--body);
    font:15px/1.65 var(--sans);
}

.landing h1,.landing h2,.landing h3,.landing p {
    margin:0;
}

.landing h1,.landing h2,.landing h3 {
    color:var(--ink);
}

.landing a {
    color:inherit;
    text-decoration:none;
}

.landing button,.landing input {
    font:inherit;
}

.landing button {
    cursor:pointer;
}

.landing img {
    max-width:100%;
    display:block;
}

.landing svg {
    flex-shrink:0;
}

.landing [hidden] {
    display:none!important;
}

.landing :focus-visible {
    outline:2px solid var(--accent);
    outline-offset:5px;
}

.landing ::selection {
    background:var(--lime);
    color:var(--lime-ink);
}

.landing-container {
    width:min(1240px,calc(100% - 80px));
    margin-inline:auto;
}

.l-skip {
    position:fixed;
    top:12px;
    left:12px;
    z-index:100;
    padding:12px 20px;
    border-radius:8px;
    background:var(--lime);
    color:var(--lime-ink)!important;
    transform:translateY(-180%);
}

.l-skip:focus {
    transform:none;
}

#main:focus {
    outline:none;
}

.l-btn {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:26px;
    min-height:58px;
    padding:0 25px;
    border:1px solid transparent;
    border-radius:9px;
    font-size:13px;
    font-weight:750;
    line-height:1.3;
    transition:transform .2s,background .2s,box-shadow .2s;
}

.l-btn:hover {
    transform:translateY(-3px);
    box-shadow:0 8px 24px #0002;
}

.landing .l-btn-primary {
    color:var(--lime-ink);
    background:var(--lime);
}

.landing .l-btn-primary:hover {
    background:#deffaa;
}

.landing .l-btn-dark {
    color:#f4f5ef;
    background:#111711;
}

.l-btn-sm {
    min-height:42px;
    padding:0 17px;
    gap:16px;
    font-size:12px;
}

.l-text-link {
    display:inline-flex;
    align-items:center;
    gap:18px;
    color:var(--ink)!important;
    font-size:13px;
    font-weight:650;
}

.l-text-link span {
    font-size:22px;
    transition:transform .2s;
}

.l-text-link:hover span {
    transform:translate(3px,-3px);
}

.l-status-dot {
    display:inline-block;
    flex-shrink:0;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 0 4px var(--glow);
}

/* Navigation */
.l-topbar {
    position:sticky;
    top:0;
    z-index:60;
    background:var(--bg);
    border-bottom:1px solid transparent;
}

.l-topbar.is-scrolled {
    border-color:var(--line);
    background:color-mix(in srgb,var(--bg) 90%,transparent);
    backdrop-filter:blur(18px);
}

.l-topbar-inner {
    display:flex;
    align-items:center;
    gap:32px;
    height:92px;
}

.l-brand {
    display:inline-flex;
    align-items:center;
    flex-shrink:0;
}

.l-brand img {
    width:138px;
    height:auto;
}

.l-nav {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:30px;
    margin:0 auto;
}

.l-nav a {
    color:var(--muted);
    font-size:12px;
    font-weight:600;
    white-space:nowrap;
}

.l-nav a:hover,.l-nav a[aria-current="location"] {
    color:var(--ink);
}

.l-nav .l-mobile-login {
    display:none;
}

.l-actions {
    display:flex;
    align-items:center;
    gap:24px;
}

.l-login {
    color:var(--ink)!important;
    font-size:12px;
    font-weight:650;
    white-space:nowrap;
}

.landing .l-actions .theme-toggle {
    position:static;
    flex-shrink:0;
    width:34px;
    height:34px;
    border:1px solid var(--line);
    border-radius:50%;
    color:var(--body);
    background:transparent;
    box-shadow:none;
}

.l-burger {
    display:none;
    width:36px;
    height:36px;
    padding:8px;
    border:1px solid var(--line);
    border-radius:7px;
    color:var(--ink);
    background:transparent;
}

.l-burger span {
    display:block;
    width:18px;
    height:1px;
    margin:5px 0;
    background:currentColor;
}

.l-burger[aria-expanded="true"] span:first-child {
    transform:translateY(3px) rotate(45deg);
}

.l-burger[aria-expanded="true"] span:last-child {
    transform:translateY(-3px) rotate(-45deg);
}

/* First impression */
.l-hero {
    position:relative;
    overflow:hidden;
    padding:55px 0 0;
}

.l-hero-grid {
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
    background-size:94px 94px;
    opacity:.15;
    mask-image:linear-gradient(90deg,transparent 35%,#000);
}

.l-hero-inner {
    display:grid;
    grid-template-columns:1.12fr 1fr;
    gap:30px;
    align-items:center;
    min-height:555px;
}

.l-hero-copy {
    position:relative;
    z-index:2;
    padding:24px 0 36px;
}

.l-pill {
    display:inline-flex;
    align-items:center;
    gap:11px;
    padding:7px 13px;
    border:1px solid var(--line);
    border-radius:30px;
    color:var(--body);
    font-size:11px;
}

.l-hero h1 {
    position:relative;
    margin:30px 0 26px;
    font-size:clamp(62px,7.2vw,104px);
    font-weight:650;
    letter-spacing:-.075em;
    line-height:1.035;
}

.l-hero h1 em {
    color:var(--accent);
    font-style:normal;
}

.l-title-star {
    display:inline-block;
    margin-left:19px;
    color:var(--accent);
    font-size:.6em;
    vertical-align:8%;
    animation:star-turn 24s linear infinite;
}

.l-hero .lead {
    max-width:445px;
    color:var(--muted);
    font-size:15px;
    line-height:1.85;
}

.l-hero-cta {
    display:flex;
    flex-wrap:wrap;
    gap:30px;
    align-items:center;
    margin-top:31px;
}

.l-hero-note {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:9px;
    margin-top:24px;
    color:var(--muted);
    font-size:10px;
}

.l-note-check {
    color:var(--accent);
}

.l-note-divider {
    width:3px;
    height:3px;
    border-radius:50%;
    background:var(--muted);
}

.l-hero-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:27px 0;
    margin-top:38px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font:9px var(--mono);
    letter-spacing:.1em;
}

.l-hero-bottom a {
    display:flex;
    gap:18px;
    align-items:center;
    font:11px var(--sans);
    letter-spacing:0;
}

.l-hero-bottom a span {
    font-size:20px;
    color:var(--ink);
}

/* Lightweight CSS/SVG sculpture */
.l-orbit-scene {
    position:relative;
    min-width:0;
    height:555px;
    perspective:1000px;
    transform:translate(var(--pointer-x,0px),var(--pointer-y,0px));
    transition:transform .35s ease-out;
}

.l-orbit-halo {
    position:absolute;
    inset:6% -10%;
    background:radial-gradient(ellipse,var(--glow),transparent 66%);
}

.l-orbit-globe {
    position:absolute;
    width:114%;
    max-width:none;
    left:-7%;
    top:-2%;
    height:100%;
    color:var(--accent);
    opacity:.18;
    transform:rotate(-18deg);
}

.l-orbit-route {
    position:absolute;
    width:94%;
    height:67%;
    top:12%;
    left:3%;
    border:1px solid var(--line);
    border-radius:50%;
    transform:rotate(-30deg);
}

.l-orbit-route span {
    position:absolute;
    top:14%;
    left:11%;
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 18px var(--accent);
}

.l-route-two {
    width:88%;
    height:74%;
    top:10%;
    left:5%;
    transform:rotate(40deg);
    opacity:.7;
}

.l-route-two span {
    left:auto;
    right:13%;
    background:#8092dd;
    box-shadow:none;
}

.l-scene-label {
    position:absolute;
    font:8px var(--mono);
    color:var(--muted);
    letter-spacing:.15em;
}

.l-scene-top {
    display:flex;
    align-items:center;
    gap:10px;
    top:23px;
    right:55px;
}

.l-scene-bottom {
    bottom:7px;
    left:50%;
    transform:translateX(-50%);
    white-space:nowrap;
}

.l-number-card {
    position:absolute;
    top:103px;
    left:3%;
    z-index:2;
    width:365px;
    max-width:84%;
    padding:24px 28px;
    overflow:hidden;
    border:1px solid #758875;
    border-radius:20px;
    color:#f3f5eb;
    background:linear-gradient(135deg,#3e493b,#161e18 52%,#1d2b1c);
    box-shadow:12px 22px 50px #0004,inset 0 0 0 1px #ffffff12;
    transform:rotate(-11deg);
    animation:card-float 8s ease-in-out infinite;
}

.l-number-card::after {
    position:absolute;
    top:-100px;
    right:-70px;
    width:260px;
    height:260px;
    border:1px solid #bddd862c;
    border-radius:50%;
    box-shadow:0 0 0 30px #bddd860a,0 0 0 60px #bddd8608;
    content:'';
    pointer-events:none;
}

.l-number-card-top {
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:19px;
    font-weight:750;
    letter-spacing:-.05em;
}

.l-card-dot {
    color:var(--lime);
}

.l-card-symbol {
    font-size:28px;
    color:var(--lime);
}

.l-card-chip {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    width:38px;
    height:29px;
    margin:25px 0 18px;
    border:1px solid #b6b997;
    border-radius:7px;
    overflow:hidden;
    background:linear-gradient(120deg,#dee5bd,#859675);
}

.l-card-chip i {
    border-right:1px solid #45524190;
}

.l-card-chip i::after {
    display:block;
    height:15px;
    border-bottom:1px solid #45524190;
    content:'';
}

.l-card-label {
    display:block;
    color:#acb9a5;
    font-size:7px;
    letter-spacing:.16em;
}

.l-number-card strong {
    display:block;
    margin:6px 0 20px;
    color:#f4f5ef;
    font:24px var(--mono);
    letter-spacing:-.06em;
    white-space:nowrap;
}

.l-number-card-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    font-size:9px;
}

.l-number-card-bottom span:first-child {
    display:flex;
    align-items:center;
    gap:7px;
}

.l-number-card-bottom span:last-child {
    font-size:7px;
    letter-spacing:.12em;
    color:#bbc9b4;
}

.l-number-card-bottom img {
    width:18px;
    height:12px;
    border-radius:2px;
}

.l-code-card {
    position:absolute;
    right:1%;
    bottom:58px;
    z-index:3;
    width:312px;
    max-width:77%;
    padding:19px;
    border:1px solid var(--line);
    border-radius:15px;
    background:var(--surface);
    box-shadow:0 22px 50px #0003;
    transform:rotate(5deg);
    animation:code-float 8s ease-in-out infinite;
}

.l-code-card-head {
    display:flex;
    align-items:center;
    gap:10px;
}

.l-app-icon {
    display:grid;
    width:35px;
    height:35px;
    place-items:center;
    border:1px solid var(--line);
    border-radius:9px;
    background:var(--raised);
}

.l-app-icon img {
    width:21px;
    height:21px;
}

.l-code-card-head b {
    display:block;
    color:var(--ink);
    font-size:11px;
}

.l-code-card-head div>span {
    display:block;
    color:var(--muted);
    font-size:8px;
}

.l-code-check {
    display:grid;
    width:22px;
    height:22px;
    margin-left:auto;
    place-items:center;
    border-radius:50%;
    color:var(--accent);
    background:var(--glow);
    font-size:11px;
}

.l-code-digits {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:6px;
    margin:18px 0;
}

.l-code-digits>span {
    display:grid;
    height:46px;
    place-items:center;
    border:1px solid var(--line);
    border-radius:6px;
    color:var(--ink);
    background:var(--raised);
    font:22px var(--mono);
}

.l-code-digits.is-updating>span {
    animation:code-in .45s ease both;
}

.l-code-card-foot {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    font-size:8px;
    color:var(--muted);
}

.l-code-card-foot>span {
    display:flex;
    align-items:center;
    gap:7px;
}

.l-code-card-foot .l-status-dot {
    width:4px;
    height:4px;
    box-shadow:none;
}

.l-code-card-foot small {
    font-size:7px;
    letter-spacing:.15em;
}

.l-country-bubble {
    position:absolute;
    z-index:4;
    bottom:85px;
    left:-4%;
    display:flex;
    align-items:center;
    padding:12px;
    border:1px solid var(--line);
    border-radius:50px;
    color:var(--body);
    background:var(--surface);
    box-shadow:0 10px 24px #0002;
}

.l-country-bubble img {
    width:22px;
    height:22px;
    margin-right:-7px;
    border:2px solid var(--surface);
    border-radius:50%;
    object-fit:cover;
}

.l-country-bubble span {
    margin-left:15px;
    font-size:9px;
    white-space:nowrap;
}

@keyframes card-float {
    50% {
        transform:translateY(-10px) rotate(-8deg);
    }
}

@keyframes code-float {
    50% {
        transform:translateY(8px) rotate(3deg);
    }
}

@keyframes star-turn {
    to {
        transform:rotate(360deg);
    }
}

@keyframes code-in {
    from {
        opacity:.3;
        transform:translateY(4px);
    }
    to {
        opacity:1;
        transform:none;
    }
}

/* Directory and section rhythm */
.l-brands {
    padding:40px 0 46px;
    border-block:1px solid var(--line);
}

.l-brands p {
    text-align:center;
    color:var(--muted);
    font-size:10px;
}

.l-brand-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:27px;
}

.l-brand-item {
    display:flex;
    align-items:center;
    gap:11px;
    color:var(--ink);
    font-size:19px;
    font-weight:650;
    letter-spacing:-.04em;
    opacity:.75;
    transition:opacity .2s,transform .2s;
}

.l-brand-item:hover {
    opacity:1;
    transform:translateY(-2px);
}

.l-brand-row img {
    width:24px;
    height:24px;
    object-fit:contain;
}

.l-section {
    padding:110px 0;
    scroll-margin-top:90px;
}

.l-section-head {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:40px;
    margin-bottom:45px;
}

.l-eyebrow {
    margin-bottom:23px!important;
    color:var(--muted);
    font:9px var(--mono);
    letter-spacing:.1em;
}

.l-eyebrow>span {
    margin-right:10px;
    color:var(--accent);
}

.landing h2 {
    font-size:clamp(38px,4.6vw,64px);
    font-weight:550;
    letter-spacing:-.06em;
    line-height:1.12;
}

.landing h2 em {
    color:var(--muted);
    font-style:normal;
}

.l-section-sub {
    max-width:320px;
    color:var(--muted);
    font-size:13px;
    line-height:1.8;
}


/* Product bento */
#features {
    padding-top:95px;
}

.l-bento {
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:16px;
}

.l-feature {
    position:relative;
    min-width:0;
    overflow:hidden;
    padding:29px;
    border:1px solid var(--line);
    border-radius:17px;
    background:var(--surface);
    transition:border-color .25s;
}

.l-feature:hover {
    border-color:var(--accent);
}

.l-feature-top {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.l-feature-tag {
    color:var(--muted);
    font:8px var(--mono);
    letter-spacing:.07em;
}

.l-feature-top>span:last-child:not(.l-feature-tag) {
    color:var(--muted);
    font-size:18px;
}

.l-feature h3 {
    font-size:27px;
    font-weight:550;
    letter-spacing:-.04em;
    line-height:1.2;
}

.l-feature p {
    max-width:365px;
    margin-top:13px;
    color:var(--muted);
    font-size:12px;
    line-height:1.8;
}

.l-feature-privacy {
    grid-column:span 5;
    grid-row:span 2;
    background:linear-gradient(160deg,var(--surface),var(--surface) 40%,var(--glow));
}

.l-privacy-art {
    position:relative;
    display:grid;
    height:285px;
    margin:10px -10px 16px;
    place-items:center;
}

.l-privacy-art svg {
    position:relative;
    width:130px;
    height:147px;
    color:var(--accent);
    transform:rotate(-8deg);
}

.l-shield-ring {
    position:absolute;
    width:210px;
    height:210px;
    border:1px solid var(--line);
    border-radius:50%;
    box-shadow:0 0 0 30px var(--glow),0 0 0 60px var(--glow);
}

.l-art-label {
    position:absolute;
    bottom:0;
    color:var(--muted);
    font:7px var(--mono);
}

.l-feature-privacy h3 {
    font-size:37px;
}

.l-feature-speed,.l-feature-global {
    grid-column:span 7;
}

.l-speed-art {
    display:flex;
    align-items:center;
    gap:15px;
    height:78px;
    margin:12px 0;
}

.l-speed-art>span:first-child {
    display:grid;
    width:55px;
    height:42px;
    place-items:center;
    border:1px solid var(--line);
    border-radius:10px;
    font:11px var(--mono);
}

.l-speed-line {
    position:relative;
    flex:1;
    height:1px;
    margin:0 10px;
    background:var(--line);
}

.l-speed-line i {
    position:absolute;
    top:-2px;
    width:36px;
    height:4px;
    border-radius:2px;
    background:var(--accent);
    animation:signal-pass 4s ease-in-out infinite;
}

.l-speed-check {
    display:grid;
    width:41px;
    height:41px;
    place-items:center;
    border:1px solid var(--accent);
    border-radius:50%;
    color:var(--accent);
}

@keyframes signal-pass {
    0%,100% {
        left:0;
        opacity:0;
    }
    15%,85% {
        opacity:1;
    }
    90% {
        left:calc(100% - 36px);
        opacity:0;
    }
}

.l-flags-art {
    display:flex;
    align-items:center;
    gap:10px;
    height:62px;
    margin:12px 0;
}

.l-flags-art img {
    width:34px;
    height:34px;
    border:3px solid var(--raised);
    border-radius:50%;
    object-fit:cover;
}

.l-flags-art>span {
    color:var(--accent);
    font-size:28px;
    margin-left:8px;
}

.l-feature-global h3 br {
    display:none;
}

.l-feature-api {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:50px;
    padding:36px;
}

.l-feature-api h3 {
    margin-top:22px;
    font-size:32px;
}

.l-feature-api .l-text-link {
    margin-top:22px;
    font-size:11px;
}

.l-terminal {
    overflow:hidden;
    border:1px solid #303a32;
    border-radius:11px;
    background:#0b100d;
    color:#c2cdbd;
}

.l-terminal>div {
    display:flex;
    align-items:center;
    gap:5px;
    padding:13px 16px;
    border-bottom:1px solid #232d25;
}

.l-terminal>div span {
    width:6px;
    height:6px;
    border-radius:50%;
    background:#4c5949;
}

.l-terminal small {
    margin-left:auto;
    color:#899984;
    font:8px var(--mono);
}

.l-terminal pre {
    overflow-x:auto;
    margin:0;
    padding:23px;
    font:11px/1.9 var(--mono);
}

.l-code-muted {
    color:#81907b;
}

.l-code-key {
    color:#e1e9da;
}

.l-code-value {
    color:#d0ff82;
}

/* Steps, FAQ */
.l-how-section {
    border-block:1px solid var(--line);
}

.l-steps {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:40px;
}

.l-step {
    min-width:0;
}

.l-step-top {
    display:flex;
    justify-content:space-between;
    padding:13px 0;
    border-bottom:1px solid var(--line);
    color:var(--muted);
    font:12px var(--mono);
}

.l-step-top>span:last-child {
    color:var(--accent);
    font-size:20px;
}

.l-step-visual {
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:9px;
    height:98px;
    margin:17px 0 8px;
}

.l-step-apps img,.l-step-apps>span {
    width:48px;
    height:48px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--surface);
}

.l-step-apps>span {
    display:grid;
    place-items:center;
    color:var(--muted);
    font-size:22px;
}

.l-step-number {
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    gap:8px;
}

.l-step-number>span {
    color:var(--muted);
    font:8px var(--mono);
}

.l-step-number b {
    color:var(--ink);
    font:23px var(--mono);
    letter-spacing:-.05em;
}

.l-step-code {
    gap:6px;
}

.l-step-code>span {
    display:grid;
    width:36px;
    height:44px;
    place-items:center;
    border:1px solid var(--line);
    border-radius:6px;
    color:var(--accent);
    background:var(--surface);
    font:18px var(--mono);
}

.l-step h3 {
    font-size:23px;
    font-weight:550;
    letter-spacing:-.04em;
}

.l-step p {
    margin-top:12px;
    max-width:320px;
    color:var(--muted);
    font-size:12px;
    line-height:1.8;
}

.l-refund-note {
    display:flex;
    align-items:center;
    gap:18px;
    margin-top:52px;
    padding:22px 25px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface);
}

.l-refund-icon {
    display:grid;
    flex-shrink:0;
    width:38px;
    height:38px;
    place-items:center;
    border-radius:50%;
    color:var(--accent);
    background:var(--glow);
    font-size:25px;
}

.l-refund-note strong {
    color:var(--ink);
    font-size:12px;
}

.l-refund-note p {
    color:var(--muted);
    font-size:10px;
    margin-top:3px;
}

.l-refund-note>a {
    flex-shrink:0;
    margin-left:auto;
    color:var(--ink);
    font-size:10px;
}

.l-faq-layout {
    display:grid;
    grid-template-columns:.85fr 1.4fr;
    gap:90px;
}

.l-faq-intro {
    margin-top:22px!important;
    max-width:230px;
    color:var(--muted);
    font-size:12px;
}

.l-faq-layout .l-text-link {
    margin-top:25px;
    font-size:11px;
}

.l-faq {
    border-top:1px solid var(--line);
}

.l-faq details {
    border-bottom:1px solid var(--line);
}

.l-faq summary {
    display:flex;
    align-items:center;
    gap:16px;
    padding:23px 0;
    color:var(--ink);
    font-size:13px;
    font-weight:550;
    list-style:none;
    cursor:pointer;
}

.l-faq summary::-webkit-details-marker {
    display:none;
}

.l-faq-num {
    flex-shrink:0;
    color:var(--muted);
    font:9px var(--mono);
}

.l-faq-plus {
    display:grid;
    flex-shrink:0;
    margin-left:auto;
    width:25px;
    height:25px;
    place-items:center;
    color:var(--muted);
    transition:transform .2s;
}

.l-faq details[open] .l-faq-plus {
    transform:rotate(45deg);
    color:var(--accent);
}

.l-faq details p {
    padding:0 35px 23px 29px;
    color:var(--muted);
    font-size:12px;
    line-height:1.9;
}

/* Invitation and footer */
.l-cta {
    padding:0 0 85px;
}

.l-cta-inner {
    position:relative;
    overflow:hidden;
    padding:54px 60px 45px;
    border-radius:22px;
    color:#24311b;
    background:var(--lime);
}

.l-cta-inner .l-eyebrow {
    color:#445c2c;
    font-size:8px;
}

.l-cta-inner h2 {
    position:relative;
    color:#15200e;
    font-size:clamp(60px,8.5vw,118px);
    font-weight:650;
    letter-spacing:-.075em;
    line-height:.98;
}

.l-cta-inner h2 em {
    color:#15200e;
}

.l-cta-star {
    position:absolute;
    right:6%;
    top:12%;
    color:#314622;
    font-size:260px;
    line-height:1;
    opacity:.15;
    transform:rotate(-14deg);
}

.l-cta-bottom {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    margin-top:40px;
    padding-top:25px;
    border-top:1px solid #31462233;
}

.l-cta-bottom p {
    max-width:270px;
    font-size:12px;
}

.l-footer {
    border-top:1px solid var(--line);
    padding-top:58px;
}

.l-footer-top {
    display:grid;
    grid-template-columns:1.7fr 1fr 1fr 1.2fr;
    gap:30px;
}

.l-footer-brand p {
    margin-top:21px;
    color:var(--muted);
    font-size:13px;
}

.l-footer-top h3 {
    margin:0 0 19px;
    color:var(--ink);
    font-size:10px;
}

.l-footer-top>div:not(.l-footer-brand) a {
    display:block;
    margin-bottom:10px;
    color:var(--muted);
    font-size:11px;
}

.l-footer-top a:hover {
    color:var(--accent);
}

.l-footer-wordmark {
    margin:54px 0 25px;
    overflow:hidden;
    color:var(--ink);
    font-size:clamp(80px,18.5vw,259px);
    line-height:.95;
    font-weight:750;
    letter-spacing:-.085em;
}

.l-footer-wordmark>span {
    display:inline-block;
    font-size:.13em;
    vertical-align:top;
    margin:.4em 0 0 .3em;
    letter-spacing:0;
    color:var(--muted);
}

.l-footer-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:23px 0;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:9px;
}

.l-footer-bottom>span:nth-child(2) {
    display:flex;
    align-items:center;
    gap:12px;
}

.l-cookie {
    position:fixed;
    left:22px;
    bottom:22px;
    z-index:80;
    display:flex;
    align-items:center;
    gap:22px;
    max-width:420px;
    padding:16px 18px;
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--surface);
    box-shadow:0 10px 40px #0003;
    font-size:10px;
}

.l-cookie a {
    text-decoration:underline;
}

.l-cookie button {
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
    padding:7px 11px;
    border:0;
    border-radius:6px;
    color:var(--lime-ink);
    background:var(--lime);
    font-size:10px;
}

.l-cookie button svg {
    width:14px;
}

.l-reveal.is-visible {
    animation:section-in .7s ease both;
}

@keyframes section-in {
    from {
        opacity:.35;
        transform:translateY(18px);
    }
    to {
        opacity:1;
        transform:none;
    }
}

@media(max-width:1100px) {
    .l-topbar-inner {
        gap:20px;
    }
    .l-nav {
        gap:20px;
    }
    .l-actions {
        gap:16px;
    }
    .l-hero-inner {
        gap:15px;
    }
    .l-number-card {
        left:0;
    }
    .l-country-bubble {
        left:-3%;
        bottom:52px;
    }
    .l-brand-item {
        font-size:16px;
        gap:8px;
    }
    .l-faq-layout {
        gap:50px;
    }
}

@media(max-width:960px) {
    .landing-container {
        width:calc(100% - 48px);
    }
    .l-topbar-inner {
        height:78px;
    }
    .l-burger {
        display:block;
    }
    .l-actions {
        margin-left:auto;
    }
    .l-nav {
        position:absolute;
        top:78px;
        left:24px;
        right:24px;
        display:none;
        padding:14px 20px;
        border:1px solid var(--line);
        border-radius:12px;
        background:var(--surface);
        box-shadow:0 18px 35px #0002;
    }
    .l-nav.is-open {
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:0;
    }
    .l-nav a {
        padding:12px 0;
        font-size:13px;
    }
    .l-nav .l-mobile-login {
        display:flex;
        align-items:center;
        justify-content:space-between;
        border-top:1px solid var(--line);
        color:var(--accent);
    }
    .l-hero {
        padding-top:30px;
    }
    .l-hero h1 {
        font-size:clamp(54px,8.5vw,80px);
    }
    .l-hero-inner {
        grid-template-columns:1.1fr 1fr;
        min-height:490px;
    }
    .l-orbit-scene {
        height:490px;
    }
    .l-number-card {
        top:85px;
        padding:20px;
    }
    .l-number-card strong {
        font-size:20px;
    }
    .l-code-card {
        right:-2%;
        width:270px;
        padding:15px;
        bottom:60px;
        max-width:85%;
    }
    .l-code-digits {
        gap:4px;
    }
    .l-code-digits>span {
        height:37px;
        font-size:18px;
    }
    .l-country-bubble {
        left:-3%;
        bottom:19px;
    }
    .l-scene-bottom {
        display:none;
    }
    .l-scene-top {
        right:15px;
    }
    .l-brand-row {
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:25px;
        justify-items:center;
    }
    .l-section {
        padding-block:80px;
    }
    .l-section-head {
        gap:25px;
    }
    .l-section-sub {
        max-width:270px;
    }
    .l-feature {
        padding:25px;
    }
    .l-feature-api {
        gap:30px;
    }
    .l-terminal pre {
        font-size:10px;
        padding:18px;
    }
    .l-steps {
        gap:26px;
    }
    .l-step-number b {
        font-size:19px;
    }
    .l-step-code>span {
        width:28px;
        height:39px;
        font-size:15px;
    }
    .l-cta-inner {
        padding:44px;
    }
}

@media(max-width:700px) {
    .l-topbar-inner {
        height:72px;
    }
    .l-brand img {
        width:119px;
    }
    .l-actions {
        gap:12px;
    }
    .l-login {
        display:none;
    }
    .l-nav {
        top:72px;
    }
    .l-btn-sm {
        font-size:10px;
        gap:10px;
        padding:0 12px;
        min-height:38px;
    }
    .l-hero {
        padding-top:15px;
    }
    .l-hero-inner {
        grid-template-columns:minmax(0,1fr);
        gap:0;
    }
    .l-hero-copy {
        padding:27px 0 0;
    }
    .l-hero h1 {
        font-size:clamp(61px,12.5vw,88px);
        margin-top:25px;
    }
    .l-hero .lead {
        font-size:14px;
    }
    .l-hero-cta {
        gap:25px;
        margin-top:26px;
    }
    .l-orbit-scene {
        width:min(480px,100%);
        margin:22px auto 0;
        height:490px;
    }
    .l-number-card {
        top:95px;
        left:3%;
        padding:23px;
        max-width:80%;
    }
    .l-number-card strong {
        font-size:24px;
    }
    .l-code-card {
        right:1%;
        bottom:42px;
        width:290px;
        max-width:76%;
    }
    .l-code-digits>span {
        height:42px;
    }
    .l-country-bubble {
        left:0;
        bottom:15px;
    }
    .l-scene-top {
        top:27px;
        right:37px;
    }
    .l-hero-bottom {
        margin-top:22px;
        padding:18px 0;
    }
    .l-hero-bottom>span {
        font-size:7px;
        letter-spacing:0;
    }
    .l-brands {
        padding-block:30px;
    }
    .l-brand-item {
        font-size:15px;
    }
    .l-brand-row img {
        width:20px;
        height:20px;
    }
    .l-section {
        padding-block:70px;
    }
    .l-section-head {
        flex-direction:column;
        align-items:flex-start;
        gap:22px;
        margin-bottom:30px;
    }
    .l-eyebrow {
        font-size:8px;
        margin-bottom:18px!important;
    }
    .landing h2 {
        font-size:clamp(36px,7.7vw,52px);
    }
    .l-section-sub {
        max-width:390px;
    }

.l-explorer-count {
        font-size:7px;
    }

.l-svc {
        padding:13px 10px;
    }

.l-bento {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
    }
    .l-feature {
        padding:23px;
    }
    .l-feature-privacy {
        grid-column:1/-1;
        grid-row:auto;
    }
    .l-privacy-art {
        height:240px;
    }
    .l-feature-privacy h3 br {
        display:none;
    }
    .l-feature-speed,.l-feature-global {
        grid-column:span 1;
    }
    .l-feature h3 {
        font-size:23px;
    }
    .l-feature p {
        font-size:11px;
    }
    .l-feature-tag {
        font-size:7px;
        letter-spacing:0;
    }
    .l-feature-top {
        gap:6px;
    }
    .l-flags-art {
        gap:5px;
    }
    .l-flags-art img {
        width:25px;
        height:25px;
        border-width:2px;
    }
    .l-flags-art>span {
        display:none;
    }
    .l-speed-art {
        gap:8px;
    }
    .l-speed-line {
        margin:0;
    }
    .l-speed-art>span:first-child {
        width:40px;
    }
    .l-speed-check {
        width:32px;
        height:32px;
    }
    .l-feature-api {
        grid-template-columns:1fr;
        gap:28px;
    }
    .l-terminal pre {
        font-size:11px;
    }
    .l-steps {
        grid-template-columns:1fr;
        gap:32px;
    }
    .l-step-visual {
        height:70px;
        margin-top:10px;
    }
    .l-step-number b {
        font-size:24px;
    }
    .l-step-code>span {
        width:37px;
        height:43px;
        font-size:20px;
    }
    .l-refund-note {
        align-items:flex-start;
        flex-wrap:wrap;
        padding:20px;
        gap:12px;
    }
    .l-refund-note>div {
        flex:1;
    }
    .l-refund-note>a {
        margin-left:50px;
    }
    .l-faq-layout {
        grid-template-columns:1fr;
        gap:35px;
    }
    .l-faq summary {
        font-size:12px;
        gap:12px;
    }
    .l-cta {
        padding-bottom:65px;
    }
    .l-cta-inner {
        padding:33px 28px;
    }
    .l-cta-inner h2 {
        font-size:clamp(57px,12vw,86px);
    }
    .l-cta-star {
        right:-28px;
        top:60px;
        font-size:180px;
    }
    .l-cta-bottom {
        flex-direction:column;
        align-items:flex-start;
        gap:22px;
        margin-top:30px;
    }
    .l-footer-top {
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:30px 15px;
    }
    .l-footer-brand {
        grid-column:1/-1;
    }
    .l-footer-brand p br {
        display:none;
    }
    .l-footer-top>div:not(.l-footer-brand) a {
        font-size:10px;
        overflow-wrap:anywhere;
    }
    .l-footer-wordmark {
        margin-top:40px;
        font-size:18.8vw;
    }
    .l-footer-bottom {
        flex-wrap:wrap;
        gap:13px;
    }
    .l-footer-bottom>span:nth-child(2) {
        display:none;
    }
}

@media(max-width:420px) {
    .landing-container {
        width:calc(100% - 36px);
    }
    .l-topbar-inner {
        gap:10px;
    }
    .l-actions {
        gap:8px;
    }
    .l-brand img {
        width:101px;
    }
    .l-actions .l-btn svg {
        display:none;
    }
    .l-actions .theme-toggle {
        width:31px;
        height:31px;
    }
    .l-burger {
        width:32px;
        height:32px;
        padding:6px;
    }
    .l-nav {
        left:18px;
        right:18px;
    }
    .l-hero h1 {
        font-size:clamp(49px,12.7vw,61px);
    }
    .l-title-star {
        margin-left:12px;
    }
    .l-pill {
        font-size:9px;
    }
    .l-hero .lead {
        font-size:12px;
    }
    .l-hero-cta {
        gap:21px;
    }
    .l-hero-cta .l-btn {
        min-height:53px;
        padding-inline:18px;
        gap:18px;
        font-size:12px;
    }
    .l-hero-cta .l-text-link {
        gap:9px;
        font-size:11px;
    }
    .l-orbit-scene {
        height:420px;
        margin-top:20px;
    }
    .l-number-card {
        top:85px;
        padding:19px;
        left:2%;
        max-width:86%;
    }
    .l-card-chip {
        margin-top:18px;
    }
    .l-number-card strong {
        font-size:21px;
    }
    .l-code-card {
        bottom:15px;
        right:0;
        max-width:80%;
        padding:13px;
    }
    .l-code-card-head {
        gap:8px;
    }
    .l-code-digits {
        gap:4px;
        margin:14px 0;
    }
    .l-code-digits>span {
        height:37px;
        font-size:18px;
    }
    .l-country-bubble {
        bottom:-12px;
        padding:9px;
    }
    .l-country-bubble span {
        font-size:8px;
    }
    .l-hero-bottom {
        margin-top:38px;
    }
    .l-hero-bottom a {
        font-size:9px;
        gap:9px;
    }
    .l-hero-bottom>span {
        max-width:150px;
    }
    .l-brand-row {
        gap:22px 12px;
    }
    .l-brand-item {
        font-size:11px;
        gap:6px;
    }
    .l-brand-row img {
        width:17px;
        height:17px;
    }

.l-svc-country {
        font-size:9px;
    }

.l-explorer-count {
        max-width:90px;
        line-height:1.5;
    }

.l-bento {
        grid-template-columns:1fr;
    }
    .l-feature-speed,.l-feature-global {
        grid-column:1/-1;
    }
    .l-feature-privacy h3 {
        font-size:29px;
    }
    .l-feature-tag {
        font-size:8px;
    }
    .l-flags-art img {
        width:33px;
        height:33px;
    }
    .l-terminal pre {
        font-size:9px;
        padding:16px;
    }
    .l-faq summary {
        font-size:11px;
    }
    .l-cta-inner {
        padding:28px 22px;
    }
    .l-cta-inner .l-eyebrow {
        max-width:180px;
        font-size:7px;
    }
    .l-cta-inner h2 {
        font-size:15vw;
    }
    .l-cta-bottom .l-btn {
        width:100%;
        font-size:10px;
        padding-inline:15px;
        gap:16px;
    }
    .l-cookie {
        left:12px;
        right:12px;
        bottom:12px;
        padding:13px;
        gap:14px;
        max-width:none;
        font-size:9px;
    }
}

/* App badges, section transitions and a quieter interactive surface. */
.l-topbar::after {
    position:absolute;
    right:0;
    bottom:-1px;
    left:0;
    height:2px;
    background:var(--accent);
    content:'';
    transform:scaleX(var(--reading-progress, 0));
    transform-origin:left;
    pointer-events:none;
}

.l-nav a {
    position:relative;
}

.l-nav a::after {
    position:absolute;
    right:0;
    bottom:-8px;
    left:0;
    height:2px;
    border-radius:2px;
    background:var(--accent);
    content:'';
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .25s ease;
}

.l-nav a:hover::after,
.l-nav a[aria-current="location"]::after {
    transform:scaleX(1);
}

.l-brands {
    position:relative;
    padding-block:38px 42px;
    background:linear-gradient(180deg, var(--surface), var(--bg));
    scroll-margin-top:100px;
}

.l-brands p {
    color:var(--body);
    font-size:12px;
    letter-spacing:.02em;
}

.l-brand-row {
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:12px;
    margin-top:26px;
}

.l-brand-item {
    justify-content:center;
    gap:10px;
    min-width:0;
    padding:16px 10px;
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--surface);
    font-size:14px;
    opacity:1;
    transition:transform .25s, border-color .25s, box-shadow .25s;
}

.l-brand-icon {
    display:grid;
    flex-shrink:0;
    width:32px;
    height:32px;
    place-items:center;
    border-radius:9px;
    background:var(--raised);
}

.l-brand-item img {
    width:20px;
    height:20px;
    object-fit:contain;
}

.l-brand-item:hover {
    border-color:color-mix(in srgb, var(--accent) 50%, var(--line));
    box-shadow:0 8px 24px #0001;
    transform:translateY(-4px);
}

.l-feature {
    transition:border-color .3s, box-shadow .3s;
}

.l-feature:hover {
    box-shadow:0 12px 35px #0002;
}

.l-step {
    padding:0 16px 20px;
    border-radius:12px;
    transition:background .3s, transform .3s;
}

.l-step:hover {
    background:var(--surface);
    transform:translateY(-4px);
}

section[tabindex="-1"]:focus {
    outline:none;
}

.l-arriving .l-section-head,
.l-arriving .l-faq-layout > div:first-child,
.l-arriving .l-hero-copy,
.l-arriving #services-title {
    animation:anchor-heading .7s cubic-bezier(.22, 1, .36, 1) both;
}

.l-arriving .l-brand-item,
.l-arriving .l-feature,
.l-arriving .l-step,
.l-arriving .l-faq details {
    animation:anchor-card .7s cubic-bezier(.22, 1, .36, 1) var(--entry-delay, 0ms) both;
}

@keyframes anchor-heading {
    from { opacity:.45; transform:translateY(16px); }
    to { opacity:1; transform:translateY(0); }
}

@keyframes anchor-card {
    from { opacity:.35; transform:translateY(20px) scale(.98); }
    to { opacity:1; transform:translateY(0) scale(1); }
}

@media(max-width:1100px) {
    .l-brand-row { grid-template-columns:repeat(3, minmax(0, 1fr)); }
}

@media(max-width:960px) {
    .l-nav a::after { bottom:5px; right:calc(100% - 30px); }
    #features { padding-top:75px; }
}

@media(max-width:700px) {
    .l-brand-row { gap:9px; }
    .l-brand-item { width:100%; padding:13px 8px; gap:8px; font-size:12px; }
    .l-brand-icon { width:28px; height:28px; }
    .l-brand-item img { width:18px; height:18px; }
    #features { padding-top:65px; }
    .l-step { padding-inline:12px; }
}

@media(max-width:420px) {
    .l-brand-row { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .l-brand-item { font-size:13px; }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
    .landing *,.landing *::before,.landing *::after {
        animation:none!important;
        transition:none!important;
    }
    .l-orbit-scene {
        transform:none;
    }
}

