@font-face {
      font-family: "SVN-Gilroy";
      src: url("../assets/fonts/SVN-Gilroy%20Thin.otf") format("opentype");
      font-style: normal;
      font-weight: 100;
      font-display: swap;
    }
    @font-face {
      font-family: "SVN-Gilroy";
      src: url("../assets/fonts/SVN-Gilroy%20Light.otf") format("opentype");
      font-style: normal;
      font-weight: 300;
      font-display: swap;
    }
    @font-face {
      font-family: "SVN-Gilroy";
      src: url("../assets/fonts/SVN-Gilroy%20Regular.otf") format("opentype");
      font-style: normal;
      font-weight: 400;
      font-display: swap;
    }
    @font-face {
      font-family: "SVN-Gilroy";
      src: url("../assets/fonts/SVN-Gilroy%20Medium.otf") format("opentype");
      font-style: normal;
      font-weight: 500;
      font-display: swap;
    }
    @font-face {
      font-family: "SVN-Gilroy";
      src: url("../assets/fonts/SVN-Gilroy%20SemiBold.otf") format("opentype");
      font-style: normal;
      font-weight: 600;
      font-display: swap;
    }
    @font-face {
      font-family: "SVN-Gilroy";
      src: url("../assets/fonts/SVN-Gilroy%20Bold.otf") format("opentype");
      font-style: normal;
      font-weight: 700;
      font-display: swap;
    }
    @font-face {
      font-family: "SVN-Gilroy";
      src: url("../assets/fonts/SVN-Gilroy%20Black.otf") format("opentype");
      font-style: normal;
      font-weight: 900;
      font-display: swap;
    }

    :root {
      color-scheme: light;
      --green: #1fb14f;
      --green-dark: #008638;
      --teal: #225f73;
      --ink: #111;
      --body: #242424;
      --muted: #777;
      --line: #e6e8e6;
      --surface: #f5f5f5;
      --white: #fff;
      --gradient: linear-gradient(110deg, #274485 0%, #1fb14f 100%);
      --content: 1200px;
      --shadow: 0 18px 54px rgba(14, 42, 47, .12);
      --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
      --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
      font-family: "SVN-Gilroy", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      font-synthesis: none;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 112px; }
    body { margin: 0; color: var(--body); background: var(--white); }
    body, button, input, select { font-family: inherit; }
    button, a, summary { -webkit-tap-highlight-color: transparent; }
    button { color: inherit; }
    img { max-width: 100%; }
    a { color: inherit; }
    [hidden] { display: none !important; }
    .sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
    .skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; padding: 12px 16px; color: #fff; background: var(--ink); border-radius: 8px; transform: translateY(-160%); }
    .skip-link:focus { transform: translateY(0); }
    :focus-visible { outline: 3px solid #f2b544; outline-offset: 3px; }
    .container { width: min(var(--content), calc(100% - 64px)); margin-inline: auto; }
    .site-header { position: fixed; z-index: 40; top: 12px; right: 0; left: 0; background: transparent; }
    .nav-bar { position: relative; isolation: isolate; width: min(1440px, calc(100% - 48px)); height: 93px; margin-inline: auto; padding: 12px 48px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
    .nav-bar::before { position: absolute; z-index: 0; inset: 12px 36px; content: ""; background: rgba(255,255,255,.43); border: 1px solid rgba(255,255,255,.8); border-radius: 24px; box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 2px 4px rgba(0,0,0,.04); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
    .nav-start, .header-actions, .mobile-menu { position: relative; z-index: 1; }
    .nav-start { display: flex; align-items: center; gap: 24px; min-width: 0; }
    .brand { width: 42px; min-width: 42px; display: inline-flex; align-items: center; color: var(--ink); text-decoration: none; }
    .brand img { display: block; width: 42px; height: 42px; object-fit: contain; }
    .desktop-nav { display: flex; align-items: center; gap: 0; }
    .desktop-nav a, .mobile-menu a { color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; transition: color .2s ease; }
    .desktop-nav a { padding: 10px; }
    .desktop-nav a:hover, .mobile-menu a:hover { color: var(--green-dark); }
    .header-actions { display: flex; align-items: center; gap: 10px; }
    .header-actions .nav-download, .menu-toggle { display: none; }
    .store-badges { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
    .store-badges > .store-badge:first-child { width: 117px; }
    .store-badges > .store-badge:last-child { width: 138px; }
    .nav-bar .store-badges { gap: 16px; }
    .nav-bar .store-badge { height: 45px; min-height: 45px; padding: 0; gap: 0; color: #000; background: #fff; border: 0; border-radius: 12px; }
    .nav-bar .store-badge:hover { background: #fff; }
    .nav-bar .store-badge img { display: block; width: 100%; height: 45px; }
    .store-badge { display: inline-flex; align-items: center; justify-content: flex-start; gap: 9px; min-height: 42px; padding: 6px 12px; color: #fff; background: #050505; border: 1px solid rgba(255,255,255,.18); border-radius: 9px; text-decoration: none; transition: background .18s ease; }
    .store-badge:hover { background: #202725; }
    .store-badge svg { width: 19px; height: 22px; flex: none; }
    .store-badge span { display: flex; flex-direction: column; line-height: 1.08; text-align: left; white-space: nowrap; }
    .store-badge small { font-size: 8px; font-weight: 500; opacity: .8; }
    .store-badge strong { font-size: 12px; font-weight: 700; }
    .mobile-menu { display: none; }
    .hero { position: relative; height: 988px; min-height: 988px; overflow: hidden; background: #e8e8e8 url("../assets/hero-noise.png") repeat 0 0 / 64px 64px; font-family: "SVN-Gilroy", "Plus Jakarta Sans", sans-serif; }
    .hero::after { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; height: 257px; content: ""; pointer-events: none; background: url("../assets/hero-fade-desktop.webp") left bottom / 1780px 257px no-repeat; }
    .hero-inner { position: relative; width: min(1200px, calc(100% - 64px)); height: 100%; margin-inline: auto; }
    .hero-copy { position: absolute; z-index: 3; top: 369px; left: 1px; width: 411px; padding: 0; }
    .official-label { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 19px; color: var(--green-dark); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
    .official-label svg { width: 16px; height: 16px; }
    h1, h2, h3, p { margin-top: 0; }
    .hero h1 { max-width: 418px; margin-bottom: 19px; color: var(--ink); font-size: 44px; line-height: 1.385; font-weight: 600; letter-spacing: -.01em; text-wrap: balance; }
    .hero-copy > p:not(.official-label) { max-width: 411px; margin-bottom: 19px; color: var(--body); font-size: 20px; line-height: 1.385; font-weight: 500; letter-spacing: .0194em; }
    .hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
    .button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 12px 22px; border: 0; border-radius: 10px; font-size: 18px; font-weight: 700; text-decoration: none; cursor: pointer; transition: background .18s ease, box-shadow .18s ease; }
    .button-primary { width: 168px; height: 48px; min-height: 48px; padding: 0 20px; color: #fff; background: var(--gradient); border: 0; border-radius: 999px; font-size: 18px; line-height: 1.05; letter-spacing: .0194em; box-shadow: 0 3px 7px rgba(0,0,0,.14); }
    .button-primary:hover { filter: brightness(.94); box-shadow: 0 4px 10px rgba(0,0,0,.18); }
    /* Glass rim sits over the gradient without changing the button's layout. */
    .button-primary, .lead-submit { position: relative; isolation: isolate; }
    .button-primary::after, .lead-submit::after {
      position: absolute;
      inset: 0;
      padding: 1px;
      border: .5px solid transparent;
      border-radius: inherit;
      content: "";
      pointer-events: none;
      background: linear-gradient(145deg, rgba(255,255,255,.06) 12%, rgba(255,255,255,.72) 47%, rgba(255,255,255,.1) 68%, rgba(255,255,255,.48)) border-box;
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      mask-composite: exclude;
      box-shadow: inset 0 1px 1px rgba(255,255,255,.55), inset 0 -1px 1px rgba(255,255,255,.38);
    }
    .button-link { color: var(--ink); background: #f5f8f6; }
    .button-link:hover { background: #eaf3ed; }
    .button svg { width: 17px; height: 17px; }
    .hero-mobile-stores { display: none; }
    .hero-art { position: absolute; z-index: 1; top: 71px; left: 352px; width: 617px; height: 925px; display: grid; place-items: center; }
    .hero-art picture { display: block; width: 100%; height: 100%; }
    .hero-art img { display: block; width: 100%; height: 100%; max-height: none; object-fit: contain; }
    .hero-qr { position: absolute; z-index: 2; top: 369px; left: 985px; width: 215px; text-align: center; }
    .qr-effect { position: relative; width: fit-content; margin-inline: auto; overflow: visible; isolation: isolate; line-height: 0; background: #fff; border-radius: 22px; }
    .qr-effect > .qr-code { margin: 0 !important; }
    .qr-code { position: relative; display: block; width: 100%; aspect-ratio: 1; overflow: hidden; padding: 0; background: #fff; border-radius: inherit; line-height: 0; }
    .qr-code > .qr-pattern { position: absolute; inset: 0; display: block; width: 100%; height: 100%; margin: 0 !important; padding: 0; background: #fff; object-fit: contain; }
    .qr-code > .qr-center { position: absolute; inset: 50% auto auto 50%; width: 20%; height: 20%; transform: translate(-50%, -50%); padding: 3px; background: #fff; border-radius: 5px; object-fit: contain; }
    .qr-effect::after { position: absolute; z-index: 2; inset: 0; border-radius: inherit; content: ""; pointer-events: none; background-image: linear-gradient(to right, rgba(245, 135, 82, .22) 1px, transparent 1px), linear-gradient(to bottom, rgba(245, 135, 82, .22) 1px, transparent 1px); background-size: 5.5% 5.5%; }
    .qr-scan-beam { position: absolute; z-index: 3; inset: 0; pointer-events: none; transform: translateY(44%); }
    .qr-scan-beam::before { position: absolute; top: 0; left: 0; width: 100%; height: 12%; content: ""; border-radius: 8px 8px 4px 4px; border-top: 2px solid transparent; background: linear-gradient(90deg, #47ae57, #254784) top / 100% 2px no-repeat, linear-gradient(to bottom, rgba(81, 182, 100, .22), rgba(81, 182, 100, .04)); background-origin: border-box; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); box-shadow: 0 3px 8px rgba(49, 155, 85, .15); }
    .hero-qr .qr-effect { margin-bottom: 14px; }
    .ecosystem-qr .qr-effect, .lead-download .qr-effect { background: #fff; border-radius: 24px; }
    .dialog-qr .qr-effect { background: #fff; border-radius: 6px; }
    .hero-qr .qr-code { width: 187px; height: 187px; margin: 0 auto 14px; border-radius: 22px; }
    .hero-qr p { margin: 0; color: var(--ink); font-size: 20.5057px; line-height: 21.531px; font-weight: 600; letter-spacing: .0194em; }
    .section { padding-block: 0; }
    .section-heading { max-width: var(--content); margin: 0 auto; }
    .section-heading.center { text-align: center; }
    .eyebrow { margin-bottom: 9px; color: var(--green-dark); font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
    .section-heading h2, .trust-heading h2, .guide-heading h2, .faq-title h2 { margin-bottom: 10px; color: var(--ink); font-size: 44px; line-height: 1.18; font-weight: 600; letter-spacing: .01em; text-wrap: balance; }
    .section-heading > p:last-child, .trust-heading > p:last-child, .guide-heading > p:last-child, .faq-title > p:last-child { margin-bottom: 0; color: var(--body); font-size: 20px; line-height: 1.39; font-weight: 500; }
    .feature-section { height: 812px; padding-top: 144px; background: #fff; overflow-x: clip; }
    .feature-card { width: min(1200px, calc(100% - 64px)); height: 608px; margin-inline: auto; display: grid; grid-template-columns: 555px 584px; column-gap: 59px; align-items: start; justify-content: start; }
    .feature-copy { width: 555px; height: 369px; display: flex; flex-direction: column; justify-content: space-between; }
    .feature-heading { width: 100%; margin: 0; }
    .feature-heading h2 { margin-bottom: 12px; font-size: clamp(26px, 3vw, 44px); line-height: 1.18; letter-spacing: .0194em; }
    .feature-heading p { letter-spacing: .0194em; }
    .feature-next-mobile { display: none; }
    .feature-heading p { margin: 0; }
    .feature-detail { position: relative; isolation: isolate; width: 555px; min-height: 196px; display: grid; grid-template-columns: 44px 446px; gap: 40px; align-items: start; }
    .feature-description { position: relative; z-index: 2; grid-column: 2; grid-row: 1; width: 446px; min-height: 116px; margin-top: 40px; padding: 20px; background: #f2f7f4; border-radius: 20px; }
    .feature-count { display: none; }
    .feature-description h3 { margin-bottom: 13px; color: #000; font-size: 20px; line-height: 21px; font-weight: 600; letter-spacing: .0194em; }
    .feature-description > p { max-width: 406px; margin: 0; color: #000; font-size: 16px; line-height: 21.12px; font-weight: 400; letter-spacing: .0194em; }
    .feature-controls { grid-column: 1; grid-row: 1; height: 196px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 8px; }
    .feature-arrow, .step-arrow { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border: 0; border-radius: 50%; color: #222; background: #efefef; cursor: pointer; transition: color .2s ease, background .2s ease, border-color .2s ease; }
    .feature-arrow:hover, .step-arrow:hover { color: #fff; background: var(--green-dark); border-color: var(--green-dark); }
    .feature-arrow svg, .step-arrow svg { width: 18px; height: 18px; }
    .feature-dots, .step-dots { display: flex; align-items: center; justify-content: center; gap: 7px; margin-inline: 2px; }
    .feature-controls .feature-dots { flex-direction: column; gap: 8px; margin: 0; }
    .feature-dot, .step-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: #d8d8d8; cursor: pointer; transition: width .2s ease, height .2s ease, background .2s ease; }
    .feature-dot[aria-current="true"], .step-dot[aria-current="true"] { width: 8px; height: 24px; background: var(--green); }
    .feature-controls .feature-dot[aria-current="true"] { width: 8px; height: 8px; }
    .feature-controls #feature-prev svg { transform: rotate(90deg); }
    .feature-controls #feature-next svg { transform: rotate(90deg); }
    .feature-stage { position: relative; width: 584px; height: 608px; overflow: hidden; background: #f6f6f6; border-radius: 50px; }
    .feature-media-layer { position: absolute; inset: 0; }
    .feature-video { display: block; width: 100%; height: 100%; object-fit: contain; }
    .feature-playback { position: absolute; z-index: 4; right: 16px; bottom: 16px; min-height: 36px; padding: 8px 14px; border: 1px solid #d8d8d8; border-radius: 999px; background: #fff; color: #222; font: inherit; font-size: 12px; cursor: pointer; }
    .feature-stage-reference { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
    .feature-phone { position: absolute; z-index: 1; top: 35%; left: 16.6%; width: 62.5%; height: auto; display: block; object-fit: contain; transform: none; }
    /* Split the baked-in phone out so the first slide can show it higher. */
    .feature-stage-reference { clip-path: inset(0 0 21.1% 0); }
    .trust-section { min-height: 838px; padding: 120px 0; background: #fff; }
    .trust-heading { width: 616px; height: 92px; margin: 0 auto 38px; text-align: center; }
    .trust-heading h2 { margin-bottom: 12px; }
    .trust-heading > p:last-child { max-width: 616px; margin-inline: auto; }
    .trust-grid { width: min(1200px, calc(100% - 64px)); min-height: 468px; margin-inline: auto; display: grid; grid-template-columns: 416px minmax(0, 760px); align-items: stretch; gap: 24px; }
    .official-card { display: flex; flex-direction: column; overflow: hidden; background: #f7f6ff; border-radius: 24px; }
    .official-card > img { display: block; width: 100%; height: 333px; flex: none; object-fit: cover; object-position: top center; }
    .official-caption { flex: 1; display: flex; flex-direction: column; align-items: flex-start; padding: 24px; }
    .official-caption a { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 16px; color: #111; font-size: 12px; line-height: 15px; font-weight: 600; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
    .official-caption a span { color: #176497; background: var(--gradient); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; text-decoration: underline; text-decoration-color: #008638; }
    .official-caption h3 { margin: 0; color: #000; font-size: 20px; line-height: 27.7px; font-weight: 500; letter-spacing: .0194em; }
    .ecosystem-card { min-height: 468px; padding: 24px; display: grid; grid-template-columns: 264.48px minmax(0, 1fr); gap: 16px; background: #f5f4f1; border-radius: 24px; }
    .ecosystem-info { min-width: 0; min-height: 420px; padding-top: 5px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 20px; }
    .ecosystem-copy { width: 100%; }
    .ecosystem-copy h3 { margin-bottom: 4px; color: #000; font-size: 20px; line-height: 31.2px; font-weight: 600; }
    .ecosystem-copy p { max-width: 264px; margin-bottom: 0; color: #000; font-size: 16px; line-height: 22px; }
    .ecosystem-qr { text-align: center; }
    .ecosystem-qr > .qr-effect { width: 146px; height: 146px; border-radius: 24px; }
    .ecosystem-qr .qr-code { width: 100%; height: 100%; }
    .ecosystem-qr > span:not(.qr-code) { display: block; margin-top: 11px; color: #000; font-size: 16px; line-height: 17px; font-weight: 600; letter-spacing: .0194em; }
    .ecosystem-card .store-badges { gap: 10px; margin: 0; flex-wrap: nowrap; }
    .ecosystem-card .store-badge { height: 45px; min-height: 45px; padding: 0; gap: 0; border: 0; border-radius: 15px; background: #000; }
    .ecosystem-card .store-badge img { display: block; width: 100%; height: 45px; }
    .product-grid { min-width: 0; padding: 9px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(195px, 1fr)); gap: 10px; background: #f4f4f4; border: 1px solid #e6e6e6; border-radius: 24px; }
    .product-card { min-width: 0; padding: 24px; background: #fff; border: 0; border-radius: 16px; }
    .product-card strong { display: block; margin-bottom: 16px; color: #000; font-size: 18px; line-height: 27px; font-weight: 600; letter-spacing: -.03em; }
    .product-card span { display: block; color: #666; font-size: 16px; line-height: 24px; letter-spacing: -.03em; }
    .product-card strong, .product-card > span { overflow-wrap: anywhere; }
    .product-card strong span { color: inherit; font: inherit; letter-spacing: inherit; }
    .product-card .mobile-copy { display: none; }
    .experience-section { padding: 0; background: #fff; }
    .experience-panel { position: relative; width: min(1200px, calc(100% - 64px)); margin: 0 auto; padding: 52px 0; overflow: clip; border-radius: 40px; background: #f6f6f6; }
    .experience-phone-stage { position: relative; width: min(1050px, 100%); height: clamp(390px, 51.25vw, 615px); margin-inline: auto; isolation: isolate; }
    .experience-phone { position: absolute; top: 50%; left: 50%; display: block; height: auto; max-width: none; pointer-events: none; object-fit: contain; }
    .experience-phone--left { z-index: 1; top: calc(50% + 20px); width: clamp(160px, 22.8vw, 274px); --phone-fan-distance: clamp(120px, 19vw, 227px); transform: translate3d(calc(-50% - var(--phone-fan-distance)), -50%, 0) rotate(-6deg); }
    .experience-phone--center { z-index: 3; width: clamp(160px, 22.8vw, 274px); transform: translate3d(-50%, -50%, 0); }
    .experience-phone--right { z-index: 2; top: calc(50% + 20px); width: clamp(160px, 22.8vw, 274px); --phone-fan-distance: clamp(120px, 19vw, 227px); transform: translate3d(calc(-50% + var(--phone-fan-distance)), -50%, 0) rotate(6deg); }
    .experience-panel figcaption { position: static; width: auto; height: auto; margin: 14px 0 0; padding: 0; overflow: visible; clip-path: none; color: #707070; font-size: 16px; line-height: 22px; text-align: center; white-space: nowrap; }
    .guide-section { height: 823px; padding-top: 147px; background: #fff; }
    .guide-heading { width: min(var(--content), calc(100% - 64px)); height: 92px; margin: 0 auto 59px; text-align: center; }
    .guide-heading h2 { margin-bottom: 12px; }
    .steps-track { width: min(var(--content), calc(100% - 64px)); height: 378px; margin-inline: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
    .step-card { min-width: 0; height: 378px; overflow: hidden; border: 1px solid #ececec; border-radius: 26px; background: #fff; }
    .step-visual { position: relative; height: 261px; overflow: hidden; padding: 0; }
    .step-visual picture, .step-visual picture img { display: block; width: 100%; height: 100%; }
    .step-visual picture img { object-fit: cover; }
    .step-visual--download, .step-visual--register, .step-visual--shop { background: #f5f5f5; }
    .step-badge-pair { position: absolute; inset: 0; display: block; pointer-events: none; }
    .step-badge-pair .store-badge { position: absolute; min-height: 0; padding: 0; opacity: 0; border: 0; border-radius: 12px; pointer-events: auto; }
    .step-badge-pair .store-badge:first-child { top: 15%; left: 57%; width: 32%; height: 19%; }
    .step-badge-pair .store-badge:last-child { top: 70%; left: 7%; width: 38%; height: 20%; }
    .step-content { height: 117px; padding: 16px 18px; }
    .step-content h3 { margin-bottom: 13px; color: var(--ink); font-size: 20px; line-height: 24px; font-weight: 600; }
    .step-content p { margin: 0; color: #444; font-size: 18px; line-height: 24px; }
    .step-mobile-controls { display: none; }
    .faq-contact-section { position: relative; z-index: 2; margin-bottom: -58.5px; padding-top: 92.5px; }
    .faq-panel { position: relative; width: min(1200px, calc(100% - 64px)); min-height: 820px; margin-inline: auto; padding: 14px; display: grid; gap: 14px; background: #fff; border: 1px solid rgba(0,0,0,.09); border-radius: 49px; }
    .faq-content { min-width: 0; min-height: 378px; padding: 26px 40px; display: grid; grid-template-columns: minmax(0, 327fr) minmax(0, 598fr); column-gap: clamp(32px, 9.49vw, 164px); align-items: start; background: #fff; border: 1px solid rgba(0,0,0,.09); border-radius: 36px; }
    .faq-title { padding-top: 0; }
    .faq-title h2 { margin: 0; color: #000; font-size: 44px; line-height: 1.18; letter-spacing: .0194em; }
    .faq-list { min-width: 0; border-top: 0; }
    .faq-list details { border-bottom: 1px solid #e6e6e6; overflow: hidden; }
    .faq-list details:last-child { border-bottom: 0; }
    .faq-list summary { position: relative; padding: 13px 44px 13px 0; color: #000; font-size: 18px; font-weight: 500; line-height: 32px; letter-spacing: -1px; list-style: none; cursor: pointer; }
    .faq-list details:last-child summary { padding-block: 8px; }
    .faq-list summary::-webkit-details-marker { display: none; }
    .faq-mobile-copy { display: none; }
    .faq-list summary::after { position: absolute; top: 50%; right: 12px; width: 18px; height: 18px; content: ""; color: #000; background: linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat, linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat; transform: translateY(-50%); transition: transform 260ms cubic-bezier(0.23, 1, 0.32, 1); }
    .faq-list details[data-expanded="true"] summary::after,
    .faq-list details[open]:not([data-expanded]) summary::after { transform: translateY(-50%) rotate(45deg); }
    .faq-list details p { margin: 0 40px 10px 0; color: #000; font-size: 15px; line-height: 18px; }
    .lead-panel { position: relative; z-index: 3; min-width: 0; min-height: 398px; margin: 0; padding: 32px 47px; display: grid; grid-template-columns: minmax(0, 270px) minmax(0, 591px); justify-content: space-between; gap: 32px; align-items: center; overflow: hidden; color: #fff; background: #102219; border-radius: 36px; isolation: isolate; }
    .lead-panel::before, .lead-panel::after { position: absolute; z-index: -1; inset: 0; content: ""; }
    .lead-panel::before { background: url("../assets/landing-advisor.webp") 20.73% bottom / 121.03% auto no-repeat; }
    .lead-panel::after { background: rgba(0,0,0,.54); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
    .lead-panel > * { position: relative; z-index: 1; }
    .lead-download { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
    .lead-download > .qr-effect { width: 187px; height: 187px; border-radius: 22px; }
    .lead-download > .qr-effect > img { width: 100%; height: 100%; object-fit: contain; }
    .lead-download .qr-code { height: 100%; border-radius: inherit; }
    .lead-download > p { margin: 14px 0 56px; color: #fff; font-size: 15.81px; line-height: 16.6px; font-weight: 600; letter-spacing: .0194em; }
    .lead-download .store-badges { justify-content: center; gap: 16px; flex-wrap: nowrap; }
    .lead-download .store-badge, .footer-download .store-badge { height: 45px; min-height: 45px; padding: 0; gap: 0; color: #000; background: #fff; border: 0; border-radius: 12px; }
    .lead-download .store-badge img, .footer-download .store-badge img { display: block; width: 100%; height: 45px; padding: 0; background: transparent; border-radius: 0; }
    .lead-form-wrap { width: 100%; min-width: 0; margin: 0; }
    .lead-form-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 8px; margin-bottom: 20px; }
    .lead-form-wrap h2 { margin: 0; color: #fff; font-size: 13px; line-height: 17.16px; font-weight: 700; letter-spacing: .0194em; }
    .form-preview-note { margin: 0; color: rgba(255,255,255,.85); font-size: 10px; line-height: 16px; }
    .lead-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; row-gap: 20px; }
    .lead-form label { display: block; min-width: 0; }
    .lead-form label:not(.consent-label) > span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
    .lead-form input, .lead-form select { width: 100%; min-height: 44px; padding: 11px 16px; color: #fff; background: rgba(94,94,94,.5); border: 1px solid rgba(255,255,255,.24); border-radius: 35px; outline: 0; font-size: 16px; font-weight: 500; line-height: 20px; box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
    .lead-form input::placeholder, .lead-form select:invalid, .lead-form select:has(option[value=""]:checked) { color: rgba(255,255,255,.5); }
    .lead-form select { appearance: none; min-height: 46px; padding-right: 44px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m8 10 4 4 4-4' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-position: right 16px center; background-size: 18px; background-repeat: no-repeat; }
    .lead-form select option { color: var(--ink); background: #fff; }
    .lead-form input:focus, .lead-form select:focus { border-color: #a7f3c4; box-shadow: 0 0 0 3px rgba(167,243,196,.18); }
    .field-wide { grid-column: 1 / -1; }
    .consent-label { display: flex !important; align-items: flex-start; gap: 8px; margin-top: 12px; color: rgba(255,255,255,.94); font-size: 12px; line-height: 16.56px; letter-spacing: .0057em; cursor: pointer; }
    .lead-form .consent-label > span { margin: 0; color: inherit; font: inherit; letter-spacing: inherit; }
    .consent-label input { appearance: none; width: 20px; min-height: 20px; height: 20px; flex: none; margin: 0; padding: 0; border-radius: 4px; accent-color: var(--green); }
    .consent-label input:checked { background-color: #00bd5c; border-color: #00bd5c; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-8' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
    .lead-submit { width: 288px; max-width: 100%; min-height: 44px; justify-self: center; grid-column: 1 / -1; margin-top: -4px; padding: 9px 16px; color: #fff; background: var(--gradient); border: 0; border-radius: 999px; font-size: 18px; line-height: 19px; font-weight: 700; letter-spacing: .0194em; cursor: pointer; transition: filter .2s ease; }
    .lead-submit:hover { filter: brightness(.95); }
    .form-status { grid-column: 1 / -1; margin: 0; padding: 10px 12px; color: #f0fff5; background: rgba(0,0,0,.24); border-radius: 8px; font-size: 11px; line-height: 1.5; }
    .site-footer { position: relative; z-index: 1; overflow: hidden; isolation: isolate; color: #fff; background: linear-gradient(90deg, #274484, #1fb14f); }
    .site-footer::before { position: absolute; z-index: 0; top: 45px; right: -96px; width: 636px; height: 434px; content: ""; background: url("../assets/footer-mark-reference.svg") center / 100% 100% no-repeat; opacity: 1; pointer-events: none; }
    .footer-main { position: relative; z-index: 1; width: min(1488px, calc(100% - 64px)); min-height: 347px; margin-inline: auto; padding: 129px 0 40px; display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 32px; justify-content: space-between; align-items: start; }
    .footer-columns { width: max-content; max-width: 100%; min-height: 178px; display: grid; grid-template-columns: repeat(3, max-content); column-gap: clamp(24px, 6.95vw, 120px); }
    .footer-column h2 { margin: 0; color: rgba(255,255,255,.55); font-size: 15px; line-height: 18px; font-weight: 400; letter-spacing: .0194em; text-transform: uppercase; }
    .footer-column a, .footer-column span { display: block; margin-top: 16px; color: #fff; font-size: 18px; line-height: 21.24px; letter-spacing: .0194em; text-decoration: none; }
    .footer-column a + a, .footer-column span + span { margin-top: 20px; }
    .footer-column a:hover { text-decoration: underline; }
    .footer-download { align-self: end; justify-self: end; gap: 16px; flex-wrap: nowrap; }
    .footer-bottom { position: relative; z-index: 2; min-height: 65px; padding-block: 24px; display: flex; align-items: center; color: rgba(255,255,255,.68); background: #000; font-size: 16px; line-height: 17px; letter-spacing: .0194em; }
    .footer-bottom-inner { width: min(1488px, calc(100% - 64px)); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
    .download-dialog { width: min(390px, calc(100% - 32px)); padding: 30px; color: var(--body); background: #fff; border: 0; border-radius: 22px; box-shadow: 0 26px 90px rgba(3,20,17,.3); text-align: center; }
    .download-dialog::backdrop { background: rgba(7,25,22,.6); backdrop-filter: blur(4px); }
    .dialog-close { position: absolute; top: 13px; right: 13px; width: 34px; height: 34px; display: grid; place-items: center; color: var(--ink); background: #f1f5f2; border: 0; border-radius: 50%; cursor: pointer; }
    .download-dialog { position: fixed; }
    .dialog-kicker { margin: 0 0 7px; color: var(--green-dark); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
    .download-dialog h2 { margin-bottom: 8px; color: var(--ink); font-size: 22px; letter-spacing: -.03em; }
    .download-dialog > p:not(.dialog-kicker) { margin-bottom: 17px; font-size: 13px; line-height: 1.6; }
    .dialog-qr { width: 154px; height: 154px; margin: 0 auto 16px; padding: 7px; background: #f3f7f4; border-radius: 13px; }
    .dialog-qr > .qr-effect { width: 100%; height: 100%; border-radius: 6px; }
    .dialog-qr .qr-code { height: 100%; border-radius: inherit; }
    .dialog-stores { display: grid; gap: 8px; }
    .dialog-stores .store-badge { justify-content: center; padding: 9px 14px; }
    .dialog-stores .store-badge strong { font-size: 13px; }
    .dialog-stores .store-badge small { font-size: 8px; }
    @media (max-width: 1100px) {
      .container { width: min(var(--content), calc(100% - 48px)); }
      .nav-bar { gap: 16px; }
      .brand { min-width: auto; }
      .brand span { max-width: 142px; }
      .header-actions > .store-badges { display: none; }
      .header-actions .nav-download { display: inline-flex; }
      .hero-inner { width: calc(100% - 52px); grid-template-columns: minmax(280px, .9fr) minmax(360px, 1.1fr); }
      .hero-qr { display: none; }
      .feature-card, .feature-section .section-heading, .trust-heading, .trust-grid, .guide-heading, .steps-track { width: calc(100% - 48px); }
      .trust-grid { grid-template-columns: minmax(240px, .85fr) minmax(420px, 1.15fr); }
    }
    @media (max-width: 760px) {
      html { scroll-padding-top: 88px; }
      .container { width: calc(100% - 36px); }
      .site-header { border-bottom-color: rgba(14,42,47,.04); }
      .nav-bar { width: calc(100% - 28px); height: 64px; gap: 8px; }
      .brand { gap: 7px; }
      .brand img { width: 30px; height: 30px; }
      .brand span { max-width: 155px; font-size: 12px; }
      .desktop-nav, .header-actions > .store-badges { display: none; }
      .header-actions { gap: 8px; }
      .header-actions .nav-download { width: 130px; padding: 0 16px; font-size: 16px; line-height: 1.05; }
      .menu-toggle { width: 34px; height: 34px; display: grid; place-items: center; padding: 0; color: #fff; background: #111; border: 0; border-radius: 50%; cursor: pointer; }
      .menu-toggle svg { width: 17px; height: 17px; }
      .mobile-menu { position: absolute; top: 100%; right: 0; left: 0; padding: 10px 18px 16px; display: flex; flex-direction: column; background: rgba(255,255,255,.98); border-top: 1px solid var(--line); box-shadow: 0 12px 28px rgba(14,42,47,.1); }
      .mobile-menu a { padding: 13px 6px; border-bottom: 1px solid #edf1ee; font-size: 14px; }
      .mobile-menu a:last-child { border-bottom: 0; }
      .hero { min-height: 920px; align-items: start; }
      .hero-inner { width: calc(100% - 36px); min-height: 920px; padding-block: 46px 5px; display: flex; flex-direction: column; align-items: center; gap: 0; }
      .hero-copy { width: 100%; padding: 0; text-align: center; }
      .official-label { margin-bottom: 11px; font-size: 9px; }
      .hero h1 { max-width: 420px; margin: 0 auto 10px; font-size: clamp(30px, 8vw, 37px); line-height: 1.11; letter-spacing: -.045em; }
      .hero-copy > p:not(.official-label) { max-width: 380px; margin: 0 auto 15px; font-size: 13px; line-height: 1.55; }
      .hero-actions { justify-content: center; gap: 8px; }
      .button { min-height: 39px; padding: 10px 17px; font-size: 12px; }
      .hero-actions .button-link { display: none; }
      .hero-mobile-stores { display: flex; justify-content: center; gap: 8px; margin-top: 12px; }
      .hero-mobile-stores .store-badge { min-height: 29px; padding: 4px 8px; border-radius: 7px; }
      .hero-mobile-stores .store-badge svg { width: 14px; height: 16px; }
      .hero-mobile-stores .store-badge small { font-size: 6px; }
      .hero-mobile-stores .store-badge strong { font-size: 9px; }
      .hero-art { flex: 1; width: 100%; min-height: 0; align-items: start; }
      .hero-art img { width: min(100%, 390px); max-height: 590px; margin-top: -4px; }
      .section { padding-block: 58px; }
      .section-heading, .feature-section .section-heading, .trust-heading, .guide-heading { width: calc(100% - 36px); margin-bottom: 22px; }
      .section-heading h2, .trust-heading h2, .guide-heading h2, .faq-title h2 { font-size: 29px; }
      .section-heading > p:last-child, .trust-heading > p:last-child, .guide-heading > p:last-child { font-size: 13px; }
      .feature-section .section-heading { text-align: center; }
      .feature-card { width: calc(100% - 32px); min-height: 0; display: flex; flex-direction: column; align-items: stretch; gap: 14px; }
      .feature-stage { width: 100%; min-height: 310px; order: 0; border-radius: 22px; }
      .feature-copy { order: 1; max-width: none; padding: 15px 16px 13px; background: #f5f8f6; border-radius: 14px; }
      .feature-count { margin-bottom: 5px; font-size: 9px; }
      .feature-copy h3 { margin-bottom: 5px; font-size: 15px; line-height: 1.35; }
      .feature-copy > p { min-height: 0; margin-bottom: 10px; font-size: 10px; line-height: 1.5; }
      .feature-controls { justify-content: center; gap: 7px; }
      .feature-arrow { width: 28px; height: 28px; }
      .feature-arrow svg { width: 14px; height: 14px; }
      .feature-dots { gap: 5px; }
      .feature-dot { width: 6px; height: 6px; }
      .feature-dot[aria-current="true"] { width: 14px; }
      .trust-section { padding-top: 62px; }
      .trust-heading { margin-bottom: 22px; }
      .trust-heading h2 { max-width: 360px; margin-inline: auto; }
      .trust-grid { width: calc(100% - 32px); grid-template-columns: 1fr; gap: 12px; }
      .official-card { border-radius: 15px; }
      .official-card > img { height: auto; }
      .official-caption { padding: 13px 15px 15px; }
      .official-caption h3 { font-size: 12px; }
      .official-caption a { margin-bottom: 5px; font-size: 8px; }
      .ecosystem-card { padding: 16px; border-radius: 16px; }
      .ecosystem-top { grid-template-columns: minmax(0, 1fr) 100px; gap: 10px; margin-bottom: 13px; }
      .ecosystem-top h3 { margin-bottom: 4px; font-size: 14px; }
      .ecosystem-top p { font-size: 12px; line-height: 1.5; }
      .ecosystem-qr > .qr-effect { width: 68px; height: 68px; }
      .ecosystem-qr > span:not(.qr-code) { font-size: 8px; }
      .ecosystem-card .store-badges { gap: 4px; margin-top: 8px; }
      .ecosystem-card .store-badge { min-height: 25px; padding: 3px 5px; }
      .ecosystem-card .store-badge svg { width: 12px; height: 13px; }
      .ecosystem-card .store-badge small { font-size: 5px; }
      .ecosystem-card .store-badge strong { font-size: 8px; }
      .product-grid { gap: 5px; }
      .product-card { min-height: 65px; padding: 10px; border-radius: 9px; }
      .product-card strong { margin-bottom: 3px; font-size: 11px; }
      .product-card span { font-size: 10px; line-height: 1.35; }
      .experience-section { padding-block: 24px 50px; }
      .experience-panel { width: calc(100% - 32px); padding: 7px 7px 12px; border-radius: 18px; }
      .experience-panel figcaption { font-size: 8px; }
      .guide-section { padding-block: 48px 56px; }
      .guide-heading { margin-bottom: 18px; }
      .steps-track { width: calc(100% - 32px); display: flex; gap: 12px; overflow-x: auto; padding: 1px 1px 8px; scroll-snap-type: x mandatory; scrollbar-width: none; }
      .steps-track::-webkit-scrollbar { display: none; }
      .step-card { flex: 0 0 100%; scroll-snap-align: center; border-radius: 14px; }
      .step-visual { height: 160px; }
      .step-content { padding: 11px 13px 13px; }
      .step-content h3 { margin-bottom: 4px; font-size: 13px; }
      .step-content p { font-size: 11px; }
      .step-mobile-controls { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 10px; }
      .step-arrow { width: 27px; height: 27px; background: #f1f4f2; border: 0; }
      .step-arrow svg { width: 13px; height: 13px; }
      .step-dots { gap: 6px; }
      .step-dot { width: 5px; height: 5px; }
      .step-dot[aria-current="true"] { width: 12px; }
      .lead-download > .qr-effect { width: 68px; height: 68px; grid-row: 1 / 3; border-radius: 7px; }
      .lead-download .qr-code { padding: 0; }
    }
    @media (max-width: 380px) {
      .container, .hero-inner, .feature-card { width: calc(100% - 28px); }
      .brand span { max-width: 130px; font-size: 11px; }
      .hero { height: 880px; min-height: 880px; }
      .hero-inner { height: 100%; min-height: 880px; }
      .hero h1 { font-size: 29px; }
      .hero-art img { width: min(100%, 350px); }
      .ecosystem-top { grid-template-columns: 1fr 82px; }
      .ecosystem-card .store-badges { flex-direction: column; align-items: flex-start; }
      .lead-form { grid-template-columns: 1fr; }
      .field-wide, .lead-submit, .form-status { grid-column: auto; }
      .footer-bottom-inner { align-items: flex-start; flex-direction: column; }
    }
    @media (min-width: 761px) and (max-width: 1100px) {
      .nav-bar { width: calc(100% - 48px); height: 68px; padding: 10px 14px; }
      .nav-bar::before { inset: 0; }
      .header-actions > .store-badges { display: none; }
      .hero::after { height: 360px; background-size: 100% 360px; }
      .hero-inner { width: calc(100% - 48px); }
      .hero-copy { top: 35%; left: 0; width: min(40%, 411px); }
      .hero h1 { font-size: clamp(32px, 4.1vw, 44px); }
      .hero-copy > p:not(.official-label) { font-size: clamp(16px, 1.8vw, 20px); }
      .hero-art { top: 7%; left: 34%; width: 63%; height: 86%; }
      .hero-qr { display: none; }
      .feature-section { height: auto; min-height: 812px; padding: 100px 0 70px; }
      .feature-card { width: calc(100% - 48px); height: auto; grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); gap: 32px; }
      .feature-copy, .feature-detail { width: 100%; }
      .feature-detail { grid-template-columns: 44px minmax(0, 1fr); gap: 24px; }
      .feature-description { width: auto; min-width: 0; }
      .feature-heading { width: 100%; }
      .feature-stage { width: 100%; height: auto; aspect-ratio: 584 / 608; }
      .feature-phone { top: 35%; }
      .trust-section { height: auto; min-height: 838px; padding: 90px 0; }
      .trust-heading { width: calc(100% - 48px); height: auto; margin-bottom: 32px; }
      .trust-grid { width: calc(100% - 48px); height: auto; grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr); gap: 20px; }
      .official-card { min-height: 468px; }
      .ecosystem-card { height: auto; min-height: 468px; padding: 24px; grid-template-columns: minmax(170px, .72fr) minmax(0, 1fr); gap: 20px; }
      .ecosystem-info { width: 100%; height: 100%; min-height: 420px; }
      .ecosystem-card .store-badges { flex-wrap: wrap; gap: 8px; }
      .product-card { padding: 13px; }
      .experience-section { height: auto; padding: 50px 0 90px; }
      .experience-panel { width: calc(100% - 48px); height: auto; padding: 0; }
      .experience-panel img { height: auto; }
      .guide-section { height: auto; min-height: 823px; padding: 100px 0; }
      .guide-heading { width: calc(100% - 48px); height: auto; margin-bottom: 40px; }
      .steps-track { width: calc(100% - 48px); height: auto; gap: 16px; }
      .step-card { height: 378px; }
      .step-visual { height: 230px; }
      .faq-contact-section { padding-top: 70px; }
      .faq-panel { width: calc(100% - 48px); }
      .faq-content { padding-inline: 28px; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 30px; }
      .lead-panel { padding: 28px; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 28px; }
      .lead-download .store-badges { flex-wrap: wrap; }
      .footer-main { width: calc(100% - 48px); grid-template-columns: 1fr; gap: 32px; }
      .footer-columns { column-gap: clamp(24px, 5vw, 64px); }
      .footer-bottom-inner { width: calc(100% - 48px); }
    }
    @media (min-width: 761px) and (max-width: 1279px) {
      .feature-section { height: auto; min-height: 812px; padding: 100px 0 70px; }
      .feature-card { width: calc(100% - 48px); height: auto; grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); gap: 32px; }
      .feature-copy { width: 100%; height: auto; min-height: 369px; gap: 48px; }
      .feature-heading { width: 100%; }
      .feature-heading h2 { font-size: clamp(28px, 3.2vw, 40px); }
      .feature-detail { width: 100%; grid-template-columns: 44px minmax(0, 1fr); gap: 24px; }
      .feature-description { width: auto; min-width: 0; }
      .feature-stage { width: 100%; height: auto; aspect-ratio: 584 / 608; }
    }
    @media (max-width: 760px) {
      html { scroll-padding-top: 88px; }
      .container { width: calc(100% - 32px); }
      main > section + section { margin-top: 16px; }
      .site-header { top: max(16px, env(safe-area-inset-top, 0px)); }
      .nav-bar { position: relative; width: calc(100% - 32px); height: 68px; padding: 10px 14px 10px 10px; gap: 8px; border: 1px solid rgba(255,255,255,.8); border-radius: 24px; background: rgba(255,255,255,.43); box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 2px 4px rgba(0,0,0,.04); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
      .nav-bar::before { display: none; }
      .nav-start { gap: 0; }
      .brand { width: 42px; min-width: 42px; gap: 0; }
      .brand img { width: 42px; height: 42px; }
      .desktop-nav, .header-actions > .store-badges { display: none; }
      .header-actions { gap: 12px; }
      .menu-toggle { width: 42px; height: 42px; display: grid; place-items: center; padding: 0; color: #fff; background: #000; border: 0; border-radius: 50%; cursor: pointer; }
      .menu-toggle svg { width: 24px; height: 24px; }
      .mobile-menu { position: absolute; z-index: 50; top: calc(100% + 8px); right: 0; left: 0; padding: 10px 18px 14px; display: flex; flex-direction: column; background: rgba(255,255,255,.98); border: 1px solid rgba(0,0,0,.06); border-radius: 18px; box-shadow: 0 12px 28px rgba(14,42,47,.12); }
      .mobile-menu a { padding: 13px 6px; border-bottom: 1px solid #edf1ee; font-size: 14px; }
      .mobile-menu a:last-child { border-bottom: 0; }
      .hero { height: 974px; min-height: 974px; }
      .hero::after { background-image: url("../assets/hero-fade-mobile.webp"); background-size: 100% 257px; }
      .hero-inner { width: 100%; height: 100%; min-height: 0; padding: 0; }
      .hero-copy { top: 159px; left: 50%; width: min(411px, calc(100% - 24px)); padding: 0; text-align: center; transform: translateX(-50%); }
      .hero h1 { max-width: 299px; margin: 0 auto 10px; font-size: 32px; line-height: 40px; font-weight: 600; letter-spacing: -.01em; }
      .hero-copy > p:not(.official-label) { width: min(381px, 100%); max-width: 381px; min-height: 50px; margin: 0 auto 20px; font-size: 18px; line-height: 24.93px; font-weight: 500; }
      .hero-actions { display: none; }
      .hero-mobile-stores { width: 270px; min-height: 45px; display: flex; flex-wrap: nowrap; justify-content: center; gap: 16px; margin: 0 auto; }
      .hero-mobile-stores .store-badge { height: 45px; min-height: 45px; padding: 0; gap: 0; border: 0; border-radius: 12px; color: #000; background: #fff; }
      .hero-mobile-stores .store-badge:hover { background: #fff; }
      .hero-mobile-stores .store-badge img { display: block; width: 100%; height: 45px; }
      .hero-art { top: 347px; left: 50%; width: min(92.5%, 407px); height: auto; aspect-ratio: 407 / 611; transform: translateX(-46%); }
      .hero-art img { width: 100%; height: 100%; max-height: none; margin: 0; object-fit: contain; }
      .hero-qr { display: none; }
      .section { padding-block: 0; }
      .feature-section { height: auto; min-height: 842.77px; margin-top: 0; padding: 38px 16px 60px; }
      .feature-card { width: 100%; height: auto; min-height: 0; margin: 0; display: flex; flex-direction: column; gap: 20px; }
      .feature-copy { display: contents; }
      .feature-section .feature-heading { order: 0; width: min(100%, 320px); height: auto; min-height: 104px; margin: 0 auto; text-align: center; }
      .feature-heading h2 { margin-bottom: 12px; font-size: 32px; line-height: 41.6px; letter-spacing: -.01em; white-space: normal; }
      .feature-section .feature-heading p { font-size: 18px; line-height: 24.93px; font-weight: 500; }
      .feature-subtitle-line { display: block; }
      .feature-stage { order: 1; width: 100%; height: auto; min-height: 0; flex: none; aspect-ratio: 584 / 608; border-radius: 35px; }
      .feature-phone { top: 35%; left: 16.6%; width: 62.5%; height: auto; transform: none; }
      .feature-detail { order: 2; width: 100%; min-height: 176px; display: flex; flex-direction: column; gap: 16px; }
      .feature-description { width: 100%; min-height: 116px; margin-top: 0; padding: 20px; background: #f2f7f4; border-radius: 20px; }
      .feature-count { display: none; }
      .feature-description h3 { margin-bottom: 13px; font-size: 20px; line-height: 21px; font-weight: 600; }
      .feature-description > p { max-width: 100%; font-size: 16px; line-height: 21px; }
      .feature-controls { width: 165px; height: 44px; margin: 0 auto; display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 11px; }
      .feature-controls #feature-prev { display: none; }
      .feature-controls #feature-next svg { transform: none; }
      .feature-controls #feature-next .feature-next-desktop { display: none; }
      .feature-controls #feature-next .feature-next-mobile { display: block; width: 18px; height: 18px; }
      .feature-controls .feature-dots { width: 110px; height: 44px; flex-direction: row; gap: 8px; margin: 0; background: #efefef; border-radius: 999px; }
      .feature-controls .feature-dot, .feature-controls .feature-dot[aria-current="true"] { width: 8px; height: 8px; }
      .feature-arrow { width: 44px; height: 44px; }
      .trust-section { height: auto; min-height: 0; margin-top: 0; padding: 38px 16px 27px; }
      .trust-heading { width: 100%; max-width: 100%; height: auto; min-height: 104px; margin: 0 auto 20px; text-align: center; }
      .trust-heading h2 { margin-bottom: 12px; font-size: clamp(25px, 7.28vw, 32px); line-height: 41.6px; letter-spacing: -.01em; white-space: normal; }
      .trust-heading > p:last-child { max-width: 323px; margin: 0 auto; font-size: 18px; line-height: 25px; }
      .trust-grid { width: 100%; height: auto; min-height: 0; margin: 0; display: flex; flex-direction: column; gap: 24px; }
      .official-card { width: 100%; height: auto; min-height: 0; flex: none; border-radius: 24px; }
      .official-card > img { width: 100%; height: auto; aspect-ratio: 408 / 333; flex: none; object-fit: cover; }
      .official-caption { padding: 20px 24px; }
      .official-caption a { margin-bottom: 16px; font-size: 12px; }
      .official-caption h3 { font-size: 18px; line-height: 24.93px; }
      .ecosystem-card { width: 100%; height: auto; min-height: 686px; padding: 12px; display: flex; flex-direction: column; gap: 16px; border-radius: 24px; }
      .ecosystem-info { width: 100%; height: auto; min-height: 366px; flex: none; align-items: center; }
      .ecosystem-copy { width: 100%; }
      .ecosystem-copy h3 { margin-bottom: 4px; font-size: 20px; line-height: 31.2px; }
      .ecosystem-copy p { max-width: 100%; font-size: 16px; line-height: 22px; }
      .ecosystem-qr > .qr-effect { width: 146px; height: 146px; }
      .ecosystem-qr > .qr-effect > img { width: 100%; height: 100%; }
      .ecosystem-qr > span:not(.qr-code) { margin-top: 11px; font-size: 16px; }
      .ecosystem-card .store-badges { width: 264px; max-width: 100%; gap: 10px; margin: 0; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: center; }
      .ecosystem-card .store-badge { height: 45px; min-height: 45px; padding: 0; border-radius: 15px; }
      .product-grid { width: 100%; height: auto; min-height: 280px; flex: none; padding: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(125px, auto)); gap: 10px; }
      .product-card { min-height: 125px; padding: 20px 16px 20px 24px; border-radius: 12px; }
      .product-card strong { margin-bottom: 10px; font-size: 18px; line-height: 27px; }
      .product-card > span { font-size: 16px; line-height: 24px; }
      .product-card .desktop-copy { display: none; }
      .product-card .mobile-copy { display: block; }
      .experience-section { height: auto; margin-top: 0; padding: 0 16px 60px; }
      .experience-panel { width: 100%; height: auto; margin: 0; padding: 0; border-radius: 40px; }
      .guide-section { height: 634px; padding: 0 16px 60px; }
      .guide-heading { width: 100%; height: 104px; margin: 0 auto 24px; text-align: center; }
      .guide-heading h2 { margin-bottom: 12px; font-size: 32px; line-height: 42px; letter-spacing: .01em; }
      .guide-heading > p:last-child { max-width: 354px; min-height: 50px; margin: 0 auto; font-size: 18px; line-height: 25px; }
      .steps-track { width: 100%; height: 378px; margin: 0; display: flex; gap: 24px; overflow-x: auto; overflow-y: hidden; padding: 0; scroll-snap-type: x mandatory; scrollbar-width: none; }
      .steps-track::-webkit-scrollbar { display: none; }
      .step-card { width: 100%; height: 378px; flex: 0 0 100%; scroll-snap-align: center; border-radius: 20px; }
      .step-visual { width: 100%; height: 261px; padding: 0; }
      .step-visual picture, .step-visual picture img { width: 100%; height: 100%; }
      .step-visual picture img { object-fit: cover; }
      .step-content { height: 85px; margin-top: 16px; padding: 0 16px; }
      .step-content h3 { margin-bottom: 13px; font-size: 20px; line-height: 24px; }
      .step-content p { font-size: 18px; line-height: 24px; }
      .step-mobile-controls { width: 164px; height: 44px; display: flex; align-items: center; justify-content: center; gap: 18px; margin: 24px auto 0; }
      .step-arrow { width: 44px; height: 44px; }
      .step-dots { width: 40px; height: 8px; gap: 8px; margin: 0; }
      .step-dot, .step-dot[aria-current="true"] { width: 8px; height: 8px; }
      .faq-contact-section { margin-top: 0; margin-bottom: -46px; padding: 0; }
      .faq-panel { width: 100%; min-height: 854px; padding: 12px; border-radius: 49px; }
      .faq-content { min-height: 377px; padding: 12px; display: flex; flex-direction: column; gap: 16px; }
      .faq-title { flex: none; margin: 0; padding: 0; }
      .faq-title h2 { margin: 0; font-size: 32px; line-height: 42px; letter-spacing: -.01em; }
      .faq-list { width: 100%; min-height: 293px; flex: none; }
      .faq-list details:nth-child(5) { display: none; }
      .faq-list details:nth-child(4) { border-bottom: 0; }
      .faq-desktop-copy { display: none; }
      .faq-mobile-copy { display: inline; }
      .faq-list summary { padding: 14.666px 44px 14.666px 0; font-size: 16px; line-height: 32px; letter-spacing: -1px; }
      .faq-list details:nth-child(4) summary { padding-block: 9.666px; }
      .faq-list details p { margin: 0 30px 10px 0; font-size: 15px; line-height: 18px; }
      .lead-panel { min-height: 437px; padding: 24px; display: block; }
      .lead-panel::before { background-size: auto calc(100% + 24px); background-position: -55px -7px; }
      .lead-download { display: none; }
      .lead-form-heading { margin-bottom: 16px; }
      .lead-form { grid-template-columns: 1fr; gap: 16px; }
      .field-wide, .lead-submit, .form-status { grid-column: auto; }
      .consent-label { margin-top: 0; }
      .lead-submit { width: 238px; margin-top: 0; }
      .site-footer { margin-top: 0; }
      .site-footer::before { top: 69px; right: -235px; width: 598px; height: 434px; }
      .footer-main { width: 100%; min-height: 393px; padding: 73px 16px 60px; display: flex; flex-direction: column; align-items: flex-start; gap: 36px; }
      .footer-download { width: 270px; max-width: 100%; align-self: flex-start; gap: 16px; flex-wrap: nowrap; order: -1; }
      .footer-columns { width: 398px; max-width: 100%; min-height: 179px; grid-template-columns: minmax(0, 104px) minmax(0, 184px); grid-template-rows: auto auto; justify-content: space-between; align-items: start; column-gap: 10px; row-gap: 25px; }
      .footer-product { grid-column: 1; grid-row: 1 / span 2; }
      .footer-legal { grid-column: 2; grid-row: 1; }
      .footer-contact { grid-column: 2; grid-row: 2; }
      .footer-column a, .footer-column span { overflow-wrap: anywhere; }
      .footer-bottom { min-height: 98px; padding: 24px 16px; align-items: flex-start; }
      .footer-bottom-inner { width: 100%; align-items: flex-start; flex-direction: column; gap: 16px; }
    }
    @media (max-width: 380px) {
      .hero-copy { width: calc(100% - 28px); }
      .hero h1 { font-size: 26px; line-height: 38px; }
      .hero-copy > p:not(.official-label) { height: auto; min-height: 0; margin-bottom: 14px; font-size: 16px; }
      .hero { height: 880px; min-height: 880px; }
      .hero-inner { height: 100%; min-height: 880px; }
      .hero-art { top: 347px; height: auto; aspect-ratio: 407 / 611; }
      .feature-section { height: auto; min-height: 842.77px; padding-inline: 14px; }
      .feature-card { height: auto; min-height: 744px; gap: 16px; }
      .feature-card { width: 100%; }
      .feature-section .feature-heading { width: min(100%, 320px); }
      .feature-stage { aspect-ratio: 584 / 608; }
      .feature-detail { min-height: 176px; }
      .feature-description { min-height: 116px; padding: 16px; }
      .feature-description h3 { font-size: 16px; }
      .trust-section { height: auto; min-height: 1353px; padding-inline: 14px; }
      .trust-grid { height: auto; }
      .official-card { height: auto; }
      .official-caption { padding: 20px; }
      .ecosystem-card { height: auto; min-height: 686px; padding-inline: 8px; }
      .ecosystem-info { height: auto; }
      .ecosystem-card .store-badges { width: 264px; gap: 8px; }
      .ecosystem-card .store-badge { padding: 0; }
      .product-grid { height: auto; gap: 10px; }
      .product-card { padding: 16px 12px; }
      .product-card strong { font-size: 16px; }
      .product-card > span { font-size: 14px; line-height: 22px; }
      .experience-section { height: auto; min-height: 0; padding-inline: 14px; }
      .experience-panel { height: auto; }
      .guide-section { height: auto; min-height: 634px; padding-inline: 14px; }
      .guide-heading > p:last-child { font-size: 16px; line-height: 23px; }
      .steps-track { height: auto; min-height: 354px; }
      .step-card { height: auto; min-height: 354px; }
      .step-visual { height: auto; aspect-ratio: 408 / 261; }
      .step-content { height: 85px; margin-top: 12px; padding-inline: 12px; }
      .step-content h3 { font-size: 18px; }
      .step-content p { font-size: 12px; }
      .step-mobile-controls { margin-top: 24px; }
      .lead-panel { padding-inline: 16px; }
      .footer-main { padding-inline: 14px; }
      .footer-columns { width: 100%; column-gap: 10px; }
      .footer-bottom-inner { width: 100%; }
    }
    @media (min-width: 641px) and (max-width: 760px) {
      .nav-bar { width: calc(100% - 32px); height: 68px; padding: 10px 14px 10px 10px; gap: 8px; }
      .nav-start { gap: 8px; }
      .desktop-nav { display: flex; }
      .desktop-nav a { padding: 8px 6px; font-size: 13px; white-space: nowrap; }
      .header-actions { gap: 0; }
      .menu-toggle, .mobile-menu { display: none; }
    }
    @media (max-width: 760px) {
      .experience-panel { overflow: visible; padding: 0; background: transparent; }
      .experience-phone-stage { width: 100%; height: clamp(280px, 84vw, 360px); }
      .experience-phone--left, .experience-phone--right { --phone-fan-distance: clamp(86px, 27vw, 116px); }
      .experience-phone--left, .experience-phone--center, .experience-phone--right { width: clamp(124px, 38vw, 160px); }
      .experience-panel figcaption { margin: 0; padding: 8px 0 0; font-size: clamp(15px, 4vw, 18px); line-height: 1.4; letter-spacing: .04em; }
    }
    @media (min-width: 761px) {
      .experience-panel { padding: clamp(32px, 4.3vw, 52px) 0; }
    }
