/* WiraPass campaign. Scoped to the home page; no script or tracking. */
.home{--bg:#fafbf5;--ink:#123d45;--ink-deep:#073c46;--brand:#087f8b;--muted:#536b6b;background:var(--bg)}
.home .site-header{padding-top:22px;padding-bottom:22px;border-bottom:1px solid #dce5de;min-height:88px}.home .brand-name{font-weight:850;letter-spacing:-1.4px}.home .nav-cta{background:#123d45;color:white;border-radius:12px}.home .nav-links a{font-size:13px}.home .nav-links a:hover{background:#e5f2e9}.home main{overflow:clip}.home .campaign-hero{display:grid;grid-template-columns:1.02fr 1fr;align-items:center;gap:28px;max-width:1280px;padding:56px 40px 62px;margin:auto}.home .hero{width:100%;padding:0;margin:0;text-align:left}.home .chip{border:0;background:none;padding:0;color:#176b6b;font-size:10px;letter-spacing:1.8px;text-transform:uppercase;display:flex;align-items:center;gap:10px;justify-content:flex-start}.home .chip:before{content:'';width:8px;height:8px;background:#078c84;border-radius:50%;box-shadow:0 0 0 5px #e0f0df}.home .hero-title{font-size:clamp(48px,5.8vw,83px);font-weight:850;line-height:.99;letter-spacing:-4px;margin:27px 0;max-width:650px}.home .hero-title em{display:inline-block;font-style:normal;background:#d9f27f;padding:1px 10px 8px;margin-top:9px;transform:rotate(-3deg);border-radius:6px;color:#143e44}.home .hero-lead{font-size:17px;line-height:1.7;margin:0;max-width:420px}.home .hero-actions{justify-content:flex-start;margin-top:30px;gap:12px;flex-wrap:wrap}.home .button-primary{background:#076879;color:white;border-radius:14px;box-shadow:0 5px 0 #034552;padding:18px 22px;transition:transform .2s,box-shadow .2s}.home .button-primary:hover{transform:translateY(-3px);box-shadow:0 8px 0 #034552}.home .hero-actions .button-soon{border:0;background:none;padding:0;font-size:11px;min-height:0}.home .hero-note{font-size:11px;margin-top:22px;text-align:left;line-height:1.8}
.home .stage{width:100%;height:570px;margin:0;border-radius:44% 44% 30px 30px;background:#bbe5d5;perspective:1100px;isolation:isolate;overflow:hidden;box-shadow:inset 0 0 0 1px #a5d7c6}.home .stage:before{content:'';position:absolute;width:430px;height:430px;border:1px solid #85bca8;border-radius:50%;top:76px;left:50%;transform:translateX(-50%);box-shadow:0 0 0 34px #d4efdc,0 0 0 35px #94c9b4}.home .stage:after{content:'2FA';position:absolute;bottom:-34px;left:18px;font-size:190px;font-weight:900;letter-spacing:-16px;color:#98cfb9;z-index:-1}.home .stage .phone{top:70px;left:50%;width:248px;height:490px;transform:translateX(-50%) rotateY(-16deg) rotateX(8deg) rotate(-7deg);border:2px solid #638789;background:#134953;padding:7px;box-shadow:12px 16px 0 #83b8a6,20px 35px 38px #255f6533;animation:phone-breathe 7s ease-in-out infinite}.home .phone-screen{background:#f6faf8}.home .phone-title{font-size:23px;padding:12px 6px}.home .code-row{padding:15px 7px}.home .code-name{font-size:12px}.home .code-value{font-size:23px}.home .stage .float{z-index:2;border:1px solid #d0e4d8;border-radius:16px;box-shadow:0 15px 30px #173f4920}.home .stage .float-request{left:auto;right:13px;top:52px;width:208px;transform:rotate(7deg);background:#fffef5}.home .stage .float-face{left:12px;bottom:62px;transform:rotate(-5deg);max-width:245px}.home .stage .float-restored{display:none}.home .stage .float-offline{right:12px;top:auto;bottom:13px;left:auto;transform:rotate(3deg)}.home .stage .float-title{font-size:13px}.home .stage .float-sub{font-size:10px}
.home .campaign-strip{display:flex;justify-content:space-evenly;align-items:center;flex-wrap:wrap;gap:18px;padding:23px 24px;background:#0c515c;color:#effce3;font-size:13px;font-weight:650;border-top:1px solid #174e55;border-bottom:1px solid #174e55}.home .campaign-strip span{display:flex;gap:14px;align-items:center}.home .campaign-strip span:before{content:'↗';color:#d9f27f;font-size:23px}.home .section-head{align-items:flex-start;text-align:left}.home .eyebrow{letter-spacing:2px;font-size:10px;color:#23746c}.home .section-title{font-size:clamp(32px,4vw,55px);font-weight:800;letter-spacing:-1.8px;max-width:700px;line-height:1.08}.home .features,.home .how,.home .faq{padding-top:94px}.home .bento{gap:16px;perspective:1400px}.home .tile{border-radius:24px;border:1px solid #d7e2d7;box-shadow:none;transition:transform .25s}.home .tile h3{font-size:23px;font-weight:800;letter-spacing:-.6px}.home .tile>p,.home .tile-text>p{line-height:1.65}.home .tile-offline{background:#d9f27f}.home .tile-biometric{background:#dceee9}.home .tile-backup{background:#f8edbc}.home .tile-screen{background:#e9e2f4}.home .tile-gallery{background:#d9eee9}.home .tile-security{background:#0b4f59;color:#e1f2eb}.home .tile-security h3{font-size:29px;color:white}.home .tile-security>p{color:#c4ddda}.home .tile-approve{background:#173f45;min-height:460px}.home .tile-photo{opacity:.72}.home .tile-approve h3{font-size:36px;max-width:290px;color:white}.home .tile-approve .tile-text p{color:white}.home .float-approved{bottom:25px}.home .tile:hover{transform:translateY(-4px)}.home .how-steps{gap:18px;margin-top:32px;perspective:1200px}.home .how-step{display:block;background:#fff;border-radius:22px;padding:28px;position:relative;min-width:0}.home .how-number{font-size:55px;width:auto;height:auto;justify-content:flex-start;background:none;color:#087985;font-weight:850;letter-spacing:-4px;margin-bottom:28px}.home .how-number:before{content:'0'}.home .how-step h3{font-size:23px}.home .how-step p{font-size:14px;line-height:1.7}.home .faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}.home .faq .section-title{max-width:340px}.home .faq-grid{display:block;margin-top:0}.home .faq-item{background:transparent;border:0;border-bottom:1px solid #ccdcd1;border-radius:0}.home .faq-item summary{padding:24px 0}.home .faq-item summary h3{font-size:16px}.home .faq-item>p{padding:0 0 24px;line-height:1.75}.home .download{margin-top:100px;background:#d9f27f;color:#153f45;border-radius:32px;padding:55px;box-shadow:9px 9px 0 #bed469;position:relative}.home .download h2{color:#153f45;font-size:clamp(34px,4vw,56px);font-weight:850;letter-spacing:-2px;line-height:1.05}.home .download-text>p{color:#345c53}.home .download .button-light{background:#0a5360;color:white;border-radius:12px}.home .download .button-soon{background:transparent;border-color:#9ab45d;color:#355447}.home .download-verify{color:#345c53}.home .download-verify code{overflow-wrap:anywhere;word-break:break-all}.home .download-qr{transform:rotate(4deg);box-shadow:8px 12px 0 #c2d977;border-radius:18px}.home .site-footer{margin-top:90px;border-top:1px solid #d4e2d6;background:#edf3e8;padding-top:50px}.home a:focus-visible,.home summary:focus-visible{outline:3px solid #037789;outline-offset:5px}.home section[id]{scroll-margin-top:25px}
@keyframes phone-breathe{50%{transform:translateX(-50%) translateY(-12px) rotateY(-7deg) rotateX(4deg) rotate(-4deg)}}
@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.home .stage .phone{animation:phone-scroll linear both;animation-timeline:view();animation-range:entry 0% exit 100%}.home .tile,.home .how-step{animation:card-enter linear both;animation-timeline:view();animation-range:entry 0% entry 90%}}}
@keyframes phone-scroll{from{transform:translateX(-50%) rotateY(-22deg) rotateX(12deg) rotate(-12deg)}to{transform:translateX(-50%) translateY(-30px) rotateY(18deg) rotateX(-5deg) rotate(5deg)}}
@keyframes card-enter{from{transform:perspective(1200px) translateY(45px) rotateX(12deg) scale(.96)}to{transform:perspective(1200px) translateY(0) rotateX(0) scale(1)}}
@media(max-width:1000px){.home .campaign-hero{padding:38px 28px;gap:18px}.home .hero-title{font-size:58px;letter-spacing:-3px}.home .stage{height:520px}.home .stage .phone{width:210px;height:460px;top:80px}.home .stage .float-request{width:180px;font-size:12px}.home .faq{gap:28px}.home .download{padding:36px}}
@media(max-width:719px){.home .site-header{padding:18px 0}.home .campaign-hero{grid-template-columns:1fr;padding:35px 20px 30px;gap:30px}.home .hero-title{font-size:clamp(47px,10vw,68px);letter-spacing:-2.6px;max-width:530px;margin:25px 0}.home .hero-lead{font-size:15px;max-width:470px}.home .chip{font-size:9px;letter-spacing:1px}.home .hero-actions{margin-top:24px}.home .hero-note{margin-top:16px}.home .stage{height:440px;max-width:480px;justify-self:center;border-radius:38px}.home .stage .phone{width:220px;height:450px;top:60px}.home .stage .float-request{top:20px;right:10px;width:183px}.home .stage .float-face{bottom:20px;left:9px}.home .stage:after{font-size:145px}.home .campaign-strip{font-size:11px;gap:10px 20px;padding:16px}.home .campaign-strip span:last-child{display:none}.home .features,.home .how,.home .faq{padding-top:62px}.home .section-title{letter-spacing:-1px}.home .bento{gap:12px}.home .tile{padding:22px;border-radius:20px;min-width:0}.home .tile-approve{padding:0;min-height:370px}.home .tile h3{font-size:20px}.home .tile-approve h3{font-size:32px}.home .tile-security h3{font-size:26px}.home .how-step{padding:24px;display:flex;gap:20px}.home .how-number{font-size:38px;letter-spacing:-2px;margin:0;align-items:flex-start}.home .how-step h3{font-size:20px}.home .faq{display:block}.home .faq-grid{margin-top:25px}.home .download{padding:28px;margin-top:62px;border-radius:24px;box-shadow:5px 5px 0 #bed469}.home .download h2{font-size:37px;letter-spacing:-1.3px}.home .site-footer{margin-top:65px}.home .v-wide{display:inline}.home .v-narrow{display:none}.home .tile>p{font-size:13px}.home .tile-icon{position:static;margin-top:20px}.home .tile-icon svg{width:36px;height:36px}.home .tile-screen,.home .tile-gallery,.home .tile-biometric,.home .tile-offline{min-height:245px}.home .tile-backup{min-height:260px}.home .tile-security{min-height:0}}
@media(max-width:370px){.home .campaign-hero{padding-left:16px;padding-right:16px}.home .hero-title{font-size:46px}.home .bento{grid-template-columns:1fr}.home .tile{grid-column:auto}.home .chip{font-size:8px}.home .stage .float-face{max-width:230px}.home .download{padding:23px}.home .hero-actions{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.home *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.home .stage .phone{transform:translateX(-50%) rotate(-4deg)}}
@media(max-width:719px){.home .v-narrow{display:inline}.home .tile-icon{display:block}.home .how-steps{margin-top:22px}.home .bento{margin-top:28px}.home .tile-offline,.home .tile-biometric,.home .tile-screen,.home .tile-gallery{min-height:220px}.home .tile-security{margin-bottom:20px}}
.home .download-qr figcaption,.home .download-verify summary{color:#244b3e}.home .campaign-hero .hero-title{overflow-wrap:normal}
@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.home .stage{view-timeline-name:--hero-motion;view-timeline-axis:block}.home .stage .phone{animation-timeline:--hero-motion}}}
/* Product edition: restrained palette, physical depth and unclipped layers. */
.home{--bg:#f7f9fa;--ink:#163a44;--ink-deep:#103b49;background:var(--bg)}
.home .site-header{border-color:#dce5e8}.home .brand-name{font-weight:750}.home .campaign-hero{gap:52px;padding-top:65px;padding-bottom:80px;grid-template-columns:1fr 1fr}.home .hero-title{font-size:clamp(47px,5.1vw,72px);font-weight:750;line-height:1.08;letter-spacing:-3.5px}.home .hero-title em{background:none;padding:0;margin-top:0;transform:none;color:#088397}.home .hero-lead{color:#566d76;max-width:450px}.home .chip{letter-spacing:1.2px}.home .chip:before{box-shadow:none}.home .button-primary{border-radius:9px;box-shadow:0 4px 12px #0847561a;background:#086d82;padding:17px 23px}.home .button-primary:hover{box-shadow:0 7px 18px #08475626;transform:translateY(-2px)}
.home .stage{height:610px;border-radius:0;background:none;box-shadow:none;overflow:visible;isolation:auto;perspective:1100px;transform-style:preserve-3d}.home .stage:before{width:100%;height:480px;border:1px solid #d3e2e8;background:linear-gradient(145deg,#e6f1f3,#f6f9fa);border-radius:32px;top:70px;left:0;transform:translateZ(-100px) rotateY(-12deg);box-shadow:0 24px 40px #25455509}.home .stage:after{content:'';width:280px;height:55px;left:50%;bottom:22px;background:#234c5d20;border-radius:50%;filter:blur(17px);transform:translateX(-50%) rotateX(65deg);z-index:auto}
.home .stage .phone{width:250px;height:500px;top:60px;border:2px solid #93a9b0;border-radius:34px;background:#214553;padding:7px;transform-style:preserve-3d;transform:translateX(-50%) rotateY(-24deg) rotateX(10deg) rotateZ(-4deg);box-shadow:1px 0 #153845,3px 1px #153845,5px 2px #153845,7px 3px #153845,9px 4px #153845,12px 6px #153845,24px 30px 40px #173e4930;animation:product-float 8s ease-in-out infinite}.home .stage .phone:before{content:'';position:absolute;right:-12px;top:105px;height:58px;width:5px;background:#71949d;border-radius:3px;transform:translateZ(-4px)}.home .stage .phone-screen{border-radius:25px;background:#f3f7f9}.home .stage .float{border:1px solid #d8e3e7;border-radius:12px;box-shadow:0 12px 24px #1d43541a;background:#fff;backface-visibility:hidden}.home .stage .float-request{top:55px;right:4px;left:auto;width:218px;transform:translateZ(75px) rotateY(-10deg) rotateX(5deg);animation:request-float 8s ease-in-out infinite}.home .stage .float-face{left:4px;bottom:60px;max-width:235px;transform:translateZ(45px) rotateY(8deg);animation:face-float 8s ease-in-out infinite}.home .stage .float-offline{display:none}.home .stage .float-title{font-size:13px}.home .stage .float-sub{font-size:11px}.home .campaign-strip{background:#edf3f5;color:#2d5663;border-color:#dce7eb;padding:20px}.home .campaign-strip span:before{content:'✓';font-size:15px;color:#088296}.home .section-title{font-weight:720;letter-spacing:-1.8px;font-size:clamp(32px,3.7vw,50px)}
.home .tile{border-radius:16px;box-shadow:0 4px 12px #133e4805}.home .tile h3{font-weight:700}.home .tile-offline,.home .tile-biometric,.home .tile-backup,.home .tile-screen,.home .tile-gallery{background:#fff;border-color:#dae5e9}.home .tile-backup{background:#eaf3f5}.home .tile-security{background:#153e4b}.home .tile-icon{color:#178397}.home .tile-approve{border-radius:16px}.home .tile-approve .tile-photo{opacity:.56}.home .tile-approve .tile-text{background:linear-gradient(#103843e6,transparent);padding-bottom:45px}.home .tile-approve h3{font-weight:700}.home .tile-security h3{font-weight:650}.home .how-step{border-radius:14px;background:#fff;border-color:#dbe5e9}.home .how-number{font-size:38px;letter-spacing:-2px;color:#7f9da6;font-weight:500;margin-bottom:25px}.home .how-step h3{font-size:21px;font-weight:700}.home .faq-item summary h3{font-weight:600}.home .download{background:#103e4e;border:1px solid #174a5b;border-radius:22px;box-shadow:none}.home .download h2{color:#fff;font-weight:700;letter-spacing:-1.8px}.home .download-text>p,.home .download-verify{color:#c2d7de}.home .download .button-light{color:#124b58;background:#fff}.home .download .button-soon{color:#d5e5e8;border-color:#49707c}.home .download-verify summary{color:#c2d7de}.home .download-qr{transform:none;box-shadow:none;border-radius:14px}.home .download-qr figcaption{color:#c2d7de}.home .site-footer{background:#f0f4f6;border-color:#dae4e8}
@keyframes product-float{50%{transform:translateX(-50%) translateY(-14px) rotateY(-10deg) rotateX(6deg) rotateZ(-2deg)}}
@keyframes request-float{50%{transform:translateZ(90px) translateY(-9px) rotateY(3deg) rotateX(3deg)}}
@keyframes face-float{50%{transform:translateZ(65px) translateY(7px) rotateY(-3deg)}}
@keyframes product-scroll{from{transform:translateX(-50%) rotateY(-32deg) rotateX(15deg) rotateZ(-6deg)}to{transform:translateX(-50%) translateY(-36px) rotateY(22deg) rotateX(-8deg) rotateZ(3deg)}}
@keyframes request-scroll{from{transform:translateZ(65px) translateY(12px) rotateY(-14deg)}to{transform:translateZ(90px) translateY(-38px) rotateY(12deg)}}
@keyframes face-scroll{from{transform:translateZ(40px) translateY(15px) rotateY(8deg)}to{transform:translateZ(65px) translateY(-12px) rotateY(-8deg)}}
@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.home .stage .phone{animation:product-scroll linear both;animation-timeline:--hero-motion;animation-range:entry 0% exit 100%}.home .stage .float-request{animation:request-scroll linear both;animation-timeline:--hero-motion;animation-range:entry 0% exit 100%}.home .stage .float-face{animation:face-scroll linear both;animation-timeline:--hero-motion;animation-range:entry 0% exit 100%}.home .tile,.home .how-step{animation:none}}}
@media(max-width:1100px) and (min-width:720px){.home .campaign-hero{gap:26px;padding-left:32px;padding-right:32px}.home .hero-title{font-size:52px;letter-spacing:-2px}.home .stage .phone{width:220px;height:480px}.home .stage .float-request{width:190px;right:4px;top:32px}.home .stage .float-face{bottom:46px;max-width:225px}}
@media(max-width:719px){.home .campaign-hero{gap:20px;padding:34px 24px 42px;grid-template-columns:1fr}.home .hero-title{font-size:clamp(43px,10vw,64px);letter-spacing:-2.2px}.home .stage{height:530px;max-width:440px;width:100%;perspective:1300px}.home .stage:before{height:410px;top:75px;transform:translateZ(-80px) rotateY(-8deg)}.home .stage .phone{width:215px;height:430px;top:65px;box-shadow:3px 1px #153845,6px 3px #153845,9px 5px #153845,20px 25px 35px #173e4930}.home .stage .float-request{width:190px;right:14px;top:28px;font-size:12px}.home .stage .float-face{left:14px;bottom:36px;max-width:220px}.home .stage .phone-title{font-size:21px}.home .stage .code-value{font-size:21px}.home .stage .code-row{padding:12px 6px}.home .download h2{font-size:35px;letter-spacing:-1px}.home .tile-security{margin-bottom:0}.home .how-number{margin:0;font-size:32px}.home .tile-approve{min-height:360px}.home .chip{line-height:1.7}.home .hero-actions{gap:18px}}
@media(max-width:370px){.home .campaign-hero{padding-left:20px;padding-right:20px}.home .hero-title{font-size:42px}.home .stage .float-request{width:178px;right:15px}.home .stage .float-face{left:12px;max-width:210px}.home .stage .float-title{font-size:12px}.home .stage .float-sub{font-size:10px}.home .stage{height:525px}}
@media(prefers-reduced-motion:reduce){.home .stage .phone{transform:translateX(-50%) rotateY(-18deg) rotateX(7deg)}.home .stage .float-request{transform:translateZ(50px)}.home .stage .float-face{transform:translateZ(30px)}}
@keyframes product-scroll{from{transform:translateX(-50%) rotateY(-42deg) rotateX(14deg) rotateZ(-4deg)}to{transform:translateX(-50%) translateY(-36px) rotateY(-4deg) rotateX(-8deg) rotateZ(2deg)}}
/* Edge-to-edge navigation and footer, with consistent readable gutters. */
.home .site-header.wrap{width:100%;max-width:none;margin-inline:0;padding-inline:clamp(20px,3.3vw,64px);box-sizing:border-box;background:#f7f9fa}
.home .site-footer{width:100%;max-width:none;margin-inline:0;box-sizing:border-box}
.home .site-footer .footer-grid.wrap{width:100%;max-width:none;margin-inline:0;padding-inline:clamp(20px,3.3vw,64px);box-sizing:border-box}
