@property --c1{syntax:'<color>';inherits:true;initial-value:#ff4d4d}
@property --c2{syntax:'<color>';inherits:true;initial-value:#c1121f}
@property --c3{syntax:'<color>';inherits:true;initial-value:#7a0c16}
@property --c4{syntax:'<color>';inherits:true;initial-value:#d9a441}

:root{
  --bg:#F4ECE7; --ink:#2A1810; --muted:#7A6A5F; --line:#E8DACD; --red:#B94332; --red-d:#8a3527; --brown:#5c2117; --gold:#c79a52; --cream2:#EFE3DA; --surface:#ffffff; --surface2:#FBF6F1; --shadow:0 8px 28px rgba(90,45,30,.14);
  --pad:clamp(22px,7.2vw,140px);
  --cw:clamp(300px,31vw,600px);
  --font:'Outfit',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;background:var(--bg);color-scheme:light}
body{background:linear-gradient(135deg,#F4ECE7 0%,#EFE3DA 100%) fixed;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--red);outline-offset:4px;border-radius:12px}

/* ---------- colorways ---------- */
[data-theme=tianlu]{--c1:#e58a74;--c2:#B94332;--c3:#c79a52;--c4:#f0d59a}
[data-theme=felt]{--c1:#7cc9a0;--c2:#2e8b57;--c3:#c79a52;--c4:#f0d59a}
[data-theme=gold]{--c1:#f0d59a;--c2:#c79a52;--c3:#e58a74;--c4:#B94332}
.hero{transition:--c1 1.4s ease,--c2 1.4s ease,--c3 1.4s ease,--c4 1.4s ease}

/* ---------- aurora backdrop ---------- */
.hero,.page-hero{position:relative;overflow:hidden;isolation:isolate}
.hero{min-height:100svh;display:flex;flex-direction:column}
.aurora{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(54px);opacity:.62;will-change:transform}
.b1{left:22%;top:50%;width:38vw;height:24vw;background:radial-gradient(closest-side,var(--c1),transparent);animation:d1 18s ease-in-out infinite}
.b2{left:42%;top:34%;width:34vw;height:28vw;background:radial-gradient(closest-side,var(--c2),transparent);animation:d2 22s ease-in-out infinite}
.b3{left:54%;top:46%;width:34vw;height:26vw;background:radial-gradient(closest-side,var(--c3),transparent);animation:d3 20s ease-in-out infinite}
.b4{left:56%;top:68%;width:34vw;height:20vw;background:radial-gradient(closest-side,var(--c4),transparent);animation:d4 24s ease-in-out infinite}
@keyframes d1{50%{transform:translate3d(3vw,-3vh,0) scale(1.12)}}
@keyframes d2{50%{transform:translate3d(-2vw,3vh,0) scale(1.08)}}
@keyframes d3{50%{transform:translate3d(3vw,2vh,0) scale(1.15)}}
@keyframes d4{50%{transform:translate3d(-3vw,-2vh,0) scale(1.1)}}
.vignette{position:absolute;inset:0;background:
  radial-gradient(120% 90% at 50% 62%,transparent 42%,var(--bg) 100%),
  linear-gradient(180deg,var(--bg) 0,transparent 24%)}
.page-hero .vignette{background:
  radial-gradient(120% 90% at 50% 40%,transparent 42%,var(--bg) 100%),
  linear-gradient(180deg,var(--bg) 0,transparent 24%),
  linear-gradient(0deg,var(--bg) 0,transparent 36%)}
.grain{position:absolute;inset:-40%;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- nav ---------- */
.nav{position:relative;z-index:6;display:flex;align-items:center;padding:clamp(22px,3.4vw,50px) var(--pad) 0}
.brand{display:flex;align-items:center;gap:clamp(12px,1.2vw,18px);font-size:clamp(28px,3vw,44px);font-weight:600;letter-spacing:-.02em}
.brand .logo{height:clamp(20px,1.9vw,28px);width:auto;display:block}
.menu .brand .logo{height:clamp(22px,5vw,28px)}
.site-footer .brand .logo{height:clamp(24px,2.2vw,32px)}
.orb{width:clamp(36px,3.6vw,54px);aspect-ratio:1;border-radius:50%;flex:none;
  background:radial-gradient(circle at 26% 22%,var(--c1),transparent 58%),radial-gradient(circle at 82% 88%,var(--c4),transparent 60%),linear-gradient(135deg,var(--c2),var(--c3));
  box-shadow:0 0 44px -8px var(--c2)}
.links{display:flex;gap:clamp(20px,2.4vw,40px);margin-left:clamp(32px,5vw,96px);font-size:14px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.links a{position:relative;padding:6px 0;opacity:.78;transition:opacity .25s}
.links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .35s ease}
.links a:hover,.links a[aria-current=page]{opacity:1}
.links a:hover::after,.links a[aria-current=page]::after{right:0}
.signup{margin-left:auto;height:clamp(48px,4.4vw,64px);padding:0 clamp(24px,2.6vw,40px);display:inline-flex;align-items:center;border-radius:999px;
  border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.035);font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .3s,border-color .3s}
.signup:hover,.signup[aria-current=page]{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4)}
.burger{display:none;width:48px;height:48px;margin-left:12px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.035);position:relative;flex:none}
.burger span{position:absolute;left:14px;right:14px;height:2px;border-radius:2px;background:#fff}
.burger span:nth-child(1){top:19px}.burger span:nth-child(2){top:27px}

.menu{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;padding:clamp(22px,5vw,40px) var(--pad);
  background:rgba(3,3,5,.94);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);
  opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s}
.menu.open{opacity:1;visibility:visible}
.menu-top{display:flex;align-items:center;justify-content:space-between}
.menu-close{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.22);position:relative}
.menu-close::before,.menu-close::after{content:"";position:absolute;left:14px;right:14px;top:23px;height:2px;border-radius:2px;background:#fff;transform:rotate(45deg)}
.menu-close::after{transform:rotate(-45deg)}
.menu nav{display:flex;flex-direction:column;gap:6px;margin:auto 0}
.menu nav a{font-size:clamp(38px,11vw,64px);font-weight:600;letter-spacing:-.03em;line-height:1.15;padding:4px 0;opacity:.85;transform:translateY(14px);transition:opacity .4s,transform .5s cubic-bezier(.2,.8,.2,1)}
.menu.open nav a{transform:none}
.menu nav a[aria-current=page]{opacity:1;background:linear-gradient(90deg,var(--c1),var(--c4));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.menu small{color:var(--muted);font-weight:300;font-size:15px}

/* ---------- home hero ---------- */
.copy{position:relative;z-index:4;flex:1;display:flex;flex-direction:column;justify-content:center;padding:4vh var(--pad) 16vh;max-width:calc(var(--pad) + 860px)}
.eyebrow{font-family:var(--mono);font-size:clamp(12px,1.15vw,16px);letter-spacing:.24em;text-transform:uppercase;color:var(--c4);font-weight:400;margin-bottom:clamp(16px,2.2vw,30px)}
.hero h1{font-size:clamp(32px,4.3vw,72px);line-height:1.02;letter-spacing:-.025em;text-transform:uppercase}
.ph h1.long{font-size:clamp(34px,5vw,78px);max-width:18ch;text-transform:none}
h1{font-size:clamp(48px,7.2vw,116px);line-height:.98;font-weight:600;letter-spacing:-.035em;
  background:linear-gradient(180deg,#fff 0,#cfd2e0 62%,#9ea3b8 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;text-wrap:balance}
h1 span{display:block}
.checks{display:flex;flex-wrap:wrap;gap:12px clamp(20px,2.4vw,34px);margin:clamp(24px,3.4vw,52px) 0 clamp(28px,4vw,58px);font-size:clamp(17px,1.7vw,26px);font-weight:300}
.checks li{display:flex;align-items:center;gap:.5em}
.checks svg{width:.62em;height:.62em;flex:none}

.cta{display:flex;flex-wrap:wrap;gap:clamp(14px,1.6vw,26px)}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;height:clamp(58px,5.6vw,84px);padding:0 clamp(28px,3.2vw,52px);border-radius:999px;
  font-size:clamp(13px,1.15vw,17px);font-weight:600;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,background .35s,border-color .35s}
.btn-glow{color:#0a0b14;background:linear-gradient(100deg,#f3f7ff,#e6e4fb 55%,#f7dff0);
  box-shadow:-14px 10px 44px -4px rgba(70,205,235,.55),16px 12px 44px -4px rgba(255,120,190,.38),inset 0 1px 0 #fff;
  box-shadow:-14px 10px 44px -4px color-mix(in srgb,var(--c1) 80%,transparent),16px 12px 44px -4px color-mix(in srgb,var(--c3) 62%,transparent),inset 0 1px 0 #fff}
.btn-glow:hover{transform:translateY(-3px) scale(1.025);
  box-shadow:-18px 14px 56px -2px rgba(70,205,235,.7),20px 16px 56px -2px rgba(255,120,190,.5),inset 0 1px 0 #fff;
  box-shadow:-18px 14px 56px -2px var(--c1),20px 16px 56px -2px color-mix(in srgb,var(--c3) 80%,transparent),inset 0 1px 0 #fff}
.btn-ghost{border:1px solid rgba(255,255,255,.2);background:rgba(8,10,22,.55);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4);transform:translateY(-3px)}
.btn-sm{height:54px;padding:0 30px;font-size:13px}

.scene{position:absolute;right:0;top:0;width:68%;height:100%;z-index:2;pointer-events:none}
.wrap{position:absolute;width:0;height:0;transform:translate3d(calc(var(--mx,0)*-20px),calc(var(--my,0)*-14px),0)}
.w1{--w:var(--cw);left:51%;top:47%}
.w2{--w:calc(var(--cw)*.94);left:60%;top:75%}
.card{position:absolute;left:calc(var(--w)/-2);top:calc(var(--w)/-3.172);width:var(--w);aspect-ratio:1.586;
  border-radius:calc(var(--w)*.055);overflow:hidden;font-size:calc(var(--w)*.036);color:#fff}
.card-a{
  transform:perspective(1600px) rotateX(18deg) rotateY(-12deg) rotateZ(38deg);
  background:linear-gradient(135deg,rgba(255,255,255,.26),rgba(255,255,255,.06) 42%,rgba(255,255,255,.14));
  -webkit-backdrop-filter:blur(24px) saturate(1.5);backdrop-filter:blur(24px) saturate(1.5);
  box-shadow:0 70px 120px -40px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.45),inset 0 0 0 1px rgba(255,255,255,.14);
  animation:float 8s ease-in-out infinite}
.card-b{
  transform:perspective(1600px) rotateX(58deg) rotateZ(33deg);
  background:linear-gradient(135deg,rgba(255,170,130,.2),rgba(34,10,12,.66) 60%);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 60px 110px -40px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 0 1px rgba(255,255,255,.08);
  animation:float 9s ease-in-out -3s infinite}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -16px}}
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.75),rgba(255,255,255,0) 36%,rgba(255,255,255,0) 64%,rgba(255,255,255,.35));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.card::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.26) 48%,transparent 66%);background-size:260% 100%;background-position:130% 0;
  animation:sheen 7s ease-in-out infinite}
@keyframes sheen{0%,55%{background-position:130% 0}100%{background-position:-30% 0}}
.card .logo-c{position:absolute;left:7%;top:8%;line-height:0}
.card .logo-c img{height:1.8em;width:auto;display:block}
.card .label-c{position:absolute;right:7%;top:12%;font-family:var(--mono);font-size:1em;letter-spacing:.06em;color:rgba(255,255,255,.72)}
.card .chip{position:absolute;left:7%;top:33%;width:14%}
.card .num{position:absolute;left:7%;bottom:22%;font-family:var(--mono);font-weight:300;font-size:1.45em;letter-spacing:.09em;color:rgba(255,255,255,.86)}
.card .wave{position:absolute;right:8%;top:44%;width:7.5%}
.card .exp{position:absolute;right:8%;bottom:9%;font-family:var(--mono);font-weight:300;font-size:1.1em;color:rgba(255,255,255,.8)}
.card .chip svg,.card .wave svg{display:block;width:100%;height:auto}
.card-b .logo-c,.card-b .exp,.card-b .num,.card-b .label-c{opacity:.8}

.badge{position:absolute;left:71%;top:34%;width:clamp(120px,13vw,220px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:auto;border-radius:50%;display:block}
.badge .ring{width:100%;height:100%;overflow:visible;animation:spin 26s linear infinite}
.badge text{font-family:var(--font);font-weight:500;font-size:17px;fill:#f1f2f9}
.badge .ico{position:absolute;inset:0;display:grid;place-items:center;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.badge:hover .ico{transform:scale(1.15)}
.badge .ico svg{width:28%;height:auto}
@keyframes spin{to{transform:rotate(360deg)}}

.foot{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(22px,3.4vw,46px);z-index:6;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;letter-spacing:.16em;text-transform:uppercase}
.credit span{color:var(--muted);font-weight:300;margin-right:.7em}
.credit b{font-weight:600;color:var(--c4);letter-spacing:.3em}
.pager{display:flex;align-items:center;gap:16px}
.count{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--muted);margin-right:8px;white-space:nowrap}
.arrow{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid transparent;transition:background .3s,border-color .3s}
.arrow:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.07)}
.arrow svg{width:16px;height:16px}

/* ---------- inner page hero ---------- */
.page-hero{padding-bottom:clamp(48px,7vw,110px)}
.page-hero .aurora .b1{left:50%;top:6%;width:38vw;height:22vw}
.page-hero .aurora .b2{left:64%;top:16%;width:32vw;height:26vw}
.page-hero .aurora .b3{left:34%;top:34%;width:30vw;height:20vw;opacity:.8}
.page-hero .aurora .b4{left:70%;top:46%;width:26vw;height:16vw;opacity:.8}
.ph{position:relative;z-index:3;padding:clamp(56px,9vw,140px) var(--pad) 0;max-width:calc(var(--pad) + 1000px)}
.ph h1{font-size:clamp(42px,6.4vw,100px)}
.lead{font-size:clamp(17px,1.5vw,23px);font-weight:300;color:var(--muted);max-width:46ch;margin-top:clamp(18px,2vw,30px);line-height:1.5}
.tag{font-family:var(--mono);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:clamp(14px,1.6vw,22px)}

/* ---------- shared sections ---------- */
.block{position:relative;padding:clamp(64px,9vw,140px) var(--pad)}
.block.tight{padding-top:0}
h2{font-size:clamp(32px,4.4vw,68px);font-weight:600;letter-spacing:-.03em;line-height:1.04;margin:14px 0 clamp(32px,4.4vw,64px);max-width:16ch;text-wrap:balance}
.h2.wide,h2.wide{max-width:24ch}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px}
.sec-head h2{margin-bottom:clamp(32px,4.4vw,64px)}
.textlink{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:clamp(36px,4.6vw,66px);padding:8px 0;border-bottom:1px solid rgba(255,255,255,.3);transition:gap .3s,border-color .3s}
.textlink:hover{gap:16px;border-color:#fff}
.textlink svg{width:16px;height:16px}

/* rows (services list) */
.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) auto 44px;gap:clamp(16px,3vw,48px);align-items:center;padding:clamp(22px,2.4vw,34px) 0;border-bottom:1px solid var(--line);transition:padding .35s ease,background .35s ease}
.row .n{font-size:clamp(22px,2.6vw,40px);font-weight:500;letter-spacing:-.02em;line-height:1.1}
.row .d{color:var(--muted);font-weight:300;font-size:clamp(15px,1.1vw,18px)}
.row .p{font-family:var(--mono);font-size:clamp(13px,1vw,15px);letter-spacing:.04em;color:#dfe2ee;white-space:nowrap}
.row .go{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:background .3s,color .3s,border-color .3s,transform .3s}
.row .go svg{width:16px;height:16px}
.row:hover{padding-left:clamp(8px,1.4vw,22px);background:linear-gradient(90deg,rgba(255,255,255,.05),transparent)}
.row:hover .go{background:#fff;color:#0a0b14;border-color:#fff;transform:rotate(-45deg)}

/* stats */
.trust{font-size:clamp(20px,2vw,30px);font-weight:300;margin-bottom:clamp(28px,3.4vw,48px);max-width:30ch;line-height:1.3}
.trust b{font-weight:600}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,32px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(34px,4vw,60px) 0}
.stat b{display:block;font-size:clamp(44px,6vw,96px);font-weight:600;letter-spacing:-.04em;line-height:1;background:linear-gradient(180deg,#fff,#a9aec3);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat span{display:block;margin-top:10px;color:var(--muted);font-size:clamp(14px,1.1vw,17px);font-weight:300}

/* branch carousel */
.marquee{position:relative;overflow:hidden;display:flex;padding:clamp(22px,2.6vw,38px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.track{display:flex;flex:none;align-items:center;min-width:100%;animation:slide 46s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.branch{display:flex;align-items:center;gap:clamp(14px,1.4vw,22px);padding:0 clamp(22px,2.6vw,44px);white-space:nowrap;font-size:clamp(24px,3.2vw,50px);font-weight:600;letter-spacing:-.02em}
.branch.alt span{color:rgba(255,255,255,.42)}
.ball{flex:none;width:.46em;height:.46em;border-radius:50%;background:radial-gradient(circle at 30% 26%,#fff 0,rgba(255,255,255,.0) 22%),radial-gradient(circle at 50% 50%,var(--bc),color-mix(in srgb,var(--bc) 55%,#000));box-shadow:0 0 22px -4px var(--bc),inset 0 -3px 6px rgba(0,0,0,.35)}
@keyframes slide{to{transform:translateX(-100%)}}

/* work */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(28px,3.4vw,48px)}
.chipbtn{height:44px;padding:0 22px;border-radius:999px;border:1px solid var(--line);font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--muted);transition:background .25s,color .25s,border-color .25s}
.chipbtn:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.chipbtn[aria-pressed=true]{background:#fff;color:#0a0b14;border-color:#fff}
.work-grid.two{grid-template-columns:repeat(2,1fr)}
.work-grid.two .art{aspect-ratio:16/9}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,2.4vw,36px) clamp(18px,2vw,30px)}
.work{display:block}
.work[hidden]{display:none}
.work .meta{padding:18px 4px 0}
.work .cat{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.work h3{font-size:clamp(20px,1.8vw,28px);font-weight:500;margin:8px 0 6px;letter-spacing:-.01em}
.work p{color:var(--muted);font-weight:300;font-size:15px;line-height:1.5}
.note{margin-top:clamp(28px,3vw,44px);color:var(--muted);font-weight:300;font-size:15px}
.art{position:relative;aspect-ratio:4/3;border-radius:24px;overflow:hidden;background:#07070b;isolation:isolate;border:1px solid var(--line)}
.art::before{content:"";position:absolute;inset:-20%;z-index:-1;filter:blur(26px);transition:transform .9s cubic-bezier(.2,.8,.2,1);
  background:radial-gradient(40% 50% at 25% 30%,var(--c1),transparent 70%),radial-gradient(45% 55% at 75% 40%,var(--c2),transparent 70%),radial-gradient(50% 50% at 55% 90%,var(--c4),transparent 70%)}
.work:hover .art::before{transform:scale(1.1) rotate(4deg)}
.obj{position:absolute;left:50%;top:50%;border:1px solid rgba(255,255,255,.3);background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,.05));
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 30px 60px -20px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.4);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.o-phone{width:30%;aspect-ratio:.5;border-radius:22px;transform:translate(-50%,-50%) rotate(8deg)}
.work:hover .o-phone{transform:translate(-50%,-53%) rotate(0) scale(1.05)}
.o-phone::before{content:"";position:absolute;left:34%;right:34%;top:5%;height:3%;border-radius:99px;background:rgba(255,255,255,.4)}
.o-phone::after{content:"";position:absolute;left:10%;right:10%;top:14%;bottom:8%;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.04))}
.o-browser{width:70%;aspect-ratio:1.55;border-radius:14px;transform:translate(-50%,-50%) rotate(-3deg)}
.work:hover .o-browser{transform:translate(-50%,-53%) rotate(0) scale(1.05)}
.o-browser::before{content:"";position:absolute;left:5%;top:7%;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:14px 0 rgba(255,255,255,.4),28px 0 rgba(255,255,255,.28)}
.o-browser::after{content:"";position:absolute;left:5%;right:5%;top:22%;bottom:10%;border-radius:8px;background:linear-gradient(120deg,rgba(255,255,255,.2),rgba(255,255,255,.03))}
.o-card{width:58%;aspect-ratio:1.586;border-radius:16px;transform:translate(-50%,-50%) rotate(-14deg)}
.work:hover .o-card{transform:translate(-50%,-53%) rotate(-6deg) scale(1.06)}
.o-card::before{content:"";position:absolute;left:8%;top:14%;width:18%;aspect-ratio:1.25;border-radius:6px;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.18)}
.o-card::after{content:"";position:absolute;left:8%;right:30%;bottom:14%;height:6%;border-radius:99px;background:rgba(255,255,255,.4)}
.o-dash i{position:absolute;bottom:12%;width:9%;border-radius:4px 4px 0 0;background:rgba(255,255,255,.55);z-index:2}
.o-dash i:nth-child(1){left:12%;height:26%}.o-dash i:nth-child(2){left:26%;height:42%}.o-dash i:nth-child(3){left:40%;height:34%}.o-dash i:nth-child(4){left:54%;height:56%}.o-dash i:nth-child(5){left:68%;height:44%}
.o-chips{width:70%;aspect-ratio:1.4;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:translate(-50%,-50%)}
.o-chips i{position:absolute;width:38%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:linear-gradient(135deg,rgba(255,255,255,.34),rgba(255,255,255,.06));box-shadow:0 20px 40px -14px rgba(0,0,0,.7),inset 0 0 0 7px rgba(255,255,255,.06),inset 0 1px 0 rgba(255,255,255,.5);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.o-chips i:nth-child(1){left:2%;top:34%}.o-chips i:nth-child(2){left:30%;top:6%}.o-chips i:nth-child(3){left:56%;top:38%}
.work:hover .o-chips i:nth-child(1){transform:translate(-6px,6px)}.work:hover .o-chips i:nth-child(2){transform:translateY(-10px)}.work:hover .o-chips i:nth-child(3){transform:translate(6px,6px)}
.o-spark{width:44%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%)}
.work:hover .o-spark{transform:translate(-50%,-50%) scale(1.1)}
.o-spark svg{position:absolute;inset:22%;width:56%;height:56%}

/* real project screenshots */
.art.img{background:#0a0a10}
.art.img::before{display:none}
.art.img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.work:hover .art.img img{transform:scale(1.04)}
.cases{display:grid;gap:clamp(72px,10vw,150px)}
.case{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,5vw,84px);align-items:center}
.case:nth-child(even){grid-template-columns:.75fr 1.25fr}
.case:nth-child(even) .case-media{order:2}
.case-media{position:relative;margin-bottom:clamp(18px,4vw,56px)}
.shot{display:block;width:100%;height:auto;border-radius:22px;border:1px solid var(--line);background:#0a0a10;box-shadow:0 50px 90px -34px rgba(0,0,0,.85)}
.case-media .sec{position:absolute;width:36%;right:-3%;bottom:-14%;border-radius:18px;border-color:rgba(255,255,255,.24);box-shadow:0 40px 70px -20px rgba(0,0,0,.9)}
.case:nth-child(even) .case-media .sec{right:auto;left:-3%}
.case-body .tag{margin-bottom:14px}
.case h3{font-size:clamp(34px,4.2vw,64px);font-weight:600;letter-spacing:-.03em;line-height:1}
.case .tagline{margin:12px 0 22px;font-size:clamp(17px,1.4vw,22px);font-weight:300;color:var(--muted)}
.case .blurb{color:#cfd2e0;font-weight:300;font-size:clamp(16px,1.2vw,19px);line-height:1.6;max-width:46ch}
.case ul{margin:24px 0 30px;display:grid;gap:12px}
.case li{display:flex;gap:10px;align-items:flex-start;font-size:16px;font-weight:300}
.case li::before{content:"";width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,var(--c1),var(--c4));flex:none;margin-top:.6em}
.case-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.case-actions .status{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:10px 16px}

/* services page */
.svc{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,90px);padding:clamp(40px,5vw,76px) 0;border-top:1px solid var(--line);align-items:start}
.svc .idx{font-family:var(--mono);color:var(--muted);font-size:13px;letter-spacing:.2em}
.svc h2{font-size:clamp(30px,3.6vw,56px);margin:12px 0 0;max-width:12ch}
.svc .price{display:inline-flex;margin-top:24px;font-family:var(--mono);font-size:14px;color:#dfe2ee;border:1px solid var(--line);border-radius:999px;padding:10px 18px}
.svc p{color:var(--muted);font-weight:300;font-size:clamp(16px,1.3vw,20px);line-height:1.6;max-width:46ch}
.svc ul{margin:24px 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.svc li,.pcard li{display:flex;gap:10px;align-items:center;font-size:16px;font-weight:300}
.svc li::before,.pcard li::before{content:"";width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,var(--c1),var(--c4));flex:none}

/* pricing */
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,22px)}
.pcard{position:relative;display:flex;flex-direction:column;gap:18px;padding:clamp(22px,2vw,30px);border-radius:28px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015));overflow:hidden}
.pcard h3{font-size:clamp(20px,1.6vw,24px);font-weight:500;letter-spacing:-.01em;line-height:1.2;min-height:2.4em}
.pcard .amt{font-size:clamp(34px,3vw,48px);font-weight:600;letter-spacing:-.03em;line-height:1}
.pcard .amt small{display:block;font-size:13px;font-weight:300;color:var(--muted);letter-spacing:.06em;margin-bottom:10px;text-transform:uppercase}
.pcard ul{display:grid;gap:12px;flex:1}
.pcard li{font-size:15px;align-items:flex-start}
.pcard li::before{margin-top:.55em}
.pcard .btn{width:100%}
.pcard.custom{background:radial-gradient(80% 60% at 20% 0,color-mix(in srgb,var(--c2) 40%,transparent),transparent),linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015))}
.pcard .flag{position:absolute;top:18px;right:18px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(255,255,255,.3);border-radius:99px;padding:5px 10px;color:#dfe2ee}
.faq{display:grid;gap:10px;max-width:880px}
.faq details{border:1px solid var(--line);border-radius:22px;padding:6px 24px;background:rgba(255,255,255,.03)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-size:clamp(17px,1.4vw,21px);font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-size:22px;color:var(--muted);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{color:var(--muted);font-weight:300;line-height:1.6;padding:0 0 20px;max-width:60ch}

/* about */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,110px);align-items:start}
.split h2{margin:0}
.prose p{color:var(--muted);font-weight:300;font-size:clamp(16px,1.3vw,20px);line-height:1.7;margin-bottom:1.2em;max-width:52ch}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,22px)}
.tile{position:relative;overflow:hidden;min-height:260px;padding:clamp(24px,2.4vw,38px);border-radius:28px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015));display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.tile .num{font-family:var(--mono);font-size:13px;letter-spacing:.2em;color:var(--muted)}
.tile h3{font-size:clamp(22px,2vw,30px);font-weight:500;letter-spacing:-.01em;margin-bottom:10px}
.tile p{color:var(--muted);font-weight:300;font-size:clamp(15px,1.15vw,18px);line-height:1.55;max-width:32ch}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,22px)}
.step{padding-top:22px;border-top:2px solid var(--line);transition:border-color .3s}
.step:hover{border-color:var(--c1)}
.step b{font-family:var(--mono);font-size:13px;letter-spacing:.2em;color:var(--muted);font-weight:400}
.step h3{font-size:clamp(20px,1.7vw,26px);font-weight:500;margin:14px 0 8px}
.step p{color:var(--muted);font-weight:300;font-size:15px;line-height:1.55}

/* contact */
.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(32px,5vw,90px);align-items:start}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:500}
.field input,.field select,.field textarea{font:inherit;color:var(--ink);background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:18px;padding:16px 18px;font-size:17px;font-weight:300;outline:none;width:100%;transition:border-color .25s,background .25s}
.field input::placeholder,.field textarea::placeholder{color:#6f7388}
.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.07)}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;padding-right:48px}
.field option{background:#0b0b10;color:#fff}
.field textarea{min-height:170px;resize:vertical}
.form .actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;margin-top:6px}
.form .small{color:var(--muted);font-weight:300;font-size:14px;max-width:34ch}
.info{display:grid;gap:16px}
.info .tile{min-height:0;gap:16px}
.info a.big{font-size:clamp(20px,2vw,28px);font-weight:500;letter-spacing:-.01em;word-break:break-word;border-bottom:1px solid rgba(255,255,255,.3);width:fit-content;transition:border-color .3s}
.info a.big:hover{border-color:#fff}
.next{display:grid;gap:14px;counter-reset:n}
.next li{display:flex;gap:14px;align-items:flex-start;font-weight:300;color:var(--muted);line-height:1.5}
.next li::before{counter-increment:n;content:"0" counter(n);font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:#fff;border:1px solid var(--line);border-radius:99px;padding:3px 9px;flex:none;margin-top:2px}

/* CTA band */
.band{position:relative;overflow:hidden;margin:0 var(--pad) clamp(60px,8vw,120px);padding:clamp(36px,6vw,96px);border-radius:36px;border:1px solid var(--line);background:#06060a;isolation:isolate;display:flex;flex-wrap:wrap;gap:28px 40px;align-items:center;justify-content:space-between}
.band::before{content:"";position:absolute;inset:-30%;z-index:-1;background:radial-gradient(40% 60% at 20% 50%,var(--c1),transparent 70%),radial-gradient(40% 60% at 80% 50%,var(--c3),transparent 70%);filter:blur(60px);opacity:.55}
.band h2{margin:0;max-width:14ch}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:clamp(44px,5vw,80px) var(--pad) 36px}
.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px 60px}
.site-footer p{color:var(--muted);font-weight:300;line-height:1.55;margin-top:18px;max-width:30ch}
.site-footer h4{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:400;margin-bottom:18px}
.site-footer nav{display:grid;gap:10px;font-size:16px;font-weight:300}
.site-footer nav a,.site-footer .mail{opacity:.85;transition:opacity .25s}
.site-footer nav a:hover,.site-footer .mail:hover{opacity:1}
.fbottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 30px;margin-top:clamp(36px,4vw,64px);padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:300}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .links{display:none}
  .burger{display:block}
  .price-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .hero{min-height:auto}
  .copy{flex:none;padding-bottom:0;padding-top:7vh}
  .scene{position:relative;width:100%;height:96vw;max-height:620px;margin-top:2vh;order:3;--cw:min(74vw,400px)}
  .w1{left:44%;top:40%}
  .w2{left:58%;top:76%}
  .badge{left:82%;top:10%;width:clamp(96px,26vw,140px)}
  .foot{position:relative;left:auto;right:auto;bottom:auto;order:4;padding:8px var(--pad) 28px;flex-wrap:wrap}
  .blob{filter:blur(34px)}
  .b1{width:70vw;height:46vw}.b2{width:62vw;height:50vw}.b3{width:62vw;height:46vw}.b4{width:60vw;height:34vw}
  .page-hero .aurora .b1{left:30%;width:70vw;height:44vw}
  .page-hero .aurora .b2{left:40%;width:60vw;height:46vw}
  .page-hero .aurora .b3,.page-hero .aurora .b4{display:none}
  .cards3,.split,.contact-grid,.svc,.case,.case:nth-child(even){grid-template-columns:1fr}
  .case:nth-child(even) .case-media{order:0}
  .case-media .sec,.case:nth-child(even) .case-media .sec{width:34%;right:-2%;left:auto;bottom:-10%}
  .steps{grid-template-columns:1fr 1fr}
  .work-grid{grid-template-columns:1fr 1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .fgrid>div:first-child{grid-column:1/-1}
  .stats{grid-template-columns:1fr 1fr;row-gap:32px}
}
@media (max-width:700px){
  .work-grid.two{grid-template-columns:1fr}
  .row{grid-template-columns:1fr auto}
  .row .d,.row .go{display:none}
  .price-grid,.svc ul,.form{grid-template-columns:1fr}
  .work-grid,.steps{grid-template-columns:1fr}
  .band{margin-left:var(--pad);margin-right:var(--pad)}
}
@media (max-width:520px){
  .credit span,.count{display:none}
  .cta .btn,.band .btn{flex:1 1 100%}
  .signup{padding:0 20px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .marquee{display:block;-webkit-mask-image:none;mask-image:none}.track{flex-wrap:wrap;justify-content:center}.track.dup{display:none}
  html{scroll-behavior:auto}
}


/* ======================= LIGHT THEME (matches the TianLu POS: cream, red, brown, gold) ======================= */
.links{color:var(--ink)}
.signup{border-color:rgba(42,24,16,.22);background:rgba(255,255,255,.65);color:var(--ink);box-shadow:0 2px 8px rgba(90,45,30,.08)}
.signup:hover,.signup[aria-current=page]{background:#fff;border-color:rgba(42,24,16,.4)}
.burger{border-color:rgba(42,24,16,.22);background:rgba(255,255,255,.65)}
.burger span,.menu-close::before,.menu-close::after{background:var(--ink)}
.menu-close{border-color:rgba(42,24,16,.22)}
.menu{background:rgba(244,236,231,.97)}
.menu nav a{color:var(--ink)}
.menu nav a[aria-current=page]{background:linear-gradient(90deg,var(--red),var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
h1{background:linear-gradient(180deg,#2A1810 0,#5c2117 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.eyebrow{color:var(--red)}
.lead,.tag{color:var(--muted)}
.btn-glow{color:#fff;background:linear-gradient(135deg,#B94332 0%,#8a3527 60%,#5c2117 100%);box-shadow:0 10px 26px -6px rgba(185,67,50,.55),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-glow:hover{box-shadow:0 14px 34px -6px rgba(185,67,50,.7),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-ghost{color:var(--ink);border:1px solid rgba(42,24,16,.25);background:rgba(255,255,255,.6)}
.btn-ghost:hover{background:#fff;border-color:rgba(42,24,16,.45)}
.card-a{background:linear-gradient(135deg,#d0583f 0%,#B94332 42%,#6e2a1d 100%);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 40px 70px -26px rgba(90,45,30,.65),inset 0 1px 0 rgba(255,255,255,.4)}
.card-b{background:linear-gradient(135deg,#7b3a22 0%,#3b160e 70%);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 40px 70px -26px rgba(60,25,15,.7),inset 0 1px 0 rgba(255,255,255,.18)}
.badge text{fill:var(--ink)}
.badge .ico svg{stroke:var(--red)}
.credit b{color:var(--red)}
.count{color:var(--muted)}
.arrow:hover{border-color:rgba(42,24,16,.3);background:rgba(255,255,255,.7)}
.textlink{border-bottom-color:rgba(42,24,16,.3)}
.textlink:hover{border-color:var(--ink)}
.row .p{color:var(--muted)}
.row .go{border-color:rgba(42,24,16,.18);background:rgba(255,255,255,.55)}
.row:hover{background:linear-gradient(90deg,rgba(185,67,50,.07),transparent)}
.row:hover .go{background:var(--red);color:#fff;border-color:var(--red)}
.marquee{border-color:var(--line)}
.branch.alt span{color:rgba(42,24,16,.34)}
.art{background:#fff;border-color:var(--line);box-shadow:var(--shadow)}
.art.img{background:#14090a}
.case .blurb{color:#5b4a40}
.shot{border-color:var(--line);box-shadow:0 30px 60px -28px rgba(90,45,30,.45)}
.case-media .sec{border-color:rgba(42,24,16,.15);box-shadow:0 24px 50px -20px rgba(60,25,15,.5)}
.case-actions .status{border-color:var(--line);color:var(--muted);background:rgba(255,255,255,.6)}
.tile{border-color:var(--line);background:linear-gradient(160deg,#ffffff,#FBF6F1);box-shadow:0 2px 10px rgba(90,45,30,.06)}
.tile .num{color:var(--muted)}
.svc{border-top-color:var(--line)}
.svc li::before,.case li::before{background:linear-gradient(135deg,var(--red),var(--gold))}
.field input,.field select,.field textarea{color:var(--ink);background:#fff;border-color:var(--line)}
.field input::placeholder,.field textarea::placeholder{color:#a89a8d}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);background:#fff}
.field select{background-repeat:no-repeat;background-position:right 18px center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%232A1810' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 5 5-5'/%3E%3C/svg%3E")}
.field option{background:#fff;color:var(--ink)}
.next li::before{color:var(--ink);border-color:var(--line);background:#fff}
.info a.big{border-bottom-color:rgba(42,24,16,.3)}
.info a.big:hover{border-color:var(--ink)}
.band{background:linear-gradient(135deg,#B94332 0%,#8a3527 55%,#5c2117 100%);border-color:transparent;color:#fff;box-shadow:0 24px 50px -24px rgba(92,33,23,.6)}
.band::before{background:radial-gradient(40% 60% at 15% 40%,rgba(240,213,154,.45),transparent 70%),radial-gradient(40% 60% at 90% 70%,rgba(255,255,255,.18),transparent 70%);opacity:1}
.band h2{color:#fff}
.band .btn-glow{background:#fff;color:#8a3527;box-shadow:0 10px 26px -6px rgba(0,0,0,.35)}
.band .btn-glow:hover{box-shadow:0 14px 34px -6px rgba(0,0,0,.45)}
.site-footer{border-top-color:var(--line)}
.fbottom{border-top-color:var(--line)}
.page-hero .vignette,.vignette{opacity:.9}

/* app download buttons */
.stores{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:clamp(22px,2.6vw,36px)}
.stores-label{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-right:6px}
.store{display:inline-flex;align-items:center;gap:12px;height:56px;padding:0 22px 0 18px;border-radius:14px;background:var(--ink);color:#fff;box-shadow:0 8px 22px -8px rgba(42,24,16,.55);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,background .3s}
.store:hover{transform:translateY(-3px);background:#3b2216;box-shadow:0 14px 30px -8px rgba(42,24,16,.6)}
.store svg{width:26px;height:26px;fill:#fff;flex:none}
.store span{display:flex;flex-direction:column;line-height:1.1}
.store small{font-size:11px;font-weight:400;letter-spacing:.04em;opacity:.8}
.store b{font-size:19px;font-weight:600;letter-spacing:-.01em}
@media (max-width:520px){.stores-label{flex:1 1 100%}.store{flex:1 1 calc(50% - 8px);justify-content:center}}

/* wallet chips on the hero cards */
.card .exp.wallets{display:flex;align-items:center;gap:.55em;right:7%;bottom:5.5%;font-size:1em}
.card .wchip{display:inline-flex;align-items:center;gap:.4em;padding:.3em .75em;border:1px solid rgba(255,255,255,.6);border-radius:999px;background:rgba(255,255,255,.14);font-family:var(--font);font-style:normal;font-weight:500;font-size:.74em;letter-spacing:.02em;white-space:nowrap;color:#fff}
.card .wchip svg{width:1.05em;height:1.05em;fill:currentColor;flex:none}

/* phone: a little space between the app buttons and the cards below */
@media (max-width:900px){
  .copy{padding-bottom:clamp(18px,5vw,30px)}
  .scene{margin-top:clamp(14px,4vw,28px)}
}
