:root {
  --canvas:#fafaf9; --surface:#fff; --ink:#18181b; --muted:#71717a; --border:#e4e4e7;
  --ivory:#e5e0d8; --taupe:#5f5854; --slate:#b2bdc5; --emphasis:#efece7;
  --focus:#a8a29e; --chart:#57534e; --radius:8px; --pad:clamp(22px,5vw,66px);
  --font:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font);font-weight:300;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%} button,a{font:inherit} a{color:inherit;text-decoration:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:10px;left:10px;z-index:1000;padding:10px 14px;background:var(--ink);color:white;transform:translateY(-150%)}
.skip-link:focus{transform:none}.section{padding:clamp(88px,12vw,168px) var(--pad)}
.site-header{position:fixed;z-index:100;left:0;right:0;top:0;height:82px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:.3s ease;background:color-mix(in srgb,var(--canvas) 88%,transparent);backdrop-filter:blur(14px)}
.site-header.scrolled{height:68px;border-color:var(--border)}
.brand{display:inline-flex;align-items:center;gap:12px}.brand-mark{display:block;width:48px;height:48px;object-fit:contain;flex:none}
.site-header .brand-mark{width:48px;height:48px}
.brand-name{font-size:20px;font-weight:300;letter-spacing:-.035em}.desktop-nav{display:flex;gap:28px;font-size:14px;font-weight:400;color:var(--muted)}
.desktop-nav a{transition:color .2s}.desktop-nav a:hover{color:var(--ink)}
.header-actions{display:flex;align-items:center;gap:24px}.hub-link{display:inline-flex;align-items:center;min-height:44px;border-bottom:2px solid transparent;font-size:14px;font-weight:400;white-space:pre}.hub-link:hover{border-bottom-color:var(--ink)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border:1px solid var(--ink);border-radius:6px;font-size:14px;font-weight:400;cursor:pointer;transition:transform .2s,background .2s,color .2s}
.button:hover{transform:translateY(-2px)}.button:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.button-dark{background:var(--ink);color:white}.button-light{background:white;color:var(--ink);border-color:var(--border)}
.eyebrow{margin:0 0 26px;font-size:13px;font-weight:400;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
h1,h2,h3,p{margin-top:0}.hero{min-height:100svh;padding-top:clamp(130px,16vh,180px);padding-bottom:56px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);gap:clamp(30px,5vw,80px);align-items:center}
h1{margin:0 0 46px;font-size:clamp(68px,8.2vw,126px);font-weight:200;line-height:.92;letter-spacing:-.07em}
.hero-lede{max-width:480px;margin-bottom:34px;font-size:clamp(20px,2vw,28px);line-height:1.34;color:var(--muted)}
.hero-actions{display:flex;align-items:center;gap:24px}.text-link{font-size:14px;font-weight:400;border-bottom:1px solid var(--border);padding-bottom:5px}
.text-link span{display:inline-block;margin-left:5px;transition:transform .2s}.text-link:hover span{transform:translateY(3px)}
.hero-meta{display:flex;gap:22px;margin-top:56px;font-size:13px;color:var(--muted)}.hero-meta span+span:before{content:"·";margin-right:22px}
.hero-visual{position:relative;min-width:0;display:flex;flex-direction:column;justify-content:center;background:transparent;overflow:visible}.hero-visual img{width:100%;height:auto;object-fit:contain}
.hero-note{display:flex;justify-content:space-between;gap:8px 18px;flex-wrap:wrap;padding:12px 18px;font-size:12px;color:var(--muted)}
.manifesto{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
h2{max-width:1020px;margin-bottom:54px;font-size:clamp(48px,6vw,88px);line-height:1.03;letter-spacing:-.055em;font-weight:200}
.manifesto-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.large-copy{font-size:clamp(26px,3vw,44px);line-height:1.16;letter-spacing:-.035em}
.principles>div{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--border)}
.principles span{font-size:12px;color:var(--muted)}.principles p{margin:0;color:var(--muted);line-height:1.55}.principles strong{display:block;color:var(--ink);font-weight:400;margin-bottom:3px}
.section-heading{display:grid;grid-template-columns:1.1fr .65fr;column-gap:8vw}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{margin-bottom:70px}.section-heading>p:last-child{align-self:start;font-size:18px;line-height:1.6;color:var(--muted);max-width:500px}
.number{font-size:12px;color:var(--muted);margin-bottom:70px}
.connection-flow{margin-top:auto;display:grid;grid-template-columns:64px 1fr 72px;gap:10px;align-items:center;height:92px}.source-stack{display:grid;gap:5px}.source-stack span,.profile-node{border:1px solid var(--border);background:var(--canvas)}.source-stack span{padding:5px 6px;font-size:7px;letter-spacing:.12em}.connection-line{position:relative;height:54px}.connection-line:before,.connection-line:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--border)}.connection-line i{position:absolute;top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:var(--chart);animation:data-pulse 2.4s infinite ease-in-out}.connection-line i:nth-child(2){animation-delay:.8s}.connection-line i:nth-child(3){animation-delay:1.6s}.profile-node{height:72px;display:grid;place-items:center;align-content:center;gap:5px}.profile-node b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-size:9px;font-weight:400}.profile-node small{font-size:6px;letter-spacing:.12em}.program-rule-preview{margin-top:auto;border-top:1px solid var(--border)}.program-rule-preview>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.program-rule-preview span{font-size:8px;letter-spacing:.1em;color:var(--muted)}.program-rule-preview strong{font-size:9px;font-weight:400;text-align:right}
.mini-phone{position:relative;width:190px;margin:auto auto 0;height:120px;padding:4px 4px 0;background:linear-gradient(135deg,#96969a,#151517 38%,#6e6e72);border-radius:30px 30px 0 0;overflow:hidden;box-shadow:0 12px 24px rgba(24,24,27,.13)}.mini-phone-screen{height:130px;padding:8px 5px 0;background:#07090b;border-radius:26px 26px 0 0;color:#fff}.mini-phone-status{position:relative;display:flex;justify-content:space-between;align-items:center;height:20px;padding:0 9px 3px;font-size:7px}.mini-phone-status i{position:absolute;left:50%;top:0;width:50px;height:15px;transform:translateX(-50%);background:#000;border-radius:12px}.mini-wallet-card{height:82px;margin:4px 7px 0;padding:10px 12px;background:var(--taupe);color:#f7f5f1;border-radius:9px 9px 0 0}.mini-wallet-card>div{display:flex;justify-content:space-between;gap:8px}.mini-wallet-card>div:first-child{font-size:6px;letter-spacing:.14em}.mini-wallet-card>div:last-child{align-items:end;margin-top:31px}.mini-wallet-card strong{font-size:9px;font-weight:300}.mini-wallet-card strong:last-child{font-size:8px}
.mini-chart{margin-top:auto;padding-top:12px}.mini-chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.mini-chart-head span{font-size:10px;font-weight:400;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.mini-chart-head strong{font-size:15px;font-weight:400;letter-spacing:-.02em}.mini-chart svg{width:100%;height:74px;margin-top:7px;overflow:visible}.mini-chart-grid line{stroke:var(--border);stroke-width:1;stroke-dasharray:2 4}.mini-chart-area{fill:url(#mini-chart-area)}.mini-chart-line{fill:none;stroke:var(--chart);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw-line 1.4s .25s ease forwards}.mini-chart-point{fill:var(--surface);stroke:var(--chart);stroke-width:1.5}.mini-chart-axis{display:flex;justify-content:space-between;margin-top:2px;font-size:9px;color:var(--muted)}.mini-chart small{display:block;margin-top:5px;font-size:9px;letter-spacing:.05em;text-align:right;color:var(--muted)}@keyframes draw-line{to{stroke-dashoffset:0}}
.wallet{display:grid;grid-template-columns:.82fr 1.18fr;gap:10vw;align-items:center;background:var(--surface)}
.section-intro{max-width:540px;font-size:20px;line-height:1.55;color:var(--muted)}.wallet-steps{padding:0;margin:54px 0 0;list-style:none}.wallet-steps li{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:19px 0;border-top:1px solid var(--border)}.wallet-steps span{font-size:12px;color:var(--muted)}.wallet-steps strong{font-weight:400}.wallet-steps p{margin:4px 0 0;color:var(--muted)}
.disclaimer{margin-top:28px;font-size:12px;line-height:1.5;color:var(--muted)}.wallet-demo{display:flex;flex-direction:column;align-items:center}
.tap-stage{position:relative;width:min(100%,540px);min-height:770px;display:flex;justify-content:flex-start;align-items:flex-end;padding-left:6px}
.phone-shell{position:relative;z-index:3;width:min(92vw,350px);aspect-ratio:9/19.5;padding:6px;background:linear-gradient(135deg,#929292 0%,#2d2d2f 18%,#0c0c0d 51%,#737375 100%);border-radius:57px;color:white;box-shadow:0 34px 70px rgba(24,24,27,.2),inset 0 0 0 1px rgba(255,255,255,.28);transform-origin:78% 16%;transition:transform .55s cubic-bezier(.22,.8,.22,1)}
.phone-screen{position:relative;display:flex;flex-direction:column;overflow:hidden;height:100%;min-height:0;padding:14px 18px 18px;background:#05080a;border-radius:51px;box-shadow:inset 0 0 0 2px #151719}
.side-button{position:absolute;display:block;background:#555558;box-shadow:inset 1px 0 rgba(255,255,255,.35);z-index:-1}.side-button-silent{left:-4px;top:102px;width:5px;height:28px;border-radius:3px 0 0 3px}.side-button-volume-up{left:-5px;top:149px;width:6px;height:58px;border-radius:4px 0 0 4px}.side-button-volume-down{left:-5px;top:218px;width:6px;height:58px;border-radius:4px 0 0 4px}.side-button-power{right:-5px;top:166px;width:6px;height:90px;border-radius:0 4px 4px 0}
.phone-top{position:relative;display:flex;align-items:center;justify-content:space-between;height:38px;font-size:12px;padding:2px 7px 11px;font-weight:400}.dynamic-island{position:absolute!important;left:50%;top:0;transform:translateX(-50%);width:82px!important;height:24px!important;border-radius:16px;background:#000;transition:width .35s ease}.dynamic-island b{display:grid;place-items:center;width:100%;height:100%;font-style:normal;font-size:0;color:#30d158}.status-icons{display:flex;align-items:flex-end;gap:5px}.status-icons i{width:14px;height:10px;background:linear-gradient(90deg,transparent 0 12%,white 12% 27%,transparent 27% 39%,white 39% 57%,transparent 57% 69%,white 69% 100%);clip-path:polygon(0 100%,0 72%,28% 72%,28% 48%,55% 48%,55% 24%,76% 24%,76% 0,100% 0,100% 100%)}.status-icons b{width:13px;height:10px;border:2px solid white;border-width:2px 2px 0;border-radius:50% 50% 0 0;clip-path:polygon(0 0,100% 0,80% 100%,20% 100%)}.status-icons em{width:20px;height:10px;border:1px solid white;border-radius:3px;position:relative}.status-icons em:after{content:"";position:absolute;right:-3px;top:3px;width:2px;height:4px;background:white;border-radius:0 2px 2px 0}.status-icons em:before{content:"";position:absolute;left:2px;top:2px;width:14px;height:4px;background:white;border-radius:1px}
.wallet-bar{display:flex;align-items:center;justify-content:space-between;padding:7px 2px 18px;font-size:21px}.wallet-bar strong{font-weight:400}.wallet-bar span{display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(255,255,255,.86);border-radius:50%;font-size:10px;letter-spacing:.5px}
.tap-confirmation{position:absolute;z-index:8;left:50%;top:54px;display:flex;align-items:center;gap:12px;width:calc(100% - 34px);padding:13px 16px;background:rgba(245,245,245,.96);color:#111;border-radius:18px;box-shadow:0 14px 38px rgba(0,0,0,.36);opacity:0;transform:translate(-50%,-18px) scale(.94);pointer-events:none}.tap-confirmation .tap-check{display:grid;place-items:center;width:34px;height:34px;background:#30d158;color:#fff;border-radius:50%;font-weight:500}.tap-confirmation strong,.tap-confirmation small{display:block}.tap-confirmation strong{font-size:15px;font-weight:400}.tap-confirmation small{margin-top:2px;font-size:12px;color:#6b6b70}
.nfc-reader{position:absolute;z-index:1;right:0;top:64px;width:190px;height:272px;padding:16px;background:linear-gradient(145deg,#2b2b2d,#0d0d0e);border:2px solid #5c5c5f;border-radius:22px;box-shadow:0 22px 45px rgba(24,24,27,.24);transform:translateX(54px) rotate(6deg);transition:transform .65s cubic-bezier(.22,.8,.22,1)}.reader-screen{height:98px;padding:15px;background:#d8d6cf;color:#222;border-radius:8px}.reader-screen span,.reader-screen strong{display:block}.reader-screen span{font-size:11px;letter-spacing:.06em}.reader-screen strong{margin-top:15px;font-size:24px;font-weight:300}.contactless-mark{position:absolute;bottom:40px;left:50%;width:64px;height:64px;transform:translateX(-50%)}.contactless-mark i{position:absolute;left:50%;top:50%;border:3px solid #d3d3d3;border-left-color:transparent;border-top-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:translate(-50%,-50%)}.contactless-mark i:nth-child(1){width:18px;height:18px}.contactless-mark i:nth-child(2){width:35px;height:35px}.contactless-mark i:nth-child(3){width:52px;height:52px}
.nfc-waves{position:absolute;z-index:2;right:148px;top:111px;width:80px;height:100px;opacity:0}.nfc-waves i{position:absolute;right:0;top:50%;border:2px solid #18181b;border-left:0;border-radius:0 100px 100px 0;transform:translateY(-50%)}.nfc-waves i:nth-child(1){width:20px;height:38px}.nfc-waves i:nth-child(2){width:39px;height:67px}.nfc-waves i:nth-child(3){width:60px;height:96px}
.wallet-demo{position:relative}.wallet-replay{position:absolute;z-index:6;left:calc(50% + 112px);bottom:42px;width:38px;height:38px;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--ink);font-size:22px;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(24,24,27,.1)}.wallet-replay:hover{border-color:var(--focus);transform:rotate(-35deg)}
.tap-stage.tapping .nfc-reader{transform:translateX(-5px) rotate(1deg)}.tap-stage.tapping .phone-shell{animation:phone-tap 2.7s cubic-bezier(.22,.8,.22,1)}.tap-stage.tapping .nfc-waves{animation:nfc-pulse 1.05s .55s ease-out}.tap-stage.tapping .tap-confirmation{animation:tap-confirm 2.7s 1.25s ease both}.tap-stage.tapping .dynamic-island{animation:island-confirm 1.4s 1.05s ease}.tap-stage.tapping .dynamic-island b{animation:island-check 1.4s 1.05s ease}.tap-stage.tapping [data-points]{animation:points-pop .65s 1.45s ease}
.wallet-pass{position:relative;overflow:hidden;aspect-ratio:1.586/1;border-radius:14px;color:#303034;background:var(--ivory);transition:background .45s ease,transform .45s ease,color .45s ease;box-shadow:inset 0 0 34px rgba(255,255,255,.05)}.wallet-pass:after{content:"";position:absolute;inset:0;opacity:.18;background-image:radial-gradient(rgba(255,255,255,.28) .6px,transparent .8px);background-size:4px 4px;pointer-events:none}.wallet-pass.changing{transform:scale(.97)}.wallet-pass.ceramic{background:#5f5854;color:#f7f5f1}.wallet-pass.marble{background:var(--slate)}.wallet-pass.ceramic .pass-monogram{color:rgba(255,255,255,.38);text-shadow:1px 1px 1px rgba(0,0,0,.28)}
.pass-top{display:flex;justify-content:space-between;padding:18px 20px 0;font-size:9px;letter-spacing:.19em}.pass-monogram{height:86px;display:grid;place-items:center;font-size:58px;font-weight:200;letter-spacing:-.16em;color:rgba(40,40,43,.35);text-shadow:1px 1px 1px rgba(255,255,255,.5)}
.pass-info{display:grid;grid-template-columns:1.2fr .55fr 1fr;gap:12px;padding:0 20px 12px}.pass-info small{display:block;margin-bottom:4px;font-size:7px;letter-spacing:.14em}.pass-info strong{font-size:12px;font-weight:300}.pass-footer{display:flex;align-items:end;justify-content:space-between;padding:0 18px 15px;font-size:7px;letter-spacing:.16em}.pass-contactless{position:relative;width:28px;height:24px}.pass-contactless i{position:absolute;right:0;top:50%;border:1.5px solid currentColor;border-left-color:transparent;border-top-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:translateY(-50%)}.pass-contactless i:nth-child(1){width:8px;height:8px}.pass-contactless i:nth-child(2){width:16px;height:16px}.pass-contactless i:nth-child(3){width:24px;height:24px}.phone-home{width:120px;height:5px;border-radius:4px;background:white;margin:auto auto 0}
.tiers{background:var(--canvas)}.tier-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.program-card{--glare-x:-150%;position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1.586/1;border-radius:11px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 35px rgba(24,24,27,.08)}.program-card:before{content:"";position:absolute;z-index:0;top:-40%;bottom:-40%;left:-24%;width:38%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.3) 42%,rgba(255,255,255,.09) 64%,transparent);filter:blur(3px);transform:translateX(var(--glare-x)) skewX(-13deg);pointer-events:none;will-change:transform}.program-card>*{position:relative;z-index:1}
.stone-card{background:var(--ivory)}.ceramic-card{background:#5f5854;color:#f7f5f1}.marble-card{background:var(--slate)}.program-card-top,.program-card-bottom{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.2em}.tlc-emboss{align-self:center;display:grid;place-items:center;width:clamp(62px,7vw,90px);height:clamp(62px,7vw,90px);border:1px solid rgba(24,24,27,.18);border-radius:28%;color:rgba(24,24,27,.36);box-shadow:inset 1px 1px rgba(255,255,255,.55),1px 1px rgba(24,24,27,.06)}.ceramic-card .tlc-emboss{border-color:rgba(255,255,255,.24);color:rgba(255,255,255,.5);box-shadow:inset 1px 1px rgba(255,255,255,.12),1px 1px rgba(0,0,0,.1)}
.tier-details{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px}.tier-details>div{padding-top:18px;border-top:1px solid var(--border)}.tier-details strong{display:block;font-weight:400;margin-bottom:6px}.tier-details span{color:var(--muted);line-height:1.5}
.tier-table{margin-top:54px;border-top:1px solid var(--border)}.tier-table-row{display:grid;grid-template-columns:.55fr 1fr 1.45fr;gap:24px;padding:17px 0;border-bottom:1px solid var(--border);align-items:start}.tier-table-row strong{font-weight:400}.tier-table-row span{color:var(--muted);line-height:1.45}.tier-table-head{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.tier-table-head span{color:var(--ink)}.tier-table>p{margin:13px 0 0;font-size:11px;color:var(--muted)}
.industries{background:var(--surface)}.industry-tabs{display:flex;gap:0;margin-bottom:28px;border-bottom:1px solid var(--border)}.industry-tabs button{padding:13px 22px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:400 14px var(--font);cursor:pointer}.industry-tabs button[aria-selected="true"]{border-color:var(--ink);color:var(--ink)}.industry-panel{display:grid;grid-template-columns:.8fr 1.2fr;min-height:390px;border:1px solid var(--border)}.industry-story{padding:42px}.industry-story h3{max-width:470px;font-size:clamp(34px,4vw,58px);line-height:1.04;font-weight:200;letter-spacing:-.045em}.industry-story>p:not(.eyebrow){max-width:480px;color:var(--muted);font-size:17px;line-height:1.55}.industry-story dl{margin:42px 0 0}.industry-story dl div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:12px 0;border-top:1px solid var(--border)}.industry-story dt{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.industry-story dd{margin:0}.industry-visual{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:center;padding:42px;background:var(--emphasis);transition:background .3s}.industry-card{aspect-ratio:1.586/1;padding:18px;display:flex;flex-direction:column;justify-content:space-between;border-radius:10px;background:var(--ivory);box-shadow:0 18px 38px rgba(24,24,27,.09)}.industry-card span,.industry-card small{font-size:8px;letter-spacing:.18em}.industry-card b{align-self:center;font-size:31px;font-weight:200;color:rgba(24,24,27,.35)}.industry-visual.hospitality .industry-card{background:#5f5854;color:white}.industry-visual.airlines .industry-card{background:var(--slate)}.industry-chart{align-self:end}.industry-chart>span{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.industry-chart svg{margin:18px 0 6px;width:100%;height:110px;border-bottom:1px solid var(--border)}.industry-chart path{fill:none;stroke:var(--chart);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw-line 1.4s ease forwards}.industry-chart small{display:block;text-align:right;color:var(--muted);font-size:9px}
.value{display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw;background:var(--ink);color:white}.value h2{font-size:clamp(52px,5vw,78px)}.value-copy>p:not(.eyebrow):not(.disclaimer){font-size:18px;line-height:1.6;color:#a1a1aa}.value .eyebrow,.value .disclaimer{color:#a1a1aa}.value .button{margin-top:20px}
.model-panel{align-self:center;background:#f7f7f6;color:var(--ink);border-radius:8px;padding:24px}.model-head{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding-bottom:18px;border-bottom:1px solid var(--border)}
.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:24px 0}.metric-row small{display:block;color:var(--muted);font-size:11px}.metric-row strong{display:block;margin-top:5px;font-size:clamp(30px,4vw,54px);font-weight:200;letter-spacing:-.04em}.chart-wrap{position:relative;border-top:1px solid var(--border);padding:26px 0 0 52px}.chart-axis{position:absolute;left:0;top:28px;bottom:24px;display:flex;flex-direction:column;justify-content:space-between;font-size:9px;color:var(--muted)}
.growth-chart{overflow:visible}.grid-lines line{stroke:var(--border);stroke-width:1}.chart-area{fill:url(#area);opacity:0;transition:opacity 1s .3s}.chart-line{fill:none;stroke:var(--chart);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.model-panel.animate .chart-line{animation:draw 1.8s cubic-bezier(.22,.8,.22,1) forwards}.model-panel.animate .chart-area{opacity:1}.chart-point{opacity:0}.model-panel.animate .chart-point{animation:fade-up .5s 1.7s forwards}.chart-point circle{fill:var(--chart)}.chart-point text{font:300 13px var(--font);text-anchor:end;fill:var(--ink)}
.chart-months{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:8px}.model-drivers{display:grid;grid-template-columns:repeat(3,1fr);margin-top:24px;border-top:1px solid var(--border)}.model-drivers>div{padding:18px 12px 0 0}.model-drivers span{display:block;font-size:11px;color:var(--muted)}.model-drivers strong{display:block;margin-top:5px;font-weight:300;font-size:18px}
.managed h2{max-width:920px}.managed-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);background:white}.managed-grid>div{padding:26px;min-height:210px;border-right:1px solid var(--border)}.managed-grid>div:last-child{border:0}.managed-grid .selected{background:var(--emphasis)}.managed-grid span{font-size:12px;color:var(--muted)}.managed-grid strong{display:block;font-size:22px;font-weight:300;margin:45px 0 9px}.managed-grid p{color:var(--muted);line-height:1.5}
.closing{padding-top:80px;padding-bottom:80px;background:var(--emphasis)}.closing-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:end}.closing h2{margin:0}.closing-action p{font-size:18px;line-height:1.6;color:var(--muted);margin-bottom:28px}
.site-footer{padding:34px var(--pad);display:grid;grid-template-columns:1fr 1fr auto;gap:24px;align-items:center;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.site-footer p{margin:0;text-align:center}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,.8,.22,1)}.reveal.visible{opacity:1;transform:none}
.pos-terminal{position:relative;margin:auto auto 0;width:172px;padding-bottom:25px}.pos-screen{position:relative;z-index:2;padding:13px 14px 12px;border:5px solid #202124;border-radius:10px;background:#f4f3ef;box-shadow:0 13px 25px rgba(24,24,27,.15)}.pos-label{font-size:7px;letter-spacing:.14em;color:var(--muted)}.pos-screen>strong{display:block;margin:4px 0 11px;font-size:20px;font-weight:300}.pos-member{display:flex;align-items:center;gap:8px;padding-top:9px;border-top:1px solid var(--border);font-size:8px}.pos-member i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:white;font-style:normal}.pos-member span,.pos-member small{display:block}.pos-member small{margin-top:2px;color:var(--muted)}.pos-stand{position:absolute;z-index:1;left:50%;bottom:1px;width:68px;height:35px;transform:translateX(-50%);border-bottom:5px solid #202124}.pos-stand:before{content:"";position:absolute;left:30px;top:-4px;width:8px;height:31px;background:#202124}.pos-contactless{position:absolute;z-index:3;right:10px;top:11px;width:20px;height:20px;color:var(--muted)}
.tier-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:auto}.tier-preview>div{min-width:0;aspect-ratio:.74;padding:9px 7px;display:flex;flex-direction:column;justify-content:space-between;border-radius:6px;box-shadow:0 8px 16px rgba(24,24,27,.08)}.tier-preview .stone{background:var(--ivory)}.tier-preview .ceramic{background:#5f5854;color:#fff}.tier-preview .marble{background:var(--slate)}.tier-preview span{font-size:6px;letter-spacing:.12em}.tier-preview small{font-size:6px;line-height:1.25}.coffee-cup-mark{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.tier-preview .coffee-cup-mark{align-self:center;width:23px;height:23px;opacity:.5}.tlc-emboss .coffee-cup-mark{width:54%;height:54%}
.status-icons{display:flex;align-items:center;gap:4px;color:white}.status-icons svg{display:block;fill:currentColor}.status-cellular{width:16px;height:11px}.status-wifi{width:16px;height:11px}.status-battery{width:25px;height:11px}.pass-monogram{height:86px;display:grid;place-items:center}.pass-monogram .coffee-cup-mark{width:64px;height:64px;padding:13px;border:1px solid rgba(255,255,255,.23);border-radius:20px;color:rgba(255,255,255,.46);filter:drop-shadow(1px 1px rgba(0,0,0,.12));box-shadow:inset 1px 1px rgba(255,255,255,.13),1px 1px rgba(0,0,0,.12)}.pass-footer{align-items:center;padding-bottom:13px}.contactless-icon{width:25px;height:25px;flex:none}
.tier-matrix{overflow-x:auto}.tier-progression{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:center;min-width:920px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.tier-progression>strong{font-size:10px;font-weight:400;letter-spacing:.1em;text-transform:uppercase}.tier-progression>div{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;text-align:center;font-size:10px;letter-spacing:.14em}.tier-progression i{padding:0 14px;font-size:17px;font-style:normal;font-weight:200;color:var(--muted)}.tier-matrix-grid{display:grid;grid-template-columns:120px repeat(3,minmax(230px,1fr));gap:0 24px;min-width:920px;align-items:stretch}.matrix-corner{align-self:end;padding:0 0 14px;font-size:10px;letter-spacing:.1em}.tier-matrix .program-card{margin-bottom:28px}.tier-matrix-grid>strong,.tier-matrix-grid>span{padding:18px 0;border-top:1px solid var(--border);line-height:1.45}.tier-matrix-grid>strong{font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:400}.tier-matrix-grid>span{color:var(--muted)}.tier-matrix>p{min-width:920px;margin:13px 0 0;font-size:11px;color:var(--muted)}
.industry-visual{grid-template-columns:.9fr 1.1fr;gap:32px}.industry-artifact{min-height:205px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;border-radius:12px;background:#fff;box-shadow:0 18px 38px rgba(24,24,27,.1)}.industry-artifact .artifact-kicker{font-size:8px;letter-spacing:.14em;color:var(--muted)}.industry-artifact>strong{font-size:22px;font-weight:300}.industry-artifact>div{display:flex;justify-content:space-between;padding-top:14px;border-top:1px solid var(--border)}.industry-artifact small{color:var(--muted)}.room-key{background:#5f5854;color:#fff}.room-key .artifact-kicker,.room-key small{color:#dedad6}.boarding-pass{border-radius:6px;background:var(--slate)}.boarding-pass strong i{font-style:normal;font-weight:200}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes fade-up{to{opacity:1;transform:translateY(-4px)}}@keyframes data-pulse{0%{left:0;opacity:0}20%{opacity:1}80%{opacity:1}100%{left:calc(100% - 6px);opacity:0}}
@keyframes phone-tap{0%,100%{transform:none}30%,62%{transform:translate(18px,-7px) rotate(2deg)}}
@keyframes nfc-pulse{0%{opacity:0;transform:scale(.72)}32%{opacity:1}100%{opacity:0;transform:scale(1.16)}}
@keyframes tap-confirm{0%,100%{opacity:0;transform:translate(-50%,-18px) scale(.94)}12%,80%{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes island-confirm{0%,100%{width:82px}25%,74%{width:112px}}
@keyframes island-check{0%,100%{font-size:0}25%,74%{font-size:15px}}
@keyframes points-pop{0%,100%{transform:none}50%{transform:scale(1.3);color:#11853b}}
@media(max-width:1050px){.desktop-nav{display:none}.hero{grid-template-columns:1fr;padding-top:140px}.hero-visual{min-height:auto}.hero-visual img{min-height:auto}.wallet{gap:5vw}.industry-panel{grid-template-columns:1fr}.value{grid-template-columns:1fr}.model-panel{width:100%}}
@media(max-width:760px){.site-header{height:68px}.header-cta{display:none}.brand-name{font-size:18px}.section{padding:80px 22px}.hero{padding-top:120px}.hero h1{font-size:clamp(58px,18vw,88px)}.hero-actions{align-items:flex-start;flex-direction:column}.hero-meta{gap:12px;flex-wrap:wrap}.hero-meta span+span:before{margin-right:12px}.hero-visual{margin-left:-22px;margin-right:-22px}.manifesto-grid,.section-heading,.wallet,.closing-inner{grid-template-columns:1fr}.section-heading h2{margin-bottom:28px}.section-heading>p:last-child{margin-bottom:50px}.number{margin-bottom:45px}.wallet-demo{margin-top:40px}.phone-shell{width:100%;max-width:380px}.pass-info{grid-template-columns:1.2fr .55fr 1fr}.tier-card-grid,.tier-details,.managed-grid{grid-template-columns:1fr}.program-card{max-width:480px;width:100%;margin:auto}.tier-table-row{grid-template-columns:1fr;gap:5px}.tier-table-head{display:none}.industry-tabs{overflow-x:auto}.industry-tabs button{flex:1;min-width:110px}.industry-story,.industry-visual{padding:25px}.industry-visual{grid-template-columns:1fr}.industry-card{max-width:310px}.model-panel{padding:16px}.model-head{gap:20px}.metric-row{grid-template-columns:1fr}.metric-row>div{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--border);padding-bottom:12px}.metric-row strong{margin:0}.chart-wrap{padding-left:36px;overflow:hidden}.model-drivers{grid-template-columns:1fr}.model-drivers>div{display:flex;justify-content:space-between}.managed-grid>div{border-right:0;border-bottom:1px solid var(--border)}.managed-grid>div:last-child{border-bottom:0}.site-footer{grid-template-columns:1fr;text-align:left}.site-footer p{text-align:left}.site-footer .brand{display:none}}
@media(max-width:760px){.tap-stage{min-height:770px;overflow:visible;padding-left:0}.phone-shell{width:min(88vw,350px)}.nfc-reader{right:-22px;top:72px;width:145px;height:220px}.nfc-waves{right:105px;top:116px}.reader-screen{height:83px;padding:12px}.contactless-mark{bottom:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.chart-line{stroke-dashoffset:0}.chart-area,.chart-point{opacity:1}.tap-stage.tapping .tap-confirmation{opacity:1;transform:translate(-50%,0)}.program-card:before{display:none}}

@media(max-width:420px){.site-header .brand{gap:8px}.site-header .brand-mark{width:40px;height:40px}.site-header .brand-name{font-size:16px}.site-header .header-actions{gap:12px}.hub-link-prefix{display:none}}

/* The offering is led by a dedicated team, with one consistent V2 identity. */
.section[id]{scroll-margin-top:68px}
.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,64px)}
.hero h1{font-size:clamp(64px,7.1vw,108px);line-height:.99}
.hero-lede{max-width:590px;font-size:clamp(19px,1.65vw,24px);line-height:1.5}
.hero-actions{flex-wrap:wrap;gap:20px 26px}
.site-footer .brand{color:var(--ink)}
.site-footer .brand-name{font-size:18px}
@media(max-width:1050px){.hero{grid-template-columns:1fr}.hero h1{font-size:clamp(64px,10vw,100px)}.hero-lede{max-width:660px}.hero-visual{max-width:850px;margin-inline:auto}}
@media(max-width:760px){.header-cta{display:inline-flex;padding:8px 12px;font-size:12px}.hero h1{font-size:clamp(48px,12.3vw,86px);letter-spacing:-.055em}.hero-visual{margin-inline:-22px}.hero-actions{gap:22px}.site-footer .brand{display:inline-flex}}

.wallet-barcode{display:flex;flex-direction:column;gap:5px;background:#fff;color:#18181b;padding:10px 8px 7px;border-radius:4px;margin-top:18px}.wallet-barcode img{width:100%;height:42px;object-fit:contain}.wallet-barcode small{font-size:8px;letter-spacing:.12em}
@media(max-width:760px){.nfc-reader{right:12px;transform:rotate(6deg)}}
@media(min-width:761px) and (max-width:1050px){.wallet{grid-template-columns:1fr}.wallet-copy{max-width:640px}.wallet-demo{margin-top:40px}.tap-stage{max-width:540px}}

/* A concise opening, with the transparent artwork framed around the cards. */
.hero{min-height:min(900px,100svh);grid-template-columns:1.05fr .95fr;gap:4vw;padding-top:130px;padding-bottom:64px}
.hero h1{font-size:clamp(64px,6.8vw,104px);margin-bottom:30px;letter-spacing:-.065em}
.hero-lede{font-size:clamp(19px,1.6vw,23px);line-height:1.5;margin-bottom:30px}
.hero-visual{width:100%;max-width:620px;margin-inline:auto}
.hero-artwork{position:relative;width:100%;aspect-ratio:1000/1024;overflow:hidden}
.hero-artwork img{position:absolute;top:0;left:-38.6%;width:153.6%;max-width:none;height:100%;object-fit:contain}
.hero-note{justify-content:center;padding:10px 0 0;font-size:10px;letter-spacing:.06em}
.outcomes{border-block:1px solid var(--border)}
.outcomes h2{margin-bottom:28px}
.outcomes>.section-intro{margin-bottom:52px}
.outcome-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,5vw,80px)}
.outcome-grid article{border-top:1px solid var(--border);padding-top:22px}
.outcome-grid .number{display:block;margin-bottom:38px}
.outcome-grid h3{font-size:clamp(24px,2.3vw,34px);font-weight:300;letter-spacing:-.035em;margin-bottom:14px}
.outcome-grid p{font-size:17px;line-height:1.5;max-width:290px;color:var(--muted);margin-bottom:0}
.platform .section-heading{display:block}
.wallet-copy h2{margin-bottom:30px;font-size:clamp(43px,5vw,72px)}
.wallet-copy .text-link{display:inline-block;margin-top:12px}
.wallet-pass{aspect-ratio:auto}
.wallet-barcode{margin:16px 14px 14px}
/* North Coffee wordmark and matte Gold palette from the Strategy Hub example. */
.north-card-brand{font-family:Georgia,serif;display:inline-flex;flex-direction:column;align-items:center;font-size:38px;font-weight:300;letter-spacing:-2.5px;line-height:.8}
.north-card-brand>span{font-family:Helvetica,Arial,sans-serif;font-size:8px;font-weight:400;letter-spacing:3.8px;margin:9px 0 0 4px}
.wallet-pass.gold{background:#d7c299;color:#55442c}
.wallet-pass.gold .pass-top{position:relative;z-index:1;align-items:flex-start;padding:24px 20px 0;min-height:128px}
.wallet-pass.gold [data-pass-tier]{font-size:9px;font-weight:400;letter-spacing:.16em;padding-top:5px}
.wallet-pass.gold .pass-info,.wallet-pass.gold .wallet-barcode{position:relative;z-index:1}
.north-card-stamp{position:absolute;right:18px;top:50px;font-family:Georgia,serif;font-size:150px;line-height:1;color:#87693320;pointer-events:none}
.mini-wallet-card{background:#d7c299;color:#55442c}
.mini-wallet-card .north-card-brand{font-size:23px;letter-spacing:-1.5px}
.mini-wallet-card .north-card-brand>span{font-size:5px;letter-spacing:2px;margin:5px 0 0 2px}
.mini-wallet-card .mini-pass-tier{font-size:6px;font-weight:400;letter-spacing:.12em;padding-top:3px}
.mini-wallet-card>div:last-child{margin-top:13px}
.tier-preview .silver,.silver-card{background:#c5c8cb;color:#44474b}
.tier-preview .gold,.gold-card{background:#d7c299;color:#55442c}
.tier-preview .platinum,.platinum-card{background:#d9e1e6;color:#414a53}
.tier-preview .tier-preview-brand{align-self:center;display:flex;flex-direction:column;align-items:center;font-family:Georgia,serif;font-size:16px;line-height:.8;letter-spacing:-1px}
.tier-preview .tier-preview-brand small{font-family:Helvetica,Arial,sans-serif;font-size:3px;letter-spacing:1.2px;margin-top:5px;margin-left:1px}
.program-card-top{align-items:flex-start}
.program-card-top .north-card-brand{font-size:25px;letter-spacing:-1.6px}
.program-card-top .north-card-brand>span{font-size:5px;letter-spacing:2px;margin:6px 0 0 2px}
.north-tier-emboss{align-self:center;font-family:Georgia,serif;font-size:clamp(48px,5vw,70px);line-height:.8;color:color-mix(in srgb,currentColor 25%,transparent);text-shadow:1px 1px rgba(255,255,255,.55),-1px -1px rgba(0,0,0,.15)}
.closing h2{margin-bottom:0}
.closing-action{align-self:center}
.experience-intro{padding-top:160px;padding-bottom:84px}
.experience-intro h1{font-size:clamp(64px,8vw,110px);margin-bottom:28px}
.experience-nav{display:flex;flex-wrap:wrap;gap:28px;margin-top:32px}
.experience-page .tiers{border-top:1px solid var(--border)}
section[id]{scroll-margin-top:82px}
@media(min-width:761px) and (max-width:1050px){
  .hero{grid-template-columns:1fr 1fr;min-height:760px;gap:12px}
  .hero h1{font-size:clamp(49px,6.7vw,70px)}
  .hero-break{display:none}
  .hero-lede{max-width:340px;font-size:19px}
  .hero-actions{gap:20px}
}
@media(max-width:760px){
  .hero{grid-template-columns:1fr;min-height:0;gap:24px;padding-top:108px;padding-bottom:44px}
  .hero .eyebrow{margin-bottom:20px;font-size:11px}
  .hero h1{font-size:clamp(44px,11.8vw,80px);line-height:1.04;margin-bottom:22px;letter-spacing:-.055em}
  .hero-lede{font-size:18px;line-height:1.45;max-width:430px;margin-bottom:22px}
  .hero-actions{flex-direction:row;align-items:center;gap:24px}
  .hero-visual{width:100%;max-width:420px;margin:0 auto}
  .hero-note{font-size:9px;padding-top:4px}
  .outcome-grid{grid-template-columns:1fr;gap:26px}
  .outcome-grid article{padding-top:18px}
  .outcome-grid .number{float:left;margin:6px 0 0;width:36px}
  .outcome-grid h3,.outcome-grid p{margin-left:36px;max-width:340px}
  .outcome-grid h3{font-size:27px;margin-bottom:10px}
  .outcome-grid p{font-size:16px}
  .platform .tier-preview,.platform .pos-terminal,.platform .mini-phone,.platform .mini-chart{display:none}
  .wallet-copy h2{font-size:clamp(43px,10vw,65px)}
  .wallet-copy .section-intro{font-size:18px}
  .experience-intro{padding-top:120px;padding-bottom:60px}
  .experience-nav{gap:20px}
}

/* Four services, visible together as a compact visual system. */
.platform{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center;padding-block:clamp(56px,7vw,96px);background:#f1f0ec}
.platform .section-heading{min-width:0}
.platform .section-heading h2{font-size:clamp(42px,5.2vw,76px);margin-bottom:0}
.platform .section-heading .platform-intro{font-size:18px;line-height:1.5;max-width:360px;margin:24px 0 0;color:#686b64}
.platform .operating-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;max-width:560px;justify-self:end}
.platform .operating-card{min-width:0;aspect-ratio:1;display:flex;flex-direction:column;padding:clamp(20px,2.2vw,30px);border:1px solid #deddd7;border-radius:3px;background:#fafaf9;overflow-wrap:anywhere}
.service-icon{width:40px;height:40px;flex:none;fill:none;stroke:#555950;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:20px}
.platform .operating-card h3{font-size:clamp(18px,1.8vw,26px);line-height:1.15;font-weight:300;letter-spacing:-.035em;margin:auto 0 10px}
.platform .operating-card p{font-size:clamp(12px,1.1vw,15px);line-height:1.5;color:#686b64;margin:0}
@media(max-width:760px){
  .platform{display:block;padding:36px 22px}
  .platform .section-heading,.platform .operating-grid{max-width:430px;margin-inline:auto}
  .platform .section-heading .eyebrow{font-size:11px;line-height:1.3;margin-bottom:12px}
  .platform .section-heading h2{font-size:clamp(28px,8.2vw,38px);line-height:1.04;margin-bottom:0}
  .platform .section-heading .platform-intro{font-size:14px;line-height:1.4;margin:12px 0 24px}
  .platform .operating-grid{gap:12px}
  .platform .operating-card{padding:clamp(13px,3.6vw,20px)}
  .service-icon{width:30px;height:30px;margin-bottom:12px}
  .platform .operating-card h3{font-size:clamp(15px,4.4vw,19px);min-height:2.3em;margin-bottom:6px}
  .platform .operating-card p{font-size:clamp(12px,3.1vw,14px);line-height:1.4}
}
@media(max-width:350px){
  .platform{padding-block:20px}
  .platform .section-heading .eyebrow{margin-bottom:8px}
  .platform .section-heading .platform-intro{margin:10px 0 18px}
  .platform .operating-grid{gap:10px}
  .platform .operating-card{padding:12px}
  .service-icon{width:26px;height:26px;margin-bottom:6px}
}
