/* ── Tokens ───────────────────────────────────────────── */
:root{
	--paper:#f4f4f2;
	--ink:#0b0b0c;
	--ink-60:#5c5c63;
	--ink-35:#9a9aa2;
	--hairline:rgba(11,11,12,.09);

	/* liquid glass, light edition */
	--glass-bg:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.58));
	--glass-blur:blur(24px) saturate(180%);
	--glass-edge:
		inset 0 1px 0 rgba(255,255,255,.95),
		inset 0 -1px 0 rgba(255,255,255,.45);
	--ease:cubic-bezier(.22,1,.36,1);
	--gutter:clamp(22px,4vw,28px);
	--edge:max(var(--gutter),calc((100vw - 1080px)/2 + var(--gutter)));
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
	margin:0;
	background:var(--paper);
	color:var(--ink);
	font-family:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
	font-feature-settings:'ss01','cv11';
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
/* the header floats over content, so anchor jumps need clearance */
section{scroll-margin-top:clamp(84px,10vh,104px)}

/* ── Paper ────────────────────────────────────────────── */
.stage{position:relative;min-height:100svh;isolation:isolate;overflow:hidden}
.paper{position:absolute;inset:0;z-index:0;pointer-events:none}
.paper .wash{
	position:absolute;inset:0;
	background:
		radial-gradient(90% 55% at 50% -8%,#ffffff 0%,rgba(255,255,255,0) 62%),
		radial-gradient(50% 40% at 12% 22%,rgba(255,255,255,.85),transparent 70%),
		linear-gradient(180deg,#fcfcfb 0%,#f5f5f3 58%,#f0f0ed 100%);
}
/* one soft, desaturated light — gives the glass something to refract */
.paper .halo{
	position:absolute;left:50%;top:8%;width:92vw;max-width:1180px;height:60vh;
	transform:translateX(-50%);
	background:radial-gradient(closest-side,rgba(255,255,255,.9),rgba(255,255,255,0) 78%);
	filter:blur(8px);
}
.paper .veil{
	position:absolute;left:50%;top:-16%;width:120vw;height:38vh;transform:translateX(-50%);
	background:radial-gradient(closest-side,rgba(11,11,12,.055),rgba(11,11,12,0) 76%);
	filter:blur(30px);
}
.paper .grain{
	position:absolute;inset:0;opacity:.035;mix-blend-mode:multiply;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ── Header ───────────────────────────────────────────── */
.header{position:fixed;inset:16px 0 auto;z-index:50;display:flex;justify-content:center;padding:0 20px;pointer-events:none}
.nav{
	pointer-events:auto;position:relative;overflow:hidden;
	width:min(1080px,100%);
	display:flex;align-items:center;gap:20px;
	padding: 20px;
	border-radius:999px;
	background:var(--glass-bg);
	backdrop-filter:var(--glass-blur);
	-webkit-backdrop-filter:var(--glass-blur);
	border:1px solid rgba(11,11,12,.08);
	box-shadow:var(--glass-edge);
	transition:width .6s var(--ease),padding .6s var(--ease),background .6s var(--ease),border-color .6s var(--ease);
}
.nav::before{ /* top specular edge */
	content:"";position:absolute;left:6%;right:6%;top:0;height:1px;
	background:linear-gradient(90deg,transparent,rgba(255,255,255,1),transparent);
	pointer-events:none;
}
.header.is-scrolled .nav{
	width:min(940px,100%);
	padding:7px 7px 7px 17px;
	background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.72));
	border-color:rgba(11,11,12,.10);
}

.brand{display:flex;align-items:center;gap:10px;margin-right:auto}
.mark{
	width:34px;height:34px;border-radius:11px;display:grid;place-items:center;flex:none;
	background:var(--ink);color:#fff;
}
.mark svg{width:18px;height:18px}
.brand-name{font-size:16px;font-weight:600;letter-spacing:-.022em}

.links{display:flex;align-items:center;gap:2px}
.links a{
	padding:9px 14px;border-radius:999px;
	font-size:14px;font-weight:450;color:var(--ink-60);letter-spacing:-.008em;
	transition:color .3s var(--ease),background .3s var(--ease);
}
.links a:hover{color:var(--ink);background:rgba(11,11,12,.045)}

.actions{display:flex;align-items:center;gap:6px}
.ghost{
	padding:10px 15px;border-radius:999px;font-size:14px;font-weight:450;color:var(--ink-60);
	transition:color .3s var(--ease),background .3s var(--ease);
}
.ghost:hover{color:var(--ink);background:rgba(11,11,12,.045)}
.cta{
	padding:11px 19px;border-radius:999px;font-size:14px;font-weight:500;letter-spacing:-.01em;
	color:#fff;background:var(--ink);
	transition:opacity .3s var(--ease);
}
.cta:hover{opacity:.84}
.burger{
	display:none;width:38px;height:38px;border-radius:999px;place-items:center;cursor:pointer;
	border:1px solid var(--hairline);background:rgba(255,255,255,.6);
}
.burger span{display:block;width:15px;height:1.5px;background:var(--ink);border-radius:2px;box-shadow:0 -4.5px 0 var(--ink),0 4.5px 0 var(--ink)}

/* ── Hero ─────────────────────────────────────────────── */
.hero{
	position:relative;z-index:2;
	min-height:100svh;display:flex;flex-direction:column;
	align-items:center;justify-content:center;text-align:center;
	padding:150px 28px clamp(150px,26vh,240px);
}
/* KidsTaxi illustration, anchored bottom-right and masked into the paper */
.hero::before{
	content:"";position:absolute;z-index:-1;
	right:0;bottom:0;
	width:min(880px,64%);aspect-ratio:1514/1039;
	background:url("../images/bg_test.png") no-repeat right bottom/contain;
	-webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%),linear-gradient(to right,transparent,#000 26%);
	mask-image:linear-gradient(to bottom,transparent,#000 30%),linear-gradient(to right,transparent,#000 26%);
	-webkit-mask-composite:source-in;mask-composite:intersect;
	pointer-events:none;
}
.title{
	font-family:'Inter Tight',Inter,sans-serif;
	margin:0;
	font-weight:500;
	font-size: clamp(2.9rem, 8.7vw, 7.2rem);
	line-height:.94;
	letter-spacing:-.05em;
	max-width:15ch;
	text-wrap:balance;
}
.title .soft{color:var(--ink-35)}
.lede{
	margin:34px 0 0;
	max-width:46ch;
	font-size:clamp(1.02rem,1.35vw,1.16rem);
	line-height:1.6;
	letter-spacing:-.011em;
	color:var(--ink-60);
	text-wrap:pretty;
}

/* restrained entrance */
.rise{opacity:0;transform:translateY(14px);animation:rise 1s var(--ease) forwards}
.d1{animation-delay:.06s}.d2{animation-delay:.2s}
@keyframes rise{to{opacity:1;transform:none}}

/* ── Highlights slider ────────────────────────────────── */
.highlights{
	position:relative;z-index:2;
	padding:clamp(88px,11vw,150px) 0 clamp(96px,12vw,168px);
	background:linear-gradient(180deg,#f0f0ed 0%,#f7f7f5 42%,#fbfbfa 100%);
}
.hl-head,.ap-head{
	display:flex;align-items:flex-end;justify-content:space-between;gap:32px;
	width:min(1080px,100%);margin:0 auto;
	padding-inline:var(--gutter);
}
.hl-title{
	font-family:'Inter Tight',Inter,sans-serif;
	margin:0;max-width:19ch;
	font-weight:500;
	font-size:clamp(1.9rem,4.2vw,3.15rem);
	line-height:1.04;letter-spacing:-.042em;
	text-wrap:balance;
}
.hl-controls,.ap-controls{display:flex;gap:8px;flex:none;padding-bottom:4px}
.hl-btn,.ap-btn{
	width:44px;height:44px;border-radius:999px;display:grid;place-items:center;cursor:pointer;
	border:1px solid rgba(11,11,12,.10);
	background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(255,255,255,.55));
	backdrop-filter:blur(18px) saturate(180%);
	-webkit-backdrop-filter:blur(18px) saturate(180%);
	box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
	color:var(--ink);
	transition:background .3s var(--ease),opacity .3s var(--ease),border-color .3s var(--ease);
}
.hl-btn:hover:not(:disabled),.ap-btn:hover:not(:disabled){background:rgba(255,255,255,.95);border-color:rgba(11,11,12,.16)}
.hl-btn:disabled,.ap-btn:disabled{opacity:.32;cursor:default}
.hl-btn svg,.ap-btn svg{width:17px;height:17px}

.hl-track{
	display:flex;gap:clamp(14px,1.6vw,22px);
	margin-top:clamp(34px,4.4vw,56px);
	padding-inline:var(--edge);
	padding-block:4px;
	overflow-x:auto;overscroll-behavior-x:contain;
	scroll-snap-type:x mandatory;
	scroll-padding-inline:var(--edge);
	scrollbar-width:none;
}
.hl-track::-webkit-scrollbar{display:none}
.hl-track:focus-visible{outline:2px solid var(--ink);outline-offset:6px;border-radius:8px}

.card{
	flex:none;scroll-snap-align:start;
	width:clamp(268px,74vw,420px);
	aspect-ratio:4/5;
	border-radius:26px;
	padding:clamp(24px,2.4vw,32px);
	display:flex;flex-direction:column;
	overflow:hidden;position:relative;
	transition:transform .5s var(--ease);
}
.card:last-child{scroll-snap-align:end}
.card:hover{transform:translateY(-4px)}
.card-figure{flex:1;display:grid;place-items:center;min-height:0}
.card-figure svg{width:100%;height:100%;max-height:210px;overflow:visible}
.card-text{
	margin:0;
	font-family:'Inter Tight',Inter,sans-serif;
	font-weight:500;
	font-size:clamp(1.22rem,1.85vw,1.62rem);
	line-height:1.16;letter-spacing:-.032em;
	text-wrap:balance;
}

.card--photo{padding:0;background:var(--ink);color:#fff}
.card--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%}
.card-scrim{
	position:relative;z-index:1;margin-top:auto;
	padding:clamp(24px,2.4vw,32px);
	background:linear-gradient(180deg,rgba(11,11,12,0),rgba(11,11,12,.62) 48%,rgba(11,11,12,.88));
}
.card--ink{background:var(--ink);color:#fff}
.card--ink .card-figure{color:rgba(255,255,255,.62)}
.card--paper{background:#fff;border:1px solid rgba(11,11,12,.08);color:var(--ink)}
.card--paper .card-figure{color:rgba(11,11,12,.42)}
.card--mist{background:linear-gradient(165deg,#e9e9e6,#dcdcd8);color:var(--ink)}
.card--mist .card-figure{color:rgba(11,11,12,.42)}

/* motif animation */
.dash{stroke-dasharray:5 7;animation:flow 3.6s linear infinite}
@keyframes flow{to{stroke-dashoffset:-24}}
.ping{transform-origin:center;animation:ping 2.8s var(--ease) infinite}
@keyframes ping{0%,100%{opacity:.25;transform:scale(.82)}45%{opacity:.9;transform:scale(1.06)}}

/* ── Process (dark slab) ──────────────────────────────── */
.process{
	position:relative;z-index:2;overflow:hidden;
	background:var(--ink);color:#fff;
	padding:clamp(96px,12vw,168px) 0 clamp(88px,10vw,140px);
}
.process::before{ /* soft top light so the black isn't dead flat */
	content:"";position:absolute;left:50%;top:-30%;width:120vw;height:70vh;
	transform:translateX(-50%);pointer-events:none;
	background:radial-gradient(closest-side,rgba(255,255,255,.10),rgba(255,255,255,0) 74%);
}
.process::after{
	content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.pr-wrap{position:relative;z-index:1;width:min(1080px,100%);margin:0 auto;padding-inline:var(--gutter)}
.pr-title{
	font-family:'Inter Tight',Inter,sans-serif;
	margin:0;max-width:17ch;
	font-weight:500;
	font-size:clamp(2rem,4.6vw,3.5rem);
	line-height:1.02;letter-spacing:-.045em;
	text-wrap:balance;
}
.pr-lede{
	margin:20px 0 0;max-width:44ch;
	font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.6;letter-spacing:-.011em;
	color:rgba(255,255,255,.58);
}

.steps{
	display:grid;grid-template-columns:repeat(3,1fr);
	margin-top:clamp(52px,6.5vw,84px);
	border-top:1px solid rgba(255,255,255,.14);
}
.step{
	padding:clamp(28px,3vw,40px) clamp(20px,2.4vw,34px) 8px;
	border-left:1px solid rgba(255,255,255,.14);
}
.step:first-child{padding-left:0;border-left:0}
.step:last-child{padding-right:0}
.step-num{
	display:block;margin-bottom:clamp(24px,3.4vw,48px);
	font-size:12px;font-weight:500;letter-spacing:.12em;
	font-variant-numeric:tabular-nums;
	color:rgba(255,255,255,.38);
}
.step-title{
	font-family:'Inter Tight',Inter,sans-serif;
	margin:0 0 10px;font-weight:500;
	font-size:clamp(1.16rem,1.7vw,1.42rem);
	line-height:1.18;letter-spacing:-.028em;
}
.step-text{
	margin:0;max-width:34ch;
	font-size:clamp(.95rem,1.15vw,1.02rem);line-height:1.6;letter-spacing:-.008em;
	color:rgba(255,255,255,.58);
}

.stats{
	display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
	margin-top:clamp(56px,7vw,96px);
	padding-top:clamp(28px,3.4vw,44px);
	border-top:1px solid rgba(255,255,255,.14);
}
.stat-num{
	display:block;
	font-family:'Inter Tight',Inter,sans-serif;
	font-weight:500;font-size:clamp(1.7rem,3.4vw,2.6rem);
	letter-spacing:-.04em;line-height:1;
}
.stat-label{
	display:block;margin-top:10px;
	font-size:clamp(.85rem,1.05vw,.94rem);letter-spacing:-.006em;
	color:rgba(255,255,255,.52);
}

/* ── Safety (white) ───────────────────────────────────── */
.safety{
	position:relative;z-index:2;
	background:#fff;color:var(--ink);
	padding:clamp(92px,11vw,156px) 0 clamp(96px,12vw,164px);
}
.sf-wrap{
	width:min(1080px,100%);margin:0 auto;padding-inline:var(--gutter);
	display:grid;grid-template-columns:1fr 1.22fr;
	gap:clamp(40px,6vw,96px);align-items:start;
}
.sf-aside{position:sticky;top:104px}
.sf-label,.dr-label,.ap-label{
	display:block;margin-bottom:20px;
	font-size:12px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;
	color:var(--ink-35);
}
.sf-title{
	font-family:'Inter Tight',Inter,sans-serif;
	margin:0;max-width:16ch;
	font-weight:500;
	font-size:clamp(1.95rem,4.3vw,3.25rem);
	line-height:1.03;letter-spacing:-.045em;
	text-wrap:balance;
}
.sf-lede{
	margin:22px 0 0;max-width:34ch;
	font-size:clamp(.98rem,1.25vw,1.08rem);line-height:1.62;letter-spacing:-.011em;
	color:var(--ink-60);
}

.sf-list{border-top:1px solid var(--hairline)}
.sf-item{
	display:grid;grid-template-columns:38px 1fr;gap:clamp(16px,1.8vw,24px);
	padding:clamp(26px,2.8vw,36px) 0;
	border-bottom:1px solid var(--hairline);
}
.sf-ico{color:rgba(11,11,12,.34);padding-top:2px}
.sf-ico svg{width:26px;height:26px}
.sf-item h3{
	font-family:'Inter Tight',Inter,sans-serif;
	margin:0 0 9px;font-weight:500;
	font-size:clamp(1.1rem,1.55vw,1.3rem);
	line-height:1.2;letter-spacing:-.028em;
}
.sf-item p{
	margin:0;max-width:46ch;
	font-size:clamp(.95rem,1.15vw,1.02rem);line-height:1.62;letter-spacing:-.008em;
	color:var(--ink-60);
}

/* ── Drivers (tonal) ──────────────────────────────────── */
.drivers{
	position:relative;z-index:2;
	background:linear-gradient(180deg,#fbfbfa 0%,#f3f3f1 58%,#efefec 100%);
	color:var(--ink);
	padding:clamp(92px,11vw,152px) 0 clamp(88px,10vw,140px);
}
.dr-wrap{width:min(1080px,100%);margin:0 auto;padding-inline:var(--gutter)}
.dr-title{
	font-family:'Inter Tight',Inter,sans-serif;
	margin:0;max-width:18ch;
	font-weight:500;
	font-size:clamp(1.95rem,4.4vw,3.3rem);
	line-height:1.03;letter-spacing:-.045em;
	text-wrap:balance;
}
.dr-lede{
	margin:22px 0 0;max-width:48ch;
	font-size:clamp(.98rem,1.25vw,1.08rem);line-height:1.62;letter-spacing:-.011em;
	color:var(--ink-60);
}
.dr-figure{
	margin:clamp(34px,4.4vw,52px) 0 0;
	border-radius:20px;overflow:hidden;background:#e9e9e6;
	aspect-ratio:2.78/1;
}
.dr-figure img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.dr-caption{
	display:block;
	margin:clamp(52px,6.5vw,84px) 0 18px;
	font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;
	color:var(--ink-35);
}
.dr-rail{
	display:grid;grid-template-columns:repeat(3,1fr);
	border-top:1px solid var(--hairline);
}
.dr-slot{
	padding:clamp(26px,2.8vw,36px) clamp(20px,2.4vw,32px) clamp(24px,2.6vw,32px);
	border-left:1px solid var(--hairline);
}
.dr-slot:first-child{padding-left:0;border-left:0}
.dr-slot:last-child{padding-right:0}
.dr-time{
	display:block;
	font-family:'Inter Tight',Inter,sans-serif;
	font-weight:500;font-size:clamp(1.85rem,3.5vw,2.7rem);
	line-height:1;letter-spacing:-.045em;
	font-variant-numeric:tabular-nums;
}
.dr-slot h3{
	font-family:'Inter Tight',Inter,sans-serif;
	margin:16px 0 8px;font-weight:500;
	font-size:clamp(1.02rem,1.35vw,1.14rem);
	line-height:1.22;letter-spacing:-.025em;
}
.dr-slot p{
	margin:0;max-width:32ch;
	font-size:clamp(.92rem,1.1vw,.99rem);line-height:1.6;letter-spacing:-.008em;
	color:var(--ink-60);
}
.dr-foot{
	margin-top:clamp(30px,3.6vw,44px);padding-top:clamp(24px,2.8vw,32px);
	border-top:1px solid var(--hairline);
}
.dr-note{
	display:flex;gap:14px;align-items:flex-start;
	margin:0;max-width:62ch;
	font-size:clamp(.93rem,1.12vw,1rem);line-height:1.6;letter-spacing:-.008em;
	color:var(--ink-60);
}
.dr-note svg{width:19px;height:19px;flex:none;margin-top:2px;color:rgba(11,11,12,.34)}

/* ── Invite / pilot CTA (dark end cap) ────────────────── */
.invite{
	position:relative;z-index:2;overflow:hidden;
	background:var(--ink);color:#fff;
	padding:clamp(104px,13vw,180px) 0 clamp(100px,12vw,168px);
	text-align:center;
}
.invite::before{
	content:"";position:absolute;left:50%;top:-34%;width:120vw;height:74vh;
	transform:translateX(-50%);pointer-events:none;
	background:radial-gradient(closest-side,rgba(255,255,255,.11),rgba(255,255,255,0) 72%);
}
.invite::after{
	content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.inv-wrap{
	position:relative;z-index:1;
	width:min(760px,100%);margin:0 auto;padding-inline:var(--gutter);
	display:flex;flex-direction:column;align-items:center;
}
.inv-label{
	display:block;margin-bottom:22px;
	font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;
	color:rgba(255,255,255,.42);
}
.inv-title{
	font-family:'Inter Tight',Inter,sans-serif;
	margin:0;max-width:22ch;
	font-weight:500;
	font-size:clamp(2.1rem,5.4vw,3.9rem);
	line-height:1.01;letter-spacing:-.048em;
	text-wrap:balance;
}
.inv-lede{
	margin:26px 0 0;max-width:50ch;
	font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.62;letter-spacing:-.011em;
	color:rgba(255,255,255,.58);
	text-wrap:pretty;
}
.inv-actions{
	display:flex;flex-wrap:wrap;justify-content:center;gap:10px;
	margin-top:clamp(34px,4.2vw,46px);
}
.btn-light,.btn-outline{
	padding:14px 24px;border-radius:999px;
	font-size:15px;font-weight:500;letter-spacing:-.012em;
	transition:opacity .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease);
}
.btn-light{background:#fff;color:var(--ink);border:1px solid transparent}
.btn-light:hover{opacity:.86}
.btn-outline{color:#fff;border:1px solid rgba(255,255,255,.24)}
.btn-outline:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4)}
.inv-note{
	margin:clamp(26px,3vw,34px) 0 0;max-width:44ch;
	font-size:13px;line-height:1.55;letter-spacing:-.004em;
	color:rgba(255,255,255,.4);
}

/* ── App screens (white) ──────────────────────────────── */
.appshots{
	position:relative;z-index:2;
	background:#fff;color:var(--ink);
	padding:clamp(92px,11vw,152px) 0 clamp(96px,12vw,160px);
}
.ap-title{
	font-family:'Inter Tight',Inter,sans-serif;
	margin:0;max-width:18ch;
	font-weight:500;
	font-size:clamp(1.95rem,4.3vw,3.25rem);
	line-height:1.03;letter-spacing:-.045em;
	text-wrap:balance;
}
.ap-lede{
	margin:20px 0 0;max-width:46ch;
	font-size:clamp(.98rem,1.25vw,1.08rem);line-height:1.6;letter-spacing:-.011em;
	color:var(--ink-60);
}
.ap-rail{
	display:flex;gap:clamp(16px,2vw,28px);
	margin-top:clamp(40px,5vw,64px);
	padding-inline:var(--edge);padding-block:4px;
	overflow-x:auto;overscroll-behavior-x:contain;
	scroll-snap-type:x mandatory;
	scroll-padding-inline:var(--edge);
	scrollbar-width:none;
}
.ap-rail::-webkit-scrollbar{display:none}
.ap-rail:focus-visible{outline:2px solid var(--ink);outline-offset:6px;border-radius:8px}
.shot{flex:none;scroll-snap-align:start;margin:0}
.shot:last-child{scroll-snap-align:end}
.shot img{
	display:block;width:auto;height:clamp(330px,42vw,428px);
	border-radius:12px;
}
.shot figcaption{
	margin-top:16px;
	font-size:13px;letter-spacing:-.006em;
	color:var(--ink-60);
}

/* ── Audience panels: B2B + B2C ───────────────────────── */
.audience{
	position:relative;z-index:2;
	background:linear-gradient(180deg,#f2f2f0 0%,#f8f8f6 100%);
	color:var(--ink);
	padding:clamp(92px,11vw,152px) 0 clamp(96px,12vw,160px);
}
.au-wrap{width:min(1080px,100%);margin:0 auto;padding-inline:var(--gutter)}
.au-title{
	font-family:'Inter Tight',Inter,sans-serif;
	margin:0;max-width:18ch;
	font-weight:500;
	font-size:clamp(1.95rem,4.3vw,3.25rem);
	line-height:1.03;letter-spacing:-.045em;
	text-wrap:balance;
}
.au-lede{
	margin:20px 0 0;max-width:48ch;
	font-size:clamp(.98rem,1.25vw,1.08rem);line-height:1.6;letter-spacing:-.011em;
	color:var(--ink-60);
}
.au-grid{
	display:grid;grid-template-columns:1fr 1fr;
	gap:clamp(16px,2vw,24px);
	margin-top:clamp(40px,5vw,64px);
	align-items:start;
}
.panel{
	border-radius:26px;
	padding:clamp(26px,3vw,42px);
	display:flex;flex-direction:column;
}
.panel--b2b{background:var(--ink);color:#fff;border:1px solid transparent}
.panel--b2c{background:#fff;border:1px solid var(--hairline)}
.panel-label{
	display:block;margin-bottom:16px;
	font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;
}
.panel--b2b .panel-label{color:rgba(255,255,255,.44)}
.panel--b2c .panel-label{color:var(--ink-35)}
.panel-title{
	font-family:'Inter Tight',Inter,sans-serif;
	margin:0;max-width:19ch;
	font-weight:500;
	font-size:clamp(1.45rem,2.5vw,2.05rem);
	line-height:1.06;letter-spacing:-.04em;
	min-height:2.12em; /* reserve two lines so both panels' lists align */
	text-wrap:balance;
}
.panel-note{
	margin:14px 0 0;max-width:40ch;
	font-size:clamp(.94rem,1.12vw,1rem);line-height:1.58;letter-spacing:-.008em;
}
.panel--b2b .panel-note{color:rgba(255,255,255,.56)}
.panel--b2c .panel-note{color:var(--ink-60)}
.panel-list{margin:clamp(26px,3vw,36px) 0 0;padding:0;list-style:none}
.panel-list li{padding:clamp(17px,1.9vw,22px) 0}
.panel--b2b .panel-list li{border-top:1px solid rgba(255,255,255,.15)}
.panel--b2c .panel-list li{border-top:1px solid var(--hairline)}
.panel-list li:last-child{padding-bottom:0}
.panel-list h4{
	font-family:'Inter Tight',Inter,sans-serif;
	margin:0 0 7px;font-weight:500;
	font-size:clamp(1.02rem,1.35vw,1.14rem);
	line-height:1.22;letter-spacing:-.026em;
}
.panel-list p{
	margin:0;max-width:40ch;
	font-size:clamp(.9rem,1.08vw,.97rem);line-height:1.58;letter-spacing:-.006em;
}
.panel--b2b .panel-list p{color:rgba(255,255,255,.56)}
.panel--b2c .panel-list p{color:var(--ink-60)}

/* ── Yechim (yellow slide) ────────────────────────────── */
.solution{
	--sol-yellow:#ffd214;
	--sol-cream:#faf7f0;
	--sol-num:#c07f10;
	--sol-blue:#1740d4;
	--sol-ink:#141310;
	--sol-body:#4b4740;
	--sol-card-ink:#141310;
	--sol-eyebrow:rgba(20,19,16,.7);
	position:relative;z-index:2;
	background:var(--sol-yellow);color:var(--sol-ink);
	padding:clamp(60px,7vw,92px) 0 clamp(72px,8vw,104px);
}
.sol-wrap{width:min(1520px,100%);margin:0 auto;padding-inline:clamp(20px,2.6vw,36px)}
.sol-top{
	display:flex;align-items:center;justify-content:space-between;gap:20px;
	margin-bottom:clamp(26px,3.2vw,42px);
}
.sol-brand{
	font-family:'Inter Tight',Inter,sans-serif;
	font-weight:700;font-size:clamp(1rem,1.4vw,1.18rem);letter-spacing:-.032em;
	color:var(--sol-blue);
}
.sol-place{
	font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
	color:var(--sol-blue);
}
.sol-eyebrow{
	display:block;margin-bottom:clamp(18px,2.2vw,30px);
	font-size:14px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
	color:var(--sol-eyebrow);
}
.sol-title{
	font-family:'Inter Tight',Inter,sans-serif;
	margin:0;max-width:16ch;
	font-weight:700;
	font-size:clamp(3.2rem,7vw,6.4rem);
	line-height:.94;letter-spacing:-.05em;
}
.sol-grid{
	display:grid;grid-template-columns:repeat(4,1fr);
	gap:clamp(16px,2vw,30px);
	margin-top:clamp(52px,6.4vw,96px);
}
.sol-card{
	background:var(--sol-cream);
	border-radius:clamp(22px,2.6vw,36px);
	padding:clamp(28px,3.2vw,46px);
	display:flex;flex-direction:column;
	color:var(--sol-card-ink);
}
.sol-num{
	font-family:'Inter Tight',Inter,sans-serif;
	margin-bottom:clamp(22px,2.9vw,38px);
	font-weight:700;font-size:clamp(3rem,3.9vw,3.8rem);
	line-height:1;letter-spacing:-.04em;
	font-variant-numeric:tabular-nums;
	color:var(--sol-num);
}
.sol-card h3{
	font-family:'Inter Tight',Inter,sans-serif;
	margin:0 0 15px;font-weight:700;
	font-size:clamp(1.5rem,2.1vw,1.9rem);
	line-height:1.14;letter-spacing:-.032em;
	text-wrap:balance;
}
.sol-card p{
	margin:0;
	font-size:clamp(1.1rem,1.35vw,1.22rem);
	line-height:1.5;letter-spacing:-.006em;
	color:var(--sol-body);
}

/* dark variant of the slide */
.solution--dark{
	--sol-yellow:#0b0b0c;
	--sol-ink:#fff;
	--sol-eyebrow:rgba(255,255,255,.5);
}

/* scroll reveal */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .reveal.in{opacity:1;transform:none}

@media (max-width:1200px){
	.sol-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
	.links,.ghost{display:none}
	.burger{display:grid}
}
@media (max-width:760px){
	.hl-head,.ap-head{align-items:flex-start;flex-direction:column;gap:22px}
	.hl-controls{padding-bottom:0}
	.steps{grid-template-columns:1fr}
	.step{padding:26px 0;border-left:0;border-top:1px solid rgba(255,255,255,.14)}
	.step:first-child{border-top:0;padding-top:26px}
	.step-num{margin-bottom:16px}
	.stats{grid-template-columns:1fr;gap:28px}
	.sf-wrap{grid-template-columns:1fr;gap:clamp(34px,5vw,48px)}
	.sf-aside{position:static}
	.sf-title{max-width:20ch}
	.sf-lede{max-width:52ch}
	.sf-item{grid-template-columns:30px 1fr;gap:16px}
	.sf-ico svg{width:22px;height:22px}
	.dr-rail{grid-template-columns:1fr}
	.dr-slot{padding:26px 0;border-left:0;border-top:1px solid var(--hairline)}
	.dr-slot:first-child{border-top:0;padding-top:26px}
	.dr-title{max-width:20ch}
	.ap-title{max-width:20ch}
	.au-grid{grid-template-columns:1fr}
	.panel-title{min-height:0}
	.hero::before{width:min(560px,104%);right:50%;transform:translateX(50%)}
	.au-title{max-width:20ch}
	.dr-figure{aspect-ratio:2.1/1}
	.dr-figure img{object-position:58% 50%}
	.inv-actions{width:100%;flex-direction:column}
	.btn-light,.btn-outline{width:100%;text-align:center}
}
@media (max-width:520px){
	.nav{padding:8px 8px 8px 16px}
	.sol-grid{grid-template-columns:1fr}
	.sol-title{max-width:20ch}
	.hero{padding:132px 22px 34vh}
	.title{letter-spacing:-.04em}
	.lede{margin-top:26px}
}
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation:none!important;transition:none!important}
	.rise{opacity:1;transform:none}
	.card:hover{transform:none}
	.js .reveal{opacity:1;transform:none;transition:none}
}
